RFR: 8164467: ES6 computed properties are implemented wrongly
Marcus Lagergren
marcus at lagergren.net
Sun Sep 25 12:50:58 UTC 2016
+1
> On 23 Sep 2016, at 16:24, Hannes Wallnöfer <hannes.wallnoefer at oracle.com> wrote:
>
> Thanks Sundar!
>
> Anybody up for a second review? It’s not that big a patch ;)
>
> Hannes
>
>> Am 23.09.2016 um 06:25 schrieb Sundararajan Athijegannathan <sundararajan.athijegannathan at oracle.com>:
>>
>> +1, Nice!
>>
>> -Sundar
>>
>>
>> On 9/22/2016 9:06 PM, Hannes Wallnöfer wrote:
>>> Please review 8164467: ES6 computed properties are implemented wrongly.
>>>
>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8164467
>>> Webrev: http://cr.openjdk.java.net/~hannesw/8164467/webrev.00/
>>>
>>> This makes our support of ES6 computed property names fully spec compliant with one little exception: object literals with mixed computed and static property names should preserve iteration order of properties. Since we create a static property map of static properties and then add computed properties to those maps at runtime, computed properties are always at the end of iteration. I don’t know how to fix this, but I don’t consider it a big problem.
>>>
>>> Other than that, the tests included in this patch pretty much mirror the tests in test262, minus the ones that require features we don’t yet support.
>>>
>>> Although this changes the code for object literals in CodeGenerator a bit, ES5 code should not be affected, i.e. the code generated in absence of computed properties should be exactly the same as before. Same in Parser: I had to rewrite the code for reparsing ES6 methods a bit to handle methods with computed property names, but that should only affect that special case.
>>>
>>> Thanks,
>>> Hannes
>>
>
More information about the nashorn-dev
mailing list