ager@chromium.org
e3fa53edef
Make sure that message reporting works when the builtin string and
...
array functions are overwritten.
Review URL: http://codereview.chromium.org/147142
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2269 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-25 10:27:36 +00:00
whesse@chromium.org
08d098e082
X64 implementation: VisitUnaryOperation, configure dtoa for X64 platform.
...
Review URL: http://codereview.chromium.org/147141
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-25 10:15:50 +00:00
antonm@chromium.org
09df6ed2ae
Do not use common INFINITY name as it might be overriden by some other include file. Let's use
...
project specific name.
Review URL: http://codereview.chromium.org/146096
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2267 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-24 17:25:46 +00:00
whesse@chromium.org
4c2a378842
X64 implementation: GenerateAdaptor builtin.
...
Review URL: http://codereview.chromium.org/146085
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2266 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-24 15:02:46 +00:00
whesse@chromium.org
cc271fe751
X64 implementation: Start compiling native functions.
...
Review URL: http://codereview.chromium.org/146083
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2265 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-24 13:48:09 +00:00
whesse@chromium.org
a367522a1a
X64 implementation: comparison operations.
...
Review URL: http://codereview.chromium.org/146082
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2264 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-24 13:46:07 +00:00
antonm@chromium.org
ecfd1f1017
Attempt to reduce performance penalty for logging and profiling
...
Review URL: http://codereview.chromium.org/125141
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2263 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-24 13:09:34 +00:00
lrn@chromium.org
76ac8bc73b
Removed static type inference and add a dynamic test for string addition.
...
The complexity of static type inference never really paid off, and as an
analysis it didn't fit well with codegen frame propagation.
Review URL: http://codereview.chromium.org/146077
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2262 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-24 12:46:00 +00:00
lrn@chromium.org
1f5a905302
X64: Implemented LikelySmiBinaryOperation
...
Review URL: http://codereview.chromium.org/146081
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2261 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-24 12:12:17 +00:00
antonm@chromium.org
0402951844
A helper function to speed up creation of V8 wrappers for DOM Nodes.
...
Review URL: http://codereview.chromium.org/141044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2260 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-24 11:52:52 +00:00
ager@chromium.org
1a12862c9a
Revert attempt to optimize away the allocation of a temporary.
...
TBR=whesse@chromium.org
Review URL: http://codereview.chromium.org/147076
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2258 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-24 08:56:55 +00:00
ager@chromium.org
5b4bacdd69
x64 code generation for construct calls, declaring global variables
...
and for runtime calls.
We could not handle functions with no explicit return statement. I
added support for that as well. The place was hard to find because
code was left out from the codegenerator with no TODO comment. We
need to make sure to comment if we leave out code when porting
something. :-)
Review URL: http://codereview.chromium.org/146029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2257 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-24 08:28:42 +00:00
kasperl@chromium.org
f66ea38c0b
Allocate arguments object on-demand instead of at function entry.
...
This allows Function.prototype.apply to not allocate the objects
and copy the arguments directly from the stack.
Review URL: http://codereview.chromium.org/147075
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2256 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-24 08:01:38 +00:00
lrn@chromium.org
69764a5d2a
X64: Addition binary operation.
...
Review URL: http://codereview.chromium.org/146022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2255 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-23 11:26:05 +00:00
whesse@chromium.org
e61d1c7380
X64 implementation: Read compiler tests from test.js.
...
Review URL: http://codereview.chromium.org/146024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2254 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-23 11:11:38 +00:00
yurys@chromium.org
0feda5a2e1
Introduce an argument that allows to include some data neccessary for displaying collapsed scope variables values in graphical debugger.
...
When request has 'inlineRefs' option simple type values will be written in the response directly. Variables of other types in addition to 'ref' property containing the value handle will contain some type information.
Review URL: http://codereview.chromium.org/140061
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2253 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-23 09:53:18 +00:00
whesse@chromium.org
c19fde4f1c
X64 implementation: Change argument to relocator to take a 64-bit delta. Change maximum relocation info encoding length.
...
Review URL: http://codereview.chromium.org/146021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2252 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-23 09:50:51 +00:00
ager@chromium.org
1b6738e2c2
Prepare to push V8 version 1.2.9 to trunk.
...
Review URL: http://codereview.chromium.org/146017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2247 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-23 07:16:22 +00:00
ager@chromium.org
768dc546d2
Remove unused variable from keyed stores to fix 64-bit release mode.
...
The variable is used for the inlined version of stores which has not
yet been implemented.
Review URL: http://codereview.chromium.org/146016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2246 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-23 06:24:37 +00:00
ager@chromium.org
094d17ffeb
x64: Generate code for loading from, storing to and calling properties.
...
Review URL: http://codereview.chromium.org/141056
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2245 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-23 06:12:14 +00:00
ager@chromium.org
ad970953f8
Implement code generation for conditional expressions and regexp
...
literals. Regexp literals will not really work before we can
bootstrap, but the right code is being called with the right
arguments.
Finish implementation of object literals. We can now call through the
StoreIC_Miss stub into the runtime system to do stores.
Restore comment that I accidentally removed in my last commit.
Review URL: http://codereview.chromium.org/140068
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2244 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-22 19:25:41 +00:00
erik.corry@gmail.com
a874dcdd5d
Fix non-Intel regexp that needed the number of registers in the
...
regexp implementation before the regexp had been compiled and the
register count calculated.
Review URL: http://codereview.chromium.org/141047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2243 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-22 18:37:57 +00:00
ager@chromium.org
7b3c9af918
Fix lint issue.
...
TBR=bak@chromium.org
Review URL: http://codereview.chromium.org/140066
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2242 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-22 15:19:47 +00:00
ager@chromium.org
8de05cef85
Enable code generation for array literals.
...
Introduce macro assembler support for pushing heap-object handles and
for comparing a register to a heap-object handle.
Cleanup: Remove some code that was needlessly commented out. Added
TODO's for code that was commented out (where we do not hit an
UNIMPLEMENTED).
Review URL: http://codereview.chromium.org/140060
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2241 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-22 15:14:20 +00:00
whesse@chromium.org
dcd25643bd
X64 implementation: Correct kTargetAddrToReturnAddrDist value for x64.
...
Review URL: http://codereview.chromium.org/140063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2240 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-22 14:46:33 +00:00
bak@chromium.org
ab3d1e1a43
Added descriptor lookup cache to eliminate some search overhead.
...
Reduced the KeyedLookupCache length to 64.
Review URL: http://codereview.chromium.org/141046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2239 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-22 14:29:35 +00:00
whesse@chromium.org
1ae3423af8
X64 implementation: Emit correct merge code for virtual frames at CFG merges.
...
Review URL: http://codereview.chromium.org/141043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2238 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-22 14:22:39 +00:00
yurys@chromium.org
d432b5e0e2
Sending scope types and object refs costs nothing but would save us request that should be send to retrieve scopes informations for each frame in 'backtrace' response.
...
Review URL: http://codereview.chromium.org/131107
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2237 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-22 13:14:47 +00:00
lrn@chromium.org
2dd9717c4b
Fix bug in static type inference for loops.
...
Review URL: http://codereview.chromium.org/140058
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2236 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-22 12:36:01 +00:00
erik.corry@gmail.com
2b71d0a83e
Fix regexp bug reported on iit.edu.
...
Review URL: http://codereview.chromium.org/141042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2235 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-22 12:29:27 +00:00
yurys@chromium.org
46165adb9a
After compile event should be sent even if there is a provisional breakpoint out of its lines range.
...
Review URL: http://codereview.chromium.org/141041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2234 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-22 11:56:36 +00:00
sgjesse@chromium.org
3ce873c351
Refactor the handling of generations in the compilation cache.
...
Add generations to the compilation cache for eval and regexp. The number of generations for these are set to two.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/140056
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2233 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-22 11:12:51 +00:00
ager@chromium.org
59cd4dc572
X64: Enable lazy compilation and add code generation for simple object
...
literals.
Review URL: http://codereview.chromium.org/141040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2232 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-22 10:54:11 +00:00
whesse@chromium.org
83ad579ac5
X64 implementation: Add high_bit() and low_bits() to register methods.
...
Review URL: http://codereview.chromium.org/141032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2231 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-22 08:17:44 +00:00
bak@chromium.org
c078783c36
Implemented a ContextSlotCache for compiled code.
...
Review URL: http://codereview.chromium.org/141038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2230 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-22 08:09:57 +00:00
whesse@chromium.org
4f6a4a8339
X64 implementation: if-then-else
...
Review URL: http://codereview.chromium.org/141030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2229 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-22 08:08:47 +00:00
whesse@chromium.org
74ddab9d94
Fix issue 386, a bug in JSObject::ReplaceSlowProperty with constant transitions.
...
Review URL: http://codereview.chromium.org/141031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2228 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-22 07:41:15 +00:00
mikhail.naganov@gmail.com
44936ad32d
Eliminate double offsetting of line numbers in profiler.
...
I didn't noticed that in r1481 GetScriptLineNumber was changed to perform line numbers offsetting by itself.
Review URL: http://codereview.chromium.org/131102
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2227 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-22 07:22:09 +00:00
erik.corry@gmail.com
e2a01ed4fb
Fix regexp bug reported by Ian where [6-9] would match any digit.
...
Review URL: http://codereview.chromium.org/140021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2226 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-20 17:57:09 +00:00
whesse@chromium.org
5831cc70e8
X64 implementation: Local vars, nested function calls, assignment statements
...
Review URL: http://codereview.chromium.org/131050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2224 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-19 10:16:52 +00:00
whesse@chromium.org
8ad2edb6b5
Clarify precedence of operations involving bitwise and(&) in x64/assembler.
...
Review URL: http://codereview.chromium.org/131099
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2223 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-19 09:12:20 +00:00
kasperl@chromium.org
5f5fbd4e4a
Allow functions to have custom construct stubs that are called
...
when the function is instantiated.
Review URL: http://codereview.chromium.org/132063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2222 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-19 07:36:16 +00:00
bak@chromium.org
7dab62ee96
Changed allocation to allow large objects to be allocated in new space.
...
This avoids back-to-back mark-sweep collections.
Review URL: http://codereview.chromium.org/136001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2219 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-18 14:06:36 +00:00
sgjesse@chromium.org
531a6db569
Fixed exception in debugger scripts request.
...
When collecting the result for a scripts request check that scripts compiled through eval actually have a script for the function they where eval'ed in before adding that informaiton to the response.
BUG=http://crbug.com/14388
TEST=none
Review URL: http://codereview.chromium.org/135001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2218 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-18 14:04:04 +00:00
whesse@chromium.org
da49c0f8a2
X64 implementation: Add function literals and function calls.
...
Review URL: http://codereview.chromium.org/131029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2217 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-18 11:46:38 +00:00
mikhail.naganov@gmail.com
a1a962f65e
Implemented processing of compressed log files.
...
- fixed address delta calculation;
- code creations are also compressed to be in sync with other events;
- factored out a base class from TickProcessor to reuse code in DevTools profiler.
Review URL: http://codereview.chromium.org/125256
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2216 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-18 07:59:13 +00:00
erik.corry@gmail.com
5f77401b0c
Inline mod for integer powers of 2.
...
Review URL: http://codereview.chromium.org/126293
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2215 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-18 07:33:44 +00:00
kasperl@chromium.org
cbda639253
Speculative fix for computing Math.pow(2, -1074) on win32 where
...
the overloaded pow(double, int) function from math.h produces the
wrong answer.
TBR=whesse@chromium.org
Review URL: http://codereview.chromium.org/131022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2214 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-18 05:47:31 +00:00
iposva@chromium.org
529c3a0a9f
Make some small Mac-specific modifications to V8 to make it work on MacOS X 10.4
...
rather than just 10.5 and up.
1: Set the right compile flags and predefines to get backward compatible Unix
system calls.
2: Explicitly weak import the functions in execinfo.h and check at runtime to
see if that library loaded before calling backtrace().
Original change submitted by maf@google.com and reviewed at http://codereview.chromium.org/126241 .
Review URL: http://codereview.chromium.org/132002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2213 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-18 00:22:52 +00:00
erik.corry@gmail.com
bc1aa93449
Don't strength reduce divisions by 1 or 2 as they can often be
...
handled by an optimistic inline idiv.
Review URL: http://codereview.chromium.org/125258
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2212 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-17 19:26:01 +00:00
kasperl@chromium.org
ac19e4b29b
Update Mozilla test expectations to better match the new handling
...
of tests that time out.
Review URL: http://codereview.chromium.org/126274
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2207 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-17 13:57:44 +00:00
sgjesse@chromium.org
f36c8574c9
Fix unload debugger.
...
Add a missing handle scope when clearing the debug message handler.
BUG=none
TEST=cctest/test-debug/DebuggerUnload
Review URL: http://codereview.chromium.org/126271
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2206 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-17 13:14:51 +00:00
whesse@chromium.org
310fd67aea
X64 Implementation: Make codegen load literals and assign to local variables.
...
Review URL: http://codereview.chromium.org/126198
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2204 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-17 12:16:59 +00:00
lrn@chromium.org
e9b13d9c39
X64: Implementation of a bunch of stubs, and some new opcodes.
...
Review URL: http://codereview.chromium.org/125185
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2203 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-17 11:50:33 +00:00
ager@chromium.org
a7c970c529
Avoid needless creation of handles in regexp runtime routines and use
...
the stack instead.
Review URL: http://codereview.chromium.org/126268
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2202 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-17 11:44:25 +00:00
kasperl@chromium.org
40213b131f
Optimize special cases of Math.pow().
...
Review URL: http://codereview.chromium.org/125245
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2201 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-17 11:06:32 +00:00
ager@chromium.org
885259ffab
Inline fast case of the method that ensures that an array has a
...
certain size.
Review URL: http://codereview.chromium.org/126265
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2200 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-17 10:55:58 +00:00
bak@chromium.org
1155ba8e8e
Reimplemented the KeyedLookupCache to speed up access.
...
Review URL: http://codereview.chromium.org/126262
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2195 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-17 06:07:49 +00:00
bak@chromium.org
977ad65073
- Changed fast case for computing object size based on usage histogram.
...
- Added fast case to String.prototype.split (Mads's idea).
- Made minor other optimizations in String.prototype.split.
Review URL: http://codereview.chromium.org/126201
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2191 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-16 13:31:31 +00:00
kasperl@chromium.org
01216a069b
Add fast negative checks for symbol equality: If we're comparing
...
two symbols, they're only equal if the objects are identical.
Review URL: http://codereview.chromium.org/125184
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2188 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-16 12:54:07 +00:00
erik.corry@gmail.com
52dfeca5f2
Fix profiling for shared libraries on Linux loaded at negative addresses
...
(Android does this). Fix logging for executable mappings that have no
file associated. Be more consistent with use of uintptr_t.
Review URL: http://codereview.chromium.org/125183
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2187 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-16 12:52:02 +00:00
sgjesse@chromium.org
78a8cdfbe8
Added utility scripts for running oprofile in tools/oprofile.
...
To profile running the JavaScript file test.js using the V8 release mode shell (assuming it is build passing prof=oprofile to the SCons build). The following commands can be used:
$ tools/oprofile/start
$ tools/oprofile/run test.js
$ tools/oprofile/report | less
$ tools/oprofile/annotate | less
$ tools/oprofile/shutdown
Here is a summary of the commands.
For all the commands taking an executable the executable is expected to be a binary using V8. If no executable is specified the release mode V8 shell is assumed.
By default the --session-dir=/tmp/oprofv8 is passed to all oprofile commands. This walue can be changed by setting environment variable OPROFILE_SESSION_DIR.
When using the defaulf executable (V8 shell in release mode) it is assumed to be located in ../.. relative from the oprofile utility scripts. This default location can be overridden using the V8_SHELL_DIR environment variable.
start
-----
Start the oprofiling daemon.
run [executable] [parameters]
-----------------------------
Profile a V8 executable. Running this will reset oprofile samples, run the command and do an oprofile dump to flush samples and write ELF binaries for the generated code. The parameters are passed to the executable together with the --oprofile option.
report [executable] [parameters]
--------------------------------
Print the report for a profile run. The parameters are passed to opreport. E.g report --callgraph.
annotate [executable] [parameters]
----------------------------------
Print annotated assembly for a profile run. The parameters are passed to opannotate. E.g annotate -threshold 1.
reset
-----
Reset oprofile samples.
dump
----
Flush oprofile samples and write ELF binaries for the generated code.
shutdown
--------
Shutdown oprofile daemon.
Added a warning which is printed if option --oprofile is passed to a V8 which has not been compiled with oprofile support.
Review URL: http://codereview.chromium.org/125181
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2186 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-16 12:08:59 +00:00
mikhail.naganov@gmail.com
02b7894f95
Fix issue 380.
...
Don't infer name for a function if a result of its call is assigned to a variable / property. E.g., in this case:
a = function() { ... } ();
the function must remain anonymous because 'a' doesn't receive a function reference, but instead a result of its call.
BUG=http://code.google.com/p/v8/issues/detail?id=380
TEST=cctest/test-func-name-inference/Issue380
Review URL: http://codereview.chromium.org/126195
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2185 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-16 11:47:00 +00:00
antonm@chromium.org
c34c406dae
Review URL: http://codereview.chromium.org/126158
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2184 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-16 10:06:24 +00:00
kmillikin@chromium.org
73fe551048
Remove the unused support for jump-table switch statements.
...
Review URL: http://codereview.chromium.org/126193
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2183 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-16 09:50:37 +00:00
erik.corry@gmail.com
824140bde0
Avoid going into runtime system for round-towards-zero operations on ARM.
...
Review URL: http://codereview.chromium.org/126192
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2182 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-16 09:49:29 +00:00
ager@chromium.org
5c7572985b
Prepare to push V8 version 1.2.8 to trunk.
...
Review URL: http://codereview.chromium.org/125177
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2180 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-16 09:33:17 +00:00
kasperl@chromium.org
991ec9a777
Make sure to invoke valueOf methods on both operands of & and >> -- even
...
when the left operand lets us shortcut the computation.
Review URL: http://codereview.chromium.org/125176
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2179 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-16 08:29:31 +00:00
whesse@chromium.org
7358e1980c
X64 implementation: Test Compiler::Compile by compiling and running a function.
...
Review URL: http://codereview.chromium.org/126191
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2178 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-16 08:25:08 +00:00
whesse@chromium.org
fb03c8414f
X64 platform: Add more register allocator functions.
...
Review URL: http://codereview.chromium.org/125131
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2177 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-16 08:24:42 +00:00
kasperl@chromium.org
2acf2ed80e
Improve DST offset computation performance.
...
Review URL: http://codereview.chromium.org/126188
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2176 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-16 06:52:04 +00:00
bak@chromium.org
03356a0e60
Implemented fast case for NumberToString where the result is a single character string.
...
Review URL: http://codereview.chromium.org/126189
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2175 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-16 06:44:09 +00:00
sgjesse@chromium.org
97482a43bf
Fix disassembly output from oprofile.
...
Only send the inscructions part of a code object to oprofile when reporting dynamically generated code. Before the code object header was also reported to oprofile as code which caused strange disassembly output when using opannotate.
Review URL: http://codereview.chromium.org/125126
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2174 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-15 16:33:28 +00:00
mikhail.naganov@gmail.com
91241273cb
Fixed pointer vs. va_list overloading problem occuring in gcc 3.3 (used for ARM build).
...
It seems that when calling a method that has two overloaded versions like this:
f(char* format, ...)
f(char* format, va_list args)
with a second pointer argument: f("format", pointer), the second version is picked up.
I've found a description of a similar issue here: http://bugs.gentoo.org/63112
So, to resolve this ambiguity, I've named such LogMessageBuilder's Append functions differently.
Review URL: http://codereview.chromium.org/125125
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2172 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-15 15:49:03 +00:00
ager@chromium.org
00107efb02
Use the correct version of CallRuntime in the arm code generator.
...
This fixes assertion failures in debug mode tests.
Review URL: http://codereview.chromium.org/126128
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2171 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-15 14:27:57 +00:00
kasperl@chromium.org
7f27314644
Fix stack alignment issue with the new fast Math.random() code
...
under Mac OS.
Review URL: http://codereview.chromium.org/125123
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2168 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-15 13:17:09 +00:00
ager@chromium.org
c1d0401b3d
Two small fixes for the Math.sin and Math.cos optimizations.
...
Review URL: http://codereview.chromium.org/125122
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2167 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-15 12:55:48 +00:00
ager@chromium.org
225a6a82b0
Optimize Math.sin and Math.cos by avoiding runtime calls.
...
Review URL: http://codereview.chromium.org/125121
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2166 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-15 12:06:48 +00:00
erik.corry@gmail.com
0fcf27bcb1
Make young space smaller on ARM.
...
Review URL: http://codereview.chromium.org/126121
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2165 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-15 11:44:04 +00:00
erik.corry@gmail.com
e44d30e284
Optimize constant divisions by powers of 2.
...
Review URL: http://codereview.chromium.org/126116
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2164 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-15 10:27:52 +00:00
kasperl@chromium.org
f36f5f2331
Optimize the slow case implementations of bit operations by
...
avoiding excessive ToNumber calls and by dealing with NaNs
in BIT_AND and SAR.
Review URL: http://codereview.chromium.org/125118
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2163 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-15 09:49:17 +00:00
mikhail.naganov@gmail.com
3a3a6924a1
Involve more log compression techniques.
...
Code addresses are now written as an offset from the previous address for ticks, code move and delete events. Employed backreference and RLE compression for code move and delete events. This gives additional 30% log size reduction for benchmarks run w/o snapshot.
Overall compression results (compared with the revision of V8 having no compression):
- V8: 70% size reduction for benchmarks run w/o snapshot (for reference, gzip gives 87%)
- Chromium: 65% size reduction for public html version of benchmarks (v4) (for reference, gzip gives 90%)
The one obvious opportunity for improving compression results in Chromium is to compress URLs of scripts.
Review URL: http://codereview.chromium.org/125114
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2162 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-15 09:37:50 +00:00
kasperl@chromium.org
4cc3fe04a1
Avoid sign issues with the fast case code for Math.floor().
...
Review URL: http://codereview.chromium.org/126115
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2161 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-15 08:27:38 +00:00
kasperl@chromium.org
a20757d7dc
Fix x64 build.
...
Review URL: http://codereview.chromium.org/126114
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2160 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-15 08:25:08 +00:00
kasperl@chromium.org
ce7cdbd799
Change the implementation of Math.random to use George
...
Marsaglia's multiply-with-carry instead of mixing the
bits obtained from calling the system random() twice.
This seems to be a bit faster and gives a better
distribution than the system random() in particular on
Windows.
Review URL: http://codereview.chromium.org/126113
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2159 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-15 08:04:47 +00:00
ager@chromium.org
5cbcd53f8a
Fix memory leak in regexp macro assembler. If the buffer has been
...
expanded the macro assembler owns the buffer and needs to dispose it
in the destructor.
Review URL: http://codereview.chromium.org/126111
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2158 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-15 06:27:33 +00:00
kmillikin@chromium.org
6ed860b7d6
Remove branching and binding with two arguments from the JumpTarget
...
class. Manually manage off-frame results at the two sites where they
were used.
Review URL: http://codereview.chromium.org/125048
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2157 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-12 14:43:27 +00:00
lrn@chromium.org
8be7fd052e
X64: Call runtime function from JS stack frame.
...
Review URL: http://codereview.chromium.org/125049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2156 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-12 13:14:35 +00:00
lrn@chromium.org
d4cc50e165
X64: Remove restriction on using r12 as index register.
...
Review URL: http://codereview.chromium.org/126045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2155 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-12 12:29:01 +00:00
whesse@chromium.org
e2fdac39a4
Implement more of x64 register allocator.
...
Review URL: http://codereview.chromium.org/126043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2154 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-12 11:25:15 +00:00
kmillikin@chromium.org
b318835cdc
First round of JumpTarget simplification. Remove dead functions (jumps,
...
branches, and bind with more than two arguments). Remove unneeded
variable (the "watermark" on virtual frames).
Review URL: http://codereview.chromium.org/125045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2153 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-12 11:25:13 +00:00
ager@chromium.org
f706cfa30c
Fix debugger after inlined keyed store change.
...
Make sure that the IC is always hit when debugging and make sure to
restore the fast case when leaving the debugger.
Review URL: http://codereview.chromium.org/125044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2152 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-12 11:24:13 +00:00
bak@chromium.org
492705657a
Changed the expansion of new space to depend on how much has survived scavenge.
...
This replaces the fixed expansion policy based on number of scavenges.
Increased the max new space size to 8MB (only reserved space).
Increased the defalt new space size to 512KB.
Review URL: http://codereview.chromium.org/125046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2151 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-12 11:11:04 +00:00
sgjesse@chromium.org
63dced1331
Move the default return handling to please some versions of gcc.
...
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/125043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2150 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-12 10:25:05 +00:00
sgjesse@chromium.org
882614391f
Add scope chain information to the debugger.
...
For each frame it is now possible to request information on the scope chain. Each scope in the chain can have one of the types local, global, with and closure. For scopes of type global and with the mirror for the actual global or with object is available. For scopes of type local and closure a plain JavaScript object with the materialized content of the scope is created and its mirror is returned. Depending on the level of possible optimization the content of the materialized local and closure scopes might only contain the names which are actually used.
To iterate the scope chain an iterator ScopeIterator have been added which can provide the type of each scope for each part of the chain. This iterator creates an artificial local scope whenever that is present as the context chain does not include the local scope.
To avoid caching the mirror objects for the materialized the local and closure scopes transient mirrors have been added. They have negative handles and cannot be retrieved by subsequent lookup calls. Their content is part of a single response.
For debugging purposes an additional runtime function DebugPrintScopes is been added.
Added commands 'scopes' and 'scope' to the developer shell and fixed the dir command.
BUG=none
TEST=test/mjsunit/debug-scopes.js
Review URL: http://codereview.chromium.org/123021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2149 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-12 10:03:25 +00:00
mikhail.naganov@gmail.com
8c16bc13bc
Implement tick events compression in a log file.
...
Two techniques are involved:
- compress repeated line ends (common stack beginnings) by using back references;
- do RLE compression of repeated tick events.
This gives only 5% size reduction on benchmarks run, but this is because tick events are only comprise 10% of file size. Under Chromium winnings are bigger because long repeated samples of idleness are now compressed into a single line.
Tickprocessor will be updated in the next patch.
Review URL: http://codereview.chromium.org/123012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2147 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-11 14:08:34 +00:00
whesse@chromium.org
f1fcab31c2
X64 implementation starts using virtual frame and register allocators.
...
Review URL: http://codereview.chromium.org/123018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2146 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-11 13:51:46 +00:00
lrn@chromium.org
d39df3809c
X64: Create test JS-function and call it.
...
Review URL: http://codereview.chromium.org/123017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2145 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-11 13:17:46 +00:00
ager@chromium.org
a8507cb43d
Inline keyed stores if the code is in a loop and the key is likely to
...
be a smi.
The inlined version works for stores to JSArrays where the key is a
smi that is within bounds of the array and the value is either
constant or a smi so we can skip the write-barrier.
Review URL: http://codereview.chromium.org/122035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2144 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-11 13:17:26 +00:00
lrn@chromium.org
e797b865aa
X64: Adds zone scope before creating codegenerator for testing.
...
Review URL: http://codereview.chromium.org/122033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2143 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-11 11:21:10 +00:00