[webkit-dev] x86-64 JIT
Gavin Barraclough
barraclough at apple.com
Thu Mar 19 14:09:51 PDT 2009
I think I can see a bug here – the compile guard on the definition of
VoidPtrPair in JITStubs.h isn't right.
#if PLATFORM(MAC)
should be changed to
#if !COMPILER(MSVC)
(and the else case should #error if compiled on x86-64, if it not 64-
bit safe).
The MSVC version of this structure works around a quirk in the windows
ABI in a way that is not 64-bit safe, and you shouldn't need this on
Linux. The result of this will be resolve_func returning a junk
JSValuePtr for the function object.
G.
On Mar 19, 2009, at 1:11 PM, Maciej Stachowiak wrote:
>
> On Mar 19, 2009, at 11:58 AM, Mike Hommey wrote:
>
>> On Thu, Mar 19, 2009 at 10:20:03AM -0700, Darin Adler wrote:
>>> On Mar 19, 2009, at 10:12 AM, Mike Hommey wrote:
>>>
>>>> Except alert() isn't defined under jsc. Are there any other non-js
>>>> (native) functions available in jsc, since it seems to be the
>>>> problem ?
>>>
>>> Sure, there are tons and tons of native functions; almost every
>>> function
>>> on every built-in JavaScript object.
>>>
>>> Or you can use print() on the global object, which is similar to
>>> alert
>>> ().
>>
>> Exception: TypeError: Result of expression 'print' [[object
>> global]] is
>> not a function.
>
> Works for me:
>
> > print
> function print() {
> [native code]
> }
>
>> Anyways, it seems, at first hand, to be failing on native functions
>> on
>> DOM objects, not on standard JS objects :-/
>>
>> For example, Array.toString works, but window.setTimeout doesn't.
>> Both
>> go through the cti_op_call_NotJSFunction method.
>
>
> That does sound strange.
>
> Do JavaScriptCore and WebCore/WebKit get built as separate DLLs on
> Linux/Gtk? If so, it could be due to a bug where we don't properly
> handle jumps of longer than 32-bit distance in all cases. Perhaps
> Gavin has a guess.
>
> Regards,
> Maciej
>
> _______________________________________________
> webkit-dev mailing list
> webkit-dev at lists.webkit.org
> http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20090319/631f800c/attachment.html>
More information about the webkit-dev
mailing list