Index: src/objects.h |
diff --git a/src/objects.h b/src/objects.h |
index 68711769444ccd9bf9a095283815a572f5919cf3..0f941a7b8ed2f53a50ef48509c966b0995e05cd4 100644 |
--- a/src/objects.h |
+++ b/src/objects.h |
@@ -5197,6 +5197,9 @@ class SharedFunctionInfo: public HeapObject { |
inline Smi* deopt_counter(); |
inline void set_deopt_counter(Smi* counter); |
+ inline int ast_node_count(); |
+ inline void set_ast_node_count(int count); |
+ |
// Add information on assignments of the form this.x = ...; |
void SetThisPropertyAssignmentsInfo( |
bool has_only_simple_this_property_assignments, |
@@ -5269,6 +5272,12 @@ class SharedFunctionInfo: public HeapObject { |
// through the API, which does not change this flag). |
DECL_BOOLEAN_ACCESSORS(is_anonymous) |
+ // Indicates that the function cannot be crankshafted. |
+ DECL_BOOLEAN_ACCESSORS(dont_crankshaft) |
+ |
+ // Indicates that the function cannot be inlined. |
+ DECL_BOOLEAN_ACCESSORS(dont_inline) |
+ |
// Indicates whether or not the code in the shared function support |
// deoptimization. |
inline bool has_deoptimization_support(); |
@@ -5365,10 +5374,11 @@ class SharedFunctionInfo: public HeapObject { |
kInitialMapOffset + kPointerSize; |
static const int kDeoptCounterOffset = |
kThisPropertyAssignmentsOffset + kPointerSize; |
+ static const int kAstNodeCountOffset = kDeoptCounterOffset + kPointerSize; |
#if V8_HOST_ARCH_32_BIT |
// Smi fields. |
static const int kLengthOffset = |
- kDeoptCounterOffset + kPointerSize; |
+ kAstNodeCountOffset + kPointerSize; |
static const int kFormalParameterCountOffset = kLengthOffset + kPointerSize; |
static const int kExpectedNofPropertiesOffset = |
kFormalParameterCountOffset + kPointerSize; |
@@ -5399,7 +5409,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 = |
- kDeoptCounterOffset + kPointerSize; |
+ kAstNodeCountOffset + kPointerSize; |
fschneider
2012/01/30 13:54:26
You could reduce the x64 version by pairing two pr
Jakob Kummerow
2012/02/01 14:46:09
Done.
|
static const int kFormalParameterCountOffset = |
kLengthOffset + kIntSize; |
@@ -5471,6 +5481,8 @@ class SharedFunctionInfo: public HeapObject { |
kBoundFunction, |
kIsAnonymous, |
kNameShouldPrintAsAnonymous, |
+ kDontCrankshaft, |
+ kDontInline, |
kCompilerHintsCount // Pseudo entry |
}; |