platform/upstream/v8.git
11 years agoFix win build
verwaest@chromium.org [Tue, 4 Jun 2013 17:15:32 +0000 (17:15 +0000)]
Fix win build

BUG=
R=hpayer@chromium.org

Review URL: https://chromiumcodereview.appspot.com/15934019

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

11 years agoLiveness analysis for environment slots in Hydrogen
jkummerow@chromium.org [Tue, 4 Jun 2013 16:41:24 +0000 (16:41 +0000)]
Liveness analysis for environment slots in Hydrogen

R=titzer@chromium.org

Review URL: https://codereview.chromium.org/15533004

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

11 years agoReplace log2 with MostSignificantBit
verwaest@chromium.org [Tue, 4 Jun 2013 15:39:56 +0000 (15:39 +0000)]
Replace log2 with MostSignificantBit

R=ulan@chromium.org

Review URL: https://chromiumcodereview.appspot.com/15994015

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

11 years agoRemove V8_USE_OLD_STYLE_PERSISTENT_HANDLE_VISITORS.
dcarney@chromium.org [Tue, 4 Jun 2013 13:36:18 +0000 (13:36 +0000)]
Remove V8_USE_OLD_STYLE_PERSISTENT_HANDLE_VISITORS.

Blink has migrated to use the new style visitors.

BUG=
R=dcarney@chromium.org, svenpanne@chromium.org

Review URL: https://codereview.chromium.org/16360005

Patch from Marja Hölttä <marja@chromium.org>.

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

11 years agoAdded pretenuring support for call new.
hpayer@chromium.org [Tue, 4 Jun 2013 13:20:13 +0000 (13:20 +0000)]
Added pretenuring support for call new.

BUG=
R=mvstanton@chromium.org

Review URL: https://codereview.chromium.org/16226012

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

11 years agoTurn off allocation site info for crankshafted array constructor calls.
mvstanton@chromium.org [Tue, 4 Jun 2013 12:48:51 +0000 (12:48 +0000)]
Turn off allocation site info for crankshafted array constructor calls.

Once we crankshaft a method, we should turn off allocation site info for
constructed arrays. Additionally, the semantics for doing this were
awkward because the constructed array code stubs get an
AllocationSiteMode as a minor key, but it's used as a permission to
determine the final mode locally based on ElementsKind. I refactored
this to a simpler boolean for override or local control.

BUG=
R=hpayer@chromium.org

Review URL: https://codereview.chromium.org/16206007

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

11 years agoInfer the range of XOR as limited by the highest possible changed bit.
verwaest@chromium.org [Tue, 4 Jun 2013 12:26:39 +0000 (12:26 +0000)]
Infer the range of XOR as limited by the highest possible changed bit.

R=ulan@chromium.org

Review URL: https://chromiumcodereview.appspot.com/16361003

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

11 years agoCPU profiler should support names of accessors set via v8::Object::SetAccessor
yurys@chromium.org [Tue, 4 Jun 2013 10:57:32 +0000 (10:57 +0000)]
CPU profiler should support names of accessors set via v8::Object::SetAccessor

This change fixes the case when the accessors are invoked from JSObject::{Get,Set}PropertyWithCallback.

It already works for inlined calls generated by StoreStubCompiler::CompileStoreCallback. The same still needs to be fixed for getter invocations generated by  BaseLoadStubCompiler::CompileLoadCallback, corresponding case is commented out in the new test.

This is a slightly modified version of r14915 which was rolled back due to test timeout on Windows. Compared to r14915 the new tests use OS::TimeCurrentMillis instead of OS::Ticks as OS::Ticks has ms precision on Windows and trying to wait 10 ticks (us) will result in at least 1 ms pause.

BUG=244580
R=jkummerow@chromium.org, loislo@chromium.org

Review URL: https://codereview.chromium.org/15995017

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

11 years agoDeprecate FACTORY helper macro.
mstarzinger@chromium.org [Tue, 4 Jun 2013 10:30:05 +0000 (10:30 +0000)]
Deprecate FACTORY helper macro.

This removes the FACTORY helper macro to avoid accidental TLS access
when using the factory. Most internal code has access to the Isolate by
now whereas tests which are not performance critical still heavily use
TLS access through explicit Isolate::Current() calls.

R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/16337005

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

11 years agoDeprecate HAllocateObject in favor of HAllocate.
mstarzinger@chromium.org [Tue, 4 Jun 2013 08:28:33 +0000 (08:28 +0000)]
Deprecate HAllocateObject in favor of HAllocate.

This models the instantiation of an implicit receiver for CallNew nodes
in hydrogen using HAllocate together with generic stores instead of one
specialized HAllocateObject instruction, hence creating a single choking
point for inlined allocation in optimized code.

R=hpayer@chromium.org

Review URL: https://codereview.chromium.org/15714005

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

11 years agoRevert accidental change to SealHandleScope.
yangguo@chromium.org [Tue, 4 Jun 2013 08:06:53 +0000 (08:06 +0000)]
Revert accidental change to SealHandleScope.

R=dslomov@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/16226007

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

11 years agoCollect type feedback for power-of-2 right operands in BinaryOps.
svenpanne@chromium.org [Tue, 4 Jun 2013 07:49:45 +0000 (07:49 +0000)]
Collect type feedback for power-of-2 right operands in BinaryOps.

Improved --trace-ic output for unary/binary ops a bit on the way. Moved int32_t/uint32_t conversion helpers around.

R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/15735005

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

11 years agoMark test-cpu-profiler/SampleWhenFrameIsNotSetup as flaky on MIPS simulator
yurys@chromium.org [Tue, 4 Jun 2013 06:17:53 +0000 (06:17 +0000)]
Mark test-cpu-profiler/SampleWhenFrameIsNotSetup as flaky on MIPS simulator

Relanding r14916 that was rolled back in r14918

BUG=v8:2628
TBR=danno

Review URL: https://codereview.chromium.org/16355004

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

11 years agoImprove smi support in crankshaft
verwaest@chromium.org [Mon, 3 Jun 2013 16:57:36 +0000 (16:57 +0000)]
Improve smi support in crankshaft
- Recover smi in phis if inputs are smi-typed
- Don't record smi-typed values as pointers

BUG=
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/16240003

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

11 years agoFix windows build.
yangguo@chromium.org [Mon, 3 Jun 2013 16:01:51 +0000 (16:01 +0000)]
Fix windows build.

R=rossberg@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/15927012

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

11 years agoPrepare push to trunk. Now working on version 3.19.9.
rossberg@chromium.org [Mon, 3 Jun 2013 15:43:11 +0000 (15:43 +0000)]
Prepare push to trunk.  Now working on version 3.19.9.

R=danno@chromium.org
BUG=

Review URL: https://codereview.chromium.org/16140010

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

11 years agoMake assertion scopes thread safe.
yangguo@chromium.org [Mon, 3 Jun 2013 15:32:22 +0000 (15:32 +0000)]
Make assertion scopes thread safe.

R=svenpanne@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/15691017

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

11 years agoRevert 14916: Mark test-cpu-profiler/SampleWhenFrameIsNotSetup as flaky on MIPS simulator
danno@chromium.org [Mon, 3 Jun 2013 15:25:28 +0000 (15:25 +0000)]
Revert 14916: Mark test-cpu-profiler/SampleWhenFrameIsNotSetup as flaky on MIPS simulator
Revert 14915: CPU profiler should support names of accessors set via v8::Object::SetAccessor

Due to Windows failures

R=rossberg@chromium.org

Review URL: https://codereview.chromium.org/16335005

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

11 years agoSpecial Array constructor type feedback erroneously recorded when Array
mvstanton@chromium.org [Mon, 3 Jun 2013 14:46:23 +0000 (14:46 +0000)]
Special Array constructor type feedback erroneously recorded when Array
was called as a function. Issue was found with optimize_constructed_array
turned on. This patch makes the fix, and turns the flag back on.

BUG=244461
R=danno@chromium.org

Review URL: https://codereview.chromium.org/16057005

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

11 years agoMark test-cpu-profiler/SampleWhenFrameIsNotSetup as flaky on MIPS simulator
yurys@chromium.org [Mon, 3 Jun 2013 12:58:25 +0000 (12:58 +0000)]
Mark test-cpu-profiler/SampleWhenFrameIsNotSetup as flaky on MIPS simulator

The test started failing again, disabling it for now.

BUG=v8:2628
TBR=jkummerow

Review URL: https://codereview.chromium.org/16329004

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

11 years agoCPU profiler should support names of accessors set via v8::Object::SetAccessor
yurys@chromium.org [Mon, 3 Jun 2013 12:50:03 +0000 (12:50 +0000)]
CPU profiler should support names of accessors set via v8::Object::SetAccessor

This change fixes the case when the accessors are invoked from JSObject::{Get,Set}PropertyWithCallback.

It already works for inlined calls generated by StoreStubCompiler::CompileStoreCallback. The same still needs to be fixed for getter invocations generated by  BaseLoadStubCompiler::CompileLoadCallback, corresponding case is commented out in the new test.

BUG=244580
R=jkummerow@chromium.org, loislo@chromium.org

Review URL: https://codereview.chromium.org/16004007

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

11 years agoremove V8_ALLOW_ACCESS_TO_PERSISTENT_IMPLICIT and V8_ALLOW_ACCESS_TO_PERSISTENT_ARROW
dcarney@chromium.org [Mon, 3 Jun 2013 10:02:02 +0000 (10:02 +0000)]
remove V8_ALLOW_ACCESS_TO_PERSISTENT_IMPLICIT and V8_ALLOW_ACCESS_TO_PERSISTENT_ARROW

R=svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/15979014

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

11 years agoRemove unnecessary check from Logger::LogCodeObject
yurys@chromium.org [Mon, 3 Jun 2013 09:46:32 +0000 (09:46 +0000)]
Remove unnecessary check from Logger::LogCodeObject

Logger::LogCodeObjects is the only caller of the method. And all its
call sites check for at least one of the coditions before calling
LogCodeObjects. So there is no need to check it again.

BUG=None
R=jkummerow@chromium.org, loislo@chromium.org

Review URL: https://codereview.chromium.org/15980007

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

11 years agoRemove unnecessary code from the json-parser.
verwaest@chromium.org [Mon, 3 Jun 2013 09:08:00 +0000 (09:08 +0000)]
Remove unnecessary code from the json-parser.

R=yangguo@chromium.org

Review URL: https://chromiumcodereview.appspot.com/16306005

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

11 years agoremove old MakeWeak
dcarney@chromium.org [Mon, 3 Jun 2013 08:17:04 +0000 (08:17 +0000)]
remove old MakeWeak

R=svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/16160010

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

11 years agoSimulator specific code that is the same on all platforms as well as TickSample insta...
yurys@chromium.org [Mon, 3 Jun 2013 07:52:08 +0000 (07:52 +0000)]
Simulator specific code that is the same on all platforms as well as TickSample instance retrieval extracted into SampleHelper class.

Drive-by: extracted platform-independent pieces of Sampler::PlatformData into PlatformDataCommon.
BUG=None
R=loislo@chromium.org, svenpanne@chromium.org

Review URL: https://codereview.chromium.org/15957005

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

11 years agoMove field index into property details, freeing up the value slot of fields.
verwaest@chromium.org [Fri, 31 May 2013 19:11:09 +0000 (19:11 +0000)]
Move field index into property details, freeing up the value slot of fields.

BUG=
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/15941016

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

11 years agoFast literals: fixed initialization of non-copied in-object property fields
jkummerow@chromium.org [Fri, 31 May 2013 15:50:19 +0000 (15:50 +0000)]
Fast literals: fixed initialization of non-copied in-object property fields

BUG=chromium:245424
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/16190008

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

11 years agoFix function name inferring inside closures
yurys@chromium.org [Fri, 31 May 2013 12:52:28 +0000 (12:52 +0000)]
Fix function name inferring inside closures

BUG=224884
R=loislo@chromium.org, yangguo@chromium.org

Review URL: https://codereview.chromium.org/16125007

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

11 years agoFix non-idempotent modification in JSObject::AddFastProperty.
mstarzinger@chromium.org [Fri, 31 May 2013 11:58:39 +0000 (11:58 +0000)]
Fix non-idempotent modification in JSObject::AddFastProperty.

R=verwaest@chromium.org
BUG=mozilla/ecma/Array/15.4.5.2-2

Review URL: https://codereview.chromium.org/15955010

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

11 years agoPrepare push to trunk. Now working on version 3.19.8.
rossberg@chromium.org [Fri, 31 May 2013 11:38:36 +0000 (11:38 +0000)]
Prepare push to trunk.  Now working on version 3.19.8.

R=jkummerow@chromium.org
BUG=

Review URL: https://codereview.chromium.org/15959021

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

11 years agoReturnValue::Set needs to check for empty handles
dcarney@chromium.org [Fri, 31 May 2013 11:06:50 +0000 (11:06 +0000)]
ReturnValue::Set needs to check for empty handles

R=jkummerow@chromium.org
BUG=

Review URL: https://codereview.chromium.org/16073010

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

11 years agoRemove duplicated initialization of stack_parameter_count_ of hydrogen stub descriptor.
verwaest@chromium.org [Fri, 31 May 2013 10:48:37 +0000 (10:48 +0000)]
Remove duplicated initialization of stack_parameter_count_ of hydrogen stub descriptor.

R=verwaest@chromium.org

Review URL: https://chromiumcodereview.appspot.com/16097004

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

11 years agoFix DeferredTaggedToINoSSE2 to not unconditionally untag undefined to 0.
verwaest@chromium.org [Fri, 31 May 2013 08:37:34 +0000 (08:37 +0000)]
Fix DeferredTaggedToINoSSE2 to not unconditionally untag undefined to 0.

R=danno@chromium.org

Review URL: https://chromiumcodereview.appspot.com/16228002

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

11 years agoMIPS: Replace DeoptimizeOnUndefined with whitelisting AllowUndefinedAsNan
palfia@homejinni.com [Thu, 30 May 2013 22:30:00 +0000 (22:30 +0000)]
MIPS: Replace DeoptimizeOnUndefined with whitelisting AllowUndefinedAsNan

Port r14894 (0ca991f0)

BUG=

Review URL: https://codereview.chromium.org/15713017

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

11 years agoReplace DeoptimizeOnUndefined with whitelisting AllowUndefinedAsNan
verwaest@chromium.org [Thu, 30 May 2013 09:11:06 +0000 (09:11 +0000)]
Replace DeoptimizeOnUndefined with whitelisting AllowUndefinedAsNan

R=danno@chromium.org

Review URL: https://chromiumcodereview.appspot.com/15952007

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

11 years agoMIPS: Convert ToBooleanStub to a HydrogenStub. Currently just using the existing...
palfia@homejinni.com [Thu, 30 May 2013 01:24:45 +0000 (01:24 +0000)]
MIPS: Convert ToBooleanStub to a HydrogenStub. Currently just using the existing HBranch instruction, which is still fully implemented in Lithium. Will refactor HBranch in a next CL.

Port r14886 (068e9135)

BUG=

Review URL: https://codereview.chromium.org/15664008

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

11 years agoMIPS: Fix AccessArgumentsAt on ARM. Use register for index.
palfia@homejinni.com [Thu, 30 May 2013 01:23:54 +0000 (01:23 +0000)]
MIPS: Fix AccessArgumentsAt on ARM. Use register for index.

Port r14885 (63dd99b)

BUG=

Review URL: https://codereview.chromium.org/16215002

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

11 years agoMIPS: Update ASSERT on arm to support SmiOrTagged in ClampToUint8
palfia@homejinni.com [Thu, 30 May 2013 01:23:04 +0000 (01:23 +0000)]
MIPS: Update ASSERT on arm to support SmiOrTagged in ClampToUint8

Port r14881 (0b784159)

BUG=

Review URL: https://codereview.chromium.org/15769005

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

11 years agoMIPS: Don't explicitly pass requested representations to constants; implement ConstantS
palfia@homejinni.com [Thu, 30 May 2013 01:22:04 +0000 (01:22 +0000)]
MIPS: Don't explicitly pass requested representations to constants; implement ConstantS

Port r14874 (e93cc94e)

BUG=

Review URL: https://codereview.chromium.org/15731008

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

11 years agoPrevent segfault if file cannot be opened when --ll_prof is used.
plind44@gmail.com [Wed, 29 May 2013 19:45:19 +0000 (19:45 +0000)]
Prevent segfault if file cannot be opened when --ll_prof is used.

TEST=

BUG=
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/16107002

Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.

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

11 years agoRe-land: Implement ObservedArrayPop, ObservedArrayShift, ObservedArrayUnshift & Obser...
adamk@chromium.org [Wed, 29 May 2013 17:26:05 +0000 (17:26 +0000)]
Re-land: Implement ObservedArrayPop, ObservedArrayShift, ObservedArrayUnshift & ObservedArraySplice

Original issue: https://codereview.chromium.org/15331002/

Broke mozilla/js1_5/Array/regress-451483.js, which ends up attempting to call %IsObserved() on a non-object.

IsObserved now checks for JSReceiver and returns false rather than crashing.

R=adamk@chromium.org, rossberg@chromium.org

Review URL: https://codereview.chromium.org/15777007

Patch from Rafael Weinstein <rafaelw@chromium.org>.

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

11 years agoHandlify map allocation in Genesis::InstallInternalArray.
mstarzinger@chromium.org [Wed, 29 May 2013 15:38:09 +0000 (15:38 +0000)]
Handlify map allocation in Genesis::InstallInternalArray.

R=dcarney@chromium.org
TEST=mozilla/js1_5/Regress/regress-367561-01

Review URL: https://codereview.chromium.org/15690018

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

11 years agoConvert ToBooleanStub to a HydrogenStub. Currently just using the existing HBranch...
olivf@chromium.org [Wed, 29 May 2013 14:49:28 +0000 (14:49 +0000)]
Convert ToBooleanStub to a HydrogenStub. Currently just using the existing HBranch instruction, which is still fully implemented in Lithium. Will refactor HBranch in a next CL.

[
CL breaks mips, since the deoptimizer in Deoptimizer::DoTranslateCommand(...) does not convert smis passed to the stub via a0.
]

BUG=
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/15302004

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

11 years agoFix AccessArgumentsAt on ARM. Use register for index.
verwaest@chromium.org [Wed, 29 May 2013 12:48:06 +0000 (12:48 +0000)]
Fix AccessArgumentsAt on ARM. Use register for index.

R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/15690009

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

11 years agoImprove range analysis for modulo operations.
svenpanne@chromium.org [Wed, 29 May 2013 12:42:04 +0000 (12:42 +0000)]
Improve range analysis for modulo operations.

R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/15952004

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

11 years agoAdd support for //# sourceURL similar to deprecated //@ sourceURL one.
yurys@chromium.org [Wed, 29 May 2013 12:40:21 +0000 (12:40 +0000)]
Add support for //# sourceURL similar to deprecated //@ sourceURL one.

BUG=v8:2702
R=yangguo@chromium.org, yurys@chromium.org

Review URL: https://codereview.chromium.org/15859010

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

11 years agoMake sure IfBuilder::Return clears the current block.
mstarzinger@chromium.org [Wed, 29 May 2013 12:36:41 +0000 (12:36 +0000)]
Make sure IfBuilder::Return clears the current block.

This is a follow-up to an earlier bugfix. It doesn't yet trigger any
known bugs but is a safety precaution since IfBuilder usage increases.

R=jkummerow@chromium.org
BUG=chromium:243868

Review URL: https://codereview.chromium.org/15832005

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

11 years agoUpdate ASSERT on arm to support SmiOrTagged in ClampToUint8
verwaest@chromium.org [Wed, 29 May 2013 12:20:32 +0000 (12:20 +0000)]
Update ASSERT on arm to support SmiOrTagged in ClampToUint8

R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/15832004

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

11 years agoFix two CPU profiler tests on ARM and MIPS simulators
yurys@chromium.org [Wed, 29 May 2013 12:09:03 +0000 (12:09 +0000)]
Fix two CPU profiler tests on ARM and MIPS simulators

Use Simulator::get_pc instead of Simulator::get_register(pc) as the latter
will return value adjusted by Instruction::kPCReadOffset.

BUG=v8:2628
R=loislo@chromium.org, svenpanne@chromium.org

Review URL: https://codereview.chromium.org/16154004

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

11 years agoMake more GCs in idle notification handler.
ulan@chromium.org [Wed, 29 May 2013 11:44:54 +0000 (11:44 +0000)]
Make more GCs in idle notification handler.

When counting GCs in idle round, count only GC that were directly triggered by the idle notification handler.

R=hpayer@chromium.org
BUG=241815

Review URL: https://chromiumcodereview.appspot.com/15737007

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

11 years agoIgnore test262 data files downloaded by test harness.
mstarzinger@chromium.org [Wed, 29 May 2013 11:32:45 +0000 (11:32 +0000)]
Ignore test262 data files downloaded by test harness.

R=jkummerow@chromium.org
Review by mail to v8-dev@googlegroups.com list.

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

11 years agoFix counting of scanned bytes in incremental marking step for large object.
ulan@chromium.org [Wed, 29 May 2013 11:13:59 +0000 (11:13 +0000)]
Fix counting of scanned bytes in incremental marking step for large object.

R=mstarzinger@chromium.org
BUG=241815

Review URL: https://chromiumcodereview.appspot.com/15745004

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

11 years agoFix handle zapping interaction with NoHandleAllocation.
mstarzinger@chromium.org [Wed, 29 May 2013 11:09:01 +0000 (11:09 +0000)]
Fix handle zapping interaction with NoHandleAllocation.

This makes sure that closed handle scopes are properly zapped even if an
enclosing NoHandleAllocation shrunk the limit. It also unifies the code
that performs scope closing for internal and external handle scopes.

R=svenpanne@chromium.org
TEST=cctest/test-api/NestedLockersNoTryCatch

Review URL: https://codereview.chromium.org/16004006

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

11 years agoremove remaining V8_ALLOW_ACCESS_TO* defines from test classes
dcarney@chromium.org [Wed, 29 May 2013 11:04:10 +0000 (11:04 +0000)]
remove remaining V8_ALLOW_ACCESS_TO* defines from test classes

R=svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/16032010

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

11 years agoDon't explicitly pass requested representations to constants; implement ConstantS
verwaest@chromium.org [Wed, 29 May 2013 10:47:55 +0000 (10:47 +0000)]
Don't explicitly pass requested representations to constants; implement ConstantS

R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/15932011

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

11 years agoDon't explicitly pass the Smi-representation to IfCompare.
verwaest@chromium.org [Wed, 29 May 2013 09:55:50 +0000 (09:55 +0000)]
Don't explicitly pass the Smi-representation to IfCompare.

BUG=
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/15891006

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

11 years agoDelete old GC related APIs.
dcarney@chromium.org [Wed, 29 May 2013 08:52:01 +0000 (08:52 +0000)]
Delete old GC related APIs.

Blink doesn't use them any more, and they have no other known users either.

BUG=
R=dcarney@chromium.org, svenpanne@chromium.org

Review URL: https://codereview.chromium.org/16124004

Patch from Marja Hölttä <marja@chromium.org>.

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

11 years agoTransforming PersistentHandleVisitor to not need to copy Persistent handles.
dcarney@chromium.org [Wed, 29 May 2013 08:48:37 +0000 (08:48 +0000)]
Transforming PersistentHandleVisitor to not need to copy Persistent handles.

This gets rid of more places where Persistent handles are copied
(see crbug.com/236290 ).

Transition plan: after this CL, Blink will be modified to work both with and
without the #define, then the #define will be removed from V8.

The corresponding Blink side changes are in https://codereview.chromium.org/15670010/ .

BUG=
R=dcarney@chromium.org, svenpanne@chromium.org

Review URL: https://codereview.chromium.org/15974006

Patch from Marja Hölttä <marja@chromium.org>.

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

11 years agoremove most remaining V8_ALLOW_ACCESS_TO* defines
dcarney@chromium.org [Wed, 29 May 2013 08:39:37 +0000 (08:39 +0000)]
remove most remaining V8_ALLOW_ACCESS_TO* defines

R=svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/15994003

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

11 years agofix return out of handlescope in NestedLockers
dcarney@chromium.org [Wed, 29 May 2013 08:33:46 +0000 (08:33 +0000)]
fix return out of handlescope in NestedLockers

R=jkummerow@chromium.org
BUG=

Review URL: https://codereview.chromium.org/16076004

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

11 years agode-isolate remaining persistent calls
dcarney@chromium.org [Wed, 29 May 2013 08:32:45 +0000 (08:32 +0000)]
de-isolate remaining persistent calls

R=svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/16153003

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

11 years agoRe-enable allocation-site-info test case.
mstarzinger@chromium.org [Wed, 29 May 2013 08:29:25 +0000 (08:29 +0000)]
Re-enable allocation-site-info test case.

R=svenpanne@chromium.org
TEST=mjsunit/allocation-site-info

Review URL: https://codereview.chromium.org/16192002

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

11 years agoDisabled broken test
svenpanne@chromium.org [Wed, 29 May 2013 07:32:10 +0000 (07:32 +0000)]
Disabled broken test

TBR=mvstanton@chromium.org

Review URL: https://codereview.chromium.org/15951006

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

11 years agoMIPS: Update the gap resolver to support Smi constants.
palfia@homejinni.com [Tue, 28 May 2013 21:37:57 +0000 (21:37 +0000)]
MIPS: Update the gap resolver to support Smi constants.

Port r14850 (787f0941)

BUG=

Review URL: https://codereview.chromium.org/16146005

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

11 years agoMIPS: Added old data space allocation infrastructure for pretenuring.
palfia@homejinni.com [Tue, 28 May 2013 21:37:03 +0000 (21:37 +0000)]
MIPS: Added old data space allocation infrastructure for pretenuring.

Port r14843 (2d8faca3)

BUG=

Review URL: https://codereview.chromium.org/16155006

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

11 years agoMIPS: Support Smi in CompareIDAndBranch
palfia@homejinni.com [Tue, 28 May 2013 21:36:03 +0000 (21:36 +0000)]
MIPS: Support Smi in CompareIDAndBranch

Port r14842 (1c8d7430)

BUG=

Review URL: https://codereview.chromium.org/15917012

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

11 years agoDisable --optimize-constructed-arrays due to crashes
jkummerow@chromium.org [Tue, 28 May 2013 18:46:23 +0000 (18:46 +0000)]
Disable --optimize-constructed-arrays due to crashes

BUG=chromium:244461
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/15766005

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

11 years agoPrepare push to trunk. Now working on version 3.19.7.
jkummerow@chromium.org [Tue, 28 May 2013 16:53:35 +0000 (16:53 +0000)]
Prepare push to trunk.  Now working on version 3.19.7.

R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/16096003

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

11 years agoDisable extra checks in Release mode.
jkummerow@chromium.org [Tue, 28 May 2013 16:31:55 +0000 (16:31 +0000)]
Disable extra checks in Release mode.

They caused test failures and performance regressions.

R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/16158002

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

11 years agoAllow a relativ path to the NaCl SDK when building.
machenbach@chromium.org [Tue, 28 May 2013 15:33:39 +0000 (15:33 +0000)]
Allow a relativ path to the NaCl SDK when building.

R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/16092004

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

11 years agoFix IfBuilder::Deopt to clear the current block.
mstarzinger@chromium.org [Tue, 28 May 2013 15:30:49 +0000 (15:30 +0000)]
Fix IfBuilder::Deopt to clear the current block.

R=jkummerow@chromium.org
BUG=chromium:243868
TEST=mjsunit/regress/regress-crbug-243868

Review URL: https://codereview.chromium.org/16155003

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

11 years agoEnable extra checks for release builds as well
jkummerow@chromium.org [Tue, 28 May 2013 15:13:57 +0000 (15:13 +0000)]
Enable extra checks for release builds as well

R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/14899005

Patch from Jochen Eisinger <jochen@chromium.org>.

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

11 years agoOnly allow non-double if the observed representations are int32.
verwaest@chromium.org [Tue, 28 May 2013 13:28:59 +0000 (13:28 +0000)]
Only allow non-double if the observed representations are int32.

R=mvstanton@chromium.org

Review URL: https://chromiumcodereview.appspot.com/15988005

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

11 years agoRevert "Implement ObservedArrayPop, ObservedArrayShift, ObservedArrayUnshift & Observ...
rossberg@chromium.org [Tue, 28 May 2013 13:00:53 +0000 (13:00 +0000)]
Revert "Implement ObservedArrayPop, ObservedArrayShift, ObservedArrayUnshift & ObservedArraySplice"

This reverts commit r14846.

Broke Mozilla test (see http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20shared/builds/3608/steps/Mozilla/logs/stdio), e.g.:

=== mozilla/js1_5/Array/regress-451483 ===
--- stdout ---
BUGNUMBER: 451483
STATUS: [].splice.call(0) == []
/mnt/data/b/build/slave/v8-linux-shared/build/v8/test/mozilla/data/js1_5/Array/regress-451483.js:57: illegal access
  var result = [].splice.call(0);
                         ^
Command: /mnt/data/b/build/slave/v8-linux-shared/build/v8/out/Release/d8 --test --nobreak-on-abort --nodead-code-elimination --nofold-constants --expose-gc /mnt/data/b/build/slave/v8-linux-shared/build/v8/test/mozilla/mozilla-shell-emulation.js /mnt/data/b/build/slave/v8-linux-shared/build/v8/test/mozilla/data/shell.js /mnt/data/b/build/slave/v8-linux-shared/build/v8/test/mozilla/data/js1_5/shell.js /mnt/data/b/build/slave/v8-linux-shared/build/v8/test/mozilla/data/js1_5/Array/shell.js /mnt/data/b/build/slave/v8-linux-shared/build/v8/test/mozilla/data/js1_5/Array/regress-451483.js

TBR=rafaelw@chromium.org
BUG=

Review URL: https://codereview.chromium.org/16150003

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

11 years agoUpdate the gap resolver to support Smi constants.
verwaest@chromium.org [Tue, 28 May 2013 12:37:29 +0000 (12:37 +0000)]
Update the gap resolver to support Smi constants.

R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/15664005

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

11 years agoremove most V8_ALLOW_ACCESS_TO_* defines from test classes
dcarney@chromium.org [Tue, 28 May 2013 11:54:52 +0000 (11:54 +0000)]
remove most V8_ALLOW_ACCESS_TO_* defines from test classes

R=svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/15964004

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

11 years agoRe-enable freezing of Object.observe changeRecords now that freezing is faster.
rossberg@chromium.org [Tue, 28 May 2013 11:34:31 +0000 (11:34 +0000)]
Re-enable freezing of Object.observe changeRecords now that freezing is faster.

Review URL: https://codereview.chromium.org/15898004

Patch from Rafael Weinstein <rafaelw@chromium.org>.

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

11 years agoMake (Object.)observed Arrays use SafeRemoveArrayHoles during sort
rossberg@chromium.org [Tue, 28 May 2013 11:23:59 +0000 (11:23 +0000)]
Make (Object.)observed Arrays use SafeRemoveArrayHoles during sort

R=adamk,rossberg
BUG=

Review URL: https://codereview.chromium.org/15837006

Patch from Rafael Weinstein <rafaelw@chromium.org>.

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

11 years agoImplement ObservedArrayPop, ObservedArrayShift, ObservedArrayUnshift & ObservedArrayS...
rossberg@chromium.org [Tue, 28 May 2013 11:16:02 +0000 (11:16 +0000)]
Implement ObservedArrayPop, ObservedArrayShift, ObservedArrayUnshift & ObservedArraySplice

R=rossberg,adamk,arv
BUG=

Review URL: https://codereview.chromium.org/15331002

Patch from Rafael Weinstein <rafaelw@chromium.org>.

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

11 years agoRefacturing BuildEmitDeepCopy.
hpayer@chromium.org [Tue, 28 May 2013 10:44:21 +0000 (10:44 +0000)]
Refacturing BuildEmitDeepCopy.

BUG=

Review URL: https://codereview.chromium.org/15700007

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

11 years agoremove use of context scope with persistent argument
dcarney@chromium.org [Tue, 28 May 2013 10:36:21 +0000 (10:36 +0000)]
remove use of context scope with persistent argument

R=svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/15837007

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

11 years agoAdded old data space allocation infrastructure for pretenuring.
hpayer@chromium.org [Tue, 28 May 2013 09:38:28 +0000 (09:38 +0000)]
Added old data space allocation infrastructure for pretenuring.

BUG=

Review URL: https://codereview.chromium.org/16099004

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

11 years agoSupport Smi in CompareIDAndBranch
verwaest@chromium.org [Tue, 28 May 2013 09:24:39 +0000 (09:24 +0000)]
Support Smi in CompareIDAndBranch

BUG=
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/16134003

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

11 years agoMark test-profile-generator/RecordStackTraceAtStartProfiling as always passing
yurys@chromium.org [Tue, 28 May 2013 08:36:17 +0000 (08:36 +0000)]
Mark test-profile-generator/RecordStackTraceAtStartProfiling as always passing

The test should be stable now.

Drive-by: removed test-heap-profiler/HeapSnapshotsDiff from cctest.status as there is no such test
BUG=None
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/15786005

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

11 years agoTag smi-constants as smi.
verwaest@chromium.org [Tue, 28 May 2013 08:00:42 +0000 (08:00 +0000)]
Tag smi-constants as smi.

R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/16010004

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

11 years agoDeprecate profiler methods that accept security origin
yurys@chromium.org [Tue, 28 May 2013 08:00:16 +0000 (08:00 +0000)]
Deprecate profiler methods that accept security origin

Now that the only known client console.profiles was removed from Blink:
https://src.chromium.org/viewvc/blink?revision=151136&view=revision
https://src.chromium.org/viewvc/blink?revision=151196&view=revision
this method can be deprecated and all the code that supports filtering
CPU profiles based on security origins can be later removed.

Drive-by fix: in line with CpuProfiler changes deprecated HeapProfiler::FindHeapSnapshot to reduce v8 API surface. FindHeapSnapshot may well be implemented based on existing GetSnapshotCount/GetSnapshot and it is only used in the tests.

BUG=None
R=jkummerow@chromium.org, loislo@chromium.org

Review URL: https://codereview.chromium.org/16114002

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

11 years agoAlways deoptimize on undefined if a double value implicitly gets converted.
verwaest@chromium.org [Tue, 28 May 2013 06:31:05 +0000 (06:31 +0000)]
Always deoptimize on undefined if a double value implicitly gets converted.

R=svenpanne@chromium.org

Review URL: https://chromiumcodereview.appspot.com/16126002

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

11 years agoMIPS: Fix the hole loading optimization.
palfia@homejinni.com [Mon, 27 May 2013 23:02:27 +0000 (23:02 +0000)]
MIPS: Fix the hole loading optimization.

Port r14829 (8fba0f34)

Original commit message:
Fix the hole loading optimization.
- Holes are only ever loaded as double or tagged.
- Change to tagged has to deoptimize on undefined (no implicit   conversions from double the hole NaN -> tagged undefined).

BUG=

Review URL: https://codereview.chromium.org/16116002

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

11 years agoMIPS: Tag smi-constants as smi. This also fixes code that copies holes into arrays.
palfia@homejinni.com [Mon, 27 May 2013 22:11:06 +0000 (22:11 +0000)]
MIPS: Tag smi-constants as smi. This also fixes code that copies holes into arrays.

Port r14814 (8a28ccfb)

BUG=

Review URL: https://codereview.chromium.org/16041005

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

11 years agoFix the hole loading optimization.
verwaest@chromium.org [Mon, 27 May 2013 17:33:14 +0000 (17:33 +0000)]
Fix the hole loading optimization.
- Holes are only ever loaded as double or tagged.
- Change to tagged has to deoptimize on undefined (no implicit
  conversions from double the hole NaN -> tagged undefined).

BUG=
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/16099006

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

11 years agoMIPS: Fix unaligned address of double.
palfia@homejinni.com [Mon, 27 May 2013 17:12:48 +0000 (17:12 +0000)]
MIPS: Fix unaligned address of double.

TEST=mjsunit/debug-evaluate-locals-optimized-double

BUG=

Review URL: https://codereview.chromium.org/14631016

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

11 years agoMIPS: make isolate accessible from returnvalue
palfia@homejinni.com [Mon, 27 May 2013 16:53:30 +0000 (16:53 +0000)]
MIPS: make isolate accessible from returnvalue

Port r14819 (1ee1db14)

BUG=

Review URL: https://codereview.chromium.org/16099003

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

11 years agoAdd template parameter to ReturnValue::Set.
dcarney@chromium.org [Mon, 27 May 2013 14:34:16 +0000 (14:34 +0000)]
Add template parameter to ReturnValue::Set.

E.g., v8-i18n wants to set the return value with a different type of a Persistent.

BUG=NONE
R=dcarney@chromium.org, svenpanne@chromium.org

Review URL: https://codereview.chromium.org/16102002

Patch from Marja Hölttä <marja@chromium.org>.

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

11 years agoCollect type feedback in separate pass and store it in AST
rossberg@chromium.org [Mon, 27 May 2013 13:59:20 +0000 (13:59 +0000)]
Collect type feedback in separate pass and store it in AST

Notes:

- For now, just adds the missing type info fields to the AST nodes directly.
  I'd like to factor that out more nicely in a follow-up CL.

- All type feedback now is uniformly collected through AST nodes'
  RecordTypeFeedback functions. At some point, this logic should be moved
  out of ast.cc.

- The typing pass currently simulates the exact same conditions under
  which feedback was collected in Hydrogen before. That also should be
  made more generic in the future.

- Type information itself is unchanged. Making it more regular is
  yet more future work.

Some additional cleanups:

- Lifted out nested class ObjectLiteral::Property, to enable forward declaration.
- Moved around some auxiliary enums.

R=svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/14990014

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

11 years agoExtract GlobalValueNumberer and helper classes from hydrogen.cc and move to hydrogen...
titzer@chromium.org [Mon, 27 May 2013 12:45:46 +0000 (12:45 +0000)]
Extract GlobalValueNumberer and helper classes from hydrogen.cc and move to hydrogen-gvn.cc.

BUG=

Review URL: https://codereview.chromium.org/16095004

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

11 years agoMIPS: Remove HCheckSmi, LCheckSmi and rename LCheckSmiAndReturn to LCheckSmi.
palfia@homejinni.com [Mon, 27 May 2013 12:39:01 +0000 (12:39 +0000)]
MIPS: Remove HCheckSmi, LCheckSmi and rename LCheckSmiAndReturn to LCheckSmi.

Port r14816 (0485153d)

BUG=

Review URL: https://codereview.chromium.org/16035008

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

11 years agoPrepare push to trunk. Now working on version 3.19.6.
svenpanne@chromium.org [Mon, 27 May 2013 12:19:49 +0000 (12:19 +0000)]
Prepare push to trunk.  Now working on version 3.19.6.

R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/15838010

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

11 years agomake isolate accessible from returnvalue
dcarney@chromium.org [Mon, 27 May 2013 11:50:08 +0000 (11:50 +0000)]
make isolate accessible from returnvalue

R=svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/16021010

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

11 years agoFix Object.freeze for objects with mixed accessors and data properties
verwaest@chromium.org [Mon, 27 May 2013 10:56:27 +0000 (10:56 +0000)]
Fix Object.freeze for objects with mixed accessors and data properties

The bug in the existing code was that it modified the |attributes|
local variable on its way through the loop in CopyUpToAddAttributes.
But that affected any properties updated after an accessor property.
The code now sets up a mask each time and applies that instead of
mutating |attributes|.

R=verwaest@chromium.org

Review URL: https://chromiumcodereview.appspot.com/16051002

Patch from Adam Klein <adamk@chromium.org>.

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