Changeset 153262 in webkit for trunk/Source/JavaScriptCore/disassembler
- Timestamp:
- Jul 24, 2013, 9:04:16 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/disassembler/LLVMDisassembler.cpp
r153256 r153262 34 34 namespace JSC { 35 35 36 static const unsigned symbolStringSize = 20;36 static const unsigned symbolStringSize = 40; 37 37 38 38 static const char *symbolLookupCallback( … … 40 40 const char** referenceName) 41 41 { 42 // Set this if you want to debug an unexpected reference type. Currently we only encounter these 43 // if we try to disassemble garbage, since our code generator never uses them. These include things 44 // like PC-relative references. 45 static const bool crashOnUnexpected = false; 46 42 47 char* symbolString = static_cast<char*>(opaque); 43 48 … … 53 58 return symbolString; 54 59 default: 55 dataLog("referenceValue = ", referenceValue, "\n"); 56 dataLog("referenceType = ", RawPointer(referenceType), ", *referenceType = ", *referenceType, "\n"); 57 dataLog("referencePC = ", referencePC, "\n"); 58 dataLog("referenceName = ", RawPointer(referenceName), "\n"); 59 60 RELEASE_ASSERT_NOT_REACHED(); 61 return 0; 60 if (crashOnUnexpected) { 61 dataLog("referenceValue = ", referenceValue, "\n"); 62 dataLog("referenceType = ", RawPointer(referenceType), ", *referenceType = ", *referenceType, "\n"); 63 dataLog("referencePC = ", referencePC, "\n"); 64 dataLog("referenceName = ", RawPointer(referenceName), "\n"); 65 66 RELEASE_ASSERT_NOT_REACHED(); 67 } 68 69 *referenceName = "unimplemented reference type!"; 70 *referenceType = LLVMDisassembler_ReferenceType_InOut_None; 71 snprintf( 72 symbolString, symbolStringSize, "unimplemented:0x%lx", 73 static_cast<unsigned long>(referenceValue)); 74 return symbolString; 62 75 } 63 76 }
Note:
See TracChangeset
for help on using the changeset viewer.