Port 6ac4de87a8
Original commit message:
Per TC39 Nov 2014 decision.
This patch also changes behavior for "legacy const": assignments to sloppy const in strict mode is now also a type error. This fixes v8:2243 and also brings us in compliance with other engines re assignment to function names (see updated webkit test), but might have bigger implications.
That change can easily be reverted by changing Variable::IsSignallingAssignmentToConst.
BUG=v8:3713,v8:2243
LOG=N
Review URL: https://codereview.chromium.org/766703002
Cr-Commit-Position: refs/heads/master@{#25541}
Still requires changes to gyp files to select the built-in clang as
compiler and make clang the default on the platforms we want it.
BUG=
R=dcarney@chromium.org,machenbach@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/745963005
Cr-Commit-Position: refs/heads/master@{#25538}
port 6ac4de87a8
original commit message:
harmony-scoping: make assignment to 'const' a late error.
Per TC39 Nov 2014 decision. This patch also changes behavior for "legacy const":
assignments to sloppy const in strict mode is now also a type error. This fixes
v8:2243 and also brings us in compliance with other engines re assignment to function
names (see updated webkit test), but might have bigger implications. That change can
easily be reverted by changing Variable::IsSignallingAssignmentToConst.
BUG=
R=dslomov@chromium.org, weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/763033002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
Cr-Commit-Position: refs/heads/master@{#25532}
The %OptimizeFunctionOnNextCall sledgehammer can cause a function to be
marked for optimization before it's ever been compiled by fullcode.
This can lead to the situation where a function doesn't have optimization
disabled until we try to compile it optimized.
Basically, the assert should just handle this case more gracefully.
R=yangguo@chromium.org
BUG=436893
LOG=Y
Review URL: https://codereview.chromium.org/760063002
Cr-Commit-Position: refs/heads/master@{#25528}
Per TC39 Nov 2014 decision.
This patch also changes behavior for "legacy const": assignments to sloppy const in strict mode is now also a type error. This fixes v8:2243 and also brings us in compliance with other engines re assignment to function names (see updated webkit test), but might have bigger implications.
That change can easily be reverted by changing Variable::IsSignallingAssignmentToConst.
BUG=v8:3713,v8:2243
LOG=N
Review URL: https://codereview.chromium.org/749633002
Cr-Commit-Position: refs/heads/master@{#25516}
Running this in x64.release mode on a powerful HP620 takes 4 seconds,
this is at least 2 orders of magnitude too slow and leads to tons of
false positives on our build bots due to timeouts. As it is, the
cost-benefit ratio is far too low.
The whole approach needs to be changed: Instead of trying to exhaust
some search space in unit tests, this should be turned into a fuzzing
test where only a small but random number of things are tested. The
exhaustive approach can be done separately, but definitely not in the
unit tests.
BUG=v8:3707
Review URL: https://codereview.chromium.org/762743002
Cr-Commit-Position: refs/heads/master@{#25510}
Non-numeric static local variables are not thread-safe, and the case
at hand was a premature optimization anyway: The generated code for
the check in question is exactly the same when unfolded.
BUG=chromium:420483
Review URL: https://codereview.chromium.org/756903003
Cr-Commit-Position: refs/heads/master@{#25502}
Follow-up to 87db4ff1f4, which added
suppressions to unittests.status and a special case for Android to the
ThreadLocalStorageTest, both of which are unneccessary and should be
handled differently for the GTest based unittests.
BUG=v8:3706
LOG=n
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/757913002
Cr-Commit-Position: refs/heads/master@{#25495}