verwaest@chromium.org [Fri, 31 Jan 2014 11:38:43 +0000 (11:38 +0000)]
Don't unmark dictionary mode maps as unstable.
R=ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
148493007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18983
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Fri, 31 Jan 2014 10:31:55 +0000 (10:31 +0000)]
Disable concurrent sweeping.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
151273002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18981
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 31 Jan 2014 10:05:58 +0000 (10:05 +0000)]
Use `CHECK_OBJECT_COERCIBLE` macro where possible
Contributed by Mathias Bynens <mathiasb@opera.com>.
TEST=
BUG=v8:3122
LOG=N
R=arv@chromium.org
Review URL: https://codereview.chromium.org/
132333019
Patch from Mathias Bynens <mathiasb@opera.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18979
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 31 Jan 2014 09:59:50 +0000 (09:59 +0000)]
Once again: Fixed some lifetime/ownership issues in cctest
* Fixed lifetime issue in cctest/test-heap-profiler/HeapSnapshotJSONSerialization.
* Fixed ownership issue in cctest/test-api/ContainsOnlyOneByte.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
142553005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18978
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Fri, 31 Jan 2014 09:59:22 +0000 (09:59 +0000)]
Revert "[Sheriff] Mark profviz flaky on GC stress."
This reverts commit
f70687c1e5ef15254887e0619939e25a834e936e.
BUG=
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
148493006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18977
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 31 Jan 2014 09:18:43 +0000 (09:18 +0000)]
Add Opera Software ASA to AUTHORS
Contributed by Mathias Bynens <mathiasb@opera.com>.
BUG=
LOG=N
R=bmeurer@chromium.org, jarin@chromium.org
Review URL: https://codereview.chromium.org/
135493003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18976
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Fri, 31 Jan 2014 09:10:56 +0000 (09:10 +0000)]
Fix deopt fuzzer variable set up.
Adds the simulator variable configuration from r18959 to the deopt fuzzer.
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
143403004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18975
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Fri, 31 Jan 2014 09:09:43 +0000 (09:09 +0000)]
Fix python path for gyp.
BUG=
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/
151253002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18974
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Fri, 31 Jan 2014 09:07:30 +0000 (09:07 +0000)]
Check forwarding pointer when marking objects for deoptimization.
BUG=
R=bmeurer@chromium.org, mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
148493004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18973
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 31 Jan 2014 08:09:17 +0000 (08:09 +0000)]
Implements ES6 String.prototype.normalize method.
BUG=v8:2943
LOG=Y
TEST=Unit tests for "real life" use cases, edge cases, various types of normalization.
==========================
This is identical to the previous CL
https://codereview.chromium.org/
40133004/
with two differences:
* Added a dummy implementation of String.prototype.normalize to be used when v8 is compiled without intl support
* Rebased the the test files for webkit. That was the only reason for the previous failure (and revert).
Thank you,
Mihai
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
68133016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18972
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 31 Jan 2014 07:29:25 +0000 (07:29 +0000)]
Fixed a few lifetime/ownership issues in cctest/test-api.
* Fixed CompileExternalTwoByteSource: Registered resources should
better still be alive when they are accessed.
* Fixed ownership in cctest/test-api/VisitExternalStrings.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
139923003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18971
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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