blob: 11d1d08b8763e2771dcda539d7c6f3b0f9599f4c [file] [log] [blame]
main = #lib::main;
[@vm.bytecode=
BytecodeMetadata {
Bytecode (version: stable)
Main library: #lib
Library '#lib'
name '#lib'
script '#lib'
Class '', script = '#lib'
Function 'test_for', 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
InterfaceCall CP#2, 2
AssertBoolean 0
JumpIfFalse L1
Push r0
Push FP[-5]
Push r1
InterfaceCall CP#4, 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::num::<', ArgDesc num-args 2, num-type-args 0, names []
[3] = Reserved
[4] = InterfaceCall 'dart:core::List::[]', ArgDesc num-args 2, num-type-args 0, names []
[5] = Reserved
}
Function 'test_for_break', 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
InterfaceCall CP#2, 2
AssertBoolean 0
JumpIfFalse L2
Jump L1
L2:
Push r0
Push FP[-5]
Push r1
InterfaceCall CP#4, 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::num::>=', ArgDesc num-args 2, num-type-args 0, names []
[3] = Reserved
[4] = InterfaceCall 'dart:core::List::[]', ArgDesc num-args 2, num-type-args 0, names []
[5] = Reserved
}
Function 'test_for_continue', 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
InterfaceCall CP#2, 2
AssertBoolean 0
JumpIfFalse L1
Push r1
PushInt 0
CompareIntLt
JumpIfFalse L2
Jump L3
L2:
Push r0
Push FP[-5]
Push r1
InterfaceCall CP#4, 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::num::<', ArgDesc num-args 2, num-type-args 0, names []
[3] = Reserved
[4] = InterfaceCall 'dart:core::List::[]', ArgDesc num-args 2, num-type-args 0, names []
[5] = Reserved
}
Function 'test_while', 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
InterfaceCall CP#2, 2
AssertBoolean 0
JumpIfFalse L1
Push r0
Push FP[-5]
Push r1
PopLocal r2
Push r2
PushInt 1
AddInt
StoreLocal r1
PopLocal r3
Push r2
InterfaceCall CP#4, 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::num::<', ArgDesc num-args 2, num-type-args 0, names []
[3] = Reserved
[4] = InterfaceCall 'dart:core::List::[]', ArgDesc num-args 2, num-type-args 0, names []
[5] = Reserved
}
Function 'test_do_while', 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
InterfaceCall CP#4, 2
AssertBoolean 0
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
[4] = InterfaceCall 'dart:core::num::<', ArgDesc num-args 2, num-type-args 0, names []
[5] = Reserved
}
Function 'test_for_in', 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
AssertBoolean 0
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 'test_for_in_with_outer_var', 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
AssertBoolean 0
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 {
}
}
]library #lib from "#lib" as #lib {
static method test_for(dart.core::List<dart.core::int*>* list) dart.core::int* {
dart.core::int* sum = 0;
for (dart.core::int* i = 0; i.{dart.core::num::<}(list.{dart.core::List::length}); i = i.{dart.core::num::+}(1)) {
sum = sum.{dart.core::num::+}(list.{dart.core::List::[]}(i));
}
return sum;
}
static method test_for_break(dart.core::List<dart.core::int*>* list) dart.core::int* {
dart.core::int* sum = 0;
#L1:
for (dart.core::int* i = 0; i.{dart.core::num::>=}(0); i = i.{dart.core::num::+}(1)) {
if(i.{dart.core::num::>=}(list.{dart.core::List::length})) {
break #L1;
}
sum = sum.{dart.core::num::+}(list.{dart.core::List::[]}(i));
}
return sum;
}
static method test_for_continue(dart.core::List<dart.core::int*>* list) dart.core::int* {
dart.core::int* sum = 0;
for (dart.core::int* i = 100.{dart.core::int::unary-}(); i.{dart.core::num::<}(list.{dart.core::List::length}); i = i.{dart.core::num::+}(1))
#L2:
{
if(i.{dart.core::num::<}(0)) {
break #L2;
}
sum = sum.{dart.core::num::+}(list.{dart.core::List::[]}(i));
}
return sum;
}
static method test_while(dart.core::List<dart.core::int*>* list) dart.core::int* {
dart.core::int* sum = 0;
dart.core::int* i = 0;
while (i.{dart.core::num::<}(list.{dart.core::List::length})) {
sum = sum.{dart.core::num::+}(list.{dart.core::List::[]}(let final dart.core::int* #t1 = i in let final dart.core::int* #t2 = i = #t1.{dart.core::num::+}(1) in #t1));
}
return sum;
}
static method test_do_while(dart.core::List<dart.core::int*>* list) dart.core::int* {
dart.core::int* sum = 0;
dart.core::int* i = 0;
do {
sum = sum.{dart.core::num::+}(list.{dart.core::List::[]}(i));
i = i.{dart.core::num::+}(1);
}
while (i.{dart.core::num::<}(list.{dart.core::List::length}))
return sum;
}
static method test_for_in(dart.core::List<dart.core::int*>* list) dart.core::int* {
dart.core::int* sum = 0;
{
dart.core::Iterator<dart.core::int*>* :sync-for-iterator = list.{dart.core::Iterable::iterator};
for (; :sync-for-iterator.{dart.core::Iterator::moveNext}(); ) {
dart.core::int* e = :sync-for-iterator.{dart.core::Iterator::current};
{
sum = sum.{dart.core::num::+}(e);
}
}
}
return sum;
}
static method test_for_in_with_outer_var(dart.core::List<dart.core::int*>* list) dart.core::int* {
dart.core::int* sum = 0;
dart.core::int* e = 42;
{
dart.core::Iterator<dart.core::int*>* :sync-for-iterator = list.{dart.core::Iterable::iterator};
for (; :sync-for-iterator.{dart.core::Iterator::moveNext}(); ) {
final dart.core::int* #t3 = :sync-for-iterator.{dart.core::Iterator::current};
{
e = #t3;
sum = sum.{dart.core::num::+}(e);
}
}
}
return sum;
}
static method main() dynamic {}
}