Commit b9f42396 authored by rmcilroy's avatar rmcilroy Committed by Commit bot

[Interpreter] Ensure StackCheck bytecode handler is in split-edge form.

BUG=v8:4280
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#33785}
parent 75cc8352
...@@ -708,7 +708,7 @@ void InterpreterAssembler::DispatchTo(Node* new_bytecode_offset) { ...@@ -708,7 +708,7 @@ void InterpreterAssembler::DispatchTo(Node* new_bytecode_offset) {
} }
void InterpreterAssembler::StackCheck() { void InterpreterAssembler::StackCheck() {
RawMachineLabel ok, stack_guard; RawMachineLabel end, ok, stack_guard;
Node* sp = raw_assembler_->LoadStackPointer(); Node* sp = raw_assembler_->LoadStackPointer();
Node* stack_limit = raw_assembler_->Load( Node* stack_limit = raw_assembler_->Load(
MachineType::Pointer(), MachineType::Pointer(),
...@@ -718,8 +718,10 @@ void InterpreterAssembler::StackCheck() { ...@@ -718,8 +718,10 @@ void InterpreterAssembler::StackCheck() {
raw_assembler_->Branch(condition, &ok, &stack_guard); raw_assembler_->Branch(condition, &ok, &stack_guard);
raw_assembler_->Bind(&stack_guard); raw_assembler_->Bind(&stack_guard);
CallRuntime(Runtime::kStackGuard); CallRuntime(Runtime::kStackGuard);
raw_assembler_->Goto(&ok); raw_assembler_->Goto(&end);
raw_assembler_->Bind(&ok); raw_assembler_->Bind(&ok);
raw_assembler_->Goto(&end);
raw_assembler_->Bind(&end);
} }
void InterpreterAssembler::Abort(BailoutReason bailout_reason) { void InterpreterAssembler::Abort(BailoutReason bailout_reason) {
......
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