On Thursday, December 17, 2015 at 11:26:48 AM UTC-8, Benedikt Meurer wrote:
>
> Can't you use the same instruction sequence, even from C++ code? 
>

Yeah, I could, just not using the compiler intrinsics. I was hoping to 
avoid duplicating the sequence in multiple locations, but it might be the 
best way.
 

> Or compile a small stub that is callable from C++ directly and thereby use 
> the same instruction sequence?
>

Right, this way makes the most sense to me.
 

> Also the code stub should work if that's being used by CS and FCG, while 
> you can inline the code into TF. You just need to make sure to generate the 
> exactly the same instructions I guess?
>

Yeah, I suppose inlining the TF can be a later optimization if desired.
 

> IIRC Jaro thought about this already, maybe he can give some advice.
>
> On Thu, Dec 17, 2015 at 8:06 PM, Ben Smith <bi...@chromium.org 
> <javascript:>> wrote:
>
>>
>>
>> On Wednesday, December 16, 2015 at 7:16:07 PM UTC-8, Benedikt Meurer 
>> wrote:
>>>
>>> You probably need the same guarantees for CS. So how about putting them 
>>> into a code stub? And calling the stub for the %_ cases in all three 
>>> compilers?
>>>
>>
>> Yes, that's what I was thinking too, but I was wondering if there was 
>> another way -- AIUI the code stub has the overhead of a function call for 
>> all compilers, right?
>>  
>>
>>> BTW wouldn't it work if FCG always uses the C++ version?
>>>
>>
>> Maybe I'm misunderstanding when the various compilers are used. But if 
>> it's possible that some code that was compiled with FCG is being used at 
>> the same time that compiled with TF is used and they are accessing the same 
>> shared memory, then it's necessary that they have the same instruction 
>> sequence.
>>  
>>
>>> -- Benedikt
>>>
>>> Ben Smith <bi...@chromium.org> schrieb am Do., 17. Dez. 2015, 00:01:
>>>
>>>> Hi v8-dev,
>>>>
>>>> I added the Atomics API earlier this year (in src/js/harmony-atomics.js 
>>>> and src/runtime/runtime-atomics.cc). It's currently implemented as runtime 
>>>> functions using compiler intrinsics. I'd like to add a TurboFan 
>>>> implementation, but I need to make sure that the generated assembly is the 
>>>> same in both the full-codegen and for TF. What's the best way to do this?
>>>>
>>>> FYI, here's the associated bug: 
>>>> https://bugs.chromium.org/p/v8/issues/detail?id=4614
>>>>
>>>> Thanks,
>>>> -Ben
>>>>
>>>> -- 
>>>> -- 
>>>> 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