Closed Bug 507231 Opened 15 years ago Closed 11 years ago

ABORT_IF_XML does not guarantee no XML at runtime

Categories

(Core :: JavaScript Engine, defect)

Other Branch
defect
Not set
normal

Tracking

()

RESOLVED INVALID

People

(Reporter: jorendorff, Unassigned)

Details

As a result, XML objects can end up being treated like regular old objects in several places. This test passes without -j, fails with -j.

var arr = [{}, {},
           {}, {},
           {}, {},
           {}, {},
           <x/>, <x/>];  // these last two are equal
var s = '';
for (var i = 0; i < arr.length; i += 2) {
    if (arr[i] == arr[i + 1])
        s += i;
}
assertEq(s, "8");  // got "", expected "8" with -j
We could have ABORT_IF_XML emit a guard. That seems heinous. We could split XML objects out into their own trace type, TT_XML. But that might be even worse; we would pay for that every time we unbox an object on trace.
E4X is gone.
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.