| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef V8_CRANKSHAFT_HYDROGEN_H_ | 5 #ifndef V8_CRANKSHAFT_HYDROGEN_H_ |
| 6 #define V8_CRANKSHAFT_HYDROGEN_H_ | 6 #define V8_CRANKSHAFT_HYDROGEN_H_ |
| 7 | 7 |
| 8 #include "src/accessors.h" | 8 #include "src/accessors.h" |
| 9 #include "src/allocation.h" | 9 #include "src/allocation.h" |
| 10 #include "src/ast/ast-type-bounds.h" | 10 #include "src/ast/ast-type-bounds.h" |
| (...skipping 2097 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2108 static const int kMaxLoadPolymorphism = 4; | 2108 static const int kMaxLoadPolymorphism = 4; |
| 2109 static const int kMaxStorePolymorphism = 4; | 2109 static const int kMaxStorePolymorphism = 4; |
| 2110 | 2110 |
| 2111 // Even in the 'unlimited' case we have to have some limit in order not to | 2111 // Even in the 'unlimited' case we have to have some limit in order not to |
| 2112 // overflow the stack. | 2112 // overflow the stack. |
| 2113 static const int kUnlimitedMaxInlinedSourceSize = 100000; | 2113 static const int kUnlimitedMaxInlinedSourceSize = 100000; |
| 2114 static const int kUnlimitedMaxInlinedNodes = 10000; | 2114 static const int kUnlimitedMaxInlinedNodes = 10000; |
| 2115 static const int kUnlimitedMaxInlinedNodesCumulative = 10000; | 2115 static const int kUnlimitedMaxInlinedNodesCumulative = 10000; |
| 2116 | 2116 |
| 2117 // Maximum depth and total number of elements and properties for literal | 2117 // Maximum depth and total number of elements and properties for literal |
| 2118 // graphs to be considered for fast deep-copying. | 2118 // graphs to be considered for fast deep-copying. The limit is chosen to |
| 2119 // match the maximum number of inobject properties, to ensure that the |
| 2120 // performance of using object literals is not worse than using constructor |
| 2121 // functions, see crbug.com/v8/6211 for details. |
| 2119 static const int kMaxFastLiteralDepth = 3; | 2122 static const int kMaxFastLiteralDepth = 3; |
| 2120 static const int kMaxFastLiteralProperties = 8; | 2123 static const int kMaxFastLiteralProperties = |
| 2124 (JSObject::kMaxInstanceSize - JSObject::kHeaderSize) >> kPointerSizeLog2; |
| 2121 | 2125 |
| 2122 // Simple accessors. | 2126 // Simple accessors. |
| 2123 void set_function_state(FunctionState* state) { function_state_ = state; } | 2127 void set_function_state(FunctionState* state) { function_state_ = state; } |
| 2124 | 2128 |
| 2125 AstContext* ast_context() const { return ast_context_; } | 2129 AstContext* ast_context() const { return ast_context_; } |
| 2126 void set_ast_context(AstContext* context) { ast_context_ = context; } | 2130 void set_ast_context(AstContext* context) { ast_context_ = context; } |
| 2127 | 2131 |
| 2128 // Accessors forwarded to the function state. | 2132 // Accessors forwarded to the function state. |
| 2129 CompilationInfo* current_info() const { | 2133 CompilationInfo* current_info() const { |
| 2130 return function_state()->compilation_info(); | 2134 return function_state()->compilation_info(); |
| (...skipping 871 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3002 } | 3006 } |
| 3003 | 3007 |
| 3004 private: | 3008 private: |
| 3005 HOptimizedGraphBuilder* builder_; | 3009 HOptimizedGraphBuilder* builder_; |
| 3006 }; | 3010 }; |
| 3007 | 3011 |
| 3008 } // namespace internal | 3012 } // namespace internal |
| 3009 } // namespace v8 | 3013 } // namespace v8 |
| 3010 | 3014 |
| 3011 #endif // V8_CRANKSHAFT_HYDROGEN_H_ | 3015 #endif // V8_CRANKSHAFT_HYDROGEN_H_ |
| OLD | NEW |