| 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();
|
|
|