Commit Graph

986 Commits

Author SHA1 Message Date
erik.corry@gmail.com
f78fbf0c56 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
2009-04-22 09:25:41 +00:00
ager@chromium.org
7d4fed590f 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
2009-04-22 07:38:08 +00:00
sgjesse@chromium.org
5b394bf4d1 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
2009-04-21 14:48:54 +00:00
yurys@chromium.org
7fc551ecc3 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
2009-04-21 14:06:48 +00:00
erik.corry@gmail.com
0efd83c916 * 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
2009-04-21 13:42:12 +00:00
christian.plesner.hansen@gmail.com
0d21e7b3b0 review
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1753 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-21 13:28:34 +00:00
christian.plesner.hansen@gmail.com
d26e6dd0b4 force-set
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1751 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-21 13:28:11 +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
sgjesse@chromium.org
b8dc312b25 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
2009-04-21 07:22:06 +00:00
feng@chromium.org
19c95ff39a 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
2009-04-20 17:44:39 +00:00
feng@chromium.org
ea48d53bad 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
2009-04-20 16:36:13 +00:00
sgjesse@chromium.org
f5eb2cbe65 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
2009-04-20 12:15:27 +00:00
iposva@chromium.org
8775634598 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
2009-04-17 21:04:34 +00:00
erik.corry@gmail.com
413bd7a91c 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
2009-04-17 13:57:15 +00:00
erik.corry@gmail.com
8f911a2f5d * 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
2009-04-17 13:27:36 +00:00
ager@chromium.org
59d4539f38 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
2009-04-17 09:17:04 +00:00
iposva@chromium.org
82ac3f3031 - 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
2009-04-17 00:57:21 +00:00
iposva@chromium.org
7dece760ad - 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
2009-04-17 00:56:52 +00:00
iposva@chromium.org
e05c2e3693 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
2009-04-16 21:01:05 +00:00
mikhail.naganov@gmail.com
4ff39b7a7d 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
2009-04-16 17:30:27 +00:00
mikhail.naganov@gmail.com
7aacf00933 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
2009-04-16 16:34:24 +00:00
ager@chromium.org
4cfdb57104 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
2009-04-16 12:58:14 +00:00
erik.corry@gmail.com
4db9cb3a7f 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
2009-04-16 12:12:47 +00:00
ager@chromium.org
72294ca735 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
2009-04-16 11:30:55 +00:00
kmillikin@chromium.org
5d8a34e0c8 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
2009-04-16 11:30:00 +00:00
erik.corry@gmail.com
4d18959446 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
2009-04-16 09:30:23 +00:00
yurys@chromium.org
b92740bf44 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
2009-04-16 06:03:17 +00:00
sgjesse@chromium.org
9f7ccacf86 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
2009-04-15 19:09:38 +00:00
kasperl@chromium.org
e97c387ec8 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
2009-04-15 13:16:51 +00:00
kmillikin@chromium.org
22896c8304 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
2009-04-15 13:14:23 +00:00
ager@chromium.org
0de8a28ea7 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
2009-04-15 10:47:23 +00:00
kmillikin@chromium.org
2f0013ebbf 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
2009-04-15 07:41:04 +00:00
erik.corry@gmail.com
93132e1b5d 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
2009-04-15 07:15:41 +00:00
kasperl@chromium.org
3b7f631e86 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
2009-04-15 06:28:07 +00:00
yurys@chromium.org
a6e3d992ba 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
2009-04-15 01:17:00 +00:00
sgjesse@chromium.org
be7f110adf 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
2009-04-14 14:58:23 +00:00
sgjesse@chromium.org
8b4cfc3768 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
2009-04-14 14:56:03 +00:00
sgjesse@chromium.org
0668a2a355 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
2009-04-14 14:54:41 +00:00
kasperl@chromium.org
66f7a367f7 Fix build issue on Mac.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1703 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-04-14 14:01:00 +00:00
kasperl@chromium.org
383821854b 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
2009-04-14 13:29:23 +00:00
kasperl@chromium.org
5decd39b51 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
2009-04-14 12:10:32 +00:00
kasperl@chromium.org
bca37da6af 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
2009-04-14 12:00:56 +00:00
kasperl@chromium.org
850d5ed380 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
2009-04-14 09:58:42 +00:00
mikhail.naganov@gmail.com
c77875113c 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
2009-04-14 01:33:15 +00:00
mikhail.naganov@gmail.com
3c2a7bdf21 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
2009-04-14 00:51:59 +00:00
davemoore@chromium.org
69bdfe255b 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
2009-04-14 00:30:44 +00:00
mikhail.naganov@gmail.com
0eb4dea12d 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
2009-04-13 23:12:04 +00:00
mikhail.naganov@gmail.com
ce6d2916b8 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
2009-04-13 14:42:01 +00:00
kasperl@chromium.org
3b80ddac19 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
2009-04-11 09:01:45 +00:00
iposva@chromium.org
8ce3aae482 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
2009-04-09 23:04:00 +00:00