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 1893 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1904 bool TryInline(CallKind call_kind, | 1904 bool TryInline(CallKind call_kind, |
1905 Handle<JSFunction> target, | 1905 Handle<JSFunction> target, |
1906 int arguments_count, | 1906 int arguments_count, |
1907 HValue* implicit_return_value, | 1907 HValue* implicit_return_value, |
1908 BailoutId ast_id, | 1908 BailoutId ast_id, |
1909 BailoutId return_id, | 1909 BailoutId return_id, |
1910 InliningKind inlining_kind); | 1910 InliningKind inlining_kind); |
1911 | 1911 |
1912 bool TryInlineCall(Call* expr, bool drop_extra = false); | 1912 bool TryInlineCall(Call* expr, bool drop_extra = false); |
1913 bool TryInlineConstruct(CallNew* expr, HValue* implicit_return_value); | 1913 bool TryInlineConstruct(CallNew* expr, HValue* implicit_return_value); |
1914 bool TryInlineGetter(Handle<JSFunction> getter, Property* prop); | 1914 bool TryInlineGetter(Handle<JSFunction> getter, BailoutId return_id); |
1915 bool TryInlineSetter(Handle<JSFunction> setter, | 1915 bool TryInlineSetter(Handle<JSFunction> setter, |
1916 BailoutId id, | 1916 BailoutId id, |
1917 BailoutId assignment_id, | 1917 BailoutId assignment_id, |
1918 HValue* implicit_return_value); | 1918 HValue* implicit_return_value); |
1919 bool TryInlineApply(Handle<JSFunction> function, | 1919 bool TryInlineApply(Handle<JSFunction> function, |
1920 Call* expr, | 1920 Call* expr, |
1921 int arguments_count); | 1921 int arguments_count); |
1922 bool TryInlineBuiltinMethodCall(Call* expr, | 1922 bool TryInlineBuiltinMethodCall(Call* expr, |
1923 HValue* receiver, | 1923 HValue* receiver, |
1924 Handle<Map> receiver_map, | 1924 Handle<Map> receiver_map, |
1925 CheckType check_type); | 1925 CheckType check_type); |
1926 bool TryInlineBuiltinFunctionCall(Call* expr, bool drop_extra); | 1926 bool TryInlineBuiltinFunctionCall(Call* expr, bool drop_extra); |
1927 | 1927 |
1928 // If --trace-inlining, print a line of the inlining trace. Inlining | 1928 // If --trace-inlining, print a line of the inlining trace. Inlining |
1929 // succeeded if the reason string is NULL and failed if there is a | 1929 // succeeded if the reason string is NULL and failed if there is a |
1930 // non-NULL reason string. | 1930 // non-NULL reason string. |
1931 void TraceInline(Handle<JSFunction> target, | 1931 void TraceInline(Handle<JSFunction> target, |
1932 Handle<JSFunction> caller, | 1932 Handle<JSFunction> caller, |
1933 const char* failure_reason); | 1933 const char* failure_reason); |
1934 | 1934 |
1935 void HandleGlobalVariableAssignment(Variable* var, | 1935 void HandleGlobalVariableAssignment(Variable* var, |
1936 HValue* value, | 1936 HValue* value, |
1937 int position, | 1937 int position, |
1938 BailoutId ast_id); | 1938 BailoutId ast_id); |
1939 | 1939 |
1940 void HandlePropertyAssignment(Assignment* expr); | 1940 void HandlePropertyAssignment(Assignment* expr); |
1941 void HandleCompoundAssignment(Assignment* expr); | 1941 void HandleCompoundAssignment(Assignment* expr); |
1942 void HandlePolymorphicLoadNamedField(Property* expr, | 1942 void HandlePolymorphicLoadNamedField(int position, |
| 1943 BailoutId return_id, |
1943 HValue* object, | 1944 HValue* object, |
1944 SmallMapList* types, | 1945 SmallMapList* types, |
1945 Handle<String> name); | 1946 Handle<String> name); |
1946 HInstruction* TryLoadPolymorphicAsMonomorphic(Property* expr, | 1947 HInstruction* TryLoadPolymorphicAsMonomorphic(HValue* object, |
1947 HValue* object, | |
1948 SmallMapList* types, | 1948 SmallMapList* types, |
1949 Handle<String> name); | 1949 Handle<String> name); |
1950 void HandlePolymorphicStoreNamedField(int position, | 1950 void HandlePolymorphicStoreNamedField(int position, |
1951 BailoutId assignment_id, | 1951 BailoutId assignment_id, |
1952 HValue* object, | 1952 HValue* object, |
1953 HValue* value, | 1953 HValue* value, |
1954 HValue* result, | 1954 HValue* result, |
1955 SmallMapList* types, | 1955 SmallMapList* types, |
1956 Handle<String> name); | 1956 Handle<String> name); |
1957 bool TryStorePolymorphicAsMonomorphic(int position, | 1957 bool TryStorePolymorphicAsMonomorphic(int position, |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2022 | 2022 |
2023 HInstruction* BuildLoadNamedGeneric(HValue* object, | 2023 HInstruction* BuildLoadNamedGeneric(HValue* object, |
2024 Handle<String> name, | 2024 Handle<String> name, |
2025 Property* expr); | 2025 Property* expr); |
2026 HInstruction* BuildCallGetter(HValue* object, | 2026 HInstruction* BuildCallGetter(HValue* object, |
2027 Handle<Map> map, | 2027 Handle<Map> map, |
2028 Handle<JSFunction> getter, | 2028 Handle<JSFunction> getter, |
2029 Handle<JSObject> holder); | 2029 Handle<JSObject> holder); |
2030 HInstruction* BuildLoadNamedMonomorphic(HValue* object, | 2030 HInstruction* BuildLoadNamedMonomorphic(HValue* object, |
2031 Handle<String> name, | 2031 Handle<String> name, |
2032 Property* expr, | |
2033 Handle<Map> map); | 2032 Handle<Map> map); |
2034 | 2033 |
2035 HCheckMaps* AddCheckMap(HValue* object, Handle<Map> map); | 2034 HCheckMaps* AddCheckMap(HValue* object, Handle<Map> map); |
2036 | 2035 |
| 2036 void BuildLoad(Property* property, |
| 2037 int position, |
| 2038 BailoutId ast_id, |
| 2039 BailoutId return_id); |
| 2040 void PushLoad(Property* property, |
| 2041 HValue* object, |
| 2042 int position, |
| 2043 BailoutId ast_id, |
| 2044 BailoutId return_id); |
| 2045 |
2037 void BuildStoreNamed(Expression* expression, | 2046 void BuildStoreNamed(Expression* expression, |
2038 BailoutId id, | 2047 BailoutId id, |
2039 int position, | 2048 int position, |
2040 BailoutId assignment_id, | 2049 BailoutId assignment_id, |
2041 Property* prop, | 2050 Property* prop, |
2042 HValue* object, | 2051 HValue* object, |
2043 HValue* store_value, | 2052 HValue* store_value, |
2044 HValue* result_value); | 2053 HValue* result_value); |
2045 | 2054 |
2046 HInstruction* BuildStoreNamedField(HValue* object, | 2055 HInstruction* BuildStoreNamedField(HValue* object, |
(...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2285 } | 2294 } |
2286 | 2295 |
2287 private: | 2296 private: |
2288 HGraphBuilder* builder_; | 2297 HGraphBuilder* builder_; |
2289 }; | 2298 }; |
2290 | 2299 |
2291 | 2300 |
2292 } } // namespace v8::internal | 2301 } } // namespace v8::internal |
2293 | 2302 |
2294 #endif // V8_HYDROGEN_H_ | 2303 #endif // V8_HYDROGEN_H_ |
OLD | NEW |