Commit Graph

19078 Commits

Author SHA1 Message Date
neis@chromium.org
bead5f6bb6 Add some tests about range types.
Add missing tests for context types.
Rearrange some other tests.
Make printing of constant types more useful.
Give counter-examples for properties that no longer hold.

R=rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24212 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 08:31:23 +00:00
jkummerow@chromium.org
1903e560b0 Non-JSArrays must always have holey elements.
Drive-by cleanup: remove unused elements_kind_ field in CallNew.

BUG=chromium:416558
LOG=n
R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24211 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 08:25:25 +00:00
machenbach@chromium.org
7712bd1a7a Fix version increment.
TBR=tandrii@chromium.org
TEST=script_test.py

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24210 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 08:20:58 +00:00
neis@chromium.org
4b0823c9a4 Give more precise types to some Math functions.
R=rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24209 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 08:04:49 +00:00
neis@chromium.org
fa4fdeaf9f Fix argument check in RandomNumberGenerator::NextInt.
R=bmeurer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24208 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 08:03:56 +00:00
neis@chromium.org
3f76918c71 Make type fuzzer return non-standard bitsets too.
(Also speed up some types tests a little.)

R=rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24207 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 08:03:26 +00:00
neis@chromium.org
55ac3a3459 Move union length computation out of loops.
R=rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24206 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 08:02:12 +00:00
bmeurer@chromium.org
8b4ad709a5 [turbofan] IA: support better left operand for commutative binops
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24205 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 07:41:25 +00:00
yangguo@chromium.org
1257f35c21 Support large objects in the serializer/deserializer.
R=hpayer@chromium.org, mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24204 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 07:32:13 +00:00
machenbach@chromium.org
b790fd6b59 Switch v8 mirror in version script.
BUG=410721
LOG=n
TBR=tandrii@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24203 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 07:30:18 +00:00
yangguo@chromium.org
2a67e48f0e Move i18n-related runtime functions into a separate file.
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24202 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 07:16:15 +00:00
yangguo@chromium.org
134bba4967 Use runtime.h to look for runtime function names.
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24201 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 07:04:34 +00:00
jochen@chromium.org
c87651f040 Only add samples to the idle time undershoot histogram if we actually did gc
BUG=none
R=hpayer@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24200 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 06:55:06 +00:00
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