mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-03 11:24:18 +00:00
Remove object_error::success and use std::error_code() instead
make_error_code(object_error) is slow because object::object_category() uses a ManagedStatic variable. But the real problem is that the function is called too frequently. This patch uses std::error_code() instead of object_error::success. In most cases, we return "success", so this patch reduces number of function calls to that function. http://reviews.llvm.org/D10333 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@239409 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -224,7 +224,7 @@ Archive::Archive(MemoryBufferRef Source, std::error_code &ec)
|
||||
child_iterator e = child_end();
|
||||
|
||||
if (i == e) {
|
||||
ec = object_error::success;
|
||||
ec = std::error_code();
|
||||
return;
|
||||
}
|
||||
|
||||
@ -254,7 +254,7 @@ Archive::Archive(MemoryBufferRef Source, std::error_code &ec)
|
||||
SymbolTable = i;
|
||||
++i;
|
||||
FirstRegular = i;
|
||||
ec = object_error::success;
|
||||
ec = std::error_code();
|
||||
return;
|
||||
}
|
||||
|
||||
@ -298,14 +298,14 @@ Archive::Archive(MemoryBufferRef Source, std::error_code &ec)
|
||||
StringTable = i;
|
||||
++i;
|
||||
FirstRegular = i;
|
||||
ec = object_error::success;
|
||||
ec = std::error_code();
|
||||
return;
|
||||
}
|
||||
|
||||
if (Name[0] != '/') {
|
||||
Format = has64SymTable ? K_MIPS64 : K_GNU;
|
||||
FirstRegular = i;
|
||||
ec = object_error::success;
|
||||
ec = std::error_code();
|
||||
return;
|
||||
}
|
||||
|
||||
@ -320,7 +320,7 @@ Archive::Archive(MemoryBufferRef Source, std::error_code &ec)
|
||||
++i;
|
||||
if (i == e) {
|
||||
FirstRegular = i;
|
||||
ec = object_error::success;
|
||||
ec = std::error_code();
|
||||
return;
|
||||
}
|
||||
|
||||
@ -332,7 +332,7 @@ Archive::Archive(MemoryBufferRef Source, std::error_code &ec)
|
||||
}
|
||||
|
||||
FirstRegular = i;
|
||||
ec = object_error::success;
|
||||
ec = std::error_code();
|
||||
}
|
||||
|
||||
Archive::child_iterator Archive::child_begin(bool SkipInternal) const {
|
||||
|
Reference in New Issue
Block a user