loislo@chromium.org [Fri, 27 Jan 2012 12:02:57 +0000 (12:02 +0000)]
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
danno@chromium.org [Fri, 27 Jan 2012 11:43:40 +0000 (11:43 +0000)]
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
svenpanne@chromium.org [Fri, 27 Jan 2012 09:34:05 +0000 (09:34 +0000)]
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
danno@chromium.org [Fri, 27 Jan 2012 08:59:42 +0000 (08:59 +0000)]
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
danno@chromium.org [Thu, 26 Jan 2012 22:33:54 +0000 (22:33 +0000)]
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
danno@chromium.org [Thu, 26 Jan 2012 21:47:57 +0000 (21:47 +0000)]
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
danno@chromium.org [Thu, 26 Jan 2012 16:54:44 +0000 (16:54 +0000)]
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
yangguo@chromium.org [Thu, 26 Jan 2012 16:05:28 +0000 (16:05 +0000)]
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
fschneider@chromium.org [Thu, 26 Jan 2012 15:53:21 +0000 (15:53 +0000)]
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
erik.corry@gmail.com [Thu, 26 Jan 2012 11:32:01 +0000 (11:32 +0000)]
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
vegorov@chromium.org [Thu, 26 Jan 2012 11:26:45 +0000 (11:26 +0000)]
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
erik.corry@gmail.com [Thu, 26 Jan 2012 11:14:19 +0000 (11:14 +0000)]
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
yangguo@chromium.org [Thu, 26 Jan 2012 07:35:56 +0000 (07:35 +0000)]
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
kmillikin@chromium.org [Wed, 25 Jan 2012 16:31:25 +0000 (16:31 +0000)]
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
erik.corry@gmail.com [Wed, 25 Jan 2012 15:17:26 +0000 (15:17 +0000)]
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
vegorov@chromium.org [Wed, 25 Jan 2012 15:11:59 +0000 (15:11 +0000)]
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
erik.corry@gmail.com [Wed, 25 Jan 2012 14:27:58 +0000 (14:27 +0000)]
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
svenpanne@chromium.org [Wed, 25 Jan 2012 14:22:59 +0000 (14:22 +0000)]
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
mstarzinger@chromium.org [Wed, 25 Jan 2012 13:46:42 +0000 (13:46 +0000)]
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
yurys@chromium.org [Wed, 25 Jan 2012 12:45:54 +0000 (12:45 +0000)]
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
danno@chromium.org [Wed, 25 Jan 2012 12:43:32 +0000 (12:43 +0000)]
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
danno@chromium.org [Wed, 25 Jan 2012 12:37:59 +0000 (12:37 +0000)]
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
danno@chromium.org [Wed, 25 Jan 2012 12:32:05 +0000 (12:32 +0000)]
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
svenpanne@chromium.org [Wed, 25 Jan 2012 08:50:55 +0000 (08:50 +0000)]
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
svenpanne@chromium.org [Wed, 25 Jan 2012 07:26:07 +0000 (07:26 +0000)]
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
kmillikin@chromium.org [Wed, 25 Jan 2012 00:16:07 +0000 (00:16 +0000)]
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
jkummerow@chromium.org [Tue, 24 Jan 2012 16:36:55 +0000 (16:36 +0000)]
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
erik.corry@gmail.com [Tue, 24 Jan 2012 16:00:19 +0000 (16:00 +0000)]
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
erik.corry@gmail.com [Tue, 24 Jan 2012 15:48:16 +0000 (15:48 +0000)]
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
rossberg@chromium.org [Tue, 24 Jan 2012 14:29:02 +0000 (14:29 +0000)]
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
erik.corry@gmail.com [Tue, 24 Jan 2012 13:07:21 +0000 (13:07 +0000)]
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
yangguo@chromium.org [Tue, 24 Jan 2012 12:10:28 +0000 (12:10 +0000)]
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
yangguo@chromium.org [Tue, 24 Jan 2012 11:55:11 +0000 (11:55 +0000)]
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
vegorov@chromium.org [Tue, 24 Jan 2012 09:05:15 +0000 (09:05 +0000)]
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
vegorov@chromium.org [Tue, 24 Jan 2012 08:48:33 +0000 (08:48 +0000)]
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
vegorov@chromium.org [Tue, 24 Jan 2012 08:43:12 +0000 (08:43 +0000)]
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
fschneider@chromium.org [Tue, 24 Jan 2012 02:13:28 +0000 (02:13 +0000)]
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
fschneider@chromium.org [Tue, 24 Jan 2012 01:46:26 +0000 (01:46 +0000)]
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
fschneider@chromium.org [Mon, 23 Jan 2012 18:11:36 +0000 (18:11 +0000)]
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
erik.corry@gmail.com [Mon, 23 Jan 2012 16:18:10 +0000 (16:18 +0000)]
Further robustify the keyed lookup cache against unlucky hash
seeds. This change is performance neutral on most snapshot
VM builds, but provides a big improvement on string-fasta
on around 5% of builds.
Review URL: https://chromiumcodereview.appspot.com/
9193015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10478
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 23 Jan 2012 14:34:49 +0000 (14:34 +0000)]
Prepare push to trunk. Now working on version 3.8.9.
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
9270044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10475
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 23 Jan 2012 12:01:47 +0000 (12:01 +0000)]
Replaced LookupResult::IsProperty by LookupResult::IsFound where possible.
Yak shaving for map sharing with accessor properties contd.: When CALLBACKS can
have map transitions, simply looking at the property type is not sufficient
anymore to decide if a property is there or not. One has to look at the actual
contents of the descriptor entry then, but this breaks down sometimes when the
lookup is being done with a NULL holder. Luckily enough, we can oftren replace
IsProperty by the simpler IsFound, because we inspect the type immediately
afterwards, anyway.
Review URL: https://chromiumcodereview.appspot.com/
9280007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10474
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 23 Jan 2012 10:50:14 +0000 (10:50 +0000)]
Refactored iterative map traversal.
The main goal is to cleanly separate between the several parts involved in the traversal:
* iterating over all transitions in a descriptor array
* iterating over all prototype transitions
* storing the parent and the current local traversal position in a map
* the iterative traversal algorithm itself
The previous algorithm for iterating over prototype transitions did a little bit too much here, iterating over the whole array instead only the filled part. This has been fixed on the way, too.
With this CL, it will be much easier to make the necessary changes to the descriptor array iterator to correctly handle map transitions for accessor properties. Furthermore, perhaps we represent transitions a bit different in the future, making finding them a bit easier. This would make some code in this CL (and elsewhere) quite a bit shorter and more efficient.
Review URL: https://chromiumcodereview.appspot.com/
9252007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10473
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 23 Jan 2012 08:39:49 +0000 (08:39 +0000)]
Cleaning up after r10471.
Review URL: https://chromiumcodereview.appspot.com/
9193007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10472
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 23 Jan 2012 08:09:22 +0000 (08:09 +0000)]
Removing experimental i18n code from v8 repository. Internationalization support is hosted under code.google.com/p/v8-i18n for couple months now.
TEST=Chromium/WebKit builds should pass.
Review URL: https://chromiumcodereview.appspot.com/
9016034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10471
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Fri, 20 Jan 2012 17:21:26 +0000 (17:21 +0000)]
Limit number of loop iterations in Heap::ReserveSpace.
This allows to avoid infinite loops in pathalogical cases e.g. when OS refuses to give new pages to V8.
R=erik.corry@gmail.com
BUG=99027
Review URL: https://chromiumcodereview.appspot.com/
8286020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10466
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 20 Jan 2012 16:17:08 +0000 (16:17 +0000)]
Parallelize cpplint in presubmit and fix usage of DISALLOW_* macros.
BUG=v8:1653
Review URL: https://chromiumcodereview.appspot.com/
9192010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10465
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 20 Jan 2012 15:55:06 +0000 (15:55 +0000)]
Remove stray GVN flag in TransitionElementsKind
TBR=mstarzinger@chromium.org
BUG=none
TEST=build turns green
Review URL: https://chromiumcodereview.appspot.com/
9270010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10464
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 20 Jan 2012 15:43:38 +0000 (15:43 +0000)]
Fix solaris build (VirtualMemory).
BUG=v8:1761
TEST=
Review URL: https://chromiumcodereview.appspot.com/
9233002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10463
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 20 Jan 2012 15:10:35 +0000 (15:10 +0000)]
Removed IsPropertyOrTransition method.
It had only 2 uses: One use could be rewritten in a simpler way, and the other
is actually more readable after inlining and fixing the comments.
Review URL: https://chromiumcodereview.appspot.com/
9233006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10462
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 20 Jan 2012 14:17:26 +0000 (14:17 +0000)]
MIPS: Make sure transitioned arrays efficiently call builtin Array functions
Port r10356 (69da81).
Original commit message:
Loosen the requirement for Map equivalency on several map checks, including checks up the prototype chain, that are not sensitive to ElementsKinds. These selected map checks should also match against FAST_DOUBLE_ELEMENT and FAST_ELEMENT transitions of the original map. This specifically helps all variants of transitioned JSArrays to still efficiently call builtins like push, pop and sort.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
9265007
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10461
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 20 Jan 2012 14:08:20 +0000 (14:08 +0000)]
Split GVN flags from flags in Hydrogen instructions.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
9233005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10460
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 20 Jan 2012 13:59:37 +0000 (13:59 +0000)]
Fix handling of function proxies in higher-order array and string methods,
which use yet another way to determine strict vs non-strict function receivers.
R=kmillikin@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
9270004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10459
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Fri, 20 Jan 2012 13:43:21 +0000 (13:43 +0000)]
Fix keyed lookup cache to have 2 entried per bucket instead
of one in order to reduce collisions.
Review URL: https://chromiumcodereview.appspot.com/
9269004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10458
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Fri, 20 Jan 2012 12:50:39 +0000 (12:50 +0000)]
MIPS: Change inlined cache of intanceof stub to use indirection through cell.
Port r10380 (46f646).
Original commit message:
The stub was directly patching caller's code without issuing write barrier which violated incremental marking invariants.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
9159008
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10457
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Fri, 20 Jan 2012 12:49:43 +0000 (12:49 +0000)]
MIPS: Allow call-known-global and call-constant-function to be used
for call-sites with mismatched number of arguments.
Port r10424 (
92a05c9c).
Original commit message:
Adjust InvokeFunction to avoid generating dead code when number when arity mismatch is detected in compile time.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
9150026
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10456
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 20 Jan 2012 12:44:04 +0000 (12:44 +0000)]
Add regression test for r10451.
R=vegorov@chromium.org
TEST=cctest/test-heap/PrototypeTransitionClearing
Review URL: https://chromiumcodereview.appspot.com/
9138016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10455
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 20 Jan 2012 11:59:00 +0000 (11:59 +0000)]
Enable asynchronous remote debugging with d8.
BUG=v8:1691
TEST=
Review URL: https://chromiumcodereview.appspot.com/
9138015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10454
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 19 Jan 2012 18:50:01 +0000 (18:50 +0000)]
Fix missing write-barrier for prototype transitions.
R=vegorov@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
9150041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10451
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 19 Jan 2012 17:04:34 +0000 (17:04 +0000)]
Fix shared library build.
Review URL: https://chromiumcodereview.appspot.com/
9265010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10450
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 19 Jan 2012 16:52:16 +0000 (16:52 +0000)]
Fix remote debugger crash.
Review URL: https://chromiumcodereview.appspot.com/
9200006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10449
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Thu, 19 Jan 2012 15:28:48 +0000 (15:28 +0000)]
Prepare push to trunk. Now working on version 3.8.8.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
9264011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10445
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 19 Jan 2012 14:58:54 +0000 (14:58 +0000)]
Revert "Immediately use the generic stub when storing into COW arrays"
Due to unexpected performance implications.
This reverts r10429.
Review URL: https://chromiumcodereview.appspot.com/
9150032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10444
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 19 Jan 2012 14:43:25 +0000 (14:43 +0000)]
Add missing SmiUntag for string hash calculation in
in-snapshot code on IA32.
Review URL: https://chromiumcodereview.appspot.com/
9254027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10443
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 19 Jan 2012 14:08:48 +0000 (14:08 +0000)]
MIPS: Use shift and add instead of mul on ARM for integer hash. This is a commit of codereview.chromium.org/
9192011/ for Daniel Kalmar
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10442
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 19 Jan 2012 13:51:45 +0000 (13:51 +0000)]
Add an assert to the serializer.
Review URL: https://chromiumcodereview.appspot.com/
9159010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10441
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Thu, 19 Jan 2012 13:41:11 +0000 (13:41 +0000)]
MIPS: Fix for an ARM register allocation bug.
Port r10374 (
03bbe39).
Note: the MIPS version was not affected by the bug. This is merely a style cleanup.
Original commit message:
An off-by-one in the register allocator could lead to allocating (and
clobbering) the reserved 0.0 double register. This required a function with
14 or more live double values.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
9150025
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10440
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 19 Jan 2012 13:38:37 +0000 (13:38 +0000)]
Fix prototype transition clearing during full GC.
R=vegorov@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
9195008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10439
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 19 Jan 2012 13:22:16 +0000 (13:22 +0000)]
Robustify the clearing of the cache of map-related ICs on the map.
Review URL: https://chromiumcodereview.appspot.com/
9159009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10438
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Thu, 19 Jan 2012 13:07:46 +0000 (13:07 +0000)]
MIPS: Tiny improvement of register constraints in LClassOfTest instructions.
Port r10379 (3399d6).
Original commit message:
The input register does not need to be made writable. We already
allocate enough temp registers and the input register will always
be preserved.
BUG=
TEST=
Review URL: http://codereview.chromium.org/
9254025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10437
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 19 Jan 2012 12:42:20 +0000 (12:42 +0000)]
MIPS: Inlining Math.min and Math.max in crankshaft.
Port r10391 (
7900f3c).
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
9195009
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10436
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Thu, 19 Jan 2012 12:14:11 +0000 (12:14 +0000)]
Generate faster compares for === and !== with boolean constants.
Review URL: http://codereview.chromium.org/
9195005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10435
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Thu, 19 Jan 2012 08:43:34 +0000 (08:43 +0000)]
Ensure that LRandom restores rsi after call to the C function on x64.
R=ulan@chromium.org
BUG=http://crbug.com/110509
TEST=test/mjsunit/regress/regress-110509.js
Review URL: https://chromiumcodereview.appspot.com/
9265003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10434
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 19 Jan 2012 08:43:11 +0000 (08:43 +0000)]
Fixing include issues on *bsd when building with scons. Based on a patch by Ben Noordhuis.
BUG=v8:1897
TEST=
Review URL: https://chromiumcodereview.appspot.com/
9249013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10433
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Wed, 18 Jan 2012 17:01:57 +0000 (17:01 +0000)]
Fix typos in JSObject::GetHeaderSize, which just worked by accident.
R=kmillikin@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
9231025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10432
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 18 Jan 2012 16:16:11 +0000 (16:16 +0000)]
Only clear monomorphic ICs on GC after Context exit
Review URL: https://chromiumcodereview.appspot.com/
9255014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10431
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Wed, 18 Jan 2012 14:05:11 +0000 (14:05 +0000)]
Eliminate a superfluous map check when building generic array element access.
In the case where we generate a generic load or store, we don't need to emit a non-smi-check and a map-check before it.
Review URL: http://codereview.chromium.org/
9252008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10430
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 18 Jan 2012 13:15:22 +0000 (13:15 +0000)]
Immediately use the generic stub when storing into COW arrays
Review URL: https://chromiumcodereview.appspot.com/
9254005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10429
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 18 Jan 2012 10:17:03 +0000 (10:17 +0000)]
Provide a switch to specify -fno-strict-aliasing
BUG=v8:1887
Review URL: https://chromiumcodereview.appspot.com/
9231019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10427
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Wed, 18 Jan 2012 09:21:07 +0000 (09:21 +0000)]
When adjusting page's live bytes counter from the mutator adjust owners unswept free bytes counter.
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
9178021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10426
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Tue, 17 Jan 2012 16:06:03 +0000 (16:06 +0000)]
Fix handling of named interceptors in optimized code.
When calling a constant function property from optimized code,
we need to check that there is no interceptor on the receiver map.
TEST=cctest/InterceptorCallICConstantFunctionNotNeededWrapped
Review URL: http://codereview.chromium.org/
9240006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10425
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Tue, 17 Jan 2012 15:53:58 +0000 (15:53 +0000)]
Allow call-known-global and call-constant-function to be used for call-sites with mismatched number of arguments.
Adjust InvokeFunction to avoid generating dead code when number when arity mismatch is detected in compile time.
R=fschneider@google.com
Review URL: https://chromiumcodereview.appspot.com/
9178017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10424
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 17 Jan 2012 14:35:38 +0000 (14:35 +0000)]
Move WIN32 define from standalone.gypi to common.gypi
BUG=v8:1760
Review URL: https://chromiumcodereview.appspot.com/
9231018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10423
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 17 Jan 2012 14:29:17 +0000 (14:29 +0000)]
Recursion limit for one-char string replace and retire String::kMinNonFlatLength.
TEST=mjsunit/string-replace-one-char.js
Review URL: https://chromiumcodereview.appspot.com/
9231017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10422
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 17 Jan 2012 14:09:12 +0000 (14:09 +0000)]
Fix corner-case in heap size estimation.
Empty but unswept pages could cause the unswept_free_bytes counter to
to be off in case heap gets shrunk and page gets released before it was
swept properly.
R=vegorov@chromium.org
BUG=v8:1893
Review URL: https://chromiumcodereview.appspot.com/
9241010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10421
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 17 Jan 2012 13:37:09 +0000 (13:37 +0000)]
Remove limit for d8 shell input length.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
9232009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10418
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 17 Jan 2012 13:13:55 +0000 (13:13 +0000)]
Revert 10413-10416 initial memory use reduction due to
test failures.
Review URL: http://codereview.chromium.org/
9178014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10417
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 17 Jan 2012 12:49:15 +0000 (12:49 +0000)]
Make fussy Windows compiler happy.
Review URL: http://codereview.chromium.org/
9178012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10416
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 17 Jan 2012 12:09:11 +0000 (12:09 +0000)]
Make from-space initially uncommitted for another 1Mbyte
improvement in boot time memory usage.
Review URL: http://codereview.chromium.org/
9242008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10415
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 17 Jan 2012 11:49:01 +0000 (11:49 +0000)]
Unbreak the 64 bit build.
Review URL: http://codereview.chromium.org/
9178011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10414
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 17 Jan 2012 11:38:25 +0000 (11:38 +0000)]
Reduce boot-up memory use of V8.
Reduce signal sender thread stack size to 32k.
Commit partial old-space pages to reduce minimum memory use.
This is a rebase of http://codereview.chromium.org/
9017009/
Review URL: http://codereview.chromium.org/
9179012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10413
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 16 Jan 2012 15:21:38 +0000 (15:21 +0000)]
Fast path for string.replace that replaces a single character by a string.
BUG=
TEST=
Review URL: http://codereview.chromium.org/
9213002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10412
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Mon, 16 Jan 2012 15:11:56 +0000 (15:11 +0000)]
Fix and enable NEW_NON_STRICT_FAST ArgumentsAccess stub on x64.
R=fschneider@chromium.org
BUG=v8:1903
Review URL: http://codereview.chromium.org/
9179010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10411
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 16 Jan 2012 13:29:12 +0000 (13:29 +0000)]
Add Android cross-compilation support to top-level Makefile
TEST=make android
Review URL: http://codereview.chromium.org/
9179009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10409
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 16 Jan 2012 12:38:59 +0000 (12:38 +0000)]
More spelling changes.
Review URL: http://codereview.chromium.org/
9231009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10407
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Mon, 16 Jan 2012 11:04:58 +0000 (11:04 +0000)]
Fix GCC4.7 compilation warning introduced in r10400
Add some usages for string1 and string2 to avoid "assigned
but not used" warning.
Review URL: http://codereview.chromium.org/
9163003
Patch from Yury Semikhatsky <yurys@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10405
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 16 Jan 2012 10:28:34 +0000 (10:28 +0000)]
Prepare push to trunk. Now working on version 3.8.7.
Review URL: http://codereview.chromium.org/
9233001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10404
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 16 Jan 2012 09:46:21 +0000 (09:46 +0000)]
Spellling mistakes.
Review URL: http://codereview.chromium.org/
9123031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10403
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 16 Jan 2012 09:44:35 +0000 (09:44 +0000)]
Split NumberDictionary into a randomly seeded and an unseeded
version. We don't want to randomize the stub cache.
Review URL: http://codereview.chromium.org/
9174023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10402
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 16 Jan 2012 09:40:04 +0000 (09:40 +0000)]
Fix flaky idle notification test.
Idle notification handler might not free more memory if there was a global GC before or incremental marking is not activated (and it's not worth activating).
BUG=
TEST=cctest/test-api/IdleNotificationWithHint
Review URL: http://codereview.chromium.org/
9173007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10401
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00