kmillikin@chromium.org [Mon, 3 Oct 2011 11:13:20 +0000 (11:13 +0000)]
Remove #include "isolate-inl.h" from v8.h.
Include it only in the .cc files where it's needed.
R=fschneider@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
8117001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9506
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Mon, 3 Oct 2011 10:40:39 +0000 (10:40 +0000)]
Fix build error.
Review URL: http://codereview.chromium.org/
8117002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9505
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Mon, 3 Oct 2011 10:31:01 +0000 (10:31 +0000)]
Fix bug in x64 RegExp detecting start of string.
Also add missing MIPS case in regexp tracer.
Fixes issues v8:1748 and v8:1746
BUG=v8:1748, v8:1746
TEST=mjsunit/regress/regress-1748.js
Review URL: http://codereview.chromium.org/
8116001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9504
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Mon, 3 Oct 2011 09:15:58 +0000 (09:15 +0000)]
Check enumerability of array indices correctly in propertyIsEnumerable.
Fix issue 1692.
BUG=v8:1692
TEST=mjsunit/regress/regress-1692
Review URL: http://codereview.chromium.org/
8113001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9503
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Sat, 1 Oct 2011 08:47:12 +0000 (08:47 +0000)]
Revert "Support for precise stepping in functions compiled before debugging was started (step 2)"
TBR=kmillikin@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org//
8101011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9502
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Sat, 1 Oct 2011 05:39:14 +0000 (05:39 +0000)]
Reapply "Support for precise stepping in functions compiled before debugging was started (step 2)"
This is to get a clean run in the buildbot.
TBR=kmillikin@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org//
8098020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9501
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 30 Sep 2011 13:27:38 +0000 (13:27 +0000)]
Revert "Support for precise stepping in functions compiled before debugging was started (step 2)"
This reverts commits r9499, r9497 and r9489.
Then changed caused a number of failures.
TBR=kmillikin@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org//
8086020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9500
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 30 Sep 2011 13:06:31 +0000 (13:06 +0000)]
Try to fix Win64 build
TBR=kmillikin@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org//
8085024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9499
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 30 Sep 2011 13:03:48 +0000 (13:03 +0000)]
Fix map modification in transition tree traversal.
While traversing the transition tree we build a work-list using the map
field of maps. Setting those map values with a write barrier causes
black-to-gray changes on maps which are currently not recognized as
such, hence their computed size might be off.
R=vegorov@chromium.org
BUG=v8:1672
TEST=cctest/test-decls/Present
Review URL: http://codereview.chromium.org/
8082023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9498
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 30 Sep 2011 12:12:09 +0000 (12:12 +0000)]
Make sure heap is iteratable before iterating it.
This line was accidentally removed in r9489.
TBR=kmillikin@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org//
8086018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9497
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Fri, 30 Sep 2011 11:09:31 +0000 (11:09 +0000)]
Fix presubmit error in mark-compact.cc
TBR=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/
8089016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9496
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Fri, 30 Sep 2011 09:16:01 +0000 (09:16 +0000)]
Remove the use of <limits> from strtod.cc. It is unused.
The only remaining use of <limits> is in globals.h for a range of GCC
versions for which the INFINITY macro is broken.
R=danno@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
8083030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9491
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Fri, 30 Sep 2011 08:45:28 +0000 (08:45 +0000)]
Adjust assertions in UpdateSlot to match UpdatePointer in PointersUpdatingVisitor.
R=erik.corry@gmail.com
BUG=v8:1740
Review URL: http://codereview.chromium.org/
8081001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9490
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 30 Sep 2011 08:39:56 +0000 (08:39 +0000)]
Support for precise stepping in functions compiled before debugging was started (step 2)
This change will ensure that full code with debug break slots is compiled and activated for all functions which already have activation frames.
This additional handling is only for functions which have activations on the stack, and that activation is of the full code compiled without debug break slots. In that case the full code is recompiled with debug break slots. It is ensured that the full code is compiled generating the exact same instructions - except for the additional debug break slots - as before. The return address on the stack is then patched to continue execution in the new code.
Also fixed SortedListBSearch to actually use the passed comparision function.
R=svenpanne@chromium.org, kmillikin@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org//
8050010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9489
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 30 Sep 2011 07:46:13 +0000 (07:46 +0000)]
Fixing MinGW build.
BUG=v8:1695
Review URL: http://codereview.chromium.org/
8081015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9488
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Thu, 29 Sep 2011 15:07:00 +0000 (15:07 +0000)]
Make sure that heap is iterable prior to iterating it in Logger:: methods.
R=vegorov@chromium.org
BUG=v8:1700
TEST=none
Review URL: http://codereview.chromium.org/
8079002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9487
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 29 Sep 2011 14:08:21 +0000 (14:08 +0000)]
Porting r9456 to x64 (Optimize KeyedStoreGeneric for Smi arrays).
Review URL: http://codereview.chromium.org/
8054043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9486
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 29 Sep 2011 14:00:53 +0000 (14:00 +0000)]
Enable --smi-only-arrays flag in test case for no-snapshot build.
TEST=element-kind.js
Review URL: http://codereview.chromium.org/
8077008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9485
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Thu, 29 Sep 2011 13:51:47 +0000 (13:51 +0000)]
Enable code flushing for full (non-incremental) collections.
This will ensure that we will flush code when we hit memory limits.
R=erik.corry@gmail.com
BUG=v8:1609
Review URL: http://codereview.chromium.org/
8060053
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9484
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 29 Sep 2011 13:36:34 +0000 (13:36 +0000)]
Reenable assertion after issue was fixed.
R=lrn@chromium.org
BUG=v8:1672
Review URL: http://codereview.chromium.org/
8066009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9483
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 29 Sep 2011 12:53:27 +0000 (12:53 +0000)]
Temporary change to try to catch missing pregenerated stubs early with
a CHECK instead of an ASSERT.
Review URL: http://codereview.chromium.org/
8073025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9482
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 29 Sep 2011 12:27:31 +0000 (12:27 +0000)]
Implement shrinking of paged spaces during sweeping.
For each paged space we release all but one of the unused pages after
marking (when we know the number of live bytes) but before actually
sweeping it. This is not yet done for lazy swept pages.
R=erik.corry@gmail.com
BUG=v8:1614
Review URL: http://codereview.chromium.org/
7891010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9481
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Thu, 29 Sep 2011 12:23:05 +0000 (12:23 +0000)]
Fix leakage of virtual address space on Linux platform.
Ensure that unmap return values are checked in debug mode.
R=erik.corry@gmail.com
BUG=v8:1701
Review URL: http://codereview.chromium.org/
8060052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9480
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 29 Sep 2011 11:52:05 +0000 (11:52 +0000)]
Don't need to protect pregenerated stubs from flushing from the
cache. They are in a different cache that is not flushed. Keep
the marking of pregenerated stubs for assertion purposes.
Review URL: http://codereview.chromium.org/
8065028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9479
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 29 Sep 2011 08:55:36 +0000 (08:55 +0000)]
Fix build with debuggersupport=off.
BUG=v8:899
Review URL: http://codereview.chromium.org/
8073020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9476
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Wed, 28 Sep 2011 17:45:58 +0000 (17:45 +0000)]
Pass correct anchor_slot for EMBEDDED_OBJECT pointers from code objects.
Correctly initialize newly created large-object pages when incremental marking with compaction is in progress.
R=erik.corry@gmail.com
BUG=v8:1737
Review URL: http://codereview.chromium.org/
8070002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9475
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Wed, 28 Sep 2011 16:10:17 +0000 (16:10 +0000)]
Fix use of non-gc safe pointer in regexp code.
Review URL: http://codereview.chromium.org/
8034002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9474
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 28 Sep 2011 14:26:23 +0000 (14:26 +0000)]
Fixing test case from r9469.
Review URL: http://codereview.chromium.org/
8038046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9473
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Wed, 28 Sep 2011 14:01:40 +0000 (14:01 +0000)]
Small simplification of HChange instruction.
Use existing flag to mark HChange instructions that deoptimize on undefined.
Also there is no need to store the source representation explicitly.
Review URL: http://codereview.chromium.org/
8066007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9472
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 28 Sep 2011 13:40:03 +0000 (13:40 +0000)]
Fixing headers for Windows 2000.
BUG=v8:1724
Review URL: http://codereview.chromium.org/
8068002
Patch from Vovan Shutoff <vovan@shutoff.ru>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9471
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 28 Sep 2011 13:29:00 +0000 (13:29 +0000)]
Disable array-join test. We know it is flaky and it is
making it hard to see other failures on the build bot.
Review URL: http://codereview.chromium.org/
8036018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9470
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 28 Sep 2011 13:27:20 +0000 (13:27 +0000)]
Fixed deadlock in the debugger agent in Windows.
BUG=v8:1723
TEST=cctest test-debug/DebuggerAgent
Review URL: http://codereview.chromium.org/
8069002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9469
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 28 Sep 2011 13:20:09 +0000 (13:20 +0000)]
Fix the no-VFP3 build on ARM.
Review URL: http://codereview.chromium.org/
8066008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9468
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Wed, 28 Sep 2011 12:55:34 +0000 (12:55 +0000)]
Adjust assertion in Heap::IdleNotification.
R=mstarzinger@chromium.org
BUG=v8:1715
Review URL: http://codereview.chromium.org/
8038045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9467
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 28 Sep 2011 12:23:40 +0000 (12:23 +0000)]
Move the is_pregenerated flag so it does not overlap other flags.
Remove the before-or-after InstanceOf stub rule, which was too
subtle and lacked checking ssertions.
Unify the way the CEntry stub is pregenerated so that it is done
in the same way.
Review URL: http://codereview.chromium.org/
8065006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9466
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Wed, 28 Sep 2011 11:58:40 +0000 (11:58 +0000)]
Remove HEnvironment::CheckDepth.
R=fschneider@chromium.org
BUG=v8:1727
Review URL: http://codereview.chromium.org/
8066005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9465
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Wed, 28 Sep 2011 11:34:54 +0000 (11:34 +0000)]
Limit depth of inlining for --stress-opt runs to avoid going into infinite recursion.
Review URL: http://codereview.chromium.org/
8060033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9464
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 28 Sep 2011 11:15:23 +0000 (11:15 +0000)]
Temporarily switch on always-compact to flush out crash bugs.
Review URL: http://codereview.chromium.org/
8068001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9463
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 28 Sep 2011 11:01:17 +0000 (11:01 +0000)]
Make MSVS happy with ExternalAsciiStringResourceImpl
TEST=MSVS 2008 no longer generates warning C4251 for ExternalAsciiStringResourceImpl
Review URL: http://codereview.chromium.org/
8056019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9462
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 28 Sep 2011 11:00:41 +0000 (11:00 +0000)]
Fix the build on ARM.
Review URL: http://codereview.chromium.org/
8065005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9461
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Wed, 28 Sep 2011 10:45:27 +0000 (10:45 +0000)]
EvacuateNewSpaceAndCandidates should explicitly skip dead large objects.
LargeObjectSpace is swept at the very end of SweepSpaces.
R=mstarzinger@chromium.org
BUG=v8:1736
Review URL: http://codereview.chromium.org/
8060013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9460
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 28 Sep 2011 10:32:12 +0000 (10:32 +0000)]
Make sure we don't flush the pregenerated stubs, since they need
to be always present, so that we can call them from other stubs
without trying to generate stubs while we are generating stubs.
Review URL: http://codereview.chromium.org/
8052029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9459
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 28 Sep 2011 09:13:30 +0000 (09:13 +0000)]
Add /bigobj parameter to cctest to make MSVS happy.
TEST=MSVS 2008 compiles cctest without warnings/errors.
Review URL: http://codereview.chromium.org/
8052031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9458
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 27 Sep 2011 16:15:29 +0000 (16:15 +0000)]
Optimize KeyedStoreGeneric for Smi arrays.
BUG=
TEST=
Review URL: http://codereview.chromium.org/
8022002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9456
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Tue, 27 Sep 2011 13:45:13 +0000 (13:45 +0000)]
CallFunctionStub was missing a write-barrier for write into the global cell.
R=fschneider@chromium.org
BUG=v8:1733
Review URL: http://codereview.chromium.org/
8054012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9455
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 27 Sep 2011 13:35:04 +0000 (13:35 +0000)]
Fix slot buffers of abandoned evacuation candidates.
R=vegorov@chromium.org
BUG=v8:1734
TEST=cctest/test-mark-compact/NoPromotion
Review URL: http://codereview.chromium.org/
8051014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9454
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Tue, 27 Sep 2011 13:03:19 +0000 (13:03 +0000)]
Improve our simple elimination of hole checks.
Currently we avoid checking for the hole value after array loads, if the
result is only used by instructions that definitely deoptimize in case
of the hole value (HChange instructions).
This change performs the same procedure for loading from deleteable/read-only
global variable where we can also avoid the check in the same cases.
Review URL: http://codereview.chromium.org/
8054008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9453
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Tue, 27 Sep 2011 12:55:43 +0000 (12:55 +0000)]
Check the depth of the constructed HEnvironment.
Temporary check to catch 1727 on the reliability bot.
R=fschneider@chromium.org
BUG=v8:1727
Review URL: http://codereview.chromium.org/
8055010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9452
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 27 Sep 2011 12:25:42 +0000 (12:25 +0000)]
Fixed a bug in smi-only implementation in x64.
Review URL: http://codereview.chromium.org/
8060009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9451
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 27 Sep 2011 12:12:25 +0000 (12:12 +0000)]
Fix passing of --special-command flag in test wrapper.
R=jkummerow@chromium.org
Review URL: http://codereview.chromium.org/
8056004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9450
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Tue, 27 Sep 2011 11:42:02 +0000 (11:42 +0000)]
Record function call targets, use them for inlining.
Introduce a version of the CallFunctionStub that records monomorphic
call targets in a one-element cache in the instruction stream. Use
the cache for inlining attempts in the optimizing backend.
R=fschneider@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7966038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9449
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 27 Sep 2011 11:16:39 +0000 (11:16 +0000)]
Smi element fixes in Builtins.
R=jkummerow@chromium.org
BUG=none
TEST=dromaeo-object-array-array-deconstruction-pop doesn't regress
Review URL: http://codereview.chromium.org/
8054007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9448
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Tue, 27 Sep 2011 10:53:22 +0000 (10:53 +0000)]
Tighten up assertions checking GC-safety of stub calls.
Ensure that stubs are properly pregenerated on all platforms.
R=erik.corry@gmail.com
BUG=v8:1729
Review URL: http://codereview.chromium.org/
8041035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9447
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Tue, 27 Sep 2011 10:42:32 +0000 (10:42 +0000)]
In Invoke get JSEntryStub and JSConstructEntryStub directly through roots.
Getting them through stub cache introduces bigger overhead.
These stubs are always present.
R=danno@chromium.org
Review URL: http://codereview.chromium.org/
8044029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9446
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 27 Sep 2011 07:52:34 +0000 (07:52 +0000)]
Pass sweeping mode as template parameter.
R=yangguo@chromium.org
Review URL: http://codereview.chromium.org/
8060004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9440
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Mon, 26 Sep 2011 16:54:50 +0000 (16:54 +0000)]
Make sure that we can't access hidden properties by installing accessors on Object.prototype.
BUG:chromium:97784
TEST=cctest/test-api
Review URL: http://codereview.chromium.org/
8041020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9434
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Mon, 26 Sep 2011 16:31:11 +0000 (16:31 +0000)]
Fix race in CpuProfiler::StopProcessor / CpuProfiler::TickSampleEvent.
R=mstarzinger@chromium.org
BUG=v8:1700
TEST=inspector/profiler/cpu-profiler-profiling-without-inspector.html
Review URL: http://codereview.chromium.org/
8028025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9433
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Mon, 26 Sep 2011 15:59:27 +0000 (15:59 +0000)]
Add ObjectMoveEvent reporting for the Heap Profiler into MarkCompact.
R=vegorov@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/
8036024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9432
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 26 Sep 2011 14:54:57 +0000 (14:54 +0000)]
Search prototypes for accessor setters if interceptor returns empty value.
Extract the part of SetPropertyForResult that searches the prototype chain
for accessor setters into a separate function SetPropertyInPrototypes.
Call this function in SetPropertyPostInterceptor.
This should fix both optimized and unoptimized cases because
the cache stub for storing with interceptor calls the runtime system.
BUG=v8:1636
TEST=cctest/test-api.cc/EmptyInterceptorDoesNotShadowAccessors
Review URL: http://codereview.chromium.org/
7991007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9431
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Mon, 26 Sep 2011 14:38:29 +0000 (14:38 +0000)]
Add v8::HeapGraphNode::GetHeapValue method.
This allows getting a heap object by a heap snapshot node for further
inspection. Very useful for objects from bindings that mostly have
getter-provided fields.
R=vegorov@google.com
BUG=webkit/61179
TEST=test-heap-profiler/GetHeapValue,GetHeapValueForDeletedObject
Review URL: http://codereview.chromium.org/
8046006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9430
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 26 Sep 2011 14:09:30 +0000 (14:09 +0000)]
Adapt linux-tick-processor to GYP build.
Review URL: http://codereview.chromium.org/
8038019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9429
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Mon, 26 Sep 2011 12:44:36 +0000 (12:44 +0000)]
Avoid using C++ STL include <limits>.
Review URL: http://codereview.chromium.org/
8041019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9428
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Mon, 26 Sep 2011 12:20:11 +0000 (12:20 +0000)]
Fix a GC-safety issue in optimized code.
It's not safe to use an immediate heap object in generated unless we take
pains to ensure it's not in new space. Continue using the caller's context
for inlined functions on all platforms except IA32.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9427
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 26 Sep 2011 12:09:04 +0000 (12:09 +0000)]
Add Crankshaft support for smi-only elements
Review URL: http://codereview.chromium.org/
8002019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9426
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Mon, 26 Sep 2011 11:46:16 +0000 (11:46 +0000)]
Enable compaction, disable code-compaction.
Enable array-join test again.
R=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/
8043022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9425
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Mon, 26 Sep 2011 11:14:41 +0000 (11:14 +0000)]
Added ability to lock strings to prevent their representation or encoding from changing.
Use string locking to ensure consistent representation of source string during JSON parsing.
Review URL: http://codereview.chromium.org/
7977001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9424
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Mon, 26 Sep 2011 10:24:42 +0000 (10:24 +0000)]
Fix bug in PointersUpdatingVisitor::UpdatePointer.
It was updating the same pointer twice (was using InNewSpace instead of
InFromSpace).
Also make FLAG_never_compact supercede FLAG_always_compact.
R=erik.corry@gmail.com
BUG=v8:1721
Review URL: http://codereview.chromium.org/
8041017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9423
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Mon, 26 Sep 2011 09:32:10 +0000 (09:32 +0000)]
Add code comments to deferred code objects to make debugging easier.
Review URL: http://codereview.chromium.org/
8046003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9422
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Mon, 26 Sep 2011 09:17:56 +0000 (09:17 +0000)]
Enable inlining functions with contexts different than their caller.
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7925007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9421
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Mon, 26 Sep 2011 08:53:27 +0000 (08:53 +0000)]
Disable compaction.
Introduce flag to control code compaction.
R=danno@chromium.org
Review URL: http://codereview.chromium.org/
8037022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9420
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Mon, 26 Sep 2011 08:42:01 +0000 (08:42 +0000)]
Make the RegExp.prototype object be a RegExp object.
BUG=v8:1217
TEST=mjsunit/regress/regress-1217
Review URL: http://codereview.chromium.org/
8041015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9419
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 26 Sep 2011 07:36:44 +0000 (07:36 +0000)]
Small refactor to KeyedStoreIC::GenerateGeneric to make it slightly faster.
Review URL: http://codereview.chromium.org/
8008016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9418
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 23 Sep 2011 15:09:00 +0000 (15:09 +0000)]
Cache multiple ElementsKind map transition per map.
R=jkummerow@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/
8017003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9417
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 23 Sep 2011 14:19:04 +0000 (14:19 +0000)]
Porting r9392 to x64 (smi-only arrays).
Review URL: http://codereview.chromium.org/
7992003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9416
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Fri, 23 Sep 2011 13:28:17 +0000 (13:28 +0000)]
Add dynamic stack frame alignment to optimized functions with untagged doubles on the stack.
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7976024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9415
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Fri, 23 Sep 2011 12:13:27 +0000 (12:13 +0000)]
Make --trace-deopt --code-comments print the Lithium instruction that caused deoptimization.
This saves us from manually searching the disassembled code for the bailout id
when looking for the reason for deoptimization.
Review URL: http://codereview.chromium.org/
8008013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9414
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 23 Sep 2011 11:51:05 +0000 (11:51 +0000)]
Improved printing of a few Hydrogen instructions.
Review URL: http://codereview.chromium.org/
8002021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9413
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 23 Sep 2011 09:38:03 +0000 (09:38 +0000)]
Allow gyp build to turn on OBJECT_PRINT
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/
7970015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9412
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 23 Sep 2011 09:31:20 +0000 (09:31 +0000)]
Porting r9392 to arm (smi-only arrays).
Review URL: http://codereview.chromium.org/
7995002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9411
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 23 Sep 2011 09:11:56 +0000 (09:11 +0000)]
Add elements kind to maps debugging output
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/
7966019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9410
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 23 Sep 2011 08:00:06 +0000 (08:00 +0000)]
Improve Hydrogen code for accessing undefined/null/Infinity.
In some special (but probably very common) cases we can do better than loading
from a global cell for these global properties by emitting the corresponding
constant directly. This opens up opportunities for further improvements, coming
in a separate CL...
Review URL: http://codereview.chromium.org/
7992002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9409
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 23 Sep 2011 07:30:57 +0000 (07:30 +0000)]
Implement verification of new space evacuation.
R=vegorov@chromium.org
Review URL: http://codereview.chromium.org/
7935013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9408
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Thu, 22 Sep 2011 17:12:41 +0000 (17:12 +0000)]
Handle function proxies as getters/setters.
R=kmillikin@chromium.org
BUG=v8:1543
TEST=
Review URL: http://codereview.chromium.org/
7849021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9407
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Thu, 22 Sep 2011 17:10:40 +0000 (17:10 +0000)]
GC Cleanup + Set max old generation size to 700MB on ia32 and max executable size to 128 MB (on ia32)
Review URL: http://codereview.chromium.org/
7993003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9406
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 22 Sep 2011 16:40:07 +0000 (16:40 +0000)]
Fix compilation of GrowAndShrinkNewSpace on Mac.
R=jkummerow@chromium.org
BUG=v8:1707
TEST=cctest/test-heap/GrowAndShrinkNewSpace
Review URL: http://codereview.chromium.org/
7989009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9405
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
keuchel@chromium.org [Thu, 22 Sep 2011 16:38:28 +0000 (16:38 +0000)]
Disallow strict mode FutureReservedWords as break/continue labels in strict mode
TEST=preparser/strict-identifiers.pyt
Review URL: http://codereview.chromium.org/
7987002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9404
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Thu, 22 Sep 2011 16:27:05 +0000 (16:27 +0000)]
Fix arm compilation, missing isolate pointer
Review URL: http://codereview.chromium.org/
7988007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9403
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Thu, 22 Sep 2011 16:01:35 +0000 (16:01 +0000)]
Notify collector about lazily deoptimized code objects.
All slots that were recorded on these objects during incremental marking should be ignored as they are no longer valid.
To filter such invalidated slots out during slots buffers iteration we set all markbits under the invalidated code object to 1 after the code space was swept and before slots buffers are processed.
R=erik.corry@gmail.com
BUG=v8:1713
TEST=test/mjsunit/regress/regress-1713.js
Review URL: http://codereview.chromium.org/
7983045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9402
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 22 Sep 2011 15:55:44 +0000 (15:55 +0000)]
Reverting r9399.
Review URL: http://codereview.chromium.org/
7989007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9401
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 22 Sep 2011 15:39:22 +0000 (15:39 +0000)]
Fix debug builds broken by r9399.
Review URL: http://codereview.chromium.org/
7996002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9400
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 22 Sep 2011 15:11:12 +0000 (15:11 +0000)]
Set RegExp's prototype to RegExp as specified by ES5.
BUG=v8:1217
TEST=regress-1217.js
Review URL: http://codereview.chromium.org/
7995005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9399
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 22 Sep 2011 14:50:20 +0000 (14:50 +0000)]
Cleanup and enable GrowAndShrinkNewSpace test case.
R=svenpanne@chromium.org
BUG=v8:1707
TEST=cctest/test-heap/GrowAndShrinkNewSpace
Review URL: http://codereview.chromium.org/
7995004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9398
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Thu, 22 Sep 2011 14:43:23 +0000 (14:43 +0000)]
Don't take heap snapshot when doing Heap::RecordStats from OOM cases.
Filled issue 1718 to track this.
Review URL: http://codereview.chromium.org/
7995003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9397
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Thu, 22 Sep 2011 13:54:53 +0000 (13:54 +0000)]
Implement identity hashes for proxies.
R=mstarzinger@chromium.org
BUG=v8:1543,v8:1565
TEST=
Review URL: http://codereview.chromium.org/
7754015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9396
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Thu, 22 Sep 2011 13:19:19 +0000 (13:19 +0000)]
Temporarily mark a test as timing out until the problem is found.
Review URL: http://codereview.chromium.org/
7989003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9395
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 22 Sep 2011 13:03:22 +0000 (13:03 +0000)]
Fix transferal of marking bits on array trimming.
R=vegorov@chromium.org
BUG=v8:1708
TEST=mjsunit/regress/regress-1708
Review URL: http://codereview.chromium.org/
7979038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9394
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Thu, 22 Sep 2011 12:57:54 +0000 (12:57 +0000)]
Give each function prototype a fresh copy of the object function map.
This avoid unwanted sharing between different function prototypes and in
general should help inlining because constant function properties on one
prototype don't affect other prototypes anymore.
BUG=v8:1716
Review URL: http://codereview.chromium.org/
7994001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9393
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 22 Sep 2011 11:30:04 +0000 (11:30 +0000)]
Basic support for tracking smi-only arrays on ia32.
Activated by the flag --smi-only-arrays
Currently not crankshaft support, using flag on non-ia32 platforms will lead to write barrier misses and crashes.
BUG=none
TEST=elements_kind.js
Review URL: http://codereview.chromium.org/
7901016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9392
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Thu, 22 Sep 2011 10:45:37 +0000 (10:45 +0000)]
Make integer indexed properties ("elements") work for proxies.
Rehome some Object/JSReceiver/JSObject methods.
R=ricow@chromium.org,kmillikin@chromium.org
BUG=v8:1543
TEST=
Review URL: http://codereview.chromium.org/
7795055
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9381
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Thu, 22 Sep 2011 09:15:43 +0000 (09:15 +0000)]
Attempt to fix GCMole warning.
Review URL: http://codereview.chromium.org/
7980064
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9372
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00