Commit ee40f4ef authored by Georg Neis's avatar Georg Neis Committed by Commit Bot

[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/829136Reviewed-by: 's avatarMichael Stanton <mvstanton@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50194}
parent e04238b7
......@@ -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
};
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment