| OLD | NEW |
| 1 // Copyright 2010 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 |
| 11 // with the distribution. | 11 // with the distribution. |
| (...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 178 class RelocInfo; | 178 class RelocInfo; |
| 179 class Deserializer; | 179 class Deserializer; |
| 180 class MessageLocation; | 180 class MessageLocation; |
| 181 class ObjectGroup; | 181 class ObjectGroup; |
| 182 class TickSample; | 182 class TickSample; |
| 183 class VirtualMemory; | 183 class VirtualMemory; |
| 184 class Mutex; | 184 class Mutex; |
| 185 | 185 |
| 186 typedef bool (*WeakSlotCallback)(Object** pointer); | 186 typedef bool (*WeakSlotCallback)(Object** pointer); |
| 187 | 187 |
| 188 typedef bool (*WeakSlotCallbackWithHeap)(Heap* heap, Object** pointer); |
| 189 |
| 188 // ----------------------------------------------------------------------------- | 190 // ----------------------------------------------------------------------------- |
| 189 // Miscellaneous | 191 // Miscellaneous |
| 190 | 192 |
| 191 // NOTE: SpaceIterator depends on AllocationSpace enumeration values being | 193 // NOTE: SpaceIterator depends on AllocationSpace enumeration values being |
| 192 // consecutive. | 194 // consecutive. |
| 193 enum AllocationSpace { | 195 enum AllocationSpace { |
| 194 NEW_SPACE, // Semispaces collected with copying collector. | 196 NEW_SPACE, // Semispaces collected with copying collector. |
| 195 OLD_POINTER_SPACE, // May contain pointers to new space. | 197 OLD_POINTER_SPACE, // May contain pointers to new space. |
| 196 OLD_DATA_SPACE, // Must not have pointers to new space. | 198 OLD_DATA_SPACE, // Must not have pointers to new space. |
| 197 CODE_SPACE, // No pointers to new space, marked executable. | 199 CODE_SPACE, // No pointers to new space, marked executable. |
| (...skipping 13 matching lines...) Expand all Loading... |
| 211 // A flag that indicates whether objects should be pretenured when | 213 // A flag that indicates whether objects should be pretenured when |
| 212 // allocated (allocated directly into the old generation) or not | 214 // allocated (allocated directly into the old generation) or not |
| 213 // (allocated in the young generation if the object size and type | 215 // (allocated in the young generation if the object size and type |
| 214 // allows). | 216 // allows). |
| 215 enum PretenureFlag { NOT_TENURED, TENURED }; | 217 enum PretenureFlag { NOT_TENURED, TENURED }; |
| 216 | 218 |
| 217 enum GarbageCollector { SCAVENGER, MARK_COMPACTOR }; | 219 enum GarbageCollector { SCAVENGER, MARK_COMPACTOR }; |
| 218 | 220 |
| 219 enum Executability { NOT_EXECUTABLE, EXECUTABLE }; | 221 enum Executability { NOT_EXECUTABLE, EXECUTABLE }; |
| 220 | 222 |
| 221 enum VisitMode { VISIT_ALL, VISIT_ALL_IN_SCAVENGE, VISIT_ONLY_STRONG }; | 223 enum VisitMode { |
| 224 VISIT_ALL, |
| 225 VISIT_ALL_IN_SCAVENGE, |
| 226 VISIT_ALL_IN_SWEEP_NEWSPACE, |
| 227 VISIT_ONLY_STRONG |
| 228 }; |
| 222 | 229 |
| 223 // Flag indicating whether code is built into the VM (one of the natives files). | 230 // Flag indicating whether code is built into the VM (one of the natives files). |
| 224 enum NativesFlag { NOT_NATIVES_CODE, NATIVES_CODE }; | 231 enum NativesFlag { NOT_NATIVES_CODE, NATIVES_CODE }; |
| 225 | 232 |
| 226 | 233 |
| 227 // A CodeDesc describes a buffer holding instructions and relocation | 234 // A CodeDesc describes a buffer holding instructions and relocation |
| 228 // information. The instructions start at the beginning of the buffer | 235 // information. The instructions start at the beginning of the buffer |
| 229 // and grow forward, the relocation information starts at the end of | 236 // and grow forward, the relocation information starts at the end of |
| 230 // the buffer and grows backward. | 237 // the buffer and grows backward. |
| 231 // | 238 // |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 315 | 322 |
| 316 // Type of properties. | 323 // Type of properties. |
| 317 // Order of properties is significant. | 324 // Order of properties is significant. |
| 318 // Must fit in the BitField PropertyDetails::TypeField. | 325 // Must fit in the BitField PropertyDetails::TypeField. |
| 319 // A copy of this is in mirror-debugger.js. | 326 // A copy of this is in mirror-debugger.js. |
| 320 enum PropertyType { | 327 enum PropertyType { |
| 321 NORMAL = 0, // only in slow mode | 328 NORMAL = 0, // only in slow mode |
| 322 FIELD = 1, // only in fast mode | 329 FIELD = 1, // only in fast mode |
| 323 CONSTANT_FUNCTION = 2, // only in fast mode | 330 CONSTANT_FUNCTION = 2, // only in fast mode |
| 324 CALLBACKS = 3, | 331 CALLBACKS = 3, |
| 325 INTERCEPTOR = 4, // only in lookup results, not in descriptors. | 332 HANDLER = 4, // only in lookup results, not in descriptors |
| 326 MAP_TRANSITION = 5, // only in fast mode | 333 INTERCEPTOR = 5, // only in lookup results, not in descriptors |
| 327 EXTERNAL_ARRAY_TRANSITION = 6, | 334 MAP_TRANSITION = 6, // only in fast mode |
| 328 CONSTANT_TRANSITION = 7, // only in fast mode | 335 EXTERNAL_ARRAY_TRANSITION = 7, |
| 329 NULL_DESCRIPTOR = 8, // only in fast mode | 336 CONSTANT_TRANSITION = 8, // only in fast mode |
| 337 NULL_DESCRIPTOR = 9, // only in fast mode |
| 330 // All properties before MAP_TRANSITION are real. | 338 // All properties before MAP_TRANSITION are real. |
| 331 FIRST_PHANTOM_PROPERTY_TYPE = MAP_TRANSITION, | 339 FIRST_PHANTOM_PROPERTY_TYPE = MAP_TRANSITION, |
| 332 // There are no IC stubs for NULL_DESCRIPTORS. Therefore, | 340 // There are no IC stubs for NULL_DESCRIPTORS. Therefore, |
| 333 // NULL_DESCRIPTOR can be used as the type flag for IC stubs for | 341 // NULL_DESCRIPTOR can be used as the type flag for IC stubs for |
| 334 // nonexistent properties. | 342 // nonexistent properties. |
| 335 NONEXISTENT = NULL_DESCRIPTOR | 343 NONEXISTENT = NULL_DESCRIPTOR |
| 336 }; | 344 }; |
| 337 | 345 |
| 338 | 346 |
| 339 // Whether to remove map transitions and constant transitions from a | 347 // Whether to remove map transitions and constant transitions from a |
| (...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 474 // The Strict Mode (ECMA-262 5th edition, 4.2.2). | 482 // The Strict Mode (ECMA-262 5th edition, 4.2.2). |
| 475 enum StrictModeFlag { | 483 enum StrictModeFlag { |
| 476 kNonStrictMode, | 484 kNonStrictMode, |
| 477 kStrictMode, | 485 kStrictMode, |
| 478 // This value is never used, but is needed to prevent GCC 4.5 from failing | 486 // This value is never used, but is needed to prevent GCC 4.5 from failing |
| 479 // to compile when we assert that a flag is either kNonStrictMode or | 487 // to compile when we assert that a flag is either kNonStrictMode or |
| 480 // kStrictMode. | 488 // kStrictMode. |
| 481 kInvalidStrictFlag | 489 kInvalidStrictFlag |
| 482 }; | 490 }; |
| 483 | 491 |
| 492 |
| 493 // Used to specify if a macro instruction must perform a smi check on tagged |
| 494 // values. |
| 495 enum SmiCheckType { |
| 496 DONT_DO_SMI_CHECK = 0, |
| 497 DO_SMI_CHECK |
| 498 }; |
| 499 |
| 484 } } // namespace v8::internal | 500 } } // namespace v8::internal |
| 485 | 501 |
| 486 #endif // V8_V8GLOBALS_H_ | 502 #endif // V8_V8GLOBALS_H_ |
| OLD | NEW |