sgjesse@chromium.org
1f7a7d9c58
Change handling of debugger unloading.
...
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
2009-03-31 11:24:59 +00:00
kmillikin@chromium.org
87d8bcf7ee
Mark a bunch of places where we enter or leave V8 through the API.
...
Indiscriminately mark every place with EnsureInitialized, ON_BAILOUT,
or IsDeadCheck (even if they cannot write to V8's heap). Also mark
callbacks, and one other place (Function::SetName) hit in Chromium.
Review URL: http://codereview.chromium.org/57049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1647 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-31 09:07:57 +00:00
mikhail.naganov@gmail.com
e88d1e475e
Fixed numerous issues that were causing errors in profiler log processing
...
on a real web application loaded in the test shell.
Also implemented output of JSON-encoded call stacks for profiler
prototype.
Review URL: http://codereview.chromium.org/56064
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1646 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-31 09:06:37 +00:00
kmillikin@chromium.org
d0b7f84ec0
Use the AST optimizer on the bodies of function literals. Notify the
...
oprofile agent when we compile the body of a function literal.
Review URL: http://codereview.chromium.org/57048
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1645 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-31 09:02:40 +00:00
erik.corry@gmail.com
b9c5232c1d
Add os.chdir and os.setenv to d8. Move system() to os.system().
...
Protect os.chdir, os.setenv, os.system against string conversion
failures. Add comment about the issue to include/v8.h.
Review URL: http://codereview.chromium.org/57005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1644 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-31 06:51:25 +00:00
kmillikin@chromium.org
d3ee29a7f6
Add just enough state changes from EXTERNAL (outside V8) to OTHER
...
(generic state inside V8) in the API to allow the V8 shell to run all
the mjsunit tests with heap protection on.
These state changes are only taken when built with
ENABLE_HEAP_PROTECTION. The two states OTHER and EXTERNAL are treated
the same because we will not properly reenter OTHER through the API.
Review URL: http://codereview.chromium.org/56060
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1643 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-30 13:32:28 +00:00
whesse@chromium.org
0f9253b537
Initialize list of frame elements to proper size.
...
Review URL: http://codereview.chromium.org/57006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1641 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-30 13:03:32 +00:00
ager@chromium.org
ab845fd829
Prepare to push version 1.1.4 to trunk.
...
Review URL: http://codereview.chromium.org/56059
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1640 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-30 12:58:45 +00:00
kmillikin@chromium.org
82b9f91692
Reenable interactive use of the shell sample.
...
Review URL: http://codereview.chromium.org/57008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1639 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-30 12:13:08 +00:00
yurys@chromium.org
9a9194584c
When devtools window is opening it requests all scripts parsed by the moment. Currently 'scripts' response contains only first 80 chars of the scripts sources. I added an argument to the protocol that allows to include full source text into the response.
...
Review URL: http://codereview.chromium.org/55011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1638 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-30 11:50:17 +00:00
sgjesse@chromium.org
d97a72c606
Correct debugger active check.
...
With r1627 (http://code.google.com/p/v8/source/detail?r=1627 ) the use of the debugger message thread was made optional. However the check for active debugger still included a check for the message thread. This is fixed by this change.
Review URL: http://codereview.chromium.org/58001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1637 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-30 08:16:14 +00:00
whesse@chromium.org
952179e323
Formatting changes and some slight improvements to revision 1621, issue 42006.
...
Review URL: http://codereview.chromium.org/51007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1634 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-27 14:35:24 +00:00
erik.corry@gmail.com
a038698ead
Add a system() call to the d8 shell (Unix only).
...
Review URL: http://codereview.chromium.org/42641
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1633 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-27 13:50:26 +00:00
kmillikin@chromium.org
99ba650f71
Mark some of the places we leave V8 via callbacks as transitions to
...
state EXTERNAL rather than OTHER.
Review URL: http://codereview.chromium.org/55007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1632 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-27 12:32:28 +00:00
mikhail.naganov@gmail.com
66d40652da
Fixed lint errors in test-debug. Sorry for that.
...
Review URL: http://codereview.chromium.org/56004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1631 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-27 11:56:30 +00:00
mikhail.naganov@gmail.com
d3c4a658f9
Fix issue 289: check external source strings validity in Runtime_DebugGetLoadedScripts
...
Review URL: http://codereview.chromium.org/56002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1630 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-27 11:22:52 +00:00
kmillikin@chromium.org
b8af68b03f
Make VirtualFrame::CallStub on IA32 responsible for moving arguments
...
into the appropriate registers for the stub call. Since stubs that
take arguments in registers do not (currently) take any arguments on
the stack, the unused generality has been removed (it's easy to put
back in later).
Review URL: http://codereview.chromium.org/55003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1629 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-27 10:29:37 +00:00
sgjesse@chromium.org
6feb0d9a8f
Fixed lint.
...
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
2009-03-27 10:17:50 +00:00
sgjesse@chromium.org
8b7a288e48
Debugger message handler can be called from V8 thread.
...
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
2009-03-27 09:56:53 +00:00
sgjesse@chromium.org
8e34544bd1
Moved stdio and string functions to POSIX platform file.
...
Review URL: http://codereview.chromium.org/45063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1626 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-27 08:38:02 +00:00
christian.plesner.hansen@gmail.com
1a823e8216
Fixed second problem with special commands.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1625 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-27 03:27:04 +00:00
christian.plesner.hansen@gmail.com
358aaa135f
Fixed special command problem I just introduced. Guess I should have
...
waited for review eh.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1624 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-27 03:22:06 +00:00
christian.plesner.hansen@gmail.com
76e725d777
Added url decoding of special commands.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1623 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-27 03:13:46 +00:00
christian.plesner.hansen@gmail.com
9142c42df2
Fixed a bunch of memory leaks in tests, including:
...
- 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
2009-03-27 00:24:49 +00:00
whesse@chromium.org
d970e04e04
Optimize binary operations in which one or both operands is a constant smi.
...
Review URL: http://codereview.chromium.org/42006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1621 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-26 13:14:10 +00:00
kmillikin@chromium.org
f8bf152c89
Change the arguments access stub to take both arguments in registers
...
rathern than one in a register and one on the stack.
Fix a stack height bug in the case that the arguments access stub hit
its slow case.
Review URL: http://codereview.chromium.org/49037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1620 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-26 13:02:00 +00:00
kmillikin@chromium.org
4dceb3c87f
In the IA32 code genrator, handle call ICs and constructor calls the
...
same as load and store ICs. Eliminate the general function used to
call any IC.
Review URL: http://codereview.chromium.org/42638
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1619 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-26 13:00:03 +00:00
whesse@chromium.org
7d23b48a02
Inline part of RawSyncElementAt, split the rest into two
...
functions. Improve PrepareForCall, SyncRange, and SyncElementAt.
Review URL: http://codereview.chromium.org/49029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1618 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-26 10:25:49 +00:00
sgjesse@chromium.org
dedd811806
Set svn:eol-style for platform-posix.cc to native.
...
The svn:eol-style property for platform-posix.cc is now set to native. This should get rid of the CR characters in the file added by comitting from Windows and make file lint again.
TBR=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/42639
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1617 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-26 09:43:14 +00:00
sgjesse@chromium.org
0e5999efae
Move time related functions to POSIX platform file.
...
The functions getrusage, gettimeofday and localtime are in POSIX.1-2001.
Review URL: http://codereview.chromium.org/53045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1616 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-26 09:28:27 +00:00
iposva@chromium.org
dc0e1e0887
- Add missing files to the Xcode project.
...
TBR=mark@chromium.org
Review URL: http://codereview.chromium.org/53087
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1615 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-26 05:43:54 +00:00
feng@chromium.org
0a5a8e8854
Fix and cleanup ARM port:
...
1) removed unused function, PcStoreOffset;
2) use macro instruction, Jump, when branching from JS code to C code.
This CL replaces http://codereview.chromium.org/53039/show , per our discussion.
Review URL: http://codereview.chromium.org/42610
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1614 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-25 18:23:04 +00:00
kmillikin@chromium.org
03419c8369
Simplify the way the code generator handles calls to IC stubs. Before
...
we dispatched on the IC stub kind in a generic CallCodeObject
function. Now, we have special functions for the load and store IC
stubs.
We also (for the load and store ICs) handle moving register arguments
into place only after the stack is prepared for the call. This
replaces some memory-to-memory moves (for copies whose backing store
is occupied by a register needed for the arguments) with
memory-to-register moves.
Review URL: http://codereview.chromium.org/42602
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1613 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-25 14:08:41 +00:00
mikhail.naganov@gmail.com
49af176623
Add another check in profiler's stack iterator to ensure stability.
...
I made a test run of benchmarks and found another weak point. After
fixing it, benchmarks are able to run for a 100 times in a row
successfully in both builds.
Review URL: http://codereview.chromium.org/53050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1612 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-25 14:07:52 +00:00
mikhail.naganov@gmail.com
9f5de7d9da
Added more checks to SafeStackFrameIterator to prevent crashes when profiling.
...
Tested by profiling 3d-morph.js a 100 times both in debug and release builds.
Review URL: http://codereview.chromium.org/42600
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1611 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-25 12:59:25 +00:00
lrn@chromium.org
eb3bf2083c
Move reference to variable that isn't used on ARM.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1610 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-25 12:37:49 +00:00
kasperl@chromium.org
fc0af92f60
Introduce splaytree.KeyNotFoundError and use it for reporting
...
issues when removing non-existing nodes from a SplayTree.
Review URL: http://codereview.chromium.org/42599
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1609 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-25 12:14:13 +00:00
lrn@chromium.org
bd8816efb0
Moved String.prototype.match implementation to C++.
...
Some extra runtime assertions added.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1608 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-25 12:14:10 +00:00
kmillikin@chromium.org
7c35a5d820
The code generator doesn't need to put the argument count in eax for
...
call ICs. Refactor CallRuntime on ARM to match the structure of IA32.
Update some comments.
Review URL: http://codereview.chromium.org/42598
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1607 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-25 11:05:36 +00:00
kasperl@chromium.org
4d8ea7143f
Make sure to generate a CodeCreateEvent for the CPU features
...
probe code object, and really raise an exception if SplayTree.Remove
is called with a key that cannot be found.
Review URL: http://codereview.chromium.org/42597
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1606 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-25 10:29:22 +00:00
whesse@chromium.org
36853c83d1
Remove register counts from VirtualFrame, use register indices instead.
...
Review URL: http://codereview.chromium.org/42565
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1605 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-25 10:00:52 +00:00
mikhail.naganov@gmail.com
68d9782c01
Use OpenThread instead of DuplicateHandle in Win32 profiler implementation.
...
OpenThread doesn't fail in Chrome sandbox, while DuplicateHandle does.
Review URL: http://codereview.chromium.org/49028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1604 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-25 09:35:11 +00:00
kasperl@chromium.org
898297b0b7
Preparing push of version 1.1.3 to trunk.
...
Review URL: http://codereview.chromium.org/53012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1602 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-24 14:42:35 +00:00
erik.corry@gmail.com
62a7f913a2
Strcmp thinko and SConstruct improvement for d8 on Android.
...
Review URL: http://codereview.chromium.org/42560
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1601 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-24 14:29:49 +00:00
kmillikin@chromium.org
f38dc917b0
Make the "has function literal" default value for loops conservative.
...
It defaults to true so that if the analysis is not run we get a safe
analysis result.
Review URL: http://codereview.chromium.org/42562
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1600 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-24 14:25:22 +00:00
erik.corry@gmail.com
944258f979
Remove stl dependencies from d8.
...
Review URL: http://codereview.chromium.org/42559
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1599 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-24 13:33:54 +00:00
kmillikin@chromium.org
89a43b8f18
Fix ARM simulator. Unless building for the actual ARM hardware,
...
inline assembler in C++ code should be IA32 assembly, not ARM.
TBR=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/53011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1597 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-24 13:21:34 +00:00
whesse@chromium.org
1d5f94c71e
Fix ARM build for changes to VirtualFrame
...
Review URL: http://codereview.chromium.org/53009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1596 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-24 13:11:34 +00:00
kmillikin@chromium.org
bc3fb11881
Add basic infrastructure for protecting V8's heap when leaving the VM
...
and unprotecting it when (re)entering. The functionality is enabled
by the flag --protect-heap and requires V8 to be built with
ENABLE_HEAP_PROTECTION and ENABLE_LOGGING_AND_PROFILING defined.
Implemented on Linux and Windows but not yet for other platforms.
Review URL: http://codereview.chromium.org/53004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1595 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-24 12:47:53 +00:00
kmillikin@chromium.org
1ba34bf86b
Fix issue 286. Ensure frame elements are invalidated by
...
InvalidateFrameSlotAt.
Review URL: http://codereview.chromium.org/53008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1594 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-03-24 12:42:28 +00:00