text: // Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
  // for details. All rights reserved. Use of this source code is governed by a
  // BSD-style license that can be found in the LICENSE file.
  
  #ifndef RUNTIME_VM_STUB_CODE_LIST_H_
  #define RUNTIME_VM_STUB_CODE_LIST_H_
  
  namespace dart {
  
  #define VM_TYPE_TESTING_STUB_CODE_LIST(V)                                      \
    V(DefaultTypeTest)                                                           \
    V(DefaultNullableTypeTest)                                                   \
    V(TopTypeTypeTest)                                                           \
    V(UnreachableTypeTest)                                                       \
    V(TypeParameterTypeTest)                                                     \
    V(NullableTypeParameterTypeTest)                                             \
    V(SlowTypeTest)                                                              \
    V(LazySpecializeTypeTest)                                                    \
    V(LazySpecializeNullableTypeTest)
  
  // List of stubs created in the VM isolate, these stubs are shared by different
  // isolates running in this dart process.
  #define VM_STUB_CODE_LIST(V)                                                   \
    V(GetCStackPointer)                                                          \
    V(JumpToFrame)                                                               \
    V(RunExceptionHandler)                                                       \
    V(DeoptForRewind)                                                            \
    V(WriteBarrier)                                                              \
    V(WriteBarrierWrappers)                                                      \
    V(ArrayWriteBarrier)                                                         \
    V(AllocateArray)                                                             \
    V(AllocateInt8Array)                                                         \
    V(AllocateUint8Array)                                                        \
    V(AllocateUint8ClampedArray)                                                 \
    V(AllocateInt16Array)                                                        \
    V(AllocateUint16Array)                                                       \
    V(AllocateInt32Array)                                                        \
    V(AllocateUint32Array)                                                       \
    V(AllocateInt64Array)                                                        \
    V(AllocateUint64Array)                                                       \
    V(AllocateFloat32Array)                                                      \
    V(AllocateFloat64Array)                                                      \
    V(AllocateFloat32x4Array)                                                    \
    V(AllocateInt32x4Array)                                                      \
    V(AllocateFloat64x2Array)                                                    \
    V(AllocateMintSharedWithFPURegs)                                             \
    V(AllocateMintSharedWithoutFPURegs)                                          \
    V(AllocateContext)                                                           \
    V(AllocateObject)                                                            \
    V(AllocateObjectParameterized)                                               \
    V(AllocateObjectSlow)                                                        \
    V(AllocateUnhandledException)                                                \
    V(CloneContext)                                                              \
    V(CallToRuntime)                                                             \
    V(LazyCompile)                                                               \
    V(CallBootstrapNative)                                                       \
    V(CallNoScopeNative)                                                         \
    V(CallAutoScopeNative)                                                       \
    V(FixCallersTarget)                                                          \
    V(CallStaticFunction)                                                        \
    V(OptimizeFunction)                                                          \
    V(InvokeDartCode)                                                            \
    V(DebugStepCheck)                                                            \
    V(SwitchableCallMiss)                                                        \
    V(MonomorphicSmiableCheck)                                                   \
    V(SingleTargetCall)                                                          \
    V(ICCallThroughCode)                                                         \
    V(MegamorphicCall)                                                           \
    V(FixAllocationStubTarget)                                                   \
    V(Deoptimize)                                                                \
    V(DeoptimizeLazyFromReturn)                                                  \
    V(DeoptimizeLazyFromThrow)                                                   \
    V(UnoptimizedIdenticalWithNumberCheck)                                       \
    V(OptimizedIdenticalWithNumberCheck)                                         \
    V(ICCallBreakpoint)                                                          \
    V(UnoptStaticCallBreakpoint)                                                 \
    V(RuntimeCallBreakpoint)                                                     \
    V(OneArgCheckInlineCache)                                                    \
    V(TwoArgsCheckInlineCache)                                                   \
    V(SmiAddInlineCache)                                                         \
    V(SmiLessInlineCache)                                                        \
    V(SmiEqualInlineCache)                                                       \
    V(OneArgOptimizedCheckInlineCache)                                           \
    V(TwoArgsOptimizedCheckInlineCache)                                          \
    V(ZeroArgsUnoptimizedStaticCall)                                             \
    V(OneArgUnoptimizedStaticCall)                                               \
    V(TwoArgsUnoptimizedStaticCall)                                              \
    V(AssertSubtype)                                                             \
    V(AssertAssignable)                                                          \
    V(TypeIsTopTypeForSubtyping)                                                 \
    V(TypeIsTopTypeForSubtypingNullSafe)                                         \
    V(NullIsAssignableToType)                                                    \
    V(NullIsAssignableToTypeNullSafe)                                            \
    V(Subtype1TestCache)                                                         \
    V(Subtype3TestCache)                                                         \
    V(Subtype5TestCache)                                                         \
    V(Subtype7TestCache)                                                         \
    VM_TYPE_TESTING_STUB_CODE_LIST(V)                                            \
    V(CallClosureNoSuchMethod)                                                   \
    V(FrameAwaitingMaterialization)                                              \
    V(AsynchronousGapMarker)                                                     \
    V(NotLoaded)                                                                 \
    V(DispatchTableNullError)                                                    \
    V(LateInitializationErrorSharedWithFPURegs)                                  \
    V(LateInitializationErrorSharedWithoutFPURegs)                               \
    V(NullErrorSharedWithFPURegs)                                                \
    V(NullErrorSharedWithoutFPURegs)                                             \
    V(NullArgErrorSharedWithFPURegs)                                             \
    V(NullArgErrorSharedWithoutFPURegs)                                          \
    V(NullCastErrorSharedWithFPURegs)                                            \
    V(NullCastErrorSharedWithoutFPURegs)                                         \
    V(RangeErrorSharedWithFPURegs)                                               \
    V(RangeErrorSharedWithoutFPURegs)                                            \
    V(StackOverflowSharedWithFPURegs)                                            \
    V(StackOverflowSharedWithoutFPURegs)                                         \
    V(OneArgCheckInlineCacheWithExactnessCheck)                                  \
    V(OneArgOptimizedCheckInlineCacheWithExactnessCheck)                         \
    V(EnterSafepoint)                                                            \
    V(ExitSafepoint)                                                             \
    V(CallNativeThroughSafepoint)                                                \
    V(InitStaticField)                                                           \
    V(InitInstanceField)                                                         \
    V(InitLateInstanceField)                                                     \
    V(InitLateFinalInstanceField)                                                \
    V(Throw)                                                                     \
    V(ReThrow)                                                                   \
    V(AssertBoolean)                                                             \
    V(InstanceOf)                                                                \
    V(InstantiateType)                                                           \
    V(InstantiateTypeArguments)                                                  \
    V(InstantiateTypeArgumentsMayShareInstantiatorTA)                            \
    V(InstantiateTypeArgumentsMayShareFunctionTA)                                \
    V(NoSuchMethodDispatcher)                                                    \
    V(UnknownDartCode)
  
  }  // namespace dart
  
  #endif  // RUNTIME_VM_STUB_CODE_LIST_H_
  