Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5)

Side by Side Diff: src/isolate.cc

Issue 1884183002: First version of the new generators implementation. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Rebase Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/isolate.h" 5 #include "src/isolate.h"
6 6
7 #include <stdlib.h> 7 #include <stdlib.h>
8 8
9 #include <fstream> // NOLINT(readability/streams) 9 #include <fstream> // NOLINT(readability/streams)
10 #include <sstream> 10 #include <sstream>
(...skipping 1144 matching lines...) Expand 10 before | Expand all | Expand 10 after
1155 // For interpreted frame we perform a range lookup in the handler table. 1155 // For interpreted frame we perform a range lookup in the handler table.
1156 if (frame->is_interpreted() && catchable_by_js) { 1156 if (frame->is_interpreted() && catchable_by_js) {
1157 InterpretedFrame* js_frame = static_cast<InterpretedFrame*>(frame); 1157 InterpretedFrame* js_frame = static_cast<InterpretedFrame*>(frame);
1158 int context_reg = 0; // Will contain register index holding context. 1158 int context_reg = 0; // Will contain register index holding context.
1159 offset = js_frame->LookupExceptionHandlerInTable(&context_reg, nullptr); 1159 offset = js_frame->LookupExceptionHandlerInTable(&context_reg, nullptr);
1160 if (offset >= 0) { 1160 if (offset >= 0) {
1161 // Patch the bytecode offset in the interpreted frame to reflect the 1161 // Patch the bytecode offset in the interpreted frame to reflect the
1162 // position of the exception handler. The special builtin below will 1162 // position of the exception handler. The special builtin below will
1163 // take care of continuing to dispatch at that position. Also restore 1163 // take care of continuing to dispatch at that position. Also restore
1164 // the correct context for the handler from the interpreter register. 1164 // the correct context for the handler from the interpreter register.
1165 context = Context::cast(js_frame->GetInterpreterRegister(context_reg)); 1165 context = Context::cast(js_frame->ReadInterpreterRegister(context_reg));
1166 js_frame->PatchBytecodeOffset(static_cast<int>(offset)); 1166 js_frame->PatchBytecodeOffset(static_cast<int>(offset));
1167 offset = 0; 1167 offset = 0;
1168 1168
1169 // Gather information from the frame. 1169 // Gather information from the frame.
1170 code = *builtins()->InterpreterEnterBytecodeDispatch(); 1170 code = *builtins()->InterpreterEnterBytecodeDispatch();
1171 handler_sp = frame->sp(); 1171 handler_sp = frame->sp();
1172 handler_fp = frame->fp(); 1172 handler_fp = frame->fp();
1173 break; 1173 break;
1174 } 1174 }
1175 } 1175 }
(...skipping 1803 matching lines...) Expand 10 before | Expand all | Expand 10 after
2979 // Then check whether this scope intercepts. 2979 // Then check whether this scope intercepts.
2980 if ((flag & intercept_mask_)) { 2980 if ((flag & intercept_mask_)) {
2981 intercepted_flags_ |= flag; 2981 intercepted_flags_ |= flag;
2982 return true; 2982 return true;
2983 } 2983 }
2984 return false; 2984 return false;
2985 } 2985 }
2986 2986
2987 } // namespace internal 2987 } // namespace internal
2988 } // namespace v8 2988 } // namespace v8
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698