Commit Graph

379 Commits

Author SHA1 Message Date
sgjesse@chromium.org
2ca478f9fa The method yield is now available in the context created for threads in the developer shell.
Added options --preemption/--no-preemption and --preemption-interval to control preemption in the developer shell when running several threads. Default is still to enable preemption with interval 1ms if threads are created.
Review URL: http://codereview.chromium.org/48001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1518 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-16 10:08:59 +00:00
sgjesse@chromium.org
747e20c449 Mark the empty script object, the script for the empty function and the D8 utility script as native scripts.
This is mainly to avoid these scripts showing up in the debugger when showing normal scripts.

Removed the check for the empty script in the debugger function returning loaded scripts as this check only filtered out the empty script from the debugger context and not empty scripts in all other contexts. Also this filter did not take the script for the empty function into account.
Review URL: http://codereview.chromium.org/39322

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1443 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-09 08:44:59 +00:00
sgjesse@chromium.org
6ef7ef657e Add remote debugging front end to developer shell.
D8 now supports demote debuggign of a V8 instance with the debugger agent enabled. Running D8 with the option --remote-debugger will try to connect to a V8 debugger agent and process the debugging protocol. The command line UI is the same as for the D8 in-process debugger as the same code is used for processing the debugger JSON. 
Review URL: http://codereview.chromium.org/40011

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1411 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-04 09:42:51 +00:00
sgjesse@chromium.org
92aa4ab36c Add V8 debugger agent.
The debugger agent listens on a TCP/IP port for a remote debugger connection. When such a connection is established the debuger JSON protocol is communicated between the agent the the remote debugger. The messages containing the JSON protocol has a RFC-822 like header with a Content-Length field and with the body containing the JSON in UTF-8 encoding.

The D8 shell has option --debugger-agent to start the debugger agent.
Review URL: http://codereview.chromium.org/27355

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1405 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-03 12:23:45 +00:00
sgjesse@chromium.org
3d8a5f1a75 Unify the handling of the event and response JSON in developer shell debugger.
Formatting of both debugger events and debugger responses are now unified into one function. This is mainly in preparation for the upcomming remote debugging support where having it a one function simplify things.
Review URL: http://codereview.chromium.org/27330

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1399 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-02 19:02:27 +00:00
sgjesse@chromium.org
20a9e9b013 Change the D8 JavaScript debugger to fully use the JSON protocol.
The D8 debugger frontend now only processes JSON messages. Before the debugger events was passed as objects.

Changed the debugger events JSON generation to use the same serailizer as the responses to requests. This provides correct serialization of mirror objects in debugger events. Renamed ResponsePacket to ProtocolMessage as it is not only used for responses.
Review URL: http://codereview.chromium.org/27202

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1374 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-26 11:55:35 +00:00
sgjesse@chromium.org
563287b02f Introduced a platform independent version of strchr, as the return value is const on Windows.
This fixes building of D8 on Windows.

Mac OS and FreeBSD changes have not been tested.
Review URL: http://codereview.chromium.org/20534

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1326 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-20 11:31:44 +00:00
patrick@chromium.org
1c0ebb7e1c Update d8 preemption mode to support multiple files per line. Each line is run
in its own context.  Files are separated by spaces, and will be run in order,
left to right.

Also add support for comment lines, which start with '#'.
Review URL: http://codereview.chromium.org/20319

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1306 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-19 04:26:04 +00:00
ager@chromium.org
05a56bf1ea Add explicit null checks after string conversions in the shells.
This fixes issue 224.
Review URL: http://codereview.chromium.org/20081

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1233 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-05 13:53:41 +00:00
sgjesse@chromium.org
d131ecf3dd Changed the debugger API to allow only one debug event listener to be registered. The public API now only has SetDebugEventListener instead of AddDebugEventListener and RemoveDebugEventListener.
Moved the registrered debug event listener from the context to a global handle in the Debugger class. Storing it in the context did not make much sense.

Changed a lot of tests to handle the API change.

BUG=1242707
Review URL: http://codereview.chromium.org/19753

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1212 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-02-03 07:59:12 +00:00
iposva@chromium.org
0d11b5885a Fix white space issues.
Review URL: http://codereview.chromium.org/18806

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1163 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-01-26 18:23:01 +00:00
iposva@chromium.org
ff3433d0fd - Preserve bootstrapper state across thread switches (fixes issue 143).
- Make sure stack guards are properly setup even when preemption is active.
- Fix missing v8::Locker and v8::Unlocker use in d8.cc.
- Threads forked in d8 do get their own context setup.

Review URL: http://codereview.chromium.org/18581

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1161 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-01-26 18:09:46 +00:00
christian.plesner.hansen@gmail.com
ad3fdf168b Added -p option to d8 that runs a list of source files in a separate
thread with preemption enabled.


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1110 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-01-20 14:14:22 +00:00
sgjesse@chromium.org
2458742734 Fixed double printing of exceptions when enabeling the debugger.
Detect the response to the continue command.
Review URL: http://codereview.chromium.org/17071

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1025 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-01-06 09:43:18 +00:00
ager@chromium.org
3f383346aa Inline array loads in loops directly in the code instead of always
calling a stub.  The map to check against is unknown when generating
the code, so we patch the map check in the IC initialization code.

Loop nesting is currently not tracked on ARM.  I'll file feature
request bug reports for implementing this on ARM and add the number to
the TODOs before I commit.
Review URL: http://codereview.chromium.org/16409

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1015 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-22 12:56:32 +00:00
sgjesse@chromium.org
b372ecdf95 Added option --shell to D8 and updated the usage text.
Review URL: http://codereview.chromium.org/14192

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@998 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-18 10:39:11 +00:00
sgjesse@chromium.org
e0c7b0f366 Added command line debugger to D8 shell.
break location [condition]
  clear <breakpoint #>
  backtrace [from frame #] [to frame #]]
  frame <frame #>
  step [in | next | out| min [step count]]
  print <expression>
  source [from line [num lines]]
  scripts
  continue
  help

It is enabled through the option --debugger which is on by default.
Review URL: http://codereview.chromium.org/14509

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@996 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-18 10:06:49 +00:00
sgjesse@chromium.org
07e14578c0 Fixed the caching of counters. This also fixes the --dump-counters which reads the counters from the cache when dumping.
Review URL: http://codereview.chromium.org/13171

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@923 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-05 10:40:13 +00:00
christian.plesner.hansen@gmail.com
dc2077465f Added support in d8 for memory-mapped counters and added the python
stats-viewer tool.


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@904 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-03 09:35:21 +00:00
ager@chromium.org
2c2ae533ec Remove a couple of instances of wchar_t after counters change.
Review URL: http://codereview.chromium.org/12820

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@872 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-01 07:56:57 +00:00
ager@chromium.org
88d4740d89 Commiting Evan's change to use char instead of wchar_t for counter names.
Code review URL:

  http://codereview.chromium.org/13011/show


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@871 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-12-01 07:40:43 +00:00
ager@chromium.org
f15d07afe2 Update d8 so that it can be used to run the mjsunit tests.
Set the security token on the debugger context after all contexts have
been created in d8.  This ensures that all d8 contexts (including the
debugger context) can access eachother.

Copy extra command-line handling from the shell sample to d8.

Review URL: http://codereview.chromium.org/12431

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@836 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-25 12:58:48 +00:00
iposva@chromium.org
8831e4ab8f - Make sure to not mix allocators by using the correct StrDup function.
- Include needed system header.
Review URL: http://codereview.chromium.org/11547

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-20 23:53:18 +00:00
lrn@chromium.org
a03b447bd0 Arguments on the command line are made available as a global "arguments" array.
Fix for non-empty assertion in debug mode (string representation of empty arguments is a single space, not an empty string).


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@733 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-11 14:16:24 +00:00
kasperl@chromium.org
b14a2e4cb7 Revert r724 (breaks debug mode tests).
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@726 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-10 17:27:49 +00:00
lrn@chromium.org
2889b1ea86 Flag passes rest of command line to the shell/scripts being run.
Arguments on the command line are made available as a global "arguments" array.


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@724 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-10 14:27:08 +00:00
whessev8
a6554f8785 Adds a --help option and usage message listing all flags to V8.
Review URL: http://codereview.chromium.org/9420

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@702 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-11-06 10:43:15 +00:00
christian.plesner.hansen@gmail.com
85251f756c - Changed regexp logging to include the string being matched and to
escape commas.
- Fixed issue with block-comparing unaligned strings on arm.
- Added short documentation to one of the Persistent constructors.


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@554 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-22 12:00:19 +00:00
christian.plesner.hansen@gmail.com
1e52e36a8c Added development shell (d8) including readline support, counters and
completion.


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@533 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2008-10-21 09:12:27 +00:00