diff --git a/include/llvm/CodeGen/MachineRelocation.h b/include/llvm/CodeGen/MachineRelocation.h
index 4b655ed..80cd035 100644
--- a/include/llvm/CodeGen/MachineRelocation.h
+++ b/include/llvm/CodeGen/MachineRelocation.h
@@ -234,9 +234,9 @@
     return AddrType == isBB;
   }
 
-  /// isString - Return true if this is a constant string.
+  /// isExternalSymbol - Return true if this is a constant string.
   ///
-  bool isString() const {
+  bool isExternalSymbol() const {
     return AddrType == isExtSym;
   }
 
@@ -287,8 +287,8 @@
 
   /// getString - If this is a string value, return the string reference.
   ///
-  const char *getString() const {
-    assert(isString() && "This is not a string reference!");
+  const char *getExternalSymbol() const {
+    assert(isExternalSymbol() && "This is not an external symbol reference!");
     return Target.ExtSym;
   }
 
diff --git a/lib/ExecutionEngine/JIT/JITEmitter.cpp b/lib/ExecutionEngine/JIT/JITEmitter.cpp
index ce3df8a..9062cee 100644
--- a/lib/ExecutionEngine/JIT/JITEmitter.cpp
+++ b/lib/ExecutionEngine/JIT/JITEmitter.cpp
@@ -885,9 +885,9 @@
       MachineRelocation &MR = Relocations[i];
       void *ResultPtr = 0;
       if (!MR.letTargetResolve()) {
-        if (MR.isString()) {
-          ResultPtr = TheJIT->getPointerToNamedFunction(MR.getString());
-          DOUT << "JIT: Map \'" << MR.getString() << "\' to ["
+        if (MR.isExternalSymbol()) {
+          ResultPtr = TheJIT->getPointerToNamedFunction(MR.getExternalSymbol());
+          DOUT << "JIT: Map \'" << MR.getExternalSymbol() << "\' to ["
                << ResultPtr << "]\n";  
 
           // If the target REALLY wants a stub for this function, emit it now.
