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

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: 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 final List<StubMethod> stubs;
floitsch 2015/02/02 15:40:23 Give a description of what these are.
zarah 2015/02/02 16:14:46 Done.
209 final List<Field> staticFieldsForReflection; 209 final List<Field> staticFieldsForReflection;
210 final bool onlyForRti; 210 final bool onlyForRti;
211 final bool isDirectlyInstantiated; 211 final bool isDirectlyInstantiated;
212 final bool isNative; 212 final bool isNative;
213 213
214 // If the class implements a function type, and the type is encoded in the 214 // 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. 215 // metatada table, then this field contains the index into that field.
216 final int functionTypeIndex; 216 final int functionTypeIndex;
217 217
218 /// Whether the class must be evaluated eagerly. 218 /// Whether the class must be evaluated eagerly.
219 bool isEager = false; 219 bool isEager = false;
220 220
221 /// Data that must be emitted with the class for native interop. 221 /// Data that must be emitted with the class for native interop.
222 String nativeInfo; 222 String nativeInfo;
223 223
224 Class(this.element, this.name, this.holder, 224 Class(this.element, this.name, this.holder,
225 this.methods, 225 this.methods,
226 this.fields, 226 this.fields,
227 this.staticFieldsForReflection, 227 this.staticFieldsForReflection,
228 this.callStubs, 228 this.stubs,
229 this.isChecks, 229 this.isChecks,
230 this.functionTypeIndex, 230 this.functionTypeIndex,
231 {this.onlyForRti, 231 {this.onlyForRti,
232 this.isDirectlyInstantiated, 232 this.isDirectlyInstantiated,
233 this.isNative}) { 233 this.isNative}) {
234 assert(onlyForRti != null); 234 assert(onlyForRti != null);
235 assert(isDirectlyInstantiated != null); 235 assert(isDirectlyInstantiated != null);
236 assert(isNative != null); 236 assert(isNative != null);
237 } 237 }
238 238
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after
424 tearOffName : tearOffName, 424 tearOffName : tearOffName,
425 canBeApplied : canBeApplied, 425 canBeApplied : canBeApplied,
426 canBeReflected : canBeReflected); 426 canBeReflected : canBeReflected);
427 } 427 }
428 428
429 class StaticStubMethod extends StubMethod implements StaticMethod { 429 class StaticStubMethod extends StubMethod implements StaticMethod {
430 Holder holder; 430 Holder holder;
431 StaticStubMethod(String name, this.holder, js.Expression code) 431 StaticStubMethod(String name, this.holder, js.Expression code)
432 : super(name, code); 432 : super(name, code);
433 } 433 }
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