Yes.  We plan to put in asserts to prevent it being used for pointer types.

On 4 December 2015 at 15:30, Jochen Eisinger <[email protected]> wrote:

> thanks for the heads-up.
>
> Did you keep the bit_casts in fletch for non-pointer types?
>
> On Thu, Dec 3, 2015 at 2:34 PM 'Erik Corry' via v8-dev <
> [email protected]> wrote:
>
>> Slava points out that I am writing about use of bit_cast for pointer
>> types (eg casting an Object** to a Class**), but ignoring the other use of
>> bit_cast (eg casting a float to a uint32_t).  It's only the pointer types
>> that are problematic, I think.
>>
>> On 3 December 2015 at 13:37, Erik Corry <[email protected]> wrote:
>>
>>> Some investigation by ager and some asking around has resulted in the
>>> conclusion that bit_cast only serves to prevent warnings.  It doesn't
>>> actually fix the program's use of undefined behaviour.  Mads was able to
>>> get gcc to generate broken code for a function with strict aliasing issues
>>> both with and without bit_cast.
>>>
>>> We have ripped bit_cast out of Fletch, replacing it with
>>> reinterpret_cast everywhere.
>>>
>>> We have also added the -fno-strict-aliasing, since there's no sensible
>>> way to fix a GC and a runtime for a dynamic language so it doesn't alias
>>> pointers.  (The only way I can think of involves getting rid of the C++
>>> "Object" class and treating the heap as a char array, which would be
>>> horrible beyond belief).  This flag is available on both Clang and gcc, and
>>> is the default behaviour for MSVC.  If you add the same flag to V8 you may
>>> see a small performance regression on Linux, but not on Mac and Windows
>>> where I think it already is the default.
>>>
>>> --
>>> Erik Corry
>>>
>>> Google Denmark ApS
>>> Frederiksborggade 20B, 1 sal
>>> 1360 København K
>>> Denmark
>>> CVR nr. 28 86 69 84
>>>
>>
>>
>>
>> --
>> Erik Corry
>>
>> Google Denmark ApS
>> Frederiksborggade 20B, 1 sal
>> 1360 København K
>> Denmark
>> CVR nr. 28 86 69 84
>>
>> --
>> --
>> 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.
>



-- 
Erik Corry

Google Denmark ApS
Frederiksborggade 20B, 1 sal
1360 København K
Denmark
CVR nr. 28 86 69 84

-- 
-- 
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