Commit Graph

15837 Commits

Author SHA1 Message Date
yangguo@chromium.org
4e670fd05e Rename ascii to one-byte where applicable.
R=dcarney@chromium.org, marja@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23840 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 12:38:12 +00:00
yangguo@chromium.org
d3af5b67d2 Fix JSReceiver::HasHiddenProperties wrt access-checked objects.
R=jkummerow@chromium.org
BUG=chromium:411877
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23839 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 12:31:13 +00:00
bmeurer@chromium.org
cf293f7780 [turbofan] Lower JSStoreProperty during JS typed lowering.
Note that we cannot yet emit a diamond here (patch is ready), because
the scheduler is still broken wrt. free floating control (seems related
although this diamond is not free floating).

TEST=cctest
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23838 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 12:29:48 +00:00
bmeurer@chromium.org
6bb08db27e [turbofan] Next step towards shared operators.
TEST=compiler-unittests,cctest
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23837 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 12:23:45 +00:00
mstarzinger@chromium.org
8d35f22795 Disabled typed pipeline because of 64-bit failures.
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23835 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 12:07:39 +00:00
v8-autoroll@chromium.org
0a7a925e4f [Auto-roll] Bump up version to 3.29.55.0
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23831 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 10:01:20 +00:00
mstarzinger@chromium.org
13f01e65c4 Enable typed pipeline for TurboFan.
R=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23830 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 09:52:50 +00:00
mstarzinger@chromium.org
de0b213cf2 Switch inlining to use simplified instead of machine loads.
R=sigurds@chromium.org
TBR=bmeurer@chromium.org
TEST=cctest/test-run-inlining --turbo-types

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23829 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 09:48:03 +00:00
ulan@chromium.org
d66ed1176f Don't inline Array functions if receiver map is not extensible.
BUG=405517
LOG=N
TEST=mjsunit/regress/regress-crbug-405517.js
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23828 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 09:22:13 +00:00
yangguo@chromium.org
4948c064b2 Allow externalizing cons and sliced string.
Fulfill overdue TODO.

R=mstarzinger@chromium.org

Committed: https://code.google.com/p/v8/source/detail?r=23058

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23826 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 08:47:16 +00:00
bmeurer@chromium.org
0e42316deb [turbofan] Correctly use bit_cast instead of static_cast.
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23825 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 08:32:23 +00:00
hpayer@chromium.org
ed37edc5c0 Remove guard page mechanism from promotion queue.
BUG=chromium:411210
LOG=n
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23824 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 07:51:29 +00:00
hpayer@chromium.org
68b309ede8 Split up marking step and marking speed up functionality.
BUG=
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23822 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 07:23:38 +00:00
weiliang.lin@intel.com
d79d1f782f X87: Unify JSEntryStub and JSConstructEntryStub, and some more code stub cleanups.
port r23742.

original commit message:

  Unify JSEntryStub and JSConstructEntryStub, and some more code stub cleanups.

BUG=
R=weiliang.lin@intel.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23821 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 07:17:23 +00:00
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
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
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
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
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
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
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