8 ROSE_ASSERT(!
"should have been pure virtual if ROSETTA supported that.");
12 return "error in SgAsmGenericString::get_string()";
18 ROSE_ASSERT(!
"should have been pure virtual if ROSETTA supported that.");
25 ROSE_ASSERT(!
"should have been pure virtual if ROSETTA supported that.");
32 ROSE_ASSERT(!
"should have been pure virtual if ROSETTA supported that.");
41 fprintf(stderr,
"SgAsmBasicString::ctor this=0x%08lx\n", (
unsigned long)
this);
42 if (
this==(
void*)0x685998)
65 fprintf(stderr,
"SgAsmBasicString::set_string(rose_addr_t offset=%"PRIu64
"): not supported\n", offset);
75 sprintf(p,
"%sBasicString[%zd].", prefix, idx);
77 sprintf(p,
"%sBasicString.", prefix);
80 fprintf(f,
"%s%-*s = \"%s\"\n", p, w,
"value",
get_string(
true).c_str());
132 ROSE_ASSERT(strtab!=NULL);
153 ROSE_ASSERT(storage!=NULL);
164 ROSE_ASSERT(storage!=NULL);
174 sprintf(p,
"%sStoredString[%zd].", prefix, idx);
176 sprintf(p,
"%sStoredString.", prefix);
180 fprintf(f,
"%s%-*s = 0x%08lx\n", p, w,
"storage", (
unsigned long)
get_storage());
191 sprintf(p,
"%sStringStorage[%zd].", prefix, idx);
193 sprintf(p,
"%sStringStorage.", prefix);
197 fprintf(f,
"%s%-*s =", p, w,
"sec,offset,val");
200 fprintf(f,
" section [%d] \"%s\"",
204 fputs(
" no section", f);
207 fputs(
", not allocated", f);
227 ROSE_ASSERT(storage!=NULL);
287 if (blow_away_holes) {
307 bool reallocated =
false;
312 std::vector<size_t> map;
319 for (
size_t i=1; i<map.size(); i++) {
320 for (
size_t j=0; j<i; j++) {
330 for (
size_t i=0; i<map.size(); i++) {
363 }
catch(std::bad_alloc &x) {
370 extend_size += storage->
get_string().size() + 1;
383 static bool recursive=
false;
384 ROSE_ASSERT(!recursive);
385 recursive = reallocated =
true;
428 sprintf(p,
"%sStrtab[%zd].", prefix, idx);
430 sprintf(p,
"%sStrtab.", prefix);
435 fprintf(f,
"%s%-*s = [%d] \"%s\"\n", p, w,
"container",
438 fprintf(f,
"%s%-*s = <null>\n", p, w,
"container");
441 fprintf(f,
"%s%-*s =", p, w,
"dont_free");
444 fprintf(f,
" p_storage_list[%zu]", i);
448 fprintf(f,
"%s%-*s = %zu strings\n", p, w,
"referenced",
p_storage_list.size());
453 fprintf(f,
"%s%-*s = %"PRIu64
" free regions\n", p, w,
"freelist",
get_freelist().size());