| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 2193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2204 Handle<JSFunction> target); | 2204 Handle<JSFunction> target); |
| 2205 | 2205 |
| 2206 int InliningAstSize(Handle<JSFunction> target); | 2206 int InliningAstSize(Handle<JSFunction> target); |
| 2207 bool TryInline(Handle<JSFunction> target, | 2207 bool TryInline(Handle<JSFunction> target, |
| 2208 int arguments_count, | 2208 int arguments_count, |
| 2209 HValue* implicit_return_value, | 2209 HValue* implicit_return_value, |
| 2210 BailoutId ast_id, | 2210 BailoutId ast_id, |
| 2211 BailoutId return_id, | 2211 BailoutId return_id, |
| 2212 InliningKind inlining_kind); | 2212 InliningKind inlining_kind); |
| 2213 | 2213 |
| 2214 bool TryInlineCall(Call* expr, bool drop_extra = false); | 2214 bool TryInlineCall(Call* expr); |
| 2215 bool TryInlineConstruct(CallNew* expr, HValue* implicit_return_value); | 2215 bool TryInlineConstruct(CallNew* expr, HValue* implicit_return_value); |
| 2216 bool TryInlineGetter(Handle<JSFunction> getter, | 2216 bool TryInlineGetter(Handle<JSFunction> getter, |
| 2217 BailoutId ast_id, | 2217 BailoutId ast_id, |
| 2218 BailoutId return_id); | 2218 BailoutId return_id); |
| 2219 bool TryInlineSetter(Handle<JSFunction> setter, | 2219 bool TryInlineSetter(Handle<JSFunction> setter, |
| 2220 BailoutId id, | 2220 BailoutId id, |
| 2221 BailoutId assignment_id, | 2221 BailoutId assignment_id, |
| 2222 HValue* implicit_return_value); | 2222 HValue* implicit_return_value); |
| 2223 bool TryInlineApply(Handle<JSFunction> function, | 2223 bool TryInlineApply(Handle<JSFunction> function, |
| 2224 Call* expr, | 2224 Call* expr, |
| 2225 int arguments_count); | 2225 int arguments_count); |
| 2226 bool TryInlineBuiltinMethodCall(Call* expr, | 2226 bool TryInlineBuiltinMethodCall(Call* expr, |
| 2227 HValue* receiver, | 2227 HValue* receiver, |
| 2228 Handle<Map> receiver_map, | 2228 Handle<Map> receiver_map); |
| 2229 CheckType check_type); | 2229 bool TryInlineBuiltinFunctionCall(Call* expr); |
| 2230 bool TryInlineBuiltinFunctionCall(Call* expr, bool drop_extra); | 2230 bool TryInlineApiMethodCall(Call* expr, |
| 2231 bool TryInlineApiMethodCall( | 2231 HValue* receiver, |
| 2232 Call* expr, HValue* receiver, Handle<Map> receiver_map); | 2232 Handle<Map> receiver_map); |
| 2233 bool TryInlineApiFunctionCall(Call* expr, HValue* receiver, bool drop_extra); | 2233 bool TryInlineApiFunctionCall(Call* expr, HValue* receiver); |
| 2234 bool TryInlineApiCall(Call* expr, | 2234 bool TryInlineApiCall(Call* expr, |
| 2235 HValue* receiver, | 2235 HValue* receiver, |
| 2236 Handle<Map> receiver_map, | 2236 Handle<Map> receiver_map, |
| 2237 bool drop_extra, | |
| 2238 bool is_function_call); | 2237 bool is_function_call); |
| 2239 | 2238 |
| 2240 // If --trace-inlining, print a line of the inlining trace. Inlining | 2239 // If --trace-inlining, print a line of the inlining trace. Inlining |
| 2241 // succeeded if the reason string is NULL and failed if there is a | 2240 // succeeded if the reason string is NULL and failed if there is a |
| 2242 // non-NULL reason string. | 2241 // non-NULL reason string. |
| 2243 void TraceInline(Handle<JSFunction> target, | 2242 void TraceInline(Handle<JSFunction> target, |
| 2244 Handle<JSFunction> caller, | 2243 Handle<JSFunction> caller, |
| 2245 const char* failure_reason); | 2244 const char* failure_reason); |
| 2246 | 2245 |
| 2247 void HandleGlobalVariableAssignment(Variable* var, | 2246 void HandleGlobalVariableAssignment(Variable* var, |
| (...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2377 Handle<String> name); | 2376 Handle<String> name); |
| 2378 bool TryStorePolymorphicAsMonomorphic(BailoutId assignment_id, | 2377 bool TryStorePolymorphicAsMonomorphic(BailoutId assignment_id, |
| 2379 HValue* object, | 2378 HValue* object, |
| 2380 HValue* value, | 2379 HValue* value, |
| 2381 SmallMapList* types, | 2380 SmallMapList* types, |
| 2382 Handle<String> name); | 2381 Handle<String> name); |
| 2383 void HandlePolymorphicCallNamed(Call* expr, | 2382 void HandlePolymorphicCallNamed(Call* expr, |
| 2384 HValue* receiver, | 2383 HValue* receiver, |
| 2385 SmallMapList* types, | 2384 SmallMapList* types, |
| 2386 Handle<String> name); | 2385 Handle<String> name); |
| 2387 bool TryCallPolymorphicAsMonomorphic(Call* expr, | |
| 2388 HValue* receiver, | |
| 2389 SmallMapList* types, | |
| 2390 Handle<String> name); | |
| 2391 void HandleLiteralCompareTypeof(CompareOperation* expr, | 2386 void HandleLiteralCompareTypeof(CompareOperation* expr, |
| 2392 Expression* sub_expr, | 2387 Expression* sub_expr, |
| 2393 Handle<String> check); | 2388 Handle<String> check); |
| 2394 void HandleLiteralCompareNil(CompareOperation* expr, | 2389 void HandleLiteralCompareNil(CompareOperation* expr, |
| 2395 Expression* sub_expr, | 2390 Expression* sub_expr, |
| 2396 NilValue nil); | 2391 NilValue nil); |
| 2397 HControlInstruction* BuildCompareInstruction(Token::Value op, | 2392 HControlInstruction* BuildCompareInstruction(Token::Value op, |
| 2398 HValue* left, | 2393 HValue* left, |
| 2399 HValue* right, | 2394 HValue* right, |
| 2400 Type* left_type, | 2395 Type* left_type, |
| (...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2515 HValue* object_elements); | 2510 HValue* object_elements); |
| 2516 | 2511 |
| 2517 void BuildEmitFixedArray(Handle<FixedArrayBase> elements, | 2512 void BuildEmitFixedArray(Handle<FixedArrayBase> elements, |
| 2518 ElementsKind kind, | 2513 ElementsKind kind, |
| 2519 HValue* object_elements, | 2514 HValue* object_elements, |
| 2520 AllocationSiteUsageContext* site_context); | 2515 AllocationSiteUsageContext* site_context); |
| 2521 | 2516 |
| 2522 void AddCheckPrototypeMaps(Handle<JSObject> holder, | 2517 void AddCheckPrototypeMaps(Handle<JSObject> holder, |
| 2523 Handle<Map> receiver_map); | 2518 Handle<Map> receiver_map); |
| 2524 | 2519 |
| 2525 void AddCheckConstantFunction(Handle<JSObject> holder, | |
| 2526 HValue* receiver, | |
| 2527 Handle<Map> receiver_map); | |
| 2528 | |
| 2529 HInstruction* NewPlainFunctionCall(HValue* fun, | 2520 HInstruction* NewPlainFunctionCall(HValue* fun, |
| 2530 int argument_count, | 2521 int argument_count, |
| 2531 bool pass_argument_count); | 2522 bool pass_argument_count); |
| 2532 | 2523 |
| 2533 HInstruction* NewArgumentAdaptorCall(HValue* fun, HValue* context, | 2524 HInstruction* NewArgumentAdaptorCall(HValue* fun, HValue* context, |
| 2534 int argument_count, | 2525 int argument_count, |
| 2535 HValue* expected_param_count); | 2526 HValue* expected_param_count); |
| 2536 | 2527 |
| 2537 HInstruction* BuildCallConstantFunction(Handle<JSFunction> target, | 2528 HInstruction* BuildCallConstantFunction(Handle<JSFunction> target, |
| 2538 int argument_count); | 2529 int argument_count); |
| 2539 | 2530 |
| 2540 HInstruction* NewCallKeyed(HValue* key, int argument_count); | |
| 2541 | |
| 2542 HInstruction* NewCallNamed(Handle<String> name, int argument_count); | |
| 2543 | |
| 2544 // The translation state of the currently-being-translated function. | 2531 // The translation state of the currently-being-translated function. |
| 2545 FunctionState* function_state_; | 2532 FunctionState* function_state_; |
| 2546 | 2533 |
| 2547 // The base of the function state stack. | 2534 // The base of the function state stack. |
| 2548 FunctionState initial_function_state_; | 2535 FunctionState initial_function_state_; |
| 2549 | 2536 |
| 2550 // Expression context of the currently visited subexpression. NULL when | 2537 // Expression context of the currently visited subexpression. NULL when |
| 2551 // visiting statements. | 2538 // visiting statements. |
| 2552 AstContext* ast_context_; | 2539 AstContext* ast_context_; |
| 2553 | 2540 |
| (...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2725 } | 2712 } |
| 2726 | 2713 |
| 2727 private: | 2714 private: |
| 2728 HGraphBuilder* builder_; | 2715 HGraphBuilder* builder_; |
| 2729 }; | 2716 }; |
| 2730 | 2717 |
| 2731 | 2718 |
| 2732 } } // namespace v8::internal | 2719 } } // namespace v8::internal |
| 2733 | 2720 |
| 2734 #endif // V8_HYDROGEN_H_ | 2721 #endif // V8_HYDROGEN_H_ |
| OLD | NEW |