Skip to content
Snippets Groups Projects
Commit ff88dc41 authored by whh8b's avatar whh8b
Browse files

Change default size to 60 and do not swap two dollops if they are the same.

parent 32978fdb
No related branches found
No related tags found
No related merge requests found
......@@ -41,7 +41,7 @@ static int q_fd;
#ifdef TEST
#define MIXR_FIXED_SIZE (sizeof(int))
#else
#define MIXR_FIXED_SIZE (40)
#define MIXR_FIXED_SIZE (60)
#endif
#ifdef DEBUG
......@@ -125,6 +125,7 @@ unsigned int mixr_find_dollop_containing(void *table_addr, uint64_t addr, uint8_
for (table_iterator = 0; table_iterator<table_length; table_iterator++)
{
table_iterator_address = dt_table_read_entry_address(table_addr, table_iterator);
if (table_iterator_address<=addr && addr<=(table_iterator_address+MIXR_FIXED_SIZE)) {
*found = 1;
return table_iterator;
......@@ -657,6 +658,14 @@ void zipr_mixr(void *table_addr)
continue;
}
if (a == b)
{
#ifdef DEBUG
print_str_debug("Skipping swap from ourself to ourself\n");
#endif
continue;
}
dt_table_swap_entry_contents(table_addr, a, b);
/*
* Rewrite a.
......@@ -745,6 +754,9 @@ void zipr_hook_start(unsigned long long id,
print_str_debug("ra:");
print_unsigned_long_long_debug(ra);
print_str_debug("\n");
print_str_debug("global_table_addr:");
print_unsigned_long_long_debug(id);
print_str_debug("\n");
#endif
global_table_addr = (void*)id;
......@@ -753,6 +765,7 @@ void zipr_hook_start(unsigned long long id,
void zipr_hook_dynamic_callback(unsigned int id, unsigned long long rax, unsigned long long rsp)
{
print_str_debug("zipr_hook_dynamic_callback()\n");
zipr_mixr(global_table_addr);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment