ART: Reserve more overflow space for the interpreter
In debuggable builds, especially under ASAN, the switch interpreter
with access-checks has a huge stack frame. Virtually increase the
protected stack space at the end for overflow handling. This is
necessary so that interpreter calls will create a StackOverflow
before it is too late.
Technically only ASAN pushes the stack over the established limit,
but there is no practical downside to adding a small amount to the
overflow (note that the reserved size is small for non-ASAN builds),
and this avoids the proliferation of memory_tool.h.
Non-debug builds are approximately protected by frame-size compiler
checks. Compiled code does not need additional space, as the actual
overflow handling fits into the carved-out space.
Bug: 109813469
Test: SANITIZE_HOST=address art/test/testrunner/testrunner.py -b --host --interp-ac -t 004-SignalTest
Change-Id: I1bdd2fc586a6da30720a8be62f3247180ce48e93
1 file changed