OLD | NEW |
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 Loading... |
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 return new native.NativeResolutionEnqueuer(world, compiler); |
| 817 } |
| 818 |
| 819 native.NativeEnqueuer nativeCodegenEnqueuer(Enqueuer world) { |
| 820 return new native.NativeCodegenEnqueuer(world, compiler, emitter); |
817 } | 821 } |
818 | 822 |
819 void assembleProgram() { | 823 void assembleProgram() { |
820 emitter.assembleProgram(); | 824 emitter.assembleProgram(); |
821 } | 825 } |
822 | 826 |
823 /** | 827 /** |
824 * Documentation wanted -- johnniwinther | 828 * Documentation wanted -- johnniwinther |
825 * | 829 * |
826 * Invariant: [element] must be a declaration element. | 830 * Invariant: [element] must be a declaration element. |
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1015 print("Inferred return types:"); | 1019 print("Inferred return types:"); |
1016 print("----------------------"); | 1020 print("----------------------"); |
1017 dumpReturnTypes(); | 1021 dumpReturnTypes(); |
1018 print(""); | 1022 print(""); |
1019 print("Inferred field types:"); | 1023 print("Inferred field types:"); |
1020 print("------------------------"); | 1024 print("------------------------"); |
1021 fieldTypes.dump(); | 1025 fieldTypes.dump(); |
1022 print(""); | 1026 print(""); |
1023 } | 1027 } |
1024 } | 1028 } |
OLD | NEW |