Index: src/ic/handler-configuration-inl.h |
diff --git a/src/ic/handler-configuration-inl.h b/src/ic/handler-configuration-inl.h |
index 985ccd60fe28c2114808407a5774a3c93e5a4273..a17bbe3d291a9507b59d6d19eaddf317ff5bfc76 100644 |
--- a/src/ic/handler-configuration-inl.h |
+++ b/src/ic/handler-configuration-inl.h |
@@ -8,24 +8,33 @@ |
#include "src/ic/handler-configuration.h" |
#include "src/field-index-inl.h" |
+#include "src/objects-inl.h" |
namespace v8 { |
namespace internal { |
Handle<Object> SmiHandler::MakeLoadFieldHandler(Isolate* isolate, |
FieldIndex field_index) { |
- int config = LoadHandlerTypeBit::encode(kLoadICHandlerForProperties) | |
+ int config = LoadHandlerTypeBits::encode(kLoadICHandlerForFields) | |
FieldOffsetIsInobject::encode(field_index.is_inobject()) | |
FieldOffsetIsDouble::encode(field_index.is_double()) | |
FieldOffsetOffset::encode(field_index.offset()); |
return handle(Smi::FromInt(config), isolate); |
} |
+Handle<Object> SmiHandler::MakeLoadConstantHandler(Isolate* isolate, |
+ int descriptor) { |
+ int config = LoadHandlerTypeBits::encode(kLoadICHandlerForConstants) | |
+ ValueIndexInDescriptorArray::encode( |
+ DescriptorArray::ToValueIndex(descriptor)); |
+ return handle(Smi::FromInt(config), isolate); |
+} |
+ |
Handle<Object> SmiHandler::MakeKeyedLoadHandler(Isolate* isolate, |
ElementsKind elements_kind, |
bool convert_hole_to_undefined, |
bool is_js_array) { |
- int config = LoadHandlerTypeBit::encode(kLoadICHandlerForElements) | |
+ int config = LoadHandlerTypeBits::encode(kLoadICHandlerForElements) | |
KeyedLoadElementsKind::encode(elements_kind) | |
KeyedLoadConvertHole::encode(convert_hole_to_undefined) | |
KeyedLoadIsJsArray::encode(is_js_array); |