| Bytecode |
| Dynamic Module Entry Point: DART_SDK/pkg/dart2bytecode/testcases/switch.dart::main |
| Library 'DART_SDK/pkg/dart2bytecode/testcases/switch.dart' |
| name '#lib' |
| script 'DART_SDK/pkg/dart2bytecode/testcases/switch.dart' |
| |
| Class '', script = 'DART_SDK/pkg/dart2bytecode/testcases/switch.dart' |
| |
| |
| Function 'foo1', static, reflectable, debuggable |
| parameters [dart:core::int 'x'] (required: 1) |
| return-type dart:core::int |
| |
| Bytecode { |
| Entry 2 |
| CheckStack 0 |
| PushInt 1 |
| NegateInt |
| PopLocal r0 |
| Push FP[-5] |
| PopLocal r1 |
| PushInt 1 |
| Push r1 |
| InterfaceCall CP#0, 2 |
| JumpIfTrue L1 |
| PushInt 2 |
| Push r1 |
| InterfaceCall CP#0, 2 |
| JumpIfTrue L2 |
| PushInt 3 |
| Push r1 |
| InterfaceCall CP#0, 2 |
| JumpIfTrue L3 |
| Jump L4 |
| L1: |
| PushInt 11 |
| PopLocal r0 |
| Jump L4 |
| L2: |
| PushInt 22 |
| PopLocal r0 |
| Jump L4 |
| L3: |
| PushInt 33 |
| PopLocal r0 |
| Jump L4 |
| L4: |
| Push r0 |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = InterfaceCall 'dart:core::Object::==', ArgDesc num-args 2, num-type-args 0, names [] |
| [1] = Reserved |
| } |
| |
| |
| Function 'foo2', static, reflectable, debuggable |
| parameters [dart:core::int 'x'] (required: 1) |
| return-type dart:core::int |
| |
| Bytecode { |
| Entry 2 |
| CheckStack 0 |
| PushNull |
| PopLocal r0 |
| Push FP[-5] |
| PopLocal r1 |
| PushInt 1 |
| Push r1 |
| InterfaceCall CP#0, 2 |
| JumpIfTrue L1 |
| PushInt 2 |
| Push r1 |
| InterfaceCall CP#0, 2 |
| JumpIfTrue L1 |
| PushInt 3 |
| Push r1 |
| InterfaceCall CP#0, 2 |
| JumpIfTrue L1 |
| PushInt 4 |
| Push r1 |
| InterfaceCall CP#0, 2 |
| JumpIfTrue L2 |
| PushInt 5 |
| Push r1 |
| InterfaceCall CP#0, 2 |
| JumpIfTrue L2 |
| PushInt 6 |
| Push r1 |
| InterfaceCall CP#0, 2 |
| JumpIfTrue L2 |
| Jump L3 |
| L1: |
| PushInt 11 |
| PopLocal r0 |
| Jump L4 |
| L2: |
| PushInt 22 |
| PopLocal r0 |
| Jump L4 |
| L3: |
| PushInt 33 |
| PopLocal r0 |
| L4: |
| Push r0 |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = InterfaceCall 'dart:core::Object::==', ArgDesc num-args 2, num-type-args 0, names [] |
| [1] = Reserved |
| } |
| |
| |
| Function 'foo3', static, reflectable, debuggable |
| parameters [dart:core::int 'x'] (required: 1) |
| return-type dart:core::int |
| |
| Bytecode { |
| Entry 2 |
| CheckStack 0 |
| PushNull |
| PopLocal r0 |
| Push FP[-5] |
| PopLocal r1 |
| PushInt 1 |
| Push r1 |
| InterfaceCall CP#0, 2 |
| JumpIfTrue L1 |
| PushInt 2 |
| Push r1 |
| InterfaceCall CP#0, 2 |
| JumpIfTrue L1 |
| PushInt 3 |
| Push r1 |
| InterfaceCall CP#0, 2 |
| JumpIfTrue L1 |
| PushInt 4 |
| Push r1 |
| InterfaceCall CP#0, 2 |
| JumpIfTrue L2 |
| PushInt 5 |
| Push r1 |
| InterfaceCall CP#0, 2 |
| JumpIfTrue L2 |
| PushInt 6 |
| Push r1 |
| InterfaceCall CP#0, 2 |
| JumpIfTrue L2 |
| Jump L3 |
| L1: |
| PushInt 11 |
| PopLocal r0 |
| Jump L2 |
| L2: |
| PushInt 22 |
| PopLocal r0 |
| PushInt 42 |
| ReturnTOS |
| L3: |
| PushInt 33 |
| PopLocal r0 |
| Push r0 |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = InterfaceCall 'dart:core::Object::==', ArgDesc num-args 2, num-type-args 0, names [] |
| [1] = Reserved |
| } |
| |
| |
| Function 'main', static, reflectable, debuggable |
| parameters [] (required: 0) |
| return-type dynamic |
| |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| } |
| |