Mercurial > hg > graal-jvmci-8
comparison src/cpu/sparc/vm/sharedRuntime_sparc.cpp @ 22500:148664eacffa
Remove additional pad in deopt_blob when building with JVMCI; fix comment blocks in implicit_exception_uncommon_trap
author | Stefan Anzinger <stefan.anzinger@oracle.com> |
---|---|
date | Mon, 31 Aug 2015 17:37:55 +0200 |
parents | a69a8d96ee6e |
children | 4594b98717a0 |
comparison
equal
deleted
inserted
replaced
22471:a69a8d96ee6e | 22500:148664eacffa |
---|---|
3466 #ifdef ASSERT | 3466 #ifdef ASSERT |
3467 if (UseStackBanging) { | 3467 if (UseStackBanging) { |
3468 pad += StackShadowPages*16 + 32; | 3468 pad += StackShadowPages*16 + 32; |
3469 } | 3469 } |
3470 #endif | 3470 #endif |
3471 #if INCLUDE_JVMCI | |
3472 pad += 1000; // Increase the buffer size when compiling for JVMCI | |
3473 #endif | |
3474 #ifdef _LP64 | 3471 #ifdef _LP64 |
3475 CodeBuffer buffer("deopt_blob", 2100+pad+1000, 512); | 3472 CodeBuffer buffer("deopt_blob", 2100+pad, 512); |
3476 #else | 3473 #else |
3477 // Measured 8/7/03 at 1212 in 32bit debug build (no VerifyThread) | 3474 // Measured 8/7/03 at 1212 in 32bit debug build (no VerifyThread) |
3478 // Measured 8/7/03 at 1396 in 32bit debug build (VerifyThread) | 3475 // Measured 8/7/03 at 1396 in 32bit debug build (VerifyThread) |
3479 CodeBuffer buffer("deopt_blob", 1600+pad, 512); | 3476 CodeBuffer buffer("deopt_blob", 1600+pad, 512); |
3480 #endif /* _LP64 */ | 3477 #endif /* _LP64 */ |
3537 __ ba(cont); | 3534 __ ba(cont); |
3538 __ delayed()->mov(Deoptimization::Unpack_deopt, L0deopt_mode); | 3535 __ delayed()->mov(Deoptimization::Unpack_deopt, L0deopt_mode); |
3539 | 3536 |
3540 | 3537 |
3541 #if INCLUDE_JVMCI | 3538 #if INCLUDE_JVMCI |
3542 masm->block_comment("BEGIN JVMCI"); | 3539 masm->block_comment("BEGIN implicit_exception_uncommon_trap"); |
3543 int implicit_exception_uncommon_trap_offset = __ offset() - start; | 3540 int implicit_exception_uncommon_trap_offset = __ offset() - start; |
3544 __ ld_ptr(G2_thread, in_bytes(JavaThread::jvmci_implicit_exception_pc_offset()), O7); | 3541 __ ld_ptr(G2_thread, in_bytes(JavaThread::jvmci_implicit_exception_pc_offset()), O7); |
3545 __ st(G0, Address(G2_thread, in_bytes(JavaThread::jvmci_implicit_exception_pc_offset()))); | 3542 __ st(G0, Address(G2_thread, in_bytes(JavaThread::jvmci_implicit_exception_pc_offset()))); |
3546 __ add(O7, -8, O7); | 3543 __ add(O7, -8, O7); |
3547 | 3544 |
3548 int uncommon_trap_offset = __ offset() - start; | 3545 int uncommon_trap_offset = __ offset() - start; |
3549 | 3546 |
3550 // Save everything in sight. | 3547 // Save everything in sight. |
3551 masm->block_comment("save_live_regs"); | |
3552 (void) RegisterSaver::save_live_registers(masm, 0, &frame_size_words); | 3548 (void) RegisterSaver::save_live_registers(masm, 0, &frame_size_words); |
3553 masm->block_comment("/save_live_regs"); | |
3554 masm->block_comment("set_last_java_frame"); | |
3555 __ set_last_Java_frame(SP, NULL); | 3549 __ set_last_Java_frame(SP, NULL); |
3556 masm->block_comment("/set_last_java_frame"); | |
3557 | 3550 |
3558 __ ld(G2_thread, in_bytes(JavaThread::pending_deoptimization_offset()), O1); | 3551 __ ld(G2_thread, in_bytes(JavaThread::pending_deoptimization_offset()), O1); |
3559 __ sub(G0, 1, L1); | 3552 __ sub(G0, 1, L1); |
3560 __ st(L1, G2_thread, in_bytes(JavaThread::pending_deoptimization_offset())); | 3553 __ st(L1, G2_thread, in_bytes(JavaThread::pending_deoptimization_offset())); |
3561 | 3554 |
3569 __ reset_last_Java_frame(); | 3562 __ reset_last_Java_frame(); |
3570 | 3563 |
3571 Label after_fetch_unroll_info_call; | 3564 Label after_fetch_unroll_info_call; |
3572 __ ba(after_fetch_unroll_info_call); | 3565 __ ba(after_fetch_unroll_info_call); |
3573 __ delayed()->nop(); // Delay slot | 3566 __ delayed()->nop(); // Delay slot |
3574 masm->block_comment("END JVMCI"); | 3567 masm->block_comment("END implicit_exception_uncommon_trap"); |
3575 #endif // INCLUDE_JVMCI | 3568 #endif // INCLUDE_JVMCI |
3576 | 3569 |
3577 int exception_offset = __ offset() - start; | 3570 int exception_offset = __ offset() - start; |
3578 | 3571 |
3579 // restore G2, the trampoline destroyed it | 3572 // restore G2, the trampoline destroyed it |