v8-autoroll [Wed, 8 Apr 2015 03:39:22 +0000 (20:39 -0700)]
Update V8 DEPS.
Rolling v8/tools/clang to
7ec0c52c7a66cd94c96b8eb37bacd26d152e40e6
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1070533002
Cr-Commit-Position: refs/heads/master@{#27645}
balazs.kilvady [Tue, 7 Apr 2015 21:12:13 +0000 (14:12 -0700)]
MIPS64: Fix typo of 'Always update raw pointers when handling interrupts inside RegExp code.'
Port
c67cb287a901ddf03d4ae4dafcf431d09fd3e22c
BUG=
Review URL: https://codereview.chromium.org/
1061363003
Cr-Commit-Position: refs/heads/master@{#27644}
balazs.kilvady [Tue, 7 Apr 2015 21:11:05 +0000 (14:11 -0700)]
MIPS64: Make --always-opt also optimize top-level code.
Port
2d281e71ac49058ef5696f4255ff1fa30796bc5e
Original commit message:
This enables eager optimization of top-level code with TurboFan and
extends test coverage by triggering it with the --always-opt flag.
Script contexts are now also properly allocated in TurboFan.
BUG=
Review URL: https://codereview.chromium.org/
1066843005
Cr-Commit-Position: refs/heads/master@{#27643}
adamk [Tue, 7 Apr 2015 20:09:57 +0000 (13:09 -0700)]
Disable another debug test under turbo always-opt
TBR=mstarzinger@chromium.org
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
1064133002
Cr-Commit-Position: refs/heads/master@{#27642}
adamk [Tue, 7 Apr 2015 19:52:17 +0000 (12:52 -0700)]
Use NumberIsNaN in collections.js and make it inlined
Review URL: https://codereview.chromium.org/
1067933002
Cr-Commit-Position: refs/heads/master@{#27641}
machenbach [Tue, 7 Apr 2015 19:42:32 +0000 (12:42 -0700)]
[release-tools] Only read from the chromium checkout in v8rel.
Don't create local branches or otherwise manipulate the
checkout. This reads refs from remote branches and
reads file contents using show. It is faster and requires
less bootstrapping and cleanup.
TBR=tandrii@chromium.org
NOTRY=true
Review URL: https://codereview.chromium.org/
1060013003
Cr-Commit-Position: refs/heads/master@{#27640}
caitpotter88 [Tue, 7 Apr 2015 19:28:33 +0000 (12:28 -0700)]
[es6] emit error when for-in loop declarations are initialized in strict mode
The ES6 grammar forbids the initialization of variable declarations in IterationStatements.
This CL will report `for (var x = y in z)` as a SyntaxError in strict mode (as done in JSC). It is possible that this could break sites in sloppy mode, and so that change can wait.
BUG=
R=
LOG=N
Review URL: https://codereview.chromium.org/
1033823002
Cr-Commit-Position: refs/heads/master@{#27639}
adamk [Tue, 7 Apr 2015 19:00:34 +0000 (12:00 -0700)]
Simplify collections.js now that it's wrapped in an IIFE
Also wrap templates.js in an IIFE to avoid unnecessary pollution
of the builtins object.
Review URL: https://codereview.chromium.org/
1067903004
Cr-Commit-Position: refs/heads/master@{#27638}
erikcorry [Tue, 7 Apr 2015 17:22:10 +0000 (10:22 -0700)]
More robust when allocation fails during compaction
R=ulan@chromium.org
BUG=chromium:473307
LOG=yes
Review URL: https://codereview.chromium.org/
1068833002
Cr-Commit-Position: refs/heads/master@{#27637}
mstarzinger [Tue, 7 Apr 2015 17:06:12 +0000 (10:06 -0700)]
Disabled failing tests after
2d281e71ac49.
R=titzer@chromium.org
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
1065983002
Cr-Commit-Position: refs/heads/master@{#27636}
verwaest [Tue, 7 Apr 2015 16:11:20 +0000 (09:11 -0700)]
Simplify instanceof optimization; don't duplicate lookup
BUG=
Review URL: https://codereview.chromium.org/
1066873002
Cr-Commit-Position: refs/heads/master@{#27635}
balazs.kilvady [Tue, 7 Apr 2015 15:59:00 +0000 (08:59 -0700)]
MIPS: JSEntryTrampoline: check for stack space before pushing arguments
Port
146598f44a1efd0f942745abfd6c08a073972c01
Original commit message:
Optimistically pushing a lot of arguments can run into the stack limit of the process, at least on operating systems where this limit is close to the limit that V8 sets for itself.
BUG=chromium:469768
LOG=y
Review URL: https://codereview.chromium.org/
1066843003
Cr-Commit-Position: refs/heads/master@{#27634}
mstarzinger [Tue, 7 Apr 2015 15:44:16 +0000 (08:44 -0700)]
Make --always-opt also optimize top-level code.
This enables eager optimization of top-level code with TurboFan and
extends test coverage by triggering it with the --always-opt flag.
Script contexts are now also properly allocated in TurboFan.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
1053063003
Cr-Commit-Position: refs/heads/master@{#27633}
mvstanton [Tue, 7 Apr 2015 15:16:48 +0000 (08:16 -0700)]
MIPS: Fix compilation error.
BUG=
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
1068723006
Cr-Commit-Position: refs/heads/master@{#27632}
mvstanton [Tue, 7 Apr 2015 14:49:59 +0000 (07:49 -0700)]
Vector-ICs - speed towards the monomorphic exit as quickly as possible.
Thanks to some careful assumptions, we can examine the object found at
vector[slot] and trust it's a heap object where the second field is
either a map if it's a WeakCell, or definitely not a map if it's a
Symbol, String or FixedArray. Use this to save a memory read.
BUG=
Review URL: https://codereview.chromium.org/
1032163002
Cr-Commit-Position: refs/heads/master@{#27631}
mvstanton [Tue, 7 Apr 2015 13:39:32 +0000 (06:39 -0700)]
Code cleanup in GenerateRecordCallTarget.
BUG=
Review URL: https://codereview.chromium.org/
1057613003
Cr-Commit-Position: refs/heads/master@{#27630}
yangguo [Tue, 7 Apr 2015 13:38:22 +0000 (06:38 -0700)]
Add yangguo@chromium.org to src/snapshot/OWNERS and WATCHLISTS
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
1060683003
Cr-Commit-Position: refs/heads/master@{#27629}
machenbach [Tue, 7 Apr 2015 13:30:49 +0000 (06:30 -0700)]
Revert of CpuProfiler: public API for deopt info in cpu profiler. (patchset #6 id:150001 of https://codereview.chromium.org/
1045753002/)
Reason for revert:
[Sheriff] Breaks compile here:
http://build.chromium.org/p/client.v8/builders/V8%20Win32%20-%20nosnap%20-%20shared/builds/6115
Original issue's description:
> CpuProfiler: public API for deopt info in cpu profiler.
>
> BUG=chromium:452067
> LOG=n
>
> Committed: https://crrev.com/
baf927ff5115ec62a6dad684b9232ed9d3960e3a
> Cr-Commit-Position: refs/heads/master@{#27626}
TBR=alph@chromium.org,jkummerow@chromium.org,svenpanne@chromium.org,yurys@chromium.org,loislo@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:452067
Review URL: https://codereview.chromium.org/
1062053004
Cr-Commit-Position: refs/heads/master@{#27628}
jkummerow [Tue, 7 Apr 2015 12:47:39 +0000 (05:47 -0700)]
Fix missing SmiTag in failure path of r27614
BUG=chromium:469768
LOG=n
Review URL: https://codereview.chromium.org/
1061263003
Cr-Commit-Position: refs/heads/master@{#27627}
loislo [Tue, 7 Apr 2015 12:40:41 +0000 (05:40 -0700)]
CpuProfiler: public API for deopt info in cpu profiler.
BUG=chromium:452067
LOG=n
Review URL: https://codereview.chromium.org/
1045753002
Cr-Commit-Position: refs/heads/master@{#27626}
yangguo [Tue, 7 Apr 2015 12:21:34 +0000 (05:21 -0700)]
Debugger: remove debug command API.
Instead, please use v8::Isolate::RequestInterrupt to synchronize
to the main thread.
R=yurys@chromium.org
API=Removed v8::Debug::DebugBreakForCommand
LOG=Y
Review URL: https://codereview.chromium.org/
1036863002
Cr-Commit-Position: refs/heads/master@{#27625}
martyn.capewell [Tue, 7 Apr 2015 11:34:33 +0000 (04:34 -0700)]
ARM64: Support sign extend for add and subtract
Support sxtb and sxth extend operators on add and subtract, as we've
done for ubtx/h. This is similar to ARM support for sxtab/h.
BUG=
Review URL: https://codereview.chromium.org/
1064813003
Cr-Commit-Position: refs/heads/master@{#27624}
hpayer [Tue, 7 Apr 2015 11:31:57 +0000 (04:31 -0700)]
Reland "Merge old data and pointer space."
This reverts commit
cbfcee557503514bef20abdfc78ceb262c9c4d64.
BUG=
Review URL: https://codereview.chromium.org/
1051233002
Cr-Commit-Position: refs/heads/master@{#27623}
machenbach [Tue, 7 Apr 2015 11:28:18 +0000 (04:28 -0700)]
[release-tools] Fix v8rel in branch period.
In case the v8 revision in chromium was set to an older
revision that's not in the list of recent v8 releases, the
script will bail out too early. This changes iterates over
10 more revisions, which should cover all exceeding revisions
in branch period.
NOTRY=true
TBR=hablich@chromium.org
Review URL: https://codereview.chromium.org/
1067793002
Cr-Commit-Position: refs/heads/master@{#27622}
bmeurer [Tue, 7 Apr 2015 11:24:15 +0000 (04:24 -0700)]
[heap] Assert that code objects are always properly aligned.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
1059903004
Cr-Commit-Position: refs/heads/master@{#27621}
titzer [Tue, 7 Apr 2015 11:00:40 +0000 (04:00 -0700)]
[turbofan] Rework handling of loop exits in loop peeling.
This CL primarily makes the loop peeling algorithm more robust; it no longer damages the graph if the loops are improperly closed.
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1052753004
Cr-Commit-Position: refs/heads/master@{#27620}
Jochen Eisinger [Tue, 7 Apr 2015 10:59:43 +0000 (12:59 +0200)]
Remove support for thread-based recompilation
BUG=v8:3608
R=yangguo@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/
966653002
Cr-Commit-Position: refs/heads/master@{#27619}
bmeurer [Tue, 7 Apr 2015 10:43:56 +0000 (03:43 -0700)]
[ia32] Match -0 - x with sign bit flip.
We can use xorps/xorpd on Intel CPUs to flip the sign bit. Ideally we'd
use an absolute 128-bit constant in the code object, as OCaml/GCC
does, however that requires 128-bit alignment for code objects,
which is not yet implemented. So for now we materialize the mask
inline.
As drive-by-fix, don't hardcode xmm0 as scratch double register.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
1064833002
Cr-Commit-Position: refs/heads/master@{#27618}
jkummerow [Tue, 7 Apr 2015 10:42:45 +0000 (03:42 -0700)]
Move prototype metadata from internal properties to prototype maps
The motivation is that we prefer to avoid creating internal properties, and we have a usable field on maps ("transitions", which is not used for prototype maps).
This CL also ensures the invariant that prototype maps are never shared, even if they are in dictionary mode.
Review URL: https://codereview.chromium.org/
1033653002
Cr-Commit-Position: refs/heads/master@{#27617}
jochen [Tue, 7 Apr 2015 09:45:58 +0000 (02:45 -0700)]
Revert of Turn off overapproximation of the weak closure again (patchset #1 id:1 of https://codereview.chromium.org/
1050443002/)
Reason for revert:
this indeed drops the max major gc time considerable, so turn it back on
Original issue's description:
> Turn off overapproximation of the weak closure again
>
> As long as we still have to process global handles, the impact is not
> yet worthwhile
>
> BUG=v8:3862
> R=hpayer@chromium.org
> LOG=y
>
> Committed: https://crrev.com/
294cdc6aecbd7f76be68217da4b3d35901ebce4b
> Cr-Commit-Position: refs/heads/master@{#27570}
TBR=hpayer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3862
Review URL: https://codereview.chromium.org/
1068723003
Cr-Commit-Position: refs/heads/master@{#27616}
yangguo [Tue, 7 Apr 2015 09:44:47 +0000 (02:44 -0700)]
Always update raw pointers when handling interrupts inside RegExp code.
R=mstarzinger@chromium.org
BUG=chromium:469480
LOG=N
Review URL: https://codereview.chromium.org/
1034173002
Cr-Commit-Position: refs/heads/master@{#27615}
jkummerow [Tue, 7 Apr 2015 09:13:36 +0000 (02:13 -0700)]
JSEntryTrampoline: check for stack space before pushing arguments
Optimistically pushing a lot of arguments can run into the stack limit of the process, at least on operating systems where this limit is close to the limit that V8 sets for itself.
BUG=chromium:469768
LOG=y
Review URL: https://codereview.chromium.org/
1056913003
Cr-Commit-Position: refs/heads/master@{#27614}
titzer [Tue, 7 Apr 2015 09:03:28 +0000 (02:03 -0700)]
[turbofan] Introduce BranchMatcher and DiamondMatcher helpers.
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1054963002
Cr-Commit-Position: refs/heads/master@{#27613}
baptiste.afsa [Tue, 7 Apr 2015 08:48:14 +0000 (01:48 -0700)]
[turbofan][arm64] Match add with shifted operand for mult by a power of 2 plus 1.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
1056543002
Cr-Commit-Position: refs/heads/master@{#27612}
bmeurer [Tue, 7 Apr 2015 07:34:55 +0000 (00:34 -0700)]
[x64] Match -0 - x with sign bit flip.
We can use xorps/xorpd on Intel CPUs to flip the sign bit. Ideally we'd
use a RIP-relative 128-bit constant in the code object, as OCaml/GCC
does, however that requires 128-bit alignment for code objects, which is
not yet implemented. So for now we materialize the mask inline.
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
1046893002
Cr-Commit-Position: refs/heads/master@{#27611}
bmeurer [Tue, 7 Apr 2015 07:13:50 +0000 (00:13 -0700)]
[win32] Improve random mmap address generation on 64-bit.
Currently we only generate addresses in the range 2GiB to 4GiB, because
of a bug, when running in 64-bit mode. With this fix we now use the full
range 2GiB to 4096GiB.
BUG=v8:3997
LOG=n
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
1051303003
Cr-Commit-Position: refs/heads/master@{#27610}
svenpanne [Tue, 7 Apr 2015 07:12:42 +0000 (00:12 -0700)]
Rearranged intrinsic declarations according to their implementations.
Now every FOR_EACH_INTRINSIC_FOO sub-macro corresponds to a
src/runtime/runtime-FOO.cc file, even the order of runtime functions
within that file has been preserved in the corresponding macro, thanks
to some eye-hurting for/clang/sed/grep madness. ;-)
BUG=v8:3947
LOG=n
Review URL: https://codereview.chromium.org/
1056863002
Cr-Commit-Position: refs/heads/master@{#27609}
michael_dawson [Tue, 7 Apr 2015 07:06:39 +0000 (00:06 -0700)]
PPC: exclude test for AIX due to issue 2857
cctest/test-log/EquivalenceOfLoggingAndTraversal fails on
AIX because it does not correctly handle the full 64 bit
address space supported by AIX. SKIP until the issue
is resolved.
modified: test/cctest/cctest.status
R=danno@chromium.org, svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1055183002
Cr-Commit-Position: refs/heads/master@{#27608}
v8-autoroll [Tue, 7 Apr 2015 03:52:31 +0000 (20:52 -0700)]
Update V8 DEPS.
Rolling v8/third_party/icu to
10834e84d250eb31a73496bfdb7923eaa43ead51
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1055173004
Cr-Commit-Position: refs/heads/master@{#27607}
adamk [Tue, 7 Apr 2015 00:14:28 +0000 (17:14 -0700)]
Fix formatting in full-codegen-x64.cc
TBR=arv@chromium.org
Review URL: https://codereview.chromium.org/
1062853003
Cr-Commit-Position: refs/heads/master@{#27606}
adamk [Tue, 7 Apr 2015 00:11:48 +0000 (17:11 -0700)]
Reimplement Maps and Sets in JS
Previously, the only optimized code path for Maps and Sets was for String keys.
This was achieved through an implementation of various complex operations
in Hydrogen. This approach was neither scalable nor forward-compatible.
This patch adds the necessary intrinsics to implement Maps and Sets almost entirely
in JS. The added intrinsics are:
%_FixedArrayGet
%_FixedArraySet
%_TheHole
%_JSCollectionGetTable
%_StringGetRawHashField
With these additions, as well as a few changes to what's exposed as runtime functions,
most of the C++ code backing Maps and Sets is gone (including both runtime code in
objects.cc and Crankshaft in hydrogen.cc).
Review URL: https://codereview.chromium.org/
947683002
Cr-Commit-Position: refs/heads/master@{#27605}
hablich [Mon, 6 Apr 2015 21:32:07 +0000 (14:32 -0700)]
Updated version to 4.4
BUG=
TBR=machenbach@chromium.org,vogelheim@chromium.org
NOTRY=true
Review URL: https://codereview.chromium.org/
1059433002
Cr-Commit-Position: refs/heads/master@{#27604}
mike [Mon, 6 Apr 2015 21:04:43 +0000 (14:04 -0700)]
Re-implement %Generator% intrinsic as an object
From ES6 25.2.3 ("Properties of the GeneratorFunction Prototype
Object"):
> The GeneratorFunction prototype object is an ordinary object. It is
> not a function object and does not have an [[ECMAScriptCode]] internal
> slot or any other of the internal slots listed in Table 27 or Table
> 56.
Introduce one assertion for the value's type and additional tests for its
properties. Remove an invalid assertion that fails as a result of this
fix.
BUG=v8:3991
LOG=N
Review URL: https://codereview.chromium.org/
1062633002
Cr-Commit-Position: refs/heads/master@{#27603}
hpayer [Mon, 6 Apr 2015 14:58:06 +0000 (07:58 -0700)]
Filter out remembered slots that are at the start of an object.
These slots are invalid and can result in a broken offset when slot index and start of object are equal and are at the beginning of a cell.
Moreover, make DCHECKs CHECKs to catch bugs in the wild.
BUG=chromium:473174
LOG=n
Review URL: https://codereview.chromium.org/
1051243004
Cr-Commit-Position: refs/heads/master@{#27602}
dusan.milosavljevic [Mon, 6 Apr 2015 11:54:38 +0000 (04:54 -0700)]
MIPS: Major fixes and clean-up in asm. for instruction encoding.
- Fixed single float register type instruction en[de]coding in assembler and disassembler.
- Added max and min instructions for r6 and corresponding tests.
- Fixed selection instruction for boundary cases in simulator.
- Update assembler tests to be more thorough wrt boundary cases.
TEST=cctest/test-assembler-mips64/MIPS17, MIPS18
cctest/test-disasm-mips64/Type1
cctest/test-assembler-mips/MIPS16, MIPS17
cctest/test-disasm-mips/Type1
BUG=
Review URL: https://codereview.chromium.org/
1057323002
Cr-Commit-Position: refs/heads/master@{#27601}
v8-autoroll [Sat, 4 Apr 2015 03:47:22 +0000 (20:47 -0700)]
Update V8 DEPS.
Rolling v8/third_party/icu to
e4c31439828d356525b71ef81a6d61ea50d7d673
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1058383002
Cr-Commit-Position: refs/heads/master@{#27600}
dusan.milosavljevic [Fri, 3 Apr 2015 18:02:17 +0000 (11:02 -0700)]
MIPS64: Improve deopt jump table code size.
The number of generated instructions per table entry is reduced from six to
two, or four in worst-case scenario.
TEST=
BUG=
Review URL: https://codereview.chromium.org/
1059213002
Cr-Commit-Position: refs/heads/master@{#27599}
v8-autoroll [Fri, 3 Apr 2015 03:24:49 +0000 (20:24 -0700)]
Update V8 DEPS.
Rolling v8/build/gyp to
2889664b9fa88cce175c5c7cdf207d28420a7412
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1057013003
Cr-Commit-Position: refs/heads/master@{#27598}
chunyang.dai [Fri, 3 Apr 2015 03:09:17 +0000 (20:09 -0700)]
X87: Generate common StoreFastElementStubs ahead of time
port
16ee55097a01a229634095226f7a207bea3626de (r27536)
original commit message:
Generate common StoreFastElementStubs ahead of time
BUG=
Review URL: https://codereview.chromium.org/
1052413002
Cr-Commit-Position: refs/heads/master@{#27597}
chunyang.dai [Fri, 3 Apr 2015 03:03:09 +0000 (20:03 -0700)]
x87: v8:3539 - hold constructor feedback in weak cells
port
b134ae74b5fe4750588cef81a06b6fabd2507409 (r27581)
original commit message:
v8:3539 - hold constructor feedback in weak cells
BUG=
Review URL: https://codereview.chromium.org/
1051253004
Cr-Commit-Position: refs/heads/master@{#27596}
chunyang.dai [Fri, 3 Apr 2015 02:55:00 +0000 (19:55 -0700)]
X87: Ensure object literal element boilerplates aren't modified.
port
7c347c545e33d279b5aa476e754a5358201be846 (r27511)
original commit message:
A bug allows JSObject literals with elements to have the elements in the
boilerplate modified.
BUG=
Review URL: https://codereview.chromium.org/
1057883004
Cr-Commit-Position: refs/heads/master@{#27595}
michael_dawson [Thu, 2 Apr 2015 19:49:02 +0000 (12:49 -0700)]
PPC: v8:3539 - hold constructor feedback in weak cells
Port
b134ae74b5fe4750588cef81a06b6fabd2507409
Original commit message:
BUG=v8:3539
LOG=N
R=verwaest@chromium.org, mbrandy@us.ibm.com
Review URL: https://codereview.chromium.org/
1052973003
Cr-Commit-Position: refs/heads/master@{#27594}
paul.lind [Thu, 2 Apr 2015 18:45:02 +0000 (11:45 -0700)]
MIPS: Remove unused J(Label *).
Remove unused macro-asm instruction and associated address patching.
On mips64, remove unused JumpLabelToJumpRegister(). On mips, rename
it appropriately (it's still used there for JR->J optimizations).
BUG=
Review URL: https://codereview.chromium.org/
1059433003
Cr-Commit-Position: refs/heads/master@{#27593}
paul.lind [Thu, 2 Apr 2015 15:19:45 +0000 (08:19 -0700)]
MIPS: Fix another bug with mozilla regress-396684.js
As with TF fix
94506cc3, correctly support absurdly large stack
adjustments.
TEST=mozilla/js/tests/js1_5/Regress/regress-396684.js
BUG=
Review URL: https://codereview.chromium.org/
1057763002
Cr-Commit-Position: refs/heads/master@{#27592}
titzer [Thu, 2 Apr 2015 15:18:35 +0000 (08:18 -0700)]
[turbofan] Improve branch folding over phis and ranges.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1057843002
Cr-Commit-Position: refs/heads/master@{#27591}
phajdan.jr [Thu, 2 Apr 2015 14:45:44 +0000 (07:45 -0700)]
Add missing license headers for some cctests.
BUG=chromium:98597
LOG=N
Review URL: https://codereview.chromium.org/
1052943003
Cr-Commit-Position: refs/heads/master@{#27590}
dcarney [Thu, 2 Apr 2015 13:09:23 +0000 (06:09 -0700)]
Revert of make ToLocalCheck crash in release mode (patchset #1 id:1 of https://codereview.chromium.org/
1043363005/)
Reason for revert:
breaks some devtools things
Original issue's description:
> make ToLocalCheck crash in release mode
>
> R=svenpanne@chromium.org
> BUG=
>
> Committed: https://crrev.com/
ce7cc5119c1e031bf1eb8476fbf5e55bef738f94
> Cr-Commit-Position: refs/heads/master@{#27585}
TBR=svenpanne@chromium.org,machenbach@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/
1057873003
Cr-Commit-Position: refs/heads/master@{#27589}
mstarzinger [Thu, 2 Apr 2015 11:49:03 +0000 (04:49 -0700)]
[turbofan] Keep AstGraphBuilder context chain length in sync.
This keeps the length of the context chain tracked by the environment
in sync even for local control flow commands. It removes the need to
guess the correct chain length at Environment::Merge points.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
1045703003
Cr-Commit-Position: refs/heads/master@{#27588}
balazs.kilvady [Thu, 2 Apr 2015 11:40:57 +0000 (04:40 -0700)]
MIPS: v8:3539 - hold constructor feedback in weak cells
BUG=v8:3539
LOG=N
Review URL: https://codereview.chromium.org/
1038043002
Cr-Commit-Position: refs/heads/master@{#27587}
ishell [Thu, 2 Apr 2015 11:26:11 +0000 (04:26 -0700)]
Support for typed arrays added to Heap::RightTrimFixedArray().
BUG=chromium:472513
LOG=Y
Review URL: https://codereview.chromium.org/
1058793002
Cr-Commit-Position: refs/heads/master@{#27586}
dcarney [Thu, 2 Apr 2015 10:59:45 +0000 (03:59 -0700)]
make ToLocalCheck crash in release mode
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1043363005
Cr-Commit-Position: refs/heads/master@{#27585}
sergiyb [Thu, 2 Apr 2015 10:41:38 +0000 (03:41 -0700)]
Added version tag to the CQ config
R=machenbach@chromium.org
BUG=chromium:408675
LOG=N
Review URL: https://codereview.chromium.org/
1051653003
Cr-Commit-Position: refs/heads/master@{#27584}
chunyang.dai [Thu, 2 Apr 2015 10:16:57 +0000 (03:16 -0700)]
Fix the bug in CompareIC_GenerateNumber for X87 platform.
The original code will not update the IC info if one of parameter is SMI. It Can not handle Number + Smi.
BUG=
Review URL: https://codereview.chromium.org/
1056663005
Cr-Commit-Position: refs/heads/master@{#27583}
titzer [Thu, 2 Apr 2015 10:03:15 +0000 (03:03 -0700)]
[turbofan] Reduce duplication between ControlReducer::ReduceIf(True,False).
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1053583005
Cr-Commit-Position: refs/heads/master@{#27582}
mvstanton [Thu, 2 Apr 2015 09:39:32 +0000 (02:39 -0700)]
v8:3539 - hold constructor feedback in weak cells
BUG=v8:3539
R=verwaest@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/
1029093002
Cr-Commit-Position: refs/heads/master@{#27581}
jochen [Thu, 2 Apr 2015 09:36:37 +0000 (02:36 -0700)]
Expose an API on ArrayBufferView to copy out content w/o changing the buffer
BUG=v8:3996
LOG=y
R=dslomov@chromium.org,kbr@chromium.org,hpayer@chromium.org
Review URL: https://codereview.chromium.org/
1041403003
Cr-Commit-Position: refs/heads/master@{#27580}
jochen [Thu, 2 Apr 2015 08:46:18 +0000 (01:46 -0700)]
Add initial set of sub directory OWNERS file
BUG=none
R=danno@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
960903003
Cr-Commit-Position: refs/heads/master@{#27579}
svenpanne [Thu, 2 Apr 2015 08:32:48 +0000 (01:32 -0700)]
Fixed the range information for string lengths.
Currently, this doesn't really help to generate better code,
nevertheless this is the right thing to do. When our type system(s)
are fixed, this should avoid falling back to floating point operations
in various cases.
Review URL: https://codereview.chromium.org/
1057813002
Cr-Commit-Position: refs/heads/master@{#27578}
Erik Arvidsson [Wed, 1 Apr 2015 22:28:13 +0000 (18:28 -0400)]
Disable a new failing test262-es6 test
language/asi/S7.9_A5.7_T1
http://build.chromium.org/p/client.v8/builders/V8%20Linux/builds/3024/steps/Test262-es6/logs/S7.9_A5.7_T1
This looks suspicious. Maybe the monkeyYaml is the reason for this?
BUG=None
TBR=adamk
Review URL: https://codereview.chromium.org/
1052083002
Cr-Commit-Position: refs/heads/master@{#27577}
arv [Wed, 1 Apr 2015 21:51:19 +0000 (14:51 -0700)]
Update test262-es6 to 2015-03-31
BUG=None
LOG=N
R=adamk, rossberg
Review URL: https://codereview.chromium.org/
1052013002
Cr-Commit-Position: refs/heads/master@{#27576}
balazs.kilvady [Wed, 1 Apr 2015 18:39:22 +0000 (11:39 -0700)]
MIPS: Rename BranchF functions.
BUG=
Review URL: https://codereview.chromium.org/
1052653003
Cr-Commit-Position: refs/heads/master@{#27575}
paul.lind [Wed, 1 Apr 2015 18:18:34 +0000 (11:18 -0700)]
MIPS: Fix stack claim and store to slot for large sizes.
Could not encode the large slot number in opcode MiscField.
TEST=mozilla/js/tests/js1_5/Regress/regress-396684.js
BUG=
Review URL: https://codereview.chromium.org/
1043393002
Cr-Commit-Position: refs/heads/master@{#27574}
erikcorry [Wed, 1 Apr 2015 18:07:31 +0000 (11:07 -0700)]
Fix external-snapshot startup when snapshot is missing, but natives source is available
R=vogelheim@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1049383004
Cr-Commit-Position: refs/heads/master@{#27573}
arv [Wed, 1 Apr 2015 17:29:48 +0000 (10:29 -0700)]
ES6: Error functions should extend Error
The /NativeError/ functions should have Error as their [[Prototype]].
http://people.mozilla.org/~jorendorff/es6-draft.html#sec-properties-of-the-nativeerror-constructors
BUG=v8:3998
LOG=N
R=adamk, dslomov@chromium.org
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/
1049323003
Cr-Commit-Position: refs/heads/master@{#27572}
erikcorry [Wed, 1 Apr 2015 16:58:32 +0000 (09:58 -0700)]
Reland: Fix JSON parser Handle leak (previous CL
1041483004)
R=mstarzinger@chromium.org
BUG=v8:3976
BUG=472504
LOG=y
Review URL: https://codereview.chromium.org/
1051833002
Cr-Commit-Position: refs/heads/master@{#27571}
jochen [Wed, 1 Apr 2015 16:52:18 +0000 (09:52 -0700)]
Turn off overapproximation of the weak closure again
As long as we still have to process global handles, the impact is not
yet worthwhile
BUG=v8:3862
R=hpayer@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/
1050443002
Cr-Commit-Position: refs/heads/master@{#27570}
arv [Wed, 1 Apr 2015 15:45:00 +0000 (08:45 -0700)]
[es6] Object.getOwnPropertyDescriptor should wrap primitives
In ES6 Object.getOwnPropertyDescriptor should call ToObject, which
means that primitive values will return descriptors from the wrapper.
BUG=v8:3964
LOG=N
R=adamk, rossberg@chromium.org
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/
998163004
Cr-Commit-Position: refs/heads/master@{#27569}
ulan [Wed, 1 Apr 2015 15:37:46 +0000 (08:37 -0700)]
Revert of Remove promotion backup case and report OOM instead. (patchset #2 id:20001 of https://codereview.chromium.org/
977013003/)
Reason for revert:
Spike in OOM crashes: crbug.com/403113
Original issue's description:
> Remove promotion backup case and report OOM instead.
>
> There are no test cases for this piece of code and it is really hard to test. If this rare case triggers, we are anyway in an OOM situation and would crash probably soon afterwards.
>
> BUG=
>
> Committed: https://crrev.com/
e813afaf127ab80290153ab676dc07212bdc8946
> Cr-Commit-Position: refs/heads/master@{#27026}
TBR=mstarzinger@chromium.org,hpayer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/
1050113002
Cr-Commit-Position: refs/heads/master@{#27568}
mike [Wed, 1 Apr 2015 15:22:09 +0000 (08:22 -0700)]
Remove invalid assertion
The removed assertion consistently passes not because the invoked
`close` method internally throws a `TypeError` but because the `close`
method does not exist. The ES6 specification does not define a `close`
method on the GeneratorPrototype, so this test is a tautology.
BUG=None
LOG=N
R=arv
Review URL: https://codereview.chromium.org/
1046963002
Cr-Commit-Position: refs/heads/master@{#27567}
mike [Wed, 1 Apr 2015 15:13:16 +0000 (08:13 -0700)]
Re-write duplicated assertions
The modified assertions targeted the property descriptor for the
template object's first "cooked" value. The code immediately preceeding
these statements asserts these values.
Update the assertions to instead target the property descriptor for the
template object's first "raw" value (which are otherwise untested).
BUG=
Review URL: https://codereview.chromium.org/
1049523003
Cr-Commit-Position: refs/heads/master@{#27566}
jochen [Wed, 1 Apr 2015 14:35:34 +0000 (07:35 -0700)]
Revert of Add CHECKs when updating pointers from the slots and store buffers (patchset #3 id:40001 of https://codereview.chromium.org/
1035763002/)
Reason for revert:
Got one dev-channel with this. Should be enough.
Original issue's description:
> Add CHECKs when updating pointers from the slots and store buffers
>
> We want to verify that we always overwrite heap objects with heap
> objects, and non-heap objects with non-heap objects
>
> BUG=chromium:452095
> R=hpayer@chromium.org
> LOG=n
>
> Committed: https://crrev.com/
58fbcfac8ae82b1241f07e1b8ea81a5973514c11
> Cr-Commit-Position: refs/heads/master@{#27479}
TBR=hpayer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:452095
Review URL: https://codereview.chromium.org/
1052713002
Cr-Commit-Position: refs/heads/master@{#27565}
kozyatinskiy [Wed, 1 Apr 2015 10:11:13 +0000 (03:11 -0700)]
Revert of Correctly compute line numbers in functions from the function constructor. (patchset #5 id:80001 of https://codereview.chromium.org/
701093003/)
Reason for revert:
Locations from New Function are broken in DevTools.
Original issue's description:
> Correctly compute line numbers in functions from the function constructor.
>
> R=aandrey@chromium.org
> BUG=chromium:109362
> LOG=Y
>
> Committed: https://code.google.com/p/v8/source/detail?r=25289
TBR=aandrey@chromium.org,yangguo@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:109362
LOG=Y
Review URL: https://codereview.chromium.org/
1053563002
Cr-Commit-Position: refs/heads/master@{#27564}
hablich [Wed, 1 Apr 2015 09:42:09 +0000 (02:42 -0700)]
usage: Tool to check where a git commit was merged and reverted.
[-h] [-g GIT_DIR] hash
positional arguments:
hash Hash of the commit to be searched.
optional arguments:
-h, --help show this help message and exit
-g GIT_DIR, --git-dir GIT_DIR
The path to your git working directory.
BUG=
Review URL: https://codereview.chromium.org/
1033043002
Cr-Commit-Position: refs/heads/master@{#27563}
erikcorry [Wed, 1 Apr 2015 09:22:57 +0000 (02:22 -0700)]
Revert of Fix JSON parser Handle leak (patchset #3 id:40001 of https://codereview.chromium.org/
1041483004/)
Reason for revert:
Reverting due to JSOn parser failures
Original issue's description:
> Fix JSON parser Handle leak
>
> R=verwaest@chromium.org
> BUG=v8:3976
> LOG=y
>
> Committed: https://crrev.com/
1ec850383bb82f6d8bebc7416e5f50b649d1eeaa
> Cr-Commit-Position: refs/heads/master@{#27512}
TBR=verwaest@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3976
Review URL: https://codereview.chromium.org/
1052593002
Cr-Commit-Position: refs/heads/master@{#27562}
erikcorry [Wed, 1 Apr 2015 09:20:51 +0000 (02:20 -0700)]
Revert of Relax assert a little to fix flake on regress-3976 (patchset #1 id:1 of https://codereview.chromium.org/
1045763002/)
Reason for revert:
Reverting due to JSOn parser failures
Original issue's description:
> Relax assert a little to fix flake on regress-3976
>
> R=verwaest@chromium.org
> NOTRY=true
> BUG=
>
> Committed: https://crrev.com/
b20edd7772892ff8b2b280b35e521fbc2cc4a5f6
> Cr-Commit-Position: refs/heads/master@{#27515}
TBR=verwaest@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/
1050033003
Cr-Commit-Position: refs/heads/master@{#27561}
Michael Achenbach [Wed, 1 Apr 2015 08:19:25 +0000 (10:19 +0200)]
Whitespace change to trigger bots.
Cr-Commit-Position: refs/heads/master@{#27560}
halton.huo [Wed, 1 Apr 2015 01:44:22 +0000 (18:44 -0700)]
[GN] Use correct toolchain for x64 target on Android
This commit is to fix the linking error:
../../v8/src/base/platform/platform-posix.cc:418: error: undefined reference to '__android_log_vprint'
Review URL: https://codereview.chromium.org/
1037193003
Cr-Commit-Position: refs/heads/master@{#27559}
arv [Wed, 1 Apr 2015 00:22:33 +0000 (17:22 -0700)]
[es6] Object.getPrototypeOf should work with values
This reverts commit
992751d0dc5be63845a371cb9fb2c1313efb3bdf.
The final spec for Object.getPrototypeOf calls ToObject on the
parameter, which means that it should only throw for null and
undefined. For other non object values the prototype of the wrapper
should be used.
Difference from last time: Updated .status and will disable Blink
side tests as needed.
BUG=v8:3964
LOG=N
R=adamk, rossberg@chromium.org
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/
1051523003
Cr-Commit-Position: refs/heads/master@{#27558}
adamk [Tue, 31 Mar 2015 23:03:08 +0000 (16:03 -0700)]
Add a UseCounter for Object.observe
It triggers once per context that calls observe (or attempts to access
any observation metadata, e.g. through Object.getNotifier).
Review URL: https://codereview.chromium.org/
1048213002
Cr-Commit-Position: refs/heads/master@{#27557}
dusan.milosavljevic [Tue, 31 Mar 2015 22:39:49 +0000 (15:39 -0700)]
MIPS: Fix assembler test for selection instructions to be run for r6 only.
TEST=test-assembler-mips/MIPS16
BUG=
Review URL: https://codereview.chromium.org/
1047223002
Cr-Commit-Position: refs/heads/master@{#27556}
akos.palfi [Tue, 31 Mar 2015 19:53:03 +0000 (12:53 -0700)]
MIPS64: Ensure object literal element boilerplates aren't modified.
Port
7c347c545e33d279b5aa476e754a5358201be846
BUG=
Review URL: https://codereview.chromium.org/
1049793002
Cr-Commit-Position: refs/heads/master@{#27555}
kozyatinskiy [Tue, 31 Mar 2015 19:35:59 +0000 (12:35 -0700)]
[V8] Don't ignore sourceURL comment in inline scripts in .stack
In DevTools we've already used sourceURL in inline scripts.
This CL makes the behavior of the V8 in the same for Error.stack property and v8::StackTrace.
BUG=v8:3920
LOG=Y
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
1044173002
Cr-Commit-Position: refs/heads/master@{#27554}
paul.lind [Tue, 31 Mar 2015 18:38:52 +0000 (11:38 -0700)]
MIPS64: Fix exception return from regexp CheckStackGuardState().
Lack of sign extension on simulator builds gives bad value for
RETRY and EXCEPTION codes.
TEST=mjsunit/regexp-stack-overflow, regress-crbug-467047
BUG=v8:3992
LOG=n
Review URL: https://codereview.chromium.org/
1040753003
Cr-Commit-Position: refs/heads/master@{#27553}
michael_dawson [Tue, 31 Mar 2015 18:30:18 +0000 (11:30 -0700)]
PPC: Ensure object literal element boilerplates aren't modified.
Port
7c347c545e33d279b5aa476e754a5358201be846
Original commit message:
A bug allows JSObject literals with elements to have the elements in the
boilerplate modified.
R=mbrandy@us.ibm.com
BUG=466993
LOG=N
Review URL: https://codereview.chromium.org/
1046223002
Cr-Commit-Position: refs/heads/master@{#27552}
balazs.kilvady [Tue, 31 Mar 2015 18:25:54 +0000 (11:25 -0700)]
Finish 'MIPS: [turbofan] Add backend support for float32 operations.'
Add missing parts of the port to MIPS/MIPS64 implementations.
BUG=
Review URL: https://codereview.chromium.org/
1047213002
Cr-Commit-Position: refs/heads/master@{#27551}
jochen [Tue, 31 Mar 2015 17:11:10 +0000 (10:11 -0700)]
Deprecate IdleNotification()
Embedders should use IdleNotificationDeadline()
BUG=none
R=hpayer@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/
1019793008
Cr-Commit-Position: refs/heads/master@{#27550}
hpayer [Tue, 31 Mar 2015 15:39:37 +0000 (08:39 -0700)]
Verify evacuation when sweeping is completed.
BUG=
Review URL: https://codereview.chromium.org/
1050543002
Cr-Commit-Position: refs/heads/master@{#27549}
arv [Tue, 31 Mar 2015 15:14:04 +0000 (08:14 -0700)]
ES6: Unscopable should use ToBoolean
The spec settled on ToBoolean instead of only using not undefined.
BUG=v8:3827
LOG=N
R=adamk
Review URL: https://codereview.chromium.org/
1045113002
Cr-Commit-Position: refs/heads/master@{#27548}
michael_dawson [Tue, 31 Mar 2015 14:54:29 +0000 (07:54 -0700)]
PPC: [turbofan] Add backend support for float32 operations.
Port
8dad78cdbd21c2cd02d6e0645313bd4b9983c78e
Original commit message:
This adds the basics necessary to support float32 operations in TurboFan.
The actual functionality required to detect safe float32 operations will
be added based on this later. Therefore this does not affect production
code except for some cleanup/refactoring.
In detail, this patchset contains the following features:
- Add support for float32 operations to arm, arm64, ia32 and x64
backends.
- Add float32 machine operators.
- Add support for float32 constants to simplified lowering.
- Handle float32 representation for phis in simplified lowering.
In addition, contains the following (related) cleanups:
- Fix/unify naming of backend instructions.
- Use AVX comparisons when available.
- Extend ArchOpcodeField to 9 bits (required for arm64).
- Refactor some code duplication in instruction selectors.
BUG=v8:3589
LOG=N
R=mbrandy@us.ibm.com
Review URL: https://codereview.chromium.org/
1049253004
Cr-Commit-Position: refs/heads/master@{#27547}
mstarzinger [Tue, 31 Mar 2015 14:25:56 +0000 (07:25 -0700)]
[turbofan] Make throwing expressions kill the environment.
This ensures that all expressions that throw actually mark the current
environment as dead in the AstGraphBuilder. This prevents live ranges
from being unnecessarily increased by paths that don't fall-through.
Note that we can do that because Runtime::kThrowFoo never returns.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
1049203002
Cr-Commit-Position: refs/heads/master@{#27546}