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}
arv [Tue, 31 Mar 2015 14:24:13 +0000 (07:24 -0700)]
Remove --harmony-numeric-literal flag
We have been shipping harmony numeric literals since M41
R=rossberg@chromium.org
LOG=Y
Review URL: https://codereview.chromium.org/
1024603002
Cr-Commit-Position: refs/heads/master@{#27545}
ulan [Tue, 31 Mar 2015 14:06:03 +0000 (07:06 -0700)]
Reland "Allow compaction when incremental marking is on."
BUG=chromium:450824
LOG=NO
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
1048013003
Cr-Commit-Position: refs/heads/master@{#27544}
arv [Tue, 31 Mar 2015 13:56:48 +0000 (06:56 -0700)]
[es6] Update test262 tests
Second try. Disabled the tests that were failing due to
https://github.com/tc39/test262/issues/215
This updates test262 to revision d24fd10 (2015/03/11).
The files moved around in the test repo and a lot of new tests are
failing.
BUG=None
LOG=N
R=adamk, rossberg
Review URL: https://codereview.chromium.org/
1040093003
Cr-Commit-Position: refs/heads/master@{#27543}
jarin [Tue, 31 Mar 2015 13:46:49 +0000 (06:46 -0700)]
[turbofan] Weaken a DCHECK to allow tagged numbers as double constants in frame states.
BUG=chromium:472078
LOG=n
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
1047173002
Cr-Commit-Position: refs/heads/master@{#27542}
mstarzinger [Tue, 31 Mar 2015 13:43:56 +0000 (06:43 -0700)]
[turbofan] Fix properties of IrOpcode::kThrow operator.
This changes the IrOpcode::kThrow operator to have kNoThrow property,
which sounds unintuitive, but holds for our graphs. The operators is
used to indicate exceptional control flow out of the function, but in
itself does not throw, the throwing is done by a runtime call.
R=titzer@chromium.org
TEST=unittests/CommonOperatorTest/CommonSharedOperatorTest.Properties
Review URL: https://codereview.chromium.org/
1046173002
Cr-Commit-Position: refs/heads/master@{#27541}
svenpanne [Tue, 31 Mar 2015 13:23:06 +0000 (06:23 -0700)]
Added %_Likely/%_Unlikely intrinsics (special cases of GCC's __builin_expect).
Currently this only sets branch hints, so we get unlikely code "out of
the way", but in the long run the register allocator needs some love
to treat the unlikely code as, well, unlikely. :-)
Review URL: https://codereview.chromium.org/
1048063002
Cr-Commit-Position: refs/heads/master@{#27540}
verwaest [Tue, 31 Mar 2015 13:17:59 +0000 (06:17 -0700)]
Put newspace evacuation in an EvacuationScope
BUG=chromium:471554
LOG=y
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
1050493002
Cr-Commit-Position: refs/heads/master@{#27539}
dcarney [Tue, 31 Mar 2015 13:06:37 +0000 (06:06 -0700)]
[turbofan] smash GapInstruction into Instruction
R=titzer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1041163002
Cr-Commit-Position: refs/heads/master@{#27538}
mstarzinger [Tue, 31 Mar 2015 12:26:26 +0000 (05:26 -0700)]
[turbofan] Project exception value out of calls.
TEST=cctest/test-run-jsexceptions
Review URL: https://codereview.chromium.org/
989123003
Cr-Commit-Position: refs/heads/master@{#27537}
verwaest [Tue, 31 Mar 2015 12:25:12 +0000 (05:25 -0700)]
Generate common StoreFastElementStubs ahead of time
BUG=
Review URL: https://codereview.chromium.org/
1040183004
Cr-Commit-Position: refs/heads/master@{#27536}
rmcilroy [Tue, 31 Mar 2015 12:08:10 +0000 (05:08 -0700)]
Fix libdl dependency on Android and remove librt hack.
The libdl library is already included on target builds of Android and needs
to be added to the build command line with a particular order to avoid
undefined references in other libraries. Fix this by only explicitly including
it in host builds and relying on the implicit inclusion on target builds.
Also remove the librt hack which is not longer necessary due to the AOSP build
bot having been removed.
BUG=chromium:469973
LOG=Y
Review URL: https://codereview.chromium.org/
1036133005
Cr-Commit-Position: refs/heads/master@{#27535}
akos.palfi [Tue, 31 Mar 2015 11:27:03 +0000 (04:27 -0700)]
MIPS64: [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=
Review URL: https://codereview.chromium.org/
1045203003
Cr-Commit-Position: refs/heads/master@{#27534}
mvstanton [Tue, 31 Mar 2015 10:37:34 +0000 (03:37 -0700)]
ARM simulator needs a StackCheck in GetPropertyWithDefinedGetter.
Because simulators have a seperate JavaScript and C++ stack, and
because they try to avoid calling the runtime StackCheck function
on entry to every function, it can happen in recursive calls that
the C++ stack overflows while the JavaScript stack is okay. The
runtime StackCheck function would catch this, but as an optimization,
generated code only looks at the JavaScript stack pointer to
determine if it should make that runtime call.
R=ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1050433002
Cr-Commit-Position: refs/heads/master@{#27533}
v8-autoroll [Tue, 31 Mar 2015 04:11:01 +0000 (21:11 -0700)]
Update V8 DEPS.
Rolling v8/third_party/icu to
46be516de5c83aa0b7b3b75be669b48e7a803290
Rolling v8/tools/clang to
6aa9a498bf4c1567efe9b78da82678ed1e8e3298
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1046053003
Cr-Commit-Position: refs/heads/master@{#27532}
balazs.kilvady [Mon, 30 Mar 2015 19:56:30 +0000 (12:56 -0700)]
MIPS: [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
Review URL: https://codereview.chromium.org/
1046953004
Cr-Commit-Position: refs/heads/master@{#27531}
dusan.milosavljevic [Mon, 30 Mar 2015 17:36:56 +0000 (10:36 -0700)]
MIPS: Refactor simulator and add selection instructions for r6.
TEST=
BUG=
Review URL: https://codereview.chromium.org/
1046873004
Cr-Commit-Position: refs/heads/master@{#27530}
rmcilroy [Mon, 30 Mar 2015 17:04:50 +0000 (10:04 -0700)]
Ensure that GC idle notifications either make progress or stop requesting more GCs.
The V8::IdleNotification will only return 'True' when the gc idle time handler
thinks there is no more GC which can be done. However, the gc idle task handler
can end up repeatedly making no progress (e.g., if it can't finalize a sweep)
which causes idle tasks to be repeatedly scheduled in Chrome which do nothing
but wake up Chrome. Fix this by returning Done if we can't make any progress
within an Idle Round.
BUG=chromium:470615
LOG=Y
Review URL: https://codereview.chromium.org/
1042483002
Cr-Commit-Position: refs/heads/master@{#27529}
ishell [Mon, 30 Mar 2015 17:03:41 +0000 (10:03 -0700)]
Layout descriptor must be trimmed when corresponding descriptors array is trimmed to stay in sync.
BUG=chromium:470804
LOG=Y
Review URL: https://codereview.chromium.org/
1033273005
Cr-Commit-Position: refs/heads/master@{#27528}
Sergiy Byelozyorov [Mon, 30 Mar 2015 16:53:36 +0000 (18:53 +0200)]
Moved verifier specific properties into verifier configs
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1033033002
Cr-Commit-Position: refs/heads/master@{#27527}
dslomov [Mon, 30 Mar 2015 16:20:53 +0000 (09:20 -0700)]
Use counter for legacy const.
We only report the usages when full parse is happening, i.e. only when the function that declares a legacy const is compiled. This is an approximation that is easy to implement, but still should reflect the real-world usage.
BUG=v8:3942
LOG=N
Review URL: https://codereview.chromium.org/
1041863002
Cr-Commit-Position: refs/heads/master@{#27526}
arv [Mon, 30 Mar 2015 15:22:43 +0000 (08:22 -0700)]
Revert of [es6] Update test262 tests (patchset #4 id:60001 of https://codereview.chromium.org/
1025043002/)
Reason for revert:
Bot failed to include verifyNotEnumerable function for some screwed up reason.
Original issue's description:
> [es6] Update test262 tests
>
> This updates test262 to revision d24fd10 (2015/03/11).
>
> The files moved around in the test repo and a lot of new tests are
> failing.
>
> BUG=None
> LOG=N
> R=rossberg
>
> Committed: https://crrev.com/
4f2fb3835feff3663146f12be42b01a226d0065e
> Cr-Commit-Position: refs/heads/master@{#27522}
TBR=rossberg@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=None
Review URL: https://codereview.chromium.org/
1047713002
Cr-Commit-Position: refs/heads/master@{#27525}
mstarzinger [Mon, 30 Mar 2015 15:10:29 +0000 (08:10 -0700)]
[turbofan] Fix test of %_MathClz32 intrinsic.
This test will fail once we optimize top-level code, because the
aforementioned intrinsic doesn't perform a NumberToUint32 conversion.
R=titzer@chromium.org
TEST=mjsunit/asm/math-clz32
Review URL: https://codereview.chromium.org/
1041173002
Cr-Commit-Position: refs/heads/master@{#27524}
vogelheim [Mon, 30 Mar 2015 14:54:22 +0000 (07:54 -0700)]
Re-work the 'external snapshot' related build rules.
This prepares for re-landing crrev.com/
956373002
This pulls all decision about the snapshot [no|internal|external] into one rule. Previously, this logic was in separate places and not /quite/ the same, which causes build problems.
BUG=
Review URL: https://codereview.chromium.org/
1016603004
Cr-Commit-Position: refs/heads/master@{#27523}
arv [Mon, 30 Mar 2015 14:28:03 +0000 (07:28 -0700)]
[es6] Update test262 tests
This updates test262 to revision d24fd10 (2015/03/11).
The files moved around in the test repo and a lot of new tests are
failing.
BUG=None
LOG=N
R=rossberg
Review URL: https://codereview.chromium.org/
1025043002
Cr-Commit-Position: refs/heads/master@{#27522}
svenpanne [Mon, 30 Mar 2015 12:41:54 +0000 (05:41 -0700)]
[Crankshaft] Don't add an instruction twice for %_StringGetLength.
Review URL: https://codereview.chromium.org/
1042843002
Cr-Commit-Position: refs/heads/master@{#27521}
erikcorry [Mon, 30 Mar 2015 11:56:25 +0000 (04:56 -0700)]
Record various overflow events on the heap - reland of
1029323003
R=hpayer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1040763002
Cr-Commit-Position: refs/heads/master@{#27520}
verwaest [Mon, 30 Mar 2015 11:50:04 +0000 (04:50 -0700)]
Fix speedup of typedarray-length loading in the ICs as well as Crankshaft
BUG=
Review URL: https://codereview.chromium.org/
1034393002
Cr-Commit-Position: refs/heads/master@{#27519}
dcarney [Mon, 30 Mar 2015 11:40:57 +0000 (04:40 -0700)]
fix special index parsing
R=verwaest@chromium.org,dslomov@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1038313004
Cr-Commit-Position: refs/heads/master@{#27518}
hpayer [Mon, 30 Mar 2015 11:39:50 +0000 (04:39 -0700)]
Allow more scavenges in idle notification by increasing the new space limit distance.
BUG=chromium:468554
LOG=n
Review URL: https://codereview.chromium.org/
1034403002
Cr-Commit-Position: refs/heads/master@{#27517}
baptiste.afsa [Mon, 30 Mar 2015 10:52:51 +0000 (03:52 -0700)]
Reland "Match fneg for -0.0 - x pattern."
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
1040053002
Cr-Commit-Position: refs/heads/master@{#27516}
erikcorry [Mon, 30 Mar 2015 10:37:29 +0000 (03:37 -0700)]
Relax assert a little to fix flake on regress-3976
R=verwaest@chromium.org
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/
1045763002
Cr-Commit-Position: refs/heads/master@{#27515}
dusan.milosavljevic [Mon, 30 Mar 2015 10:32:17 +0000 (03:32 -0700)]
MIPS64: Improve loading constants for double and integer values.
This CL reduces the size of generated code for snapshot by 1.6%.
TEST=
BUG=
Review URL: https://codereview.chromium.org/
1039283002
Cr-Commit-Position: refs/heads/master@{#27514}