} else if(v->d.ptr)
memcpy(&instr->m_val, v->d.ptr, v->type->size);
else
- instr->m_val = v->d.ptr;
+ instr->m_val = (m_uint)v->d.ptr;
instr->m_val2 = size;
}
return GW_OK;
char str[instr->m_val2 + strlen(t->name) + 1];
strcpy(str, name);
strcpy(str + instr->m_val2, t->name);
- const Value value = nspc_lookup_value1(t->nspc, insert_symbol(str));
const Func f = nspc_lookup_func1(t->nspc, insert_symbol(str));
if(f) {
if(!f->code) {
- const Emitter emit = shred->info->vm->gwion->emit;
-emit->env->name = "runtime";
- const Value v = f->value_ref;
-m_str start = strchr(name, '<');
+ const Emitter emit = shred->info->vm->gwion->emit;
+ emit->env->name = "runtime";
+ const Value v = f->value_ref;
+ m_str start = strchr(name, '<');
m_str end = strchr(name, '@');
char c[instr->m_val2];
strcpy(c, start + 1);
Value v = nspc_lookup_value1(t->nspc, value->d.func_ref->def->name);
if(!v)
goto next;
- const Func f = _find_template_match(env, v, exp);
- if(f)
- return f;
+ const Func f = _find_template_match(env, v, exp);
+ if(f)
+ return f;
next:
t = t->parent;
}
const Symbol sym = func_symbol(env->curr->name, func_name, NULL, overload ? ++overload->offset : 0);
func_name = s_name(sym);
} else {
-if(f->func)
- func_name = f->func->name;
-else
- func_name = func_tmpl_name(env, f);
+ if(f->func)
+ func_name = f->func->name;
+ else
+ func_name = func_tmpl_name(env, f);
const Func func = nspc_lookup_func1(env->curr, insert_symbol(func_name));
if(func) {
f->ret_type = type_decl_resolve(env, f->td);
#include "map_private.h"
#include "value.h"
+#include "gack.h"
static inline uint64_t splitmix64_stateless(uint64_t index) {
reg += instr->m_val2;
DISPATCH();
regpushaddr:
- *(m_bit**)reg = &instr->m_val;
+ *(m_uint**)reg = &instr->m_val;
reg += SZ_INT;
DISPATCH()
regpushmem: