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

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

Issue 2358533002: [crankshaft] Remove HStoreNamedGeneric and use HCallWithDescriptor instead to call StoreIC. (Closed)
Patch Set: Created 4 years, 3 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/crankshaft/hydrogen-instructions.h ('k') | src/crankshaft/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/crankshaft/hydrogen-instructions.h" 5 #include "src/crankshaft/hydrogen-instructions.h"
6 6
7 #include "src/base/bits.h" 7 #include "src/base/bits.h"
8 #include "src/base/ieee754.h" 8 #include "src/base/ieee754.h"
9 #include "src/base/safe_math.h" 9 #include "src/base/safe_math.h"
10 #include "src/crankshaft/hydrogen-infer-representation.h" 10 #include "src/crankshaft/hydrogen-infer-representation.h"
(...skipping 797 matching lines...) Expand 10 before | Expand all | Expand 10 after
808 case HValue::kLoadRoot: 808 case HValue::kLoadRoot:
809 case HValue::kMathMinMax: 809 case HValue::kMathMinMax:
810 case HValue::kParameter: 810 case HValue::kParameter:
811 case HValue::kPhi: 811 case HValue::kPhi:
812 case HValue::kPushArguments: 812 case HValue::kPushArguments:
813 case HValue::kReturn: 813 case HValue::kReturn:
814 case HValue::kSeqStringGetChar: 814 case HValue::kSeqStringGetChar:
815 case HValue::kStoreCodeEntry: 815 case HValue::kStoreCodeEntry:
816 case HValue::kStoreKeyed: 816 case HValue::kStoreKeyed:
817 case HValue::kStoreNamedField: 817 case HValue::kStoreNamedField:
818 case HValue::kStoreNamedGeneric:
819 case HValue::kStringCharCodeAt: 818 case HValue::kStringCharCodeAt:
820 case HValue::kStringCharFromCode: 819 case HValue::kStringCharFromCode:
821 case HValue::kThisFunction: 820 case HValue::kThisFunction:
822 case HValue::kTypeofIsAndBranch: 821 case HValue::kTypeofIsAndBranch:
823 case HValue::kUnknownOSRValue: 822 case HValue::kUnknownOSRValue:
824 case HValue::kUseConst: 823 case HValue::kUseConst:
825 return false; 824 return false;
826 825
827 case HValue::kAdd: 826 case HValue::kAdd:
828 case HValue::kApplyArguments: 827 case HValue::kApplyArguments:
(...skipping 2187 matching lines...) Expand 10 before | Expand all | Expand 10 after
3016 return Prepend(new(block()->zone()) HLoadFieldByIndex( 3015 return Prepend(new(block()->zone()) HLoadFieldByIndex(
3017 object(), index)); 3016 object(), index));
3018 } 3017 }
3019 } 3018 }
3020 } 3019 }
3021 3020
3022 return this; 3021 return this;
3023 } 3022 }
3024 3023
3025 3024
3026 std::ostream& HStoreNamedGeneric::PrintDataTo(
3027 std::ostream& os) const { // NOLINT
3028 Handle<String> n = Handle<String>::cast(name());
3029 return os << NameOf(object()) << "." << n->ToCString().get() << " = "
3030 << NameOf(value());
3031 }
3032
3033
3034 std::ostream& HStoreNamedField::PrintDataTo(std::ostream& os) const { // NOLINT 3025 std::ostream& HStoreNamedField::PrintDataTo(std::ostream& os) const { // NOLINT
3035 os << NameOf(object()) << access_ << " = " << NameOf(value()); 3026 os << NameOf(object()) << access_ << " = " << NameOf(value());
3036 if (NeedsWriteBarrier()) os << " (write-barrier)"; 3027 if (NeedsWriteBarrier()) os << " (write-barrier)";
3037 if (has_transition()) os << " (transition map " << *transition_map() << ")"; 3028 if (has_transition()) os << " (transition map " << *transition_map() << ")";
3038 return os; 3029 return os;
3039 } 3030 }
3040 3031
3041 3032
3042 std::ostream& HStoreKeyed::PrintDataTo(std::ostream& os) const { // NOLINT 3033 std::ostream& HStoreKeyed::PrintDataTo(std::ostream& os) const { // NOLINT
3043 if (!is_fixed_typed_array()) { 3034 if (!is_fixed_typed_array()) {
(...skipping 1011 matching lines...) Expand 10 before | Expand all | Expand 10 after
4055 case HObjectAccess::kExternalMemory: 4046 case HObjectAccess::kExternalMemory:
4056 os << "[external-memory]"; 4047 os << "[external-memory]";
4057 break; 4048 break;
4058 } 4049 }
4059 4050
4060 return os << "@" << access.offset(); 4051 return os << "@" << access.offset();
4061 } 4052 }
4062 4053
4063 } // namespace internal 4054 } // namespace internal
4064 } // namespace v8 4055 } // namespace v8
OLDNEW
« no previous file with comments | « src/crankshaft/hydrogen-instructions.h ('k') | src/crankshaft/ia32/lithium-codegen-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698