Mercurial > hg > graal-compiler
comparison src/cpu/x86/vm/c1_LIRAssembler_x86.cpp @ 1830:a3f7f95b0165
6988018: dtrace/hotspot/MethodInvocation/MethodInvocation002 crashes with client compiler
Reviewed-by: iveresov, kvn, kamg
author | never |
---|---|
date | Tue, 05 Oct 2010 11:16:12 -0700 |
parents | 3a294e483abc |
children | 22e4420d19f7 |
comparison
equal
deleted
inserted
replaced
1829:fe08403130db | 1830:a3f7f95b0165 |
---|---|
486 __ unlock_object(rdi, rbx, rax, *stub->entry()); | 486 __ unlock_object(rdi, rbx, rax, *stub->entry()); |
487 __ bind(*stub->continuation()); | 487 __ bind(*stub->continuation()); |
488 } | 488 } |
489 | 489 |
490 if (compilation()->env()->dtrace_method_probes()) { | 490 if (compilation()->env()->dtrace_method_probes()) { |
491 __ movoop(Address(rsp, 0), method()->constant_encoding()); | 491 __ get_thread(rax); |
492 __ movptr(Address(rsp, 0), rax); | |
493 __ movoop(Address(rsp, sizeof(void*)), method()->constant_encoding()); | |
492 __ call(RuntimeAddress(CAST_FROM_FN_PTR(address, SharedRuntime::dtrace_method_exit))); | 494 __ call(RuntimeAddress(CAST_FROM_FN_PTR(address, SharedRuntime::dtrace_method_exit))); |
493 } | 495 } |
494 | 496 |
495 if (method()->is_synchronized() || compilation()->env()->dtrace_method_probes()) { | 497 if (method()->is_synchronized() || compilation()->env()->dtrace_method_probes()) { |
496 __ mov(rax, rsi); // Restore the exception | 498 __ mov(rax, rsi); // Restore the exception |