anchor.diff:      js.ObjectInitializer globalsObject = new js.ObjectInitializer(globals);
   
       return js.js.statement('var init = #;', globalsObject);
  +  }
  +
  +  /// Finish setting up embedded globals.
  +  js.Statement emitEmbeddedGlobalsPart2(
  +      Program program, DeferredLoadingState deferredLoadingState) {
  +    List<js.Statement> statements = [];
  +    if (program.typeToInterceptorMap != null) {
  +      statements.add(js.js.statement('init.# = #;',
  +          [js.string(TYPE_TO_INTERCEPTOR_MAP), program.typeToInterceptorMap]));
  +    }
  +    return js.Block(statements);
     }
   
     /// Emits data needed for native classes.
  
positive.code:     }
  
      if (program.typeToInterceptorMap != null) {
        globals.add(new js.Property(
            js.string(TYPE_TO_INTERCEPTOR_MAP), program.typeToInterceptorMap));
      }
  
      globals.add(emitMangledGlobalNames());
  
negative.code: // Builds the inheritance structure.
  #inheritance;
  
  // Emits the embedded globals. This needs to be before constants so the embedded
  // global type resources are available for generating constants.
  #embeddedGlobalsPart1;
  
  // Instantiates all constants.
  #constants;
  
  // Adds to the embedded globals. A few globals refer to constants.
  #embeddedGlobalsPart2; 
  
  // Initializes the static non-final fields (with their constant values).
  #staticNonFinalFields;
  