| Index: src/compiler/node-matchers.h
|
| diff --git a/src/compiler/node-matchers.h b/src/compiler/node-matchers.h
|
| index d543425fca48606a0947291dc13bda6ecaa1c9cd..749b03cc2d670bba300f6f701a2392ac4e4f3766 100644
|
| --- a/src/compiler/node-matchers.h
|
| +++ b/src/compiler/node-matchers.h
|
| @@ -77,6 +77,18 @@ struct ValueMatcher : public NodeMatcher {
|
|
|
|
|
| template <>
|
| +inline ValueMatcher<uint32_t, IrOpcode::kInt32Constant>::ValueMatcher(
|
| + Node* node)
|
| + : NodeMatcher(node),
|
| + value_(),
|
| + has_value_(opcode() == IrOpcode::kInt32Constant) {
|
| + if (has_value_) {
|
| + value_ = static_cast<uint32_t>(OpParameter<int32_t>(node));
|
| + }
|
| +}
|
| +
|
| +
|
| +template <>
|
| inline ValueMatcher<int64_t, IrOpcode::kInt64Constant>::ValueMatcher(Node* node)
|
| : NodeMatcher(node), value_(), has_value_(false) {
|
| if (opcode() == IrOpcode::kInt32Constant) {
|
| @@ -94,10 +106,10 @@ inline ValueMatcher<uint64_t, IrOpcode::kInt64Constant>::ValueMatcher(
|
| Node* node)
|
| : NodeMatcher(node), value_(), has_value_(false) {
|
| if (opcode() == IrOpcode::kInt32Constant) {
|
| - value_ = OpParameter<uint32_t>(node);
|
| + value_ = static_cast<uint32_t>(OpParameter<int32_t>(node));
|
| has_value_ = true;
|
| } else if (opcode() == IrOpcode::kInt64Constant) {
|
| - value_ = OpParameter<uint64_t>(node);
|
| + value_ = static_cast<uint64_t>(OpParameter<int64_t>(node));
|
| has_value_ = true;
|
| }
|
| }
|
|
|