OLD | NEW |
1 // Copyright 2006-2009 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2009 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 1621 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1632 | 1632 |
1633 // Compute the union of this and other. | 1633 // Compute the union of this and other. |
1634 Object* UnionOfKeys(FixedArray* other); | 1634 Object* UnionOfKeys(FixedArray* other); |
1635 | 1635 |
1636 // Copy a sub array from the receiver to dest. | 1636 // Copy a sub array from the receiver to dest. |
1637 void CopyTo(int pos, FixedArray* dest, int dest_pos, int len); | 1637 void CopyTo(int pos, FixedArray* dest, int dest_pos, int len); |
1638 | 1638 |
1639 // Garbage collection support. | 1639 // Garbage collection support. |
1640 static int SizeFor(int length) { return kHeaderSize + length * kPointerSize; } | 1640 static int SizeFor(int length) { return kHeaderSize + length * kPointerSize; } |
1641 | 1641 |
| 1642 // Code Generation support. |
| 1643 static int OffsetOfElementAt(int index) { return SizeFor(index); } |
| 1644 |
1642 // Casting. | 1645 // Casting. |
1643 static inline FixedArray* cast(Object* obj); | 1646 static inline FixedArray* cast(Object* obj); |
1644 | 1647 |
1645 // Align data at kPointerSize, even if Array.kHeaderSize isn't aligned. | 1648 // Align data at kPointerSize, even if Array.kHeaderSize isn't aligned. |
1646 static const int kHeaderSize = POINTER_SIZE_ALIGN(Array::kHeaderSize); | 1649 static const int kHeaderSize = POINTER_SIZE_ALIGN(Array::kHeaderSize); |
1647 | 1650 |
1648 // Dispatched behavior. | 1651 // Dispatched behavior. |
1649 int FixedArraySize() { return SizeFor(length()); } | 1652 int FixedArraySize() { return SizeFor(length()); } |
1650 void FixedArrayIterateBody(ObjectVisitor* v); | 1653 void FixedArrayIterateBody(ObjectVisitor* v); |
1651 #ifdef DEBUG | 1654 #ifdef DEBUG |
(...skipping 2801 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4453 } else { | 4456 } else { |
4454 value &= ~(1 << bit_position); | 4457 value &= ~(1 << bit_position); |
4455 } | 4458 } |
4456 return value; | 4459 return value; |
4457 } | 4460 } |
4458 }; | 4461 }; |
4459 | 4462 |
4460 } } // namespace v8::internal | 4463 } } // namespace v8::internal |
4461 | 4464 |
4462 #endif // V8_OBJECTS_H_ | 4465 #endif // V8_OBJECTS_H_ |
OLD | NEW |