Commit Graph

13060 Commits

Author SHA1 Message Date
dcarney@chromium.org
c09d00d1b0 revert 16744 for breaking build
TBR=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16746 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-17 07:53:56 +00:00
svenpanne@chromium.org
87ff987f70 Refactoring only: Make it clear that MOD is special.
LArithmeticD should really be 5 different instructions... :-/

R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16745 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-17 07:29:26 +00:00
dcarney@chromium.org
0020146f24 add context save for GenerateFastApiCall
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16744 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-17 07:19:50 +00:00
palfia@homejinni.com
29d0f52a3c MIPS: Orthogonalize Lithium binary op instructions.
Port r16739 (cd8e4a21)

BUG=
R=gergely@homejinni.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16743 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-16 21:59:00 +00:00
mvstanton@chromium.org
61a3605ad2 Chromium 284577 needs a mitigation CL added. There is a TODO to remove
the mitigation when the cause of the bug is discovered.

BUG=
R=hpayer@chromium.org, mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16742 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-16 16:50:41 +00:00
yangguo@chromium.org
1d07d3152c Fix compile error.
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16741 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-16 16:09:07 +00:00
yangguo@chromium.org
ea5ab721e4 Add mutex when accessing concurrent recompilation output queue.
Also small refactorings.

R=mstarzinger@chromium.org
BUG=291236

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16740 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-16 15:34:46 +00:00
olivf@chromium.org
42879d1038 Orthogonalize Lithium binary op instructions.
BUG=
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16739 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-16 15:24:49 +00:00
loislo@chromium.org
849815fa28 HeapProfiler: compile fix for win x64.
BUG=none
TBR=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16738 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-16 15:19:41 +00:00
mstarzinger@chromium.org
be8621a457 Don't lookup the cache for the result of Function::New
Since isFunctionCached condition is wrong, we lookup the cache even if
doNotCache is true. As a result, Function::New always returns null
except for the first time.

BUG=272579
R=dcarney@chromium.org, mstarzinger@chromium.org, yhirano@chromium.org

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

Patch from Yusuke Suzuki <yusukesuzuki@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16737 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-16 14:50:01 +00:00
svenpanne@chromium.org
bf345f022e Revert "Add flags to force or prevent setting of isolate.is_memory_constrained."
It introduces static initializers for the new "MAYBE_BOOL" kind of
flags, which is a no-no for Chrome. This has to be done differently.

TBR=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16736 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-16 14:09:22 +00:00
svenpanne@chromium.org
8ed9b08e31 In the case of shift amounts with two constants and if their sum is equal 32, then shift can also be replaced with bit rotate.
R=svenpanne@chromium.org

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

Patch from Bangfu Tao <bangfu.tao@samsung.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16735 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-16 13:51:14 +00:00
loislo@chromium.org
0daf224c17 HeapSnapshot: replace O(N*ln(N)) algorithm of sorting with O(N) one.
We have HashMap for the strings. They got id sequentially. So we could use index sort.

BUG=none
R=alph@chromium.org, yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16734 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-16 13:13:42 +00:00
svenpanne@chromium.org
f30a734346 Add flags to force or prevent setting of isolate.is_memory_constrained.
Also enable MAYBE_BOOL flags for when you want to only do something if the flag was explicitly set to true or false.

BUG=None
R=hpayer@chromium.org, svenpanne@chromium.org

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

Patch from Ross McIlroy <rmcilroy@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16733 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-16 13:02:53 +00:00
titzer@chromium.org
af87218fa0 Make HValue::ActualValue() traverse all idefs.
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16732 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-16 12:44:28 +00:00
danno@chromium.org
d5d7b1d9c1 Tweak HConstant::EmitAtUses() to eliminate useless constant generation
BUG=2881
R=danno@chromium.org

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

Patch from Weiliang Lin <weiliang.lin2@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16731 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-16 12:41:05 +00:00
bmeurer@chromium.org
73b03b895b Make HCompareNumericAndBranch safe for snapshots on ia32.
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16730 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-16 12:38:41 +00:00
svenpanne@chromium.org
7b41d6d491 Fixed shared_library build on Windows.
BUG=v8:2879
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16729 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-16 12:08:30 +00:00
bmeurer@chromium.org
8588b74491 Remove unused context parameter from AddIncrementCounter().
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16728 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-16 11:30:10 +00:00
rodolph.perfetta@gmail.com
39f0ccc2b3 ARM: Tweak the integer division operation.
BUG=none
TEST=test/mjsunit/lithium/DivI.js
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16727 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-16 11:28:18 +00:00
verwaest@chromium.org
223ac69ff6 Rename StubType MAP_TRANSITION to TRANSITION.
R=mvstanton@chromium.org

Review URL: https://chromiumcodereview.appspot.com/24120007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16726 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-16 09:30:43 +00:00
loislo@chromium.org
2abe14b8f6 HeapProfiler: replace pointer based matching algorithm with string matching algorithm for strings_ member.
pros: decreased snapshot size.
cons: increased serialization time.

I've tested the implementation on gmail 90mb heap.
I saw no speed degradation on the serialization step.
The snapshot size lost ~3% of its size. 100Mb -> 97Mb.

BUG=none
R=alph@chromium.org, yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16725 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-16 09:16:03 +00:00
mvstanton@chromium.org
043abcd38a Prepare push to trunk. Now working on version 3.21.17.
R=machenbach@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16722 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-16 07:32:10 +00:00
plind44@gmail.com
6d3b3255b5 MIPS: remove getcurrent from stubs.
Port r16710 (c5203f8)

BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16721 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-13 15:28:15 +00:00
plind44@gmail.com
23fc6218cb MIPS: Improve SeqStringSetChar implementation.
Port r16707 (a25d669)

TEST=/test/mjsunit/lithium/SeqStringSetChar.js
BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16720 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-13 15:22:45 +00:00
mvstanton@chromium.org
516339cba5 Every place where AllocationMemento is initialized with an
AllocationSite is now checked to be sure a valid Site goes in.

This is temporary code to diagnose chromium bug 284577.

(This is a second attempt, the first attempt ran into the problem of undefined ordering of function calls in Windows and Mac optimized builds, see the fixes in code-stubs-hydrogen.cc).

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16719 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-13 13:50:16 +00:00
dcarney@chromium.org
31105962a2 revert 16717 for breaking everything
TBR=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16718 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-13 13:45:53 +00:00
dcarney@chromium.org
bbaf775dc4 line up crashing with chrome
R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16717 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-13 12:49:57 +00:00
titzer@chromium.org
25372ac111 Add Contains(), at(), and a constructor with raw addresses to UniqueSet<T> and Unique<T>.
BUG=
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16716 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-13 12:35:36 +00:00
bmeurer@chromium.org
fe9f9e20be Add missing factory method for HDebugBreak.
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16715 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-13 12:02:50 +00:00
olivf@chromium.org
81425a20b2 Intel: Branch reordering and port arm EmitNumberUntagD() Improvement
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16714 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-13 12:01:32 +00:00
hpayer@chromium.org
a844362937 Fix heap verifier for partially constructed arrays when allocation folding is off.
BUG=
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16713 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-13 11:47:54 +00:00
verwaest@chromium.org
3824d596a7 Don't update ICs when the receiver has a deprecated map.
R=ulan@chromium.org

Review URL: https://chromiumcodereview.appspot.com/23658047

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16712 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-13 11:14:02 +00:00
dcarney@chromium.org
cb490c9995 remove OS::StackWalk
R=bmeurer@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16711 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-13 10:35:35 +00:00
dcarney@chromium.org
564a9a68b8 remove getcurrent from stubs
R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16710 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-13 10:23:04 +00:00
verwaest@chromium.org
ea77a8edc0 Use regular map-checks to guard string-length loading.
R=ulan@chromium.org

Review URL: https://chromiumcodereview.appspot.com/23702039

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16709 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-13 09:57:48 +00:00
mstarzinger@chromium.org
50b0567640 Handlify JSObject::DeepCopy method.
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16708 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-13 09:51:11 +00:00
bmeurer@chromium.org
8540129339 ARM: Improve SeqStringSetChar implementation.
TEST=/test/mjsunit/lithium/SeqStringSetChar.js
R=bmeurer@chromium.org

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

Patch from Rodolph Perfetta <rodolph.perfetta@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16707 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-13 09:13:58 +00:00
mvstanton@chromium.org
c29295e88b Revert "Every place where AllocationMemento is initialized with an"
This reverts r16705 for breaking Windows build.

R=dslomov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16706 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-13 08:44:37 +00:00
mvstanton@chromium.org
25c4f763ed Every place where AllocationMemento is initialized with an
AllocationSite is now checked to be sure a valid Site goes in.
This is temporary code to diagnose chromium bug 284577.

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16705 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-13 08:13:17 +00:00
rossberg@chromium.org
94c4c596e0 Array "splice" changeRecords should be emitted after the performChange has completed (per spec)
R=rossberg@chromium.org
BUG=

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

Patch from Rafael Weinstein <rafaelw@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16704 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-13 08:13:02 +00:00
rossberg@chromium.org
f99298bf5d Allow implicit conversion of acceptList values to string during Object.observe
R=rossberg@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16703 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-13 08:09:39 +00:00
yangguo@chromium.org
e4c179e2d3 Use xorps to break the cvtsi2sd unnecessary dependence due to its partially written
BUG=
R=yangguo@chromium.org

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

Patch from Weiliang Lin <weiliang.lin2@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16702 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-13 07:59:48 +00:00
dslomov@chromium.org
8650fae525 Prepare push to trunk. Now working on version 3.21.16.
R=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16699 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-13 07:15:02 +00:00
palfia@homejinni.com
2cec3754da MIPS: Bugfix: array constructors that expect a type feedback cell that points to an AllocationSite were being passed the undefined object in some cases. Clearly separate the cases where we have an AllocationSite and where we don't in the general ArrayConstructorStub.
Port r16693 (0852d4ab)

BUG=
R=gergely@homejinni.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16698 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-13 00:10:24 +00:00
palfia@homejinni.com
617f7546a7 MIPS: Refactoring PropertyCallbackInfo & FunctionCallbackInfo, step 1.
Port r16688 (fcae0bcf)

Original commit message:
The goal is to unify PropertyCallbackInfo and FunctionCallbackInfo so that they
contain the same fields.

The field order will be:
holder
isolate
return value default value
return value
data
this

This step 1 reorders the PropertyCallbackInfo fields.

BUG=
R=gergely@homejinni.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16697 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-13 00:04:29 +00:00
verwaest@chromium.org
e9c4a49866 Reland Handle non-JSObject heap objects using slow-path IC stub guarded by the map.
R=mstarzinger@chromium.org

Review URL: https://chromiumcodereview.appspot.com/23578030

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16696 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 22:04:04 +00:00
palfia@homejinni.com
4f09f42866 MIPS: Improve code generation for the HRandom instruction.
Port r16684 (e0f70aa)

Original commit message:
Since the per-context random number generator is now
properly seeded upon context creation, we do not need
to check for lazy-initialization anymore, and so we
can implement the HRandom instruction w/o having to
call into the C function (which means we don't need
to MarkAsCall anymore).

TEST=cctest/test-random
BUG=
R=gergely@homejinni.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16695 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 21:17:43 +00:00
palfia@homejinni.com
705d813291 MIPS: Fix of r16681
Use v0 for return value.

BUG=
R=gergely@homejinni.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16694 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 20:11:26 +00:00
mvstanton@chromium.org
5521e2e825 Bugfix: array constructors that expect a type feedback cell that points
to an AllocationSite were being passed the undefined object in some
cases. Clearly separate the cases where we have an AllocationSite and
where we don't in the general ArrayConstructorStub.

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16693 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 17:59:41 +00:00