summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/java/ChangeLog5
-rw-r--r--gcc/java/boehm.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index 9fdc4b68550..dab029e97ca 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,5 +1,10 @@
2000-04-22 Tom Tromey <tromey@cygnus.com>
+ * boehm.c (mark_reference_fields): Only call byte_position on
+ non-static fields.
+
+2000-04-22 Tom Tromey <tromey@cygnus.com>
+
* boehm.c (mark_reference_fields): Added `last_view_index'
argument. Use DECL_FIELD_OFFSET to determine field's offset.
diff --git a/gcc/java/boehm.c b/gcc/java/boehm.c
index 237158d2fd0..1a644875eb2 100644
--- a/gcc/java/boehm.c
+++ b/gcc/java/boehm.c
@@ -94,11 +94,12 @@ mark_reference_fields (field, low, high, ubit,
for (; field != NULL_TREE; field = TREE_CHAIN (field))
{
- HOST_WIDE_INT offset = tree_low_cst (byte_position (field), 1);
+ HOST_WIDE_INT offset;
if (FIELD_STATIC (field))
continue;
+ offset = tree_low_cst (byte_position (field), 1);
if (JREFERENCE_TYPE_P (TREE_TYPE (field)))
{
unsigned int count;