Index: src/code-stub-assembler.cc |
diff --git a/src/code-stub-assembler.cc b/src/code-stub-assembler.cc |
index 6504c84287b0fb715c795760a180202c2697f1d5..e22d56e53b448811d3a878c83ba1cecf827d1f2a 100644 |
--- a/src/code-stub-assembler.cc |
+++ b/src/code-stub-assembler.cc |
@@ -5274,18 +5274,20 @@ void CodeStubAssembler::HandleLoadICHandlerCase( |
Node* holder = var_holder.value(); |
Node* handler_word = SmiUntag(var_smi_handler.value()); |
- Node* handler_type = DecodeWord<LoadHandlerTypeBits>(handler_word); |
+ Node* handler_kind = DecodeWord<LoadHandler::KindBits>(handler_word); |
if (support_elements == kSupportElements) { |
Label property(this); |
GotoUnless( |
- WordEqual(handler_type, IntPtrConstant(kLoadICHandlerForElements)), |
+ WordEqual(handler_kind, IntPtrConstant(LoadHandler::kForElements)), |
&property); |
Comment("element_load"); |
Node* intptr_index = TryToIntptr(p->name, miss); |
Node* elements = LoadElements(holder); |
- Node* is_jsarray_condition = IsSetWord<KeyedLoadIsJsArray>(handler_word); |
- Node* elements_kind = DecodeWord<KeyedLoadElementsKind>(handler_word); |
+ Node* is_jsarray_condition = |
+ IsSetWord<LoadHandler::IsJsArrayBits>(handler_word); |
+ Node* elements_kind = |
+ DecodeWord<LoadHandler::ElementsKindBits>(handler_word); |
Label if_hole(this), unimplemented_elements_kind(this); |
Label* out_of_bounds = miss; |
EmitElementLoad(holder, elements, elements_kind, intptr_index, |
@@ -5304,7 +5306,7 @@ void CodeStubAssembler::HandleLoadICHandlerCase( |
Bind(&if_hole); |
{ |
Comment("convert hole"); |
- GotoUnless(IsSetWord<KeyedLoadConvertHole>(handler_word), miss); |
+ GotoUnless(IsSetWord<LoadHandler::ConvertHoleBits>(handler_word), miss); |
Node* protector_cell = LoadRoot(Heap::kArrayProtectorRootIndex); |
DCHECK(isolate()->heap()->array_protector()->IsPropertyCell()); |
GotoUnless( |
@@ -5320,22 +5322,22 @@ void CodeStubAssembler::HandleLoadICHandlerCase( |
} |
Label constant(this), field(this); |
- Branch(WordEqual(handler_type, IntPtrConstant(kLoadICHandlerForFields)), |
+ Branch(WordEqual(handler_kind, IntPtrConstant(LoadHandler::kForFields)), |
&field, &constant); |
Bind(&field); |
{ |
Comment("field_load"); |
- Node* offset = DecodeWord<FieldOffsetOffset>(handler_word); |
+ Node* offset = DecodeWord<LoadHandler::FieldOffsetBits>(handler_word); |
Label inobject(this), out_of_object(this); |
- Branch(IsSetWord<FieldOffsetIsInobject>(handler_word), &inobject, |
+ Branch(IsSetWord<LoadHandler::IsInobjectBits>(handler_word), &inobject, |
&out_of_object); |
Bind(&inobject); |
{ |
Label is_double(this); |
- GotoIf(IsSetWord<FieldOffsetIsDouble>(handler_word), &is_double); |
+ GotoIf(IsSetWord<LoadHandler::IsDoubleBits>(handler_word), &is_double); |
Return(LoadObjectField(holder, offset)); |
Bind(&is_double); |
@@ -5354,7 +5356,7 @@ void CodeStubAssembler::HandleLoadICHandlerCase( |
Label is_double(this); |
Node* properties = LoadProperties(holder); |
Node* value = LoadObjectField(properties, offset); |
- GotoIf(IsSetWord<FieldOffsetIsDouble>(handler_word), &is_double); |
+ GotoIf(IsSetWord<LoadHandler::IsDoubleBits>(handler_word), &is_double); |
Return(value); |
Bind(&is_double); |
@@ -5370,7 +5372,8 @@ void CodeStubAssembler::HandleLoadICHandlerCase( |
{ |
Comment("constant_load"); |
Node* descriptors = LoadMapDescriptors(LoadMap(holder)); |
- Node* descriptor = DecodeWord<ValueIndexInDescriptorArray>(handler_word); |
+ Node* descriptor = |
+ DecodeWord<LoadHandler::DescriptorValueIndexBits>(handler_word); |
#if defined(DEBUG) |
CSA_ASSERT(UintPtrLessThan( |
descriptor, LoadAndUntagFixedArrayBaseLength(descriptors))); |