mozilla / rhino

Rhino is an open-source implementation of JavaScript written entirely in Java
https://rhino.github.io
Other
4.17k stars 846 forks source link

Determine whether fix for exceeding 64K limit from 1.8 branch can be merged back to master #286

Open p3k opened 8 years ago

p3k commented 8 years ago

With the rhino_1_8 branch I get the following output when trying to reverse two values in an array:

js> l = [1, 2, 3]
1,2,3
js> [a, b] = l
1,2,3
js> print(a, b)
1 2
js> [b, a] = [a, b]
1,2
js> print(a, b)
1 1 // expected: 2 1

The expected output is returned when I run the same lines in a browser console.

gbrail commented 8 years ago

Thanks. This test case works in the code in the master branch as well as 1.7.6 (and probably other versions as well).

The rhino_1_8 branch contains a bunch of work that Hannes was doing before he stopped working on Rhino and now he works on the Nashorn project at Oracle.

I'm not exactly sure what the status of this branch is or what parts we'd want in the main code base.

On Sat, Sep 24, 2016 at 5:54 PM, Tobi Schäfer notifications@github.com wrote:

With the rhino_1_8 branch I get the following output when trying to reverse two values in an array:

js> l = [1, 2, 3] 1,2,3 js> [a, b] = l 1,2,3 js> print(a, b) 1 2 js> [b, a] = [a, b] 1,2 js> print(a, b) 1 1 // expected: 2 1

The expected output is returned when I run the same lines in a browser console.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/mozilla/rhino/issues/286, or mute the thread https://github.com/notifications/unsubscribe-auth/AAf0a82_0WNiuo13t2I_dhpPTTCe9SMZks5qtVW8gaJpZM4KFsEA .

Greg Brail | apigee https://apigee.com/ | twitter @gbrail http://twitter.com/gbrail @apigee https://twitter.com/apigee

p3k commented 8 years ago

Thanks for the reply, Greg. I am using the rhino_1_8 branch because it solves the issue where the compiler would choke on longer JS methods: generated bytecode for method exceeds 64K limit

Could this be something you would want in the main code base?

gbrail commented 8 years ago

That would be a great change to have in the code base. I'm not sure how much of the code generation part that got rewritten as part of the branch. If you have the time and energy to figure it out, it'd be a great addition to Rhino.

I've been focused on a lot of other things recently but I will remain available to test and merge stuff. I also hope to get back to some of the ES6 features from time to time.

On Tue, Sep 27, 2016 at 6:54 PM, Tobi Schäfer notifications@github.com wrote:

Thanks for the reply, Greg. I am using the rhino_1_8 branch because it solves the issue where the compiler would choke on longer JS methods: generated bytecode for method exceeds 64K limit https://groups.google.com/d/msg/mozilla-rhino/N_O4Got4ED8/gqMnItFFzL8J

Could this be something you would want in the main code base?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/mozilla/rhino/issues/286#issuecomment-249944417, or mute the thread https://github.com/notifications/unsubscribe-auth/AAf0a1dM5nO8TTyQy8f1L0pKEAzP7bDVks5quVhcgaJpZM4KFsEA .

Greg Brail | apigee https://apigee.com/ | twitter @gbrail http://twitter.com/gbrail @apigee https://twitter.com/apigee

p3k commented 8 years ago

@gbrail Besides little remaining time and energy for this task I got only very limited knowledge of Java. Nevertheless, I am going to take a look at the diff of the two branches and see what I can do.