Closed
Bug 336373
(js1.7)
Opened 19 years ago
Closed 18 years ago
JS1.7 tracking bug
Categories
(Core :: JavaScript Engine, defect, P1)
Core
JavaScript Engine
Tracking
()
RESOLVED
FIXED
mozilla1.8.1
People
(Reporter: brendan, Assigned: brendan)
References
Details
(Keywords: fixed1.8.1)
Attachments
(6 files, 3 obsolete files)
(deleted),
patch
|
mrbkap
:
review+
|
Details | Diff | Splinter Review |
(deleted),
patch
|
mrbkap
:
review+
shaver
:
superreview+
|
Details | Diff | Splinter Review |
(deleted),
patch
|
Details | Diff | Splinter Review | |
(deleted),
patch
|
mrbkap
:
review+
|
Details | Diff | Splinter Review |
(deleted),
application/x-bzip
|
Details | |
(deleted),
patch
|
mrbkap
:
review+
|
Details | Diff | Splinter Review |
JS1.7 for Gecko 1.8.1 / Firefox 2 consists of JS1.6 plus:
- iterators, generators, array comprehensions (bug 326466)
- removal of reserved identifiers in property identifiers (to be filed)
- let bindings, blocks, and expressions (to be filed)
- generalized destructuring assignment (to be filed)
Much of the infrastructure for blocks is already done for array comprehensions. Full Python 2.5 generator support requires unreserving identifiers in property identifier contexts (after . and .. and in object initialisers).
/be
Assignee | ||
Updated•19 years ago
|
Status: NEW → ASSIGNED
Priority: -- → P1
Assignee | ||
Updated•19 years ago
|
Alias: js1.7
Assignee | ||
Comment 1•19 years ago
|
||
I've created a JS_1_7_ALPHA_BRANCH to share work tracked by this bug, and landed the latest patch for bug 326466 there.
/be
Assignee | ||
Comment 2•19 years ago
|
||
JS_1_7_ALPHA_BRANCH has Pythonic iteration and generators (not yet Python 2.5 like ones), and unreserved identifiers in property name positions. Destructuring next, blocks (let statements and expressions) next. If you want to help test, just update your trunk tree to the tip, then cvs up -rJS_1_7_ALPHA_BRANCH js/src and you should be able to build and run.
/be
Comment 3•19 years ago
|
||
I get a link error when I try to build the debug shell:
js.obj : error LNK2019: unresolved external symbol _js_ValueToString referenced
in function _DumpScope
Replacing js_ValueToString with JS_ValueToString in the #define js_ValueToPrintableString(cx,v) line in jsstr.h seems to work.
Assignee | ||
Comment 4•19 years ago
|
||
(In reply to comment #3)
> I get a link error when I try to build the debug shell:
>
> js.obj : error LNK2019: unresolved external symbol _js_ValueToString referenced
> in function _DumpScope
>
> Replacing js_ValueToString with JS_ValueToString in the #define
> js_ValueToPrintableString(cx,v) line in jsstr.h seems to work.
Odd: the JS_FRIEND_API should have done the trick. Oh, but it looks like the #define js_ValueToPrintableString in jsstr.h was not seen when you compiled js.c last time -- so this is a case of missing Makefile.ref dependencies.
Can you verify by cleaning and recompiling?
/be
>
Comment 5•19 years ago
|
||
I tried both make clean and deleting the object directory, it didn't make a difference, I still get the same linking error. But marking js_ValueToString as a JS_FRIEND_API works.
Assignee | ||
Comment 6•19 years ago
|
||
Sorry, fixed now on the JS_1_7_ALPHA_BRANCH:
/cvsroot/mozilla/js/src/jsstr.c,v <-- jsstr.c
new revision: 3.128.2.2; previous revision: 3.128.2.1
done
Checking in jsstr.h;
/cvsroot/mozilla/js/src/jsstr.h,v <-- jsstr.h
new revision: 3.30.4.2; previous revision: 3.30.4.1
done
Anyone who wants to fix bug 97954, please do. This would unify standalone and in-Gecko-apps build systems, and give us dependencies in the bargain.
/be
Assignee | ||
Comment 7•19 years ago
|
||
Fixed a bug pointed out by mrbkap:
$ cvs ci -m"JSCLASS_IS_ANONYMOUS depends on global object's class being flagged." jsapi.c
Checking in jsapi.c;
/cvsroot/mozilla/js/src/jsapi.c,v <-- jsapi.c
new revision: 3.263.2.3; previous revision: 3.263.2.2
done
/be
Comment 8•19 years ago
|
||
Have these new features been tested with WAY_TOO_MUCH_GC? If there are tests in the test suite for all of them, I could try running it at some point soon, or somebody else could.
Comment 9•18 years ago
|
||
Could we add bug 340987 and 307795 to this?
Comment 10•18 years ago
|
||
(In reply to comment #9)
> Could we add bug 340987 and 307795 to this?
Given that JS1.7 is going to be in Gecko 1.8, I don't think that there's time to implement these features. Brendan's on vacation, leaving me (with some help) to merge in the JS1.7 changes to the branch, and finish the remaining features. At this point, I'm not even sure that drivers would accept the additional features.
Assignee | ||
Comment 11•18 years ago
|
||
Attachment #228172 -
Flags: review?(mrbkap)
Assignee | ||
Comment 12•18 years ago
|
||
Fix function-def vs. -stmt opcode selection. This should be more ready to pass the js testsuite!
/be
Attachment #228205 -
Flags: review?(mrbkap)
Assignee | ||
Comment 13•18 years ago
|
||
With late-breaking leak fix from mrbkap and me to regression from patch for bug 331456 (see bug 331456 comment 17).
/be
Attachment #228212 -
Flags: review?(mrbkap)
Assignee | ||
Comment 14•18 years ago
|
||
Attachment #228172 -
Attachment is obsolete: true
Attachment #228205 -
Attachment is obsolete: true
Attachment #228212 -
Attachment is obsolete: true
Attachment #228239 -
Flags: review?(mrbkap)
Attachment #228172 -
Flags: review?(mrbkap)
Attachment #228205 -
Flags: review?(mrbkap)
Attachment #228212 -
Flags: review?(mrbkap)
Comment 15•18 years ago
|
||
Comment on attachment 228239 [details] [diff] [review]
roll-up patch, v4
Looks good...
Attachment #228239 -
Flags: review?(mrbkap) → review+
Assignee | ||
Comment 16•18 years ago
|
||
Comment on attachment 228239 [details] [diff] [review]
roll-up patch, v4
Landed on the trunk, which now matches the JS_1_7_ALPHA_BRANCH. I hope to avoid using that branch ever again, and just update trunk and MOZILLA_1_8_BRANCH.
/be
Updated•18 years ago
|
Flags: blocking1.8.1+
Target Milestone: mozilla1.8.1alpha1 → mozilla1.8.1beta1
Assignee | ||
Comment 17•18 years ago
|
||
Attachment #228312 -
Flags: superreview?(shaver)
Attachment #228312 -
Flags: review?(mrbkap)
Comment on attachment 228312 [details] [diff] [review]
MOZILLA_1_8_BRANCH API compatibility
sr=shaver, thanks!
Attachment #228312 -
Flags: superreview?(shaver) → superreview+
Updated•18 years ago
|
Attachment #228312 -
Flags: review?(mrbkap) → review+
Assignee | ||
Comment 19•18 years ago
|
||
Comment on attachment 228312 [details] [diff] [review]
MOZILLA_1_8_BRANCH API compatibility
Checked into the trunk.
Now to gather a bunch of cvs up -j commands via bonsai....
/be
Assignee | ||
Comment 20•18 years ago
|
||
This is needed because bz already kept API compat in his patch for bug 337095, which gavin landed on the 1.8 branch on 6/15.
I'm checking it into the trunk with rs=me; diffing trunk and 1.8 branch after the checkin shows the goodness.
/be
Assignee | ||
Comment 21•18 years ago
|
||
And to assert in jsparse.c and remove a uses TCF_FUN_USES_NONLOCALS test (note well, shaver!).
/be
Attachment #228380 -
Flags: superreview?(shaver)
Attachment #228380 -
Flags: review?(mrbkap)
Updated•18 years ago
|
Attachment #228380 -
Flags: review?(mrbkap) → review+
Comment 22•18 years ago
|
||
This is the patch that I just checked in (bzip'd, it was too big to attach normally).
Comment 23•18 years ago
|
||
Comment on attachment 228383 [details]
Final patch (checked in, bzipped)
(the title was wrong, gzip wasn't good enough)
Attachment #228383 -
Attachment description: Final patch (checked in, gzipped) → Final patch (checked in, bzipped)
Assignee | ||
Comment 24•18 years ago
|
||
(In reply to comment #22)
> Created an attachment (id=228383) [edit]
> Final patch (checked in, gzipped)
>
> This is the patch that I just checked in (bzip'd, it was too big to attach
> normally).
That was checked into the MOZILLA_1_8_BRANCH.
This bug stays open to track followup items and known unfinished work.
/be
Comment 25•18 years ago
|
||
Fixed.
Status: ASSIGNED → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
Assignee | ||
Updated•18 years ago
|
Status: REOPENED → ASSIGNED
Assignee | ||
Comment 27•18 years ago
|
||
This bug deoptimizes string method calls, requiring conversion ToObject (wrapping primitive string in String object). It's sufficient, even though the trunk uses orthogonal bits for the JSFUN_THISP_{STRING,NUMBER,BOOLEAN} flags, to treat the union JSFUN_THISP_PRIMITIVE as a special case, and not try to find more bits for the 1.8 branch (there aren't any).
/be
Attachment #228394 -
Flags: superreview?(shaver)
Attachment #228394 -
Flags: review?(mrbkap)
Updated•18 years ago
|
Attachment #228394 -
Flags: review?(mrbkap) → review+
Assignee | ||
Comment 28•18 years ago
|
||
Comment on attachment 228394 [details] [diff] [review]
followup patch to fix another bit-magic botch (again in the MOZILLA_1_8_BRANCH compat fork)
Checked in on the trunk and 1.8 branch, to keep the src in sync and fix the branch.
/be
Comment 29•18 years ago
|
||
Should this be FIXED and marked fixed1.8.1? Any reason we're leaving it open?
Assignee | ||
Comment 30•18 years ago
|
||
(In reply to comment #29)
> Should this be FIXED and marked fixed1.8.1? Any reason we're leaving it open?
See comment 24 and the unfixed dependencies. Patches coming, don't fret! :-)
/be
Updated•18 years ago
|
Target Milestone: mozilla1.8.1beta1 → mozilla1.8.1
Comment 31•18 years ago
|
||
Be - should we remove the 181 blocking flag or kill the dep bugs and mark this as Fixed?
Assignee | ||
Comment 32•18 years ago
|
||
If you can stand it for a little while longer, leave the dependencies. This will be marked fixed1.8.1 and closed later today, especially if mrbkap surfaces.
/be
Comment 33•18 years ago
|
||
Ok. I'll try and keep my "must close all bugs" fixation in check for a little while longer :-).
Assignee | ||
Comment 34•18 years ago
|
||
All but done. I'll double-check the dependency tree in a minute.
/be
Status: ASSIGNED → RESOLVED
Closed: 18 years ago → 18 years ago
Keywords: fixed1.8.1
Resolution: --- → FIXED
Updated•18 years ago
|
Flags: in-testsuite-
Attachment #228380 -
Flags: superreview?(shaver)
Attachment #228394 -
Flags: superreview?(shaver)
You need to log in
before you can comment on or make changes to this bug.
Description
•