| Bytecode |
| Dynamic Module Entry Point: DART_SDK/pkg/dart2bytecode/testcases/loops.dart::main |
| Library 'DART_SDK/pkg/dart2bytecode/testcases/loops.dart' |
| name '#lib' |
| script 'DART_SDK/pkg/dart2bytecode/testcases/loops.dart' |
| |
| Class '', script = 'DART_SDK/pkg/dart2bytecode/testcases/loops.dart' |
| |
| |
| Function 'testFor', static, reflectable, debuggable |
| parameters [dart:core::List < dart:core::int > 'list'] (required: 1) |
| return-type dart:core::int |
| |
| Bytecode { |
| Entry 2 |
| CheckStack 0 |
| PushInt 0 |
| PopLocal r0 |
| PushInt 0 |
| PopLocal r1 |
| L2: |
| CheckStack 1 |
| Push r1 |
| Push FP[-5] |
| InterfaceCall CP#0, 1 |
| CompareIntLt |
| JumpIfFalse L1 |
| Push r0 |
| Push FP[-5] |
| Push r1 |
| InterfaceCall CP#2, 2 |
| AddInt |
| PopLocal r0 |
| Push r1 |
| PushInt 1 |
| AddInt |
| StoreLocal r1 |
| Drop1 |
| Jump L2 |
| L1: |
| Push r0 |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = InterfaceCall 'dart:core::List::get:length', ArgDesc num-args 1, num-type-args 0, names [] |
| [1] = Reserved |
| [2] = InterfaceCall 'dart:core::List::[]', ArgDesc num-args 2, num-type-args 0, names [] |
| [3] = Reserved |
| } |
| |
| |
| Function 'testForBreak', static, reflectable, debuggable |
| parameters [dart:core::List < dart:core::int > 'list'] (required: 1) |
| return-type dart:core::int |
| |
| Bytecode { |
| Entry 2 |
| CheckStack 0 |
| PushInt 0 |
| PopLocal r0 |
| PushInt 0 |
| PopLocal r1 |
| L3: |
| CheckStack 1 |
| Push r1 |
| PushInt 0 |
| CompareIntGe |
| JumpIfFalse L1 |
| Push r1 |
| Push FP[-5] |
| InterfaceCall CP#0, 1 |
| CompareIntGe |
| JumpIfFalse L2 |
| Jump L1 |
| L2: |
| Push r0 |
| Push FP[-5] |
| Push r1 |
| InterfaceCall CP#2, 2 |
| AddInt |
| PopLocal r0 |
| Push r1 |
| PushInt 1 |
| AddInt |
| StoreLocal r1 |
| Drop1 |
| Jump L3 |
| L1: |
| Push r0 |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = InterfaceCall 'dart:core::List::get:length', ArgDesc num-args 1, num-type-args 0, names [] |
| [1] = Reserved |
| [2] = InterfaceCall 'dart:core::List::[]', ArgDesc num-args 2, num-type-args 0, names [] |
| [3] = Reserved |
| } |
| |
| |
| Function 'testForContinue', static, reflectable, debuggable |
| parameters [dart:core::List < dart:core::int > 'list'] (required: 1) |
| return-type dart:core::int |
| |
| Bytecode { |
| Entry 2 |
| CheckStack 0 |
| PushInt 0 |
| PopLocal r0 |
| PushInt 100 |
| NegateInt |
| PopLocal r1 |
| L4: |
| CheckStack 1 |
| Push r1 |
| Push FP[-5] |
| InterfaceCall CP#0, 1 |
| CompareIntLt |
| JumpIfFalse L1 |
| Push r1 |
| PushInt 0 |
| CompareIntLt |
| JumpIfFalse L2 |
| Jump L3 |
| L2: |
| Push r0 |
| Push FP[-5] |
| Push r1 |
| InterfaceCall CP#2, 2 |
| AddInt |
| PopLocal r0 |
| L3: |
| Push r1 |
| PushInt 1 |
| AddInt |
| StoreLocal r1 |
| Drop1 |
| Jump L4 |
| L1: |
| Push r0 |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = InterfaceCall 'dart:core::List::get:length', ArgDesc num-args 1, num-type-args 0, names [] |
| [1] = Reserved |
| [2] = InterfaceCall 'dart:core::List::[]', ArgDesc num-args 2, num-type-args 0, names [] |
| [3] = Reserved |
| } |
| |
| |
| Function 'testWhile', static, reflectable, debuggable |
| parameters [dart:core::List < dart:core::int > 'list'] (required: 1) |
| return-type dart:core::int |
| |
| Bytecode { |
| Entry 4 |
| CheckStack 0 |
| PushInt 0 |
| PopLocal r0 |
| PushInt 0 |
| PopLocal r1 |
| L2: |
| CheckStack 1 |
| Push r1 |
| Push FP[-5] |
| InterfaceCall CP#0, 1 |
| CompareIntLt |
| JumpIfFalse L1 |
| Push r0 |
| Push FP[-5] |
| Push r1 |
| PopLocal r2 |
| Push r2 |
| PushInt 1 |
| AddInt |
| StoreLocal r1 |
| PopLocal r3 |
| Push r2 |
| InterfaceCall CP#2, 2 |
| AddInt |
| PopLocal r0 |
| Jump L2 |
| L1: |
| Push r0 |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = InterfaceCall 'dart:core::List::get:length', ArgDesc num-args 1, num-type-args 0, names [] |
| [1] = Reserved |
| [2] = InterfaceCall 'dart:core::List::[]', ArgDesc num-args 2, num-type-args 0, names [] |
| [3] = Reserved |
| } |
| |
| |
| Function 'testDoWhile', static, reflectable, debuggable |
| parameters [dart:core::List < dart:core::int > 'list'] (required: 1) |
| return-type dart:core::int |
| |
| Bytecode { |
| Entry 2 |
| CheckStack 0 |
| PushInt 0 |
| PopLocal r0 |
| PushInt 0 |
| PopLocal r1 |
| L1: |
| CheckStack 1 |
| Push r0 |
| Push FP[-5] |
| Push r1 |
| InterfaceCall CP#0, 2 |
| AddInt |
| PopLocal r0 |
| Push r1 |
| PushInt 1 |
| AddInt |
| PopLocal r1 |
| Push r1 |
| Push FP[-5] |
| InterfaceCall CP#2, 1 |
| CompareIntLt |
| JumpIfTrue L1 |
| Push r0 |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = InterfaceCall 'dart:core::List::[]', ArgDesc num-args 2, num-type-args 0, names [] |
| [1] = Reserved |
| [2] = InterfaceCall 'dart:core::List::get:length', ArgDesc num-args 1, num-type-args 0, names [] |
| [3] = Reserved |
| } |
| |
| |
| Function 'testForIn', static, reflectable, debuggable |
| parameters [dart:core::List < dart:core::int > 'list'] (required: 1) |
| return-type dart:core::int |
| |
| Bytecode { |
| Entry 3 |
| CheckStack 0 |
| PushInt 0 |
| PopLocal r0 |
| Push FP[-5] |
| InterfaceCall CP#0, 1 |
| PopLocal r1 |
| L2: |
| CheckStack 1 |
| Push r1 |
| InterfaceCall CP#2, 1 |
| JumpIfFalse L1 |
| Push r1 |
| InterfaceCall CP#4, 1 |
| PopLocal r2 |
| Push r0 |
| Push r2 |
| AddInt |
| PopLocal r0 |
| Jump L2 |
| L1: |
| Push r0 |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = InterfaceCall 'dart:core::Iterable::get:iterator', ArgDesc num-args 1, num-type-args 0, names [] |
| [1] = Reserved |
| [2] = InterfaceCall 'dart:core::Iterator::moveNext', ArgDesc num-args 1, num-type-args 0, names [] |
| [3] = Reserved |
| [4] = InterfaceCall 'dart:core::Iterator::get:current', ArgDesc num-args 1, num-type-args 0, names [] |
| [5] = Reserved |
| } |
| |
| |
| Function 'testForInWithOuterVar', static, reflectable, debuggable |
| parameters [dart:core::List < dart:core::int > 'list'] (required: 1) |
| return-type dart:core::int |
| |
| Bytecode { |
| Entry 4 |
| CheckStack 0 |
| PushInt 0 |
| PopLocal r0 |
| PushInt 42 |
| PopLocal r1 |
| Push FP[-5] |
| InterfaceCall CP#0, 1 |
| PopLocal r2 |
| L2: |
| CheckStack 1 |
| Push r2 |
| InterfaceCall CP#2, 1 |
| JumpIfFalse L1 |
| Push r2 |
| InterfaceCall CP#4, 1 |
| PopLocal r3 |
| Push r3 |
| PopLocal r1 |
| Push r0 |
| Push r1 |
| AddInt |
| PopLocal r0 |
| Jump L2 |
| L1: |
| Push r0 |
| ReturnTOS |
| } |
| ConstantPool { |
| [0] = InterfaceCall 'dart:core::Iterable::get:iterator', ArgDesc num-args 1, num-type-args 0, names [] |
| [1] = Reserved |
| [2] = InterfaceCall 'dart:core::Iterator::moveNext', ArgDesc num-args 1, num-type-args 0, names [] |
| [3] = Reserved |
| [4] = InterfaceCall 'dart:core::Iterator::get:current', ArgDesc num-args 1, num-type-args 0, names [] |
| [5] = Reserved |
| } |
| |
| |
| Function 'main', static, reflectable, debuggable |
| parameters [] (required: 0) |
| return-type dynamic |
| |
| Bytecode { |
| Entry 0 |
| CheckStack 0 |
| PushNull |
| ReturnTOS |
| } |
| ConstantPool { |
| } |
| |