RFR(XS): Provide information when hitting a HaltNode for architectures other than x86

Liu, Xin xxinliu at amazon.com
Tue May 26 22:57:34 UTC 2020


Hi, 

I make a new revision of JDK-8230552. May I ask the arm reviewers to take a look? 
http://cr.openjdk.java.net/~xliu/8230552/01/webrev/

I haven't made aarch64 stop() uses the trap mechanism because it deserves a standalone JBS.  Another thing is I don't understand what's the benefit to use the signal handler for that. 
 
I do manage to reduce stop() code size per Ningsheng's request.  It avoids from generating pusha if ShowMessageBoxOnError is off (default). It still acts as expect no matter ShowMessageBoxOnError is set or not.  Since we now have got rid of the HaltNode right after Uncommon_trap callnode in release build, I don't think code bloat is an issue anymore. 

Thanks,
--lx
 


On 5/6/20, 1:19 AM, "aph at redhat.com" <aph at redhat.com> wrote:

    CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe.



    On 5/6/20 8:25 AM, Liu, Xin wrote:
    >     Currently in AArch64 MacroAssembler::stop(), it will generate many
    >     register saving instructions by pusha() before calling to debug64(). But
    >     I think debug64() only uses the regs[] and pc arguments when
    >     ShowMessageBoxOnError is on. Maybe we should at least only do the saving
    >     and pc arg passing when ShowMessageBoxOnError is on in
    >     MacroAssembler::stop(), as what x86 does in macroAssembler_x86.cpp?

    Maybe we should think about a better way to do it. All we have
    to do, after all, is put the reason into, say, r8, and execute
    a trap. We don't need to push and pop anything because the trap
    handler will do that.

    --
    Andrew Haley  (he/him)
    Java Platform Lead Engineer
    Red Hat UK Ltd. <https://www.redhat.com>
    https://keybase.io/andrewhaley
    EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671




More information about the hotspot-compiler-dev mailing list