Hi Tobias, Native functions aren't compiled to bytecode (since they are C++ not JavaScript), so don't run through the code-path you describe in the BytecodeGenerator.
Cheers, Ross On 5 December 2017 at 11:02, <[email protected]> wrote: > Hi, > I found the trace flag (in the bytecode generator class > <https://chromium.googlesource.com/v8/v8/+/refs/heads/roll/src/interpreter/bytecode-generator.cc>). > To me it seems that the class - if tracing is enabled- calls the *EnterTrace > *function from the <http://goog_1387160106> <http://goog_1387160106>runtime > environment (Line 825 > <https://github.com/v8/v8/blob/master/src/runtime/runtime-test.cc>). But > somehow these functions are not used to log native functions and I do not > know why. > > > > Freitag, 27. Oktober 2017 16:57:39 UTC+2 schrieb Rodolph Perfetta: >> >> code for flags is usually gated by FLAG_xxx so look for FLAG_trace >> >> On Fri, 27 Oct 2017 at 09:22 <[email protected]> wrote: >> >>> Hi, >>> >>> *--trace *was a great hint. Thanks! Unfortunately *--trace* does not >>> log 'native' methods as the example below shows (*concat *and *print *are >>> not logged). Is there a way to modify the tracing algorithm to add the >>> native methods? I could not find the C++ code responsible for teh tracing. >>> >>> Code: >>> function foo(var0){ >>> bar(var0.concat(" World!")); >>> } >>> >>> function bar(var1){ >>> print(var1); >>> } >>> >>> foo("Hello"); >>> >>> Output: >>> 1: ~+0(this=0x1407e1103521 <JSGlobal Object>) { >>> 2: ~foo+0(this=0x1407e1103521 <JSGlobal Object>, 0x313b061a8b79 < >>> String[5]: Hello>) { >>> 3: ~bar+0(this=0x1407e1103521 <JSGlobal Object>, 0x1407e110cd99 < >>> String[12]: Hello World!>) { >>> Hello World! >>> 3: } -> 0x2169365022e1 <undefined> >>> 2: } -> 0x2169365022e1 <undefined> >>> 1: } -> 0x2169365022e1 <undefined> >>> >>> Cheers, >>> Tobias >>> >>> >>> >>> Am Donnerstag, 26. Oktober 2017 16:24:21 UTC+2 schrieb Rodolph Perfetta: >>> >>>> What you are looking for sounds similar to the --trace flag, have you >>>> tried it? >>>> >>>> On Thu, 26 Oct 2017 at 07:36 Tobias <[email protected]> wrote: >>>> >>> Hello, >>>>> >>>>> >>>>> >>>>> I am fairly new to V8 and need some help or hints how to start on my >>>>> problem. >>>>> >>>>> >>>>> >>>>> I want to log all function calls of any given script (i.e. the Stack >>>>> trace of the script – see the example below). >>>>> >>>>> Can you give me please a hint or advice where to start? >>>>> >>>>> I took a look at the “V8 Inspector >>>>> <https://github.com/v8/v8/wiki/Debugging-over-the-V8-Inspector-API>” >>>>> but I did not find a way to log the JavaScript function calls. >>>>> >>>>> The “StackTrace API <https://github.com/v8/v8/wiki/Stack-Trace-API>” >>>>> seems to work but only for exceptions not all function calls. >>>>> >>>>> >>>>> >>>>> Any help is appreciated! >>>>> >>>>> >>>>> >>>>> Cheers, >>>>> >>>>> Tobias >>>>> >>>>> >>>>> >>>>> *Example: * >>>>> >>>>> For the script >>>>> <script> >>>>> var c = document.getElementById("myCanvas"); >>>>> var ctx = c.getContext("2d"); >>>>> ctx.font = "30px Arial"; >>>>> ctx.fillText("Hello World",10,50); >>>>> </script> >>>>> >>>>> >>>>> I want something like: >>>>> >>>>> Script foo: >>>>> >>>>> getElementById >>>>> >>>>> getContext >>>>> >>>>> fillText >>>>> >>>>> -- >>>>> -- >>>>> v8-dev mailing list >>>>> >>>> [email protected] >>>> >>>> >>>>> http://groups.google.com/group/v8-dev >>>>> --- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "v8-dev" group. >>>>> >>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to [email protected]. >>>> >>>> >>>>> For more options, visit https://groups.google.com/d/optout. >>>>> >>>> -- >>> -- >>> v8-dev mailing list >>> [email protected] >>> http://groups.google.com/group/v8-dev >>> --- >>> You received this message because you are subscribed to the Google >>> Groups "v8-dev" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> For more options, visit https://groups.google.com/d/optout. >>> >> -- > -- > v8-dev mailing list > [email protected] > http://groups.google.com/group/v8-dev > --- > You received this message because you are subscribed to the Google Groups > "v8-dev" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev --- You received this message because you are subscribed to the Google Groups "v8-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
