| Index: sdk/lib/_internal/pub/lib/src/dart.dart
 | 
| diff --git a/sdk/lib/_internal/pub/lib/src/dart.dart b/sdk/lib/_internal/pub/lib/src/dart.dart
 | 
| index b7765b81475c563adc9419c947e69ba4a8818c2a..f6d8b11074aa9f71f942e6434db7b0e698f7aa2c 100644
 | 
| --- a/sdk/lib/_internal/pub/lib/src/dart.dart
 | 
| +++ b/sdk/lib/_internal/pub/lib/src/dart.dart
 | 
| @@ -127,15 +127,22 @@ class CrossIsolateException implements Exception {
 | 
|    /// Loads a [CrossIsolateException] from a serialized representation.
 | 
|    ///
 | 
|    /// [error] should be the result of [CrossIsolateException.serialize].
 | 
| -  CrossIsolateException.deserialize(Object error)
 | 
| -      : type = error['type'],
 | 
| -        message = error['message'],
 | 
| -        stackTrace = error['stack'] == null ? null :
 | 
| +  factory CrossIsolateException.deserialize(Map error) {
 | 
| +    var type = error['type'];
 | 
| +    var message = error['message'];
 | 
| +    var stackTrace = error['stack'] == null ? null :
 | 
|              new Trace.parse(error['stack']);
 | 
| +    return new CrossIsolateException._(type, message, stackTrace);
 | 
| +  }
 | 
| +
 | 
| +  /// Loads a [CrossIsolateException] from a serialized representation.
 | 
| +  ///
 | 
| +  /// [error] should be the result of [CrossIsolateException.serialize].
 | 
| +  CrossIsolateException._(this.type, this.message, this.stackTrace);
 | 
|  
 | 
|    /// Serializes [error] to an object that can safely be passed across isolate
 | 
|    /// boundaries.
 | 
| -  static Object serialize(error, [StackTrace stack]) {
 | 
| +  static Map serialize(error, [StackTrace stack]) {
 | 
|      if (stack == null) stack = getAttachedStackTrace(error);
 | 
|      return {
 | 
|        'type': error.runtimeType.toString(),
 | 
| 
 |