Commit Graph

3082 Commits

Author SHA1 Message Date
titzer@chromium.org
60fb024ad6 TF: simplified-lowering tests accidentally ran on unsupported platforms.
TBR=bmeurer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22817 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 12:51:34 +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
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
bmeurer@chromium.org
35f0976895 [turbofan] Support for combining branches with <Operation>WithOverflow.
Also unify the handling of binops in the InstructionSelector
backends.

TEST=cctest/test-run-machops,cctest/test-instruction-selector-arm
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22800 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 08:18:37 +00:00
bmeurer@chromium.org
ba12ca16a2 [turbofan] Add support for Int32SubWithOverflow.
TEST=cctest/test-run-machops,cctest/test-instruction-selector-arm
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22791 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-01 12:18:20 +00:00
bmeurer@chromium.org
6161d4305d [arm] Unify instruction selector for Word32Neg.
Previously code generation for Word32Neg (implemented as Word32Xor
with -1) was somewhat adhoc and not complete. Now it's uniform
and supports the full range of operand2's.

TEST=cctest/test-instruction-selector-arm,cctest/test-run-machops
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22789 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-01 11:14:47 +00:00
titzer@chromium.org
ee7f97c8a0 TF: Rename ConvertXToY machine operators to ChangeXToY.
R=bmeurer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22788 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-01 10:54:58 +00:00
bmeurer@chromium.org
6ccb8704f2 [turbofan] Add Int32AddWithOverflow machine operator.
TEST=cctest/test-run-machops,cctest/test-instruction-selector-arm
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22784 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-01 09:32:58 +00:00
titzer@chromium.org
0e0614ec47 Fix compile error on Win32.
R=hpayer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22782 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-01 08:38:16 +00:00
titzer@chromium.org
42fa27187e TF: Lowering representation changes to machine operators (WIP: need inline allocation for some). Move tests related to lowering representation changes into test-changes-lowering.cc.
R=bmeurer@chromium.org, bmeuer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22781 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-01 08:16:19 +00:00
weiliang.lin@intel.com
f806dc5262 X87: Land the Fan (disabled)
port r22709.

This patch only covers the code change of orginal X87 port.
For the changes under ./src/compiler/ and ./tools/gyp/v8.gyp file,
I will submit it in another seperate patch.

BUG=
R=weiliang.lin@intel.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22778 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-01 07:42:06 +00:00
danno@chromium.org
d9900a2071 Fix Win64 build
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22772 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 16:22:27 +00:00
machenbach@chromium.org
f158d2438a Skip more test.
TBR=dcarney@chromium.org,bmeurer@chromium.org,danno@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22767 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 15:27:03 +00:00
bmeurer@chromium.org
dcde756f98 [turbofan] C calls are broken. Blacklist related tests.
TBR=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22763 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 14:30:28 +00:00
bmeurer@chromium.org
f2ad69e6f3 Another fix for cctest/test-run-machops/RunLoadImmIndex.
TBR=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22759 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 14:08:08 +00:00
titzer@chromium.org
6144849576 TF: Fix windows build (implicit cast between double and int32_t).
R=bmeurer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22754 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 12:01:36 +00:00
danno@chromium.org
218395ebaa Fix MIPS build: use stubbed-out TF implementation
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22753 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 11:59:49 +00:00
titzer@chromium.org
d521ed2507 TF: Add ConvertFloat64ToUint32 and ConvertUint32ToFloat64 machine operators.
R=bmeurer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22752 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 11:45:22 +00:00
svenpanne@chromium.org
2fbf073fde More memory leak fixes.
TBR=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22749 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 11:31:39 +00:00
bmeurer@chromium.org
546e8a6287 Fix cctest/test-run-machops/RunLoadImmIndex
TBR=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22746 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 10:24:44 +00:00
svenpanne@chromium.org
337a7f61b2 Fixed a few space leaks.
TBR=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22745 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 10:17:25 +00:00
bmeurer@chromium.org
bcbb39e0ef Fix android debug build.
TBR=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22743 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 09:30:16 +00:00
jkummerow@chromium.org
9930eaae1c Greenify NaCl build
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22742 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 09:19:50 +00:00
bmeurer@chromium.org
0eecf982f9 [arm] Add support for ROR. Refactor operand2 handling.
This was the last missing bit for full "flexible second operand" /
operand2 support on ARM.

TEST=cctest/test-instruction-selector-arm,cctest/test-run-machops
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22732 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 07:44:29 +00:00
danno@chromium.org
252cb8ba6e Fix 64-bit VS2010 build
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22722 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 16:21:36 +00:00
mstarzinger@chromium.org
1e1a7a593b Fix relative include path in cctest case.
R=jarin@chromium.org, titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22721 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 15:35:29 +00:00
mstarzinger@chromium.org
18bd8cadc4 Fix build failures with LLVM-GCC 4.2 on Mac (moar).
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22720 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 15:34:09 +00:00
mstarzinger@chromium.org
c1ce19867c Fix relative include path in cctest helper.
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22714 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 14:40:57 +00:00
mstarzinger@chromium.org
2c328e94f9 Remove accidental duplication in cctest suite.
R=danno@google.com, danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22712 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 14:23:52 +00:00
danno@chromium.org
a1383e2250 Land the Fan (disabled)
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22709 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 13:54:45 +00:00
jkummerow@chromium.org
49233c9972 Throw an exception when an access check fails and no external callback is installed
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22698 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 09:31:06 +00:00
dusan.milosavljevic@imgtec.com
e0401f3f71 MIPS64: Add support for architecture revision 6.
TEST=
BUG=
R=jkummerow@chromium.org, paul.lind@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22681 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-29 18:02:26 +00:00
mstarzinger@chromium.org
947740a6d8 Revert "Make --always-opt also optimize toplevel code."
TBR=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22670 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-29 13:08:51 +00:00
mstarzinger@chromium.org
34f5edd500 Make --always-opt also optimize toplevel code.
R=jacob.bramley@arm.com, titzer@chromium.org, rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22666 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-29 11:41:42 +00:00
ishell@chromium.org
f2e5395a32 Regression test for chromium:388880 added.
BUG=chromium:388880
LOG=N
R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22652 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-28 15:33:24 +00:00
rmcilroy@chromium.org
cc532e449b Tests that the GC doesn't mistake non-pointer constant pool entries as pointers.
Adds a test for ConstantPoolArray to ensure that the GC
doesn't mistake non-pointer entries as pointers and try
to modify them during scavenge operations.

Also adds asserts to ConstantPoolArray::set(int, *Object) to
ensure we don't add new-space pointers in constant pool
array.

R=hpayer@chromium.org

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22634 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-28 10:04:36 +00:00
verwaest@chromium.org
4a956ab1c2 Change Has* and Get*Attributes to return Maybe<*>, indicating possible exceptions.
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22624 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-25 18:32:11 +00:00
machenbach@chromium.org
110a5fdae4 Revert "Tests that the GC doesn't mistake non-pointer constant pool entries as pointers."
This reverts commit r22608 for breaking win and arm64, ConstantPoolExtended and ConstantPoolSmall.

BUG=
TBR=rmcilroy@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22609 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 18:59:19 +00:00
rmcilroy@chromium.org
59ee2de97c Tests that the GC doesn't mistake non-pointer constant pool entries as pointers.
Adds a test for ConstantPoolArray to ensure that the GC
doesn't mistake non-pointer entries as pointers and try
to modify them during scavenge operations.

Also adds asserts to ConstantPoolArray::set(int, *Object) to
ensure we don't add new-space pointers in constant pool
array.

R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22608 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 18:13:16 +00:00
rmcilroy@chromium.org
7cd5dbb9fa Revert r22597 (which should have been called: "Tests that the GC doesn't mistake non-pointer constant pool entries as poitners.")
TBR=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22598 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 12:30:53 +00:00
rmcilroy@chromium.org
48f44b65ee Use heap iterator in store buffer when page was swept precisely.
BUG=
R=rmcilroy@chromium.org

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22597 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 12:12:44 +00:00
yangguo@chromium.org
2811213380 Flag for serialization when compiling code stubs if --serialize-toplevel.
R=mvstanton@chromium.org
BUG=v8:3465
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22596 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 12:11:30 +00:00
ernstm@chromium.org
9523e0acf4 re-land: Track history of events in GCTracer.
- track incremental marking stats directly on GCTracer.
- add simple ring buffer class.
- track last 10 scavenges and mark-compacts in ring buffers on GCTracer.
- various clean-ups.

This is a re-land of https://codereview.chromium.org/391413006/ with
 - int instead of size_t in ring buffer unit test.
 - git cl format

R=hpayer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22593 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 11:16:01 +00:00
machenbach@chromium.org
4c345d38bd Partially revert "Unflake and speedup JsNative*Sample cpu profile tests"
This reverts the test expectations of commit r22345. Several cpu profiler flakes were happening lately.

BUG=v8:2999
LOG=n
R=bmeurer@chromium.org
TBR=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22588 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 09:26:03 +00:00
jochen@chromium.org
cb8105e223 Move gc notifications from V8 to Isolate and make idle hint mandatory
Embedders should use e.g. isolate->IdleNotification(1000) instead
of v8::V8::IdleNotification()

BUG=397026
R=hpayer@chromium.org, ernstm@chromium.org
LOG=y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22584 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 08:28:02 +00:00
machenbach@chromium.org
ea1be613dc Revert "Track history of events in GCTracer."
This reverts commit 22567 for breaking win64 compile.

BUG=
TBR=ernstm@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22572 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-23 16:12:02 +00:00
ernstm@chromium.org
462cca2ecb Track history of events in GCTracer.
- track incremental marking stats directly on GCTracer.
- add simple ring buffer class.
- track last 10 scavenges and mark-compacts in ring buffers on GCTracer.
- various clean-ups.

R=hpayer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22567 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-23 15:16:53 +00:00
neis@chromium.org
ac192b4f2a Add debugging output to RangeType test.
R=rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22552 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-23 11:17:14 +00:00
yangguo@chromium.org
ed04566cba Correctly hook up back references to internalized strings in code deserializer.
R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22540 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-23 07:16:32 +00:00
neis@chromium.org
6176dee6ea Add constructor for range types.
R=rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22535 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-22 17:33:22 +00:00