68de477535
Corresponding VM changes: https://dart-review.googlesource.com/c/sdk/+/101062 On a large app, size of bytecode instructions: Before: 12115384 After: 6282376 (-48.1%) Total size of the app: Before: 29790240 After: 23681504 (-20.5%) Change-Id: Idd8f97e991236c25d663d1bcf18a51a53e73a2b7 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99400 Reviewed-by: Ryan Macnak <rmacnak@google.com>
81 lines
1.6 KiB
Plaintext
81 lines
1.6 KiB
Plaintext
main = #lib::main;
|
|
[@vm.bytecode=
|
|
ComponentBytecodeMetadata {
|
|
|
|
Bytecode (version: stable)
|
|
Main library: #lib
|
|
|
|
}
|
|
] [@vm.bytecode=
|
|
MembersBytecodeMetadata {
|
|
|
|
Members {
|
|
|
|
Function 'callDeferred', static, reflectable, debuggable
|
|
parameters [] (required: 0)
|
|
return-type dynamic
|
|
|
|
|
|
Bytecode {
|
|
Entry 1
|
|
CheckStack 0
|
|
PushNull
|
|
DirectCall CP#0, 1
|
|
PopLocal r0
|
|
DirectCall CP#2, 0
|
|
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
|
|
}
|
|
|
|
|
|
Function 'testLoadLibrary', static, reflectable, debuggable
|
|
parameters [] (required: 0)
|
|
return-type dynamic
|
|
|
|
|
|
Bytecode {
|
|
Entry 0
|
|
CheckStack 0
|
|
PushNull
|
|
DirectCall CP#0, 1
|
|
ReturnTOS
|
|
}
|
|
ConstantPool {
|
|
[0] = DirectCall 'dart:async::Future::value (constructor)', ArgDesc num-args 1, 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 {
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
]library #lib from "#lib" as #lib {
|
|
|
|
import "#pkg/vm/testcases/bytecode/hello.dart" deferred as lib;
|
|
|
|
static method callDeferred() → dynamic
|
|
return let final dynamic #t1 = CheckLibraryIsLoaded(lib) in #lib1::main();
|
|
static method testLoadLibrary() → dynamic
|
|
return LoadLibrary(lib);
|
|
static method main() → dynamic {}
|
|
}
|