| Index: runtime/bin/platform_impl.dart | 
| diff --git a/runtime/bin/platform_impl.dart b/runtime/bin/platform_impl.dart | 
| index f859854e89cdeca9e3b20a6841ce45b30197b8ad..46f041370ee0ef805a63b622c6f300ffd2981a7f 100644 | 
| --- a/runtime/bin/platform_impl.dart | 
| +++ b/runtime/bin/platform_impl.dart | 
| @@ -1,4 +1,4 @@ | 
| -// Copyright (c) 2011, the Dart project authors.  Please see the AUTHORS file | 
| +// Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file | 
| // for details. All rights reserved. Use of this source code is governed by a | 
| // BSD-style license that can be found in the LICENSE file. | 
|  | 
| @@ -9,6 +9,7 @@ class _Platform implements Platform { | 
| static String _pathSeparator() native "Platform_PathSeparator"; | 
| static String _operatingSystem() native "Platform_OperatingSystem"; | 
| static _localHostname() native "Platform_LocalHostname"; | 
| +  static _environment() native "Platform_Environment"; | 
|  | 
| int numberOfProcessors() { | 
| return _numberOfProcessors(); | 
| @@ -30,4 +31,19 @@ class _Platform implements Platform { | 
| return result; | 
| } | 
| } | 
| + | 
| +  Map<String, String> environment() { | 
| +    var env = _environment(); | 
| +    if (env is OSError) { | 
| +      throw env; | 
| +    } else { | 
| +      var result = new Map(); | 
| +      for (var str in env) { | 
| +        var equalsIndex = str.indexOf('='); | 
| +        assert(equalsIndex != -1); | 
| +        result[str.substring(0, equalsIndex)] = str.substring(equalsIndex + 1); | 
| +      } | 
| +      return result; | 
| +    } | 
| +  } | 
| } | 
|  |