| 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 478 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 489 // This value is never used, but is needed to prevent GCC 4.5 from failing | 489 // This value is never used, but is needed to prevent GCC 4.5 from failing |
| 490 // to compile when we assert that a flag is either kNonStrictMode or | 490 // to compile when we assert that a flag is either kNonStrictMode or |
| 491 // kStrictMode. | 491 // kStrictMode. |
| 492 kInvalidStrictFlag | 492 kInvalidStrictFlag |
| 493 }; | 493 }; |
| 494 | 494 |
| 495 | 495 |
| 496 // Used to specify if a macro instruction must perform a smi check on tagged | 496 // Used to specify if a macro instruction must perform a smi check on tagged |
| 497 // values. | 497 // values. |
| 498 enum SmiCheckType { | 498 enum SmiCheckType { |
| 499 DONT_DO_SMI_CHECK = 0, | 499 DONT_DO_SMI_CHECK, |
| 500 DO_SMI_CHECK | 500 DO_SMI_CHECK |
| 501 }; | 501 }; |
| 502 | 502 |
| 503 | 503 |
| 504 // Used to specify whether a receiver is implicitly or explicitly | 504 // Used to specify whether a receiver is implicitly or explicitly |
| 505 // provided to a call. | 505 // provided to a call. |
| 506 enum CallKind { | 506 enum CallKind { |
| 507 CALL_AS_METHOD = 0, | 507 CALL_AS_METHOD, |
| 508 CALL_AS_FUNCTION | 508 CALL_AS_FUNCTION |
| 509 }; | 509 }; |
| 510 | 510 |
| 511 | 511 |
| 512 static const uint32_t kHoleNanUpper32 = 0x7FFFFFFF; | 512 static const uint32_t kHoleNanUpper32 = 0x7FFFFFFF; |
| 513 static const uint32_t kHoleNanLower32 = 0xFFFFFFFF; | 513 static const uint32_t kHoleNanLower32 = 0xFFFFFFFF; |
| 514 static const uint32_t kNaNOrInfinityLowerBoundUpper32 = 0x7FF00000; | 514 static const uint32_t kNaNOrInfinityLowerBoundUpper32 = 0x7FF00000; |
| 515 | 515 |
| 516 const uint64_t kHoleNanInt64 = | 516 const uint64_t kHoleNanInt64 = |
| 517 (static_cast<uint64_t>(kHoleNanUpper32) << 32) | kHoleNanLower32; | 517 (static_cast<uint64_t>(kHoleNanUpper32) << 32) | kHoleNanLower32; |
| 518 const uint64_t kLastNonNaNInt64 = | 518 const uint64_t kLastNonNaNInt64 = |
| 519 (static_cast<uint64_t>(kNaNOrInfinityLowerBoundUpper32) << 32); | 519 (static_cast<uint64_t>(kNaNOrInfinityLowerBoundUpper32) << 32); |
| 520 | 520 |
| 521 |
| 522 enum VariableMode { |
| 523 // User declared variables: |
| 524 VAR, // declared via 'var', and 'function' declarations |
| 525 |
| 526 CONST, // declared via 'const' declarations |
| 527 |
| 528 LET, // declared via 'let' declarations |
| 529 |
| 530 // Variables introduced by the compiler: |
| 531 DYNAMIC, // always require dynamic lookup (we don't know |
| 532 // the declaration) |
| 533 |
| 534 DYNAMIC_GLOBAL, // requires dynamic lookup, but we know that the |
| 535 // variable is global unless it has been shadowed |
| 536 // by an eval-introduced variable |
| 537 |
| 538 DYNAMIC_LOCAL, // requires dynamic lookup, but we know that the |
| 539 // variable is local and where it is unless it |
| 540 // has been shadowed by an eval-introduced |
| 541 // variable |
| 542 |
| 543 INTERNAL, // like VAR, but not user-visible (may or may not |
| 544 // be in a context) |
| 545 |
| 546 TEMPORARY // temporary variables (not user-visible), never |
| 547 // in a context |
| 548 }; |
| 549 |
| 521 } } // namespace v8::internal | 550 } } // namespace v8::internal |
| 522 | 551 |
| 523 #endif // V8_V8GLOBALS_H_ | 552 #endif // V8_V8GLOBALS_H_ |
| OLD | NEW |