mirror of git://gcc.gnu.org/git/gcc.git
2003-10-01 Andrew Haley <aph@redhat.com>
* jcf-parse.c (java_parse_file): Write otable and atable.
* java-tree.h (atable_methods): New.
(atable_decl): New.
(atable_syms_decl): New.
(enum java_tree_index): Add JTI_ATABLE_METHODS, JTI_ATABLE_DECL,
JTI_ATABLE_SYMS_DECL. Rename JTI_METHOD_SYMBOL* to JTI_SYMBOL*.
(symbol_*type): Rename method_symbol* to symbol*type.
(emit_offset_symbol_table): Delete.
(emit_symbol_table): New.
(get_symbol_table_index): New.
(atable_type): New.
* expr.c (build_field_ref): Handle flag_indirect_dispatch.
(build_known_method_ref): Likewise.
(get_symbol_table_index): Rename from get_offset_table_index.
Parameterize to allow re-use by differing types of symbol table.
(build_invokevirtual): Pass table to get_offset_table_index.
* decl.c (java_init_decl_processing): Push types and decls for
atable and atable_syyms.
* class.c (build_static_field_ref): Handle flag_indirect_dispatch.
(make_class_data): Add new fields atable and atable_syms.
(emit_symbol_table): Rename from emit_offset_symbol_table.
Parameterize to allow re-use by different types of symbol table.
(build_symbol_entry): Renamed from build_method_symbols_entry.
2003-10-01 Andrew Haley <aph@redhat.com>
* java/lang/natClass.cc (initializeClass): Check for otable and
atable.
(_Jv_LinkOffsetTable): Check for existence of atable. Rewrite
loops using for(). Search superinterfaces. Check for fields as
well as methods. Initialize atable as well as otable: check for
static methods as well as virtual methods.
* java/lang/Class.h (struct _Jv_AddressTable): New.
(atable): New.
(atable_syms): New.
* include/jvm.h (_Jv_equalUtf8Consts): constify.
* prims.cc (_Jv_equalUtf8Consts): constify.
From-SVN: r71979
|
||
|---|---|---|
| .. | ||
| jar | ||
| logging | ||
| prefs | ||
| regex | ||
| zip | ||
| AbstractCollection.java | ||
| AbstractList.java | ||
| AbstractMap.java | ||
| AbstractSequentialList.java | ||
| AbstractSet.java | ||
| ArrayList.java | ||
| Arrays.java | ||
| BitSet.java | ||
| Calendar.java | ||
| Collection.java | ||
| Collections.java | ||
| Comparator.java | ||
| ConcurrentModificationException.java | ||
| Date.java | ||
| Dictionary.java | ||
| EmptyStackException.java | ||
| Enumeration.java | ||
| EventListener.java | ||
| EventListenerProxy.java | ||
| EventObject.java | ||
| GregorianCalendar.java | ||
| HashMap.java | ||
| HashSet.java | ||
| Hashtable.java | ||
| IdentityHashMap.java | ||
| Iterator.java | ||
| LinkedHashMap.java | ||
| LinkedHashSet.java | ||
| LinkedList.java | ||
| List.java | ||
| ListIterator.java | ||
| ListResourceBundle.java | ||
| Locale.java | ||
| Map.java | ||
| MissingResourceException.java | ||
| NoSuchElementException.java | ||
| Observable.java | ||
| Observer.java | ||
| Properties.java | ||
| PropertyPermission.java | ||
| PropertyPermissionCollection.java | ||
| PropertyResourceBundle.java | ||
| Random.java | ||
| RandomAccess.java | ||
| ResourceBundle.java | ||
| Set.java | ||
| SimpleTimeZone.java | ||
| SortedMap.java | ||
| SortedSet.java | ||
| Stack.java | ||
| StringTokenizer.java | ||
| TimeZone.java | ||
| Timer.java | ||
| TimerTask.java | ||
| TooManyListenersException.java | ||
| TreeMap.java | ||
| TreeSet.java | ||
| Vector.java | ||
| WeakHashMap.java | ||
| natResourceBundle.cc | ||
| natTimeZone.cc | ||