Commit ee86a749 authored by chunyang.dai's avatar chunyang.dai Committed by Commit bot

X87: [builtins] Remove the weird STACK_OVERFLOW builtin.

port 39604dda (r30693).

original commit message:

    Just use a %ThrowStackOverflow runtime function instead, which
    does the trick, especially since the Isolate already has a
    preallocated StackOverflow error for that.

BUG=

Review URL: https://codereview.chromium.org/1344793002

Cr-Commit-Position: refs/heads/master@{#30741}
parent ec2f11c5
...@@ -150,7 +150,7 @@ void FullCodeGenerator::Generate() { ...@@ -150,7 +150,7 @@ void FullCodeGenerator::Generate() {
ExternalReference::address_of_real_stack_limit(isolate()); ExternalReference::address_of_real_stack_limit(isolate());
__ cmp(ecx, Operand::StaticVariable(stack_limit)); __ cmp(ecx, Operand::StaticVariable(stack_limit));
__ j(above_equal, &ok, Label::kNear); __ j(above_equal, &ok, Label::kNear);
__ InvokeBuiltin(Context::STACK_OVERFLOW_BUILTIN_INDEX, CALL_FUNCTION); __ CallRuntime(Runtime::kThrowStackOverflow, 0);
__ bind(&ok); __ bind(&ok);
} }
__ mov(eax, Immediate(isolate()->factory()->undefined_value())); __ mov(eax, Immediate(isolate()->factory()->undefined_value()));
......
...@@ -522,7 +522,7 @@ static void Generate_CheckStackOverflow(MacroAssembler* masm, ...@@ -522,7 +522,7 @@ static void Generate_CheckStackOverflow(MacroAssembler* masm,
__ SmiTag(eax); __ SmiTag(eax);
} }
__ push(eax); __ push(eax);
__ InvokeBuiltin(Context::STACK_OVERFLOW_BUILTIN_INDEX, CALL_FUNCTION); __ CallRuntime(Runtime::kThrowStackOverflow, 0);
__ bind(&okay); __ bind(&okay);
} }
...@@ -660,7 +660,7 @@ void Builtins::Generate_InterpreterEntryTrampoline(MacroAssembler* masm) { ...@@ -660,7 +660,7 @@ void Builtins::Generate_InterpreterEntryTrampoline(MacroAssembler* masm) {
ExternalReference::address_of_real_stack_limit(masm->isolate()); ExternalReference::address_of_real_stack_limit(masm->isolate());
__ cmp(ecx, Operand::StaticVariable(stack_limit)); __ cmp(ecx, Operand::StaticVariable(stack_limit));
__ j(above_equal, &ok); __ j(above_equal, &ok);
__ InvokeBuiltin(Context::STACK_OVERFLOW_BUILTIN_INDEX, CALL_FUNCTION); __ CallRuntime(Runtime::kThrowStackOverflow, 0);
__ bind(&ok); __ bind(&ok);
// If ok, push undefined as the initial value for all register file entries. // If ok, push undefined as the initial value for all register file entries.
...@@ -1699,7 +1699,7 @@ void Builtins::Generate_ArgumentsAdaptorTrampoline(MacroAssembler* masm) { ...@@ -1699,7 +1699,7 @@ void Builtins::Generate_ArgumentsAdaptorTrampoline(MacroAssembler* masm) {
{ {
FrameScope frame(masm, StackFrame::MANUAL); FrameScope frame(masm, StackFrame::MANUAL);
EnterArgumentsAdaptorFrame(masm); EnterArgumentsAdaptorFrame(masm);
__ InvokeBuiltin(Context::STACK_OVERFLOW_BUILTIN_INDEX, CALL_FUNCTION); __ CallRuntime(Runtime::kThrowStackOverflow, 0);
__ int3(); __ int3();
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment