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

Side by Side Diff: src/hydrogen.h

Issue 1064083003: Recover performance of array buffer view field accesses in ICs (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 8 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
« no previous file with comments | « src/code-stubs-hydrogen.cc ('k') | src/hydrogen.cc » ('j') | no next file with comments »
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 // 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_HYDROGEN_H_ 5 #ifndef V8_HYDROGEN_H_
6 #define V8_HYDROGEN_H_ 6 #define V8_HYDROGEN_H_
7 7
8 #include "src/v8.h" 8 #include "src/v8.h"
9 9
10 #include "src/accessors.h" 10 #include "src/accessors.h"
(...skipping 1844 matching lines...) Expand 10 before | Expand all | Expand 10 after
1855 HValue* payload); 1855 HValue* payload);
1856 1856
1857 HInstruction* BuildConstantMapCheck(Handle<JSObject> constant); 1857 HInstruction* BuildConstantMapCheck(Handle<JSObject> constant);
1858 HInstruction* BuildCheckPrototypeMaps(Handle<JSObject> prototype, 1858 HInstruction* BuildCheckPrototypeMaps(Handle<JSObject> prototype,
1859 Handle<JSObject> holder); 1859 Handle<JSObject> holder);
1860 1860
1861 HInstruction* BuildGetNativeContext(HValue* closure); 1861 HInstruction* BuildGetNativeContext(HValue* closure);
1862 HInstruction* BuildGetNativeContext(); 1862 HInstruction* BuildGetNativeContext();
1863 HInstruction* BuildGetScriptContext(int context_index); 1863 HInstruction* BuildGetScriptContext(int context_index);
1864 HInstruction* BuildGetArrayFunction(); 1864 HInstruction* BuildGetArrayFunction();
1865 HInstruction* BuildArrayBufferViewFieldAccessor(HValue* object,
1866 FieldIndex index);
1867
1865 1868
1866 protected: 1869 protected:
1867 void SetSourcePosition(int position) { 1870 void SetSourcePosition(int position) {
1868 if (position != RelocInfo::kNoPosition) { 1871 if (position != RelocInfo::kNoPosition) {
1869 position_.set_position(position - start_position_); 1872 position_.set_position(position - start_position_);
1870 } 1873 }
1871 // Otherwise position remains unknown. 1874 // Otherwise position remains unknown.
1872 } 1875 }
1873 1876
1874 void EnterInlinedSource(int start_position, int id) { 1877 void EnterInlinedSource(int start_position, int id) {
(...skipping 362 matching lines...) Expand 10 before | Expand all | Expand 10 after
2237 F(GetPrototype) \ 2240 F(GetPrototype) \
2238 /* Strings */ \ 2241 /* Strings */ \
2239 F(StringGetLength) \ 2242 F(StringGetLength) \
2240 /* JSValue */ \ 2243 /* JSValue */ \
2241 F(JSValueGetValue) 2244 F(JSValueGetValue)
2242 2245
2243 #define GENERATOR_DECLARATION(Name) void Generate##Name(CallRuntime* call); 2246 #define GENERATOR_DECLARATION(Name) void Generate##Name(CallRuntime* call);
2244 FOR_EACH_HYDROGEN_INTRINSIC(GENERATOR_DECLARATION) 2247 FOR_EACH_HYDROGEN_INTRINSIC(GENERATOR_DECLARATION)
2245 #undef GENERATOR_DECLARATION 2248 #undef GENERATOR_DECLARATION
2246 2249
2247 void GenerateArrayBufferViewIndirectAccessor(CallRuntime* call,
2248 HObjectAccess access);
2249
2250 void VisitDelete(UnaryOperation* expr); 2250 void VisitDelete(UnaryOperation* expr);
2251 void VisitVoid(UnaryOperation* expr); 2251 void VisitVoid(UnaryOperation* expr);
2252 void VisitTypeof(UnaryOperation* expr); 2252 void VisitTypeof(UnaryOperation* expr);
2253 void VisitNot(UnaryOperation* expr); 2253 void VisitNot(UnaryOperation* expr);
2254 2254
2255 void VisitComma(BinaryOperation* expr); 2255 void VisitComma(BinaryOperation* expr);
2256 void VisitLogicalExpression(BinaryOperation* expr); 2256 void VisitLogicalExpression(BinaryOperation* expr);
2257 void VisitArithmeticExpression(BinaryOperation* expr); 2257 void VisitArithmeticExpression(BinaryOperation* expr);
2258 2258
2259 void VisitLoopBody(IterationStatement* stmt, 2259 void VisitLoopBody(IterationStatement* stmt,
(...skipping 779 matching lines...) Expand 10 before | Expand all | Expand 10 after
3039 } 3039 }
3040 3040
3041 private: 3041 private:
3042 HGraphBuilder* builder_; 3042 HGraphBuilder* builder_;
3043 }; 3043 };
3044 3044
3045 3045
3046 } } // namespace v8::internal 3046 } } // namespace v8::internal
3047 3047
3048 #endif // V8_HYDROGEN_H_ 3048 #endif // V8_HYDROGEN_H_
OLDNEW
« no previous file with comments | « src/code-stubs-hydrogen.cc ('k') | src/hydrogen.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698