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

12 years agoFix new space shrinking to compute correct capacity.
mstarzinger@chromium.org [Tue, 20 Sep 2011 15:35:36 +0000 (15:35 +0000)]
Fix new space shrinking to compute correct capacity.

R=vegorov@chromium.org
BUG=v8:1702
TEST=cctest/test-heap/GrowAndShrinkNewSpace

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

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

12 years agoFixed an assertion in PagedSpace::Verify.
svenpanne@chromium.org [Tue, 20 Sep 2011 14:46:33 +0000 (14:46 +0000)]
Fixed an assertion in PagedSpace::Verify.

The formerly unused variable was found by GCC 4.6.1, BTW...
Review URL: http://codereview.chromium.org/7979005

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

12 years agoFix new space shrinking to reset from-space.
mstarzinger@chromium.org [Tue, 20 Sep 2011 13:37:40 +0000 (13:37 +0000)]
Fix new space shrinking to reset from-space.

R=lrn@chromium.org
BUG=v8:1702
TEST=cctest/test-heap/GrowAndShrinkNewSpace

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

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

12 years agoGcSafeCastToCode should not use Code::contains it is not evacuation safe.
vegorov@chromium.org [Tue, 20 Sep 2011 13:36:52 +0000 (13:36 +0000)]
GcSafeCastToCode should not use Code::contains it is not evacuation safe.

R=erik.corry@gmail.com

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

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

12 years agoPut back the asserts in RememberedSetHelper, but correct this time.
erik.corry@gmail.com [Tue, 20 Sep 2011 13:32:27 +0000 (13:32 +0000)]
Put back the asserts in RememberedSetHelper, but correct this time.
Fix some incorrect comments.
Review URL: http://codereview.chromium.org/7977005

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

12 years agoRemove incorrect debug-code assertion.
vegorov@chromium.org [Tue, 20 Sep 2011 11:30:18 +0000 (11:30 +0000)]
Remove incorrect debug-code assertion.

We should not use slot address to find out the page. This does not work for large pages.

Also this assertion is not always true (violated during incremental marking).

R=erik.corry@gmail.com
TEST=mozilla/js1_5/extensions/regress-371636

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

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

12 years agoFix calculation of live-bytes in pages.
lrn@chromium.org [Tue, 20 Sep 2011 11:20:00 +0000 (11:20 +0000)]
Fix calculation of live-bytes in pages.

The "live bytes" count is *really* a "marked black" count - i.e., the count of bytes *known* to be live.

Fix aggravating bug on X64 where assembler code used a value that was off
by a factor of 2^31.

Ensure that sweeping clears live-bytes. Added other missing increments.

Added print statements to trace live-byte modifications, under a flag.

Still a few cases of undercounting left.

(New issue to merge from GC branch to bleeding_edge)

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

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

12 years agoFix a bug with uninitialized const variables in the optimizing compiler.
fschneider@chromium.org [Tue, 20 Sep 2011 10:26:01 +0000 (10:26 +0000)]
Fix a bug with uninitialized const variables in the optimizing compiler.

We have to check for uninitialized uses before phi-elimination. Otherwise we
may miss such a use and result in using the hole value instead. This
causes a NULL-dereference or assertion failure.

BUG=96989
TEST=mjsunit/compiler/regress-96989.js
Review URL: http://codereview.chromium.org/7974009

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

12 years agoFix pc to code cache so it can cope with a pointer to the start of the code
erik.corry@gmail.com [Tue, 20 Sep 2011 10:08:39 +0000 (10:08 +0000)]
Fix pc to code cache so it can cope with a pointer to the start of the code
object.  Rename it to be the inner pointer to code cache.
Review URL: http://codereview.chromium.org/7969013

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

12 years agoInitialize pre-allocated fields of JSObject with undefined.
yangguo@chromium.org [Tue, 20 Sep 2011 10:06:23 +0000 (10:06 +0000)]
Initialize pre-allocated fields of JSObject with undefined.

BUG=94873

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

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

12 years agoMake newer GCCs happier: Removed unused variables.
svenpanne@chromium.org [Tue, 20 Sep 2011 09:44:23 +0000 (09:44 +0000)]
Make newer GCCs happier: Removed unused variables.
Review URL: http://codereview.chromium.org/7969014

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

12 years agoMake newer GCCs happier: Fixed NULL vs. 0 confusion.
svenpanne@chromium.org [Tue, 20 Sep 2011 09:43:58 +0000 (09:43 +0000)]
Make newer GCCs happier: Fixed NULL vs. 0 confusion.
Review URL: http://codereview.chromium.org/7970008

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

12 years agoSpeed up finding code objects from addresses in asserts. With
erik.corry@gmail.com [Tue, 20 Sep 2011 08:32:48 +0000 (08:32 +0000)]
Speed up finding code objects from addresses in asserts.  With
the new large pages it takes too long to iterate from the start
of the page to find a code object.
Review URL: http://codereview.chromium.org/7974007

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

12 years agoFix a deoptimization bug.
kmillikin@chromium.org [Tue, 20 Sep 2011 07:14:30 +0000 (07:14 +0000)]
Fix a deoptimization bug.

We reset the count of outgoing arguments, used for the index in the
frame's outgoing arguments, for each level of inlining.  This could
result in the arguments overlapping, rather than stacking on top of
each other.

R=whesse@chromium.org,fschneider@chromium.org
BUG=
TEST=

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

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

12 years agoSkip crashing Harmony proxies unit test until underlying issue is fixed.
fschneider@chromium.org [Tue, 20 Sep 2011 07:00:59 +0000 (07:00 +0000)]
Skip crashing Harmony proxies unit test until underlying issue is fixed.

BUG=v8:1698
Review URL: http://codereview.chromium.org/7974006

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

12 years agoARM: Pregenerate some stubs that we call from other stubs.
erik.corry@gmail.com [Mon, 19 Sep 2011 18:50:06 +0000 (18:50 +0000)]
ARM: Pregenerate some stubs that we call from other stubs.
BUG=1696
Review URL: http://codereview.chromium.org/7956002

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

12 years agoMerge experimental/gc branch to the bleeding_edge.
vegorov@chromium.org [Mon, 19 Sep 2011 18:36:47 +0000 (18:36 +0000)]
Merge experimental/gc branch to the bleeding_edge.
Review URL: http://codereview.chromium.org/7945009

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

12 years agoOnly do a full verify after computing dominators.
fschneider@chromium.org [Mon, 19 Sep 2011 15:09:30 +0000 (15:09 +0000)]
Only do a full verify after computing dominators.

We don't modify the graph in later phases. This speeds up debug tests
by a lot.
Review URL: http://codereview.chromium.org/7942001

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

12 years agoUnify the handling of comparinsons against null and undefined.
svenpanne@chromium.org [Mon, 19 Sep 2011 14:50:33 +0000 (14:50 +0000)]
Unify the handling of comparinsons against null and undefined.

Although this patch is not small, most parts of it are rather mechanical:

 * First of all, the concept of a 'nil-like' value is introduced, which can be
   null or undefined. They are treated symmetrically regarding comparisons, so
   it makes sense to handle them in a uniform manner. It is a mystery why
   JavaScript defines two of those beasts, when even *one* is a design wart...

 * Extended and renamed a few things which now handle undefined in addition to
   null.

 * Made the parts of the full code generator and the hydrogen generation which
   deal with comparisons a bit more similar regarding their handling of special
   cases.

 * Refactored the syntactical detection of special cases for comparisons,
   hopefully making them a bit more readable and less copy-n-paste-oriented.
   Things like this should really be a one-liner in any sane programming
   language... :-P

 * Cut down the length of the argument lists of a few functions to something
   less insane, making them more easily understandable locally. This involves
   minor code duplication, but this was a good tradeoff and can be remedied
   later if necessary.

 * Replaced some boolean arguments with more readable enums.

 * Fixed a TODO: Values which are definitely a Smi or unboxed can never be equal
   to null or undefined.
Review URL: http://codereview.chromium.org/7918012

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

12 years agoMIPS: port Make function proxies work as constructors.
yangguo@chromium.org [Mon, 19 Sep 2011 09:55:07 +0000 (09:55 +0000)]
MIPS: port Make function proxies work as constructors.

ported r9310 (72a5468)

BUG=
TEST=

Review URL: http://codereview.chromium.org/7931002
Patch from Paul Lind <plind44@gmail.com>.

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

12 years agoFix a harmless assert and a genuine bug in the GC-safety of stub
erik.corry@gmail.com [Mon, 19 Sep 2011 07:38:48 +0000 (07:38 +0000)]
Fix a harmless assert and a genuine bug in the GC-safety of stub
generation on ARM without VFP3.
Review URL: http://codereview.chromium.org/7937004

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

12 years agoFix presubmit - remove stray whitespace on empty lines.
whesse@chromium.org [Sun, 18 Sep 2011 21:16:08 +0000 (21:16 +0000)]
Fix presubmit - remove stray whitespace on empty lines.

BUG=
TEST=

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

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

12 years agoMIPS: Fixed a bug in CallStubCompiler::CompileArrayPushCall.
erikcorry [Sun, 18 Sep 2011 15:16:46 +0000 (15:16 +0000)]
MIPS: Fixed a bug in CallStubCompiler::CompileArrayPushCall.

An ARM PreIndex store was badly ported.

Landing http://codereview.chromium.org/7934003/ for Paul Lind.

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

12 years agoMIPS: port Implement function proxies (except for their use as constructors).
erikcorry [Sun, 18 Sep 2011 15:11:33 +0000 (15:11 +0000)]
MIPS: port Implement function proxies (except for their use as constructors).

port r9258 (c8709a9)

Note on mips implementation: Arm reg r4 (call type) normally maps to mips
reg t0. We had already used t0 as a temp in Generate_FunctionCall() and
Generate_FunctionApply(), so I replaced that existing t0 usage with t3, and
now use t0 only for call type.

Original commit message:
Introduce new %Apply native.
Extend Execution::Call to optionally handle receiver rewriting (needed for %Apply).
Fix Function.prototype.bind for functions that have .apply modified.

Landing http://codereview.chromium.org/7891033/ for Paul Lind.

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

12 years agoMIPS: Fix assertion-fail on cacheflush from generated code.
erikcorry [Sun, 18 Sep 2011 15:05:44 +0000 (15:05 +0000)]
MIPS: Fix assertion-fail on cacheflush from generated code.

Fix a mips-specific CallCFunction assertion, when checking for valid
frames on the stack. We fake it with AllowExternalCallThatCantCauseGC().

Landing http://codereview.chromium.org/7932010/ for Paul Lind.

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

12 years agoWhen --nolimit-inlining flag is set, don't limit inlining depth.
fschneider@chromium.org [Sat, 17 Sep 2011 12:29:16 +0000 (12:29 +0000)]
When --nolimit-inlining flag is set, don't limit inlining depth.

This flag is used to debug problems with inlining.
By default we still limit inlining to small functions and up to a maximum
depth to avoid too much code size growth.
Review URL: http://codereview.chromium.org/7919012

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

12 years agoMake proxies work as prototypes.
rossberg@chromium.org [Fri, 16 Sep 2011 13:38:30 +0000 (13:38 +0000)]
Make proxies work as prototypes.
Fix a couple of other proxy bugs along the way.
Refactor trap invocation in native code.

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

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

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

12 years agoFix asserts and GC unsafeness in stub generation, bug=1689.
erik.corry@gmail.com [Fri, 16 Sep 2011 13:06:51 +0000 (13:06 +0000)]
Fix asserts and GC unsafeness in stub generation, bug=1689.
Review URL: http://codereview.chromium.org/7920006

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

12 years agoMake function proxies work as constructors.
rossberg@chromium.org [Fri, 16 Sep 2011 12:26:29 +0000 (12:26 +0000)]
Make function proxies work as constructors.

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

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

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