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

Side by Side Diff: sdk/lib/_internal/compiler/js_lib/js_helper.dart

Issue 949733003: Share the JavaScript based LinkedHashMap implementation between constant maps and the LinkedHashMap… (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 5 years, 10 months 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library _js_helper; 5 library _js_helper;
6 6
7 import 'dart:_async_await_error_codes' as async_error_codes; 7 import 'dart:_async_await_error_codes' as async_error_codes;
8 8
9 import 'dart:_js_embedded_names' show 9 import 'dart:_js_embedded_names' show
10 GET_TYPE_FROM_NAME, 10 GET_TYPE_FROM_NAME,
11 GET_ISOLATE_TAG, 11 GET_ISOLATE_TAG,
12 INTERCEPTED_NAMES, 12 INTERCEPTED_NAMES,
13 INTERCEPTORS_BY_TAG, 13 INTERCEPTORS_BY_TAG,
14 LEAF_TAGS, 14 LEAF_TAGS,
15 METADATA, 15 METADATA,
16 DEFERRED_LIBRARY_URIS, 16 DEFERRED_LIBRARY_URIS,
17 DEFERRED_LIBRARY_HASHES, 17 DEFERRED_LIBRARY_HASHES,
18 INITIALIZE_LOADED_HUNK, 18 INITIALIZE_LOADED_HUNK,
19 IS_HUNK_LOADED, 19 IS_HUNK_LOADED,
20 IS_HUNK_INITIALIZED, 20 IS_HUNK_INITIALIZED,
21 NATIVE_SUPERCLASS_TAG_NAME; 21 NATIVE_SUPERCLASS_TAG_NAME;
22 22
23 import 'dart:collection'; 23 import 'dart:collection';
24
24 import 'dart:_isolate_helper' show 25 import 'dart:_isolate_helper' show
25 IsolateNatives, 26 IsolateNatives,
26 enterJsAsync, 27 enterJsAsync,
27 isWorker, 28 isWorker,
28 leaveJsAsync; 29 leaveJsAsync;
29 30
30 import 'dart:async' show 31 import 'dart:async' show
31 Future, 32 Future,
32 DeferredLoadException, 33 DeferredLoadException,
33 Completer, 34 Completer,
(...skipping 26 matching lines...) Expand all
60 JS_NULL_CLASS_NAME, 61 JS_NULL_CLASS_NAME,
61 JS_OBJECT_CLASS_NAME, 62 JS_OBJECT_CLASS_NAME,
62 JS_OPERATOR_AS_PREFIX, 63 JS_OPERATOR_AS_PREFIX,
63 JS_OPERATOR_IS_PREFIX, 64 JS_OPERATOR_IS_PREFIX,
64 JS_SIGNATURE_NAME, 65 JS_SIGNATURE_NAME,
65 JS_STRING_CONCAT, 66 JS_STRING_CONCAT,
66 RAW_DART_FUNCTION_REF; 67 RAW_DART_FUNCTION_REF;
67 68
68 import 'dart:_interceptors'; 69 import 'dart:_interceptors';
69 import 'dart:_internal' as _symbol_dev; 70 import 'dart:_internal' as _symbol_dev;
70 import 'dart:_internal' show MappedIterable; 71 import 'dart:_internal' show MappedIterable, EfficientLength;
71 72
72 import 'dart:_native_typed_data'; 73 import 'dart:_native_typed_data';
73 74
74 import 'dart:_js_names' show 75 import 'dart:_js_names' show
75 extractKeys, 76 extractKeys,
76 mangledNames, 77 mangledNames,
77 unmangleGlobalNameIfPreservedAnyways, 78 unmangleGlobalNameIfPreservedAnyways,
78 unmangleAllIdentifiersIfPreservedAnyways; 79 unmangleAllIdentifiersIfPreservedAnyways;
79 80
80 part 'annotations.dart'; 81 part 'annotations.dart';
81 part 'constant_map.dart'; 82 part 'constant_map.dart';
82 part 'native_helper.dart'; 83 part 'native_helper.dart';
83 part 'regexp_helper.dart'; 84 part 'regexp_helper.dart';
84 part 'string_helper.dart'; 85 part 'string_helper.dart';
85 part 'js_rti.dart'; 86 part 'js_rti.dart';
87 part 'linked_hash_map.dart';
86 88
87 /// Marks the internal map in dart2js, so that internal libraries can is-check 89 /// Marks the internal map in dart2js, so that internal libraries can is-check
88 /// them. 90 /// them.
89 abstract class InternalMap { 91 abstract class InternalMap {
90 } 92 }
91 93
92 /// No-op method that is called to inform the compiler that preambles might 94 /// No-op method that is called to inform the compiler that preambles might
93 /// be needed when executing the resulting JS file in a command-line 95 /// be needed when executing the resulting JS file in a command-line
94 /// JS engine. 96 /// JS engine.
95 requiresPreamble() {} 97 requiresPreamble() {}
(...skipping 3776 matching lines...) Expand 10 before | Expand all | Expand 10 after
3872 // This is a function that will return a helper function that does the 3874 // This is a function that will return a helper function that does the
3873 // iteration of the sync*. 3875 // iteration of the sync*.
3874 // 3876 //
3875 // Each invocation should give a body with fresh state. 3877 // Each invocation should give a body with fresh state.
3876 final dynamic /* js function */ _outerHelper; 3878 final dynamic /* js function */ _outerHelper;
3877 3879
3878 SyncStarIterable(this._outerHelper); 3880 SyncStarIterable(this._outerHelper);
3879 3881
3880 Iterator get iterator => new SyncStarIterator(JS('', '#()', _outerHelper)); 3882 Iterator get iterator => new SyncStarIterator(JS('', '#()', _outerHelper));
3881 } 3883 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698