RESOLVED FIXED 170872
test262: test262/test/language/global-code/new.target-arrow.js
https://bugs.webkit.org/show_bug.cgi?id=170872
Summary test262: test262/test/language/global-code/new.target-arrow.js
Joseph Pecoraro
Reported 2017-04-14 21:12:23 PDT
Test: test262/test/language/global-code/new.target-arrow.js Reduction: js> () => { new.target } => should throw a Syntax Error Spec: Scripts - 15.1.1 Static Semantics: Early Errors https://tc39.github.io/ecma262/#sec-scripts-static-semantics-early-errors > It is a Syntax Error if StatementList Contains NewTarget unless the source code > containing NewTarget is eval code that is being processed by a direct eval. > Additional early error rules for NewTarget in direct eval are defined in 18.2.1.1. Modules - 15.2.1.1 Static Semantics: Early Errors https://tc39.github.io/ecma262/#sec-module-semantics-static-semantics-early-errors > It is a Syntax Error if ModuleItemList Contains NewTarget. Arrow Functions - 14.2.3 Static Semantics: Contains https://tc39.github.io/ecma262/#sec-arrow-function-definitions-static-semantics-contains > With parameter symbol. > > ArrowFunction : ArrowParameters = ConciseBody > > 1. If symbol is not one of NewTarget, SuperProperty, SuperCall, super or this, return false. > 2. If ArrowParameters Contains symbol is true, return true. > 3. Return ConciseBody Contains symbol. Notes • Chrome and Firefox throw a Syntax Error
Attachments
[PATCH] Proposed Fix (7.72 KB, patch)
2017-04-14 21:15 PDT, Joseph Pecoraro
buildbot: commit-queue-
[PATCH] Proposed Fix (13.82 KB, patch)
2017-04-15 12:26 PDT, Joseph Pecoraro
no flags
Archive of layout-test-results from ews123 for ios-simulator-wk2 (11.49 MB, application/zip)
2017-04-15 14:18 PDT, Build Bot
no flags
Joseph Pecoraro
Comment 1 2017-04-14 21:15:00 PDT
Created attachment 307182 [details] [PATCH] Proposed Fix
Build Bot
Comment 2 2017-04-14 21:54:54 PDT
Comment on attachment 307182 [details] [PATCH] Proposed Fix Attachment 307182 [details] did not pass jsc-ews (mac): Output: http://webkit-queues.webkit.org/results/3537869 New failing tests: stress/arrowfunction-lexical-bind-newtarget.js.no-cjit-validate-phases stress/arrowfunction-lexical-bind-newtarget.js.no-ftl stress/arrowfunction-lexical-bind-newtarget.js.dfg-maximal-flush-validate-no-cjit stress/arrowfunction-lexical-bind-newtarget.js.ftl-no-cjit-no-inline-validate stress/arrowfunction-lexical-bind-newtarget.js.dfg-eager stress/async-arrow-functions-lexical-new.target-binding.js.ftl-no-cjit-b3o1 stress/async-arrow-functions-lexical-new.target-binding.js.ftl-no-cjit-no-put-stack-validate stress/arrowfunction-lexical-bind-newtarget.js.ftl-no-cjit-small-pool stress/arrowfunction-lexical-bind-newtarget.js.ftl-eager stress/async-arrow-functions-lexical-new.target-binding.js.default stress/async-arrow-functions-lexical-new.target-binding.js.ftl-no-cjit-no-inline-validate stress/async-arrow-functions-lexical-new.target-binding.js.dfg-eager-no-cjit-validate stress/arrowfunction-lexical-bind-newtarget.js.ftl-no-cjit-no-put-stack-validate stress/async-arrow-functions-lexical-new.target-binding.js.no-ftl stress/arrowfunction-lexical-bind-newtarget.js.no-llint stress/async-arrow-functions-lexical-new.target-binding.js.ftl-eager-no-cjit-b3o1 stress/arrowfunction-lexical-bind-newtarget.js.ftl-eager-no-cjit stress/async-arrow-functions-lexical-new.target-binding.js.no-cjit-validate-phases stress/async-arrow-functions-lexical-new.target-binding.js.dfg-eager stress/arrowfunction-lexical-bind-newtarget.js.ftl-eager-no-cjit-b3o1 stress/async-arrow-functions-lexical-new.target-binding.js.ftl-no-cjit-validate-sampling-profiler stress/async-arrow-functions-lexical-new.target-binding.js.dfg-maximal-flush-validate-no-cjit stress/async-arrow-functions-lexical-new.target-binding.js.ftl-no-cjit-small-pool stress/arrowfunction-lexical-bind-newtarget.js.no-cjit-collect-continuously stress/arrowfunction-lexical-bind-newtarget.js.dfg-eager-no-cjit-validate stress/arrowfunction-lexical-bind-newtarget.js.ftl-no-cjit-b3o1 stress/async-arrow-functions-lexical-new.target-binding.js.ftl-eager stress/async-arrow-functions-lexical-new.target-binding.js.ftl-eager-no-cjit ChakraCore.yaml/ChakraCore/test/es6/globalLambdaNewTargetSyntaxError.js.default stress/async-arrow-functions-lexical-new.target-binding.js.no-llint stress/arrowfunction-lexical-bind-newtarget.js.default stress/async-arrow-functions-lexical-new.target-binding.js.no-cjit-collect-continuously stress/arrowfunction-lexical-bind-newtarget.js.ftl-no-cjit-validate-sampling-profiler
Joseph Pecoraro
Comment 3 2017-04-15 12:26:15 PDT
Created attachment 307202 [details] [PATCH] Proposed Fix • Rebaselined now passing ChakaCore test • Corrected stress tests + expanded our coverage in stress for this • Corrected the patch for eval cases inside of functions
Saam Barati
Comment 4 2017-04-15 12:58:20 PDT
Comment on attachment 307202 [details] [PATCH] Proposed Fix Can you add a module test?
Saam Barati
Comment 5 2017-04-15 12:58:39 PDT
r=me
Build Bot
Comment 6 2017-04-15 14:18:46 PDT
Comment on attachment 307202 [details] [PATCH] Proposed Fix Attachment 307202 [details] did not pass ios-sim-ews (ios-simulator-wk2): Output: http://webkit-queues.webkit.org/results/3541708 New failing tests: webrtc/captureCanvas-webrtc.html
Build Bot
Comment 7 2017-04-15 14:18:47 PDT
Created attachment 307203 [details] Archive of layout-test-results from ews123 for ios-simulator-wk2 The attached test failures were seen while running run-webkit-tests on the ios-sim-ews. Bot: ews123 Port: ios-simulator-wk2 Platform: Mac OS X 10.11.6
WebKit Commit Bot
Comment 8 2017-04-15 15:44:06 PDT
Comment on attachment 307202 [details] [PATCH] Proposed Fix Clearing flags on attachment: 307202 Committed r215395: <http://trac.webkit.org/changeset/215395>
WebKit Commit Bot
Comment 9 2017-04-15 15:44:07 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.