mstarzinger@chromium.org
02934fe48f
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
2014-10-27 12:58:14 +00:00
jarin@chromium.org
866032692f
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
2014-10-27 12:47:16 +00:00
dcarney@chromium.org
91f4962343
[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
2014-10-27 12:40:13 +00:00
yurys@chromium.org
a133780e5b
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
2014-10-27 12:38:09 +00:00
yurys@chromium.org
bcb89a6b68
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
2014-10-27 12:10:39 +00:00
erikcorry@chromium.org
716648065a
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
2014-10-27 12:03:39 +00:00
verwaest@chromium.org
d83acdf9a0
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
2014-10-27 11:58:18 +00:00
erikcorry@chromium.org
891e289d0f
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
2014-10-27 11:05:11 +00:00
danno@chromium.org
4393ee9232
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
2014-10-27 10:30:20 +00:00
akos.palfi@imgtec.com
73c1901f6d
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
2014-10-27 10:29:41 +00:00
danno@chromium.org
16928e28d7
[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
2014-10-27 10:12:40 +00:00
dcarney@chromium.org
16e25a1124
[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
2014-10-27 09:37:13 +00:00
dcarney@chromium.org
b714772c07
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
2014-10-27 09:03:16 +00:00
dcarney@chromium.org
89885c8a43
[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
2014-10-27 08:59:11 +00:00
titzer@chromium.org
82581534ae
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
2014-10-27 08:42:16 +00:00
paul.lind@imgtec.com
76bc15b5d2
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
2014-10-26 22:43:40 +00:00
bmeurer@chromium.org
f535763763
[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
2014-10-26 12:50:46 +00:00
jarin@chromium.org
a13acdf6a1
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
2014-10-26 10:45:15 +00:00
jarin@chromium.org
23df66ee24
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
2014-10-26 10:25:48 +00:00
dslomov@chromium.org
08ee4d3a5c
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
2014-10-24 19:29:10 +00:00
adamk@chromium.org
c9ea8d6512
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
2014-10-24 18:08:13 +00:00
adamk@chromium.org
02d37b8f10
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
2014-10-24 18:04:13 +00:00
baptiste.afsa@arm.com
878ff91c8f
[arm64] Use logical immediates when matching tst instructions.
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/668633003
Cr-Commit-Position: refs/heads/master@{#24882}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24882 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-24 15:29:44 +00:00
jkummerow@chromium.org
f916299225
Fix "jst" GDB macro
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/669383002
Cr-Commit-Position: refs/heads/master@{#24881}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24881 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-24 15:04:08 +00:00
dslomov@chromium.org
9b74675e0d
Check string literals with escapes in PreParserTraits::GetSymbol()
...
LOG=Y
BUG=v8:3606
R=arv@chromium.org , marja@chromium.org
Review URL: https://codereview.chromium.org/615813004
Patch from Caitlin Potter <caitpotter88@gmail.com>.
Cr-Commit-Position: refs/heads/master@{#24880}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24880 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-24 15:02:41 +00:00
machenbach@chromium.org
99124866e6
Whitespace change for testing gnumbd.
...
Cr-Commit-Position: refs/heads/master@{#24878}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24878 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-24 14:41:12 +00:00
titzer@chromium.org
21013d2641
Fix bugs in Scheduler hoisting and RPO loop bounds computations.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/677683002
Cr-Commit-Position: refs/heads/master@{#24877}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24877 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-24 13:57:39 +00:00
mstarzinger@chromium.org
a9a7979e9e
Add Schedule::InsertBranch to fuse control flow graphs.
...
R=jarin@chromium.org
TEST=cctest/test-schedule/TestScheduleInsertBranch
Review URL: https://codereview.chromium.org/675983002
Cr-Commit-Position: refs/heads/master@{#24876}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24876 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-24 13:48:18 +00:00
svenpanne@chromium.org
e743eef448
only define ARRAYSIZE_UNSAFE for NaCl builds
...
Now that C++11 is allowed, we can use arraysize instead of
ARRAYSIZE_UNSAFE, except in NaCl builds. So let's move this
macro inside an NaCl ifdef.
BUG=chromium:405225
LOG=y
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/668303002
Patch from Mostyn Bramley-Moore <mostynb@opera.com>.
Cr-Commit-Position: refs/heads/master@{#24875}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24875 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-24 13:21:48 +00:00
sigurds@chromium.org
df9ac2c165
Add Float64Floor, Float64Ceil, Float64RoundTruncate, Float64RoundTiesAway operators.
...
These operators are not supported by any backends yet, and a backend is free to not support them.
R=bmeurer@chromium.org
TEST=unittest/machine-operator
Review URL: https://codereview.chromium.org/668173002
Cr-Commit-Position: refs/heads/master@{#24874}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24874 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-24 13:12:12 +00:00
marja@chromium.org
e0734a6519
AstValueFactory: make true, false, null, undefined and "the hole" unique values.
...
They were not, so we were creating several instances of them, one for each time
they occurred in the source code.
It's not known to have caused efficiency problems though, so this is a sanity
fix more than an efficiency fix.
Note that numbers are still not unique.
BUG=
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/657893003
Cr-Commit-Position: refs/heads/master@{#24873}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24873 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-24 13:12:11 +00:00
yangguo@chromium.org
484274346f
Enable --serialize-toplevel by default.
...
R=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/661343003
Cr-Commit-Position: refs/heads/master@{#24872}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24872 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-24 13:12:10 +00:00
yangguo@chromium.org
0e1124842a
Tweaks to the code serializer.
...
- consider the source string as a special sort of back reference.
- use repeat op code for more root members.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/674883002
Cr-Commit-Position: refs/heads/master@{#24871}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24871 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-24 13:12:09 +00:00
mvstanton@chromium.org
59d9651931
TurboFan calls to vector-based ics need to resolve a slot to an index.
...
This is to cope with the recent division of the TypeFeedbackVector into
Slots and ICSlots.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/673203002
Cr-Commit-Position: refs/heads/master@{#24870}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24870 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-24 13:12:08 +00:00
mvstanton@chromium.org
b0bfef00f3
Improve printing for Symbols.
...
Private symbols we create in the heap don't have names, but we can
resolve them to a constant string.
This gives handy debugger output like:
(gdb) job 0x2020c67d
0x2020c67d: [Symbol]
- hash: 547385396
- name: 0x20208091 <undefined> (uninitialized_symbol)
- private: 1
- own: 1
$7 = void
(gdb)
or with ShortPrint() in an array:
...
[5]: 0x2020c67d <Symbol: 547385396 (uninitialized_symbol)>
...
Printing help for internal symbols
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/677633003
Cr-Commit-Position: refs/heads/master@{#24869}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24869 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-24 13:12:07 +00:00
yangguo@chromium.org
7259d87f36
Use memcpy in List::AddAll for fundamental types.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/663893004
Cr-Commit-Position: refs/heads/master@{#24868}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24868 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-24 13:12:06 +00:00
mstarzinger@chromium.org
119bbee895
Generate fake basic block for Terminate node.
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/650633003
Cr-Commit-Position: refs/heads/master@{#24867}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24867 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-24 13:12:05 +00:00
mvstanton@chromium.org
80afe016a8
PropertyICCompiler: expose monomorphic keyed load handler creation.
...
Simple refactoring that is useful for upcoming --vector-ic changes.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/673933005
Cr-Commit-Position: refs/heads/master@{#24866}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24866 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-24 13:12:04 +00:00
machenbach@chromium.org
87f52869d2
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
2014-10-24 13:12:03 +00:00
machenbach@chromium.org
f1a5c2808e
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
2014-10-24 13:12:02 +00:00
machenbach@chromium.org
9e0e6567ca
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
2014-10-24 13:12:01 +00:00
bmeurer@chromium.org
548fb46331
[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
2014-10-24 09:36:40 +00:00
yangguo@chromium.org
e6ac285bd3
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
2014-10-24 08:37:03 +00:00
bmeurer@chromium.org
eb1aa6aee3
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
2014-10-24 08:25:00 +00:00
weiliang.lin@intel.com
70a11f5697
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
2014-10-24 07:34:20 +00:00
yangguo@chromium.org
518ddc9317
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
2014-10-24 07:29:39 +00:00
verwaest@chromium.org
8189922e1e
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
2014-10-24 05:29:54 +00:00
adamk@chromium.org
0ef073d556
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
2014-10-23 21:13:29 +00:00
adamk@chromium.org
5f1ae66d56
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
2014-10-23 18:21:50 +00:00
adamk@chromium.org
f3c3697521
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
2014-10-23 17:46:34 +00:00