--- a/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp Fri Jul 26 10:52:47 2019 +0200
+++ b/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp Mon Jul 29 11:14:06 2019 +0200
@@ -972,17 +972,6 @@
return RegisterOrConstant(tmp);
}
-
-void MacroAssembler:: notify(int type) {
- if (type == bytecode_start) {
- // set_last_Java_frame(esp, rfp, (address)NULL);
- Assembler:: notify(type);
- // reset_last_Java_frame(true);
- }
- else
- Assembler:: notify(type);
-}
-
// Look up the method for a megamorphic invokeinterface call.
// The target method is determined by <intf_klass, itable_index>.
// The receiver klass is in recv_klass.
@@ -1425,22 +1414,12 @@
void MacroAssembler::call_VM_leaf_base(address entry_point,
int number_of_arguments,
Label *retaddr) {
- call_VM_leaf_base1(entry_point, number_of_arguments, 0, ret_type_integral, retaddr);
-}
-
-void MacroAssembler::call_VM_leaf_base1(address entry_point,
- int number_of_gp_arguments,
- int number_of_fp_arguments,
- ret_type type,
- Label *retaddr) {
Label E, L;
stp(rscratch1, rmethod, Address(pre(sp, -2 * wordSize)));
- // We add 1 to number_of_arguments because the thread in arg0 is
- // not counted
mov(rscratch1, entry_point);
- blrt(rscratch1, number_of_gp_arguments + 1, number_of_fp_arguments, type);
+ blr(rscratch1);
if (retaddr)
bind(*retaddr);
@@ -2198,8 +2177,7 @@
mov(c_rarg1, (address)ip);
mov(c_rarg2, sp);
mov(c_rarg3, CAST_FROM_FN_PTR(address, MacroAssembler::debug64));
- // call(c_rarg3);
- blrt(c_rarg3, 3, 0, 1);
+ blr(c_rarg3);
hlt(0);
}
@@ -2207,7 +2185,7 @@
pusha();
mov(c_rarg0, (address)msg);
mov(lr, CAST_FROM_FN_PTR(address, warning));
- blrt(lr, 1, 0, MacroAssembler::ret_type_void);
+ blr(lr);
popa();
}
@@ -2588,50 +2566,6 @@
}
}
-#ifdef BUILTIN_SIM
-// routine to generate an x86 prolog for a stub function which
-// bootstraps into the generated ARM code which directly follows the
-// stub
-//
-// the argument encodes the number of general and fp registers
-// passed by the caller and the callng convention (currently just
-// the number of general registers and assumes C argument passing)
-
-extern "C" {
-int aarch64_stub_prolog_size();
-void aarch64_stub_prolog();
-void aarch64_prolog();
-}
-
-void MacroAssembler::c_stub_prolog(int gp_arg_count, int fp_arg_count, int ret_type,
- address *prolog_ptr)
-{
- int calltype = (((ret_type & 0x3) << 8) |
- ((fp_arg_count & 0xf) << 4) |
- (gp_arg_count & 0xf));
-
- // the addresses for the x86 to ARM entry code we need to use
- address start = pc();
- // printf("start = %lx\n", start);
- int byteCount = aarch64_stub_prolog_size();
- // printf("byteCount = %x\n", byteCount);
- int instructionCount = (byteCount + 3)/ 4;
- // printf("instructionCount = %x\n", instructionCount);
- for (int i = 0; i < instructionCount; i++) {
- nop();
- }
-
- memcpy(start, (void*)aarch64_stub_prolog, byteCount);
-
- // write the address of the setup routine and the call format at the
- // end of into the copied code
- u_int64_t *patch_end = (u_int64_t *)(start + byteCount);
- if (prolog_ptr)
- patch_end[-2] = (u_int64_t)prolog_ptr;
- patch_end[-1] = calltype;
-}
-#endif
-
void MacroAssembler::push_call_clobbered_registers() {
int step = 4 * wordSize;
push(RegSet::range(r0, r18) - RegSet::of(rscratch1, rscratch2), sp);
@@ -5678,7 +5612,6 @@
mov(result, len); // Save initial len
-#ifndef BUILTIN_SIM
cmp(len, (u1)8); // handle shortest strings first
br(LT, LOOP_1);
cmp(len, (u1)32);
@@ -5754,7 +5687,7 @@
br(GE, NEXT_8);
BIND(LOOP_1);
-#endif
+
cbz(len, DONE);
BIND(NEXT_1);
ldrh(tmp1, Address(post(src, 2)));
@@ -5893,7 +5826,7 @@
push(saved_regs, sp);
mov(lr, CAST_FROM_FN_PTR(address, JavaThread::aarch64_get_thread_helper));
- blrt(lr, 1, 0, 1);
+ blr(lr);
if (dst != c_rarg0) {
mov(dst, c_rarg0);
}