Commit Graph

24403 Commits

Author SHA1 Message Date
binji
a87db3dec8 [d8 Workers] Fix bug creating Worker during main thread termination
When the main thread terminates, it forcibly terminates all Worker threads.
When this happens, the threads objects were only half-created; they had a
JavaScript Worker object, but not a C++ worker object.

This CL fixes that bug, as well as some other fixes:
* Signatures on Worker methods
* Use SetAlignedPointerFromInternalField instead of using an External.
* Remove state_ from Worker. Simplify to atomic bool running_.

BUG=chromium:511880
R=jarin@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29911}
2015-07-30 08:19:39 +00:00
rmcilroy
597da50322 [interpreter] Change interpreter to use an BytecodeArray pointer and and offset.
Changes the interpreter to use a BytecodeArray pointer and an offset to avoid
having an inner pointer to a BytecodeArray object in registers during dispatch.

BUG=v8:4280
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#29910}
2015-07-30 08:18:28 +00:00
yangguo
39bcda21ff Assign more bits to safepoint table offset.
1 << 24 is apparently not large enough for some optimized code.

R=jkummerow@chromium.org
BUG=v8:4272
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#29909}
2015-07-30 08:17:29 +00:00
bbudge
e31da45e0f Optimize ToNumber and NonNumberToNumber.
Moves some uncommon type checking from ToNumber and
NonNumberToNumber into DefaultNumber. This should
speed up numeric operations especially as more "value types
are added.

LOG=N
BUG=513196, v8:4124

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

Cr-Commit-Position: refs/heads/master@{#29908}
2015-07-30 08:16:15 +00:00
mbrandy
e2487b805d PPC: Support for conditional return instruction.
R=dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=
NOTREECHECKS=true

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

Cr-Commit-Position: refs/heads/master@{#29907}
2015-07-30 07:30:40 +00:00
mbrandy
d8b31d881f PPC: [stubs] Don't pass name to Load/StoreGlobalViaContext stubs.
Port 5dff4bdff0

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.

R=bmeurer@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=
NOTREECHECKS=true

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

Cr-Commit-Position: refs/heads/master@{#29906}
2015-07-30 07:28:54 +00:00
jkummerow
2c16d81b25 Revert^3 "Enable loads and stores to global vars through property cell shortcuts installed into par… (patchset #1 id:1 of https://codereview.chromium.org/1254723004/)
Reason for revert:
Suspected to cause Canary crashes

Original issue's description:
> Reland^2 "Enable loads and stores to global vars through property cell shortcuts installed into parent script context".
>
> This reverts commit 362b378501.
>
> R=ishell@chromium.org
>
> Committed: https://crrev.com/440ae014e56924b52337c3747221b79283f07b81
> Cr-Commit-Position: refs/heads/master@{#29849}

TBR=ishell@chromium.org,v8-mips-ports@googlegroups.com,plind44@gmail.com,bmeurer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true

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

Cr-Commit-Position: refs/heads/master@{#29905}
2015-07-29 11:49:00 +00:00
yangguo
485aca6df6 Debugger: skip function prologue when computing redirect PC.
R=jkummerow@chromium.org
NOTREECHECKS=true

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

Cr-Commit-Position: refs/heads/master@{#29904}
2015-07-29 11:19:20 +00:00
Hannes Payer
aa84551622 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}
2015-07-29 09:56:44 +00:00
v8-autoroll
b7e6da19e2 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}
2015-07-29 08:13:21 +00:00
mbrandy
aabb08d8cc 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}
2015-07-29 08:12:09 +00:00
machenbach
4970084133 [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}
2015-07-29 07:40:57 +00:00
machenbach
4fe08abde6 [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}
2015-07-29 07:14:30 +00:00
jkummerow
c906efd5d1 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}
2015-07-28 15:41:29 +00:00
nodir
b8568ec86c 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}
2015-07-28 15:08:22 +00:00
mvstanton
d2e815f15b 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}
2015-07-28 14:03:10 +00:00
machenbach
d4d5663a2f [test] Shorten excessive webkit test.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#29895}
2015-07-28 10:17:29 +00:00
machenbach
d12e3232e9 [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}
2015-07-28 09:54:14 +00:00
jochen
fded08f694 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}
2015-07-28 09:29:55 +00:00
chunyang.dai
029ca8ca6b X87: [stubs] Don't pass name to Load/StoreGlobalViaContext stubs.
port 5dff4bdff0 (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}
2015-07-28 08:37:43 +00:00
chunyang.dai
02f097487c X87: [stubs] Properly handle read-only properties in StoreGlobalViaContextStub.
port cac64b9f63 (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}
2015-07-28 08:34:43 +00:00
chunyang.dai
95fc22e4c8 X87: VectorICs: vector [keyed]store ic MISS handling infrastructure.
port a913f4bf5c (r29870).

original commit message:

BUG=

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

Cr-Commit-Position: refs/heads/master@{#29890}
2015-07-28 08:33:04 +00:00
bmeurer
4eeafb8802 [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}
2015-07-28 08:18:33 +00:00
hpayer
4b6770867a 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}
2015-07-28 07:28:19 +00:00
bmeurer
6cf94ebde1 [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}
2015-07-28 06:48:24 +00:00
bmeurer
5dff4bdff0 [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}
2015-07-28 06:04:29 +00:00
v8-autoroll
2a7108ea79 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}
2015-07-28 03:26:03 +00:00
mbrandy
270dd554b7 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}
2015-07-27 21:37:55 +00:00
machenbach
814048a04f 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}
2015-07-27 20:32:16 +00:00
mbrandy
a30ffc77e8 PPC: [stubs] Properly handle read-only properties in StoreGlobalViaContextStub.
Port cac64b9f63

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}
2015-07-27 20:12:26 +00:00
bmeurer
cac64b9f63 [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}
2015-07-27 18:45:36 +00:00
mbrandy
ee70ad1be7 PPC: Cross-script variables handling fixed. It was possible to write to read-only global variable.
Port 156042f7f7

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}
2015-07-27 18:01:36 +00:00
mbrandy
b8adca9668 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}
2015-07-27 17:59:43 +00:00
mbrandy
12f433e274 PPC: VectorICs: vector [keyed]store ic MISS handling infrastructure.
Port a913f4bf5c

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}
2015-07-27 17:58:23 +00:00
adamk
6f4c0614d5 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}
2015-07-27 15:58:41 +00:00
michael_dawson
6e9005710a 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}
2015-07-27 15:14:13 +00:00
machenbach
2fdebc0407 [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}
2015-07-27 14:57:06 +00:00
yangguo
f67455174b 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}
2015-07-27 14:20:10 +00:00
mlippautz
05aedb7738 Add regression test for issue 507979.
Regression test for CL 3eb91e8aec.

BUG=chromium:507979
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#29873}
2015-07-27 13:29:28 +00:00
jochen
607ef7c600 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}
2015-07-27 13:19:36 +00:00
yangguo
3069c43813 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}
2015-07-27 13:15:26 +00:00
mvstanton
a913f4bf5c VectorICs: vector [keyed]store ic MISS handling infrastructure.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#29870}
2015-07-27 12:50:19 +00:00
yangguo
48e38e569c 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}
2015-07-27 11:52:42 +00:00
jochen
2714ee5539 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}
2015-07-27 11:51:23 +00:00
mbrandy
4ad22295d4 PPC: [stubs] Optimize LoadGlobalViaContextStub and StoreGlobalViaContextStub.
Port d6ee366d5c

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}
2015-07-27 11:20:11 +00:00
yangguo
e01f34fae6 Revert "In RegExp, lastIndex is read with ToLength, not ToInteger"
This reverts commit 1f61ac5033.

TBR=littledan@chromium.org
BUG=chromium:513160
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#29866}
2015-07-27 10:58:53 +00:00
chunyang.dai
5c5c55fb94 X87: implement MathPow stub for X87.
In CL 0fe2fbd173 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}
2015-07-27 10:05:43 +00:00
hpayer
20ebc602c7 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}
2015-07-27 09:49:13 +00:00
yangguo
30392b5ea5 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}
2015-07-27 08:32:20 +00:00
yangguo
d2b4133c72 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}
2015-07-27 08:06:10 +00:00