1// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
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.
4
5#ifndef RUNTIME_VM_STUB_CODE_LIST_H_
6#define RUNTIME_VM_STUB_CODE_LIST_H_
7
8namespace dart {
9
10// List of stubs created in the VM isolate, these stubs are shared by different
11// isolates running in this dart process.
12#define VM_STUB_CODE_LIST(V) \
13 V(GetCStackPointer) \
14 V(JumpToFrame) \
15 V(RunExceptionHandler) \
16 V(DeoptForRewind) \
17 V(WriteBarrier) \
18 V(WriteBarrierWrappers) \
19 V(ArrayWriteBarrier) \
20 V(AllocateArray) \
21 V(AllocateMintSharedWithFPURegs) \
22 V(AllocateMintSharedWithoutFPURegs) \
23 V(AllocateContext) \
24 V(AllocateObject) \
25 V(AllocateObjectParameterized) \
26 V(AllocateObjectSlow) \
27 V(AllocateUnhandledException) \
28 V(CloneContext) \
29 V(CallToRuntime) \
30 V(LazyCompile) \
31 V(InterpretCall) \
32 V(CallBootstrapNative) \
33 V(CallNoScopeNative) \
34 V(CallAutoScopeNative) \
35 V(FixCallersTarget) \
36 V(CallStaticFunction) \
37 V(OptimizeFunction) \
38 V(InvokeDartCode) \
39 V(InvokeDartCodeFromBytecode) \
40 V(DebugStepCheck) \
41 V(SwitchableCallMiss) \
42 V(MonomorphicSmiableCheck) \
43 V(SingleTargetCall) \
44 V(ICCallThroughCode) \
45 V(MegamorphicCall) \
46 V(FixAllocationStubTarget) \
47 V(Deoptimize) \
48 V(DeoptimizeLazyFromReturn) \
49 V(DeoptimizeLazyFromThrow) \
50 V(UnoptimizedIdenticalWithNumberCheck) \
51 V(OptimizedIdenticalWithNumberCheck) \
52 V(ICCallBreakpoint) \
53 V(UnoptStaticCallBreakpoint) \
54 V(RuntimeCallBreakpoint) \
55 V(OneArgCheckInlineCache) \
56 V(TwoArgsCheckInlineCache) \
57 V(SmiAddInlineCache) \
58 V(SmiLessInlineCache) \
59 V(SmiEqualInlineCache) \
60 V(OneArgOptimizedCheckInlineCache) \
61 V(TwoArgsOptimizedCheckInlineCache) \
62 V(ZeroArgsUnoptimizedStaticCall) \
63 V(OneArgUnoptimizedStaticCall) \
64 V(TwoArgsUnoptimizedStaticCall) \
65 V(Subtype1TestCache) \
66 V(Subtype2TestCache) \
67 V(Subtype4TestCache) \
68 V(Subtype6TestCache) \
69 V(DefaultTypeTest) \
70 V(DefaultNullableTypeTest) \
71 V(TopTypeTypeTest) \
72 V(UnreachableTypeTest) \
73 V(SlowTypeTest) \
74 V(LazySpecializeTypeTest) \
75 V(LazySpecializeNullableTypeTest) \
76 V(CallClosureNoSuchMethod) \
77 V(FrameAwaitingMaterialization) \
78 V(AsynchronousGapMarker) \
79 V(NotLoaded) \
80 V(DispatchTableNullError) \
81 V(NullErrorSharedWithFPURegs) \
82 V(NullErrorSharedWithoutFPURegs) \
83 V(NullArgErrorSharedWithFPURegs) \
84 V(NullArgErrorSharedWithoutFPURegs) \
85 V(NullCastErrorSharedWithFPURegs) \
86 V(NullCastErrorSharedWithoutFPURegs) \
87 V(RangeErrorSharedWithFPURegs) \
88 V(RangeErrorSharedWithoutFPURegs) \
89 V(StackOverflowSharedWithFPURegs) \
90 V(StackOverflowSharedWithoutFPURegs) \
91 V(OneArgCheckInlineCacheWithExactnessCheck) \
92 V(OneArgOptimizedCheckInlineCacheWithExactnessCheck) \
93 V(EnterSafepoint) \
94 V(ExitSafepoint) \
95 V(CallNativeThroughSafepoint) \
96 V(InitStaticField) \
97 V(InitInstanceField) \
98 V(InitLateInstanceField) \
99 V(InitLateFinalInstanceField) \
100 V(Throw) \
101 V(ReThrow) \
102 V(AssertBoolean) \
103 V(InstanceOf) \
104 V(InstantiateTypeArguments) \
105 V(InstantiateTypeArgumentsMayShareInstantiatorTA) \
106 V(InstantiateTypeArgumentsMayShareFunctionTA) \
107 V(NoSuchMethodDispatcher)
108
109} // namespace dart
110
111#endif // RUNTIME_VM_STUB_CODE_LIST_H_
112