Commit Graph

8030 Commits

Author SHA1 Message Date
yangguo@chromium.org
f2eda210d0 Some assembler-level optimizations on ARM.
Review URL: https://chromiumcodereview.appspot.com/9223011

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10541 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-27 16:54:22 +00:00
mstarzinger@chromium.org
74feaa6c3d Fix and adapt debugger for new call target caches.
R=yangguo@chromium.org
TEST=mjsunit/debug-stepout-scope

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10540 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-27 16:09:20 +00:00
kmillikin@chromium.org
87ccb1d740 Break a circular include dependency.
1. heap-inl.h has a function Heap::_inline_get_heap_ that calls
Isolate::Current() defined in isolate.h, so heap-inl.h requires
isolate.h.

2. Isolate has an embedded Heap member, so isolate.h requires heap.h.

3. heap.h has inline functions functions defined that call
Heap::_inline_get_heap_, so heap.h requires heap-inl.h (!).

The upshot is that all three need to be included wherever one is.  A
simpler way is to break the cycle by moving the inlined functions in
heap.h to heap-inl.h.

R=vegorov@chromium.org
BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10539 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-27 15:53:24 +00:00
danno@chromium.org
900a0012ce Improve register allocation for Lithium representation changes on ARM
BUG=none
TEST=none

Review URL: https://chromiumcodereview.appspot.com/9207006
Patch from Martyn Capewell <m.m.capewell@googlemail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10538 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-27 14:55:20 +00:00
danno@chromium.org
1c254fb59c MIPS: Store transitioned JSArray maps in global context
Port r10523 (79463).

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9298011
Patch from Daniel Kalmar <kalmard@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10537 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-27 14:40:42 +00:00
mstarzinger@chromium.org
7bc6526e64 Fix build for ARM in release mode after r10531.
TBR=erik.corry@gmail.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10534 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-27 13:20:01 +00:00
loislo@chromium.org
e3f2cc292e Another fix for Linux64 compilation.
BUG=none
TEST=none
TBR=mnaganov

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10533 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-27 13:09:15 +00:00
rossberg@chromium.org
b05d7619c8 Do not turn on typeof null reform with --harmony switch.
R=yangguo@chromium.org
BUG=v8:1913
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10532 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-27 13:07:39 +00:00
mstarzinger@chromium.org
8c12b6b743 Implement target cache for constructor calls.
This caches call targets of constructor calls by associating one element
caches with call sites. The type feedback oracle can use the recorded
valued to gather type information for monomorphic constructor call sites.

R=kmillikin@chromium.org,vegorov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10531 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-27 13:03:19 +00:00
loislo@chromium.org
449d7e7def Build fix for Linux64 after r10529.
BUG=none
TEST=none
TBR=mnaganov

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10530 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-27 13:01:16 +00:00
loislo@chromium.org
b60805627f Build fix for Win64 bot after r10528.
BUG=none
TEST=none
TBR=mnaganov

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10529 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-27 12:36:13 +00:00
loislo@chromium.org
07d720ec41 Detailed heap snapshot usability improvement.
The detailed heap snapshot has two groups of nodes. The first one
is the group for v8 heap nodes and the second one is the group for
native objects. At the moment we have two different sets of native
objects. There are 'Detached DOM trees' and 'Document DOM trees' type of objects.

I think it'd be nice to replace one group containing all native objects with
separate groups for different types of native objects.

BUG=none
TEST=HeapSnapshotRetainedObjectInfo

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10528 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-27 12:02:57 +00:00
danno@chromium.org
a890d245b4 Rollback 10525: MIPS: Add signal context definitions for use with Android.
TBR=ulan@chromium.org
BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10527 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-27 11:43:40 +00:00
svenpanne@chromium.org
a538072a08 By popular demand: Slightly more honest typing in ClearNonLiveMapTransitions
Review URL: https://chromiumcodereview.appspot.com/9290049

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10526 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-27 09:34:05 +00:00
danno@chromium.org
14d23b710b MIPS: Add signal context definitions for use with Android.
As with Arm, the kernel defines this stuff, but bionic lib does not.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9298003
Patch from Paul Lind <plind44@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10525 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-27 08:59:42 +00:00
danno@chromium.org
39cab48faf Add undefined check for default Array map in ArrayCodeGenericCommon
TBR=jkummerow@chromium.org
BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10524 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-26 22:33:54 +00:00
danno@chromium.org
57525ef893 Store transitioned JSArray maps in global context
BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10523 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-26 21:47:57 +00:00
danno@chromium.org
18f28fb2c0 MIPS: Added Android-specific version of cacheflush call.
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9234059
Patch from Daniel Kalmar <kalmard@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10518 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-26 16:54:44 +00:00
yangguo@chromium.org
ea041a187c Use cmp instead of tst to check for zero.
Review URL: https://chromiumcodereview.appspot.com/9169088

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10516 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-26 16:05:28 +00:00
fschneider@chromium.org
0d4fc913d0 MIPS: Reverted the number of deopt entries to 4096.
On MIPS we cannot double the number of deoptimization entries easily
because the generated code would contain long branches (>128K) and we use
BlockTrampolinePoolScope in the Deoptimizer::TableEntryGenerator::GeneratePrologue method.
Also, we cannot use the Jr instruction here because the Deoptimizer::CreateCode method asserts
that the generated code does not contain reloc information.

BUG=
TEST=
Patch from Daniel Kalmar.
Review URL: http://codereview.chromium.org/9169079

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10514 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-26 15:53:21 +00:00
erik.corry@gmail.com
448b6bbc41 Flush number string cache on GC (bug 1605). Also start with a small
number string cache and only grow it if needed, which will be useful
for saving boot time memory use.
This is a second try for  https://chromiumcodereview.appspot.com/923502
after fixing an unrelated stack overflow issue.
Review URL: https://chromiumcodereview.appspot.com/9169080

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10513 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-26 11:32:01 +00:00
vegorov@chromium.org
c712ecfdb0 MIPS: Support inlining at call-sites with mismatched number of arguments.
Port r10483 (8785a3ef)

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9271068
Patch from Daniel Kalmar <kalmard@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10512 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-26 11:26:45 +00:00
erik.corry@gmail.com
d6f476dd41 Fix intermittent stack overflow in Hydrogen code generation in tests.
Review URL: https://chromiumcodereview.appspot.com/9290044

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10511 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-26 11:14:19 +00:00
yangguo@chromium.org
8e7c28c5b2 Prepare push to trunk. Now working on version 3.9.0.
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10506 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-26 07:35:56 +00:00
kmillikin@chromium.org
cb876c25a4 Include what you use for allocation, api, assembler, and ast.
R=fschneider@chromium.org
BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10505 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-25 16:31:25 +00:00
erik.corry@gmail.com
248adeb110 Revert 10502 (smaller number string cache) due to test failures.
Review URL: https://chromiumcodereview.appspot.com/9113060

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10504 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-25 15:17:26 +00:00
vegorov@chromium.org
67d72eab45 When preparing heap for breakpoints make sure not to flush away non-optimized code for inlined functions.
Debug::PrepareForBreakPoints was not fully populating active_functions list.

R=erik.corry@gmail.com
TEST=test/mjsunit/regress/regress-debug-code-recompilation.js

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10503 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-25 15:11:59 +00:00
erik.corry@gmail.com
a49c8a19ee Flush number string cache on GC (bug 1605). Also start with a small
number string cache and only grow it if needed, which will be useful
for saving boot time memory use.
Review URL: https://chromiumcodereview.appspot.com/9235029

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10502 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-25 14:27:58 +00:00
svenpanne@chromium.org
7719981078 Refactoring only: Extracted 2 methods from ClearNonLiveTransitions
This simple refactoring makes it very clear that clearing non-live transitions
actually consists of 2 quite separate things. Things would even be nicer if the
prototype transitions were represented by a separate data structure instead of
reusing FixedArray in an interesting way once again.

As an additional bonus, this CL makes it possible to read each of the methods in
question on a 30" screen without scrolling!

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10501 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-25 14:22:59 +00:00
mstarzinger@chromium.org
4b913965a9 Fix responsiveness of high promotion mode heuristics.
This changes the heuristics for the high promotion mode to be checked
on all GCs (including scavenges), so that changes in the applications
behavior are recognized earlier. It also fixes miscalculations in the
survival counter and rate which caused heuristics to fail completely.

R=vegorov@chromium.org
BUG=v8:1899

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10500 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-25 13:46:42 +00:00
yurys@chromium.org
09ff5c4c44 Provide access to function inferred name in v8 public API
Review URL: https://chromiumcodereview.appspot.com/9146039

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10499 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-25 12:45:54 +00:00
danno@chromium.org
557e2cd90e Fix disasm assertions for undefined instructions.
BUG=none
TEST=none

Review URL: https://chromiumcodereview.appspot.com/9228006
Patch from Martyn Capewell <m.m.capewell@googlemail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10498 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-25 12:43:32 +00:00
danno@chromium.org
2120206520 MIPS: added --mips-arch-variant option to test.py.
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9270005
Patch from Daniel Kalmar <kalmard@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10497 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-25 12:37:59 +00:00
danno@chromium.org
adc196d86e Silence warning from presubmit lint script
R=yangguo@chromium.org
BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10496 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-25 12:32:05 +00:00
svenpanne@chromium.org
6859247172 Do not follow accessor map transitions when marking descriptor arrays.
Note that we currently have no such transitions, but we will in the future, and
we have to avoid keeping maps live too long.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10495 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-25 08:50:55 +00:00
svenpanne@chromium.org
891f0efa3f Handle map transitions in CALLBACKS when doing map tree traversal.
We will have such transitions in the future and this CL is necessary to keep
slack tracking working then.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10494 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-25 07:26:07 +00:00
kmillikin@chromium.org
12f982cf6a Include what you use in accessors.{h,cc}.
R=fschneider@chromium.org
BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10493 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-25 00:16:07 +00:00
jkummerow@chromium.org
6c85119c6a Fix building with clang
BUG=v8:1912

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10492 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-24 16:36:55 +00:00
erik.corry@gmail.com
be288cf2b4 Initially unmap one of the semispaces to reduce memory use at boot time.
Review URL: https://chromiumcodereview.appspot.com/9117035

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10491 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-24 16:00:19 +00:00
erik.corry@gmail.com
ee1d0fc5c6 Reduce the space used by the stack for the profiling thread.
Review URL: https://chromiumcodereview.appspot.com/9117032

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10490 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-24 15:48:16 +00:00
rossberg@chromium.org
1a10995a9d Fix JS2C, so that macros with multiple parameters actually WORK.
R=svenpanne@chromium.org
BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10489 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-24 14:29:02 +00:00
erik.corry@gmail.com
b0607b7127 Fix bug 542, misleading documentation of v8::Locker.
Review URL: https://chromiumcodereview.appspot.com/9160028

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10488 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-24 13:07:21 +00:00
yangguo@chromium.org
22f97d99be Fix shared library build.
Review URL: https://chromiumcodereview.appspot.com/9117028

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10487 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-24 12:10:28 +00:00
yangguo@chromium.org
4aa558f22d Introduce readbinary function in d8 to read binary files.
Review URL: https://chromiumcodereview.appspot.com/9283015

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10486 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-24 11:55:11 +00:00
vegorov@chromium.org
d16c6a9874 Fix Win64 compilation failure introduced by r10483.
R=erik.corry@gmail.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10485 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-24 09:05:15 +00:00
vegorov@chromium.org
189aee91de Untabify test/mjsunit/debug-evaluate-locals-optimized-double.js.
TBR=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10484 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-24 08:48:33 +00:00
vegorov@chromium.org
04289e8d17 Support inlining at call-sites with mismatched number of arguments.
Review URL: https://chromiumcodereview.appspot.com/9265004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10483 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-24 08:43:12 +00:00
fschneider@chromium.org
0b3ce1dd9e Remove unnecessary IGNORE policy from Lithium operands.
1. This policy was only used for unused spill operands. I'm assigning
an INVALID LOperand to those instead. As a result, we only need
3 bits to encode the policy and have one more available for virtual
registers.

2. Furthermore, corrected the calculation of the maximal number of virtual
registers and changed the upper limit for the size of the Hydrogen IR
accordingly.

3. Doubled the maximal number of deoptimization entries to 8K.
Review URL: http://codereview.chromium.org/9160018

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10481 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-24 02:13:28 +00:00
fschneider@chromium.org
c6e1d11885 Put a slow assert under the enable_slow_asserts flag.
Otherwise really large functions take too long to compile
in debug mode.
Review URL: http://codereview.chromium.org/9212040

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10480 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-24 01:46:26 +00:00
fschneider@chromium.org
2284996cc1 Add range information to external array loads.
Review URL: http://codereview.chromium.org/9226014

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10479 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-23 18:11:36 +00:00