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

Side by Side Diff: src/compiler/js-typed-lowering.cc

Issue 2640283002: Several bug fixes which missed 5.7 (Closed)
Patch Set: Created 3 years, 11 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/compiler/js-typed-lowering.h ('k') | src/deoptimizer.h » ('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 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 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/compiler/js-typed-lowering.h" 5 #include "src/compiler/js-typed-lowering.h"
6 6
7 #include "src/ast/modules.h" 7 #include "src/ast/modules.h"
8 #include "src/builtins/builtins-utils.h" 8 #include "src/builtins/builtins-utils.h"
9 #include "src/code-factory.h" 9 #include "src/code-factory.h"
10 #include "src/compilation-dependencies.h" 10 #include "src/compilation-dependencies.h"
(...skipping 2139 matching lines...) Expand 10 before | Expand all | Expand 10 after
2150 ReplaceWithValue(node, node, effect, control); 2150 ReplaceWithValue(node, node, effect, control);
2151 node->ReplaceInput(0, vtrue0); 2151 node->ReplaceInput(0, vtrue0);
2152 node->ReplaceInput(1, vfalse0); 2152 node->ReplaceInput(1, vfalse0);
2153 node->ReplaceInput(2, control); 2153 node->ReplaceInput(2, control);
2154 node->TrimInputCount(3); 2154 node->TrimInputCount(3);
2155 NodeProperties::ChangeOp(node, 2155 NodeProperties::ChangeOp(node,
2156 common()->Phi(MachineRepresentation::kTagged, 2)); 2156 common()->Phi(MachineRepresentation::kTagged, 2));
2157 return Changed(node); 2157 return Changed(node);
2158 } 2158 }
2159 2159
2160 Reduction JSTypedLowering::ReduceJSLoadMessage(Node* node) {
2161 DCHECK_EQ(IrOpcode::kJSLoadMessage, node->opcode());
2162 ExternalReference const ref =
2163 ExternalReference::address_of_pending_message_obj(isolate());
2164 node->ReplaceInput(0, jsgraph()->ExternalConstant(ref));
2165 NodeProperties::ChangeOp(
2166 node, simplified()->LoadField(AccessBuilder::ForExternalTaggedValue()));
2167 return Changed(node);
2168 }
2169
2170 Reduction JSTypedLowering::ReduceJSStoreMessage(Node* node) {
2171 DCHECK_EQ(IrOpcode::kJSStoreMessage, node->opcode());
2172 ExternalReference const ref =
2173 ExternalReference::address_of_pending_message_obj(isolate());
2174 Node* value = NodeProperties::GetValueInput(node, 0);
2175 node->ReplaceInput(0, jsgraph()->ExternalConstant(ref));
2176 node->ReplaceInput(1, value);
2177 NodeProperties::ChangeOp(
2178 node, simplified()->StoreField(AccessBuilder::ForExternalTaggedValue()));
2179 return Changed(node);
2180 }
2181
2160 Reduction JSTypedLowering::ReduceJSGeneratorStore(Node* node) { 2182 Reduction JSTypedLowering::ReduceJSGeneratorStore(Node* node) {
2161 DCHECK_EQ(IrOpcode::kJSGeneratorStore, node->opcode()); 2183 DCHECK_EQ(IrOpcode::kJSGeneratorStore, node->opcode());
2162 Node* generator = NodeProperties::GetValueInput(node, 0); 2184 Node* generator = NodeProperties::GetValueInput(node, 0);
2163 Node* continuation = NodeProperties::GetValueInput(node, 1); 2185 Node* continuation = NodeProperties::GetValueInput(node, 1);
2164 Node* offset = NodeProperties::GetValueInput(node, 2); 2186 Node* offset = NodeProperties::GetValueInput(node, 2);
2165 Node* context = NodeProperties::GetContextInput(node); 2187 Node* context = NodeProperties::GetContextInput(node);
2166 Node* effect = NodeProperties::GetEffectInput(node); 2188 Node* effect = NodeProperties::GetEffectInput(node);
2167 Node* control = NodeProperties::GetControlInput(node); 2189 Node* control = NodeProperties::GetControlInput(node);
2168 int register_count = OpParameter<int>(node); 2190 int register_count = OpParameter<int>(node);
2169 2191
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
2300 case IrOpcode::kJSStoreModule: 2322 case IrOpcode::kJSStoreModule:
2301 return ReduceJSStoreModule(node); 2323 return ReduceJSStoreModule(node);
2302 case IrOpcode::kJSConvertReceiver: 2324 case IrOpcode::kJSConvertReceiver:
2303 return ReduceJSConvertReceiver(node); 2325 return ReduceJSConvertReceiver(node);
2304 case IrOpcode::kJSCallConstruct: 2326 case IrOpcode::kJSCallConstruct:
2305 return ReduceJSCallConstruct(node); 2327 return ReduceJSCallConstruct(node);
2306 case IrOpcode::kJSCallFunction: 2328 case IrOpcode::kJSCallFunction:
2307 return ReduceJSCallFunction(node); 2329 return ReduceJSCallFunction(node);
2308 case IrOpcode::kJSForInNext: 2330 case IrOpcode::kJSForInNext:
2309 return ReduceJSForInNext(node); 2331 return ReduceJSForInNext(node);
2332 case IrOpcode::kJSLoadMessage:
2333 return ReduceJSLoadMessage(node);
2334 case IrOpcode::kJSStoreMessage:
2335 return ReduceJSStoreMessage(node);
2310 case IrOpcode::kJSGeneratorStore: 2336 case IrOpcode::kJSGeneratorStore:
2311 return ReduceJSGeneratorStore(node); 2337 return ReduceJSGeneratorStore(node);
2312 case IrOpcode::kJSGeneratorRestoreContinuation: 2338 case IrOpcode::kJSGeneratorRestoreContinuation:
2313 return ReduceJSGeneratorRestoreContinuation(node); 2339 return ReduceJSGeneratorRestoreContinuation(node);
2314 case IrOpcode::kJSGeneratorRestoreRegister: 2340 case IrOpcode::kJSGeneratorRestoreRegister:
2315 return ReduceJSGeneratorRestoreRegister(node); 2341 return ReduceJSGeneratorRestoreRegister(node);
2316 default: 2342 default:
2317 break; 2343 break;
2318 } 2344 }
2319 return NoChange(); 2345 return NoChange();
(...skipping 23 matching lines...) Expand all
2343 } 2369 }
2344 2370
2345 2371
2346 CompilationDependencies* JSTypedLowering::dependencies() const { 2372 CompilationDependencies* JSTypedLowering::dependencies() const {
2347 return dependencies_; 2373 return dependencies_;
2348 } 2374 }
2349 2375
2350 } // namespace compiler 2376 } // namespace compiler
2351 } // namespace internal 2377 } // namespace internal
2352 } // namespace v8 2378 } // namespace v8
OLDNEW
« no previous file with comments | « src/compiler/js-typed-lowering.h ('k') | src/deoptimizer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698