[Webkit-unassigned] [Bug 101740] [Qt][ARM]REGRESSION(r133985): It broke the build

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Nov 9 08:01:16 PST 2012


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


Balazs Kilvady <kilvadyb at homejinni.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |kilvadyb at homejinni.com




--- Comment #9 from Balazs Kilvady <kilvadyb at homejinni.com>  2012-11-09 08:02:52 PST ---
(In reply to comment #8)
> (In reply to comment #7)
> > hmmm... maybe if I move the implementation of the emit{Int32,Double,..}PutByVal to the corresponding cpp it would be ok with the templates, but then it should be in both cpps.
> 
> I tried moving the implementation of these methods to the general parot of the JITPropertyAccess.cpp file, but The error message remained. After thinking it through the same situation occured.
> 
> So I think there is only 2 possible solution:
>  1) use the my first patch which removes the template or
>  2) move the emit{Int32,..}PutByVal implementation to both JITPropertyAccess files and there will be code duplication.

The problem is that on mips VALUE_PROFILER not enabled currently and by:
inline JITArrayMode JIT::chooseArrayMode(ArrayProfile* profile)
{
#if ENABLE(VALUE_PROFILER)
    profile->computeUpdatedPrediction(m_codeBlock);
    ArrayModes arrayModes = profile->observedArrayModes();
    if (arrayProfileSaw(arrayModes, DoubleShape))
        return JITDouble;
    if (arrayProfileSaw(arrayModes, Int32Shape))
        return JITInt32;
    if (arrayProfileSaw(arrayModes, ArrayStorageShape))
        return JITArrayStorage;
    return JITContiguous;
#else
    UNUSED_PARAM(profile);
    return JITContiguous;
#endif
}

And in jit/JITPropertyAccess32_64.cpp the body of the template function emitGenericContiguousPutByVal<> not instantiated/compiled in for Int32 and Double types. but they are declared in the jit.h header so JITPropertyAccess.cpp can reference to them. I don't know where to put the implementation of template function. Maybe in the header? Or just don't use shorthands like emitInt32PutByVal but template calls as emitGenericContiguousPutByVal<Int32Shape>?

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