Commit Graph

18815 Commits

Author SHA1 Message Date
bmeurer@chromium.org
0e2ae4b782 [x64] three operand imul supports first operand in memory location
R=bmeurer@chromium.org

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

Patch from Weiliang Lin <weiliang.lin@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24199 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 06:37:23 +00:00
jarin@chromium.org
2da3e84ec0 Improve memory usage in Turbofan.
BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24198 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 06:25:10 +00:00
bmeurer@chromium.org
17a01814d6 Fix windows build after r24191.
TBR=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24197 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 05:17:38 +00:00
weiliang.lin@intel.com
5a49981ef8 X87: add part of backend support for X87.
port r24179.  we add the corresponding function implementation to pass
   the compilation.

original commit message:

   [turbofan] Add backend support for float32.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24196 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 02:55:39 +00:00
paul.lind@imgtec.com
a9b01bb2c2 MIPS: Minor fixes and additions needed for Turbofan.
These small changes can be landed indendently to avoid
cluttering up the initial turbofan CL.

BUG=
R=balazs.kilvady@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24193 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 21:16:36 +00:00
balazs.kilvady@imgtec.com
a421506f8a MIPS: [turbofan] Add backend support for float32.
Port r24179 (41b81c2)

LOG=n
BUG=v8:3589
TEST=compiler-unittests,cctest
R=paul.lind@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24192 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 16:56:52 +00:00
titzer@chromium.org
219cae86b9 Add tests for representation change of constants.
R=jarin@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24191 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 16:04:05 +00:00
weiliang.lin@intel.com
9b06bf6047 X87: Refactor bailout reasons and disable optimization in more cases.
port r24161.

original commit message:
  Refactor bailout reasons and disable optimization in more cases.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24190 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 15:29:00 +00:00
weiliang.lin@intel.com
8e6e09c169 X87: fixed branch distances.
port r24151.

original commit message:

  Forgot a few kNear occurences, only happens with --deopt-every-n-times.
  Death to manual jump distance calculation! :-P

BUG=
R=svenpanne@chromium.org

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24189 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 15:17:20 +00:00
m.m.capewell@googlemail.com
352733dca2 [turbofan] ARM64 support for inverted logical ops
Select ARM64 inverted rhs instructions (bic, orn, eon) for cases where the rhs
input is inverted (using e/xor), and add some tests for this. Also, rename xor
to eor in the ARM64 backend.

BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24188 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 14:55:50 +00:00
mstarzinger@chromium.org
ea97f413ee Extend JSBuiltinReducer to cover Math.fround as well.
R=bmeurer@chromium.org
TEST=compiler-unittests/JSBuiltinReducerTest.MathFround

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24187 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 14:55:13 +00:00
aandrey@chromium.org
4c327306ee Test case of V8 failing to step into in some cases.
BUG=289497, v8:2888
R=yangguo@chromium.org, yurys@chromium.org
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24186 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 14:52:13 +00:00
titzer@chromium.org
f445883b27 Fix bug in representation-change.h.
R=jarin@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24185 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 13:55:29 +00:00
machenbach@chromium.org
68c405154b Whitespace change to test new chromium deps.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24184 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 13:43:00 +00:00
machenbach@chromium.org
0b22118a68 Whitespace change to test new chromium deps.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24183 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 13:17:12 +00:00
machenbach@chromium.org
cab6380412 Whitespace change to test new chromium deps.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24182 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 12:47:20 +00:00
titzer@chromium.org
8c0bbd1e8f Fix windows build.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24181 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 12:01:21 +00:00
titzer@chromium.org
9fb5f564a9 Add support for Float32 representation changes.
R=bmeurer@chromium.org
BUG=v8:3589
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24180 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 11:55:07 +00:00
bmeurer@chromium.org
50c466e883 [turbofan] Add backend support for float32.
LOG=n
BUG=v8:3589
TEST=compiler-unittests,cctest
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24179 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 11:08:35 +00:00
svenpanne@chromium.org
82e5de6bdd Make the detailed reason for deopts mandatory on all platforms.
Boring semi-mechanical stuff...

R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24178 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 10:47:29 +00:00
mstarzinger@chromium.org
379040e276 Extend JSBuiltinReducer to cover Math.sqrt as well.
R=bmeurer@chromium.org
TEST=compiler-unittests/JSBuiltinReducerTest.MathSqrt

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24177 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 10:24:19 +00:00
Jacob.Bramley@arm.com
98277cfa98 [arm64] cleanup heap numbers detection
Make heap numbers detection more consistent on arm64.
All the tested benchmarks (octane2, kraken, sunspider, v8-v4 and lua) are unchanged (a57 and a53).

R=ulan@chromium.org, bmeurer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24176 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 10:22:11 +00:00
balazs.kilvady@imgtec.com
7301ee52f7 MIPS: Refactor bailout reasons and disable optimization in more cases.
Port r24161 (008f335)

BUG=
R=dusan.milosavljevic@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24175 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 10:17:24 +00:00
mvstanton@chromium.org
b0b59073ac Fix IC cache confusion on String.prototype.length
BUG=416416
LOG=N
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24174 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 09:33:04 +00:00
bmeurer@chromium.org
aeae854827 Fix windows build.
TBR=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24173 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 09:32:28 +00:00
bmeurer@chromium.org
deaf463bf1 [turbofan] Add length operand to LoadElement and StoreElement.
This is preliminary work, required to properly support bounds checking for typed array loads/stores.

TEST=compiler-unittests,cctest
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24172 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 09:28:56 +00:00
titzer@chromium.org
9e0801c306 Translate NumberDivide/NumberModulus operators to Int32Div, Int32Mod in representation-change.h.
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24171 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 08:49:32 +00:00
yangguo@chromium.org
72dcfab2e0 Simplify stack trace getter wrt prototype chain walk.
R=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24170 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 08:39:04 +00:00
weiliang.lin@intel.com
ab04540061 X87: Made the detailed reason for deopts mandatory on x87. Unified and improved things.
port r24146.

original commit message:
   Made the detailed reason for deopts mandatory on ia32. Unified and improved things.

   The number of different detail strings has been reduced a bit without
   any loss of information. Furthermore, DoubleToI is a bit more
   informative now. Tiny reason fixes.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24169 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 08:33:39 +00:00
dslomov@chromium.org
7e21f85880 Change all V8 internal private symbols to be private own symbols.
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24168 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 08:12:58 +00:00
neis@chromium.org
6fd04d829e Redesign of the internal type system.
Besides addressing a fundamental flaw, this significantly simplifies
several aspects of the system.  The downside is a loss of precision
and a loss of algebraic properties.

Range types are now fully implemented.

R=rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24163 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 07:33:51 +00:00
yangguo@chromium.org
43538e57a4 Refactor bailout reasons and disable optimization in more cases.
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24161 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 07:08:27 +00:00
weiliang.lin@intel.com
efe4852d5d X87: Removed superfluous deopt for ROR on ia32.
port r24133.   On X87 this check should be unnecessary too.

original commit message:
    Removed superfluous deopt for ROR on ia32.

    We only synthesize a ROR when we have an expression with a toplevel
    '|', which returns a signed value by definition, so deopting on
    negative values is not needed. ia32 was the only platform where this
    was done, all other didn't have the check.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24160 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 02:37:53 +00:00
v8-autoroll@chromium.org
3e4a0bcbe1 [Auto-roll] Bump up version to 3.29.86.0
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24156 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-23 18:01:37 +00:00
machenbach@chromium.org
98e9e05092 Refactoring: Remove global configs in release scripts.
TBR=tandrii@chromium.org
TEST=script_test.py

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24154 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-23 14:41:36 +00:00
v8-autoroll@chromium.org
7aaa0ddadc [Auto-roll] Bump up version to 3.29.85.0
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24153 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-23 14:31:32 +00:00
yangguo@chromium.org
6393ea9e1a Preserve message when rethrowing exception
A new message was always generated if there is a the top-most verbose
TryCatch, even when rethrowing an exception from a TryCatch that is going
out of scope, and we already have a message.

BUG=v8:3583
LOG=Y
R=yangguo@chromium.org

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

Patch from Jens Widell <jl@opera.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24152 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-23 14:29:45 +00:00
svenpanne@chromium.org
262c98593f Fixed branch distances.
Forgot a few kNear occurences, only happens with --deopt-every-n-times.
Death to manual jump distance calculation! :-P

TBR=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24151 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-23 14:06:54 +00:00
mstarzinger@chromium.org
3a7cd5d273 Fix Makefile regeneration for compiler-unittests.
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24148 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-23 11:44:31 +00:00
mstarzinger@chromium.org
e4da4dbf23 Move test for reduction of Math.max to unittest.
R=bmeurer@chromium.org
TEST=compiler-unittests/JSBuiltinReducerTest.MathMax

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24147 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-23 11:40:00 +00:00
svenpanne@chromium.org
b364a97e54 Made the detailed reason for deopts mandatory on ia32. Unified and improved things.
The number of different detail strings has been reduced a bit without
any loss of information. Furthermore, DoubleToI is a bit more
informative now. Tiny reason fixes.

R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24146 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-23 11:38:12 +00:00
jochen@chromium.org
a83f0fffde Remove temporary work-around for PDFium
BUG=none
R=bmeurer@chromium.org, svenpanne@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24145 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-23 11:32:41 +00:00
mstarzinger@chromium.org
5304f5e719 Move test for reduction of Math.imul to unittest.
R=bmeurer@chromium.org
TEST=compiler-unittests/JSBuiltinReducerTest.MathImul

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24144 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-23 11:26:49 +00:00
machenbach@chromium.org
a77dfb1ac6 Refactoring: Remove more legacy from release scripts.
- Remove an unused feature that allowed to check for required
  data before each script step.
- Use a relative path to the version file. In the production
  environment, this will point to the cwd/version_file, while
  in the test environment it is fake_cwd/version_file.

TBR=tandrii@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24140 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-23 09:35:49 +00:00
jkummerow@chromium.org
9583236d84 Fix method dispatch in Keyed/StoreIC, and JumpIfNotUniqueName usage
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24139 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-23 09:20:36 +00:00
jarin@chromium.org
9ef343c18d [Turbofan] Insert nops for lazy bailout patching, fix translation of literals.
The code for EnsureSpaceForLazyDeopt is taken from lithium-codegen-*.

BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24138 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-23 08:46:18 +00:00
mstarzinger@chromium.org
0a4e98ba43 Extend JSBuiltinReducer to cover Math.max as well.
R=svenpanne@chromium.org
TEST=cctest/test-js-typed-lowering/BuiltinMathMax

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24135 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-23 08:16:54 +00:00
jochen@chromium.org
24aead2a5a Add a PRESUBMIT check that production code does not call test code
This is based on a regular expression matching anything in a namespace
ending in test, or a method containing the words ForTest, ForTesting,
for_test, or for_testing.

It is possible to blacklist entire directories or individual files.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24134 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-23 08:14:06 +00:00
svenpanne@chromium.org
363b0e2fd2 Removed superfluous deopt for ROR on ia32.
We only synthesize a ROR when we have an expression with a toplevel
'|', which returns a signed value by definition, so deopting on
negative values is not needed. ia32 was the only platform where this
was done, all other didn't have the check.

R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24133 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-23 08:06:00 +00:00
bmeurer@chromium.org
54ceb48005 Forcibly inline bit_cast when building with GCC.
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24130 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-23 06:30:15 +00:00