diff options
author | Elena Demikhovsky <elena.demikhovsky@intel.com> | 2014-04-06 11:08:33 +0000 |
---|---|---|
committer | Elena Demikhovsky <elena.demikhovsky@intel.com> | 2014-04-06 11:08:33 +0000 |
commit | ec8891fddecf0e5441bc20222e47dc571afe6fc5 (patch) | |
tree | 9cf0a01937b3958f7436b2628f85a8b90ce7d702 | |
parent | 2e858fcaad72d7b6ed994436e25af083ee5ecde2 (diff) | |
download | llvm-ec8891fddecf0e5441bc20222e47dc571afe6fc5.tar.gz llvm-ec8891fddecf0e5441bc20222e47dc571afe6fc5.tar.bz2 llvm-ec8891fddecf0e5441bc20222e47dc571afe6fc5.tar.xz |
Changes in IntelJITEventListener - By Arch Robinson
- take->release: LLVM has moved to C++11. MockWrapper became an instance of unique_ptr.
- method symbol_iterator::increment disappeared recently, in this revision:
r200442 | rafael | 2014-01-29 20:49:50 -0600 (Wed, 29 Jan 2014) | 9 lines
Simplify the handling of iterators in ObjectFile.
None of the object file formats reported error on iterator increment. In
retrospect, that is not too surprising: no object format stores symbols or
sections in a linked list or other structure that requires chasing pointers.
As a consequence, all error checking can be done on begin() and end().
This reduces the text segment of bin/llvm-readobj in my machine from 521233 to
518526 bytes.
My change mimics the change that the revision made to lib/DebugInfo/DWARFContext.cpp .
- const_cast: Shut up a warning from gcc.
I ran unittests/ExecutionEngine/JIT/Debug+Asserts/JITTests to make sure it worked.
- Arch
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@205689 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/ExecutionEngine/IntelJITEvents/IntelJITEventListener.cpp | 7 | ||||
-rw-r--r-- | unittests/ExecutionEngine/JIT/IntelJITEventListenerTest.cpp | 2 |
2 files changed, 4 insertions, 5 deletions
diff --git a/lib/ExecutionEngine/IntelJITEvents/IntelJITEventListener.cpp b/lib/ExecutionEngine/IntelJITEvents/IntelJITEventListener.cpp index 2ca4e3e411..39b9c0431f 100644 --- a/lib/ExecutionEngine/IntelJITEvents/IntelJITEventListener.cpp +++ b/lib/ExecutionEngine/IntelJITEvents/IntelJITEventListener.cpp @@ -193,11 +193,10 @@ void IntelJITEventListener::NotifyObjectEmitted(const ObjectImage &Obj) { MethodAddressVector Functions; // Use symbol info to iterate functions in the object. - error_code ec; for (object::symbol_iterator I = Obj.begin_symbols(), E = Obj.end_symbols(); - I != E && !ec; - I.increment(ec)) { + I != E; + ++I) { std::vector<LineNumberInfo> LineInfo; std::string SourceFileName; @@ -234,7 +233,7 @@ void IntelJITEventListener::NotifyObjectEmitted(const ObjectImage &Obj) { FunctionMessage.line_number_table = 0; } else { SourceFileName = Lines.front().second.getFileName(); - FunctionMessage.source_file_name = (char *)SourceFileName.c_str(); + FunctionMessage.source_file_name = const_cast<char *>(SourceFileName.c_str()); FunctionMessage.line_number_size = LineInfo.size(); FunctionMessage.line_number_table = &*LineInfo.begin(); } diff --git a/unittests/ExecutionEngine/JIT/IntelJITEventListenerTest.cpp b/unittests/ExecutionEngine/JIT/IntelJITEventListenerTest.cpp index d3f66a27e9..db9088777a 100644 --- a/unittests/ExecutionEngine/JIT/IntelJITEventListenerTest.cpp +++ b/unittests/ExecutionEngine/JIT/IntelJITEventListenerTest.cpp @@ -83,7 +83,7 @@ public: EXPECT_TRUE(0 != MockWrapper); Listener.reset(JITEventListener::createIntelJITEventListener( - MockWrapper.take())); + MockWrapper.release())); EXPECT_TRUE(0 != Listener); EE->RegisterJITEventListener(Listener.get()); } |