Compilation fix 3

This commit is contained in:
Nekotekina 2014-08-31 03:38:55 +04:00
parent 140d40b5bc
commit 26e03fa794
4 changed files with 29 additions and 59 deletions

View File

@ -23,6 +23,6 @@ namespace vm
void write32(u32 addr, u32 value);
}
#include "vm_ptr.h"
#include "vm_ref.h"
#include "vm_ptr.h"
#include "vm_var.h"

View File

@ -85,11 +85,6 @@ namespace vm
{
return m_addr;
}
bool check() const
{
return Memory.IsGoodAddr(m_addr, sizeof(AT));
}
static ptr make(u32 addr)
{
@ -208,11 +203,6 @@ namespace vm
return vm::get_ptr<T>(m_addr);
}
bool check() const
{
return Memory.IsGoodAddr(m_addr, sizeof(T));
}
static ptr make(u32 addr)
{
return (ptr&)addr;
@ -234,11 +224,6 @@ namespace vm
{
return vm::get_ptr<void>(m_addr);
}
bool check() const
{
return Memory.IsGoodAddr(m_addr);
}
operator bool() const
{
@ -286,11 +271,6 @@ namespace vm
return *((type*)vm::get_ptr<void*>(m_addr));
}
bool check() const
{
return Memory.IsGoodAddr(m_addr);
}
operator bool() const
{
return m_addr != 0;
@ -307,35 +287,35 @@ namespace vm
{
AT m_addr;
template<typename TT>
struct _func_arg
{
__forceinline static u64 get_value(const TT& arg)
{
return arg;
}
};
template<typename TT, typename ATT>
struct _func_arg<ptr<TT, 1, ATT>>
{
__forceinline static u64 get_value(const ptr<TT, 1, ATT> arg)
{
return arg.addr();
}
};
template<typename TT, typename ATT>
struct _func_arg<_ref_base<TT, ATT>>
{
__forceinline static u64 get_value(const _ref_base<TT, ATT> arg)
{
return arg.addr();
}
};
__forceinline RT call_func(bool is_async, T... args) const
{
template<typename TT>
struct _func_arg
{
__forceinline static u64 get_value(const TT& arg)
{
return arg;
}
};
template<typename TT, typename ATT>
struct _func_arg<ptr<TT, ATT>>
{
__forceinline static u64 get_value(const ptr<TT, ATT> arg)
{
return arg.addr();
}
};
template<typename TT, typename ATT>
struct _func_arg<ref<TT, ATT>>
{
__forceinline static u64 get_value(const ref<TT, ATT> arg)
{
return arg.addr();
}
};
Callback cb;
cb.SetAddr(m_addr);
cb.Handle(_func_arg<T>::get_value(args)...);
@ -365,11 +345,6 @@ namespace vm
return *((type*)vm::get_ptr<void*>(m_addr));
}
bool check() const
{
return Memory.IsGoodAddr(m_addr);
}
operator bool() const
{
return m_addr != 0;

View File

@ -23,11 +23,6 @@ namespace vm
return m_addr;
}
bool check() const
{
return Memory.IsGoodAddr(m_addr, sizeof(T));
}
static _ref_base make(u32 addr)
{
return (_ref_base&)addr;

View File

@ -33,7 +33,7 @@ namespace vm
void alloc()
{
m_addr = Memory.Alloc(size(), m_align);
m_addr = (u32)Memory.Alloc(size(), m_align);
m_ptr = vm::get_ptr<T>(m_addr);
}