OLD | NEW |
1 // Copyright 2006-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2008 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 758 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
769 | 769 |
770 // Min and max limits for Smi values. | 770 // Min and max limits for Smi values. |
771 static const int kMinValue = -(1 << (kBitsPerPointer - (kSmiTagSize + 1))); | 771 static const int kMinValue = -(1 << (kBitsPerPointer - (kSmiTagSize + 1))); |
772 static const int kMaxValue = (1 << (kBitsPerPointer - (kSmiTagSize + 1))) - 1; | 772 static const int kMaxValue = (1 << (kBitsPerPointer - (kSmiTagSize + 1))) - 1; |
773 | 773 |
774 private: | 774 private: |
775 DISALLOW_IMPLICIT_CONSTRUCTORS(Smi); | 775 DISALLOW_IMPLICIT_CONSTRUCTORS(Smi); |
776 }; | 776 }; |
777 | 777 |
778 | 778 |
779 // Failure is used for reporing out of memory situations and | 779 // Failure is used for reporting out of memory situations and |
780 // propagating exceptions through the runtime system. Failure objects | 780 // propagating exceptions through the runtime system. Failure objects |
781 // are transient and cannot occur as part of the objects graph. | 781 // are transient and cannot occur as part of the objects graph. |
782 // | 782 // |
783 // Failures are a single word, encoded as follows: | 783 // Failures are a single word, encoded as follows: |
784 // +-------------------------+---+--+--+ | 784 // +-------------------------+---+--+--+ |
785 // |rrrrrrrrrrrrrrrrrrrrrrrrr|sss|tt|11| | 785 // |rrrrrrrrrrrrrrrrrrrrrrrrr|sss|tt|11| |
786 // +-------------------------+---+--+--+ | 786 // +-------------------------+---+--+--+ |
787 // | 787 // |
788 // The low two bits, 0-1, are the failure tag, 11. The next two bits, | 788 // The low two bits, 0-1, are the failure tag, 11. The next two bits, |
789 // 2-3, are a failure type tag 'tt' with possible values: | 789 // 2-3, are a failure type tag 'tt' with possible values: |
(...skipping 3447 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4237 } else { | 4237 } else { |
4238 value &= ~(1 << bit_position); | 4238 value &= ~(1 << bit_position); |
4239 } | 4239 } |
4240 return value; | 4240 return value; |
4241 } | 4241 } |
4242 }; | 4242 }; |
4243 | 4243 |
4244 } } // namespace v8::internal | 4244 } } // namespace v8::internal |
4245 | 4245 |
4246 #endif // V8_OBJECTS_H_ | 4246 #endif // V8_OBJECTS_H_ |
OLD | NEW |