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_RUNTIME_ENTRY_H_ | 5 #ifndef VM_RUNTIME_ENTRY_H_ |
6 #define VM_RUNTIME_ENTRY_H_ | 6 #define VM_RUNTIME_ENTRY_H_ |
7 | 7 |
8 #include "vm/allocation.h" | 8 #include "vm/allocation.h" |
9 #include "vm/flags.h" | 9 #include "vm/flags.h" |
10 #include "vm/native_arguments.h" | 10 #include "vm/native_arguments.h" |
11 #include "vm/tags.h" | 11 #include "vm/tags.h" |
12 | 12 |
13 namespace dart { | 13 namespace dart { |
14 | 14 |
15 class Assembler; | 15 class Assembler; |
16 | 16 |
17 DECLARE_FLAG(bool, trace_runtime_calls); | 17 DECLARE_FLAG(bool, trace_runtime_calls); |
18 | 18 |
19 typedef void (*RuntimeFunction)(NativeArguments arguments); | 19 typedef void (*RuntimeFunction)(NativeArguments arguments); |
20 | 20 |
21 #define RUNTIME_ENTRY_LIST(V) \ | 21 #define RUNTIME_ENTRY_LIST(V) \ |
22 V(AllocateArray) \ | 22 V(AllocateArray) \ |
23 V(AllocateContext) \ | 23 V(AllocateContext) \ |
24 V(AllocateObject) \ | 24 V(AllocateObject) \ |
25 V(BreakpointRuntimeHandler) \ | 25 V(BreakpointRuntimeHandler) \ |
26 V(SingleStepHandler) \ | 26 V(SingleStepHandler) \ |
27 V(CloneContext) \ | 27 V(CloneContext) \ |
28 V(Deoptimize) \ | |
29 V(FixCallersTarget) \ | 28 V(FixCallersTarget) \ |
30 V(FixAllocationStubTarget) \ | 29 V(FixAllocationStubTarget) \ |
31 V(InlineCacheMissHandlerOneArg) \ | 30 V(InlineCacheMissHandlerOneArg) \ |
32 V(InlineCacheMissHandlerTwoArgs) \ | 31 V(InlineCacheMissHandlerTwoArgs) \ |
33 V(InlineCacheMissHandlerThreeArgs) \ | 32 V(InlineCacheMissHandlerThreeArgs) \ |
34 V(StaticCallMissHandlerOneArg) \ | 33 V(StaticCallMissHandlerOneArg) \ |
35 V(StaticCallMissHandlerTwoArgs) \ | 34 V(StaticCallMissHandlerTwoArgs) \ |
36 V(Instanceof) \ | 35 V(Instanceof) \ |
37 V(TypeCheck) \ | 36 V(TypeCheck) \ |
38 V(BadTypeError) \ | 37 V(BadTypeError) \ |
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
210 #define CHECK_LEAF_RUNTIME_ADDRESS(type, name, ...) \ | 209 #define CHECK_LEAF_RUNTIME_ADDRESS(type, name, ...) \ |
211 if (address == reinterpret_cast<uword>(&DLRT_##name)) return k##name##Id; | 210 if (address == reinterpret_cast<uword>(&DLRT_##name)) return k##name##Id; |
212 LEAF_RUNTIME_ENTRY_LIST(CHECK_LEAF_RUNTIME_ADDRESS) | 211 LEAF_RUNTIME_ENTRY_LIST(CHECK_LEAF_RUNTIME_ADDRESS) |
213 #undef CHECK_LEAF_RUNTIME_ADDRESS | 212 #undef CHECK_LEAF_RUNTIME_ADDRESS |
214 return kNoRuntimeFunctionId; | 213 return kNoRuntimeFunctionId; |
215 } | 214 } |
216 | 215 |
217 } // namespace dart | 216 } // namespace dart |
218 | 217 |
219 #endif // VM_RUNTIME_ENTRY_H_ | 218 #endif // VM_RUNTIME_ENTRY_H_ |
OLD | NEW |