| Index: src/hydrogen.h
|
| diff --git a/src/hydrogen.h b/src/hydrogen.h
|
| index 948ea342bce660e12c8e14067b4b305188317560..e942a7eaed24442643b0887936c698a17bcdc002 100644
|
| --- a/src/hydrogen.h
|
| +++ b/src/hydrogen.h
|
| @@ -752,9 +752,20 @@ class HGraphBuilder: public AstVisitor {
|
| static const int kMaxLoadPolymorphism = 4;
|
| static const int kMaxStorePolymorphism = 4;
|
|
|
| - static const int kMaxInlinedNodes = 196;
|
| - static const int kMaxInlinedSize = 196;
|
| - static const int kMaxSourceSize = 600;
|
| +
|
| + // Hard limits.
|
| + static const int kMaxSourceSize = 600; // Per site.
|
| + static const int kMaxInlinedNodesHard = 270; // Cumulative.
|
| + static const int kMaxInlinedSize = 196; // Per site.
|
| +
|
| + // Soft limits. After the soft limit is reached, we will inline only small
|
| + // "primitive" functions, where "primitive" is defined by syntactic criterion.
|
| + static const int kMaxInlinedNodesSoft = 196; // Cumulative.
|
| + static const int kMaxInlinedPrimitiveSize = 40; // Per site.
|
| + STATIC_ASSERT(kMaxInlinedSize < SharedFunctionInfo::kAstNodeCountMask);
|
| + STATIC_ASSERT(kMaxInlinedPrimitiveSize < kMaxInlinedSize);
|
| + STATIC_ASSERT(kMaxInlinedNodesSoft < kMaxInlinedNodesHard);
|
| +
|
|
|
| // Simple accessors.
|
| void set_function_state(FunctionState* state) { function_state_ = state; }
|
|
|