< prev index next >

src/hotspot/share/interpreter/interpreterRuntime.cpp

Print this page




  36 #include "interpreter/interpreterRuntime.hpp"
  37 #include "interpreter/linkResolver.hpp"
  38 #include "interpreter/templateTable.hpp"
  39 #include "logging/log.hpp"
  40 #include "memory/oopFactory.hpp"
  41 #include "memory/resourceArea.hpp"
  42 #include "memory/universe.hpp"
  43 #include "oops/constantPool.hpp"
  44 #include "oops/cpCache.inline.hpp"
  45 #include "oops/instanceKlass.hpp"
  46 #include "oops/methodData.hpp"
  47 #include "oops/objArrayKlass.hpp"
  48 #include "oops/objArrayOop.inline.hpp"
  49 #include "oops/oop.inline.hpp"
  50 #include "oops/symbol.hpp"
  51 #include "prims/jvmtiExport.hpp"
  52 #include "prims/nativeLookup.hpp"
  53 #include "runtime/atomic.hpp"
  54 #include "runtime/biasedLocking.hpp"
  55 #include "runtime/compilationPolicy.hpp"

  56 #include "runtime/deoptimization.hpp"
  57 #include "runtime/fieldDescriptor.inline.hpp"
  58 #include "runtime/frame.inline.hpp"
  59 #include "runtime/handles.inline.hpp"
  60 #include "runtime/icache.hpp"
  61 #include "runtime/interfaceSupport.inline.hpp"
  62 #include "runtime/java.hpp"
  63 #include "runtime/javaCalls.hpp"
  64 #include "runtime/jfieldIDWorkaround.hpp"
  65 #include "runtime/osThread.hpp"
  66 #include "runtime/sharedRuntime.hpp"
  67 #include "runtime/stubRoutines.hpp"
  68 #include "runtime/synchronizer.hpp"
  69 #include "runtime/threadCritical.hpp"
  70 #include "utilities/align.hpp"
  71 #include "utilities/copy.hpp"
  72 #include "utilities/events.hpp"
  73 #ifdef COMPILER2
  74 #include "opto/runtime.hpp"
  75 #endif


1293   }
1294 
1295   LastFrameAccessor last_frame(thread);
1296   JvmtiExport::post_raw_field_modification(thread, last_frame.method(), last_frame.bcp(), ik, h_obj,
1297                                            fid, sig_type, &fvalue);
1298 JRT_END
1299 
1300 JRT_ENTRY(void, InterpreterRuntime::post_method_entry(JavaThread *thread))
1301   LastFrameAccessor last_frame(thread);
1302   JvmtiExport::post_method_entry(thread, last_frame.method(), last_frame.get_frame());
1303 JRT_END
1304 
1305 
1306 JRT_ENTRY(void, InterpreterRuntime::post_method_exit(JavaThread *thread))
1307   LastFrameAccessor last_frame(thread);
1308   JvmtiExport::post_method_exit(thread, last_frame.method(), last_frame.get_frame());
1309 JRT_END
1310 
1311 JRT_LEAF(int, InterpreterRuntime::interpreter_contains(address pc))
1312 {
1313   return (Interpreter::contains(pc) ? 1 : 0);
1314 }
1315 JRT_END
1316 
1317 
1318 // Implementation of SignatureHandlerLibrary
1319 
1320 #ifndef SHARING_FAST_NATIVE_FINGERPRINTS
1321 // Dummy definition (else normalization method is defined in CPU
1322 // dependant code)
1323 uint64_t InterpreterRuntime::normalize_fast_native_fingerprint(uint64_t fingerprint) {
1324   return fingerprint;
1325 }
1326 #endif
1327 
1328 address SignatureHandlerLibrary::set_handler_blob() {
1329   BufferBlob* handler_blob = BufferBlob::create("native signature handlers", blob_size);
1330   if (handler_blob == NULL) {
1331     return NULL;
1332   }
1333   address handler = handler_blob->code_begin();




  36 #include "interpreter/interpreterRuntime.hpp"
  37 #include "interpreter/linkResolver.hpp"
  38 #include "interpreter/templateTable.hpp"
  39 #include "logging/log.hpp"
  40 #include "memory/oopFactory.hpp"
  41 #include "memory/resourceArea.hpp"
  42 #include "memory/universe.hpp"
  43 #include "oops/constantPool.hpp"
  44 #include "oops/cpCache.inline.hpp"
  45 #include "oops/instanceKlass.hpp"
  46 #include "oops/methodData.hpp"
  47 #include "oops/objArrayKlass.hpp"
  48 #include "oops/objArrayOop.inline.hpp"
  49 #include "oops/oop.inline.hpp"
  50 #include "oops/symbol.hpp"
  51 #include "prims/jvmtiExport.hpp"
  52 #include "prims/nativeLookup.hpp"
  53 #include "runtime/atomic.hpp"
  54 #include "runtime/biasedLocking.hpp"
  55 #include "runtime/compilationPolicy.hpp"
  56 #include "runtime/continuation.hpp"
  57 #include "runtime/deoptimization.hpp"
  58 #include "runtime/fieldDescriptor.inline.hpp"
  59 #include "runtime/frame.inline.hpp"
  60 #include "runtime/handles.inline.hpp"
  61 #include "runtime/icache.hpp"
  62 #include "runtime/interfaceSupport.inline.hpp"
  63 #include "runtime/java.hpp"
  64 #include "runtime/javaCalls.hpp"
  65 #include "runtime/jfieldIDWorkaround.hpp"
  66 #include "runtime/osThread.hpp"
  67 #include "runtime/sharedRuntime.hpp"
  68 #include "runtime/stubRoutines.hpp"
  69 #include "runtime/synchronizer.hpp"
  70 #include "runtime/threadCritical.hpp"
  71 #include "utilities/align.hpp"
  72 #include "utilities/copy.hpp"
  73 #include "utilities/events.hpp"
  74 #ifdef COMPILER2
  75 #include "opto/runtime.hpp"
  76 #endif


1294   }
1295 
1296   LastFrameAccessor last_frame(thread);
1297   JvmtiExport::post_raw_field_modification(thread, last_frame.method(), last_frame.bcp(), ik, h_obj,
1298                                            fid, sig_type, &fvalue);
1299 JRT_END
1300 
1301 JRT_ENTRY(void, InterpreterRuntime::post_method_entry(JavaThread *thread))
1302   LastFrameAccessor last_frame(thread);
1303   JvmtiExport::post_method_entry(thread, last_frame.method(), last_frame.get_frame());
1304 JRT_END
1305 
1306 
1307 JRT_ENTRY(void, InterpreterRuntime::post_method_exit(JavaThread *thread))
1308   LastFrameAccessor last_frame(thread);
1309   JvmtiExport::post_method_exit(thread, last_frame.method(), last_frame.get_frame());
1310 JRT_END
1311 
1312 JRT_LEAF(int, InterpreterRuntime::interpreter_contains(address pc))
1313 {
1314   return (Interpreter::contains(Continuation::get_top_return_pc_post_barrier(JavaThread::current(), pc)) ? 1 : 0);
1315 }
1316 JRT_END
1317 
1318 
1319 // Implementation of SignatureHandlerLibrary
1320 
1321 #ifndef SHARING_FAST_NATIVE_FINGERPRINTS
1322 // Dummy definition (else normalization method is defined in CPU
1323 // dependant code)
1324 uint64_t InterpreterRuntime::normalize_fast_native_fingerprint(uint64_t fingerprint) {
1325   return fingerprint;
1326 }
1327 #endif
1328 
1329 address SignatureHandlerLibrary::set_handler_blob() {
1330   BufferBlob* handler_blob = BufferBlob::create("native signature handlers", blob_size);
1331   if (handler_blob == NULL) {
1332     return NULL;
1333   }
1334   address handler = handler_blob->code_begin();


< prev index next >