129 Symbol* vmsym = vmSymbols::symbol_at((vmSymbols::SID) i);
130 assert(vmSymbols::find_sid(vmsym) == i, "1-1 mapping");
131 ciSymbol* sym = new (_arena) ciSymbol(vmsym, (vmSymbols::SID) i);
132 init_ident_of(sym);
133 _shared_ci_symbols[i] = sym;
134 }
135 #ifdef ASSERT
136 for (i = vmSymbols::FIRST_SID; i < vmSymbols::SID_LIMIT; i++) {
137 Symbol* vmsym = vmSymbols::symbol_at((vmSymbols::SID) i);
138 ciSymbol* sym = vm_symbol_at((vmSymbols::SID) i);
139 assert(sym->get_symbol() == vmsym, "oop must match");
140 }
141 assert(ciSymbol::void_class_signature()->get_symbol() == vmSymbols::void_class_signature(), "spot check");
142 #endif
143 }
144
145 _ci_metadata = new (_arena) GrowableArray<ciMetadata*>(_arena, 64, 0, NULL);
146
147 for (int i = T_BOOLEAN; i <= T_CONFLICT; i++) {
148 BasicType t = (BasicType)i;
149 if (type2name(t) != NULL && t != T_OBJECT && t != T_ARRAY && t != T_NARROWOOP) {
150 ciType::_basic_types[t] = new (_arena) ciType(t);
151 init_ident_of(ciType::_basic_types[t]);
152 }
153 }
154
155 ciEnv::_null_object_instance = new (_arena) ciNullObject();
156 init_ident_of(ciEnv::_null_object_instance);
157
158 #define WK_KLASS_DEFN(name, ignore_s, opt) \
159 if (SystemDictionary::name() != NULL) \
160 ciEnv::_##name = get_metadata(SystemDictionary::name())->as_instance_klass();
161
162 WK_KLASSES_DO(WK_KLASS_DEFN)
163 #undef WK_KLASS_DEFN
164
165 for (int len = -1; len != _ci_metadata->length(); ) {
166 len = _ci_metadata->length();
167 for (int i2 = 0; i2 < len; i2++) {
168 ciMetadata* obj = _ci_metadata->at(i2);
169 assert (obj->is_metadata(), "what else would it be?");
|
129 Symbol* vmsym = vmSymbols::symbol_at((vmSymbols::SID) i);
130 assert(vmSymbols::find_sid(vmsym) == i, "1-1 mapping");
131 ciSymbol* sym = new (_arena) ciSymbol(vmsym, (vmSymbols::SID) i);
132 init_ident_of(sym);
133 _shared_ci_symbols[i] = sym;
134 }
135 #ifdef ASSERT
136 for (i = vmSymbols::FIRST_SID; i < vmSymbols::SID_LIMIT; i++) {
137 Symbol* vmsym = vmSymbols::symbol_at((vmSymbols::SID) i);
138 ciSymbol* sym = vm_symbol_at((vmSymbols::SID) i);
139 assert(sym->get_symbol() == vmsym, "oop must match");
140 }
141 assert(ciSymbol::void_class_signature()->get_symbol() == vmSymbols::void_class_signature(), "spot check");
142 #endif
143 }
144
145 _ci_metadata = new (_arena) GrowableArray<ciMetadata*>(_arena, 64, 0, NULL);
146
147 for (int i = T_BOOLEAN; i <= T_CONFLICT; i++) {
148 BasicType t = (BasicType)i;
149 if (type2name(t) != NULL && t != T_OBJECT && t != T_ARRAY && t != T_NARROWOOP && t != T_NARROWKLASS) {
150 ciType::_basic_types[t] = new (_arena) ciType(t);
151 init_ident_of(ciType::_basic_types[t]);
152 }
153 }
154
155 ciEnv::_null_object_instance = new (_arena) ciNullObject();
156 init_ident_of(ciEnv::_null_object_instance);
157
158 #define WK_KLASS_DEFN(name, ignore_s, opt) \
159 if (SystemDictionary::name() != NULL) \
160 ciEnv::_##name = get_metadata(SystemDictionary::name())->as_instance_klass();
161
162 WK_KLASSES_DO(WK_KLASS_DEFN)
163 #undef WK_KLASS_DEFN
164
165 for (int len = -1; len != _ci_metadata->length(); ) {
166 len = _ci_metadata->length();
167 for (int i2 = 0; i2 < len; i2++) {
168 ciMetadata* obj = _ci_metadata->at(i2);
169 assert (obj->is_metadata(), "what else would it be?");
|