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
jarin@chromium.org [Mon, 27 Oct 2014 20:36:56 +0000 (20:36 +0000)]
[turbofan] Merge GenericNode with Node.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
676353002
Cr-Commit-Position: refs/heads/master@{#24915}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24915
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dusan.milosavljevic@imgtec.com [Mon, 27 Oct 2014 18:24:05 +0000 (18:24 +0000)]
Make NextCodeLink pointer 8-byte aligned after GC pointer updating uses atomics.
After r24737 pointer updating is done by atomic operations which strictly
require target address to be 8-byte alignment on MIPS64.
The alignment is broken on 64-bit arches because InstructionSize is first field
and has Int size.
Order of fields in object layout are changed to make kNextCodeLinkOffset
divisible by 8. The size of code object header remains the same.
TEST=cctest/test-debug/* on MIPS64
BUG=
R=jkummerow@chromium.org, paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/
682673002
Cr-Commit-Position: refs/heads/master@{#24914}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24914
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Mon, 27 Oct 2014 16:58:38 +0000 (16:58 +0000)]
Fix for the cctest compilation issue on Mac after r24911.
TBR=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
667153005
Cr-Commit-Position: refs/heads/master@{#24913}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24913
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 27 Oct 2014 16:40:04 +0000 (16:40 +0000)]
Add serializer test case to bug fix in r24871.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
680883003
Cr-Commit-Position: refs/heads/master@{#24912}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24912
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Mon, 27 Oct 2014 16:34:28 +0000 (16:34 +0000)]
A type vector with multiple IC types needs metadata.
This CL adds a bitset to describe the type of IC in each IC slot.
This is necessary for clearing ICs of different types.
With FLAG_vector_ics off (the current state), it's not required because
CALL_IC is the only type of IC in the vector.
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
679073002
Cr-Commit-Position: refs/heads/master@{#24911}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24911
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
wingo@igalia.com [Mon, 27 Oct 2014 16:25:11 +0000 (16:25 +0000)]
Revert "Move AST node counting to post-pass"
This reverts commit
698356720824559a6bd81c24be707b44ac277526 for
breaking regress-96526-002 among other things.
TBR=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
678033002
Cr-Commit-Position: refs/heads/master@{#24910}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24910
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
wingo@igalia.com [Mon, 27 Oct 2014 15:00:09 +0000 (15:00 +0000)]
Move AST node counting to post-pass
R=mstarzinger@chromium.org, svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
675493002
Cr-Commit-Position: refs/heads/master@{#24909}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24909
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Mon, 27 Oct 2014 14:36:36 +0000 (14:36 +0000)]
Revert "Enable turbofan deoptimization by default."
This reverts commit
866032692ff59ac4282e6d1a483cbb52870cc784 for breaking
tests.
TBR=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
681713004
Cr-Commit-Position: refs/heads/master@{#24908}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24908
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
adamk@chromium.org [Mon, 27 Oct 2014 13:04:46 +0000 (13:04 +0000)]
SimpleMove now calls [[Has]] before [[Get]] when moving elements
BUG=v8:3643
LOG=n
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
678753002
Cr-Commit-Position: refs/heads/master@{#24907}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24907
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 27 Oct 2014 12:57:50 +0000 (12:57 +0000)]
Remove unused return values from PreEdge visitor.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
679093002
Cr-Commit-Position: refs/heads/master@{#24906}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24906
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Mon, 27 Oct 2014 12:46:44 +0000 (12:46 +0000)]
Enable turbofan deoptimization by default.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
638833004
Cr-Commit-Position: refs/heads/master@{#24905}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24905
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Mon, 27 Oct 2014 12:39:20 +0000 (12:39 +0000)]
[turbofan] reduce allocations outside of pipeline
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
679793003
Cr-Commit-Position: refs/heads/master@{#24904}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24904
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Mon, 27 Oct 2014 12:37:40 +0000 (12:37 +0000)]
Revert "Make all references from root shortcuts (except one to GC roots)"
This reverts commit
940418d2e1150499a28cca60b5dd138d351ec652. It resulted in orphan (Document DOM trees) and (Detached DOM trees) nodes.
BUG=chromium:414190
LOG=N
TBR=loislo@chromium.org, yangguo@chromium.org
Review URL: https://codereview.chromium.org/
639753007
Cr-Commit-Position: refs/heads/master@{#24903}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24903
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Mon, 27 Oct 2014 12:10:19 +0000 (12:10 +0000)]
Make all references from root shortcuts (except one to GC roots)
Eventually we are going to nuke this shortcuts from root entry altogether. This fix makes (GC roots) retained size equal to the snapshot's total size.
BUG=chromium:414190
LOG=N
R=loislo@chromium.org, yangguo@chromium.org
Review URL: https://codereview.chromium.org/
681743002
Cr-Commit-Position: refs/heads/master@{#24902}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24902
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erikcorry@chromium.org [Mon, 27 Oct 2014 12:03:25 +0000 (12:03 +0000)]
Revert 'Introduce phantom weak handles in the API and use them internally for debug info'
Revert of https://codereview.chromium.org/
649563006/ due to layout test
failures.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
677403002
Cr-Commit-Position: refs/heads/master@{#24901}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24901
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 27 Oct 2014 11:57:58 +0000 (11:57 +0000)]
Revert "Limit the number of transitions allowed per hidden class." Due to crashes in ClearMapTransitions
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
661583004
Cr-Commit-Position: refs/heads/master@{#24900}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24900
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erikcorry@chromium.org [Mon, 27 Oct 2014 11:04:33 +0000 (11:04 +0000)]
Introduce phantom weak handles in the API and use them internally for debug info
R=jochen@chromium.org, ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
649563006
Cr-Commit-Position: refs/heads/master@{#24899}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24899
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Mon, 27 Oct 2014 10:29:52 +0000 (10:29 +0000)]
Fix Win64 build after r24896
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
646943007
Cr-Commit-Position: refs/heads/master@{#24898}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24898
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
akos.palfi@imgtec.com [Mon, 27 Oct 2014 10:29:20 +0000 (10:29 +0000)]
Fix non-TF targets after r24874.
Fix mips64 and presumably x87.
BUG=
R=mstarzinger@chromium.org, sigurds@chromium.org
Review URL: https://codereview.chromium.org/
679433004
Patch from Paul Lind <paul.lind@imgtec.com>.
Cr-Commit-Position: refs/heads/master@{#24897}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24897
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Mon, 27 Oct 2014 10:12:16 +0000 (10:12 +0000)]
[turbofan] Reduce memory consumption of graph building
Allow reservation of additional input capacity when creating nodes to prevent switching to deque representation when adding well-known additional inputs.
Also ensure that only a single temporary buffer is used to create temporary input arrays before allocating nodes.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
644083003
Cr-Commit-Position: refs/heads/master@{#24896}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24896
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Mon, 27 Oct 2014 09:36:51 +0000 (09:36 +0000)]
[turbofan] delete graph and schedule before register allocation.
R=mstarzinger@chromium.org, titzer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
662513005
Cr-Commit-Position: refs/heads/master@{#24894}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24894
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Mon, 27 Oct 2014 09:02:49 +0000 (09:02 +0000)]
pass isolate to Value::To* functions
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
669373002
Cr-Commit-Position: refs/heads/master@{#24893}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24893
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Mon, 27 Oct 2014 08:58:55 +0000 (08:58 +0000)]
[turbofan] add absolute peak to stats
R=danno@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
676693002
Cr-Commit-Position: refs/heads/master@{#24892}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24892
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Mon, 27 Oct 2014 08:41:32 +0000 (08:41 +0000)]
Implement control reducer, which reduces branches and phis together in a single fixpoint.
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
665223006
Cr-Commit-Position: refs/heads/master@{#24891}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24891
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
paul.lind@imgtec.com [Sun, 26 Oct 2014 22:43:17 +0000 (22:43 +0000)]
MIPS64: Fix bug in super assignment from r24570.
TEST=mjsunit/harmony/super.js
BUG=
R=akos.palfi@imgtec.com
Review URL: https://codereview.chromium.org/
677813002
Cr-Commit-Position: refs/heads/master@{#24889}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24889
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Sun, 26 Oct 2014 12:49:56 +0000 (12:49 +0000)]
[turbofan] Implement the correct semantics for integer division/modulus.
Also fix the sdiv/udiv instructions on ARM as a nice side effect.
TEST=cctest,unittests
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
677483005
Cr-Commit-Position: refs/heads/master@{#24888}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24888
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Sun, 26 Oct 2014 10:44:57 +0000 (10:44 +0000)]
Handle noi18n in deopt.
TBR=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
670023003
Cr-Commit-Position: refs/heads/master@{#24887}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24887
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Sun, 26 Oct 2014 10:24:49 +0000 (10:24 +0000)]
Add more missing deopts
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
639883002
Cr-Commit-Position: refs/heads/master@{#24886}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24886
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Fri, 24 Oct 2014 19:28:23 +0000 (19:28 +0000)]
Add remaining @@toStringTag symbols to builtins
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
664333003
Patch from Caitlin Potter <caitpotter88@gmail.com>.
Cr-Commit-Position: refs/heads/master@{#24885}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24885
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
adamk@chromium.org [Fri, 24 Oct 2014 18:07:59 +0000 (18:07 +0000)]
SimpleSlice now calls [[Get]] before [[Has]] when generating copy
SparseSlice does not need this (non-optimal) reordering since its
callers guarantee that [[Get]] has no side effects on the passed-in array.
BUG=v8:3643
LOG=n
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
674003002
Cr-Commit-Position: refs/heads/master@{#24884}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24884
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
adamk@chromium.org [Fri, 24 Oct 2014 18:04:03 +0000 (18:04 +0000)]
Widen definition of %HasComplexElements() to include non-enumerability
This avoids using the Sparse methods on objects with non-enumerable elements,
which can cause the 'enumerable: false' bit to get lost in the operation.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
672323003
Cr-Commit-Position: refs/heads/master@{#24883}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24883
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00