platform/upstream/v8.git
12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 years agoFixed string.split: always convert non-regexp separator to string.
yangguo@chromium.org [Thu, 22 Sep 2011 08:18:58 +0000 (08:18 +0000)]
Fixed string.split: always convert non-regexp separator to string.

BUG=v8:1711
TEST=mjsunit/regress/regress-1711.js

Review URL: http://codereview.chromium.org/7976046

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9371 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoReorganize object type enum, such that proxies are no longer in the middle
rossberg@chromium.org [Wed, 21 Sep 2011 14:46:54 +0000 (14:46 +0000)]
Reorganize object type enum, such that proxies are no longer in the middle
of the range of proper JS objects.

Unfortunately, callable types no longer form a range now. However, there
are only two anyway. We put them at either end of the range of JS object
types so that certain compares can be combined.

R=erik.corry@gmail.com,kmillikin@chromium.org
BUG=
TEST=

Review URL: http://codereview.chromium.org/7737036

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9370 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix broken Windows build.
fschneider@chromium.org [Wed, 21 Sep 2011 14:42:50 +0000 (14:42 +0000)]
Fix broken Windows build.
Review URL: http://codereview.chromium.org/7983033

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9369 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoTurn on d8 interactive debugging before running files passed on the command line
sgjesse@chromium.org [Wed, 21 Sep 2011 13:42:25 +0000 (13:42 +0000)]
Turn on d8 interactive debugging before running files passed on the command line

If the file test.js contains:

  function f() { debugger; }
  f()

Then running

  $ d8 --debugger test.js

will now hit the breakpoint in f which it would not before.

R=yangguo@chromium.org

BUG=
TEST=

Review URL: http://codereview.chromium.org//7981023

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9366 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoLanding for miket@chromium.org: Add an optional source length field to the Extension...
fschneider@chromium.org [Wed, 21 Sep 2011 13:28:09 +0000 (13:28 +0000)]
Landing for miket@chromium.org: Add an optional source length field to the Extension constructor.

Original code review: http://codereview.chromium.org/7889046/
Review URL: http://codereview.chromium.org/7978028

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9365 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix and test use of property descriptor objects.
rossberg@chromium.org [Wed, 21 Sep 2011 12:45:51 +0000 (12:45 +0000)]
Fix and test use of property descriptor objects.

R=kmillikin@chromium.org
BUG=v8:1543
TEST=

Review URL: http://codereview.chromium.org/7828080

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9364 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix pre-parsing function declarations.
keuchel@chromium.org [Wed, 21 Sep 2011 12:27:07 +0000 (12:27 +0000)]
Fix pre-parsing function declarations.

The preparser has been out of sync with the parser. As a reminder, we have the
following grammer for harmony mode

 Block ::
   { SourceElement* }
 SourceElement ::
   Statement
   FunctionDeclaration
   LetDeclaration

instead of

 Block ::
   { Statement* }
 SourceElement ::
   Statement
   FunctionDeclaration

The extension to allow FunctionDeclarations in statement positions in
non-strict code is still active.

Review URL: http://codereview.chromium.org/7983006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9363 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoSemiSpace::AssertValidRange should use NewSpacePage::FromLimit for start.
vegorov@chromium.org [Wed, 21 Sep 2011 11:42:48 +0000 (11:42 +0000)]
SemiSpace::AssertValidRange should use NewSpacePage::FromLimit for start.

Otherwise we get the wrong page when start == limit.

R=lrn@chromium.org

Review URL: http://codereview.chromium.org/7979019

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9362 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoAPI: Added Debug::DisableAgent to match existing Debug::EnableAgent
yangguo@chromium.org [Wed, 21 Sep 2011 11:34:05 +0000 (11:34 +0000)]
API: Added Debug::DisableAgent to match existing Debug::EnableAgent

BUG=v8:1573
TEST=cctest test-debug/TestDebuggerAgent

Review URL: http://codereview.chromium.org/7978025

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9361 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoMake heap iterable in PrepareForBreakPoints.
vegorov@chromium.org [Wed, 21 Sep 2011 11:20:05 +0000 (11:20 +0000)]
Make heap iterable in PrepareForBreakPoints.

When aborting incremental marking with compaction discard all slots collected on evacuation candidates.

R=ricow@chromium.org
BUG=v8:1700
TEST=inspector/debugger/debugger-step-in.html

Review URL: http://codereview.chromium.org/7977004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9360 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix GC hazard.
rossberg@chromium.org [Wed, 21 Sep 2011 09:58:40 +0000 (09:58 +0000)]
Fix GC hazard.

R=jkummerow@chromium.org
BUG=v8:1698
TEST=

Review URL: http://codereview.chromium.org/7977021

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9358 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix build.
kmillikin@chromium.org [Wed, 21 Sep 2011 09:04:44 +0000 (09:04 +0000)]
Fix build.

Last minute cleanup lost a '*'.

TBR=ricow@chromium.org
BUG=
TEST=

Review URL: http://codereview.chromium.org/7977020

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9357 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoReapply "Clean up Context::Lookup and its uses."
kmillikin@chromium.org [Wed, 21 Sep 2011 08:51:44 +0000 (08:51 +0000)]
Reapply "Clean up Context::Lookup and its uses."

The threading test failures seem to be due to a GC-unsafe place, that
mixed handles and raw pointers, in the runtime code for context
lookup.

R=fschneider@chromium.org
BUG=
TEST=

Review URL: http://codereview.chromium.org/7890002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9356 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFixed alignment problem when generating code for builtins.
svenpanne@chromium.org [Wed, 21 Sep 2011 07:59:28 +0000 (07:59 +0000)]
Fixed alignment problem when generating code for builtins.

This is not perfect, but it should fix the problem at hand. We should really clean up the memory handling responsibilities for the (macro)assemblers.

BUG=v8:1706
Review URL: http://codereview.chromium.org/7978023

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9351 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoDisable some tests while we hunt for the reasons behind them.
erik.corry@gmail.com [Wed, 21 Sep 2011 07:25:33 +0000 (07:25 +0000)]
Disable some tests while we hunt for the reasons behind them.
Review URL: http://codereview.chromium.org/7978022

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9350 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoAdd kHeaderSize constant to SeqString.
mstarzinger@chromium.org [Tue, 20 Sep 2011 16:33:03 +0000 (16:33 +0000)]
Add kHeaderSize constant to SeqString.

This prevents potential misuse of SeqString::kHeaderSize as in the
case of live byte counting in incremental marking stub. All stubs
picked up the undefined size constant SeqString::kHeaderSize, thus
the computed size of all strings was off by two pointers slots.

R=lrn@chromium.org
BUG=v8:1672
TEST=mjsunit/object-seal.js,...

Review URL: http://codereview.chromium.org/7971009

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9349 ce2b1a6d-e550-0410-aec6-3dcde31c8c00