Commit Graph

15213 Commits

Author SHA1 Message Date
mstarzinger@chromium.org
e7c87c420a Implement lowering of JS[Load,Store][Property,Named] to ICs.
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22877 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 13:32:26 +00:00
bmeurer@chromium.org
bbd62e4a20 [turbofan] Improve testability of the InstructionSelector.
Allow to pass the set of supported CPU features to
the InstructionSelector, so it can be tested without
messing with the command line flags.

Also add InstructionSelector sample for ia32.

TEST=cctest/test-instruction-selector,cctest/test-instruction-selector-{arm,ia32}
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22876 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 13:26:55 +00:00
svenpanne@chromium.org
337015e5dd Enable C++11. Synch toolchains with Chrome.
* Consistently enable C++11 features on all platforms.
* Use the same ARM toolchain version as Chrome.
* Make clang the default on Mac OS X, just like Chrome.
* Use C99 on Mac OS X, again following Chrome.
* Small build fixes.

R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22875 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 13:23:55 +00:00
mstarzinger@chromium.org
c503e74181 Prevent direct inclusion of headers from TF.
R=jochen@chromium.org, titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22874 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 13:20:26 +00:00
rossberg@chromium.org
cae6842a74 Undo some unintended changes from the Turbofan merge
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22873 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 13:19:32 +00:00
wingo@igalia.com
6b7f9dba84 yield* calls @@iterator on iterable
R=rossberg@chromium.org
BUG=v8:3422
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22872 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 13:17:49 +00:00
bmeurer@chromium.org
ee52dffb37 Another Win64 fix.
TBR=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22871 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 13:06:17 +00:00
bmeurer@chromium.org
1709c81f3b Remove broken _WIN64 checks.
TBR=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22869 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 12:38:19 +00:00
verwaest@chromium.org
f89fd015e3 Tag handlers as monomorphic
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22868 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 12:32:49 +00:00
hpayer@chromium.org
c76318bc30 Precise sweeping makes zapping of garbage memory when trimming arrays obsolete
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22867 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 12:09:23 +00:00
bmeurer@chromium.org
947899e1e1 Fix compilation on arm64.
TBR=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22866 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 12:09:01 +00:00
hpayer@chromium.org
a359e112c3 Precise sweeping makes zapping of garbage memory in UpdatePointer obsolete.
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22865 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 12:04:58 +00:00
hpayer@chromium.org
112e089cf7 Move ClearNonLiveReferences and friends into the gc.
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22864 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 11:58:24 +00:00
bmeurer@chromium.org
70e7a119e6 Cleanup V8_TURBOFAN_TARGET definition.
Move to globals.h so we do no longer skip any number of
tests. Introduce V8_TURBOFAN_BACKEND, which is 1 if we
actually have a backend and want to compile it, but don't
run the tests.

R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22863 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 11:53:32 +00:00
sigurds@chromium.org
77838cf522 Verifier must ensure that start and end node of graph are set.
BUG=
R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22862 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 11:42:57 +00:00
verwaest@chromium.org
fb7da07a13 Removed GetConstructor from the API.
Instead either get the "constructor" property stored in the prototype, or keep a side-table.

LOG=y
R=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22861 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 11:27:44 +00:00
neis@chromium.org
d04a2cbda5 Remove unnecesssary auxiliary definitions.
R=rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22860 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 11:27:26 +00:00
verwaest@chromium.org
26107e0d7a Cleanup hydrogen generated handlers
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22859 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 11:22:29 +00:00
mstarzinger@chromium.org
7c667b812d Move left and right trimming of FixedArray into Heap.
R=hpayer@chromium.org
BUG=v8:3231
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22858 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 11:16:11 +00:00
jkummerow@chromium.org
e051112fc6 Restore performance of accesses to JSGlobalProxy after r22802
R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22857 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 10:44:17 +00:00
verwaest@chromium.org
5a2de1fced Remove special frontend for callbacks with slow-mode holders.
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22856 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 10:27:10 +00:00
hpayer@chromium.org
d3ee3df4e4 Force incremental marking when called from idle notification.
BUG=
R=ernstm@chromium.org, jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22854 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 09:40:09 +00:00
verwaest@chromium.org
62714a58cd Inline LookupInHolder and NextHolder
BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22853 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 09:32:55 +00:00
verwaest@chromium.org
356ac42def Reland "Also mark as prototype when passing in while creating a function."
Skip gc-stress for test relying on stable feedback (and hence stable gc timing).

BUG=
R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22852 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 09:24:27 +00:00
sigurds@chromium.org
8322577eeb Make start node a value input to parameter nodes.
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22851 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 08:47:39 +00:00
jochen@chromium.org
c608c2f0be Move a bunch of GC related files to heap/ subdirectory
BUG=none
R=hpayer@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22850 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 08:18:22 +00:00
yangguo@chromium.org
01560f9ccd Do not include native Javascript in ExecutionState frames.
When a debug event is triggered, the ExecutionState object should not
expose native JS code.

R=aandrey@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22849 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 08:16:02 +00:00
yangguo@chromium.org
90bbdacbf8 Merge three PromiseEvent's into one.
This also adds missing instrumentation and removes resolver tracking.

BUG=v8:3093
LOG=N
R=aandrey@chromium.org, yangguo@chromium.org

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

Patch from Alexandra Mikhaylova <amikhaylova@google.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22846 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 07:42:06 +00:00
alph@chromium.org
5be7020308 Make CPU profiler function names match ones from StackFrame iterator.
R=yangguo@chromium.org, yurys@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22845 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 07:31:17 +00:00
hpayer@chromium.org
2083600aee Remove all encountered weak maps from the list of weak collections when incremental marking is aborted.
BUG=399527
LOG=n
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22844 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 07:29:13 +00:00
hpayer@chromium.org
1ed9516f21 Revert "Also mark as prototype when passing in while creating a function."
Breaks GC stress ARM64.

TBR=verwaest@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22843 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 07:20:57 +00:00
alph@chromium.org
f6ddb89cd3 Move anonymous function name beautifying out of v8.
R=yangguo@chromium.org, yurys@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22842 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 07:08:39 +00:00
weiliang.lin@intel.com
6306a52e0b X87: Cleanup in stub-cache.cc; remove unused ArrayLength store ICs.
port r22805

original commit message:

  Cleanup in stub-cache.cc; remove unused ArrayLength store ICs.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22840 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 03:24:18 +00:00
weiliang.lin@intel.com
20fcfc98f6 X87: Avoid one repeated property lookup when computing load ICs.
r22802 touches X87 port but it is not changed completely.

port r22802.

original commit message:
  Avoid one repeated property lookup when computing load ICs.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22839 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 03:20:18 +00:00
machenbach@chromium.org
6f17d0356e [Auto-roll] Bump up version to 3.28.56.0
TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22832 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 19:04:14 +00:00
adamk@chromium.org
d8c30bd8e7 Enable ES6 Symbols by default
In doing so also remove all references to the --harmony-symbols flag.
Due to the way context snapshotting works, it's not possible to simply enable
the flag by default.

BUG=v8:2158
LOG=Y
R=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22831 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 18:17:54 +00:00
verwaest@chromium.org
10881d87de Also mark as prototype when passing in while creating a function.
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22830 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 15:23:29 +00:00
rodolph.perfetta@arm.com
14f175d2a7 ARM64: fixed a couple of typos in TF
BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22829 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 15:17:19 +00:00
verwaest@chromium.org
fafa02ea52 Don't insert transitions between maps for prototypes.
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22828 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 15:12:01 +00:00
verwaest@chromium.org
1404664e34 Ensure prototypes always stay fast by turning them fast again after an operation that turned them slow
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22827 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 15:06:28 +00:00
verwaest@chromium.org
f947eff31d Keep function.prototype fast.
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22826 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 15:02:07 +00:00
machenbach@chromium.org
b3ee436730 [Auto-roll] Bump up version to 3.28.55.0
TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22825 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 14:34:14 +00:00
akos.palfi@imgtec.com
9664aedd6f MIPS: Cleanup in stub-cache.cc; remove unused ArrayLength store ICs.
Port r22805 (d6b2885f)

BUG=
R=dusan.milosavljevic@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22824 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 14:30:01 +00:00
Jacob.Bramley@arm.com
fc57b3c31b ARM64: Use ARRAY_SIZE where possible.
BUG=
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22816 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 12:46:43 +00:00
titzer@chromium.org
a638717dbe Add support for untagged LoadField, StoreField, LoadElement, and StoreElement simplfied operators. This is needed for untagged accesses of typed array backing stores and generally cleans up.
R=bmeurer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22815 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 12:39:15 +00:00
bmeurer@chromium.org
1b758c5e52 Fix typo.
TBR=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22813 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 11:40:26 +00:00
bmeurer@chromium.org
d07a2eb806 Rename ASSERT* to DCHECK*.
This way we don't clash with the ASSERT* macros
defined by GoogleTest, and we are one step closer
to being able to replace our homegrown base/ with
base/ from Chrome.

R=jochen@chromium.org, svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 11:34:54 +00:00
ishell@chromium.org
f86ef7c9ef Runtime assert added to %NormalizeElements.
BUG=399654
LOG=N
R=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22809 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 11:00:19 +00:00
verwaest@chromium.org
838c0ab285 Reuse the nonexistent handler frontend for transition handlers
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22808 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 10:47:10 +00:00
verwaest@chromium.org
e508f1d404 Cleanup in stub-cache.cc; remove unused ArrayLength store ICs.
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22805 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 09:09:21 +00:00