Commit Graph

18505 Commits

Author SHA1 Message Date
bmeurer@chromium.org
4f5b0911db Revert "Switch inlining to use simplified instead of machine loads.", "Fix size_t to int conversion compile error." and "Add copy support in inliner.".
This reverts commits r23813, r23805 and r23804 for Windows breakage.

TBR=mstarzinger@chromium.org,sigurds@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23816 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 06:39:25 +00:00
weiliang.lin@intel.com
850580317b X87: Introduce code stub constructors for stub keys.
port r23716.

original commit message:

  Introduce code stub constructors for stub keys.

BUG=
R=weiliang.lin@intel.com

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

Patch from Jing Bao <jing.bao@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23815 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 02:44:43 +00:00
vegorov@chromium.org
a57c7ab69c Fix perf jitdump integration.
When emitting JIT_CODE_LOAD for Crankshafted code exclude Safepoint Table from the size of the code.

This cleans up perf annotate output - because otherwise it confusingly tries to disassemble safepoint table.

R=jarin@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23814 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-09 17:35:51 +00:00
mstarzinger@chromium.org
947726a79c Switch inlining to use simplified instead of machine loads.
R=sigurds@chromium.org
TEST=cctest/test-run-inlining --turbo-types

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23813 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-09 15:55:47 +00:00
mstarzinger@chromium.org
6034230db7 Some follow-up fixes after r23801.
R=rossberg@chromium.org
TEST=mjsunit --turbo-types

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-09 14:48:16 +00:00
yangguo@chromium.org
8d6f9811da Do not force interrupt in test-debug/ProcessDebugMessagesThreaded.
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23810 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-09 14:31:49 +00:00
bmeurer@chromium.org
bbd96b97e4 [turbofan] Add support for overflow add/sub to the MachineOperatorReducer.
TEST=base-unittests,compiler-unittests,cctest
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23809 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-09 14:18:17 +00:00
m.m.capewell@googlemail.com
cb6ea19859 [turbofan] ARM64 branch selector additions
Add support for selecting Cmp and Cmn instructions, and tests for branching on
the result of arithmetic or logical operations.

BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23808 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-09 14:13:51 +00:00
balazs.kilvady@imgtec.com
48a91826e4 MIPS: Do not use CodeStub::FindInCache if not necessary.
Port r23795 (b41f4a7)

Original commit message:
GetCode does the FindInCache check as well.

BUG=
R=akos.palfi@imgtec.com, dusan.milosavljevic@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23807 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-09 14:11:18 +00:00
svenpanne@chromium.org
f8ff071006 Use locale-independent predicates.
TBR=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23806 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-09 13:51:03 +00:00
sigurds@chromium.org
3606999e1e Fix size_t to int conversion compile error.
BUG=

TBR=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23805 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-09 13:26:37 +00:00
sigurds@chromium.org
1f9215ba8d Add copy support in inliner.
Refactors JSGraph to ensure that the zone operators are created in
can be different from the Graph's zone.

R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23804 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-09 13:20:09 +00:00
jarin@chromium.org
01d63e43b2 Handle non-object constants in HConstant::GetMonomorphicJSObjectMap.
R=ulan@chromium.org
BUG=chromium:412162
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23803 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-09 12:58:34 +00:00
Jacob.Bramley@arm.com
3dbb3c39d5 Reland r23732: ARM64: Fix and improve --trace-sim register trace.
- Use standard names (except that our GREY is the standard BLACK).
- Make non-bold colours explicit, otherwise the boldness can carry over
  into subsequent colour declarations.
- I've moved some colours around to make them consistent. Register value
  updates (which are very common) now stand out less than they did,
  making the less-common (and arguably more important) debug
  announcements appear brighter.
  - FP registers and values are now magenta.
  - Integer registers and values are now cyan.
  - Memory accesses are now blue.
- LOG_WRITE prints the source register for stores.
- Loads are logged with a format similar to that used for stores.
  Specifically, the memory address is printed alongside the new register
  value.
- Updates to D registers print the raw bits as well as the double value.
  Updates to S registers print the raw bits as well as the float value.
  (Previously, we printed both double and float interpretations of the
  bits, which was a bit cluttered.)

BUG=
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23802 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-09 12:43:43 +00:00
rossberg@chromium.org
f3e0338882 Couple of fixes to typer
(Extracted from verifier CL.)

R=mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23801 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-09 12:32:17 +00:00
jkummerow@chromium.org
5cc34b6b52 Delete generated runtime tests
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23800 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-09 12:24:43 +00:00
jkummerow@chromium.org
fd3e505fb6 Hydrogen: bailout when there is a throw statement in a non-effect context.
This mirrors the behavior of the compilation pipeline before recent OptimizeFunctionOnNextCall changes.

BUG=chromium:412208
LOG=n
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23799 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-09 12:16:33 +00:00
mstarzinger@chromium.org
34a659ae80 Allow some runtime functions to accept Int32s instead of Smis.
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23796 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-09 12:12:04 +00:00
yangguo@chromium.org
8470a7783b Do not use CodeStub::FindInCache if not necessary.
GetCode does the FindInCache check as well.

R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23795 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-09 11:45:53 +00:00
yangguo@chromium.org
4b0c076052 Turn old space cons strings into regular external strings (not short).
R=hpayer@chromium.org
BUG=v8:3530
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23794 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-09 11:41:56 +00:00
v8-autoroll@chromium.org
ad77e2bd43 [Auto-roll] Bump up version to 3.29.54.0
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23793 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-09 11:31:17 +00:00
svenpanne@chromium.org
91efac12a5 Fixed printing of JS code.
This is a fix/improvement for r23478 ("Fix disassembly redirection from stdout
into a file.").

R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23792 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-09 10:33:33 +00:00
hpayer@chromium.org
d12834206d Don't record slots of objects that may contain raw values.
BUG=
R=mstarzinger@chromium.org, yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23791 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-09 10:07:29 +00:00
svenpanne@chromium.org
72e27a3d6b Unbreak FreeBSD build (hopefully).
BUG=v8:3548
LOG=y
R=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23790 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-09 09:21:51 +00:00
jochen@chromium.org
84e21c5ec0 Convert GN visibility to be a list.
GN visibility currently allows either string or list types, but this is causing
some problems for some templates. I'm going to require it to be lists, so am
changing all callers before pushing the new binary.

R=jochen@chromium.org

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

Patch from Brett Wilson <brettw@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23789 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-09 08:57:29 +00:00
svenpanne@chromium.org
51d11d4e19 Fixed some undefined behavior in our external header.
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23788 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-09 08:52:36 +00:00
v8-autoroll@chromium.org
7b4f1d2bf6 [Auto-roll] Bump up version to 3.29.52.0
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23784 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-08 22:02:19 +00:00
balazs.kilvady@imgtec.com
fa91f81411 MIPS: Get CallInterfaceDescriptor directly from CodeStub.
Port r23778 (c2dcfb1)

BUG=
R=paul.lind@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23783 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-08 19:09:21 +00:00
balazs.kilvady@imgtec.com
3d4f63be68 MIPS: Initialize CodeStubInterfaceDescriptor in the constructor.
Port r23773 (9b5b258)

BUG=
R=paul.lind@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23782 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-08 18:51:07 +00:00
balazs.kilvady@imgtec.com
88253752fb MIPS: To aid vector-based load ic work, we need to be able to handle the megamorphic load case in hydrogen.
Port r23772 (d6d07c5)

Original commit message:
Encapsulate megamorphic load/tail-call in hydrogen.

A simple approach is to wrap the probe activity in a hydrogen instruction.

The instruction is novel in that it always tail-calls away.

BUG=
R=paul.lind@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23781 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-08 17:20:49 +00:00
mvstanton@chromium.org
ea42ffe467 Fix Windows compile error, conversion from int64 to int
TBR=yangguo@chromium.org

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23780 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-08 16:18:37 +00:00
balazs.kilvady@imgtec.com
b9af36b1fd MIPS: Fix cctest/NaNs after r23767 "Replace our home-grown BitCast with bit_cast from Chrome/Google3".
BUG=
R=plind44@gmail.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23779 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-08 16:14:21 +00:00
yangguo@chromium.org
9da1d7dc15 Get CallInterfaceDescriptor directly from CodeStub.
R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23778 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-08 15:18:54 +00:00
mstarzinger@chromium.org
05167dd73c Fix lower bound in JSLoadContext typer.
R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23777 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-08 14:32:17 +00:00
mstarzinger@chromium.org
c3e63ee946 Properly disable ES6 generator support for TurboFan.
R=rossberg@chromium.org
TEST=mjsunit/es6/*

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23776 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-08 14:10:33 +00:00
m.m.capewell@googlemail.com
79c8293b99 [turbofan] Add ARM64 overflow selector tests
Add more selector tests and correct a typo in the instruction selector code.

BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23775 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-08 14:08:16 +00:00
v8-autoroll@chromium.org
b9614b9599 Whitespace change for bootstrapping auto roll bot.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23774 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-08 13:31:31 +00:00
yangguo@chromium.org
014c0fe278 Initialize CodeStubInterfaceDescriptor in the constructor.
R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23773 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-08 13:27:56 +00:00
mvstanton@chromium.org
6e1ebdcbc3 To aid vector-based load ic work, we need to be able to handle
the megamorphic load case in hydrogen. A simple approach is to
wrap the probe activity in a hydrogen instruction.

The instruction is novel in that it always tail-calls away.

R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23772 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-08 12:51:29 +00:00
jochen@chromium.org
4ad3760dff Fix v8's GN v86 build.
This got out-of-sync with some GYP changes. Also makes it compile on Windows.

R=jochen@chromium.org

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

Patch from Brett Wilson <brettw@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23770 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-08 10:48:29 +00:00
mstarzinger@chromium.org
e9b3c336e6 Properly blacklist ES6 for-of statement for TurboFan.
R=bmeurer@chromium.org
TEST=mjsunit/es6

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23769 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-08 09:39:39 +00:00
bmeurer@chromium.org
2bbeb652ee [turbofan] Fix the node matchers.
E.g. make sure that Int32Matcher matches only int32 constants, and
Float64Matcher matches only float64 constants.

Also remove the confusing CommonOperatorTraits, which are too easy
to use in a wrong way.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23768 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-08 09:16:11 +00:00
bmeurer@chromium.org
dab61bc310 Replace our home-grown BitCast with bit_cast from Chrome/Google3.
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23767 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-08 09:11:11 +00:00
v8-autoroll@chromium.org
b0b67762fd [Auto-roll] Bump up version to 3.29.51.0
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23766 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-08 09:04:14 +00:00
svenpanne@chromium.org
5d840171c1 Revert r23732 ("ARM64: Fix and improve --trace-sim register trace.") and r23733 ("ARM64: Fix build warning in r23732.)
They break the build when compiling with optimizations, e.g. optdebug:

../src/arm64/simulator-arm64.cc: In member function ‘void v8::internal::Simulator::PrintWriteFP(uintptr_t, size_t, unsigned int)’:
../src/arm64/simulator-arm64.cc:792:29: error: array subscript is above array bounds [-Werror=array-bounds]
../src/arm64/simulator-arm64.cc:799:29: error: array subscript is above array bounds [-Werror=array-bounds]

TBR=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23765 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-08 08:23:02 +00:00
bmeurer@chromium.org
263a96b227 [turbofan] Fix Projection operator parameter type.
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23764 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-08 06:49:17 +00:00
bmeurer@chromium.org
ccf6c26607 Fix windows build.
TBR=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23761 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-08 04:53:35 +00:00
bmeurer@chromium.org
20db0ff315 Next base/macros.h cleanup step.
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23760 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-08 04:44:22 +00:00
v8-autoroll@chromium.org
880110ae99 [Auto-roll] Bump up version to 3.29.49.0
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23756 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-07 10:45:51 +00:00
machenbach@chromium.org
199ba41c06 Keep svn checkout up-to-date in roll scripts.
BUG=chromium:408523
LOG=n
TBR=jarin@chromium.org
TEST=script_test.py

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23755 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-07 08:11:32 +00:00