Skip to content

Commit 407792d

Browse files
committed
WIP
1 parent 8004d88 commit 407792d

File tree

4 files changed

+16
-11
lines changed

4 files changed

+16
-11
lines changed

src/hotspot/cpu/s390/interp_masm_s390.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -216,20 +216,20 @@ void InterpreterMacroAssembler::call_VM_base(Register oop_result, Register last_
216216
save_esp();
217217
// super call
218218
MacroAssembler::call_VM_base(oop_result, last_java_sp,
219-
entry_point, allow_relocation, check_exceptions);
219+
entry_point, allow_relocation, check_exceptions, nullptr);
220220
restore_bcp();
221221
}
222222

223223
void InterpreterMacroAssembler::call_VM_base(Register oop_result, Register last_java_sp,
224224
address entry_point, bool allow_relocation,
225-
bool check_exceptions) {
225+
bool check_exceptions, Label* last_java_pc) {
226226
// interpreter specific
227227

228228
save_bcp();
229229
save_esp();
230230
// super call
231231
MacroAssembler::call_VM_base(oop_result, last_java_sp,
232-
entry_point, allow_relocation, check_exceptions);
232+
entry_point, allow_relocation, check_exceptions, last_java_pc);
233233
restore_bcp();
234234
}
235235

src/hotspot/cpu/s390/interp_masm_s390.hpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,8 @@ class InterpreterMacroAssembler: public MacroAssembler {
4646
Register last_java_sp,
4747
address entry_point,
4848
bool allow_relocation,
49-
bool check_exceptions);
49+
bool check_exceptions,
50+
Label *last_java_pc);
5051

5152
void call_VM_preemptable(Register oop_result, address entry_point, Register arg_1, bool check_exceptions = true);
5253

src/hotspot/cpu/s390/macroAssembler_s390.cpp

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
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

23282330
void 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

23552357
void 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

23602362
void 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

23732375
void 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

23782380
void MacroAssembler::call_VM(Register oop_result, Register last_java_sp, address entry_point, Register arg_1, bool check_exceptions) {

src/hotspot/cpu/s390/macroAssembler_s390.hpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -516,12 +516,14 @@ class MacroAssembler: public Assembler {
516516
Register last_java_sp, // To set up last_Java_frame in stubs; use noreg otherwise.
517517
address entry_point, // The entry point.
518518
bool check_exception); // Flag which indicates if exception should be checked.
519+
519520
virtual void call_VM_base(
520521
Register oop_result, // Where an oop-result ends up if any; use noreg otherwise.
521522
Register last_java_sp, // To set up last_Java_frame in stubs; use noreg otherwise.
522523
address entry_point, // The entry point.
523524
bool allow_relocation, // Flag to request generation of relocatable code.
524-
bool check_exception); // Flag which indicates if exception should be checked.
525+
bool check_exception, // Flag which indicates if exception should be checked.
526+
Label *last_java_pc);
525527

526528
// Call into the VM.
527529
// Passes the thread pointer (in Z_ARG1) as a prepended argument.

0 commit comments

Comments
 (0)