OLD | NEW |
1 // Copyright 2010 the V8 project authors. All rights reserved. | 1 // Copyright 2010 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 575 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
586 template <class C> static inline bool Is(Object* obj); | 586 template <class C> static inline bool Is(Object* obj); |
587 | 587 |
588 | 588 |
589 class MaybeObject BASE_EMBEDDED { | 589 class MaybeObject BASE_EMBEDDED { |
590 public: | 590 public: |
591 inline bool IsFailure(); | 591 inline bool IsFailure(); |
592 inline bool IsRetryAfterGC(); | 592 inline bool IsRetryAfterGC(); |
593 inline bool IsOutOfMemory(); | 593 inline bool IsOutOfMemory(); |
594 inline bool IsException(); | 594 inline bool IsException(); |
595 INLINE(bool IsTheHole()); | 595 INLINE(bool IsTheHole()); |
596 INLINE(bool IsArgumentsMarker()); | |
597 inline bool ToObject(Object** obj) { | 596 inline bool ToObject(Object** obj) { |
598 if (IsFailure()) return false; | 597 if (IsFailure()) return false; |
599 *obj = reinterpret_cast<Object*>(this); | 598 *obj = reinterpret_cast<Object*>(this); |
600 return true; | 599 return true; |
601 } | 600 } |
602 inline Object* ToObjectUnchecked() { | 601 inline Object* ToObjectUnchecked() { |
603 ASSERT(!IsFailure()); | 602 ASSERT(!IsFailure()); |
604 return reinterpret_cast<Object*>(this); | 603 return reinterpret_cast<Object*>(this); |
605 } | 604 } |
606 inline Object* ToObjectChecked() { | 605 inline Object* ToObjectChecked() { |
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
703 inline bool IsStruct(); | 702 inline bool IsStruct(); |
704 #define DECLARE_STRUCT_PREDICATE(NAME, Name, name) inline bool Is##Name(); | 703 #define DECLARE_STRUCT_PREDICATE(NAME, Name, name) inline bool Is##Name(); |
705 STRUCT_LIST(DECLARE_STRUCT_PREDICATE) | 704 STRUCT_LIST(DECLARE_STRUCT_PREDICATE) |
706 #undef DECLARE_STRUCT_PREDICATE | 705 #undef DECLARE_STRUCT_PREDICATE |
707 | 706 |
708 // Oddball testing. | 707 // Oddball testing. |
709 INLINE(bool IsUndefined()); | 708 INLINE(bool IsUndefined()); |
710 INLINE(bool IsNull()); | 709 INLINE(bool IsNull()); |
711 INLINE(bool IsTrue()); | 710 INLINE(bool IsTrue()); |
712 INLINE(bool IsFalse()); | 711 INLINE(bool IsFalse()); |
| 712 inline bool IsArgumentsMarker(); |
713 | 713 |
714 // Extract the number. | 714 // Extract the number. |
715 inline double Number(); | 715 inline double Number(); |
716 | 716 |
717 inline bool HasSpecificClassOf(String* name); | 717 inline bool HasSpecificClassOf(String* name); |
718 | 718 |
719 MUST_USE_RESULT MaybeObject* ToObject(); // ECMA-262 9.9. | 719 MUST_USE_RESULT MaybeObject* ToObject(); // ECMA-262 9.9. |
720 Object* ToBoolean(); // ECMA-262 9.2. | 720 Object* ToBoolean(); // ECMA-262 9.2. |
721 | 721 |
722 // Convert to a JSObject if needed. | 722 // Convert to a JSObject if needed. |
(...skipping 5668 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6391 } else { | 6391 } else { |
6392 value &= ~(1 << bit_position); | 6392 value &= ~(1 << bit_position); |
6393 } | 6393 } |
6394 return value; | 6394 return value; |
6395 } | 6395 } |
6396 }; | 6396 }; |
6397 | 6397 |
6398 } } // namespace v8::internal | 6398 } } // namespace v8::internal |
6399 | 6399 |
6400 #endif // V8_OBJECTS_H_ | 6400 #endif // V8_OBJECTS_H_ |
OLD | NEW |