| Index: test/cctest/compiler/test-run-inlining.cc | 
| diff --git a/test/cctest/compiler/test-run-inlining.cc b/test/cctest/compiler/test-run-inlining.cc | 
| index ad82fecaa20fab5e7f8f8eb7e8b274781cb38fe9..8656b986b43033dba9ac6f0fcaeabb4fd1233427 100644 | 
| --- a/test/cctest/compiler/test-run-inlining.cc | 
| +++ b/test/cctest/compiler/test-run-inlining.cc | 
| @@ -350,4 +350,101 @@ TEST(InlineNonStrictIntoStrict) { | 
| } | 
|  | 
|  | 
| +TEST(InlineIntrinsicIsSmi) { | 
| +  FLAG_turbo_deoptimization = true; | 
| +  FunctionTester T( | 
| +      "(function () {" | 
| +      "var x = 42;" | 
| +      "function bar(s,t) { return %_IsSmi(x); };" | 
| +      "return bar;" | 
| +      "})();", | 
| +      CompilationInfo::kInliningEnabled | | 
| +          CompilationInfo::kContextSpecializing | | 
| +          CompilationInfo::kTypingEnabled); | 
| + | 
| +  InstallAssertInlineCountHelper(CcTest::isolate()); | 
| +  T.CheckCall(T.true_value(), T.Val(12), T.Val(4)); | 
| +} | 
| + | 
| + | 
| +TEST(InlineIntrinsicIsNonNegativeSmi) { | 
| +  FLAG_turbo_deoptimization = true; | 
| +  FunctionTester T( | 
| +      "(function () {" | 
| +      "var x = 42;" | 
| +      "function bar(s,t) { return %_IsNonNegativeSmi(x); };" | 
| +      "return bar;" | 
| +      "})();", | 
| +      CompilationInfo::kInliningEnabled | | 
| +          CompilationInfo::kContextSpecializing | | 
| +          CompilationInfo::kTypingEnabled); | 
| + | 
| +  InstallAssertInlineCountHelper(CcTest::isolate()); | 
| +  T.CheckCall(T.true_value(), T.Val(12), T.Val(4)); | 
| +} | 
| + | 
| + | 
| +TEST(InlineIntrinsicIsArray) { | 
| +  FLAG_turbo_deoptimization = true; | 
| +  FunctionTester T( | 
| +      "(function () {" | 
| +      "var x = [1,2,3];" | 
| +      "function bar(s,t) { return %_IsArray(x); };" | 
| +      "return bar;" | 
| +      "})();", | 
| +      CompilationInfo::kInliningEnabled | | 
| +          CompilationInfo::kContextSpecializing | | 
| +          CompilationInfo::kTypingEnabled); | 
| + | 
| +  InstallAssertInlineCountHelper(CcTest::isolate()); | 
| +  T.CheckCall(T.true_value(), T.Val(12), T.Val(4)); | 
| + | 
| +  FunctionTester T2( | 
| +      "(function () {" | 
| +      "var x = 32;" | 
| +      "function bar(s,t) { return %_IsArray(x); };" | 
| +      "return bar;" | 
| +      "})();", | 
| +      CompilationInfo::kInliningEnabled | | 
| +          CompilationInfo::kContextSpecializing | | 
| +          CompilationInfo::kTypingEnabled); | 
| + | 
| +  T2.CheckCall(T.false_value(), T.Val(12), T.Val(4)); | 
| + | 
| +  FunctionTester T3( | 
| +      "(function () {" | 
| +      "var x = bar;" | 
| +      "function bar(s,t) { return %_IsArray(x); };" | 
| +      "return bar;" | 
| +      "})();", | 
| +      CompilationInfo::kInliningEnabled | | 
| +          CompilationInfo::kContextSpecializing | | 
| +          CompilationInfo::kTypingEnabled); | 
| + | 
| +  T3.CheckCall(T.false_value(), T.Val(12), T.Val(4)); | 
| +} | 
| + | 
| + | 
| +TEST(InlineWithArguments) { | 
| +  FLAG_turbo_deoptimization = true; | 
| +  FunctionTester T( | 
| +      "(function () {" | 
| +      "  function foo(s,t,u) { AssertInlineCount(2); " | 
| +      "    return foo.arguments.length == 3 && " | 
| +      "           foo.arguments[0] == 13 && " | 
| +      "           foo.arguments[1] == 14 && " | 
| +      "           foo.arguments[2] == 15; " | 
| +      "  }" | 
| +      "  function bar() { return foo(13, 14, 15); };" | 
| +      "  return bar;" | 
| +      "}" | 
| +      ")();", | 
| +      CompilationInfo::kInliningEnabled | | 
| +          CompilationInfo::kContextSpecializing | | 
| +          CompilationInfo::kTypingEnabled); | 
| + | 
| +  InstallAssertInlineCountHelper(CcTest::isolate()); | 
| +  T.CheckCall(T.true_value(), T.Val(12), T.Val(14)); | 
| +} | 
| + | 
| #endif  // V8_TURBOFAN_TARGET | 
|  |