< prev index next >

src/share/vm/c1/c1_Runtime1.cpp

Print this page




  24 
  25 #include "precompiled.hpp"
  26 #include "asm/codeBuffer.hpp"
  27 #include "c1/c1_CodeStubs.hpp"
  28 #include "c1/c1_Defs.hpp"
  29 #include "c1/c1_FrameMap.hpp"
  30 #include "c1/c1_LIRAssembler.hpp"
  31 #include "c1/c1_MacroAssembler.hpp"
  32 #include "c1/c1_Runtime1.hpp"
  33 #include "classfile/systemDictionary.hpp"
  34 #include "classfile/vmSymbols.hpp"
  35 #include "code/codeBlob.hpp"
  36 #include "code/compiledIC.hpp"
  37 #include "code/pcDesc.hpp"
  38 #include "code/scopeDesc.hpp"
  39 #include "code/vtableStubs.hpp"
  40 #include "compiler/disassembler.hpp"
  41 #include "gc_interface/collectedHeap.hpp"
  42 #include "interpreter/bytecode.hpp"
  43 #include "interpreter/interpreter.hpp"

  44 #include "memory/allocation.inline.hpp"
  45 #include "memory/barrierSet.hpp"
  46 #include "memory/oopFactory.hpp"
  47 #include "memory/resourceArea.hpp"
  48 #include "oops/objArrayKlass.hpp"
  49 #include "oops/oop.inline.hpp"
  50 #include "runtime/biasedLocking.hpp"
  51 #include "runtime/compilationPolicy.hpp"
  52 #include "runtime/interfaceSupport.hpp"
  53 #include "runtime/javaCalls.hpp"
  54 #include "runtime/sharedRuntime.hpp"
  55 #include "runtime/threadCritical.hpp"
  56 #include "runtime/vframe.hpp"
  57 #include "runtime/vframeArray.hpp"
  58 #include "utilities/copy.hpp"
  59 #include "utilities/events.hpp"
  60 
  61 
  62 // Implementation of StubAssembler
  63 


 279   FUNCTION_CASE(entry, SharedRuntime::dexp);
 280   FUNCTION_CASE(entry, SharedRuntime::dlog);
 281   FUNCTION_CASE(entry, SharedRuntime::dlog10);
 282   FUNCTION_CASE(entry, SharedRuntime::dpow);
 283   FUNCTION_CASE(entry, SharedRuntime::drem);
 284   FUNCTION_CASE(entry, SharedRuntime::dsin);
 285   FUNCTION_CASE(entry, SharedRuntime::dtan);
 286   FUNCTION_CASE(entry, SharedRuntime::f2i);
 287   FUNCTION_CASE(entry, SharedRuntime::f2l);
 288   FUNCTION_CASE(entry, SharedRuntime::frem);
 289   FUNCTION_CASE(entry, SharedRuntime::l2d);
 290   FUNCTION_CASE(entry, SharedRuntime::l2f);
 291   FUNCTION_CASE(entry, SharedRuntime::ldiv);
 292   FUNCTION_CASE(entry, SharedRuntime::lmul);
 293   FUNCTION_CASE(entry, SharedRuntime::lrem);
 294   FUNCTION_CASE(entry, SharedRuntime::lrem);
 295   FUNCTION_CASE(entry, SharedRuntime::dtrace_method_entry);
 296   FUNCTION_CASE(entry, SharedRuntime::dtrace_method_exit);
 297   FUNCTION_CASE(entry, is_instance_of);
 298   FUNCTION_CASE(entry, trace_block_entry);
 299 #ifdef TRACE_HAVE_INTRINSICS
 300   FUNCTION_CASE(entry, TRACE_TIME_METHOD);
 301 #endif
 302   FUNCTION_CASE(entry, StubRoutines::updateBytesCRC32());
 303 
 304 #undef FUNCTION_CASE
 305 
 306   // Soft float adds more runtime names.
 307   return pd_name_for_address(entry);
 308 }
 309 
 310 
 311 JRT_ENTRY(void, Runtime1::new_instance(JavaThread* thread, Klass* klass))
 312   NOT_PRODUCT(_new_instance_slowcase_cnt++;)
 313 
 314   assert(klass->is_klass(), "not a class");
 315   Handle holder(THREAD, klass->klass_holder()); // keep the klass alive
 316   instanceKlassHandle h(thread, klass);
 317   h->check_valid_for_instantiation(true, CHECK);
 318   // make sure klass is initialized
 319   h->initialize(CHECK);
 320   // allocate instance and return via TLS




  24 
  25 #include "precompiled.hpp"
  26 #include "asm/codeBuffer.hpp"
  27 #include "c1/c1_CodeStubs.hpp"
  28 #include "c1/c1_Defs.hpp"
  29 #include "c1/c1_FrameMap.hpp"
  30 #include "c1/c1_LIRAssembler.hpp"
  31 #include "c1/c1_MacroAssembler.hpp"
  32 #include "c1/c1_Runtime1.hpp"
  33 #include "classfile/systemDictionary.hpp"
  34 #include "classfile/vmSymbols.hpp"
  35 #include "code/codeBlob.hpp"
  36 #include "code/compiledIC.hpp"
  37 #include "code/pcDesc.hpp"
  38 #include "code/scopeDesc.hpp"
  39 #include "code/vtableStubs.hpp"
  40 #include "compiler/disassembler.hpp"
  41 #include "gc_interface/collectedHeap.hpp"
  42 #include "interpreter/bytecode.hpp"
  43 #include "interpreter/interpreter.hpp"
  44 #include "jfr/support/jfrIntrinsics.hpp"
  45 #include "memory/allocation.inline.hpp"
  46 #include "memory/barrierSet.hpp"
  47 #include "memory/oopFactory.hpp"
  48 #include "memory/resourceArea.hpp"
  49 #include "oops/objArrayKlass.hpp"
  50 #include "oops/oop.inline.hpp"
  51 #include "runtime/biasedLocking.hpp"
  52 #include "runtime/compilationPolicy.hpp"
  53 #include "runtime/interfaceSupport.hpp"
  54 #include "runtime/javaCalls.hpp"
  55 #include "runtime/sharedRuntime.hpp"
  56 #include "runtime/threadCritical.hpp"
  57 #include "runtime/vframe.hpp"
  58 #include "runtime/vframeArray.hpp"
  59 #include "utilities/copy.hpp"
  60 #include "utilities/events.hpp"
  61 
  62 
  63 // Implementation of StubAssembler
  64 


 280   FUNCTION_CASE(entry, SharedRuntime::dexp);
 281   FUNCTION_CASE(entry, SharedRuntime::dlog);
 282   FUNCTION_CASE(entry, SharedRuntime::dlog10);
 283   FUNCTION_CASE(entry, SharedRuntime::dpow);
 284   FUNCTION_CASE(entry, SharedRuntime::drem);
 285   FUNCTION_CASE(entry, SharedRuntime::dsin);
 286   FUNCTION_CASE(entry, SharedRuntime::dtan);
 287   FUNCTION_CASE(entry, SharedRuntime::f2i);
 288   FUNCTION_CASE(entry, SharedRuntime::f2l);
 289   FUNCTION_CASE(entry, SharedRuntime::frem);
 290   FUNCTION_CASE(entry, SharedRuntime::l2d);
 291   FUNCTION_CASE(entry, SharedRuntime::l2f);
 292   FUNCTION_CASE(entry, SharedRuntime::ldiv);
 293   FUNCTION_CASE(entry, SharedRuntime::lmul);
 294   FUNCTION_CASE(entry, SharedRuntime::lrem);
 295   FUNCTION_CASE(entry, SharedRuntime::lrem);
 296   FUNCTION_CASE(entry, SharedRuntime::dtrace_method_entry);
 297   FUNCTION_CASE(entry, SharedRuntime::dtrace_method_exit);
 298   FUNCTION_CASE(entry, is_instance_of);
 299   FUNCTION_CASE(entry, trace_block_entry);
 300 #ifdef JFR_HAVE_INTRINSICS
 301   FUNCTION_CASE(entry, JFR_TIME_FUNCTION);
 302 #endif
 303   FUNCTION_CASE(entry, StubRoutines::updateBytesCRC32());
 304 
 305 #undef FUNCTION_CASE
 306 
 307   // Soft float adds more runtime names.
 308   return pd_name_for_address(entry);
 309 }
 310 
 311 
 312 JRT_ENTRY(void, Runtime1::new_instance(JavaThread* thread, Klass* klass))
 313   NOT_PRODUCT(_new_instance_slowcase_cnt++;)
 314 
 315   assert(klass->is_klass(), "not a class");
 316   Handle holder(THREAD, klass->klass_holder()); // keep the klass alive
 317   instanceKlassHandle h(thread, klass);
 318   h->check_valid_for_instantiation(true, CHECK);
 319   // make sure klass is initialized
 320   h->initialize(CHECK);
 321   // allocate instance and return via TLS


< prev index next >