Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(486)

Unified Diff: runtime/lib/errors.cc

Issue 2466533003: Use old assertion text script in precompiled mode (Closed)
Patch Set: fschneider review Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | tests/language/language.status » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/lib/errors.cc
diff --git a/runtime/lib/errors.cc b/runtime/lib/errors.cc
index b039efa97257f8575b727c52ababeb0fc6c4af13..75f354d4f94ed60ebee55ff347dd6d845340d156 100644
--- a/runtime/lib/errors.cc
+++ b/runtime/lib/errors.cc
@@ -14,6 +14,15 @@ namespace dart {
// Scan the stack until we hit the first function in the _AssertionError
// class. We then return the next frame's script taking inlining into account.
static RawScript* FindScript(DartFrameIterator* iterator) {
+ if (FLAG_precompiled_runtime) {
+ // The precompiled runtime faces two issues in recovering the correct
+ // assertion text. First, the precompiled runtime does not include
+ // the inlining meta-data so we cannot walk the inline-aware stack trace.
+ // Second, the script text itself is missing so whatever script is returned
+ // from here will be missing the assertion expression text.
+ iterator->NextFrame(); // Skip _AssertionError._checkAssertion frame
+ return Exceptions::GetCallerScript(iterator);
+ }
StackFrame* stack_frame = iterator->NextFrame();
Code& code = Code::Handle();
Function& func = Function::Handle();
« no previous file with comments | « no previous file | tests/language/language.status » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698