dcarney@chromium.org
ce687e4bed
thread isolate for DebugMessage
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23904012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16621 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-10 14:26:07 +00:00
prybin@chromium.org
48cae75df8
Debug: parameterize 'step over' action with a frame where the step must be performed
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/23533015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16581 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-08 19:05:29 +00:00
dcarney@chromium.org
d208d048ac
remove most Isolate::Current asserts
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23493019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16552 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-05 11:27:22 +00:00
dcarney@chromium.org
0157c9f9e1
remove Isolate::Current from most files starting with 'd' and 'e'
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23606012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16490 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-03 06:59:01 +00:00
bmeurer@chromium.org
fead0d0600
Cleanup Semaphore class.
...
Drop the previous Semaphore class from platform files.
Add new Semaphore class using the new TimeDelta class for
the WaitFor() operation. Consistently assert correct behaviour
for the different implementations.
Improve test coverage of the Semaphore class.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/23748003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16473 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-02 12:26:06 +00:00
bmeurer@chromium.org
e76482f2da
Cleanup Mutex and related classes.
...
Drop the previous Mutex and ScopedLock classes from platform files.
Add new Mutex, RecursiveMutex and LockGuard classes, which are
designed after their C++11 counterparts, so that at some point
we can simply drop our custom code and switch to the C++11
classes. We distinguish regular and recursive mutexes, as the
latter don't work well with condition variables, which will be
introduced by a followup CL.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/23625003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16416 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-29 09:58:30 +00:00
bmeurer@chromium.org
e9fcf8fc98
Revert the latest set of platform changes.
...
Revert "Fix NaCl build."
Revert "Revert target arch detection."
Revert "Fix typo."
Revert "Simplify implementation of Mutex."
Revert "Fix for older clang releases that lack __has_extension."
Revert "Reland initial bits of "Implement correct OS and CC detection.""
TBR=danno@chromium.org ,svenpanne@chromium.org
Review URL: https://codereview.chromium.org/21095008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15976 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-31 07:51:46 +00:00
bmeurer@chromium.org
64bfd42a4c
Simplify implementation of Mutex.
...
Also moves Mutex to its own file mutex.{cc,h}.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/21087012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15964 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-30 17:12:49 +00:00
prybin@chromium.org
488da00542
Debug: support breakpoints set in the middle of statement (try #2 after rollback)
...
Review URL: https://codereview.chromium.org/18349004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15420 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-01 13:44:10 +00:00
prybin@chromium.org
fe22b45965
Revert "Debug: support breakpoints set in the middle of statement"
...
Review URL: https://codereview.chromium.org/18326007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15418 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-01 13:05:21 +00:00
prybin@chromium.org
f997bacb16
Debug: support breakpoints set in the middle of statement
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/16093040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15416 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-01 12:54:13 +00:00
prybin@chromium.org
cecbe44e42
Provide list of step-in source positions in JS Debug API
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/15960016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15322 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-25 13:42:44 +00:00
dcarney@chromium.org
595d0ea8b0
remove old MakeWeak
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/16160010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14911 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-03 08:17:04 +00:00
danno@chromium.org
d728493929
Allow setting debugger breakpoints on CompareNilICs
...
BUG=v8:2660
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/14106011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14487 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-30 07:56:09 +00:00
peter.rybin@gmail.com
f4374c0989
Fix isolate getter in DebugAgent
...
Review URL: https://codereview.chromium.org/12678015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14036 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-21 16:12:50 +00:00
svenpanne@chromium.org
71a26c928a
Make the Isolate parameter mandatory for internal HandleScopes.
...
Improved Frames and their iterators on the way, too.
BUG=v8:2487
Review URL: https://codereview.chromium.org/12254007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13674 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-15 09:27:10 +00:00
svenpanne@chromium.org
52d10a68cb
Add Isolate parameter to Persistent class.
...
BUG=v8:2487
Review URL: https://codereview.chromium.org/12033011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13501 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-25 08:31:46 +00:00
yangguo@chromium.org
77f3556504
Check for FLAG_enable_liveedit when using Live Edit.
...
R=peter.rybin@gmail.com
BUG=
Review URL: https://chromiumcodereview.appspot.com/12041008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13457 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-21 17:06:30 +00:00
yangguo@chromium.org
cb72bf5735
Fix debugger's eval when close to stack overflow.
...
R=verwaest@chromium.org
BUG=v8:2318
Review URL: https://chromiumcodereview.appspot.com/10914290
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12518 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-09-14 13:40:32 +00:00
yangguo@chromium.org
bf229e93eb
Enable/disable LiveEdit using the (C++) debug API.
...
BUG=
Review URL: https://chromiumcodereview.appspot.com/10875072
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12472 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-09-10 09:24:17 +00:00
mstarzinger@chromium.org
74aa15bfa0
Fix FindSharedFunctionInfoInScript to not optimize.
...
This prevents a corner case in FindSharedFunctionInfoInScript that would cause
functions to be optimized because an intermittent GC would clear the flag
indicating whether breakpoints are present. Above method was also moved into the
Debug class because it is only used by the debugger.
R=verwaest@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10914065
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12428 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-09-03 14:23:00 +00:00
yangguo@chromium.org
b4cb3e28ca
Fix Debug::Break crash.
...
BUG=131642
TEST=test-debug/Regress131642
Review URL: https://chromiumcodereview.appspot.com/10698123
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12019 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-09 15:18:08 +00:00
yangguo@chromium.org
a2cfa9d3df
Put additional information onto the stack when crashing in Debug::Break.
...
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10698116
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11999 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-06 09:34:59 +00:00
yangguo@chromium.org
7a201f599b
Put even more debug information on stack when aborting.
...
R=jkummerow@chromium.org
BUG=131642
TEST=
Review URL: https://chromiumcodereview.appspot.com/10698048
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11954 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-29 15:11:16 +00:00
peter.rybin@gmail.com
83973a0a2e
Correctly support several consecutive stack modifications.
...
Review URL: https://chromiumcodereview.appspot.com/10637003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11914 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-22 20:50:03 +00:00
yangguo@chromium.org
16c775ea81
Actually put debug information on stack when aborting.
...
R=ulan@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10627015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11902 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-22 09:36:39 +00:00
mstarzinger@chromium.org
a760b82cab
Enable lazy compilation for non-trivial outer contexts.
...
This changes the compiler to be more aggressive about lazy compilation
of closures with non-trivial outer context. Compilation can only be
triggered with a valid outer context now. One exception is the debugger,
which can request compilation of arbitrary shared code, but it ensures
to trigger compilation only at points where no context is needed.
This relands r11782, r11783, r11790 and a minor fix.
R=ulan@chromium.org
TEST=mjsunit/debug-script-breakpoints-nested
Review URL: https://chromiumcodereview.appspot.com/10543141
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11866 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-19 14:29:48 +00:00
mstarzinger@chromium.org
9edaa1536b
Revert r11782, r11783 and r11790 due to Webkit failures.
...
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10536142
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11796 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-13 11:26:34 +00:00
mstarzinger@chromium.org
19ece2bec8
Enable lazy compilation for non-trivial outer contexts.
...
This changes the compiler to be more aggressive about lazy compilation
of closures with non-trivial outer context. Compilation can only be
triggered with a valid outer context now. One exception is the debugger,
which can request compilation of arbitrary shared code, but it ensures
to trigger compilation only at points where no context is needed.
R=ulan@chromium.org
TEST=mjsunit/debug-script-breakpoints-nested
Review URL: https://chromiumcodereview.appspot.com/10538102
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11782 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-12 15:57:50 +00:00
yangguo@chromium.org
05c195bd96
Intercept a crash, put debug information onto the stack and then abort gracefully.
...
BUG=125128
TEST=
Review URL: https://chromiumcodereview.appspot.com/10375009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11516 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-04 13:20:41 +00:00
peter.rybin@gmail.com
1719a1499a
Fix issue 825 (LiveEdit vs. function with no locals) in core and for ia32.
...
Review URL: https://chromiumcodereview.appspot.com/10263002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11502 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-03 17:31:34 +00:00
yangguo@chromium.org
f516037a6f
Enable stepping into callback passed to builtins (e.g. Array.forEach).
...
BUG=109564
TEST=
Review URL: https://chromiumcodereview.appspot.com/10078014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11399 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-20 11:06:12 +00:00
pfeldman@chromium.org
26aaa3b005
Debugger: naive implementation of "step into Function.prototype.bind".
...
Review URL: https://chromiumcodereview.appspot.com/9705018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11058 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-15 14:17:22 +00:00
mstarzinger@chromium.org
74feaa6c3d
Fix and adapt debugger for new call target caches.
...
R=yangguo@chromium.org
TEST=mjsunit/debug-stepout-scope
Review URL: https://chromiumcodereview.appspot.com/9297019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10540 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-27 16:09:20 +00:00
erik.corry@gmail.com
b3e0761e38
Cosmetic changes ("set up" is a verb, "setup" is a noun).
...
Review URL: http://codereview.chromium.org/9139051
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10399 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-13 13:09:52 +00:00
erik.corry@gmail.com
6178a8d42c
Add seed to hash of numeric keyed properties. This is a commit of http://codereview.chromium.org/9148006/ for Fedor Indutny.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10366 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-10 12:58:41 +00:00
rossberg@chromium.org
f936aac43e
Make _CallFunction proxy-aware.
...
Change calling convention for CallFunction stub.
Some fixes regarding strict mode call traps.
R=kmillikin@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8318014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9916 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-11-08 14:39:37 +00:00
sgjesse@chromium.org
a58c963c67
Reapply "Support for precise stepping in functions compiled before debugging was started (step 2)"
...
This is reapplying r9501 with this single change which seemed to be causing most (all) of the failures for r9501.
--- a/src/debug.cc
+++ b/src/debug.cc
@@ -2230,6 +2230,7 @@ Debugger::Debugger(Isolate* isolate)
compiling_natives_(false),
is_loading_debugger_(false),
never_unload_debugger_(false),
+ force_debugger_active_(true),
message_handler_(NULL),
debugger_unload_pending_(false),
host_dispatch_handler_(NULL),
R=kmillikin@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org//8337009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9684 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-18 13:40:33 +00:00
kmillikin@chromium.org
1f12cc4099
Simplify calling generated code from the runtime.
...
Instead of expecting Object** arrays at the outermost level, expect
Handle<Object> arrays and reinterpret_cast them only just before invoking
the generated code.
R=rossberg@chromium.org ,fschneider@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8133020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9537 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-06 09:31:38 +00:00
kmillikin@chromium.org
ceee9d535a
Remove #include "isolate-inl.h" from v8.h.
...
Include it only in the .cc files where it's needed.
R=fschneider@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8117001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9506 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-03 11:13:20 +00:00
sgjesse@chromium.org
08a85de703
Revert "Support for precise stepping in functions compiled before debugging was started (step 2)"
...
TBR=kmillikin@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org//8101011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9502 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-01 08:47:12 +00:00
sgjesse@chromium.org
b2ebc91f5c
Reapply "Support for precise stepping in functions compiled before debugging was started (step 2)"
...
This is to get a clean run in the buildbot.
TBR=kmillikin@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org//8098020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9501 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-01 05:39:14 +00:00
sgjesse@chromium.org
083275715a
Revert "Support for precise stepping in functions compiled before debugging was started (step 2)"
...
This reverts commits r9499, r9497 and r9489.
Then changed caused a number of failures.
TBR=kmillikin@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org//8086020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9500 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-30 13:27:38 +00:00
sgjesse@chromium.org
de7b222e36
Support for precise stepping in functions compiled before debugging was started (step 2)
...
This change will ensure that full code with debug break slots is compiled and activated for all functions which already have activation frames.
This additional handling is only for functions which have activations on the stack, and that activation is of the full code compiled without debug break slots. In that case the full code is recompiled with debug break slots. It is ensured that the full code is compiled generating the exact same instructions - except for the additional debug break slots - as before. The return address on the stack is then patched to continue execution in the new code.
Also fixed SortedListBSearch to actually use the passed comparision function.
R=svenpanne@chromium.org , kmillikin@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org//8050010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9489 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-30 08:39:56 +00:00
yangguo@chromium.org
9ca9cdfbf6
Debugger: fix stepping next with trycatch recursion
...
Added depth check to StepNextContinue. Do step out and queue actual StepNext if check failed.
R=yangguo@chromium.org ,danno@chromium.org,vegorov@chromium.org
BUG=v8:1639
TEST=
Review URL: http://codereview.chromium.org/7780033
Patch from Fedor Indutny <fedor@indutny.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9264 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-13 14:38:39 +00:00
sgjesse@chromium.org
81df4a42e4
Support for precise stepping in functions compiled before debugging was started (step 1)
...
This change will ensure that all non-optimized code will be compiled
with debug break slots when debugging is initiated. This is handled by
scanning the heap for non-optimized functions without debug break slots and setting their code to be lazy recomplied. When the lazy recompilation happens the code will ge generated with debug break slots (if debugging is still active at that point in time).
R=svenpanne@chromium.org
Currently this is only implemented for functions which do not have activations on the stack.
BUG=
TEST=
Review URL: http://codereview.chromium.org//7839030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9250 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-13 08:31:21 +00:00
ricow@chromium.org
b8cbe08fcc
Fix presubmit errors caused by updated depot tools
...
This is all blank line before/after linting errors.
Review URL: http://codereview.chromium.org/7754022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9204 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-08 19:57:14 +00:00
svenpanne@chromium.org
0ff690b370
Fixed a long-standing TODO: Removed a few *-incl.h #includes from isolate.h.
...
ZoneAllocationPolicy::New is not inlined anymore because this pulls in far too
much stuff and doesn't really make any measurable performance difference. And
no, the #includes are still not in alphabetical order... ;-)
Review URL: http://codereview.chromium.org/7346006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8616 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-12 08:03:19 +00:00
mikhail.naganov@gmail.com
508b22c436
"Deiceolate" Thread classes.
...
Thread class was receiving an isolate parameter by default.
This approact violates the assumption that only VM threads
can have an associated isolate, and can lead to troubles,
because accessing the same isolate from different threads
leads to race conditions.
This was found by investigating mysterious failures of the
CPU profiler layout test on Linux Chromium. As almost all
threads were associated with some isolate, the sampler was
trying to sample them.
As a side effect, we have also fixed the DebuggerAgent test.
Thanks to Vitaly for help in fixing isolates handling!
R=vitalyr@chromium.org
BUG=none
TEST=none
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8259 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-10 09:54:04 +00:00
svenpanne@chromium.org
5cd715cbc3
A tiny contribution for the IWYU day: Include allocation.h in every
...
header which uses BASE_EMBEDDED and/or AllStatic. Note that still only
45 out of 135 headers in src/ can be used stand-alone, but at least
this is a little bit more than before...
Review URL: http://codereview.chromium.org/6931031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7798 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-06 06:50:20 +00:00