[bigint,compiler] Pass BigInt binop feedback through to Turbofan.
It's still unused there but now at least it ends up in the feedback vector. Bug: v8:6791 Change-Id: I0114d317830b80be4715c74dc5a8950fff4d3485 Reviewed-on: https://chromium-review.googlesource.com/829136 Reviewed-by: Michael Stanton <mvstanton@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#50194}
This commit is contained in:
parent
e04238b744
commit
ee40f4efa5
@ -622,6 +622,7 @@ struct JSOperatorGlobalCache final {
|
||||
Name##Operator<BinaryOperationHint::kNumberOrOddball> \
|
||||
k##Name##NumberOrOddballOperator; \
|
||||
Name##Operator<BinaryOperationHint::kString> k##Name##StringOperator; \
|
||||
Name##Operator<BinaryOperationHint::kBigInt> k##Name##BigIntOperator; \
|
||||
Name##Operator<BinaryOperationHint::kAny> k##Name##AnyOperator;
|
||||
BINARY_OP_LIST(BINARY_OP)
|
||||
#undef BINARY_OP
|
||||
@ -681,6 +682,8 @@ CACHED_OP_LIST(CACHED_OP)
|
||||
return &cache_.k##Name##NumberOrOddballOperator; \
|
||||
case BinaryOperationHint::kString: \
|
||||
return &cache_.k##Name##StringOperator; \
|
||||
case BinaryOperationHint::kBigInt: \
|
||||
return &cache_.k##Name##BigIntOperator; \
|
||||
case BinaryOperationHint::kAny: \
|
||||
return &cache_.k##Name##AnyOperator; \
|
||||
} \
|
||||
|
@ -38,6 +38,7 @@ bool BinaryOperationHintToNumberOperationHint(
|
||||
case BinaryOperationHint::kAny:
|
||||
case BinaryOperationHint::kNone:
|
||||
case BinaryOperationHint::kString:
|
||||
case BinaryOperationHint::kBigInt:
|
||||
break;
|
||||
}
|
||||
return false;
|
||||
|
@ -172,9 +172,7 @@ BinaryOperationHint BinaryOperationHintFromFeedback(int type_feedback) {
|
||||
case BinaryOperationFeedback::kString:
|
||||
return BinaryOperationHint::kString;
|
||||
case BinaryOperationFeedback::kBigInt:
|
||||
// TODO(jarin/jkummerow/neis): Support BigInts in TF.
|
||||
// Fall through for now.
|
||||
case BinaryOperationFeedback::kAny:
|
||||
return BinaryOperationHint::kBigInt;
|
||||
default:
|
||||
return BinaryOperationHint::kAny;
|
||||
}
|
||||
|
@ -23,6 +23,8 @@ std::ostream& operator<<(std::ostream& os, BinaryOperationHint hint) {
|
||||
return os << "NumberOrOddball";
|
||||
case BinaryOperationHint::kString:
|
||||
return os << "String";
|
||||
case BinaryOperationHint::kBigInt:
|
||||
return os << "BigInt";
|
||||
case BinaryOperationHint::kAny:
|
||||
return os << "Any";
|
||||
}
|
||||
|
@ -20,6 +20,7 @@ enum class BinaryOperationHint : uint8_t {
|
||||
kNumber,
|
||||
kNumberOrOddball,
|
||||
kString,
|
||||
kBigInt,
|
||||
kAny
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user