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