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
balazs.kilvady@imgtec.com [Tue, 28 Oct 2014 16:54:35 +0000 (16:54 +0000)]
MIPS: [turbofan] Complete support for integer division/modulus in simplified lowering.
Port r24942 (c5055ce)
Original commit message:
Also add backend flags that tell whether integer division/modulus is
generally safe, i.e. does not trap on overflow or divide by zero.
TEST=unittests
BUG=
R=dusan.milosavljevic@imgtec.com
Review URL: https://codereview.chromium.org/
679393003
Cr-Commit-Position: refs/heads/master@{#24956}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24956
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Tue, 28 Oct 2014 16:43:34 +0000 (16:43 +0000)]
Revert r24737 "Read object pointer atomically while updating slots"
That broke webkit_unit_tests on ARM64.
BUG=chromium:427746
LOG=Y
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
683113003
Cr-Commit-Position: refs/heads/master@{#24955}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24955
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Tue, 28 Oct 2014 16:31:43 +0000 (16:31 +0000)]
Heap profiler clean-up: remove dead code
R=yangguo@chromium.org, loislo@chromium.org
LOG=N
BUG=Non
Review URL: https://codereview.chromium.org/
681333003
Cr-Commit-Position: refs/heads/master@{#24954}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24954
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rmcilroy@chromium.org [Tue, 28 Oct 2014 16:25:36 +0000 (16:25 +0000)]
Disable OOL constant pool for Arm.
This caused some performance regressions on Octane.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
663333005
Cr-Commit-Position: refs/heads/master@{#24953}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24953
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Tue, 28 Oct 2014 16:05:08 +0000 (16:05 +0000)]
Introduce FeedbackNexus for vector-based ics.
A FeedbackNexus is the combination of a feedback vector, a slot(s) in
the vector, along with methods to query and manipulate that information
in a type-correct way.
A CallIC will have a CallICNexus, a LoadIC a LoadICNexus, etc.,
reflecting the fact that different types of ICs configure their data
in unique ways.
This CL limits itself to introducing and using the nexus type only for
CallICs. A follow-up will use them for Load and KeyedLoadICs for the
case when the --vector-ics flag is turned on.
The notion of a Nexus is also embedded at the lowest level of the IC
class. This makes sense because more ICs should become vector-based
in the future.
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
683933002
Cr-Commit-Position: refs/heads/master@{#24952}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24952
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
balazs.kilvady@imgtec.com [Tue, 28 Oct 2014 15:44:52 +0000 (15:44 +0000)]
MIPS: Classes: Add basic support for properties
Port r24934 (279833c)
Original commit message:
This adds the properties to the prototype and the constructor.
BUG=v8:3330
LOG=Y
R=paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/
687633002
Cr-Commit-Position: refs/heads/master@{#24951}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24951
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
balazs.kilvady@imgtec.com [Tue, 28 Oct 2014 15:43:31 +0000 (15:43 +0000)]
MIPS: Use shared function info for eval cache key.
Port r24927 (244472a)
BUG=
R=paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/
681303002
Cr-Commit-Position: refs/heads/master@{#24950}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24950
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sigurds@chromium.org [Tue, 28 Oct 2014 15:22:22 +0000 (15:22 +0000)]
Add ARMv8 detection in CpuFeatures.
R=rodolph.perfetta@arm.com, ulan@chromium.org
Review URL: https://codereview.chromium.org/
678313002
Cr-Commit-Position: refs/heads/master@{#24949}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24949
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Tue, 28 Oct 2014 15:12:12 +0000 (15:12 +0000)]
Revert "Heap profiler clean-up: remove unused methods"
This reverts commit
63fd24a7c0782ccc3221803e3a2740f1e1b92ceb. Broke compilation on Mac.
TBR=loislo@chromium.org, yangguo@chromium.org
Review URL: https://codereview.chromium.org/
684883002
Cr-Commit-Position: refs/heads/master@{#24948}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24948
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Tue, 28 Oct 2014 15:07:38 +0000 (15:07 +0000)]
Revert "Introduce FeedbackNexus for vector-based ics."
This reverts commit r24945.
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
683883002
Cr-Commit-Position: refs/heads/master@{#24947}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24947
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Tue, 28 Oct 2014 14:53:53 +0000 (14:53 +0000)]
Heap profiler clean-up: remove unused methods
LOG=N
BUG=None
R=loislo@chromium.org, yangguo@chromium.org
Review URL: https://codereview.chromium.org/
680343002
Cr-Commit-Position: refs/heads/master@{#24946}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24946
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Tue, 28 Oct 2014 14:50:18 +0000 (14:50 +0000)]
Introduce FeedbackNexus for vector-based ics.
A FeedbackNexus is the combination of a feedback vector, a slot(s) in
the vector, along with methods to query and manipulate that information
in a type-correct way.
A CallIC will have a CallICNexus, a LoadIC a LoadICNexus, etc.,
reflecting the fact that different types of ICs configure their data
in unique ways.
This CL limits itself to introducing and using the nexus type only for
CallICs. A follow-up will use them for Load and KeyedLoadICs for the
case when the --vector-ics flag is turned on.
The notion of a Nexus is also embedded at the lowest level of the IC
class. This makes sense because more ICs should become vector-based
in the future.
This CL is based on https://codereview.chromium.org/
679073002/ which
should land first.
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
680883004
Cr-Commit-Position: refs/heads/master@{#24945}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24945
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Tue, 28 Oct 2014 14:47:32 +0000 (14:47 +0000)]
[Sheriff] Skip tests that fail with TF on arm64.
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
687653002
Cr-Commit-Position: refs/heads/master@{#24944}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24944
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
arv@chromium.org [Tue, 28 Oct 2014 14:12:18 +0000 (14:12 +0000)]
Classes: Add more tests for prototype edge cases
BUG=3655
LOG=Y
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
687453004
Cr-Commit-Position: refs/heads/master@{#24943}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24943
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 28 Oct 2014 13:56:26 +0000 (13:56 +0000)]
[turbofan] Complete support for integer division/modulus in simplified lowering.
Also add backend flags that tell whether integer division/modulus is
generally safe, i.e. does not trap on overflow or divide by zero.
TEST=unittests
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
681133004
Cr-Commit-Position: refs/heads/master@{#24942}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24942
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 28 Oct 2014 13:53:53 +0000 (13:53 +0000)]
Use a simpler KeyedStoreGeneric stub
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
674913002
Cr-Commit-Position: refs/heads/master@{#24941}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24941
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Tue, 28 Oct 2014 13:42:58 +0000 (13:42 +0000)]
Improve branch creation in release scripts.
Use 'git new-branch' for creating new branches.
BUG=410721
LOG=n
TEST=script_test.py
R=tandrii@chromium.org
Review URL: https://codereview.chromium.org/
680173003
Cr-Commit-Position: refs/heads/master@{#24940}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24940
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
arv@chromium.org [Tue, 28 Oct 2014 13:39:41 +0000 (13:39 +0000)]
Classes: Add test for method prototype
Methods should not have a prototype property
BUG=v8:3330
LOG=y
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
678103004
Cr-Commit-Position: refs/heads/master@{#24939}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24939
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
aandrey@chromium.org [Tue, 28 Oct 2014 13:24:36 +0000 (13:24 +0000)]
Get stack trace for uncaught exceptions/promise rejections from the simple stack when available.
We can convert simple stack trace of an Error object to the detailed stack that
is used for debugging. Do so when available, and only then fall back to
reporting stack trace at throw site.
R=yangguo@chromium.org, Yang
LOG=Y
Review URL: https://codereview.chromium.org/
674423002
Cr-Commit-Position: refs/heads/master@{#24938}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24938
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
wingo@igalia.com [Tue, 28 Oct 2014 13:23:54 +0000 (13:23 +0000)]
Move AST node counting to post-pass
R=mstarzinger@chromium.org, svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
683023002
Cr-Commit-Position: refs/heads/master@{#24937}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24937
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 28 Oct 2014 13:14:53 +0000 (13:14 +0000)]
Silence control reducer tracing a bit.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
687553002
Cr-Commit-Position: refs/heads/master@{#24936}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24936
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 28 Oct 2014 13:00:11 +0000 (13:00 +0000)]
[turbofan] LoadElement should not have a control input.
TEST=unittests
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
685723002
Cr-Commit-Position: refs/heads/master@{#24935}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24935
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
arv@chromium.org [Tue, 28 Oct 2014 12:43:05 +0000 (12:43 +0000)]
Classes: Add basic support for properties
This adds the properties to the prototype and the constructor.
BUG=v8:3330
LOG=Y
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
680993003
Cr-Commit-Position: refs/heads/master@{#24934}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24934
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
arv@chromium.org [Tue, 28 Oct 2014 12:23:26 +0000 (12:23 +0000)]
Allow duplicate property names in classes
ES6 no longer makes duplicate properties an error. However, we
continue to treat duplicate properties in strict mode object
literals as errors. With this change we allow duplicate properties
in class bodies. We continue to flag duplicate constructors as an
error as required by ES6.
BUG=v8:3570
LOG=Y
R=marja@chromium.org
Review URL: https://codereview.chromium.org/
677953004
Cr-Commit-Position: refs/heads/master@{#24933}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24933
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Tue, 28 Oct 2014 12:09:48 +0000 (12:09 +0000)]
Removed non-existent files from gyp and GN builds.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
682793005
Cr-Commit-Position: refs/heads/master@{#24932}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24932
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 28 Oct 2014 11:57:20 +0000 (11:57 +0000)]
[turbofan] Reduce (x & K) & K to x & K.
TEST=unittests
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
685713002
Cr-Commit-Position: refs/heads/master@{#24931}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24931
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 28 Oct 2014 11:38:22 +0000 (11:38 +0000)]
Make floating merges respected minimum RPO of coupled phis.
R=bmeurer@chromium.org, jarin@chromium.org
TEST=cctest/test-scheduler/LoopedFloatingDiamond
Review URL: https://codereview.chromium.org/
682983003
Cr-Commit-Position: refs/heads/master@{#24930}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24930
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 28 Oct 2014 10:00:37 +0000 (10:00 +0000)]
Use shared function info for eval cache key.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
678843004
Cr-Commit-Position: refs/heads/master@{#24927}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24927
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 28 Oct 2014 09:54:00 +0000 (09:54 +0000)]
[turbofan] Work-around stack overflow in zlib.
TBR=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
678323002
Cr-Commit-Position: refs/heads/master@{#24926}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24926
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 28 Oct 2014 09:44:16 +0000 (09:44 +0000)]
Prevent recursion in the debug event listener.
R=ulan@chromium.org
BUG=chromium:409614
LOG=N
Review URL: https://codereview.chromium.org/
684573005
Cr-Commit-Position: refs/heads/master@{#24924}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24924
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 28 Oct 2014 09:34:35 +0000 (09:34 +0000)]
Switch schedule early phase to use forward propagation.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
655833005
Cr-Commit-Position: refs/heads/master@{#24923}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24923
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Tue, 28 Oct 2014 08:55:28 +0000 (08:55 +0000)]
Windows: use SystemTimeToTzSpecificLocalTime instead of localtime_s.
The localtime_s function produces incorrect results for russian time zone.
BUG=chromium:417640
LOG=Y
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
654843012
Cr-Commit-Position: refs/heads/master@{#24922}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24922
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Tue, 28 Oct 2014 08:43:15 +0000 (08:43 +0000)]
move functions in v8::V8 that should be on v8::Isolate
R=marja@chromium.org, svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
652193006
Cr-Commit-Position: refs/heads/master@{#24921}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24921
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Tue, 28 Oct 2014 08:34:11 +0000 (08:34 +0000)]
Fix ASAN warning.
BUG=
TBR=ishell@chromium.org
Review URL: https://codereview.chromium.org/
683033002
Cr-Commit-Position: refs/heads/master@{#24920}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24920
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 28 Oct 2014 08:33:52 +0000 (08:33 +0000)]
[turbofan] Improve typed lowering for JSToBoolean.
- JSToBoolean(x:string) => BooleanNot(NumberEqual(x.length, #0))
- JSToBoolean(phi(x1,...,xn):primitive) => phi(JSToBoolean(x1),...,JSToBoolean(xn))
TEST=cctest,mjsunit/asm/do-while,mjsunit/boolean,unittests
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
681223002
Cr-Commit-Position: refs/heads/master@{#24919}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24919
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 28 Oct 2014 08:33:03 +0000 (08:33 +0000)]
[turbofan] Turn slow case for stack check into deferred code.
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
687473002
Cr-Commit-Position: refs/heads/master@{#24918}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24918
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 28 Oct 2014 08:28:36 +0000 (08:28 +0000)]
[turbofan] Minor cleanups to lowering of typed array loads/stores.
TEST=unittests
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
680063004
Cr-Commit-Position: refs/heads/master@{#24917}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24917
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Mon, 27 Oct 2014 22:33:52 +0000 (22:33 +0000)]
Revert "[turbofan] Merge GenericNode with Node."
This reverts commit
a238443c00ebbd8afb48ee7ad336e0ff163c84b5 (r24915)
for tanking benchmarks.
TBR=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
684693002
Cr-Commit-Position: refs/heads/master@{#24916}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24916
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00