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
weiliang.lin@intel.com
803761a9f9
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
2014-09-23 03:55:35 +00:00
weiliang.lin@intel.com
f24bfa435c
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
2014-09-23 03:44:35 +00:00
vogelheim@chromium.org
2bf7ad0541
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
2014-09-22 17:19:19 +00:00
balazs.kilvady@imgtec.com
ddb2d26686
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
2014-09-22 16:08:49 +00:00
verwaest@chromium.org
83f64e8c1f
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
2014-09-22 15:21:19 +00:00
yurys@chromium.org
269c46ee80
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
2014-09-22 14:40:59 +00:00
svenpanne@chromium.org
7384467552
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
2014-09-22 14:16:38 +00:00