| 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 "include/v8.h" |
| 8 #include "include/v8stdint.h" | 9 #include "include/v8stdint.h" |
| 9 | 10 |
| 10 #include "src/base/build_config.h" | 11 #include "src/base/build_config.h" |
| 11 #include "src/base/logging.h" | 12 #include "src/base/logging.h" |
| 12 #include "src/base/macros.h" | 13 #include "src/base/macros.h" |
| 13 | 14 |
| 14 // Unfortunately, the INFINITY macro cannot be used with the '-pedantic' | 15 // Unfortunately, the INFINITY macro cannot be used with the '-pedantic' |
| 15 // warning flag and certain versions of GCC due to a bug: | 16 // warning flag and certain versions of GCC due to a bug: |
| 16 // http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11931 | 17 // http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11931 |
| 17 // For now, we use the more involved template-based version from <limits>, but | 18 // For now, we use the more involved template-based version from <limits>, but |
| (...skipping 485 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 503 | 504 |
| 504 // AccessorCallback | 505 // AccessorCallback |
| 505 struct AccessorDescriptor { | 506 struct AccessorDescriptor { |
| 506 Object* (*getter)(Isolate* isolate, Object* object, void* data); | 507 Object* (*getter)(Isolate* isolate, Object* object, void* data); |
| 507 Object* (*setter)( | 508 Object* (*setter)( |
| 508 Isolate* isolate, JSObject* object, Object* value, void* data); | 509 Isolate* isolate, JSObject* object, Object* value, void* data); |
| 509 void* data; | 510 void* data; |
| 510 }; | 511 }; |
| 511 | 512 |
| 512 | 513 |
| 513 // Logging and profiling. A StateTag represents a possible state of | |
| 514 // the VM. The logger maintains a stack of these. Creating a VMState | |
| 515 // object enters a state by pushing on the stack, and destroying a | |
| 516 // VMState object leaves a state by popping the current state from the | |
| 517 // stack. | |
| 518 | |
| 519 enum StateTag { | |
| 520 JS, | |
| 521 GC, | |
| 522 COMPILER, | |
| 523 OTHER, | |
| 524 EXTERNAL, | |
| 525 IDLE | |
| 526 }; | |
| 527 | |
| 528 | |
| 529 // ----------------------------------------------------------------------------- | 514 // ----------------------------------------------------------------------------- |
| 530 // Macros | 515 // Macros |
| 531 | 516 |
| 532 // Testers for test. | 517 // Testers for test. |
| 533 | 518 |
| 534 #define HAS_SMI_TAG(value) \ | 519 #define HAS_SMI_TAG(value) \ |
| 535 ((reinterpret_cast<intptr_t>(value) & kSmiTagMask) == kSmiTag) | 520 ((reinterpret_cast<intptr_t>(value) & kSmiTagMask) == kSmiTag) |
| 536 | 521 |
| 537 #define HAS_FAILURE_TAG(value) \ | 522 #define HAS_FAILURE_TAG(value) \ |
| 538 ((reinterpret_cast<intptr_t>(value) & kFailureTagMask) == kFailureTag) | 523 ((reinterpret_cast<intptr_t>(value) & kFailureTagMask) == kFailureTag) |
| (...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 722 enum MinusZeroMode { | 707 enum MinusZeroMode { |
| 723 TREAT_MINUS_ZERO_AS_ZERO, | 708 TREAT_MINUS_ZERO_AS_ZERO, |
| 724 FAIL_ON_MINUS_ZERO | 709 FAIL_ON_MINUS_ZERO |
| 725 }; | 710 }; |
| 726 | 711 |
| 727 } } // namespace v8::internal | 712 } } // namespace v8::internal |
| 728 | 713 |
| 729 namespace i = v8::internal; | 714 namespace i = v8::internal; |
| 730 | 715 |
| 731 #endif // V8_GLOBALS_H_ | 716 #endif // V8_GLOBALS_H_ |
| OLD | NEW |