3c32b32d56
In order to enable OSR, CheckStackOverflow IL instructions are attributed with a non-zero loop depth. The original loop depth is passed as operand of CheckStack bytecode instruction. Change-Id: I771f59ba9f8d071680a3b7156be380e0f606b7b2 Reviewed-on: https://dart-review.googlesource.com/c/84081 Reviewed-by: Régis Crelier <regis@google.com> Commit-Queue: Alexander Markov <alexmarkov@google.com>
50 lines
1.2 KiB
Plaintext
50 lines
1.2 KiB
Plaintext
library #lib;
|
|
import self as self;
|
|
import "./hello.dart" as hel;
|
|
|
|
[@vm.bytecode=
|
|
Bytecode (version: stable) {
|
|
Entry 1
|
|
CheckStack 0
|
|
PushNull
|
|
PushConstant CP#1
|
|
IndirectStaticCall 1, CP#0
|
|
PopLocal r0
|
|
PushConstant CP#3
|
|
IndirectStaticCall 0, CP#2
|
|
ReturnTOS
|
|
}
|
|
ConstantPool {
|
|
[0] = ArgDesc num-args 1, num-type-args 0, names []
|
|
[1] = StaticICData target 'dart.async::Future::value', arg-desc CP#0
|
|
[2] = ArgDesc num-args 0, num-type-args 0, names []
|
|
[3] = StaticICData target '#lib1::main', arg-desc CP#2
|
|
}
|
|
]static method callDeferred() → dynamic
|
|
return let final dynamic #t1 = CheckLibraryIsLoaded(lib) in hel::main();
|
|
[@vm.bytecode=
|
|
Bytecode (version: stable) {
|
|
Entry 0
|
|
CheckStack 0
|
|
PushNull
|
|
PushConstant CP#1
|
|
IndirectStaticCall 1, CP#0
|
|
ReturnTOS
|
|
}
|
|
ConstantPool {
|
|
[0] = ArgDesc num-args 1, num-type-args 0, names []
|
|
[1] = StaticICData target 'dart.async::Future::value', arg-desc CP#0
|
|
}
|
|
]static method testLoadLibrary() → dynamic
|
|
return LoadLibrary(lib);
|
|
[@vm.bytecode=
|
|
Bytecode (version: stable) {
|
|
Entry 0
|
|
CheckStack 0
|
|
PushNull
|
|
ReturnTOS
|
|
}
|
|
ConstantPool {
|
|
}
|
|
]static method main() → dynamic {}
|