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 1038 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1049 INLINE(bool IsFalse()); | 1049 INLINE(bool IsFalse()); |
1050 inline bool IsArgumentsMarker(); | 1050 inline bool IsArgumentsMarker(); |
1051 inline bool NonFailureIsHeapObject(); | 1051 inline bool NonFailureIsHeapObject(); |
1052 | 1052 |
1053 // Filler objects (fillers and free space objects). | 1053 // Filler objects (fillers and free space objects). |
1054 inline bool IsFiller(); | 1054 inline bool IsFiller(); |
1055 | 1055 |
1056 // Extract the number. | 1056 // Extract the number. |
1057 inline double Number(); | 1057 inline double Number(); |
1058 inline bool IsNaN(); | 1058 inline bool IsNaN(); |
| 1059 bool ToInt32(int32_t* value); |
| 1060 bool ToUint32(uint32_t* value); |
1059 | 1061 |
1060 inline Representation OptimalRepresentation() { | 1062 inline Representation OptimalRepresentation() { |
1061 if (FLAG_track_fields && IsSmi()) { | 1063 if (FLAG_track_fields && IsSmi()) { |
1062 return Representation::Smi(); | 1064 return Representation::Smi(); |
1063 } else if (FLAG_track_double_fields && IsHeapNumber()) { | 1065 } else if (FLAG_track_double_fields && IsHeapNumber()) { |
1064 return Representation::Double(); | 1066 return Representation::Double(); |
1065 } else if (FLAG_track_heap_object_fields && !IsUndefined()) { | 1067 } else if (FLAG_track_heap_object_fields && !IsUndefined()) { |
1066 // Don't track undefined as heapobject because it's also used as temporary | 1068 // Don't track undefined as heapobject because it's also used as temporary |
1067 // value for computed fields that may turn out to be Smi. That combination | 1069 // value for computed fields that may turn out to be Smi. That combination |
1068 // will go tagged, so go tagged immediately. | 1070 // will go tagged, so go tagged immediately. |
(...skipping 8560 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9629 } else { | 9631 } else { |
9630 value &= ~(1 << bit_position); | 9632 value &= ~(1 << bit_position); |
9631 } | 9633 } |
9632 return value; | 9634 return value; |
9633 } | 9635 } |
9634 }; | 9636 }; |
9635 | 9637 |
9636 } } // namespace v8::internal | 9638 } } // namespace v8::internal |
9637 | 9639 |
9638 #endif // V8_OBJECTS_H_ | 9640 #endif // V8_OBJECTS_H_ |
OLD | NEW |