+ bool hasCode()
+ {
+ return m_state != NotCompiled;
+ }
+
+ void invalidateCode();
+
+#if ENABLE(REGEXP_TRACING)
+ void printTraceData();
+#endif
+
+ static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
+ {
+ return Structure::create(vm, globalObject, prototype, TypeInfo(LeafType, StructureFlags), info());
+ }
+
+ DECLARE_INFO;
+
+ RegExpKey key() { return RegExpKey(m_flags, m_patternString); }
+
+ protected:
+ static const unsigned StructureFlags = StructureIsImmortal;
+
+ void finishCreation(VM&);
+