svenpanne@chromium.org
627645fed7
Fixed evaluation order problem found by GCMole.
...
TBR=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/14178006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14295 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-17 06:25:29 +00:00
palfia@homejinni.com
0400e05938
MIPS: Handle OOM failures correctly in the CEntryStub when embedders set V8::IgnoreOutOfMemoryException()
...
Port r14279 (81829ab4)
BUG=
Review URL: https://codereview.chromium.org/14299006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14294 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-16 21:35:42 +00:00
mstarzinger@chromium.org
091f0b7f35
Revert the commits adding new GC-related APIs.
...
We need to solve efficiency problems first.
This reverts the following revisions: 14283 14286 14221 14215
BUG=
Review URL: https://codereview.chromium.org/14294009
Patch from Marja Hölttä <marja@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14293 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-16 16:37:04 +00:00
jkummerow@chromium.org
decb5394ef
More ARM GYP fixes
...
Review URL: https://codereview.chromium.org/13902014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14292 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-16 15:36:11 +00:00
jkummerow@chromium.org
e1d9543a5e
Fix ARM specific GYP variables
...
Review URL: https://codereview.chromium.org/14208011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14291 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-16 15:17:27 +00:00
jkummerow@chromium.org
d666b24255
Fix shared library build of preparser: properly #undef V8EXPORT
...
Review URL: https://codereview.chromium.org/14293010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14290 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-16 14:55:45 +00:00
mstarzinger@chromium.org
7c80328866
Fix compilation failure on Win64 since r14285.
...
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/14238012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14289 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-16 14:55:09 +00:00
rodolph.perfetta@gmail.com
caa37597ad
ARM: Makefile/gyp update allowing better control of ARM specific options.
...
This patch defines new makefile command line paramaters to better control the
ARM specific options. The new paramters are
* armfpu = vfp, vfpv3-d16, vfpv3, neon.
* armfloatabi = softfp, hard
* armneon = on
* armthumb = on, off
* armtest = on
One existing paratemer has been modified:
* armv7 = true, false
A number of parameters have been deprecated (but are still working):
* hardfp = on, off
* vfp2 = off
* vfp3 = off
the armtest paratmer when set to "on" will lock the options used during compile
time at runtime. This allows for example to easily test the ARMv6 build on an
ARMv7 platform without having to worry about features detected at runtime. When
not specified the compiler default will be used meaning it is not necessary
anymore to specify hardfp=on when natively building on an hardfp platform.
The shell help now prints the target options and features detected.
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/14263018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14288 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-16 14:39:48 +00:00
dslomov@chromium.org
3fad52063a
Release build fix
...
TBR=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/14296008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14287 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-16 14:34:02 +00:00
jkummerow@chromium.org
f0bd070087
Build error fix after r14283.
...
BUG=NONE
Review URL: https://codereview.chromium.org/14060010
Patch from Marja Hölttä <marja@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14286 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-16 14:24:31 +00:00
dslomov@chromium.org
c1a19275d3
First cut at impementing ES6 TypedArrays in V8.
...
BUG=
Review URL: https://codereview.chromium.org/13975012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14285 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-16 14:16:30 +00:00
jkummerow@chromium.org
266d2e6320
Fix Windows build
...
Review URL: https://codereview.chromium.org/13929015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14284 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-16 13:17:47 +00:00
mstarzinger@chromium.org
e8bc8d76ae
New GC related APIs: Implicit references.
...
When using these APIs, the embedder doesn't need to copy Persistent handles around.
BUG=NONE
Review URL: https://codereview.chromium.org/14175005
Patch from Marja Hölttä <marja@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14283 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-16 12:57:01 +00:00
jkummerow@chromium.org
2df1620c28
Make gyp work with Cygwin
...
Review URL: https://codereview.chromium.org/13760003
Patch from Haitao Feng <haitao.feng@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14282 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-16 12:36:44 +00:00
yangguo@chromium.org
fa2c88d2fa
Remove bogus CPU scope.
...
R=mvstanton@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/14295004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14281 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-16 12:33:39 +00:00
jkummerow@chromium.org
586c4e74b6
Replace OS::MemCopy with OS::MemMove (just as fast but more flexible).
...
Review URL: https://codereview.chromium.org/13932006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14280 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-16 12:30:51 +00:00
jkummerow@chromium.org
fbe1a9e3c1
Handle OOM failures correctly in the CEntryStub when embedders set V8::IgnoreOutOfMemoryException()
...
BUG=chromium:231217
Review URL: https://codereview.chromium.org/14066009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14279 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-16 12:16:55 +00:00
yurys@chromium.org
2e41f0ce1a
pthreads seem to be fully supported on Linux and Android which allows to remove many #ifdefs.
...
Also OS::Sleep(interval_) is used to pause sampling thread on all platforms. It makes no sense to send signal once 900mks to compensate 100mks delay on signal delivery as the signals would be delivered once 900mks.
BUG=None
Review URL: https://codereview.chromium.org/14238007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14278 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-16 12:06:43 +00:00
palfia@homejinni.com
ecfa9675a2
MIPS: Remove soft-float support.
...
Port r14159 (0c64645)
Original commit message:
Remove ARM support for VFP2
BUG=
TEST=
Review URL: https://codereview.chromium.org/14113011
Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14275 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-16 11:33:02 +00:00
vegorov@chromium.org
102c5170c2
Fix bug introduced by r13960.
...
Allocator does not backtrack thus during allocation we must not create an unhandled live
range which starts before the start of the current live range.
If such range is added to the list of unhandled it might see an inconsistent state of active/inactive live-ranges as they are retired to handled as soon as start of the current live range is larger than their end.
Add assertion to catch this kind of bugs early.
TEST=NavierStokes does not fail on ARM
Review URL: https://codereview.chromium.org/14262005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14274 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-16 11:31:04 +00:00
yangguo@chromium.org
e1742a6716
Remove relocation lock.
...
Freeze HValue hash codes that are based on object addresses.
R=svenpanne@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/14040006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14273 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-16 11:00:02 +00:00
yurys@chromium.org
9585ead1e9
This change is a continuation of the refactoring started in r14265.
...
Renamed SignalSender to SamplerThread to match platforms that don't support signal sending.
Cygwin and Windows implementations are almost identical. Mac OS X uses different API to suspend thread but apart from that it is very similar to Windows implenenation.
BUG=None
Review URL: https://codereview.chromium.org/14264009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14272 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-16 08:54:33 +00:00
m.m.capewell@googlemail.com
5c6b09e6c6
ARM: Enable VFP default NaN mode
...
BUG=none
TEST=Default NaN tests added to test-assembler-arm.
Review URL: https://codereview.chromium.org/14109010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-15 15:55:47 +00:00
yangguo@chromium.org
d7b78dc230
Fix OOB write in --print-code.
...
R=jkummerow@chromium.org
BUG=v8:2624
Review URL: https://chromiumcodereview.appspot.com/14018010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14267 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-15 15:19:51 +00:00
yurys@chromium.org
e103bd3521
Increase profiling interval in test-cpu-profiler/CollectCpuProfile to 500ms on Windows
...
BUG=v8:2628
Review URL: https://codereview.chromium.org/14200014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14266 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-15 14:45:38 +00:00
yurys@chromium.org
1596afa7f9
Move *BSD and Solaris Sampler implementation into sampler.cc
...
This is a first step to having profiler sampler implementation in one file with platform capabilities guarded with #ifdef. Otherwise we have very similar implementations scattered over platform-*.cc files which makes it hard to see differences and make changes.
The next steps will be to merge win32, Mac OS X and Cygwin implementations into sampler.cc They suspend profiled thread instead of sending a signal but apart from that the logic is pretty much the same. Then I'm going to move sampler-related code from log.* into sampler.*
BUG=None
Review URL: https://codereview.chromium.org/13852005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14265 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-15 13:57:41 +00:00
mstarzinger@chromium.org
591a8ec86c
Calling a generator function returns a generator object
...
* src/heap.h:
* src/heap.cc:
* src/objects-debug.cc:
* src/objects-inl.h:
* src/objects-printer.cc:
* src/objects-visiting.cc:
* src/objects.cc:
* src/objects.h: Define a new object type, JSGeneratorObject.
* src/factory.h:
* src/factory.cc (NewFunctionFromSharedFunctionInfo): Generator function
inital maps construct the new JS_GENERATOR_OBJECT_TYPE objects, not
generic JSObjects.
* src/runtime.h:
* src/runtime.cc (Runtime_CreateJSGeneratorObject):
* src/arm/full-codegen-arm.cc (Generate):
* src/ia32/full-codegen-ia32.cc (Generate):
* src/x64/full-codegen-x64.cc (Generate): Before visiting generator
bodies, arrange to construct and return a generator object.
* test/mjsunit/harmony/generators-objects.js: Add tests for the
properties and prototype of generator objects.
BUG=v8:2355
TEST=mjsunit/harmony/generators-objects
Review URL: https://codereview.chromium.org/13542002
Patch from Andy Wingo <wingo@igalia.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14264 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-15 12:29:44 +00:00
yangguo@chromium.org
55b2391857
Fix so that you can run presubmit.py in Windows.
...
presubmit.py tried to execute cpplint.py directly, but in Windows it's the shell that connects that to the python binary so the execution (subprocess.Popen) needs to be told how to find python. An alternative would be to call subprocess.Popen with shell=True but this is less dangerous.
Review URL: https://chromiumcodereview.appspot.com/13849008
Patch from Daniel Bratell <bratell@opera.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14263 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-15 12:21:05 +00:00
hpayer@chromium.org
2345bdbeb3
Implement direct allocation in old data space infrastructure.
...
BUG=
Review URL: https://codereview.chromium.org/12697011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14262 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-15 11:52:34 +00:00
svenpanne@chromium.org
8ddca544fa
A little code refactoring on VirtualMemory::Commit for platform-win32
...
Review URL: https://codereview.chromium.org/14244006
Patch from Haitao Feng <haitao.feng@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14261 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-15 10:40:25 +00:00
svenpanne@chromium.org
f70bcae9a9
Actually implement the sqrt intrinsic in Crankshaft
...
Review URL: https://codereview.chromium.org/13844009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14260 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-15 10:36:12 +00:00
dslomov@chromium.org
1441a13599
Homogenizes map checks for all polymorphic named field loads.
...
Tests show no perf regressions
BUG=
Review URL: https://codereview.chromium.org/14224009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14259 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-15 09:05:50 +00:00
jkummerow@chromium.org
f0579acab6
MinGW: Add Cygwin-free Makefile generation script
...
Review URL: https://codereview.chromium.org/14046009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14258 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-15 08:43:18 +00:00
jkummerow@chromium.org
1d541a309d
Make gyp work with MingW32
...
Review URL: https://codereview.chromium.org/13468015
Patch from Haitao Feng <haitao.feng@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14257 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-15 08:33:31 +00:00
palfia@homejinni.com
ae37cb350f
MIPS: Enable pretenuring of fast literals in high promotion mode.
...
Port r14248 (144e215a)
BUG=
Review URL: https://codereview.chromium.org/13903005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14256 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-12 17:06:23 +00:00
mstarzinger@chromium.org
c052d2f708
Switch generator builtins into strict mode.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/13985011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14255 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-12 15:52:44 +00:00
rodolph.perfetta@gmail.com
ee7bdef143
ARM: Small copy optimization. Copying 64bits at a time.
...
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/14121006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14254 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-12 14:46:43 +00:00
danno@chromium.org
f5b660ac97
Intel VTune integration for V8/d8
...
In this patch, we added the JIT code event handler for Vtune. Most of the code is in the
folder src/third_party/vtune. Two APIs are added in include/v8.h to get the requirement info
from V8.
We add the v8_enable_vtunejit parameter for GYP to enable these Vtune code compilation.
vTune::InitilizeVtuneForV8() is invoked in the embedder of V8 to make sure it's invokded if
vtune support is enabled.
Review URL: https://codereview.chromium.org/11574031
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14253 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-12 12:48:27 +00:00
yurys@chromium.org
5206b08451
Remove code that analyzes tos values from tickprocessor
...
Assuming that the value on top of stack is return address for a frameless invocation is error-prone. Corresponding logic was removed from profile-generator.cc in r14205 (see https://code.google.com/p/v8/source/diff?spec=svn14205&r=14205&format=side&path=/branches/bleeding_edge/src/profile-generator.cc ) and now it is time to remove it from the tick processor.
Since the tos is not used anymore by profiler it is also removed from TickSample.
BUG=None
Review URL: https://codereview.chromium.org/13873009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14252 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-12 11:20:22 +00:00
hpayer@chromium.org
73d81098da
Turn off pre-tenuring of fast literals when we turn off high promotion mode.
...
BUG=
Review URL: https://codereview.chromium.org/14199003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14251 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-12 11:14:48 +00:00
svenpanne@chromium.org
79a13e63c0
Unified the structure of VirtualMemory implementations across platforms a bit.
...
This is just shuffling some code around to make comparing the platform files easier.
Made cygwin/nullos support a bit more complete on the way.
Review URL: https://codereview.chromium.org/14162004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14250 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-12 11:10:19 +00:00
mstarzinger@chromium.org
5de8e81c1f
Add tests for GlobalHandles::IterateObjectGroups.
...
BUG=none
TEST=cctest/test-global-handles
Review URL: https://codereview.chromium.org/13952005
Patch from Marja Hölttä <marja@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14249 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-12 09:54:51 +00:00
hpayer@chromium.org
acc4568aff
Enable pretenuring of fast literals in high promotion mode.
...
BUG=
Review URL: https://codereview.chromium.org/13952008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14248 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-12 09:45:46 +00:00
jkummerow@chromium.org
845990a350
Fix preparser build with snapshot=off
...
Review URL: https://codereview.chromium.org/14159006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14247 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-12 09:44:08 +00:00
hpayer@chromium.org
e7a5e69688
Remove unnecessary BailoutIds.
...
BUG=
Review URL: https://codereview.chromium.org/14222007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14246 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-12 09:36:56 +00:00
palfia@homejinni.com
8611646813
MIPS: Fix register usage in commit r14239.
...
BUG=
Review URL: https://codereview.chromium.org/14046006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14245 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-12 09:25:04 +00:00
jkummerow@chromium.org
a183e52085
Remove preparser library; link preparser executable against full V8
...
Review URL: https://codereview.chromium.org/13880018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14244 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-12 09:05:49 +00:00
mstarzinger@chromium.org
4a9c3d4a66
Support full deoptimization during GC via stack guard.
...
This adds support to the stack guard to trigger a full deoptimization of
all optimized code when the GC kicks into high promotion mode. Global
pretenuring decisions in optimized code can then be based on the high
promotion mode.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/14173007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14243 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-12 08:58:22 +00:00
mstarzinger@chromium.org
75c388e691
Fix detection of indexed properties in Object.defineProperty()
...
When defining an indexed property on an Array object, the object's
length property should (perhaps) be updated. This was done for any
property for which
ToUInt32(name) == ToNumber(name)
was true, meaning any property name that, when converted to a number,
was an integer in the range [0, 2^32). The detection should be more
strict; an indexed property is one for which
ToString(ToUInt32(name)) == name
is true only.
Review URL: https://codereview.chromium.org/13914003
Patch from Jens Lindström <jl@opera.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14242 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-12 08:45:14 +00:00
hpayer@chromium.org
66f5c75dab
Separate calculation of double element and object element sizes in IsFastLiteral.
...
BUG=
Review URL: https://codereview.chromium.org/13985005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14241 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-12 08:42:17 +00:00