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> 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 * class.c (compile_resource_file): Set TREE_PUBLIC on the constructor
only if the target requires collect2. only if the target requires collect2.
...@@ -774,7 +780,7 @@ Tue Oct 23 14:02:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> ...@@ -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> 2001-08-28 Per Bothner <per@bothner.com>
* jcf-write.c (generate_bytecode_insns): For increments and * 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> 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> ...@@ -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> 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. to assemble_constructor.
2001-08-02 Alexandre Petit-Bianco <apbianco@redhat.com> 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> ...@@ -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> 2001-08-01 Jeff Sturm <jsturm@one-point.com>
* java-tree.h (BUILD_FILENAME_IDENTIFIER_NODE): * java-tree.h (BUILD_FILENAME_IDENTIFIER_NODE):
Use ggc_add_tree_root to register roots. Use ggc_add_tree_root to register roots.
2001-07-31 Alexandre Petit-Bianco <apbianco@redhat.com> 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> ...@@ -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> 2001-05-18 Per Bothner <per@bothner.com>
* jvspec.c (lang_specific_pre_link): Re-arrange the linker * 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> 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> ...@@ -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> 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. check for byte swap.
2000-05-02 Jeff Sturm <jsturm@one-point.com> 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> ...@@ -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> 2001-03-19 Andrew Haley <aph@cambridge.redhat.com>
* class.c (build_static_field_ref): Call make_decl_rtl() after * class.c (build_static_field_ref): Call make_decl_rtl() after
setting the DECL_EXTERNAL flag. setting the DECL_EXTERNAL flag.
2001-03-17 Per Bothner <per@bothner.com> 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> ...@@ -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. * Make-lang.in (jvspec.o): Modify rule to match that of cp/g++spec.o.
2001-02-14 Tom Tromey <tromey@redhat.com> 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. Fix for PR java/1261.
* typeck.c (build_java_array_type): Add public `clone' method to * 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> ...@@ -2545,7 +2551,7 @@ Sun Feb 4 15:52:44 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* gen-table.pl: new file. * gen-table.pl: new file.
2000-11-20 Tom Tromey <tromey@cygnus.com> 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 * parse.y (java_complete_lhs): Only allow compound assignment of
reference type if type is String. reference type if type is String.
......
...@@ -43,14 +43,6 @@ static void set_bit PARAMS ((unsigned HOST_WIDE_INT *, ...@@ -43,14 +43,6 @@ static void set_bit PARAMS ((unsigned HOST_WIDE_INT *,
unsigned HOST_WIDE_INT *, unsigned HOST_WIDE_INT *,
unsigned 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 /* 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. */ the least significant. This function sets bit N in the bitmap. */
static void static void
...@@ -167,7 +159,7 @@ get_boehm_type_descriptor (tree type) ...@@ -167,7 +159,7 @@ get_boehm_type_descriptor (tree type)
/* If we have a type of unknown size, use a proc. */ /* If we have a type of unknown size, use a proc. */
if (int_size_in_bytes (type) == -1) if (int_size_in_bytes (type) == -1)
return PROCEDURE_OBJECT_DESCRIPTOR; goto procedure_object_descriptor;
bit = POINTER_SIZE / BITS_PER_UNIT; bit = POINTER_SIZE / BITS_PER_UNIT;
/* The size of this node has to be known. And, we only support 32 /* The size of this node has to be known. And, we only support 32
...@@ -187,7 +179,7 @@ get_boehm_type_descriptor (tree type) ...@@ -187,7 +179,7 @@ get_boehm_type_descriptor (tree type)
ubit = (unsigned int) bit; ubit = (unsigned int) bit;
if (type == class_type_node) if (type == class_type_node)
return PROCEDURE_OBJECT_DESCRIPTOR; goto procedure_object_descriptor;
field = TYPE_FIELDS (type); field = TYPE_FIELDS (type);
mark_reference_fields (field, &low, &high, ubit, mark_reference_fields (field, &low, &high, ubit,
...@@ -227,7 +219,16 @@ get_boehm_type_descriptor (tree type) ...@@ -227,7 +219,16 @@ get_boehm_type_descriptor (tree type)
value = build_int_2 (low, high); value = build_int_2 (low, high);
} }
else 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); TREE_TYPE (value) = type_for_mode (ptr_mode, 1);
return value; 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