Mercurial > hg > graal-jvmci-8
comparison src/cpu/sparc/vm/sharedRuntime_sparc.cpp @ 22298:c28cb37b2e1d
Rename JVMCI to INCLUDE_JVMCI.
author | twisti |
---|---|
date | Wed, 22 Jul 2015 08:56:03 -0700 |
parents | be896a1983c0 |
children | c2c971a9776f |
comparison
equal
deleted
inserted
replaced
22297:571202729bbf | 22298:c28cb37b2e1d |
---|---|
41 #endif | 41 #endif |
42 #ifdef SHARK | 42 #ifdef SHARK |
43 #include "compiler/compileBroker.hpp" | 43 #include "compiler/compileBroker.hpp" |
44 #include "shark/sharkCompiler.hpp" | 44 #include "shark/sharkCompiler.hpp" |
45 #endif | 45 #endif |
46 #ifdef JVMCI | 46 #if INCLUDE_JVMCI |
47 #include "jvmci/jvmciJavaAccess.hpp" | 47 #include "jvmci/jvmciJavaAccess.hpp" |
48 #endif | 48 #endif |
49 | 49 |
50 #define __ masm-> | 50 #define __ masm-> |
51 | 51 |
993 } | 993 } |
994 } | 994 } |
995 | 995 |
996 // Jump to the compiled code just as if compiled code was doing it. | 996 // Jump to the compiled code just as if compiled code was doing it. |
997 __ ld_ptr(G5_method, in_bytes(Method::from_compiled_offset()), G3); | 997 __ ld_ptr(G5_method, in_bytes(Method::from_compiled_offset()), G3); |
998 #ifdef JVMCI | 998 #if INCLUDE_JVMCI |
999 // check if this call should be routed towards a specific entry point | 999 // check if this call should be routed towards a specific entry point |
1000 __ ld(Address(G2_thread, in_bytes(JavaThread::jvmci_alternate_call_target_offset())), G1); | 1000 __ ld(Address(G2_thread, in_bytes(JavaThread::jvmci_alternate_call_target_offset())), G1); |
1001 __ cmp(G0, G1); | 1001 __ cmp(G0, G1); |
1002 Label no_alternative_target; | 1002 Label no_alternative_target; |
1003 __ br(Assembler::equal, false, Assembler::pn, no_alternative_target); | 1003 __ br(Assembler::equal, false, Assembler::pn, no_alternative_target); |
3471 #ifdef ASSERT | 3471 #ifdef ASSERT |
3472 if (UseStackBanging) { | 3472 if (UseStackBanging) { |
3473 pad += StackShadowPages*16 + 32; | 3473 pad += StackShadowPages*16 + 32; |
3474 } | 3474 } |
3475 #endif | 3475 #endif |
3476 #ifdef JVMCI | 3476 #if INCLUDE_JVMCI |
3477 pad += 1000; // Increase the buffer size when compiling for JVMCI | 3477 pad += 1000; // Increase the buffer size when compiling for JVMCI |
3478 #endif | 3478 #endif |
3479 #ifdef _LP64 | 3479 #ifdef _LP64 |
3480 CodeBuffer buffer("deopt_blob", 2100+pad+1000, 512); | 3480 CodeBuffer buffer("deopt_blob", 2100+pad+1000, 512); |
3481 #else | 3481 #else |
3541 map = RegisterSaver::save_live_registers(masm, 0, &frame_size_words); | 3541 map = RegisterSaver::save_live_registers(masm, 0, &frame_size_words); |
3542 __ ba(cont); | 3542 __ ba(cont); |
3543 __ delayed()->mov(Deoptimization::Unpack_deopt, L0deopt_mode); | 3543 __ delayed()->mov(Deoptimization::Unpack_deopt, L0deopt_mode); |
3544 | 3544 |
3545 | 3545 |
3546 #ifdef JVMCI | 3546 #if INCLUDE_JVMCI |
3547 masm->block_comment("BEGIN JVMCI"); | 3547 masm->block_comment("BEGIN JVMCI"); |
3548 int implicit_exception_uncommon_trap_offset = __ offset() - start; | 3548 int implicit_exception_uncommon_trap_offset = __ offset() - start; |
3549 __ ld_ptr(G2_thread, in_bytes(JavaThread::jvmci_implicit_exception_pc_offset()), O7); | 3549 __ ld_ptr(G2_thread, in_bytes(JavaThread::jvmci_implicit_exception_pc_offset()), O7); |
3550 __ add(O7, -8, O7); | 3550 __ add(O7, -8, O7); |
3551 | 3551 |
3574 | 3574 |
3575 Label after_fetch_unroll_info_call; | 3575 Label after_fetch_unroll_info_call; |
3576 __ ba(after_fetch_unroll_info_call); | 3576 __ ba(after_fetch_unroll_info_call); |
3577 __ delayed()->nop(); // Delay slot | 3577 __ delayed()->nop(); // Delay slot |
3578 masm->block_comment("END JVMCI"); | 3578 masm->block_comment("END JVMCI"); |
3579 #endif // JVMCI | 3579 #endif // INCLUDE_JVMCI |
3580 | 3580 |
3581 int exception_offset = __ offset() - start; | 3581 int exception_offset = __ offset() - start; |
3582 | 3582 |
3583 // restore G2, the trampoline destroyed it | 3583 // restore G2, the trampoline destroyed it |
3584 __ get_thread(); | 3584 __ get_thread(); |
3657 | 3657 |
3658 __ mov(L7_thread_cache, G2_thread); | 3658 __ mov(L7_thread_cache, G2_thread); |
3659 | 3659 |
3660 __ reset_last_Java_frame(); | 3660 __ reset_last_Java_frame(); |
3661 | 3661 |
3662 #ifdef JVMCI | 3662 #if INCLUDE_JVMCI |
3663 __ bind(after_fetch_unroll_info_call); | 3663 __ bind(after_fetch_unroll_info_call); |
3664 #endif | 3664 #endif |
3665 // NOTE: we know that only O0/O1 will be reloaded by restore_result_registers | 3665 // NOTE: we know that only O0/O1 will be reloaded by restore_result_registers |
3666 // so this move will survive | 3666 // so this move will survive |
3667 | 3667 |
3725 __ delayed()->restore(); | 3725 __ delayed()->restore(); |
3726 | 3726 |
3727 masm->flush(); | 3727 masm->flush(); |
3728 _deopt_blob = DeoptimizationBlob::create(&buffer, oop_maps, 0, exception_offset, reexecute_offset, frame_size_words); | 3728 _deopt_blob = DeoptimizationBlob::create(&buffer, oop_maps, 0, exception_offset, reexecute_offset, frame_size_words); |
3729 _deopt_blob->set_unpack_with_exception_in_tls_offset(exception_in_tls_offset); | 3729 _deopt_blob->set_unpack_with_exception_in_tls_offset(exception_in_tls_offset); |
3730 #ifdef JVMCI | 3730 #if INCLUDE_JVMCI |
3731 _deopt_blob->set_uncommon_trap_offset(uncommon_trap_offset); | 3731 _deopt_blob->set_uncommon_trap_offset(uncommon_trap_offset); |
3732 _deopt_blob->set_implicit_exception_uncommon_trap_offset(implicit_exception_uncommon_trap_offset); | 3732 _deopt_blob->set_implicit_exception_uncommon_trap_offset(implicit_exception_uncommon_trap_offset); |
3733 #endif | 3733 #endif |
3734 } | 3734 } |
3735 | 3735 |