platform/upstream/v8.git
10 years agoImprove HConstant::ImmortalImmovable() to check for all immortal immovable roots.
bmeurer@chromium.org [Fri, 31 Jan 2014 07:28:46 +0000 (07:28 +0000)]
Improve HConstant::ImmortalImmovable() to check for all immortal immovable roots.

Move the list to IMMORTAL_IMMOVABLE_ROOT_LIST in heap.h, and
automatically include INTERNALIZED_STRING_LIST and STRING_TYPE_LIST.

R=hpayer@chromium.org, mstarzinger@chromium.org

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

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

10 years agoFix compiler error on MacOS, remove unused ParameterCount member in CallInterceptorCo...
hpayer@chromium.org [Fri, 31 Jan 2014 07:02:33 +0000 (07:02 +0000)]
Fix compiler error on MacOS, remove unused ParameterCount member in CallInterceptorCompiler.

BUG=
R=bmeurer@chromium.org

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

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

10 years agoMIPS: Fix the context check in LoadGlobalFunctionPrototype
palfia@homejinni.com [Fri, 31 Jan 2014 00:49:07 +0000 (00:49 +0000)]
MIPS: Fix the context check in LoadGlobalFunctionPrototype

Port r18958 (5cd635d0)

BUG=
R=verwaest@chromium.org

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

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

10 years agoMIPS: crankshaft support for api method calls
palfia@homejinni.com [Fri, 31 Jan 2014 00:36:19 +0000 (00:36 +0000)]
MIPS: crankshaft support for api method calls

Port r18946 (a152f5ae)

BUG=
R=plind44@gmail.com

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

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

10 years agoFix regression caused by supporting inlining accesses to non-JSObjects
verwaest@chromium.org [Fri, 31 Jan 2014 00:29:04 +0000 (00:29 +0000)]
Fix regression caused by supporting inlining accesses to non-JSObjects

TBR=dcarney@chromium.org
BUG=

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

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

10 years agoMIPS: Specialize FixedTypedArray<> set and get functions to solve unaligned double...
plind44@gmail.com [Thu, 30 Jan 2014 20:05:11 +0000 (20:05 +0000)]
MIPS: Specialize FixedTypedArray<> set and get functions to solve unaligned double access.

BUG=
TEST=test-api/FixedFloat64Array
R=dslomov@chromium.org

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

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

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

10 years agoMIPS: stub api getters.
plind44@gmail.com [Thu, 30 Jan 2014 18:22:28 +0000 (18:22 +0000)]
MIPS: stub api getters.

Port r18941 (517adbf)

BUG=
R=plind44@gmail.com

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

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

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

10 years agoMIPS: Optimize HWrapReceiver.
plind44@gmail.com [Thu, 30 Jan 2014 18:13:38 +0000 (18:13 +0000)]
MIPS: Optimize HWrapReceiver.

Port r18945 (699b03e)

BUG=
R=verwaest@chromium.org

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

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

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

10 years agoSkip webkit/function-apply-aliased.js when running on simulators.
plind44@gmail.com [Thu, 30 Jan 2014 18:04:33 +0000 (18:04 +0000)]
Skip webkit/function-apply-aliased.js when running on simulators.

The webkit/function-apply-aliased.js test fails on simulators (both MIPS
and ARM) as the printed output does not match to the expected. The
failing test forces a stack overflow exception and the ToString()
operation of the exception object fails because of an other stack
overflow and returns an empty string.

The problem is that on hardware a common JS and C stack is used so the
stack overflow can be caught in C functions also while on simulator
separated JS and C stacks are used.

This patch adds a "sim" condition to test .status files to skip tests
only on simulator.

LOG=N
BUG=v8:3124
R=jkummerow@chromium.org, plind44@gmail.com

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

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

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

10 years agoFix the context check in LoadGlobalFunctionPrototype
verwaest@chromium.org [Thu, 30 Jan 2014 17:45:09 +0000 (17:45 +0000)]
Fix the context check in LoadGlobalFunctionPrototype

R=dcarney@chromium.org

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

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

10 years agoFix polymorphic load handling.
verwaest@chromium.org [Thu, 30 Jan 2014 16:44:32 +0000 (16:44 +0000)]
Fix polymorphic load handling.

BUG=
R=dcarney@chromium.org

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

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

10 years agoRevert "Use HType::NonPrimitive() for non primitive HConstants."
bmeurer@chromium.org [Thu, 30 Jan 2014 13:54:01 +0000 (13:54 +0000)]
Revert "Use HType::NonPrimitive() for non primitive HConstants."

This reverts commit r18947.

TBR=hpayer@chromium.org

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

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

10 years agoUse HType::NonPrimitive() for non primitive HConstants.
bmeurer@chromium.org [Thu, 30 Jan 2014 13:32:05 +0000 (13:32 +0000)]
Use HType::NonPrimitive() for non primitive HConstants.

This allows us to use the faster write barrier, omitting the
smi check when storing constant heap objects.

R=hpayer@chromium.org

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

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

10 years agocrankshaft support for api method calls
dcarney@chromium.org [Thu, 30 Jan 2014 13:18:41 +0000 (13:18 +0000)]
crankshaft support for api method calls

R=verwaest@chromium.org

BUG=

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

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

10 years agoOptimize HWrapReceiver
verwaest@chromium.org [Thu, 30 Jan 2014 12:52:49 +0000 (12:52 +0000)]
Optimize HWrapReceiver

R=dcarney@chromium.org

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

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

10 years agoDisable unsuitable tests in ASAN mode.
machenbach@chromium.org [Thu, 30 Jan 2014 12:52:22 +0000 (12:52 +0000)]
Disable unsuitable tests in ASAN mode.

BUG=
R=verwaest@chromium.org

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

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

10 years agoAdd global_context field to GlobalObject in heap profiler.
alph@chromium.org [Thu, 30 Jan 2014 12:17:21 +0000 (12:17 +0000)]
Add global_context field to GlobalObject in heap profiler.

LOG=N
R=ulan@chromium.org, yurys@chromium.org

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

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

10 years agostub api getters
dcarney@chromium.org [Thu, 30 Jan 2014 12:15:51 +0000 (12:15 +0000)]
stub api getters

R=verwaest@chromium.org

BUG=

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

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

10 years agoThe uninitialized value is immortal immovable.
bmeurer@chromium.org [Thu, 30 Jan 2014 12:00:52 +0000 (12:00 +0000)]
The uninitialized value is immortal immovable.

R=hpayer@chromium.org

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

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

10 years agoSupport loads from primitive values.
verwaest@chromium.org [Thu, 30 Jan 2014 11:30:38 +0000 (11:30 +0000)]
Support loads from primitive values.
This also changes load computation to use HeapTypes rather than Maps.
TODO: move conversion between maps and heaptypes earlier in the process, already in the oracle.

BUG=
R=dcarney@chromium.org

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

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

10 years agoMake sure we delete[] what we got from new[], not one byte after it.
svenpanne@chromium.org [Thu, 30 Jan 2014 10:53:20 +0000 (10:53 +0000)]
Make sure we delete[] what we got from new[], not one byte after it.

R=ulan@chromium.org

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

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

10 years agoThe current
jarin@chromium.org [Thu, 30 Jan 2014 10:33:53 +0000 (10:33 +0000)]
The current
version is passing all the existing test + a bunch of new tests
(packaged in the change list, too).

The patch extends the SlotRef object to describe captured and duplicated
objects. Since the SlotRefs are not independent of each other anymore,
there is a new SlotRefValueBuilder class that stores the SlotRefs and
later materializes the objects from the SlotRefs.

Note that unlike the previous implementation of SlotRefs, we now build
the SlotRef entries for the entire frame, not just the particular
function.  This is because duplicate objects might refer to previous
captured objects (that might live inside other inlined function's part
of the frame).

We also need to store the materialized objects between other potential
invocations of the same arguments object so that we materialize each
captured object at most once.  The materialized objects of frames live
in the new MaterielizedObjectStore object (contained in Isolate),
indexed by the frame's FP address.  Each argument materialization (and
deoptimization) tries to lookup its captured objects in the store before
building new ones.  Deoptimization also removes the materialized objects
from the store. We also schedule a lazy deopt to be sure that we always
get rid of the materialized objects and that the optmized function
adopts the materialized objects (instead of happily computing with its
captured representations).

Concerns:

- Is the FP address the right key for a frame? (Note that deoptimizer's
representation of frame is different from the argument object
materializer's one - it is not easy to find common ground.)

- Performance is suboptimal in several places, but a quick local run of
benchmarks does not seem to show a perf hit. Examples of possible
improvements: smarter generation of SlotRefs (build other functions'
SlotRefs only for captured objects and only if necessary), smarter
lookup of stored materialized objects.

- Ideally, we would like to share the code for argument materialization
with deoptimizer's materializer.  However, the supporting data structures
(mainly the frame descriptor) are quite different in each case, so it
looks more like a separate project.

Thanks for any feedback.

R=danno@chromium.org, mstarzinger@chromium.org
LOG=N
BUG=

Committed: https://code.google.com/p/v8/source/detail?r=18918

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

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

10 years agoFix test expectations for cctest/test-debug.
machenbach@chromium.org [Thu, 30 Jan 2014 10:16:54 +0000 (10:16 +0000)]
Fix test expectations for cctest/test-debug.

BUG=v8:3125
R=bmeurer@chromium.org
TBR=verwaest@chromium.org
LOG=n

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

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

10 years agoMIPS: Turn RegExpConstructResultStub into a HydrogenCodeStub.
palfia@homejinni.com [Thu, 30 Jan 2014 01:42:03 +0000 (01:42 +0000)]
MIPS: Turn RegExpConstructResultStub into a HydrogenCodeStub.

Port r18902 (ba394fbc)

Original commit message:
This has the additional benefit that it is now possible to
inline the RegExpResult construction code into Hydrogen
builtins.

BUG=
R=plind44@gmail.com

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

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

10 years agoPrepare push to trunk. Now working on version 3.24.28.
machenbach@chromium.org [Thu, 30 Jan 2014 01:05:08 +0000 (01:05 +0000)]
Prepare push to trunk.  Now working on version 3.24.28.

R=jkummerow@chromium.org
TBR=jkummerow@chromium.org

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

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

10 years agoMIPS: Remove the HValueOf instruction.
palfia@homejinni.com [Wed, 29 Jan 2014 21:51:08 +0000 (21:51 +0000)]
MIPS: Remove the HValueOf instruction.

Port r18905 (88f14cd3)

BUG=
R=plind44@gmail.com

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

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

10 years ago[Sheriff] Mark profviz flaky on GC stress.
machenbach@chromium.org [Wed, 29 Jan 2014 20:50:51 +0000 (20:50 +0000)]
[Sheriff] Mark profviz flaky on GC stress.

BUG=
TBR=hpayer@chromium.org

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

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

10 years agoMake eager allocation site pretenuring decisions.
hpayer@chromium.org [Wed, 29 Jan 2014 17:03:57 +0000 (17:03 +0000)]
Make eager allocation site pretenuring decisions.

BUG=
R=mvstanton@chromium.org

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

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

10 years agoDo not overwrite builtin code names in heap profiler
alph@chromium.org [Wed, 29 Jan 2014 17:03:13 +0000 (17:03 +0000)]
Do not overwrite builtin code names in heap profiler

Make sure builtin code objects get their builtin tags
first. Otherwise a particular JSFunction object could set
its custom name to a generic builtin.

LOG=N
R=ulan@chromium.org, yurys@chromium.org

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

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

10 years ago[Sheriff] Mark test-debug/* as flaky on Mac.
machenbach@chromium.org [Wed, 29 Jan 2014 16:59:50 +0000 (16:59 +0000)]
[Sheriff] Mark test-debug/* as flaky on Mac.

Now including release mode.

BUG=v8:3125
LOG=n
TBR=verwaest@chromium.org

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

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

10 years agoRevert "Captured arguments object materialization"
jarin@chromium.org [Wed, 29 Jan 2014 15:49:48 +0000 (15:49 +0000)]
Revert "Captured arguments object materialization"

R=jarin@chromium.org

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

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

10 years agoMake 'ASAN' configurable in test status file.
machenbach@chromium.org [Wed, 29 Jan 2014 15:30:41 +0000 (15:30 +0000)]
Make 'ASAN' configurable in test status file.

BUG=
R=jkummerow@chromium.org

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

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

10 years agoDon't parallelize tests that register extensions.
machenbach@chromium.org [Wed, 29 Jan 2014 15:29:58 +0000 (15:29 +0000)]
Don't parallelize tests that register extensions.

These tests register extensions on the isolate and the configuration of the extensions runs out of scope. If run in parallel, other tests access the isolate's state and read the registered extensions.

BUG=
R=dcarney@chromium.org

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

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

10 years ago[Sheriff] Mark test-debug/* as flaky on Mac.
machenbach@chromium.org [Wed, 29 Jan 2014 15:15:37 +0000 (15:15 +0000)]
[Sheriff] Mark test-debug/* as flaky on Mac.

BUG=v8:3125
LOG=n
TBR=verwaest@chromium.org

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

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

10 years agoThis is a preview of the captured arguments object materialization,
jarin@chromium.org [Wed, 29 Jan 2014 15:14:15 +0000 (15:14 +0000)]
This is a preview of the captured arguments object materialization,
mostly to make sure that it is going in the right direction. The current
version is passing all the existing test + a bunch of new tests
(packaged in the change list, too).

The patch extends the SlotRef object to describe captured and duplicated
objects. Since the SlotRefs are not independent of each other anymore,
there is a new SlotRefValueBuilder class that stores the SlotRefs and
later materializes the objects from the SlotRefs.

Note that unlike the previous implementation of SlotRefs, we now build
the SlotRef entries for the entire frame, not just the particular
function.  This is because duplicate objects might refer to previous
captured objects (that might live inside other inlined function's part
of the frame).

We also need to store the materialized objects between other potential
invocations of the same arguments object so that we materialize each
captured object at most once.  The materialized objects of frames live
in the new MaterielizedObjectStore object (contained in Isolate),
indexed by the frame's FP address.  Each argument materialization (and
deoptimization) tries to lookup its captured objects in the store before
building new ones.  Deoptimization also removes the materialized objects
from the store. We also schedule a lazy deopt to be sure that we always
get rid of the materialized objects and that the optmized function
adopts the materialized objects (instead of happily computing with its
captured representations).

Concerns:

- Is there a simpler/more correct way to store the already-materialized
objects? (At the moment there is a custom root reference to JSArray
containing frames' FixedArrays with their captured objects.)

- Is the FP address the right key for a frame? (Note that deoptimizer's
representation of frame is different from the argument object
materializer's one - it is not easy to find common ground.)

- Performance is suboptimal in several places, but a quick local run of
benchmarks does not seem to show a perf hit. Examples of possible
improvements: smarter generation of SlotRefs (build other functions'
SlotRefs only for captured objects and only if necessary), smarter
lookup of stored materialized objects.

- Ideally, we would like to share the code for argument materialization
with deoptimizer's materializer.  However, the supporting data structures
(mainly the frame descriptor) are quite different in each case, so it
looks more like a separate project.

Thanks for any feedback.

R=mstarzinger@chromium.org, danno@chromium.org
LOG=N
BUG=

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

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

10 years agoSkip Mozilla tests with timeouts.
machenbach@chromium.org [Wed, 29 Jan 2014 15:13:45 +0000 (15:13 +0000)]
Skip Mozilla tests with timeouts.

- Let Mozilla tests with timeouts always run in no-variants mode. Otherwise the stress-run causes a 16 minutes timeout in debug mode and 32 minutes on arm debug.
- Four test cases with exponentially long running regular expressions are skipped entirely.

BUG=
R=jkummerow@chromium.org

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

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

10 years agoGeneralize internalization of substrings.
ulan@chromium.org [Wed, 29 Jan 2014 14:31:34 +0000 (14:31 +0000)]
Generalize internalization of substrings.

Make a template version of SubStringKey, which allows internalization of substrings of sequential and external strings.

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

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

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

10 years agoDisable tracking of double fields during snapshot creation.
ulan@chromium.org [Wed, 29 Jan 2014 14:18:55 +0000 (14:18 +0000)]
Disable tracking of double fields during snapshot creation.

Follow-up to r18298.

R=verwaest@chromium.org

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

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

10 years agoReplace HThrow with HCallRuntime.
bmeurer@chromium.org [Wed, 29 Jan 2014 14:03:32 +0000 (14:03 +0000)]
Replace HThrow with HCallRuntime.

R=svenpanne@chromium.org

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

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

10 years agoMark next_code_link as weak in heap profiler.
alph@chromium.org [Wed, 29 Jan 2014 13:45:41 +0000 (13:45 +0000)]
Mark next_code_link as weak in heap profiler.

LOG=N
R=ulan@chromium.org, yurys@chromium.org

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

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

10 years agoRemove the unused HElementsKind instruction.
bmeurer@chromium.org [Wed, 29 Jan 2014 13:44:50 +0000 (13:44 +0000)]
Remove the unused HElementsKind instruction.

R=svenpanne@chromium.org

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

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

10 years agoRemove the HValueOf instruction.
bmeurer@chromium.org [Wed, 29 Jan 2014 13:41:00 +0000 (13:41 +0000)]
Remove the HValueOf instruction.

R=svenpanne@chromium.org

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

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

10 years agoExit mksnapshot cleanly, making LSAN happy.
svenpanne@chromium.org [Wed, 29 Jan 2014 13:30:38 +0000 (13:30 +0000)]
Exit mksnapshot cleanly, making LSAN happy.

R=mstarzinger@chromium.org

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

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

10 years agoTurn RegExpConstructResultStub into a HydrogenCodeStub.
bmeurer@chromium.org [Wed, 29 Jan 2014 13:10:35 +0000 (13:10 +0000)]
Turn RegExpConstructResultStub into a HydrogenCodeStub.

This has the additional benefit that it is now possible to
inline the RegExpResult construction code into Hydrogen
builtins.

R=mvstanton@chromium.org

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

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

10 years agoExtend ArrayPop hydrogen support to COW arrays and popping from empty arrays.
verwaest@chromium.org [Wed, 29 Jan 2014 12:53:40 +0000 (12:53 +0000)]
Extend ArrayPop hydrogen support to COW arrays and popping from empty arrays.

R=mvstanton@chromium.org

BUG=

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

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

10 years agoDon't create dummy uses for control dependencies.
bmeurer@chromium.org [Wed, 29 Jan 2014 12:48:32 +0000 (12:48 +0000)]
Don't create dummy uses for control dependencies.

R=svenpanne@chromium.org

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

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

10 years agoUse IfBuilder instead of handcrafted basic blocks in GenerateSetValueOf().
bmeurer@chromium.org [Wed, 29 Jan 2014 09:59:16 +0000 (09:59 +0000)]
Use IfBuilder instead of handcrafted basic blocks in GenerateSetValueOf().

R=svenpanne@chromium.org

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

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

10 years agoAdd dependency operand to HLoadNamedField.
bmeurer@chromium.org [Wed, 29 Jan 2014 09:48:35 +0000 (09:48 +0000)]
Add dependency operand to HLoadNamedField.

R=svenpanne@chromium.org

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

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

10 years agoPrepare push to trunk. Now working on version 3.24.27.
machenbach@chromium.org [Wed, 29 Jan 2014 08:13:05 +0000 (08:13 +0000)]
Prepare push to trunk.  Now working on version 3.24.27.

R=jkummerow@chromium.org
TBR=jkummerow@chromium.org

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

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

10 years agoKill obsolete HLoadExternalArrayPointer instruction.
bmeurer@chromium.org [Wed, 29 Jan 2014 07:27:35 +0000 (07:27 +0000)]
Kill obsolete HLoadExternalArrayPointer instruction.

R=svenpanne@chromium.org

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

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

10 years agoES6: Map and Set needs to normalize minus zero
svenpanne@chromium.org [Wed, 29 Jan 2014 07:27:05 +0000 (07:27 +0000)]
ES6: Map and Set needs to normalize minus zero

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

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

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

10 years agoBoth HGlobalObject and HGlobalReceiver can be replaced with HLoadNamedField.
bmeurer@chromium.org [Wed, 29 Jan 2014 07:26:52 +0000 (07:26 +0000)]
Both HGlobalObject and HGlobalReceiver can be replaced with HLoadNamedField.

R=svenpanne@chromium.org

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

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

10 years agoMIPS: Fix global object loading in DoWrapReceiver.
palfia@homejinni.com [Tue, 28 Jan 2014 20:26:53 +0000 (20:26 +0000)]
MIPS: Fix global object loading in DoWrapReceiver.

This commit fixes the global object loading to load the result into the "result" register instead of the "receiver" register.

TEST=mjsunit/compiler/regress-arguments
BUG=
R=plind44@gmail.com, verwaest@chromium.org

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

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

10 years agoARM: Fix global object loading in DoWrapReceiver.
palfia@homejinni.com [Tue, 28 Jan 2014 20:25:38 +0000 (20:25 +0000)]
ARM: Fix global object loading in DoWrapReceiver.

This commit fixes the global object loading to load the result into the "result" register instead of the "receiver" register.

BUG=
R=verwaest@chromium.org

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

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

10 years agov8config.h: introduce V8_LIBC_MSVCRT
bmeurer@chromium.org [Tue, 28 Jan 2014 19:11:13 +0000 (19:11 +0000)]
v8config.h: introduce V8_LIBC_MSVCRT

Use this for detecting MSVCRT library features instead of
V8_CC_MSVC.

One use case for this is when compiling with Clang together with the
MSVC library. In that case, V8_CC_MSVC will be false, but V8_LIBC_MSVCRT
will be true.

BUG=82385
LOG=n
R=bmeurer@chromium.org

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

Patch from Hans Wennborg <hans@chromium.org>.

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

10 years agoFix for potential issue related to replacing CheckMaps with values.
ishell@chromium.org [Tue, 28 Jan 2014 17:49:13 +0000 (17:49 +0000)]
Fix for potential issue related to replacing CheckMaps with values.

R=titzer@chromium.org

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

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

10 years agoFlow engine fixes: unreachable block processing, state merging.
ishell@chromium.org [Tue, 28 Jan 2014 16:57:39 +0000 (16:57 +0000)]
Flow engine fixes: unreachable block processing, state merging.

R=titzer@chromium.org

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

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

10 years agoLoad elimination fix with a test case.
ishell@chromium.org [Tue, 28 Jan 2014 16:45:04 +0000 (16:45 +0000)]
Load elimination fix with a test case.

R=titzer@chromium.org, verwaest@chromium.org

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

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

10 years agoAllocation site pretenuring for StringAdd on all platforms.
hpayer@chromium.org [Tue, 28 Jan 2014 15:43:28 +0000 (15:43 +0000)]
Allocation site pretenuring for StringAdd on all platforms.

BUG=
R=mvstanton@chromium.org

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

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

10 years agoDrop the native FastNewBlockContextStub.
bmeurer@chromium.org [Tue, 28 Jan 2014 13:43:04 +0000 (13:43 +0000)]
Drop the native FastNewBlockContextStub.

This code is almost never executed in real world and benchmarks,
and there's obviously absolutely no need to have this native code
hanging around for no benefit.

R=svenpanne@chromium.org

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

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

10 years agoWe shouldn't throw under FLAG_debug_code, rather abort.
mvstanton@chromium.org [Tue, 28 Jan 2014 11:53:11 +0000 (11:53 +0000)]
We shouldn't throw under FLAG_debug_code, rather abort.

Throwing under FLAG_debug_code confuses the rest of our infrastructure
which expects a safe point at the site of call into the runtime
for throw. We were doing that to make a clusterfuzz test happy, but
the better solution is to assert/abort under debug_code, and prevent
clusterfuzz from fuzzing on internal APIs that crash on incorrect
values.

We'll need to alter the fuzzer to turn off fuzzing for:

string-natives.js
lithium/SeqStringSetChar.js
regress/regress-seqstrsetchar-ex3.js
regress/regress-seqstrsetchar-ex1.js
regress/regress-crbug-320922.js

So as to prevent the fuzzer from running
%_OneByteSeqStringSetChar() and
%_TwoByteSeqStringSetChar().

BUG=
R=hpayer@chromium.org, machenbach@chromium.org

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

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

10 years agoMake `String.prototype.{starts,ends}With` throw when passing a regular expression
ishell@chromium.org [Tue, 28 Jan 2014 10:31:05 +0000 (10:31 +0000)]
Make `String.prototype.{starts,ends}With` throw when passing a regular expression

Contributed by Mathias Bynens <mathiasb@opera.com>.

TEST=mjsunit/harmony
BUG=v8:3070
LOG=Y
R=arv@chromium.org, ishell@chromium.org

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

Patch from Mathias Bynens <mathiasb@opera.com>.

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

10 years agoTurn off global pretenuring when allocation site pretenuring is in use.
hpayer@chromium.org [Tue, 28 Jan 2014 09:47:03 +0000 (09:47 +0000)]
Turn off global pretenuring when allocation site pretenuring is in use.

BUG=
R=mstarzinger@chromium.org, mvstanton@chromium.org

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

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

10 years agoRemove obsolete instruction HOuterContext.
bmeurer@chromium.org [Tue, 28 Jan 2014 09:42:24 +0000 (09:42 +0000)]
Remove obsolete instruction HOuterContext.

HOuterContext can be expressed in terms of HLoadNamedField.

R=svenpanne@chromium.org

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

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

10 years agoPrepare push to trunk. Now working on version 3.24.26.
machenbach@chromium.org [Tue, 28 Jan 2014 07:51:20 +0000 (07:51 +0000)]
Prepare push to trunk.  Now working on version 3.24.26.

R=jkummerow@chromium.org
TBR=jkummerow@chromium.org

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

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

10 years agoMIPS: stub fast api calls
palfia@homejinni.com [Tue, 28 Jan 2014 01:35:20 +0000 (01:35 +0000)]
MIPS: stub fast api calls

Port r18847 (c920fc50)

BUG=
R=plind44@gmail.com

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

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

10 years ago[Sheriff] Fix status file entry.
machenbach@chromium.org [Mon, 27 Jan 2014 16:46:16 +0000 (16:46 +0000)]
[Sheriff] Fix status file entry.

BUG=
TBR=hpayer@chromium.org

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

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

10 years agoSkip regression test 320948 temporarily.
hpayer@chromium.org [Mon, 27 Jan 2014 15:59:10 +0000 (15:59 +0000)]
Skip regression test 320948 temporarily.

BUG=
R=mvstanton@chromium.org

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

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

10 years agoEnable concurrent sweeping.
hpayer@chromium.org [Mon, 27 Jan 2014 14:37:22 +0000 (14:37 +0000)]
Enable concurrent sweeping.

BUG=
R=mvstanton@chromium.org

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

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

10 years agoHydrogen filter now supports trailing wildcard in negative filter.
ishell@chromium.org [Mon, 27 Jan 2014 12:05:47 +0000 (12:05 +0000)]
Hydrogen filter now supports trailing wildcard in negative filter.

R=verwaest@chromium.org

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

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

10 years agofix windows after r18847
dcarney@chromium.org [Mon, 27 Jan 2014 11:13:50 +0000 (11:13 +0000)]
fix windows after r18847

TBR=verwaest@chromium.org

BUG=

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

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

10 years agodon't anger clang
dcarney@chromium.org [Mon, 27 Jan 2014 10:06:37 +0000 (10:06 +0000)]
don't anger clang

R=svenpanne@chromium.org

BUG=

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

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

10 years agostub fast api calls
dcarney@chromium.org [Mon, 27 Jan 2014 09:57:54 +0000 (09:57 +0000)]
stub fast api calls

R=verwaest@chromium.org, vervaest@chromium.org

BUG=

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

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

10 years agoAllow arbitrary names for weak references in heap snapshots.
alph@chromium.org [Mon, 27 Jan 2014 09:37:02 +0000 (09:37 +0000)]
Allow arbitrary names for weak references in heap snapshots.

LOG=N
BUG=
R=ulan@chromium.org, yurys@chromium.org

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

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

10 years agoFix issue with context not being saved on x64 introduced in 144543004
dcarney@chromium.org [Mon, 27 Jan 2014 08:12:59 +0000 (08:12 +0000)]
Fix issue with context not being saved on x64 introduced in 144543004

TBR=verwaest@chromium.org

BUG=

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

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

10 years agoRevert "Allow arbitrary names for weak references in heap snapshots."
bmeurer@chromium.org [Mon, 27 Jan 2014 06:47:42 +0000 (06:47 +0000)]
Revert "Allow arbitrary names for weak references in heap snapshots."

This reverts commit r18838 for breaking build with clang. Errors are:

../../src/heap-snapshot-generator.cc:1217:53: error: empty macro arguments were standardized in C99 [-Werror,-pedantic]
    EXTRACT_CONTEXT_FIELD(OPTIMIZED_FUNCTIONS_LIST, , optimized_functions_list);
../../src/heap-snapshot-generator.cc:1218:48: error: empty macro arguments were standardized in C99 [-Werror,-pedantic]
    EXTRACT_CONTEXT_FIELD(OPTIMIZED_CODE_LIST, , optimized_code_list);
../../src/heap-snapshot-generator.cc:1219:50: error: empty macro arguments were standardized in C99 [-Werror,-pedantic]
    EXTRACT_CONTEXT_FIELD(DEOPTIMIZED_CODE_LIST, , deoptimized_code_list);
../../src/heap-snapshot-generator.cc:1220:46: error: empty macro arguments were standardized in C99 [-Werror,-pedantic]
    EXTRACT_CONTEXT_FIELD(NEXT_CONTEXT_LINK, , next_context_link);

TBR=alph@chromium.org

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

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

10 years agoFix minor typos in platform-*.cc
bmeurer@chromium.org [Mon, 27 Jan 2014 06:36:10 +0000 (06:36 +0000)]
Fix minor typos in platform-*.cc

R=bmeurer@chromium.org

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

Patch from Cosmin Truta <ctruta@blackberry.com>.

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

10 years agoPrepare push to trunk. Now working on version 3.24.25.
machenbach@chromium.org [Mon, 27 Jan 2014 01:05:11 +0000 (01:05 +0000)]
Prepare push to trunk.  Now working on version 3.24.25.

R=jkummerow@chromium.org
TBR=jkummerow@chromium.org

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

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

10 years agoMIPS: Reduce the stack requirements of GetNoCodeAgeSequence.
plind44@gmail.com [Fri, 24 Jan 2014 18:44:47 +0000 (18:44 +0000)]
MIPS: Reduce the stack requirements of GetNoCodeAgeSequence.

Port r18815 (f93582a)

Original commit message:
Allocate the patcher object on the heap, to avoid occasional stack
overflows on QNX/ARM when entering GetNoCodeAgeSequence.

BUG=v8:3111
LOG=y
R=plind44@gmail.com

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

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

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

10 years agoAllow arbitrary names for weak references in heap snapshots.
alph@chromium.org [Fri, 24 Jan 2014 17:18:34 +0000 (17:18 +0000)]
Allow arbitrary names for weak references in heap snapshots.

LOG=N
R=ulan@chromium.org, yurys@chromium.org

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

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

10 years agoExternal Array renaming and boilerplate scrapping
dslomov@chromium.org [Fri, 24 Jan 2014 16:01:15 +0000 (16:01 +0000)]
External Array renaming and boilerplate scrapping

Replaced symbolic names with correct JS name (byte -> int8, unsigned int -> uint32 etc).
Using macros to scrap the boilerplate
BUG=
R=svenpanne@chromium.org

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

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

10 years agoMark weak fields of JSArrayBuffer and JSArrayBufferView as weak in heap snapshot.
alph@chromium.org [Fri, 24 Jan 2014 15:10:09 +0000 (15:10 +0000)]
Mark weak fields of JSArrayBuffer and JSArrayBufferView as weak in heap snapshot.

BUG=337144
LOG=N
R=ulan@chromium.org, yurys@chromium.org

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

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

10 years agoDelete v8_shell target now that chrome uses d8
jochen@chromium.org [Fri, 24 Jan 2014 14:58:40 +0000 (14:58 +0000)]
Delete v8_shell target now that chrome uses d8

BUG=331585
LOG=y
R=machenbach@chromium.org

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

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

10 years agoSimplify HUnaryMathOperation::Canonicalize.
svenpanne@chromium.org [Fri, 24 Jan 2014 14:05:11 +0000 (14:05 +0000)]
Simplify HUnaryMathOperation::Canonicalize.

Made the logic architecture-independent, although we should really have some kind of instruction selection instead of trying to handle some weird cases at the hydrogen level.

Some tiny related cleanups on the way.

R=bmeurer@chromium.org

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

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

10 years agoFix HGraphBuilder::AddSimulate to pass removable down correctly
vegorov@chromium.org [Fri, 24 Jan 2014 12:22:13 +0000 (12:22 +0000)]
Fix HGraphBuilder::AddSimulate to pass removable down correctly

It was passed as a position argument previously making all simulates added with it conservatively FIXED_SIMULATE.

BUG=
R=jkummerow@chromium.org

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

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

10 years agoUse rand not random
rossberg@chromium.org [Fri, 24 Jan 2014 11:58:11 +0000 (11:58 +0000)]
Use rand not random

Should make VS happier.

R=bmeurer@chromium.org
BUG=

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

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

10 years agoARM: Reduce the stack requirements of GetNoCodeAgeSequence.
svenpanne@chromium.org [Fri, 24 Jan 2014 11:48:09 +0000 (11:48 +0000)]
ARM: Reduce the stack requirements of GetNoCodeAgeSequence.

Allocate the patcher object on the heap, to avoid occasional stack
overflows on QNX/ARM when entering GetNoCodeAgeSequence.

BUG=v8:3111
LOG=y

Patch from Cosmin Truta <ctruta@blackberry.com>.

R=svenpanne@chromium.org

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

Patch from Cosmin Truta <ctruta@blackberry.com>.

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

10 years agoReland ArrayPop / ArrayPush.
verwaest@chromium.org [Fri, 24 Jan 2014 11:47:53 +0000 (11:47 +0000)]
Reland ArrayPop / ArrayPush.

R=mvstanton@chromium.org

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

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

10 years agoType representation converter
rossberg@chromium.org [Fri, 24 Jan 2014 11:47:47 +0000 (11:47 +0000)]
Type representation converter

R=danno@chromium.org
BUG=

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

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

10 years agoSpeed up some mjsunit test cases and clean up test expectations for arm and mips.
machenbach@chromium.org [Fri, 24 Jan 2014 11:36:45 +0000 (11:36 +0000)]
Speed up some mjsunit test cases and clean up test expectations for arm and mips.

Many skipped test cases already run very fast. Removing the corresponding expectations.

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

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

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

10 years agoRevert broken ArrayPop changes
jkummerow@chromium.org [Fri, 24 Jan 2014 08:32:50 +0000 (08:32 +0000)]
Revert broken ArrayPop changes

This reverts:
r18749 "Reland (and fix) "Add hydrogen support for ArrayPop, and remove the handwritten call stubs."",
r18790 "Remove ArrayPush from the custom call generators, and instead call directly to the handler in crankshaft.", and
r18798 "MIPS: Remove ArrayPush from the custom call generators, and instead call directly to the handler in crankshaft."

For causing crashes on Canary.

BUG=chromium:337686
LOG=N
R=bmeurer@chromium.org

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

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

10 years agoRevert some movq->movp changes under the _WIN64 macro for X64
haitao.feng@intel.com [Fri, 24 Jan 2014 01:59:00 +0000 (01:59 +0000)]
Revert some movq->movp changes under the _WIN64 macro for X64

R=verwaest@chromium.org

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

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

10 years agoIntroduce Assembler::RelocInfoNone function for X64
haitao.feng@intel.com [Fri, 24 Jan 2014 01:45:53 +0000 (01:45 +0000)]
Introduce Assembler::RelocInfoNone function for X64

R=verwaest@chromium.org

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

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

10 years agoPrepare push to trunk. Now working on version 3.24.24.
machenbach@chromium.org [Fri, 24 Jan 2014 01:04:58 +0000 (01:04 +0000)]
Prepare push to trunk.  Now working on version 3.24.24.

R=jkummerow@chromium.org
TBR=jkummerow@chromium.org

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

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

10 years agoMIPS: Remove ArrayPush from the custom call generators, and instead call directly...
palfia@homejinni.com [Thu, 23 Jan 2014 19:33:42 +0000 (19:33 +0000)]
MIPS: Remove ArrayPush from the custom call generators, and instead call directly to the handler in crankshaft.

Port r18790 (0d675eeb)

BUG=
R=plind44@gmail.com

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

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

10 years agoDisable SetAllocationTimeout in fuzz-natives test since it has varargs.
machenbach@chromium.org [Thu, 23 Jan 2014 16:33:35 +0000 (16:33 +0000)]
Disable SetAllocationTimeout in fuzz-natives test since it has varargs.

BUG=
R=mstarzinger@chromium.org
TBR=mstarzinger@chromium.org

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

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

10 years agoRemove ArrayPush from the custom call generators, and instead call directly to the...
verwaest@chromium.org [Thu, 23 Jan 2014 16:20:25 +0000 (16:20 +0000)]
Remove ArrayPush from the custom call generators, and instead call directly to the handler in crankshaft.

R=mvstanton@chromium.org

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

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

10 years agoFix syntax check for SetAllocationTimeout.
machenbach@chromium.org [Thu, 23 Jan 2014 16:16:26 +0000 (16:16 +0000)]
Fix syntax check for SetAllocationTimeout.

This is missing in r18787.

BUG=
R=mstarzinger@chromium.org

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

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

10 years agoAllow to enable/disable inline allocation via runtime function.
machenbach@chromium.org [Thu, 23 Jan 2014 15:57:14 +0000 (15:57 +0000)]
Allow to enable/disable inline allocation via runtime function.

This will allow to artificially trigger GCs on all allocations for testing purposes.

BUG=
R=mstarzinger@chromium.org

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

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

10 years agoDon't hardcode GCC_VERSION for Xcode in standalone.gypi.
jkummerow@chromium.org [Thu, 23 Jan 2014 15:55:20 +0000 (15:55 +0000)]
Don't hardcode GCC_VERSION for Xcode in standalone.gypi.

This fixes standalone command-line Xcode compilation with Xcode 5.x.

R=machenbach@chromium.org

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

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