| Index: test/unittests/compiler/js-intrinsic-lowering-unittest.cc
|
| diff --git a/test/unittests/compiler/js-intrinsic-lowering-unittest.cc b/test/unittests/compiler/js-intrinsic-lowering-unittest.cc
|
| index d8380036d4ae5b13b77962c8f85877915205b14b..4c99654a6878d4ed56e84495da7dd026ffe9d8e8 100644
|
| --- a/test/unittests/compiler/js-intrinsic-lowering-unittest.cc
|
| +++ b/test/unittests/compiler/js-intrinsic-lowering-unittest.cc
|
| @@ -174,6 +174,37 @@ TEST_F(JSIntrinsicLoweringTest, InlineIsArray) {
|
|
|
|
|
| // -----------------------------------------------------------------------------
|
| +// %_IsTypedArray
|
| +
|
| +
|
| +TEST_F(JSIntrinsicLoweringTest, InlineIsTypedArray) {
|
| + Node* const input = Parameter(0);
|
| + Node* const context = Parameter(1);
|
| + Node* const effect = graph()->start();
|
| + Node* const control = graph()->start();
|
| + Reduction const r = Reduce(graph()->NewNode(
|
| + javascript()->CallRuntime(Runtime::kInlineIsTypedArray, 1), input,
|
| + context, effect, control));
|
| + ASSERT_TRUE(r.Changed());
|
| +
|
| + Node* phi = r.replacement();
|
| + Capture<Node*> branch, if_false;
|
| + EXPECT_THAT(
|
| + phi,
|
| + IsPhi(
|
| + static_cast<MachineType>(kTypeBool | kRepTagged), IsFalseConstant(),
|
| + IsWord32Equal(IsLoadField(AccessBuilder::ForMapInstanceType(),
|
| + IsLoadField(AccessBuilder::ForMap(), input,
|
| + effect, CaptureEq(&if_false)),
|
| + effect, _),
|
| + IsInt32Constant(JS_TYPED_ARRAY_TYPE)),
|
| + IsMerge(IsIfTrue(AllOf(CaptureEq(&branch),
|
| + IsBranch(IsObjectIsSmi(input), control))),
|
| + AllOf(CaptureEq(&if_false), IsIfFalse(CaptureEq(&branch))))));
|
| +}
|
| +
|
| +
|
| +// -----------------------------------------------------------------------------
|
| // %_IsFunction
|
|
|
|
|
|
|