OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 "include/dart_api.h" | 8 #include "include/dart_api.h" |
9 #include "platform/assert.h" | 9 #include "platform/assert.h" |
10 #include "platform/thread.h" | 10 #include "platform/thread.h" |
(...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
225 void SetStackLimit(uword value); | 225 void SetStackLimit(uword value); |
226 void SetStackLimitFromCurrentTOS(uword isolate_stack_top); | 226 void SetStackLimitFromCurrentTOS(uword isolate_stack_top); |
227 | 227 |
228 uword stack_limit_address() const { | 228 uword stack_limit_address() const { |
229 return reinterpret_cast<uword>(&stack_limit_); | 229 return reinterpret_cast<uword>(&stack_limit_); |
230 } | 230 } |
231 | 231 |
232 // The current stack limit. This may be overwritten with a special | 232 // The current stack limit. This may be overwritten with a special |
233 // value to trigger interrupts. | 233 // value to trigger interrupts. |
234 uword stack_limit() const { return stack_limit_; } | 234 uword stack_limit() const { return stack_limit_; } |
| 235 static intptr_t stack_limit_offset() { |
| 236 return OFFSET_OF(Isolate, stack_limit_); |
| 237 } |
235 | 238 |
236 // The true stack limit for this isolate. | 239 // The true stack limit for this isolate. |
237 uword saved_stack_limit() const { return saved_stack_limit_; } | 240 uword saved_stack_limit() const { return saved_stack_limit_; } |
238 | 241 |
239 // Stack overflow flags | 242 // Stack overflow flags |
240 enum { | 243 enum { |
241 kOsrRequest = 0x1, // Current stack overflow caused by OSR request. | 244 kOsrRequest = 0x1, // Current stack overflow caused by OSR request. |
242 }; | 245 }; |
243 | 246 |
244 uword stack_overflow_flags_address() const { | 247 uword stack_overflow_flags_address() const { |
(...skipping 492 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
737 char* script_url_; | 740 char* script_url_; |
738 char* library_url_; | 741 char* library_url_; |
739 char* class_name_; | 742 char* class_name_; |
740 char* function_name_; | 743 char* function_name_; |
741 char* exception_callback_name_; | 744 char* exception_callback_name_; |
742 }; | 745 }; |
743 | 746 |
744 } // namespace dart | 747 } // namespace dart |
745 | 748 |
746 #endif // VM_ISOLATE_H_ | 749 #endif // VM_ISOLATE_H_ |
OLD | NEW |