Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7)

Side by Side Diff: src/v8globals.h

Issue 7060010: Merge bleeding edge into the GC branch up to 7948. The asserts (Closed) Base URL: http://v8.googlecode.com/svn/branches/experimental/gc/
Patch Set: Created 9 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/v8-counters.h ('k') | src/v8natives.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
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_
OLDNEW
« no previous file with comments | « src/v8-counters.h ('k') | src/v8natives.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698