platform/upstream/v8.git
10 years agoMove heap profiler state flags to HeapProfiler
yurys@chromium.org [Fri, 29 Nov 2013 09:47:32 +0000 (09:47 +0000)]
Move heap profiler state flags to HeapProfiler

- moved is_tracking_objects_ flag to HeapProfiler and renamed it to is_tracking_objects_moves_
- Removed redundant call to UpdateHeapObjectsMap

BUG=None
LOG=N
R=loislo@chromium.org, mstarzinger@chromium.org

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

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

10 years agoEnable --new-string-add by default.
bmeurer@chromium.org [Fri, 29 Nov 2013 09:44:54 +0000 (09:44 +0000)]
Enable --new-string-add by default.

R=hpayer@chromium.org

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

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

10 years agoFix build.
yangguo@chromium.org [Fri, 29 Nov 2013 09:31:45 +0000 (09:31 +0000)]
Fix build.

R=mvstanton@chromium.org

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

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

10 years agoRevert r18131 and r18139 "Clean up in the CallStubCompiler".
yangguo@chromium.org [Fri, 29 Nov 2013 09:02:00 +0000 (09:02 +0000)]
Revert r18131 and r18139 "Clean up in the CallStubCompiler".

and "Fix register usage."

TBR=verwaest@chromium.org

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

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

10 years agoMIPS: Fetch strictmode in the interceptor setter from the IC.
palfia@homejinni.com [Fri, 29 Nov 2013 01:47:48 +0000 (01:47 +0000)]
MIPS: Fetch strictmode in the interceptor setter from the IC.

Port r18140 (9d563402)

BUG=
R=gergely@homejinni.com

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

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

10 years agoMIPS: Fix register usage.
palfia@homejinni.com [Fri, 29 Nov 2013 01:46:43 +0000 (01:46 +0000)]
MIPS: Fix register usage.

Port r18139 (2d54152a)

BUG=
R=gergely@homejinni.com

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

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

10 years agoMIPS: Cleanup in the CallStubCompiler.
palfia@homejinni.com [Fri, 29 Nov 2013 01:44:23 +0000 (01:44 +0000)]
MIPS: Cleanup in the CallStubCompiler.

Port r18131 (b49d9992)

BUG=
R=gergely@homejinni.com

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

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

10 years agoMIPS: Use the HandlerFrontendHeader in most call compilers.
palfia@homejinni.com [Fri, 29 Nov 2013 01:43:02 +0000 (01:43 +0000)]
MIPS: Use the HandlerFrontendHeader in most call compilers.

Port r18125 (e541c68d)

BUG=
R=gergely@homejinni.com

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

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

10 years agoRemove strictmode from FindHandler.
verwaest@chromium.org [Thu, 28 Nov 2013 18:13:30 +0000 (18:13 +0000)]
Remove strictmode from FindHandler.

R=mvstanton@chromium.org

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

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

10 years agoFetch strictmode in the interceptor setter from the IC.
verwaest@chromium.org [Thu, 28 Nov 2013 18:11:15 +0000 (18:11 +0000)]
Fetch strictmode in the interceptor setter from the IC.

R=mvstanton@chromium.org

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

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

10 years agoFix register usage.
verwaest@chromium.org [Thu, 28 Nov 2013 18:09:05 +0000 (18:09 +0000)]
Fix register usage.

R=ishell@chromium.org

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

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

10 years agoRemove static asserts that dont compile on windows
titzer@chromium.org [Thu, 28 Nov 2013 16:14:54 +0000 (16:14 +0000)]
Remove static asserts that dont compile on windows
TBR=mvstanton

BUG=

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

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

10 years agoImplement global check elimination using the HFlowEngine.
titzer@chromium.org [Thu, 28 Nov 2013 15:50:54 +0000 (15:50 +0000)]
Implement global check elimination using the HFlowEngine.

BUG=
R=mvstanton@chromium.org

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

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

10 years agoMove responsibility for definition of ExtraICState bits into the ICs.
mvstanton@chromium.org [Thu, 28 Nov 2013 15:32:55 +0000 (15:32 +0000)]
Move responsibility for definition of ExtraICState bits into the ICs.

Currently it's in the Code object for some ICs and in ICs for other ICs.
This should make it easier to alter bits as needed.

2) Recover an extra bit in the code object to give us 6 bits for the extra ic state. We'll need it soon to store contextual state.

3) Cleanup code that treated StrictMode enum and ExtraICState enum as interchangeble.

R=verwaest@chromium.org

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

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

10 years agoFix bug in inlining Function.apply.
yangguo@chromium.org [Thu, 28 Nov 2013 15:30:17 +0000 (15:30 +0000)]
Fix bug in inlining Function.apply.

R=jkummerow@chromium.org
BUG=323942
LOG=Y

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

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

10 years agoFix load elimination: can only .Equals() GVN-able instructions.
titzer@chromium.org [Thu, 28 Nov 2013 15:27:42 +0000 (15:27 +0000)]
Fix load elimination: can only .Equals() GVN-able instructions.

BUG=
R=yangguo@chromium.org

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

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

10 years agoCleanup in the CallStubCompiler.
verwaest@chromium.org [Thu, 28 Nov 2013 15:26:04 +0000 (15:26 +0000)]
Cleanup in the CallStubCompiler.

BUG=
R=ishell@chromium.org

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

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

10 years agoMove more logic from AST to oracle, pt 2
rossberg@chromium.org [Thu, 28 Nov 2013 15:25:38 +0000 (15:25 +0000)]
Move more logic from AST to oracle, pt 2

(More to follow)

R=jkummerow@chromium.org
BUG=

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

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

10 years agoEnsure that length is Smi in TypedArrayFromArrayLike constructor.
dslomov@chromium.org [Thu, 28 Nov 2013 15:22:36 +0000 (15:22 +0000)]
Ensure that length is Smi in TypedArrayFromArrayLike constructor.

R=jkummerow@chromium.org
BUG=324028
LOG=Y

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

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

10 years agoUndeprecate Persistent::ClearAndLeak
jochen@chromium.org [Thu, 28 Nov 2013 14:30:20 +0000 (14:30 +0000)]
Undeprecate Persistent::ClearAndLeak

We depend on this in blink, and won't be able to replace it in
the near future

R=svenpanne@google.com, svenpanne@chromium.org
BUG=none
LOG=n

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

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

10 years agoSwap cp and pp registers on Arm such for work on OOL Constant Pool.
rmcilroy@chromium.org [Thu, 28 Nov 2013 14:13:47 +0000 (14:13 +0000)]
Swap cp and pp registers on Arm such for work on OOL Constant Pool.

R=bmeurer@chromium.org

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

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

10 years agoFix quickcheck make target.
machenbach@chromium.org [Thu, 28 Nov 2013 14:10:56 +0000 (14:10 +0000)]
Fix quickcheck make target.

BUG=
R=jkummerow@chromium.org

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

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

10 years agoUse the HandlerFrontendHeader in most call compilers.
verwaest@chromium.org [Thu, 28 Nov 2013 13:56:49 +0000 (13:56 +0000)]
Use the HandlerFrontendHeader in most call compilers.

R=ishell@chromium.org

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

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

10 years agoFix allocation memento bookeeping code for js arrays.
hpayer@chromium.org [Thu, 28 Nov 2013 13:45:23 +0000 (13:45 +0000)]
Fix allocation memento bookeeping code for js arrays.

BUG=
R=mvstanton@chromium.org

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

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

10 years agoPrepare push to trunk. Now working on version 3.23.15.
machenbach@chromium.org [Thu, 28 Nov 2013 13:42:23 +0000 (13:42 +0000)]
Prepare push to trunk.  Now working on version 3.23.15.

R=yangguo@chromium.org

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

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

10 years agoAdd fast make and test all target.
machenbach@chromium.org [Thu, 28 Nov 2013 13:18:04 +0000 (13:18 +0000)]
Add fast make and test all target.

The new target called "quickcheck" builds and tests with several configurations using recent test runner speed improvements.

Runtime from scratch (after make clean): < 8 min
Runtime tests only: < 3 min

TEST=make quickcheck
R=jkummerow@chromium.org, yangguo@chromium.org

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

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

10 years agoMove more type collection logic from AST to oracle.
rossberg@chromium.org [Thu, 28 Nov 2013 13:16:51 +0000 (13:16 +0000)]
Move more type collection logic from AST to oracle.

(More to come in follow-up CL.)

R=jkummerow@chromium.org
BUG=

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

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

10 years agoARM: Optimize fixed double arguments
m.m.capewell@googlemail.com [Thu, 28 Nov 2013 11:38:40 +0000 (11:38 +0000)]
ARM: Optimize fixed double arguments

Optimize fixed double arguments to arithmetic Lithium instructions.

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

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

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

10 years agoAdded tracing support for pretenuring.
hpayer@chromium.org [Thu, 28 Nov 2013 10:49:02 +0000 (10:49 +0000)]
Added tracing support for pretenuring.

BUG=
R=mvstanton@chromium.org

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

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

10 years agoFix missing bounds check in n-arguments Array constructor.
mstarzinger@chromium.org [Thu, 28 Nov 2013 09:29:57 +0000 (09:29 +0000)]
Fix missing bounds check in n-arguments Array constructor.

LOG=N
R=mvstanton@chromium.org
BUG=v8:3027
TEST=mjsunit/regress/regress-3027

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

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

10 years agoShorten autogenerated error message.
yangguo@chromium.org [Thu, 28 Nov 2013 08:59:45 +0000 (08:59 +0000)]
Shorten autogenerated error message.

R=rossberg@chromium.org
BUG=v8:3019
LOG=Y

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

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

10 years agoMark deprecated APIs with relatively little use as deprecated
jochen@chromium.org [Thu, 28 Nov 2013 08:21:26 +0000 (08:21 +0000)]
Mark deprecated APIs with relatively little use as deprecated

BUG=none
R=svenpanne@chromium.org
LOG=n

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

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

10 years agoHarmony promises
rossberg@chromium.org [Wed, 27 Nov 2013 17:21:40 +0000 (17:21 +0000)]
Harmony promises

Based on prototype at

  https://github.com/rossberg-chromium/js-promise

which informed the latest spec draft version at

  https://github.com/domenic/promises-unwrapping/blob/master/README.md

Activated by --harmony-promises.

Feature complete with respect to the draft spec, plus the addition of .when and .deferred methods. Final naming and other possible deviations from the current draft will hopefully be resolved soon after the next TC39 meeting.

This CL also generalises the Object.observe delivery loop into a simplistic microtask loop. Currently, all observer events are delivered before invoking any promise handler in a single fixpoint iteration. It's not clear yet what the final semantics is supposed to be (should there be a global event ordering?), but it will probably require a more thorough event loop abstraction inside V8 once we get there.

R=dslomov@chromium.org, yhirano@chromium.org
BUG=

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

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

10 years agoPrepare push to trunk. Now working on version 3.23.14.
machenbach@chromium.org [Wed, 27 Nov 2013 15:10:46 +0000 (15:10 +0000)]
Prepare push to trunk.  Now working on version 3.23.14.

R=yangguo@chromium.org

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

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

10 years agoARM/MIPS compilation error.
mvstanton@chromium.org [Wed, 27 Nov 2013 14:32:35 +0000 (14:32 +0000)]
ARM/MIPS compilation error.

Due to an error during platform porting.

R=yangguo@chromium.org

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

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

10 years agoThe goal is to discover the appropriate heap space for objects created in full
mvstanton@chromium.org [Wed, 27 Nov 2013 14:03:40 +0000 (14:03 +0000)]
The goal is to discover the appropriate heap space for objects created in full
code. By the time we optimize the code, we'll be able to decide on new or old
space based on the number of surviving objects after one or more gcs.

The mechanism is a "memento" placed behind objects in the heap. It's currently
done for array and object literals, with plans to use mementos for constructed
objects as well (in a later CL).

The feature is behind the flag allocation_site_pretenuring, currently off.

R=hpayer@chromium.org

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

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

10 years agoRemove the strict-mode flag from store handlers. It's only relevant to the IC stub.
verwaest@chromium.org [Wed, 27 Nov 2013 14:00:54 +0000 (14:00 +0000)]
Remove the strict-mode flag from store handlers. It's only relevant to the IC stub.

R=mvstanton@chromium.org

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

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

10 years agoAvoid trying to decode the raw inline constant which is part of the aged code prologue.
rmcilroy@chromium.org [Wed, 27 Nov 2013 10:07:57 +0000 (10:07 +0000)]
Avoid trying to decode the raw inline constant which is part of the aged code prologue.

BUG=v8:3007
LOG=N
R=bmeurer@chromium.org

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

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

10 years agoAdd ES specification reference to DateNow.
yangguo@chromium.org [Wed, 27 Nov 2013 09:39:41 +0000 (09:39 +0000)]
Add ES specification reference to DateNow.

R=yangguo@chromium.org

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

Patch from Victor Costan <costan@gmail.com>.

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

10 years agoSplit Persistent into Persistent and UniquePersistent
dcarney@chromium.org [Wed, 27 Nov 2013 09:30:49 +0000 (09:30 +0000)]
Split Persistent into Persistent and UniquePersistent

R=svenpanne@chromium.org

BUG=

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

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

10 years agoAvoid useless #ifdef DEBUG checks for the --trace-ic flag.
bmeurer@chromium.org [Wed, 27 Nov 2013 09:24:42 +0000 (09:24 +0000)]
Avoid useless #ifdef DEBUG checks for the --trace-ic flag.

FLAG_trace_ic is constant false in non-DEBUG builds anyways.

R=svenpanne@chromium.org

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

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

10 years agoProvide "freeBuffer()" primitive for testing under ASan.
dslomov@chromium.org [Wed, 27 Nov 2013 09:22:04 +0000 (09:22 +0000)]
Provide "freeBuffer()" primitive for testing under ASan.

R=machenbach@chromium.org

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

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

10 years agoAvoid copying flow-sensitive state when only a goto separates blocks.
titzer@chromium.org [Wed, 27 Nov 2013 07:13:00 +0000 (07:13 +0000)]
Avoid copying flow-sensitive state when only a goto separates blocks.

BUG=
R=mvstanton@chromium.org

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

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

10 years agoMIPS: Optimize Integer32ToSmi.
palfia@homejinni.com [Tue, 26 Nov 2013 20:31:47 +0000 (20:31 +0000)]
MIPS: Optimize Integer32ToSmi.

Port r18084 (426bc19)

Original commit message:
Optimize register constraints and code generated for Integer32ToSmi Lithium
instruction.

TEST=none
BUG=
R=gergely@homejinni.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

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

10 years agoIncrease test runner speed.
machenbach@chromium.org [Tue, 26 Nov 2013 16:53:04 +0000 (16:53 +0000)]
Increase test runner speed.

Let the test runner preserve the order of test suites to let suites with long running tests run first.

Mark some tests as slow that can now be skipped via --slow-tests=skip.

BUG=
R=yangguo@chromium.org

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

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

10 years agoMake optimized debug builds compile with all optimizations.
machenbach@chromium.org [Tue, 26 Nov 2013 16:48:55 +0000 (16:48 +0000)]
Make optimized debug builds compile with all optimizations.

This results in a speed-up of around 30% on all architectures. For local developer builds only. The bots will continue to use level 1 for now.

BUG=
R=yangguo@chromium.org

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

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

10 years agoARM: Optimize Integer32ToSmi
m.m.capewell@googlemail.com [Tue, 26 Nov 2013 16:34:13 +0000 (16:34 +0000)]
ARM: Optimize Integer32ToSmi

Optimize register constraints and code generated for Integer32ToSmi Lithium
instruction.

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

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

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

10 years agoIncrease precision for base conversion for large integers.
yangguo@chromium.org [Tue, 26 Nov 2013 15:48:13 +0000 (15:48 +0000)]
Increase precision for base conversion for large integers.

R=jkummerow@chromium.org
BUG=v8:3025
LOG=Y

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

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

10 years agoFlatten cons string for single character substrings.
yangguo@chromium.org [Tue, 26 Nov 2013 14:21:46 +0000 (14:21 +0000)]
Flatten cons string for single character substrings.

For substrings of non-flat cons strings, we bail out
to runtime. For single character substrings, we forget
to flatten it. This causes successive bailouts.

R=bmeurer@chromium.org
BUG=323041
LOG=Y

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

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

10 years agoRemoved dead ceiling function.
svenpanne@chromium.org [Tue, 26 Nov 2013 13:55:06 +0000 (13:55 +0000)]
Removed dead ceiling function.

R=bmeurer@chromium.org

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

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

10 years agoRange info propagation through HBoundsCheck.
ishell@chromium.org [Tue, 26 Nov 2013 13:52:44 +0000 (13:52 +0000)]
Range info propagation through HBoundsCheck.

R=titzer@chromium.org

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

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

10 years agoPrepare push to trunk. Now working on version 3.23.13.
machenbach@chromium.org [Tue, 26 Nov 2013 13:50:16 +0000 (13:50 +0000)]
Prepare push to trunk.  Now working on version 3.23.13.

R=yangguo@chromium.org

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

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

10 years agoImplement Math.ceil via Math.floor.
svenpanne@chromium.org [Tue, 26 Nov 2013 12:29:47 +0000 (12:29 +0000)]
Implement Math.ceil via Math.floor.

This way we get all the Crankshaft goodness and avoid always going
through the runtime: Less code + even some small speedup in Kraken.

R=jkummerow@chromium.org

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

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

10 years agoDisable load elimination.
titzer@chromium.org [Tue, 26 Nov 2013 12:18:27 +0000 (12:18 +0000)]
Disable load elimination.

BUG=
R=yangguo@chromium.org

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

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

10 years agoSpeed up long-running test cases.
yangguo@chromium.org [Tue, 26 Nov 2013 11:32:39 +0000 (11:32 +0000)]
Speed up long-running test cases.

R=ishell@chromium.org

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

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

10 years agoMake some ARM test cases faster.
yangguo@chromium.org [Tue, 26 Nov 2013 10:43:44 +0000 (10:43 +0000)]
Make some ARM test cases faster.

R=ishell@chromium.org

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

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

10 years agoAdd Isolate* parameter to static API methods that don't take one.
jochen@chromium.org [Tue, 26 Nov 2013 09:45:17 +0000 (09:45 +0000)]
Add Isolate* parameter to static API methods that don't take one.

We cannot yet deprecate the versions that don't take one, because
there's too much test code in v8 using them. To keep this CL small and
managable, I'll first introduce the new APIs.

BUG=none
R=dcarney@chromium.org, svenpanne@chromium.org
LOG=n

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

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

10 years agoFix generate_trig_table build target.
yangguo@chromium.org [Tue, 26 Nov 2013 08:50:15 +0000 (08:50 +0000)]
Fix generate_trig_table build target.

It now closely resembles the js2c target, so that we only have
one platform to run it on (either 'host' or 'target'). This way
we do not run into warnings when compiling for e.g. ARM.

R=jkummerow@chromium.org

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

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

10 years agoMIPS: Generate TypedArrayInitialize builtin in hydrogen.
palfia@homejinni.com [Mon, 25 Nov 2013 21:25:15 +0000 (21:25 +0000)]
MIPS: Generate TypedArrayInitialize builtin in hydrogen.

Port r18059 (b2849c3)

BUG=
R=dslomov@chromium.org, gergely@homejinni.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

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

10 years agoMIPS: Minor cleanup in calling interceptors for loading properties.
palfia@homejinni.com [Mon, 25 Nov 2013 21:22:06 +0000 (21:22 +0000)]
MIPS: Minor cleanup in calling interceptors for loading properties.

Port r18054 (59d9d99)

BUG=

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

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

10 years agoMIPS: A performance regression in array literal creation was caused by refactoring.
palfia@homejinni.com [Mon, 25 Nov 2013 21:18:59 +0000 (21:18 +0000)]
MIPS: A performance regression in array literal creation was caused by refactoring.

Port r18046 (99c7352)

Original commit message:
A performance regression in array literal creation was caused by refactoring that eliminated a special fast case for shallow arrays. At the same time the general case got a bit slower. This CL restores most of the performance without coding the special fast case. The virtual dispatching is unnecessary because we know what we want to do at compile time. A flag was added to Runtime::CreateArrayLiteral. The flags delivers information about shallowness but also whether or not allocation mementos should be created. This is useful for crankshafted code.

BUG=v8:3008
LOG=Y
R=gergely@homejinni.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

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

10 years agoARM: Optimize TypeofIsAndBranch
m.m.capewell@googlemail.com [Mon, 25 Nov 2013 19:17:21 +0000 (19:17 +0000)]
ARM: Optimize TypeofIsAndBranch

Optimize register constraints and code generated for TypeofIsAndBranch Lithium
instruction.

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

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

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

10 years agoMake test runner more flexible for running fast tests.
machenbach@chromium.org [Mon, 25 Nov 2013 17:34:52 +0000 (17:34 +0000)]
Make test runner more flexible for running fast tests.

Transformed variant flags into named variants. Now, all combinations of variants can be specified on the command line. The old command-line flags are kept for backwards compatibility on the bots.

Added two new test groups: slow and pass|fail. Both are implemented similar to the flaky test feature and allow to either skip or run tests marked as slow or as pass|fail.

R=yangguo@chromium.org

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

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

10 years agoGenerate TypedArrayInitialize builtin in hydrogen.
dslomov@chromium.org [Mon, 25 Nov 2013 14:41:46 +0000 (14:41 +0000)]
Generate TypedArrayInitialize builtin in hydrogen.

R=danno@chromium.org

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

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

10 years agoAdd versions with an Isolate parameter for inlined API methods that need one
jochen@chromium.org [Mon, 25 Nov 2013 14:30:59 +0000 (14:30 +0000)]
Add versions with an Isolate parameter for inlined API methods that need one

We shouldn't have APIs that call Isolate::GetCurrent() internally. This
change removes all remaining occurrences of inlined methods in v8.h

BUG=none
R=svenpanne@chromium.org
LOG=n

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

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

10 years agoImprove and refactor push-to-trunk script.
machenbach@chromium.org [Mon, 25 Nov 2013 14:20:39 +0000 (14:20 +0000)]
Improve and refactor push-to-trunk script.

Let change log formatter squash title and bug reference. Repair wrongly indented first line in change log. Add automatic rietveld reload of commit messages to enable late corrections.

BUG=
R=jkummerow@chromium.org

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

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

10 years agoDrop unused Assembler::set_external_target_at() method.
bmeurer@chromium.org [Mon, 25 Nov 2013 14:07:05 +0000 (14:07 +0000)]
Drop unused Assembler::set_external_target_at() method.

R=mvstanton@chromium.org

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

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

10 years agoMinor cleanup in calling interceptors for loading properties.
verwaest@chromium.org [Mon, 25 Nov 2013 14:06:06 +0000 (14:06 +0000)]
Minor cleanup in calling interceptors for loading properties.

R=mvstanton@chromium.org

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

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

10 years agoFix failing test test-api/CheckCOWArraysCreatedRuntimeCounter
mvstanton@chromium.org [Mon, 25 Nov 2013 13:27:36 +0000 (13:27 +0000)]
Fix failing test test-api/CheckCOWArraysCreatedRuntimeCounter

R=bmeurer@chromium.org

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

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

10 years agoAdd -R option to merge-to-branch script to revert from bleeding_edge.
yangguo@chromium.org [Mon, 25 Nov 2013 12:55:02 +0000 (12:55 +0000)]
Add -R option to merge-to-branch script to revert from bleeding_edge.

Usage:
tools/merge-to-branch.sh -R 12345 12346

R=machenbach@chromium.org

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

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

10 years agoForce inline Math.random.
yangguo@chromium.org [Mon, 25 Nov 2013 12:50:52 +0000 (12:50 +0000)]
Force inline Math.random.

R=svenpanne@chromium.org

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

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

10 years agoA performance regression in array literal creation was caused by refactoring that...
mvstanton@chromium.org [Mon, 25 Nov 2013 12:41:27 +0000 (12:41 +0000)]
A performance regression in array literal creation was caused by refactoring that eliminated a special fast case for shallow arrays. At the same time the general case got a bit slower. This CL restores most of the performance without coding the special fast case. The virtual dispatching is unnecessary because we know what we want to do at compile time. A flag was added to Runtime::CreateArrayLiteral. The flags delivers information about shallowness but also whether or not allocation mementos should be created. This is useful for crankshafted code.

BUG=v8:3008
LOG=Y
R=mstarzinger@chromium.org

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

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

10 years agoEnable global load elimination.
titzer@chromium.org [Mon, 25 Nov 2013 12:21:00 +0000 (12:21 +0000)]
Enable global load elimination.

BUG=
R=hpayer@chromium.org

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

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

10 years agoFixed printer for JSFunction.
svenpanne@chromium.org [Mon, 25 Nov 2013 12:19:02 +0000 (12:19 +0000)]
Fixed printer for JSFunction.

R=verwaest@chromium.org

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

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

10 years agoPrepare push to trunk. Now working on version 3.23.12.
machenbach@chromium.org [Mon, 25 Nov 2013 12:00:44 +0000 (12:00 +0000)]
Prepare push to trunk.  Now working on version 3.23.12.

R=yangguo@chromium.org

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

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

10 years agoUnbreak console=readline.
svenpanne@chromium.org [Mon, 25 Nov 2013 08:36:46 +0000 (08:36 +0000)]
Unbreak console=readline.

R=bmeurer@chromium.org

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

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

10 years agofreebsd: unbreak build after r16646
svenpanne@chromium.org [Mon, 25 Nov 2013 08:15:35 +0000 (08:15 +0000)]
freebsd: unbreak build after r16646

R=bmeurer@chromium.org

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

Patch from Ben Noordhuis <ben@strongloop.com>.

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

10 years agoSupport for the Linux 'perf report' and 'perf annotate' tools.
jarin@chromium.org [Mon, 25 Nov 2013 06:44:23 +0000 (06:44 +0000)]
Support for the Linux 'perf report' and 'perf annotate' tools.

In this change, the support comes in two flavours:

--perf_jit_prof - outputs the files in a new perf format that only works with a
patched perf tool (patch obtained from Stephane Eranian). Both 'perf report' and
'perf annotate' are supported (the file format also contains the machine code).

--perf_basic_prof - outputs the files in a format that the existing perf tool
can consume. Only 'perf report' is supported.

In both cases, we have to disable code compaction because the perf tool does not
understand code relocation. (We are told that code relocation should be
supported soon.)

Usage:

perf record -g d8 --perf_jit_prof --no_compact_code_space my.js
perf report

The change itself is straightforward - we simply listen to code events and
write an entry to a log file for every new piece of code.

I am not yet sure whether we should keep both versions or just one (and which
one). My hope is the reviewers can help here.

R=danno@chromium.org
BUG=

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

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

10 years agoSafe HGraphBuilder::Add<> and New<>
dslomov@chromium.org [Fri, 22 Nov 2013 19:05:21 +0000 (19:05 +0000)]
Safe HGraphBuilder::Add<> and New<>

R=danno@chromium.org

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

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

10 years agoMIPS: Only use Type for compiling load handlers.
palfia@homejinni.com [Fri, 22 Nov 2013 18:55:13 +0000 (18:55 +0000)]
MIPS: Only use Type for compiling load handlers.

Port r18025 (74fc739)

BUG=

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

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

10 years agoMIPS: Use Type in CheckPrototypes.
palfia@homejinni.com [Fri, 22 Nov 2013 18:28:44 +0000 (18:28 +0000)]
MIPS: Use Type in CheckPrototypes.

Port r18024 (8956065)

BUG=

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

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

10 years agoMIPS: Fix and simplify code aging.
palfia@homejinni.com [Fri, 22 Nov 2013 18:13:52 +0000 (18:13 +0000)]
MIPS: Fix and simplify code aging.

This commit fixes a lot of test failures that we saw earlier in the buildbots (http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20mips%20-%20sim/builds/3034/steps/Check/logs/stdio).

In some very rare cases the code age stub address can be 0xXXXX0000 and in this case the li maco instruction emits only 1 instruction (instead of the expected 2). Thus the code age sequence will be 6 instructions long instead of 7, which breaks the code aging feature. This change makes sure that li always emits 2 instructions and it also simplifies the code aging sequence.

Also fixes a small mistake in the simulator at the jalr instruction.

BUG=
R=gergely@homejinni.com

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

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

10 years agoAdd counters for write barriers in generated code.
mstarzinger@chromium.org [Fri, 22 Nov 2013 17:37:34 +0000 (17:37 +0000)]
Add counters for write barriers in generated code.

R=hpayer@chromium.org

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

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

10 years agoMIPS: Add function declarations missing from r18000.
palfia@homejinni.com [Fri, 22 Nov 2013 16:05:48 +0000 (16:05 +0000)]
MIPS: Add function declarations missing from r18000.

BUG=
R=ulan@chromium.org

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

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

10 years agoOnly use Type for compiling load handlers.
verwaest@chromium.org [Fri, 22 Nov 2013 15:08:22 +0000 (15:08 +0000)]
Only use Type for compiling load handlers.

BUG=
R=ishell@chromium.org

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

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

10 years agoUse Type in CheckPrototypes.
verwaest@chromium.org [Fri, 22 Nov 2013 15:06:20 +0000 (15:06 +0000)]
Use Type in CheckPrototypes.

R=ishell@chromium.org

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

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

10 years agoDeprecate old versions of Isolate::SetData and GetData
jochen@chromium.org [Fri, 22 Nov 2013 14:23:32 +0000 (14:23 +0000)]
Deprecate old versions of Isolate::SetData and GetData

BUG=none
R=svenpanne@chromium.org
LOG=y

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

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

10 years agoMake sure files end with exactly one new line and police this in presubmit.
yangguo@chromium.org [Fri, 22 Nov 2013 13:50:39 +0000 (13:50 +0000)]
Make sure files end with exactly one new line and police this in presubmit.

The changes are (excluding presubmit.py) mechanical. I added the following
lines after the check and iterated the presubmit script until all errors
went away:

f = open(name, "w");
if contents.endswith('\n\n'):
  f.write(contents[0:-1])
else:
  f.write(contents + '\n')

R=jkummerow@chromium.org

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

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

10 years agoRepair ChangeLog.
machenbach@chromium.org [Fri, 22 Nov 2013 13:39:55 +0000 (13:39 +0000)]
Repair ChangeLog.

BUG=
R=danno@chromium.org, jkummerow@chromium.org

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

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

10 years agoIntroduce Type::IsCurrently
rossberg@chromium.org [Fri, 22 Nov 2013 13:16:40 +0000 (13:16 +0000)]
Introduce Type::IsCurrently

R=verwaest@chromium.org
BUG=

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

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

10 years agoInvalidate embedded objects in optimized code if it was marked for deoptimization.
ulan@chromium.org [Fri, 22 Nov 2013 13:10:31 +0000 (13:10 +0000)]
Invalidate embedded objects in optimized code if it was marked for deoptimization.

It avoids having dead pointers in code from the time it was marked for deoptimization until it is deoptimized.

BUG=320532,v8:2996
TEST=mjsunit/regress/regress-320532.js
LOG=Y
R=danno@chromium.org

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

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

10 years agoRemove usage of deprecated APIs from cctests
jochen@chromium.org [Fri, 22 Nov 2013 12:43:17 +0000 (12:43 +0000)]
Remove usage of deprecated APIs from cctests

Also turn on deprecation warnings

BUG=v8:3023
R=svenpanne@chromium.org, dcarney@chromium.org
LOG=n

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

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

10 years agoMinor clean-up of Type::Print
rossberg@chromium.org [Fri, 22 Nov 2013 12:38:49 +0000 (12:38 +0000)]
Minor clean-up of Type::Print

R=verwaest@chromium.org
BUG=

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

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

10 years agoRemove usage of deprecated APIs from d8
jochen@chromium.org [Fri, 22 Nov 2013 12:35:39 +0000 (12:35 +0000)]
Remove usage of deprecated APIs from d8

Also turn on deprecation warnings

BUG=v8:3023
R=svenpanne@chromium.org, dcarney@chromium.org
LOG=n

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

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

10 years agoRemove usage of deprecated APIs from v8 itself
jochen@chromium.org [Fri, 22 Nov 2013 12:28:58 +0000 (12:28 +0000)]
Remove usage of deprecated APIs from v8 itself

Also turn on depreaction warnings

BUG=v8:3023
R=svenpanne@chromium.org, dcarney@chromium.org
LOG=n

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

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

10 years agoRemove usage of deprecated APIs from samples
jochen@chromium.org [Fri, 22 Nov 2013 12:26:00 +0000 (12:26 +0000)]
Remove usage of deprecated APIs from samples

Also turn on deprecation warnings for samples

BUG=v8:3023
R=dcarney@chromium.org, svenpanne@chromium.org
LOG=n

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

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

10 years agoExclude benchmark tests from presubmit check in a non-git checkout.
yangguo@chromium.org [Fri, 22 Nov 2013 12:21:43 +0000 (12:21 +0000)]
Exclude benchmark tests from presubmit check in a non-git checkout.

R=jkummerow@chromium.org

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

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

10 years agoFix combined string length computation.
bmeurer@chromium.org [Fri, 22 Nov 2013 12:03:01 +0000 (12:03 +0000)]
Fix combined string length computation.

For 31-bit smis, we don't need to explicitly check whether the
combined string length exceeds the max supported string length,
since the value must be converted to a smi at some point (i.e.
when it is stored into the string length field of the resulting
string), which will emit an overflow check.

For 32-bit smis, we insert an explicit check that the combined
string length does not exceed String::kMaxLength.

This also enables to get rid of the JoinContinuation() usage in
BuildUncheckedStringAdd().

BUG=v8:2990
LOG=n
R=mvstanton@chromium.org

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

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

10 years agoGet rid of the binop_stub parameter to BuildBinaryOperation().
bmeurer@chromium.org [Fri, 22 Nov 2013 11:49:04 +0000 (11:49 +0000)]
Get rid of the binop_stub parameter to BuildBinaryOperation().

Just ask the graph builder whether we are compiling a stub.

R=svenpanne@chromium.org

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

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

10 years agoReland "Implement Math.random() purely in JavaScript" plus fixes.
svenpanne@chromium.org [Fri, 22 Nov 2013 11:35:39 +0000 (11:35 +0000)]
Reland "Implement Math.random() purely in JavaScript" plus fixes.

The main change is that a bit has been added to array buffers to
signal that the backing store has to be freed when the buffer dies.

BUG=316359
LOG=Y
R=yangguo@chromium.org

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

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