src/share/vm/ci/ciMethodData.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Cdiff src/share/vm/ci/ciMethodData.cpp

src/share/vm/ci/ciMethodData.cpp

Print this page

        

*** 79,89 **** } void ciMethodData::load_extra_data() { MethodData* mdo = get_MethodData(); ! MutexLocker(mdo->extra_data_lock()); // speculative trap entries also hold a pointer to a Method so need to be translated DataLayout* dp_src = mdo->extra_data_base(); DataLayout* end_src = mdo->args_data_limit(); DataLayout* dp_dst = extra_data_base(); --- 79,89 ---- } void ciMethodData::load_extra_data() { MethodData* mdo = get_MethodData(); ! MutexLocker ml(mdo->extra_data_lock()); // speculative trap entries also hold a pointer to a Method so need to be translated DataLayout* dp_src = mdo->extra_data_base(); DataLayout* end_src = mdo->args_data_limit(); DataLayout* dp_dst = extra_data_base();
*** 118,130 **** case DataLayout::bit_data_tag: break; case DataLayout::no_tag: case DataLayout::arg_info_data_tag: // An empty slot or ArgInfoData entry marks the end of the trap data ! return; default: ! fatal("bad tag = %d", dp_dst->tag()); } } } void ciMethodData::load_data() { --- 118,132 ---- case DataLayout::bit_data_tag: break; case DataLayout::no_tag: case DataLayout::arg_info_data_tag: // An empty slot or ArgInfoData entry marks the end of the trap data ! { ! return; // Need a block to avoid SS compiler bug ! } default: ! fatal("bad tag = %d", tag); } } } void ciMethodData::load_data() {
src/share/vm/ci/ciMethodData.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File