OLD | NEW |
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_STUB_CODE_H_ | 5 #ifndef VM_STUB_CODE_H_ |
6 #define VM_STUB_CODE_H_ | 6 #define VM_STUB_CODE_H_ |
7 | 7 |
8 #include "vm/allocation.h" | 8 #include "vm/allocation.h" |
9 #include "vm/assembler.h" | 9 #include "vm/assembler.h" |
10 | 10 |
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
113 static void Init(Isolate* isolate); | 113 static void Init(Isolate* isolate); |
114 | 114 |
115 static void VisitObjectPointers(ObjectPointerVisitor* visitor); | 115 static void VisitObjectPointers(ObjectPointerVisitor* visitor); |
116 | 116 |
117 // Check if specified pc is in the dart invocation stub used for | 117 // Check if specified pc is in the dart invocation stub used for |
118 // transitioning into dart code. | 118 // transitioning into dart code. |
119 static bool InInvocationStub(uword pc); | 119 static bool InInvocationStub(uword pc); |
120 | 120 |
121 static bool InInvocationStubForIsolate(Isolate* isolate, uword pc); | 121 static bool InInvocationStubForIsolate(Isolate* isolate, uword pc); |
122 | 122 |
| 123 // Check if the specified pc is in the jump to exception handler stub. |
| 124 static bool InJumpToExceptionHandlerStub(uword pc); |
| 125 |
123 // Returns NULL if no stub found. | 126 // Returns NULL if no stub found. |
124 static const char* NameOfStub(uword entry_point); | 127 static const char* NameOfStub(uword entry_point); |
125 | 128 |
126 // Define the shared stub code accessors. | 129 // Define the shared stub code accessors. |
127 #define STUB_CODE_ACCESSOR(name) \ | 130 #define STUB_CODE_ACCESSOR(name) \ |
128 static StubEntry* name##_entry() { \ | 131 static StubEntry* name##_entry() { \ |
129 return name##_entry_; \ | 132 return name##_entry_; \ |
130 } \ | 133 } \ |
131 static const ExternalLabel& name##Label() { \ | 134 static const ExternalLabel& name##Label() { \ |
132 return name##_entry()->label(); \ | 135 return name##_entry()->label(); \ |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
205 Assembler* assembler, | 208 Assembler* assembler, |
206 const Register left, | 209 const Register left, |
207 const Register right, | 210 const Register right, |
208 const Register temp1 = kNoRegister, | 211 const Register temp1 = kNoRegister, |
209 const Register temp2 = kNoRegister); | 212 const Register temp2 = kNoRegister); |
210 }; | 213 }; |
211 | 214 |
212 } // namespace dart | 215 } // namespace dart |
213 | 216 |
214 #endif // VM_STUB_CODE_H_ | 217 #endif // VM_STUB_CODE_H_ |
OLD | NEW |