Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(585)

Unified Diff: src/gdb-jit.cc

Issue 12952002: Make GDBJIT interface compile again. (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/gdb-jit.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/gdb-jit.cc
===================================================================
--- src/gdb-jit.cc (revision 13998)
+++ src/gdb-jit.cc (working copy)
@@ -187,7 +187,7 @@
byte* buffer_;
};
-class StringTable;
+class ELFStringTable;
template<typename THeader>
class DebugSectionBase : public ZoneObject {
@@ -338,7 +338,7 @@
virtual ~ELFSection() { }
- void PopulateHeader(Writer::Slot<Header> header, StringTable* strtab);
+ void PopulateHeader(Writer::Slot<Header> header, ELFStringTable* strtab);
virtual void WriteBody(Writer::Slot<Header> header, Writer* w) {
uintptr_t start = w->position();
@@ -438,9 +438,9 @@
};
-class StringTable : public ELFSection {
+class ELFStringTable : public ELFSection {
public:
- explicit StringTable(const char* name)
+ explicit ELFStringTable(const char* name)
: ELFSection(name, TYPE_STRTAB, 1), writer_(NULL), offset_(0), size_(0) {
}
@@ -488,7 +488,7 @@
void ELFSection::PopulateHeader(Writer::Slot<ELFSection::Header> header,
- StringTable* strtab) {
+ ELFStringTable* strtab) {
header->name = strtab->Add(name_);
header->type = type_;
header->alignment = align_;
@@ -631,7 +631,7 @@
public:
ELF(Zone* zone) : sections_(6, zone) {
sections_.Add(new(zone) ELFSection("", ELFSection::TYPE_NULL, 0), zone);
- sections_.Add(new(zone) StringTable(".shstrtab"), zone);
+ sections_.Add(new(zone) ELFStringTable(".shstrtab"), zone);
}
void Write(Writer* w) {
@@ -718,7 +718,7 @@
w->CreateSlotsHere<ELFSection::Header>(sections_.length());
// String table for section table is the first section.
- StringTable* strtab = static_cast<StringTable*>(SectionAt(1));
+ ELFStringTable* strtab = static_cast<ELFStringTable*>(SectionAt(1));
strtab->AttachWriter(w);
for (int i = 0, length = sections_.length();
i < length;
@@ -832,7 +832,7 @@
};
#endif
- void Write(Writer::Slot<SerializedLayout> s, StringTable* t) {
+ void Write(Writer::Slot<SerializedLayout> s, ELFStringTable* t) {
// Convert symbol names from strings to indexes in the string table.
s->name = t->Add(name);
s->value = value;
@@ -871,8 +871,8 @@
header->size = w->position() - header->offset;
// String table for this symbol table should follow it in the section table.
- StringTable* strtab =
- static_cast<StringTable*>(w->debug_object()->SectionAt(index() + 1));
+ ELFStringTable* strtab =
+ static_cast<ELFStringTable*>(w->debug_object()->SectionAt(index() + 1));
strtab->AttachWriter(w);
symbols.at(0).set(ELFSymbol::SerializedLayout(0,
0,
@@ -905,7 +905,7 @@
private:
void WriteSymbolsList(const ZoneList<ELFSymbol>* src,
Writer::Slot<ELFSymbol::SerializedLayout> dst,
- StringTable* strtab) {
+ ELFStringTable* strtab) {
for (int i = 0, len = src->length();
i < len;
i++) {
@@ -1023,7 +1023,7 @@
int text_section_index) {
Zone* zone = desc->info()->zone();
ELFSymbolTable* symtab = new(zone) ELFSymbolTable(".symtab", zone);
- StringTable* strtab = new(zone) StringTable(".strtab");
+ ELFStringTable* strtab = new(zone) ELFStringTable(".strtab");
// Symbol table should be followed by the linked string table.
elf->AddSection(symtab, zone);
@@ -1996,7 +1996,7 @@
}
-void GDBJITInterface::AddCode(Handle<String> name,
+void GDBJITInterface::AddCode(Handle<Name> name,
Handle<Script> script,
Handle<Code> code,
CompilationInfo* info) {
@@ -2005,8 +2005,9 @@
// Force initialization of line_ends array.
GetScriptLineNumber(script, 0);
- if (!name.is_null()) {
- SmartArrayPointer<char> name_cstring = name->ToCString(DISALLOW_NULLS);
+ if (!name.is_null() && name->IsString()) {
+ SmartArrayPointer<char> name_cstring =
+ Handle<String>::cast(name)->ToCString(DISALLOW_NULLS);
AddCode(*name_cstring, *code, GDBJITInterface::FUNCTION, *script, info);
} else {
AddCode("", *code, GDBJITInterface::FUNCTION, *script, info);
@@ -2124,10 +2125,14 @@
void GDBJITInterface::AddCode(GDBJITInterface::CodeTag tag,
- String* name,
+ Name* name,
Code* code) {
if (!FLAG_gdbjit) return;
- AddCode(tag, name != NULL ? *name->ToCString(DISALLOW_NULLS) : NULL, code);
+ if (name != NULL && name->IsString()) {
+ AddCode(tag, *String::cast(name)->ToCString(DISALLOW_NULLS), code);
+ } else {
+ AddCode(tag, "", code);
+ }
}
« no previous file with comments | « src/gdb-jit.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698