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

Side by Side Diff: src/v8globals.h

Issue 7043003: Version 3.3.8 (Closed) Base URL: https://v8.googlecode.com/svn/trunk
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/runtime.js ('k') | src/version.cc » ('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 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
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
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
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
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_
OLDNEW
« no previous file with comments | « src/runtime.js ('k') | src/version.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698