OLD | NEW |
---|---|
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 366 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
377 ASSERT(types != NULL && types->length() == 1); | 377 ASSERT(types != NULL && types->length() == 1); |
378 return types->at(0); | 378 return types->at(0); |
379 } | 379 } |
380 virtual KeyedAccessStoreMode GetStoreMode() { | 380 virtual KeyedAccessStoreMode GetStoreMode() { |
381 UNREACHABLE(); | 381 UNREACHABLE(); |
382 return STANDARD_STORE; | 382 return STANDARD_STORE; |
383 } | 383 } |
384 | 384 |
385 // TODO(rossberg): this should move to its own AST node eventually. | 385 // TODO(rossberg): this should move to its own AST node eventually. |
386 void RecordToBooleanTypeFeedback(TypeFeedbackOracle* oracle); | 386 void RecordToBooleanTypeFeedback(TypeFeedbackOracle* oracle); |
387 void RecordToBooleanTypeFeedback( | |
388 TypeFeedbackOracle* oracle, TypeFeedbackId origin); | |
Jakob Kummerow
2013/06/24 09:25:07
nit: one line per argument
| |
387 byte to_boolean_types() const { return to_boolean_types_; } | 389 byte to_boolean_types() const { return to_boolean_types_; } |
388 | 390 |
389 BailoutId id() const { return id_; } | 391 BailoutId id() const { return id_; } |
390 TypeFeedbackId test_id() const { return test_id_; } | 392 TypeFeedbackId test_id() const { return test_id_; } |
391 | 393 |
392 protected: | 394 protected: |
393 explicit Expression(Isolate* isolate) | 395 explicit Expression(Isolate* isolate) |
394 : upper_type_(Type::Any(), isolate), | 396 : upper_type_(Type::Any(), isolate), |
395 lower_type_(Type::None(), isolate), | 397 lower_type_(Type::None(), isolate), |
398 to_boolean_types_(0), | |
396 id_(GetNextId(isolate)), | 399 id_(GetNextId(isolate)), |
397 test_id_(GetNextId(isolate)) {} | 400 test_id_(GetNextId(isolate)) { } |
398 | 401 |
399 private: | 402 private: |
400 Handle<Type> upper_type_; | 403 Handle<Type> upper_type_; |
401 Handle<Type> lower_type_; | 404 Handle<Type> lower_type_; |
405 | |
rossberg
2013/06/24 08:54:16
Nit: I'd remove that empty line
| |
402 byte to_boolean_types_; | 406 byte to_boolean_types_; |
403 | 407 |
404 const BailoutId id_; | 408 const BailoutId id_; |
405 const TypeFeedbackId test_id_; | 409 const TypeFeedbackId test_id_; |
406 }; | 410 }; |
407 | 411 |
408 | 412 |
409 class BreakableStatement: public Statement { | 413 class BreakableStatement: public Statement { |
410 public: | 414 public: |
411 enum BreakableType { | 415 enum BreakableType { |
(...skipping 2796 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3208 private: | 3212 private: |
3209 Isolate* isolate_; | 3213 Isolate* isolate_; |
3210 Zone* zone_; | 3214 Zone* zone_; |
3211 Visitor visitor_; | 3215 Visitor visitor_; |
3212 }; | 3216 }; |
3213 | 3217 |
3214 | 3218 |
3215 } } // namespace v8::internal | 3219 } } // namespace v8::internal |
3216 | 3220 |
3217 #endif // V8_AST_H_ | 3221 #endif // V8_AST_H_ |
OLD | NEW |