Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(832)

Side by Side Diff: src/hydrogen.h

Issue 23030002: Simplified BuildFastLiteral by eliminating manual allocation folding. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | src/hydrogen.cc » ('j') | src/hydrogen.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 2049 matching lines...) Expand 10 before | Expand all | Expand 10 after
2060 HValue* value, 2060 HValue* value,
2061 Handle<Map> map); 2061 Handle<Map> map);
2062 HInstruction* BuildStoreKeyedGeneric(HValue* object, 2062 HInstruction* BuildStoreKeyedGeneric(HValue* object,
2063 HValue* key, 2063 HValue* key,
2064 HValue* value); 2064 HValue* value);
2065 2065
2066 HValue* BuildContextChainWalk(Variable* var); 2066 HValue* BuildContextChainWalk(Variable* var);
2067 2067
2068 HInstruction* BuildThisFunction(); 2068 HInstruction* BuildThisFunction();
2069 2069
2070 HInstruction* BuildFastLiteral(HValue* context, 2070 HInstruction* BuildFastLiteral(Handle<JSObject> boilerplate_object,
2071 Handle<JSObject> boilerplate_object,
2072 Handle<JSObject> original_boilerplate_object, 2071 Handle<JSObject> original_boilerplate_object,
2073 Handle<Object> allocation_site, 2072 Handle<Object> allocation_site,
2074 int data_size,
2075 int pointer_size,
2076 AllocationSiteMode mode); 2073 AllocationSiteMode mode);
2077 2074
2078 void BuildEmitDeepCopy(Handle<JSObject> boilerplat_object, 2075 void BuildEmitObjectHeader(Handle<JSObject> boilerplate_object,
2079 Handle<JSObject> object, 2076 HInstruction* object,
2080 Handle<Object> allocation_site, 2077 HInstruction* object_elements);
2081 HInstruction* target,
2082 int* offset,
2083 HInstruction* data_target,
2084 int* data_offset,
2085 AllocationSiteMode mode);
2086
2087 MUST_USE_RESULT HValue* BuildEmitObjectHeader(
2088 Handle<JSObject> boilerplat_object,
2089 HInstruction* target,
2090 HInstruction* data_target,
2091 int object_offset,
2092 int elements_offset,
2093 int elements_size);
2094 2078
2095 void BuildEmitInObjectProperties(Handle<JSObject> boilerplate_object, 2079 void BuildEmitInObjectProperties(Handle<JSObject> boilerplate_object,
2096 Handle<JSObject> original_boilerplate_object, 2080 Handle<JSObject> original_boilerplate_object,
2097 HValue* object_properties, 2081 HInstruction* object);
2098 HInstruction* target,
2099 int* offset,
2100 HInstruction* data_target,
2101 int* data_offset);
2102 2082
2103 void BuildEmitElements(Handle<FixedArrayBase> elements, 2083 void BuildEmitElements(Handle<FixedArrayBase> elements,
2104 Handle<FixedArrayBase> original_elements, 2084 Handle<FixedArrayBase> original_elements,
2105 ElementsKind kind, 2085 ElementsKind kind,
2106 HValue* object_elements, 2086 HValue* object_elements);
2107 HInstruction* target,
2108 int* offset,
2109 HInstruction* data_target,
2110 int* data_offset);
2111 2087
2112 void BuildEmitFixedDoubleArray(Handle<FixedArrayBase> elements, 2088 void BuildEmitFixedDoubleArray(Handle<FixedArrayBase> elements,
2113 ElementsKind kind, 2089 ElementsKind kind,
2114 HValue* object_elements); 2090 HValue* object_elements);
2115 2091
2116 void BuildEmitFixedArray(Handle<FixedArrayBase> elements, 2092 void BuildEmitFixedArray(Handle<FixedArrayBase> elements,
2117 Handle<FixedArrayBase> original_elements, 2093 Handle<FixedArrayBase> original_elements,
2118 ElementsKind kind, 2094 ElementsKind kind,
2119 HValue* object_elements, 2095 HValue* object_elements);
2120 HInstruction* target,
2121 int* offset,
2122 HInstruction* data_target,
2123 int* data_offset);
2124 2096
2125 void AddCheckPrototypeMaps(Handle<JSObject> holder, 2097 void AddCheckPrototypeMaps(Handle<JSObject> holder,
2126 Handle<Map> receiver_map); 2098 Handle<Map> receiver_map);
2127 2099
2128 void AddCheckConstantFunction(Handle<JSObject> holder, 2100 void AddCheckConstantFunction(Handle<JSObject> holder,
2129 HValue* receiver, 2101 HValue* receiver,
2130 Handle<Map> receiver_map); 2102 Handle<Map> receiver_map);
2131 2103
2132 bool MatchRotateRight(HValue* left, 2104 bool MatchRotateRight(HValue* left,
2133 HValue* right, 2105 HValue* right,
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after
2322 } 2294 }
2323 2295
2324 private: 2296 private:
2325 HGraphBuilder* builder_; 2297 HGraphBuilder* builder_;
2326 }; 2298 };
2327 2299
2328 2300
2329 } } // namespace v8::internal 2301 } } // namespace v8::internal
2330 2302
2331 #endif // V8_HYDROGEN_H_ 2303 #endif // V8_HYDROGEN_H_
OLDNEW
« no previous file with comments | « no previous file | src/hydrogen.cc » ('j') | src/hydrogen.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698