< prev index next >

src/hotspot/share/interpreter/abstractInterpreter.cpp

Print this page
*** 169,21 ***
      if (m->is_continuation_native_intrinsic()) {
        // This entry will never be called.  The real entry gets generated later, like for MH intrinsics.
        return abstract;
      }
      assert(!m->is_method_handle_intrinsic(), "overlapping bits here, watch out");
!     return m->is_synchronized() ? native_synchronized : native;
    }
  
    // Synchronized?
    if (m->is_synchronized()) {
!     return zerolocals_synchronized;
    }
  
    // Empty method?
    if (m->is_empty_method()) {
!     return empty;
    }
  
    // Getter method?
    if (m->is_getter()) {
      return getter;
--- 169,24 ---
      if (m->is_continuation_native_intrinsic()) {
        // This entry will never be called.  The real entry gets generated later, like for MH intrinsics.
        return abstract;
      }
      assert(!m->is_method_handle_intrinsic(), "overlapping bits here, watch out");
!     if (m->is_synchronized()) {
+       return m->has_upcall_on_method_entry() ? native_synchronized_upcalls : native_synchronized;
+     }
+     return m->has_upcall_on_method_entry() ? native_upcalls : native;
    }
  
    // Synchronized?
    if (m->is_synchronized()) {
!     return m->has_upcall_on_method_entry() ? zerolocals_synchronized_upcalls : zerolocals_synchronized;
    }
  
    // Empty method?
    if (m->is_empty_method()) {
!     return m->has_upcall_on_method_entry() ? empty_upcalls : empty;
    }
  
    // Getter method?
    if (m->is_getter()) {
      return getter;

*** 193,11 ***
    if (m->is_setter()) {
      return setter;
    }
  
    // Note: for now: zero locals for all non-empty methods
!   return zerolocals;
  }
  
  vmIntrinsics::ID AbstractInterpreter::method_intrinsic(MethodKind kind) {
    switch (kind) {
    case java_lang_math_sin         : return vmIntrinsics::_dsin;
--- 196,11 ---
    if (m->is_setter()) {
      return setter;
    }
  
    // Note: for now: zero locals for all non-empty methods
!   return m->has_upcall_on_method_entry() ? zerolocals_upcalls : zerolocals;
  }
  
  vmIntrinsics::ID AbstractInterpreter::method_intrinsic(MethodKind kind) {
    switch (kind) {
    case java_lang_math_sin         : return vmIntrinsics::_dsin;
< prev index next >