aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_db_util.h
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2010-12-15 17:20:46 +0100
committerSverker Eriksson <[email protected]>2011-02-03 17:33:43 +0100
commit651c99b7aac8ac7ca7f84efa0d3bd3b541d6f3a4 (patch)
tree29e555424f947f7a29fa615dd89de5c9017b6d5b /erts/emulator/beam/erl_db_util.h
parent561f6fd2bc8367acd1bceea291303adb18ad0b93 (diff)
downloadotp-651c99b7aac8ac7ca7f84efa0d3bd3b541d6f3a4.tar.gz
otp-651c99b7aac8ac7ca7f84efa0d3bd3b541d6f3a4.tar.bz2
otp-651c99b7aac8ac7ca7f84efa0d3bd3b541d6f3a4.zip
HALFWORD ETS Real matching on relative terms
Diffstat (limited to 'erts/emulator/beam/erl_db_util.h')
-rw-r--r--erts/emulator/beam/erl_db_util.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/erts/emulator/beam/erl_db_util.h b/erts/emulator/beam/erl_db_util.h
index 600110e745..30b3eb731d 100644
--- a/erts/emulator/beam/erl_db_util.h
+++ b/erts/emulator/beam/erl_db_util.h
@@ -286,7 +286,7 @@ ERTS_GLB_INLINE Eterm db_copy_key(Process* p, DbTable* tb, DbTerm* obj)
Uint size = size_object_rel(key, obj->tpl);
Eterm* hp = HAlloc(p, size);
Eterm res = copy_struct_rel(key, size, &hp, &MSO(p), obj->tpl, NULL);
- ASSERT(eq_rel(res,key,obj->tpl));
+ ASSERT(eq_rel(res,NULL,key,obj->tpl));
return res;
}
}
@@ -305,7 +305,7 @@ ERTS_GLB_INLINE Eterm db_copy_object_from_ets(DbTableCommon* tb, DbTerm* bp,
ERTS_GLB_INLINE int db_eq(DbTableCommon* tb, Eterm a, DbTerm* b)
{
if (!tb->compress) {
- return eq_rel(a, make_tuple_rel(b->tpl,b->tpl), b->tpl);
+ return eq_rel(a, NULL, make_tuple_rel(b->tpl,b->tpl), b->tpl);
}
else {
return db_eq_comp(tb, a, b);
@@ -427,7 +427,8 @@ Binary *db_match_compile(Eterm *matchexpr, Eterm *guards,
Eterm db_prog_match_and_copy(DbTableCommon* tb, Process* c_p, Binary* bprog,
int all, DbTerm* obj, Eterm** hpp, Uint extra);
/* Returns newly allocated MatchProg binary with refc == 0*/
-Eterm db_prog_match(Process *p, Binary *prog, Eterm term, Eterm *termp, int arity,
+Eterm db_prog_match(Process *p, Binary *prog, Eterm term, Eterm* base,
+ Eterm *termp, int arity,
Uint32 *return_flags /* Zeroed on enter */);
/* returns DB_ERROR_NONE if matches, 1 if not matches and some db error on
error. */