platform/upstream/v8.git
12 years agoUse the old handler for low frequency idle notifications.
ulan@chromium.org [Tue, 6 Dec 2011 14:30:21 +0000 (14:30 +0000)]
Use the old handler for low frequency idle notifications.

BUG=
TEST=

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

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

12 years agoFix presubmit.
yangguo@chromium.org [Tue, 6 Dec 2011 13:30:22 +0000 (13:30 +0000)]
Fix presubmit.

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

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

12 years agoFixing mozilla test failures regarding Math.pow.
yangguo@chromium.org [Tue, 6 Dec 2011 13:14:46 +0000 (13:14 +0000)]
Fixing mozilla test failures regarding Math.pow.

BUG=
TEST=

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

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

12 years agoHandle possible difference between function code and activated code on preparation...
sgjesse@chromium.org [Tue, 6 Dec 2011 13:09:05 +0000 (13:09 +0000)]
Handle possible difference between function code and activated code on preparation for break points

The full code activated for a function might not be the same code as
is currently the active full code for a function. There where some
asumptions in the debugger preparation for break points.

Unfortunately there is currently no regression test.

R=jkummerow@chromium.org

BUG=
TEST=

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

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

12 years agoElide write barriers and remove some heap_object->GetHeap() calls on
erik.corry@gmail.com [Tue, 6 Dec 2011 13:00:40 +0000 (13:00 +0000)]
Elide write barriers and remove some heap_object->GetHeap() calls on
Smi write barriers.
Review URL: http://codereview.chromium.org/8822008

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

12 years agoPort to x64 and ARM and some refactoring of ia32.
fschneider@chromium.org [Tue, 6 Dec 2011 12:11:08 +0000 (12:11 +0000)]
Port to x64 and ARM and some refactoring of ia32.
Review URL: http://codereview.chromium.org/8111006

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

12 years agoThe memory size test makes no sense on the simulated platforms.
erik.corry@gmail.com [Tue, 6 Dec 2011 12:09:11 +0000 (12:09 +0000)]
The memory size test makes no sense on the simulated platforms.
Review URL: http://codereview.chromium.org/8818007

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

12 years agoRemove early NaN/Infinity check in MathPowStub.
yangguo@chromium.org [Tue, 6 Dec 2011 11:56:56 +0000 (11:56 +0000)]
Remove early NaN/Infinity check in MathPowStub.

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

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

12 years agoHydrogen support for stack local harmony bindings in function scope.
keuchel@chromium.org [Tue, 6 Dec 2011 09:41:06 +0000 (09:41 +0000)]
Hydrogen support for stack local harmony bindings in function scope.

This is the first CL in a series that add support for the harmony scoping
features to crankshaft. This CL specifically adds support for stack
allocated 'let' and 'const' declared variables in function scopes.

TEST=mjsunit/harmony/block-let-crankshaft.js

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

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

12 years agoFix presubmit.
yangguo@chromium.org [Tue, 6 Dec 2011 09:37:50 +0000 (09:37 +0000)]
Fix presubmit.

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

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

12 years agoStop skipping regress-397.js
yangguo@chromium.org [Tue, 6 Dec 2011 09:20:55 +0000 (09:20 +0000)]
Stop skipping regress-397.js

BUG=
TEST=

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

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

12 years agoSkip check for +/-0.5 in optimized Math.pow (ia32).
yangguo@chromium.org [Tue, 6 Dec 2011 09:20:28 +0000 (09:20 +0000)]
Skip check for +/-0.5 in optimized Math.pow (ia32).

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

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

12 years agoFixing fix for MathPowHalf on ARM.
yangguo@chromium.org [Tue, 6 Dec 2011 09:20:00 +0000 (09:20 +0000)]
Fixing fix for MathPowHalf on ARM.

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

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

12 years agoFixing MathPowHalf on ARM.
yangguo@chromium.org [Tue, 6 Dec 2011 08:28:12 +0000 (08:28 +0000)]
Fixing MathPowHalf on ARM.

BUG=v8:397
TEST=regress-397.js

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

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

12 years agoImprove TraceIC logging
danno@chromium.org [Mon, 5 Dec 2011 21:54:45 +0000 (21:54 +0000)]
Improve TraceIC logging

Explicitly log generic stub transitions and the reason that they are happening.

R=jkummerow@chromium.org
BUG=none
TEST=none

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

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

12 years agoRevert r10158 "Distinguish weak references in heap snapshots, group GC roots."
mikhail.naganov@gmail.com [Mon, 5 Dec 2011 17:21:55 +0000 (17:21 +0000)]
Revert r10158 "Distinguish weak references in heap snapshots, group GC roots."

Heap profiler tests fail on Win32, need to investigate.

This reverts commit b5374ebd92c11ac4aae16b4e31e54166d406e490.

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

12 years agoFixing MathPowHalf on x64.
yangguo@chromium.org [Mon, 5 Dec 2011 16:36:13 +0000 (16:36 +0000)]
Fixing MathPowHalf on x64.

BUG=v8:397
TEST=regress-397.js

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

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

12 years agoDistinguish weak references in heap snapshots, group GC roots.
mikhail.naganov@gmail.com [Mon, 5 Dec 2011 16:35:57 +0000 (16:35 +0000)]
Distinguish weak references in heap snapshots, group GC roots.

Several changes to better organize snapshot data:

1. Provide information about weak references.
2. Group (GC roots) children.
3. Prettify debug snapshot printing.

BUG=v8:1832
TEST=cctest/test-heap-profiler/*Weak*

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

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

12 years agoRefactor MathPowHalf on ia32.
yangguo@chromium.org [Mon, 5 Dec 2011 15:58:25 +0000 (15:58 +0000)]
Refactor MathPowHalf on ia32.

BUG=v8:397, v8:1848
TEST=regress-397.js

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

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

12 years agoStatically check for assignments to const in harmony mode.
keuchel@chromium.org [Mon, 5 Dec 2011 14:43:28 +0000 (14:43 +0000)]
Statically check for assignments to const in harmony mode.

The ES.next draft rev 4 in section 11.13 reads:
It is a Syntax Error if the AssignmentExpression is contained in extended code
and the LeftHandSideExpression is an Identifier that does not statically resolve
to a declarative environment record binding or if the resolved binding is an
immutable binding.

This CL adds corresponding static checks for the immutable binding case.

TEST=mjsunit/harmony/block-const-assign

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

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

12 years agoMIPS: updated test .status files based mostly on the ARM version.
mstarzinger@chromium.org [Mon, 5 Dec 2011 11:44:17 +0000 (11:44 +0000)]
MIPS: updated test .status files based mostly on the ARM version.

BUG=
TEST=

Review URL: http://codereview.chromium.org/8572032
Patch from Gergely Kis <gergely@homejinni.com>.

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

12 years agoFixing Math.pow(NaN, -0.0) == 1 on Windows.
yangguo@chromium.org [Mon, 5 Dec 2011 09:54:15 +0000 (09:54 +0000)]
Fixing Math.pow(NaN, -0.0) == 1 on Windows.

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

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

12 years agoFix special handling of DefineOwnProperty on arrays.
mstarzinger@chromium.org [Mon, 5 Dec 2011 09:53:43 +0000 (09:53 +0000)]
Fix special handling of DefineOwnProperty on arrays.

According to the ES5 spec the implementation of DefineOwnProperty() has
to special case handling of arrays. This implementation correctly
handles definitions of array index properties and redefinitions of the
length property.

R=svenpanne@chromium.org
BUG=v8:1756
TEST=test262

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

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

12 years agoFix performance on the page cycler, which is not designed to test
erik.corry@gmail.com [Mon, 5 Dec 2011 08:58:12 +0000 (08:58 +0000)]
Fix performance on the page cycler, which is not designed to test
GC speed.
Review URL: http://codereview.chromium.org/8804004

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

12 years agoClean up multi byte nop support on x64 to more closely match IA32.
erik.corry@gmail.com [Mon, 5 Dec 2011 08:58:01 +0000 (08:58 +0000)]
Clean up multi byte nop support on x64 to more closely match IA32.
Fix missing instruction in disassembler.
Fix wrong disassembly of multi-byte NOP on x64
Add test of disassembler on 64 bit!
Review URL: http://codereview.chromium.org/8773039

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

12 years agoFixing windows build.
yangguo@chromium.org [Mon, 5 Dec 2011 07:57:44 +0000 (07:57 +0000)]
Fixing windows build.

"src\store-buffer.cc(72) : warning C4244: 'initializing' : conversion from 'intptr_t' to 'int', possible loss of data"

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

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

12 years agoFix a bug with deoptimization from inside the default-clause of a switch-statement.
fschneider@chromium.org [Fri, 2 Dec 2011 15:15:23 +0000 (15:15 +0000)]
Fix a bug with deoptimization from inside the default-clause of a switch-statement.

When generating a string-switch we have to use the correct ast id when
there is a default clause present.
Review URL: http://codereview.chromium.org/8776048

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

12 years agoReduce minimum memory use on 64 bit to one page per semispace.
erik.corry@gmail.com [Fri, 2 Dec 2011 14:19:53 +0000 (14:19 +0000)]
Reduce minimum memory use on 64 bit to one page per semispace.
Review URL: http://codereview.chromium.org/8774045

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

12 years agoLet store buffer start out small for a 1Mbyte saving in boot
erik.corry@gmail.com [Fri, 2 Dec 2011 14:08:12 +0000 (14:08 +0000)]
Let store buffer start out small for a 1Mbyte saving in boot
memory use (2Mbyte on x64).
Review URL: http://codereview.chromium.org/8776032

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

12 years agoTemporarily disable regress-397 until fix has been ported to all platforms.
yangguo@chromium.org [Fri, 2 Dec 2011 13:42:51 +0000 (13:42 +0000)]
Temporarily disable regress-397 until fix has been ported to all platforms.

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

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

12 years agoFix presubmit error.
danno@chromium.org [Fri, 2 Dec 2011 13:23:44 +0000 (13:23 +0000)]
Fix presubmit error.

TBR=sgjesse@chromium.org
BUG=none
TEST=none

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

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

12 years agoQuickfix for DoMathPowHalf.
yangguo@chromium.org [Fri, 2 Dec 2011 13:16:49 +0000 (13:16 +0000)]
Quickfix for DoMathPowHalf.

TEST=regress-397.js

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

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

12 years agoFix flaky debugger test
danno@chromium.org [Fri, 2 Dec 2011 13:05:51 +0000 (13:05 +0000)]
Fix flaky debugger test

TBR=sgjesse@chromium.org
BUG=none
TEST=test/cctest/test-debug.cc

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

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

12 years agoOptimize Crankshaft array literal initialization from boilerplate.
danno@chromium.org [Fri, 2 Dec 2011 12:42:35 +0000 (12:42 +0000)]
Optimize Crankshaft array literal initialization from boilerplate.

BUG=none
TEST=test/mjsunit/array-literal-transitions.js

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

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

12 years agoFix lint
erik.corry@gmail.com [Fri, 2 Dec 2011 10:05:20 +0000 (10:05 +0000)]
Fix lint
Review URL: http://codereview.chromium.org/8773033

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

12 years agoSupport multi-byte nop instructions as recommended by
erik.corry@gmail.com [Fri, 2 Dec 2011 10:01:50 +0000 (10:01 +0000)]
Support multi-byte nop instructions as recommended by
the optimization guides from AMD and Intel.
Review URL: http://codereview.chromium.org/8776033

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

12 years agoImplement Math.pow using FPU instructions and inline it in crankshaft (ia32).
yangguo@chromium.org [Fri, 2 Dec 2011 08:06:37 +0000 (08:06 +0000)]
Implement Math.pow using FPU instructions and inline it in crankshaft (ia32).

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

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

12 years agoRevert r10118 from bleeding edge.
fschneider@chromium.org [Thu, 1 Dec 2011 16:57:54 +0000 (16:57 +0000)]
Revert r10118 from bleeding edge.

It causes several test failures which I need to investigate.
Review URL: http://codereview.chromium.org/8769008

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

12 years agoMIPS: Port array literal changes on ARM.
danno@chromium.org [Thu, 1 Dec 2011 14:40:13 +0000 (14:40 +0000)]
MIPS: Port array literal changes on ARM.

Port r10085 (1ef7d5eb2).

This patch also contains a fix for StoreArrayLiteralElementStub::Generate which is only used from this code.

Original commit message:
Includes general array boilerplate copier and re-introduction FAST_ELEMENT optimizations in full-codegen.

BUG=
TEST=

Review URL: http://codereview.chromium.org/8743010
Patch from Daniel Kalmard <kalmard@homejinni.com>.

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

12 years agoMIPS: Implement crankshaft support for nested object literals.
mstarzinger@chromium.org [Thu, 1 Dec 2011 14:32:26 +0000 (14:32 +0000)]
MIPS: Implement crankshaft support for nested object literals.

Port r10061 (c648e1d1)

Original commit message:
This generates optimized code for deep-copying of nested object literal
boilerplates which are statically known. Most of the boilerplates have
already been generated at crankshaft time, so this optimization should
kick in for virtually every object literal. Only nested object literal
graphs up to a certain depth and containing up to a certain total number
of properties are considered for this optimization. This will prevent
explosion of code size due to large object literals (e.g. eval on JSON).
Improves splay performance because object literals are created often.

BUG=
TEST=

Review URL: http://codereview.chromium.org/8745012
Patch from Daniel Kalmar <kalmard@homejinni.com>.

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

12 years agoInsert proper padding between lazy deoptimization points and safepoints.
fschneider@chromium.org [Thu, 1 Dec 2011 14:19:34 +0000 (14:19 +0000)]
Insert proper padding between lazy deoptimization points and safepoints.

On x64 we need 13 bytes for patching the call for lazy deopt. We have to
make sure that patching does not overwrite the code at the safepoint.

BUG=v8:1847
Review URL: http://codereview.chromium.org/8775009

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

12 years agoMIPS: Implement code stub for object literal creation.
mstarzinger@chromium.org [Thu, 1 Dec 2011 14:12:30 +0000 (14:12 +0000)]
MIPS: Implement code stub for object literal creation.

Port r10056 (ffa6eedd8).

Original commit message:
This just ports r10036 to the ARM codegenerator. Please see the original
revision for a detailed description.

BUG=
TEST=

Review URL: http://codereview.chromium.org/8747011
Patch from Daniel Kalmar <kalmard@homejinni.com>.

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

12 years agoIntroduce a test of how much memory it takes to boot up V8.
erik.corry@gmail.com [Thu, 1 Dec 2011 12:32:38 +0000 (12:32 +0000)]
Introduce a test of how much memory it takes to boot up V8.
Linux only at the moment, since it uses /proc.  Shows that
there is room for improvement, espcially on 64 bit.
Review URL: http://codereview.chromium.org/8750001

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

12 years agoUse the old idle notification handler when context is disposed.
ulan@chromium.org [Thu, 1 Dec 2011 12:17:19 +0000 (12:17 +0000)]
Use the old idle notification handler when context is disposed.

BUG=
TEST=

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

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

12 years agoSimplify stack check instruction in Crankshaft.
fschneider@chromium.org [Thu, 1 Dec 2011 09:54:05 +0000 (09:54 +0000)]
Simplify stack check instruction in Crankshaft.

So far we had two types of stack checks: one used for function entries
and one used at loop back edges which uses a deferred code object to
avoid spilling of registers in the loop.

After refactoring lazy deoptimization the first stack check can also
use deferred code. This change removes the first type of stack check
instruction in Crankshaft and uses a deferred stack check in all
places.
Review URL: http://codereview.chromium.org/8775002

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

12 years agoMIPS: Add external strings support to regexp in generated code.
yangguo@chromium.org [Thu, 1 Dec 2011 08:39:22 +0000 (08:39 +0000)]
MIPS: Add external strings support to regexp in generated code.

Port r10070 (4d7e5a8a)

Original commit message:
TEST=test/mjsunit/string-external-cached.js

BUG=

Review URL: http://codereview.chromium.org/8744012
Patch from Daniel Kalmar <kalmard@homejinni.com>.

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

12 years agoMIPS: Porting r10023 and r10054 to arm (pointer cache for external strings).
yangguo@chromium.org [Thu, 1 Dec 2011 08:31:09 +0000 (08:31 +0000)]
MIPS: Porting r10023 and r10054 to arm (pointer cache for external strings).

Port r10059 (c32f98a9)

Original commit message:

BUG=
TEST=

Review URL: http://codereview.chromium.org/8746015
Patch from Daniel Kalmar <kalmard@homejinni.com>.

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

12 years agoPrepare push to trunk. Now working on version 3.8.0
svenpanne@chromium.org [Thu, 1 Dec 2011 08:14:30 +0000 (08:14 +0000)]
Prepare push to trunk.  Now working on version 3.8.0

R=danno@chromium.org
BUG=
TEST=

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

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

12 years agoIncrease tick interval for the android platform.
ricow@chromium.org [Thu, 1 Dec 2011 07:30:57 +0000 (07:30 +0000)]
Increase tick interval for the android platform.

The phones and tablets currently in use are much slower that desktop
and laptop machines for which the current heuristics have been tuned.
Review URL: http://codereview.chromium.org/8757017

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

12 years agoFix build with GCC 4.7, which fails with "narrowing conversion of 'id' from 'int...
keuchel@chromium.org [Wed, 30 Nov 2011 18:04:12 +0000 (18:04 +0000)]
Fix build with GCC 4.7, which fails with "narrowing conversion of 'id' from 'int' to 'unsigned int' inside { } is ill-formed in C++11"

Contributed by burnus@net-b.de

Review URL: http://codereview.chromium.org/8724003
Patch from Tobias Burnus <burnus@net-b.de>.

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

12 years agoFix a compiler error on Windows introduced by r10093
ulan@chromium.org [Wed, 30 Nov 2011 17:53:26 +0000 (17:53 +0000)]
Fix a compiler error on Windows introduced by r10093

BUG=
TEST=

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

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

12 years agoFix compile errors on Windows and Mac introduced by r10093.
ulan@chromium.org [Wed, 30 Nov 2011 16:55:55 +0000 (16:55 +0000)]
Fix compile errors on Windows and Mac introduced by r10093.

BUG=
TEST=

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

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

12 years agoMIPS: Implement Math.tan in generated code.
yangguo@chromium.org [Wed, 30 Nov 2011 16:47:54 +0000 (16:47 +0000)]
MIPS: Implement Math.tan in generated code.

Port r10067 (593c1ea) and r10069 (87a06dc).

BUG=
TEST=

Review URL: http://codereview.chromium.org/8743009
Patch from Daniel Kalmar <kalmard@homejinni.com>.

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

12 years agoMIPS: Catch non-string subject in RegExpExecStub.
yangguo@chromium.org [Wed, 30 Nov 2011 16:36:00 +0000 (16:36 +0000)]
MIPS: Catch non-string subject in RegExpExecStub.

Port r10064 (9c6789a3)

Original commit message:
There is no test case to trigger any crash. This is only to guard against the case that the native function is called with unsafe arguments.

BUG=
TEST=

Review URL: http://codereview.chromium.org/8742012
Patch from Daniel Kalmar <kalmard@homejinni.com>.

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

12 years agoOnly make function literals in top-level object literals pretenured and constant...
fschneider@chromium.org [Wed, 30 Nov 2011 16:00:47 +0000 (16:00 +0000)]
Only make function literals in top-level object literals pretenured and constant function properties.

This change is a refinement of http://code.google.com/p/v8/source/detail?r=7283. Making all
function literals inside object literals constant function properties causes us to lose map
sharing. This hurts code where many object literals are created.

The idea is that top-level code is mostly executed once and functions inside top-level
object literals remain fast with this change.

BUG=v8:1795
Review URL: http://codereview.chromium.org/8746018

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

12 years agoFix a bug in the register allocator.
fschneider@chromium.org [Wed, 30 Nov 2011 14:14:49 +0000 (14:14 +0000)]
Fix a bug in the register allocator.

Avoid spilling a live range that has a register use at the next instruction.
The register use position has to be after the end of the next instruction so
that we don't end up trying to split a live range at the beginning.

BUG=105112
Review URL: http://codereview.chromium.org/8743011

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

12 years agoFix handling of recompiling code for optimized and inlined functions
sgjesse@chromium.org [Wed, 30 Nov 2011 11:48:35 +0000 (11:48 +0000)]
Fix handling of recompiling code for optimized and inlined functions

The debugger preparation did not take optimized functions - including
inlined function into account. This caused the full-code used for
deoptimization to be the "lazy compile" builtin which did not work and
caused V8 to crash.

R=yangguo@chromium.org

BUG=chromium:105375, v8:1782
TEST=test/mjsunit/debug-break-inline.js

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

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

12 years agoStart incremental marking on idle notification.
ulan@chromium.org [Wed, 30 Nov 2011 11:13:36 +0000 (11:13 +0000)]
Start incremental marking on idle notification.

BUG=v8:1458
TEST=cctest/test-api/IdleNotification*

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

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

12 years agoBe more willing to expand old space when evacuating new space at the end of
erik.corry@gmail.com [Wed, 30 Nov 2011 10:38:16 +0000 (10:38 +0000)]
Be more willing to expand old space when evacuating new space at the end of
a mark-sweep.  We have a soft limit on old space size, which is designed to
trigger an old-space collection when we hit it.  Unfortunately although the
soft limit had already triggered an old space collection, the soft limit was
preventing objects from new space from being promoted.  For every promotion
candidate we were checking 3 different ways to allocate in old space before
giving up and putting the object in the other semispace.  This change allows
the promoted objects to go to old space and also makes us more eager to
sweep a page before trying other ways to find space for an object.
Review URL: http://codereview.chromium.org/8748005

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

12 years agoElide write barrier.
erik.corry@gmail.com [Wed, 30 Nov 2011 09:33:03 +0000 (09:33 +0000)]
Elide write barrier.
Review URL: http://codereview.chromium.org/8659039

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

12 years agoPrepare push to trunk. Now working on version 3.7.12.
mstarzinger@chromium.org [Tue, 29 Nov 2011 14:21:47 +0000 (14:21 +0000)]
Prepare push to trunk.  Now working on version 3.7.12.

R=erik.corry@gmail.com

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

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

12 years agoFix bug when generating padding to ensure space for lazy deoptimization.
fschneider@chromium.org [Tue, 29 Nov 2011 12:39:28 +0000 (12:39 +0000)]
Fix bug when generating padding to ensure space for lazy deoptimization.

BUG=v8:1846
Review URL: http://codereview.chromium.org/8725030

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

12 years agoFix windows build.
erik.corry@gmail.com [Tue, 29 Nov 2011 12:17:59 +0000 (12:17 +0000)]
Fix windows build.
Review URL: http://codereview.chromium.org/8725029

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

12 years agoPort array literal changes on ARM.
danno@chromium.org [Tue, 29 Nov 2011 12:09:06 +0000 (12:09 +0000)]
Port array literal changes on ARM.

Includes general array boilerplate copier and re-introduction FAST_ELEMENT optimizations in full-codegen.

BUG=none
TEST=none

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

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

12 years agoOnly sweep one page eagerly unless we are running out of space.
erik.corry@gmail.com [Tue, 29 Nov 2011 11:56:14 +0000 (11:56 +0000)]
Only sweep one page eagerly unless we are running out of space.
Limit the number of pages that are compacted in a given GC.
Review URL: http://codereview.chromium.org/8692002

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

12 years agoRemove the static qualifier from functions in header files.
kmillikin@chromium.org [Tue, 29 Nov 2011 10:56:11 +0000 (10:56 +0000)]
Remove the static qualifier from functions in header files.

This shaves 416+ KB, just under 1% off the size of the debug d8 executable
on Linux (mostly because the CheckHelper functions for assertions were
getting separate copies for each compilation unit).  The difference in
release builds is negligible---a size reduction of 0.1%.

Also, change namespace-level 'static const' variables to remove the static
storage class as it's the default.

R=danno@chromium.org
BUG=
TEST=

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

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

12 years agoWhen scavenging update source slot before migrating object it points to.
vegorov@chromium.org [Tue, 29 Nov 2011 10:02:38 +0000 (10:02 +0000)]
When scavenging update source slot before migrating object it points to.

Source slot might belong to a dead old object and we might allocate a new object over it when evacuating a new space object this slot points to. In this case if we update slot after migrating object we will write into migrated object.

R=erik.corry@gmail.com

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

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

12 years agoFix assertion while marking Harmony weak maps.
mstarzinger@chromium.org [Tue, 29 Nov 2011 08:48:51 +0000 (08:48 +0000)]
Fix assertion while marking Harmony weak maps.

R=erik.corry@gmail.com
BUG=v8:1845
TEST=mjsunit/harmony/proxies-example-membrane

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

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

12 years agoReapply "Fix the ScopeIterator reimplementation".
keuchel@chromium.org [Tue, 29 Nov 2011 08:43:14 +0000 (08:43 +0000)]
Reapply "Fix the ScopeIterator reimplementation".

This reapplies a fixed version of r10076 that also works on arm. Patch set one is r10076 reapplied and patch set 2 contains the new fix.

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

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

12 years agoMake let/const outside of the extended mode early errors (under harmony flag).
keuchel@chromium.org [Tue, 29 Nov 2011 06:38:04 +0000 (06:38 +0000)]
Make let/const outside of the extended mode early errors (under harmony flag).

The ES.next drafts require that source code that matches the productions for
let and const bindings outside the extended mode trigger early syntax
errors. This CL adapts the parser / preparser accordingly under the harmony
scoping flag.

Summary:
* Harmony scoping flag not set: Old semantics allowing const in classic mode
with function level scope. Const binding in strict mode and let bindings in
classic and strict mode trigger early syntax errors.
* Harmony scoping is set: Use new harmony const and let in
extended mode and old const in classic mode. This is to preserve
compatibility with current web pages that already use
non-standard implementations of const. An early syntax error is
thrown on const in strict mode and on let in classic and strict
mode.

This depends on:
http://codereview.chromium.org/8562002/

TEST=mjsunit/harmony/block-early-errors.js

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

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

12 years agoReintroduce fast path in full-codegen for VisitArrayLiteral.
danno@chromium.org [Mon, 28 Nov 2011 17:17:46 +0000 (17:17 +0000)]
Reintroduce fast path in full-codegen for VisitArrayLiteral.

BUG=none
TEST=none

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

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

12 years agoRevert r10076 due to arm build failures.
keuchel@chromium.org [Mon, 28 Nov 2011 14:01:13 +0000 (14:01 +0000)]
Revert r10076 due to arm build failures.

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

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

12 years agoThe ScopeIterator uses recorded scope position - as detailed in scopes.h - and
keuchel@chromium.org [Mon, 28 Nov 2011 12:47:39 +0000 (12:47 +0000)]
The ScopeIterator uses recorded scope position - as detailed in scopes.h - and
source code positions it gets from the program counter to recreate the scope
chain by reparsing the function or program.

This CL includes the following changes
* Adds source code positions for the assignment added by the rewriter.
* Run the preparser over global code first.
* Use the ScopeType from the ScopeInfo to determine if the code being debugged
  is eval, function or global code instead of looking up the '.result' symbol.

TEST=mjsunit/debug-stepout-scope.js

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

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

12 years agoDump counters sorted by name on d8 exit.
ulan@chromium.org [Mon, 28 Nov 2011 12:12:00 +0000 (12:12 +0000)]
Dump counters sorted by name on d8 exit.

BUG=
TEST=

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

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

12 years agoClean up JavaScript files to better follow coding standard.
lrn@chromium.org [Mon, 28 Nov 2011 12:11:00 +0000 (12:11 +0000)]
Clean up JavaScript files to better follow coding standard.

Multiline conditionals must use braces.
Semicolons are not optional.

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

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

12 years agoSkip test for known failure tracked by issue 1845.
mstarzinger@chromium.org [Mon, 28 Nov 2011 11:58:53 +0000 (11:58 +0000)]
Skip test for known failure tracked by issue 1845.

R=keuchel@chromium.org
BUG=v8:1845
TEST=mjsunit/harmony/proxies-example-membrane

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

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

12 years agoImplement high promotion mode for new space.
mstarzinger@chromium.org [Fri, 25 Nov 2011 14:41:38 +0000 (14:41 +0000)]
Implement high promotion mode for new space.

This mode drastically decreases pause times by limiting maximum capacity
of the young generation when mutators generate many long-lived objects.
It shrinks new space back to the initial capacity and keeps it at that
capacity until survival rate decreases again.

R=erik.corry@gmail.com

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

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

12 years agoShorten FP register pops where possible.
yangguo@chromium.org [Fri, 25 Nov 2011 14:26:54 +0000 (14:26 +0000)]
Shorten FP register pops where possible.

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

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

12 years agoAdd external strings support to regexp in generated code.
yangguo@chromium.org [Fri, 25 Nov 2011 14:04:47 +0000 (14:04 +0000)]
Add external strings support to regexp in generated code.

TEST=test/mjsunit/string-external-cached.js

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

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

12 years agoFixing build errors on arm.
yangguo@chromium.org [Fri, 25 Nov 2011 13:38:43 +0000 (13:38 +0000)]
Fixing build errors on arm.

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

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

12 years agoFix assertion broken by recent revision.
mstarzinger@chromium.org [Fri, 25 Nov 2011 13:21:56 +0000 (13:21 +0000)]
Fix assertion broken by recent revision.

R=yangguo@chromium.org
TEST=mjsunit/keyed-call-ic

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

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

12 years agoImplement Math.tan in generated code.
yangguo@chromium.org [Fri, 25 Nov 2011 13:15:31 +0000 (13:15 +0000)]
Implement Math.tan in generated code.

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

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

12 years agoDon't preparse large files to find boundaries of lazy functions.
lrn@chromium.org [Fri, 25 Nov 2011 09:36:31 +0000 (09:36 +0000)]
Don't preparse large files to find boundaries of lazy functions.

Instead use the preparser inline to parse only the lazy function
bodies.

This is still disabled for small files.
More measurements are needed to determine if lazy-compiling small
sources is worth it.

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

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

12 years agoCatch non-string subject in RegExpExecStub.
yangguo@chromium.org [Thu, 24 Nov 2011 18:36:24 +0000 (18:36 +0000)]
Catch non-string subject in RegExpExecStub.

There is no test case to trigger any crash. This is only to guard against the case that the native function is called with unsafe arguments.

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

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

12 years agoMake the parser track the language mode instead of keeping its own harmony flag.
keuchel@chromium.org [Thu, 24 Nov 2011 15:58:09 +0000 (15:58 +0000)]
Make the parser track the language mode instead of keeping its own harmony flag.

So far the parser had its own harmony flag to disable the harmony scoping
feature when parsing native functions. With the introduction of the extended
language mode this becomes unnecessary because native functions will never enter
the extended mode. The parser can thus track FLAG_harmony_scoping and the
language mode of the current scope to see if harmony features are allowed. The
scanner and preparser have to keep their flag, because they can't use
FLAG_harmony_scoping as it is not available for the preparser-process
executable.

This depends on:
http://codereview.chromium.org/8417035/

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

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

12 years agoIntroduce extended mode.
keuchel@chromium.org [Thu, 24 Nov 2011 15:17:04 +0000 (15:17 +0000)]
Introduce extended mode.

This CL introduces a third mode next to the non-strict
(henceforth called 'classic mode') and 'strict mode'
which is called 'extended mode' as in the current
ES.next specification drafts. The extended mode is based on
the 'strict mode' and adds new functionality to it. This
means that most of the semantics of these two modes
coincide.

The 'extended mode' is entered instead of the 'strict mode'
during parsing when using the 'strict mode' directive
"use strict" and when the the harmony-scoping flag is
active. This should be changed once it is fully specified how the 'extended mode' is entered.

This change introduces a new 3 valued enum LanguageMode
(see globals.h) corresponding to the modes which is mostly
used by the frontend code. This includes the following
components:
* (Pre)Parser
* Compiler
* SharedFunctionInfo, Scope and ScopeInfo
* runtime functions: StoreContextSlot,
  ResolvePossiblyDirectEval, InitializeVarGlobal,
  DeclareGlobals

The old enum StrictModeFlag is still used in the backend
when the distinction between the 'strict mode' and the 'extended mode' does not matter. This includes:
* SetProperty runtime function, Delete builtin
* StoreIC and KeyedStoreIC
* StubCache

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

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

12 years agoImplement crankshaft support for nested object literals.
mstarzinger@chromium.org [Thu, 24 Nov 2011 13:42:52 +0000 (13:42 +0000)]
Implement crankshaft support for nested object literals.

This generates optimized code for deep-copying of nested object literal
boilerplates which are statically known. Most of the boilerplates have
already been generated at crankshaft time, so this optimization should
kick in for virtually every object literal. Only nested object literal
graphs up to a certain depth and containing up to a certain total number
of properties are considered for this optimization. This will prevent
explosion of code size due to large object literals (e.g. eval on JSON).
Improves splay performance because object literals are created often.

R=fschneider@chromium.org

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

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

12 years agoAdd histogram timer scope for preparsing.
lrn@chromium.org [Thu, 24 Nov 2011 13:24:30 +0000 (13:24 +0000)]
Add histogram timer scope for preparsing.

Currently the parser benchmark doesn't count preparsing, since it doesn't
know when it's preparsing.

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

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

12 years agoPorting r10023 and r10054 to arm (pointer cache for external strings).
yangguo@chromium.org [Thu, 24 Nov 2011 11:07:39 +0000 (11:07 +0000)]
Porting r10023 and r10054 to arm (pointer cache for external strings).

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

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

12 years agoPorting r10023 and r10054 to x64 (pointer cache for external strings).
yangguo@chromium.org [Thu, 24 Nov 2011 10:16:39 +0000 (10:16 +0000)]
Porting r10023 and r10054 to x64 (pointer cache for external strings).

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

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

12 years agoUpstream Android V8 change.
jkummerow@chromium.org [Wed, 23 Nov 2011 17:32:34 +0000 (17:32 +0000)]
Upstream Android V8 change.

Fix the Mac build. "_toolset" needs to be tested inside target_conditions now.

And there is no need to have -llog any more.

Review URL: http://codereview.chromium.org/8631012
Patch from Jing Zhao <jingzhao@chromium.org>.

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

12 years agoARM: Implement code stub for object literal creation.
mstarzinger@chromium.org [Wed, 23 Nov 2011 15:01:20 +0000 (15:01 +0000)]
ARM: Implement code stub for object literal creation.

This just ports r10036 to the ARM codegenerator. Please see the original
revision for a detailed description.

R=erik.corry@gmail.com

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

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

12 years agoRefactor Heap::SymbolMapForString to use switch/case.
yangguo@chromium.org [Wed, 23 Nov 2011 13:31:26 +0000 (13:31 +0000)]
Refactor Heap::SymbolMapForString to use switch/case.

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

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

12 years agoRecommit introducing short external strings.
yangguo@chromium.org [Wed, 23 Nov 2011 13:08:28 +0000 (13:08 +0000)]
Recommit introducing short external strings.

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

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

12 years agoPrepare push to trunk. Now working on version 3.7.11.
mstarzinger@chromium.org [Wed, 23 Nov 2011 11:56:52 +0000 (11:56 +0000)]
Prepare push to trunk.  Now working on version 3.7.11.

R=jkummerow@chromium.org

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

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

12 years agoRolling back r10049 due to webkit failures.
yangguo@chromium.org [Wed, 23 Nov 2011 10:41:12 +0000 (10:41 +0000)]
Rolling back r10049 due to webkit failures.

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

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

12 years agoIntroduce short external strings without pointer cache.
yangguo@chromium.org [Wed, 23 Nov 2011 09:58:58 +0000 (09:58 +0000)]
Introduce short external strings without pointer cache.

BUG=
TEST=

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

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

12 years agoMIPS: Reduced the number of threads in cctest test-lockers.
ricow@chromium.org [Wed, 23 Nov 2011 08:36:03 +0000 (08:36 +0000)]
MIPS: Reduced the number of threads in cctest test-lockers.

Some MIPS boards could not handle the large number of threads and failed these tests.

BUG=
TEST=
Review URL: http://codereview.chromium.org/8506008

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

12 years agoDecrease number of threads in ExtensionRegistration tests for mips, current number...
ricow@chromium.org [Wed, 23 Nov 2011 08:06:13 +0000 (08:06 +0000)]
Decrease number of threads in ExtensionRegistration tests for mips, current number is causing OOMs.

This was fixed for arm in revision 10045
Review URL: http://codereview.chromium.org/8662003

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

12 years agoSet the code age field of SharedFunctionInfo correctly.
ulan@chromium.org [Tue, 22 Nov 2011 19:46:00 +0000 (19:46 +0000)]
Set the code age field of SharedFunctionInfo correctly.

BUG=
TEST=

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

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