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

Unified Diff: src/objects.h

Issue 10202007: Re-enable optimization for hot functions that have optimization disabled due to many deopts. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: fix 64-bit compile error Created 8 years, 8 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
« no previous file with comments | « src/heap.cc ('k') | src/objects.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/objects.h
diff --git a/src/objects.h b/src/objects.h
index 80d1fd47d02ab60dd015704d7836b20bf9b9189a..3ec9428ab255d48da40b5537a8961cc559186906 100644
--- a/src/objects.h
+++ b/src/objects.h
@@ -5461,6 +5461,13 @@ class SharedFunctionInfo: public HeapObject {
inline int opt_count();
inline void set_opt_count(int opt_count);
+ // Number of times we tried to reenable optimization.
+ inline int opt_reenable_tries();
+ inline void set_opt_reenable_tries(int opt_reenable_tries);
+
+ inline void TryReenableOptimization();
+
+
// Source size of this function.
int SourceSize();
@@ -5517,13 +5524,10 @@ class SharedFunctionInfo: public HeapObject {
kInferredNameOffset + kPointerSize;
static const int kThisPropertyAssignmentsOffset =
kInitialMapOffset + kPointerSize;
- // ic_age is a Smi field. It could be grouped with another Smi field into a
- // PSEUDO_SMI_ACCESSORS pair (on x64), if one becomes available.
- static const int kICAgeOffset = kThisPropertyAssignmentsOffset + kPointerSize;
#if V8_HOST_ARCH_32_BIT
// Smi fields.
static const int kLengthOffset =
- kICAgeOffset + kPointerSize;
+ kThisPropertyAssignmentsOffset + kPointerSize;
static const int kFormalParameterCountOffset = kLengthOffset + kPointerSize;
static const int kExpectedNofPropertiesOffset =
kFormalParameterCountOffset + kPointerSize;
@@ -5543,10 +5547,10 @@ class SharedFunctionInfo: public HeapObject {
kThisPropertyAssignmentsCountOffset + kPointerSize;
static const int kAstNodeCountOffset = kOptCountOffset + kPointerSize;
static const int kDeoptCounterOffset = kAstNodeCountOffset + kPointerSize;
-
-
+ static const int kICAgeOffset = kDeoptCounterOffset + kPointerSize;
+ static const int kOptReenableTriesOffset = kICAgeOffset + kPointerSize;
// Total size.
- static const int kSize = kDeoptCounterOffset + kPointerSize;
+ static const int kSize = kOptReenableTriesOffset + kPointerSize;
#else
// The only reason to use smi fields instead of int fields
// is to allow iteration without maps decoding during
@@ -5558,7 +5562,7 @@ class SharedFunctionInfo: public HeapObject {
// word is not set and thus this word cannot be treated as pointer
// to HeapObject during old space traversal.
static const int kLengthOffset =
- kICAgeOffset + kPointerSize;
+ kThisPropertyAssignmentsOffset + kPointerSize;
static const int kFormalParameterCountOffset =
kLengthOffset + kIntSize;
@@ -5585,8 +5589,11 @@ class SharedFunctionInfo: public HeapObject {
static const int kAstNodeCountOffset = kOptCountOffset + kIntSize;
static const int kDeoptCounterOffset = kAstNodeCountOffset + kIntSize;
+ static const int kICAgeOffset = kDeoptCounterOffset + kIntSize;
+ static const int kOptReenableTriesOffset = kICAgeOffset + kIntSize;
+
// Total size.
- static const int kSize = kDeoptCounterOffset + kIntSize;
+ static const int kSize = kOptReenableTriesOffset + kIntSize;
#endif
« no previous file with comments | « src/heap.cc ('k') | src/objects.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698