Index: src/ic/ic.h |
diff --git a/src/ic/ic.h b/src/ic/ic.h |
index 5f1600021779acd3545f83b7d8c2ddff613f63fb..761810659af9091e52d6a22b2792cfbf8c015597 100644 |
--- a/src/ic/ic.h |
+++ b/src/ic/ic.h |
@@ -459,6 +459,19 @@ class LoadIC : public IC { |
class KeyedLoadIC : public LoadIC { |
public: |
+ // ExtraICState bits (building on IC) |
+ class IcCheckTypeField : public BitField<IcCheckType, 1, 1> {}; |
+ |
+ static ExtraICState ComputeExtraICState(ContextualMode contextual_mode, |
+ IcCheckType key_type) { |
+ return LoadICState(contextual_mode).GetExtraICState() | |
+ IcCheckTypeField::encode(key_type); |
+ } |
+ |
+ static IcCheckType GetKeyType(ExtraICState extra_state) { |
+ return IcCheckTypeField::decode(extra_state); |
+ } |
+ |
KeyedLoadIC(FrameDepth depth, Isolate* isolate, |
KeyedLoadICNexus* nexus = NULL) |
: LoadIC(depth, isolate, nexus) { |