| Index: dart/sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart
|
| diff --git a/dart/sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart b/dart/sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart
|
| index 88864114d66845cfa24259ff6e301cb7ba73d16a..281a07a5ed1f4c57024c71f6de4da447fcf49031 100644
|
| --- a/dart/sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart
|
| +++ b/dart/sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart
|
| @@ -884,8 +884,14 @@ class CodeEmitterTask extends CompilerTask {
|
| List addLazyInitializerLogic() {
|
| String isolate = namer.CURRENT_ISOLATE;
|
| String cyclicThrow = namer.isolateAccess(backend.getCyclicThrowHelper());
|
| + var lazies = [];
|
| + if (backend.rememberLazies) {
|
| + lazies = [
|
| + js.if_('!init.lazies', js('init.lazies = {}')),
|
| + js('init.lazies[fieldName] = getterName')];
|
| + }
|
|
|
| - return [
|
| + return lazies..addAll([
|
| js('var sentinelUndefined = {}'),
|
| js('var sentinelInProgress = {}'),
|
| js('prototype[fieldName] = sentinelUndefined'),
|
| @@ -928,7 +934,7 @@ class CodeEmitterTask extends CompilerTask {
|
| js('$isolate[getterName] = getter')
|
| ])
|
| ]))
|
| - ];
|
| + ]);
|
| }
|
|
|
| List buildDefineClassAndFinishClassFunctionsIfNecessary() {
|
|
|