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

Side by Side Diff: runtime/vm/parser.cc

Issue 1473403003: Move ApiLocalScope out of class ApiState into class Thread so that the API local handles and zone e… (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: self-code-review Created 5 years 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 (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #include "vm/parser.h" 5 #include "vm/parser.h"
6 #include "vm/flags.h" 6 #include "vm/flags.h"
7 7
8 #ifndef DART_PRECOMPILED 8 #ifndef DART_PRECOMPILED
9 9
10 #include "lib/invocation_mirror.h" 10 #include "lib/invocation_mirror.h"
(...skipping 5805 matching lines...) Expand 10 before | Expand all | Expand 10 after
5816 } 5816 }
5817 return Object::null(); 5817 return Object::null();
5818 } 5818 }
5819 ReportError(token_pos, "no library handler registered"); 5819 ReportError(token_pos, "no library handler registered");
5820 } 5820 }
5821 // Block class finalization attempts when calling into the library 5821 // Block class finalization attempts when calling into the library
5822 // tag handler. 5822 // tag handler.
5823 I->BlockClassFinalization(); 5823 I->BlockClassFinalization();
5824 Api::Scope api_scope(T); 5824 Api::Scope api_scope(T);
5825 Dart_Handle result = handler(tag, 5825 Dart_Handle result = handler(tag,
5826 Api::NewHandle(I, library_.raw()), 5826 Api::NewHandle(T, library_.raw()),
5827 Api::NewHandle(I, url.raw())); 5827 Api::NewHandle(T, url.raw()));
5828 I->UnblockClassFinalization(); 5828 I->UnblockClassFinalization();
5829 if (Dart_IsError(result)) { 5829 if (Dart_IsError(result)) {
5830 // In case of an error we append an explanatory error message to the 5830 // In case of an error we append an explanatory error message to the
5831 // error obtained from the library tag handler. 5831 // error obtained from the library tag handler.
5832 Error& prev_error = Error::Handle(Z); 5832 Error& prev_error = Error::Handle(Z);
5833 prev_error ^= Api::UnwrapHandle(result); 5833 prev_error ^= Api::UnwrapHandle(result);
5834 Report::LongJumpF(prev_error, script_, token_pos, "library handler failed"); 5834 Report::LongJumpF(prev_error, script_, token_pos, "library handler failed");
5835 } 5835 }
5836 if (tag == Dart_kCanonicalizeUrl) { 5836 if (tag == Dart_kCanonicalizeUrl) {
5837 if (!Dart_IsString(result)) { 5837 if (!Dart_IsString(result)) {
(...skipping 8583 matching lines...) Expand 10 before | Expand all | Expand 10 after
14421 const ArgumentListNode& function_args, 14421 const ArgumentListNode& function_args,
14422 const LocalVariable* temp_for_last_arg, 14422 const LocalVariable* temp_for_last_arg,
14423 bool is_super_invocation) { 14423 bool is_super_invocation) {
14424 UNREACHABLE(); 14424 UNREACHABLE();
14425 return NULL; 14425 return NULL;
14426 } 14426 }
14427 14427
14428 } // namespace dart 14428 } // namespace dart
14429 14429
14430 #endif // DART_PRECOMPILED 14430 #endif // DART_PRECOMPILED
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698