aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4regexp.cpp
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@digia.com>2014-04-06 12:51:56 +0200
committerSimon Hausmann <simon.hausmann@digia.com>2014-07-22 13:48:56 +0200
commit3f39bc03f1fc3ba26eab7b1b0828d3cfa93abb2b (patch)
tree1a7a210d6e3430189b58d693e32a6c4b392d8a4a /src/qml/jsruntime/qv4regexp.cpp
parent36aa3f91177f41644422e07c338a26e688f5096c (diff)
Convert RegExp and RegExpObject to new data layout
Change-Id: I0c2bbab4b158069d5c1648edc38f7c5e38ee67ee Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/jsruntime/qv4regexp.cpp')
-rw-r--r--src/qml/jsruntime/qv4regexp.cpp30
1 files changed, 15 insertions, 15 deletions
diff --git a/src/qml/jsruntime/qv4regexp.cpp b/src/qml/jsruntime/qv4regexp.cpp
index 23ef62f992..eb7810c1b0 100644
--- a/src/qml/jsruntime/qv4regexp.cpp
+++ b/src/qml/jsruntime/qv4regexp.cpp
@@ -49,7 +49,7 @@ RegExpCache::~RegExpCache()
{
for (RegExpCache::Iterator it = begin(), e = end();
it != e; ++it)
- it.value()->m_cache = 0;
+ it.value()->data.cache = 0;
clear();
}
@@ -63,11 +63,11 @@ uint RegExp::match(const QString &string, int start, uint *matchOffsets)
WTF::String s(string);
#if ENABLE(YARR_JIT)
- if (!m_jitCode.isFallBack() && m_jitCode.has16BitCode())
- return m_jitCode.execute(s.characters16(), start, s.length(), (int*)matchOffsets).start;
+ if (!jitCode().isFallBack() && jitCode().has16BitCode())
+ return jitCode().execute(s.characters16(), start, s.length(), (int*)matchOffsets).start;
#endif
- return JSC::Yarr::interpret(m_byteCode.get(), s.characters16(), string.length(), start, matchOffsets);
+ return JSC::Yarr::interpret(byteCode().get(), s.characters16(), string.length(), start, matchOffsets);
}
RegExp* RegExp::create(ExecutionEngine* engine, const QString& pattern, bool ignoreCase, bool multiline)
@@ -85,7 +85,7 @@ RegExp* RegExp::create(ExecutionEngine* engine, const QString& pattern, bool ign
if (!cache)
cache = engine->regExpCache = new RegExpCache;
- result->m_cache = cache;
+ result->data.cache = cache;
cache->insert(key, result);
return result;
@@ -93,33 +93,33 @@ RegExp* RegExp::create(ExecutionEngine* engine, const QString& pattern, bool ign
RegExp::RegExp(ExecutionEngine* engine, const QString &pattern, bool ignoreCase, bool multiline)
: Managed(engine->regExpValueClass)
- , m_pattern(pattern)
- , m_cache(0)
- , m_subPatternCount(0)
- , m_ignoreCase(ignoreCase)
- , m_multiLine(multiline)
{
+ data.pattern = pattern;
+ data.cache = 0;
+ data.ignoreCase = ignoreCase;
+ data.multiLine = multiline;
+
if (!engine)
return;
const char* error = 0;
JSC::Yarr::YarrPattern yarrPattern(WTF::String(pattern), ignoreCase, multiline, &error);
if (error)
return;
- m_subPatternCount = yarrPattern.m_numSubpatterns;
- m_byteCode = JSC::Yarr::byteCompile(yarrPattern, engine->bumperPointerAllocator);
+ data.subPatternCount = yarrPattern.m_numSubpatterns;
+ data.byteCode = JSC::Yarr::byteCompile(yarrPattern, engine->bumperPointerAllocator);
#if ENABLE(YARR_JIT)
if (!yarrPattern.m_containsBackreferences && engine->iselFactory->jitCompileRegexps()) {
JSC::JSGlobalData dummy(engine->regExpAllocator);
- JSC::Yarr::jitCompile(yarrPattern, JSC::Yarr::Char16, &dummy, m_jitCode);
+ JSC::Yarr::jitCompile(yarrPattern, JSC::Yarr::Char16, &dummy, data.jitCode);
}
#endif
}
RegExp::~RegExp()
{
- if (m_cache) {
+ if (cache()) {
RegExpCacheKey key(this);
- m_cache->remove(key);
+ cache()->remove(key);
}
}