src/share/vm/ci/ciMethod.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
8025566 Cdiff src/share/vm/ci/ciMethod.cpp
src/share/vm/ci/ciMethod.cpp
Print this page
*** 844,854 ****
//
// Generate new MethodData* objects at compile time.
// Return true if allocation was successful or no MDO is required.
bool ciMethod::ensure_method_data(methodHandle h_m) {
EXCEPTION_CONTEXT;
! if (is_native() || is_abstract() || h_m()->is_accessor()) return true;
if (h_m()->method_data() == NULL) {
Method::build_interpreter_method_data(h_m, THREAD);
if (HAS_PENDING_EXCEPTION) {
CLEAR_PENDING_EXCEPTION;
}
--- 844,856 ----
//
// Generate new MethodData* objects at compile time.
// Return true if allocation was successful or no MDO is required.
bool ciMethod::ensure_method_data(methodHandle h_m) {
EXCEPTION_CONTEXT;
! if (is_native() || is_abstract() || h_m()->is_accessor()) {
! return true;
! }
if (h_m()->method_data() == NULL) {
Method::build_interpreter_method_data(h_m, THREAD);
if (HAS_PENDING_EXCEPTION) {
CLEAR_PENDING_EXCEPTION;
}
*** 901,926 ****
// ciMethod::method_data_or_null
// Returns a pointer to ciMethodData if MDO exists on the VM side,
// NULL otherwise.
ciMethodData* ciMethod::method_data_or_null() {
ciMethodData *md = method_data();
! if (md->is_empty()) return NULL;
return md;
}
// ------------------------------------------------------------------
// ciMethod::ensure_method_counters
//
! address ciMethod::ensure_method_counters() {
check_is_loaded();
VM_ENTRY_MARK;
methodHandle mh(THREAD, get_Method());
! MethodCounters *counter = mh->method_counters();
! if (counter == NULL) {
! counter = Method::build_method_counters(mh(), CHECK_AND_CLEAR_NULL);
! }
! return (address)counter;
}
// ------------------------------------------------------------------
// ciMethod::should_exclude
//
--- 903,927 ----
// ciMethod::method_data_or_null
// Returns a pointer to ciMethodData if MDO exists on the VM side,
// NULL otherwise.
ciMethodData* ciMethod::method_data_or_null() {
ciMethodData *md = method_data();
! if (md->is_empty()) {
! return NULL;
! }
return md;
}
// ------------------------------------------------------------------
// ciMethod::ensure_method_counters
//
! MethodCounters* ciMethod::ensure_method_counters() {
check_is_loaded();
VM_ENTRY_MARK;
methodHandle mh(THREAD, get_Method());
! MethodCounters* method_counters = mh->get_method_counters(CHECK_NULL);
! return method_counters;
}
// ------------------------------------------------------------------
// ciMethod::should_exclude
//
src/share/vm/ci/ciMethod.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File