summaryrefslogtreecommitdiff
path: root/deps/v8/test/cctest/test-code-stub-assembler.cc
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/test/cctest/test-code-stub-assembler.cc')
-rw-r--r--deps/v8/test/cctest/test-code-stub-assembler.cc326
1 files changed, 155 insertions, 171 deletions
diff --git a/deps/v8/test/cctest/test-code-stub-assembler.cc b/deps/v8/test/cctest/test-code-stub-assembler.cc
index d1e6f08d0a..5efe5281c2 100644
--- a/deps/v8/test/cctest/test-code-stub-assembler.cc
+++ b/deps/v8/test/cctest/test-code-stub-assembler.cc
@@ -56,7 +56,7 @@ TEST(CallCFunction) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 0;
- CodeAssemblerTester asm_tester(isolate, kNumParams);
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
CodeStubAssembler m(asm_tester.state());
{
@@ -90,7 +90,7 @@ TEST(CallCFunctionWithCallerSavedRegisters) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 0;
- CodeAssemblerTester asm_tester(isolate, kNumParams);
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
CodeStubAssembler m(asm_tester.state());
{
@@ -119,7 +119,7 @@ TEST(NumberToString) {
Factory* factory = isolate->factory();
const int kNumParams = 1;
- CodeAssemblerTester asm_tester(isolate, kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
CodeStubAssembler m(asm_tester.state());
{
@@ -199,14 +199,14 @@ TEST(ToUint32) {
Factory* factory = isolate->factory();
const int kNumParams = 1;
- CodeAssemblerTester asm_tester(isolate, kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
CodeStubAssembler m(asm_tester.state());
- const int kContextOffset = 3;
- auto context = m.Parameter<Context>(kNumParams + kContextOffset);
- auto input = m.Parameter<Object>(1);
- m.Return(m.ToUint32(context, input));
-
+ {
+ auto context = m.GetJSContextParameter();
+ auto input = m.Parameter<Object>(1);
+ m.Return(m.ToUint32(context, input));
+ }
FunctionTester ft(asm_tester.GenerateCode(), kNumParams);
// clang-format off
@@ -275,7 +275,7 @@ TEST(ToUint32) {
namespace {
void IsValidPositiveSmiCase(Isolate* isolate, intptr_t value) {
const int kNumParams = 0;
- CodeAssemblerTester asm_tester(isolate, kNumParams);
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
CodeStubAssembler m(asm_tester.state());
m.Return(
@@ -320,7 +320,7 @@ TEST(ConvertAndClampRelativeIndex) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 3;
- CodeAssemblerTester asm_tester(isolate, kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
CodeStubAssembler m(asm_tester.state());
enum Result { kFound, kNotFound };
@@ -470,7 +470,7 @@ TEST(DecodeWordFromWord32) {
TEST(JSFunction) {
const int kNumParams = 2; // left, right.
Isolate* isolate(CcTest::InitIsolateOnce());
- CodeAssemblerTester asm_tester(isolate, kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
CodeStubAssembler m(asm_tester.state());
m.Return(m.SmiFromInt32(m.Int32Add(m.SmiToInt32(m.Parameter<Smi>(1)),
m.SmiToInt32(m.Parameter<Smi>(2)))));
@@ -485,7 +485,7 @@ TEST(JSFunction) {
TEST(ComputeIntegerHash) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 1;
- CodeAssemblerTester asm_tester(isolate, kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
CodeStubAssembler m(asm_tester.state());
m.Return(m.SmiFromInt32(m.UncheckedCast<Int32T>(
@@ -510,10 +510,9 @@ TEST(ComputeIntegerHash) {
TEST(ToString) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 1;
- CodeAssemblerTester asm_tester(isolate, kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
CodeStubAssembler m(asm_tester.state());
- m.Return(m.ToStringImpl(m.Parameter<Context>(kNumParams + 3),
- m.Parameter<Object>(1)));
+ m.Return(m.ToStringImpl(m.GetJSContextParameter(), m.Parameter<Object>(1)));
FunctionTester ft(asm_tester.GenerateCode(), kNumParams);
@@ -569,7 +568,7 @@ TEST(TryToName) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 3;
- CodeAssemblerTester asm_tester(isolate, kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
CodeStubAssembler m(asm_tester.state());
enum Result { kKeyIsIndex, kKeyIsUnique, kBailout };
@@ -792,7 +791,7 @@ void TestEntryToIndex() {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 1;
- CodeAssemblerTester asm_tester(isolate, kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
CodeStubAssembler m(asm_tester.state());
{
TNode<IntPtrT> entry = m.SmiUntag(m.Parameter<Smi>(1));
@@ -824,7 +823,7 @@ void TestNameDictionaryLookup() {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 4;
- CodeAssemblerTester asm_tester(isolate, kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
CodeStubAssembler m(asm_tester.state());
enum Result { kFound, kNotFound };
@@ -928,7 +927,7 @@ TEST(NumberDictionaryLookup) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 4;
- CodeAssemblerTester asm_tester(isolate, kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
CodeStubAssembler m(asm_tester.state());
enum Result { kFound, kNotFound };
@@ -1013,7 +1012,7 @@ TEST(TransitionLookup) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 4;
- CodeAssemblerTester asm_tester(isolate, kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
enum Result { kFound, kNotFound };
@@ -1192,7 +1191,7 @@ TEST(TryHasOwnProperty) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 3;
- CodeAssemblerTester asm_tester(isolate, kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
CodeStubAssembler m(asm_tester.state());
enum Result { kFound, kNotFound, kBailout };
@@ -1384,7 +1383,7 @@ TEST(TryGetOwnProperty) {
Factory* factory = isolate->factory();
const int kNumParams = 2;
- CodeAssemblerTester asm_tester(isolate, kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
CodeStubAssembler m(asm_tester.state());
Handle<Symbol> not_found_symbol = factory->NewSymbol();
@@ -1392,7 +1391,7 @@ TEST(TryGetOwnProperty) {
{
auto object = m.Parameter<JSReceiver>(1);
auto unique_name = m.Parameter<Name>(2);
- auto context = m.Parameter<Context>(kNumParams + 3);
+ auto context = m.GetJSContextParameter();
TVariable<Object> var_value(&m);
Label if_found(&m), if_not_found(&m), if_bailout(&m);
@@ -1605,7 +1604,7 @@ TEST(TryLookupElement) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 3;
- CodeAssemblerTester asm_tester(isolate, kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
CodeStubAssembler m(asm_tester.state());
enum Result { kFound, kAbsent, kNotFound, kBailout };
@@ -1835,7 +1834,7 @@ TEST(AllocateJSObjectFromMap) {
Factory* factory = isolate->factory();
const int kNumParams = 3;
- CodeAssemblerTester asm_tester(isolate, kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
CodeStubAssembler m(asm_tester.state());
{
@@ -1917,8 +1916,8 @@ TEST(AllocationFoldingCSA) {
const int kNumParams = 1;
const int kNumArrays = 7;
- CodeAssemblerTester asm_tester(isolate, kNumParams + 1,
- CodeKind::FOR_TESTING); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams),
+ CodeKind::FOR_TESTING);
CodeStubAssembler m(asm_tester.state());
{
@@ -1986,7 +1985,7 @@ void TestDictionaryAllocation(CSAAllocator<Dictionary> csa_alloc,
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 1;
- CodeAssemblerTester asm_tester(isolate, kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
CodeStubAssembler m(asm_tester.state());
{
@@ -2060,10 +2059,10 @@ TEST(PopAndReturnFromJSBuiltinWithStackParameters) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumStackParams = 1;
- CodeAssemblerTester asm_tester(isolate, kNumStackParams);
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumStackParams));
{
CodeStubAssembler m(asm_tester.state());
- m.PopAndReturn(m.SmiUntag(m.Parameter<Smi>(0)),
+ m.PopAndReturn(m.SmiUntag(m.Parameter<Smi>(1)),
m.SmiConstant(Smi::FromInt(1234)));
}
@@ -2149,7 +2148,8 @@ void CallFunctionWithStackPointerChecks(Isolate* isolate,
CSA_CHECK(
&m, m.TaggedEqual(result, MakeConstantNode(m, expected_result)));
},
- 1, CodeStubAssembler::IndexAdvanceMode::kPost);
+ 1, CodeStubAssembler::LoopUnrollingMode::kNo,
+ CodeStubAssembler::IndexAdvanceMode::kPost);
#ifdef V8_CC_GNU
TNode<WordT> stack_pointer1 =
@@ -2158,7 +2158,7 @@ void CallFunctionWithStackPointerChecks(Isolate* isolate,
#endif
m.Return(m.SmiConstant(42));
}
- FunctionTester ft(asm_tester.GenerateCode(), 1); // Include receiver.
+ FunctionTester ft(asm_tester.GenerateCode(), 1);
Handle<Object> result;
for (int test_count = 0; test_count < 100; ++test_count) {
@@ -2241,7 +2241,7 @@ TEST(OneToTwoByteStringCopy) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 2;
- CodeAssemblerTester asm_tester(isolate, kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
StringBuiltinsAssembler m(asm_tester.state());
m.CopyStringCharacters<String>(m.Parameter<String>(1), m.Parameter<String>(2),
@@ -2274,7 +2274,7 @@ TEST(OneToOneByteStringCopy) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 2;
- CodeAssemblerTester asm_tester(isolate, kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
StringBuiltinsAssembler m(asm_tester.state());
m.CopyStringCharacters<String>(m.Parameter<String>(1), m.Parameter<String>(2),
@@ -2307,7 +2307,7 @@ TEST(OneToOneByteStringCopyNonZeroStart) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 2;
- CodeAssemblerTester asm_tester(isolate, kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
StringBuiltinsAssembler m(asm_tester.state());
m.CopyStringCharacters<String>(m.Parameter<String>(1), m.Parameter<String>(2),
@@ -2337,7 +2337,7 @@ TEST(TwoToTwoByteStringCopy) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 2;
- CodeAssemblerTester asm_tester(isolate, kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
StringBuiltinsAssembler m(asm_tester.state());
m.CopyStringCharacters<String>(m.Parameter<String>(1), m.Parameter<String>(2),
@@ -2479,7 +2479,7 @@ TEST(IsDebugActive) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 0;
- CodeAssemblerTester asm_tester(isolate, kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
CodeStubAssembler m(asm_tester.state());
Label if_active(&m), if_not_active(&m);
@@ -2545,14 +2545,13 @@ TEST(CallBuiltin) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 2;
- CodeAssemblerTester asm_tester(isolate,
- kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
PromiseBuiltinsAssembler m(asm_tester.state());
{
auto receiver = m.Parameter<Object>(1);
auto name = m.Parameter<Name>(2);
- auto context = m.Parameter<Context>(kNumParams + 3);
+ auto context = m.GetJSContextParameter();
auto value = m.CallBuiltin(Builtin::kGetProperty, context, receiver, name);
m.Return(value);
@@ -2574,14 +2573,13 @@ TEST(TailCallBuiltin) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 2;
- CodeAssemblerTester asm_tester(isolate,
- kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
PromiseBuiltinsAssembler m(asm_tester.state());
{
auto receiver = m.Parameter<Object>(1);
auto name = m.Parameter<Name>(2);
- auto context = m.Parameter<Context>(kNumParams + 3);
+ auto context = m.GetJSContextParameter();
m.TailCallBuiltin(Builtin::kGetProperty, context, receiver, name);
}
@@ -2651,7 +2649,7 @@ class AppendJSArrayCodeStubAssembler : public CodeStubAssembler {
static void TestAppendJSArray(Isolate* isolate, ElementsKind kind, Object o1,
Object o2, Object o3, Object o4,
int initial_size, int result_size) {
- CodeAssemblerTester asm_tester(isolate, kNumParams);
+ CodeAssemblerTester asm_tester(isolate, i::JSParameterCount(kNumParams));
AppendJSArrayCodeStubAssembler m(asm_tester.state(), kind);
m.TestAppendJSArrayImpl(
isolate, &asm_tester, Handle<Object>(o1, isolate),
@@ -2745,7 +2743,7 @@ TEST(IsPromiseHookEnabled) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 1;
- CodeAssemblerTester asm_tester(isolate, kNumParams);
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
CodeStubAssembler m(asm_tester.state());
m.Return(
@@ -2770,10 +2768,10 @@ TEST(NewJSPromise) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 1;
- CodeAssemblerTester asm_tester(isolate, kNumParams);
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
PromiseBuiltinsAssembler m(asm_tester.state());
- auto context = m.Parameter<Context>(kNumParams + 2);
+ auto context = m.GetJSContextParameter();
const TNode<JSPromise> promise = m.NewJSPromise(context);
m.Return(promise);
@@ -2787,10 +2785,10 @@ TEST(NewJSPromise2) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 1;
- CodeAssemblerTester asm_tester(isolate, kNumParams);
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
PromiseBuiltinsAssembler m(asm_tester.state());
- auto context = m.Parameter<Context>(kNumParams + 2);
+ auto context = m.GetJSContextParameter();
const TNode<JSPromise> promise =
m.NewJSPromise(context, v8::Promise::kRejected, m.SmiConstant(1));
m.Return(promise);
@@ -2809,7 +2807,7 @@ TEST(IsSymbol) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 1;
- CodeAssemblerTester asm_tester(isolate, kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
CodeStubAssembler m(asm_tester.state());
auto symbol = m.Parameter<HeapObject>(1);
@@ -2828,7 +2826,7 @@ TEST(IsPrivateSymbol) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 1;
- CodeAssemblerTester asm_tester(isolate, kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
CodeStubAssembler m(asm_tester.state());
auto symbol = m.Parameter<HeapObject>(1);
@@ -2850,10 +2848,10 @@ TEST(PromiseHasHandler) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 1;
- CodeAssemblerTester asm_tester(isolate, kNumParams);
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
PromiseBuiltinsAssembler m(asm_tester.state());
- auto context = m.Parameter<Context>(kNumParams + 2);
+ auto context = m.GetJSContextParameter();
const TNode<JSPromise> promise =
m.NewJSPromise(context, m.UndefinedConstant());
m.Return(m.SelectBooleanConstant(m.PromiseHasHandler(promise)));
@@ -2868,10 +2866,10 @@ TEST(CreatePromiseResolvingFunctionsContext) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 0;
- CodeAssemblerTester asm_tester(isolate, kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
PromiseBuiltinsAssembler m(asm_tester.state());
- const auto context = m.Parameter<Context>(kNumParams + 3);
+ auto context = m.GetJSContextParameter();
const TNode<NativeContext> native_context = m.LoadNativeContext(context);
const TNode<JSPromise> promise =
m.NewJSPromise(context, m.UndefinedConstant());
@@ -2895,10 +2893,10 @@ TEST(CreatePromiseResolvingFunctions) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 1;
- CodeAssemblerTester asm_tester(isolate, kNumParams);
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
PromiseBuiltinsAssembler m(asm_tester.state());
- auto context = m.Parameter<Context>(kNumParams + 2);
+ auto context = m.GetJSContextParameter();
const TNode<NativeContext> native_context = m.LoadNativeContext(context);
const TNode<JSPromise> promise =
m.NewJSPromise(context, m.UndefinedConstant());
@@ -2924,12 +2922,13 @@ TEST(CreatePromiseResolvingFunctions) {
TEST(NewElementsCapacity) {
Isolate* isolate(CcTest::InitIsolateOnce());
- CodeAssemblerTester asm_tester(isolate, 2);
+ const int kNumParams = 1;
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
CodeStubAssembler m(asm_tester.state());
m.Return(m.SmiTag(
m.CalculateNewElementsCapacity(m.SmiUntag(m.Parameter<Smi>(1)))));
- FunctionTester ft(asm_tester.GenerateCode(), 1);
+ FunctionTester ft(asm_tester.GenerateCode(), kNumParams);
Handle<Smi> test_value = Handle<Smi>(Smi::FromInt(1), isolate);
Handle<Smi> result_obj = ft.CallChecked<Smi>(test_value);
CHECK_EQ(
@@ -2954,11 +2953,12 @@ TEST(NewElementsCapacity) {
TEST(NewElementsCapacitySmi) {
Isolate* isolate(CcTest::InitIsolateOnce());
- CodeAssemblerTester asm_tester(isolate, 2);
+ const int kNumParams = 1;
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
CodeStubAssembler m(asm_tester.state());
m.Return(m.CalculateNewElementsCapacity(m.UncheckedParameter<Smi>(1)));
- FunctionTester ft(asm_tester.GenerateCode(), 1);
+ FunctionTester ft(asm_tester.GenerateCode(), kNumParams);
Handle<Smi> test_value = Handle<Smi>(Smi::FromInt(0), isolate);
Handle<Smi> result_obj = ft.CallChecked<Smi>(test_value);
CHECK_EQ(
@@ -2985,10 +2985,10 @@ TEST(AllocateFunctionWithMapAndContext) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 1;
- CodeAssemblerTester asm_tester(isolate, kNumParams);
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
PromiseBuiltinsAssembler m(asm_tester.state());
- const auto context = m.Parameter<Context>(kNumParams + 2);
+ const auto context = m.GetJSContextParameter();
const TNode<NativeContext> native_context = m.LoadNativeContext(context);
const TNode<JSPromise> promise =
m.NewJSPromise(context, m.UndefinedConstant());
@@ -3016,7 +3016,7 @@ TEST(AllocateFunctionWithMapAndContext) {
fun->shared());
CHECK_EQ(isolate->factory()
->promise_capability_default_resolve_shared_fun()
- ->GetCode(),
+ ->GetCode(isolate),
fun->code());
}
@@ -3024,10 +3024,10 @@ TEST(CreatePromiseGetCapabilitiesExecutorContext) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 1;
- CodeAssemblerTester asm_tester(isolate, kNumParams);
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
PromiseBuiltinsAssembler m(asm_tester.state());
- auto context = m.Parameter<Context>(kNumParams + 2);
+ auto context = m.GetJSContextParameter();
TNode<NativeContext> native_context = m.LoadNativeContext(context);
TNode<PromiseCapability> capability = m.CreatePromiseCapability(
@@ -3053,11 +3053,10 @@ TEST(NewPromiseCapability) {
{ // Builtin Promise
const int kNumParams = 0;
- CodeAssemblerTester asm_tester(isolate,
- kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
PromiseBuiltinsAssembler m(asm_tester.state());
- auto context = m.Parameter<Context>(kNumParams + 3);
+ auto context = m.GetJSContextParameter();
const TNode<NativeContext> native_context = m.LoadNativeContext(context);
const TNode<Object> promise_constructor =
m.LoadContextElement(native_context, Context::PROMISE_FUNCTION_INDEX);
@@ -3104,11 +3103,10 @@ TEST(NewPromiseCapability) {
{ // Custom Promise
const int kNumParams = 1;
- CodeAssemblerTester asm_tester(isolate,
- kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
PromiseBuiltinsAssembler m(asm_tester.state());
- auto context = m.Parameter<Context>(kNumParams + 3);
+ auto context = m.GetJSContextParameter();
auto constructor = m.Parameter<Object>(1);
const TNode<Oddball> debug_event = m.TrueConstant();
@@ -3170,7 +3168,7 @@ TEST(DirectMemoryTest8BitWord32Immediate) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 0;
- CodeAssemblerTester asm_tester(isolate, kNumParams);
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
CodeStubAssembler m(asm_tester.state());
int8_t buffer[] = {1, 2, 4, 8, 17, 33, 65, 127};
const int element_count = 8;
@@ -3202,7 +3200,7 @@ TEST(DirectMemoryTest8BitWord32Immediate) {
TEST(DirectMemoryTest16BitWord32Immediate) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 0;
- CodeAssemblerTester asm_tester(isolate, kNumParams);
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
CodeStubAssembler m(asm_tester.state());
int16_t buffer[] = {156, 2234, 4544, 8444, 1723, 3888, 658, 1278};
const int element_count = 8;
@@ -3234,7 +3232,7 @@ TEST(DirectMemoryTest16BitWord32Immediate) {
TEST(DirectMemoryTest8BitWord32) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 0;
- CodeAssemblerTester asm_tester(isolate, kNumParams);
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
CodeStubAssembler m(asm_tester.state());
int8_t buffer[] = {1, 2, 4, 8, 17, 33, 65, 127, 67, 38};
const int element_count = 10;
@@ -3278,7 +3276,7 @@ TEST(DirectMemoryTest8BitWord32) {
TEST(DirectMemoryTest16BitWord32) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 0;
- CodeAssemblerTester asm_tester(isolate, kNumParams);
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
CodeStubAssembler m(asm_tester.state());
int16_t buffer[] = {1, 2, 4, 8, 12345, 33, 65, 255, 67, 3823};
const int element_count = 10;
@@ -3334,10 +3332,10 @@ TEST(DirectMemoryTest16BitWord32) {
TEST(LoadJSArrayElementsMap) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 1;
- CodeAssemblerTester asm_tester(isolate, kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
{
CodeStubAssembler m(asm_tester.state());
- auto context = m.Parameter<Context>(kNumParams + 3);
+ auto context = m.GetJSContextParameter();
TNode<NativeContext> native_context = m.LoadNativeContext(context);
TNode<Int32T> kind = m.SmiToInt32(m.Parameter<Smi>(1));
m.Return(m.LoadJSArrayElementsMap(kind, native_context));
@@ -3359,7 +3357,7 @@ TEST(IsWhiteSpaceOrLineTerminator) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 1;
- CodeAssemblerTester asm_tester(isolate, kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
{ // Returns true if whitespace, false otherwise.
CodeStubAssembler m(asm_tester.state());
@@ -3388,7 +3386,7 @@ TEST(BranchIfNumberRelationalComparison) {
Isolate* isolate(CcTest::InitIsolateOnce());
Factory* f = isolate->factory();
const int kNumParams = 2;
- CodeAssemblerTester asm_tester(isolate, kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
{
CodeStubAssembler m(asm_tester.state());
Label return_true(&m), return_false(&m);
@@ -3418,7 +3416,7 @@ TEST(BranchIfNumberRelationalComparison) {
TEST(IsNumberArrayIndex) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 1;
- CodeAssemblerTester asm_tester(isolate, kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
{
CodeStubAssembler m(asm_tester.state());
auto number = m.Parameter<Number>(1);
@@ -3466,16 +3464,14 @@ TEST(IsNumberArrayIndex) {
TEST(NumberMinMax) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 2;
- CodeAssemblerTester asm_tester_min(isolate,
- kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester_min(isolate, JSParameterCount(kNumParams));
{
CodeStubAssembler m(asm_tester_min.state());
m.Return(m.NumberMin(m.Parameter<Number>(1), m.Parameter<Number>(2)));
}
FunctionTester ft_min(asm_tester_min.GenerateCode(), kNumParams);
- CodeAssemblerTester asm_tester_max(isolate,
- kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester_max(isolate, JSParameterCount(kNumParams));
{
CodeStubAssembler m(asm_tester_max.state());
m.Return(m.NumberMax(m.Parameter<Number>(1), m.Parameter<Number>(2)));
@@ -3524,16 +3520,14 @@ TEST(NumberMinMax) {
TEST(NumberAddSub) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 2;
- CodeAssemblerTester asm_tester_add(isolate,
- kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester_add(isolate, JSParameterCount(kNumParams));
{
CodeStubAssembler m(asm_tester_add.state());
m.Return(m.NumberAdd(m.Parameter<Number>(1), m.Parameter<Number>(2)));
}
FunctionTester ft_add(asm_tester_add.GenerateCode(), kNumParams);
- CodeAssemblerTester asm_tester_sub(isolate,
- kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester_sub(isolate, JSParameterCount(kNumParams));
{
CodeStubAssembler m(asm_tester_sub.state());
m.Return(m.NumberSub(m.Parameter<Number>(1), m.Parameter<Number>(2)));
@@ -3570,7 +3564,7 @@ TEST(NumberAddSub) {
TEST(CloneEmptyFixedArray) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 1;
- CodeAssemblerTester asm_tester(isolate, kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
{
CodeStubAssembler m(asm_tester.state());
m.Return(m.CloneFixedArray(m.Parameter<FixedArrayBase>(1)));
@@ -3587,7 +3581,7 @@ TEST(CloneEmptyFixedArray) {
TEST(CloneFixedArray) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 1;
- CodeAssemblerTester asm_tester(isolate, kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
{
CodeStubAssembler m(asm_tester.state());
m.Return(m.CloneFixedArray(m.Parameter<FixedArrayBase>(1)));
@@ -3609,7 +3603,7 @@ TEST(CloneFixedArray) {
TEST(CloneFixedArrayCOW) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 1;
- CodeAssemblerTester asm_tester(isolate, kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
{
CodeStubAssembler m(asm_tester.state());
m.Return(m.CloneFixedArray(m.Parameter<FixedArrayBase>(1)));
@@ -3627,7 +3621,7 @@ TEST(CloneFixedArrayCOW) {
TEST(ExtractFixedArrayCOWForceCopy) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 1;
- CodeAssemblerTester asm_tester(isolate, kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
{
CodeStubAssembler m(asm_tester.state());
CodeStubAssembler::ExtractFixedArrayFlags flags;
@@ -3657,7 +3651,7 @@ TEST(ExtractFixedArrayCOWForceCopy) {
TEST(ExtractFixedArraySimple) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 3;
- CodeAssemblerTester asm_tester(isolate, kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
{
CodeStubAssembler m(asm_tester.state());
CodeStubAssembler::ExtractFixedArrayFlags flags;
@@ -3686,7 +3680,7 @@ TEST(ExtractFixedArraySimple) {
TEST(ExtractFixedArraySimpleSmiConstant) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 1;
- CodeAssemblerTester asm_tester(isolate, kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
{
CodeStubAssembler m(asm_tester.state());
CodeStubAssembler::ExtractFixedArrayFlags flags;
@@ -3712,7 +3706,7 @@ TEST(ExtractFixedArraySimpleSmiConstant) {
TEST(ExtractFixedArraySimpleIntPtrConstant) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 1;
- CodeAssemblerTester asm_tester(isolate, kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
{
CodeStubAssembler m(asm_tester.state());
CodeStubAssembler::ExtractFixedArrayFlags flags;
@@ -3738,7 +3732,7 @@ TEST(ExtractFixedArraySimpleIntPtrConstant) {
TEST(ExtractFixedArraySimpleIntPtrConstantNoDoubles) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 1;
- CodeAssemblerTester asm_tester(isolate, kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
{
CodeStubAssembler m(asm_tester.state());
base::Optional<TNode<IntPtrT>> constant_1(m.IntPtrConstant(1));
@@ -3762,7 +3756,7 @@ TEST(ExtractFixedArraySimpleIntPtrConstantNoDoubles) {
TEST(ExtractFixedArraySimpleIntPtrParameters) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 3;
- CodeAssemblerTester asm_tester(isolate, kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
{
CodeStubAssembler m(asm_tester.state());
base::Optional<TNode<IntPtrT>> p1_untagged(m.SmiUntag(m.Parameter<Smi>(2)));
@@ -3803,7 +3797,7 @@ TEST(ExtractFixedArraySimpleIntPtrParameters) {
TEST(SingleInputPhiElimination) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 2;
- CodeAssemblerTester asm_tester(isolate, kNumParams);
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
{
CodeStubAssembler m(asm_tester.state());
TVariable<Smi> temp1(&m);
@@ -3812,8 +3806,7 @@ TEST(SingleInputPhiElimination) {
Label end_label(&m, {&temp1, &temp2});
temp1 = m.Parameter<Smi>(1);
temp2 = m.Parameter<Smi>(1);
- m.Branch(m.TaggedEqual(m.UncheckedParameter<Object>(0),
- m.UncheckedParameter<Object>(1)),
+ m.Branch(m.TaggedEqual(m.Parameter<Object>(0), m.Parameter<Object>(1)),
&end_label, &temp_label);
m.BIND(&temp_label);
temp1 = m.Parameter<Smi>(2);
@@ -3830,7 +3823,7 @@ TEST(SingleInputPhiElimination) {
TEST(SmallOrderedHashMapAllocate) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 1;
- CodeAssemblerTester asm_tester(isolate, kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
{
CodeStubAssembler m(asm_tester.state());
auto capacity = m.Parameter<Smi>(1);
@@ -3868,7 +3861,7 @@ TEST(SmallOrderedHashMapAllocate) {
TEST(SmallOrderedHashSetAllocate) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 1;
- CodeAssemblerTester asm_tester(isolate, kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
{
CodeStubAssembler m(asm_tester.state());
auto capacity = m.Parameter<Smi>(1);
@@ -3906,7 +3899,7 @@ TEST(SmallOrderedHashSetAllocate) {
TEST(IsDoubleElementsKind) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 2;
- CodeAssemblerTester ft_tester(isolate, kNumParams + 1); // Include receiver.
+ CodeAssemblerTester ft_tester(isolate, JSParameterCount(kNumParams));
{
CodeStubAssembler m(ft_tester.state());
m.Return(m.SmiFromInt32(m.UncheckedCast<Int32T>(
@@ -3952,22 +3945,39 @@ TEST(IsDoubleElementsKind) {
0);
}
-TEST(TestCallBuiltinAbsolute) {
+namespace {
+
+enum CallJumpMode { kCall, kTailCall };
+
+void TestCallJumpBuiltin(CallJumpMode mode,
+ BuiltinCallJumpMode builtin_call_jump_mode) {
Isolate* isolate(CcTest::InitIsolateOnce());
+ if (builtin_call_jump_mode == BuiltinCallJumpMode::kPCRelative &&
+ !isolate->is_short_builtin_calls_enabled()) {
+ // PC-relative mode requires short builtin calls to be enabled.
+ return;
+ }
+
const int kNumParams = 1;
- CodeAssemblerTester asm_tester(isolate, kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
CodeStubAssembler m(asm_tester.state());
- const int kContextOffset = 3;
- auto str = m.Parameter<String>(1);
- auto context = m.Parameter<Context>(kNumParams + kContextOffset);
+ {
+ auto str = m.Parameter<String>(1);
+ auto context = m.GetJSContextParameter();
- TNode<Smi> index = m.SmiConstant(2);
+ TNode<Smi> index = m.SmiConstant(2);
- m.Return(m.CallStub(Builtins::CallableFor(isolate, Builtin::kStringRepeat),
- context, str, index));
+ Callable callable = Builtins::CallableFor(isolate, Builtin::kStringRepeat);
+ if (mode == kCall) {
+ m.Return(m.CallStub(callable, context, str, index));
+ } else {
+ DCHECK_EQ(mode, kTailCall);
+ m.TailCallStub(callable, context, str, index);
+ }
+ }
AssemblerOptions options = AssemblerOptions::Default(isolate);
- options.builtin_call_jump_mode = BuiltinCallJumpMode::kAbsolute;
+ options.builtin_call_jump_mode = builtin_call_jump_mode;
options.isolate_independent_code = false;
FunctionTester ft(asm_tester.GenerateCode(options), kNumParams);
MaybeHandle<Object> result = ft.Call(CcTest::MakeString("abcdef"));
@@ -3975,54 +3985,30 @@ TEST(TestCallBuiltinAbsolute) {
Handle<String>::cast(result.ToHandleChecked())));
}
-DISABLED_TEST(TestCallBuiltinPCRelative) {
- Isolate* isolate(CcTest::InitIsolateOnce());
- if (!isolate->is_short_builtin_calls_enabled()) return;
-
- const int kNumParams = 1;
- CodeAssemblerTester asm_tester(isolate, kNumParams);
- CodeStubAssembler m(asm_tester.state());
-
- const int kContextOffset = 2;
- auto str = m.Parameter<String>(0);
- auto context = m.Parameter<Context>(kNumParams + kContextOffset);
+} // namespace
- TNode<Smi> index = m.SmiConstant(2);
+TEST(TestCallBuiltinAbsolute) {
+ TestCallJumpBuiltin(kCall, BuiltinCallJumpMode::kAbsolute);
+}
- m.Return(m.CallStub(Builtins::CallableFor(isolate, Builtin::kStringRepeat),
- context, str, index));
- AssemblerOptions options = AssemblerOptions::Default(isolate);
- options.builtin_call_jump_mode = BuiltinCallJumpMode::kPCRelative;
- options.isolate_independent_code = false;
- FunctionTester ft(asm_tester.GenerateCode(options), kNumParams);
- MaybeHandle<Object> result = ft.Call(CcTest::MakeString("abcdef"));
- CHECK(String::Equals(isolate, CcTest::MakeString("abcdefabcdef"),
- Handle<String>::cast(result.ToHandleChecked())));
+TEST(TestCallBuiltinPCRelative) {
+ TestCallJumpBuiltin(kCall, BuiltinCallJumpMode::kPCRelative);
}
-// TODO(v8:9821): Remove the option to disable inlining off-heap trampolines
-// along with this test.
-DISABLED_TEST(TestCallBuiltinIndirect) {
- Isolate* isolate(CcTest::InitIsolateOnce());
- const int kNumParams = 1;
- CodeAssemblerTester asm_tester(isolate, kNumParams);
- CodeStubAssembler m(asm_tester.state());
+TEST(TestCallBuiltinIndirect) {
+ TestCallJumpBuiltin(kCall, BuiltinCallJumpMode::kIndirect);
+}
- const int kContextOffset = 2;
- auto str = m.Parameter<String>(0);
- auto context = m.Parameter<Context>(kNumParams + kContextOffset);
+TEST(TestTailCallBuiltinAbsolute) {
+ TestCallJumpBuiltin(kTailCall, BuiltinCallJumpMode::kAbsolute);
+}
- TNode<Smi> index = m.SmiConstant(2);
+TEST(TestTailCallBuiltinPCRelative) {
+ TestCallJumpBuiltin(kTailCall, BuiltinCallJumpMode::kPCRelative);
+}
- m.Return(m.CallStub(Builtins::CallableFor(isolate, Builtin::kStringRepeat),
- context, str, index));
- AssemblerOptions options = AssemblerOptions::Default(isolate);
- options.builtin_call_jump_mode = BuiltinCallJumpMode::kIndirect;
- options.isolate_independent_code = true;
- FunctionTester ft(asm_tester.GenerateCode(options), kNumParams);
- MaybeHandle<Object> result = ft.Call(CcTest::MakeString("abcdef"));
- CHECK(String::Equals(isolate, CcTest::MakeString("abcdefabcdef"),
- Handle<String>::cast(result.ToHandleChecked())));
+TEST(TestTailCallBuiltinIndirect) {
+ TestCallJumpBuiltin(kTailCall, BuiltinCallJumpMode::kIndirect);
}
TEST(InstructionSchedulingCallerSavedRegisters) {
@@ -4034,7 +4020,7 @@ TEST(InstructionSchedulingCallerSavedRegisters) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 1;
- CodeAssemblerTester asm_tester(isolate, kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
CodeStubAssembler m(asm_tester.state());
{
@@ -4086,7 +4072,7 @@ TEST(WasmInt32ToHeapNumber) {
const int kNumParams = 1;
for (size_t i = 0; i < arraysize(test_values); ++i) {
int32_t test_value = test_values[i];
- CodeAssemblerTester asm_tester(isolate, kNumParams);
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
CodeStubAssembler m(asm_tester.state());
const TNode<Int32T> arg = m.Int32Constant(test_value);
const TNode<Object> call_result = m.CallBuiltin(
@@ -4130,9 +4116,9 @@ TEST(WasmTaggedNonSmiToInt32) {
};
const int kNumParams = 2;
- CodeAssemblerTester asm_tester(isolate, kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
CodeStubAssembler m(asm_tester.state());
- auto context = m.Parameter<Context>(kNumParams + 3);
+ auto context = m.GetJSContextParameter();
const auto arg = m.Parameter<Object>(1);
int32_t result = 0;
Node* base = m.IntPtrConstant(reinterpret_cast<intptr_t>(&result));
@@ -4172,7 +4158,7 @@ TEST(WasmFloat32ToNumber) {
const int kNumParams = 1;
for (size_t i = 0; i < arraysize(test_values); ++i) {
double test_value = test_values[i];
- CodeAssemblerTester asm_tester(isolate, kNumParams);
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
CodeStubAssembler m(asm_tester.state());
const TNode<Float32T> arg = m.Float32Constant(test_value);
const TNode<Object> call_result = m.CallBuiltin(
@@ -4212,7 +4198,7 @@ TEST(WasmFloat64ToNumber) {
const int kNumParams = 1;
for (size_t i = 0; i < arraysize(test_values); ++i) {
double test_value = test_values[i];
- CodeAssemblerTester asm_tester(isolate, kNumParams);
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
CodeStubAssembler m(asm_tester.state());
const TNode<Float64T> arg = m.Float64Constant(test_value);
const TNode<Object> call_result = m.CallBuiltin(
@@ -4266,9 +4252,9 @@ TEST(WasmTaggedToFloat64) {
};
const int kNumParams = 1;
- CodeAssemblerTester asm_tester(isolate, kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
CodeStubAssembler m(asm_tester.state());
- auto context = m.Parameter<Context>(kNumParams + 3);
+ auto context = m.GetJSContextParameter();
const auto arg = m.Parameter<Object>(1);
double result = 0;
Node* base = m.IntPtrConstant(reinterpret_cast<intptr_t>(&result));
@@ -4294,7 +4280,7 @@ TEST(WasmTaggedToFloat64) {
TEST(SmiUntagLeftShiftOptimization) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 1;
- CodeAssemblerTester asm_tester(isolate, kNumParams);
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
CodeStubAssembler m(asm_tester.state());
{
@@ -4314,7 +4300,7 @@ TEST(SmiUntagLeftShiftOptimization) {
TEST(SmiUntagComparisonOptimization) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 2;
- CodeAssemblerTester asm_tester(isolate, kNumParams);
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
CodeStubAssembler m(asm_tester.state());
{
@@ -4421,7 +4407,7 @@ TEST(IntPtrMulHigh) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 1;
- CodeAssemblerTester asm_tester(isolate, kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
CodeStubAssembler m(asm_tester.state());
TNode<IntPtrT> a = m.IntPtrConstant(std::numeric_limits<intptr_t>::min());
@@ -4460,7 +4446,7 @@ TEST(UintPtrMulHigh) {
Isolate* isolate(CcTest::InitIsolateOnce());
const int kNumParams = 1;
- CodeAssemblerTester asm_tester(isolate, kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
CodeStubAssembler m(asm_tester.state());
TNode<IntPtrT> a = m.IntPtrConstant(std::numeric_limits<intptr_t>::min());
@@ -4505,8 +4491,7 @@ TEST(IntPtrMulWithOverflow) {
const int kNumParams = 1;
{
- CodeAssemblerTester asm_tester(isolate,
- kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
CodeStubAssembler m(asm_tester.state());
TNode<IntPtrT> a = m.IntPtrConstant(std::numeric_limits<intptr_t>::min());
@@ -4531,8 +4516,7 @@ TEST(IntPtrMulWithOverflow) {
}
{
- CodeAssemblerTester asm_tester(isolate,
- kNumParams + 1); // Include receiver.
+ CodeAssemblerTester asm_tester(isolate, JSParameterCount(kNumParams));
CodeStubAssembler m(asm_tester.state());
TNode<IntPtrT> a = m.IntPtrConstant(std::numeric_limits<intptr_t>::max());