natField.cc (BooleanClass): Don't define.
* java/lang/reflect/natField.cc (BooleanClass): Don't define. * java/lang/reflect/natArray.cc (BooleanClass): Don't define. * java/lang/Class.h (Object): Added `class$' field. * java/lang/Object.h (Object): Added `class$' field. * defineclass.cc (ClassClass): Use `class$' form. (ClassObject): Likewise. * resolve.cc (ClassObject): Use `class$' form. (ObjectClass): Likewise. * interpret.cc (ClassError): Removed. * java/net/natPlainDatagramSocketImpl.cc (BooleanClass): Use `class$' form. (IntegerClass): Likewise. * java/net/natPlainSocketImpl.cc (BooleanClass): Use `class$' form. * java/lang/natClassLoader.cc (CloneableClass): Use `class$' form. (ObjectClass, ClassClass, VMClassLoaderClass, ClassLoaderClass, SerializableClass): Likewise. Include Serializable.h, Cloneable.h. * java/lang/natSystem.cc (SystemClass): Removed. (init_properties): Use `class$' form. * java/lang/natObject.cc (CloneableClass): Removed. (clone): Use `class$' form. * java/lang/natClass.cc (CloneableClass): Use `class$' form. (ObjectClass, ErrorClass, ClassClass, MethodClass, FieldClass, ConstructorClass): Likewise. * java/lang/reflect/natMethod.cc (ObjectClass): Use `class$' form. (ClassClass, VoidClass, ByteClass, ShortClass, CharacterClass, IntegerClass, LongClass, FloatClass, DoubleClass): Likewise. * java/io/natObjectInputStream.cc (ObjectClass): Use `class$' form. (ClassClass): Likewise. * include/jvm.h (StringClass): Use `class$' form. * prims.cc (ObjectClass): Removed. (_Jv_RunMain): Use `class$' form. (_Jv_AllocObject): Likewise. * jni.cc (ClassClass): Use `class$' form. (ThrowableClass): Likewise. (ObjectClass): Likewise. (MethodClass): Likewise. (ThreadGroupClass): Likewise. (NativeThreadClass): Likewise. * boehm.cc (ObjectClass): Removed. (ClassClass): Removed. (_Jv_MarkObj): Use `class$' form. * gcj/field.h (JvFieldIsRef): Use `class$' form. Include RawData.h. From-SVN: r36740
This commit is contained in:
+2
-7
@@ -49,11 +49,6 @@ extern "C"
|
||||
&& (ptr_t) (Obj) <= GC_greatest_plausible_heap_addr) \
|
||||
PUSH_CONTENTS (Obj, Top, Limit, Source, Exit)
|
||||
|
||||
#define ObjectClass _CL_Q34java4lang6Object
|
||||
extern java::lang::Class ObjectClass;
|
||||
#define ClassClass _CL_Q34java4lang5Class
|
||||
extern java::lang::Class ClassClass;
|
||||
|
||||
|
||||
|
||||
// Nonzero if this module has been initialized.
|
||||
@@ -110,7 +105,7 @@ _Jv_MarkObj (void *addr, void *msp, void *msl, void * /* env */)
|
||||
p = (ptr_t) klass;
|
||||
MAYBE_MARK (p, mark_stack_ptr, mark_stack_limit, obj, o2label);
|
||||
|
||||
if (__builtin_expect (klass == &ClassClass, false))
|
||||
if (__builtin_expect (klass == &java::lang::Class::class$, false))
|
||||
{
|
||||
// Currently we allocate some of the memory referenced from class objects
|
||||
// as pointerfree memory, and then mark it more intelligently here.
|
||||
@@ -263,7 +258,7 @@ _Jv_MarkObj (void *addr, void *msp, void *msl, void * /* env */)
|
||||
// Note: occasionally `klass' can be null. For instance, this
|
||||
// can happen if a GC occurs between the point where an object
|
||||
// is allocated and where the vtbl slot is set.
|
||||
while (klass && klass != &ObjectClass)
|
||||
while (klass && klass != &java::lang::Object::class$)
|
||||
{
|
||||
jfieldID field = JvGetFirstInstanceField (klass);
|
||||
jint max = JvNumInstanceFields (klass);
|
||||
|
||||
Reference in New Issue
Block a user