| Index: src/code-stubs.cc
|
| diff --git a/src/code-stubs.cc b/src/code-stubs.cc
|
| index 27712ce73f27be1d69ad8550cfd79a0660c52e70..a90b8853925dab269502a6cf2bfae3f514b1cd5e 100644
|
| --- a/src/code-stubs.cc
|
| +++ b/src/code-stubs.cc
|
| @@ -3243,6 +3243,24 @@ void GenerateStringEqual(compiler::CodeStubAssembler* assembler,
|
|
|
| } // namespace
|
|
|
| +void LoadApiGetterStub::GenerateAssembly(
|
| + compiler::CodeStubAssembler* assembler) const {
|
| + typedef compiler::Node Node;
|
| + Node* context = assembler->Parameter(3);
|
| + Node* receiver = assembler->Parameter(0);
|
| + // For now we only support receiver_is_holder.
|
| + DCHECK(receiver_is_holder());
|
| + Node* holder = receiver;
|
| + Node* map = assembler->LoadMap(receiver);
|
| + Node* descriptors = assembler->LoadMapDescriptors(map);
|
| + Node* offset =
|
| + assembler->Int32Constant(DescriptorArray::ToValueIndex(index()));
|
| + Node* callback =
|
| + assembler->LoadFixedArrayElementInt32Index(descriptors, offset);
|
| + assembler->TailCallStub(CodeFactory::ApiGetter(isolate()), context, receiver,
|
| + holder, callback);
|
| +}
|
| +
|
| void LessThanStub::GenerateAssembly(
|
| compiler::CodeStubAssembler* assembler) const {
|
| GenerateAbstractRelationalComparison(assembler, kLessThan);
|
|
|