Index: src/ic/ic.h |
diff --git a/src/ic/ic.h b/src/ic/ic.h |
index 5ed8082ed1e05e07dd3e0bf4dd0f4408a003c0b7..9825ac76eae5047cae5f3e6639c5abd06283c3c3 100644 |
--- a/src/ic/ic.h |
+++ b/src/ic/ic.h |
@@ -434,6 +434,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); |
+ } |
+ |
explicit KeyedLoadIC(FrameDepth depth, Isolate* isolate) |
: LoadIC(depth, isolate) { |
DCHECK(target()->is_keyed_load_stub()); |