Commit a6e503ad authored by yangguo@chromium.org's avatar yangguo@chromium.org

Change more PlatformCodeStubs to encode properties in the minor key.

R=mvstanton@chromium.org

Review URL: https://codereview.chromium.org/498283002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23394 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 630a8a70
......@@ -1148,7 +1148,7 @@ void MathPowStub::Generate(MacroAssembler* masm) {
const Register scratch2 = r4;
Label call_runtime, done, int_exponent;
if (exponent_type_ == ON_STACK) {
if (exponent_type() == ON_STACK) {
Label base_is_smi, unpack_exponent;
// The exponent and base are supplied as arguments on the stack.
// This can only happen if the stub is called from non-optimized code.
......@@ -1178,7 +1178,7 @@ void MathPowStub::Generate(MacroAssembler* masm) {
__ b(ne, &call_runtime);
__ vldr(double_exponent,
FieldMemOperand(exponent, HeapNumber::kValueOffset));
} else if (exponent_type_ == TAGGED) {
} else if (exponent_type() == TAGGED) {
// Base is already in double_base.
__ UntagAndJumpIfSmi(scratch, exponent, &int_exponent);
......@@ -1186,7 +1186,7 @@ void MathPowStub::Generate(MacroAssembler* masm) {
FieldMemOperand(exponent, HeapNumber::kValueOffset));
}
if (exponent_type_ != INTEGER) {
if (exponent_type() != INTEGER) {
Label int_exponent_convert;
// Detect integer exponents stored as double.
__ vcvt_u32_f64(single_scratch, double_exponent);
......@@ -1196,7 +1196,7 @@ void MathPowStub::Generate(MacroAssembler* masm) {
__ VFPCompareAndSetFlags(double_scratch, double_exponent);
__ b(eq, &int_exponent_convert);
if (exponent_type_ == ON_STACK) {
if (exponent_type() == ON_STACK) {
// Detect square root case. Crankshaft detects constant +/-0.5 at
// compile time and uses DoMathPowHalf instead. We then skip this check
// for non-constant cases of +/-0.5 as these hardly occur.
......@@ -1261,7 +1261,7 @@ void MathPowStub::Generate(MacroAssembler* masm) {
__ bind(&int_exponent);
// Get two copies of exponent in the registers scratch and exponent.
if (exponent_type_ == INTEGER) {
if (exponent_type() == INTEGER) {
__ mov(scratch, exponent);
} else {
// Exponent has previously been stored into scratch as untagged integer.
......@@ -1297,7 +1297,7 @@ void MathPowStub::Generate(MacroAssembler* masm) {
// Returning or bailing out.
Counters* counters = isolate()->counters();
if (exponent_type_ == ON_STACK) {
if (exponent_type() == ON_STACK) {
// The arguments are still on the stack.
__ bind(&call_runtime);
__ TailCallRuntime(Runtime::kMathPowRT, 2, 1);
......@@ -2897,7 +2897,7 @@ static void CallFunctionNoFeedback(MacroAssembler* masm,
void CallFunctionStub::Generate(MacroAssembler* masm) {
CallFunctionNoFeedback(masm, argc_, NeedsChecks(), CallAsMethod());
CallFunctionNoFeedback(masm, argc(), NeedsChecks(), CallAsMethod());
}
......@@ -4582,7 +4582,7 @@ void StubFailureTrampolineStub::Generate(MacroAssembler* masm) {
int parameter_count_offset =
StubFailureTrampolineFrame::kCallerStackParameterCountFrameOffset;
__ ldr(r1, MemOperand(fp, parameter_count_offset));
if (function_mode_ == JS_FUNCTION_STUB_MODE) {
if (function_mode() == JS_FUNCTION_STUB_MODE) {
__ add(r1, r1, Operand(1));
}
masm->LeaveFrame(StackFrame::STUB_FAILURE_TRAMPOLINE);
......@@ -4812,7 +4812,7 @@ void InternalArrayConstructorStubBase::GenerateStubsAheadOfTime(
void ArrayConstructorStub::GenerateDispatchToArrayStub(
MacroAssembler* masm,
AllocationSiteOverrideMode mode) {
if (argument_count_ == ANY) {
if (argument_count() == ANY) {
Label not_zero_case, not_one_case;
__ tst(r0, r0);
__ b(ne, &not_zero_case);
......@@ -4825,11 +4825,11 @@ void ArrayConstructorStub::GenerateDispatchToArrayStub(
__ bind(&not_one_case);
CreateArrayDispatch<ArrayNArgumentsConstructorStub>(masm, mode);
} else if (argument_count_ == NONE) {
} else if (argument_count() == NONE) {
CreateArrayDispatch<ArrayNoArgumentConstructorStub>(masm, mode);
} else if (argument_count_ == ONE) {
} else if (argument_count() == ONE) {
CreateArrayDispatchOneArgument(masm, mode);
} else if (argument_count_ == MORE_THAN_ONE) {
} else if (argument_count() == MORE_THAN_ONE) {
CreateArrayDispatch<ArrayNArgumentsConstructorStub>(masm, mode);
} else {
UNREACHABLE();
......@@ -4839,7 +4839,7 @@ void ArrayConstructorStub::GenerateDispatchToArrayStub(
void ArrayConstructorStub::Generate(MacroAssembler* masm) {
// ----------- S t a t e -------------
// -- r0 : argc (only if argument_count_ == ANY)
// -- r0 : argc (only if argument_count() == ANY)
// -- r1 : constructor
// -- r2 : AllocationSite or undefined
// -- sp[0] : return address
......@@ -4973,9 +4973,9 @@ void CallApiFunctionStub::Generate(MacroAssembler* masm) {
Register api_function_address = r1;
Register context = cp;
int argc = ArgumentBits::decode(bit_field_);
bool is_store = IsStoreBits::decode(bit_field_);
bool call_data_undefined = CallDataUndefinedBits::decode(bit_field_);
int argc = this->argc();
bool is_store = this->is_store();
bool call_data_undefined = this->call_data_undefined();
typedef FunctionCallbackArguments FCA;
......
......@@ -1048,7 +1048,7 @@ void MathPowStub::Generate(MacroAssembler* masm) {
Label done;
// Unpack the inputs.
if (exponent_type_ == ON_STACK) {
if (exponent_type() == ON_STACK) {
Label base_is_smi;
Label unpack_exponent;
......@@ -1072,20 +1072,20 @@ void MathPowStub::Generate(MacroAssembler* masm) {
// exponent_tagged is a heap number, so load its double value.
__ Ldr(exponent_double,
FieldMemOperand(exponent_tagged, HeapNumber::kValueOffset));
} else if (exponent_type_ == TAGGED) {
} else if (exponent_type() == TAGGED) {
__ JumpIfSmi(exponent_tagged, &exponent_is_smi);
__ Ldr(exponent_double,
FieldMemOperand(exponent_tagged, HeapNumber::kValueOffset));
}
// Handle double (heap number) exponents.
if (exponent_type_ != INTEGER) {
if (exponent_type() != INTEGER) {
// Detect integer exponents stored as doubles and handle those in the
// integer fast-path.
__ TryRepresentDoubleAsInt64(exponent_integer, exponent_double,
scratch0_double, &exponent_is_integer);
if (exponent_type_ == ON_STACK) {
if (exponent_type() == ON_STACK) {
FPRegister half_double = d3;
FPRegister minus_half_double = d4;
// Detect square root case. Crankshaft detects constant +/-0.5 at compile
......@@ -1236,7 +1236,7 @@ void MathPowStub::Generate(MacroAssembler* masm) {
__ Fcmp(result_double, 0.0);
__ B(&done, ne);
if (exponent_type_ == ON_STACK) {
if (exponent_type() == ON_STACK) {
// Bail out to runtime code.
__ Bind(&call_runtime);
// Put the arguments back on the stack.
......@@ -3147,7 +3147,7 @@ static void CallFunctionNoFeedback(MacroAssembler* masm,
void CallFunctionStub::Generate(MacroAssembler* masm) {
ASM_LOCATION("CallFunctionStub::Generate");
CallFunctionNoFeedback(masm, argc_, NeedsChecks(), CallAsMethod());
CallFunctionNoFeedback(masm, argc(), NeedsChecks(), CallAsMethod());
}
......@@ -4590,7 +4590,7 @@ void StubFailureTrampolineStub::Generate(MacroAssembler* masm) {
int parameter_count_offset =
StubFailureTrampolineFrame::kCallerStackParameterCountFrameOffset;
__ Ldr(x1, MemOperand(fp, parameter_count_offset));
if (function_mode_ == JS_FUNCTION_STUB_MODE) {
if (function_mode() == JS_FUNCTION_STUB_MODE) {
__ Add(x1, x1, 1);
}
masm->LeaveFrame(StackFrame::STUB_FAILURE_TRAMPOLINE);
......@@ -5115,7 +5115,7 @@ void ArrayConstructorStub::GenerateDispatchToArrayStub(
MacroAssembler* masm,
AllocationSiteOverrideMode mode) {
Register argc = x0;
if (argument_count_ == ANY) {
if (argument_count() == ANY) {
Label zero_case, n_case;
__ Cbz(argc, &zero_case);
__ Cmp(argc, 1);
......@@ -5132,11 +5132,11 @@ void ArrayConstructorStub::GenerateDispatchToArrayStub(
// N arguments.
CreateArrayDispatch<ArrayNArgumentsConstructorStub>(masm, mode);
} else if (argument_count_ == NONE) {
} else if (argument_count() == NONE) {
CreateArrayDispatch<ArrayNoArgumentConstructorStub>(masm, mode);
} else if (argument_count_ == ONE) {
} else if (argument_count() == ONE) {
CreateArrayDispatchOneArgument(masm, mode);
} else if (argument_count_ == MORE_THAN_ONE) {
} else if (argument_count() == MORE_THAN_ONE) {
CreateArrayDispatch<ArrayNArgumentsConstructorStub>(masm, mode);
} else {
UNREACHABLE();
......@@ -5147,7 +5147,7 @@ void ArrayConstructorStub::GenerateDispatchToArrayStub(
void ArrayConstructorStub::Generate(MacroAssembler* masm) {
ASM_LOCATION("ArrayConstructorStub::Generate");
// ----------- S t a t e -------------
// -- x0 : argc (only if argument_count_ == ANY)
// -- x0 : argc (only if argument_count() == ANY)
// -- x1 : constructor
// -- x2 : AllocationSite or undefined
// -- sp[0] : return address
......@@ -5299,9 +5299,9 @@ void CallApiFunctionStub::Generate(MacroAssembler* masm) {
Register api_function_address = x1;
Register context = cp;
int argc = ArgumentBits::decode(bit_field_);
bool is_store = IsStoreBits::decode(bit_field_);
bool call_data_undefined = CallDataUndefinedBits::decode(bit_field_);
int argc = this->argc();
bool is_store = this->is_store();
bool call_data_undefined = this->call_data_undefined();
typedef FunctionCallbackArguments FCA;
......
......@@ -676,7 +676,7 @@ void CreateAllocationSiteStub::GenerateAheadOfTime(Isolate* isolate) {
void StoreElementStub::Generate(MacroAssembler* masm) {
switch (elements_kind_) {
switch (elements_kind()) {
case FAST_ELEMENTS:
case FAST_HOLEY_ELEMENTS:
case FAST_SMI_ELEMENTS:
......@@ -701,9 +701,27 @@ void StoreElementStub::Generate(MacroAssembler* masm) {
}
void ArgumentsAccessStub::Generate(MacroAssembler* masm) {
switch (type()) {
case READ_ELEMENT:
GenerateReadElement(masm);
break;
case NEW_SLOPPY_FAST:
GenerateNewSloppyFast(masm);
break;
case NEW_SLOPPY_SLOW:
GenerateNewSloppySlow(masm);
break;
case NEW_STRICT:
GenerateNewStrict(masm);
break;
}
}
void ArgumentsAccessStub::PrintName(OStream& os) const { // NOLINT
os << "ArgumentsAccessStub_";
switch (type_) {
switch (type()) {
case READ_ELEMENT:
os << "ReadElement";
break;
......@@ -722,7 +740,7 @@ void ArgumentsAccessStub::PrintName(OStream& os) const { // NOLINT
void CallFunctionStub::PrintName(OStream& os) const { // NOLINT
os << "CallFunctionStub_Args" << argc_;
os << "CallFunctionStub_Args" << argc();
}
......@@ -734,7 +752,7 @@ void CallConstructStub::PrintName(OStream& os) const { // NOLINT
void ArrayConstructorStub::PrintName(OStream& os) const { // NOLINT
os << "ArrayConstructorStub";
switch (argument_count_) {
switch (argument_count()) {
case ANY:
os << "_Any";
break;
......@@ -948,7 +966,8 @@ void StoreFieldStub::InstallDescriptors(Isolate* isolate) {
ArrayConstructorStub::ArrayConstructorStub(Isolate* isolate)
: PlatformCodeStub(isolate), argument_count_(ANY) {
: PlatformCodeStub(isolate) {
minor_key_ = ArgumentCountBits::encode(ANY);
ArrayConstructorStubBase::GenerateStubsAheadOfTime(isolate);
}
......@@ -957,11 +976,11 @@ ArrayConstructorStub::ArrayConstructorStub(Isolate* isolate,
int argument_count)
: PlatformCodeStub(isolate) {
if (argument_count == 0) {
argument_count_ = NONE;
minor_key_ = ArgumentCountBits::encode(NONE);
} else if (argument_count == 1) {
argument_count_ = ONE;
minor_key_ = ArgumentCountBits::encode(ONE);
} else if (argument_count >= 2) {
argument_count_ = MORE_THAN_ONE;
minor_key_ = ArgumentCountBits::encode(MORE_THAN_ONE);
} else {
UNREACHABLE();
}
......
This diff is collapsed.
......@@ -234,22 +234,4 @@ bool CodeGenerator::RecordPositions(MacroAssembler* masm,
return false;
}
void ArgumentsAccessStub::Generate(MacroAssembler* masm) {
switch (type_) {
case READ_ELEMENT:
GenerateReadElement(masm);
break;
case NEW_SLOPPY_FAST:
GenerateNewSloppyFast(masm);
break;
case NEW_SLOPPY_SLOW:
GenerateNewSloppySlow(masm);
break;
case NEW_STRICT:
GenerateNewStrict(masm);
break;
}
}
} } // namespace v8::internal
......@@ -642,7 +642,7 @@ void MathPowStub::Generate(MacroAssembler* masm) {
__ mov(scratch, Immediate(1));
__ Cvtsi2sd(double_result, scratch);
if (exponent_type_ == ON_STACK) {
if (exponent_type() == ON_STACK) {
Label base_is_smi, unpack_exponent;
// The exponent and base are supplied as arguments on the stack.
// This can only happen if the stub is called from non-optimized code.
......@@ -673,7 +673,7 @@ void MathPowStub::Generate(MacroAssembler* masm) {
__ j(not_equal, &call_runtime);
__ movsd(double_exponent,
FieldOperand(exponent, HeapNumber::kValueOffset));
} else if (exponent_type_ == TAGGED) {
} else if (exponent_type() == TAGGED) {
__ JumpIfNotSmi(exponent, &exponent_not_smi, Label::kNear);
__ SmiUntag(exponent);
__ jmp(&int_exponent);
......@@ -683,7 +683,7 @@ void MathPowStub::Generate(MacroAssembler* masm) {
FieldOperand(exponent, HeapNumber::kValueOffset));
}
if (exponent_type_ != INTEGER) {
if (exponent_type() != INTEGER) {
Label fast_power, try_arithmetic_simplification;
__ DoubleToI(exponent, double_exponent, double_scratch,
TREAT_MINUS_ZERO_AS_ZERO, &try_arithmetic_simplification);
......@@ -695,7 +695,7 @@ void MathPowStub::Generate(MacroAssembler* masm) {
__ cmp(exponent, Immediate(0x1));
__ j(overflow, &call_runtime);
if (exponent_type_ == ON_STACK) {
if (exponent_type() == ON_STACK) {
// Detect square root case. Crankshaft detects constant +/-0.5 at
// compile time and uses DoMathPowHalf instead. We then skip this check
// for non-constant cases of +/-0.5 as these hardly occur.
......@@ -857,7 +857,7 @@ void MathPowStub::Generate(MacroAssembler* masm) {
// Returning or bailing out.
Counters* counters = isolate()->counters();
if (exponent_type_ == ON_STACK) {
if (exponent_type() == ON_STACK) {
// The arguments are still on the stack.
__ bind(&call_runtime);
__ TailCallRuntime(Runtime::kMathPowRT, 2, 1);
......@@ -2282,7 +2282,7 @@ static void CallFunctionNoFeedback(MacroAssembler* masm,
void CallFunctionStub::Generate(MacroAssembler* masm) {
CallFunctionNoFeedback(masm, argc_, NeedsChecks(), CallAsMethod());
CallFunctionNoFeedback(masm, argc(), NeedsChecks(), CallAsMethod());
}
......@@ -4493,9 +4493,8 @@ void StubFailureTrampolineStub::Generate(MacroAssembler* masm) {
__ mov(ebx, MemOperand(ebp, parameter_count_offset));
masm->LeaveFrame(StackFrame::STUB_FAILURE_TRAMPOLINE);
__ pop(ecx);
int additional_offset = function_mode_ == JS_FUNCTION_STUB_MODE
? kPointerSize
: 0;
int additional_offset =
function_mode() == JS_FUNCTION_STUB_MODE ? kPointerSize : 0;
__ lea(esp, MemOperand(esp, ebx, times_pointer_size, additional_offset));
__ jmp(ecx); // Return to IC Miss stub, continuation still on stack.
}
......@@ -4695,7 +4694,7 @@ void InternalArrayConstructorStubBase::GenerateStubsAheadOfTime(
void ArrayConstructorStub::GenerateDispatchToArrayStub(
MacroAssembler* masm,
AllocationSiteOverrideMode mode) {
if (argument_count_ == ANY) {
if (argument_count() == ANY) {
Label not_zero_case, not_one_case;
__ test(eax, eax);
__ j(not_zero, &not_zero_case);
......@@ -4708,11 +4707,11 @@ void ArrayConstructorStub::GenerateDispatchToArrayStub(
__ bind(&not_one_case);
CreateArrayDispatch<ArrayNArgumentsConstructorStub>(masm, mode);
} else if (argument_count_ == NONE) {
} else if (argument_count() == NONE) {
CreateArrayDispatch<ArrayNoArgumentConstructorStub>(masm, mode);
} else if (argument_count_ == ONE) {
} else if (argument_count() == ONE) {
CreateArrayDispatchOneArgument(masm, mode);
} else if (argument_count_ == MORE_THAN_ONE) {
} else if (argument_count() == MORE_THAN_ONE) {
CreateArrayDispatch<ArrayNArgumentsConstructorStub>(masm, mode);
} else {
UNREACHABLE();
......@@ -4722,7 +4721,7 @@ void ArrayConstructorStub::GenerateDispatchToArrayStub(
void ArrayConstructorStub::Generate(MacroAssembler* masm) {
// ----------- S t a t e -------------
// -- eax : argc (only if argument_count_ == ANY)
// -- eax : argc (only if argument_count() == ANY)
// -- ebx : AllocationSite or undefined
// -- edi : constructor
// -- esp[0] : return address
......@@ -4870,9 +4869,9 @@ void CallApiFunctionStub::Generate(MacroAssembler* masm) {
Register return_address = edi;
Register context = esi;
int argc = ArgumentBits::decode(bit_field_);
bool is_store = IsStoreBits::decode(bit_field_);
bool call_data_undefined = CallDataUndefinedBits::decode(bit_field_);
int argc = this->argc();
bool is_store = this->is_store();
bool call_data_undefined = this->call_data_undefined();
typedef FunctionCallbackArguments FCA;
......
......@@ -409,8 +409,7 @@ Handle<Code> PropertyICCompiler::CompileKeyedStorePolymorphic(
cached_stub = StoreFastElementStub(isolate(), is_js_array,
elements_kind, store_mode).GetCode();
} else {
cached_stub = StoreElementStub(isolate(), is_js_array, elements_kind,
store_mode).GetCode();
cached_stub = StoreElementStub(isolate(), elements_kind).GetCode();
}
}
DCHECK(!cached_stub.is_null());
......@@ -440,8 +439,7 @@ Handle<Code> PropertyICCompiler::CompileKeyedStoreMonomorphic(
stub = StoreFastElementStub(isolate(), is_jsarray, elements_kind,
store_mode).GetCode();
} else {
stub = StoreElementStub(isolate(), is_jsarray, elements_kind, store_mode)
.GetCode();
stub = StoreElementStub(isolate(), elements_kind).GetCode();
}
__ DispatchMap(receiver(), scratch1(), receiver_map, stub, DO_SMI_CHECK);
......
......@@ -529,7 +529,7 @@ void MathPowStub::Generate(MacroAssembler* masm) {
__ movp(scratch, Immediate(1));
__ Cvtlsi2sd(double_result, scratch);
if (exponent_type_ == ON_STACK) {
if (exponent_type() == ON_STACK) {
Label base_is_smi, unpack_exponent;
// The exponent and base are supplied as arguments on the stack.
// This can only happen if the stub is called from non-optimized code.
......@@ -559,7 +559,7 @@ void MathPowStub::Generate(MacroAssembler* masm) {
Heap::kHeapNumberMapRootIndex);
__ j(not_equal, &call_runtime);
__ movsd(double_exponent, FieldOperand(exponent, HeapNumber::kValueOffset));
} else if (exponent_type_ == TAGGED) {
} else if (exponent_type() == TAGGED) {
__ JumpIfNotSmi(exponent, &exponent_not_smi, Label::kNear);
__ SmiToInteger32(exponent, exponent);
__ jmp(&int_exponent);
......@@ -568,7 +568,7 @@ void MathPowStub::Generate(MacroAssembler* masm) {
__ movsd(double_exponent, FieldOperand(exponent, HeapNumber::kValueOffset));
}
if (exponent_type_ != INTEGER) {
if (exponent_type() != INTEGER) {
Label fast_power, try_arithmetic_simplification;
// Detect integer exponents stored as double.
__ DoubleToI(exponent, double_exponent, double_scratch,
......@@ -581,7 +581,7 @@ void MathPowStub::Generate(MacroAssembler* masm) {
__ cmpl(exponent, Immediate(0x1));
__ j(overflow, &call_runtime);
if (exponent_type_ == ON_STACK) {
if (exponent_type() == ON_STACK) {
// Detect square root case. Crankshaft detects constant +/-0.5 at
// compile time and uses DoMathPowHalf instead. We then skip this check
// for non-constant cases of +/-0.5 as these hardly occur.
......@@ -740,7 +740,7 @@ void MathPowStub::Generate(MacroAssembler* masm) {
// Returning or bailing out.
Counters* counters = isolate()->counters();
if (exponent_type_ == ON_STACK) {
if (exponent_type() == ON_STACK) {
// The arguments are still on the stack.
__ bind(&call_runtime);
__ TailCallRuntime(Runtime::kMathPowRT, 2, 1);
......@@ -2166,7 +2166,7 @@ static void CallFunctionNoFeedback(MacroAssembler* masm,
void CallFunctionStub::Generate(MacroAssembler* masm) {
CallFunctionNoFeedback(masm, argc_, NeedsChecks(), CallAsMethod());
CallFunctionNoFeedback(masm, argc(), NeedsChecks(), CallAsMethod());
}
......@@ -4433,9 +4433,8 @@ void StubFailureTrampolineStub::Generate(MacroAssembler* masm) {
__ movp(rbx, MemOperand(rbp, parameter_count_offset));
masm->LeaveFrame(StackFrame::STUB_FAILURE_TRAMPOLINE);
__ PopReturnAddressTo(rcx);
int additional_offset = function_mode_ == JS_FUNCTION_STUB_MODE
? kPointerSize
: 0;
int additional_offset =
function_mode() == JS_FUNCTION_STUB_MODE ? kPointerSize : 0;
__ leap(rsp, MemOperand(rsp, rbx, times_pointer_size, additional_offset));
__ jmp(rcx); // Return to IC Miss stub, continuation still on stack.
}
......@@ -4643,7 +4642,7 @@ void InternalArrayConstructorStubBase::GenerateStubsAheadOfTime(
void ArrayConstructorStub::GenerateDispatchToArrayStub(
MacroAssembler* masm,
AllocationSiteOverrideMode mode) {
if (argument_count_ == ANY) {
if (argument_count() == ANY) {
Label not_zero_case, not_one_case;
__ testp(rax, rax);
__ j(not_zero, &not_zero_case);
......@@ -4656,11 +4655,11 @@ void ArrayConstructorStub::GenerateDispatchToArrayStub(
__ bind(&not_one_case);
CreateArrayDispatch<ArrayNArgumentsConstructorStub>(masm, mode);
} else if (argument_count_ == NONE) {
} else if (argument_count() == NONE) {
CreateArrayDispatch<ArrayNoArgumentConstructorStub>(masm, mode);
} else if (argument_count_ == ONE) {
} else if (argument_count() == ONE) {
CreateArrayDispatchOneArgument(masm, mode);
} else if (argument_count_ == MORE_THAN_ONE) {
} else if (argument_count() == MORE_THAN_ONE) {
CreateArrayDispatch<ArrayNArgumentsConstructorStub>(masm, mode);
} else {
UNREACHABLE();
......@@ -4821,9 +4820,9 @@ void CallApiFunctionStub::Generate(MacroAssembler* masm) {
Register return_address = rdi;
Register context = rsi;
int argc = ArgumentBits::decode(bit_field_);
bool is_store = IsStoreBits::decode(bit_field_);
bool call_data_undefined = CallDataUndefinedBits::decode(bit_field_);
int argc = this->argc();
bool is_store = this->is_store();
bool call_data_undefined = this->call_data_undefined();
typedef FunctionCallbackArguments FCA;
......
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