Index: src/ic/accessor-assembler.cc |
diff --git a/src/ic/accessor-assembler.cc b/src/ic/accessor-assembler.cc |
index 9f01f333da06ae6f03c96f99be8ba970964a2162..3c20239fe921f724f5feaefc8cd9dab002b3c5e0 100644 |
--- a/src/ic/accessor-assembler.cc |
+++ b/src/ic/accessor-assembler.cc |
@@ -79,21 +79,20 @@ void AccessorAssemblerImpl::HandlePolymorphicCase( |
Node* length = LoadAndUntagFixedArrayBaseLength(feedback); |
BuildFastLoop( |
MachineType::PointerRepresentation(), init, length, |
- [receiver_map, feedback, if_handler, var_handler](CodeStubAssembler* csa, |
- Node* index) { |
- Node* cached_map = csa->LoadWeakCellValue( |
- csa->LoadFixedArrayElement(feedback, index, 0, INTPTR_PARAMETERS)); |
+ [this, receiver_map, feedback, if_handler, var_handler](Node* index) { |
+ Node* cached_map = LoadWeakCellValue( |
+ LoadFixedArrayElement(feedback, index, 0, INTPTR_PARAMETERS)); |
- Label next_entry(csa); |
- csa->GotoIf(csa->WordNotEqual(receiver_map, cached_map), &next_entry); |
+ Label next_entry(this); |
+ GotoIf(WordNotEqual(receiver_map, cached_map), &next_entry); |
// Found, now call handler. |
- Node* handler = csa->LoadFixedArrayElement( |
- feedback, index, kPointerSize, INTPTR_PARAMETERS); |
+ Node* handler = LoadFixedArrayElement(feedback, index, kPointerSize, |
+ INTPTR_PARAMETERS); |
var_handler->Bind(handler); |
- csa->Goto(if_handler); |
+ Goto(if_handler); |
- csa->Bind(&next_entry); |
+ Bind(&next_entry); |
}, |
kEntrySize, IndexAdvanceMode::kPost); |
// The loop falls through if no handler was found. |
@@ -111,30 +110,28 @@ void AccessorAssemblerImpl::HandleKeyedStorePolymorphicCase( |
Node* init = IntPtrConstant(0); |
Node* length = LoadAndUntagFixedArrayBaseLength(feedback); |
- BuildFastLoop( |
- MachineType::PointerRepresentation(), init, length, |
- [receiver_map, feedback, if_handler, var_handler, if_transition_handler, |
- var_transition_map_cell](CodeStubAssembler* csa, Node* index) { |
- Node* cached_map = csa->LoadWeakCellValue( |
- csa->LoadFixedArrayElement(feedback, index, 0, INTPTR_PARAMETERS)); |
- Label next_entry(csa); |
- csa->GotoIf(csa->WordNotEqual(receiver_map, cached_map), &next_entry); |
- |
- Node* maybe_transition_map_cell = csa->LoadFixedArrayElement( |
- feedback, index, kPointerSize, INTPTR_PARAMETERS); |
- |
- var_handler->Bind(csa->LoadFixedArrayElement( |
- feedback, index, 2 * kPointerSize, INTPTR_PARAMETERS)); |
- csa->GotoIf( |
- csa->WordEqual(maybe_transition_map_cell, |
- csa->LoadRoot(Heap::kUndefinedValueRootIndex)), |
- if_handler); |
- var_transition_map_cell->Bind(maybe_transition_map_cell); |
- csa->Goto(if_transition_handler); |
- |
- csa->Bind(&next_entry); |
- }, |
- kEntrySize, IndexAdvanceMode::kPost); |
+ BuildFastLoop(MachineType::PointerRepresentation(), init, length, |
+ [this, receiver_map, feedback, if_handler, var_handler, |
+ if_transition_handler, var_transition_map_cell](Node* index) { |
+ Node* cached_map = LoadWeakCellValue(LoadFixedArrayElement( |
+ feedback, index, 0, INTPTR_PARAMETERS)); |
+ Label next_entry(this); |
+ GotoIf(WordNotEqual(receiver_map, cached_map), &next_entry); |
+ |
+ Node* maybe_transition_map_cell = LoadFixedArrayElement( |
+ feedback, index, kPointerSize, INTPTR_PARAMETERS); |
+ |
+ var_handler->Bind(LoadFixedArrayElement( |
+ feedback, index, 2 * kPointerSize, INTPTR_PARAMETERS)); |
+ GotoIf(WordEqual(maybe_transition_map_cell, |
+ LoadRoot(Heap::kUndefinedValueRootIndex)), |
+ if_handler); |
+ var_transition_map_cell->Bind(maybe_transition_map_cell); |
+ Goto(if_transition_handler); |
+ |
+ Bind(&next_entry); |
+ }, |
+ kEntrySize, IndexAdvanceMode::kPost); |
// The loop falls through if no handler was found. |
Goto(if_miss); |
} |
@@ -424,7 +421,7 @@ Node* AccessorAssemblerImpl::EmitLoadICProtoArrayCheck( |
BuildFastLoop( |
MachineType::PointerRepresentation(), start_index.value(), handler_length, |
- [this, p, handler, miss](CodeStubAssembler*, Node* current) { |
+ [this, p, handler, miss](Node* current) { |
Node* prototype_cell = |
LoadFixedArrayElement(handler, current, 0, INTPTR_PARAMETERS); |
CheckPrototype(prototype_cell, p->name, miss); |
@@ -579,7 +576,7 @@ void AccessorAssemblerImpl::HandleStoreICProtoHandler( |
Node* length = SmiUntag(maybe_transition_cell); |
BuildFastLoop(MachineType::PointerRepresentation(), |
IntPtrConstant(StoreHandler::kFirstPrototypeIndex), length, |
- [this, p, handler, miss](CodeStubAssembler*, Node* current) { |
+ [this, p, handler, miss](Node* current) { |
Node* prototype_cell = LoadFixedArrayElement( |
handler, current, 0, INTPTR_PARAMETERS); |
CheckPrototype(prototype_cell, p->name, miss); |