Commit 9a07cfaf by Richard Henderson

boehm.c (PROCEDURE_OBJECT_DESCRIPTOR): Merge into ..

        * boehm.c (PROCEDURE_OBJECT_DESCRIPTOR): Merge into ..
        (get_boehm_type_descriptor): ... here.  Arrange for the
        TREE_TYPE to get set properly.

From-SVN: r48261
parent 4585ae3d
2001-12-21 Richard Henderson <rth@redhat.com>
* boehm.c (PROCEDURE_OBJECT_DESCRIPTOR): Merge into ..
(get_boehm_type_descriptor): ... here. Arrange for the
TREE_TYPE to get set properly.
2001-12-21 Richard Henderson <rth@redhat.com>
* class.c (compile_resource_file): Set TREE_PUBLIC on the constructor
only if the target requires collect2.
......@@ -774,7 +780,7 @@ Tue Oct 23 14:02:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2001-08-28 Per Bothner <per@bothner.com>
* jcf-write.c (generate_bytecode_insns): For increments and
decrements just recurse to push constant. Improvement on Mark's patch.
decrements just recurse to push constant. Improvement on Mark's patch.
2001-08-28 Mark Mitchell <mark@codesourcery.com>
......@@ -981,7 +987,7 @@ Tue Oct 23 14:02:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2001-08-06 Richard Henderson <rth@redhat.com>
* class.c (emit_register_classes): Pass a symbol_ref and priority
* class.c (emit_register_classes): Pass a symbol_ref and priority
to assemble_constructor.
2001-08-02 Alexandre Petit-Bianco <apbianco@redhat.com>
......@@ -993,8 +999,8 @@ Tue Oct 23 14:02:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2001-08-01 Jeff Sturm <jsturm@one-point.com>
* java-tree.h (BUILD_FILENAME_IDENTIFIER_NODE):
Use ggc_add_tree_root to register roots.
* java-tree.h (BUILD_FILENAME_IDENTIFIER_NODE):
Use ggc_add_tree_root to register roots.
2001-07-31 Alexandre Petit-Bianco <apbianco@redhat.com>
......@@ -1252,7 +1258,7 @@ Tue Oct 23 14:02:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2001-05-18 Per Bothner <per@bothner.com>
* jvspec.c (lang_specific_pre_link): Re-arrange the linker
command line so the jvgenmain-generated main program comes first.
command line so the jvgenmain-generated main program comes first.
2001-05-15 Tom Tromey <tromey@redhat.com>
......@@ -1287,7 +1293,7 @@ Tue Oct 23 14:02:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2001-05-03 Mo DeJong <mdejong@redhat.com>
* lex.c (java_new_lexer): Call iconv_close on temp handle used to
* lex.c (java_new_lexer): Call iconv_close on temp handle used to
check for byte swap.
2000-05-02 Jeff Sturm <jsturm@one-point.com>
......@@ -1744,8 +1750,8 @@ Tue Oct 23 14:02:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2001-03-19 Andrew Haley <aph@cambridge.redhat.com>
* class.c (build_static_field_ref): Call make_decl_rtl() after
setting the DECL_EXTERNAL flag.
* class.c (build_static_field_ref): Call make_decl_rtl() after
setting the DECL_EXTERNAL flag.
2001-03-17 Per Bothner <per@bothner.com>
......@@ -1918,7 +1924,7 @@ Fri Feb 23 15:28:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* Make-lang.in (jvspec.o): Modify rule to match that of cp/g++spec.o.
2001-02-14 Tom Tromey <tromey@redhat.com>
Alexandre Petit-Bianco <apbianco@cygnus.com>
Alexandre Petit-Bianco <apbianco@cygnus.com>
Fix for PR java/1261.
* typeck.c (build_java_array_type): Add public `clone' method to
......@@ -2545,7 +2551,7 @@ Sun Feb 4 15:52:44 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* gen-table.pl: new file.
2000-11-20 Tom Tromey <tromey@cygnus.com>
Alexandre Petit-Bianco <apbianco@cygnus.com>
Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (java_complete_lhs): Only allow compound assignment of
reference type if type is String.
......
......@@ -43,14 +43,6 @@ static void set_bit PARAMS ((unsigned HOST_WIDE_INT *,
unsigned HOST_WIDE_INT *,
unsigned int));
/* Compute a procedure-based object descriptor. We know that our
`kind' is 0, and `env' is likewise 0, so we have a simple
computation. From the GC sources:
(((((env) << LOG_MAX_MARK_PROCS) | (proc_index)) << DS_TAG_BITS) \
| DS_PROC)
Here DS_PROC == 2. */
#define PROCEDURE_OBJECT_DESCRIPTOR build_int_2 (2, 0)
/* Treat two HOST_WIDE_INT's as a contiguous bitmap, with bit 0 being
the least significant. This function sets bit N in the bitmap. */
static void
......@@ -167,7 +159,7 @@ get_boehm_type_descriptor (tree type)
/* If we have a type of unknown size, use a proc. */
if (int_size_in_bytes (type) == -1)
return PROCEDURE_OBJECT_DESCRIPTOR;
goto procedure_object_descriptor;
bit = POINTER_SIZE / BITS_PER_UNIT;
/* The size of this node has to be known. And, we only support 32
......@@ -187,7 +179,7 @@ get_boehm_type_descriptor (tree type)
ubit = (unsigned int) bit;
if (type == class_type_node)
return PROCEDURE_OBJECT_DESCRIPTOR;
goto procedure_object_descriptor;
field = TYPE_FIELDS (type);
mark_reference_fields (field, &low, &high, ubit,
......@@ -227,7 +219,16 @@ get_boehm_type_descriptor (tree type)
value = build_int_2 (low, high);
}
else
value = PROCEDURE_OBJECT_DESCRIPTOR;
{
/* Compute a procedure-based object descriptor. We know that our
`kind' is 0, and `env' is likewise 0, so we have a simple
computation. From the GC sources:
(((((env) << LOG_MAX_MARK_PROCS) | (proc_index)) << DS_TAG_BITS) \
| DS_PROC)
Here DS_PROC == 2. */
procedure_object_descriptor:
value = build_int_2 (2, 0);
}
TREE_TYPE (value) = type_for_mode (ptr_mode, 1);
return value;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment