platform/upstream/v8.git
11 years agoUnbreak Win64 build.
svenpanne@chromium.org [Wed, 17 Apr 2013 09:19:00 +0000 (09:19 +0000)]
Unbreak Win64 build.

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

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

11 years agoEnable Native Client build of V8.
jkummerow@chromium.org [Wed, 17 Apr 2013 08:27:40 +0000 (08:27 +0000)]
Enable Native Client build of V8.

These changes implement make targets nacl_ia32.check, nacl_x64.check,
and related debug/release targets.

BUG=2614

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

Patch from Brad Chen <bradchen@google.com>.

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

11 years agoMove StackTracer to sampler.h
yurys@chromium.org [Wed, 17 Apr 2013 07:53:12 +0000 (07:53 +0000)]
Move StackTracer to sampler.h

Apart from tests Sampler is the only client of StackTracer so it is logical to move it into sampler.h

BUG=None

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

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

11 years agoNuke SamplerRegistry
yurys@chromium.org [Wed, 17 Apr 2013 07:20:24 +0000 (07:20 +0000)]
Nuke SamplerRegistry

The registry is a simple list of active Samplers but uses additional Mutex. Useful parts were merged into SamplerThread, others removed completely.

BUG=None

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

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

11 years agoUnbreak ARM build.
svenpanne@chromium.org [Wed, 17 Apr 2013 06:43:15 +0000 (06:43 +0000)]
Unbreak ARM build.

TBR=rodolph.perfetta@gmail.com,ulan@chromium.org

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

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

11 years agoFixed evaluation order problem found by GCMole.
svenpanne@chromium.org [Wed, 17 Apr 2013 06:25:29 +0000 (06:25 +0000)]
Fixed evaluation order problem found by GCMole.

TBR=mvstanton@chromium.org

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

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

11 years agoMIPS: Handle OOM failures correctly in the CEntryStub when embedders set V8::IgnoreOu...
palfia@homejinni.com [Tue, 16 Apr 2013 21:35:42 +0000 (21:35 +0000)]
MIPS: Handle OOM failures correctly in the CEntryStub when embedders set V8::IgnoreOutOfMemoryException()

Port r14279 (81829ab4)

BUG=

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

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

11 years agoRevert the commits adding new GC-related APIs.
mstarzinger@chromium.org [Tue, 16 Apr 2013 16:37:04 +0000 (16:37 +0000)]
Revert the commits adding new GC-related APIs.

We need to solve efficiency problems first.

This reverts the following revisions: 14283 14286 14221 14215

BUG=

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

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

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

11 years agoMore ARM GYP fixes
jkummerow@chromium.org [Tue, 16 Apr 2013 15:36:11 +0000 (15:36 +0000)]
More ARM GYP fixes

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

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

11 years agoFix ARM specific GYP variables
jkummerow@chromium.org [Tue, 16 Apr 2013 15:17:27 +0000 (15:17 +0000)]
Fix ARM specific GYP variables

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

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

11 years agoFix shared library build of preparser: properly #undef V8EXPORT
jkummerow@chromium.org [Tue, 16 Apr 2013 14:55:45 +0000 (14:55 +0000)]
Fix shared library build of preparser: properly #undef V8EXPORT

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

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

11 years agoFix compilation failure on Win64 since r14285.
mstarzinger@chromium.org [Tue, 16 Apr 2013 14:55:09 +0000 (14:55 +0000)]
Fix compilation failure on Win64 since r14285.

R=dslomov@chromium.org

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

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

11 years agoARM: Makefile/gyp update allowing better control of ARM specific options.
rodolph.perfetta@gmail.com [Tue, 16 Apr 2013 14:39:48 +0000 (14:39 +0000)]
ARM: Makefile/gyp update allowing better control of ARM specific options.

This patch defines new makefile command line paramaters to better control the
ARM specific options. The new paramters are
 * armfpu      = vfp, vfpv3-d16, vfpv3, neon.
 * armfloatabi = softfp, hard
 * armneon     = on
 * armthumb    = on, off
 * armtest     = on
One existing paratemer has been modified:
 * armv7       = true, false
A number of parameters have been deprecated (but are still working):
 * hardfp      = on, off
 * vfp2        = off
 * vfp3        = off

the armtest paratmer when set to "on" will lock the options used during compile
time at runtime. This allows for example to easily test the ARMv6 build on an
ARMv7 platform without having to worry about features detected at runtime. When
not specified the compiler default will be used meaning it is not necessary
anymore to specify hardfp=on when natively building on an hardfp platform.

The shell help now prints the target options and features detected.

BUG=none
TEST=none

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

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

11 years agoRelease build fix
dslomov@chromium.org [Tue, 16 Apr 2013 14:34:02 +0000 (14:34 +0000)]
Release build fix

TBR=rossberg@chromium.org
BUG=

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

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

11 years agoBuild error fix after r14283.
jkummerow@chromium.org [Tue, 16 Apr 2013 14:24:31 +0000 (14:24 +0000)]
Build error fix after r14283.

BUG=NONE

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

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

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

11 years agoFirst cut at impementing ES6 TypedArrays in V8.
dslomov@chromium.org [Tue, 16 Apr 2013 14:16:30 +0000 (14:16 +0000)]
First cut at impementing ES6 TypedArrays in V8.

BUG=

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

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

11 years agoFix Windows build
jkummerow@chromium.org [Tue, 16 Apr 2013 13:17:47 +0000 (13:17 +0000)]
Fix Windows build

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

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

11 years agoNew GC related APIs: Implicit references.
mstarzinger@chromium.org [Tue, 16 Apr 2013 12:57:01 +0000 (12:57 +0000)]
New GC related APIs: Implicit references.

When using these APIs, the embedder doesn't need to copy Persistent handles around.

BUG=NONE

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

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

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

11 years agoMake gyp work with Cygwin
jkummerow@chromium.org [Tue, 16 Apr 2013 12:36:44 +0000 (12:36 +0000)]
Make gyp work with Cygwin

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

Patch from Haitao Feng <haitao.feng@intel.com>.

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

11 years agoRemove bogus CPU scope.
yangguo@chromium.org [Tue, 16 Apr 2013 12:33:39 +0000 (12:33 +0000)]
Remove bogus CPU scope.

R=mvstanton@chromium.org
BUG=

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

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

11 years agoReplace OS::MemCopy with OS::MemMove (just as fast but more flexible).
jkummerow@chromium.org [Tue, 16 Apr 2013 12:30:51 +0000 (12:30 +0000)]
Replace OS::MemCopy with OS::MemMove (just as fast but more flexible).

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

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

11 years agoHandle OOM failures correctly in the CEntryStub when embedders set V8::IgnoreOutOfMem...
jkummerow@chromium.org [Tue, 16 Apr 2013 12:16:55 +0000 (12:16 +0000)]
Handle OOM failures correctly in the CEntryStub when embedders set V8::IgnoreOutOfMemoryException()

BUG=chromium:231217

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

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

11 years agopthreads seem to be fully supported on Linux and Android which allows to remove many...
yurys@chromium.org [Tue, 16 Apr 2013 12:06:43 +0000 (12:06 +0000)]
pthreads seem to be fully supported on Linux and Android which allows to remove many #ifdefs.

Also OS::Sleep(interval_) is used to pause sampling thread on all platforms. It makes no sense to send signal once 900mks to compensate 100mks delay on signal delivery as the signals would be delivered once 900mks.

BUG=None

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

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

11 years agoMIPS: Remove soft-float support.
palfia@homejinni.com [Tue, 16 Apr 2013 11:33:02 +0000 (11:33 +0000)]
MIPS:  Remove soft-float support.

Port r14159 (0c64645)

Original commit message:
Remove ARM support for VFP2

BUG=

TEST=

Review URL: https://codereview.chromium.org/14113011
Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.

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

11 years agoFix bug introduced by r13960.
vegorov@chromium.org [Tue, 16 Apr 2013 11:31:04 +0000 (11:31 +0000)]
Fix bug introduced by r13960.

Allocator does not backtrack thus during allocation we must not create an unhandled live
range which starts before the start of the current live range.

If such range is added to the list of unhandled it might see an inconsistent state of active/inactive live-ranges as they are retired to handled as soon as start of the current live range is larger than their end.

Add assertion to catch this kind of bugs early.

TEST=NavierStokes does not fail on ARM

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

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

11 years agoRemove relocation lock.
yangguo@chromium.org [Tue, 16 Apr 2013 11:00:02 +0000 (11:00 +0000)]
Remove relocation lock.

Freeze HValue hash codes that are based on object addresses.

R=svenpanne@chromium.org
BUG=

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

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

11 years agoThis change is a continuation of the refactoring started in r14265.
yurys@chromium.org [Tue, 16 Apr 2013 08:54:33 +0000 (08:54 +0000)]
This change is a continuation of the refactoring started in r14265.

Renamed SignalSender to SamplerThread to match platforms that don't support signal sending.

Cygwin and Windows implementations are almost identical. Mac OS X uses different API to suspend thread but apart from that it is very similar to Windows implenenation.

BUG=None

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

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

11 years agoARM: Enable VFP default NaN mode
m.m.capewell@googlemail.com [Mon, 15 Apr 2013 15:55:47 +0000 (15:55 +0000)]
ARM: Enable VFP default NaN mode

BUG=none
TEST=Default NaN tests added to test-assembler-arm.

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

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

11 years agoFix OOB write in --print-code.
yangguo@chromium.org [Mon, 15 Apr 2013 15:19:51 +0000 (15:19 +0000)]
Fix OOB write in --print-code.

R=jkummerow@chromium.org
BUG=v8:2624

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

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

11 years agoIncrease profiling interval in test-cpu-profiler/CollectCpuProfile to 500ms on Windows
yurys@chromium.org [Mon, 15 Apr 2013 14:45:38 +0000 (14:45 +0000)]
Increase profiling interval in test-cpu-profiler/CollectCpuProfile to 500ms on Windows

BUG=v8:2628

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

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

11 years agoMove *BSD and Solaris Sampler implementation into sampler.cc
yurys@chromium.org [Mon, 15 Apr 2013 13:57:41 +0000 (13:57 +0000)]
Move *BSD and Solaris Sampler implementation into sampler.cc

This is a first step to having profiler sampler implementation in one file with platform capabilities guarded with #ifdef. Otherwise we have very similar implementations scattered over platform-*.cc files which makes it hard to see differences and make changes.

The next steps will be to merge win32, Mac OS X and Cygwin implementations into sampler.cc They suspend profiled thread instead of sending a signal but apart from that the logic is pretty much the same. Then I'm going to move sampler-related code from log.* into sampler.*

BUG=None

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

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

11 years agoCalling a generator function returns a generator object
mstarzinger@chromium.org [Mon, 15 Apr 2013 12:29:44 +0000 (12:29 +0000)]
Calling a generator function returns a generator object

* src/heap.h:
* src/heap.cc:
* src/objects-debug.cc:
* src/objects-inl.h:
* src/objects-printer.cc:
* src/objects-visiting.cc:
* src/objects.cc:
* src/objects.h: Define a new object type, JSGeneratorObject.

* src/factory.h:
* src/factory.cc (NewFunctionFromSharedFunctionInfo): Generator function
  inital maps construct the new JS_GENERATOR_OBJECT_TYPE objects, not
  generic JSObjects.

* src/runtime.h:
* src/runtime.cc (Runtime_CreateJSGeneratorObject):
* src/arm/full-codegen-arm.cc (Generate):
* src/ia32/full-codegen-ia32.cc (Generate):
* src/x64/full-codegen-x64.cc (Generate): Before visiting generator
  bodies, arrange to construct and return a generator object.

* test/mjsunit/harmony/generators-objects.js: Add tests for the
  properties and prototype of generator objects.

BUG=v8:2355
TEST=mjsunit/harmony/generators-objects

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

Patch from Andy Wingo <wingo@igalia.com>.

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

11 years agoFix so that you can run presubmit.py in Windows.
yangguo@chromium.org [Mon, 15 Apr 2013 12:21:05 +0000 (12:21 +0000)]
Fix so that you can run presubmit.py in Windows.
presubmit.py tried to execute cpplint.py directly, but in Windows it's the shell that connects that to the python binary so the execution (subprocess.Popen) needs to be told how to find python. An alternative would be to call subprocess.Popen with shell=True but this is less dangerous.

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

Patch from Daniel Bratell <bratell@opera.com>.

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

11 years agoImplement direct allocation in old data space infrastructure.
hpayer@chromium.org [Mon, 15 Apr 2013 11:52:34 +0000 (11:52 +0000)]
Implement direct allocation in old data space infrastructure.

BUG=

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

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

11 years agoA little code refactoring on VirtualMemory::Commit for platform-win32
svenpanne@chromium.org [Mon, 15 Apr 2013 10:40:25 +0000 (10:40 +0000)]
A little code refactoring on VirtualMemory::Commit for platform-win32

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

Patch from Haitao Feng <haitao.feng@intel.com>.

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

11 years agoActually implement the sqrt intrinsic in Crankshaft
svenpanne@chromium.org [Mon, 15 Apr 2013 10:36:12 +0000 (10:36 +0000)]
Actually implement the sqrt intrinsic in Crankshaft

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

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

11 years agoHomogenizes map checks for all polymorphic named field loads.
dslomov@chromium.org [Mon, 15 Apr 2013 09:05:50 +0000 (09:05 +0000)]
Homogenizes map checks for all polymorphic named field loads.
Tests show no perf regressions

BUG=

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

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

11 years agoMinGW: Add Cygwin-free Makefile generation script
jkummerow@chromium.org [Mon, 15 Apr 2013 08:43:18 +0000 (08:43 +0000)]
MinGW: Add Cygwin-free Makefile generation script

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

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

11 years agoMake gyp work with MingW32
jkummerow@chromium.org [Mon, 15 Apr 2013 08:33:31 +0000 (08:33 +0000)]
Make gyp work with MingW32

Review URL: https://codereview.chromium.org/13468015
Patch from Haitao Feng <haitao.feng@intel.com>.

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

11 years agoMIPS: Enable pretenuring of fast literals in high promotion mode.
palfia@homejinni.com [Fri, 12 Apr 2013 17:06:23 +0000 (17:06 +0000)]
MIPS: Enable pretenuring of fast literals in high promotion mode.

Port r14248 (144e215a)

BUG=

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

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

11 years agoSwitch generator builtins into strict mode.
mstarzinger@chromium.org [Fri, 12 Apr 2013 15:52:44 +0000 (15:52 +0000)]
Switch generator builtins into strict mode.

R=rossberg@chromium.org

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

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

11 years agoARM: Small copy optimization. Copying 64bits at a time.
rodolph.perfetta@gmail.com [Fri, 12 Apr 2013 14:46:43 +0000 (14:46 +0000)]
ARM: Small copy optimization. Copying 64bits at a time.

BUG=none
TEST=none

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

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

11 years agoIntel VTune integration for V8/d8
danno@chromium.org [Fri, 12 Apr 2013 12:48:27 +0000 (12:48 +0000)]
Intel VTune integration for V8/d8

In this patch, we added the JIT code event handler for Vtune. Most of the code is in the
folder src/third_party/vtune. Two APIs are added in include/v8.h to get the requirement info
from V8.

We add the v8_enable_vtunejit parameter for GYP to enable these Vtune code compilation.
vTune::InitilizeVtuneForV8() is invoked in the embedder of V8 to make sure it's invokded if
vtune support is enabled.

Review URL: https://codereview.chromium.org/11574031
Patch from Chunyang Dai <chunyang.dai@intel.com>.

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

11 years agoRemove code that analyzes tos values from tickprocessor
yurys@chromium.org [Fri, 12 Apr 2013 11:20:22 +0000 (11:20 +0000)]
Remove code that analyzes tos values from tickprocessor

Assuming that the value on top of stack is return address for a frameless invocation is error-prone. Corresponding logic was removed from profile-generator.cc in r14205 (see https://code.google.com/p/v8/source/diff?spec=svn14205&r=14205&format=side&path=/branches/bleeding_edge/src/profile-generator.cc) and now it is time to remove it from the tick processor.

Since the tos is not used anymore by profiler it is also removed from TickSample.

BUG=None

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

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

11 years agoTurn off pre-tenuring of fast literals when we turn off high promotion mode.
hpayer@chromium.org [Fri, 12 Apr 2013 11:14:48 +0000 (11:14 +0000)]
Turn off pre-tenuring of fast literals when we turn off high promotion mode.

BUG=

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

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

11 years agoUnified the structure of VirtualMemory implementations across platforms a bit.
svenpanne@chromium.org [Fri, 12 Apr 2013 11:10:19 +0000 (11:10 +0000)]
Unified the structure of VirtualMemory implementations across platforms a bit.

This is just shuffling some code around to make comparing the platform files easier.

Made cygwin/nullos support a bit more complete on the way.

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

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

11 years agoAdd tests for GlobalHandles::IterateObjectGroups.
mstarzinger@chromium.org [Fri, 12 Apr 2013 09:54:51 +0000 (09:54 +0000)]
Add tests for GlobalHandles::IterateObjectGroups.

BUG=none
TEST=cctest/test-global-handles

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

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

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

11 years agoEnable pretenuring of fast literals in high promotion mode.
hpayer@chromium.org [Fri, 12 Apr 2013 09:45:46 +0000 (09:45 +0000)]
Enable pretenuring of fast literals in high promotion mode.

BUG=

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

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

11 years agoFix preparser build with snapshot=off
jkummerow@chromium.org [Fri, 12 Apr 2013 09:44:08 +0000 (09:44 +0000)]
Fix preparser build with snapshot=off

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

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

11 years agoRemove unnecessary BailoutIds.
hpayer@chromium.org [Fri, 12 Apr 2013 09:36:56 +0000 (09:36 +0000)]
Remove unnecessary BailoutIds.

BUG=

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

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

11 years agoMIPS: Fix register usage in commit r14239.
palfia@homejinni.com [Fri, 12 Apr 2013 09:25:04 +0000 (09:25 +0000)]
MIPS: Fix register usage in commit r14239.

BUG=

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

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

11 years agoRemove preparser library; link preparser executable against full V8
jkummerow@chromium.org [Fri, 12 Apr 2013 09:05:49 +0000 (09:05 +0000)]
Remove preparser library; link preparser executable against full V8

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

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

11 years agoSupport full deoptimization during GC via stack guard.
mstarzinger@chromium.org [Fri, 12 Apr 2013 08:58:22 +0000 (08:58 +0000)]
Support full deoptimization during GC via stack guard.

This adds support to the stack guard to trigger a full deoptimization of
all optimized code when the GC kicks into high promotion mode. Global
pretenuring decisions in optimized code can then be based on the high
promotion mode.

R=ulan@chromium.org

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

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

11 years agoFix detection of indexed properties in Object.defineProperty()
mstarzinger@chromium.org [Fri, 12 Apr 2013 08:45:14 +0000 (08:45 +0000)]
Fix detection of indexed properties in Object.defineProperty()

When defining an indexed property on an Array object, the object's
length property should (perhaps) be updated.  This was done for any
property for which

  ToUInt32(name) == ToNumber(name)

was true, meaning any property name that, when converted to a number,
was an integer in the range [0, 2^32).  The detection should be more
strict; an indexed property is one for which

  ToString(ToUInt32(name)) == name

is true only.

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

Patch from Jens Lindström <jl@opera.com>.

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

11 years agoSeparate calculation of double element and object element sizes in IsFastLiteral.
hpayer@chromium.org [Fri, 12 Apr 2013 08:42:17 +0000 (08:42 +0000)]
Separate calculation of double element and object element sizes in IsFastLiteral.

BUG=

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

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

11 years agoReduce verbosity of hydrogen instructions with OSEs.
mstarzinger@chromium.org [Fri, 12 Apr 2013 07:59:13 +0000 (07:59 +0000)]
Reduce verbosity of hydrogen instructions with OSEs.

R=hpayer@chromium.org

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

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

11 years agoMIPS: Accurate function prototypes for native calls from ARM simulator.
plind44@gmail.com [Fri, 12 Apr 2013 02:01:52 +0000 (02:01 +0000)]
MIPS: Accurate function prototypes for native calls from ARM simulator.

Port r14230 (76c22097)

Original commit message:
Native method invocation from the arm/simulator-arm.cc previously made
non-portable assumptions about calling conventions. This was okay for 32-bit
stack-based machines, where by-value structs are automatically materialized
on the stack, and where both int and double parameters could be passed on the
stack. However they are not okay for x86-64, which has an elaborate scheme
for passing parameters in registers.

This CL replaces the previous non-portable code paths with portable code,
using call-sites that accurately match the prototype of the callee.

BUG=

Review URL: https://codereview.chromium.org/13989008
Patch from Akos Palfi <palfia@homejinni.com>.

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

11 years agoMIPS: * src/generator.js: Add methods and intialization for generator meta-objects.
palfia@homejinni.com [Thu, 11 Apr 2013 23:25:08 +0000 (23:25 +0000)]
MIPS: * src/generator.js: Add methods and intialization for generator meta-objects.

Port r14236 (7d56d7c5)

Original commit message:
* src/generator.js: Add methods and intialization for generator meta-objects.

* src/contexts.h:
* src/bootstrapper.cc (InitializeExperimentalGlobal): Make generator
  meta-objects, and store maps for constructing generator functions
  and their prototypes.

* src/factory.h:
* src/factory.cc (MapForNewFunction): New helper.
  (NewFunctionFromSharedFunctionInfo): Use the new helper.

* src/heap.cc (AllocateFunctionPrototype, AllocateInitialMap): For
   generators, allocate appropriate prototypes and maps.

* src/code-stubs.h:
* src/arm/code-stubs-arm.h:
* src/arm/full-codegen-arm.h:
* src/ia32/code-stubs-ia32.h:
* src/ia32/full-codegen-ia32.h:
* src/x64/code-stubs-x64.h:
* src/x64/full-codegen-x64.h: Allow fast closure creation for generators,
using the appropriate map.

* test/mjsunit/harmony/builtins.js: Add a special case for
  GeneratorFunctionPrototype.prototype.__proto__.

BUG=

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

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

11 years agoMIPS: Disentangle field from transition stores.
palfia@homejinni.com [Thu, 11 Apr 2013 23:22:08 +0000 (23:22 +0000)]
MIPS: Disentangle field from transition stores.

Port r14223 (c6460cd6)

BUG=

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

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

11 years ago* src/generator.js: Add methods and intialization for generator meta-objects.
rossberg@chromium.org [Thu, 11 Apr 2013 16:28:19 +0000 (16:28 +0000)]
* src/generator.js: Add methods and intialization for generator meta-objects.

* src/contexts.h:
* src/bootstrapper.cc (InitializeExperimentalGlobal): Make generator
  meta-objects, and store maps for constructing generator functions
  and their prototypes.

* src/factory.h:
* src/factory.cc (MapForNewFunction): New helper.
  (NewFunctionFromSharedFunctionInfo): Use the new helper.

* src/heap.cc (AllocateFunctionPrototype, AllocateInitialMap): For
   generators, allocate appropriate prototypes and maps.

* src/code-stubs.h:
* src/arm/code-stubs-arm.h:
* src/arm/full-codegen-arm.h:
* src/ia32/code-stubs-ia32.h:
* src/ia32/full-codegen-ia32.h:
* src/x64/code-stubs-x64.h:
* src/x64/full-codegen-x64.h: Allow fast closure creation for generators,
using the appropriate map.

* test/mjsunit/harmony/builtins.js: Add a special case for
  GeneratorFunctionPrototype.prototype.__proto__.

BUG=
TEST=mjsunit/harmony/generators-runtime

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

Patch from Andy Wingo <wingo@igalia.com>.

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

11 years agoFix cctest/test-cpu-profiler/CollectCpuProfile test on Arm and MIPS simulators
yurys@chromium.org [Thu, 11 Apr 2013 14:22:04 +0000 (14:22 +0000)]
Fix cctest/test-cpu-profiler/CollectCpuProfile test on Arm and MIPS simulators

Signal handler on simulator now retrieve registers from the simulator not from the host machine.

BUG=v8:2621

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

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

11 years agoMove creation of collection prototypes into JavaScript.
mstarzinger@chromium.org [Thu, 11 Apr 2013 13:31:51 +0000 (13:31 +0000)]
Move creation of collection prototypes into JavaScript.

R=rossberg@chromium.org

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

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

11 years agoSeparate Math Lithium operations.
svenpanne@chromium.org [Thu, 11 Apr 2013 13:27:06 +0000 (13:27 +0000)]
Separate Math Lithium operations.

This makes the logic in the Hydrogen->Lithium translation much clearer, avoids a
hand-written dispatch and even opened up opportunities for simpler register
constraints for some operations/platforms.

Doing the same for the Hydrogen level might be done in a follow-up CL.

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

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

11 years agoAdded non observable side effects scope and removed unnecessary calls to AddSimulate.
hpayer@chromium.org [Thu, 11 Apr 2013 13:07:37 +0000 (13:07 +0000)]
Added non observable side effects scope and removed unnecessary calls to AddSimulate.

BUG=

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

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

11 years agoRun style checks also when uploading.
jkummerow@chromium.org [Thu, 11 Apr 2013 12:41:31 +0000 (12:41 +0000)]
Run style checks also when uploading.

The right moment for fixing style errors is when working on the CL, not when
committing it. And this makes non-committers bump into this check too when
uploading changes.

BUG=none

Review URL: https://codereview.chromium.org/14070005
Patch from Marja Hölttä <marja@chromium.org>.

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

11 years agoAccurate function prototypes for native calls from ARM simulator.
ulan@chromium.org [Thu, 11 Apr 2013 12:40:37 +0000 (12:40 +0000)]
Accurate function prototypes for native calls from ARM simulator.

Native method invocation from the arm/simulator-arm.cc previously made
non-portable assumptions about calling conventions. This was okay for 32-bit
stack-based machines, where by-value structs are automatically materialized
on the stack, and where both int and double parameters could be passed on the
stack. However they are not okay for x86-64, which has an elaborate scheme
for passing parameters in registers.

This CL replaces the previous non-portable code paths with portable code,
using call-sites that accurately match the prototype of the callee.

BUG=2614

Review URL: https://chromiumcodereview.appspot.com/13818012
Patch from Brad Chen <bradchen@google.com>.

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

11 years agoFix set-up of intrinsic's 'constructor' properties
rossberg@chromium.org [Thu, 11 Apr 2013 12:27:55 +0000 (12:27 +0000)]
Fix set-up of intrinsic's 'constructor' properties

Looks so easy...

R=mstarzinger@chromium.org
BUG=229445

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

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

11 years agoMove global code for builtins into setup functions.
mstarzinger@chromium.org [Thu, 11 Apr 2013 12:15:25 +0000 (12:15 +0000)]
Move global code for builtins into setup functions.

R=rossberg@chromium.org

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

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

11 years agoIA32: Small assembler tweak for divsd->mulsd sequence
yangguo@chromium.org [Thu, 11 Apr 2013 10:48:46 +0000 (10:48 +0000)]
IA32: Small assembler tweak for divsd->mulsd sequence

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

Patch from Zheng Liu <zheng.z.liu@intel.com>.

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

11 years agoFix JSON.stringify's slow path wrt sliced strings.
yangguo@chromium.org [Thu, 11 Apr 2013 09:53:00 +0000 (09:53 +0000)]
Fix JSON.stringify's slow path wrt sliced strings.

R=mvstanton@chromium.org
BUG=229923

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

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

11 years agoDisentangle field from transition stores.
verwaest@chromium.org [Thu, 11 Apr 2013 09:48:03 +0000 (09:48 +0000)]
Disentangle field from transition stores.

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

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

11 years agoTemporarily disable CollectCpuProfile on MIPS, it doesn't work in the simulator
svenpanne@chromium.org [Thu, 11 Apr 2013 09:25:43 +0000 (09:25 +0000)]
Temporarily disable CollectCpuProfile on MIPS, it doesn't work in the simulator

TBR=yurys@chromium.org
BUG=v8:2621

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

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

11 years agoFix build failures on Win64 since r14215.
mstarzinger@chromium.org [Thu, 11 Apr 2013 08:08:09 +0000 (08:08 +0000)]
Fix build failures on Win64 since r14215.

R=svenpanne@chromium.org

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

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

11 years agoMIPS: Build fast literals in hydrogen.
palfia@homejinni.com [Thu, 11 Apr 2013 00:52:22 +0000 (00:52 +0000)]
MIPS: Build fast literals in hydrogen.

Port r14211 (8d6dfcb6)

BUG=

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

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

11 years agoMIPS: Fix OSR for nested loops.
palfia@homejinni.com [Thu, 11 Apr 2013 00:50:58 +0000 (00:50 +0000)]
MIPS: Fix OSR for nested loops.

Port r14202 (b8949f01), r14208 (06cc8568)

BUG=

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

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

11 years agoMIPS: Use PrintF instead of fprintf.
palfia@homejinni.com [Thu, 11 Apr 2013 00:48:18 +0000 (00:48 +0000)]
MIPS: Use PrintF instead of fprintf.

Port r14200 (6ecb8f41), r14204 (08ba63c0)

BUG=

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

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

11 years agoAdd support for JUnit compatible XML output in the new test runner.
palfia@homejinni.com [Thu, 11 Apr 2013 00:22:26 +0000 (00:22 +0000)]
Add support for JUnit compatible XML output in the new test runner.

Implement a new output method in run-tests.py which
outputs JUnit compatible XML status information.

BUG=

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

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

11 years agoMark non-isolatified profiler API as V8_DEPRECATED
yurys@chromium.org [Wed, 10 Apr 2013 15:29:05 +0000 (15:29 +0000)]
Mark non-isolatified profiler API as V8_DEPRECATED

BUG=None

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

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

11 years agoNew GC related APIs.
mstarzinger@chromium.org [Wed, 10 Apr 2013 14:53:03 +0000 (14:53 +0000)]
New GC related APIs.

When using these APIs, the embedder doesn't need to copy Persistent handles around.

BUG=NONE

Review URL: https://codereview.chromium.org/13786002
Patch from Marja Hölttä <marja@chromium.org>.

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

11 years agoRemove profiler thread related methods from RuntimeProfiler
yurys@chromium.org [Wed, 10 Apr 2013 14:41:43 +0000 (14:41 +0000)]
Remove profiler thread related methods from RuntimeProfiler

Now that V8 doesn't use sampling thread for optimizations
the methods can be removed.

BUG=None

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

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

11 years agoStack traversal doesn't work properly on Arm simulator so disabling the test there.
yurys@chromium.org [Wed, 10 Apr 2013 14:31:13 +0000 (14:31 +0000)]
Stack traversal doesn't work properly on Arm simulator so disabling the test there.

BUG=2621

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

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

11 years agoDisable broken tests for now to get ARM simulator bots green again.
svenpanne@chromium.org [Wed, 10 Apr 2013 14:09:16 +0000 (14:09 +0000)]
Disable broken tests for now to get ARM simulator bots green again.

TBR=yurys@chromium.org
BUG=v8:2621

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

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

11 years agoBuild fast literals in hydrogen.
hpayer@chromium.org [Wed, 10 Apr 2013 13:52:08 +0000 (13:52 +0000)]
Build fast literals in hydrogen.

BUG=

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

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

11 years agoES6 symbols: extend V8 API to support symbols
rossberg@chromium.org [Wed, 10 Apr 2013 12:16:29 +0000 (12:16 +0000)]
ES6 symbols: extend V8 API to support symbols

Specifically:
- Introduce Symbol and SymbolObject classes.
- Generalise Object::Has and Object::Delete to arbitrary Value-typed keys.
- Generalise some places in the API implementation from String to Name.

It is not possible to intercept symbol-named properties. That is consistent with the idea that symbols are private and should not leak.

R=svenpanne@chromium.org
BUG=v8:2158

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

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

11 years agoRename target-specific binaries built for host.
jkummerow@chromium.org [Wed, 10 Apr 2013 10:42:54 +0000 (10:42 +0000)]
Rename target-specific binaries built for host.

Rename v8_base, v8_nosnapshot, and mksnapshot to include a suffix of
.<(v8_target_arch). This allows multiple target architectures to be
built in the Android build system, which uses a single shared directory
structure for building host binaries.

BUG=

Review URL: https://codereview.chromium.org/12790011
Patch from Richard Coles <torne@chromium.org>.

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

11 years agoFix some more ARM build issues.
yangguo@chromium.org [Wed, 10 Apr 2013 10:31:19 +0000 (10:31 +0000)]
Fix some more ARM build issues.

R=jkummerow@chromium.org
BUG=

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

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

11 years agoOn-the-fly bookkeeping of PagedSpace memory kept in free-lists.
hpayer@chromium.org [Wed, 10 Apr 2013 10:24:24 +0000 (10:24 +0000)]
On-the-fly bookkeeping of PagedSpace memory kept in free-lists.

BUG=

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

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

11 years agoPut common case first
rossberg@chromium.org [Wed, 10 Apr 2013 09:53:43 +0000 (09:53 +0000)]
Put common case first

This might fix a 2% regression that we might be observing for CL 14128.

R=verwaest@chromium.org
BUG=

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

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

11 years agoAdd sanity test for CPU profiler
yurys@chromium.org [Wed, 10 Apr 2013 09:47:44 +0000 (09:47 +0000)]
Add sanity test for CPU profiler

The new test checks full CPU profiling cycle: using public
V8 API it starts profiling, executes a script, stops profiling
and analyzes collected profile to check that its top-down
tree has expected strutcture. The script that is being profiled
is guaranteed to run > 200ms to make sure enough samples
are collected.

To avoid possible flakiness due to non-deterministic time required
to start new thread on varios OSs when Sampler and ProfilerEventsProcessor
threads are being started the main thread is blocked until the threads
are running.

Also I removed the heuristic in profile-generator.cc where we try
to figure out if the value on top of the sampled stack is return address
of some frameless stub invocation. The code periodically gives false positive
with the new test ending up in an extra node in the collected cpu profile.
After discussion with jkummerow@ we concluded that the logic is too fragile
and that we can address frameless stub invocations in a more reliable way
later should they have a noticeable effect on cpu profiling.

BUG=None

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

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

11 years agoFix ARM build.
yangguo@chromium.org [Wed, 10 Apr 2013 09:35:11 +0000 (09:35 +0000)]
Fix ARM build.

R=ulan@chromium.org
BUG=

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

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

11 years agoChange Context::New to not create persistent handles.
mstarzinger@chromium.org [Wed, 10 Apr 2013 09:34:37 +0000 (09:34 +0000)]
Change Context::New to not create persistent handles.

This moves the responsibility of putting a new context into a persistent
handle to the embedder. Also it removes one API function where the copy
constructor for persistent handles is needed.

R=svenpanne@chromium.org

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

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

11 years agoFix OSR for nested loops.
yangguo@chromium.org [Wed, 10 Apr 2013 09:24:31 +0000 (09:24 +0000)]
Fix OSR for nested loops.

R=jkummerow@chromium.org
BUG=v8:2618

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

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

11 years agoRevert "On-the-fly bookkeeping of PagedSpace memory kept in free-lists."
mstarzinger@chromium.org [Wed, 10 Apr 2013 09:19:18 +0000 (09:19 +0000)]
Revert "On-the-fly bookkeeping of PagedSpace memory kept in free-lists."

This reverts r14197 because of tes failures accross the board.

R=svenpanne@chromium.org

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

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

11 years agoUse PrintF instead of fprintf.
yangguo@chromium.org [Wed, 10 Apr 2013 09:18:41 +0000 (09:18 +0000)]
Use PrintF instead of fprintf.

R=sven@chromium.org
BUG=

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

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

11 years agoUnify the way cctest initalizes the VM for each test case.
mstarzinger@chromium.org [Wed, 10 Apr 2013 08:29:39 +0000 (08:29 +0000)]
Unify the way cctest initalizes the VM for each test case.

R=svenpanne@chromium.org

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

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

11 years agoGDBJIT: Use runtime_zone to fix --gdbjit_full
mstarzinger@chromium.org [Wed, 10 Apr 2013 08:10:51 +0000 (08:10 +0000)]
GDBJIT: Use runtime_zone to fix --gdbjit_full

R=yangguo@chromium.org
BUG=v8:2608

Review URL: https://codereview.chromium.org/13813014
Patch from Haitao Feng <haitao.feng@intel.com>.

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

11 years agoOn-the-fly bookkeeping of PagedSpace memory kept in free-lists.
hpayer@chromium.org [Wed, 10 Apr 2013 08:07:58 +0000 (08:07 +0000)]
On-the-fly bookkeeping of PagedSpace memory kept in free-lists.

BUG=

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

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

11 years agoUnbreak mipsel.debug.check
svenpanne@chromium.org [Wed, 10 Apr 2013 07:25:22 +0000 (07:25 +0000)]
Unbreak mipsel.debug.check

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

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

11 years agoMIPS: Activate generation of Crankshafted KeyedStores
palfia@homejinni.com [Wed, 10 Apr 2013 05:47:22 +0000 (05:47 +0000)]
MIPS: Activate generation of Crankshafted KeyedStores

Port r14186 (ac288c29)

BUG=

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

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

11 years agoMIPS: Always check global property cells for readonliness before storing. Add check...
palfia@homejinni.com [Wed, 10 Apr 2013 05:46:09 +0000 (05:46 +0000)]
MIPS: Always check global property cells for readonliness before storing. Add check when the global object is the last in the chain.

Port r14173 (97683cb2)

BUG=

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

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