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
667176d910
Another attempt at fixing sine & cosine test.
...
TBR=kmillikin@chromium.org
Review URL: http://codereview.chromium.org/125129
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2173 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-15 15:57:06 +00:00
erik.corry@gmail.com
622e13f573
Semirandom changes in the code generated by gcc -g mean we can't iterate quite
...
as deep on newer VMs in debug mode.
Review URL: http://codereview.chromium.org/126125
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2170 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-15 13:50:07 +00:00
ager@chromium.org
b898b6dfea
Modify regression test.
...
Because of varying floating-point precision, the slow case is hard to
test with explicit values. Instead, we check that sine and cosine do
not return the same value (the regression was that the slow case of
cosine accidentally did sine instead of cosine).
Review URL: http://codereview.chromium.org/126123
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2169 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-15 13:18:51 +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
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
kmillikin@chromium.org
35b5aab3c7
Fix a bug when shifting left by zero. Ensure that the left operand is
...
writable (non-aliased) so it can be used for the result in the slow
case.
Review URL: http://codereview.chromium.org/118496
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2134 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-10 12:41:57 +00:00
whesse@chromium.org
bedff67b6e
Make Array.sort safely generic on JSObject types. Fix bug 346 http://code.google.com/p/v8/issues/detail?id=346
...
Review URL: http://codereview.chromium.org/119357
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2133 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-10 11:42:22 +00:00
sgjesse@chromium.org
dc9670bcb4
Change locationFromPosition() and locationFromLine() to use a binary search to locate line numbers from position numbers. Modify test debug-sourceinfo.js to include more tests, including error conditions.
...
Patch by Matt Hanselman, see http://codereview.chromium.org/118371 .
BUG=213
TEST=test/mjsunit/debug-sourceinfo.js
Review URL: http://codereview.chromium.org/118425
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2125 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-09 07:03:21 +00:00
sgjesse@chromium.org
d498361c5f
Add more debugging information to scripts compiled through eval.
...
Scripts now have a compilation type which can be host, eval or JSON. Host scripts are compiled through the API, eval scripts are compiled through call to evan and JSON scripts are compiled as a result of calling JSON.parse.
For scripts scripts compiled through eval the JavaScript function in top of the stack and the pc offset into the code is stored in the script object. This makes it possible to calculate the source position of the eval call later when requested. This information can be obtained through the script mirror object and is part of the script mirror JSON serialization for the debugger protocol.
Moved the enumeration ScripType into class Script and remamed to Type. The new compilation type enumeration is also inside the class Script.
This information is now shown when using the scripts command in he developer shell debugger.
Review URL: http://codereview.chromium.org/119108
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2119 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-08 10:47:49 +00:00
kmillikin@chromium.org
92c17c34de
Rename misnamed test file.
...
Review URL: http://codereview.chromium.org/119081
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2097 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-06-03 12:21:54 +00:00
lrn@chromium.org
2e37ebe1ed
Added stack overflow check for RegExp analysis phase.
...
A very long regexp graph can overflow the stack with recursive calls.
Review URL: http://codereview.chromium.org/113894
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2064 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-27 11:23:26 +00:00
lrn@chromium.org
945245393c
Fix for issue 351 - lastIndexOf.
...
Review URL: http://codereview.chromium.org/113838
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2060 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-26 15:42:06 +00:00
lrn@chromium.org
2ff3901cf7
Fix for issue 349: Make initial boundary check for BM text search.
...
There was a case where the BMH algorithm bailed out exactly at the end of the string, and the BM algorithm that takes over wasn't expecting this.
Review URL: http://codereview.chromium.org/113575
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1995 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-19 09:01:03 +00:00
sgjesse@chromium.org
94879a93b0
Add a script cache to the debugger
...
When loaded scripts are requested this cache is filled with all the script objects in the heap. Hereafter its content is kept in sync with the active scripts in the heap through the notifications of new scripts compiled and by using weak handles to get notified when a script is collected.
Through the tracking of collected scripts the debugger event OnScriptCollected have been added to notify a debugger that a script previously returned through the scripts command is no longer in use.
Make the ComputeIntegerHash globally available.
Moved clearing of the mirror cache to when debugger is really left. Previously recursive invocations of the debugger cause the mirror cache to be cleared causing handles to become either stale or reference other objects.
Review URL: http://codereview.chromium.org/115462
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1988 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-18 13:14:37 +00:00
yurys@chromium.org
acfc50ac12
MirrorSerializer now converts mirrors to plain JS objects. This objects are serialized to json string using JSON.stringify.
...
Review URL: http://codereview.chromium.org/113399
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1957 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-15 07:35:11 +00:00
yurys@chromium.org
750a8391c2
Add parameter that allows to request data for scripts by their ids. It's going to be used e.g. to request script sources by their ids.
...
Review URL: http://codereview.chromium.org/113335
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1941 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-14 06:39:47 +00:00
whesse@chromium.org
1ae8a7da3d
Fix bug 344: always keep attributes of existing properties.
...
Review URL: http://codereview.chromium.org/113197
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1931 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-13 10:46:28 +00:00
sgjesse@chromium.org
ada3d37219
Added support to backtrace from botton of stack to debugger protocol.
...
Fixed backtrace in D8 debugger and added gdb like syntax 'bt n' and 'bt -n' in addition to the already existing 'bt from to'.
Review URL: http://codereview.chromium.org/99342
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1929 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-13 08:54:50 +00:00
kmillikin@chromium.org
18f69a7171
Fix for issue 341. In the stub for instanceof, we could try to read
...
an object's map before we were sure it was a heap object.
Review URL: http://codereview.chromium.org/115236
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1914 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-12 11:40:14 +00:00
yurys@chromium.org
052d63f5bd
Script context information is included in before/afterCompile events.
...
Review URL: http://codereview.chromium.org/115128
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1911 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-12 09:08:01 +00:00
mikhail.naganov@gmail.com
7d260e5f8c
Don't keep data about JS code that is never executed.
...
This reduces memory usage of tickprocessor. Thanks to William Hesse for pointing out this issue.
Also speed up static symbols loading.
Review URL: http://codereview.chromium.org/113101
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1902 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-08 11:27:02 +00:00
erik.corry@gmail.com
275a27d6bd
Fix Chromium bug 1717 by emulating JSCs somewhat strange hidden
...
prototypes on some built in types.
Review URL: http://codereview.chromium.org/109004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1882 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-06 12:54:57 +00:00
yurys@chromium.org
beb5161b84
Add function inferred name to FunctionMirror and its json representation.
...
Review URL: http://codereview.chromium.org/109026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1871 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-05 18:12:03 +00:00
lrn@chromium.org
b11b61c4c0
Added test for issue 334.
...
Test for issue 334 (oveerwriting function erases attributes).
Review URL: http://codereview.chromium.org/109009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1863 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-05 11:52:37 +00:00
erik.corry@gmail.com
282bc7a7b4
Reverty 1842 (see http://code.google.com/p/chromium/issues/detail?id=1717 )
...
Review URL: http://codereview.chromium.org/99346
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1848 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-04 19:35:46 +00:00
erik.corry@gmail.com
8a15c49974
Fix http://code.google.com/p/chromium/issues/detail?id=1717
...
undeletable functions on some prototypes.
Review URL: http://codereview.chromium.org/100335
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1842 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-04 12:34:20 +00:00
lrn@chromium.org
5026b2906c
Removed long-running array sort test.
...
Long running array-sort test times out on ARM.
Also fixed a bug in another test.
Review URL: http://codereview.chromium.org/100330
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1841 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-04 09:07:36 +00:00
lrn@chromium.org
83d1d02df7
Made sort on non-arrays also affect elements on the prototype, for JSC compatability.
...
Made sort on non-objects with inherited elements JSC compatible.
Review URL: http://codereview.chromium.org/99272
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1829 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-01 10:06:55 +00:00
whesse@chromium.org
714e525b40
Improve register allocation of left shift operation. Add tests
...
for all shift operations.
Review URL: http://codereview.chromium.org/101016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1825 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-30 09:21:50 +00:00
mikhail.naganov@gmail.com
178a656429
Enhancing profiling data processing code with functionality needed for the Dev Tools Profiler.
...
Details:
- added properties / functions in view objects needed for WebKit's ProfileView;
- added ability to count profiles for specific functions.
The tickprocessor functionality does not affected.
Review URL: http://codereview.chromium.org/99181
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1823 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-30 08:10:27 +00:00
whesse@chromium.org
732e3999e4
Add a mjsunit test to cover more paths in the ia32 code generator.
...
Review URL: http://codereview.chromium.org/99187
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1818 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-29 13:57:48 +00:00
mikhail.naganov@gmail.com
bffdfa3552
Rename profileview.js -> profile_view.js because WebInspector already has ProfileView.js.
...
Review URL: http://codereview.chromium.org/100102
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1805 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-28 09:15:31 +00:00
mikhail.naganov@gmail.com
aa2c33126c
TickProcessor script reimplemented in JavaScript.
...
This is an effort to reuse profiler data processing code both in
TickProcessor and Dev Tools Profiler. The old Python implementation
will be removed.
The new TickProcessor works almost identical to the previous one.
However, it has some differences:
1. Not very useful "Call profile" section is replaced with a new
WebKit-like "Bottom up (heavy) profile" which shows the most
expensive functions together with their callers. I used it
personally in order to find and remove bottlenecks in the
tickprocessor script itself, and found it quite helpful.
2. Code entries with duplicate names (they occur for RegExes, stubs
and sometimes for anonymous Function objects) are now distinguished
by adding an occurence number inside curly brackets.
3. (Address -> code entry) mapping is more precise in boundary cases.
4. Windows version no more requires specifying .map file location.
5. Works faster.
Review URL: http://codereview.chromium.org/99054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1802 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-27 13:50:42 +00:00
lrn@chromium.org
889eac7f13
Fix Issue 326. Handle sorting of non-array objects correctly.
...
Change handling of sorting to be the same for all JS-arrays.
Collect undefined values as well while removing holes.
Review URL: http://codereview.chromium.org/92123
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1800 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-27 11:16:59 +00:00
christian.plesner.hansen@gmail.com
4a909a7a62
- When cloning maps to set the 'lazy loading' bit remember to clone
...
the properties as well. This fixes some failing tests.
- Moved json parsing into native code.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1789 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-24 12:45:29 +00:00
mikhail.naganov@gmail.com
2060dc1512
Added ProfileView object for performing sorting, searching and filtering operations on a profile.
...
It will be used both in the new tickprocessor and Dev Tools profiler.
Review URL: http://codereview.chromium.org/92120
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1786 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-24 11:37:38 +00:00
christian.plesner.hansen@gmail.com
1f7e96743d
- Extended lazy loading to general objects, not just functions.
...
- Added lazily loaded JSON object.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1784 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-24 08:13:09 +00:00
kmillikin@chromium.org
cb9d66638b
Fix regression test by wrapping expression in a thunk^H^H^H^H^Hstring.
...
Review URL: http://codereview.chromium.org/95001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1776 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-22 17:44:28 +00:00
sgjesse@chromium.org
7fd0da52e7
Add setting break points by using handles.
...
Extend the D8 break command to handle script names with :line[:column] position specification and handles using #<id>#.
Review URL: http://codereview.chromium.org/92011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1770 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-22 13:59:48 +00:00
erik.corry@gmail.com
befbeba831
Small changes to improve test coverage in codegen-ia32.cc.
...
Review URL: http://codereview.chromium.org/92008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1769 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-22 13:34:35 +00:00
kmillikin@chromium.org
b39f4383dc
When merging a frame to an expected on at block entry, the static type
...
of elements is set to a safe lower bound. Move the setting of the
static type out of VirtualFrame::MergeTo (which is not necessarily run
for all frames) and into VirtualFrame::PrepareMergeTo (which is).
Review URL: http://codereview.chromium.org/92009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1767 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-22 13:19:38 +00:00
lrn@chromium.org
bfb33b1e2f
Fix for Issue 317 - bug in string.replace(string, "$foo").
...
Fix for Issue 317. Replace string with something containing dollar now works.
Review URL: http://codereview.chromium.org/94002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1764 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-22 11:43:05 +00:00
sgjesse@chromium.org
22612a516e
Change the expectations of the ARM debugger tests once more
...
A couple of the tests actually passes now.
Review URL: http://codereview.chromium.org/93011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1763 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-22 11:41:19 +00:00
sgjesse@chromium.org
a8c1df9fa4
Change the expectations of the ARM debugger tests.
...
Previous change r1756 caused some ARM debugger tests to fail instead of crash in release mode.
Review URL: http://codereview.chromium.org/93005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1759 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-22 08:54:59 +00:00
lrn@chromium.org
123f671a17
Reduced size of Array.reduce test.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1750 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-21 11:25:51 +00:00
lrn@chromium.org
97427d86e0
Add ES5 Array methods reduce and reduceRight, with test.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1749 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-21 09:57:30 +00:00
mikhail.naganov@gmail.com
6290e19716
Implemented a CSV parser in JavaScript.
...
Review URL: http://codereview.chromium.org/67253
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1740 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-17 17:58:14 +00:00
mikhail.naganov@gmail.com
dfe8af02a6
Implemented Profile object that processes profiling events and calculates profiling data.
...
Review URL: http://codereview.chromium.org/77014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1739 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-17 17:40:52 +00:00
erik.corry@gmail.com
fb303212b1
Improve coverage of line 619 in stub-cache-arm.cc
...
Review URL: http://codereview.chromium.org/77028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1738 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-17 14:34:35 +00:00