equal
deleted
inserted
replaced
161 void java_lang_String::compute_offsets() { |
161 void java_lang_String::compute_offsets() { |
162 assert(!initialized, "offsets should be initialized only once"); |
162 assert(!initialized, "offsets should be initialized only once"); |
163 |
163 |
164 Klass* k = SystemDictionary::String_klass(); |
164 Klass* k = SystemDictionary::String_klass(); |
165 compute_offset(value_offset, k, vmSymbols::value_name(), vmSymbols::byte_array_signature()); |
165 compute_offset(value_offset, k, vmSymbols::value_name(), vmSymbols::byte_array_signature()); |
166 compute_optional_offset(hash_offset, k, vmSymbols::hash_name(), vmSymbols::int_signature()); |
166 compute_offset(hash_offset, k, vmSymbols::hash_name(), vmSymbols::int_signature()); |
167 compute_optional_offset(coder_offset, k, vmSymbols::coder_name(), vmSymbols::byte_signature()); |
167 compute_offset(coder_offset, k, vmSymbols::coder_name(), vmSymbols::byte_signature()); |
168 |
168 |
169 initialized = true; |
169 initialized = true; |
170 } |
170 } |
171 |
171 |
172 class CompactStringsFixup : public FieldClosure { |
172 class CompactStringsFixup : public FieldClosure { |
3975 valid &= check_constant(klass_name, cpp_klass_name :: field_name, #field_name, field_sig) |
3975 valid &= check_constant(klass_name, cpp_klass_name :: field_name, #field_name, field_sig) |
3976 |
3976 |
3977 // java.lang.String |
3977 // java.lang.String |
3978 |
3978 |
3979 CHECK_OFFSET("java/lang/String", java_lang_String, value, "[B"); |
3979 CHECK_OFFSET("java/lang/String", java_lang_String, value, "[B"); |
3980 if (java_lang_String::has_hash_field()) { |
3980 CHECK_OFFSET("java/lang/String", java_lang_String, hash, "I"); |
3981 CHECK_OFFSET("java/lang/String", java_lang_String, hash, "I"); |
3981 CHECK_OFFSET("java/lang/String", java_lang_String, coder, "B"); |
3982 } |
|
3983 if (java_lang_String::has_coder_field()) { |
|
3984 CHECK_OFFSET("java/lang/String", java_lang_String, coder, "B"); |
|
3985 } |
|
3986 |
3982 |
3987 // java.lang.Class |
3983 // java.lang.Class |
3988 |
3984 |
3989 // Fake fields |
3985 // Fake fields |
3990 // CHECK_OFFSET("java/lang/Class", java_lang_Class, klass); // %%% this needs to be checked |
3986 // CHECK_OFFSET("java/lang/Class", java_lang_Class, klass); // %%% this needs to be checked |