I can see bytecode, but i need to see values...

Le lundi 4 mars 2019 17:21:38 UTC+1, Leszek Swirski a écrit :
>
> That's a surprisingly tricky thing to do, despite sounding simple. You 
> could add a new runtime function (e.g. LogComparison) which you call at the 
> beginning of CodeStubAssembler::Equal, passing it the LHS and RHS. A bigger 
> cannon that you could use on this mosquito is to enable ignition tracing 
> (v8_enable_trace_ignition = true in gn args) and run your code with 
> `--no-opt --trace-ignition`, which will print a line for every bytecode 
> executed that you can then grep through.
>
> On Mon, Mar 4, 2019 at 4:52 PM <exam...@gmail.com <javascript:>> wrote:
>
>> Thanks
>>
>> in fact what i want to do is to log all comparisons at excecution. What 
>> is the best way to do that ?
>>
>> Le lundi 4 mars 2019 13:15:53 UTC+1, Leszek Swirski a écrit :
>>>
>>> --force-slow-path is a bit confusing, and maybe not well named, I 
>>> believe it only affects some builtins (regex etc.)
>>>
>>> For some more detail, a lot of functionality in V8 is implemented 
>>> multiple times -- common, simpler fast paths (e.g. comparing numbers as you 
>>> are) are implemented in "assembly" (which used to be actual machine code, 
>>> now it's mostly CSA <https://v8.dev/docs/csa-builtins> or Torque 
>>> <https://v8.dev/docs/torque-builtins> code), less common "slow" paths 
>>> (e.g. comparing BigInts) will go to the "runtime" (i.e. into the C++ code). 
>>> These runtime functions also have fast and slow paths (which are really 
>>> more like medium speed and extra slow), and the flag you mentioned is for 
>>> forcing those slow paths.
>>>
>>> For specifically comparison, you probably want to hook into 
>>> CodeStubAssembler::Equal 
>>> <https://cs.chromium.org/chromium/src/v8/src/code-stub-assembler.cc?type=cs&q=CodeStubAssembler::Equal&sq=package:chromium&g=0&l=11680>,
>>>  
>>> though keep in mind that the linked code is *generating* the comparison 
>>> code, not *calculating* or executing it. You'll also want to disable 
>>> optimisation (--no-opt) to make sure you don't enter optimized code (which 
>>> inlines the comparison).
>>>
>>> - Leszek
>>>
>>> On Mon, Mar 4, 2019 at 9:49 AM <exam...@gmail.com> wrote:
>>>
>>>> I have tried to add --force-slow-path argument and it does not change 
>>>> anything
>>>>
>>>> Le lundi 4 mars 2019 08:56:09 UTC+1, exam...@gmail.com a écrit :
>>>>>
>>>>> Thanks
>>>>>
>>>>> What do you mean by 'slow path' ?
>>>>> Where should i put some code in order to hook comparisons operators ?
>>>>>
>>>> -- 
>>>> -- 
>>>> v8-dev mailing list
>>>> v8-...@googlegroups.com
>>>> 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 v8-dev+un...@googlegroups.com.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>> -- 
>> -- 
>> v8-dev mailing list
>> v8-...@googlegroups.com <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 v8-dev+un...@googlegroups.com <javascript:>.
>> For more options, visit https://groups.google.com/d/optout.
>>
>

-- 
-- 
v8-dev mailing list
v8-dev@googlegroups.com
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 v8-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to