mikhail.naganov@gmail.com
4cc5c314d1
Profiler tick processor now counts IC ticks on behalf of a caller.
...
This is enabled by default. To get back to old behavior, use '--separate-ic' switch.
Review URL: http://codereview.chromium.org/21452
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1305 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-18 16:12:40 +00:00
mikhail.naganov@gmail.com
ddd2ac4015
Refactored command-line options handling in tick processor scripts
...
to remove code duplications. This makes easier adding new options.
Review URL: http://codereview.chromium.org/20452
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1300 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-18 13:45:54 +00:00
sgjesse@chromium.org
98208125cb
Include all the code in code creation log events. The code object header size is now added to the size Before ticks the last instructions of a JavaScript functions ended up as unaccounted in the profile.Include ticks in the the last created code object in the profile.Show the unaccounted ticks in the profile as a percentage together with the rest. Added an option to ignore unaccounted ticks in the percentage calculation.
...
Review URL: http://codereview.chromium.org/21410
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1295 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-18 10:29:56 +00:00
mikhail.naganov@gmail.com
a23fd3284a
Added the simplest call stack sampling and call profile in tick processor output.
...
Currently only two stack frames are sampled (current function and its caller).
Output of tick processor looks like this:
[Call profile]:
total call path
15.2% LazyCompile: am3 crypto.js:108 <- LazyCompile: montReduce crypto.js:583
6.5% LazyCompile: am3 crypto.js:108 <- LazyCompile: bnpSquareTo crypto.js:431
2.9% Builtin: KeyedStoreIC_Generic <- LazyCompile: montReduce crypto.js:583
2.3% LazyCompile: am3 crypto.js:108 <- LazyCompile: bnpMultiplyTo crypto.js:415
Tested under Windows, Linux and OS X.
Review URL: http://codereview.chromium.org/21403
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1292 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-17 14:45:45 +00:00
sgjesse@chromium.org
85584333f9
Support for building V8 with MinGW
...
V8 can now be build with MinGW. It still fails the following four tests in debug mode:
mjsunit/parse-int-float
mjsunit/mirror-array.js
mjsunit/integer-to-string.js
mjsunit/regress/regress-114.js
Building with MinGW has been tested with version 5.1.4 using GCC 3.4.5.
In addition to supporting MinGW this change also makes it more explicit which targets needs to link with which libraries.
BUG=64
Review URL: http://codereview.chromium.org/20177
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1240 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-09 15:06:07 +00:00
mikhail.naganov@gmail.com
3835e915c4
Adding src_file_name:line_number into perf log entries for compiled JS functions.
...
Thus, instead of the following profiler records:
1.5% 1.5% LazyCompile: <anonymous>
we'll now have these:
1.5% 1.5% LazyCompile: <anonymous> richards.js:309
Basically, I translated two functions from messages.js into C++.
In the next CL I will update messages.js to use added native functions.
Review URL: http://codereview.chromium.org/19537
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1216 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-03 10:52:02 +00:00
olehougaard
da4fdea61a
Fixing the flakiness of the serialization tests by assuring that serialization is run before every deserialization test.
...
Review URL: http://codereview.chromium.org/19541
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1214 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-03 08:35:03 +00:00
erik.corry@gmail.com
18d6c23971
Tell presubmit.py that regexp-pcre.js doesn't need a standard copyright
...
message since it has a special one.
Review URL: http://codereview.chromium.org/19752
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1209 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-02 16:27:08 +00:00
ager@chromium.org
06d96bade5
jsmin does not have our copyright header and shouldn't have. Exclude
...
it from the presubmit check.
Review URL: http://codereview.chromium.org/19424
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1180 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-01-28 11:49:44 +00:00
deanm@chromium.org
aa8662545a
Further minify non-visible JavaScript.
...
This imports a Python version of Douglas Crockford's JSMin. JavaScript files can annotate that they want to be run through the minifier. Currently debug and mirror are minified.
This results in ~12k savings on the final binary size.
Review URL: http://codereview.chromium.org/19013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1179 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-01-28 10:15:11 +00:00
maruel@chromium.org
4c8cd0d346
Fix snapshot generation on Visual Studio. Compiling source files generated
...
inside the same project is flaky with VisualStudio when building with
Incredibuild.
So I splitted the mksnapshot.exe generation, snapshot.cc generation and
snapshot.cc compilation in three different projects.
Review URL: http://codereview.chromium.org/18770
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1176 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-01-27 16:20:10 +00:00
deanm@chromium.org
89bf4d5634
Strip /* */ style comments in js2c. Saves ~17k of binary size.
...
Review URL: http://codereview.chromium.org/19012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1174 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-01-27 13:08:06 +00:00
iposva@chromium.org
ff3433d0fd
- Preserve bootstrapper state across thread switches (fixes issue 143).
...
- Make sure stack guards are properly setup even when preemption is active.
- Fix missing v8::Locker and v8::Unlocker use in d8.cc.
- Threads forked in d8 do get their own context setup.
Review URL: http://codereview.chromium.org/18581
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1161 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-01-26 18:09:46 +00:00
iposva@chromium.org
e718576d4f
Split handle scopes into an internal version and a version accessible
...
through the API. This allows us to verify state on entry through the API.
In this change verification in the API entry is checking that the current
thread holds the V8 lock when a HandleScope is instantiated if a v8::Locker
has ever been used by the V8 instance.
Review URL: http://codereview.chromium.org/18707
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1140 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-01-23 17:22:23 +00:00
iposva@chromium.org
92b0ed1132
Fix Xcode project:
...
- Add regexp-stack.[cpp|h]
Review URL: http://codereview.chromium.org/18344
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1100 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-01-17 01:08:54 +00:00
lrn@chromium.org
21d2865757
Separately growing stack for irregexp ia32 backtrack stack.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1053 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-01-12 13:05:23 +00:00
ager@chromium.org
e639876dbe
Allow 2009 as a valid year in the copyright header.
...
Review URL: http://codereview.chromium.org/16568
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1038 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-01-07 11:51:03 +00:00
christian.plesner.hansen@gmail.com
d7c933e7ae
Added support in the profiler for creating 'regions' that cover part
...
of the generated code. These can be used by the profiler to
categorize the ticks that occur within generated code and thereby show
more detailed information about where time is spent in generated code.
For instance, this is what the profiler displayed for a simple regexp
benchmark with irregexp-native before:
[JavaScript]:
total nonlib name
87.2% 87.2% RegExp: (?:\w*\W+)*
This is what we can display now:
[JavaScript]:
total nonlib name
87.2% 87.2% RegExp: (?:\w*\W+)*
- 53.0% 56.7% BranchOrBacktrack
- 14.9% 59.8% CheckCharacterLT
- 13.7% 20.4% CheckStackLimit
- 6.7% 6.7% SafeCall
- 2.7% 7.0% CheckCharacterGT
- 2.4% 2.4% SafeReturn
- 2.1% 2.1% LoadCurrentCharacter
- 1.8% 1.8% PushRegister
- 0.9% 0.9% PopRegister
- 0.9% 0.9% AdvanceRegister
- 0.3% 0.3% PopCurrentPosition
- 0.3% 0.3% CheckGreedyLoop
- 0.0% 20.4% PushBacktrack
- 0.0% 22.3% CheckCharacter
- 0.0% 2.4% IfRegisterLT
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1010 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-19 13:12:43 +00:00
sgjesse@chromium.org
e0c7b0f366
Added command line debugger to D8 shell.
...
break location [condition]
clear <breakpoint #>
backtrace [from frame #] [to frame #]]
frame <frame #>
step [in | next | out| min [step count]]
print <expression>
source [from line [num lines]]
scripts
continue
help
It is enabled through the option --debugger which is on by default.
Review URL: http://codereview.chromium.org/14509
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@996 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-18 10:06:49 +00:00
iposva@chromium.org
c35f6aeae1
Add missing files (debug-<architecture>.cc) to the Xcode project.
...
Review URL: http://codereview.chromium.org/14120
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@983 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-15 20:40:12 +00:00
sgjesse@chromium.org
1d388d0778
Moved the code generation for debug break stubs from builtins* to debug*. From builtins* all code generation delegate to debug*. Added files debug-ia32.cc and debug-arm.cc for platfoem specific code generation of debugger stubs.
...
Removed a dead file reference (frames-ia32-inl.h) from the Visual Studio project.
Updated the ARM Visual Studio project to build again by adding all the RegExp files.
Review URL: http://codereview.chromium.org/13657
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@947 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-09 11:12:14 +00:00
iposva@chromium.org
f306b97855
Fix the Xcode build ARM targets.
...
TBR=mark
Review URL: http://codereview.chromium.org/13187
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@929 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-05 22:27:22 +00:00
christian.plesner.hansen@gmail.com
dc2077465f
Added support in d8 for memory-mapped counters and added the python
...
stats-viewer tool.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@904 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-03 09:35:21 +00:00
sgjesse@chromium.org
a56ced1b87
Added regexp-macro-assembler-tracer .cc and .h files to Visual Studio project to make it build.
...
Review URL: http://codereview.chromium.org/13047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@899 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-02 14:28:04 +00:00
iposva@chromium.org
7529537f71
Update Xcode project to contain the files for Irregexp.
...
Review URL: http://codereview.chromium.org/13025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@881 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-01 23:06:09 +00:00
erik.corry@gmail.com
49d05495d8
* Remove an unused layer of abstraction by not having both a macro assembler and
...
an assembler when compiling to bytecode. This fixes
http://code.google.com/p/v8/issues/detail?id=165
* Preload the 'current character' register when starting a match (byte code only
at the moment).
Review URL: http://codereview.chromium.org/10995
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@865 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-28 10:37:06 +00:00
lrn@chromium.org
4eb1913cea
New regexp files are now included in VS project.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@834 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-25 12:08:13 +00:00
sgjesse@chromium.org
112e9ebbe5
Fixed Visual Studio build with snapshot when V8 is checked out in a directory with spaces in the path.
...
Review URL: http://codereview.chromium.org/12428
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@831 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-25 10:59:02 +00:00
ager@chromium.org
41a5c9212e
Apply patch from Alexander Botero-Lowry that adds FreeBSD platform
...
support.
Review URL: http://codereview.chromium.org/11347
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@815 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-21 10:06:29 +00:00
sgjesse@chromium.org
8b45db89d6
Changed the handling of Win32 function SetErrorMode to be more correct. The flag to prevent error dialogs is now merged with existing flags, and the error mode is now reset which it was not before.
...
Review URL: http://codereview.chromium.org/11471
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@792 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-19 10:09:21 +00:00
feng@chromium.org
47c71e84a8
Some fixes in ARM simulator:
...
1) create a simulator per thread and using thread storage;
2) capitalize two function names;
3) use sscanf instead of sscanf_s in arm simulator;
4) disable warning of sscanf when building with arm simulator;
Review URL: http://codereview.chromium.org/10634
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@743 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-12 22:57:04 +00:00
feng@chromium.org
b7a0a9f347
Add ARM simulator build files.
...
Review URL: http://codereview.chromium.org/9669
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@719 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-07 17:21:11 +00:00
feng@chromium.org
c1d5bcd852
Remove ARM files.
...
Review URL: http://codereview.chromium.org/9486
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@718 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-07 17:18:22 +00:00
sgjesse@chromium.org
84170eeb99
Change the test status file parser to fail if the line contains unparsed tokens.
...
Refactor the platform.system() tests and use macos when running on Mac.
Review URL: http://codereview.chromium.org/8763
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@672 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-31 13:12:35 +00:00
sgjesse@chromium.org
7cf09d8860
Changed the parsing a conditional expression in a test status file to look for 'if' and not 'IF' as all the status files use 'if'.
...
This change catches the regression from r646.
Review URL: http://codereview.chromium.org/8739
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@662 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-31 07:27:03 +00:00
kasperl@chromium.org
a2be3b6f84
Make sure that allocations through CALL_HEAP_FUNCTION
...
and runtime calls from JavaScript will always succeed
eventually if we have enough memory.
Review URL: http://codereview.chromium.org/8700
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@646 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-30 09:15:58 +00:00
sgjesse@chromium.org
0b96fb22f3
Added crash detection to tests on Linux.
...
Added the timeout condition to the CommandOutput class.
Review URL: http://codereview.chromium.org/8695
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@639 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-29 12:51:14 +00:00
sgjesse@chromium.org
5e03ca85e7
Made testing run on Linux again. Fixed spelling error.
...
TBR=plesner
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@636 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-29 10:19:21 +00:00
sgjesse@chromium.org
d9285da2a8
By default disable the general protection fault message box when
...
running tests on Windows. This requires
Added the option --win-error-box to enable general protection fault
message box which can be convenient when debugging failing tests on
Windows.
Added crash detection when running tests on Windows. The output
is not fully polished but crashed indications are printed for the
different progess indicators.
Changed the OS::Abort on Windows from generating a "crash" (int3)
to calling abort(). This is to avoid tests which are known to fail
with out of memory errors to be detected as crashed tests.
Review URL: http://codereview.chromium.org/8676
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@633 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-29 09:52:31 +00:00
iposva@chromium.org
35939fd987
Track whether a node or variable are likely to be a Smi value. Propagate that
...
knowledge in the AST and inline the Smi check into the generated code if it
is deemed high value (e.g. in loops).
Review URL: http://codereview.chromium.org/8835
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@630 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-28 22:33:00 +00:00
sgjesse@chromium.org
2c3fdd8e25
Added a Visual Studio project for the d8 developer shell. Currently without readline support.
...
Review URL: http://codereview.chromium.org/7984
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@596 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-27 07:52:59 +00:00
christian.plesner.hansen@gmail.com
9d9f608a38
- Added caching of regexp data in the compilation cache.
...
- Changed the structure of regexp objects from having two internal
fields to having a single field containing a fixed array, since it's
easier to store the whole fixed array in the cache.
- Move printing of the command to after printing std{err,out} in the
compact progress indicators in the test framework.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@579 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-24 08:40:02 +00:00
kasperl@chromium.org
50d9f5e256
Incorporate patches by Paolo Giarrusso to allow profiling
...
C++ functions in shared libraries, building in directories
containing spaces, and using named constants better.
Review URL: http://codereview.chromium.org/7864
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@550 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-22 09:46:09 +00:00
sgjesse@chromium.org
711ada81d1
Minor fixes
...
- support changes to js2c in Visual Studio build
- handle empty handles in Utf8Value
- add /nologo to sample link in SCons build
TBR=plesner
Review URL: http://codereview.chromium.org/7816
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@538 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-21 15:24:58 +00:00
iposva@chromium.org
3c7a8c39b0
- Update js2c.py to take a type parameter.
...
- Use the type parameter in the Xcode run script phases when building the
libraries.cc and libraries-empty.cc files.
Review URL: http://codereview.chromium.org/7814
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@537 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-21 14:32:23 +00:00
christian.plesner.hansen@gmail.com
1e52e36a8c
Added development shell (d8) including readline support, counters and
...
completion.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@533 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-21 09:12:27 +00:00
kasperl@chromium.org
8df739da6d
Improve profiler output to make it easier to see the
...
anonymous functions.
Review URL: http://codereview.chromium.org/7075
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@486 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-10 09:26:40 +00:00
kasperl@chromium.org
9a63d930e3
Add codegen-arm.h and codegen-ia32.h to VS project file.
...
Review URL: http://codereview.chromium.org/7063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@483 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-10 06:40:11 +00:00
iposva@chromium.org
89c762edf4
Simplify CodeGenerator hierarchy by not using a base class.
...
There is nothing virtual about a CodeGenerator since we
either generate code for one platform or for the other.
Review URL: http://codereview.chromium.org/6334
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@480 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-10 00:00:52 +00:00
sgjesse@chromium.org
a834f77210
Fixed wrong filename in Visual Studio project file.
...
Review URL: http://codereview.chromium.org/6336
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@467 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-08 07:36:44 +00:00