Index: dart/sdk/lib/_internal/compiler/implementation/compiler.dart |
=================================================================== |
--- dart/sdk/lib/_internal/compiler/implementation/compiler.dart (revision 16250) |
+++ dart/sdk/lib/_internal/compiler/implementation/compiler.dart (working copy) |
@@ -128,7 +128,6 @@ |
Element _currentElement; |
LibraryElement coreLibrary; |
LibraryElement isolateLibrary; |
- LibraryElement isolateHelperLibrary; |
LibraryElement jsHelperLibrary; |
LibraryElement interceptorsLibrary; |
LibraryElement foreignLibrary; |
@@ -403,33 +402,12 @@ |
void enableIsolateSupport(LibraryElement element) { |
// TODO(ahe): Move this method to Enqueuer. |
isolateLibrary = element.patch; |
- isolateHelperLibrary = scanBuiltinLibrary('_isolate_helper'); |
- importForeignLibrary(isolateHelperLibrary); |
- importHelperLibrary(isolateHelperLibrary); |
- |
- libraryLoader.importLibrary(isolateLibrary, isolateHelperLibrary, null); |
+ enqueuer.resolution.addToWorkList(isolateLibrary.find(START_ROOT_ISOLATE)); |
enqueuer.resolution.addToWorkList( |
- isolateHelperLibrary.find(START_ROOT_ISOLATE)); |
+ isolateLibrary.find(const SourceString('_currentIsolate'))); |
enqueuer.resolution.addToWorkList( |
- isolateHelperLibrary.find(const SourceString('_currentIsolate'))); |
- enqueuer.resolution.addToWorkList( |
- isolateHelperLibrary.find(const SourceString('_callInIsolate'))); |
- enqueuer.codegen.addToWorkList( |
- isolateHelperLibrary.find(START_ROOT_ISOLATE)); |
- |
- // The helper library does not use the native language extension, |
- // so we manually set the native classes this library defines. |
- // TODO(ngeoffray): Enable annotations on these classes. |
- ClassElement cls = isolateHelperLibrary.find(const SourceString('_Window')); |
- cls.setNative('"*DOMWindow"'); |
- |
- cls = isolateHelperLibrary.find(const SourceString('_WorkerStub')); |
- cls.setNative('"*Worker"'); |
- |
- enqueuer.resolution.nativeEnqueuer.processNativeClassesInLibrary( |
- isolateHelperLibrary); |
- enqueuer.codegen.nativeEnqueuer.processNativeClassesInLibrary( |
- isolateHelperLibrary); |
+ isolateLibrary.find(const SourceString('_callInIsolate'))); |
+ enqueuer.codegen.addToWorkList(isolateLibrary.find(START_ROOT_ISOLATE)); |
} |
bool hasIsolateSupport() => isolateLibrary != null; |
@@ -522,7 +500,7 @@ |
/** Define the JS helper functions in the given library. */ |
void importForeignLibrary(LibraryElement library) { |
- if (foreignLibrary != null) { |
+ if (jsHelperLibrary != null) { |
libraryLoader.importLibrary(library, foreignLibrary, null); |
} |
} |
@@ -535,6 +513,7 @@ |
'dart/tests/compiler/dart2js_native'); |
if (nativeTest |
|| libraryName == 'dart:mirrors' |
+ || libraryName == 'dart:isolate' |
|| libraryName == 'dart:math' |
|| libraryName == 'dart:html' |
|| libraryName == 'dart:html_common' |