# HG changeset patch # User Doug Simon # Date 1339667784 -7200 # Node ID fcb8d2b8dc425de8f04331a8e3273dad3dd8e347 # Parent d64507a295cc03d7b6e2bee60c0f54940492f5b8 fixed bug in stubs for RuntimeCall.LogObject and RuntimeCall.LogPrimitive: was missing frame management code around runtime call diff -r d64507a295cc -r fcb8d2b8dc42 src/cpu/x86/vm/c1_Runtime1_x86.cpp --- a/src/cpu/x86/vm/c1_Runtime1_x86.cpp Wed Jun 13 19:11:20 2012 +0200 +++ b/src/cpu/x86/vm/c1_Runtime1_x86.cpp Thu Jun 14 11:56:24 2012 +0200 @@ -1887,7 +1887,11 @@ case graal_log_primitive_id: { __ enter(); - __ call_RT(noreg, noreg, (address)graal_log_primitive, j_rarg0, j_rarg1, j_rarg2); + oop_maps = new OopMapSet(); + OopMap* oop_map = save_live_registers(sasm, 0); + int call_offset = __ call_RT(noreg, noreg, (address)graal_log_primitive, j_rarg0, j_rarg1, j_rarg2); + oop_maps->add_gc_map(call_offset, oop_map); + restore_live_registers(sasm); __ leave(); __ ret(0); break; @@ -1895,7 +1899,11 @@ case graal_log_object_id: { __ enter(); - __ call_RT(noreg, noreg, (address)graal_log_object, j_rarg0, j_rarg1, j_rarg2); + oop_maps = new OopMapSet(); + OopMap* oop_map = save_live_registers(sasm, 0); + int call_offset = __ call_RT(noreg, noreg, (address)graal_log_object, j_rarg0, j_rarg1, j_rarg2); + oop_maps->add_gc_map(call_offset, oop_map); + restore_live_registers(sasm); __ leave(); __ ret(0); break;