Commit Graph

11364 Commits

Author SHA1 Message Date
jochen@chromium.org
b3310c3a98 Use icu_gyp_path variable to reference ICU gyp file
That way, embedders can put the icu sources whereever they want and
aren't forced to put them under third_party/gyp

BUG=none
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16749 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-17 08:31:56 +00:00
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
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
verwaest@chromium.org
ff412d8c37 Revert "Handle non-JSObject heap objects using slow-path IC stub guarded by the map."
TBR=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16692 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 16:57:37 +00:00
yangguo@chromium.org
cb10ceb19d Reland "Clean up after r16292 (disable optimization for StringWrappers)."
BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16691 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 16:17:58 +00:00
olivf@chromium.org
5a0d1ba831 NumberUntagD is faster when untagging in a temp register
BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16690 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 16:14:38 +00:00
verwaest@chromium.org
f375e0514b Handle non-JSObject heap objects using slow-path IC stub guarded by the map.
BUG=chromium:280632
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16689 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 16:12:04 +00:00
mstarzinger@chromium.org
34edb73332 Refactoring PropertyCallbackInfo & FunctionCallbackInfo, step 1.
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=dcarney@chromium.org, mstarzinger@chromium.org

Committed: http://code.google.com/p/v8/source/detail?r=16673

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

Patch from Marja Hölttä <marja@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16688 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 14:32:14 +00:00
jochen@chromium.org
c5b3ce0671 Snapshot i18n Javascript code
The previous attempt used Boolean instead of $Boolean.

BUG=v8:2745
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16687 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 13:50:38 +00:00
mstarzinger@chromium.org
6c18fbc229 Use trampoline or handlified JSObject::SetLocalPropertyIgnoreAttributes.
R=verwaest@chromium.org

Committed: http://code.google.com/p/v8/source/detail?r=16642

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16686 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 13:27:42 +00:00
bmeurer@chromium.org
0bdbadcfca Improve code generation for the HRandom instruction.
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
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16684 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 12:12:01 +00:00
titzer@chromium.org
dc901fae7f First implementation of HUnique<T> and HUniqueSet<T>, which is supposed to replace UniqueValueId.
BUG=
R=rossberg@chromium.org, verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16683 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 12:08:54 +00:00
olivf@chromium.org
bd5fa9c93b Reland "Fix phis for non-sse2 double values"
Remove VerifyX87StackDepth from non-debug code.

BUG=
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16682 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 11:54:47 +00:00
yangguo@chromium.org
151e514930 Simplify installing concurrently recompiled code.
Instead of overwriting the code entry of the function, we trigger
an interrupt to install the code on the main thread.

R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16681 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 11:30:56 +00:00
olivf@chromium.org
599f42f022 Revert "Fix phis for non-sse2 double values"
Need to investigate box2d regression.

BUG=
TBR=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16680 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 11:18:10 +00:00
yangguo@chromium.org
ad25a2969d Revert "Clean up after r16292 (disable optimization for StringWrappers)."
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16679 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 11:15:12 +00:00
ulan@chromium.org
0e8e003077 Implement in-place rehashing of HashTable.
The algorithm puts elements into correct positions in  multiple iterations.
On the first iteration it tries to put elements at entries specified by
their first hash probe. On the second iteration -- by the second
hash probe, and so on. Overall it does O(k*n) memory accesses, where
k is the maximum number of probes required for an element and n is the
capacity of the hash table. The expectation is that k will be small.

R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16678 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 11:03:27 +00:00
yangguo@chromium.org
996813cca2 Clean up after r16292 (disable optimization for StringWrappers).
R=jochen@chromium.org
BUG=v8:2855

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16677 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 10:55:57 +00:00
rodolph.perfetta@gmail.com
6a558d107a ARM: remove the regexp specific literal pool.
It is replaced by a mov_label_offset(Register, Label*) instruction.

BUG=none
TEST=test/cctest/test-assembler-arm.cc
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16676 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 10:37:42 +00:00
mstarzinger@chromium.org
e6d10e4243 Revert "Refactoring PropertyCallbackInfo & FunctionCallbackInfo, step 1."
TBR=marja@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16675 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 10:03:56 +00:00
yangguo@chromium.org
fa2ad975ed Unnecessay SSE2 check on x64
BUG=
R=yangguo@chromium.org

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16674 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 09:47:02 +00:00
mstarzinger@chromium.org
541840f8c1 Refactoring PropertyCallbackInfo & FunctionCallbackInfo, step 1.
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=dcarney@chromium.org, mstarzinger@chromium.org

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

Patch from Marja Hölttä <marja@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16673 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 09:09:39 +00:00
olivf@chromium.org
553d73a289 Fix phis for non-sse2 double values
Since hydrogen will try to merge phi-inputs using registers, even if
the values are spilled, we cannot mark LGoto as double clobbering
instruction.

BUG=
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16671 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 09:05:27 +00:00
bmeurer@chromium.org
8dbd822855 Reland "Deuglify V8_INLINE and V8_NOINLINE."
R=dslomov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16669 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 08:57:10 +00:00
dslomov@chromium.org
0642e1933b Prepare push to trunk. Now working on version 3.21.15.
R=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16668 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 08:52:29 +00:00
olivf@chromium.org
568e0cada5 Add a missing instruction to the ia32 disassembler.
BUG=
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16667 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 07:49:03 +00:00
mstarzinger@chromium.org
51b37666e3 Revert "Fix leftover usage of OS::Allocate()."
TBR=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16664 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 20:04:51 +00:00
adamk@chromium.org
ebd4b61f38 Add access check for observed objects
This change is mostly straightforward: for 'normal' sorts of change records,
simply don't deliver a changeRecord to a given observer callback if an access
the callback's Context is not allowed to "GET" or "HAS" changeRecord.name on
changeRecord.object, or if ACCESS_KEYS is disallowed.

For 'splice' records, the question of whether to hand it to an observer is trickier, since
there are multiple properties involved, and multiple types of possible information leakage.
Given that access-checked objects are very rare (only two in Blink, Window and Location),
and that they are not normally used as Arrays, it seems better to simply not emit any splice
records for such objects rather than spending lots of logic to attempt to avoid information
leakage for something that may never happen.

BUG=v8:2778
R=rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16663 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 20:03:54 +00:00
mstarzinger@chromium.org
718a6a9a9e Revert r16648, r16641, r16638 and r16637.
Original descriptions were:
- "Refactor and cleanup VirtualMemory."
- "Fix typo."
- "Deuglify V8_INLINE and V8_NOINLINE."
- "Don't align size on allocation granularity for unaligned ReserveRegion calls."

Reasons for the revert are:
- Our mjsunit test suite slower by a factor of 5(!) in release mode.
- Flaky cctest/test-alloc/CodeRange on all architectures and platforms.
- Tankage of Sunspider by about 6% overall (unverified).

TBR=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16662 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 18:30:01 +00:00
mstarzinger@chromium.org
ebbd9c8ed7 Revert "Unify computation of load stubs in stub cache."
TBR=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16661 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 16:27:41 +00:00
mstarzinger@chromium.org
45a65d870d Unify computation of load stubs in stub cache.
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16660 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 15:44:09 +00:00
mstarzinger@chromium.org
8bf91ffe71 Revert "Use trampoline or handlified JSObject::SetLocalPropertyIgnoreAttributes".
This was reverted due to performance regressions on Sunspider and other
benchmarks due to double GCs caused by the trampoline.

R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16659 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 15:16:56 +00:00
yangguo@chromium.org
ea43b5ea0c Make handle dereference check more precise.
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16658 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 15:12:27 +00:00
palfia@homejinni.com
ef32bb4602 MIPS: remove most uses of Isolate::Current in arch specific files.
Port r16643 (b818da5)

BUG=
R=gergely@homejinni.com

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16657 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 14:36:27 +00:00
palfia@homejinni.com
f81ac2662a MIPS: thread isolate for EntryHookTrampoline.
Port r16630 (e045054)

BUG=
R=gergely@homejinni.com

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16656 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 14:15:18 +00:00
mstarzinger@chromium.org
5dc202d274 Revert "Handlify JSObject::AddProperty method" for performance.
TBR=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16655 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 13:42:57 +00:00
mvstanton@chromium.org
6790b83748 To diagnose chromium bug 284577, some additional CHECKS. TODOs are
added so these can be backed out once the cause of the bug is determined.

BUG=
R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16654 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 13:39:11 +00:00
verwaest@chromium.org
dcad4b8d08 Delete useless CompileStoreGlobal
StoreGlobal stubs are generated by Hydrogen now

BUG=
R=verwaest@chromium.org

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16653 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 13:34:07 +00:00
yangguo@chromium.org
64bb1800a5 Add assertion to UniqueValueId constructor.
R=verwaest@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16652 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 13:00:27 +00:00
titzer@chromium.org
1610803b79 Improve alias analysis for HConstants (and fix small snafu in MustAlias).
BUG=
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16651 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 12:59:07 +00:00
dslomov@chromium.org
488ba18a13 Clean-up v8::ArrayBuffer::Allocator interface
BUG=v8:2823
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16650 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 12:54:28 +00:00
yangguo@chromium.org
62ac593d5a Pass PC offset into runtime when compiling for OSR.
R=titzer@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16649 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 12:39:00 +00:00
bmeurer@chromium.org
0e7f6a296e Don't align size on allocation granularity for unaligned ReserveRegion calls.
Also add additional ASSERTs to help tracking the flaky
test-alloc/CodeRange in Windows.

R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16648 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 11:33:18 +00:00
mstarzinger@chromium.org
c570640334 Handlify JSObject::AddProperty method.
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16647 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 11:00:36 +00:00
dcarney@chromium.org
bf503d5f76 thread isolate for logging calls
R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16646 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 10:59:39 +00:00
titzer@chromium.org
8656dfdff9 Implement simplistic local alias analysis, which will be used in both check elimination and load elimination.
BUG=
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16645 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 10:53:56 +00:00
rossberg@chromium.org
efd71c9999 performChange no longer takes a |receiver| argument.
The spec omits the receiver arg with the idea arrow functions with lexical |this| will obviate the need for it.

BUG=
R=rossberg@chromium.org

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16644 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 10:52:20 +00:00
dcarney@chromium.org
0a6d15453c remove most uses of Isolate::Current in arch specific files
R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16643 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 10:51:06 +00:00
mstarzinger@chromium.org
ae7813cacf Use trampoline or handlified JSObject::SetLocalPropertyIgnoreAttributes.
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16642 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 10:46:49 +00:00
bmeurer@chromium.org
b60d340e08 Deuglify V8_INLINE and V8_NOINLINE.
R=dslomov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16641 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 10:28:09 +00:00
bmeurer@chromium.org
b60b8c3b4b Fix leftover usage of OS::Allocate().
TBR=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16640 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 09:37:37 +00:00
titzer@chromium.org
562d8ddcb9 Remove dead strings from heap.h
BUG=
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16639 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 08:58:38 +00:00
bmeurer@chromium.org
269ce960cf Fix typo.
TBR=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16638 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 08:56:33 +00:00