Index: src/gdb-jit.cc |
diff --git a/src/gdb-jit.cc b/src/gdb-jit.cc |
index 32066add46f7a0227ac8fde39b9862c62c84278c..e3ec67e48e1864d43d12fd82fe47d6ebec028023 100644 |
--- a/src/gdb-jit.cc |
+++ b/src/gdb-jit.cc |
@@ -1019,9 +1019,9 @@ class CodeDescription BASE_EMBEDDED { |
#if defined(__ELF) |
static void CreateSymbolsTable(CodeDescription* desc, |
+ Zone* zone, |
ELF* elf, |
int text_section_index) { |
- Zone* zone = desc->info()->zone(); |
ELFSymbolTable* symtab = new(zone) ELFSymbolTable(".symtab", zone); |
ELFStringTable* strtab = new(zone) ELFStringTable(".strtab"); |
@@ -1789,8 +1789,9 @@ bool UnwindInfoSection::WriteBodyInternal(Writer* w) { |
#endif // V8_TARGET_ARCH_X64 |
-static void CreateDWARFSections(CodeDescription* desc, DebugObject* obj) { |
- Zone* zone = desc->info()->zone(); |
+static void CreateDWARFSections(CodeDescription* desc, |
+ Zone* zone, |
+ DebugObject* obj) { |
if (desc->IsLineInfoAvailable()) { |
obj->AddSection(new(zone) DebugInfoSection(desc), zone); |
obj->AddSection(new(zone) DebugAbbrevSection(desc), zone); |
@@ -1915,8 +1916,7 @@ static void UnregisterCodeEntry(JITCodeEntry* entry) { |
} |
-static JITCodeEntry* CreateELFObject(CodeDescription* desc) { |
- Zone* zone = desc->info()->zone(); |
+static JITCodeEntry* CreateELFObject(CodeDescription* desc, Zone* zone) { |
ZoneScope zone_scope(zone, DELETE_ON_EXIT); |
#ifdef __MACH_O |
MachO mach_o; |
@@ -1944,9 +1944,9 @@ static JITCodeEntry* CreateELFObject(CodeDescription* desc) { |
ELFSection::FLAG_ALLOC | ELFSection::FLAG_EXEC), |
zone); |
- CreateSymbolsTable(desc, &elf, text_section_index); |
+ CreateSymbolsTable(desc, zone, &elf, text_section_index); |
- CreateDWARFSections(desc, &elf); |
+ CreateDWARFSections(desc, zone, &elf); |
elf.Write(&w); |
#endif |
@@ -2083,7 +2083,8 @@ void GDBJITInterface::AddCode(const char* name, |
} |
AddUnwindInfo(&code_desc); |
- JITCodeEntry* entry = CreateELFObject(&code_desc); |
+ Zone* zone = code->GetIsolate()->runtime_zone(); |
+ JITCodeEntry* entry = CreateELFObject(&code_desc, zone); |
ASSERT(!IsLineInfoTagged(entry)); |
delete lineinfo; |