diff --git a/runtime/vm/interpreter.cc b/runtime/vm/interpreter.cc index 5839b928e2a..e5dae841b3d 100644 --- a/runtime/vm/interpreter.cc +++ b/runtime/vm/interpreter.cc @@ -1828,7 +1828,8 @@ SwitchDispatch: // Check the interpreter's own stack limit for actual interpreter's stack // overflows, and also the thread's stack limit for scheduled interrupts. if (reinterpret_cast(SP) >= overflow_stack_limit() || - thread->HasScheduledInterrupts()) { + thread->HasScheduledInterrupts() || + !thread->os_thread()->HasStackHeadroom()) { Exit(thread, FP, SP + 1, pc); INVOKE_RUNTIME(DRT_InterruptOrStackOverflow, NativeArguments(thread, 0, nullptr, nullptr)); diff --git a/tests/corelib/corelib.status b/tests/corelib/corelib.status index e873b58ee20..06012bc2ad6 100644 --- a/tests/corelib/corelib.status +++ b/tests/corelib/corelib.status @@ -15,7 +15,6 @@ type_tostring_test: SkipByDesign # Expects names in Type.toString() [ $compiler == dart2bytecode ] core_runtime_types_test: SkipByDesign # Contains dynamic calls. -error_stack_trace2_test: Crash [ $compiler == dartkp ] bigint_parse_radix_test: Slow, Pass # --no_intrinsify diff --git a/tests/language/language.status b/tests/language/language.status index a8272789adb..3bd6efc417e 100644 --- a/tests/language/language.status +++ b/tests/language/language.status @@ -30,7 +30,6 @@ vm/type_cast_vm_test: SkipByDesign # Relies on symbol names [ $compiler == dart2bytecode ] class_modifiers/trans_legacy/legacy_superdeclaration_test: Crash const/inference_test: Crash -final/syntax_test/08: Crash regress/regress45763_test: Crash vm/reflect_core_vm_test: Crash