2256 java_lang_StackFrameInfo::set_version(stackFrame(), (short)version); |
2256 java_lang_StackFrameInfo::set_version(stackFrame(), (short)version); |
2257 } |
2257 } |
2258 |
2258 |
2259 void java_lang_StackFrameInfo::to_stack_trace_element(Handle stackFrame, Handle stack_trace_element, TRAPS) { |
2259 void java_lang_StackFrameInfo::to_stack_trace_element(Handle stackFrame, Handle stack_trace_element, TRAPS) { |
2260 ResourceMark rm(THREAD); |
2260 ResourceMark rm(THREAD); |
2261 Handle k (THREAD, stackFrame->obj_field(_declaringClass_offset)); |
2261 Handle mname(THREAD, stackFrame->obj_field(java_lang_StackFrameInfo::_memberName_offset)); |
2262 InstanceKlass* holder = InstanceKlass::cast(java_lang_Class::as_Klass(k())); |
2262 Klass* clazz = java_lang_Class::as_Klass(java_lang_invoke_MemberName::clazz(mname())); |
|
2263 InstanceKlass* holder = InstanceKlass::cast(clazz); |
2263 Method* method = java_lang_StackFrameInfo::get_method(stackFrame, holder, CHECK); |
2264 Method* method = java_lang_StackFrameInfo::get_method(stackFrame, holder, CHECK); |
2264 |
2265 |
2265 short version = stackFrame->short_field(_version_offset); |
2266 short version = stackFrame->short_field(_version_offset); |
2266 short bci = stackFrame->short_field(_bci_offset); |
2267 short bci = stackFrame->short_field(_bci_offset); |
2267 Symbol* name = method->name(); |
2268 Symbol* name = method->name(); |
2268 java_lang_StackTraceElement::fill_in(stack_trace_element, holder, method, version, bci, name, CHECK); |
2269 java_lang_StackTraceElement::fill_in(stack_trace_element, holder, method, version, bci, name, CHECK); |
2269 } |
2270 } |
2270 |
2271 |
2271 void java_lang_StackFrameInfo::compute_offsets() { |
2272 void java_lang_StackFrameInfo::compute_offsets() { |
2272 Klass* k = SystemDictionary::StackFrameInfo_klass(); |
2273 Klass* k = SystemDictionary::StackFrameInfo_klass(); |
2273 compute_offset(_declaringClass_offset, k, vmSymbols::declaringClass_name(), vmSymbols::class_signature()); |
|
2274 compute_offset(_memberName_offset, k, vmSymbols::memberName_name(), vmSymbols::object_signature()); |
2274 compute_offset(_memberName_offset, k, vmSymbols::memberName_name(), vmSymbols::object_signature()); |
2275 compute_offset(_bci_offset, k, vmSymbols::bci_name(), vmSymbols::short_signature()); |
2275 compute_offset(_bci_offset, k, vmSymbols::bci_name(), vmSymbols::short_signature()); |
2276 STACKFRAMEINFO_INJECTED_FIELDS(INJECTED_FIELD_COMPUTE_OFFSET); |
2276 STACKFRAMEINFO_INJECTED_FIELDS(INJECTED_FIELD_COMPUTE_OFFSET); |
2277 } |
2277 } |
2278 |
2278 |
3677 int java_lang_StackTraceElement::moduleName_offset; |
3677 int java_lang_StackTraceElement::moduleName_offset; |
3678 int java_lang_StackTraceElement::moduleVersion_offset; |
3678 int java_lang_StackTraceElement::moduleVersion_offset; |
3679 int java_lang_StackTraceElement::classLoaderName_offset; |
3679 int java_lang_StackTraceElement::classLoaderName_offset; |
3680 int java_lang_StackTraceElement::declaringClass_offset; |
3680 int java_lang_StackTraceElement::declaringClass_offset; |
3681 int java_lang_StackTraceElement::declaringClassObject_offset; |
3681 int java_lang_StackTraceElement::declaringClassObject_offset; |
3682 int java_lang_StackFrameInfo::_declaringClass_offset; |
|
3683 int java_lang_StackFrameInfo::_memberName_offset; |
3682 int java_lang_StackFrameInfo::_memberName_offset; |
3684 int java_lang_StackFrameInfo::_bci_offset; |
3683 int java_lang_StackFrameInfo::_bci_offset; |
3685 int java_lang_StackFrameInfo::_version_offset; |
3684 int java_lang_StackFrameInfo::_version_offset; |
3686 int java_lang_LiveStackFrameInfo::_monitors_offset; |
3685 int java_lang_LiveStackFrameInfo::_monitors_offset; |
3687 int java_lang_LiveStackFrameInfo::_locals_offset; |
3686 int java_lang_LiveStackFrameInfo::_locals_offset; |
3728 element->obj_field_put(classLoaderName_offset, value); |
3727 element->obj_field_put(classLoaderName_offset, value); |
3729 } |
3728 } |
3730 |
3729 |
3731 void java_lang_StackTraceElement::set_declaringClassObject(oop element, oop value) { |
3730 void java_lang_StackTraceElement::set_declaringClassObject(oop element, oop value) { |
3732 element->obj_field_put(declaringClassObject_offset, value); |
3731 element->obj_field_put(declaringClassObject_offset, value); |
3733 } |
|
3734 |
|
3735 // Support for java_lang_StackFrameInfo |
|
3736 void java_lang_StackFrameInfo::set_declaringClass(oop element, oop value) { |
|
3737 element->obj_field_put(_declaringClass_offset, value); |
|
3738 } |
3732 } |
3739 |
3733 |
3740 void java_lang_StackFrameInfo::set_version(oop element, short value) { |
3734 void java_lang_StackFrameInfo::set_version(oop element, short value) { |
3741 element->short_field_put(_version_offset, value); |
3735 element->short_field_put(_version_offset, value); |
3742 } |
3736 } |