Index: src/ic/ic.h |
diff --git a/src/ic/ic.h b/src/ic/ic.h |
index 3abc4b6e4fe153cc661b3d62bd435fbe963f395f..3260c55b44c2f768a55568c6c483866a0c5caeb0 100644 |
--- a/src/ic/ic.h |
+++ b/src/ic/ic.h |
@@ -77,8 +77,8 @@ class IC { |
static bool ICUseVector(Code::Kind kind) { |
return kind == Code::LOAD_IC || kind == Code::KEYED_LOAD_IC || |
- kind == Code::CALL_IC || kind == Code::STORE_IC || |
- kind == Code::KEYED_STORE_IC; |
+ kind == Code::CALL_IC || kind == Code::CONSTRUCT_IC || |
+ kind == Code::STORE_IC || kind == Code::KEYED_STORE_IC; |
} |
protected: |
@@ -294,6 +294,17 @@ class CallIC : public IC { |
}; |
+class ConstructIC : public IC { |
+ public: |
+ ConstructIC(Isolate* isolate, ConstructICNexus* nexus) |
+ : IC(EXTRA_CALL_FRAME, isolate, nexus) { |
+ DCHECK(nexus != NULL); |
+ } |
+ |
+ static void Clear(Isolate* isolate, Code* host, ConstructICNexus* nexus); |
+}; |
+ |
+ |
class LoadIC : public IC { |
public: |
static ExtraICState ComputeExtraICState(TypeofMode typeof_mode, |