bmeurer@chromium.org [Mon, 3 Nov 2014 12:36:14 +0000 (12:36 +0000)]
Revert "[turbofan] Fix bug in Rangify."
This reverts commit r25067 for breaking Win64.
TBR=jarin@chromium.org
Review URL: https://codereview.chromium.org/
697093002
Cr-Commit-Position: refs/heads/master@{#25069}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25069
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 3 Nov 2014 11:50:43 +0000 (11:50 +0000)]
[turbofan] Fix bug in Rangify.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
699603002
Cr-Commit-Position: refs/heads/master@{#25067}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25067
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 3 Nov 2014 11:50:08 +0000 (11:50 +0000)]
[turbofan] Enforce allocation of register for imull/mull.
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
697073002
Cr-Commit-Position: refs/heads/master@{#25066}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25066
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 3 Nov 2014 10:44:23 +0000 (10:44 +0000)]
[turbofan] Positive dividends are heavily favored for Int32Mod.
Mark negative dividend case as deferred, as modulus by power of two with
negative dividend almost never appears in practice.
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
699573002
Cr-Commit-Position: refs/heads/master@{#25065}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25065
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 3 Nov 2014 10:30:34 +0000 (10:30 +0000)]
Make generic algorithm less generic.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
701473002
Cr-Commit-Position: refs/heads/master@{#25064}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25064
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
baptiste.afsa@arm.com [Mon, 3 Nov 2014 10:28:46 +0000 (10:28 +0000)]
[turbofan] Select tbz/tbnz when possible on ARM64.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
697653002
Cr-Commit-Position: refs/heads/master@{#25063}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25063
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Mon, 3 Nov 2014 10:21:59 +0000 (10:21 +0000)]
Now with more checkings! Skip the CallFunctionStub when the callee function can be statically determined.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
696223002
Cr-Commit-Position: refs/heads/master@{#25062}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25062
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 3 Nov 2014 10:04:37 +0000 (10:04 +0000)]
[turbofan] Also optimize unsigned division by constant.
TEST=cctest,mjsunit,unittests
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
697663003
Cr-Commit-Position: refs/heads/master@{#25061}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25061
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 3 Nov 2014 09:40:12 +0000 (09:40 +0000)]
Fix constant in Math.tan implementation.
R=jkummerow@chromium.org, rtoy@chromium.org
BUG=chromium:427468
LOG=Y
Review URL: https://codereview.chromium.org/
695263002
Cr-Commit-Position: refs/heads/master@{#25060}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25060
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Mon, 3 Nov 2014 09:31:13 +0000 (09:31 +0000)]
Fix workdir feature for release scripts.
BUG=408523
LOG=n
TEST=script_test.py
TBR=tandrii@chromium.org
Review URL: https://codereview.chromium.org/
700493002
Cr-Commit-Position: refs/heads/master@{#25058}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25058
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Mon, 3 Nov 2014 08:43:20 +0000 (08:43 +0000)]
Fix for bug 429168, PdfJs regression. We pay a very high cost for AllocationResult being a > kPointerSize struct. This can be avoided by using Smis to indicate failure with retry spaces.
BUG=429168
LOG=N
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
699473002
Cr-Commit-Position: refs/heads/master@{#25057}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25057
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Mon, 3 Nov 2014 08:41:13 +0000 (08:41 +0000)]
Add workdir feature to release scripts.
BUG=408523
LOG=n
TEST=script_test.py
TBR=tandrii@chromium.org
Review URL: https://codereview.chromium.org/
701463002
Cr-Commit-Position: refs/heads/master@{#25056}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25056
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Mon, 3 Nov 2014 08:18:26 +0000 (08:18 +0000)]
More retries when tagging in release scripts.
BUG=408523
LOG=n
TEST=script_test.py
TBR=tandrii@chromium.org
Review URL: https://codereview.chromium.org/
697433003
Cr-Commit-Position: refs/heads/master@{#25055}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25055
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 3 Nov 2014 06:27:34 +0000 (06:27 +0000)]
[x86] Fix register constraints for multiply high and modulus.
R=jarin@chromium.org
TEST=mjsunit/compiler/regress-register-allocator2
Review URL: https://codereview.chromium.org/
697053002
Cr-Commit-Position: refs/heads/master@{#25054}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25054
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Mon, 3 Nov 2014 06:09:51 +0000 (06:09 +0000)]
[turbofan] Do not use the generic graph algorithm for widening in the typer.
This change uses an explicit queue for type-widening instead of the
generic algorithm. The trouble with the generic algorithm was that it
called the visitor on the same phi many times in a row (and thus caused
unnecessary retyping). I also think that the queue-based fixpoint is
more readable.
The CL cuts running time of the nbody-java benchmark from ~19s to ~15s,
the time spent in the typer goes from 4.5s to 1s. This is still a lot
- the root cause appears to be slow handling of union subtyping
(m*n for unions of sizes m and n). I see a re-typing of a
single phi node taking > 100ms. I will work on a fix with Andreas,
hopefully we can come up with some canonical representation
of unions at least for the common cases (union of Smi constants).
I have also changed the initial typer run to always compute a type, even
if we already had a type for the node. This fixes one assert failure
where context specialization updates a node without updating the type,
which confuses the typer when widening (as some types suddenly narrow).
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
689403002
Cr-Commit-Position: refs/heads/master@{#25053}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25053
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 3 Nov 2014 05:56:55 +0000 (05:56 +0000)]
IA: Double arithmetic binops support memory operand
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
662813002
Patch from Weiliang Lin <weiliang.lin@intel.com>.
Cr-Commit-Position: refs/heads/master@{#25052}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25052
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Sun, 2 Nov 2014 13:12:46 +0000 (13:12 +0000)]
Fix push script for autoroll account.
Push tags to the repo not to the remote - which is a cache
checkout on the bots.
Add new files when doing pure svn commits. Otherwise, new
files are silently ignored and not committed.
BUG=408523
LOG=n
TEST=script_test.py
TBR=tandrii@chromium.org
Review URL: https://codereview.chromium.org/
699493004
Cr-Commit-Position: refs/heads/master@{#25049}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25049
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Sat, 1 Nov 2014 21:53:13 +0000 (21:53 +0000)]
Teach push script to commit with roll account.
BUG=410721
LOG=n
TEST=script_test.py
TBR=tandrii@chromium.org
Review URL: https://codereview.chromium.org/
693333002
Cr-Commit-Position: refs/heads/master@{#25046}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25046
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Fri, 31 Oct 2014 19:53:28 +0000 (19:53 +0000)]
[turbofan] Avoid unnecessary (u)int32<->float64 changes in simplified lowering.
BUG=
R=bmeurer@chromium.org, titzer@chromium.org
Review URL: https://codereview.chromium.org/
683873002
Cr-Commit-Position: refs/heads/master@{#25045}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25045
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Fri, 31 Oct 2014 19:05:31 +0000 (19:05 +0000)]
Revert "Skip the CallFunctionStub when the callee function can be statically determined."
This reverts commit
9845dfadd2ad4a83fa00bf43e0c2791ccf7eacad (r25042) for failing tests.
TBR=titzer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
693103004
Cr-Commit-Position: refs/heads/master@{#25044}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25044
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dusan.milosavljevic@imgtec.com [Fri, 31 Oct 2014 18:33:33 +0000 (18:33 +0000)]
MIPS64: Fix simulator arguments handling on generated code entry.
Removed workaround for this issue.
TEST=mjsunit, cctest on sim64
BUG=
R=paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/
695933002
Cr-Commit-Position: refs/heads/master@{#25043}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25043
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Fri, 31 Oct 2014 16:35:42 +0000 (16:35 +0000)]
Skip the CallFunctionStub when the callee function can be statically determined.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
694773002
Cr-Commit-Position: refs/heads/master@{#25042}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25042
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 31 Oct 2014 15:09:06 +0000 (15:09 +0000)]
Minor cleanup about unscheduled use count for fixed nodes.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
696643002
Cr-Commit-Position: refs/heads/master@{#25041}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25041
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 31 Oct 2014 14:51:48 +0000 (14:51 +0000)]
Changing the aging mechanism for script and eval caches.
Instead of using multiple generations for the code, first only store the hash that gets aged. Once a hash matched on a next probe, actually cache the code. Use regular code aging to remove entries from the cache.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
675013004
Cr-Commit-Position: refs/heads/master@{#25040}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25040
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 31 Oct 2014 14:43:21 +0000 (14:43 +0000)]
Break allocations in the code serializer into correct chunk sizes.
This change has been inspired by Slava Chigrin <vchigrin@yandex-team.ru> (https://codereview.chromium.org/
689663002/)
R=mvstanton@chromium.org, vchigrin@yandex-team.ru
Review URL: https://codereview.chromium.org/
686103004
Cr-Commit-Position: refs/heads/master@{#25039}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25039
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 31 Oct 2014 14:02:05 +0000 (14:02 +0000)]
Properly handle stack overflows in the AST graph builder.
R=jarin@chromium.org
BUG=chromium:429159
TEST=mjsunit/regress/regress-crbug-429159
LOG=N
Review URL: https://codereview.chromium.org/
697473006
Cr-Commit-Position: refs/heads/master@{#25037}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25037
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 31 Oct 2014 13:39:20 +0000 (13:39 +0000)]
Upgrade test262-es6
TBR=machenbach@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
695763003
Cr-Commit-Position: refs/heads/master@{#25036}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25036
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Fri, 31 Oct 2014 13:36:10 +0000 (13:36 +0000)]
Skip tests for mips.
TBR=paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/
698513003
Cr-Commit-Position: refs/heads/master@{#25035}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25035
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Fri, 31 Oct 2014 13:14:58 +0000 (13:14 +0000)]
Switch auto push script to git.
BUG=410721
LOG=n
TEST=script_test.py
TBR=tandrii@chromium.org
Review URL: https://codereview.chromium.org/
698513002
Cr-Commit-Position: refs/heads/master@{#25033}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25033
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Fri, 31 Oct 2014 13:11:30 +0000 (13:11 +0000)]
Clear old backing store of WeakCollection on updates.
Not clearing can lead to a crash under following conditions:
1. Backing store of a weak map is allocated in large object space.
2. The backing store is marked incrementaly via the weak map.
3. The weak map is updated and gets a new backing store.
4. The store buffer overflows and marks the chunk of the old backing store as
"scan on scavenge."
5. Mark-compact collection kills some elements of the weak map. Note that the
old backing store survives because it was marked incrementally, but its dead
elements are not cleared.
6. Scavenger iterates over the old backing store, tries to move a dead object
and crashes.
BUG=v8:3631
LOG=N
TEST=cctest/test-heap/Regress3631
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
686783003
Cr-Commit-Position: refs/heads/master@{#25032}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25032
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
marja@chromium.org [Fri, 31 Oct 2014 13:03:15 +0000 (13:03 +0000)]
Scanner: remove PushBack calls when we're going to return ILLEGAL.
This simplifies escape handling and makes it easier to extend escapes for ES6.
PushBack just before detecting ILLEGAL is unnecessary, since we will abort the
scanning / parsing anyway at that point, and it doesn't matter where the cursor
exactly is. The error messages w/ PushBack are not any better or more correct
than without.
In addition: remove a comment about handling invalid escapes gracefully when we
no longer do. (*)
This CL includes a behavioral change: For input "var r = /foobar/g\urrrr;" we
used to report "unexpected_token: ILLEGAL" for "\u", but now we report
malformed_regexp_flags which is a more correct error message. (Note that the
code for reporting invalid_regexp_flags was dead, and invalid_regexp_flags is
not the right error message.)
Note that the V8 is more relaxed about unicode escapes in regexp flags than ES6
(see
http://people.mozilla.org/~jorendorff/es6-draft.html#sec-regular-expressions )
and this CL doesn't change it. (V8 accepts any \uxxxx, ES6 spec says only a
certain value range is acceptable.)
(*) Code archaeology:
Originally, doing PushBack in ScanHexEscape made sense (see e.g., here
https://codereview.chromium.org/5063003/diff/6001/src/prescanner.h ), since we
wouldn't return ILLEGAL but treat an invalid escape sequence "\uxxxx" as
"uxxxx".
(The repo at that point contains another instance of the same function, from the
initial commit. The logic is the same.)
This behavior was changed in a "renaming" commit
https://codereview.chromium.org/7739020.
BUG=
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
684873002
Cr-Commit-Position: refs/heads/master@{#25031}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25031
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Fri, 31 Oct 2014 10:44:04 +0000 (10:44 +0000)]
convert BitVector to use pointer size blocks
additionally rename data-flow.* to bit-vector.* as at some point these file became very inaccurately named
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
683243005
Cr-Commit-Position: refs/heads/master@{#25030}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25030
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 31 Oct 2014 09:30:59 +0000 (09:30 +0000)]
Assert that unoptimized code does not embed context-specific objects.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
690713003
Cr-Commit-Position: refs/heads/master@{#25029}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25029
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 31 Oct 2014 09:21:54 +0000 (09:21 +0000)]
Ensure we don't try to inline raw access to indexed interceptor receivers.
BUG=chromium:419220
LOG=y
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
697643002
Cr-Commit-Position: refs/heads/master@{#25028}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25028
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 31 Oct 2014 09:19:55 +0000 (09:19 +0000)]
X64: replace explicit zero-extend with runtime assert
Since the input float64 is in the range of [0, 2^32-1], the upper 32 bits of output register
should be zero.
BUG=
R=bmeurer@chromium.org, titzer@chromium.org
Review URL: https://codereview.chromium.org/
644993002
Patch from Weiliang Lin <weiliang.lin@intel.com>.
Cr-Commit-Position: refs/heads/master@{#25027}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25027
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 31 Oct 2014 08:39:14 +0000 (08:39 +0000)]
Add turbocheck Makefile target.
The turbocheck target is similar to quickcheck, but runs only the
turbofan variant.
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
697573002
Cr-Commit-Position: refs/heads/master@{#25026}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25026
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 31 Oct 2014 07:58:49 +0000 (07:58 +0000)]
[turbofan] Lower NumberModulus to Uint32Mod if both inputs are Unsigned32.
TEST=cctest/test-simplified-lowering
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
685993003
Cr-Commit-Position: refs/heads/master@{#25025}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25025
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 31 Oct 2014 06:41:07 +0000 (06:41 +0000)]
[turbofan] First step towards correctified 64-bit addressing.
Also remove the LEA matching from x64, since it was never really
effective. We'll optimize that once we're correct.
TEST=cctest,unittests
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
652363006
Cr-Commit-Position: refs/heads/master@{#25024}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25024
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Thu, 30 Oct 2014 15:52:26 +0000 (15:52 +0000)]
Fix bug in optimization of Uint32LessThan.
R=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
689883003
Cr-Commit-Position: refs/heads/master@{#25023}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25023
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Thu, 30 Oct 2014 15:05:11 +0000 (15:05 +0000)]
Make releases script more git friendly.
BUG=410721
LOG=n
TEST=script_test.py
TBR=tandrii@chromium.org
Review URL: https://codereview.chromium.org/
682863006
Cr-Commit-Position: refs/heads/master@{#25022}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25022
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
aandrey@chromium.org [Thu, 30 Oct 2014 14:51:17 +0000 (14:51 +0000)]
Introduce v8::Exception::GetMessage to find location of an error object.
API=v8::Exception::GetMessage
BUG=chromium:427954
R=yangguo@chromium.org
LOG=Y
Committed: https://code.google.com/p/v8/source/detail?r=25015
Review URL: https://codereview.chromium.org/
687253002
Cr-Commit-Position: refs/heads/master@{#25021}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25021
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 30 Oct 2014 14:40:30 +0000 (14:40 +0000)]
Do not compile with Turbofan if we cannot deopt for debugging.
R=jarin@chromium.org
BUG=v8:3660
LOG=N
Review URL: https://codereview.chromium.org/
677843005
Cr-Commit-Position: refs/heads/master@{#25020}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25020
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 30 Oct 2014 14:21:27 +0000 (14:21 +0000)]
Do not embed array objects in unoptimized code.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
685393002
Cr-Commit-Position: refs/heads/master@{#25019}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25019
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sigurds@chromium.org [Thu, 30 Oct 2014 14:15:20 +0000 (14:15 +0000)]
Add floor, ceil, round (truncate) instructions for ia32, x64 (if SSE4.1) and
add floor, ceil, round (truncate and away from zero) for arm64.
R=bmeurer@chromium.org, dcarney@chromium.org, mstarzinger@chromium.org, rodolph.perfetta@arm.com
TEST=test/mjsunit/asm/math-floor.js,test/mjsunit/asm/math-ceil.js,test/unittest/compiler/js-builtin-reducer-unittest.cc
Review URL: https://codereview.chromium.org/
677433002
Cr-Commit-Position: refs/heads/master@{#25018}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25018
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Thu, 30 Oct 2014 13:57:11 +0000 (13:57 +0000)]
Reverting r25015 and r25016 for broken build.
TBR=yangguo@chromium.org, machenbach@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/
688813002
Cr-Commit-Position: refs/heads/master@{#25017}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25017
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
aandrey@chromium.org [Thu, 30 Oct 2014 13:31:27 +0000 (13:31 +0000)]
Build fix after r25015
TBR=yangguo@chromium.org, machenbach@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/
688803003
Cr-Commit-Position: refs/heads/master@{#25016}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25016
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
aandrey@chromium.org [Thu, 30 Oct 2014 13:17:57 +0000 (13:17 +0000)]
Introduce v8::Exception::GetMessage to find location of an error object.
API=v8::Exception::GetMessage
BUG=chromium:427954
R=yangguo@chromium.org
LOG=Y
Review URL: https://codereview.chromium.org/
687253002
Cr-Commit-Position: refs/heads/master@{#25015}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25015
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Thu, 30 Oct 2014 12:38:19 +0000 (12:38 +0000)]
Skip tests with TF.
TBR=mstarzinger@chromium.org,bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
691623004
Cr-Commit-Position: refs/heads/master@{#25014}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25014
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sigurds@chromium.org [Thu, 30 Oct 2014 11:00:47 +0000 (11:00 +0000)]
Add vrint{a,n,p,m,z} instructions to arm assembler. These instructions are only available on ARMv8.
R=rodolph.perfetta@gmail.com, ulan@chromium.org, bmeurer@chromium.org, rodolph.perfetta@arm.com
Review URL: https://codereview.chromium.org/
682643002
Cr-Commit-Position: refs/heads/master@{#25013}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25013
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Thu, 30 Oct 2014 09:54:37 +0000 (09:54 +0000)]
remove a bunch of isolate::current in api.cc
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
686053003
Cr-Commit-Position: refs/heads/master@{#25011}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25011
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Thu, 30 Oct 2014 09:50:15 +0000 (09:50 +0000)]
[turbofan] move Node to vreg mapping to InstructionSelector
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
683933004
Cr-Commit-Position: refs/heads/master@{#25010}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25010
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Thu, 30 Oct 2014 09:48:24 +0000 (09:48 +0000)]
Skipt tests with TF on windows.
TBR=bmeurer@chromium.org,mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
692823002
Cr-Commit-Position: refs/heads/master@{#25009}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25009
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Thu, 30 Oct 2014 09:00:58 +0000 (09:00 +0000)]
[turbofan] add configuration parameters for register allocator
T=jarin@chromium.org
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
688633002
Cr-Commit-Position: refs/heads/master@{#25008}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25008
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Thu, 30 Oct 2014 08:51:07 +0000 (08:51 +0000)]
Skip test on win debug.
TBR=bmeurer@chromium.org
BUG=chromium:428315
LOG=n
Review URL: https://codereview.chromium.org/
693473002
Cr-Commit-Position: refs/heads/master@{#25007}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25007
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 30 Oct 2014 07:41:09 +0000 (07:41 +0000)]
Changed free(buffer) to delete [] buffer.
This bug (mismatch between new[] and free) was found by running VC++'s /analyze on all of Chrome.
BUG=chromium:427616
LOG=N
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
686193004
Patch from Bruce Dawson <brucedawson@chromium.org>.
Cr-Commit-Position: refs/heads/master@{#25003}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25003
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 30 Oct 2014 07:33:12 +0000 (07:33 +0000)]
Add test case for replacing turbofan code for debugging.
R=jarin@chromium.org
BUG=v8:3660
LOG=N
Review URL: https://codereview.chromium.org/
665833003
Cr-Commit-Position: refs/heads/master@{#25002}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25002
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 30 Oct 2014 07:25:20 +0000 (07:25 +0000)]
Fix assertion scope in Runtime_GetScript.
The HeapIterator implies DisallowHeapAllocation, but Script::GetWrapper
may allocate.
LOG=N
R=jkummerow@chromium.org
BUG=chromium:410033
Review URL: https://codereview.chromium.org/
680283002
Cr-Commit-Position: refs/heads/master@{#25001}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25001
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
weiliang.lin@intel.com [Thu, 30 Oct 2014 03:46:02 +0000 (03:46 +0000)]
X87: EmitCreateIteratorResult loads map from function's context
port r24987
original commit message:
EmitCreateIteratorResult loads map from function's context
Caching or serialization can cause full-codegen output to be shared
between contexts. CreateIteratorResult, however, was doing the wrong
thing by creating results with the map that was current when the code
was generated. Instead, we should chase pointers to load the right map
from the function's context.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/
674073004
Patch from Chunyang Dai <chunyang.dai@intel.com>.
Cr-Commit-Position: refs/heads/master@{#25000}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25000
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
weiliang.lin@intel.com [Thu, 30 Oct 2014 02:01:19 +0000 (02:01 +0000)]
X87: Classes: Add super support in methods and accessors
port r24976.
original commit message:
Classes: Add super support in methods and accessors
This is done by installing the [[HomeObject]] on the method and the
accessor functions.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/
687273005
Patch from Chunyang Dai <chunyang.dai@intel.com>.
Cr-Commit-Position: refs/heads/master@{#24999}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24999
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rmcilroy@chromium.org [Wed, 29 Oct 2014 23:26:50 +0000 (23:26 +0000)]
Fix lo_space initialization for external snapshot
R=rmcilroy@chromium.org
Review URL: https://codereview.chromium.org/
684263002
Patch from André Baixo <baixo@google.com>.
Cr-Commit-Position: refs/heads/master@{#24998}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24998
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Wed, 29 Oct 2014 21:07:18 +0000 (21:07 +0000)]
[turbofan] Fix input count in Uint32Mod/Div reduction.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
684193002
Cr-Commit-Position: refs/heads/master@{#24997}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24997
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 29 Oct 2014 19:04:32 +0000 (19:04 +0000)]
Minor cleanup using BooleanConstant in graph builder.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
687103004
Cr-Commit-Position: refs/heads/master@{#24996}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24996
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Wed, 29 Oct 2014 18:46:44 +0000 (18:46 +0000)]
Inline trivial OperatorProperties methods.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
686213002
Cr-Commit-Position: refs/heads/master@{#24995}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24995
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 29 Oct 2014 18:31:01 +0000 (18:31 +0000)]
Add a few missing overrides found by a new clang warning.
Namely, -Winconsistent-missing-override. No behavior change.
BUG=v8:3658
LOG=N
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
688533002
Cr-Commit-Position: refs/heads/master@{#24994}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24994
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
balazs.kilvady@imgtec.com [Wed, 29 Oct 2014 18:19:57 +0000 (18:19 +0000)]
MIPS: EmitCreateIteratorResult loads map from function's context.
Port r24987 (cfc4713)
Original commit message:
Caching or serialization can cause full-codegen output to be shared
between contexts. CreateIteratorResult, however, was doing the wrong
thing by creating results with the map that was current when the code
was generated. Instead, we should chase pointers to load the right map
from the function's context.
BUG=v8:3656
LOG=N
R=paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/
691563002
Cr-Commit-Position: refs/heads/master@{#24993}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24993
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Wed, 29 Oct 2014 18:16:15 +0000 (18:16 +0000)]
[turbofan] Add deopt for %StringMatch
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
639763004
Cr-Commit-Position: refs/heads/master@{#24992}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24992
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 29 Oct 2014 17:37:10 +0000 (17:37 +0000)]
Cleanup unscheduled use count for controls of coupled nodes.
R=titzer@chromium.org, jarin@chromium.org
Review URL: https://codereview.chromium.org/
687133003
Cr-Commit-Position: refs/heads/master@{#24991}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24991
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
adamk@chromium.org [Wed, 29 Oct 2014 17:27:09 +0000 (17:27 +0000)]
Various cleanup/simplification in object-observe.js
The biggest change is the removal of the map wrapper objects:
we now operate directly on the observation weak map, since there
are already Get/GetOrCreate/Set functions for each info map.
Various other small cleanups as well, including the deletion of
unnecessary forwarding functions and making use of standard macros.
This is a reland of r24972, retaining GetObservationStateJS() to
keep snapshotting working properly.
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
663253006
Cr-Commit-Position: refs/heads/master@{#24990}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24990
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
baptiste.afsa@arm.com [Wed, 29 Oct 2014 16:47:10 +0000 (16:47 +0000)]
[turbofan] Bug fix in arm64 ubfx selection.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
687193002
Cr-Commit-Position: refs/heads/master@{#24989}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24989
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dusan.milosavljevic@imgtec.com [Wed, 29 Oct 2014 16:16:03 +0000 (16:16 +0000)]
MIPS: Remove madd.d usage for r6.
TEST=/benchmarks/octane/crypto
BUG=
R=paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/
688693002
Cr-Commit-Position: refs/heads/master@{#24988}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24988
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
wingo@igalia.com [Wed, 29 Oct 2014 16:10:59 +0000 (16:10 +0000)]
EmitCreateIteratorResult loads map from function's context
Caching or serialization can cause full-codegen output to be shared
between contexts. CreateIteratorResult, however, was doing the wrong
thing by creating results with the map that was current when the code
was generated. Instead, we should chase pointers to load the right map
from the function's context.
R=verwaest@chromium.org
BUG=v8:3656
LOG=N
Review URL: https://codereview.chromium.org/
686063002
Cr-Commit-Position: refs/heads/master@{#24987}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24987
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Wed, 29 Oct 2014 15:27:27 +0000 (15:27 +0000)]
Run ControlReducer early after graph building, then again later.
The justification for doing this is to reduce the size of the graph and
therefore speedup later phases of compilation. The control reducer also
obviates the need to run the PhiReducer, since it subsumes it.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
681263004
Cr-Commit-Position: refs/heads/master@{#24986}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24986
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Wed, 29 Oct 2014 15:18:09 +0000 (15:18 +0000)]
Skip some tests with TF on gc stress.
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
652193007
Cr-Commit-Position: refs/heads/master@{#24985}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24985
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Wed, 29 Oct 2014 14:58:03 +0000 (14:58 +0000)]
Fix presubmit.
TBR=tandrii@chromium.org
Review URL: https://codereview.chromium.org/
688013002
Cr-Commit-Position: refs/heads/master@{#24984}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24984
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Wed, 29 Oct 2014 14:40:47 +0000 (14:40 +0000)]
Move input/output counts directly into Operators, simplying OperatorProperties.
This is a first step to refactoring OperatorProperties out of existence.
The next step is to inline OperatorProperties::GetXXXCount into the callers.
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
680313003
Cr-Commit-Position: refs/heads/master@{#24983}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24983
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Wed, 29 Oct 2014 14:19:59 +0000 (14:19 +0000)]
Switch push-to-trunk to git mode.
BUG=410721
LOG=n
TEST=script_test.py
R=tandrii@chromium.org
TBR=tandrii@chromium.org
Review URL: https://codereview.chromium.org/
670263004
Cr-Commit-Position: refs/heads/master@{#24981}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24981
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 29 Oct 2014 14:16:32 +0000 (14:16 +0000)]
[turbofan] Introduce new Select operator to improve bounds checking.
TEST=mjsunit,unittests
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
691513002
Cr-Commit-Position: refs/heads/master@{#24980}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24980
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
balazs.kilvady@imgtec.com [Wed, 29 Oct 2014 13:16:23 +0000 (13:16 +0000)]
MIPS: Classes: Add super support in methods and accessors.
Port r24976 (5cb743f)
Original commit message:
This is done by installing the [[HomeObject]] on the method and the
accessor functions.
BUG=v8:3330
LOG=Y
R=dusan.milosavljevic@imgtec.com
Review URL: https://codereview.chromium.org/
691503002
Cr-Commit-Position: refs/heads/master@{#24979}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24979
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Wed, 29 Oct 2014 12:34:51 +0000 (12:34 +0000)]
[turbofan] cleanup register allocator interface a little
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
671043004
Cr-Commit-Position: refs/heads/master@{#24978}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24978
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
adamk@chromium.org [Wed, 29 Oct 2014 12:14:44 +0000 (12:14 +0000)]
Revert "Various cleanup/simplification in object-observe.js"
It broke the context snapshot by trying to get ahold of the
per-isolate observation_state object too early.
This reverts commit
a137cb74fb8f89fabcb0396bebb0bdf248c4b0ae.
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
692473002
Cr-Commit-Position: refs/heads/master@{#24977}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24977
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
arv@chromium.org [Wed, 29 Oct 2014 11:45:57 +0000 (11:45 +0000)]
Classes: Add super support in methods and accessors
This is done by installing the [[HomeObject]] on the method and the
accessor functions.
BUG=v8:3330
LOG=Y
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
683893002
Cr-Commit-Position: refs/heads/master@{#24976}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24976
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Wed, 29 Oct 2014 10:59:41 +0000 (10:59 +0000)]
harmony-scoping: Correct dynamic lookups on a top level.
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
650663003
Cr-Commit-Position: refs/heads/master@{#24975}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24975
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
baptiste.afsa@arm.com [Wed, 29 Oct 2014 10:51:10 +0000 (10:51 +0000)]
[arm64] Turn Word64And into tst instruction when possible.
Also add corresponding unit tests.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
684813004
Cr-Commit-Position: refs/heads/master@{#24974}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24974
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Wed, 29 Oct 2014 10:36:36 +0000 (10:36 +0000)]
allow disabling of ArrayBuffer neutering
BUG=
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
684103002
Cr-Commit-Position: refs/heads/master@{#24973}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24973
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
adamk@chromium.org [Wed, 29 Oct 2014 10:32:24 +0000 (10:32 +0000)]
Various cleanup/simplification in object-observe.js
The biggest change is the removal of the map wrapper objects: we now operate
directly on the observation weak map, since there are already Get/GetOrCreate/Set
functions for each info map. Various other small cleanups as well, including the
deletion of unnecessary forwarding functions and making use of standard macros.
R=arv@chromium.org, rossberg@chromium.org
Review URL: https://codereview.chromium.org/
686773002
Cr-Commit-Position: refs/heads/master@{#24972}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24972
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 29 Oct 2014 10:28:11 +0000 (10:28 +0000)]
Eager compile for debugging when debug is active.
Scenario:
On reload, Devtools restores previously set break points. At this point,
since Devtools is already opened, all code is compiled with debug break
slots. No break points exist yet, so we would lazily compile inner
functions, even ones that cannot be compiled lazily without a context.
So when we use Debug::FindSharedFunctionInfoInScript to find the break
positions, those lazily compiled functions are skipped.
By eagerly compiling when debug is active, we make sure that whenever
Devtools is open, functions that cannot be compiled lazily without a
context are always compiled with its outer function.
R=ulan@chromium.org
BUG=chromium:424142
LOG=N
Review URL: https://codereview.chromium.org/
683413003
Cr-Commit-Position: refs/heads/master@{#24971}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24971
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 29 Oct 2014 10:19:08 +0000 (10:19 +0000)]
Reland "In PrepareForBreakPoints, also purge shared function info not referenced by functions."
BUG=chromium:424142
LOG=N
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
692453002
Cr-Commit-Position: refs/heads/master@{#24970}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24970
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
adamk@chromium.org [Wed, 29 Oct 2014 10:18:16 +0000 (10:18 +0000)]
Add performance tests for Map/Set with String and Object keys
The big change here is to split out each key type into its own
benchmark suite, since optimizations for different key types
are likely to be disjoint. ForEach tests have also been split
into separate "Iteration" suites, again with the thought that
iteration performance is likely separable from key type.
As part of adding the new tests, rejiggered the existing tests:
- Map.set and Set.add (along with their Weak variants) no longer
include construction costs in their scores
- Moved key logic into the shared common.js
R=arv@chromium.org, machenbach@chromium.org
Review URL: https://codereview.chromium.org/
685753004
Cr-Commit-Position: refs/heads/master@{#24969}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24969
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 29 Oct 2014 10:17:43 +0000 (10:17 +0000)]
Switch scheduler to iterative floating control placement.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
685773002
Cr-Commit-Position: refs/heads/master@{#24968}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24968
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 29 Oct 2014 09:24:12 +0000 (09:24 +0000)]
Reland "X87: Classes: Add basic support for properties."
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
687163003
Cr-Commit-Position: refs/heads/master@{#24967}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24967
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 29 Oct 2014 09:22:40 +0000 (09:22 +0000)]
Revert "In PrepareForBreakPoints, also purge shared function info not referenced by functions."
This reverts commit r24964.
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
687163002
Cr-Commit-Position: refs/heads/master@{#24966}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24966
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 29 Oct 2014 09:02:27 +0000 (09:02 +0000)]
Revert "X87: Classes: Add basic support for properties."
This reverts r24964.
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
689593002
Cr-Commit-Position: refs/heads/master@{#24965}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24965
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 29 Oct 2014 08:11:07 +0000 (08:11 +0000)]
In PrepareForBreakPoints, also purge shared function info not referenced by functions.
R=ulan@chromium.org
BUG=chromium:424142
LOG=N
Review URL: https://codereview.chromium.org/
685753002
Cr-Commit-Position: refs/heads/master@{#24964}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24964
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
weiliang.lin@intel.com [Wed, 29 Oct 2014 08:01:07 +0000 (08:01 +0000)]
X87: Classes: Add basic support for properties.
commit r24934.
original commit message:
This adds the properties to the prototype and the constructor.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/
682123004
Patch from Chunyang Dai <chunyang.dai@intel.com>.
Cr-Commit-Position: refs/heads/master@{#24963}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24963
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Wed, 29 Oct 2014 07:34:12 +0000 (07:34 +0000)]
Fix gn.
TBR=titzer@chromium.org
Review URL: https://codereview.chromium.org/
685083002
Cr-Commit-Position: refs/heads/master@{#24962}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24962
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
weiliang.lin@intel.com [Wed, 29 Oct 2014 07:19:42 +0000 (07:19 +0000)]
X87: Use shared function info for eval cache key.
port r24927.
original commit message:
Use shared function info for eval cache key.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/
689543002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
Cr-Commit-Position: refs/heads/master@{#24961}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24961
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Tue, 28 Oct 2014 23:47:32 +0000 (23:47 +0000)]
Revoke my own OWNERS bit.
TBR=jkumerrow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
683363002
Cr-Commit-Position: refs/heads/master@{#24960}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24960
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Tue, 28 Oct 2014 18:08:59 +0000 (18:08 +0000)]
Change cast to String to cast to Symbol in heap-snapshot-generator.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
684893002
Cr-Commit-Position: refs/heads/master@{#24959}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24959
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Tue, 28 Oct 2014 17:54:41 +0000 (17:54 +0000)]
Fix windows build.
TBR=ishell@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
669663003
Cr-Commit-Position: refs/heads/master@{#24958}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24958
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Tue, 28 Oct 2014 17:29:41 +0000 (17:29 +0000)]
Implement loop variable assignment analysis.
This analysis computes the set of variables that are assigned in each loop. This is useful to avoid creating redundant loop phis when building an SSA graph, which just waste memory and require analysis to get rid of.
This CL implements an AST walk for the analysis and plugs the result into the TurboFan graph builder. I left this analysis under a flag for A/B testing and until sufficient unit tests can be developed.
R=danno@chromium.org, mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
656123005
Cr-Commit-Position: refs/heads/master@{#24957}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24957
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00