[vm/aot] Use an explicit error message when run in non AOT mode.

Fixes #42961
Change-Id: I01f77739f4837e2fb9de4f837a03389a32bef72a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/157561
Reviewed-by: Aske Simon Christensen <askesc@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
This commit is contained in:
asiva 2020-08-07 19:30:58 +00:00 committed by commit-bot@chromium.org
parent cf96fa6721
commit a2170d1e58

View file

@ -420,8 +420,12 @@ void DispatchTableGenerator::ReadTableSelectorInfo() {
const auto& info = KernelProgramInfo::Handle(Z, script.kernel_program_info());
kernel::TableSelectorMetadata* metadata =
kernel::TableSelectorMetadataForProgram(info, Z);
// This assert will fail if gen_kernel was run in non-AOT mode or without TFA.
RELEASE_ASSERT(metadata != nullptr);
// Errors out if gen_kernel was run in non-AOT mode or without TFA.
if (metadata == nullptr) {
FATAL(
"Missing table selector metadata!\n"
"Probably gen_kernel was run in non-AOT mode or without TFA.\n");
}
for (intptr_t i = 0; i < metadata->selectors.length(); i++) {
const kernel::TableSelectorInfo* info = &metadata->selectors[i];
selector_map_.AddSelector(info->call_count, info->called_on_null,