src/hotspot/share/classfile/javaClasses.cpp
changeset 47818 2f6ab27efb60
parent 47580 96392e113a0a
child 47998 fb0275c320a0
equal deleted inserted replaced
47817:5d15fd7e9bb1 47818:2f6ab27efb60
  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 }