danno@chromium.org [Fri, 19 Apr 2013 13:20:45 +0000 (13:20 +0000)]
Remove unused member variables in IfBuilder
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
14328042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14351
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 19 Apr 2013 12:46:32 +0000 (12:46 +0000)]
Switch GCMole to use GYP build file instead of SCons.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
14320024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14350
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 19 Apr 2013 12:02:12 +0000 (12:02 +0000)]
Simplified LCodeGen::GetNextEmittedBlock and LCodeGen::EmitGoto a bit.
GetNextEmittedBlock is always called with the same argument (an instance
variable), so let's remove it. In EmitGoto, avoid assignment to an argument.
This CL is split off another CL for easier reviewing.
Review URL: https://codereview.chromium.org/
14246031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14349
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Fri, 19 Apr 2013 11:55:01 +0000 (11:55 +0000)]
Revert r14252 as it broke --prof for some cases
R=jkummerow
BUG=v8:2642
Review URL: https://codereview.chromium.org/
14367020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14348
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Fri, 19 Apr 2013 08:30:49 +0000 (08:30 +0000)]
Handle retry-after-gc failures within LoadIC::Load and StoreIC::Store.
Follow-up for r14321, makes the remaining unsafe calls to runtime functions during ic computation safe.
R=verwaest@chromium.org
BUG=222301
Review URL: https://chromiumcodereview.appspot.com/
13976015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14347
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Fri, 19 Apr 2013 07:23:09 +0000 (07:23 +0000)]
Removed redundant instruction in VerifyX87StackDepth()
BUG=
Review URL: https://codereview.chromium.org/
14353004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14346
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Thu, 18 Apr 2013 23:48:42 +0000 (23:48 +0000)]
MIPS: Add infrastructure to automatucally generate IC miss stubs
Port r14342 (
24df6264)
BUG=
Review URL: https://codereview.chromium.org/
13896016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14345
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Thu, 18 Apr 2013 23:47:40 +0000 (23:47 +0000)]
MIPS: HArgument instructions currently require a frame. In Lithium we can ensure a frame is created for these instructions via a compile info flag.
Port r14339 (
7d544be1)
BUG=
Review URL: https://codereview.chromium.org/
14367003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14344
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Thu, 18 Apr 2013 23:46:37 +0000 (23:46 +0000)]
MIPS: Fix bugs in IfBuilder and improve functionality
Port r14327 (
21310b91)
BUG=
Review URL: https://codereview.chromium.org/
14246017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14343
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 18 Apr 2013 20:37:27 +0000 (20:37 +0000)]
Add infrastructure to automatucally generate IC miss stubs
Review URL: https://codereview.chromium.org/
13886013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14342
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Thu, 18 Apr 2013 15:44:38 +0000 (15:44 +0000)]
HArgument instructions currently require a frame. In Lithium we can ensure a frame
is created for these instructions via a compile info flag.
BUG=
Review URL: https://codereview.chromium.org/
14354003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14339
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Thu, 18 Apr 2013 15:09:48 +0000 (15:09 +0000)]
Saving Hydrogen code stubs in the snapshot requires us to respect the availability of VFP32DREGS.
BUG=
Review URL: https://codereview.chromium.org/
13878011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14338
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 18 Apr 2013 14:56:30 +0000 (14:56 +0000)]
Prepare push to trunk. Now working on version 3.18.2.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
14356002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14335
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 18 Apr 2013 14:41:24 +0000 (14:41 +0000)]
Revert r14310 due to isolate tests failure.
R=mstarzinger@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
14021004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14334
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 18 Apr 2013 14:34:34 +0000 (14:34 +0000)]
Do not choose parallel recompilation when bootstrapping.
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
13878019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14333
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 18 Apr 2013 14:18:27 +0000 (14:18 +0000)]
Fix missing Smi check in grow mode keyed stores.
R=danno@chromium.org
TEST=mjsunit/regress/regress-grow-store-smi-check
Review URL: https://codereview.chromium.org/
14352011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14332
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 18 Apr 2013 13:45:19 +0000 (13:45 +0000)]
Cleaned up and fixed code comment handling a bit.
* Let GCC check the arguments of LCodeGen::Coment.
* Fixed a few call sites.
* Made basic blocks a little bit more visible in the code output.
* Sorted #includes.
Review URL: https://codereview.chromium.org/
14079007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14331
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 18 Apr 2013 12:46:38 +0000 (12:46 +0000)]
Fix debug print and wrong handle dereference in es6 typed array.
R=dslomov@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
14149009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14330
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Thu, 18 Apr 2013 11:22:29 +0000 (11:22 +0000)]
Inline isUint32() method from HConstant, which was only used in one place.
Add utility method for checking whether an HValue is a given int32_t constant.
BUG=
Review URL: https://codereview.chromium.org/
14244023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14329
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 18 Apr 2013 11:01:14 +0000 (11:01 +0000)]
Remove SCons related files
Review URL: https://codereview.chromium.org/
14348002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14328
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 18 Apr 2013 10:51:24 +0000 (10:51 +0000)]
Fix bugs in IfBuilder and improve functionality
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
14344004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14327
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 18 Apr 2013 10:48:27 +0000 (10:48 +0000)]
Remove deprecated test suite configurations.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
13878008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14326
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rodolph.perfetta@gmail.com [Thu, 18 Apr 2013 10:32:18 +0000 (10:32 +0000)]
ARM: clean up code now that ARMv6 is the baseline.
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/
14188016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14325
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 18 Apr 2013 09:53:49 +0000 (09:53 +0000)]
Improve generated code for HDoCompareObjectEqAndBranch on ia32/x64
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
14083008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14324
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 18 Apr 2013 09:50:46 +0000 (09:50 +0000)]
Make it possible to Crankshaft all kinds of stubs.
Review URL: https://codereview.chromium.org/
14307006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14323
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 18 Apr 2013 09:24:29 +0000 (09:24 +0000)]
Unify canonicalization of HAdd/HSub/HMul a bit.
HDiv/HMul are a slightly different story and will be handled in a separate CL.
Review URL: https://codereview.chromium.org/
14296013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14322
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Thu, 18 Apr 2013 08:14:59 +0000 (08:14 +0000)]
Handle retry-after-gc failures within KeyedLoadIC::Load and KeyedStoreIC::Store.
Returning retry-after-gc failure from these functions causes them to be
re-executed after ic state change, which breaks stub computation assumptions.
R=verwaest@chromium.org
BUG=222301
TEST=mjsunit/array-bounds-check-removal.js --gc_interval=10 in x64.debug
Review URL: https://chromiumcodereview.appspot.com/
14251014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14321
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Wed, 17 Apr 2013 18:13:44 +0000 (18:13 +0000)]
Disable the test due to Win64 build problems.
The large allocation actually succeeds on Win64, but it looks like
subsequent memory adjustment fails. Disabling the test for now, will
investigate further.
TBR=rossberg
Review URL: https://codereview.chromium.org/
14330006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14320
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 17 Apr 2013 17:02:35 +0000 (17:02 +0000)]
Fix building cctests with component=shared_library snapshot=off
BUG=v8:2634
Review URL: https://codereview.chromium.org/
14232008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14319
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Wed, 17 Apr 2013 16:41:02 +0000 (16:41 +0000)]
Fix bad typo in xmm register saves.
R=mstarzinger@chromium.org,jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
14205006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14316
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 17 Apr 2013 16:37:11 +0000 (16:37 +0000)]
Inline String.fromCharCode in hydrogen.
BUG=
Review URL: https://chromiumcodereview.appspot.com/
14296009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14315
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Wed, 17 Apr 2013 15:36:04 +0000 (15:36 +0000)]
Fix x64 frame size to accomodate saved XMM registers
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
13881016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14312
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rodolph.perfetta@gmail.com [Wed, 17 Apr 2013 15:21:01 +0000 (15:21 +0000)]
ARM: VFP tweaks/optimisations. Further address slow FPSCR accesses.
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/
14121004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14311
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Wed, 17 Apr 2013 15:07:31 +0000 (15:07 +0000)]
Add d8 functionality for switching between realms (a.k.a. contexts)
R=mstarzinger@chromium.org,yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
14295011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14310
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 17 Apr 2013 15:01:25 +0000 (15:01 +0000)]
Generator objects have [[Class]] === "Generator"
Generator object maps now link to their constructors, which are created
with a "Generator" class name. This does not cause a per-generator
constructor property to be set.
BUG=v8:2355
TEST=mjsunit/harmony/generators-objects
Review URL: https://codereview.chromium.org/
14262004
Patch from Andy Wingo <wingo@igalia.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14309
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Wed, 17 Apr 2013 14:11:39 +0000 (14:11 +0000)]
Remove previous_ast_id and related code in hydrogen.
BUG=
Review URL: https://codereview.chromium.org/
14178011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14308
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Wed, 17 Apr 2013 13:51:08 +0000 (13:51 +0000)]
Revert "Accurate function prototypes for native calls from ARM simulator."
This reverts commit https://code.google.com/p/v8/source/detail?r=14230
The reason for revert is Win64 mksnapshot failure.
Conflicts:
src/arm/simulator-arm.cc
BUG=
Review URL: https://codereview.chromium.org/
14096025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14307
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 17 Apr 2013 12:47:15 +0000 (12:47 +0000)]
Improve handling of unary plus.
Simple strategy: Transform unary plus into multiplication by one directly in the
parser and remove it from the Hydrogen graph later. This gives correct type
feedback without any special stub for it.
BUG=v8:2527
Review URL: https://codereview.chromium.org/
13902013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14306
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 17 Apr 2013 11:48:16 +0000 (11:48 +0000)]
Prepare push to trunk. Now working on version 3.18.1.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
14096024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14303
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Wed, 17 Apr 2013 10:25:36 +0000 (10:25 +0000)]
Typo fix
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
13996010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14302
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Wed, 17 Apr 2013 09:54:17 +0000 (09:54 +0000)]
Save and restore callee-save xmm registers on Win64
BUG=
Review URL: https://codereview.chromium.org/
14053008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14301
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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