diff options
author | Marcel Hollerbach <mail@marcel-hollerbach.de> | 2020-03-26 16:42:46 +0000 |
---|---|---|
committer | Carsten Haitzler (Rasterman) <raster@rasterman.com> | 2020-03-26 16:42:46 +0000 |
commit | 1b39c772eaa61b9094fb2c813447051a8e4ecc61 (patch) | |
tree | 77c95046fd23dd9c58a2e65eb32e9baf1c1869dd | |
parent | e0f5e80f7831c930d432c9991d831cbd4f48babd (diff) | |
download | efl-1b39c772eaa61b9094fb2c813447051a8e4ecc61.tar.gz |
eina: prefetch for _eo_obj_pointer_get
Reviewers: raster, stefan_schmidt
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11603
-rw-r--r-- | src/lib/eo/eo_ptr_indirection.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/lib/eo/eo_ptr_indirection.c b/src/lib/eo/eo_ptr_indirection.c index 01db8a289a..14748a377b 100644 --- a/src/lib/eo/eo_ptr_indirection.c +++ b/src/lib/eo/eo_ptr_indirection.c @@ -104,8 +104,9 @@ _eo_obj_pointer_get(const Eo_Id obj_id, const char *func_name, const char *file, return tdata->cache.object; mid_table_id = (obj_id >> SHIFT_MID_TABLE_ID) & MASK_MID_TABLE_ID; - EINA_PREFETCH(&(tdata->eo_ids_tables[mid_table_id])); + EINA_PREFETCH_NOCACHE(&(tdata->eo_ids_tables[mid_table_id])); //prefetch for line 119 table_id = (obj_id >> SHIFT_TABLE_ID) & MASK_TABLE_ID; + EINA_PREFETCH_NOCACHE((tdata->eo_ids_tables[mid_table_id] + table_id)); //prefetch for line 121 entry_id = (obj_id >> SHIFT_ENTRY_ID) & MASK_ENTRY_ID; generation = obj_id & MASK_GENERATIONS; @@ -118,7 +119,7 @@ _eo_obj_pointer_get(const Eo_Id obj_id, const char *func_name, const char *file, if (tdata->eo_ids_tables[mid_table_id]) { _Eo_Ids_Table *tab = TABLE_FROM_IDS; - + EINA_PREFETCH_NOCACHE(tab); //prefetch for line 125 if (tab) { entry = &(tab->entries[entry_id]); @@ -143,8 +144,9 @@ _eo_obj_pointer_get(const Eo_Id obj_id, const char *func_name, const char *file, return tdata->cache.object; mid_table_id = (obj_id >> SHIFT_MID_TABLE_ID) & MASK_MID_TABLE_ID; - EINA_PREFETCH(&(tdata->eo_ids_tables[mid_table_id])); + EINA_PREFETCH_NOCACHE(&(tdata->eo_ids_tables[mid_table_id])); table_id = (obj_id >> SHIFT_TABLE_ID) & MASK_TABLE_ID; + EINA_PREFETCH_NOCACHE((tdata->eo_ids_tables[mid_table_id] + table_id)); entry_id = (obj_id >> SHIFT_ENTRY_ID) & MASK_ENTRY_ID; generation = obj_id & MASK_GENERATIONS; @@ -157,6 +159,7 @@ _eo_obj_pointer_get(const Eo_Id obj_id, const char *func_name, const char *file, if (tdata->eo_ids_tables[mid_table_id]) { _Eo_Ids_Table *tab = TABLE_FROM_IDS; + EINA_PREFETCH_NOCACHE(tab); if (tab) { |