OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
91 // Number of bits to represent the page size for paged spaces. The value of 13 | 91 // Number of bits to represent the page size for paged spaces. The value of 13 |
92 // gives 8K bytes per page. | 92 // gives 8K bytes per page. |
93 const int kPageSizeBits = 13; | 93 const int kPageSizeBits = 13; |
94 | 94 |
95 // On Intel architecture, cache line size is 64 bytes. | 95 // On Intel architecture, cache line size is 64 bytes. |
96 // On ARM it may be less (32 bytes), but as far this constant is | 96 // On ARM it may be less (32 bytes), but as far this constant is |
97 // used for aligning data, it doesn't hurt to align on a greater value. | 97 // used for aligning data, it doesn't hurt to align on a greater value. |
98 const int kProcessorCacheLineSize = 64; | 98 const int kProcessorCacheLineSize = 64; |
99 | 99 |
100 // Constants relevant to double precision floating point numbers. | 100 // Constants relevant to double precision floating point numbers. |
101 | |
102 // Quiet NaNs have bits 51 to 62 set, possibly the sign bit, and no | |
103 // other bits set. | |
104 const uint64_t kQuietNaNMask = static_cast<uint64_t>(0xfff) << 51; | |
105 // If looking only at the top 32 bits, the QNaN mask is bits 19 to 30. | 101 // If looking only at the top 32 bits, the QNaN mask is bits 19 to 30. |
106 const uint32_t kQuietNaNHighBitsMask = 0xfff << (51 - 32); | 102 const uint32_t kQuietNaNHighBitsMask = 0xfff << (51 - 32); |
107 | 103 |
108 | 104 |
109 // ----------------------------------------------------------------------------- | 105 // ----------------------------------------------------------------------------- |
110 // Forward declarations for frequently used classes | 106 // Forward declarations for frequently used classes |
111 // (sorted alphabetically) | 107 // (sorted alphabetically) |
112 | 108 |
113 class AccessorInfo; | 109 class AccessorInfo; |
114 class Allocation; | 110 class Allocation; |
(...skipping 392 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
507 static const uint32_t kNaNOrInfinityLowerBoundUpper32 = 0x7FF00000; | 503 static const uint32_t kNaNOrInfinityLowerBoundUpper32 = 0x7FF00000; |
508 | 504 |
509 const uint64_t kHoleNanInt64 = | 505 const uint64_t kHoleNanInt64 = |
510 (static_cast<uint64_t>(kHoleNanUpper32) << 32) | kHoleNanLower32; | 506 (static_cast<uint64_t>(kHoleNanUpper32) << 32) | kHoleNanLower32; |
511 const uint64_t kLastNonNaNInt64 = | 507 const uint64_t kLastNonNaNInt64 = |
512 (static_cast<uint64_t>(kNaNOrInfinityLowerBoundUpper32) << 32); | 508 (static_cast<uint64_t>(kNaNOrInfinityLowerBoundUpper32) << 32); |
513 | 509 |
514 } } // namespace v8::internal | 510 } } // namespace v8::internal |
515 | 511 |
516 #endif // V8_V8GLOBALS_H_ | 512 #endif // V8_V8GLOBALS_H_ |
OLD | NEW |