platform/upstream/v8.git
13 years agoRemove #include "isolate-inl.h" from v8.h.
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

13 years agoFix build error.
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

13 years agoFix bug in x64 RegExp detecting start of string.
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

13 years agoCheck enumerability of array indices correctly in propertyIsEnumerable.
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

13 years agoRevert "Support for precise stepping in functions compiled before debugging was start...
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

13 years agoReapply "Support for precise stepping in functions compiled before debugging was...
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

13 years agoRevert "Support for precise stepping in functions compiled before debugging was start...
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

13 years agoTry to fix Win64 build
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

13 years agoFix map modification in transition tree traversal.
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

13 years agoMake sure heap is iteratable before iterating it.
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

13 years agoFix presubmit error in mark-compact.cc
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

13 years agoRemove the use of <limits> from strtod.cc. It is unused.
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

13 years agoAdjust assertions in UpdateSlot to match UpdatePointer in PointersUpdatingVisitor.
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

13 years agoSupport for precise stepping in functions compiled before debugging was started ...
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

13 years agoFixing MinGW build.
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

13 years agoMake sure that heap is iterable prior to iterating it in Logger:: methods.
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

13 years agoPorting r9456 to x64 (Optimize KeyedStoreGeneric for Smi arrays).
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

13 years agoEnable --smi-only-arrays flag in test case for no-snapshot build.
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

13 years agoEnable code flushing for full (non-incremental) collections.
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

13 years agoReenable assertion after issue was fixed.
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

13 years agoTemporary change to try to catch missing pregenerated stubs early with
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

13 years agoImplement shrinking of paged spaces during sweeping.
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

13 years agoFix leakage of virtual address space on Linux platform.
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

13 years agoDon't need to protect pregenerated stubs from flushing from the
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

13 years agoFix build with debuggersupport=off.
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

13 years agoPass correct anchor_slot for EMBEDDED_OBJECT pointers from code objects.
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

13 years agoFix use of non-gc safe pointer in regexp code.
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

13 years agoFixing test case from r9469.
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

13 years agoSmall simplification of HChange instruction.
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

13 years agoFixing headers for Windows 2000.
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

13 years agoDisable array-join test. We know it is flaky and it is
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

13 years agoFixed deadlock in the debugger agent in Windows.
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

13 years agoFix the no-VFP3 build on ARM.
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

13 years agoAdjust assertion in Heap::IdleNotification.
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

13 years agoMove the is_pregenerated flag so it does not overlap other flags.
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

13 years agoRemove HEnvironment::CheckDepth.
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

13 years agoLimit depth of inlining for --stress-opt runs to avoid going into infinite recursion.
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

13 years agoTemporarily switch on always-compact to flush out crash bugs.
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

13 years agoMake MSVS happy with ExternalAsciiStringResourceImpl
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

13 years agoFix the build on ARM.
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

13 years agoEvacuateNewSpaceAndCandidates should explicitly skip dead large objects.
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

13 years agoMake sure we don't flush the pregenerated stubs, since they need
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

13 years agoAdd /bigobj parameter to cctest to make MSVS happy.
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

13 years agoOptimize KeyedStoreGeneric for Smi arrays.
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

13 years agoCallFunctionStub was missing a write-barrier for write into the global cell.
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

13 years agoFix slot buffers of abandoned evacuation candidates.
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

13 years agoImprove our simple elimination of hole checks.
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

13 years agoCheck the depth of the constructed HEnvironment.
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

13 years agoFixed a bug in smi-only implementation in x64.
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

13 years agoFix passing of --special-command flag in test wrapper.
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

13 years agoRecord function call targets, use them for inlining.
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

13 years agoSmi element fixes in Builtins.
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

13 years agoTighten up assertions checking GC-safety of stub calls.
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

13 years agoIn Invoke get JSEntryStub and JSConstructEntryStub directly through roots.
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

13 years agoPass sweeping mode as template parameter.
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

13 years agoMake sure that we can't access hidden properties by installing accessors on Object...
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

13 years agoFix race in CpuProfiler::StopProcessor / CpuProfiler::TickSampleEvent.
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

13 years agoAdd ObjectMoveEvent reporting for the Heap Profiler into MarkCompact.
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

13 years agoSearch prototypes for accessor setters if interceptor returns empty value.
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

13 years agoAdd v8::HeapGraphNode::GetHeapValue method.
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

13 years agoAdapt linux-tick-processor to GYP build.
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

13 years agoAvoid using C++ STL include <limits>.
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

13 years agoFix a GC-safety issue in optimized code.
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

13 years agoAdd Crankshaft support for smi-only elements
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

13 years agoEnable compaction, disable code-compaction.
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

13 years agoAdded ability to lock strings to prevent their representation or encoding from changing.
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

13 years agoFix bug in PointersUpdatingVisitor::UpdatePointer.
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

13 years agoAdd code comments to deferred code objects to make debugging easier.
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

13 years agoEnable inlining functions with contexts different than their caller.
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

13 years agoDisable compaction.
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

13 years agoMake the RegExp.prototype object be a RegExp object.
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

13 years agoSmall refactor to KeyedStoreIC::GenerateGeneric to make it slightly faster.
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

13 years agoCache multiple ElementsKind map transition per map.
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

13 years agoPorting r9392 to x64 (smi-only arrays).
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

13 years agoAdd dynamic stack frame alignment to optimized functions with untagged doubles on...
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

13 years agoMake --trace-deopt --code-comments print the Lithium instruction that caused deoptimi...
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

13 years agoImproved printing of a few Hydrogen instructions.
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

13 years agoAllow gyp build to turn on OBJECT_PRINT
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

13 years agoPorting r9392 to arm (smi-only arrays).
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

13 years agoAdd elements kind to maps debugging output
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

13 years agoImprove Hydrogen code for accessing undefined/null/Infinity.
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

13 years agoImplement verification of new space evacuation.
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

13 years agoHandle function proxies as getters/setters.
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

13 years agoGC Cleanup + Set max old generation size to 700MB on ia32 and max executable size...
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

13 years agoFix compilation of GrowAndShrinkNewSpace on Mac.
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

13 years agoDisallow strict mode FutureReservedWords as break/continue labels in strict mode
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

13 years agoFix arm compilation, missing isolate pointer
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

13 years agoNotify collector about lazily deoptimized code objects.
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

13 years agoReverting r9399.
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

13 years agoFix debug builds broken by r9399.
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

13 years agoSet RegExp's prototype to RegExp as specified by ES5.
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

13 years agoCleanup and enable GrowAndShrinkNewSpace test case.
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

13 years agoDon't take heap snapshot when doing Heap::RecordStats from OOM cases.
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

13 years agoImplement identity hashes for proxies.
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

13 years agoTemporarily mark a test as timing out until the problem is found.
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

13 years agoFix transferal of marking bits on array trimming.
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

13 years agoGive each function prototype a fresh copy of the object function map.
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

13 years agoBasic support for tracking smi-only arrays on ia32.
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

13 years agoMake integer indexed properties ("elements") work for proxies.
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

13 years agoAttempt to fix GCMole warning.
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