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

Side by Side Diff: pkg/compiler/lib/src/js_emitter/lazy_emitter/model_emitter.dart

Issue 1617083002: Base JavaScript code position computation on JavaScript tracer. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Updated cf. comments. Created 4 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
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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 dart2js.js_emitter.lazy_emitter.model_emitter; 5 library dart2js.js_emitter.lazy_emitter.model_emitter;
6 6
7 import '../../compiler.dart' show 7 import '../../compiler.dart' show
8 Compiler; 8 Compiler;
9 import '../../constants/values.dart' show 9 import '../../constants/values.dart' show
10 ConstantValue, 10 ConstantValue,
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
152 }).toList(); 152 }).toList();
153 153
154 js.Statement mainAst = emitMainFragment(program); 154 js.Statement mainAst = emitMainFragment(program);
155 155
156 js.TokenCounter counter = new js.TokenCounter(); 156 js.TokenCounter counter = new js.TokenCounter();
157 fragmentsCode.forEach(counter.countTokens); 157 fragmentsCode.forEach(counter.countTokens);
158 counter.countTokens(mainAst); 158 counter.countTokens(mainAst);
159 159
160 program.finalizers.forEach((js.TokenFinalizer f) => f.finalizeTokens()); 160 program.finalizers.forEach((js.TokenFinalizer f) => f.finalizeTokens());
161 161
162 // TODO(johnnniwinther): Support source maps in this emitter.
162 for (int i = 0; i < fragmentsCode.length; ++i) { 163 for (int i = 0; i < fragmentsCode.length; ++i) {
163 String code = js.prettyPrint(fragmentsCode[i], compiler).getText(); 164 String code = js.createCodeBuffer(fragmentsCode[i], compiler).getText();
164 totalSize += code.length; 165 totalSize += code.length;
165 compiler.outputProvider(fragments[i+1].outputFileName, deferredExtension) 166 compiler.outputProvider(fragments[i+1].outputFileName, deferredExtension)
166 ..add(code) 167 ..add(code)
167 ..close(); 168 ..close();
168 } 169 }
169 170
170 String mainCode = js.prettyPrint(mainAst, compiler).getText(); 171 String mainCode = js.createCodeBuffer(mainAst, compiler).getText();
171 compiler.outputProvider(mainFragment.outputFileName, 'js') 172 compiler.outputProvider(mainFragment.outputFileName, 'js')
172 ..add(buildGeneratedBy(compiler)) 173 ..add(buildGeneratedBy(compiler))
173 ..add(mainCode) 174 ..add(mainCode)
174 ..close(); 175 ..close();
175 totalSize += mainCode.length; 176 totalSize += mainCode.length;
176 177
177 return totalSize; 178 return totalSize;
178 } 179 }
179 180
180 /// Returns a [js.Literal] that represents the string result of unparsing 181 /// Returns a [js.Literal] that represents the string result of unparsing
(...skipping 1068 matching lines...) Expand 10 before | Expand all | Expand 10 after
1249 1250
1250 var end = Date.now(); 1251 var end = Date.now();
1251 // print('Setup: ' + (end - start) + ' ms.'); 1252 // print('Setup: ' + (end - start) + ' ms.');
1252 1253
1253 #invokeMain; // Start main. 1254 #invokeMain; // Start main.
1254 1255
1255 })(Date.now(), #code) 1256 })(Date.now(), #code)
1256 }"""; 1257 }""";
1257 1258
1258 } 1259 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/js_emitter/full_emitter/emitter.dart ('k') | pkg/compiler/lib/src/js_emitter/metadata_collector.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698