[Webkit-unassigned] [Bug 44329] SH4 JIT SUPPORT

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Mar 30 10:22:57 PDT 2011


https://bugs.webkit.org/show_bug.cgi?id=44329


Oliver Hunt <oliver at apple.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #87170|review?                     |review-
               Flag|                            |




--- Comment #98 from Oliver Hunt <oliver at apple.com>  2011-03-30 10:22:56 PST ---
(From update of attachment 87170)
View in context: https://bugs.webkit.org/attachment.cgi?id=87170&action=review

r-, but only due to the putIntegral issues

> Source/JavaScriptCore/assembler/AssemblerBuffer.h:-131
> -        template<typename IntegralType>
> -        void putIntegral(IntegralType value)
> -        {
> -            if (m_size > m_capacity - sizeof(IntegralType))
> -                grow();
> -            putIntegralUnchecked(value);
> -        }
> -
> -        template<typename IntegralType>
> -        void putIntegralUnchecked(IntegralType value)
> -        {
> -            *reinterpret_cast_ptr<IntegralType*>(&m_buffer[m_size]) = value;
> -            m_size += sizeof(IntegralType);
> -        }
> -

Why is this change here?  This is a cross platform type so adding a new JIT backend shouldn't  result in functions being removed -- are they only used for the constant pool backends?

> Source/JavaScriptCore/assembler/AssemblerBufferWithConstantPool.h:192
> +    template<typename IntegralType>
> +    void putIntegral(IntegralType value)
> +    {
> +        if (m_size > m_capacity - sizeof(IntegralType))
> +            grow();
> +        putIntegralUnchecked(value);
> +    }
> +
> +    template<typename IntegralType>
> +    void putIntegralUnchecked(IntegralType value)
> +    {
> +        *reinterpret_cast_ptr<IntegralType*>(&m_buffer[m_size]) = value;
> +        m_size += sizeof(IntegralType);
> +    }

I think these should stay in the root assembler buffer so we don't have unnecessary changes in this patch

> Source/JavaScriptCore/assembler/AssemblerBufferWithConstantPool.h:205
> +    void putIntegral(TwoShorts value)
> +    {
> +        if (m_size > m_capacity - sizeof(TwoShorts))
> +            grow();
> +        putIntegralUnchecked(value);
> +    }
> +
> +    void putIntegralUnchecked(TwoShorts value)
> +    {
> +        putIntegralUnchecked(value.high);
> +        putIntegralUnchecked(value.low);
> +    }

I have endian concerns here

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list