8231720: Some perf regressions after 8225653

Fixed emitting of unused assembly code in 8225653​ which had a negative impact on performance in tight loops.

Reviewed-by: kvn, thartmann
This commit is contained in:
Christian Hagedorn 2019-10-10 10:27:12 +02:00
parent 7256d38458
commit 9751b5669a

View File

@ -824,11 +824,13 @@ static void pass_arg3(MacroAssembler* masm, Register arg) {
}
void MacroAssembler::stop(const char* msg) {
address rip = pc();
pusha(); // get regs on stack
if (ShowMessageBoxOnError) {
address rip = pc();
pusha(); // get regs on stack
lea(c_rarg1, InternalAddress(rip));
movq(c_rarg2, rsp); // pass pointer to regs array
}
lea(c_rarg0, ExternalAddress((address) msg));
lea(c_rarg1, InternalAddress(rip));
movq(c_rarg2, rsp); // pass pointer to regs array
andq(rsp, -16); // align stack as required by ABI
call(RuntimeAddress(CAST_FROM_FN_PTR(address, MacroAssembler::debug64)));
hlt();