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

Side by Side Diff: vm/code_generator.cc

Issue 11026011: Add isolate event handler setup in order to be able to propagate isolate (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/runtime/
Patch Set: Created 8 years, 2 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 | Annotate | Revision Log
« no previous file with comments | « include/dart_debugger_api.h ('k') | vm/debugger.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/code_generator.h" 5 #include "vm/code_generator.h"
6 6
7 #include "vm/assembler_macros.h" 7 #include "vm/assembler_macros.h"
8 #include "vm/ast.h" 8 #include "vm/ast.h"
9 #include "vm/code_patcher.h" 9 #include "vm/code_patcher.h"
10 #include "vm/compiler.h" 10 #include "vm/compiler.h"
(...skipping 1279 matching lines...) Expand 10 before | Expand all | Expand 10 after
1290 if (interrupt_bits & Isolate::kStoreBufferInterrupt) { 1290 if (interrupt_bits & Isolate::kStoreBufferInterrupt) {
1291 if (FLAG_verbose_gc) { 1291 if (FLAG_verbose_gc) {
1292 OS::PrintErr("Scavenge scheduled by store buffer overflow.\n"); 1292 OS::PrintErr("Scavenge scheduled by store buffer overflow.\n");
1293 } 1293 }
1294 isolate->heap()->CollectGarbage(Heap::kNew); 1294 isolate->heap()->CollectGarbage(Heap::kNew);
1295 } 1295 }
1296 if (interrupt_bits & Isolate::kMessageInterrupt) { 1296 if (interrupt_bits & Isolate::kMessageInterrupt) {
1297 isolate->message_handler()->HandleOOBMessages(); 1297 isolate->message_handler()->HandleOOBMessages();
1298 } 1298 }
1299 if (interrupt_bits & Isolate::kApiInterrupt) { 1299 if (interrupt_bits & Isolate::kApiInterrupt) {
1300 // Signal isolate interrupt event.
1301 Debugger::SignalIsolateEvent(Debugger::kIsolateInterrupted);
1302
1300 Dart_IsolateInterruptCallback callback = isolate->InterruptCallback(); 1303 Dart_IsolateInterruptCallback callback = isolate->InterruptCallback();
1301 if (callback) { 1304 if (callback) {
1302 if ((*callback)()) { 1305 if ((*callback)()) {
1303 return; 1306 return;
1304 } else { 1307 } else {
1305 // TODO(turnidge): Unwind the stack. 1308 // TODO(turnidge): Unwind the stack.
1306 UNIMPLEMENTED(); 1309 UNIMPLEMENTED();
1307 } 1310 }
1308 } 1311 }
1309 } 1312 }
(...skipping 411 matching lines...) Expand 10 before | Expand all | Expand 10 after
1721 reinterpret_cast<uword>(current->slot()), 1724 reinterpret_cast<uword>(current->slot()),
1722 current->value()); 1725 current->value());
1723 } 1726 }
1724 1727
1725 delete current; 1728 delete current;
1726 } 1729 }
1727 } 1730 }
1728 1731
1729 1732
1730 } // namespace dart 1733 } // namespace dart
OLDNEW
« no previous file with comments | « include/dart_debugger_api.h ('k') | vm/debugger.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698