Ignore:
Timestamp:
Dec 17, 2008, 7:38:10 PM (16 years ago)
Author:
[email protected]
Message:

2008-12-17 Gavin Barraclough <[email protected]>

Reviewed by Sam Weinig.

print("Hello, 64-bit jitted world!");
Get hello-world working through the JIT, on x86-64.

  • assembler/X86Assembler.h:

Fix encoding of opcode + RegisterID format instructions for 64-bit.

  • interpreter/Interpreter.cpp:
  • interpreter/Interpreter.h:

Make VoidPtrPair actually be a pair of void*s.
(Possibly should make this change for 32-bit Mac platforms, too - but won't change 32-bit behaviour in this patch).

  • jit/JIT.cpp:
  • jit/JIT.h:

Provide names for the timeoutCheckRegister & callFrameRegister on x86-64,
force x86-64 ctiTrampoline arguments onto the stack,
implement the asm trampolines for x86-64,
implement the restoreArgumentReference methods for x86-64 calling conventions.

  • jit/JITCall.cpp:
  • jit/JITInlineMethods.h:
  • wtf/Platform.h:

Add switch settings to ENABLE(JIT), on PLATFORM(X86_64) (currently still disabled).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/interpreter/Interpreter.h

    r39325 r39370  
    8181#endif
    8282
    83 #endif
    84 
     83#endif // USE(FAST_CALL_CTI_ARGUMENT)
     84
     85
     86// FIXME: Could this be #if COMPILER(MSVC)? - or #if !PLATFORM(MAC)?
     87#if !PLATFORM(X86_64)
    8588    typedef uint64_t VoidPtrPair;
    86 
    87     typedef union
    88     {
     89    union VoidPtrPairValue {
    8990        struct { void* first; void* second; } s;
    9091        VoidPtrPair i;
    91     } VoidPtrPairValue;
    92 #endif
     92    };
     93#define RETURN_PAIR(a,b) VoidPtrPairValue pair = {{ a, b }}; return pair.i
     94#else
     95    struct VoidPtrPair {
     96        void* first;
     97        void* second;
     98    };
     99#define RETURN_PAIR(a,b) VoidPtrPair pair = { a, b }; return pair
     100#endif
     101
     102#endif // ENABLE(JIT)
    93103
    94104    enum DebugHookID {
Note: See TracChangeset for help on using the changeset viewer.