Commit Graph

16903 Commits

Author SHA1 Message Date
jkummerow@chromium.org
3b545740b4 Remove one more arch-specific target name.
One more target had the architecture added to its name since r14209
originally landed and was missed when that change was reverted. Remove
the architecture from v8_libbase as well.

BUG=
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/334793004

Patch from Richard Coles <torne@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21836 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-13 11:02:34 +00:00
svenpanne@chromium.org
d82a6adac5 Emulate MLS on pre-ARMv6T2. Cleaned up thumbee vs. thumb2 confusion.
This should unbreak things on the Raspberry Pi.

LOG=y
R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/331803003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21835 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-13 10:50:11 +00:00
jkummerow@chromium.org
8334faa0e0 Allow all Names to be fast property names
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/329393005

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21834 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-13 09:59:39 +00:00
jkummerow@chromium.org
a4d1e01b79 Use generic representation when normalizing boilerplate properties
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/323403008

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21833 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-13 09:46:29 +00:00
yangguo@chromium.org
2e8a6f5e99 Mark timed range in the profile plot.
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/333643006

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21832 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-13 09:07:56 +00:00
ulan@chromium.org
0f69ed32f3 Disable regress/regress-2653 until deopt_every_n_garbage_collections is fixed.
BUG=3389
LOG=N
R=marja@chromium.org

Review URL: https://codereview.chromium.org/331823003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21831 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-13 08:05:34 +00:00
ishell@chromium.org
41e9d916c4 GVN fix, preventing loads hoisting above stores to the same field when HObjectAccess's representation is not the same.
R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/331493006

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21830 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-13 07:51:45 +00:00
weiliang.lin@intel.com
fd1ace4d94 X87: Fixed flooring division by a power of 2, once again...
port r21769

original message:
    Avoid right shifts by zero bits: On ARM it actually means shifting by
    32 bits (correctness issue) and on other platforms they are useless
    (performance issue). This is fix for the fix in r20544.

    BUG=v8:3259
    LOG=y
R=weiliang.lin@intel.com

Review URL: https://codereview.chromium.org/330133004

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21829 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-13 07:03:11 +00:00
svenpanne@chromium.org
ac18d08250 Fixed undefined behavior in RNG.
We're basically trading undefined behavior for implementation defined
behavior, which should be OK for UBSan. :-) The generated code should
be identical, at least I checked that for GCC 4.6.3 on x64.

BUG=377790
LOG=y
R=dcarney@chromium.org

Review URL: https://codereview.chromium.org/332733002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21828 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-13 06:36:09 +00:00
haitao.feng@intel.com
817430f6ce Update Lithium AddI, SubI, MulI, BitI, ShiftI, MathMinMax to support x32 port.
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/321373002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21827 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-13 02:38:46 +00:00
haitao.feng@intel.com
28e74e138a Specially handle the key of the LoadKeyed and StoreKeyed instruction for x32 port.
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/324913002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21826 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-13 02:19:57 +00:00
palfia@homejinni.com
1eac611491 MIPS: Fix register usage after r21822.
The at register is no longer in usage, so changed it to "scratch".

BUG=
R=plind44@gmail.com

Review URL: https://codereview.chromium.org/335753003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21825 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-13 02:00:13 +00:00
plind44@gmail.com
d773d05ba6 MIPS: Fix r21780 - “Fixed flooring division by a power of 2, once again...”
Initialize scratch register for all possible code paths.

TEST=mjsunit/compiler/division-by-constant.js
BUG=
R=plind44@gmail.com

Review URL: https://codereview.chromium.org/333713002

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21822 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 20:25:47 +00:00
mstarzinger@chromium.org
ed61b85c78 Make timestamp of fuzz harness archives finer grained.
R=machenbach@chromium.org

Review URL: https://codereview.chromium.org/329303004

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21821 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 18:55:09 +00:00
wingo@igalia.com
dfb1c7dc9e For-of calls [Symbol.iterator]() on RHS to get iterator
R=rossberg@chromium.org
BUG=http://code.google.com/p/v8/issues/detail?id=2735
LOG=N

Review URL: https://codereview.chromium.org/332663004

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21820 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 17:31:54 +00:00
jochen@chromium.org
5264001898 Drop dependency on Isolate* from platform.h
BUG=none
R=dcarney@chromium.org
LOG=n

Review URL: https://codereview.chromium.org/328993003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21819 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 17:06:24 +00:00
m.m.capewell@googlemail.com
649057e05c Remove forced type changes when they can't deopt
Hydrogen attempts to force representation changes on certain operations in order
to deoptimise on the change rather than the operation. However, these forced
changes are often unnecessary on 64-bit platforms, and cause poor code
generation, so this patch makes some of them conditional on whether it's
possible for deoptimisation to occur in the change.

On ARM64, this prevents sequences like:
                  ;;; <@46,#89> smi-tag
0x7ff282c7f050   144  lsl x4, x4, #32
                  ;;; <@48,#90> smi-untag
0x7ff282c7f054   148  asr x5, x4, #32
                  ;;; <@50,#31> mul-const-i-s
0x7ff282c7f058   152  lsl w6, w5, #3

BUG=
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/303263010

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21818 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 16:47:51 +00:00
jkummerow@chromium.org
301ae7dd56 Optimize prototype chain when creating initial maps for functions used as constructors
Review URL: https://codereview.chromium.org/332783002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21817 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 16:41:56 +00:00
jkummerow@chromium.org
918efd7e20 Add non-miss slow path to LoadIC_Normal.
This avoids endless IC patching cycles between "normal" and "nonexistent" handlers when objects having and not having the property are seen alternatingly

R=yangguo@chromium.org

Review URL: https://codereview.chromium.org/328353002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21816 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 16:38:37 +00:00
plind44@gmail.com
5c96e2cff1 MIPS: Fix unsigned comparison.
TEST=mjsunit/regress/regress-3380
BUG=
R=plind44@gmail.com

Review URL: https://codereview.chromium.org/329223006

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21815 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 15:42:14 +00:00
verwaest@chromium.org
fd80653a4c Rewrite GetPropertyAttribute to use the LookupIterator
BUG=
R=ishell@chromium.org

Review URL: https://codereview.chromium.org/321543004

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21814 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 15:08:33 +00:00
weiliang.lin@intel.com
6a8d820f7c X87: Reland 21774: Generate KeyedLoadGeneric with Hydrogen
Port r21781 (4869c528)

BUG=
R=danno@chromium.org

Review URL: https://codereview.chromium.org/336543002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21813 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 15:05:01 +00:00
danno@chromium.org
7e67361e53 Revert "Active use of Hydrogen-generated generic KeyedLoad IC"
Due to mirror-object test failure (although I'm pretty sure I was framed)

R=mstarzinger@chromium.org
TBR=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/328333002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 14:59:51 +00:00
danno@chromium.org
dc0236cffa Active use of Hydrogen-generated generic KeyedLoad IC
R=dcarney@chromium.org

Review URL: https://codereview.chromium.org/330023002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21811 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 14:23:29 +00:00
jochen@chromium.org
79a9eaf950 Don't use LOG() from platform.
All places that use OS::Allocate either CHECK() that the result is non-NULL,
or use a reasonable fallback if they can't mmap memory.

BUG=none
R=mstarzinger@chromium.org
LOG=n

Review URL: https://codereview.chromium.org/326323002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21810 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 14:11:27 +00:00
dcarney@chromium.org
0ffe8b109d build fix after r21807
TBR=mstarzinger@chromium.org

BUG=

Review URL: https://codereview.chromium.org/333503005

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21809 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 13:25:03 +00:00
hpayer@chromium.org
9f80d07641 Grow big old generation slower.
BUG=
R=ulan@chromium.org

Review URL: https://codereview.chromium.org/324403008

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21808 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 12:39:51 +00:00
dcarney@chromium.org
99d9abaf82 remove this == null
R=danno@chromium.org

BUG=chromium:381910

Review URL: https://codereview.chromium.org/336483002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21807 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 12:01:01 +00:00
haitao.feng@intel.com
4d4485e440 Sign extend the dehoisted key at the definition point for x64 port only; for x32 port, we need to sign extend the dehoisted key at the use points.
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/328553005

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21806 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 12:00:14 +00:00
rossberg@chromium.org
d757f378d3 Add v8::Promise::Then.
Blink needs v8::Promise::Then to implement ScriptPromise::then.
Blink-side CL: https://codereview.chromium.org/316453002

BUG=371288
LOG=Y
R=rossberg@chromium.org

Review URL: https://codereview.chromium.org/314553002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21805 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 11:33:30 +00:00
svenpanne@chromium.org
3419aefe5d Do away with variable length memcpy to Set/Get registers in simulator
About a 32% boost.

Before - 5:31

Richards: 84.5
DeltaBlue: 128
Crypto: 65.3
RayTrace: 203
EarleyBoyer: 149
RegExp: 23.4
Splay: 121
NavierStokes: 98.9
----
Score (version 7): 93.8

After - 4:10

Richards: 107
DeltaBlue: 175
Crypto: 93.9
RayTrace: 258
EarleyBoyer: 186
RegExp: 32.7
Splay: 165
NavierStokes: 124
----
Score (version 7): 124

R=jacob.bramley@arm.com, svenpanne@chromium.org

Committed: https://code.google.com/p/v8/source/detail?r=21448

Review URL: https://codereview.chromium.org/213943002

Patch from Fritz Koenig <frkoenig@google.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21804 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 11:20:31 +00:00
danno@chromium.org
634cb5e8a1 Revert "Revert "Reland 21774: Generate KeyedLoadGeneric with Hydrogen""
This CL tickled an unrelated arm64 bug which was is fixed separately.

The MIPS port (originally landed 21784) is also included.

TBR=verwaest@chromium.org

Review URL: https://codereview.chromium.org/331633002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21803 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 09:58:10 +00:00
verwaest@chromium.org
9fa48abd2c Remove duplicate code in SetPropertyPostInterceptor
BUG=
R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/314673002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21802 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 09:56:54 +00:00
danno@chromium.org
546b3e5533 Revert "Rename kIs64BitArch with kRequiresCodeRange."
TBR=haitao.feng@intel.com

Review URL: https://codereview.chromium.org/325343003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21801 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 09:55:25 +00:00
haitao.feng@intel.com
1562d8e3aa Rename kIs64BitArch with kRequiresCodeRange.
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/335473003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21800 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 09:43:51 +00:00
haitao.feng@intel.com
4891950b39 Remove unnecessary HCompareNumericAndBranch when generating HShr instruction.
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/334573003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21799 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 09:40:59 +00:00
danno@chromium.org
873237798b Fix register mixup in arm64's Crankshafted typeof() == 'object'
R=ulan@chromium.org

Review URL: https://codereview.chromium.org/330593003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21798 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 09:20:59 +00:00
wingo@igalia.com
8e165acbdf Add @@iterator for generator objects
R=arv@chromium.org, rossberg@chromium.org
BUG=

Review URL: https://codereview.chromium.org/328093002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21797 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 08:53:07 +00:00
machenbach@chromium.org
07f6d61915 Revert "MIPS: Reland 21774: Generate KeyedLoadGeneric with Hydrogen"
This reverts commit r21784 as the original CL also got reverted.

BUG=
TBR=danno@chromium.org

Review URL: https://codereview.chromium.org/329973002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21794 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 08:34:09 +00:00
dcarney@chromium.org
44b0e2110e filter cross context eval
R=verwaest@chromium.org

BUG=

Review URL: https://codereview.chromium.org/294073002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21793 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 08:28:19 +00:00
danno@chromium.org
c17e79293b Revert "Reland 21774: Generate KeyedLoadGeneric with Hydrogen"
Due to lingering arm64 failures in Test262

TBR=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/332663003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21790 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 07:38:49 +00:00
bmeurer@chromium.org
0d11cb3edd Fix detection of VFP3D16 on Galaxy Tab 10.1.
BUG=v8:3387
LOG=y
R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/329963002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21789 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 06:58:55 +00:00
jochen@chromium.org
8eacf4e7bf Drop unused v8threads include from platform files
BUG=none
R=marja@chromium.org
LOG=n

Review URL: https://codereview.chromium.org/323303002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21788 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 04:30:12 +00:00
weiliang.lin@intel.com
3c4a6d1b76 X87: add OWNERS file
BUG=
R=danno@chromium.org

Review URL: https://codereview.chromium.org/323413002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21785 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 23:24:27 +00:00
palfia@homejinni.com
6b318947d7 MIPS: Reland 21774: Generate KeyedLoadGeneric with Hydrogen
Port r21781 (4869c528)

BUG=
R=plind44@gmail.com

Review URL: https://codereview.chromium.org/327373002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21784 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 22:58:19 +00:00
machenbach@chromium.org
6803022ada Whitespace change to trigger bots.
BUG=
TBR=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/330573002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21783 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 22:09:25 +00:00
machenbach@chromium.org
b4226accb7 Whitespace change to trigger bots.
BUG=
TBR=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/330563002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21782 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 21:45:54 +00:00
danno@chromium.org
905d777d8f Reland 21774: Generate KeyedLoadGeneric with Hydrogen
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/57123002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21781 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 21:44:50 +00:00
plind44@gmail.com
b0b10ec72d MIPS: Fixed flooring division by a power of 2, once again...
Port r21769 (52e191b)

Original commit message:
Avoid right shifts by zero bits: On ARM it actually means shifting by
32 bits (correctness issue) and on other platforms they are useless
(performance issue). This is fix for the fix in r20544.

BUG=v8:3259
LOG=y
R=plind44@gmail.com

Review URL: https://codereview.chromium.org/322403006

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21780 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 20:06:01 +00:00
jochen@chromium.org
4e3364304b Drop globals.h include from platform.h
Also delete dead cpu-features-implied-by-platform code.

BUG=none
R=jkummerow@chromium.org
LOG=n

Review URL: https://codereview.chromium.org/326333002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21779 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 18:12:03 +00:00