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

Side by Side Diff: sdk/lib/_internal/compiler/implementation/js_backend/backend.dart

Issue 11304021: Add NativeEnqueuer to work with the Enqueuer. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Add --enable-native-live-type-analysis Created 8 years, 1 month 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) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 part of js_backend; 5 part of js_backend;
6 6
7 typedef void Recompile(Element element); 7 typedef void Recompile(Element element);
8 8
9 class ReturnInfo { 9 class ReturnInfo {
10 HType returnType; 10 HType returnType;
(...skipping 793 matching lines...) Expand 10 before | Expand all | Expand 10 after
804 compiler.codegenWorld.addBailoutCode(work, codeBuffer); 804 compiler.codegenWorld.addBailoutCode(work, codeBuffer);
805 optimizer.prepareForSpeculativeOptimizations(work, graph); 805 optimizer.prepareForSpeculativeOptimizations(work, graph);
806 optimizer.optimize(work, graph, true); 806 optimizer.optimize(work, graph, true);
807 } 807 }
808 CodeBuffer codeBuffer = generator.generateCode(work, graph); 808 CodeBuffer codeBuffer = generator.generateCode(work, graph);
809 compiler.codegenWorld.addGeneratedCode(work, codeBuffer); 809 compiler.codegenWorld.addGeneratedCode(work, codeBuffer);
810 invalidateAfterCodegen.forEach(compiler.enqueuer.codegen.eagerRecompile); 810 invalidateAfterCodegen.forEach(compiler.enqueuer.codegen.eagerRecompile);
811 invalidateAfterCodegen.clear(); 811 invalidateAfterCodegen.clear();
812 } 812 }
813 813
814 void processNativeClasses(Enqueuer world, 814
815 Collection<LibraryElement> libraries) { 815 native.NativeEnqueuer nativeResolutionEnqueuer(Enqueuer world,
816 native.processNativeClasses(world, emitter, libraries); 816 bool liveTypeAnalysis) =>
ngeoffray 2012/11/14 21:17:39 Use {} instead.
sra1 2012/11/15 00:09:10 OK, but I don't really agree with a style guidelin
817 } 817 new native.NativeResolutionEnqueuer(world, compiler, liveTypeAnalysis);
818
819 native.NativeEnqueuer nativeCodegenEnqueuer(Enqueuer world,
820 bool liveTypeAnalysis) =>
ngeoffray 2012/11/14 21:17:39 ditto
821 new native.NativeCodegenEnqueuer(
822 world, compiler, emitter, liveTypeAnalysis);
818 823
819 void assembleProgram() { 824 void assembleProgram() {
820 emitter.assembleProgram(); 825 emitter.assembleProgram();
821 } 826 }
822 827
823 /** 828 /**
824 * Documentation wanted -- johnniwinther 829 * Documentation wanted -- johnniwinther
825 * 830 *
826 * Invariant: [element] must be a declaration element. 831 * Invariant: [element] must be a declaration element.
827 */ 832 */
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after
1015 print("Inferred return types:"); 1020 print("Inferred return types:");
1016 print("----------------------"); 1021 print("----------------------");
1017 dumpReturnTypes(); 1022 dumpReturnTypes();
1018 print(""); 1023 print("");
1019 print("Inferred field types:"); 1024 print("Inferred field types:");
1020 print("------------------------"); 1025 print("------------------------");
1021 fieldTypes.dump(); 1026 fieldTypes.dump();
1022 print(""); 1027 print("");
1023 } 1028 }
1024 } 1029 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698