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_V8GLOBALS_H_ | 5 #ifndef V8_V8GLOBALS_H_ |
6 #define V8_V8GLOBALS_H_ | 6 #define V8_V8GLOBALS_H_ |
7 | 7 |
8 #include "globals.h" | 8 #include "globals.h" |
9 #include "checks.h" | 9 #include "checks.h" |
10 | 10 |
(...skipping 18 matching lines...) Expand all Loading... | |
29 const intptr_t kDoubleAlignment = 8; | 29 const intptr_t kDoubleAlignment = 8; |
30 const intptr_t kDoubleAlignmentMask = kDoubleAlignment - 1; | 30 const intptr_t kDoubleAlignmentMask = kDoubleAlignment - 1; |
31 | 31 |
32 // Desired alignment for generated code is 32 bytes (to improve cache line | 32 // Desired alignment for generated code is 32 bytes (to improve cache line |
33 // utilization). | 33 // utilization). |
34 const int kCodeAlignmentBits = 5; | 34 const int kCodeAlignmentBits = 5; |
35 const intptr_t kCodeAlignment = 1 << kCodeAlignmentBits; | 35 const intptr_t kCodeAlignment = 1 << kCodeAlignmentBits; |
36 const intptr_t kCodeAlignmentMask = kCodeAlignment - 1; | 36 const intptr_t kCodeAlignmentMask = kCodeAlignment - 1; |
37 | 37 |
38 // Tag information for Failure. | 38 // Tag information for Failure. |
39 // TODO(yangguo): remove this from space owner calculation. | |
39 const int kFailureTag = 3; | 40 const int kFailureTag = 3; |
40 const int kFailureTagSize = 2; | 41 const int kFailureTagSize = 2; |
41 const intptr_t kFailureTagMask = (1 << kFailureTagSize) - 1; | 42 const intptr_t kFailureTagMask = (1 << kFailureTagSize) - 1; |
42 | 43 |
43 | 44 |
44 // Zap-value: The value used for zapping dead objects. | 45 // Zap-value: The value used for zapping dead objects. |
45 // Should be a recognizable hex value tagged as a failure. | 46 // Should be a recognizable hex value tagged as a failure. |
46 #ifdef V8_HOST_ARCH_64_BIT | 47 #ifdef V8_HOST_ARCH_64_BIT |
47 const Address kZapValue = | 48 const Address kZapValue = |
48 reinterpret_cast<Address>(V8_UINT64_C(0xdeadbeedbeadbeef)); | 49 reinterpret_cast<Address>(V8_UINT64_C(0xdeadbeedbeadbeef)); |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
117 class JSFunction; | 118 class JSFunction; |
118 class JSObject; | 119 class JSObject; |
119 class LargeObjectSpace; | 120 class LargeObjectSpace; |
120 class LookupResult; | 121 class LookupResult; |
121 class MacroAssembler; | 122 class MacroAssembler; |
122 class Map; | 123 class Map; |
123 class MapSpace; | 124 class MapSpace; |
124 class MarkCompactCollector; | 125 class MarkCompactCollector; |
125 class NewSpace; | 126 class NewSpace; |
126 class Object; | 127 class Object; |
127 class MaybeObject; | |
128 class OldSpace; | 128 class OldSpace; |
129 class Foreign; | 129 class Foreign; |
130 class Scope; | 130 class Scope; |
131 class ScopeInfo; | 131 class ScopeInfo; |
132 class Script; | 132 class Script; |
133 class Smi; | 133 class Smi; |
134 template <typename Config, class Allocator = FreeStoreAllocationPolicy> | 134 template <typename Config, class Allocator = FreeStoreAllocationPolicy> |
135 class SplayTree; | 135 class SplayTree; |
136 class String; | 136 class String; |
137 class Name; | 137 class Name; |
(...skipping 17 matching lines...) Expand all Loading... | |
155 // consecutive. | 155 // consecutive. |
156 enum AllocationSpace { | 156 enum AllocationSpace { |
157 NEW_SPACE, // Semispaces collected with copying collector. | 157 NEW_SPACE, // Semispaces collected with copying collector. |
158 OLD_POINTER_SPACE, // May contain pointers to new space. | 158 OLD_POINTER_SPACE, // May contain pointers to new space. |
159 OLD_DATA_SPACE, // Must not have pointers to new space. | 159 OLD_DATA_SPACE, // Must not have pointers to new space. |
160 CODE_SPACE, // No pointers to new space, marked executable. | 160 CODE_SPACE, // No pointers to new space, marked executable. |
161 MAP_SPACE, // Only and all map objects. | 161 MAP_SPACE, // Only and all map objects. |
162 CELL_SPACE, // Only and all cell objects. | 162 CELL_SPACE, // Only and all cell objects. |
163 PROPERTY_CELL_SPACE, // Only and all global property cell objects. | 163 PROPERTY_CELL_SPACE, // Only and all global property cell objects. |
164 LO_SPACE, // Promoted large objects. | 164 LO_SPACE, // Promoted large objects. |
165 INVALID_SPACE, | |
Hannes Payer (out of office)
2014/04/30 07:07:07
Can we have a comment here?
| |
165 | 166 |
166 FIRST_SPACE = NEW_SPACE, | 167 FIRST_SPACE = NEW_SPACE, |
167 LAST_SPACE = LO_SPACE, | 168 LAST_SPACE = LO_SPACE, |
168 FIRST_PAGED_SPACE = OLD_POINTER_SPACE, | 169 FIRST_PAGED_SPACE = OLD_POINTER_SPACE, |
169 LAST_PAGED_SPACE = PROPERTY_CELL_SPACE | 170 LAST_PAGED_SPACE = PROPERTY_CELL_SPACE |
170 }; | 171 }; |
171 const int kSpaceTagSize = 3; | 172 const int kSpaceTagSize = 3; |
172 const int kSpaceTagMask = (1 << kSpaceTagSize) - 1; | 173 const int kSpaceTagMask = (1 << kSpaceTagSize) - 1; |
173 | 174 |
174 | 175 |
(...skipping 364 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
539 enum MinusZeroMode { | 540 enum MinusZeroMode { |
540 TREAT_MINUS_ZERO_AS_ZERO, | 541 TREAT_MINUS_ZERO_AS_ZERO, |
541 FAIL_ON_MINUS_ZERO | 542 FAIL_ON_MINUS_ZERO |
542 }; | 543 }; |
543 | 544 |
544 } } // namespace v8::internal | 545 } } // namespace v8::internal |
545 | 546 |
546 namespace i = v8::internal; | 547 namespace i = v8::internal; |
547 | 548 |
548 #endif // V8_V8GLOBALS_H_ | 549 #endif // V8_V8GLOBALS_H_ |
OLD | NEW |