New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.
Starred by 12 users

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2016
Cc:
HW: All
NextAction: ----
OS: All
Priority: ----
Type: FeatureRequest



Sign in to add a comment
link

Issue 3915: Implement exponentiation operator

Reported by waldron....@gmail.com, Feb 23 2015

Issue description

Proposal: https://github.com/rwaldron/exponentiation-operator
Tracking: https://github.com/tc39/ecma262

Status: 

- Currently accepted at Stage 0
- Available in: 
  - Traceur
  - Babel
 

Comment 1 by caitpott...@gmail.com, Feb 23 2015

Cc: caitpott...@gmail.com
Labels: Type-FeatureRequest
Status: Accepted
I'll take a stab at it this week if nobody else cares to

Comment 2 by caitpott...@gmail.com, Feb 23 2015

Owner: caitpott...@gmail.com
Status: Assigned

Comment 3 by arv@chromium.org, Feb 23 2015

Cc: rossberg@chromium.org arv@chromium.org
Labels: Harmony OS-All HW-All
This is a very small feature with very small foot print. I think it is fine to implement behind a flag.

Comment 4 by rossberg@chromium.org, Feb 24 2015

I don't think time is ripe for implementing this yet. Stage 0 doesn't mean much at all, nor is there anything interesting that can be learnt from doing an early implementation in this case. Let's focus on features that are actually in the spec.

Comment 5 by math...@qiwi.be, Feb 24 2015

The proposal is currently at stage 2.

Comment 7 by math...@qiwi.be, Feb 24 2015

It’s been at stage 2 since the September meeting. https://github.com/tc39/ecma262/commit/9e95ed8d527746d12996837ab37e31fe53984507

Comment 8 by waldron....@gmail.com, Feb 24 2015

Cait, yes: because it was just out of date. Exponentiation Operator was advanced to Stage 2 at the September 2014 meeting: https://github.com/tc39/ecma262/commit/9e95ed8d527746d12996837ab37e31fe53984507

https://github.com/rwaldron/tc39-notes/blob/b26f950b438b18ac3497fd717dfb2370a84f7fb3/es6/2014-09/sept-23.md#58-exponentiation-operator-update

@Andreas rejecting the implementation of a Stage 2-3 proposal defeats the purpose of having an agreed upon multi-stage feature proposal and development process: https://docs.google.com/document/d/1QbEE0BsO4lvl7NFTn5WXWeiEIBfaVUF7Dk0hpPpPDzU/edit

Comment 9 by rossberg@chromium.org, Feb 25 2015

Rick, Matthias, thanks for the update on the status of the proposal. But please see Dmitry's and my reply on the code review:

https://codereview.chromium.org/953563002/#msg9

We don't necessarily reject a feature because it is "only" at stage 2 or 3, but we don't necessarily accept it immediately either. Complexity and potential implications have to be weighed carefully against other priorities. And in this particular case, the balance doesn't seem in favour of moving forward with the implementation just yet.

Comment 10 by waldron....@gmail.com, Jul 29 2015

Just another update, SpiderMonkey has landed this feature https://bugzilla.mozilla.org/show_bug.cgi?id=1135708 and the proposal has been advanced to Stage 3

At this point, two implementations will be required to ensure acceptance into Stage 4, in order to be included as part of ES2016

Comment 11 by waldron....@gmail.com, Jul 29 2015

Here's the latest specification http://rwaldron.github.io/exponentiation-operator/

Comment 12 by m.go...@gmail.com, Feb 17 2016

This is in stage 4 & officially planned for ES2017 now as one of only 2 features (the other one being Array#includes that Chrome already supports).

Comment 13 by ja...@billingham.net, Feb 17 2016

Actually I think it's planned for 2016 (or ES7): https://tc39.github.io/ecma262/#sec-exp-operator

Comment 14 by m.go...@gmail.com, Feb 17 2016

Yes, sorry, that's what I meant but I mixed ES2016 with ES7, creating ES2017. :)

Comment 15 by caitpott...@gmail.com, Feb 17 2016

i have a CL in progress at https://codereview.chromium.org/1678303002/, which passes the current test262 work for the feature. might land soon

Comment 16 by bugdroid1@chromium.org, Mar 18 2016

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/17c92fe6bb62e11a43ef8c77d26410407a9828b5

commit 17c92fe6bb62e11a43ef8c77d26410407a9828b5
Author: caitpotter88 <caitpotter88@gmail.com>
Date: Fri Mar 18 13:53:52 2016

[es7] implement exponentiation operator proposal

Implements Stage 4 proposal from http://rwaldron.github.io/exponentiation-operator/,
without adding any knowledge of the feature to compiler backends.

BUG= v8:3915 
LOG=Y
R=adamk@chromium.org, rossberg@chromium.org, littledan@chromium.org

Review URL: https://codereview.chromium.org/1678303002

Cr-Commit-Position: refs/heads/master@{#34890}

[modify] https://crrev.com/17c92fe6bb62e11a43ef8c77d26410407a9828b5/src/bootstrapper.cc
[modify] https://crrev.com/17c92fe6bb62e11a43ef8c77d26410407a9828b5/src/contexts.h
[modify] https://crrev.com/17c92fe6bb62e11a43ef8c77d26410407a9828b5/src/flag-definitions.h
[modify] https://crrev.com/17c92fe6bb62e11a43ef8c77d26410407a9828b5/src/js/math.js
[modify] https://crrev.com/17c92fe6bb62e11a43ef8c77d26410407a9828b5/src/parsing/parser-base.h
[modify] https://crrev.com/17c92fe6bb62e11a43ef8c77d26410407a9828b5/src/parsing/parser.cc
[modify] https://crrev.com/17c92fe6bb62e11a43ef8c77d26410407a9828b5/src/parsing/parser.h
[modify] https://crrev.com/17c92fe6bb62e11a43ef8c77d26410407a9828b5/src/parsing/preparser.h
[modify] https://crrev.com/17c92fe6bb62e11a43ef8c77d26410407a9828b5/src/parsing/scanner.cc
[modify] https://crrev.com/17c92fe6bb62e11a43ef8c77d26410407a9828b5/src/parsing/scanner.h
[modify] https://crrev.com/17c92fe6bb62e11a43ef8c77d26410407a9828b5/src/parsing/token.h
[modify] https://crrev.com/17c92fe6bb62e11a43ef8c77d26410407a9828b5/test/cctest/test-parsing.cc
[add] https://crrev.com/17c92fe6bb62e11a43ef8c77d26410407a9828b5/test/mjsunit/harmony/exponentiation-operator.js

Comment 17 by bugdroid1@chromium.org, Mar 21 2016

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/4720062073c3b46c4c9f806bfc69d58dfc2849cf

commit 4720062073c3b46c4c9f806bfc69d58dfc2849cf
Author: caitpotter88 <caitpotter88@gmail.com>
Date: Mon Mar 21 23:09:54 2016

[es7] stage --harmony_exponentiation_operator

BUG= v8:3915 
LOG=N
R=adamk@chromium.org, littledan@chromium.org, rossberg@chromium.org

Review URL: https://codereview.chromium.org/1823683004

Cr-Commit-Position: refs/heads/master@{#34969}

[modify] https://crrev.com/4720062073c3b46c4c9f806bfc69d58dfc2849cf/src/flag-definitions.h

Comment 18 by bugdroid1@chromium.org, Apr 18 2016

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/1913de8047df90d9adf2697c6c70478f353a8f71

commit 1913de8047df90d9adf2697c6c70478f353a8f71
Author: caitpotter88 <caitpotter88@gmail.com>
Date: Mon Apr 18 17:55:25 2016

[es7] ship --harmony-exponentiation-operator

Change --harmony-exponentiation-operator to be enabled by default.

Intent-to-Ship: https://groups.google.com/forum/#!topic/v8-users/W6rKEsdQHXE

BUG= v8:3915 
LOG=N
R=adamk@chromium.org, rossberg@chromium.org

Review URL: https://codereview.chromium.org/1895113003

Cr-Commit-Position: refs/heads/master@{#35593}

[modify] https://crrev.com/1913de8047df90d9adf2697c6c70478f353a8f71/src/flag-definitions.h

Comment 19 by hablich@chromium.org, Apr 28 2016

Status: Fixed (was: Assigned)
I don't think there is anything else missing, right?

Sign in to add a comment