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

Side by Side Diff: src/globals.h

Issue 115744: This patch much improves our tracking of whether function is... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 11 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
OLDNEW
1 // Copyright 2006-2008 the V8 project authors. All rights reserved. 1 // Copyright 2006-2008 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
(...skipping 307 matching lines...) Expand 10 before | Expand all | Expand 10 after
318 318
319 // Callback function on inline caches, used for iterating over inline caches 319 // Callback function on inline caches, used for iterating over inline caches
320 // in compiled code. 320 // in compiled code.
321 typedef void (*InlineCacheCallback)(Code* code, Address ic); 321 typedef void (*InlineCacheCallback)(Code* code, Address ic);
322 322
323 323
324 // State for inline cache call sites. Aliased as IC::State. 324 // State for inline cache call sites. Aliased as IC::State.
325 enum InlineCacheState { 325 enum InlineCacheState {
326 // Has never been executed. 326 // Has never been executed.
327 UNINITIALIZED, 327 UNINITIALIZED,
328 // Has never been executed, but is in a loop.
329 UNINITIALIZED_IN_LOOP,
330 // Has been executed but monomorhic state has been delayed. 328 // Has been executed but monomorhic state has been delayed.
331 PREMONOMORPHIC, 329 PREMONOMORPHIC,
332 // Has been executed and only one receiver type has been seen. 330 // Has been executed and only one receiver type has been seen.
333 MONOMORPHIC, 331 MONOMORPHIC,
334 // Like MONOMORPHIC but check failed due to prototype. 332 // Like MONOMORPHIC but check failed due to prototype.
335 MONOMORPHIC_PROTOTYPE_FAILURE, 333 MONOMORPHIC_PROTOTYPE_FAILURE,
336 // Multiple receiver types have been seen. 334 // Multiple receiver types have been seen.
337 MEGAMORPHIC, 335 MEGAMORPHIC,
338 // Special states for debug break or step in prepare stubs. 336 // Special states for debug break or step in prepare stubs.
339 DEBUG_BREAK, 337 DEBUG_BREAK,
340 DEBUG_PREPARE_STEP_IN 338 DEBUG_PREPARE_STEP_IN
341 }; 339 };
342 340
343 341
342 enum InlineCacheInLoop {
343 NOT_IN_LOOP,
344 IN_LOOP
345 };
346
347
344 // Type of properties. 348 // Type of properties.
345 // Order of properties is significant. 349 // Order of properties is significant.
346 // Must fit in the BitField PropertyDetails::TypeField. 350 // Must fit in the BitField PropertyDetails::TypeField.
347 // A copy of this is in mirror-delay.js. 351 // A copy of this is in mirror-delay.js.
348 enum PropertyType { 352 enum PropertyType {
349 NORMAL = 0, // only in slow mode 353 NORMAL = 0, // only in slow mode
350 FIELD = 1, // only in fast mode 354 FIELD = 1, // only in fast mode
351 CONSTANT_FUNCTION = 2, // only in fast mode 355 CONSTANT_FUNCTION = 2, // only in fast mode
352 CALLBACKS = 3, 356 CALLBACKS = 3,
353 INTERCEPTOR = 4, // only in lookup results, not in descriptors. 357 INTERCEPTOR = 4, // only in lookup results, not in descriptors.
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
549 553
550 Dest dest; 554 Dest dest;
551 memcpy(&dest, &source, sizeof(dest)); 555 memcpy(&dest, &source, sizeof(dest));
552 return dest; 556 return dest;
553 } 557 }
554 558
555 559
556 } } // namespace v8::internal 560 } } // namespace v8::internal
557 561
558 #endif // V8_GLOBALS_H_ 562 #endif // V8_GLOBALS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698