| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef V8_GLOBALS_H_ | 5 #ifndef V8_GLOBALS_H_ |
| 6 #define V8_GLOBALS_H_ | 6 #define V8_GLOBALS_H_ |
| 7 | 7 |
| 8 #include <stddef.h> | 8 #include <stddef.h> |
| 9 #include <stdint.h> | 9 #include <stdint.h> |
| 10 | 10 |
| (...skipping 321 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 332 } | 332 } |
| 333 | 333 |
| 334 enum TypeofMode : int { INSIDE_TYPEOF, NOT_INSIDE_TYPEOF }; | 334 enum TypeofMode : int { INSIDE_TYPEOF, NOT_INSIDE_TYPEOF }; |
| 335 | 335 |
| 336 // This constant is used as an undefined value when passing source positions. | 336 // This constant is used as an undefined value when passing source positions. |
| 337 const int kNoSourcePosition = -1; | 337 const int kNoSourcePosition = -1; |
| 338 | 338 |
| 339 // This constant is used to indicate missing deoptimization information. | 339 // This constant is used to indicate missing deoptimization information. |
| 340 const int kNoDeoptimizationId = -1; | 340 const int kNoDeoptimizationId = -1; |
| 341 | 341 |
| 342 // Deoptimize bailout kind. | |
| 343 enum class DeoptimizeKind : uint8_t { kEager, kSoft }; | |
| 344 inline size_t hash_value(DeoptimizeKind kind) { | |
| 345 return static_cast<size_t>(kind); | |
| 346 } | |
| 347 inline std::ostream& operator<<(std::ostream& os, DeoptimizeKind kind) { | |
| 348 switch (kind) { | |
| 349 case DeoptimizeKind::kEager: | |
| 350 return os << "Eager"; | |
| 351 case DeoptimizeKind::kSoft: | |
| 352 return os << "Soft"; | |
| 353 } | |
| 354 UNREACHABLE(); | |
| 355 return os; | |
| 356 } | |
| 357 | |
| 358 // Mask for the sign bit in a smi. | 342 // Mask for the sign bit in a smi. |
| 359 const intptr_t kSmiSignMask = kIntptrSignBit; | 343 const intptr_t kSmiSignMask = kIntptrSignBit; |
| 360 | 344 |
| 361 const int kObjectAlignmentBits = kPointerSizeLog2; | 345 const int kObjectAlignmentBits = kPointerSizeLog2; |
| 362 const intptr_t kObjectAlignment = 1 << kObjectAlignmentBits; | 346 const intptr_t kObjectAlignment = 1 << kObjectAlignmentBits; |
| 363 const intptr_t kObjectAlignmentMask = kObjectAlignment - 1; | 347 const intptr_t kObjectAlignmentMask = kObjectAlignment - 1; |
| 364 | 348 |
| 365 // Desired alignment for pointers. | 349 // Desired alignment for pointers. |
| 366 const intptr_t kPointerAlignment = (1 << kPointerSizeLog2); | 350 const intptr_t kPointerAlignment = (1 << kPointerSizeLog2); |
| 367 const intptr_t kPointerAlignmentMask = kPointerAlignment - 1; | 351 const intptr_t kPointerAlignmentMask = kPointerAlignment - 1; |
| (...skipping 984 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1352 } // namespace internal | 1336 } // namespace internal |
| 1353 } // namespace v8 | 1337 } // namespace v8 |
| 1354 | 1338 |
| 1355 // Used by js-builtin-reducer to identify whether ReduceArrayIterator() is | 1339 // Used by js-builtin-reducer to identify whether ReduceArrayIterator() is |
| 1356 // reducing a JSArray method, or a JSTypedArray method. | 1340 // reducing a JSArray method, or a JSTypedArray method. |
| 1357 enum class ArrayIteratorKind { kArray, kTypedArray }; | 1341 enum class ArrayIteratorKind { kArray, kTypedArray }; |
| 1358 | 1342 |
| 1359 namespace i = v8::internal; | 1343 namespace i = v8::internal; |
| 1360 | 1344 |
| 1361 #endif // V8_GLOBALS_H_ | 1345 #endif // V8_GLOBALS_H_ |
| OLD | NEW |