Hannes Payer [Wed, 29 Jul 2015 09:56:21 +0000 (11:56 +0200)]
Pretenuring decision of outermost literal is propagated to inner literals.
Literals should stay together to simplify allocation folding. This CL takes the pretenuring information from the outermost literal and applies it to the inner liberals.
BUG=chromium:514721
LOG=n
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
1263773002 .
Cr-Commit-Position: refs/heads/master@{#29903}
v8-autoroll [Wed, 29 Jul 2015 08:13:05 +0000 (01:13 -0700)]
Update V8 DEPS.
Rolling v8/buildtools to
f0b8022601cf9c3c1a2f7efcea48e2fe81d3b143
TBR=machenbach@chromium.org
NOTREECHECKS=true
Review URL: https://codereview.chromium.org/
1262733002
Cr-Commit-Position: refs/heads/master@{#29902}
mbrandy [Wed, 29 Jul 2015 08:11:57 +0000 (01:11 -0700)]
Add per-file OWNERS for PPC-specific cctests
BUG=
R=jkummerow@chromium.org
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
1259013002
Cr-Commit-Position: refs/heads/master@{#29901}
machenbach [Wed, 29 Jul 2015 07:40:50 +0000 (00:40 -0700)]
[test] Fix for keying variants.
BUG=chromium:511215
NOTREECHECKS=true
NOTRY=true
LOG=n
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
1262113002
Cr-Commit-Position: refs/heads/master@{#29900}
machenbach [Wed, 29 Jul 2015 07:14:15 +0000 (00:14 -0700)]
[test] Key variant flags by variant name everywhere.
This allows variants to be named on test failures (follow
up) and then to be used in the test runner for a repro.
This also speeds up variant iteration for test262 and fixes
a bug with variants for benchmarks.
BUG=chromium:511215
NOTREECHECKS=true
LOG=n
Review URL: https://codereview.chromium.org/
1245623005
Cr-Commit-Position: refs/heads/master@{#29899}
jkummerow [Tue, 28 Jul 2015 15:41:20 +0000 (08:41 -0700)]
Fix prototype registration upon SlowToFast migration
When a prototype object migrates from a slow to a fast map, where the slow map
was registered as a user of its own prototype, then the registration must be
transferred to the new map (just like MigrateToMap does for all other cases).
BUG=chromium:513602
LOG=y
NOTREECHECKS=true
Review URL: https://codereview.chromium.org/
1263543004
Cr-Commit-Position: refs/heads/master@{#29898}
nodir [Tue, 28 Jul 2015 15:08:05 +0000 (08:08 -0700)]
Moved project configs to infra/config branch
luci-config has been switched to read from
https://chromium.googlesource.com/v8/v8/+/infra/config
R=machenbach@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=513460
Review URL: https://codereview.chromium.org/
1258763004
Cr-Commit-Position: refs/heads/master@{#29897}
mvstanton [Tue, 28 Jul 2015 14:02:49 +0000 (07:02 -0700)]
Bugfix: Incorrect type feedback vector structure on recompile.
Scoping rules are different on recompile vis-a-vis global loads.
BUG=chromium:514526
LOG=y
NOTREECHECKS=true
Review URL: https://codereview.chromium.org/
1256413005
Cr-Commit-Position: refs/heads/master@{#29896}
machenbach [Tue, 28 Jul 2015 10:17:18 +0000 (03:17 -0700)]
[test] Shorten excessive webkit test.
BUG=
Review URL: https://codereview.chromium.org/
1257583005
Cr-Commit-Position: refs/heads/master@{#29895}
machenbach [Tue, 28 Jul 2015 09:54:04 +0000 (02:54 -0700)]
[test] Skip slow test in novfp3 mode.
TBR=yangguo@chromium.org
NOTRY=true
Review URL: https://codereview.chromium.org/
1264443002
Cr-Commit-Position: refs/heads/master@{#29894}
jochen [Tue, 28 Jul 2015 09:29:34 +0000 (02:29 -0700)]
Reland of "Remove ExternalArray, derived types, and element kinds"
Original issue's description:
> Remove ExternalArray, derived types, and element kinds
>
> BUG=v8:3996
> R=jarin@chromium.org, mvstanton@chromium.org, bmeurer@chromium.org
> LOG=y
>
> Committed: https://crrev.com/
607ef7c6009a24ebf195b4cab7b0b436c5afd21c
> Cr-Commit-Position: refs/heads/master@{#29872}
BUG=v8:3996
R=bmeurer@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/
1262583002
Cr-Commit-Position: refs/heads/master@{#29893}
chunyang.dai [Tue, 28 Jul 2015 08:37:21 +0000 (01:37 -0700)]
X87: [stubs] Don't pass name to Load/StoreGlobalViaContext stubs.
port
5dff4bdff06c0463db1e876af7541af2b715392c (r29886).
original commit message:
No need to pass the name explicitly to the stubs; the runtime can
extract the name from the ScopeInfo (the extension of the
ScriptContext) on-demand easily without any performance impact.
BUG=
Review URL: https://codereview.chromium.org/
1259063004
Cr-Commit-Position: refs/heads/master@{#29892}
chunyang.dai [Tue, 28 Jul 2015 08:34:33 +0000 (01:34 -0700)]
X87: [stubs] Properly handle read-only properties in StoreGlobalViaContextStub.
port
cac64b9f634743f7f5311d4dca8d50157b10fab5 (r29881)
original commit message:
We don't need the hole check and slow runtime mode for read-only
properties this way.
BUG=
Review URL: https://codereview.chromium.org/
1263473002
Cr-Commit-Position: refs/heads/master@{#29891}
chunyang.dai [Tue, 28 Jul 2015 08:32:46 +0000 (01:32 -0700)]
X87: VectorICs: vector [keyed]store ic MISS handling infrastructure.
port
a913f4bf5c40ef88c52e7cf821540f0faf5524f9 (r29870).
original commit message:
BUG=
Review URL: https://codereview.chromium.org/
1257883003
Cr-Commit-Position: refs/heads/master@{#29890}
bmeurer [Tue, 28 Jul 2015 08:18:17 +0000 (01:18 -0700)]
[stubs] Use a single slot for context globals.
Don't use different read/write slots for context globals, but
let them share the same slot, which reduces the number of
initial misses, and also saves some memory for large scripts.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
1258213002
Cr-Commit-Position: refs/heads/master@{#29889}
hpayer [Tue, 28 Jul 2015 07:28:03 +0000 (00:28 -0700)]
Revert of Activate preserving of optimized code map accross GCs. (patchset #1 id:1 of https://codereview.chromium.org/
1217863006/)
Reason for revert:
This CL may be the reason for the spike on memory corruption. Tentatively reverting this CL.
BUG=chromium:512780
LOG=n
Original issue's description:
> Activate preserving of optimized code map accross GCs.
>
> This enables --noflush-optimized-code-cache which allows preserving
> entries in the optimized code map accross GCs. This only applies to
> values being reachable through other paths.
>
> R=hpayer@chromium.org,hablich@chromium.org
>
> Committed: https://crrev.com/
1a8776db25b63c4ce718423772d1fd13f58eeab5
> Cr-Commit-Position: refs/heads/master@{#29755}
TBR=hablich@chromium.org,mstarzinger@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
1255043003
Cr-Commit-Position: refs/heads/master@{#29888}
bmeurer [Tue, 28 Jul 2015 06:48:08 +0000 (23:48 -0700)]
[stubs] Also handle properties of the JSBuiltinsObject in the fast case.
We can apply the shortcut used for data properties of the JSGlobalObject
to builtin properties as well. This mostly affects the custom properties
we use for the Math functions (i.e. rngstate for Math.random() and kMath
for sin, cos and friends).
Drive-by-fix: Also mark the internal builtin typed arrays properties
(rngstate, kMath and rempio2result) as READ_ONLY, as they should not be
touched after genesis.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
1254143003
Cr-Commit-Position: refs/heads/master@{#29887}
bmeurer [Tue, 28 Jul 2015 06:04:04 +0000 (23:04 -0700)]
[stubs] Don't pass name to Load/StoreGlobalViaContext stubs.
No need to pass the name explicitly to the stubs; the runtime can
extract the name from the ScopeInfo (the extension of the
ScriptContext) on-demand easily without any performance impact.
Review URL: https://codereview.chromium.org/
1259963002
Cr-Commit-Position: refs/heads/master@{#29886}
v8-autoroll [Tue, 28 Jul 2015 03:25:45 +0000 (20:25 -0700)]
Update V8 DEPS.
Rolling v8/third_party/android_tools to
e17c167589c7cff61a00c4d3674765536ee8d46c
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1255393002
Cr-Commit-Position: refs/heads/master@{#29885}
mbrandy [Mon, 27 Jul 2015 21:37:48 +0000 (14:37 -0700)]
Update PPC OWNERS
R=michael_dawson@ca.ibm.com, danno@chromium.org, yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1255953003
Cr-Commit-Position: refs/heads/master@{#29884}
machenbach [Mon, 27 Jul 2015 20:32:00 +0000 (13:32 -0700)]
Revert of Remove ExternalArray, derived types, and element kinds (patchset #5 id:80001 of https://codereview.chromium.org/
1254623002/)
Reason for revert:
[Sheriff] Breaks several layout tests, e.g.:
http://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2032/builds/1067
Several output lines change from PASS to FAIL. If the changes are intended, please land a needsmanualrebaseline change in blink first.
Original issue's description:
> Remove ExternalArray, derived types, and element kinds
>
> BUG=v8:3996
> R=jarin@chromium.org, mvstanton@chromium.org, bmeurer@chromium.org
> LOG=y
>
> Committed: https://crrev.com/
607ef7c6009a24ebf195b4cab7b0b436c5afd21c
> Cr-Commit-Position: refs/heads/master@{#29872}
TBR=bmeurer@chromium.org,hpayer@chromium.org,jarin@chromium.org,mvstanton@chromium.org,jochen@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3996
Review URL: https://codereview.chromium.org/
1257223002
Cr-Commit-Position: refs/heads/master@{#29883}
mbrandy [Mon, 27 Jul 2015 20:12:10 +0000 (13:12 -0700)]
PPC: [stubs] Properly handle read-only properties in StoreGlobalViaContextStub.
Port
cac64b9f634743f7f5311d4dca8d50157b10fab5
Original commit message:
We don't need the hole check and slow runtime mode for read-only
properties this way.
R=bmeurer@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=
Review URL: https://codereview.chromium.org/
1257183003
Cr-Commit-Position: refs/heads/master@{#29882}
bmeurer [Mon, 27 Jul 2015 18:45:26 +0000 (11:45 -0700)]
[stubs] Properly handle read-only properties in StoreGlobalViaContextStub.
We don't need the hole check and slow runtime mode for read-only
properties this way.
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
1255133002
Cr-Commit-Position: refs/heads/master@{#29881}
mbrandy [Mon, 27 Jul 2015 18:01:22 +0000 (11:01 -0700)]
PPC: Cross-script variables handling fixed. It was possible to write to read-only global variable.
Port
156042f7f71effd101fbfb2ca1b5a2c3aec62079
R=ishell@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=
Review URL: https://codereview.chromium.org/
1259583003
Cr-Commit-Position: refs/heads/master@{#29880}
mbrandy [Mon, 27 Jul 2015 17:59:22 +0000 (10:59 -0700)]
PPC: Fix '[stubs] Optimize LoadGlobalViaContextStub and StoreGlobalViaContextStub.'
R=michael_dawson@ca.ibm.com, dstence@us.ibm.com
BUG=
Review URL: https://codereview.chromium.org/
1260663003
Cr-Commit-Position: refs/heads/master@{#29879}
mbrandy [Mon, 27 Jul 2015 17:58:18 +0000 (10:58 -0700)]
PPC: VectorICs: vector [keyed]store ic MISS handling infrastructure.
Port
a913f4bf5c40ef88c52e7cf821540f0faf5524f9
R=mvstanton@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=
Review URL: https://codereview.chromium.org/
1261663002
Cr-Commit-Position: refs/heads/master@{#29878}
adamk [Mon, 27 Jul 2015 15:58:28 +0000 (08:58 -0700)]
Remove old TODO and commented-out DCHECK in Isolate::RunMicrotasks
Per discussion on the bug, the DCHECK'd case actually occurs in normal
operation, outside of V8's control.
BUG=chromium:388244
LOG=n
Review URL: https://codereview.chromium.org/
1255043002
Cr-Commit-Position: refs/heads/master@{#29877}
michael_dawson [Mon, 27 Jul 2015 15:13:47 +0000 (08:13 -0700)]
Add Junliang to PPC owners list
BUG=
R=danno@chromium.org, mbrandy@us.ibm.com
Review URL: https://codereview.chromium.org/
1245023003
Cr-Commit-Position: refs/heads/master@{#29876}
machenbach [Mon, 27 Jul 2015 14:56:54 +0000 (07:56 -0700)]
[test] Replace android_commands in v8 perf runner.
BUG=chromium:267773
LOG=n
NOTRY=true
Review URL: https://codereview.chromium.org/
1255183002
Cr-Commit-Position: refs/heads/master@{#29875}
yangguo [Mon, 27 Jul 2015 14:19:53 +0000 (07:19 -0700)]
Debugger: do not reject data parsed in the background when debugging.
This has become possible since we never compile for debugging in the
first compile pass of a script.
R=vogelheim@chromium.org
BUG=chromium:513335
LOG=N
Review URL: https://codereview.chromium.org/
1255153002
Cr-Commit-Position: refs/heads/master@{#29874}
mlippautz [Mon, 27 Jul 2015 13:29:14 +0000 (06:29 -0700)]
Add regression test for issue 507979.
Regression test for CL
3eb91e8aec8e628adc1046fca16c5dfd1d129118.
BUG=chromium:507979
LOG=N
Review URL: https://codereview.chromium.org/
1255173002
Cr-Commit-Position: refs/heads/master@{#29873}
jochen [Mon, 27 Jul 2015 13:19:09 +0000 (06:19 -0700)]
Remove ExternalArray, derived types, and element kinds
BUG=v8:3996
R=jarin@chromium.org, mvstanton@chromium.org, bmeurer@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/
1254623002
Cr-Commit-Position: refs/heads/master@{#29872}
yangguo [Mon, 27 Jul 2015 13:15:06 +0000 (06:15 -0700)]
Debugger: correctly recompile toplevel eval functions for debugging.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
1258503003
Cr-Commit-Position: refs/heads/master@{#29871}
mvstanton [Mon, 27 Jul 2015 12:49:58 +0000 (05:49 -0700)]
VectorICs: vector [keyed]store ic MISS handling infrastructure.
BUG=
Review URL: https://codereview.chromium.org/
1255883002
Cr-Commit-Position: refs/heads/master@{#29870}
yangguo [Mon, 27 Jul 2015 11:52:22 +0000 (04:52 -0700)]
Debugger: do not hold onto debug infos weakly.
SharedFunctionInfos that have a debug info must not be collected.
Otherwise we lose previously set break points. This means that
there is no need to hold onto debug infos weakly. The reason this
has not caused an issue up till now is that code flushing has been
disabled when the debugger is active.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
1255793003
Cr-Commit-Position: refs/heads/master@{#29869}
jochen [Mon, 27 Jul 2015 11:51:16 +0000 (04:51 -0700)]
Make V8 compile with MSVS 2015
BUG=v8:4326
R=machenbach@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/
1259693003
Cr-Commit-Position: refs/heads/master@{#29868}
mbrandy [Mon, 27 Jul 2015 11:19:46 +0000 (04:19 -0700)]
PPC: [stubs] Optimize LoadGlobalViaContextStub and StoreGlobalViaContextStub.
Port
d6ee366d5c5aef7c6bc550889a33520058b4e33a
Original commit message:
This is the initial round of optimizations for the
LoadGlobalViaContextStub and StoreGlobalViaContextStub, basically
turning them into platform code stubs to avoid the Crankshaft overhead
in the fast case, and making the runtime interface cheaper.
R=bmeurer@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=chromium:510694
LOG=n
Review URL: https://codereview.chromium.org/
1261473002
Cr-Commit-Position: refs/heads/master@{#29867}
yangguo [Mon, 27 Jul 2015 10:58:33 +0000 (03:58 -0700)]
Revert "In RegExp, lastIndex is read with ToLength, not ToInteger"
This reverts commit
1f61ac50338cc2ef1a54735206351f9798687248.
TBR=littledan@chromium.org
BUG=chromium:513160
LOG=N
Review URL: https://codereview.chromium.org/
1256193002
Cr-Commit-Position: refs/heads/master@{#29866}
chunyang.dai [Mon, 27 Jul 2015 10:05:27 +0000 (03:05 -0700)]
X87: implement MathPow stub for X87.
In CL
0fe2fbd173c5e547e021476428001cac6fcdf7a9 the implementation of
MathPow for all ports are unified and MathPow stub code is invoked.
So we move the direct runtime function call from full-codegen to MathPow
stub for X87 platform.
BUG=
Review URL: https://codereview.chromium.org/
1258873002
Cr-Commit-Position: refs/heads/master@{#29865}
hpayer [Mon, 27 Jul 2015 09:48:54 +0000 (02:48 -0700)]
Remove slot buffer entries in deoptimized code objects after marking.
BUG=chromium:507211
LOG=n
Review URL: https://codereview.chromium.org/
1260463002
Cr-Commit-Position: refs/heads/master@{#29864}
yangguo [Mon, 27 Jul 2015 08:32:02 +0000 (01:32 -0700)]
Blacklist regress-3960 from turbofan.
TBR=adamk@chromium.org
BUG=v8:4325,chromium:513160
LOG=N
Review URL: https://codereview.chromium.org/
1259863003
Cr-Commit-Position: refs/heads/master@{#29863}
yangguo [Mon, 27 Jul 2015 08:05:49 +0000 (01:05 -0700)]
Revert of Debugger: correctly redirect eval code. (patchset #2 id:20001 of https://codereview.chromium.org/
1258583002/)
Reason for revert:
Causes hang: http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm%20-%20sim%20-%20novfp3/builds/1446
Original issue's description:
> Debugger: correctly redirect eval code.
>
> This also allows us to not always compile for debugging when debug is active.
>
> Committed: https://crrev.com/
0cae607ff33725e868a217556a88ac4478774210
> Cr-Commit-Position: refs/heads/master@{#29848}
TBR=mvstanton@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
1261603002
Cr-Commit-Position: refs/heads/master@{#29862}
paul.lind [Mon, 27 Jul 2015 06:27:58 +0000 (23:27 -0700)]
Add arch OWNERS files to full-codegen dir.
BUG=
Review URL: https://codereview.chromium.org/
1258843002
Cr-Commit-Position: refs/heads/master@{#29861}
ishell [Mon, 27 Jul 2015 05:52:58 +0000 (22:52 -0700)]
Cross-script variables handling fixed. It was possible to write to read-only global variable.
Review URL: https://codereview.chromium.org/
1259853002
Cr-Commit-Position: refs/heads/master@{#29860}
paul.lind [Sun, 26 Jul 2015 05:01:42 +0000 (22:01 -0700)]
MIPS64: Fix LoadGlobalViaContextStub
Also make a minor improvement in the mips32 StoreGlobalViaContextStub
and fix some bad comments in the macro-assembler.
BUG=
Review URL: https://codereview.chromium.org/
1254153002
Cr-Commit-Position: refs/heads/master@{#29859}
v8-autoroll [Sun, 26 Jul 2015 03:24:15 +0000 (20:24 -0700)]
Update V8 DEPS.
Rolling v8/tools/clang to
86b91f8203d8b6cb2dabb8a9c5f2dd95135b4307
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1258803002
Cr-Commit-Position: refs/heads/master@{#29858}
v8-autoroll [Sat, 25 Jul 2015 03:26:05 +0000 (20:26 -0700)]
Update V8 DEPS.
Rolling v8/tools/clang to
101be7d177391384deb7f088aecd1f2d93af918f
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1256093003
Cr-Commit-Position: refs/heads/master@{#29857}
littledan [Sat, 25 Jul 2015 01:59:16 +0000 (18:59 -0700)]
Class block scoping tests
Class bindings are mutable and lexically scoped, with TDZ semantics.
They may not overlap with var bindings in the same scope. This patch
adds tests for those properties.
R=adamk
BUG=v8:3305
LOG=N
Review URL: https://codereview.chromium.org/
1254003004
Cr-Commit-Position: refs/heads/master@{#29856}
littledan [Sat, 25 Jul 2015 00:05:08 +0000 (17:05 -0700)]
Split off a separate --harmony_sloppy_let flag
--harmony_sloppy includes behavior to turn on sloppy mode lexical
bindings. Before this patch, it also included a way to parse let
which is likely web-incompatible (let is disallowed as an
identifier). This patch splits off the let parsing from the more
general block scoping code, so that block scoping can be developed
independently.
R=adamk
LOG=N
BUG=v8:3305
Review URL: https://codereview.chromium.org/
1255013002
Cr-Commit-Position: refs/heads/master@{#29855}
hichris123 [Fri, 24 Jul 2015 17:19:33 +0000 (10:19 -0700)]
Make dates default to the local timezone if none specified
In ES5, dates were supposed to default to UTC if no timezone was specified. However, this changed in ES6, which specified that dates should be in the local timezone if no timezone was specified. This CL updates our behavior to match that part of the ES6 spec.
BUG=chromium:391730, v8:4242
LOG=Y
Review URL: https://codereview.chromium.org/
1229903004
Cr-Commit-Position: refs/heads/master@{#29854}
bbudge [Fri, 24 Jul 2015 15:03:48 +0000 (08:03 -0700)]
Disable failing simdjs tests.
These benchmarks are not updated to the latest spec and polyfill.
R=machenbach@chromium.org
LOG=N
BUG=v8:4124
Review URL: https://codereview.chromium.org/
1256693002
Cr-Commit-Position: refs/heads/master@{#29853}
rmcilroy [Fri, 24 Jul 2015 14:56:26 +0000 (07:56 -0700)]
[interpreter] A couple of minor tweaks to BytecodeArray.
- Ensure frame_size is always set during allocation.
- Add DCHECKs that frame_size is a valid value
- Remove locals_count, which we don't need yet (possibly every)
- Add a newline at the end of BytecodeArray::Dissassemble
for each bytecode.
BUG=v8:4280
LOG=N
Review URL: https://codereview.chromium.org/
1254873002
Cr-Commit-Position: refs/heads/master@{#29852}
rossberg [Fri, 24 Jul 2015 14:48:12 +0000 (07:48 -0700)]
Remove remnants of INTERNAL variable handling from Scope
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1256793005
Cr-Commit-Position: refs/heads/master@{#29851}
jochen [Fri, 24 Jul 2015 14:36:32 +0000 (07:36 -0700)]
Don't try to get the mark bits of the one ptr filler object
BUG=chromium:???
LOG=n
R=mlippautz@chromium.org,hpayer@chromium.org
Review URL: https://codereview.chromium.org/
1252333002
Cr-Commit-Position: refs/heads/master@{#29850}
bmeurer [Fri, 24 Jul 2015 14:23:03 +0000 (07:23 -0700)]
Reland^2 "Enable loads and stores to global vars through property cell shortcuts installed into parent script context".
This reverts commit
362b378501ac2220655e16f49c6d1aa734e657f4.
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
1254723004
Cr-Commit-Position: refs/heads/master@{#29849}
yangguo [Fri, 24 Jul 2015 14:14:10 +0000 (07:14 -0700)]
Debugger: correctly redirect eval code.
This also allows us to not always compile for debugging when debug is active.
Review URL: https://codereview.chromium.org/
1258583002
Cr-Commit-Position: refs/heads/master@{#29848}
mvstanton [Fri, 24 Jul 2015 14:08:29 +0000 (07:08 -0700)]
VectorICs: VisitClassLiteral needs adjustment for IC slot usage.
Also, generic lowering for keyed stores needs to handle the case when
there is no IC slot available (it can use the generic keyed store).
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
1252303002
Cr-Commit-Position: refs/heads/master@{#29847}
yangguo [Fri, 24 Jul 2015 13:43:38 +0000 (06:43 -0700)]
Debugger: always include deoptimization support for debug code.
R=mstarzinger@chromium.org
BUG=chromium:513496
LOG=N
Review URL: https://codereview.chromium.org/
1252323002
Cr-Commit-Position: refs/heads/master@{#29846}
rossberg [Fri, 24 Jul 2015 13:08:12 +0000 (06:08 -0700)]
Find right scope associated with prologue
R=mstarzinger@chromium.org
BUG=513474,513475,513611,513612
LOG=N
Review URL: https://codereview.chromium.org/
1250423002
Cr-Commit-Position: refs/heads/master@{#29845}
bmeurer [Fri, 24 Jul 2015 12:37:07 +0000 (05:37 -0700)]
[mips] Fix Load/StoreGlobalContext stubs.
Fix invalid tail calls and wrong context register.
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
1257603004
Cr-Commit-Position: refs/heads/master@{#29844}
oth [Fri, 24 Jul 2015 12:02:41 +0000 (05:02 -0700)]
[Interpreter] Add BytecodeArray class and add to SharedFunctionInfo.
BUG=v8:4280
LOG=N
Review URL: https://codereview.chromium.org/
1230753004
Cr-Commit-Position: refs/heads/master@{#29843}
yangguo [Fri, 24 Jul 2015 10:37:37 +0000 (03:37 -0700)]
Debugger: fix deoptimizing inlined function.
BUG=v8:4320
LOG=N
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
1255803004
Cr-Commit-Position: refs/heads/master@{#29842}
ulan [Fri, 24 Jul 2015 10:31:20 +0000 (03:31 -0700)]
Extract function to compute mutator utilization.
This function will be used later instead of HasLowAllocationRate
to decide how many pages to compact.
BUG=chromium:502247
LOG=NO
Review URL: https://codereview.chromium.org/
1254603002
Cr-Commit-Position: refs/heads/master@{#29841}
yangguo [Fri, 24 Jul 2015 10:11:46 +0000 (03:11 -0700)]
Move Full-codegen into its own folder.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
1248443003
Cr-Commit-Position: refs/heads/master@{#29840}
chunyang.dai [Fri, 24 Jul 2015 10:08:47 +0000 (03:08 -0700)]
X87: [stubs] Optimize LoadGlobalViaContextStub and StoreGlobalViaContextStub.
port
d6ee366d5c5aef7c6bc550889a33520058b4e33a (r29834).
original commit message:
This is the initial round of optimizations for the
LoadGlobalViaContextStub and StoreGlobalViaContextStub, basically
turning them into platform code stubs to avoid the Crankshaft overhead
in the fast case, and making the runtime interface cheaper.
BUG=
Review URL: https://codereview.chromium.org/
1258513003
Cr-Commit-Position: refs/heads/master@{#29839}
chunyang.dai [Fri, 24 Jul 2015 10:03:11 +0000 (03:03 -0700)]
X87: [interpreter] Add basic framework for bytecode handler code generation.
port
7877c4e0c77b5c2b97678406eab7e9ad6eba4a4d (r29814).
original commit message:
Adds basic support for generation of interpreter bytecode handler code
snippets. The InterpreterAssembler class exposes a set of low level,
interpreter specific operations which can be used to build a Turbofan
graph. The Interpreter class generates a bytecode handler snippet for
each bytecode by assembling operations using an InterpreterAssembler.
Currently only two simple bytecodes are supported: LoadLiteral0 and Return.
BUG=
Review URL: https://codereview.chromium.org/
1256783002
Cr-Commit-Position: refs/heads/master@{#29838}
chunyang.dai [Fri, 24 Jul 2015 09:58:47 +0000 (02:58 -0700)]
X87: Unify "runtime-style" IC functions with Runtime intrinsics
port
bc8041dc2b4c8431c5c2476496acd3b7b8b3f61e (r29811).
original commit message:
Previous to this CL, ICs used a slightly different code idiom
to get to C++ code from generated code than runtime intrinsics,
using an IC_Utility class that in essence provided exactly
the same functionality as Runtime::FunctionForId, but in its
own quirky way.
This CL unifies the two mechanisms, folding IC_Utility
away by making all IC entry points in C++ code, e.g. IC
miss handlers, full-fledged runtime intrinsics. This makes
it possible to eliminate a bunch of ad-hoc declarations and
adapters that the IC system had to needlessly re-invent.
As a bonus and the original reason for this yak-shave:
IC-related C++ runtime functions are now callable from
TurboFan.
BUG=
Review URL: https://codereview.chromium.org/
1252903002
Cr-Commit-Position: refs/heads/master@{#29837}
chunyang.dai [Fri, 24 Jul 2015 09:57:39 +0000 (02:57 -0700)]
X87: HydrogenCodeStubs consume stack arguments via descriptor.
port
3334b830a512eda1f8eed678a0e6fda52b23472a (r20813).
original commit message:
HydrogenCodeStubs consume stack arguments via descriptor.
All of this is controlled by the CallDescriptor. It's simply the case
that if you specify less registers than the function arity calls for,
the rest are assumed to be on the stack.
Bailout handlers accept these constant stack arguments too.
BUG=
Review URL: https://codereview.chromium.org/
1258553002
Cr-Commit-Position: refs/heads/master@{#29836}
machenbach [Fri, 24 Jul 2015 08:25:59 +0000 (01:25 -0700)]
Revert of Revert "In RegExp, lastIndex is read with ToLength, not ToInteger" (patchset #1 id:1 of https://codereview.chromium.org/
1243053005/)
Reason for revert:
[Sheriff] This causes a breakage with custom snapshot (bisected locally):
http://build.chromium.org/p/client.v8/builders/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/builds/1190
Original issue's description:
> Revert "In RegExp, lastIndex is read with ToLength, not ToInteger"
>
> $toLength is slow, causing a 3.8%-8% regression in the Octane RegExp
> benchmark. Reverting this patch brings it back up. To make this change,
> we'll need a faster implementation fo $toLength.
>
> BUG=chromium:513160
> LOG=Y
> R=adamk
>
> Committed: https://crrev.com/
477d651c6a978bdf34954048a235895c62dab0ac
> Cr-Commit-Position: refs/heads/master@{#29830}
TBR=adamk@chromium.org,littledan@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:513160
Review URL: https://codereview.chromium.org/
1254723005
Cr-Commit-Position: refs/heads/master@{#29835}
bmeurer [Fri, 24 Jul 2015 07:16:46 +0000 (00:16 -0700)]
[stubs] Optimize LoadGlobalViaContextStub and StoreGlobalViaContextStub.
This is the initial round of optimizations for the
LoadGlobalViaContextStub and StoreGlobalViaContextStub, basically
turning them into platform code stubs to avoid the Crankshaft overhead
in the fast case, and making the runtime interface cheaper.
R=ishell@chromium.org
BUG=chromium:510694
LOG=n
Review URL: https://codereview.chromium.org/
1238143002
Cr-Commit-Position: refs/heads/master@{#29834}
Michael Achenbach [Fri, 24 Jul 2015 06:48:32 +0000 (08:48 +0200)]
Whitespace change to check git quota issues.
Cr-Commit-Position: refs/heads/master@{#29833}
Michael Achenbach [Fri, 24 Jul 2015 06:28:54 +0000 (08:28 +0200)]
Whitespace change to check git quota issues.
Cr-Commit-Position: refs/heads/master@{#29832}
chunyang.dai [Fri, 24 Jul 2015 06:22:12 +0000 (23:22 -0700)]
X87: Eliminate redundant descriptor ElementTransitionAndStoreDescriptor.
port
26ffee2c718308bb85be072ed32479e4aa8e7e6b (r29789).
original commit message:
It's just the same as StoreTransitionDescriptor.
BUG=
Review URL: https://codereview.chromium.org/
1253573004
Cr-Commit-Position: refs/heads/master@{#29831}
littledan [Fri, 24 Jul 2015 06:21:08 +0000 (23:21 -0700)]
Revert "In RegExp, lastIndex is read with ToLength, not ToInteger"
$toLength is slow, causing a 3.8%-8% regression in the Octane RegExp
benchmark. Reverting this patch brings it back up. To make this change,
we'll need a faster implementation fo $toLength.
BUG=chromium:513160
LOG=Y
R=adamk
Review URL: https://codereview.chromium.org/
1243053005
Cr-Commit-Position: refs/heads/master@{#29830}
v8-autoroll [Fri, 24 Jul 2015 06:20:03 +0000 (23:20 -0700)]
Update V8 DEPS.
Rolling v8/tools/clang to
89e7efc0e2c12578ed7217fcf176ec1a4e567b2a
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1256733002
Cr-Commit-Position: refs/heads/master@{#29829}
chunyang.dai [Fri, 24 Jul 2015 06:18:57 +0000 (23:18 -0700)]
X87: Fix pushing of register in CallConstructStub outside frame.
port
1f295980b7ac309dcef732088ae363722277a408 (r29787).
original commit message:
This fixes a recent regression where the register holding the original
receiver was pushed onto the stack before the internal frame within the
CallStubInRecordCallTarget helper was created. That in turn confused
the stack walker when allocations in these stubs failed.
BUG=
Review URL: https://codereview.chromium.org/
1247493004
Cr-Commit-Position: refs/heads/master@{#29828}
pcc [Fri, 24 Jul 2015 06:17:52 +0000 (23:17 -0700)]
[build] Disable linker threading in LTO builds, as it causes intermittent link failures.
BUG=chromium:513074
R=bmeurer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
1249273003
Cr-Commit-Position: refs/heads/master@{#29827}
bradnelson [Fri, 24 Jul 2015 06:16:47 +0000 (23:16 -0700)]
Adding CHECKED_OUT_VERSION to .gitignore.
Adding CHECKED_OUT_VERSION in test/simdjs so that
the bots don't revert and redownload each time.
LOG=N
BUG=None
TEST=None
R=littledan@chromium.org,machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1242863003
Cr-Commit-Position: refs/heads/master@{#29826}
mostynb [Thu, 23 Jul 2015 23:34:52 +0000 (16:34 -0700)]
convert a bunch of DCHECKs to STATIC_ASSERT
Review URL: https://codereview.chromium.org/
1251593009
Cr-Commit-Position: refs/heads/master@{#29825}
Adam Klein [Thu, 23 Jul 2015 19:26:50 +0000 (12:26 -0700)]
Fix d8 prompt after readline removal
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
1246983004 .
Cr-Commit-Position: refs/heads/master@{#29824}
mbrandy [Thu, 23 Jul 2015 16:59:48 +0000 (09:59 -0700)]
PPC: Fix pushing of register in CallConstructStub outside frame.
Port
1f295980b7ac309dcef732088ae363722277a408
Original commit message:
This fixes a recent regression where the register holding the original
receiver was pushed onto the stack before the internal frame within the
CallStubInRecordCallTarget helper was created. That in turn confused
the stack walker when allocations in these stubs failed.
R=mstarzinger@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=chromium:512711
LOG=N
Review URL: https://codereview.chromium.org/
1252493004
Cr-Commit-Position: refs/heads/master@{#29823}
mbrandy [Thu, 23 Jul 2015 16:35:26 +0000 (09:35 -0700)]
PPC: [interpreter] Add basic framework for bytecode handler code generation.
Port
7877c4e0c77b5c2b97678406eab7e9ad6eba4a4d
Original commit message:
Adds basic support for generation of interpreter bytecode handler code
snippets. The InterpreterAssembler class exposes a set of low level,
interpreter specific operations which can be used to build a Turbofan
graph. The Interpreter class generates a bytecode handler snippet for
each bytecode by assembling operations using an InterpreterAssembler.
Currently only two simple bytecodes are supported: LoadLiteral0 and Return.
R=rmcilroy@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=
Review URL: https://codereview.chromium.org/
1250723003
Cr-Commit-Position: refs/heads/master@{#29822}
mbrandy [Thu, 23 Jul 2015 16:22:59 +0000 (09:22 -0700)]
PPC: Unify "runtime-style" IC functions with Runtime intrinsics
Port
bc8041dc2b4c8431c5c2476496acd3b7b8b3f61e
Original commit message:
Previous to this CL, ICs used a slightly different code idiom
to get to C++ code from generated code than runtime intrinsics,
using an IC_Utility class that in essence provided exactly
the same functionality as Runtime::FunctionForId, but in its
own quirky way.
This CL unifies the two mechanisms, folding IC_Utility
away by making all IC entry points in C++ code, e.g. IC
miss handlers, full-fledged runtime intrinsics. This makes
it possible to eliminate a bunch of ad-hoc declarations and
adapters that the IC system had to needlessly re-invent.
As a bonus and the original reason for this yak-shave:
IC-related C++ runtime functions are now callable from
TurboFan.
R=danno@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=
Review URL: https://codereview.chromium.org/
1249433004
Cr-Commit-Position: refs/heads/master@{#29821}
mbrandy [Thu, 23 Jul 2015 16:17:18 +0000 (09:17 -0700)]
PPC: HydrogenCodeStubs consume stack arguments via descriptor.
Port
3334b830a512eda1f8eed678a0e6fda52b23472a
Original commit message;
All of this is controlled by the CallDescriptor. It's simply the case
that if you specify less registers than the function arity calls for,
the rest are assumed to be on the stack.
Bailout handlers accept these constant stack arguments too.
R=mvstanton@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=
Review URL: https://codereview.chromium.org/
1256563002
Cr-Commit-Position: refs/heads/master@{#29820}
mbrandy [Thu, 23 Jul 2015 16:16:12 +0000 (09:16 -0700)]
PPC: Eliminate redundant descriptor ElementTransitionAndStoreDescriptor.
Port
26ffee2c718308bb85be072ed32479e4aa8e7e6b
Original commit message:
It's just the same as StoreTransitionDescriptor.
R=mvstanton@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=
Review URL: https://codereview.chromium.org/
1246143004
Cr-Commit-Position: refs/heads/master@{#29819}
rmcilroy [Thu, 23 Jul 2015 15:57:01 +0000 (08:57 -0700)]
[interpreter] Fix GCMole warning.
Fix GCMole warning from r29814 (
7877c4e0c77b5c2b97678406eab7e9ad6eba4a4d).
BUG=v8:4280
LOG=N
NOTREECHECKS=true
TBR=machenbach,mstarzinger
Review URL: https://codereview.chromium.org/
1243893004
Cr-Commit-Position: refs/heads/master@{#29818}
mstarzinger [Thu, 23 Jul 2015 14:38:49 +0000 (07:38 -0700)]
[turbofan] Remove deprecated code from RawMachineAssembler.
This mostly removes dead code and obsolete special cases from the
RawMachineAssembler::MakeNode helper, that shouldn't be necessary
anymore.
R=rmcilroy@chromium.org
Review URL: https://codereview.chromium.org/
1243253005
Cr-Commit-Position: refs/heads/master@{#29817}
hichris123 [Thu, 23 Jul 2015 14:37:42 +0000 (07:37 -0700)]
Fix check for a date with a 24th hour
According to the ECMA spec, a 24th hour is allowed if the minutes, seconds, and milliseconds are all zero (i.e. it's midnight). Previously, we parsed the date correctly, however, we failed to account in all checks for the possibility of a 24th hour. This CL changes the check to allow a 24th hour if it's exactly midnight.
BUG=chromium:174609
LOG=Y
Review URL: https://codereview.chromium.org/
1240093005
Cr-Commit-Position: refs/heads/master@{#29816}
rossberg [Thu, 23 Jul 2015 14:28:59 +0000 (07:28 -0700)]
[es6] Fix and clean up recognition of simple parameter lists
Gets rid of IsSimpleParameterList predicate.
R=mstarzinger@chromium.org, caitpotter88@gmail.com
BUG=
Review URL: https://codereview.chromium.org/
1251603004
Cr-Commit-Position: refs/heads/master@{#29815}
rmcilroy [Thu, 23 Jul 2015 14:21:26 +0000 (07:21 -0700)]
[interpreter] Add basic framework for bytecode handler code generation.
Adds basic support for generation of interpreter bytecode handler code
snippets. The InterpreterAssembler class exposes a set of low level,
interpreter specific operations which can be used to build a Turbofan
graph. The Interpreter class generates a bytecode handler snippet for
each bytecode by assembling operations using an InterpreterAssembler.
Currently only two simple bytecodes are supported: LoadLiteral0 and Return.
BUG=v8:4280
LOG=N
Review URL: https://codereview.chromium.org/
1239793002
Cr-Commit-Position: refs/heads/master@{#29814}
mvstanton [Thu, 23 Jul 2015 14:00:02 +0000 (07:00 -0700)]
HydrogenCodeStubs consume stack arguments via descriptor.
All of this is controlled by the CallDescriptor. It's simply the case
that if you specify less registers than the function arity calls for,
the rest are assumed to be on the stack.
Bailout handlers accept these constant stack arguments too.
BUG=
Review URL: https://codereview.chromium.org/
1250563004
Cr-Commit-Position: refs/heads/master@{#29813}
rossberg [Thu, 23 Jul 2015 13:51:27 +0000 (06:51 -0700)]
[es6] Make sure temporaries are not allocated in block scope
While at it, remove the notion of INTERNAL variables.
@caitp: Took some parts from your CL, since I was blocked on the temp scope bug.
R=mstarzinger@chromium.org
BUG=512574
LOG=N
Review URL: https://codereview.chromium.org/
1250513004
Cr-Commit-Position: refs/heads/master@{#29812}
danno [Thu, 23 Jul 2015 13:32:11 +0000 (06:32 -0700)]
Unify "runtime-style" IC functions with Runtime intrinsics
Previous to this CL, ICs used a slightly different code idiom
to get to C++ code from generated code than runtime intrinsics,
using an IC_Utility class that in essence provided exactly
the same functionality as Runtime::FunctionForId, but in its
own quirky way.
This CL unifies the two mechanisms, folding IC_Utility
away by making all IC entry points in C++ code, e.g. IC
miss handlers, full-fledged runtime intrinsics. This makes
it possible to eliminate a bunch of ad-hoc declarations and
adapters that the IC system had to needlessly re-invent.
As a bonus and the original reason for this yak-shave:
IC-related C++ runtime functions are now callable from
TurboFan.
Review URL: https://codereview.chromium.org/
1248303002
Cr-Commit-Position: refs/heads/master@{#29811}
yangguo [Thu, 23 Jul 2015 13:20:14 +0000 (06:20 -0700)]
Remove readline support from d8.
Nobody seems to use it. A good alternative is rlwrap.
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/
1250223002
Cr-Commit-Position: refs/heads/master@{#29810}
machenbach [Thu, 23 Jul 2015 13:01:15 +0000 (06:01 -0700)]
[test] Let test runner only use exact matches of tests on the cmd-line.
There are many test names in the v8 code base that prefix
others, which makes it hard to only run those tests.
BUG=chromium:511215
LOG=n
NOTRY=true
Review URL: https://codereview.chromium.org/
1251363002
Cr-Commit-Position: refs/heads/master@{#29809}
jochen [Thu, 23 Jul 2015 12:48:57 +0000 (05:48 -0700)]
Remove code for no longer present external array on any object API
BUG=v8:3996
R=jarin@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
1249723005
Cr-Commit-Position: refs/heads/master@{#29808}
rossberg [Thu, 23 Jul 2015 11:53:31 +0000 (04:53 -0700)]
[es6] Some renamings and minor clean-ups in parameter parsing
In particular, rename FormalParameterParsingState and friends to FormalParameters etc.
This should not change any logic, but is a preparatory CL for a bunch of follow-up fixes and clean-ups.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1247443004
Cr-Commit-Position: refs/heads/master@{#29807}
machenbach [Thu, 23 Jul 2015 11:47:04 +0000 (04:47 -0700)]
[test] Speed up slow stack overflow test.
BUG=
Review URL: https://codereview.chromium.org/
1253643003
Cr-Commit-Position: refs/heads/master@{#29806}
yangguo [Thu, 23 Jul 2015 11:45:57 +0000 (04:45 -0700)]
Reduce duplicate code in full-codegen across platforms.
R=mvstanton@chromium.org
Committed: https://crrev.com/
937d4efbf9c399339fdc8e041bec8e80baa7b58f
Cr-Commit-Position: refs/heads/master@{#29798}
Review URL: https://codereview.chromium.org/
1255613002
Cr-Commit-Position: refs/heads/master@{#29805}
hpayer [Thu, 23 Jul 2015 10:03:00 +0000 (03:03 -0700)]
Use a lock in pages to synchronize sweeper threads to allow others to wait on concurrently swept pages.
BUG=
Review URL: https://codereview.chromium.org/
1244353002
Cr-Commit-Position: refs/heads/master@{#29804}