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

Side by Side Diff: src/hydrogen-instructions.cc

Issue 1100083002: Don't MISS if you read the hole from certain FastHoley arrays. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: REBASE and fix arm64 compilation. Created 5 years, 7 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/hydrogen-instructions.h ('k') | src/ia32/lithium-codegen-ia32.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/v8.h" 5 #include "src/v8.h"
6 6
7 #include "src/base/bits.h" 7 #include "src/base/bits.h"
8 #include "src/double.h" 8 #include "src/double.h"
9 #include "src/factory.h" 9 #include "src/factory.h"
10 #include "src/hydrogen-infer-representation.h" 10 #include "src/hydrogen-infer-representation.h"
(...skipping 3510 matching lines...) Expand 10 before | Expand all | Expand 10 after
3521 3521
3522 bool HLoadKeyed::RequiresHoleCheck() const { 3522 bool HLoadKeyed::RequiresHoleCheck() const {
3523 if (IsFastPackedElementsKind(elements_kind())) { 3523 if (IsFastPackedElementsKind(elements_kind())) {
3524 return false; 3524 return false;
3525 } 3525 }
3526 3526
3527 if (IsExternalArrayElementsKind(elements_kind())) { 3527 if (IsExternalArrayElementsKind(elements_kind())) {
3528 return false; 3528 return false;
3529 } 3529 }
3530 3530
3531 if (hole_mode() == CONVERT_HOLE_TO_UNDEFINED) {
3532 return false;
3533 }
3534
3531 return !UsesMustHandleHole(); 3535 return !UsesMustHandleHole();
3532 } 3536 }
3533 3537
3534 3538
3535 std::ostream& HLoadKeyedGeneric::PrintDataTo( 3539 std::ostream& HLoadKeyedGeneric::PrintDataTo(
3536 std::ostream& os) const { // NOLINT 3540 std::ostream& os) const { // NOLINT
3537 return os << NameOf(object()) << "[" << NameOf(key()) << "]"; 3541 return os << NameOf(object()) << "[" << NameOf(key()) << "]";
3538 } 3542 }
3539 3543
3540 3544
(...skipping 1165 matching lines...) Expand 10 before | Expand all | Expand 10 after
4706 break; 4710 break;
4707 case HObjectAccess::kExternalMemory: 4711 case HObjectAccess::kExternalMemory:
4708 os << "[external-memory]"; 4712 os << "[external-memory]";
4709 break; 4713 break;
4710 } 4714 }
4711 4715
4712 return os << "@" << access.offset(); 4716 return os << "@" << access.offset();
4713 } 4717 }
4714 4718
4715 } } // namespace v8::internal 4719 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/hydrogen-instructions.h ('k') | src/ia32/lithium-codegen-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698