Commit 9f38338
[vm] Cache LanguageError result of metadata evaluation
Copying of pragmas during hot reload (Library::CopyPragmas) relies on
pragma metadata being fully evaluated in the earlier stage of hot reload
(in Library::EvaluatePragmas()).
However, if evaluation of metadata has ended with LanguageError,
the result of evaluation was not cached and metadata remains in
the unevaluated state, which triggers assertion in Library::CopyPragmas.
This change adds caching of the metadata evaluation result if
it ends with LanguageError.
TEST=ffi/abi_specific_int_incomplete_jit_test
Fixes #59665
Change-Id: I25e7b8f298f96ff4665e75fbbcbdb6b146c08f61
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/399200
Commit-Queue: Ryan Macnak <[email protected]>
Reviewed-by: Ryan Macnak <[email protected]>
Auto-Submit: Alexander Markov <[email protected]>1 parent 77c761f commit 9f38338
1 file changed
+3
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14207 | 14207 | | |
14208 | 14208 | | |
14209 | 14209 | | |
14210 | | - | |
| 14210 | + | |
14211 | 14211 | | |
14212 | 14212 | | |
14213 | 14213 | | |
| |||
14218 | 14218 | | |
14219 | 14219 | | |
14220 | 14220 | | |
14221 | | - | |
| 14221 | + | |
| 14222 | + | |
14222 | 14223 | | |
14223 | 14224 | | |
14224 | 14225 | | |
| |||
0 commit comments