Commit Graph

20752 Commits

Author SHA1 Message Date
alph
87e4bba31e Support multiple interrupt requests in v8 API.
There might be a number of clients that would like to
setup an interrupt request on the Isolate.

The patch also deprecates ClearInterrupt API. As long as
the interrupt handler is called outside of locks there's no way
to guarantee that the handler will not be called after
ClearInterrupt was invoked as it might have already started execution.

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

Cr-Commit-Position: refs/heads/master@{#25910}
2014-12-20 07:54:19 +00:00
v8-autoroll
600354826b Update V8 DEPS.
Rolling v8/buildtools to 23a4e2f545c7b6340d7e5a2b74801941b0a86535

TBR=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25909}
2014-12-20 04:30:53 +00:00
adamk
1f1329d960 Use SetOwnElement when creating splice records in array length setter
This avoids touching the Array prototype, which may have been tampered with.

BUG=chromium:443982
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#25908}
2014-12-19 19:39:35 +00:00
mvstanton
ad033893d6 Vector-based ICs also need to hold maps weakly.
Regular ICs in MONOMORPHIC and POLYMORPHIC state now hold onto maps with
WeakCells. Vector-based ICs should do the same.

R=ulan@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25907}
2014-12-19 16:53:49 +00:00
ulan
5ac1f8dabb MIPS64: Use weak cell in LoadGlobal handler.
Port bc0d2e237b

BUG=v8:3629
LOG=N
TBR=mvstanton@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25906}
2014-12-19 15:48:57 +00:00
ulan
31de02151b Use weak cell to embed map in CompareNil IC.
BUG=v8:3629
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25905}
2014-12-19 14:51:25 +00:00
Benedikt Meurer
c05d7b059d [turbofan] false is also falsish.
R=titzer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25904}
2014-12-19 14:09:06 +00:00
mvstanton
efd1f3ea2d Follow-on to hydrogen fix keyed loads with string keys for vector ics.
r25817 optimized hydrogen keyed loads with string keys.
(https://codereview.chromium.org/755513003).
This CL adapts that work for the vector-ic keyed load.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#25903}
2014-12-19 13:41:07 +00:00
ulan
bc0d2e237b Use weak cell in LoadGlobal handler.
BUG=v8:3629
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25902}
2014-12-19 13:28:56 +00:00
Benedikt Meurer
f7e4689061 [turbofan] Fix unsafe out-of-bounds check for checked loads/stores.
BUG=chromium:443744
LOG=y
TEST=mjsunit/compiler/regress-443744
R=svenpanne@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25901}
2014-12-19 12:53:29 +00:00
Sven Panne
50b7ca5593 Improved --trace-opt output a bit.
This ensures that we always have a kind of "brace" around the actual compilation
with --trace-opt. Previously this was coupled to --trace-hydrogen for
Crankshaft, and there was no output at the start of the compilation for
TurboFan.

Removed redundant "[completed...]" output: Whenever the compilation was
successful, we have already printed "[optimizing...took...]".

Output total TurboFanning time with --trace-opt, too (basically as graph
building time, this is rather arbitrary).

R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25900}
2014-12-19 11:47:27 +00:00
Benedikt Meurer
0c96a8b197 [mips] Fix typos introduced by previous commit.
R=svenpanne@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25899}
2014-12-19 11:34:50 +00:00
arajp
f4fb702569 Make FlushICache NOP for Nvidia Denver CPU's.
Denver supports a coherent cache mechanism. There is no need to clean
the D cache and invalidate I cache. MTS has to check the translation
anytime there is an I cache invalidate and this time can be saved by
making FlushICache a NOP.

The patch improves Octane by roughly 3-4% on Denver.

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

Cr-Commit-Position: refs/heads/master@{#25898}
2014-12-19 11:16:36 +00:00
bmeurer
31c66e2d53 Remove obsolete V8_INFINITY macro.
Use std::numeric_limits consistently.

R=svenpanne@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25897}
2014-12-19 07:18:00 +00:00
bmeurer
efd8fd5612 [turbofan] Improve JSToBoolean typing.
R=svenpanne@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25896}
2014-12-19 07:10:32 +00:00
caitpotter88
233f2d2bf1 Simplify scanner and generate better error message for legacy octals in templates
LOG=N
BUG=
R=arv@chromium.org, dslomov@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25895}
2014-12-18 22:01:41 +00:00
v8-autoroll
b494f5cdb8 Update V8 DEPS.
Rolling v8/third_party/icu to 51c1a4ce5f362676aa1f1cfdb5b7e52edabfa5aa

TBR=machenbach@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#25894}
2014-12-18 21:57:46 +00:00
jochen
333a92bd5e Define SDKROOT for Mac
otherwise, the clang we ship doesn't work

BUG=none
R=adamk@chromium.org,thakis@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#25893}
2014-12-18 20:42:46 +00:00
arv
6e888ca864 Ship ES6 template literals
BUG=v8:3230
LOG=Y
R=dslomov@chromium.org, caitpotter88@gmail.com

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

Cr-Commit-Position: refs/heads/master@{#25892}
2014-12-18 20:12:08 +00:00
arv
c05a4036b0 ES6 template literals should not use legacy octal strings
Correctly handle SyntaxErrors in escape sequences.

BUG=v8:3736
LOG=Y
R=dslomov@chromium.org, caitpotter88@gmail.com

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

Cr-Commit-Position: refs/heads/master@{#25891}
2014-12-18 19:41:58 +00:00
hpayer
e89318138c Reland Shrink initial old generation size based on new space survival rate.
I picked a more conservative start value this time of half max old generation size.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#25890}
2014-12-18 16:55:55 +00:00
erikcorry
3ff951943f Phantom references support internal fields
BUG=

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

Cr-Commit-Position: refs/heads/master@{#25889}
2014-12-18 16:10:15 +00:00
machenbach
1f44e7267e Revert of [turbofan] simplify gap ordering (patchset #2 id:20001 of https://codereview.chromium.org/810013002/)
Reason for revert:
Revert for breaking emscripten bullet with turbofan on android arm64.

Original issue's description:
> [turbofan] simplify gap ordering
>
> BUG=
>
> Committed: https://crrev.com/70b5eb47b39acbf31746f4a116a9b3ce2730218a
> Cr-Commit-Position: refs/heads/master@{#25865}

TBR=bmeurer@chromium.org,dcarney@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#25888}
2014-12-18 15:49:58 +00:00
ulan
2bc756e4b3 Retain maps for several garbage collections
This keeps dying maps alive for FLAG_retain_maps_for_n_gc garbage collections to increase chances of them being reused for new objects in future.

BUG=v8:3664
LOG=N
TEST=cctest/test-heap/MapRetaining

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

Cr-Commit-Position: refs/heads/master@{#25887}
2014-12-18 15:44:37 +00:00
machenbach
40f45ab255 Revert of [turbofan] Skip printing of empty gap moves. (patchset #1 id:1 of https://codereview.chromium.org/812983002/)
Reason for revert:
Needed to revert 70b5eb47b3

Original issue's description:
> [turbofan] Skip printing of empty gap moves.
>
> R=bmeurer@chromium.org
> BUG=

TBR=bmeurer@chromium.org,titzer@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#25886}
2014-12-18 15:01:17 +00:00
jkummerow
76aab824fe Reduce impact of HParameter inputs on HPhi representation selection
This is a follow-up to r25153.

BUG=v8:3766
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#25885}
2014-12-18 14:50:07 +00:00
machenbach
70eb456e73 Revert of [turbofan] remove control field from instruction (patchset #1 id:1 of https://codereview.chromium.org/810023002/)
Reason for revert:
Needed to revert 70b5eb47b3

Original issue's description:
> [turbofan] remove control field from instruction
>
> R=titzer@chromium.org
> BUG=
>
> Committed: https://crrev.com/7b9cb2eb3764d0c807c669e397fc3b84fbefb175
> Cr-Commit-Position: refs/heads/master@{#25866}

TBR=titzer@chromium.org,dcarney@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#25884}
2014-12-18 14:42:16 +00:00
ulan
83e6c7fe26 Temporarily disable mjsunit/debug-stepframe for GC stress until
crash is fixed.

BUG=v8:3776
LOG=N
TBR=hpayer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25883}
2014-12-18 14:05:04 +00:00
ulan
9ffdae66e2 Monomorphic and polymorphic ICs with cleared maps should not go megamorphic.
BUG=v8:3663
TEST=cctest/test-heap/MonomorphicStaysMonomorphicAfterGC
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25882}
2014-12-18 13:09:43 +00:00
hpayer
377de64246 Make sure backing store pointer in handles get cleared after use in factory.
BUG=442710
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#25881}
2014-12-18 12:50:14 +00:00
svenpanne
bb65d40dbf Fixed -fsanitize=float-cast-overflow problems.
BUG=v8:3773
LOG=y

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

Cr-Commit-Position: refs/heads/master@{#25880}
2014-12-18 11:13:04 +00:00
jochen
a09168be68 Don't use AddSubstring for external natives
The input string is not necessarily zero terminated

BUG=chromium:443230
R=adamk@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#25879}
2014-12-18 11:01:54 +00:00
titzer
7edd6efd4e [turbofan] Skip printing of empty gap moves.
R=bmeurer@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#25878}
2014-12-18 09:41:53 +00:00
jochen
b34a7d23d2 Crash with an error message when ICU data files are missing
Before, we'd just crash.

BUG=v8:3348
R=svenpanne@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#25877}
2014-12-18 08:56:50 +00:00
machenbach
73b4c2b7c0 Add script to check for clusterfuzz issues.
BUG=443153
LOG=n
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#25876}
2014-12-18 08:44:14 +00:00
Benedikt Meurer
0925be14a2 [turbofan] Further reduction of Word32And with Int32Add.
- (y * (K << L) + x) & (-1 << L) => (x & (-1 << L)) + y * (K << L)
- (x + y * (K << L)) & (-1 << L) => (x & (-1 << L)) + y * (K << L)

TEST=unittests
R=svenpanne@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25875}
2014-12-18 08:42:57 +00:00
Benedikt Meurer
bc2f2774a4 [turbofan] Also run MachineOperatorReducer in SimplifiedLoweringPhase.
R=svenpanne@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25874}
2014-12-18 07:47:43 +00:00
erikcorry
389c275b4f Mozilla test status: Assign bug number to quadratic assembler arm64 issue & misc regexp cleanup
R=marja@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#25873}
2014-12-17 23:13:19 +00:00
machenbach
7d48fd9dc2 Revert of ES6 computed property names (patchset #1 id:1 of https://codereview.chromium.org/792233008/)
Reason for revert:
[sheriff] Still crashes on win32 (XP):
http://build.chromium.org/p/client.v8/builders/V8%20Win32%20-%201/builds/1380

Original issue's description:
> ES6 computed property names
>
> This adds support for computed property names, under the flag
> --harmony-computed-property-names, for both object literals and
> classes.
>
> This is a revert of the revert, a76419f0f4.
>
> This changes to do an early bailout in
> HOptimizedGraphBuilder::VisitObjectLiteral instead of doing that in the later
> loop.
>
> BUG=v8:3754
> LOG=Y
> TBR=dslomov@chromium.org

TBR=dslomov@chromium.org,arv@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=v8:3754

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

Cr-Commit-Position: refs/heads/master@{#25872}
2014-12-17 19:47:12 +00:00
Michael Achenbach
486e375963 Whitespace change to trigger bots.
Cr-Commit-Position: refs/heads/master@{#25871}
2014-12-17 19:43:36 +00:00
Michael Achenbach
966e52f635 Whitespace change to trigger bots.
Cr-Commit-Position: refs/heads/master@{#25870}
2014-12-17 19:10:33 +00:00
Michael Achenbach
4a37d99229 Whitespace change to trigger bots.
Cr-Commit-Position: refs/heads/master@{#25869}
2014-12-17 19:07:50 +00:00
arv
cc568d1b7a ES6 computed property names
This adds support for computed property names, under the flag
--harmony-computed-property-names, for both object literals and
classes.

This is a revert of the revert, a76419f0f4.

This changes to do an early bailout in
HOptimizedGraphBuilder::VisitObjectLiteral instead of doing that in the later
loop.

BUG=v8:3754
LOG=Y
TBR=dslomov@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25868}
2014-12-17 18:38:55 +00:00
dcarney
44e2dd535e [turbofan] move assembly order to InstructionBlock
R=titzer@chromium.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#25867}
2014-12-17 15:10:03 +00:00
dcarney
7b9cb2eb37 [turbofan] remove control field from instruction
R=titzer@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#25866}
2014-12-17 14:10:46 +00:00
dcarney
70b5eb47b3 [turbofan] simplify gap ordering
BUG=

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

Cr-Commit-Position: refs/heads/master@{#25865}
2014-12-17 13:37:56 +00:00
dcarney
84345afbfb [turbofan] use START and END gap positions for constraints
R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25864}
2014-12-17 12:13:58 +00:00
Benedikt Meurer
a7d8724188 [turbofan] Improve reduction of Word32And and Int32Add.
TEST=unittests
R=svenpanne@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25863}
2014-12-17 11:34:39 +00:00
hpayer
83849a347c Revert of Shrink initial old generation size based on new space survival rate. (patchset #7 id:140001 of https://codereview.chromium.org/785593002/)
Reason for revert:
Performance regressions.

Original issue's description:
> Shrink initial old generation size based on new space  survival rate.
>
> BUG=
>
> Committed: https://crrev.com/37f9bb72b9c7ea4eccef6cb6533b3c42792fb5e6
> Cr-Commit-Position: refs/heads/master@{#25850}

TBR=jochen@chromium.org,ulan@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#25862}
2014-12-17 11:17:40 +00:00
Benedikt Meurer
d0a7ef938a [turbofan] Recursively reduce new inputs of changed nodes.
The GraphReducer should recurse into new inputs after a node was
changed. Most of the reducers already assume this behavior, and it
mostly worked by accident in many cases.

R=svenpanne@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25861}
2014-12-17 10:31:52 +00:00