http://codereview.chromium.org/21403/diff/1/4
File src/platform-all.cc (right):

http://codereview.chromium.org/21403/diff/1/4#newcode65
Line 65: // than 10,000 butes are bogus
On 2009/02/17 11:29:24, Søren Gjesse wrote:
> I don't think the constant 10000 is valid for our frames, as using
> Function.prototype.apply can create large frames. Try the following in
the shell
> with --allow-natives-syntax (%DebugPrint prints the frame pointer)
>
>   function f() { DebugPrint('f ' + arguments.length) }
>   function g(x) { var a=new Array(x); DebugPrint('g'); f.apply(null,
a); }
>   g(100000)
>
> I think we just need to store a low-water-mart when V8 is initialized.

Ok, done as you're proposing. See Ticker::SampleStack

http://codereview.chromium.org/21403/diff/1/5
File src/platform-freebsd.cc (right):

http://codereview.chromium.org/21403/diff/1/5#newcode641
Line 641: unsigned int ebp = mcontext.mc_ebp;
On 2009/02/17 11:29:24, Søren Gjesse wrote:
> Maybe just add the frame pointer to the TickSample class?

Great idea, thanks! Done (for all platforms).

http://codereview.chromium.org/21403/diff/1/5#newcode644
Line 644: StackWalker::SampleStack(sample, ebp);
On 2009/02/17 11:29:24, Søren Gjesse wrote:
> Move stack walking to Ticker::Tick.

Done (for all platforms).

http://codereview.chromium.org/21403

--~--~---------~--~----~------------~-------~--~----~
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to