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 |