Commit Graph

19933 Commits

Author SHA1 Message Date
ulan
d703e87531 Reserve code range block for evacuation.
If we run out of code range, then GC wouldn't be able to compact code space,
because it wouldn't be able to allocate a new page. This can cause code space
fragmentation and OOM crashes.

BUG=chromium:430118
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#25441}
2014-11-20 14:52:35 +00:00
dcarney
b11825fe94 [turbofan] More aggressive reuse of spill slots in the register allocator.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#25440}
2014-11-20 14:41:08 +00:00
Daniel Clifford
5a494cf00c [turbofan]: More optimizations to add and subtract operations on x64
- Use "leal" for subtraction of integer constant when non-constant input to
  subtract is used more than once.
- Use "incl", "decl", and "addl" when they are smaller/cheaper than their
  leal/addl/subl equivalant.

R=titzer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25439}
2014-11-20 13:48:46 +00:00
Rodolph Perfetta
481772acdd [turbofan] remove redundant '& 0x1F' for shifts.
JavaScript shifts perform an implicit '& 0x1F' on their right operand, this
patch removes it when the underlying architecture already does it.

BUG=
R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25438}
2014-11-20 13:09:26 +00:00
mstarzinger
6d41045ba4 Enable TurboFan for Win64 targets.
R=mvstanton@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25437}
2014-11-20 11:51:11 +00:00
Andreas Rossberg
4f63564700 Fix lower bound violation
R=jarin@chromium.org
BUG=433332
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25436}
2014-11-20 11:22:49 +00:00
Andreas Rossberg
1808badc2d Disable classes in sloppy mode unless --harmony-sloppy is set
Also clean up flag names a little.

Baseline: https://codereview.chromium.org/713413003/

R=arv@chromium.org, dslomov@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#25435}
2014-11-20 10:52:03 +00:00
balazs.kilvady
fbcfce69aa Conditional flags for tests - set JS stack size for simulators.
There are separated JS and C stacks on simulators so for some stack
extensive tests (like mozilla/js1_5/extensions/regress-355497) might
cause a C stack overflow and that overflow is not caught by V8. It is
not an issue on real HW. Increasing the C stack also solves the problem
but we have already FLAG_sim_stack_size flag to control the JS stack
size.

This patch makes it possible to add flags to tests conditionally in
.status files.

TEST=mozilla/js1_5/extensions/regress-355497
BUG=v8:3152
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25434}
2014-11-20 09:47:00 +00:00
yangguo
529ff0cfbf Implement log10 via fdlibm port.
R=rtoy@chromium.org
BUG=v8:3579
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25433}
2014-11-20 09:37:27 +00:00
machenbach
b3acdf5347 Revert of Rename String.prototype.contains to 'includes'. (patchset #1 id:1 of https://codereview.chromium.org/742963002/)
Reason for revert:
Breaks test262-es6:
http://build.chromium.org/p/client.v8/builders/V8%20Linux/builds/1289

Original issue's description:
> Rename String.prototype.contains to 'includes'.
>
> Per TC39 Nov 2014 decison.
>
> R=arv@chromium.org,yangguo@chromium.org
> LOG=Y
>
> Committed: b5379216e2

TBR=arv@chromium.org,yangguo@chromium.org,dslomov@chromium.org
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#25432}
2014-11-20 09:03:54 +00:00
jochen
821736a674 Remove --clever-optimizations
We should always be clever

BUG=none
R=hpayer@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#25431}
2014-11-20 08:54:42 +00:00
dslomov
2dae17fb87 Rename String.prototype.contains to 'includes'.
Per TC39 Nov 2014 decison.

R=arv@chromium.org,yangguo@chromium.org
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#25430}
2014-11-20 00:32:13 +00:00
dslomov
69990745f7 Remove Weak{Map,Set}.prototype.clear.
Per Nov 2014 TC39 decision.

R=adamk@chromium.org
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#25429}
2014-11-19 21:53:01 +00:00
arv
b6c9a62c37 Reduce ErrorsFutureStrictReservedWords test to make it faster
Since checking all possible combinations is taking so long this
reduces the test to test the odd cases (let, yield and static) as
well as a single ordinary case.

BUG=v8:3707
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#25428}
2014-11-19 20:31:08 +00:00
ishell
40d4674d61 Removed unnecessary generalization of all fields in Map::GeneralizeRepresentation() (introduced in r25082).
This generalization caused unnecessary map deprecation when the transition tree of the split map is full.

BUG=chromium:431807
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25427}
2014-11-19 18:10:30 +00:00
dcarney
dd99a31334 [turbofan]: delay ssa deconstruction in register allocator
BUG=

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

Cr-Commit-Position: refs/heads/master@{#25426}
2014-11-19 16:23:40 +00:00
Dusan Milosavljevic
ca86a6f942 MIPS64: Prepare additonal code for turbofan landing.
TEST=
BUG=
R=paul.lind@imgtec.com

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

Cr-Commit-Position: refs/heads/master@{#25425}
2014-11-19 16:08:31 +00:00
Dusan Milosavljevic
ae9130ebbb MIPS64: Add turbofan support for mips64.
TEST=
BUG=
R=danno@chromium.org, paul.lind@imgtec.com

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

Cr-Commit-Position: refs/heads/master@{#25424}
2014-11-19 15:44:46 +00:00
aandrey
f07b0f214b Allow stepping into Object.observe handlers.
BUG=chromium:432468
R=yangguo@chromium.org, adamk@chromium.org
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25423}
2014-11-19 15:16:40 +00:00
yangguo
24c36ff71c One instead of two runtime calls when initializing regexp.
R=ulan@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25422}
2014-11-19 14:13:49 +00:00
Michael Stanton
cfa1f94781 Revert "Re-land r25392 Use a stub in crankshaft for grow store arrays."
Due to performance issue.
TBR=danno@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25421}
2014-11-19 14:08:43 +00:00
yurys
b593aa8c34 Enable "strict mode"; for debugger scripts
BUG=v8:3708

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

Cr-Commit-Position: refs/heads/master@{#25420}
2014-11-19 13:29:56 +00:00
machenbach
2d1fd2b566 Update default trybots.
Add new gn trybot and remove nosnap dbg for being too slow.
It can be used on demand.

BUG=chromium:353487
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#25419}
2014-11-19 13:00:16 +00:00
paul.lind
4641d93f89 MIPS: Skip some tests on big-endian boards.
Skip one hard fail, and two frequent flakes while we investigate.

BUG=
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#25418}
2014-11-19 12:52:11 +00:00
ishell
f3d1888fdb PropertyDetails cleanup: NORMAL property type merged with FIELD.
First step towards replacing PropertyType with two enums: {DATA,ACCESSOR} x {CONST,WRITABLE}.

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

Cr-Commit-Position: refs/heads/master@{#25417}
2014-11-19 11:45:34 +00:00
yangguo
472f8823a7 Do fewer encoding checks in FlatStringReader used in the JSON stringifier.
R=ishell@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25416}
2014-11-19 11:17:01 +00:00
Yury Semikhatsky
2ad2237507 Fix Unhandled ReferenceError in debug-debugger.js
This fixes following exception in Sky on attempt to set a breakpoint
"Unhandled: Uncaught ReferenceError: break_point is not defined"
I think this happens in Sky but not in Chrome because Sky scripts are executed in strict mode.

BUG=None
LOG=N
R=yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25415}
2014-11-19 10:25:41 +00:00
chunyang.dai
b3176392b9 X87: Re-land r25392 Use a stub in crankshaft for grow store arrays.
port 47f55baeaf (r25397)

original commit message:

  Re-land r25392 Use a stub in crankshaft for grow store arrays.

  Code was vulnerable to different evaluation order in Clang.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#25414}
2014-11-19 09:28:17 +00:00
Dan Carney
7dcaa2652a fix typo in pipeline.cc
TBR=bmeurer@chromium.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#25413}
2014-11-19 08:55:26 +00:00
Benedikt Meurer
a39b2f5008 [turbofan] Smartify typing of NumberToInt32 and NumberToUint32.
According to ES5 9.5 and 9.6, NaN, -inf, +inf, -0 and 0 all truncate to
zero for both ToInt32 and ToUint32, so we can be a lot smarter in the
typer, loosing less information upon truncation (i.e. x | 0 and x >>> 0).

R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25412}
2014-11-19 07:40:31 +00:00
Benedikt Meurer
21580e7b79 Revert "Forward declaration for Isolate / Platform in libplatform.h." and "Fixes d8 on windows following.".
This reverts commit 0f57ce8f1a.
and 3245b8cb83 for breaking Chromium
compile.

TBR=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25411}
2014-11-19 07:28:07 +00:00
caitpotter88
99a9d68d94 Implement ES6 String.raw behind --harmony-templates
BUG=

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

Cr-Commit-Position: refs/heads/master@{#25410}
2014-11-19 04:44:44 +00:00
bulach
3245b8cb83 Fixes d8 on windows following.
Broke by https://codereview.chromium.org/740493002/

BUG=
NOTRY=true
NOTREECHECKS=true

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

Cr-Commit-Position: refs/heads/master@{#25409}
2014-11-18 21:11:27 +00:00
bulach
0f57ce8f1a Forward declaration for Isolate / Platform in libplatform.h.
Reduces dependencies on #include files, making it easier for other
build systems to include this library.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#25408}
2014-11-18 20:29:37 +00:00
arv
d5d15253b8 Classes: Expand test to cover strict runtime behavior
This tests that the extends expression is treated as strict at
runtime and not just at parse time.

BUG=v8:3330
LOG=Y
R=dslomov@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25407}
2014-11-18 19:00:15 +00:00
dslomov
ca8eaef638 harmony-scoping: better error messages for let declarations in sloppy mode.
R=rossberg@chromium.org
BUG=v8:2198
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25406}
2014-11-18 18:51:26 +00:00
cullinan
55999dcb6f Copy unittests binary in android-sync.sh
Without this change, `make android_arm.release.check` fails since the
unittests binary does not exist on the device.

BUG=v8:3695
LOG=

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

Cr-Commit-Position: refs/heads/master@{#25405}
2014-11-18 18:36:57 +00:00
Balazs Kilvady
a08a730a8d MIPS: Re-land r25392 Use a stub in crankshaft for grow store arrays.
Port 47f55baeaf

Original commit message:
Code was vulnerable to different evaluation order in Clang.

BUG=
R=paul.lind@imgtec.com

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

Patch from Balazs Kilvady <balazs.kilvady@imgtec.com>.

Cr-Commit-Position: refs/heads/master@{#25404}
2014-11-18 18:22:25 +00:00
mstarzinger
0518a68bac Use ZoneVector instead of ZoneList in the graph builder.
R=titzer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25403}
2014-11-18 17:48:57 +00:00
yangguo
cfccf397d0 v8::String::Concat must not throw.
R=dcarney@chromium.org
BUG=chromium:420240
LOG=Y
API=v8::String::Concat may return empty handle on overflow.

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

Cr-Commit-Position: refs/heads/master@{#25402}
2014-11-18 15:51:16 +00:00
mstarzinger
bbf4858849 Remove ambiguous getter for operator value counts.
R=titzer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25401}
2014-11-18 15:45:36 +00:00
yangguo
5bea77f786 Fix disabling all break points from within the debug event callback.
BUG=chromium:432493
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#25400}
2014-11-18 14:57:48 +00:00
mstarzinger
a6388878da Fix loop information computation for floating loops.
R=jarin@chromium.org
TEST=cctest/test-scheduler/LoopedFloatingDiamond3

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

Cr-Commit-Position: refs/heads/master@{#25399}
2014-11-18 14:56:00 +00:00
Michael Achenbach
8d042464d9 Prototype for a client-side performance trybot script.
BUG=chromium:374740
LOG=n
TEST=tools/try_perf.py sunspider octane
R=phajdan.jr@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25398}
2014-11-18 14:40:00 +00:00
Michael Stanton
47f55baeaf Re-land r25392 Use a stub in crankshaft for grow store arrays.
Code was vulnerable to different evaluation order in Clang.

R=danno@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25397}
2014-11-18 14:31:00 +00:00
rickyz
64a96f5a7e Use 16 instead of 4 for determining member offsets.
This avoids UBSan warnings about unaligned memory access.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#25396}
2014-11-18 14:09:34 +00:00
alexanderk
c2c0d4ae54 Fix include mistakes
1) Missing <stdio.h> while using fopen, fclose, fseek etc
2) platform-linux.cc includes <sys/types.h> wtice

BUG=v8:3691

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

Cr-Commit-Position: refs/heads/master@{#25395}
2014-11-18 13:47:10 +00:00
Jakob Kummerow
c177910d92 Fix IC handler cache clearing for JSBuiltinsObject
The clearing mechanism relies on comparing the cached handler with the installed handler. If we try to preserve monomorphism by pretending that the IC was in uninitialized state, then it will go premonomorphic first, which means on the next miss there's no installed handler available to compare against. Instead, pretend it was premonomorphic, so the comparison will happen right away, will fail as it should, and the cached handler will be cleared.

Thanks to Weiliang for starting the investigation that led to this.

R=verwaest@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25394}
2014-11-18 13:35:48 +00:00
Michael Stanton
77ee440af1 Revert "Use a stub in crankshaft for grow store arrays."
This reverts commit d40204f84c.

TBR=danno@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25393}
2014-11-18 13:08:07 +00:00
Michael Stanton
d40204f84c Use a stub in crankshaft for grow store arrays.
We were deopting without learning anything.

BUG=v8:3417
LOG=N
R=danno@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25392}
2014-11-18 12:32:24 +00:00