Index: src/ic/accessor-assembler.cc |
diff --git a/src/ic/accessor-assembler.cc b/src/ic/accessor-assembler.cc |
index 4941d97aad09124c3c50f8fe09a535352e7655f0..3f07b346490c541b9c95d99e58579ba6bee58592 100644 |
--- a/src/ic/accessor-assembler.cc |
+++ b/src/ic/accessor-assembler.cc |
@@ -3,7 +3,6 @@ |
// found in the LICENSE file. |
#include "src/ic/accessor-assembler.h" |
-#include "src/ic/accessor-assembler-impl.h" |
#include "src/code-factory.h" |
#include "src/code-stubs.h" |
@@ -14,14 +13,15 @@ namespace v8 { |
namespace internal { |
using compiler::CodeAssemblerState; |
+using compiler::Node; |
//////////////////// Private helpers. |
-Node* AccessorAssemblerImpl::TryMonomorphicCase(Node* slot, Node* vector, |
- Node* receiver_map, |
- Label* if_handler, |
- Variable* var_handler, |
- Label* if_miss) { |
+Node* AccessorAssembler::TryMonomorphicCase(Node* slot, Node* vector, |
+ Node* receiver_map, |
+ Label* if_handler, |
+ Variable* var_handler, |
+ Label* if_miss) { |
Comment("TryMonomorphicCase"); |
DCHECK_EQ(MachineRepresentation::kTagged, var_handler->rep()); |
@@ -51,9 +51,11 @@ Node* AccessorAssemblerImpl::TryMonomorphicCase(Node* slot, Node* vector, |
return feedback; |
} |
-void AccessorAssemblerImpl::HandlePolymorphicCase( |
- Node* receiver_map, Node* feedback, Label* if_handler, |
- Variable* var_handler, Label* if_miss, int unroll_count) { |
+void AccessorAssembler::HandlePolymorphicCase(Node* receiver_map, |
+ Node* feedback, Label* if_handler, |
+ Variable* var_handler, |
+ Label* if_miss, |
+ int unroll_count) { |
Comment("HandlePolymorphicCase"); |
DCHECK_EQ(MachineRepresentation::kTagged, var_handler->rep()); |
@@ -98,7 +100,7 @@ void AccessorAssemblerImpl::HandlePolymorphicCase( |
Goto(if_miss); |
} |
-void AccessorAssemblerImpl::HandleKeyedStorePolymorphicCase( |
+void AccessorAssembler::HandleKeyedStorePolymorphicCase( |
Node* receiver_map, Node* feedback, Label* if_handler, |
Variable* var_handler, Label* if_transition_handler, |
Variable* var_transition_map_cell, Label* if_miss) { |
@@ -135,7 +137,7 @@ void AccessorAssemblerImpl::HandleKeyedStorePolymorphicCase( |
Goto(if_miss); |
} |
-void AccessorAssemblerImpl::HandleLoadICHandlerCase( |
+void AccessorAssembler::HandleLoadICHandlerCase( |
const LoadICParameters* p, Node* handler, Label* miss, |
ElementSupport support_elements) { |
Comment("have_handler"); |
@@ -173,7 +175,7 @@ void AccessorAssemblerImpl::HandleLoadICHandlerCase( |
} |
} |
-void AccessorAssemblerImpl::HandleLoadICSmiHandlerCase( |
+void AccessorAssembler::HandleLoadICSmiHandlerCase( |
const LoadICParameters* p, Node* holder, Node* smi_handler, Label* miss, |
ElementSupport support_elements) { |
Variable var_double_value(this, MachineRepresentation::kFloat64); |
@@ -295,7 +297,7 @@ void AccessorAssemblerImpl::HandleLoadICSmiHandlerCase( |
} |
} |
-void AccessorAssemblerImpl::HandleLoadICProtoHandlerCase( |
+void AccessorAssembler::HandleLoadICProtoHandlerCase( |
const LoadICParameters* p, Node* handler, Variable* var_holder, |
Variable* var_smi_handler, Label* if_smi_handler, Label* miss, |
bool throw_reference_error_if_nonexistent) { |
@@ -368,15 +370,13 @@ void AccessorAssemblerImpl::HandleLoadICProtoHandlerCase( |
Bind(&array_handler); |
{ |
- typedef LoadICProtoArrayDescriptor Descriptor; |
- LoadICProtoArrayStub stub(isolate(), throw_reference_error_if_nonexistent); |
- Node* target = HeapConstant(stub.GetCode()); |
- TailCallStub(Descriptor(isolate()), target, p->context, p->receiver, |
- p->name, p->slot, p->vector, handler); |
+ TailCallStub(CodeFactory::LoadICProtoArray( |
+ isolate(), throw_reference_error_if_nonexistent), |
+ p->context, p->receiver, p->name, p->slot, p->vector, handler); |
} |
} |
-Node* AccessorAssemblerImpl::EmitLoadICProtoArrayCheck( |
+Node* AccessorAssembler::EmitLoadICProtoArrayCheck( |
const LoadICParameters* p, Node* handler, Node* handler_length, |
Node* handler_flags, Label* miss, |
bool throw_reference_error_if_nonexistent) { |
@@ -438,7 +438,7 @@ Node* AccessorAssemblerImpl::EmitLoadICProtoArrayCheck( |
return holder; |
} |
-void AccessorAssemblerImpl::HandleLoadGlobalICHandlerCase( |
+void AccessorAssembler::HandleLoadGlobalICHandlerCase( |
const LoadICParameters* pp, Node* handler, Label* miss, |
bool throw_reference_error_if_nonexistent) { |
LoadICParameters p = *pp; |
@@ -457,7 +457,7 @@ void AccessorAssemblerImpl::HandleLoadGlobalICHandlerCase( |
miss, kOnlyProperties); |
} |
-void AccessorAssemblerImpl::HandleStoreICHandlerCase( |
+void AccessorAssembler::HandleStoreICHandlerCase( |
const StoreICParameters* p, Node* handler, Label* miss, |
ElementSupport support_elements) { |
Label if_smi_handler(this), if_nonsmi_handler(this); |
@@ -504,7 +504,7 @@ void AccessorAssemblerImpl::HandleStoreICHandlerCase( |
} |
} |
-void AccessorAssemblerImpl::HandleStoreICElementHandlerCase( |
+void AccessorAssembler::HandleStoreICElementHandlerCase( |
const StoreICParameters* p, Node* handler, Label* miss) { |
Comment("HandleStoreICElementHandlerCase"); |
Node* validity_cell = LoadObjectField(handler, Tuple2::kValue1Offset); |
@@ -521,8 +521,8 @@ void AccessorAssemblerImpl::HandleStoreICElementHandlerCase( |
p->value, p->slot, p->vector); |
} |
-void AccessorAssemblerImpl::HandleStoreICProtoHandler( |
- const StoreICParameters* p, Node* handler, Label* miss) { |
+void AccessorAssembler::HandleStoreICProtoHandler(const StoreICParameters* p, |
+ Node* handler, Label* miss) { |
// IC dispatchers rely on these assumptions to be held. |
STATIC_ASSERT(FixedArray::kLengthOffset == |
StoreHandler::kTransitionCellOffset); |
@@ -613,11 +613,10 @@ void AccessorAssemblerImpl::HandleStoreICProtoHandler( |
} |
} |
-void AccessorAssemblerImpl::HandleStoreICSmiHandlerCase(Node* handler_word, |
- Node* holder, |
- Node* value, |
- Node* transition, |
- Label* miss) { |
+void AccessorAssembler::HandleStoreICSmiHandlerCase(Node* handler_word, |
+ Node* holder, Node* value, |
+ Node* transition, |
+ Label* miss) { |
Comment(transition ? "transitioning field store" : "field store"); |
#ifdef DEBUG |
@@ -683,9 +682,11 @@ void AccessorAssemblerImpl::HandleStoreICSmiHandlerCase(Node* handler_word, |
} |
} |
-void AccessorAssemblerImpl::HandleStoreFieldAndReturn( |
- Node* handler_word, Node* holder, Representation representation, |
- Node* value, Node* transition, Label* miss) { |
+void AccessorAssembler::HandleStoreFieldAndReturn(Node* handler_word, |
+ Node* holder, |
+ Representation representation, |
+ Node* value, Node* transition, |
+ Label* miss) { |
bool transition_to_field = transition != nullptr; |
Node* prepared_value = PrepareValueForStore( |
handler_word, holder, representation, transition, value, miss); |
@@ -727,11 +728,10 @@ void AccessorAssemblerImpl::HandleStoreFieldAndReturn( |
} |
} |
-Node* AccessorAssemblerImpl::PrepareValueForStore(Node* handler_word, |
- Node* holder, |
- Representation representation, |
- Node* transition, Node* value, |
- Label* bailout) { |
+Node* AccessorAssembler::PrepareValueForStore(Node* handler_word, Node* holder, |
+ Representation representation, |
+ Node* transition, Node* value, |
+ Label* bailout) { |
if (representation.IsDouble()) { |
value = TryTaggedToFloat64(value, bailout); |
@@ -762,7 +762,7 @@ Node* AccessorAssemblerImpl::PrepareValueForStore(Node* handler_word, |
return value; |
} |
-void AccessorAssemblerImpl::ExtendPropertiesBackingStore(Node* object) { |
+void AccessorAssembler::ExtendPropertiesBackingStore(Node* object) { |
Node* properties = LoadProperties(object); |
Node* length = LoadFixedArrayBaseLength(properties); |
@@ -798,11 +798,10 @@ void AccessorAssemblerImpl::ExtendPropertiesBackingStore(Node* object) { |
StoreObjectField(object, JSObject::kPropertiesOffset, new_properties); |
} |
-void AccessorAssemblerImpl::StoreNamedField(Node* handler_word, Node* object, |
- bool is_inobject, |
- Representation representation, |
- Node* value, |
- bool transition_to_field) { |
+void AccessorAssembler::StoreNamedField(Node* handler_word, Node* object, |
+ bool is_inobject, |
+ Representation representation, |
+ Node* value, bool transition_to_field) { |
bool store_value_as_double = representation.IsDouble(); |
Node* property_storage = object; |
if (!is_inobject) { |
@@ -836,9 +835,11 @@ void AccessorAssemblerImpl::StoreNamedField(Node* handler_word, Node* object, |
} |
} |
-void AccessorAssemblerImpl::EmitFastElementsBoundsCheck( |
- Node* object, Node* elements, Node* intptr_index, |
- Node* is_jsarray_condition, Label* miss) { |
+void AccessorAssembler::EmitFastElementsBoundsCheck(Node* object, |
+ Node* elements, |
+ Node* intptr_index, |
+ Node* is_jsarray_condition, |
+ Label* miss) { |
Variable var_length(this, MachineType::PointerRepresentation()); |
Comment("Fast elements bounds check"); |
Label if_array(this), length_loaded(this, &var_length); |
@@ -856,11 +857,13 @@ void AccessorAssemblerImpl::EmitFastElementsBoundsCheck( |
GotoUnless(UintPtrLessThan(intptr_index, var_length.value()), miss); |
} |
-void AccessorAssemblerImpl::EmitElementLoad( |
- Node* object, Node* elements, Node* elements_kind, Node* intptr_index, |
- Node* is_jsarray_condition, Label* if_hole, Label* rebox_double, |
- Variable* var_double_value, Label* unimplemented_elements_kind, |
- Label* out_of_bounds, Label* miss) { |
+void AccessorAssembler::EmitElementLoad(Node* object, Node* elements, |
+ Node* elements_kind, Node* intptr_index, |
+ Node* is_jsarray_condition, |
+ Label* if_hole, Label* rebox_double, |
+ Variable* var_double_value, |
+ Label* unimplemented_elements_kind, |
+ Label* out_of_bounds, Label* miss) { |
Label if_typed_array(this), if_fast_packed(this), if_fast_holey(this), |
if_fast_double(this), if_fast_holey_double(this), if_nonfast(this), |
if_dictionary(this); |
@@ -1053,8 +1056,8 @@ void AccessorAssemblerImpl::EmitElementLoad( |
} |
} |
-void AccessorAssemblerImpl::CheckPrototype(Node* prototype_cell, Node* name, |
- Label* miss) { |
+void AccessorAssembler::CheckPrototype(Node* prototype_cell, Node* name, |
+ Label* miss) { |
Node* maybe_prototype = LoadWeakCellValue(prototype_cell, miss); |
Label done(this); |
@@ -1083,9 +1086,8 @@ void AccessorAssemblerImpl::CheckPrototype(Node* prototype_cell, Node* name, |
Bind(&done); |
} |
-void AccessorAssemblerImpl::NameDictionaryNegativeLookup(Node* object, |
- Node* name, |
- Label* miss) { |
+void AccessorAssembler::NameDictionaryNegativeLookup(Node* object, Node* name, |
+ Label* miss) { |
CSA_ASSERT(this, IsDictionaryMap(LoadMap(object))); |
Node* properties = LoadProperties(object); |
// Ensure the property does not exist in a dictionary-mode object. |
@@ -1098,12 +1100,12 @@ void AccessorAssemblerImpl::NameDictionaryNegativeLookup(Node* object, |
//////////////////// Stub cache access helpers. |
-enum AccessorAssemblerImpl::StubCacheTable : int { |
+enum AccessorAssembler::StubCacheTable : int { |
kPrimary = static_cast<int>(StubCache::kPrimary), |
kSecondary = static_cast<int>(StubCache::kSecondary) |
}; |
-Node* AccessorAssemblerImpl::StubCachePrimaryOffset(Node* name, Node* map) { |
+Node* AccessorAssembler::StubCachePrimaryOffset(Node* name, Node* map) { |
// See v8::internal::StubCache::PrimaryOffset(). |
STATIC_ASSERT(StubCache::kCacheIndexShift == Name::kHashShift); |
// Compute the hash of the name (use entire hash field). |
@@ -1125,7 +1127,7 @@ Node* AccessorAssemblerImpl::StubCachePrimaryOffset(Node* name, Node* map) { |
return ChangeUint32ToWord(Word32And(hash, Int32Constant(mask))); |
} |
-Node* AccessorAssemblerImpl::StubCacheSecondaryOffset(Node* name, Node* seed) { |
+Node* AccessorAssembler::StubCacheSecondaryOffset(Node* name, Node* seed) { |
// See v8::internal::StubCache::SecondaryOffset(). |
// Use the seed from the primary cache in the secondary cache. |
@@ -1137,10 +1139,12 @@ Node* AccessorAssemblerImpl::StubCacheSecondaryOffset(Node* name, Node* seed) { |
return ChangeUint32ToWord(Word32And(hash, Int32Constant(mask))); |
} |
-void AccessorAssemblerImpl::TryProbeStubCacheTable( |
- StubCache* stub_cache, StubCacheTable table_id, Node* entry_offset, |
- Node* name, Node* map, Label* if_handler, Variable* var_handler, |
- Label* if_miss) { |
+void AccessorAssembler::TryProbeStubCacheTable(StubCache* stub_cache, |
+ StubCacheTable table_id, |
+ Node* entry_offset, Node* name, |
+ Node* map, Label* if_handler, |
+ Variable* var_handler, |
+ Label* if_miss) { |
StubCache::Table table = static_cast<StubCache::Table>(table_id); |
#ifdef DEBUG |
if (FLAG_test_secondary_stub_cache && table == StubCache::kPrimary) { |
@@ -1180,11 +1184,10 @@ void AccessorAssemblerImpl::TryProbeStubCacheTable( |
Goto(if_handler); |
} |
-void AccessorAssemblerImpl::TryProbeStubCache(StubCache* stub_cache, |
- Node* receiver, Node* name, |
- Label* if_handler, |
- Variable* var_handler, |
- Label* if_miss) { |
+void AccessorAssembler::TryProbeStubCache(StubCache* stub_cache, Node* receiver, |
+ Node* name, Label* if_handler, |
+ Variable* var_handler, |
+ Label* if_miss) { |
Label try_secondary(this), miss(this); |
Counters* counters = isolate()->counters(); |
@@ -1217,7 +1220,7 @@ void AccessorAssemblerImpl::TryProbeStubCache(StubCache* stub_cache, |
//////////////////// Entry points into private implementation (one per stub). |
-void AccessorAssemblerImpl::LoadIC(const LoadICParameters* p) { |
+void AccessorAssembler::LoadIC(const LoadICParameters* p) { |
Variable var_handler(this, MachineRepresentation::kTagged); |
// TODO(ishell): defer blocks when it works. |
Label if_handler(this, &var_handler), try_polymorphic(this), |
@@ -1260,7 +1263,7 @@ void AccessorAssemblerImpl::LoadIC(const LoadICParameters* p) { |
} |
} |
-void AccessorAssemblerImpl::LoadICProtoArray( |
+void AccessorAssembler::LoadICProtoArray( |
const LoadICParameters* p, Node* handler, |
bool throw_reference_error_if_nonexistent) { |
Label miss(this); |
@@ -1285,8 +1288,8 @@ void AccessorAssemblerImpl::LoadICProtoArray( |
} |
} |
-void AccessorAssemblerImpl::LoadGlobalIC(const LoadICParameters* p, |
- TypeofMode typeof_mode) { |
+void AccessorAssembler::LoadGlobalIC(const LoadICParameters* p, |
+ TypeofMode typeof_mode) { |
Label try_handler(this), call_handler(this), miss(this); |
Node* weak_cell = |
LoadFixedArrayElement(p->vector, p->slot, 0, SMI_PARAMETERS); |
@@ -1332,7 +1335,7 @@ void AccessorAssemblerImpl::LoadGlobalIC(const LoadICParameters* p, |
} |
} |
-void AccessorAssemblerImpl::KeyedLoadIC(const LoadICParameters* p) { |
+void AccessorAssembler::KeyedLoadIC(const LoadICParameters* p) { |
Variable var_handler(this, MachineRepresentation::kTagged); |
// TODO(ishell): defer blocks when it works. |
Label if_handler(this, &var_handler), try_polymorphic(this), |
@@ -1392,7 +1395,7 @@ void AccessorAssemblerImpl::KeyedLoadIC(const LoadICParameters* p) { |
} |
} |
-void AccessorAssemblerImpl::KeyedLoadICGeneric(const LoadICParameters* p) { |
+void AccessorAssembler::KeyedLoadICGeneric(const LoadICParameters* p) { |
Variable var_index(this, MachineType::PointerRepresentation()); |
Variable var_unique(this, MachineRepresentation::kTagged); |
var_unique.Bind(p->name); // Dummy initialization. |
@@ -1552,7 +1555,7 @@ void AccessorAssemblerImpl::KeyedLoadICGeneric(const LoadICParameters* p) { |
} |
} |
-void AccessorAssemblerImpl::StoreIC(const StoreICParameters* p) { |
+void AccessorAssembler::StoreIC(const StoreICParameters* p) { |
Variable var_handler(this, MachineRepresentation::kTagged); |
// TODO(ishell): defer blocks when it works. |
Label if_handler(this, &var_handler), try_polymorphic(this), |
@@ -1599,8 +1602,8 @@ void AccessorAssemblerImpl::StoreIC(const StoreICParameters* p) { |
} |
} |
-void AccessorAssemblerImpl::KeyedStoreIC(const StoreICParameters* p, |
- LanguageMode language_mode) { |
+void AccessorAssembler::KeyedStoreIC(const StoreICParameters* p, |
+ LanguageMode language_mode) { |
// TODO(ishell): defer blocks when it works. |
Label miss(this /*, Label::kDeferred*/); |
{ |
@@ -1710,7 +1713,7 @@ void AccessorAssemblerImpl::KeyedStoreIC(const StoreICParameters* p, |
//////////////////// Public methods. |
-void AccessorAssemblerImpl::GenerateLoadIC() { |
+void AccessorAssembler::GenerateLoadIC() { |
typedef LoadWithVectorDescriptor Descriptor; |
Node* receiver = Parameter(Descriptor::kReceiver); |
@@ -1723,7 +1726,7 @@ void AccessorAssemblerImpl::GenerateLoadIC() { |
LoadIC(&p); |
} |
-void AccessorAssemblerImpl::GenerateLoadICTrampoline() { |
+void AccessorAssembler::GenerateLoadICTrampoline() { |
typedef LoadDescriptor Descriptor; |
Node* receiver = Parameter(Descriptor::kReceiver); |
@@ -1736,9 +1739,9 @@ void AccessorAssemblerImpl::GenerateLoadICTrampoline() { |
LoadIC(&p); |
} |
-void AccessorAssemblerImpl::GenerateLoadICProtoArray( |
+void AccessorAssembler::GenerateLoadICProtoArray( |
bool throw_reference_error_if_nonexistent) { |
- typedef LoadICProtoArrayStub::Descriptor Descriptor; |
+ typedef LoadICProtoArrayDescriptor Descriptor; |
Node* receiver = Parameter(Descriptor::kReceiver); |
Node* name = Parameter(Descriptor::kName); |
@@ -1751,8 +1754,8 @@ void AccessorAssemblerImpl::GenerateLoadICProtoArray( |
LoadICProtoArray(&p, handler, throw_reference_error_if_nonexistent); |
} |
-void AccessorAssemblerImpl::GenerateLoadField() { |
- typedef LoadFieldStub::Descriptor Descriptor; |
+void AccessorAssembler::GenerateLoadField() { |
+ typedef LoadFieldDescriptor Descriptor; |
Node* receiver = Parameter(Descriptor::kReceiver); |
Node* name = nullptr; |
@@ -1765,7 +1768,7 @@ void AccessorAssemblerImpl::GenerateLoadField() { |
nullptr, kOnlyProperties); |
} |
-void AccessorAssemblerImpl::GenerateLoadGlobalIC(TypeofMode typeof_mode) { |
+void AccessorAssembler::GenerateLoadGlobalIC(TypeofMode typeof_mode) { |
typedef LoadGlobalWithVectorDescriptor Descriptor; |
Node* name = Parameter(Descriptor::kName); |
@@ -1777,8 +1780,7 @@ void AccessorAssemblerImpl::GenerateLoadGlobalIC(TypeofMode typeof_mode) { |
LoadGlobalIC(&p, typeof_mode); |
} |
-void AccessorAssemblerImpl::GenerateLoadGlobalICTrampoline( |
- TypeofMode typeof_mode) { |
+void AccessorAssembler::GenerateLoadGlobalICTrampoline(TypeofMode typeof_mode) { |
typedef LoadGlobalDescriptor Descriptor; |
Node* name = Parameter(Descriptor::kName); |
@@ -1790,7 +1792,7 @@ void AccessorAssemblerImpl::GenerateLoadGlobalICTrampoline( |
LoadGlobalIC(&p, typeof_mode); |
} |
-void AccessorAssemblerImpl::GenerateKeyedLoadICTF() { |
+void AccessorAssembler::GenerateKeyedLoadIC() { |
typedef LoadWithVectorDescriptor Descriptor; |
Node* receiver = Parameter(Descriptor::kReceiver); |
@@ -1803,7 +1805,7 @@ void AccessorAssemblerImpl::GenerateKeyedLoadICTF() { |
KeyedLoadIC(&p); |
} |
-void AccessorAssemblerImpl::GenerateKeyedLoadICTrampolineTF() { |
+void AccessorAssembler::GenerateKeyedLoadICTrampoline() { |
typedef LoadDescriptor Descriptor; |
Node* receiver = Parameter(Descriptor::kReceiver); |
@@ -1816,7 +1818,7 @@ void AccessorAssemblerImpl::GenerateKeyedLoadICTrampolineTF() { |
KeyedLoadIC(&p); |
} |
-void AccessorAssemblerImpl::GenerateKeyedLoadICMegamorphic() { |
+void AccessorAssembler::GenerateKeyedLoadIC_Megamorphic() { |
typedef LoadWithVectorDescriptor Descriptor; |
Node* receiver = Parameter(Descriptor::kReceiver); |
@@ -1829,7 +1831,7 @@ void AccessorAssemblerImpl::GenerateKeyedLoadICMegamorphic() { |
KeyedLoadICGeneric(&p); |
} |
-void AccessorAssemblerImpl::GenerateStoreIC() { |
+void AccessorAssembler::GenerateStoreIC() { |
typedef StoreWithVectorDescriptor Descriptor; |
Node* receiver = Parameter(Descriptor::kReceiver); |
@@ -1843,7 +1845,7 @@ void AccessorAssemblerImpl::GenerateStoreIC() { |
StoreIC(&p); |
} |
-void AccessorAssemblerImpl::GenerateStoreICTrampoline() { |
+void AccessorAssembler::GenerateStoreICTrampoline() { |
typedef StoreDescriptor Descriptor; |
Node* receiver = Parameter(Descriptor::kReceiver); |
@@ -1857,7 +1859,7 @@ void AccessorAssemblerImpl::GenerateStoreICTrampoline() { |
StoreIC(&p); |
} |
-void AccessorAssemblerImpl::GenerateKeyedStoreICTF(LanguageMode language_mode) { |
+void AccessorAssembler::GenerateKeyedStoreIC(LanguageMode language_mode) { |
typedef StoreWithVectorDescriptor Descriptor; |
Node* receiver = Parameter(Descriptor::kReceiver); |
@@ -1871,7 +1873,7 @@ void AccessorAssemblerImpl::GenerateKeyedStoreICTF(LanguageMode language_mode) { |
KeyedStoreIC(&p, language_mode); |
} |
-void AccessorAssemblerImpl::GenerateKeyedStoreICTrampolineTF( |
+void AccessorAssembler::GenerateKeyedStoreICTrampoline( |
LanguageMode language_mode) { |
typedef StoreDescriptor Descriptor; |
@@ -1886,48 +1888,5 @@ void AccessorAssemblerImpl::GenerateKeyedStoreICTrampolineTF( |
KeyedStoreIC(&p, language_mode); |
} |
-//////////////////// AccessorAssembler implementation. |
- |
-#define DISPATCH_TO_IMPL(Name) \ |
- void AccessorAssembler::Generate##Name(CodeAssemblerState* state) { \ |
- AccessorAssemblerImpl assembler(state); \ |
- assembler.Generate##Name(); \ |
- } |
- |
-ACCESSOR_ASSEMBLER_PUBLIC_INTERFACE(DISPATCH_TO_IMPL) |
-#undef DISPATCH_TO_IMPL |
- |
-void AccessorAssembler::GenerateLoadICProtoArray( |
- CodeAssemblerState* state, bool throw_reference_error_if_nonexistent) { |
- AccessorAssemblerImpl assembler(state); |
- assembler.GenerateLoadICProtoArray(throw_reference_error_if_nonexistent); |
-} |
- |
-void AccessorAssembler::GenerateLoadGlobalIC(CodeAssemblerState* state, |
- TypeofMode typeof_mode) { |
- AccessorAssemblerImpl assembler(state); |
- assembler.GenerateLoadGlobalIC(typeof_mode); |
-} |
- |
-void AccessorAssembler::GenerateLoadGlobalICTrampoline( |
- CodeAssemblerState* state, TypeofMode typeof_mode) { |
- AccessorAssemblerImpl assembler(state); |
- assembler.GenerateLoadGlobalICTrampoline(typeof_mode); |
-} |
- |
-void AccessorAssembler::GenerateKeyedStoreICTF(CodeAssemblerState* state, |
- LanguageMode language_mode) { |
- AccessorAssemblerImpl assembler(state); |
- assembler.GenerateKeyedStoreICTF(language_mode); |
-} |
- |
-void AccessorAssembler::GenerateKeyedStoreICTrampolineTF( |
- CodeAssemblerState* state, LanguageMode language_mode) { |
- AccessorAssemblerImpl assembler(state); |
- assembler.GenerateKeyedStoreICTrampolineTF(language_mode); |
-} |
- |
-#undef ACCESSOR_ASSEMBLER_PUBLIC_INTERFACE |
- |
} // namespace internal |
} // namespace v8 |