Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(547)

Unified Diff: src/code-stubs.cc

Issue 2670863003: [stubs] Port KeyedStoreIC_Slow/Miss and StoreSlowElementStub to TF. (Closed)
Patch Set: Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/code-stubs.h ('k') | src/ic/arm/ic-arm.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/code-stubs.cc
diff --git a/src/code-stubs.cc b/src/code-stubs.cc
index 73b9c1c8c3255690a1465c2347b0dc3b91558351..3da26d68d40b18ac682fd3f9b131c64b0b436b0d 100644
--- a/src/code-stubs.cc
+++ b/src/code-stubs.cc
@@ -1499,23 +1499,6 @@ void SubStringStub::GenerateAssembly(
assembler.Parameter(Descriptor::kContext)));
}
-void LoadApiGetterStub::GenerateAssembly(
- compiler::CodeAssemblerState* state) const {
- typedef compiler::Node Node;
- CodeStubAssembler assembler(state);
- Node* context = assembler.Parameter(Descriptor::kContext);
- Node* receiver = assembler.Parameter(Descriptor::kReceiver);
- // 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* callback = assembler.LoadFixedArrayElement(
- descriptors, DescriptorArray::ToValueIndex(index()));
- assembler.TailCallStub(CodeFactory::ApiGetter(isolate()), context, receiver,
- holder, callback);
-}
-
void StoreGlobalStub::GenerateAssembly(
compiler::CodeAssemblerState* state) const {
typedef CodeStubAssembler::Label Label;
@@ -2076,10 +2059,20 @@ void CreateWeakCellStub::GenerateAheadOfTime(Isolate* isolate) {
stub.GetCode();
}
+void StoreSlowElementStub::GenerateAssembly(
+ compiler::CodeAssemblerState* state) const {
+ typedef compiler::Node Node;
+ CodeStubAssembler assembler(state);
+
+ Node* receiver = assembler.Parameter(Descriptor::kReceiver);
+ Node* name = 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);
-void StoreElementStub::Generate(MacroAssembler* masm) {
- DCHECK_EQ(DICTIONARY_ELEMENTS, elements_kind());
- KeyedStoreIC::GenerateSlow(masm);
+ assembler.TailCallRuntime(Runtime::kKeyedStoreIC_Slow, context, value, slot,
+ vector, receiver, name);
}
void StoreFastElementStub::GenerateAssembly(
« no previous file with comments | « src/code-stubs.h ('k') | src/ic/arm/ic-arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698