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
|