| 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 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 181 class RelocInfo; | 181 class RelocInfo; |
| 182 class Deserializer; | 182 class Deserializer; |
| 183 class MessageLocation; | 183 class MessageLocation; |
| 184 class ObjectGroup; | 184 class ObjectGroup; |
| 185 class TickSample; | 185 class TickSample; |
| 186 class VirtualMemory; | 186 class VirtualMemory; |
| 187 class Mutex; | 187 class Mutex; |
| 188 | 188 |
| 189 typedef bool (*WeakSlotCallback)(Object** pointer); | 189 typedef bool (*WeakSlotCallback)(Object** pointer); |
| 190 | 190 |
| 191 typedef bool (*WeakSlotCallbackWithHeap)(Heap* heap, Object** pointer); |
| 192 |
| 191 // ----------------------------------------------------------------------------- | 193 // ----------------------------------------------------------------------------- |
| 192 // Miscellaneous | 194 // Miscellaneous |
| 193 | 195 |
| 194 // NOTE: SpaceIterator depends on AllocationSpace enumeration values being | 196 // NOTE: SpaceIterator depends on AllocationSpace enumeration values being |
| 195 // consecutive. | 197 // consecutive. |
| 196 enum AllocationSpace { | 198 enum AllocationSpace { |
| 197 NEW_SPACE, // Semispaces collected with copying collector. | 199 NEW_SPACE, // Semispaces collected with copying collector. |
| 198 OLD_POINTER_SPACE, // May contain pointers to new space. | 200 OLD_POINTER_SPACE, // May contain pointers to new space. |
| 199 OLD_DATA_SPACE, // Must not have pointers to new space. | 201 OLD_DATA_SPACE, // Must not have pointers to new space. |
| 200 CODE_SPACE, // No pointers to new space, marked executable. | 202 CODE_SPACE, // No pointers to new space, marked executable. |
| (...skipping 13 matching lines...) Expand all Loading... |
| 214 // A flag that indicates whether objects should be pretenured when | 216 // A flag that indicates whether objects should be pretenured when |
| 215 // allocated (allocated directly into the old generation) or not | 217 // allocated (allocated directly into the old generation) or not |
| 216 // (allocated in the young generation if the object size and type | 218 // (allocated in the young generation if the object size and type |
| 217 // allows). | 219 // allows). |
| 218 enum PretenureFlag { NOT_TENURED, TENURED }; | 220 enum PretenureFlag { NOT_TENURED, TENURED }; |
| 219 | 221 |
| 220 enum GarbageCollector { SCAVENGER, MARK_COMPACTOR }; | 222 enum GarbageCollector { SCAVENGER, MARK_COMPACTOR }; |
| 221 | 223 |
| 222 enum Executability { NOT_EXECUTABLE, EXECUTABLE }; | 224 enum Executability { NOT_EXECUTABLE, EXECUTABLE }; |
| 223 | 225 |
| 224 enum VisitMode { VISIT_ALL, VISIT_ALL_IN_SCAVENGE, VISIT_ONLY_STRONG }; | 226 enum VisitMode { |
| 227 VISIT_ALL, |
| 228 VISIT_ALL_IN_SCAVENGE, |
| 229 VISIT_ALL_IN_SWEEP_NEWSPACE, |
| 230 VISIT_ONLY_STRONG |
| 231 }; |
| 225 | 232 |
| 226 // Flag indicating whether code is built into the VM (one of the natives files). | 233 // Flag indicating whether code is built into the VM (one of the natives files). |
| 227 enum NativesFlag { NOT_NATIVES_CODE, NATIVES_CODE }; | 234 enum NativesFlag { NOT_NATIVES_CODE, NATIVES_CODE }; |
| 228 | 235 |
| 229 | 236 |
| 230 // A CodeDesc describes a buffer holding instructions and relocation | 237 // A CodeDesc describes a buffer holding instructions and relocation |
| 231 // information. The instructions start at the beginning of the buffer | 238 // information. The instructions start at the beginning of the buffer |
| 232 // and grow forward, the relocation information starts at the end of | 239 // and grow forward, the relocation information starts at the end of |
| 233 // the buffer and grows backward. | 240 // the buffer and grows backward. |
| 234 // | 241 // |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 331 | 338 |
| 332 // Type of properties. | 339 // Type of properties. |
| 333 // Order of properties is significant. | 340 // Order of properties is significant. |
| 334 // Must fit in the BitField PropertyDetails::TypeField. | 341 // Must fit in the BitField PropertyDetails::TypeField. |
| 335 // A copy of this is in mirror-debugger.js. | 342 // A copy of this is in mirror-debugger.js. |
| 336 enum PropertyType { | 343 enum PropertyType { |
| 337 NORMAL = 0, // only in slow mode | 344 NORMAL = 0, // only in slow mode |
| 338 FIELD = 1, // only in fast mode | 345 FIELD = 1, // only in fast mode |
| 339 CONSTANT_FUNCTION = 2, // only in fast mode | 346 CONSTANT_FUNCTION = 2, // only in fast mode |
| 340 CALLBACKS = 3, | 347 CALLBACKS = 3, |
| 341 INTERCEPTOR = 4, // only in lookup results, not in descriptors. | 348 HANDLER = 4, // only in lookup results, not in descriptors |
| 342 MAP_TRANSITION = 5, // only in fast mode | 349 INTERCEPTOR = 5, // only in lookup results, not in descriptors |
| 343 EXTERNAL_ARRAY_TRANSITION = 6, | 350 MAP_TRANSITION = 6, // only in fast mode |
| 344 CONSTANT_TRANSITION = 7, // only in fast mode | 351 EXTERNAL_ARRAY_TRANSITION = 7, |
| 345 NULL_DESCRIPTOR = 8, // only in fast mode | 352 CONSTANT_TRANSITION = 8, // only in fast mode |
| 353 NULL_DESCRIPTOR = 9, // only in fast mode |
| 346 // All properties before MAP_TRANSITION are real. | 354 // All properties before MAP_TRANSITION are real. |
| 347 FIRST_PHANTOM_PROPERTY_TYPE = MAP_TRANSITION, | 355 FIRST_PHANTOM_PROPERTY_TYPE = MAP_TRANSITION, |
| 348 // There are no IC stubs for NULL_DESCRIPTORS. Therefore, | 356 // There are no IC stubs for NULL_DESCRIPTORS. Therefore, |
| 349 // NULL_DESCRIPTOR can be used as the type flag for IC stubs for | 357 // NULL_DESCRIPTOR can be used as the type flag for IC stubs for |
| 350 // nonexistent properties. | 358 // nonexistent properties. |
| 351 NONEXISTENT = NULL_DESCRIPTOR | 359 NONEXISTENT = NULL_DESCRIPTOR |
| 352 }; | 360 }; |
| 353 | 361 |
| 354 | 362 |
| 355 // Whether to remove map transitions and constant transitions from a | 363 // Whether to remove map transitions and constant transitions from a |
| (...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 490 // The Strict Mode (ECMA-262 5th edition, 4.2.2). | 498 // The Strict Mode (ECMA-262 5th edition, 4.2.2). |
| 491 enum StrictModeFlag { | 499 enum StrictModeFlag { |
| 492 kNonStrictMode, | 500 kNonStrictMode, |
| 493 kStrictMode, | 501 kStrictMode, |
| 494 // This value is never used, but is needed to prevent GCC 4.5 from failing | 502 // This value is never used, but is needed to prevent GCC 4.5 from failing |
| 495 // to compile when we assert that a flag is either kNonStrictMode or | 503 // to compile when we assert that a flag is either kNonStrictMode or |
| 496 // kStrictMode. | 504 // kStrictMode. |
| 497 kInvalidStrictFlag | 505 kInvalidStrictFlag |
| 498 }; | 506 }; |
| 499 | 507 |
| 508 |
| 509 // Used to specify if a macro instruction must perform a smi check on tagged |
| 510 // values. |
| 511 enum SmiCheckType { |
| 512 DONT_DO_SMI_CHECK = 0, |
| 513 DO_SMI_CHECK |
| 514 }; |
| 515 |
| 500 } } // namespace v8::internal | 516 } } // namespace v8::internal |
| 501 | 517 |
| 502 #endif // V8_V8GLOBALS_H_ | 518 #endif // V8_V8GLOBALS_H_ |
| OLD | NEW |