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

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

Issue 889573005: dart2js: emit callstubs in new emitter and rename to stubs. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Added comment. Created 5 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | pkg/compiler/lib/src/js_emitter/native_emitter.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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.new_js_emitter.model; 5 library dart2js.new_js_emitter.model;
6 6
7 import '../js/js.dart' as js show Expression; 7 import '../js/js.dart' as js show Expression;
8 import '../constants/values.dart' show ConstantValue; 8 import '../constants/values.dart' show ConstantValue;
9 9
10 import '../deferred_load.dart' show OutputUnit; 10 import '../deferred_load.dart' show OutputUnit;
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after
198 /// The element should only be used during the transition to the new model. 198 /// The element should only be used during the transition to the new model.
199 /// Uses indicate missing information in the model. 199 /// Uses indicate missing information in the model.
200 final Element element; 200 final Element element;
201 201
202 final String name; 202 final String name;
203 final Holder holder; 203 final Holder holder;
204 Class _superclass; 204 Class _superclass;
205 final List<Method> methods; 205 final List<Method> methods;
206 final List<Field> fields; 206 final List<Field> fields;
207 final List<StubMethod> isChecks; 207 final List<StubMethod> isChecks;
208 final List<StubMethod> callStubs; 208
209 /// Stub methods for this class that are either call stubs for getters or
210 /// noSuchMethod stubs in the special case that the class is Object.
211 final List<StubMethod> stubs;
209 final List<Field> staticFieldsForReflection; 212 final List<Field> staticFieldsForReflection;
210 final bool onlyForRti; 213 final bool onlyForRti;
211 final bool isDirectlyInstantiated; 214 final bool isDirectlyInstantiated;
212 final bool isNative; 215 final bool isNative;
213 216
214 // If the class implements a function type, and the type is encoded in the 217 // If the class implements a function type, and the type is encoded in the
215 // metatada table, then this field contains the index into that field. 218 // metatada table, then this field contains the index into that field.
216 final int functionTypeIndex; 219 final int functionTypeIndex;
217 220
218 /// Whether the class must be evaluated eagerly. 221 /// Whether the class must be evaluated eagerly.
219 bool isEager = false; 222 bool isEager = false;
220 223
221 /// Data that must be emitted with the class for native interop. 224 /// Data that must be emitted with the class for native interop.
222 String nativeInfo; 225 String nativeInfo;
223 226
224 Class(this.element, this.name, this.holder, 227 Class(this.element, this.name, this.holder,
225 this.methods, 228 this.methods,
226 this.fields, 229 this.fields,
227 this.staticFieldsForReflection, 230 this.staticFieldsForReflection,
228 this.callStubs, 231 this.stubs,
229 this.isChecks, 232 this.isChecks,
230 this.functionTypeIndex, 233 this.functionTypeIndex,
231 {this.onlyForRti, 234 {this.onlyForRti,
232 this.isDirectlyInstantiated, 235 this.isDirectlyInstantiated,
233 this.isNative}) { 236 this.isNative}) {
234 assert(onlyForRti != null); 237 assert(onlyForRti != null);
235 assert(isDirectlyInstantiated != null); 238 assert(isDirectlyInstantiated != null);
236 assert(isNative != null); 239 assert(isNative != null);
237 } 240 }
238 241
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after
424 tearOffName : tearOffName, 427 tearOffName : tearOffName,
425 canBeApplied : canBeApplied, 428 canBeApplied : canBeApplied,
426 canBeReflected : canBeReflected); 429 canBeReflected : canBeReflected);
427 } 430 }
428 431
429 class StaticStubMethod extends StubMethod implements StaticMethod { 432 class StaticStubMethod extends StubMethod implements StaticMethod {
430 Holder holder; 433 Holder holder;
431 StaticStubMethod(String name, this.holder, js.Expression code) 434 StaticStubMethod(String name, this.holder, js.Expression code)
432 : super(name, code); 435 : super(name, code);
433 } 436 }
OLDNEW
« no previous file with comments | « no previous file | pkg/compiler/lib/src/js_emitter/native_emitter.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698