• Jakob Gruber's avatar
    [regexp] Allow heap allocation on stack overflows · 0793bb84
    Jakob Gruber authored
    The regexp interpreter holds several unhandlified references to heap
    objects, and is thus within a DisallowHeapAllocation scope. But there
    are two situations in which we can and do allocate safely:
    
    1. When creating & throwing a stack overflow exception. The interpreter
       aborts afterwards, and thus possible-moved objects are never used.
    2. When handling interrupts. We manually relocate unhandlified references
       after interrupts have run.
    
    This CL explicitly allows allocations on stack overflows.
    
    Isolate::StackOverflow allocates heap objects.
    
    Bug: chromium:940722, v8:8724
    Change-Id: I74ef6f0dd7a30bd55f49a7bc0f2f6ac82adbeda8
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1518174Reviewed-by: 's avatarPeter Marshall <petermarshall@chromium.org>
    Commit-Queue: Jakob Gruber <jgruber@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#60191}
    0793bb84
Name
Last commit
Last update
..
arm Loading commit data...
arm64 Loading commit data...
ia32 Loading commit data...
mips Loading commit data...
mips64 Loading commit data...
ppc Loading commit data...
s390 Loading commit data...
x64 Loading commit data...
OWNERS Loading commit data...
bytecodes-irregexp.h Loading commit data...
interpreter-irregexp.cc Loading commit data...
interpreter-irregexp.h Loading commit data...
jsregexp-inl.h Loading commit data...
jsregexp.cc Loading commit data...
jsregexp.h Loading commit data...
property-sequences.cc Loading commit data...
property-sequences.h Loading commit data...
regexp-ast.cc Loading commit data...
regexp-ast.h Loading commit data...
regexp-macro-assembler-irregexp-inl.h Loading commit data...
regexp-macro-assembler-irregexp.cc Loading commit data...
regexp-macro-assembler-irregexp.h Loading commit data...
regexp-macro-assembler-tracer.cc Loading commit data...
regexp-macro-assembler-tracer.h Loading commit data...
regexp-macro-assembler.cc Loading commit data...
regexp-macro-assembler.h Loading commit data...
regexp-parser.cc Loading commit data...
regexp-parser.h Loading commit data...
regexp-stack.cc Loading commit data...
regexp-stack.h Loading commit data...
regexp-utils.cc Loading commit data...
regexp-utils.h Loading commit data...