| 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 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 109 // Generate all stubs which are generated on a per isolate basis as they | 109 // Generate all stubs which are generated on a per isolate basis as they |
| 110 // have embedded objects which are isolate specific. | 110 // have embedded objects which are isolate specific. |
| 111 static void Init(Isolate* isolate); | 111 static void Init(Isolate* isolate); |
| 112 | 112 |
| 113 static void VisitObjectPointers(ObjectPointerVisitor* visitor); | 113 static void VisitObjectPointers(ObjectPointerVisitor* visitor); |
| 114 | 114 |
| 115 // Check if specified pc is in the dart invocation stub used for | 115 // Check if specified pc is in the dart invocation stub used for |
| 116 // transitioning into dart code. | 116 // transitioning into dart code. |
| 117 static bool InInvocationStub(uword pc); | 117 static bool InInvocationStub(uword pc); |
| 118 | 118 |
| 119 static bool InInvocationStubForIsolate(Isolate* isolate, uword pc); |
| 120 |
| 119 // Returns NULL if no stub found. | 121 // Returns NULL if no stub found. |
| 120 static const char* NameOfStub(uword entry_point); | 122 static const char* NameOfStub(uword entry_point); |
| 121 | 123 |
| 122 // Define the shared stub code accessors. | 124 // Define the shared stub code accessors. |
| 123 #define STUB_CODE_ACCESSOR(name) \ | 125 #define STUB_CODE_ACCESSOR(name) \ |
| 124 static StubEntry* name##_entry() { \ | 126 static StubEntry* name##_entry() { \ |
| 125 return name##_entry_; \ | 127 return name##_entry_; \ |
| 126 } \ | 128 } \ |
| 127 static const ExternalLabel& name##Label() { \ | 129 static const ExternalLabel& name##Label() { \ |
| 128 return name##_entry()->label(); \ | 130 return name##_entry()->label(); \ |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 201 Assembler* assembler, | 203 Assembler* assembler, |
| 202 const Register left, | 204 const Register left, |
| 203 const Register right, | 205 const Register right, |
| 204 const Register temp1 = kNoRegister, | 206 const Register temp1 = kNoRegister, |
| 205 const Register temp2 = kNoRegister); | 207 const Register temp2 = kNoRegister); |
| 206 }; | 208 }; |
| 207 | 209 |
| 208 } // namespace dart | 210 } // namespace dart |
| 209 | 211 |
| 210 #endif // VM_STUB_CODE_H_ | 212 #endif // VM_STUB_CODE_H_ |
| OLD | NEW |