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

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

Issue 1722193002: [compiler] Drop the CompareNilIC. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: REBASE Created 4 years, 9 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.cc ('k') | src/compiler/change-lowering.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 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 "src/bailout-reason.h" 7 #include "src/bailout-reason.h"
8 #include "src/crankshaft/hydrogen.h" 8 #include "src/crankshaft/hydrogen.h"
9 #include "src/crankshaft/lithium.h" 9 #include "src/crankshaft/lithium.h"
10 #include "src/field-index.h" 10 #include "src/field-index.h"
(...skipping 1401 matching lines...) Expand 10 before | Expand all | Expand 10 after
1412 return BuildInternalArrayConstructor(kind, MULTIPLE); 1412 return BuildInternalArrayConstructor(kind, MULTIPLE);
1413 } 1413 }
1414 1414
1415 1415
1416 Handle<Code> InternalArrayNArgumentsConstructorStub::GenerateCode() { 1416 Handle<Code> InternalArrayNArgumentsConstructorStub::GenerateCode() {
1417 return DoGenerateCode(this); 1417 return DoGenerateCode(this);
1418 } 1418 }
1419 1419
1420 1420
1421 template <> 1421 template <>
1422 HValue* CodeStubGraphBuilder<CompareNilICStub>::BuildCodeInitializedStub() {
1423 Isolate* isolate = graph()->isolate();
1424 CompareNilICStub* stub = casted_stub();
1425 HIfContinuation continuation;
1426 Handle<Map> sentinel_map(isolate->heap()->meta_map());
1427 Type* type = stub->GetType(zone(), sentinel_map);
1428 BuildCompareNil(GetParameter(0), type, &continuation, kEmbedMapsViaWeakCells);
1429 IfBuilder if_nil(this, &continuation);
1430 if_nil.Then();
1431 if (continuation.IsFalseReachable()) {
1432 if_nil.Else();
1433 if_nil.Return(graph()->GetConstantFalse());
1434 }
1435 if_nil.End();
1436 return continuation.IsTrueReachable() ? graph()->GetConstantTrue()
1437 : graph()->GetConstantUndefined();
1438 }
1439
1440
1441 Handle<Code> CompareNilICStub::GenerateCode() {
1442 return DoGenerateCode(this);
1443 }
1444
1445
1446 template <>
1447 HValue* CodeStubGraphBuilder<BinaryOpICStub>::BuildCodeInitializedStub() { 1422 HValue* CodeStubGraphBuilder<BinaryOpICStub>::BuildCodeInitializedStub() {
1448 BinaryOpICState state = casted_stub()->state(); 1423 BinaryOpICState state = casted_stub()->state();
1449 1424
1450 HValue* left = GetParameter(BinaryOpICStub::kLeft); 1425 HValue* left = GetParameter(BinaryOpICStub::kLeft);
1451 HValue* right = GetParameter(BinaryOpICStub::kRight); 1426 HValue* right = GetParameter(BinaryOpICStub::kRight);
1452 1427
1453 Type* left_type = state.GetLeftType(); 1428 Type* left_type = state.GetLeftType();
1454 Type* right_type = state.GetRightType(); 1429 Type* right_type = state.GetRightType();
1455 Type* result_type = state.GetResultType(); 1430 Type* result_type = state.GetResultType();
1456 1431
(...skipping 967 matching lines...) Expand 10 before | Expand all | Expand 10 after
2424 return Pop(); 2399 return Pop();
2425 } 2400 }
2426 2401
2427 2402
2428 Handle<Code> KeyedLoadGenericStub::GenerateCode() { 2403 Handle<Code> KeyedLoadGenericStub::GenerateCode() {
2429 return DoGenerateCode(this); 2404 return DoGenerateCode(this);
2430 } 2405 }
2431 2406
2432 } // namespace internal 2407 } // namespace internal
2433 } // namespace v8 2408 } // namespace v8
OLDNEW
« no previous file with comments | « src/code-stubs.cc ('k') | src/compiler/change-lowering.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698