Index: sdk/lib/_internal/compiler/js_lib/js_helper.dart |
diff --git a/sdk/lib/_internal/compiler/js_lib/js_helper.dart b/sdk/lib/_internal/compiler/js_lib/js_helper.dart |
index 02ef267082e332bf5b6d1e49159a20c8eecb49e0..f1ef96ce3eea6c47b24d678700aef78d3f404d7d 100644 |
--- a/sdk/lib/_internal/compiler/js_lib/js_helper.dart |
+++ b/sdk/lib/_internal/compiler/js_lib/js_helper.dart |
@@ -2052,7 +2052,11 @@ StackTrace getTraceFromException(exception) { |
if (exception is ExceptionAndStackTrace) { |
return exception.stackTrace; |
} |
- return new _StackTrace(exception); |
+ if (exception == null) return new _StackTrace(exception); |
+ _StackTrace trace = JS('_StackTrace|Null', r'#.$cachedTrace', exception); |
+ if (trace != null) return trace; |
+ trace = new _StackTrace(exception); |
+ return JS('_StackTrace', r'#.$cachedTrace = #', exception, trace); |
} |
class _StackTrace implements StackTrace { |