History log of /frameworks/compile/libbcc/lib/ExecutionEngine/MCCacheReader.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
758d00c68b5bb43ed8062563bdd55285b883e8ca 03-May-2012 Stephen Hines <srhines@google.com> Revert "Introduce InputFile/OutputFile and FileMutex."

This reverts commit d670be7a08cb85329ff3b5e9039cda9ffa4a35a1.

Conflicts:

lib/ExecutionEngine/InputFile.cpp
lib/ExecutionEngine/OutputFile.cpp

Change-Id: I99d5ed4cbda7296a399d683dfa264ce68bc4ddf3
/frameworks/compile/libbcc/lib/ExecutionEngine/MCCacheReader.cpp
5fb1474ac61aa87a2622661e1708672ef96ec8c0 03-May-2012 Stephen Hines <srhines@google.com> Revert "Introduce SymbolResolver and its subclasses."

This reverts commit ee69009f3590748aac4db17c0f9774252326d6cb.
/frameworks/compile/libbcc/lib/ExecutionEngine/MCCacheReader.cpp
0f6b1d319d0d3605042345c4a6973e9c4e9161d7 03-May-2012 Stephen Hines <srhines@google.com> Revert "Introduce RSInfo and its reader/extractor/writer."

This reverts commit 255cbc8a78131fd828de0fac3ff70baeaa2f032f.

Conflicts:

lib/ExecutionEngine/RSInfoExtractor.cpp

Change-Id: I533398c25cd7fde2a76418101d29374b6e1d2b27
/frameworks/compile/libbcc/lib/ExecutionEngine/MCCacheReader.cpp
4a68b1cb89df9507584a51c3444aff99347afb74 03-May-2012 Stephen Hines <srhines@google.com> Revert "Switch to use RSCompilerDriver."

This reverts commit fef9a1b0b772034b4f0894d1e2b29d1115617be0.

Conflicts:

lib/ExecutionEngine/RSCompiler.cpp

Change-Id: Ic6f3a3643e286a20799e1c7f03dee5d6c3683fef
/frameworks/compile/libbcc/lib/ExecutionEngine/MCCacheReader.cpp
fef9a1b0b772034b4f0894d1e2b29d1115617be0 13-Apr-2012 Zonr Chang <zonr.net@gmail.com> Switch to use RSCompilerDriver.

This commit is large. It does:

1. Clean-up RSScript. ScriptCached and ScriptCompiled are removed.
2. Switch to use CompilerConfig.
3. Switch to use RSInfo. MCCacheReader and MCCacheWriter are removed.
4. Update C API implementation of libbcc (i.e., bcc.cpp). Note that
it'll be completely removed once there's no clients relying on it.
/frameworks/compile/libbcc/lib/ExecutionEngine/MCCacheReader.cpp
255cbc8a78131fd828de0fac3ff70baeaa2f032f 12-Apr-2012 Zonr Chang <zonr.net@gmail.com> Introduce RSInfo and its reader/extractor/writer.

This commit only adds files that implements RSInfo class and DOES
NOT switch to use it.

RSInfo defines the new file format to cache the metadata and
RS-specific information from the source bitcode.

It's the replacement of the old "MC cache" whose name is ambiguous
and some fields within that are deprecated after legacy JIT was
removed.

Reader of RSInfo reads information from the file we called "RS info
file." It will replace MCCacheReader.

Extractor of RSInfo extracts information from the metadata section of
the source bitcode. It will replace MetadataExtractor.

Writer of RSInfo serializes a RSInfo object to a file such that
we can load it quickly using RSInfo reader later. It will replace
MCCacheWriter.

RSInfo unifies the interfaces to get the RS-specific information
such as #rs_export_var supplied by the developers either from file
(RS info file) or from the source bitcode. Later commit will prove
that.

RSInfo uses signature ("\0rsinfo\n") which is different from the
old MC cache ("\0bcc").

The version (MCO_VERSION in bcc_mccache.h) is increased by 1 in this
commit since we remove res_type in MCO_Dependency. RSInfo inherits
the version number comes from old MC cache therefore its version
number starts with 3.
/frameworks/compile/libbcc/lib/ExecutionEngine/MCCacheReader.cpp
ee69009f3590748aac4db17c0f9774252326d6cb 11-Apr-2012 Zonr Chang <zonr.net@gmail.com> Introduce SymbolResolver and its subclasses.

SymbolResolver provides a clean way to do the symbol lookup at
runtime.

LookupFunctionSymbolResolver searches a symbol through a given
function with context supplied.

BCCRuntimeSymbolResolver searches symbol from a predefined symbol-to-
address array which replaces the FindRuntime() function defined in
Runtime.c previously.

SymbolResolverProxy chains the SymbolResolvers and searches the symbol
one by one following the chain until it founds the definition of the
symbol.
/frameworks/compile/libbcc/lib/ExecutionEngine/MCCacheReader.cpp
d670be7a08cb85329ff3b5e9039cda9ffa4a35a1 05-Apr-2012 Zonr Chang <zonr.net@gmail.com> Introduce InputFile/OutputFile and FileMutex.

FileHandle is replaced with InputFile/OutputFile and FileMutex.

Use InputFile when you want to open a file in read-only.
USe OutputFile when you open a file for writing.
Both of them provide a reliable way to access the files and perform
the I/O operations.

Given a name "foo", FileMutex creates a file named "foo.lock" and
tries to acquire an advisory lock (flock) on this file.

FileHandle, which uses the file it's openning for locking, may corrupt
the file contents when two or more processes are trying to gain the
lock for reading/writing. For example:

Process #2 creates foo
Process #1 opens foo
Process #2 opens foo
Process #2 locks foo (exclusively) (success)
Process #1 locks foo (failed, retry #1)
Process #2 starts writing foo
Process #1 opens and truncates foo (note there’s O_TRUNC in the flag)
Process #2 writes foo continually (foo is corrupted from now on ...)
Process #1 locks foo (failed, retry #2)
...
Process #1 locks foo (reach the max retries and return)
Process #2 gets done on writing foo (foo is corrupted ...)
Process #2 unlocks and closes foo (foo is corrupted)
/frameworks/compile/libbcc/lib/ExecutionEngine/MCCacheReader.cpp
f2f743bfa22759b7374b0a50b7304637092ea9ac 22-Mar-2012 Stephen Hines <srhines@google.com> am e7483737: am 98265568: Merge "Fix (GDB) debugging of code loaded from cache"

* commit 'e748373746b0a9224f1a1367321d53cdca8220c4':
Fix (GDB) debugging of code loaded from cache
76a57eaef13489b981364a2891c894b6e9610ecd 21-Mar-2012 Daniel Malea <daniel.malea@intel.com> Fix (GDB) debugging of code loaded from cache

When loading code from cache, set ELF section headers to point to real
location of executable code. This fixes GDB errors about being unable to
insert breakpoints at an invalid address.

Change-Id: I81f56a50b29ba34085fcac8630a188224313b3d1
/frameworks/compile/libbcc/lib/ExecutionEngine/MCCacheReader.cpp
0e56786df8c1d4828798f91fe2bf850d414ee04f 12-Mar-2012 Stephen Hines <srhines@google.com> Remove USE_CACHE support, since we only need MC support.

BUG=6051742

This change also removes the legacy bcc_cache.h header by moving any relevant
defines still there to bcc_mccache.h. These types/values are now renamed to
generally use "MCO" instead of "OBCC".

Change-Id: I6c611bd296c0335cacd82025933f36eb55bff72f
/frameworks/compile/libbcc/lib/ExecutionEngine/MCCacheReader.cpp
369996246f0e2a33bb1a0aae2a8d9f91a8ffa671 12-Mar-2012 Stephen Hines <srhines@google.com> Remove USE_MCJIT configuration flags, since MC is the only path.

BUG=6051742

This also removes references to MCJIT, since we use MC CodeGen, and not the
actual LLVM MCJIT path.

Change-Id: I3518ae7c91952251a3bd2fc4c3b2a418572a4998
/frameworks/compile/libbcc/lib/ExecutionEngine/MCCacheReader.cpp
e0918ac3cd6070c084b76d737af055e88a7679db 02-Mar-2012 Stephen Hines <srhines@google.com> resolved conflicts for merge of 7c75d915 to master

Change-Id: I25c1dc90af679e2463abffd33ee8838b4727396f
094881f513ab366f7ffd0b2c7778ab50281ca59e 14-Dec-2011 Daniel Malea <daniel.malea@intel.com> Enable debugging of RS code under GDB

- Add/integrate GDBJITRegistrar support class for interfacing with GDB
-- Once the GDBJITRegistrar is merged into LLVM trunk (and AOSP upgrades LLVM)
all files GDB* should be removed, and replaced with appropriate includes

- Basic [host|target]-side integration tests
-- host-tests: use bcc driver and clang to verify gdb output
-- target-tests: run skeleton apk on target and verify gdb output

- Add support for optimization_level metadata in bcinfo, libbcc
-- Disabled some LTO passes when optimization_level = 0
-- move register allocator registration after metadata inspection

- Initial version of android-commands.py GDB plugin (for test infrastructure)
-- relevant commands: load-android-app, run-android-app, start-android-app
-- tested versions: gdb (7.2, 7.3), python (2.6, 2.7)

- build 'bcc' driver tool by default in eng builds

Change-Id: I99e0c11c8591c6d911632c1dcc82dd8fbe1244a8
/frameworks/compile/libbcc/lib/ExecutionEngine/MCCacheReader.cpp
cc366e573e31f43a6101fd6e04b90c6afdc3b7a7 22-Feb-2012 Stephen Hines <srhines@google.com> Support ForEachExpand on non-root functions.

BUG=6000538

Change-Id: I36e78ced0715b060af0938f1480df240cf6ba707
/frameworks/compile/libbcc/lib/ExecutionEngine/MCCacheReader.cpp
10c1412e6cb35cfc90abb5e36ba1340a8c55f44e 08-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/157220

Bug: 5449033
Change-Id: Ic34de235eb1cd094af555d7299da643a626ca092
/frameworks/compile/libbcc/lib/ExecutionEngine/MCCacheReader.cpp
440e031e407dc3db983784cf0b23322a33ebfdca 04-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/156801

Bug: 5449033
Change-Id: I53a03ecbc37acbc7f175faef64f74423f491827a
/frameworks/compile/libbcc/lib/ExecutionEngine/MCCacheReader.cpp
b20498ea84029ae2d793bd2ca488883a804b061b 20-Dec-2011 Steve Block <steveblock@google.com> Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/156016

Bug: 5449033
Change-Id: Icceeacebb848533d7e9200e1c643b096d75b6e4a
/frameworks/compile/libbcc/lib/ExecutionEngine/MCCacheReader.cpp
34c600a77b0dd2f27fabbc4b6b3b94ed12af2a57 26-Jul-2011 Joseph Wen <josephwen@google.com> Add bccPrepareSharedObject

Unlike bccPrepareExecuteable, bccPrepareSharedObject does not
resolve external symbols; therefore it only generate cache file
not execuable.

Change-Id: I3ef093015a4f54011fbf298123cac2464230b408
/frameworks/compile/libbcc/lib/ExecutionEngine/MCCacheReader.cpp
d2a5f305f48c47b9e98a0d7ccdd0cf027bdcfe18 19-Jul-2011 Logan Chien <loganchien@google.com> Separate OLD_JIT code.

Either move Old JIT code into OldJIT directory or wrap them
with #if USE_OLD_JIT, so that we can remove Old JIT easily
in the future.

Change-Id: Id820cc2143ac4b7685460ba38258c664f4da495e
/frameworks/compile/libbcc/lib/ExecutionEngine/MCCacheReader.cpp
deff73980feb4eb760e98e24611375d967bf6107 11-Jul-2011 Doug Kwan <dougkwan@google.com> Fix conversion from a bool value to a pointer.

Change-Id: I7e634ac08b6a54586ed2a335095515619ef1614d
/frameworks/compile/libbcc/lib/ExecutionEngine/MCCacheReader.cpp
8eabcbf188f6e58217ad316271ea5e984d6eacce 07-Jul-2011 Joseph Wen <josephwen@google.com> Remove unused code in MCCacheReader/Writer

Change-Id: I31dd0c401bbd4f979849387c1b34e60c7d33770d
/frameworks/compile/libbcc/lib/ExecutionEngine/MCCacheReader.cpp
f36637f60d8fd35c43ad52bd06d3372c9bc8fb19 07-Jul-2011 Joseph Wen <josephwen@google.com> Fixbug 4995931

Do symbol look up every time the object file is loaded from cache.

Change-Id: I63184d3fc519270dfe4fc86e90efbf8552e0f584
/frameworks/compile/libbcc/lib/ExecutionEngine/MCCacheReader.cpp
a61d501206d5bee1ff331caa29bd556dd20551ac 02-Jul-2011 Ying Wang <wangying@google.com> Fix build.

Change-Id: I48b2fdedc86100d3896d2145cf7d0046abdfc767
/frameworks/compile/libbcc/lib/ExecutionEngine/MCCacheReader.cpp
2ca6e576421e86e0128991b825c238f1d4221910 24-Jun-2011 Joseph Wen <josephwen@google.com> Fix the libbcc SHA1 checksum dependency

Calculate SHA1 checksum of libbcc.so and libRS.so at compile time.

Change-Id: Ief1c20e20d62f5d5bf0a62592e081d4a6d77dcd4
/frameworks/compile/libbcc/lib/ExecutionEngine/MCCacheReader.cpp
d18a3df2628d26f65a1172ec2e3e0816731499f9 25-Jun-2011 Stephen Hines <srhines@google.com> Revert "Fix the libbcc SHA1 checksum dependency"

This reverts commit 89175b9e4c07df1302374421096d6e1355954ace.
/frameworks/compile/libbcc/lib/ExecutionEngine/MCCacheReader.cpp
89175b9e4c07df1302374421096d6e1355954ace 24-Jun-2011 Joseph Wen <josephwen@google.com> Fix the libbcc SHA1 checksum dependency

Calculate SHA1 checksum of libbcc.so and libRS.so at compile time.

Change-Id: Ifc6cf6e309155229fe1ab1228c0eb77175fbd8f0
/frameworks/compile/libbcc/lib/ExecutionEngine/MCCacheReader.cpp
4e199def03f60a4b5ba03f741603eeb25316527b 24-Jun-2011 Joseph Wen <josephwen@google.com> Fixbug libbcc cache variable relocation.

Change-Id: I18f98e366dfc57b5e81dfdcfadcf5d99fbf9ffd2
/frameworks/compile/libbcc/lib/ExecutionEngine/MCCacheReader.cpp
5de1adfe315bbb088f7614936b1023c6d6d3fc35 22-Jun-2011 Joseph Wen <josephwen@google.com> Use SHA1 to verify libbcc is consistent with cache

Modify Android.mk to build a host version of sha1sum.
Modify bcc and MCCacheReader/Writer to check for sha1 on runtime.

Change-Id: I0aa32e2efd85e21f67cd46a20a9e55a430c41f30
/frameworks/compile/libbcc/lib/ExecutionEngine/MCCacheReader.cpp
6d0804b59a47c62b287f1935fc955b2a4da91ad5 19-Jun-2011 Shih-wei Liao <sliao@google.com> Fix coding style

Change-Id: I1e9f9fb3dde91aee5da4fe89a94171a952d43781
/frameworks/compile/libbcc/lib/ExecutionEngine/MCCacheReader.cpp
5e3e0ce19d80c9a42b89ca95f22d98fbbe6ffb14 17-Jun-2011 Shih-wei Liao <sliao@google.com> josephwen Adds caching for MC JIT.

New MCCacheReader in addition to the classic JIT's CacheReader.[cpp|h].
New MCCacheWriter in addition to the classic JIT's CacheReader.[cpp|h].

Change-Id: Iffd490caf25136d52cefc1c6bc2a78fa991236cd
/frameworks/compile/libbcc/lib/ExecutionEngine/MCCacheReader.cpp