# HG changeset patch # User apangin # Date 1265914090 28800 # Node ID 95d21201c29ac4943b77287cd335294221304e97 # Parent 230fac611b502152593b00ef2e142c9c87957368# Parent 455df1b814098a2f640d66fcf60a6e0b0d899187 Merge diff -r 230fac611b50 -r 95d21201c29a src/cpu/x86/vm/templateTable_x86_64.cpp --- a/src/cpu/x86/vm/templateTable_x86_64.cpp Mon Feb 08 09:58:32 2010 -0800 +++ b/src/cpu/x86/vm/templateTable_x86_64.cpp Thu Feb 11 10:48:10 2010 -0800 @@ -3238,17 +3238,19 @@ __ xorl(rcx, rcx); // use zero reg to clear memory (shorter code) __ store_klass_gap(rax, rcx); // zero klass gap for compressed oops __ store_klass(rax, rsi); // store klass last + + { + SkipIfEqual skip(_masm, &DTraceAllocProbes, false); + // Trigger dtrace event for fastpath + __ push(atos); // save the return value + __ call_VM_leaf( + CAST_FROM_FN_PTR(address, SharedRuntime::dtrace_object_alloc), rax); + __ pop(atos); // restore the return value + + } __ jmp(done); } - { - SkipIfEqual skip(_masm, &DTraceAllocProbes, false); - // Trigger dtrace event for fastpath - __ push(atos); // save the return value - __ call_VM_leaf( - CAST_FROM_FN_PTR(address, SharedRuntime::dtrace_object_alloc), rax); - __ pop(atos); // restore the return value - } // slow case __ bind(slow_case);