8146891: AArch64 needs patch for 8032463
authoraph
Tue, 12 Jan 2016 15:01:52 +0000
changeset 35560 b3fa0a291684
parent 35541 cba047a086d5
child 35561 43eaa2fed344
8146891: AArch64 needs patch for 8032463 Reviewed-by: kvn
hotspot/src/cpu/aarch64/vm/c1_CodeStubs_aarch64.cpp
hotspot/src/cpu/aarch64/vm/c1_Runtime1_aarch64.cpp
--- a/hotspot/src/cpu/aarch64/vm/c1_CodeStubs_aarch64.cpp	Fri Jan 08 10:14:02 2016 +0100
+++ b/hotspot/src/cpu/aarch64/vm/c1_CodeStubs_aarch64.cpp	Tue Jan 12 15:01:52 2016 +0000
@@ -256,6 +256,7 @@
 
 void DeoptimizeStub::emit_code(LIR_Assembler* ce) {
   __ bind(_entry);
+  ce->store_parameter(_trap_request, 0);
   __ far_call(RuntimeAddress(Runtime1::entry_for(Runtime1::deoptimize_id)));
   ce->add_call_info_here(_info);
   DEBUG_ONLY(__ should_not_reach_here());
--- a/hotspot/src/cpu/aarch64/vm/c1_Runtime1_aarch64.cpp	Fri Jan 08 10:14:02 2016 +0100
+++ b/hotspot/src/cpu/aarch64/vm/c1_Runtime1_aarch64.cpp	Tue Jan 12 15:01:52 2016 +0000
@@ -1066,7 +1066,9 @@
       {
         StubFrame f(sasm, "deoptimize", dont_gc_arguments);
         OopMap* oop_map = save_live_registers(sasm);
-        int call_offset = __ call_RT(noreg, noreg, CAST_FROM_FN_PTR(address, deoptimize));
+        f.load_argument(0, c_rarg1);
+        int call_offset = __ call_RT(noreg, noreg, CAST_FROM_FN_PTR(address, deoptimize), c_rarg1);
+
         oop_maps = new OopMapSet();
         oop_maps->add_gc_map(call_offset, oop_map);
         restore_live_registers(sasm);