vegorov@chromium.org
28f9412cbd
Generalize virtually dispatched scavenger to virtually dispatched specialized visitors.
...
Review URL: http://codereview.chromium.org/3066044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5246 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-11 14:30:14 +00:00
lrn@chromium.org
abcf1012c6
Allow compiling with strict aliasing enabled on GCC 4.4.
...
Patch by Jay Freeman.
Fixes issue 463.
Review URL: http://codereview.chromium.org/3117007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5237 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-11 10:52:34 +00:00
vegorov@chromium.org
ec3f9563c9
Fix XCode build.
...
Review URL: http://codereview.chromium.org/3056028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5149 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-29 08:31:36 +00:00
antonm@chromium.org
bc01445830
Use hashlib module instead of md5 if it is present.
...
md5 module is deprecated since Python 2.5 and we'd better off using hashlib instead.
Review URL: http://codereview.chromium.org/3026030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5143 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-28 12:35:46 +00:00
serya@chromium.org
bcf9989187
Fix d8 build error on a fresh checkout.
...
Review URL: http://codereview.chromium.org/2809069
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5118 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-22 12:55:14 +00:00
vegorov@chromium.org
f32e2b7093
Output time spent in code flushing in GC NVP trace.
...
Add support for flushcode scope and cumulative stats into gc-nvp-trace-processor.
Review URL: http://codereview.chromium.org/3054003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5102 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-20 10:59:00 +00:00
ager@chromium.org
adc2ff755d
Land for Victor Wang.
...
Add direct_dependent_settings for v8 dll so targets that depend on v8
has USING_V8_SHARED defined.
Review URL: http://codereview.chromium.org/2946014/show
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5099 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-20 05:51:10 +00:00
vitalyr@chromium.org
a50e72575e
JS2C tweaks:
...
o Only substitute constant values for full-words and not for
accidental partial matches.
o Keep the order of macros as in macros.py and allow depending on the
previous macros. We used to allow depending on macros that
happened to sort after the current one in the dictionary.
Review URL: http://codereview.chromium.org/2800042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5022 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-05 14:28:37 +00:00
ager@chromium.org
a835641dee
Landing for victorw@chromium.org.
...
Fix issues so v8 could be built as a DLL.
-. get rid of all the compiler warning by moving dllexport/dllimport
to the individual members for classes which have inline members.
-. update v8 gyp to build v8.dll for chromium multi-dll version (win
and component==shared_library)
Note: most of the code are contributed by sjesse.
Code review URL: http://codereview.chromium.org/2882009/show
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5006 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-02 07:39:42 +00:00
vitalyr@chromium.org
5575ff18ff
tools/stats-viewer.py: add counter filter.
...
Review URL: http://codereview.chromium.org/2838028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4975 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-06-29 11:30:34 +00:00
yurys@chromium.org
909a447b10
Fix v8_base.vcproj: add dtoa.cc and fixed-dtoa.cc to dtoa project.
...
Review URL: http://codereview.chromium.org/2086024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4719 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-05-26 08:20:44 +00:00
mikhail.naganov@gmail.com
decd0fed78
CPU profiler: make code events handling scalable.
...
I changed the implementation of a queue between the VM and processor
thread to be unbounded and lock-free, using Herb Sutter's example from
DDJ article: http://www.ddj.com/high-performance-computing/210604448
This had brought back profiling overhead to a minimum for the page
from Chromium's issue 16184.
BUG=714
Review URL: http://codereview.chromium.org/2091019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4706 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-05-22 05:27:19 +00:00
erik.corry@gmail.com
d0241c98c5
Remove the fledgling Thumb2 support since we are concentrating
...
on other ways to make ARM code more compact.
Review URL: http://codereview.chromium.org/2080017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4698 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-05-21 09:23:33 +00:00
vegorov@chromium.org
8fbac01b2c
Improved GC statistics.
...
Collect cumulative (--print-cumulative-gc-stat) and per collection (--trace-gc-nvp) GC statistics and output it in a machine-readable name=value format.
Review URL: http://codereview.chromium.org/2132005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4675 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-05-18 16:50:17 +00:00
mark@chromium.org
e9b5d7855b
Allow build-time selection between ia32 and x86_64 in the GYP/Xcode Mac
...
Chromium build.
v8.gyp no longer sets any V8_TARGET_ARCH_* macro on the Mac. Instead, the
proper V8_TARGET_ARCH_* macro will be set by src/globals.h in the same way as
the V8_HOST_ARCH_* macro when it detects that no target macro is currently
defined. The Mac build will attempt to compile all ia32 and x86_64 .cc files.
#ifdef guards in each of these target-specific source files prevent their
compilation when the associated target is not selected. For completeness,
these #ifdef guards are also provided for the arm and mips .cc files.
BUG=706
TEST=x86_64 Mac GYP/Xcode-based Chromium build (still depends on other changes)
Review URL: http://codereview.chromium.org/2133003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4666 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-05-17 15:41:35 +00:00
erik.corry@gmail.com
fa7c92eaf5
First step towards making JumpTarget work on ARM. Instead
...
of having a list of virtual frame pointers in the jump
target we have one virtual frame, which is the frame that
all have to merge to to branch to that frame. The virtual
frame in the JumpTarget is inside the JumpTarget, rather than
being an allocated object that is pointed to. Unfortunately
this means that the JumpTarget class has to be able to see
the size of a VirtualFrame object to compile, which in turn
lead to a major reorganization of related .h files. The
actual change of functionality in this change is intended
to be minimal (we now assert that the virtual frames match
when using JumpTarget instead of just assuming that they do).
Review URL: http://codereview.chromium.org/1961004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4631 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-05-10 11:32:25 +00:00
floitschV8@gmail.com
7fc98eb1f4
Dtoa for fixed notation.
...
Review URL: http://codereview.chromium.org/1956005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4596 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-05-05 13:51:27 +00:00
floitschV8@gmail.com
92a9e30cd8
Revert r4591
...
Review URL: http://codereview.chromium.org/1968003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4592 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-05-05 10:33:27 +00:00
floitschV8@gmail.com
b441d246b3
Provide (non Gay) dtoa for fixed notation.
...
Review URL: http://codereview.chromium.org/1865001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4591 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-05-05 09:29:18 +00:00
sgjesse@chromium.org
cf9eebaf34
Add amd64 to GuessArchitecture
...
Patch by Ryan Dahl <coldredlemur@gmail.com>, see http://codereview.chromium.org/1707013 .
Review URL: http://codereview.chromium.org/1732016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4523 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-28 08:06:18 +00:00
erik.corry@gmail.com
c148d95196
Change to allow d8 to compile on MacOSX.
...
Review URL: http://codereview.chromium.org/1747014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4493 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-26 11:41:56 +00:00
sgjesse@chromium.org
da52a841a3
Add a V8 specific target architecture to the GYP file
...
The V8 GYP file now uses its own target architecture. It default to the standard target_arch, but can be set to a separate value. E.g. using
export GYP_DEFINES="target_arch=ia32 v8_target_arch=arm"
makes it possible to have the V8 ARM simulator be used in a IA32 build.
Added some checking of supported host/target architecture combinations.
Review URL: http://codereview.chromium.org/1790001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4490 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-26 10:59:14 +00:00
erik.corry@gmail.com
e1b3b92a2c
Make not sucking at regexp the default
...
(remove V8_NATIVE_REGEXP flag, add
V8_INTERPRETED_REGEXP flag).
Review URL: http://codereview.chromium.org/1635001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4443 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-19 19:30:11 +00:00
mikhail.naganov@gmail.com
c007fd4d15
merged
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4422 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-14 18:48:05 +00:00
mikhail.naganov@gmail.com
1f56c4c7af
Update MSVS and Xcode projects to make V8 compilable.
...
MSVS: define ENABLE_VM_STATE_TRACKING
Xcode: add missing files, sort project
BUG=673
TBR=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/1650005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4406 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-14 08:31:37 +00:00
mikhail.naganov@gmail.com
d4e436d0ad
Try to fix WebKit bot: add 'circular-queue.h' and 'circular-queue-inl.h' to v8.gyp
...
TBR=ricow@chromium.org
Review URL: http://codereview.chromium.org/1523021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4383 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-12 07:52:40 +00:00
mikhail.naganov@gmail.com
6f3f2f1c42
Allow new CPU profiling subsystem to coexist nicely with the old one.
...
This is to make possible enabling usage of the new profiling subsystem
in Chromium without much hassle. The idea is pretty simple: unless the
new profiling API is used, all works as usual, as soon as Chromium
starts to use the new API, it will work too.
Review URL: http://codereview.chromium.org/1635005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4382 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-12 07:23:43 +00:00
ricow@chromium.org
88be99e9c0
Fix the gyp file to include the ENABLE_VMSTATE_TRACKING
...
Review URL: http://codereview.chromium.org/1564021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4369 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-09 07:29:58 +00:00
mikhail.naganov@gmail.com
c520e28dcb
Make VM state tracking to be independent of logging and profiling.
...
Also pull out VMState into its own set of source files.
Review URL: http://codereview.chromium.org/1519027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4361 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-08 13:37:39 +00:00
mikhail.naganov@gmail.com
070ee02057
Add include/v8-profiler.h into manually maintained project files.
...
Sorry, forgot about it. No need to change v8.gyp because it only
references the whole 'include' directory.
TBR=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/1610009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4350 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-06 17:15:19 +00:00
erik.corry@gmail.com
77fb69b6dc
Committing http://codereview.chromium.org/1543003 for pvalchev and sprewell
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4341 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-06 09:27:09 +00:00
whesse@chromium.org
75003d7e76
Change a TypeInfo function from inline to non-inline, reducing stack usage during code compilation.
...
Review URL: http://codereview.chromium.org/1369003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4297 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-26 11:34:00 +00:00
kmillikin@chromium.org
70bbac9c56
Move flow graph and helper classes to their own file.
...
The FlowGraph, FlowGraphBuilder, and flow graph node classes are moved
to src/flow-graph.cc.
Review URL: http://codereview.chromium.org/1253009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4287 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-25 16:22:48 +00:00
erik.corry@gmail.com
6a8398cffa
Fix my fast-codegen.cc gyp file stupidity.
...
Review URL: http://codereview.chromium.org/1207007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4277 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-25 13:56:29 +00:00
erik.corry@gmail.com
d20232096f
Gyp causing me gyp.
...
Review URL: http://codereview.chromium.org/1323003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4274 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-25 13:31:19 +00:00
erik.corry@gmail.com
f5523ecc6a
Split the virtual frame into heavy and light versions.
...
The heavy version is for x86 and x64. The light version
is for ARM and MIPS. Remove the elements_ array from the
virtual frame in the light version. More simplifications
to come, followed by light register allocation.
Review URL: http://codereview.chromium.org/1164002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4272 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-25 13:18:00 +00:00
fschneider@chromium.org
0737ec8dcb
Rename NumberInfo to TypeInfo.
...
Since we add more type (StringType, PrimitiveType) the name
NumberInfo does not make sense anymore.
Review URL: http://codereview.chromium.org/1207006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-25 12:44:15 +00:00
fschneider@chromium.org
51495beb78
Store type information with constants.
...
Instead of testing the value of a constant frame element to determine
the type we compute its type information at construction time.
This speeds up querying the type information during code generation.
This change also adds support for Integer32 constants and sets
the type information accordingly.
Review URL: http://codereview.chromium.org/1277001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4256 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-24 15:29:41 +00:00
sgjesse@chromium.org
b278895d28
Update Visual Studio project files.
...
Review URL: http://codereview.chromium.org/1111011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4225 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-23 13:09:33 +00:00
kasperl@chromium.org
7d6a3b433f
Merge the partial_snapshots branch back into bleeding_edge. For
...
now, the custom call generator stuff is disabled.
Review URL: http://codereview.chromium.org/1094014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4217 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-23 11:40:38 +00:00
mikhail.naganov@gmail.com
89b040894e
Add a few tests to ProfilerEventsProcessor.
...
Review URL: http://codereview.chromium.org/1084009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4197 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-19 13:51:01 +00:00
floitschV8@gmail.com
05beab6b1f
Rename files containing underscores.
...
Review URL: http://codereview.chromium.org/1102002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4191 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-19 12:15:24 +00:00
mikhail.naganov@gmail.com
9582645a02
Add basic C++ implementation of CPU profiler.
...
Review URL: http://codereview.chromium.org/1079006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4189 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-19 09:46:53 +00:00
floitschV8@gmail.com
9e84308722
Rename grisu to fast-dtoa. Get rid of template.
...
Review URL: http://codereview.chromium.org/1032007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4181 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-18 13:19:59 +00:00
floitschV8@gmail.com
74b4ad0e69
Fix arm compilation. DiyFp multiplications are now in a separate procedure.
...
Review URL: http://codereview.chromium.org/971006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4171 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-17 15:57:26 +00:00
mikhail.naganov@gmail.com
d2188658ca
Re-apply r4159 now with working test on x64
...
TBR=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/979005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4164 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-17 13:15:42 +00:00
fschneider@chromium.org
9f318feb93
Revert r4159 because of x64 test failures.
...
Review URL: http://codereview.chromium.org/1049003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4162 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-17 13:04:07 +00:00
mikhail.naganov@gmail.com
ce9298029d
Implement circular queues for the C++ version of CPU profiler.
...
Circular queues serve as a transport for communicating between
VM, stack sampler and analyzer threads. Logging requirements
for VM and stack sampler are completely different, that's why
I introduced two different versions of CQs.
Review URL: http://codereview.chromium.org/1047002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4159 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-17 12:25:10 +00:00
mikhail.naganov@gmail.com
12d252eb81
Start migrating profiles processing to C++.
...
Adding code for maintaining (address -> name) mapping and building
call trees.
Review URL: http://codereview.chromium.org/910002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4131 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-15 14:11:19 +00:00
floitschV8@gmail.com
8814064337
Fast double-to-ascii conversion.
...
Review URL: http://codereview.chromium.org/866002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4106 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-11 14:49:35 +00:00