sgjesse@chromium.org [Wed, 22 Apr 2009 13:59:48 +0000 (13:59 +0000)]
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
erik.corry@gmail.com [Wed, 22 Apr 2009 13:34:35 +0000 (13:34 +0000)]
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
kmillikin@chromium.org [Wed, 22 Apr 2009 13:19:38 +0000 (13:19 +0000)]
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
yurys@chromium.org [Wed, 22 Apr 2009 13:04:19 +0000 (13:04 +0000)]
This issue was introduced by codereview.chromium.org/67266
Review URL: http://codereview.chromium.org/93014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1766
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 22 Apr 2009 11:43:05 +0000 (11:43 +0000)]
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
sgjesse@chromium.org [Wed, 22 Apr 2009 11:41:19 +0000 (11:41 +0000)]
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
sgjesse@chromium.org [Wed, 22 Apr 2009 11:39:47 +0000 (11:39 +0000)]
Add missing files to the Visual Studio ARM simulator project.
Review URL: http://codereview.chromium.org/93007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1762
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 22 Apr 2009 09:25:41 +0000 (09:25 +0000)]
Abolish kDebug and use ifdef DEBUG throughout for consistency.
Review URL: http://codereview.chromium.org/94001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1761
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 22 Apr 2009 09:01:13 +0000 (09:01 +0000)]
Enable flaky test that was fixed some time ago.
Review URL: http://codereview.chromium.org/80001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1760
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 22 Apr 2009 08:54:59 +0000 (08:54 +0000)]
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
ager@chromium.org [Wed, 22 Apr 2009 07:38:08 +0000 (07:38 +0000)]
Adding hidden values always turned the object slow case because the
hidden symbol is not an identifier. Make sure to keep objects fast
case when adding hidden values if possible.
Review URL: http://codereview.chromium.org/93004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1758
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 21 Apr 2009 14:48:54 +0000 (14:48 +0000)]
Handle breaks on keyed IC loads which can have an inlined version.
For keyed IC loads setting a break point now ensures that the inlined code is not used. When the break point is set the inlined map check is changed to fail causing the inlined code not to be used but the IC to be called. As long at the break point is set the map check will stay invalid.
Review URL: http://codereview.chromium.org/87025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1756
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Tue, 21 Apr 2009 14:06:48 +0000 (14:06 +0000)]
As long as all debugger messages are handled by a single static method we need a way to identify request sender to route the response to the right handler. To accomplish this clients can send some additional data along with command text and debugger will later pass this data to the message handler along with the response text.
Review URL: http://codereview.chromium.org/67266
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1755
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 21 Apr 2009 13:42:12 +0000 (13:42 +0000)]
* Add code to check coverage of generated code on IA32 port.
* Move ARM coverage code to ARM-specific file and add missing
file to cover.
Review URL: http://codereview.chromium.org/88025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1754
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen@gmail.com [Tue, 21 Apr 2009 13:28:34 +0000 (13:28 +0000)]
review
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1753
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen@gmail.com [Tue, 21 Apr 2009 13:28:22 +0000 (13:28 +0000)]
doc
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1752
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
christian.plesner.hansen@gmail.com [Tue, 21 Apr 2009 13:28:11 +0000 (13:28 +0000)]
force-set
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1751
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 21 Apr 2009 11:25:51 +0000 (11:25 +0000)]
Reduced size of Array.reduce test.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1750
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 21 Apr 2009 09:57:30 +0000 (09:57 +0000)]
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
sgjesse@chromium.org [Tue, 21 Apr 2009 07:22:06 +0000 (07:22 +0000)]
Make it possible to add a user data object to each script compiled.
Review URL: http://codereview.chromium.org/90003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1748
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
feng@chromium.org [Mon, 20 Apr 2009 17:44:39 +0000 (17:44 +0000)]
Fix style issues caught by presubmit script.
TBR = erikcorry
Review URL: http://codereview.chromium.org/83004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1746
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
feng@chromium.org [Mon, 20 Apr 2009 16:36:13 +0000 (16:36 +0000)]
Add ENABLE_DEBUGGER_SUPPORT macro.
ENABLE_DEBUGGER_SUPPORT is enabled by default unless it is on Android platform.
On Android platform, it can also enabled by passing -DENABLE_DEBUGGER_SUPPORT flag to the compiler.
This should not affect any existing build (I hope, cross my fingers) except the build in real Android environment (in other word, it only affects me now).
There are lot of room for code refactoring in stead of using #ifdef all over the place. I will leave this to v8 folks.
Review URL: http://codereview.chromium.org/77035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1745
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Mon, 20 Apr 2009 12:15:27 +0000 (12:15 +0000)]
Remove unused runtime function.
The CompileScript runtime function is not used by any builtins any more.
Review URL: http://codereview.chromium.org/80003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1744
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Mon, 20 Apr 2009 09:40:08 +0000 (09:40 +0000)]
Correct the marking of tests that only fail on the simulator.
Review URL: http://codereview.chromium.org/80002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1743
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Sat, 18 Apr 2009 00:03:15 +0000 (00:03 +0000)]
Add an option to the SCons build to control Microsoft Visual C++ link-time code generation.
Turning off Microsoft Visual C++ link-time code generation makes linking on Windows significantly which is convenient during development. There has also been a request from embedders for a way to control this for embedding application which does not use link-time code generation.
The name of the option is msvcltcg and the default value is 'on' to keep the same behaviour as before.
Review URL: http://codereview.chromium.org/69026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1742
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
iposva@chromium.org [Fri, 17 Apr 2009 21:04:34 +0000 (21:04 +0000)]
Add a "read" extension to the shell programs. This global function
reads the contents of a file into a string and returns it.
Review URL: http://codereview.chromium.org/67262
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1741
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Fri, 17 Apr 2009 17:58:14 +0000 (17:58 +0000)]
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
mikhail.naganov@gmail.com [Fri, 17 Apr 2009 17:40:52 +0000 (17:40 +0000)]
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
erik.corry@gmail.com [Fri, 17 Apr 2009 14:34:35 +0000 (14:34 +0000)]
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
erik.corry@gmail.com [Fri, 17 Apr 2009 13:57:15 +0000 (13:57 +0000)]
Lint.
Review URL: http://codereview.chromium.org/77026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1737
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Fri, 17 Apr 2009 13:27:36 +0000 (13:27 +0000)]
* Remove unused code from codegen-arm.cc
* Fix fp ops on pre-EABI ARM targets.
* Fix missing TIMEVAL_TO_TIMESPEC on Android.
Review URL: http://codereview.chromium.org/77025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1736
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Fri, 17 Apr 2009 09:17:04 +0000 (09:17 +0000)]
If an external string enters the symbol table, make sure to set the
resource to NULL when removing it from the symbol table. This makes
sure that the debugger can recognize the external string as being
"deleted". Now, whenever an external resource is deleted, the
resource pointer is set to NULL.
This is really a workaround of a debugger problem. We need to make
sure that the debugger only finds scripts in the heap that are
actually live.
Review URL: http://codereview.chromium.org/69029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1734
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
iposva@chromium.org [Fri, 17 Apr 2009 00:57:21 +0000 (00:57 +0000)]
- Fix buffer overflow in the pre-allocated memory thread.
Review URL: http://codereview.chromium.org/67248
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1733
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
iposva@chromium.org [Fri, 17 Apr 2009 00:56:52 +0000 (00:56 +0000)]
- Fix delta time calculation in LinuxSemaphore::Wait.
Review URL: http://codereview.chromium.org/69024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1732
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 17 Apr 2009 00:15:12 +0000 (00:15 +0000)]
Fix building of snapshots on Windows.
The romoval of _HAS_EXCEPTIONS=0 from the source files was not fully complemented with changes to the compiler flags used for mksnapshot.
Review URL: http://codereview.chromium.org/67242
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1731
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
iposva@chromium.org [Thu, 16 Apr 2009 21:01:05 +0000 (21:01 +0000)]
Start addressing massive arrays on the stack. There is hardly ever
a reason to stack allocate large chunks of stack space.
- Runtime_GetCFrames used to allocate a frame size of 52040 bytes.
- PreallocatedMemoryThread::Run used to allocate 32784 bytes.
- Fixed StringStream overflow conditions.
Review URL: http://codereview.chromium.org/67197
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1729
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Thu, 16 Apr 2009 17:30:27 +0000 (17:30 +0000)]
Remove unused CodeRegion class and corresponding logging functions.
Review URL: http://codereview.chromium.org/67221
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1728
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Thu, 16 Apr 2009 16:34:24 +0000 (16:34 +0000)]
Allow multiple function literals to be assigned to the same var / property.
In such a case all functions get the same name. I think it's a good performance / usability tradeoff. In case a developer wants more clarity, it's up to him to give names to functions.
Review URL: http://codereview.chromium.org/67168
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1727
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Thu, 16 Apr 2009 16:05:17 +0000 (16:05 +0000)]
Reimplement (address -> code) mapping from tickprocessor.py in JS.
Found a pair of bugs concerned with border cases in the original implementation.
Review URL: http://codereview.chromium.org/67191
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1726
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 16 Apr 2009 13:46:55 +0000 (13:46 +0000)]
Migrate a couple of old tests to mjsunit tests.
Review URL: http://codereview.chromium.org/67215
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1725
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 16 Apr 2009 12:58:14 +0000 (12:58 +0000)]
Fix lint. Accidentally commited a reindentation of a parameter list
that introduced line that was too long.
Review URL: http://codereview.chromium.org/67214
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1724
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 16 Apr 2009 12:12:47 +0000 (12:12 +0000)]
Don't blindly use blx instruction without knowing whether the CPU supports it.
Review URL: http://codereview.chromium.org/67213
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1723
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 16 Apr 2009 11:30:55 +0000 (11:30 +0000)]
Change the enumeration order for unsigned integer keys to always be
numerical order independently of the representation of the object.
Exchanged the order of enumeration of integer and string keys so
integer keys are first instead of string keys to better match
WebKit/JSC behavior.
Added test cases that document our enumeration order choice.
Review URL: http://codereview.chromium.org/75035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1722
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Thu, 16 Apr 2009 11:30:00 +0000 (11:30 +0000)]
Remove some unused macros from objects.cc.
Review URL: http://codereview.chromium.org/67211
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1721
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 16 Apr 2009 09:30:23 +0000 (09:30 +0000)]
Avoid a call to the runtime system when doing binary fp ops on ARM
(at the moment only if we do not need to allocate a heap number).
Find a few more oportunities to avoid heap number allocation on IA32.
Add some infrastructure to test coverage of generated ARM code in our
tests.
Review URL: http://codereview.chromium.org/67163
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1720
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Thu, 16 Apr 2009 06:03:17 +0000 (06:03 +0000)]
Lookup can now be performed for several handles.
Review URL: http://codereview.chromium.org/67155
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1719
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 15 Apr 2009 19:09:38 +0000 (19:09 +0000)]
Add debug command break flag for debugger host dispatch.
Ensure that debugger host dispatch is processed even though there are no debugger commands in the queue.
Review URL: http://codereview.chromium.org/67180
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1718
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Wed, 15 Apr 2009 13:16:51 +0000 (13:16 +0000)]
Prepare a push to trunk (version 1.1.10).
Review URL: http://codereview.chromium.org/67167
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1716
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Wed, 15 Apr 2009 13:14:23 +0000 (13:14 +0000)]
Change the function name collector to tolerate expressions that contain
multiple anonymous function literals as subexpressions.
Choose the rightmost one the one to attach a name to.
Review URL: http://codereview.chromium.org/67165
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1715
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 15 Apr 2009 12:31:02 +0000 (12:31 +0000)]
Add mjsunit test for the overriding of read-only properties.
For compatibility, our behavior here does not match the spec. Added a
comment to that effect in the test.
Review URL: http://codereview.chromium.org/67164
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1714
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 15 Apr 2009 10:47:23 +0000 (10:47 +0000)]
Fix crash bug when loading const variable in the presence of eval.
The problem was a missing 'uninitialized' check.
Review URL: http://codereview.chromium.org/73076
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1713
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Wed, 15 Apr 2009 07:41:04 +0000 (07:41 +0000)]
A few small changes to --print-ast behavior:
* Remove two horizontal spaces per indent
* Don't print an extra space between "VAR" and "(" for parameters
* Call the name on named property accesses "NAME"
Review URL: http://codereview.chromium.org/67124
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1712
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 15 Apr 2009 07:15:41 +0000 (07:15 +0000)]
Timeout of os.system() in d8 was timing out too soon.
Review URL: http://codereview.chromium.org/63062
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1711
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Wed, 15 Apr 2009 06:28:07 +0000 (06:28 +0000)]
Allow using with and eval in JS extensions in debug mode by
getting rid of bogus assertion error.
Review URL: http://codereview.chromium.org/73072
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1710
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Wed, 15 Apr 2009 01:22:52 +0000 (01:22 +0000)]
Reimplement Splay Tree in JavaScript (and add unit tests!).
This is the first step in reimplementing tick processing scripts in
JavaScript. The goal is to have the same source both for Dev Tools and
Golem, so Python implementation will be removed to avoid code
duplication.
The implementation follows the Dev Tools style: namespaces and JSDocs
are used.
Review URL: http://codereview.chromium.org/67151
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1709
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Wed, 15 Apr 2009 01:17:00 +0000 (01:17 +0000)]
To resolve functions from the call stack we need at least ids for the scripts of those functions. The information on the scripts is now included into the response.
Review URL: http://codereview.chromium.org/65006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1708
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 14 Apr 2009 14:58:23 +0000 (14:58 +0000)]
Remove definition of _HAS_EXCEPTIONS from source files.
The define _HAS_EXCEPTIONS=0 is only required on Windows and is already set in the SCons build file and Visual Studio project files.
Review URL: http://codereview.chromium.org/67116
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1707
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 14 Apr 2009 14:56:03 +0000 (14:56 +0000)]
Fix the source position recorded for funtion return
Record the function return position as the end of the function source. Don't record function entry and return positions as statement positions.
Added a test for source position for break at function return.
Review URL: http://codereview.chromium.org/67109
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1706
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 14 Apr 2009 14:54:41 +0000 (14:54 +0000)]
Fix VirtualFrame::is_used for ARM
Caused a compiler warning when compiling on Windows.
Review URL: http://codereview.chromium.org/67108
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1705
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Tue, 14 Apr 2009 14:01:00 +0000 (14:01 +0000)]
Fix build issue on Mac.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1703
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Tue, 14 Apr 2009 13:29:23 +0000 (13:29 +0000)]
Prepare a push to trunk (version 1.1.9).
Review URL: http://codereview.chromium.org/73031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1701
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Tue, 14 Apr 2009 12:10:32 +0000 (12:10 +0000)]
Move STATIC_ASSERT to IsShortcutCandidate to fix the
broken build.
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/67126
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1700
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Tue, 14 Apr 2009 12:00:56 +0000 (12:00 +0000)]
Verify the symbol table contents before and after all
GCs (not just mark-compacts) and make the mark-compact
shortcutting of cons-strings identical to the scavenge
version.
Review URL: http://codereview.chromium.org/67125
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1699
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Tue, 14 Apr 2009 09:58:42 +0000 (09:58 +0000)]
Fixed issue 303 by not shortcutting cons-symbols and added
symbol table verification after mark-compact GCs.
Review URL: http://codereview.chromium.org/73029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1698
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Tue, 14 Apr 2009 01:33:15 +0000 (01:33 +0000)]
Fixed presubmit errors.
TBR=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/73025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1697
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Tue, 14 Apr 2009 00:51:59 +0000 (00:51 +0000)]
Add name inference for anonymous functions to facilitate debugging and profiling of JS code.
Currently function name inference is wired with AST optimization pass to avoid introducing another pass over AST. A better solution would be to rewrite AST visitors so they can be naturally combined together in a single pass, as their current implementation doesn't allow it.
For examples of cases where function names can be inferred, see the tests file.
Review URL: http://codereview.chromium.org/62146
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1696
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
davemoore@chromium.org [Tue, 14 Apr 2009 00:30:44 +0000 (00:30 +0000)]
Reenable d8 stats timers, using the histogram mechanism
Review URL: http://codereview.chromium.org/67100
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1695
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Mon, 13 Apr 2009 23:12:04 +0000 (23:12 +0000)]
Implemented "no heap access" mode for JSFrame which is used for stack sampling in profiler.
As I discovered that JSFrame accesses SharedFunctionInfo only to calculate caller SP and the latter is not used in profiler's stack sampling, I disabled accessing heap objects in JSFrame when doing stack sampling. This finally made V8's profiling stable when used from Chrome on a real web app.
Review URL: http://codereview.chromium.org/73020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1694
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Mon, 13 Apr 2009 14:42:01 +0000 (14:42 +0000)]
Added another check in SafeStackFrameIterator.
While playing with profiling in debug version of Chrome, I encontered a
case when assertion in StackHandlerIterator failed.
Review URL: http://codereview.chromium.org/65005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1693
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Sat, 11 Apr 2009 09:01:45 +0000 (09:01 +0000)]
Prepare a push to trunk (version 1.1.8).
Review URL: http://codereview.chromium.org/71001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1691
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
iposva@chromium.org [Thu, 9 Apr 2009 23:17:45 +0000 (23:17 +0000)]
- Fix lint failure.
- Add missing files d8-posix.cc and d8-windows.cc to Xcode project.
Review URL: http://codereview.chromium.org/68004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1690
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
iposva@chromium.org [Thu, 9 Apr 2009 23:04:00 +0000 (23:04 +0000)]
Workaround for http://crbug.com/9746:
- Added special cutouts if a Vector has NULL data, which will now happen
if an external string's resource has been deleted.
- Added an verification phase before old gen GC to verify that all real
entries in the SymbolTable are valid symbols.
- Added test that verifies the correct behaviour of the workaround.
Review URL: http://codereview.chromium.org/66011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1689
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
iposva@chromium.org [Thu, 9 Apr 2009 20:07:30 +0000 (20:07 +0000)]
- Exclude "build/include_what_you_use" from cpplint.py filters.
Review URL: http://codereview.chromium.org/65017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1688
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
asargent@chromium.org [Wed, 8 Apr 2009 21:05:29 +0000 (21:05 +0000)]
Fix v8::Object::DeleteHiddenValue to not bail when there are no hidden properties.
Review URL: http://codereview.chromium.org/58016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1687
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 7 Apr 2009 16:01:45 +0000 (16:01 +0000)]
Remove the PCRE_STATIC define.
TBR=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/62103
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1686
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 7 Apr 2009 13:33:39 +0000 (13:33 +0000)]
Fix profiling on Android.
Review URL: http://codereview.chromium.org/62102
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1685
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 7 Apr 2009 12:11:43 +0000 (12:11 +0000)]
Fixed step in handling for function.call.
For function.call debug step in did not work as execution did not break in the function called. This has now been fixed using the same means as for function.apply in CL http://codereview.chromium.org/63055.
Review URL: http://codereview.chromium.org/63058
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1684
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 7 Apr 2009 09:54:53 +0000 (09:54 +0000)]
Fixed the step in handling for function.apply.
The generic step-in mechanism floods the function called with break points to ensure a break is hit when entering the function. This generic mechanism was also used for function.apply. The code for function.apply contains a keyed load IC which was patched when stepping into function.apply. However function.apply enteres an internal frame not a JavaScript frame. This caused the logic for returning from the break in function.apply to fail as it forced a jump to the IC on the top JavaScript frame. The top JavaScript frame was the frame for the function calling function.apply not the frame for the apply function. Now returning from the break point in the keyed load IC in the apply code caused a jump to the code for the call IC for the function calling function.apply in the first place. Not a pretty sight.
Step-in now handles function.apply as a separate case where the actual JavaScript function called through apply is flodded with breakpoints instead of the function.apply function.
BUG=269
BUG=8210@chromium.org
Review URL: http://codereview.chromium.org/63055
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1683
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 7 Apr 2009 07:16:10 +0000 (07:16 +0000)]
Apply Matt Hanselman's patch to fix issue 96.
Reviewed CL at http://codereview.chromium.org/42686.
BUG=96
Review URL: http://codereview.chromium.org/62052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1681
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Tue, 7 Apr 2009 06:00:21 +0000 (06:00 +0000)]
Prepare a push to trunk (version 1.1.7).
Review URL: http://codereview.chromium.org/62091
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1680
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
davemoore@chromium.org [Mon, 6 Apr 2009 18:08:06 +0000 (18:08 +0000)]
Put back compilation cache
Review URL: http://codereview.chromium.org/56185
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1679
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Mon, 6 Apr 2009 14:55:01 +0000 (14:55 +0000)]
Fix crash with indexed setter on objects without corresponding getter.
Review URL: http://codereview.chromium.org/63010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1678
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Fri, 3 Apr 2009 13:27:14 +0000 (13:27 +0000)]
Rewrite of VisitCountOperation that should speed it up
Review URL: http://codereview.chromium.org/56151
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1677
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Fri, 3 Apr 2009 12:44:45 +0000 (12:44 +0000)]
Quick pointer comparison, removed undetectable tests.
Special case for NaN in equality test.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1676
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Fri, 3 Apr 2009 12:01:56 +0000 (12:01 +0000)]
Tracks static type of strings in frame elements and results.
Uses static string type to optimize string additions.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1675
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Fri, 3 Apr 2009 10:30:21 +0000 (10:30 +0000)]
Add two more invocations of ENTER_V8 to places where we need to write
to V8's heap.
Review URL: http://codereview.chromium.org/60089
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1674
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Fri, 3 Apr 2009 08:18:24 +0000 (08:18 +0000)]
Move some more ENTER_V8 invocations. The biggest one is to move the
one in v8::V8::Initialize to after the early bailout.
Review URL: http://codereview.chromium.org/60083
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1673
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Fri, 3 Apr 2009 07:49:20 +0000 (07:49 +0000)]
Remove ENTER_V8 from small API functions that do not need access to
V8's heap or only need read access.
This means that IsDeadCeck and EnsureInitialized could sometimes be
called without having already entered the VM. To simplify things,
this is made always the case. A couple of error callbacks do not need
to leave V8 because they haven't entered.
Consistently enter V8 after LOG_API (since LOG_API is sometimes before
EnsureInitialized or IsDeadCheck).
This all should have no effect unless V8 is built with
ENABLE_HEAP_PROTECTION and run with --protect-heap.
Review URL: http://codereview.chromium.org/56211
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1672
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 2 Apr 2009 13:00:28 +0000 (13:00 +0000)]
Apply Lei Zhang's patch to add easy import of additional environment
variables in our scons setup.
Here is an example of importing an additional environment variable:
export MYVAR='value'
scons importenv="MYVAR"
Review URL: http://codereview.chromium.org/60046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1671
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Thu, 2 Apr 2009 12:23:49 +0000 (12:23 +0000)]
When computing pairwise merges of frame elements, we should allow
constants and copies below the watermark on backward jump targets
(that's the whole point!).
Review URL: http://codereview.chromium.org/60044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1670
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Thu, 2 Apr 2009 08:58:18 +0000 (08:58 +0000)]
Clean up return statements in the code generator by explicitly
counting the reference to the return value and passing it to the
return label. This requires threading it through try/catch and
try/finally. The return value is loaded into eax more lazily than
before.
Also, perform some related refactoring of jump targets.
Review URL: http://codereview.chromium.org/56172
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1669
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 1 Apr 2009 10:41:37 +0000 (10:41 +0000)]
Prepare another push to trunk (version 1.1.6). We pushed an unsafe
compiler optimization which has now been reverted.
Review URL: http://codereview.chromium.org/60011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1667
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 1 Apr 2009 10:35:20 +0000 (10:35 +0000)]
Revert change 1656 which was unsafe until it can be properly fixed.
TBR=whesse@chromium.org
Review URL: http://codereview.chromium.org/60010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1666
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 1 Apr 2009 09:09:05 +0000 (09:09 +0000)]
String.match tests that wasn't included in the implementation change list.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1665
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 1 Apr 2009 07:17:29 +0000 (07:17 +0000)]
Merge r1636 from trunk to bleeding edge.
Changelist http://codereview.chromium.org/56056 was committed directly to trunk by addident.
Review URL: http://codereview.chromium.org/60005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1662
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 1 Apr 2009 06:39:18 +0000 (06:39 +0000)]
Prepare to push version 1.1.5 to trunk. This version contains a
number of bug fixes.
Review URL: http://codereview.chromium.org/60004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1661
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Tue, 31 Mar 2009 16:48:14 +0000 (16:48 +0000)]
The tests pass on the arm hardware of course.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1660
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Tue, 31 Mar 2009 16:43:51 +0000 (16:43 +0000)]
Apparently, the --simulator=arm option is not always used when using
test.py for running the simulator tests. Mark the exception
propagation tests as failing on ARM in general for now. I'll dig into
it again tomorrow morning.
TRB=christian.plesner.hansen@gmail.com
Review URL: http://codereview.chromium.org/56112
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1659
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Tue, 31 Mar 2009 15:23:58 +0000 (15:23 +0000)]
Reland exception propagation fix.
Fix exception propagation problem where undefined was returned instead
of an empty handle in case of an exception. This problem can break
C++ programs that are not interested in catching exceptions and just
want to propagate them out by testing for empty handles.
The issue is that exceptions are not rescheduled if they are
externally caught. Externally caught exceptions have to be
rescheduled if there is a JavaScript frame on the way to the C++ frame
that holds the external handler.
A couple of tests will fail on the ARM simulator because the simulator
has separate stacks for C++ and JavaScript. I have marked the tests
as failing only on the simulator.
Review URL: http://codereview.chromium.org/56105
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1657
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Tue, 31 Mar 2009 15:03:02 +0000 (15:03 +0000)]
Keep the result of postfix increment and decrement in a register.
Review URL: http://codereview.chromium.org/56106
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1656
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00