| Index: src/full-codegen.cc
|
| diff --git a/src/full-codegen.cc b/src/full-codegen.cc
|
| index 483d1e378d49307d84cf1be57a66de7c82fc1da0..00c6ade2735bb035b288040b5493afdf7b2e2d8a 100644
|
| --- a/src/full-codegen.cc
|
| +++ b/src/full-codegen.cc
|
| @@ -1698,7 +1698,8 @@ void BackEdgeTable::AddStackCheck(CompilationInfo* info) {
|
| DisallowHeapAllocation no_gc;
|
| Isolate* isolate = info->isolate();
|
| Code* code = info->shared_info()->code();
|
| - Address pc = code->instruction_start() + info->osr_pc_offset();
|
| + Address pc = code->instruction_start() +
|
| + code->TranslateAstIdToPcOffset(info->osr_ast_id());
|
| ASSERT_EQ(ON_STACK_REPLACEMENT, GetBackEdgeState(isolate, code, pc));
|
| Code* patch = isolate->builtins()->builtin(Builtins::kOsrAfterStackCheck);
|
| PatchAt(code, pc, OSR_AFTER_STACK_CHECK, patch);
|
| @@ -1709,7 +1710,8 @@ void BackEdgeTable::RemoveStackCheck(CompilationInfo* info) {
|
| DisallowHeapAllocation no_gc;
|
| Isolate* isolate = info->isolate();
|
| Code* code = info->shared_info()->code();
|
| - Address pc = code->instruction_start() + info->osr_pc_offset();
|
| + Address pc = code->instruction_start() +
|
| + code->TranslateAstIdToPcOffset(info->osr_ast_id());
|
| if (GetBackEdgeState(isolate, code, pc) == OSR_AFTER_STACK_CHECK) {
|
| Code* patch = isolate->builtins()->builtin(Builtins::kOnStackReplacement);
|
| PatchAt(code, pc, ON_STACK_REPLACEMENT, patch);
|
|
|