History log of /frameworks/compile/libbcc/lib/ExecutionEngine/MCCacheWriter.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
97c92c2d0604ea9cc4cd878f0f1901efc79c8835 03-May-2012 Stephen Hines <srhines@google.com> Revert "Introduce new Script class."

This reverts commit 19218c0731e8172bd0af476779a57da4c30ec77d.
/frameworks/compile/libbcc/lib/ExecutionEngine/MCCacheWriter.cpp
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/MCCacheWriter.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/MCCacheWriter.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/MCCacheWriter.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/MCCacheWriter.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/MCCacheWriter.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/MCCacheWriter.cpp
19218c0731e8172bd0af476779a57da4c30ec77d 05-Apr-2012 Zonr Chang <zonr.net@gmail.com> Introduce new Script class.

Script basically manages a source object to be compiled.

Refactor Renderscript stuffs out from class Script to RSScript and
extend RSScript from Script (IS-A relation.)

No functionality changed.
/frameworks/compile/libbcc/lib/ExecutionEngine/MCCacheWriter.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/MCCacheWriter.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/MCCacheWriter.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/MCCacheWriter.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/MCCacheWriter.cpp
4928104ef3aad39e00d22ac81fd2aad6d41a25bf 26-Jul-2011 Joseph Wen <josephwen@google.com> Fixbug remove symbol lookup at MCCacheWriter

Change-Id: I4755bc99a414653c897f26609ad1bdc640f571ea
/frameworks/compile/libbcc/lib/ExecutionEngine/MCCacheWriter.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/MCCacheWriter.cpp
8eabcbf188f6e58217ad316271ea5e984d6eacce 07-Jul-2011 Joseph Wen <josephwen@google.com> Remove unused code in MCCacheReader/Writer

Change-Id: I31dd0c401bbd4f979849387c1b34e60c7d33770d
/frameworks/compile/libbcc/lib/ExecutionEngine/MCCacheWriter.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/MCCacheWriter.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/MCCacheWriter.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/MCCacheWriter.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/MCCacheWriter.cpp
4e199def03f60a4b5ba03f741603eeb25316527b 24-Jun-2011 Joseph Wen <josephwen@google.com> Fixbug libbcc cache variable relocation.

Change-Id: I18f98e366dfc57b5e81dfdcfadcf5d99fbf9ffd2
/frameworks/compile/libbcc/lib/ExecutionEngine/MCCacheWriter.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/MCCacheWriter.cpp
6d0804b59a47c62b287f1935fc955b2a4da91ad5 19-Jun-2011 Shih-wei Liao <sliao@google.com> Fix coding style

Change-Id: I1e9f9fb3dde91aee5da4fe89a94171a952d43781
/frameworks/compile/libbcc/lib/ExecutionEngine/MCCacheWriter.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/MCCacheWriter.cpp