String concatenation results in extensive recursion

RESOLVED FIXED

Status

Tamarin
Tracing Virtual Machine
RESOLVED FIXED
10 years ago
10 years ago

People

(Reporter: Rob Borcic, Assigned: Michael Daumling)

Tracking

Details

(Reporter)

Description

10 years ago
The implementation of String::collectTree is highly recursive. Running the ecma3/Array/e15_4_2_1_2.as testcase recurses into collectTree to a depth of 2043. This is exacerbated by an apparent problem in string concatenation that fails to save the tree depth. String::concatStrings() calls String::getDepth() to test if the string should be flattened, but String::setDepth() is never called.

Updated

10 years ago
Assignee: nobody → daumling
(Assignee)

Comment 1

10 years ago
I am working on a non-recursive version.
Status: NEW → ASSIGNED
(Assignee)

Comment 2

10 years ago
Patch attached to bug #411163.
(Reporter)

Comment 3

10 years ago
The patch does allow the ecma3/Array/e15_4_2_1_2.as testcase to run to completion on Symbian.
(Assignee)

Comment 4

10 years ago
So I guess that we can view this bug as fixed.
Status: ASSIGNED → RESOLVED
Last Resolved: 10 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.