Closed Bug 380236 (js1.8) Opened 14 years ago Closed 11 years ago

JS1.8 tracking bug

Categories

(Core :: JavaScript Engine, defect, P3)

defect

Tracking

()

RESOLVED FIXED
mozilla1.9

People

(Reporter: brendan, Assigned: brendan)

References

()

Details

JS1.8, to ship as part of Gecko 1.9, will be a smaller change from JS1.7 than 1.7 was from 1.6. But there are a few things we want to fix in 1.7 to track ES4/JS2, and a few more things from ES4 to implement and field-test:

- generator expressions
- JSON encoder and decoder
- slice syntax
- more and better array extras (see bug 363040)
- generalized destructuring for-in (bug 366941)

Missing dependency bugs coming soon.

/be
Also:

- generator.close() automation only for a generator started by a for-in construct

This will simplify the GC, but require JSOP_ENDITER emulation by JSOP_SETSP so that close is automated when exiting a for-in due to an exception.

/be
mrbkap, please propose bugs that we didn't fix for js1.7 (that one where let bindings turn into var bindings at top level, e.g.).

/be
Status: NEW → ASSIGNED
how about bug 238324?
Depends on: genexp
(In reply to comment #3)
> how about bug 238324?

That looks at a glance to be entirely outside of the core language and engine -- is it? Core language features such as packages should wait for JS2 on Tamarin (ActionMonkey), which will start development very soon but take longer than JS1.8. JS1.8 needs to be wrapped up pretty quickly.

/be
(In reply to comment #0)
> - JSON encoder and decoder

That's bug 340987.
Depends on: 340987
(In reply to comment #1)
> Also:
> 
> - generator.close() automation only for a generator started by a for-in
> construct

Finally a sensible thing to do that would remove all that crazy stuff about close phase and its scheduling.

> 
> This will simplify the GC, but require JSOP_ENDITER emulation by JSOP_SETSP so
> that close is automated when exiting a for-in due to an exception.

This is bug 349326. I will try to implement it based on bug 379758 comment 1 during this week.
Depends on: 349326
Related (I think): can/should we make JS1.8 the default for XUL-loaded JS in Gecko 1.9?  We didn't in 1.8.1 for good compatibility reasons, but it makes for a lot of poking around by extension and app authors to get the right versioning parameters, and I think we'd do better by them in 1.9 to make the switch.
(In reply to comment #7)
> Related (I think): can/should we make JS1.8 the default for XUL-loaded JS in
> Gecko 1.9?  We didn't in 1.8.1 for good compatibility reasons, but it makes for
> a lot of poking around by extension and app authors to get the right versioning
> parameters, and I think we'd do better by them in 1.9 to make the switch.

Please file that bug and make it block this one?

/be
(In reply to comment #6)
> (In reply to comment #1)
> > Also:
> > 
> > - generator.close() automation only for a generator started by a for-in
> > construct
> 
> Finally a sensible thing to do that would remove all that crazy stuff about
> close phase and its scheduling.

Yes, JS1.7 followed Python too far there. Sorry about that.

> > This will simplify the GC, but require JSOP_ENDITER emulation by JSOP_SETSP so
> > that close is automated when exiting a for-in due to an exception.
> 
> This is bug 349326. I will try to implement it based on bug 379758 comment 1
> during this week.

Do you want to rip out the close phase in the same bug?

/be
(In reply to comment #9)
> > This is bug 349326. I will try to implement it based on bug 379758 comment 1
> > during this week.
> 
> Do you want to rip out the close phase in the same bug?

No. I prefer not to mix the patches implementing different things.
(In reply to comment #10)
> No. I prefer not to mix the patches implementing different things.

Sounds good -- would you please file that bug and make it block this one? Thanks,

/be
Depends on: 380469
(In reply to comment #11)
> 
> would you please file that bug and make it block this one?

See bug 380469.
Depends on: 381031
(In reply to comment #7)
> Related (I think): can/should we make JS1.8 the default for XUL-loaded JS in
> Gecko 1.9? 
Filed bug 381031.
Depends on: expclo
Priority: -- → P1
Target Milestone: mozilla1.9alpha5 → mozilla1.9alpha6
Depends on: 381372
No longer depends on: 381618
Depends on: 382182
We want to ban indirect eval, except for w.eval where w is a window object. Is there a bug on file already? I'm not sure we can pull this off before Mozilla 2, but it's worth considering.

/be
Depends on: 363891
Depends on: 383674
Depends on: 384232
Depends on: 384642
Depends on: 382981
Depends on: 384758
Depends on: 376957
Depends on: regexpliteralflaw
Depends on: 402386
Depends on: 404734
Depends on: 408957
Depends on: 409252
Depends on: 346749
Depends on: 229756
Depends on: 410571
Depends on: 408871
Depends on: 416628
Depends on: 416636
Depends on: 384991
This bug should be closed soon. A doc-js1.8 bug may still be needed. Opinions?

/be
Target Milestone: mozilla1.9alpha6 → mozilla1.9
Depends on: doc-js1.8
I'll be tackling docs, I've already made some good headway:
http://developer.mozilla.org/en/docs/New_in_JavaScript_1.8

I'll go back through the recently-closed tickets and make sure everything lands in there. The tracking bug for doc-js1.8 is bug 421027.
Waldo, you going to get to bug 416636 soon?

/be
No longer depends on: 229756
Blocks: js1.8src
No longer depends on: 384232
No longer depends on: 346749
No longer depends on: 340987
Depends on: 434013
No longer depends on: 434013
Any updates on this? It would be nice to have a current SpiderMonkey release, with all the performance improvements that are in Fx3.
Dirkjan, for the source release, see bug 428420, which has quite a few blocking bugs, including some ugly crashes (that don't affect Firefox).
No longer blocks: js1.8src
I moved the dependencies from bug 428420 to here.
reverting changes made in comment 21 due to bug 428420 comment 5.
No longer depends on: 349263, 378918, 412296, 419091, 420919, 429864, 430955, 434013, 438986
1.8 is out. This bug should probably be closed and any depends-on bugs moved to a new tracker.

/be
Priority: P1 → P3
I'm going to resolve this -- I think bug 421027 is resolved too, just not yet marked resolved.

/be
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
No longer depends on: regexpliteralflaw
Resolution: --- → FIXED
Depends on: 532652
You need to log in before you can comment on or make changes to this bug.