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

Side by Side Diff: src/code-stubs-hydrogen.cc

Issue 2173403002: Replace SmartArrayPointer<T> with unique_ptr<T[]> (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: updates Created 4 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
« no previous file with comments | « src/base/smart-pointers.h ('k') | src/codegen.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 #include "src/code-stubs.h" 5 #include "src/code-stubs.h"
6 6
7 #include <memory>
8
7 #include "src/bailout-reason.h" 9 #include "src/bailout-reason.h"
8 #include "src/crankshaft/hydrogen.h" 10 #include "src/crankshaft/hydrogen.h"
9 #include "src/crankshaft/lithium.h" 11 #include "src/crankshaft/lithium.h"
10 #include "src/field-index.h" 12 #include "src/field-index.h"
11 #include "src/ic/ic.h" 13 #include "src/ic/ic.h"
12 14
13 namespace v8 { 15 namespace v8 {
14 namespace internal { 16 namespace internal {
15 17
16 18
(...skipping 18 matching lines...) Expand all
35 class CodeStubGraphBuilderBase : public HGraphBuilder { 37 class CodeStubGraphBuilderBase : public HGraphBuilder {
36 public: 38 public:
37 explicit CodeStubGraphBuilderBase(CompilationInfo* info, CodeStub* code_stub) 39 explicit CodeStubGraphBuilderBase(CompilationInfo* info, CodeStub* code_stub)
38 : HGraphBuilder(info, code_stub->GetCallInterfaceDescriptor()), 40 : HGraphBuilder(info, code_stub->GetCallInterfaceDescriptor()),
39 arguments_length_(NULL), 41 arguments_length_(NULL),
40 info_(info), 42 info_(info),
41 code_stub_(code_stub), 43 code_stub_(code_stub),
42 descriptor_(code_stub), 44 descriptor_(code_stub),
43 context_(NULL) { 45 context_(NULL) {
44 int parameter_count = GetParameterCount(); 46 int parameter_count = GetParameterCount();
45 parameters_.Reset(new HParameter*[parameter_count]); 47 parameters_.reset(new HParameter*[parameter_count]);
46 } 48 }
47 virtual bool BuildGraph(); 49 virtual bool BuildGraph();
48 50
49 protected: 51 protected:
50 virtual HValue* BuildCodeStub() = 0; 52 virtual HValue* BuildCodeStub() = 0;
51 int GetParameterCount() const { return descriptor_.GetParameterCount(); } 53 int GetParameterCount() const { return descriptor_.GetParameterCount(); }
52 int GetRegisterParameterCount() const { 54 int GetRegisterParameterCount() const {
53 return descriptor_.GetRegisterParameterCount(); 55 return descriptor_.GetRegisterParameterCount();
54 } 56 }
55 HParameter* GetParameter(int parameter) { 57 HParameter* GetParameter(int parameter) {
(...skipping 26 matching lines...) Expand all
82 HValue* argument_elements, ElementsKind kind); 84 HValue* argument_elements, ElementsKind kind);
83 85
84 HValue* UnmappedCase(HValue* elements, HValue* key, HValue* value); 86 HValue* UnmappedCase(HValue* elements, HValue* key, HValue* value);
85 HValue* EmitKeyedSloppyArguments(HValue* receiver, HValue* key, 87 HValue* EmitKeyedSloppyArguments(HValue* receiver, HValue* key,
86 HValue* value); 88 HValue* value);
87 89
88 HValue* BuildToString(HValue* input, bool convert); 90 HValue* BuildToString(HValue* input, bool convert);
89 HValue* BuildToPrimitive(HValue* input, HValue* input_map); 91 HValue* BuildToPrimitive(HValue* input, HValue* input_map);
90 92
91 private: 93 private:
92 base::SmartArrayPointer<HParameter*> parameters_; 94 std::unique_ptr<HParameter* []> parameters_;
93 HValue* arguments_length_; 95 HValue* arguments_length_;
94 CompilationInfo* info_; 96 CompilationInfo* info_;
95 CodeStub* code_stub_; 97 CodeStub* code_stub_;
96 CodeStubDescriptor descriptor_; 98 CodeStubDescriptor descriptor_;
97 HContext* context_; 99 HContext* context_;
98 }; 100 };
99 101
100 102
101 bool CodeStubGraphBuilderBase::BuildGraph() { 103 bool CodeStubGraphBuilderBase::BuildGraph() {
102 // Update the static counter each time a new code stub is generated. 104 // Update the static counter each time a new code stub is generated.
(...skipping 2105 matching lines...) Expand 10 before | Expand all | Expand 10 after
2208 return Pop(); 2210 return Pop();
2209 } 2211 }
2210 2212
2211 2213
2212 Handle<Code> KeyedLoadGenericStub::GenerateCode() { 2214 Handle<Code> KeyedLoadGenericStub::GenerateCode() {
2213 return DoGenerateCode(this); 2215 return DoGenerateCode(this);
2214 } 2216 }
2215 2217
2216 } // namespace internal 2218 } // namespace internal
2217 } // namespace v8 2219 } // namespace v8
OLDNEW
« no previous file with comments | « src/base/smart-pointers.h ('k') | src/codegen.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698