Bug 140918 - Implement ES6 class syntax without inheritance support
Summary: Implement ES6 class syntax without inheritance support
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Ryosuke Niwa
URL:
Keywords:
Depends on:
Blocks: 140491
  Show dependency treegraph
 
Reported: 2015-01-26 19:10 PST by Ryosuke Niwa
Modified: 2015-01-29 16:37 PST (History)
10 users (show)

See Also:


Attachments
Implements the feature (40.48 KB, patch)
2015-01-26 20:40 PST, Ryosuke Niwa
no flags Details | Formatted Diff | Diff
Archive of layout-test-results from ews101 for mac-mavericks (627.80 KB, application/zip)
2015-01-26 21:03 PST, Build Bot
no flags Details
Archive of layout-test-results from ews107 for mac-mavericks-wk2 (811.96 KB, application/zip)
2015-01-26 21:14 PST, Build Bot
no flags Details
Fixed the tests (39.44 KB, patch)
2015-01-26 21:53 PST, Ryosuke Niwa
no flags Details | Formatted Diff | Diff
Archive of layout-test-results from ews103 for mac-mavericks (243.27 KB, application/zip)
2015-01-26 22:06 PST, Build Bot
no flags Details
Second attempt to fix tests (40.54 KB, patch)
2015-01-26 22:07 PST, Ryosuke Niwa
no flags Details | Formatted Diff | Diff
Don't leak identifiers (39.46 KB, patch)
2015-01-27 16:58 PST, Ryosuke Niwa
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Ryosuke Niwa 2015-01-26 19:10:29 PST
Let us first implement the ES6 class syntax without "extends" or "super" support.
Comment 1 Ryosuke Niwa 2015-01-26 20:40:56 PST
Created attachment 245406 [details]
Implements the feature
Comment 2 Build Bot 2015-01-26 21:03:32 PST
Comment on attachment 245406 [details]
Implements the feature

Attachment 245406 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/5323382946004992

New failing tests:
webgl/1.0.2/conformance/glsl/functions/glsl-function-reflect.html
webgl/1.0.2/conformance/glsl/functions/glsl-function-normalize.html
webgl/1.0.2/conformance/glsl/functions/glsl-function-faceforward.html
js/dom/JSON-stringify.html
Comment 3 Build Bot 2015-01-26 21:03:37 PST
Created attachment 245410 [details]
Archive of layout-test-results from ews101 for mac-mavericks

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews101  Port: mac-mavericks  Platform: Mac OS X 10.9.5
Comment 4 Build Bot 2015-01-26 21:14:35 PST
Comment on attachment 245406 [details]
Implements the feature

Attachment 245406 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/5048201170124800

New failing tests:
webgl/1.0.2/conformance/glsl/functions/glsl-function-reflect.html
webgl/1.0.2/conformance/glsl/functions/glsl-function-normalize.html
webgl/1.0.2/conformance/glsl/functions/glsl-function-faceforward.html
js/dom/JSON-stringify.html
Comment 5 Build Bot 2015-01-26 21:14:38 PST
Created attachment 245413 [details]
Archive of layout-test-results from ews107 for mac-mavericks-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews107  Port: mac-mavericks-wk2  Platform: Mac OS X 10.9.5
Comment 6 Ryosuke Niwa 2015-01-26 21:53:02 PST
Created attachment 245417 [details]
Fixed the tests
Comment 7 Build Bot 2015-01-26 22:06:50 PST
Comment on attachment 245417 [details]
Fixed the tests

Attachment 245417 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/5798757442519040

Number of test failures exceeded the failure limit.
Comment 8 Build Bot 2015-01-26 22:06:53 PST
Created attachment 245421 [details]
Archive of layout-test-results from ews103 for mac-mavericks

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews103  Port: mac-mavericks  Platform: Mac OS X 10.9.5
Comment 9 Ryosuke Niwa 2015-01-26 22:07:04 PST
Created attachment 245422 [details]
Second attempt to fix tests
Comment 10 Geoffrey Garen 2015-01-27 15:02:08 PST
Comment on attachment 245422 [details]
Second attempt to fix tests

View in context: https://bugs.webkit.org/attachment.cgi?id=245422&action=review

Looks mostly OK.

> Source/JavaScriptCore/parser/Nodes.h:1625
> +        Identifier m_name;

This is a memory leak.

In the parser, we (usually) don't run destructors. You should arrange to use Identifier& instead, like other AST nodes.

It would be nice if you could add a has_trivial_destructor ASSERT somewhere to catch this kind of thing in the future.
Comment 11 Ryosuke Niwa 2015-01-27 16:58:52 PST
Created attachment 245495 [details]
Don't leak identifiers
Comment 12 Geoffrey Garen 2015-01-29 12:51:50 PST
Comment on attachment 245495 [details]
Don't leak identifiers

r=me
Comment 13 WebKit Commit Bot 2015-01-29 14:59:18 PST
Comment on attachment 245495 [details]
Don't leak identifiers

Clearing flags on attachment: 245495

Committed r179371: <http://trac.webkit.org/changeset/179371>
Comment 14 WebKit Commit Bot 2015-01-29 14:59:25 PST
All reviewed patches have been landed.  Closing bug.
Comment 15 Csaba Osztrogonác 2015-01-29 15:53:40 PST
(In reply to comment #13)
> Comment on attachment 245495 [details]
> Don't leak identifiers
> 
> Clearing flags on attachment: 245495
> 
> Committed r179371: <http://trac.webkit.org/changeset/179371>

The tests fail on the bots, please skip them for jsc-stress-tests too.
Comment 16 Ryosuke Niwa 2015-01-29 16:37:18 PST
(In reply to comment #15)
> (In reply to comment #13)
> > Comment on attachment 245495 [details]
> > Don't leak identifiers
> > 
> > Clearing flags on attachment: 245495
> > 
> > Committed r179371: <http://trac.webkit.org/changeset/179371>
> 
> The tests fail on the bots, please skip them for jsc-stress-tests too.

Oops, sorry about that. Skipped them in https://trac.webkit.org/r179379