Closed Bug 582449 Opened 14 years ago Closed 14 years ago

JM: jsreftest failure on ecma_2\RegExp\regress-001.js

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: dmandelin, Assigned: dmandelin)

References

Details

Reduced test case:

  /a||b/('');
I'm told that:

  /a||b/('');

is old-school for:

  /a||b/.exec('');

A bug is being filed to remove the old, non-standard, syntax. For JM for now, I updated the tests to call exec.
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
(In reply to comment #1)
> I'm told that:
> 
>   /a||b/('');
> 
> is old-school for:
> 
>   /a||b/.exec('');
> 
> A bug is being filed to remove the old, non-standard, syntax. For JM for now, I
> updated the tests to call exec.

What's the bug?

WebKit cloned us and then V8 cloned JSC on this, IIRC, and web pages count on it in non-IE branches.

/be
(In reply to comment #2)
> > A bug is being filed to remove the old, non-standard, syntax. For JM for 
> > now, I updated the tests to call exec.
> 
> What's the bug?
> 
> WebKit cloned us and then V8 cloned JSC on this, IIRC, and web pages count on
> it in non-IE branches.

I think Jeff decided not to file it, but I'm not sure why. Anyway, I guess we don't want it. I'll bring the compatible behavior to JM. I was just hoping I didn't have to dig up how that bit works in the interpreter. :-)
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
I don't want callable regexps, they were a mistake. But what anyone wants and what we can afford to break are two different things.

Here's the webkit bug (UNCO at that) asking to remove callable regexps:

https://bugs.webkit.org/show_bug.cgi?id=28285

The support in JSC for callable regexps goes way back, I couldn't find a bug on it. Maybe Oliver knows of web content that requires it.

/be
I simply hadn't gotten to filing the bug yet, because I was still working through the test failures to be fixed: now bug 582717.  (Come to think of it, I probably still haven't worked through all of them in every test suite -- more to do on that front, likely.)
The actual cause of this bug: we were calling the regexp twice due to a bug in generating the code for calls. That's a pretty bad bug, so it's really good we took a second look at this.

http://hg.mozilla.org/projects/jaegermonkey/rev/8a23dd120f6e

Backout of the modification to the test cases:

http://hg.mozilla.org/projects/jaegermonkey/rev/c6c257f88f6e
Status: REOPENED → RESOLVED
Closed: 14 years ago14 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.