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

Unified Diff: src/objects.h

Issue 9837005: Age inline caches after context disposal. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 8 years, 9 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 side-by-side diff with in-line comments
Download patch
Index: src/objects.h
diff --git a/src/objects.h b/src/objects.h
index c7093a817bfc46bb939701f7a63497de22a1261d..675c2da57e1df433b48bfecb3f380cf31a4b9fa1 100644
--- a/src/objects.h
+++ b/src/objects.h
@@ -4174,6 +4174,11 @@ class Code: public HeapObject {
// it is only used by the garbage collector itself.
DECL_ACCESSORS(gc_metadata, Object)
+ // [context_disposed_count]: The value of the global_context_disposed_count
+ // at the moment when this code object was created.
+ inline void set_context_disposed_count(int count);
+ inline int context_disposed_count();
+
// Unchecked accessors to be used during GC.
inline ByteArray* unchecked_relocation_info();
inline FixedArray* unchecked_deoptimization_data();
@@ -4426,8 +4431,9 @@ class Code: public HeapObject {
static const int kTypeFeedbackInfoOffset =
kDeoptimizationDataOffset + kPointerSize;
static const int kGCMetadataOffset = kTypeFeedbackInfoOffset + kPointerSize;
- static const int kFlagsOffset = kGCMetadataOffset + kPointerSize;
-
+ static const int kContextDisposedCountOffset =
+ kGCMetadataOffset + kPointerSize;
+ static const int kFlagsOffset = kContextDisposedCountOffset + kIntSize;
Vyacheslav Egorov (Chromium) 2012/03/22 14:47:05 I wonder how big our Code object will become with
static const int kKindSpecificFlagsOffset = kFlagsOffset + kIntSize;
static const int kKindSpecificFlagsSize = 2 * kIntSize;
@@ -5322,6 +5328,11 @@ class SharedFunctionInfo: public HeapObject {
inline int ast_node_count();
inline void set_ast_node_count(int count);
+ // The value of the global_context_disposed_count at the moment
+ // when the opt_count was reset.
+ inline int context_disposed_count();
+ inline void set_context_disposed_count(int count);
+
// Add information on assignments of the form this.x = ...;
void SetThisPropertyAssignmentsInfo(
bool has_only_simple_this_property_assignments,
@@ -5496,8 +5507,10 @@ class SharedFunctionInfo: public HeapObject {
kInferredNameOffset + kPointerSize;
static const int kThisPropertyAssignmentsOffset =
kInitialMapOffset + kPointerSize;
- static const int kProfilerTicksOffset =
+ static const int kContextDisposedCountOffset =
kThisPropertyAssignmentsOffset + kPointerSize;
+ static const int kProfilerTicksOffset =
+ kContextDisposedCountOffset + kPointerSize;
#if V8_HOST_ARCH_32_BIT
// Smi fields.
static const int kLengthOffset =
« src/mark-compact.cc ('K') | « src/mark-compact.cc ('k') | src/objects-inl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698