| Bytecode |
| Dynamic Module Entry Point: DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart::main |
| Library 'DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart' |
| name '#lib' |
| script 'DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart' |
| |
| Class '', script = 'DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart' |
| |
| Field '_stdin', type = DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart::Stdin, getter = 'get:_stdin', reflectable, static, final, is-late, has-initializer |
| initializer |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| LoadStatic CP#0 |
| DirectCall CP#1, 1 |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = StaticField DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart::_stdinFD (field) |
| [1] = DirectCall 'DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart::_StdIOUtils::_getStdioInputStream', ArgDesc num-args 1, num-type-args 0, names [] |
| [2] = Reserved |
| } |
| |
| |
| Field '_stdinFD', type = dart:core::int, reflectable, static, is-late, has-initializer |
| value = const 0 |
| |
| Field '_stdoutFD', type = dart:core::int, reflectable, static, is-late, has-initializer |
| value = const 1 |
| |
| Field '_stderrFD', type = dart:core::int, reflectable, static, is-late, has-initializer |
| value = const 2 |
| |
| Function '_printString', static, reflectable, debuggable, external |
| parameters [dart:core::String 's'] (required: 1) |
| return-type void |
| |
| Function '_print', static, reflectable, debuggable |
| parameters [dynamic 'arg'] (required: 1) |
| return-type void |
| |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| Push FP[-5] |
| InterfaceCall CP#0, 1 |
| DirectCall CP#2, 1 |
| Drop1 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = InterfaceCall 'dart:core::Object::toString', ArgDesc num-args 1, num-type-args 0, names [] |
| [1] = Reserved |
| [2] = DirectCall 'DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart::_printString', ArgDesc num-args 1, num-type-args 0, names [] |
| [3] = Reserved |
| } |
| |
| |
| Function '_getPrintClosure', static, reflectable, debuggable |
| parameters [] (required: 0) |
| return-type dynamic |
| |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| PushConstant CP#0 |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = ObjectRef const tear-off DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart::_print |
| } |
| |
| |
| Function '_setScheduleImmediateClosure', static, reflectable, debuggable |
| parameters [FunctionType (FunctionType () -> void) -> void 'closure'] (required: 1) |
| return-type void |
| |
| Bytecode { |
| Entry 1 |
| CheckStack 0 |
| Push FP[-5] |
| StoreStaticTOS CP#0 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = StaticField DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart::_ScheduleImmediate::_closure (field) |
| } |
| |
| |
| Function '_setStdioFDs', static, reflectable, debuggable |
| parameters [dart:core::int 'stdin', dart:core::int 'stdout', dart:core::int 'stderr'] (required: 3) |
| return-type void |
| |
| Bytecode { |
| Entry 1 |
| CheckStack 0 |
| Push FP[-7] |
| StoreStaticTOS CP#0 |
| Push FP[-6] |
| StoreStaticTOS CP#1 |
| Push FP[-5] |
| StoreStaticTOS CP#2 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = StaticField DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart::_stdinFD (field) |
| [1] = StaticField DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart::_stdoutFD (field) |
| [2] = StaticField DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart::_stderrFD (field) |
| } |
| |
| |
| Function 'main', static, reflectable, debuggable |
| parameters [] (required: 0) |
| return-type dynamic |
| |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| } |
| |
| Class '_ScheduleImmediate', script = 'DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart' |
| extends dart:core::Object |
| |
| Field '_closure', type = FunctionType (FunctionType () -> void)? -> void, reflectable, static, is-late, has-initializer |
| value = null |
| |
| Function '', constructor, reflectable |
| parameters [] (required: 0) |
| return-type DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart::_ScheduleImmediate |
| |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| Push FP[-5] |
| DirectCall CP#0, 1 |
| Drop1 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = DirectCall 'dart:core::Object:: (constructor)', ArgDesc num-args 1, num-type-args 0, names [] |
| [1] = Reserved |
| } |
| |
| Class '_NamespaceImpl', script = 'DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart' |
| extends dart:core::Object |
| implements [DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart::_Namespace] |
| |
| Field '_cachedNamespace', type = DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart::_NamespaceImpl?, reflectable, static, is-late, has-initializer |
| value = null |
| |
| Function '_', constructor, reflectable, debuggable |
| parameters [] (required: 0) |
| return-type DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart::_NamespaceImpl |
| |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| Push FP[-5] |
| DirectCall CP#0, 1 |
| Drop1 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = DirectCall 'dart:core::Object:: (constructor)', ArgDesc num-args 1, num-type-args 0, names [] |
| [1] = Reserved |
| } |
| |
| |
| Function '_create', static, reflectable, debuggable, external |
| parameters [DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart::_NamespaceImpl 'namespace', dynamic 'n'] (required: 2) |
| return-type DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart::_NamespaceImpl |
| |
| Function '_getPointer', static, reflectable, debuggable, external |
| parameters [DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart::_NamespaceImpl 'namespace'] (required: 1) |
| return-type dart:core::int |
| |
| Function '_getDefault', static, reflectable, debuggable, external |
| parameters [] (required: 0) |
| return-type dart:core::int |
| |
| Function '_setupNamespace', static, reflectable, debuggable |
| parameters [dynamic 'namespace'] (required: 1) |
| return-type void |
| |
| Bytecode { |
| Entry 2 |
| CheckStack 0 |
| Allocate CP#0 |
| StoreLocal r1 |
| Push r1 |
| DirectCall CP#1, 1 |
| Drop1 |
| Push FP[-5] |
| DirectCall CP#3, 2 |
| StoreStaticTOS CP#5 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = Class DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart::_NamespaceImpl |
| [1] = DirectCall 'DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart::_NamespaceImpl::_ (constructor)', ArgDesc num-args 1, num-type-args 0, names [] |
| [2] = Reserved |
| [3] = DirectCall 'DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart::_NamespaceImpl::_create', ArgDesc num-args 2, num-type-args 0, names [] |
| [4] = Reserved |
| [5] = StaticField DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart::_NamespaceImpl::_cachedNamespace (field) |
| } |
| |
| |
| Function 'get:_namespace', getter, static, reflectable, debuggable |
| parameters [] (required: 0) |
| return-type DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart::_NamespaceImpl |
| |
| Bytecode { |
| Entry 2 |
| CheckStack 0 |
| LoadStatic CP#0 |
| JumpIfNotNull L1 |
| Allocate CP#1 |
| StoreLocal r1 |
| Push r1 |
| DirectCall CP#2, 1 |
| Drop1 |
| DirectCall CP#4, 0 |
| DirectCall CP#6, 2 |
| StoreStaticTOS CP#0 |
| L1: |
| LoadStatic CP#0 |
| StoreLocal r0 |
| Push r0 |
| NullCheck CP#8 |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = StaticField DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart::_NamespaceImpl::_cachedNamespace (field) |
| [1] = Class DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart::_NamespaceImpl |
| [2] = DirectCall 'DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart::_NamespaceImpl::_ (constructor)', ArgDesc num-args 1, num-type-args 0, names [] |
| [3] = Reserved |
| [4] = DirectCall 'DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart::_NamespaceImpl::_getDefault', ArgDesc num-args 0, num-type-args 0, names [] |
| [5] = Reserved |
| [6] = DirectCall 'DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart::_NamespaceImpl::_create', ArgDesc num-args 2, num-type-args 0, names [] |
| [7] = Reserved |
| [8] = ObjectRef null |
| } |
| |
| |
| Function 'get:_namespacePointer', getter, static, reflectable, debuggable |
| parameters [] (required: 0) |
| return-type dart:core::int |
| |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| DirectCall CP#0, 0 |
| DirectCall CP#2, 1 |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = DirectCall 'DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart::_NamespaceImpl::get:_namespace', ArgDesc num-args 0, num-type-args 0, names [] |
| [1] = Reserved |
| [2] = DirectCall 'DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart::_NamespaceImpl::_getPointer', ArgDesc num-args 1, num-type-args 0, names [] |
| [3] = Reserved |
| } |
| |
| Class '_Namespace', script = 'DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart' |
| extends dart:core::Object |
| |
| |
| Function '', constructor, reflectable |
| parameters [] (required: 0) |
| return-type DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart::_Namespace |
| |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| Push FP[-5] |
| DirectCall CP#0, 1 |
| Drop1 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = DirectCall 'dart:core::Object:: (constructor)', ArgDesc num-args 1, num-type-args 0, names [] |
| [1] = Reserved |
| } |
| |
| |
| Function '_setupNamespace', static, reflectable, debuggable |
| parameters [dynamic 'namespace'] (required: 1) |
| return-type void |
| |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| Push FP[-5] |
| DirectCall CP#0, 1 |
| Drop1 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = DirectCall 'DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart::_NamespaceImpl::_setupNamespace', ArgDesc num-args 1, num-type-args 0, names [] |
| [1] = Reserved |
| } |
| |
| |
| Function 'get:_namespace', getter, static, reflectable, debuggable |
| parameters [] (required: 0) |
| return-type DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart::_Namespace |
| |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| DirectCall CP#0, 0 |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = DirectCall 'DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart::_NamespaceImpl::get:_namespace', ArgDesc num-args 0, num-type-args 0, names [] |
| [1] = Reserved |
| } |
| |
| |
| Function 'get:_namespacePointer', getter, static, reflectable, debuggable |
| parameters [] (required: 0) |
| return-type dart:core::int |
| |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| DirectCall CP#0, 0 |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = DirectCall 'DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart::_NamespaceImpl::get:_namespacePointer', ArgDesc num-args 0, num-type-args 0, names [] |
| [1] = Reserved |
| } |
| |
| Class 'Stdin', script = 'DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart' |
| extends dart:core::Object |
| |
| |
| Function '', constructor, reflectable |
| parameters [] (required: 0) |
| return-type DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart::Stdin |
| |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| Push FP[-5] |
| DirectCall CP#0, 1 |
| Drop1 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = DirectCall 'dart:core::Object:: (constructor)', ArgDesc num-args 1, num-type-args 0, names [] |
| [1] = Reserved |
| } |
| |
| Class '_StdIOUtils', script = 'DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart' |
| extends dart:core::Object |
| |
| |
| Function '', constructor, reflectable |
| parameters [] (required: 0) |
| return-type DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart::_StdIOUtils |
| |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| Push FP[-5] |
| DirectCall CP#0, 1 |
| Drop1 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = DirectCall 'dart:core::Object:: (constructor)', ArgDesc num-args 1, num-type-args 0, names [] |
| [1] = Reserved |
| } |
| |
| |
| Function '_getStdioInputStream', static, reflectable, debuggable, external |
| parameters [dart:core::int 'fd'] (required: 1) |
| return-type DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart::Stdin |
| Class 'Timer', script = 'DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart' |
| extends dart:core::Object |
| |
| |
| Function '', constructor, reflectable |
| parameters [] (required: 0) |
| return-type DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart::Timer |
| |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| Push FP[-5] |
| DirectCall CP#0, 1 |
| Drop1 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = DirectCall 'dart:core::Object:: (constructor)', ArgDesc num-args 1, num-type-args 0, names [] |
| [1] = Reserved |
| } |
| |
| Class 'SendPort', script = 'DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart' |
| extends dart:core::Object |
| |
| |
| Function '', constructor, reflectable |
| parameters [] (required: 0) |
| return-type DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart::SendPort |
| |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| Push FP[-5] |
| DirectCall CP#0, 1 |
| Drop1 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = DirectCall 'dart:core::Object:: (constructor)', ArgDesc num-args 1, num-type-args 0, names [] |
| [1] = Reserved |
| } |
| |
| Class 'VMLibraryHooks', script = 'DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart' |
| extends dart:core::Object |
| |
| Field 'timerFactory', type = FunctionType (dart:core::int, FunctionType (DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart::Timer) -> void, dart:core::bool)? -> DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart::Timer, reflectable, static, is-late, has-initializer |
| value = null |
| |
| Field 'eventHandlerSendData', type = FunctionType (dart:core::Object?, DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart::SendPort, dart:core::int) -> void, getter = 'get:eventHandlerSendData', reflectable, static, is-late |
| value = null |
| |
| Field 'timerMillisecondClock', type = FunctionType () -> dart:core::int, getter = 'get:timerMillisecondClock', reflectable, static, is-late |
| value = null |
| |
| Field 'packageRootString', type = dart:core::String?, reflectable, static, is-late, has-initializer |
| value = null |
| |
| Field 'packageConfigString', type = dart:core::String?, reflectable, static, is-late, has-initializer |
| value = null |
| |
| Field 'packageConfigUriSync', type = FunctionType ()? -> dart:core::Uri?, reflectable, static, is-late, has-initializer |
| value = null |
| |
| Field 'resolvePackageUriSync', type = FunctionType (dart:core::Uri)? -> dart:core::Uri?, reflectable, static, is-late, has-initializer |
| value = null |
| |
| Field '_computeScriptUri', type = FunctionType ()? -> dart:core::Uri, reflectable, static, is-late, has-initializer |
| value = null |
| |
| Field '_cachedScript', type = dart:core::Uri?, reflectable, static, is-late, has-initializer |
| value = null |
| |
| Function '', constructor, reflectable |
| parameters [] (required: 0) |
| return-type DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart::VMLibraryHooks |
| |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| Push FP[-5] |
| DirectCall CP#0, 1 |
| Drop1 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = DirectCall 'dart:core::Object:: (constructor)', ArgDesc num-args 1, num-type-args 0, names [] |
| [1] = Reserved |
| } |
| |
| |
| Function 'set:platformScript', setter, static, reflectable, debuggable |
| parameters [dart:core::Object? 'f'] (required: 1) |
| return-type void |
| |
| Bytecode { |
| Entry 1 |
| CheckStack 0 |
| Push FP[-5] |
| PushConstant CP#0 |
| PushNull |
| PushNull |
| PushConstant CP#1 |
| AssertAssignable 0, CP#2 |
| StoreStaticTOS CP#3 |
| PushNull |
| StoreStaticTOS CP#4 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = Type FunctionType ()? -> dart:core::Uri |
| [1] = ObjectRef ' in type cast' |
| [2] = SubtypeTestCache |
| [3] = StaticField DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart::VMLibraryHooks::_computeScriptUri (field) |
| [4] = StaticField DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart::VMLibraryHooks::_cachedScript (field) |
| } |
| |
| |
| Function 'get:platformScript', getter, static, reflectable, debuggable |
| parameters [] (required: 0) |
| return-type dart:core::Uri? |
| |
| Bytecode { |
| Entry 6 |
| CheckStack 0 |
| LoadStatic CP#0 |
| PopLocal r0 |
| Push r0 |
| JumpIfNotNull L1 |
| LoadStatic CP#1 |
| PopLocal r3 |
| Push r3 |
| JumpIfNotNull L2 |
| PushNull |
| PopLocal r4 |
| Jump L3 |
| L2: |
| Push r3 |
| StoreLocal r5 |
| Push r5 |
| UncheckedClosureCall CP#2, 1 |
| PopLocal r4 |
| L3: |
| Push r4 |
| StoreLocal r2 |
| Push r2 |
| StoreStaticTOS CP#0 |
| PopLocal r1 |
| Jump L4 |
| L1: |
| Push r0 |
| PopLocal r1 |
| L4: |
| Push r1 |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = StaticField DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart::VMLibraryHooks::_cachedScript (field) |
| [1] = StaticField DART_SDK/pkg/dart2bytecode/testcases/bootstrapping.dart::VMLibraryHooks::_computeScriptUri (field) |
| [2] = ObjectRef ArgDesc num-args 1, num-type-args 0, names [] |
| } |
| |