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
baptiste.afsa@arm.com [Mon, 22 Sep 2014 12:32:23 +0000 (12:32 +0000)]
[turbofan] Allow encodable 64-bit constants as immediate for ARM64.
Also make sure that operands order for commutative 64-bit binary operations
are properly swapped when the constant is on the left hand-side.
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
551543005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24114
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 22 Sep 2014 12:14:49 +0000 (12:14 +0000)]
Fix windows build.
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
577353004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24113
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 22 Sep 2014 11:42:10 +0000 (11:42 +0000)]
[turbofan] Add operators for float32 support.
This adds Float32Constant, ChangeFloat32ToFloat64 and
TruncateFloat64ToFloat32 operators.
TEST=compiler-unittests
BUG=v8:3589
LOG=n
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
594493002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24112
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 22 Sep 2014 09:50:12 +0000 (09:50 +0000)]
Merge RecordComment invocations into DeoptimizeIf calls.
This way the deoptimization reasons are actually threaded through to
the jump table. Tiny cleanup of related MIPS/MIPS64 code on the way.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
585423002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24111
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 22 Sep 2014 09:48:26 +0000 (09:48 +0000)]
[turbofan] Remove extra attributes from MachineOperatorBuilder methods.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
585413002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24110
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 22 Sep 2014 09:05:22 +0000 (09:05 +0000)]
Emit source positions in deopt comments, too.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
587223002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24109
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 22 Sep 2014 07:17:13 +0000 (07:17 +0000)]
[turbofan] Bounds check when lowering JSStoreProperty.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
559653005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24105
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 22 Sep 2014 07:15:27 +0000 (07:15 +0000)]
[turbofan] Disable value numbering for now.
TEST=cctest,mjsunit
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
594443002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24104
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 22 Sep 2014 06:36:57 +0000 (06:36 +0000)]
Introduce a class to carry around a deoptimization reason.
As discussed in https://codereview.chromium.org/
582743002/, here a
mechanical refactoring...
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
587623002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24103
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
weiliang.lin@intel.com [Sat, 20 Sep 2014 05:08:58 +0000 (05:08 +0000)]
X87: enable the crankshaft compiler for X87 port.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/
579713002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24102
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
balazs.kilvady@imgtec.com [Fri, 19 Sep 2014 17:25:46 +0000 (17:25 +0000)]
MIPS: Implement loads and calls from 'super’.
Port r24078 (b7e601f)
BUG=v8:3330
LOG=N
R=dusan.milosavljevic@imgtec.com
Review URL: https://codereview.chromium.org/
586013002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24099
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 19 Sep 2014 16:45:59 +0000 (16:45 +0000)]
Fix TRACE_GENERIC_IC coverage
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
585983002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24098
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 19 Sep 2014 16:35:42 +0000 (16:35 +0000)]
Fix JSBuiltinReducer to deal with non-JSFunction callees.
R=titzer@chromium.org
TEST=mozilla
Review URL: https://codereview.chromium.org/
589573002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24097
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 19 Sep 2014 15:09:50 +0000 (15:09 +0000)]
Internalize if not yet internalized
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
589543002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24096
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 19 Sep 2014 15:02:58 +0000 (15:02 +0000)]
Add JSBuiltinReducer for inlining well-known builtins.
R=titzer@chromium.org
TEST=cctest/test-js-typed-lowering/BuiltinMathImul
Review URL: https://codereview.chromium.org/
584573003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24095
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 19 Sep 2014 14:59:14 +0000 (14:59 +0000)]
Make Map::Create always use the Object function, and remove the unused inobject properties
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
584943002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24094
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Fri, 19 Sep 2014 14:40:08 +0000 (14:40 +0000)]
Fix build.
TBR=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
591453002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24093
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Fri, 19 Sep 2014 14:25:13 +0000 (14:25 +0000)]
[turbofan] IA: Float64ToUint32 supports mem operand
BUG=
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
582713002
Patch from Weiliang Lin <weiliang.lin@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24092
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 19 Sep 2014 14:19:26 +0000 (14:19 +0000)]
Fix test: manually call GC since 0 allocations will not cause GC
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
587663003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24091
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 19 Sep 2014 14:03:34 +0000 (14:03 +0000)]
Fix visitor for generators
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
589513005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24090
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
weiliang.lin@intel.com [Fri, 19 Sep 2014 13:44:24 +0000 (13:44 +0000)]
X87: Implement loads and calls from 'super'.
port r24078.
orginal commit message:
Implement loads and calls from 'super'
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/
581273007
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24089
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 19 Sep 2014 13:40:38 +0000 (13:40 +0000)]
Use the initial map of the Object function for empty object literals
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
586673002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24088
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 19 Sep 2014 13:39:55 +0000 (13:39 +0000)]
Add fast path in MigrateFastToFast for following transitions that don't extend storage
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
588553002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24087
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Fri, 19 Sep 2014 13:37:34 +0000 (13:37 +0000)]
Refactoring: Use fake cwd in release script tests.
TEST=script_test.py
R=tandrii@chromium.org
TBR=jarin@chromium.org
Review URL: https://codereview.chromium.org/
585893002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24086
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
v8-autoroll@chromium.org [Fri, 19 Sep 2014 13:31:59 +0000 (13:31 +0000)]
[Auto-roll] Bump up version to 3.29.80.0
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24084
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Fri, 19 Sep 2014 12:50:50 +0000 (12:50 +0000)]
Widen the intake valve for TurboFan.
R=danno@chromium.org, mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
582703002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24083
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Fri, 19 Sep 2014 12:10:31 +0000 (12:10 +0000)]
Temporary hack to avoid PDFium crashing
I'll remove this again once PDFium has the explicit Initialize() call
as well
BUG=none
LOG=n
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
583183002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24082
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Fri, 19 Sep 2014 11:32:17 +0000 (11:32 +0000)]
Annotate Heap::FindAllocationMemento for MemorySanitizer.
This function may intentionally, safely use uninitialized memory.
BUG=chromium:413232
LOG=N
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
585643002
Patch from Sergey Matveev <earthdok@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24081
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Fri, 19 Sep 2014 11:27:54 +0000 (11:27 +0000)]
Remove a couple of deprecated APIs that moved to Isolate
Embedders should either pass the information to via
Isolate::CreateParams or use Isolate::SetStackLimit where appropriate
BUG=none
R=svenpanne@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/
584843002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24080
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Fri, 19 Sep 2014 11:26:36 +0000 (11:26 +0000)]
ARM: Make stack limit stricter to account for large buffers in MacroAssembler.
BUG=405338
LOG=Y
R=rmcilroy@chromium.org, rodolph.perfetta@arm.com
Review URL: https://codereview.chromium.org/
583163002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24079
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Fri, 19 Sep 2014 11:08:04 +0000 (11:08 +0000)]
Implement loads and calls from 'super'
R=verwaest@chromium.org, arv@chromium.org
BUG=v8:3330
LOG=N
Review URL: https://codereview.chromium.org/
527963002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24078
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 19 Sep 2014 11:06:59 +0000 (11:06 +0000)]
Removed confusing defensive programming in GenerateJumpTable.
For a given address/type pair we should always find a deoptimization
bailout ID, otherwise something is wrong. This was already asserted on
ARM, but we now do this consistently on all platforms.
Removed some usesless naming creativity on the way.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
587473003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24077
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Fri, 19 Sep 2014 10:52:19 +0000 (10:52 +0000)]
Fix windows warning.
TBR=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
583123003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24076
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Fri, 19 Sep 2014 10:45:04 +0000 (10:45 +0000)]
Fix float truncations in typed array tests.
TBR=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
577163003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24075
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Fri, 19 Sep 2014 09:56:12 +0000 (09:56 +0000)]
Hack representation inference to assume current behavior of float32 loads and stores, which include implicit representation changes.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
576973003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24072
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Fri, 19 Sep 2014 09:30:04 +0000 (09:30 +0000)]
Fix type in idle time undershot histogram name
TBR=hpayer@chromium.org
LOG=n
BUG=none
Review URL: https://codereview.chromium.org/
587563003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24071
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
weiliang.lin@intel.com [Fri, 19 Sep 2014 09:27:45 +0000 (09:27 +0000)]
X87: When serializer is enalbed, we disable the X87 stack check to reduce the code size.
The reason is that the big code size will leads to test-serialize test cases fail
when debug mode and snapshot=off.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/
582373002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24070
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Fri, 19 Sep 2014 09:15:47 +0000 (09:15 +0000)]
The --optimize-for-size flag should imply a small semi-space
R=hpayer@chromium.org, mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
585523002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24069
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Fri, 19 Sep 2014 08:25:56 +0000 (08:25 +0000)]
Fix leak in cctest/test-heap/ReleaseStackTraceData
TBR=svenpanne@chromium.org
BUG=none
LOG=n
Review URL: https://codereview.chromium.org/
585843002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24068
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Fri, 19 Sep 2014 08:01:35 +0000 (08:01 +0000)]
Reland 24052 - Require V8 to be explicitly initialized before an Isolate is created
> We also initialize the Isolate on creation.
>
> This should allow for getting rid of the last remaining default isolate
> traces. Also, it'll speed up several isolate related operations that no
> longer require locks.
>
> Embedders that relied on v8::Isolate to return an uninitialized Isolate
> (so they can set ResourceConstraints for example, or set flags that
> modify the way the isolate is created) should either do the setup before
> creating the isolate, or use the recently added CreateParams to pass e.g.
> ResourceConstraints.
>
> BUG=none
> LOG=y
> R=svenpanne@chromium.org
>
> Review URL: https://codereview.chromium.org/
469783002
BUG=none
LOG=y
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
583153002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24067
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Fri, 19 Sep 2014 07:51:23 +0000 (07:51 +0000)]
Perform scavenges only for small idle times.
BUG=
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/
586643002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24066
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Fri, 19 Sep 2014 07:36:05 +0000 (07:36 +0000)]
Reland sticky regexps https://codereview.chromium.org/
567313003/
R=svenpanne@chromium.org, yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
580383003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24065
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 19 Sep 2014 07:27:13 +0000 (07:27 +0000)]
Removed a few dead template functions.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
583833006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24064
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00