| Index: src/code-stubs.cc
|
| diff --git a/src/code-stubs.cc b/src/code-stubs.cc
|
| index 53027574d40ee1cee8b2e509987bf16b6e8398ea..489eedf5246936debbd45de60f23ffeca110a12e 100644
|
| --- a/src/code-stubs.cc
|
| +++ b/src/code-stubs.cc
|
| @@ -4566,6 +4566,56 @@ void StoreGlobalStub::GenerateAssembly(CodeStubAssembler* assembler) const {
|
| }
|
| }
|
|
|
| +void KeyedLoadSloppyArgumentsStub::GenerateAssembly(
|
| + CodeStubAssembler* assembler) const {
|
| + typedef CodeStubAssembler::Label Label;
|
| + typedef compiler::Node Node;
|
| +
|
| + Node* receiver = assembler->Parameter(Descriptor::kReceiver);
|
| + Node* key = assembler->Parameter(Descriptor::kName);
|
| + Node* slot = assembler->Parameter(Descriptor::kSlot);
|
| + Node* vector = assembler->Parameter(Descriptor::kVector);
|
| + Node* context = assembler->Parameter(Descriptor::kContext);
|
| +
|
| + Label miss(assembler);
|
| +
|
| + Node* result =
|
| + assembler->EmitKeyedSloppyArguments(receiver, key, nullptr, &miss);
|
| + assembler->Return(result);
|
| +
|
| + assembler->Bind(&miss);
|
| + {
|
| + assembler->Comment("Miss");
|
| + assembler->TailCallRuntime(Runtime::kKeyedLoadIC_Miss, context, receiver,
|
| + key, slot, vector);
|
| + }
|
| +}
|
| +
|
| +void KeyedStoreSloppyArgumentsStub::GenerateAssembly(
|
| + CodeStubAssembler* assembler) const {
|
| + typedef CodeStubAssembler::Label Label;
|
| + typedef compiler::Node Node;
|
| +
|
| + Node* receiver = assembler->Parameter(Descriptor::kReceiver);
|
| + Node* key = assembler->Parameter(Descriptor::kName);
|
| + Node* value = assembler->Parameter(Descriptor::kValue);
|
| + Node* slot = assembler->Parameter(Descriptor::kSlot);
|
| + Node* vector = assembler->Parameter(Descriptor::kVector);
|
| + Node* context = assembler->Parameter(Descriptor::kContext);
|
| +
|
| + Label miss(assembler);
|
| +
|
| + assembler->EmitKeyedSloppyArguments(receiver, key, value, &miss);
|
| + assembler->Return(value);
|
| +
|
| + assembler->Bind(&miss);
|
| + {
|
| + assembler->Comment("Miss");
|
| + assembler->TailCallRuntime(Runtime::kKeyedStoreIC_Miss, context, receiver,
|
| + key, value, slot, vector);
|
| + }
|
| +}
|
| +
|
| // static
|
| compiler::Node* LessThanStub::Generate(CodeStubAssembler* assembler,
|
| compiler::Node* lhs, compiler::Node* rhs,
|
|
|