bmeurer@chromium.org [Fri, 26 Sep 2014 07:35:59 +0000 (07:35 +0000)]
[turbofan] Reduce shl with sar/shr and same shift amount to bit-and.
The shl(sar(x, K), K) is a common pattern with typed loads/stores in
asm.js.
TEST=compiler-unittests,mjsunit/asm/int32array-unaligned
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
598083007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24238
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 26 Sep 2014 06:52:23 +0000 (06:52 +0000)]
[turbofan] Drop obsolete test after r24236.
This was missing from the previous commit.
TBR=jarin@chromium.org
Review URL: https://codereview.chromium.org/
602193005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24237
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 26 Sep 2014 06:40:07 +0000 (06:40 +0000)]
[turbofan] GraphReducer is more "fixpointish" now.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
605933002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24236
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
weiliang.lin@intel.com [Fri, 26 Sep 2014 01:12:13 +0000 (01:12 +0000)]
X87: convert disassembler to use OStream.
port r24214.
original commit message:
convert disassembler to use OStream.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/
607723003
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24235
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 25 Sep 2014 15:26:03 +0000 (15:26 +0000)]
Correct bailout from TurboFan for unsupported targets.
R=titzer@chromium.org
TEST=mjsunit/asm/math-fround
Review URL: https://codereview.chromium.org/
603923002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24232
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Thu, 25 Sep 2014 14:09:34 +0000 (14:09 +0000)]
Refactoring: Remove unnecessary logic from push_to_trunk.
Remove some svnish things that are output-only.
BUG=chromium:410721
LOG=n
TBR=tandrii@chromium.org
Review URL: https://codereview.chromium.org/
598403003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24231
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Thu, 25 Sep 2014 13:36:08 +0000 (13:36 +0000)]
Disable version increment and tagging until after the git migration.
BUG=chromium:410721
LOG=n
TBR=tandrii@chromium.org
Review URL: https://codereview.chromium.org/
609443002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24230
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 25 Sep 2014 13:30:08 +0000 (13:30 +0000)]
Ignore generated JSON files for TurboFan graphs.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
605733002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24229
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Thu, 25 Sep 2014 13:25:14 +0000 (13:25 +0000)]
Refactoring: Extract interface for VC in release scripts.
Also simplify tagging in merge_to_branch.
BUG=chromium:410721
LOG=n
R=jkummerow@chromium.org, tandrii@chromium.org
Review URL: https://codereview.chromium.org/
607463002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24228
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
v8-autoroll@chromium.org [Thu, 25 Sep 2014 13:01:29 +0000 (13:01 +0000)]
[Auto-roll] Bump up version to 3.29.90.0
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24227
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
weiliang.lin@intel.com [Thu, 25 Sep 2014 12:57:14 +0000 (12:57 +0000)]
X87: fix the bug which is introduced by R24169.
Two more DeoptimizeIf(...) are added so the branch distance changed.
we need to use Label::kFar.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/
598353002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24226
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Thu, 25 Sep 2014 12:16:32 +0000 (12:16 +0000)]
Disable merging simulates across captured objects.
BUG=chromium:416730
LOG=N
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
607453002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24225
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Thu, 25 Sep 2014 11:28:27 +0000 (11:28 +0000)]
Add myself to CC in merge_to_branch.py
BUG=
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
603113002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24222
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 25 Sep 2014 11:18:22 +0000 (11:18 +0000)]
Revert part of r24098
BUG=chromium:417508
LOG=y
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
604703006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24221
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 25 Sep 2014 11:13:50 +0000 (11:13 +0000)]
[TurboFan]: Add JSON output for the visualizer
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
599453002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24220
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Thu, 25 Sep 2014 10:19:09 +0000 (10:19 +0000)]
Enable FDO for v8 in android build.
R=benm@chromium.org, ulan@chromium.org, torne@chromium.org
TEST=manual
BUG=
Review URL: https://codereview.chromium.org/
598723002
Patch from Dehao Chen <dehao@google.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24219
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 25 Sep 2014 09:33:40 +0000 (09:33 +0000)]
Insert materialized context at the right place in DebugEvaluate.
R=aandrey@chromium.org, ulan@chromium.org
BUG=chromium:323936
LOG=N
Review URL: https://codereview.chromium.org/
599113002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24218
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Thu, 25 Sep 2014 08:56:02 +0000 (08:56 +0000)]
[turbofan] Add backend support for Float32Constant.
TEST=cctest,compiler-unittests,mjsunit
BUG=v8:3589
LOG=n
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
600383002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24217
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Thu, 25 Sep 2014 08:46:13 +0000 (08:46 +0000)]
Fix auto roll after switching v8 mirror.
BUG=chromium:411835
LOG=n
TBR=tandrii@chromium.org
Review URL: https://codereview.chromium.org/
606553003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24216
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 25 Sep 2014 08:44:15 +0000 (08:44 +0000)]
Slightly adapt Math.fround test.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
606583002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24215
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Thu, 25 Sep 2014 08:33:24 +0000 (08:33 +0000)]
convert disassembler to use OStream
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
598703003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24214
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
v8-autoroll@chromium.org [Thu, 25 Sep 2014 08:31:37 +0000 (08:31 +0000)]
[Auto-roll] Bump up version to 3.29.89.0
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24213
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
neis@chromium.org [Thu, 25 Sep 2014 08:31:23 +0000 (08:31 +0000)]
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
jkummerow@chromium.org [Thu, 25 Sep 2014 08:25:25 +0000 (08:25 +0000)]
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
machenbach@chromium.org [Thu, 25 Sep 2014 08:20:58 +0000 (08:20 +0000)]
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
neis@chromium.org [Thu, 25 Sep 2014 08:04:49 +0000 (08:04 +0000)]
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
neis@chromium.org [Thu, 25 Sep 2014 08:03:56 +0000 (08:03 +0000)]
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
neis@chromium.org [Thu, 25 Sep 2014 08:03:26 +0000 (08:03 +0000)]
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
neis@chromium.org [Thu, 25 Sep 2014 08:02:12 +0000 (08:02 +0000)]
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
bmeurer@chromium.org [Thu, 25 Sep 2014 07:41:25 +0000 (07:41 +0000)]
[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
yangguo@chromium.org [Thu, 25 Sep 2014 07:32:13 +0000 (07:32 +0000)]
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
machenbach@chromium.org [Thu, 25 Sep 2014 07:30:18 +0000 (07:30 +0000)]
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
yangguo@chromium.org [Thu, 25 Sep 2014 07:16:15 +0000 (07:16 +0000)]
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
yangguo@chromium.org [Thu, 25 Sep 2014 07:04:34 +0000 (07:04 +0000)]
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
jochen@chromium.org [Thu, 25 Sep 2014 06:55:06 +0000 (06:55 +0000)]
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
bmeurer@chromium.org [Thu, 25 Sep 2014 06:37:23 +0000 (06:37 +0000)]
[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
jarin@chromium.org [Thu, 25 Sep 2014 06:25:10 +0000 (06:25 +0000)]
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
bmeurer@chromium.org [Thu, 25 Sep 2014 05:17:38 +0000 (05:17 +0000)]
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
weiliang.lin@intel.com [Thu, 25 Sep 2014 02:55:39 +0000 (02:55 +0000)]
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
paul.lind@imgtec.com [Wed, 24 Sep 2014 21:16:36 +0000 (21:16 +0000)]
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
balazs.kilvady@imgtec.com [Wed, 24 Sep 2014 16:56:52 +0000 (16:56 +0000)]
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
titzer@chromium.org [Wed, 24 Sep 2014 16:04:05 +0000 (16:04 +0000)]
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
weiliang.lin@intel.com [Wed, 24 Sep 2014 15:29:00 +0000 (15:29 +0000)]
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
weiliang.lin@intel.com [Wed, 24 Sep 2014 15:17:20 +0000 (15:17 +0000)]
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
m.m.capewell@googlemail.com [Wed, 24 Sep 2014 14:55:50 +0000 (14:55 +0000)]
[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
mstarzinger@chromium.org [Wed, 24 Sep 2014 14:55:13 +0000 (14:55 +0000)]
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
aandrey@chromium.org [Wed, 24 Sep 2014 14:52:13 +0000 (14:52 +0000)]
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
titzer@chromium.org [Wed, 24 Sep 2014 13:55:29 +0000 (13:55 +0000)]
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
machenbach@chromium.org [Wed, 24 Sep 2014 13:43:00 +0000 (13:43 +0000)]
Whitespace change to test new chromium deps.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24184
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Wed, 24 Sep 2014 13:17:12 +0000 (13:17 +0000)]
Whitespace change to test new chromium deps.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24183
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Wed, 24 Sep 2014 12:47:20 +0000 (12:47 +0000)]
Whitespace change to test new chromium deps.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24182
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Wed, 24 Sep 2014 12:01:21 +0000 (12:01 +0000)]
Fix windows build.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24181
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Wed, 24 Sep 2014 11:55:07 +0000 (11:55 +0000)]
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
bmeurer@chromium.org [Wed, 24 Sep 2014 11:08:35 +0000 (11:08 +0000)]
[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
svenpanne@chromium.org [Wed, 24 Sep 2014 10:47:29 +0000 (10:47 +0000)]
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
mstarzinger@chromium.org [Wed, 24 Sep 2014 10:24:19 +0000 (10:24 +0000)]
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
Jacob.Bramley@arm.com [Wed, 24 Sep 2014 10:22:11 +0000 (10:22 +0000)]
[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
balazs.kilvady@imgtec.com [Wed, 24 Sep 2014 10:17:24 +0000 (10:17 +0000)]
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
mvstanton@chromium.org [Wed, 24 Sep 2014 09:33:04 +0000 (09:33 +0000)]
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
bmeurer@chromium.org [Wed, 24 Sep 2014 09:32:28 +0000 (09:32 +0000)]
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
bmeurer@chromium.org [Wed, 24 Sep 2014 09:28:56 +0000 (09:28 +0000)]
[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
titzer@chromium.org [Wed, 24 Sep 2014 08:49:32 +0000 (08:49 +0000)]
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
yangguo@chromium.org [Wed, 24 Sep 2014 08:39:04 +0000 (08:39 +0000)]
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
weiliang.lin@intel.com [Wed, 24 Sep 2014 08:33:39 +0000 (08:33 +0000)]
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
dslomov@chromium.org [Wed, 24 Sep 2014 08:12:58 +0000 (08:12 +0000)]
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
neis@chromium.org [Wed, 24 Sep 2014 07:33:51 +0000 (07:33 +0000)]
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
yangguo@chromium.org [Wed, 24 Sep 2014 07:08:27 +0000 (07:08 +0000)]
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
weiliang.lin@intel.com [Wed, 24 Sep 2014 02:37:53 +0000 (02:37 +0000)]
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
v8-autoroll@chromium.org [Tue, 23 Sep 2014 18:01:37 +0000 (18:01 +0000)]
[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
machenbach@chromium.org [Tue, 23 Sep 2014 14:41:36 +0000 (14:41 +0000)]
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
v8-autoroll@chromium.org [Tue, 23 Sep 2014 14:31:32 +0000 (14:31 +0000)]
[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
yangguo@chromium.org [Tue, 23 Sep 2014 14:29:45 +0000 (14:29 +0000)]
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
svenpanne@chromium.org [Tue, 23 Sep 2014 14:06:54 +0000 (14:06 +0000)]
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
mstarzinger@chromium.org [Tue, 23 Sep 2014 11:44:31 +0000 (11:44 +0000)]
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
mstarzinger@chromium.org [Tue, 23 Sep 2014 11:40:00 +0000 (11:40 +0000)]
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
svenpanne@chromium.org [Tue, 23 Sep 2014 11:38:12 +0000 (11:38 +0000)]
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
jochen@chromium.org [Tue, 23 Sep 2014 11:32:41 +0000 (11:32 +0000)]
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
mstarzinger@chromium.org [Tue, 23 Sep 2014 11:26:49 +0000 (11:26 +0000)]
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
machenbach@chromium.org [Tue, 23 Sep 2014 09:35:49 +0000 (09:35 +0000)]
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
jkummerow@chromium.org [Tue, 23 Sep 2014 09:20:36 +0000 (09:20 +0000)]
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
jarin@chromium.org [Tue, 23 Sep 2014 08:46:18 +0000 (08:46 +0000)]
[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
mstarzinger@chromium.org [Tue, 23 Sep 2014 08:16:54 +0000 (08:16 +0000)]
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
jochen@chromium.org [Tue, 23 Sep 2014 08:14:06 +0000 (08:14 +0000)]
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
svenpanne@chromium.org [Tue, 23 Sep 2014 08:06:00 +0000 (08:06 +0000)]
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
bmeurer@chromium.org [Tue, 23 Sep 2014 06:30:15 +0000 (06:30 +0000)]
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
weiliang.lin@intel.com [Tue, 23 Sep 2014 03:55:35 +0000 (03:55 +0000)]
X87: Further improve deopt reason output
port r24123. R24123 does not cover all required code change in X87.
original commit message:
Further improve deopt reason output.
* Make the detailed deopt reason mandatory on x64, other platforms will
follow in separate CLs.
* Extracted and improved jump table entry sharing logic: When --trace-deopt
is on, we get separate entries for different deopt reasons. This enables
us to distinguish the several reasons single instructions can have.
* Don't emit superfluous jump table comments: The bailout ID is still visible,
and the jump table entry number is not interesting (but easy to determine
if really needed).
* Unify the internal name of the jump table member across platforms.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/
589313002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24129
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
weiliang.lin@intel.com [Tue, 23 Sep 2014 03:44:35 +0000 (03:44 +0000)]
X87: Make KeyedLoads from a sloppy arguments array use a handler.
port r24120.
original commit message:
Make KeyedLoads from a sloppy arguments array use a handler.
Before, a custom stub was installed
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/
594773002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24128
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vogelheim@chromium.org [Mon, 22 Sep 2014 17:19:19 +0000 (17:19 +0000)]
Add histogram timers for (de-)serialization during compilation.
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
578263004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24127
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
balazs.kilvady@imgtec.com [Mon, 22 Sep 2014 16:08:49 +0000 (16:08 +0000)]
MIPS: Make KeyedLoads from a sloppy arguments array use a handler.
Port r24120 (eed5963)
Original commit message:
Before, a custom stub was installed.
BUG=
R=paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/
594563003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24126
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 22 Sep 2014 15:21:19 +0000 (15:21 +0000)]
Fix escaped index JSON parsing
BUG=416449
LOG=y
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
592813002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24125
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Mon, 22 Sep 2014 14:40:59 +0000 (14:40 +0000)]
Simplify synthetic roots creation in heap snapshot
The synthetic roots exist in every snapshot and there are no actual objects corresponding to them (there was attempt to create some virtual objects to reuse existing snapshot builder but it just complicated the things).
Previously synthetic root wouldn't have been added if it was empty. Current implementation always adds all synthetic roots in the snapshot no matter if they are empty or not.
BUG=None
LOG=N
R=alph@chromium.org, mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
590833002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24124
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 22 Sep 2014 14:16:38 +0000 (14:16 +0000)]
Further improve deopt reason output.
* Make the detailed deopt reason mandatory on x64, other platforms
will follow in separate CLs.
* Extracted and improved jump table entry sharing logic: When
--trace-deopt is on, we get separate entries for different deopt
reasons. This enables us to distinguish the several reasons single
instructions can have.
* Don't emit superfluous jump table comments: The bailout ID is still
visible, and the jump table entry number is not interesting (but
easy to determine if really needed).
* Unify the internal name of the jump table member across platforms.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
595513002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24123
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Mon, 22 Sep 2014 13:56:03 +0000 (13:56 +0000)]
[turbofan] don't call out to c
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
587273002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24122
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Mon, 22 Sep 2014 13:48:12 +0000 (13:48 +0000)]
fix compile for arm64 on mavericks
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
592063002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24121
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Mon, 22 Sep 2014 13:23:27 +0000 (13:23 +0000)]
Make KeyedLoads from a sloppy arguments array use a handler.
Before, a custom stub was installed.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
546683003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24120
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
aandrey@chromium.org [Mon, 22 Sep 2014 12:45:47 +0000 (12:45 +0000)]
Fix DebugEvaluate on properties defined on Object.prototype
BUG=415499
R=yangguo
LOG=N
Review URL: https://codereview.chromium.org/
592033002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24119
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 22 Sep 2014 12:44:23 +0000 (12:44 +0000)]
Remove switch-clause limit
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
582653002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24118
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 22 Sep 2014 12:43:40 +0000 (12:43 +0000)]
Pass the ast_id to HandleKeyed to make sure it's the right one (e.g., CountOperation, not just the load-expression's id)
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
595453002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24117
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 22 Sep 2014 12:38:34 +0000 (12:38 +0000)]
Adjust small heap threshold for idle time handler.
Follow-up for r23871.
BUG=chromium:407593
LOG=N
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
592053002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24116
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 22 Sep 2014 12:32:47 +0000 (12:32 +0000)]
Fix profiler for TurboFan by reducing duplication.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
592703002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24115
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00