- 28 Sep, 2009 1 commit
-
-
erik.corry@gmail.com authored
* Rename some instance variables and accessors to fit code style. * Don't overwrite existing thread ID. Review URL: http://codereview.chromium.org/251014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2977 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Sep, 2009 1 commit
-
-
christian.plesner.hansen@gmail.com authored
Review URL: http://codereview.chromium.org/242003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2968 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Sep, 2009 2 commits
-
-
sgjesse@chromium.org authored
Got rid of the debug break on return entry code which did not add anything. It just jumped directly to the debug break on return code. Removed the CodePatcher class on x64 as it was not implemented. Added instruction cache flush to where the return sequence was patched on x64. Added some missing ENABLE_DEBUGGER_SUPPORT #ifdef/#endif. Review URL: http://codereview.chromium.org/193057 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2863 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yurys@chromium.org authored
Support stepping out for recursive functions.Simply flooding JS function from the calling stack frame with one shot breakpoints is not enough to support step out action in all cases since the function on top of the stack may be turn recursive and we may end up flooding itself. To overcome this a pointer to the stack frame where the debugger should be invoked after stepping out is strored in the debugger.Chromium bug:http://code.google.com/p/chromium/issues/detail?id=17967 Review URL: http://codereview.chromium.org/200041 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2850 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Sep, 2009 1 commit
-
-
yurys@chromium.org authored
Support stepping in functions called using CallFunction stub. When Debug::PrepareStep is called to prepare 'step in' and current code target is CallFunction stub, the debugger will find function being called on the expression stack and flood it with one shot breakpoints. BreakLocationIterator changed to treat 'debugger;' statements as a possible break location. Since 'debugger;' statement should always invoke debugger it is hanled in a special way. Related Chromium issue: http://code.google.com/p/chromium/issues/detail?id=17978 Review URL: http://codereview.chromium.org/195015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2830 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 Aug, 2009 1 commit
-
-
lrn@chromium.org authored
Debugger is now fully functional. Fix difference in emitting statement positions to match ia32. Review URL: http://codereview.chromium.org/171107 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2716 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Jul, 2009 1 commit
-
-
yurys@chromium.org authored
Fix an issue with debugger 'step in' when calling function has local variables.Corresponding Chromium bug:http://code.google.com/p/chromium/issues/detail?id=15824 Review URL: http://codereview.chromium.org/149326 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2426 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Jul, 2009 1 commit
-
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/155286 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2421 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 May, 2009 1 commit
-
-
sgjesse@chromium.org authored
Change the handling of the debug break stack guard. The debug break is no longer ignored when hit inside "system" JavaScript. The reason for this is twofold: * Running "system" JavaScript with the debug break flag active leads to slow running code while waiting for the break in non "system" JavaScript (one exception to this it is to try to avoid breaks in the clear mirror cache JavaScript code called when leaving the debugger). * If this happens while processing RegExp running in native code an infinite loop is created as the stack guard handler for RegExp does not move execution forward Fixed a GC bug in the interrupt handling for RegExp running in native code. Added test of debug break while in debug message handler callback and debug break while executing a RegExp. Review URL: http://codereview.chromium.org/115262 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2074 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 May, 2009 2 commits
-
-
mikhail.naganov@gmail.com authored
This issue was raised by Brett Wilson while reviewing my changelist for readability. Craig Silverstein (one of C++ SG maintainers) confirmed that we should declare one namespace per line. Our way of namespaces closing seems not violating style guides (there is no clear agreement on it), so I left it intact. Review URL: http://codereview.chromium.org/115756 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2038 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yurys@chromium.org authored
When message handler is set to NULL and there is no debugger listener the debugger is unloaded immediately unless it's entered, in which case it will be unloaded when last instance of EnterDebugger is destroyed. Without the change the debugger may crash as Debugger::EventActive(v8::Break) called from OnDebugBreak may clear current debugger context. Also when compilation cache was enabled debugger could fail on second attach for the same reason(see AfterCompileMessageWhenMessageHandlerIsReset). BUG=12404 Review URL: http://codereview.chromium.org/115709 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2035 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 May, 2009 1 commit
-
-
sgjesse@chromium.org authored
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
-
- 05 May, 2009 1 commit
-
-
sgjesse@chromium.org authored
Expose the active context where a break event occoured through the debug message handler. Review URL: http://codereview.chromium.org/109013 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1857 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 May, 2009 1 commit
-
-
deanm@chromium.org authored
- Fix some typos / guards that didn't match the filename. - Fix some style inconsistencies. - Add guards to files that were missing them. - Add the directory name to the guard. Review URL: http://codereview.chromium.org/99343 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1845 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Apr, 2009 4 commits
-
-
sgjesse@chromium.org authored
Kept the previous message handler API to avoid breaking clients depending on it. The new message handler API uses a new name ending with 2. Review URL: http://codereview.chromium.org/100158 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1816 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
http://codereview.chromium.org/99122sgjesse@chromium.org authored
TBR=yurys@chromium.org Review URL: http://codereview.chromium.org/100155 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1813 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Review URL: http://codereview.chromium.org/99175 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
The object delivered to the debug message handler contains additional information on the current break handling the messages. Clients which require just JSON message parsing can simply get the JSON using the GetJSON message on the message object to still have the previous behaviour. NewMessageHangler(const v8::Debug::Message& message) { v8::String::Value val(message.GetJSON()); OldMessageHandler(Vector<uint16_t>(const_cast<uint16_t*>(*val), val.length())); } Refactored some of the debugger code to use internal handles instead of API handles. Also changed Object to JSObject is some places. The access to the active context when the break occurred is still not implemented. I will add this in a new CL, as this one is quite big already. Review URL: http://codereview.chromium.org/99122 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1811 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Apr, 2009 1 commit
-
-
sgjesse@chromium.org authored
The debug message thread was introduced to make it possible to have the message handler callback be called from a different thread than the thread running V8 where the debug event occoured, but it never had any practical use, and prevents providing information to the message handler which is only available from the V8 thread. In the future any thread decoupling will have do be done by the embedder. This also removes the queue used for outbound messages. Renamed the class Message to CommandMessage as it is only used for debugger commands from the client. Related message queue classes has also been renamed. Review URL: http://codereview.chromium.org/93118 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1788 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Apr, 2009 1 commit
-
-
pfeldman@chromium.org authored
Review URL: http://codereview.chromium.org/87026 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1773 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Apr, 2009 2 commits
-
-
sgjesse@chromium.org authored
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 authored
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
-
- 20 Apr, 2009 2 commits
-
-
feng@chromium.org authored
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 authored
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
-
- 31 Mar, 2009 1 commit
-
-
sgjesse@chromium.org authored
Add a semaphore for accessing debugger varaibles which can be changed from a different thread. This is mainly the debug message handler which can be set to NULL to disconnect the debugger. Control the unloading of the debugger from the V8 thread. Before the debugger unload was called from the thread setting the debug message handler to NULL. This was not safe as this involves calling into V8. This change handles the unloading of the debugger either when entering a debugger event and the debugger was disconnected while the debugger was not active or when leaving the debugger and the debugger was disconnected while the debugger was active. Add a flag to avoid unloading the debugger if debugger code is used by the application for other purposes than debugging. Added tests for clearing the debug message handler. Review URL: http://codereview.chromium.org/56102 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1648 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 Mar, 2009 3 commits
-
-
sgjesse@chromium.org authored
Removed one space added by Visual Studio. TBR=ager@chromium.org Review URL: http://codereview.chromium.org/55006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1628 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
The message handler function set through the debugger API is normally called in a different thread than the V8 thread where execution is stopped due to debugger event. This change adds an option to the API for specifying that the message handler should be called directly from the V8 thread. For an application like Chrome where thread dispatching is already in place this makes more sense. Add an option to the message handler debugger API to process messages in the thread where V8 is running instead of posting it to a queue for processing on a additional thread. Review URL: http://codereview.chromium.org/42643 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1627 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
christian.plesner.hansen@gmail.com authored
- String traversal test data (now in a zone) - Debug message thread (now joined on exit) - Threading test threads (now joined on exit) - Changed message tests framework to cope with valgrind Also, fixed a bug where we'd try to delete stack-allocated objects when tearing down v8. Good times. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1622 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 Mar, 2009 1 commit
-
-
sgjesse@chromium.org authored
Extend debugger agent protocol with a connect message.Added a name of the embedding application when enabeling the debugger agent.Send a connection message from the debugger agent to the remote debugger when connecting. This message contains the V8 version, the protcol version (currently 1) and the name of the embedding application. Currently this information is just printed raw as received. Review URL: http://codereview.chromium.org/52012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1579 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 Mar, 2009 1 commit
-
-
sgjesse@chromium.org authored
During bind and listen socket errors are now handled. If the listen socket is occoupied the agent will retry its bind operation until success or shutdown. Added orderly shutdown of the debugger agent both with and without a client connected. Review URL: http://codereview.chromium.org/50007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1552 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Mar, 2009 1 commit
-
-
sgjesse@chromium.org authored
Fixed an assertion which did not hold when the debugger was recursively entered. Removed the clearing of the preemption flag in debugger entry as there was no need for it. The handling of preemption by the stack guard takes care of the in debugger situation anyway. Review URL: http://codereview.chromium.org/48004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1520 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Mar, 2009 1 commit
-
-
sgjesse@chromium.org authored
A new stack guard break flag DEBUGCOMMAND has been introduced. This is used to signal debug break due to debugger commands available in the queue for processing. If a stack guard break happens with this flag and not the DEBUGBREAK flag the no debug break event is generated and execution is resumed automatically when all debugger commands in the queue has been processed. This makes it possible to remote debuggers to just add commands to the queue without having to request a break as well. As soon as any JavaScript executes the debugger commands will be processed and the response send to the remote debugger. Currently hide this behind a flag (--debugger-auto-break) as the current command line debugger in Chrome is not designed for this new behaviour, whereas the new Chrome developer tools will use it. Review URL: http://codereview.chromium.org/42173 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1508 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 Mar, 2009 2 commits
-
-
sgjesse@chromium.org authored
TBR=christian.plesner.hansen@gmail.com Review URL: http://codereview.chromium.org/39253 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1438 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
All preemption requests are now ignored while in the debugger. This ensures that no change of V8 thread happenes while in the debugger. The only thing that happens is that a flag is set to indicate that preemption happened. When the debugger is left preemption is requested if it occourred while in the debugger. Moved the debugger related global variables from Top to thread local in Debug. Review URL: http://codereview.chromium.org/39124 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1436 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Mar, 2009 1 commit
-
-
sgjesse@chromium.org authored
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
-
- 19 Feb, 2009 2 commits
-
-
sgjesse@chromium.org authored
TBR=ager@chromium.org Review URL: http://codereview.chromium.org/20493 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1319 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Add the ability to have the host embedding V8 receive a callback in the V8 thread while V8 is processing a debug callback. When V8 is processing a debug callback the thread where V8 is executing is sitting in a tight loop processing debug commands until the continue command has been executed. In some embedding situations it is beneficial to be able to call back into the embedding host from the thread where V8 is sitting. The might have functions which needs to be called to complement the JavaScript debugging. Using the uint16_t array to pass a void* is a temporary hack. Review URL: http://codereview.chromium.org/20491 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1318 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Feb, 2009 2 commits
-
-
sgjesse@chromium.org authored
TBR=ager Review URL: http://codereview.chromium.org/21349 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1270 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Added a number of handle scopes to the debugger code to keep handles local to the function using them. Fixed SetDebugEventListener to actually unregister when passed a NULL pointer. Previously this NULL pointer was wrapped in a Proxy. BUG=1242702 Review URL: http://codereview.chromium.org/21347 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1269 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Feb, 2009 1 commit
-
-
sgjesse@chromium.org authored
Renamed functions related to patching of code with call instructions to match the naming conversion. BUG=1240753 Review URL: http://codereview.chromium.org/20176 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1239 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-