| 30 | |
| 31 | |
| 32 | CodeCache::CodeCache(const char* name, short lib_index, |
| 33 | const void* min_address, const void* max_address, |
| 34 | const char* image_base) { |
| 35 | _name = NativeFunc::create(name, -1); |
| 36 | |
| 37 | _lib_index = lib_index; |
| 38 | _min_address = min_address; |
| 39 | _max_address = max_address; |
| 40 | _text_base = NULL; |
| 41 | _image_base = image_base; |
| 42 | |
| 43 | _plt_offset = 0; |
| 44 | _plt_size = 0; |
| 45 | |
| 46 | memset(_imports, 0, sizeof(_imports)); |
| 47 | _imports_patchable = false; |
| 48 | _debug_symbols = false; |
| 49 | |
| 50 | _dwarf_table = NULL; |
| 51 | _dwarf_table_length = 0; |
| 52 | |
| 53 | _capacity = INITIAL_CODE_CACHE_CAPACITY; |
| 54 | _count = 0; |
| 55 | _blobs = new CodeBlob[_capacity]; |
| 56 | } |
| 57 | |
| 58 | CodeCache::~CodeCache() { |
| 59 | for (int i = 0; i < _count; i++) { |
nothing calls this directly
no outgoing calls
no test coverage detected