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

Side by Side Diff: src/compiler/common-operator.cc

Issue 2082993002: [turbofan] Address the useless overflow bit materialization. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 6 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 | « no previous file | src/compiler/effect-control-linearizer.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/common-operator.h" 5 #include "src/compiler/common-operator.h"
6 6
7 #include "src/assembler.h" 7 #include "src/assembler.h"
8 #include "src/base/lazy-instance.h" 8 #include "src/base/lazy-instance.h"
9 #include "src/compiler/linkage.h" 9 #include "src/compiler/linkage.h"
10 #include "src/compiler/opcodes.h" 10 #include "src/compiler/opcodes.h"
(...skipping 451 matching lines...) Expand 10 before | Expand all | Expand 10 after
462 CACHED_PARAMETER_LIST(CACHED_PARAMETER) 462 CACHED_PARAMETER_LIST(CACHED_PARAMETER)
463 #undef CACHED_PARAMETER 463 #undef CACHED_PARAMETER
464 464
465 template <size_t kIndex> 465 template <size_t kIndex>
466 struct ProjectionOperator final : public Operator1<size_t> { 466 struct ProjectionOperator final : public Operator1<size_t> {
467 ProjectionOperator() 467 ProjectionOperator()
468 : Operator1<size_t>( // -- 468 : Operator1<size_t>( // --
469 IrOpcode::kProjection, // opcode 469 IrOpcode::kProjection, // opcode
470 Operator::kPure, // flags 470 Operator::kPure, // flags
471 "Projection", // name 471 "Projection", // name
472 1, 0, 0, 1, 0, 0, // counts, 472 1, 0, 1, 1, 0, 0, // counts,
473 kIndex) {} // parameter 473 kIndex) {} // parameter
474 }; 474 };
475 #define CACHED_PROJECTION(index) \ 475 #define CACHED_PROJECTION(index) \
476 ProjectionOperator<index> kProjection##index##Operator; 476 ProjectionOperator<index> kProjection##index##Operator;
477 CACHED_PROJECTION_LIST(CACHED_PROJECTION) 477 CACHED_PROJECTION_LIST(CACHED_PROJECTION)
478 #undef CACHED_PROJECTION 478 #undef CACHED_PROJECTION
479 479
480 template <int kInputCount> 480 template <int kInputCount>
481 struct StateValuesOperator final : public Operator { 481 struct StateValuesOperator final : public Operator {
482 StateValuesOperator() 482 StateValuesOperator()
(...skipping 425 matching lines...) Expand 10 before | Expand all | Expand 10 after
908 switch (index) { 908 switch (index) {
909 #define CACHED_PROJECTION(index) \ 909 #define CACHED_PROJECTION(index) \
910 case index: \ 910 case index: \
911 return &cache_.kProjection##index##Operator; 911 return &cache_.kProjection##index##Operator;
912 CACHED_PROJECTION_LIST(CACHED_PROJECTION) 912 CACHED_PROJECTION_LIST(CACHED_PROJECTION)
913 #undef CACHED_PROJECTION 913 #undef CACHED_PROJECTION
914 default: 914 default:
915 break; 915 break;
916 } 916 }
917 // Uncached. 917 // Uncached.
918 return new (zone()) Operator1<size_t>( // -- 918 return new (zone()) Operator1<size_t>( // --
919 IrOpcode::kProjection, // opcode 919 IrOpcode::kProjection, // opcode
920 Operator::kFoldable | Operator::kNoThrow, // flags 920 Operator::kPure, // flags
921 "Projection", // name 921 "Projection", // name
922 1, 0, 0, 1, 0, 0, // counts 922 1, 0, 1, 1, 0, 0, // counts
923 index); // parameter 923 index); // parameter
924 } 924 }
925 925
926 926
927 const Operator* CommonOperatorBuilder::ResizeMergeOrPhi(const Operator* op, 927 const Operator* CommonOperatorBuilder::ResizeMergeOrPhi(const Operator* op,
928 int size) { 928 int size) {
929 if (op->opcode() == IrOpcode::kPhi) { 929 if (op->opcode() == IrOpcode::kPhi) {
930 return Phi(PhiRepresentationOf(op), size); 930 return Phi(PhiRepresentationOf(op), size);
931 } else if (op->opcode() == IrOpcode::kEffectPhi) { 931 } else if (op->opcode() == IrOpcode::kEffectPhi) {
932 return EffectPhi(size); 932 return EffectPhi(size);
933 } else if (op->opcode() == IrOpcode::kMerge) { 933 } else if (op->opcode() == IrOpcode::kMerge) {
(...skipping 11 matching lines...) Expand all
945 CommonOperatorBuilder::CreateFrameStateFunctionInfo( 945 CommonOperatorBuilder::CreateFrameStateFunctionInfo(
946 FrameStateType type, int parameter_count, int local_count, 946 FrameStateType type, int parameter_count, int local_count,
947 Handle<SharedFunctionInfo> shared_info) { 947 Handle<SharedFunctionInfo> shared_info) {
948 return new (zone()->New(sizeof(FrameStateFunctionInfo))) 948 return new (zone()->New(sizeof(FrameStateFunctionInfo)))
949 FrameStateFunctionInfo(type, parameter_count, local_count, shared_info); 949 FrameStateFunctionInfo(type, parameter_count, local_count, shared_info);
950 } 950 }
951 951
952 } // namespace compiler 952 } // namespace compiler
953 } // namespace internal 953 } // namespace internal
954 } // namespace v8 954 } // namespace v8
OLDNEW
« no previous file with comments | « no previous file | src/compiler/effect-control-linearizer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698