• Milad Fa's avatar
    PPC/s390: Fix frame size to account for q registers · f8360140
    Milad Fa authored
    Port 45b99aaa
    
    Original Commit Message:
    
        In https://crrev.com/c/2645694 we push the full q registers before lazy
        compile, but we did not change the fixed frame size to account for the
        wider registers being pushed.
    
        This manifested in the frame having data like:
    
        (gdb) x/10xg start.ptr_
        0x7f5576ff3eb0: 0x0000000000000000      0x0000336b08202759
        0x7f5576ff3ec0: 0x7ff000007f801000      0x0000000000000000
        0x7f5576ff3ed0: 0x7ff000007f801001      0x0000000000000000
        0x7f5576ff3ee0: 0x7ff000007f801002      0x0000000000000000
        0x7f5576ff3ef0: 0x7ff000007f801003      0x0000000000000000
    
        The GC then walks part of this frame, thinking that 0x7ff000007f801003
        is a heap object, and then crashes.
    
        Add some static_asserts (similar to builtins-x64) to remind ourselves
        that the pushed registers have to match the size in frame constants.
    
    R=zhin@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com
    BUG=
    LOG=N
    
    Change-Id: I994f1b7fecbb24ea97d846b1eed98201bc3b08ad
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2669308Reviewed-by: 's avatarJunliang Yan <junyan@redhat.com>
    Commit-Queue: Milad Fa <mfarazma@redhat.com>
    Cr-Commit-Position: refs/heads/master@{#72496}
    f8360140
builtins-ppc.cc 127 KB