3232#include " gc/shared/barrierSetAssembler.hpp"
3333#include " gc/shared/collectedHeap.inline.hpp"
3434#include " interpreter/interpreter.hpp"
35+ #include " interpreter/interpreterRuntime.hpp"
3536#include " gc/shared/cardTableBarrierSet.hpp"
3637#include " memory/resourceArea.hpp"
3738#include " memory/universe.hpp"
@@ -2255,7 +2256,8 @@ void MacroAssembler::call_VM_base(Register oop_result,
22552256 Register last_java_sp,
22562257 address entry_point,
22572258 bool allow_relocation,
2258- bool check_exceptions) { // Defaults to true.
2259+ bool check_exceptions, // Defaults to true.
2260+ Label *last_java_pc) {
22592261 // Allow_relocation indicates, if true, that the generated code shall
22602262 // be fit for code relocation or referenced data relocation. In other
22612263 // words: all addresses must be considered variable. PC-relative addressing
@@ -2315,14 +2317,14 @@ void MacroAssembler::call_VM_base(Register oop_result,
23152317 address entry_point,
23162318 bool check_exceptions) { // Defaults to true.
23172319 bool allow_relocation = true ;
2318- call_VM_base (oop_result, last_java_sp, entry_point, allow_relocation, check_exceptions);
2320+ call_VM_base (oop_result, last_java_sp, entry_point, allow_relocation, check_exceptions, nullptr );
23192321}
23202322
23212323// VM calls without explicit last_java_sp.
23222324
2323- void MacroAssembler::call_VM (Register oop_result, address entry_point, bool check_exceptions, Label * last_java_pc) {
2325+ void MacroAssembler::call_VM (Register oop_result, address entry_point, bool check_exceptions, Label* last_java_pc) {
23242326 // Call takes possible detour via InterpreterMacroAssembler.
2325- call_VM_base (oop_result, noreg, entry_point, true , check_exceptions);
2327+ call_VM_base (oop_result, noreg, entry_point, true , check_exceptions, last_java_pc );
23262328}
23272329
23282330void MacroAssembler::call_VM (Register oop_result, address entry_point, Register arg_1, bool check_exceptions) {
@@ -2354,7 +2356,7 @@ void MacroAssembler::call_VM(Register oop_result, address entry_point, Register
23542356
23552357void MacroAssembler::call_VM_static (Register oop_result, address entry_point, bool check_exceptions) {
23562358 // Call takes possible detour via InterpreterMacroAssembler.
2357- call_VM_base (oop_result, noreg, entry_point, false , check_exceptions);
2359+ call_VM_base (oop_result, noreg, entry_point, false , check_exceptions, nullptr );
23582360}
23592361
23602362void MacroAssembler::call_VM_static (Register oop_result, address entry_point, Register arg_1, Register arg_2,
@@ -2372,7 +2374,7 @@ void MacroAssembler::call_VM_static(Register oop_result, address entry_point, Re
23722374
23732375void MacroAssembler::call_VM (Register oop_result, Register last_java_sp, address entry_point, bool check_exceptions) {
23742376 // Call takes possible detour via InterpreterMacroAssembler.
2375- call_VM_base (oop_result, last_java_sp, entry_point, true , check_exceptions);
2377+ call_VM_base (oop_result, last_java_sp, entry_point, true , check_exceptions, nullptr );
23762378}
23772379
23782380void MacroAssembler::call_VM (Register oop_result, Register last_java_sp, address entry_point, Register arg_1, bool check_exceptions) {
0 commit comments