machenbach@chromium.org [Fri, 24 Oct 2014 12:17:17 +0000 (12:17 +0000)]
Whitespace change.
Cr-Commit-Position: refs/heads/master@{#24865}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24865
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Fri, 24 Oct 2014 11:58:27 +0000 (11:58 +0000)]
Whitespace change.
Cr-Commit-Position: refs/heads/master@{#24864}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24864
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Fri, 24 Oct 2014 09:48:58 +0000 (09:48 +0000)]
Whitespace change to test gnumbd.
TBR=agable@chromium.org
Review URL: https://codereview.chromium.org/
672293006
Cr-Commit-Position: refs/heads/master@{#24863}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24863
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 24 Oct 2014 09:36:40 +0000 (09:36 +0000)]
[x86] Fix register constraints for multiply-high.
TEST=mjsunit/compiler,unittests
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
671393002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24862
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 24 Oct 2014 08:37:03 +0000 (08:37 +0000)]
Log code event for deserialized code.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
663453005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24861
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 24 Oct 2014 08:25:00 +0000 (08:25 +0000)]
Unbreak c1visualizer.
TBR=jarin@chromium.org
Review URL: https://codereview.chromium.org/
673873004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24860
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
weiliang.lin@intel.com [Fri, 24 Oct 2014 07:34:20 +0000 (07:34 +0000)]
X87: Classes: implement 'new super'.
port r24825.
original commit message:
Classes: implement 'new super'.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/
663233003
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24859
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 24 Oct 2014 07:29:39 +0000 (07:29 +0000)]
Make block writes in the serializer more efficient.
And also fix a OOB read in SerializeExternalString.
R=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/
671633004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24858
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 24 Oct 2014 05:29:54 +0000 (05:29 +0000)]
Limit the number of transitions allowed per hidden class.
Each time a transition is added to a hidden class, the whole
transitions array must be copied, which causes poor performance
in some circumstances. This change limits the maximum size of
the transition array, avoiding this behavior in the pathological
case. For example, this improves the performance of the EtchMark
benchmark by nearly 60%.
BUG=v8:3616
LOG=
R=verwaest@chromium.org, svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
635883003
Patch from Kevin M. McCormick <mckev@amazon.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24857
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
adamk@chromium.org [Thu, 23 Oct 2014 21:13:29 +0000 (21:13 +0000)]
Fix sparse versions of Array slice/splice to use [[DefineOwnProperty]] to generate return value
BUG=chromium:423633
LOG=n
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
673893002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24856
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
adamk@chromium.org [Thu, 23 Oct 2014 18:21:50 +0000 (18:21 +0000)]
Narrow cases where Sparse/Smart versions of Array methods are used
Added a new %HasComplexElements runtime function (meaning elements that are
non-writable, non-configurable, or have getters and setters) and use it
in UseSparseVariant to filter out cases where the sparse optimizations
can cause V8 to fall out of spec compliance.
Renamed SmartMove/SmartSlice to SparseMove/SparseSlice and guarded them
with the new and improved UseSparseVariant.
These two changes combine let us pass nearly every test in bug-2615.js,
as well as fixing reverse and join on sparse arrays.
Note that there are various test changes in this patch that correct existing
tests to match the correct-by-spec behavior.
This patch depends on https://codereview.chromium.org/
666883009, which
better-aligns the behavior of SmartMove with SimpleMove.
BUG=v8:2615,v8:3612,v8:3621
LOG=y
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
656423004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24855
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
adamk@chromium.org [Thu, 23 Oct 2014 17:46:34 +0000 (17:46 +0000)]
Change SmartMove no-op behavior to match SimpleMove (and ES6 spec)
The previous behavior, which caused Array.prototype.unshift() (with no args)
to have side-effects, no longer matches the spec (ES6 changed the no-arg behavior
in April 2014). The new SmartMove behavior is also compatible with current
versions of Firefox.
This is a baby step towards getting rid of SmartMove; it isolates the test
change in this patch, instead of lumping it in confusingly with all the
other test updates necessary for moving away from SmartMove.
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
666883009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24854
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 23 Oct 2014 16:29:43 +0000 (16:29 +0000)]
Move special RPO computation into separate class.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
673753003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24853
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 23 Oct 2014 16:11:56 +0000 (16:11 +0000)]
Make GIT ignore all turbo.cfg files.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
667553003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24852
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Thu, 23 Oct 2014 15:16:27 +0000 (15:16 +0000)]
Shrink new space in idle notification.
BUG=chromium:424423
LOG=Y
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/
662543008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24851
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Thu, 23 Oct 2014 15:09:38 +0000 (15:09 +0000)]
Disambiguate pow
TBR=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
673793002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24850
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Thu, 23 Oct 2014 14:41:39 +0000 (14:41 +0000)]
Fixed mutable heap numbers leak in JSON parser.
BUG=chromium:423687
LOG=N
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
669403002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24849
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Thu, 23 Oct 2014 14:40:43 +0000 (14:40 +0000)]
[turbofan] Use range types to type and lower arithmetic ops.
This is based on Georg's work on typing arithmetic operations (https://codereview.chromium.org/
658743002/).
Instead of weakening to bitset types, we weaken to the closest 2^n
limit if we see that we are re-typing a node with a range type (which
means that the node can be part of a cycle, so we might need
to speed up the fixpoint there).
BUG=
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
636283009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24848
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Thu, 23 Oct 2014 14:38:25 +0000 (14:38 +0000)]
Whitespace change to trigger bots.
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
667213006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24847
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Thu, 23 Oct 2014 14:27:15 +0000 (14:27 +0000)]
Switch release scripts to new git workflow.
BUG=410721
TBR=tandrii@chromium.org
Review URL: https://codereview.chromium.org/
676713003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24846
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Thu, 23 Oct 2014 12:59:48 +0000 (12:59 +0000)]
fix another static initializer
TBR=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
666333004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24843
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Thu, 23 Oct 2014 12:30:20 +0000 (12:30 +0000)]
harmony-scoping: Allow 'const' iteration variables in strict mode.
R=rossberg@chromium.org
BUG=v8:2506
LOG=N
Committed: https://code.google.com/p/v8/source/detail?r=24834
Review URL: https://codereview.chromium.org/
671913002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24842
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
akos.palfi@imgtec.com [Thu, 23 Oct 2014 12:05:46 +0000 (12:05 +0000)]
MIPS: Classes: implement 'new super'.
Port r24825 (
b26f0181)
BUG=
R=dslomov@chromium.org, dusan.milosavljevic@imgtec.com
Review URL: https://codereview.chromium.org/
676703002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24841
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 23 Oct 2014 11:56:26 +0000 (11:56 +0000)]
Reland 'Simplify TurboFan's c1visualizer file handling.'
This is r24819 plus some tiny fixes to make the Mac toolchain happy.
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
676673002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24840
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Thu, 23 Oct 2014 11:55:19 +0000 (11:55 +0000)]
Revert "harmony-scoping: Allow 'const' iteration variables in strict mode."
This reverts commit r24834 for breaking debug tests.
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
672193002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24839
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Thu, 23 Oct 2014 11:42:30 +0000 (11:42 +0000)]
Remove deprecated lexer-shell.
R=marja@chromium.org
Review URL: https://codereview.chromium.org/
658633003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24838
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Thu, 23 Oct 2014 11:31:33 +0000 (11:31 +0000)]
More details printed for Map, DescriptorArray and TransitionArray.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
659363002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24837
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 23 Oct 2014 11:23:57 +0000 (11:23 +0000)]
De-virtualize snapshot sink.
R=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/
669133003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24836
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Thu, 23 Oct 2014 11:19:44 +0000 (11:19 +0000)]
fix build after r24830
TBR=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
675733002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24835
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Thu, 23 Oct 2014 11:18:50 +0000 (11:18 +0000)]
harmony-scoping: Allow 'const' iteration variables in strict mode.
R=rossberg@chromium.org
BUG=v8:2506
LOG=N
Review URL: https://codereview.chromium.org/
671913002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24834
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 23 Oct 2014 10:33:49 +0000 (10:33 +0000)]
Make sure floating phi nodes are coupled to their control (2).
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
673513004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24833
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Thu, 23 Oct 2014 10:22:06 +0000 (10:22 +0000)]
[turbofan] Improve code generation for inline comparisons with zero.
TEST=cctest,unittests
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
669133004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24832
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 23 Oct 2014 09:32:18 +0000 (09:32 +0000)]
Fix memory leak in RootIndexMap.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
671153002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24831
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Thu, 23 Oct 2014 09:14:35 +0000 (09:14 +0000)]
[turbofan] split compilation stats off from HStatistics and track high water marks
R=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
669053002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24830
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 23 Oct 2014 09:01:09 +0000 (09:01 +0000)]
Second compile fix to r24826.
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
645163009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24829
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 23 Oct 2014 08:56:54 +0000 (08:56 +0000)]
Fix compile errors in r24826.
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
656793005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24828
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 23 Oct 2014 08:43:17 +0000 (08:43 +0000)]
Use hash map to look for objects in the root array when serializing.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
645533003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24826
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Thu, 23 Oct 2014 08:32:23 +0000 (08:32 +0000)]
Classes: implement 'new super'.
R=ishell@chromium.org, arv@chromium.org
BUG=v8:3330
LOG=N
Committed: https://code.google.com/p/v8/source/detail?r=24822
Review URL: https://codereview.chromium.org/
665773003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24825
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 23 Oct 2014 08:25:42 +0000 (08:25 +0000)]
Small fixes for the code serializer.
- assertions regarding max heap object size.
- ensure string table capacity upfront.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
671843003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24824
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Thu, 23 Oct 2014 08:21:30 +0000 (08:21 +0000)]
Revert "Classes: implement 'new super'."
This reverts commit r24822 for breaking debug compilation.
TBR=ishell@chromium.org
Review URL: https://codereview.chromium.org/
662253003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24823
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Thu, 23 Oct 2014 08:11:51 +0000 (08:11 +0000)]
Classes: implement 'new super'.
R=ishell@chromium.org, arv@chromium.org
BUG=v8:3330
LOG=N
Review URL: https://codereview.chromium.org/
665773003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24822
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 23 Oct 2014 07:36:39 +0000 (07:36 +0000)]
Revert "Simplify TurboFan's c1visualizer file handling."
This reverts r24819, it broke the build on Mac due to header incompatibilities.
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
672873002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24821
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Thu, 23 Oct 2014 07:34:36 +0000 (07:34 +0000)]
[turbofan] Currently we cannot handle typed arrays bigger than 2GiB.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
676643002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24820
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 23 Oct 2014 07:26:13 +0000 (07:26 +0000)]
Simplify TurboFan's c1visualizer file handling.
Still having GetTurboCfgFileName in Isolate is ugly, but if we decide that we
don't want to truncate the output file (which would be consistent with
--trace-hydrogen), this could be moved to TurboCfgFile where it actually
belongs.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
666223003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24819
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Thu, 23 Oct 2014 05:57:01 +0000 (05:57 +0000)]
Cleanup ConsStringIteratorOp.
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
663313003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24818
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Thu, 23 Oct 2014 04:18:17 +0000 (04:18 +0000)]
Skip webkit/array-iterate-backwards for TF.
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
672113002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24817
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Thu, 23 Oct 2014 04:16:22 +0000 (04:16 +0000)]
Skip webkit/dfg-int-overflow-in-loop for TF.
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
652183005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24816
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rodolph.perfetta@arm.com [Wed, 22 Oct 2014 18:24:20 +0000 (18:24 +0000)]
ARM64: Fix stack manipulation.
Builtins::Generate_StringConstructCode was claiming stack space instead of
giving it back.
BUG=chromium:425585
LOG=Y
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
672623003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24815
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
adamk@chromium.org [Wed, 22 Oct 2014 18:16:35 +0000 (18:16 +0000)]
Speed up creation of Objects whose prototype has dictionary elements
This speeds up both the case from the bug (using Object.create) but also
takes care ofthe "{ __proto__: obj }" syntax, which was previously (and
erroneously) being treated the same as setting the prototype dynamically
from script using the __proto__ setter or Object.setPrototypeOf.
BUG=chromium:422754
LOG=y
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
667253002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24814
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
adamk@chromium.org [Wed, 22 Oct 2014 17:21:53 +0000 (17:21 +0000)]
Fix {get,set}ter-on-elements tests to run through all creation functions
setter-on-elements had the wrong length hardcoded in a for loop over the
creation functions (getter-on-elements had the right length, but seemed
worth future-proofing).
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
643143005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24813
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Wed, 22 Oct 2014 17:15:38 +0000 (17:15 +0000)]
Add Terminate operator.
Terminate is need for non-terminating loops (NTLs) that can appear after optimizing control flow. It gathers the control and effect(s) from a NTL and connects them to end so that they are not dead-code removed.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
651843004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24812
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Wed, 22 Oct 2014 15:30:50 +0000 (15:30 +0000)]
Update intialization of vtune support.
In R23940 (https://code.google.com/p/v8/source/detail?r=23940) it introduces
Isolate::CreateParams and mentions that V8::SetJitCodeEventHandler should either
be passed to Isolate::New as well, or invoked via the Isolate.
When Chrome as embedder of V8, we will set the Jit Code event handler for Vtune
support during the initialization of renderer process and V8 has be initialized
at that time. It's better that we invoke V8::SetJitCodeEventHander via the Isolate.
So we change the vTune::InitializeVtuneForV8(v8::Isolate::CreateParams& params) to
vTune::InitializeVtuneForV8(v8::Isolate* isolate).
we will do corresponding changes in chromium code if this patch is landed and Chromium
updates V8 to the
new release branch.
some part of this patch is provided by denis.pravdin@intel.com.
BUG=
R=danno@chromium.org, jochen@chromium.org
Review URL: https://codereview.chromium.org/
655183002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24811
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Wed, 22 Oct 2014 14:58:25 +0000 (14:58 +0000)]
Stage harmony-strings.
R=rossberg@chromium.org, yangguo@chromium.org
Review URL: https://codereview.chromium.org/
666353002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24810
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Wed, 22 Oct 2014 14:39:41 +0000 (14:39 +0000)]
Cleanups to Verifier.
This CL broadens the checks done by the verifier in untyped mode and introduces some subroutines to shorten the code a bit.
Introduce routines CheckUpperIs() CheckUpperMaybe() and CheckValueInputIs() that are called unconditionally by the verifier. If the typing mode is untyped, then don't check anything.
Also added a couple checks for Merge and Loop nodes that catch bugs where the operator and the node disagree on input counts (a bug encountered today).
R=mstarzinger@chromium.org, rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
669073002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24809
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Wed, 22 Oct 2014 14:06:15 +0000 (14:06 +0000)]
Remove [[PROTOTYPE]] from ObjectToStringHarmony
harmony-tostring needs to emulate InstallFunctions --- InstallFunctions will fail
in Debug builds because the `toString` property already exists in Object.prototype.
The fix is to add some of the other features from InstallFunctions() to the
setup of ObjectToStringHarmony.
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
667263004
Patch from Caitlin Potter <caitpotter88@gmail.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24808
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
wingo@igalia.com [Wed, 22 Oct 2014 13:13:19 +0000 (13:13 +0000)]
Array.prototype.{reduce, reduceRight}: Wrong order of operations when determining initial value.
BUG=v8:3534
LOG=
R=svenpanne@chromium.org, wingo@igalia.com
Review URL: https://codereview.chromium.org/
614733002
Patch from Diego Pino <dpino@igalia.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24807
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Wed, 22 Oct 2014 13:04:08 +0000 (13:04 +0000)]
Move js perf tests to a common root on the perf dashboard.
BUG=
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
667373004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24806
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Wed, 22 Oct 2014 12:54:35 +0000 (12:54 +0000)]
Add an --msan flag to run-tests.py.
Currently a no-op and added only for consistency with ASan/TSan.
BUG=chromium:425187
R=machenbach@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/
667903004
Patch from Sergey Matveev <earthdok@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24805
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Wed, 22 Oct 2014 11:32:39 +0000 (11:32 +0000)]
Whitespace change to test new git workflow.
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
638883006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24804
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 22 Oct 2014 11:31:12 +0000 (11:31 +0000)]
Switch ScheduleLateNodeVisitor to use explicit queue.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
672583002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24803
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 22 Oct 2014 11:24:55 +0000 (11:24 +0000)]
[turbofan] Add support for deferred code.
Branch can now have an optional hint, when the condition is
likely true or false, and if such a hint is present the other
basic block will be marked as deferred and placed at the end
of the function.
We currently use this feature for tagging int32/uint32 in
change lowering, and for load/store bounds checks in simplified
lowering.
TEST=cctest,unittests
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
642883003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24802
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Wed, 22 Oct 2014 11:08:42 +0000 (11:08 +0000)]
Perf tests for fromCodePoint and codePointAt.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
670463005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24801
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sigurds@chromium.org [Wed, 22 Oct 2014 11:06:22 +0000 (11:06 +0000)]
Add FRINTP (round towards positive infinity) instruction.
Macro Assember, assembler and simulator for ARM64 were missing FRINTP.
R=rodolph.perfetta@arm.com, ulan@chromium.org
Review URL: https://codereview.chromium.org/
669923002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24800
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
balazs.kilvady@imgtec.com [Wed, 22 Oct 2014 10:26:38 +0000 (10:26 +0000)]
MIPS64: Spread the knowledge!
Port r24793 (c0c2b0d)
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24799
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 22 Oct 2014 09:37:42 +0000 (09:37 +0000)]
Disable libstdc++ debug mode on x64 for now.
TBR=mstarzinger@chromium.org
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24798
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 22 Oct 2014 09:14:48 +0000 (09:14 +0000)]
Remove testing artifacts from Schedule::AddFoo.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
641553003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24797
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Wed, 22 Oct 2014 08:19:05 +0000 (08:19 +0000)]
Flatten the string in StringToDouble function.
R=yangguo@chromium.org
BUG=chromium:425551
LOG=N
Review URL: https://codereview.chromium.org/
654763003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24796
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Wed, 22 Oct 2014 08:15:47 +0000 (08:15 +0000)]
Really disable test when running with optimize for size
R=bmeurer@chromium.org
TBR=bmeurer@chromium.org
LOG=n
BUG=none
Review URL: https://codereview.chromium.org/
652903008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24795
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 22 Oct 2014 08:12:17 +0000 (08:12 +0000)]
Enable libstdc++ debug mode in debug builds.
For now it's only enabled on Linux/Intel.
R=mstarzinger@chromium.org
BUG=v8:3638
LOG=y
Review URL: https://codereview.chromium.org/
650013006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24794
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Wed, 22 Oct 2014 08:06:43 +0000 (08:06 +0000)]
Spread the knowledge!
R=arv@chromium.org, mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
670623005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24793
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Wed, 22 Oct 2014 07:36:12 +0000 (07:36 +0000)]
Fix newly added test to not run with optimize-for-size
TBR=ulan@chromium.org
BUG=none
LOG=n
Review URL: https://codereview.chromium.org/
673593002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24792
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Wed, 22 Oct 2014 06:58:38 +0000 (06:58 +0000)]
Add support for a target new space size
When this flag is set, we will commit additional pages up until the
target size before doing a scavenge.
I made sure that all tests pass when a target size of 16MB is set.
BUG=v8:3626
R=ulan@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
652543007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24790
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 22 Oct 2014 06:42:17 +0000 (06:42 +0000)]
Use getauxval() if available.
This fixes the problem of not being able to detect ARM features on
ChromeOS because sandbox cannot access /proc/self/auxv and
/proc/cpuinfo there.
Drive-by-cleanup to libc detection in two other places.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
672543002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24789
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Tue, 21 Oct 2014 20:13:09 +0000 (20:13 +0000)]
Whitespace change to trigger revert of new test262-es6 tests.
TBR=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
665373003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24788
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Tue, 21 Oct 2014 18:46:12 +0000 (18:46 +0000)]
Whitespace change to trigger new test262-es6 tests.
TBR=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
672483002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24787
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Tue, 21 Oct 2014 18:38:03 +0000 (18:38 +0000)]
Whitespace change to trigger new test262-es6 tests.
TBR=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
646873005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24786
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
adamk@chromium.org [Tue, 21 Oct 2014 18:16:50 +0000 (18:16 +0000)]
Replace single quotes with double quotes to fix BUILD.gn
TBR=jochen@chromium.org
Review URL: https://codereview.chromium.org/
665313003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24785
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
adamk@chromium.org [Tue, 21 Oct 2014 17:46:42 +0000 (17:46 +0000)]
Array.prototype.{slice,splice} should use [[DefineOwnProperty]] to generate return value
BUG=chromium:423633
LOG=N
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
649063003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24784
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Tue, 21 Oct 2014 17:21:32 +0000 (17:21 +0000)]
Update ObjectToString to Harmony-draft algorithm
Updates Object.prototype.toString() to use algorithm described in harmony drafts.
Currently, the behaviour is essentially the same as ES262's version, however this changes when internal structures
such as Promise make use of symbolToStringTag (as they are supposed to, see v8:3241), and changes further once
Symbol.toStringTag is exposed publicly.
BUG=v8:3241, v8:3502
LOG=N
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
546803003
Patch from Caitlin Potter <caitpotter88@gmail.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24783
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 21 Oct 2014 16:31:51 +0000 (16:31 +0000)]
Revert "Make sure floating phi nodes are coupled to their control."
TBR=jarin@chromium.org
Review URL: https://codereview.chromium.org/
654583004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24782
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 21 Oct 2014 15:35:39 +0000 (15:35 +0000)]
Make sure floating phi nodes are coupled to their control.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
669683002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24781
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Tue, 21 Oct 2014 15:12:45 +0000 (15:12 +0000)]
Fix scheduler not to connect final merge block in the graph to its inputs.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
667953002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24780
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Tue, 21 Oct 2014 14:44:50 +0000 (14:44 +0000)]
[turbofan] use ZonePool in most places in the compiler pipeline a temp zone is used.
R=jarin@chromium.org, bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
663333003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24779
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Tue, 21 Oct 2014 14:41:54 +0000 (14:41 +0000)]
Fix off-by-one bug in TurboFan register allocator.
R=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
671703003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24778
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Tue, 21 Oct 2014 14:17:08 +0000 (14:17 +0000)]
Fix AstGraphBuilder for loops like for(;;).
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
640203004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24777
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Tue, 21 Oct 2014 13:37:49 +0000 (13:37 +0000)]
Fix incorrect private access
(I'm puzzled why GCC did not report this error.)
TBR=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
669733007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24776
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Tue, 21 Oct 2014 13:04:51 +0000 (13:04 +0000)]
The issue is that by handling strings with map/handler pairs instead of a special
version of the keyed load stub (https://code.google.com/p/v8/source/detail?r=24661),
I allowed polymorphism between string and non-string types in the IC. Before, the
IC would go generic.
Then, at crankshaft time, we special case when we only saw strings. The error
here is that crankshaft can't emit code that handles polymorphism between string
and non-string types. The choice is either to get that to happen (I don't deem
this necessary from a performance point of view, an IC with such type feedback
before would have gone generic), or simply check for the case of "polymorphic
with some string maps" and require crankshaft to go generic. I'll do the latter.
BUG=425519
LOG=N
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
667923004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24775
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Tue, 21 Oct 2014 12:57:19 +0000 (12:57 +0000)]
Fix data race with interface caching
R=bmeurer@chromium.org
BUG=421634
LOG=N
Review URL: https://codereview.chromium.org/
667703002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24774
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Tue, 21 Oct 2014 12:56:52 +0000 (12:56 +0000)]
Use an idle notification of 0ms as hint that a GC after context disposal is triggerd
BUG=none
R=ulan@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
671513006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24773
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Tue, 21 Oct 2014 12:38:46 +0000 (12:38 +0000)]
[turbofan] add ZonePool to correctly track compiler phase memory usage
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
665893006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24771
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 21 Oct 2014 12:24:01 +0000 (12:24 +0000)]
[turbofan] Reduce ~~x to x.
TEST=unittests
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
666723005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24770
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
wingo@igalia.com [Tue, 21 Oct 2014 12:16:37 +0000 (12:16 +0000)]
Assign bailout and type feedback IDs in a post-pass
This will allow us to move expressions from one function to another, for
example when the parser determines that a given cover grammar instance
is actually the default value initializer for an arrow function.
This is a re-land of https://codereview.chromium.org/
636403003/ with a
fix for the arm64 code generator.
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
663373003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24769
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Tue, 21 Oct 2014 11:54:10 +0000 (11:54 +0000)]
Handle property name "-0" correctly for typed arrays.
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
670623003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24768
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 21 Oct 2014 11:21:54 +0000 (11:21 +0000)]
Remove unused IsDirty
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
670703002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24767
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dusan.milosavljevic@imgtec.com [Tue, 21 Oct 2014 11:10:13 +0000 (11:10 +0000)]
Handle NaN value storing in Uint8Clamped typed arrays.
TEST=mjsunit/external-array
BUG=
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
667113002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24766
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Tue, 21 Oct 2014 11:05:32 +0000 (11:05 +0000)]
Perf tests for harmony string functions.
R=yangguo@chromium.org
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24765
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 21 Oct 2014 10:59:55 +0000 (10:59 +0000)]
[x86] Select better left operand for comparisons.
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
667933002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24764
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 21 Oct 2014 10:59:41 +0000 (10:59 +0000)]
Fix leak in d8.
R=bmeurer@chromium.org
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
652403003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24763
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 21 Oct 2014 10:55:12 +0000 (10:55 +0000)]
Revert "Assign bailout and type feedback IDs in a post-pass"
This reverts r24757, which breaks the ARM64 simulator build.
Simple repro:
out/arm64.debug/d8 -e 'eval("(function(){ const x; var x; })")'
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
652543006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24762
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 21 Oct 2014 10:51:02 +0000 (10:51 +0000)]
Remove unused GetConstructor
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
663033004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24761
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00