Files
sdk/pkg/vm/testcases/bytecode/deferred_lib.dart.expect
T
Alexander Markov 336969538c [vm/bytecode] Revise representation of types, constants and calls in bytecode
* Type arguments are moved to global object table (and de-duplicated).
* Finalize non-recursive generic types at bytecode generation time.
* Constants are moved to global object table (and de-duplicated).
* ICData creation is avoided for direct calls.
* Interface calls reference target member instead of selector name.

Size of a dilp files: 17868K => 15896K (-11%).

Change-Id: I0c9bf338137a0fae6ed90ab6b125ed2b24a1a8ad
Reviewed-on: https://dart-review.googlesource.com/c/91108
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
2019-02-05 20:13:45 +00:00

49 lines
1.2 KiB
Plaintext

library #lib;
import self as self;
import "./hello.dart" as hel;
import "#pkg/vm/testcases/bytecode/hello.dart" deferred as lib;
[@vm.bytecode=
Bytecode {
Entry 1
CheckStack 0
PushNull
DirectCall 1, CP#0
PopLocal r0
DirectCall 0, CP#2
ReturnTOS
}
ConstantPool {
[0] = DirectCall 'dart:async::Future::value (constructor)', ArgDesc num-args 1, num-type-args 0, names []
[1] = Reserved
[2] = DirectCall '#pkg/vm/testcases/bytecode/hello.dart::main', ArgDesc num-args 0, num-type-args 0, names []
[3] = Reserved
}
]static method callDeferred() → dynamic
return let final dynamic #t1 = CheckLibraryIsLoaded(lib) in hel::main();
[@vm.bytecode=
Bytecode {
Entry 0
CheckStack 0
PushNull
DirectCall 1, CP#0
ReturnTOS
}
ConstantPool {
[0] = DirectCall 'dart:async::Future::value (constructor)', ArgDesc num-args 1, num-type-args 0, names []
[1] = Reserved
}
]static method testLoadLibrary() → dynamic
return LoadLibrary(lib);
[@vm.bytecode=
Bytecode {
Entry 0
CheckStack 0
PushNull
ReturnTOS
}
ConstantPool {
}
]static method main() → dynamic {}