| Bytecode | |
| Dynamic Module Entry Point: DART_SDK/pkg/dart2bytecode/testcases/optional_params.dart::main | |
| Library 'DART_SDK/pkg/dart2bytecode/testcases/optional_params.dart' | |
| name '#lib' | |
| script 'DART_SDK/pkg/dart2bytecode/testcases/optional_params.dart' | |
| Class '', script = 'DART_SDK/pkg/dart2bytecode/testcases/optional_params.dart' | |
| Function 'foo1', static, has-optional-positional-params, reflectable, debuggable | |
| parameters [dynamic 'x', dynamic 'a', dynamic 'b'] (required: 1) | |
| return-type void | |
| Bytecode { | |
| EntryOptional 1, 2, 0 | |
| LoadConstant r1, CP#0 | |
| LoadConstant r2, CP#1 | |
| Frame 0 | |
| CheckStack 0 | |
| PushNull | |
| PushInt 2 | |
| CreateArrayTOS | |
| Dup | |
| PushInt 0 | |
| PushConstant CP#2 | |
| StoreIndexedTOS | |
| Dup | |
| PushInt 1 | |
| Push r0 | |
| StoreIndexedTOS | |
| DirectCall CP#3, 1 | |
| DirectCall CP#5, 1 | |
| Drop1 | |
| PushNull | |
| PushInt 2 | |
| CreateArrayTOS | |
| Dup | |
| PushInt 0 | |
| PushConstant CP#7 | |
| StoreIndexedTOS | |
| Dup | |
| PushInt 1 | |
| Push r1 | |
| StoreIndexedTOS | |
| DirectCall CP#3, 1 | |
| DirectCall CP#5, 1 | |
| Drop1 | |
| PushNull | |
| PushInt 2 | |
| CreateArrayTOS | |
| Dup | |
| PushInt 0 | |
| PushConstant CP#8 | |
| StoreIndexedTOS | |
| Dup | |
| PushInt 1 | |
| Push r2 | |
| StoreIndexedTOS | |
| DirectCall CP#3, 1 | |
| DirectCall CP#5, 1 | |
| Drop1 | |
| PushNull | |
| ReturnTOS | |
| } | |
| ConstantPool { | |
| [0] = ObjectRef 'default_a' | |
| [1] = ObjectRef 'default_b' | |
| [2] = ObjectRef 'x = ' | |
| [3] = DirectCall 'dart:core::_StringBase::_interpolate', ArgDesc num-args 1, num-type-args 0, names [] | |
| [4] = Reserved | |
| [5] = DirectCall 'dart:core::print', ArgDesc num-args 1, num-type-args 0, names [] | |
| [6] = Reserved | |
| [7] = ObjectRef 'a = ' | |
| [8] = ObjectRef 'b = ' | |
| } | |
| Function 'foo2', static, has-optional-named-params, reflectable, debuggable | |
| parameters [dynamic 'y', dynamic 'z', dynamic 'c', dynamic 'a', dynamic 'b'] (required: 2) | |
| return-type void | |
| Bytecode { | |
| EntryOptional 2, 0, 3 | |
| LoadConstant r2, CP#0 | |
| LoadConstant r2, CP#1 | |
| LoadConstant r3, CP#2 | |
| LoadConstant r3, CP#3 | |
| LoadConstant r4, CP#4 | |
| LoadConstant r4, CP#5 | |
| Frame 0 | |
| CheckStack 0 | |
| PushNull | |
| PushInt 2 | |
| CreateArrayTOS | |
| Dup | |
| PushInt 0 | |
| PushConstant CP#6 | |
| StoreIndexedTOS | |
| Dup | |
| PushInt 1 | |
| Push r0 | |
| StoreIndexedTOS | |
| DirectCall CP#7, 1 | |
| DirectCall CP#9, 1 | |
| Drop1 | |
| PushNull | |
| PushInt 2 | |
| CreateArrayTOS | |
| Dup | |
| PushInt 0 | |
| PushConstant CP#11 | |
| StoreIndexedTOS | |
| Dup | |
| PushInt 1 | |
| Push r1 | |
| StoreIndexedTOS | |
| DirectCall CP#7, 1 | |
| DirectCall CP#9, 1 | |
| Drop1 | |
| PushNull | |
| PushInt 2 | |
| CreateArrayTOS | |
| Dup | |
| PushInt 0 | |
| PushConstant CP#12 | |
| StoreIndexedTOS | |
| Dup | |
| PushInt 1 | |
| Push r2 | |
| StoreIndexedTOS | |
| DirectCall CP#7, 1 | |
| DirectCall CP#9, 1 | |
| Drop1 | |
| PushNull | |
| PushInt 2 | |
| CreateArrayTOS | |
| Dup | |
| PushInt 0 | |
| PushConstant CP#13 | |
| StoreIndexedTOS | |
| Dup | |
| PushInt 1 | |
| Push r3 | |
| StoreIndexedTOS | |
| DirectCall CP#7, 1 | |
| DirectCall CP#9, 1 | |
| Drop1 | |
| PushNull | |
| PushInt 2 | |
| CreateArrayTOS | |
| Dup | |
| PushInt 0 | |
| PushConstant CP#14 | |
| StoreIndexedTOS | |
| Dup | |
| PushInt 1 | |
| Push r4 | |
| StoreIndexedTOS | |
| DirectCall CP#7, 1 | |
| DirectCall CP#9, 1 | |
| Drop1 | |
| PushNull | |
| ReturnTOS | |
| } | |
| ConstantPool { | |
| [0] = ObjectRef 'a' | |
| [1] = ObjectRef const 42 | |
| [2] = ObjectRef 'b' | |
| [3] = ObjectRef const List<dart:core::String> ['default_b'] | |
| [4] = ObjectRef 'c' | |
| [5] = ObjectRef 'default_c' | |
| [6] = ObjectRef 'y = ' | |
| [7] = DirectCall 'dart:core::_StringBase::_interpolate', ArgDesc num-args 1, num-type-args 0, names [] | |
| [8] = Reserved | |
| [9] = DirectCall 'dart:core::print', ArgDesc num-args 1, num-type-args 0, names [] | |
| [10] = Reserved | |
| [11] = ObjectRef 'z = ' | |
| [12] = ObjectRef 'a = ' | |
| [13] = ObjectRef 'b = ' | |
| [14] = ObjectRef 'c = ' | |
| } | |
| Function 'foo3', static, has-optional-named-params, reflectable, debuggable | |
| type-params <'P' extends dart:core::Object? (default dynamic), 'Q' extends dart:core::Object? (default dynamic)> | |
| parameters [dynamic 'z', dynamic 'y', dart:core::bool 'a', dart:core::Map < DART_SDK/pkg/dart2bytecode/testcases/optional_params.dart::foo3::TypeParam/0, DART_SDK/pkg/dart2bytecode/testcases/optional_params.dart::foo3::TypeParam/1 > 'b'] (required: 2) | |
| parameter-flags [0, 1] | |
| return-type void | |
| Bytecode { | |
| EntryOptional 2, 0, 2 | |
| LoadConstant r2, CP#0 | |
| LoadConstant r2, CP#1 | |
| LoadConstant r3, CP#2 | |
| LoadConstant r3, CP#3 | |
| Frame 1 | |
| CheckFunctionTypeArgs 2, r4 | |
| CheckStack 0 | |
| PushNull | |
| Push r4 | |
| InstantiateType CP#4 | |
| DirectCall CP#5, 1 | |
| Drop1 | |
| Push r1 | |
| DirectCall CP#5, 1 | |
| Drop1 | |
| Push r3 | |
| DirectCall CP#5, 1 | |
| Drop1 | |
| PushNull | |
| ReturnTOS | |
| } | |
| ConstantPool { | |
| [0] = ObjectRef 'a' | |
| [1] = ObjectRef const false | |
| [2] = ObjectRef 'b' | |
| [3] = ObjectRef null | |
| [4] = Type DART_SDK/pkg/dart2bytecode/testcases/optional_params.dart::foo3::TypeParam/0 | |
| [5] = DirectCall 'dart:core::print', ArgDesc num-args 1, num-type-args 0, names [] | |
| [6] = Reserved | |
| } | |
| Function 'main', static, reflectable, debuggable | |
| parameters [] (required: 0) | |
| return-type dynamic | |
| Bytecode { | |
| Entry 0 | |
| CheckStack 0 | |
| PushConstant CP#0 | |
| PushConstant CP#1 | |
| DirectCall CP#2, 2 | |
| Drop1 | |
| PushConstant CP#4 | |
| PushConstant CP#5 | |
| PushConstant CP#1 | |
| DirectCall CP#6, 3 | |
| Drop1 | |
| PushNull | |
| ReturnTOS | |
| } | |
| ConstantPool { | |
| [0] = ObjectRef 'fixed_x' | |
| [1] = ObjectRef 'concrete_a' | |
| [2] = DirectCall 'DART_SDK/pkg/dart2bytecode/testcases/optional_params.dart::foo1', ArgDesc num-args 2, num-type-args 0, names [] | |
| [3] = Reserved | |
| [4] = ObjectRef 'fixed_y' | |
| [5] = ObjectRef 'fixed_z' | |
| [6] = DirectCall 'DART_SDK/pkg/dart2bytecode/testcases/optional_params.dart::foo2', ArgDesc num-args 3, num-type-args 0, names ['a'] | |
| [7] = Reserved | |
| } | |