Hacking together proper stack saving. Can't get >128b frames working.
This commit is contained in:
@@ -26,12 +26,18 @@ namespace lowering { class LoweringTable; }
|
||||
#define ALLOY_HAS_X64_BACKEND 1
|
||||
|
||||
|
||||
typedef void* (*HostToGuestThunk)(void* target, void* arg0, void* arg1);
|
||||
typedef void* (*GuestToHostThunk)(void* target, void* arg0, void* arg1);
|
||||
|
||||
class X64Backend : public Backend {
|
||||
public:
|
||||
X64Backend(runtime::Runtime* runtime);
|
||||
virtual ~X64Backend();
|
||||
|
||||
X64CodeCache* code_cache() const { return code_cache_; }
|
||||
HostToGuestThunk host_to_guest_thunk() const { return host_to_guest_thunk_; }
|
||||
GuestToHostThunk guest_to_host_thunk() const { return guest_to_host_thunk_; }
|
||||
|
||||
lowering::LoweringTable* lowering_table() const { return lowering_table_; }
|
||||
|
||||
virtual int Initialize();
|
||||
@@ -40,6 +46,9 @@ public:
|
||||
|
||||
private:
|
||||
X64CodeCache* code_cache_;
|
||||
HostToGuestThunk host_to_guest_thunk_;
|
||||
GuestToHostThunk guest_to_host_thunk_;
|
||||
|
||||
lowering::LoweringTable* lowering_table_;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user