Update globally Hamsandwich module (bug 5611, r=sawce)

This commit is contained in:
Arkshine
2014-04-09 16:35:46 +02:00
parent 9815050287
commit 1a7daad657
29 changed files with 17823 additions and 11404 deletions

View File

@@ -641,9 +641,9 @@ namespace Trampolines
/**
* Utility to make a generic trampoline.
*/
inline void *CreateGenericTrampoline(bool thiscall, bool voidcall, int paramcount, void *extraptr, void *callee)
inline void *CreateGenericTrampoline(bool thiscall, bool voidcall, bool retbuf, int paramcount, void *extraptr, void *callee)
{
Trampolines::TrampolineMaker tramp;
Trampolines::TrampolineMaker tramp;
if (voidcall)
{
@@ -684,7 +684,14 @@ inline void *CreateGenericTrampoline(bool thiscall, bool voidcall, int paramcoun
#if defined(_WIN32)
tramp.VoidEpilogueAndFree();
#elif defined(__linux__) || defined(__APPLE__)
tramp.VoidEpilogue();
if (retbuf)
{
tramp.VoidEpilogue(4);
}
else
{
tramp.ThisVoidPrologue();
}
#endif
}
else