< prev index next >

src/hotspot/share/jvmci/jvmciRuntime.cpp

Print this page




  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  */
  23 
  24 #include "precompiled.hpp"
  25 #include "classfile/symbolTable.hpp"
  26 #include "compiler/compileBroker.hpp"
  27 #include "jvmci/jniAccessMark.inline.hpp"
  28 #include "jvmci/jvmciCompilerToVM.hpp"
  29 #include "jvmci/jvmciRuntime.hpp"
  30 #include "logging/log.hpp"
  31 #include "memory/oopFactory.hpp"
  32 #include "memory/universe.hpp"
  33 #include "oops/constantPool.inline.hpp"
  34 #include "oops/method.inline.hpp"
  35 #include "oops/objArrayKlass.hpp"
  36 #include "oops/oop.inline.hpp"

  37 #include "runtime/biasedLocking.hpp"
  38 #include "runtime/deoptimization.hpp"
  39 #include "runtime/fieldDescriptor.inline.hpp"
  40 #include "runtime/frame.inline.hpp"
  41 #include "runtime/sharedRuntime.hpp"
  42 #if INCLUDE_G1GC
  43 #include "gc/g1/g1ThreadLocalData.hpp"
  44 #endif // INCLUDE_G1GC
  45 
  46 // Simple helper to see if the caller of a runtime stub which
  47 // entered the VM has been deoptimized
  48 
  49 static bool caller_is_deopted() {
  50   JavaThread* thread = JavaThread::current();
  51   RegisterMap reg_map(thread, false);
  52   frame runtime_frame = thread->last_frame();
  53   frame caller_frame = runtime_frame.sender(&reg_map);
  54   assert(caller_frame.is_compiled_frame(), "must be compiled");
  55   return caller_frame.is_deoptimized_frame();
  56 }




  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  */
  23 
  24 #include "precompiled.hpp"
  25 #include "classfile/symbolTable.hpp"
  26 #include "compiler/compileBroker.hpp"
  27 #include "jvmci/jniAccessMark.inline.hpp"
  28 #include "jvmci/jvmciCompilerToVM.hpp"
  29 #include "jvmci/jvmciRuntime.hpp"
  30 #include "logging/log.hpp"
  31 #include "memory/oopFactory.hpp"
  32 #include "memory/universe.hpp"
  33 #include "oops/constantPool.inline.hpp"
  34 #include "oops/method.inline.hpp"
  35 #include "oops/objArrayKlass.hpp"
  36 #include "oops/oop.inline.hpp"
  37 #include "runtime/atomic.hpp"
  38 #include "runtime/biasedLocking.hpp"
  39 #include "runtime/deoptimization.hpp"
  40 #include "runtime/fieldDescriptor.inline.hpp"
  41 #include "runtime/frame.inline.hpp"
  42 #include "runtime/sharedRuntime.hpp"
  43 #if INCLUDE_G1GC
  44 #include "gc/g1/g1ThreadLocalData.hpp"
  45 #endif // INCLUDE_G1GC
  46 
  47 // Simple helper to see if the caller of a runtime stub which
  48 // entered the VM has been deoptimized
  49 
  50 static bool caller_is_deopted() {
  51   JavaThread* thread = JavaThread::current();
  52   RegisterMap reg_map(thread, false);
  53   frame runtime_frame = thread->last_frame();
  54   frame caller_frame = runtime_frame.sender(&reg_map);
  55   assert(caller_frame.is_compiled_frame(), "must be compiled");
  56   return caller_frame.is_deoptimized_frame();
  57 }


< prev index next >