1
1
/*
2
- * Copyright (c) 2016, 2022 , Oracle and/or its affiliates. All rights reserved.
2
+ * Copyright (c) 2016, 2023 , Oracle and/or its affiliates. All rights reserved.
3
3
* Copyright (c) 2016, 2019 SAP SE. All rights reserved.
4
4
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5
5
*
@@ -2621,7 +2621,6 @@ void SharedRuntime::generate_deopt_blob() {
2621
2621
2622
2622
// stack: ("unpack" frame, deoptee, caller_of_deoptee, ...).
2623
2623
2624
- {
2625
2624
const Register unroll_block_reg = Z_tmp_2;
2626
2625
2627
2626
// we need to set `last_Java_frame' because `fetch_unroll_info' will
@@ -2636,8 +2635,8 @@ void SharedRuntime::generate_deopt_blob() {
2636
2635
// despite it's marked as "leaf call"!
2637
2636
__ call_VM_leaf (CAST_FROM_FN_PTR (address, Deoptimization::fetch_unroll_info), Z_thread, exec_mode_reg);
2638
2637
// Set an oopmap for the call site this describes all our saved volatile registers
2639
- int offs = __ offset ();
2640
- oop_maps->add_gc_map (offs , map);
2638
+ int oop_map_offs = __ offset ();
2639
+ oop_maps->add_gc_map (oop_map_offs , map);
2641
2640
2642
2641
__ reset_last_Java_frame ();
2643
2642
// save the return value.
@@ -2679,7 +2678,6 @@ void SharedRuntime::generate_deopt_blob() {
2679
2678
2680
2679
// stack: (skeletal interpreter frame, ..., optional skeletal
2681
2680
// interpreter frame, caller of deoptee, ...).
2682
- }
2683
2681
2684
2682
// push an "unpack" frame taking care of float / int return values.
2685
2683
__ push_frame (RegisterSaver::live_reg_frame_size (RegisterSaver::all_registers));
@@ -2692,7 +2690,7 @@ void SharedRuntime::generate_deopt_blob() {
2692
2690
__ z_std (Z_FRET, offset_of (frame::z_abi_160_spill, spill[1 ]), Z_SP);
2693
2691
2694
2692
// let the unpacker layout information in the skeletal frames just allocated.
2695
- __ get_PC (Z_RET);
2693
+ __ get_PC (Z_RET, oop_map_offs - __ offset () );
2696
2694
__ set_last_Java_frame (/* sp*/ Z_SP, /* pc*/ Z_RET);
2697
2695
__ call_VM_leaf (CAST_FROM_FN_PTR (address, Deoptimization::unpack_frames),
2698
2696
Z_thread/* thread*/ , exec_mode_reg/* exec_mode*/ );
0 commit comments