From 1fe206712755b0d99f91bc7897f0a705ec583f2d Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Wed, 3 Jan 2018 15:37:32 +0100 Subject: Introduce a SubString String type Use it in regexp matching. There's probably other places where we should use this as well. Change-Id: Ie2774acff0a5ec7b1c26c564fa40e65fecea29d4 Reviewed-by: Simon Hausmann --- src/qml/jsruntime/qv4regexpobject.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/qml/jsruntime/qv4regexpobject.cpp') diff --git a/src/qml/jsruntime/qv4regexpobject.cpp b/src/qml/jsruntime/qv4regexpobject.cpp index f95719b25f..9a5afdf308 100644 --- a/src/qml/jsruntime/qv4regexpobject.cpp +++ b/src/qml/jsruntime/qv4regexpobject.cpp @@ -343,7 +343,7 @@ ReturnedValue RegExpPrototype::execFirstMatch(const FunctionObject *b, const Val if (r->value()->captureCount()) { int start = matchOffsets[0]; int end = matchOffsets[1]; - retVal = (start != -1) ? scope.engine->newString(s.mid(start, end - start))->asReturnedValue() : Encode::undefined(); + retVal = (start != -1) ? scope.engine->memoryManager->alloc(str->d(), start, end - start)->asReturnedValue() : Encode::undefined(); } RegExpCtor::Data *dd = regExpCtor->d(); @@ -394,7 +394,7 @@ ReturnedValue RegExpPrototype::method_exec(const FunctionObject *b, const Value for (int i = 0; i < len; ++i) { int start = matchOffsets[i * 2]; int end = matchOffsets[i * 2 + 1]; - v = (start != -1) ? scope.engine->newString(s.mid(start, end - start))->asReturnedValue() : Encode::undefined(); + v = (start != -1) ? scope.engine->memoryManager->alloc(str->d(), start, end - start)->asReturnedValue() : Encode::undefined(); array->arrayPut(i, v); } array->setArrayLengthUnchecked(len); -- cgit v1.2.3