Thanks for your replay. Could you give me some advice what I have to do to 
trace *intrinsic functions (e.g., toString())*
 or browser specific API function calls (e.g., *document.getElementById()*)?

Cheers, 
Tobias

Am Mittwoch, 6. Dezember 2017 10:55:04 UTC+1 schrieb Ross McIlroy:
>
> 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] <javascript:>> 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] <javascript:>
>> 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] <javascript:>.
>> 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.

Reply via email to