ager@chromium.org
08da2bd6fb
Remove vm-state.cc from build files. Forgot to do that when
...
removing the file from the repository.
Review URL: http://codereview.chromium.org/3950001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5666 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-10-20 06:47:49 +00:00
vitalyr@chromium.org
e6b33bd20b
Support profiling based on linux kernel performance events.
...
Since 2.6.31 perf_events interface has been available in the
kernel. There's a nice tool called "perf" (linux-2.6/tools/perf) that
uses this interface and provides capabilities similar to oprofile. The
simplest form of its usage is just dumping the raw log (trace) of
events generated by the kernel. In this patch I'm adding a script
(tools/ll_prof.py) to build profiles based on perf trace and our code
log. All the heavy-lifting is done by perf. Compared to oprofile agent
this approach does not require recompilation and supports code moving
garbage collections.
Expected usage is documented in the ll_prof's help. Basically one
should run V8 under perf passing --ll-prof flag and then the produced
logs can be analyzed by tools/ll_prof.py.
The new --ll-prof flag enables logging of generated code object
locations and names (like --log-code), and also of their bodies, which
can be later disassembled and annotated by the script.
Review URL: http://codereview.chromium.org/3831002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5663 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-10-19 16:45:11 +00:00
floitschV8@gmail.com
f5ea94da69
Simplify powers-of-ten cache.
...
The existing cache was build to support changes to fast-dtoa. This complicated the cache. Since the cached numbers are now in a .cc file they can be shared with other parts of v8.
Review URL: http://codereview.chromium.org/3608011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5606 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-10-07 13:02:36 +00:00
floitschV8@gmail.com
caf6856ade
Move gay_strtod outside conversions.cc.
...
This is the first part of removing calls to gay's strtod. Future CLs will
get rid of calls to gay_strtod entirely.
BUG=
TEST=
Review URL: http://codereview.chromium.org/3563009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5600 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-10-07 08:54:10 +00:00
lrn@chromium.org
2c85faf1ae
Refactored string search code.
...
Made string search state explicit for repreated calls (a StringSearch class).
Review URL: http://codereview.chromium.org/3467010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5550 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-09-29 10:57:23 +00:00
mikhail.naganov@gmail.com
08967bb4aa
fixed
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5528 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-09-27 05:25:31 +00:00
erik.corry@gmail.com
903571b233
Address some issues with detecting the architecture. See
...
http://code.google.com/p/v8/issues/detail?id=429
Review URL: http://codereview.chromium.org/3261003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5378 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-31 08:05:33 +00:00
antonm@chromium.org
79a219cf31
Add os_error stat to oom_dump utility.
...
Review URL: http://codereview.chromium.org/3150028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5371 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-30 12:26:58 +00:00
whesse@chromium.org
82309445ad
Move code stub implementations from codegen-[platform].cc files to new code-stub-[platform].cc files, and declarations to new code-stub-[platform].h files.
...
Remaining work is to do the same for platform-independent code stub declarations, and to remove all dependencies on codegen header files from code stub files.
Review URL: http://codereview.chromium.org/3195022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5338 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-25 09:44:44 +00:00
ricow@chromium.org
3543dd53a4
Refactor the tools/test.py script and related testcfg.py files.
...
This makes it possible to run several variants of the tests (with different flags that is) by adding extra lists to the VARIANT_FLAGS list. In addition, there is a number of smaller refactorings.
Review URL: http://codereview.chromium.org/3164023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5329 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-24 13:34:59 +00:00
kasperl@chromium.org
7b51dc7edb
Cleanup the AST code by removing unused parts and get rid of the
...
flow graph code completely. Add new AST node for null compares
and use it to make the full codegens better at generating code
for null comparisons.
Review URL: http://codereview.chromium.org/3146037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5323 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-24 07:26:49 +00:00
antonm@chromium.org
7bf19e80cd
Various improvements to oom_dump and instance type lists.
...
1) addresses various Mark's concern;
2) adds some missing instance types and rearranges existing ones to follow
InstanceType order;
3) various minor cleanups.
Review URL: http://codereview.chromium.org/3119023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5286 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-17 13:48:03 +00:00
vegorov@chromium.org
9ed501d95f
Merge flush code phase into marking phase.
...
Review URL: http://codereview.chromium.org/3135026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5284 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-17 11:44:01 +00:00
antonm@chromium.org
0ffcace080
Initial implementation of oom_dump utility.
...
Note: it intentionally lags behind current HeapStats (which now has os_error field)
as these new minidumps could not be produced by current versions of Chrome yet.
Review URL: http://codereview.chromium.org/3170015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5272 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-16 12:36:02 +00:00
ager@chromium.org
3e936b547a
Remove experimental fast-codegen. We are no longer working on this
...
approach.
Review URL: http://codereview.chromium.org/3152016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5259 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-13 09:07:09 +00:00
vegorov@chromium.org
7e167a9585
Add object-visiting.cc into GYP/XCode/MSVC project files.
...
Review URL: http://codereview.chromium.org/3166008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5248 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-11 15:18:01 +00:00
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