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

Side by Side Diff: runtime/vm/isolate.h

Issue 8918028: If an unhandled exception occurs in Dart_RunLoop, pass it out to the caller. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: '' Created 9 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2011, 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 #ifndef VM_ISOLATE_H_ 5 #ifndef VM_ISOLATE_H_
6 #define VM_ISOLATE_H_ 6 #define VM_ISOLATE_H_
7 7
8 #include <limits.h> 8 #include <limits.h>
9 9
10 #include "include/dart_api.h" 10 #include "include/dart_api.h"
11 #include "vm/assert.h" 11 #include "vm/assert.h"
12 #include "vm/store_buffer.h" 12 #include "vm/store_buffer.h"
13 #include "vm/timer.h" 13 #include "vm/timer.h"
14 14
15 namespace dart { 15 namespace dart {
16 16
17 // Forward declarations. 17 // Forward declarations.
18 class ApiState; 18 class ApiState;
19 class BigintStore; 19 class BigintStore;
20 class CodeIndexTable; 20 class CodeIndexTable;
21 class Debugger; 21 class Debugger;
22 class HandleScope; 22 class HandleScope;
23 class Heap; 23 class Heap;
24 class LongJump; 24 class LongJump;
25 class MessageQueue; 25 class MessageQueue;
26 class Monitor; 26 class Monitor;
27 class ObjectPointerVisitor; 27 class ObjectPointerVisitor;
28 class ObjectStore; 28 class ObjectStore;
29 class RawContext; 29 class RawContext;
30 class RawObject;
30 class StackResource; 31 class StackResource;
31 class StubCode; 32 class StubCode;
32 class Zone; 33 class Zone;
33 34
34 class Isolate { 35 class Isolate {
35 public: 36 public:
36 ~Isolate(); 37 ~Isolate();
37 38
38 static inline Isolate* Current(); 39 static inline Isolate* Current();
39 static void SetCurrent(Isolate* isolate); 40 static void SetCurrent(Isolate* isolate);
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
223 224
224 uword stack_limit_address() const { 225 uword stack_limit_address() const {
225 return reinterpret_cast<uword>(&stack_limit_); 226 return reinterpret_cast<uword>(&stack_limit_);
226 } 227 }
227 228
228 void SetStackLimit(uword value); 229 void SetStackLimit(uword value);
229 uword stack_limit() const { return stack_limit_; } 230 uword stack_limit() const { return stack_limit_; }
230 231
231 void SetStackLimitFromCurrentTOS(uword isolate_stack_top); 232 void SetStackLimitFromCurrentTOS(uword isolate_stack_top);
232 233
233 void StandardRunLoop(); 234 // Returns null on success, unhandled exception on failure.
235 RawObject* StandardRunLoop();
234 236
235 intptr_t ast_node_id() const { return ast_node_id_; } 237 intptr_t ast_node_id() const { return ast_node_id_; }
236 void set_ast_node_id(int value) { ast_node_id_ = value; } 238 void set_ast_node_id(int value) { ast_node_id_ = value; }
237 239
238 Debugger* debugger() const { return debugger_; } 240 Debugger* debugger() const { return debugger_; }
239 241
240 private: 242 private:
241 Isolate(); 243 Isolate();
242 244
243 void PrintInvokedFunctions(); 245 void PrintInvokedFunctions();
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
290 #include "vm/isolate_linux.h" 292 #include "vm/isolate_linux.h"
291 #elif defined(TARGET_OS_MACOS) 293 #elif defined(TARGET_OS_MACOS)
292 #include "vm/isolate_macos.h" 294 #include "vm/isolate_macos.h"
293 #elif defined(TARGET_OS_WINDOWS) 295 #elif defined(TARGET_OS_WINDOWS)
294 #include "vm/isolate_win.h" 296 #include "vm/isolate_win.h"
295 #else 297 #else
296 #error Unknown target os. 298 #error Unknown target os.
297 #endif 299 #endif
298 300
299 #endif // VM_ISOLATE_H_ 301 #endif // VM_ISOLATE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698