This is the mail archive of the
java-patches@gcc.gnu.org
mailing list for the Java project.
[BC] Patch: FYI: no more COMPACT_FIELDS
- From: Tom Tromey <tromey at redhat dot com>
- To: Java Patch List <java-patches at gcc dot gnu dot org>
- Date: 14 Sep 2004 17:11:02 -0600
- Subject: [BC] Patch: FYI: no more COMPACT_FIELDS
- Reply-to: tromey at redhat dot com
I'm checking this in on the BC ABI branch.
We've never used the COMPACT_FIELDS code. I am getting rid of it. If
someone needs it, they can resurrect it easily enough.
Tom
Index: ChangeLog
from Tom Tromey <tromey@redhat.com>
* gcj/field.h (struct _Jv_Field): Don't mention COMPACT_FIELDS.
* resolve.cc (ensure_fields_laid_out): Don't mention
COMPACT_FIELDS.
* defineclass.cc (handleField): Don't mention COMPACT_FIELDS.
* boehm.cc (_Jv_MarkObj): Don't mention COMPACT_FIELDS.
Index: boehm.cc
===================================================================
RCS file: /cvs/gcc/gcc/libjava/boehm.cc,v
retrieving revision 1.42.12.2
diff -u -r1.42.12.2 boehm.cc
--- boehm.cc 14 Sep 2004 21:12:51 -0000 1.42.12.2
+++ boehm.cc 14 Sep 2004 23:12:02 -0000
@@ -169,10 +169,8 @@
{
_Jv_Field* field = &c->fields[i];
-#ifndef COMPACT_FIELDS
p = (ptr_t) field->name;
MAYBE_MARK (p, mark_stack_ptr, mark_stack_limit, c, c8alabel);
-#endif
p = (ptr_t) field->type;
MAYBE_MARK (p, mark_stack_ptr, mark_stack_limit, c, c8blabel);
Index: defineclass.cc
===================================================================
RCS file: /cvs/gcc/gcc/libjava/defineclass.cc,v
retrieving revision 1.35.16.4
diff -u -r1.35.16.4 defineclass.cc
--- defineclass.cc 14 Sep 2004 21:12:51 -0000 1.35.16.4
+++ defineclass.cc 14 Sep 2004 23:12:02 -0000
@@ -1075,11 +1075,7 @@
_Jv_Field *field = &def->fields[field_no];
_Jv_Utf8Const *field_name = pool_data[name].utf8;
-#ifndef COMPACT_FIELDS
field->name = field_name;
-#else
- field->nameIndex = name;
-#endif
// Ignore flags we don't know about.
field->flags = flags & Modifier::ALL_FLAGS;
Index: resolve.cc
===================================================================
RCS file: /cvs/gcc/gcc/libjava/resolve.cc,v
retrieving revision 1.44.2.5
diff -u -r1.44.2.5 resolve.cc
--- resolve.cc 14 Sep 2004 21:12:52 -0000 1.44.2.5
+++ resolve.cc 14 Sep 2004 23:12:03 -0000
@@ -1388,9 +1388,7 @@
field_align = __alignof__ (jobject);
}
-#ifndef COMPACT_FIELDS
field->bsize = field_size;
-#endif
if ((field->flags & java::lang::reflect::Modifier::STATIC))
{
Index: gcj/field.h
===================================================================
RCS file: /cvs/gcc/gcc/libjava/gcj/field.h,v
retrieving revision 1.9
diff -u -r1.9 field.h
--- gcj/field.h 6 Oct 2000 01:49:31 -0000 1.9
+++ gcj/field.h 14 Sep 2004 23:12:03 -0000
@@ -1,6 +1,6 @@
// field.h - Header file for fieldID instances. -*- c++ -*-
-/* Copyright (C) 1998, 1999, 2000 Free Software Foundation
+/* Copyright (C) 1998, 1999, 2000, 2004 Free Software Foundation
This file is part of libgcj.
@@ -21,9 +21,7 @@
struct _Jv_Field
{
-#ifndef COMPACT_FIELDS
struct _Jv_Utf8Const* name;
-#endif
/* The type of the field, if isResolved().
If !isResolved(): The fields's signature as a (Utf8Const*). */
@@ -31,11 +29,7 @@
_Jv_ushort flags;
-#ifdef COMPACT_FIELDS
- jshort nameIndex; /* offset in class's name table */
-#else
_Jv_ushort bsize; /* not really needed ... */
-#endif
union {
jint boffset; /* offset in bytes for instance field */
@@ -82,13 +76,8 @@
return flags & java::lang::reflect::Modifier::ALL_FLAGS;
}
-#ifdef COMPACT_FIELDS
- _Jv_Utf8Const * getNameUtf8Const (jclass cls)
- { return clas->fieldNames + nameIndex; }
-#else
_Jv_Utf8Const * getNameUtf8Const (jclass) { return name; }
#endif
-#endif
};
#ifdef __cplusplus