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 2990223002: Reformat untouched files. (Closed)
Patch Set: Created 3 years, 4 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 'package:js_runtime/shared/embedded_names.dart' 7 import 'package:js_runtime/shared/embedded_names.dart'
8 show 8 show
9 CREATE_NEW_ISOLATE, 9 CREATE_NEW_ISOLATE,
10 DEFERRED_LIBRARY_URIS, 10 DEFERRED_LIBRARY_URIS,
(...skipping 420 matching lines...) Expand 10 before | Expand all | Expand 10 after
431 431
432 js.Expression isHunkInitializedFunction = 432 js.Expression isHunkInitializedFunction =
433 js.js("function(hash) { return false; }"); 433 js.js("function(hash) { return false; }");
434 globals.add(new js.Property( 434 globals.add(new js.Property(
435 js.string(IS_HUNK_INITIALIZED), isHunkInitializedFunction)); 435 js.string(IS_HUNK_INITIALIZED), isHunkInitializedFunction));
436 436
437 js.Expression typesAccess = generateEmbeddedGlobalAccess(TYPES); 437 js.Expression typesAccess = generateEmbeddedGlobalAccess(TYPES);
438 438
439 /// See [emitEmbeddedGlobalsForDeferredLoading] for the format of the 439 /// See [emitEmbeddedGlobalsForDeferredLoading] for the format of the
440 /// deferred hunk. 440 /// deferred hunk.
441 js.Expression initializeLoadedHunkFunction = js.js( 441 js.Expression initializeLoadedHunkFunction = js.js("""
442 """
443 function(hash) { 442 function(hash) {
444 var hunk = $deferredInitializersGlobal[hash]; 443 var hunk = $deferredInitializersGlobal[hash];
445 $setupProgramName(hunk[0], #typesAccess.length); 444 $setupProgramName(hunk[0], #typesAccess.length);
446 eval(hunk[1]); 445 eval(hunk[1]);
447 var deferredTypes = eval(hunk[2]); 446 var deferredTypes = eval(hunk[2]);
448 #typesAccess.push.apply(#typesAccess, deferredTypes); 447 #typesAccess.push.apply(#typesAccess, deferredTypes);
449 }""", 448 }""", {'typesAccess': typesAccess});
450 {'typesAccess': typesAccess});
451 449
452 globals.add(new js.Property( 450 globals.add(new js.Property(
453 js.string(INITIALIZE_LOADED_HUNK), initializeLoadedHunkFunction)); 451 js.string(INITIALIZE_LOADED_HUNK), initializeLoadedHunkFunction));
454 452
455 return globals; 453 return globals;
456 } 454 }
457 455
458 js.Property emitGetTypeFromName() { 456 js.Property emitGetTypeFromName() {
459 js.Expression function = js.js("""function(name) { 457 js.Expression function = js.js("""function(name) {
460 return holdersMap[name][name].ensureResolved(); 458 return holdersMap[name][name].ensureResolved();
461 }"""); 459 }""");
462 return new js.Property(js.string(GET_TYPE_FROM_NAME), function); 460 return new js.Property(js.string(GET_TYPE_FROM_NAME), function);
463 } 461 }
464 462
465 static final String readMetadataTypeName = "readMetadataType"; 463 static final String readMetadataTypeName = "readMetadataType";
466 464
467 js.Statement get readMetadataTypeFunction { 465 js.Statement get readMetadataTypeFunction {
468 // Types are non-evaluated and must be compiled at first use. 466 // Types are non-evaluated and must be compiled at first use.
469 // Compiled strings are guaranteed not to be strings, and it's thus safe 467 // Compiled strings are guaranteed not to be strings, and it's thus safe
470 // to use a type-test to determine if a type has already been compiled. 468 // to use a type-test to determine if a type has already been compiled.
471 return js.js.statement( 469 return js.js.statement('''function $readMetadataTypeName(index) {
472 '''function $readMetadataTypeName(index) {
473 var type = #typesAccess[index]; 470 var type = #typesAccess[index];
474 if (typeof type == 'string') { 471 if (typeof type == 'string') {
475 type = expressionCompile(type); 472 type = expressionCompile(type);
476 #typesAccess[index] = type; 473 #typesAccess[index] = type;
477 } 474 }
478 return type; 475 return type;
479 }''', 476 }''', {"typesAccess": generateEmbeddedGlobalAccess(TYPES)});
480 {"typesAccess": generateEmbeddedGlobalAccess(TYPES)});
481 } 477 }
482 478
483 js.Template get templateForReadType { 479 js.Template get templateForReadType {
484 // TODO(floitsch): make sure that no local variable shadows the access to 480 // TODO(floitsch): make sure that no local variable shadows the access to
485 // the readMetadataType function. 481 // the readMetadataType function.
486 return js.js.expressionTemplateFor('$readMetadataTypeName(#)'); 482 return js.js.expressionTemplateFor('$readMetadataTypeName(#)');
487 } 483 }
488 484
489 static final String readMetadataName = "readLazyMetadata"; 485 static final String readMetadataName = "readLazyMetadata";
490 static final String lazyMetadataName = "lazy_$METADATA"; 486 static final String lazyMetadataName = "lazy_$METADATA";
491 487
492 js.Statement get readMetadataFunction { 488 js.Statement get readMetadataFunction {
493 // Types are non-evaluated and must be compiled at first use. 489 // Types are non-evaluated and must be compiled at first use.
494 // Compiled strings are guaranteed not to be strings, and it's thus safe 490 // Compiled strings are guaranteed not to be strings, and it's thus safe
495 // to use a type-test to determine if a type has already been compiled. 491 // to use a type-test to determine if a type has already been compiled.
496 return js.js.statement( 492 return js.js.statement('''function $readMetadataName(index) {
497 '''function $readMetadataName(index) {
498 var lazyMetadata = #lazyMetadataAccess[index]; 493 var lazyMetadata = #lazyMetadataAccess[index];
499 if (typeof lazyMetadata == 'string') { 494 if (typeof lazyMetadata == 'string') {
500 #metadataAccess[index] = expressionCompile(lazyMetadata); 495 #metadataAccess[index] = expressionCompile(lazyMetadata);
501 #lazyMetadataAccess[index] = null; 496 #lazyMetadataAccess[index] = null;
502 } 497 }
503 return #metadataAccess[index]; 498 return #metadataAccess[index];
504 }''', 499 }''', {
505 { 500 "lazyMetadataAccess": generateEmbeddedGlobalAccess(lazyMetadataName),
506 "lazyMetadataAccess": generateEmbeddedGlobalAccess(lazyMetadataName), 501 "metadataAccess": generateEmbeddedGlobalAccess(METADATA)
507 "metadataAccess": generateEmbeddedGlobalAccess(METADATA) 502 });
508 });
509 } 503 }
510 504
511 js.Template get templateForReadMetadata { 505 js.Template get templateForReadMetadata {
512 // TODO(floitsch): make sure that no local variable shadows the access to 506 // TODO(floitsch): make sure that no local variable shadows the access to
513 // the readMetadata function. 507 // the readMetadata function.
514 return js.js.expressionTemplateFor('$readMetadataName(#)'); 508 return js.js.expressionTemplateFor('$readMetadataName(#)');
515 } 509 }
516 510
517 List<js.Property> emitMetadata(Program program) { 511 List<js.Property> emitMetadata(Program program) {
518 List<js.Property> metadataGlobals = <js.Property>[]; 512 List<js.Property> metadataGlobals = <js.Property>[];
(...skipping 769 matching lines...) Expand 10 before | Expand all | Expand 10 after
1288 #eagerClasses; 1282 #eagerClasses;
1289 1283
1290 var end = Date.now(); 1284 var end = Date.now();
1291 // print('Setup: ' + (end - start) + ' ms.'); 1285 // print('Setup: ' + (end - start) + ' ms.');
1292 1286
1293 #invokeMain; // Start main. 1287 #invokeMain; // Start main.
1294 1288
1295 })(Date.now(), #code) 1289 })(Date.now(), #code)
1296 }"""; 1290 }""";
1297 } 1291 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698