• Milad Fa's avatar
    PPC/s390: [regexp] Fix stack growth for global regexps · 9227a8da
    Milad Fa authored
    Port 3e3a027d
    
    Original Commit Message:
    
        Irregexp reentrancy (crrev.com/c/3162604) introduced a bug for global
        regexp execution in which each iteration would use a new stack region
        (i.e. we forgot to pop the regexp stack pointer when starting a new
        iteration).
    
        This CL fixes that by popping the stack pointer on the loop backedge.
    
        At a high level:
    
        - Initialize the backtrack_stackpointer earlier and avoid clobbering
          it by setup code.
        - Pop it on the loop backedge.
        - Slightly refactor Push/Pop operations to avoid unneeded memory
          accesses.
    
    R=jgruber@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com
    BUG=
    LOG=N
    
    Change-Id: Iafe6814d3695e83fced6a46209accf5e712d56f6
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3198391Reviewed-by: 's avatarJunliang Yan <junyan@redhat.com>
    Commit-Queue: Milad Fa <mfarazma@redhat.com>
    Cr-Commit-Position: refs/heads/main@{#77180}
    9227a8da
regexp-macro-assembler-ppc.cc 50 KB