f5df8974173124faddb8e2b6a331959afdb94fdf |
|
14-Feb-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Rewrite the compiler interface for CompilerDriver. Change-Id: I15fa9afe7ffb7283ebda8d788a1e02793e3f75a6
|
2b5eaa2b49f7489bafdadc4b4463ae27e4261817 |
|
13-Dec-2013 |
Vladimir Marko <vmarko@google.com> |
Move compiler code out of method verifier. We want to detect small methods for inlining at the end of the method verification. Instead of adding more compiler code to the runtime, we create a callback from the runtime into the compiler, so that we can keep the code there. Additionally, we move the compiler-related code that was already in the method verifier to the compiler since it doesn't really belong to the runtime in the first place. Change-Id: I708ca13227c809e07917ff3879a89722017e83a9
|
ee39a10e45a6a0880e8b829525c40d6055818560 |
|
19-Sep-2013 |
Ian Rogers <irogers@google.com> |
Use class def index from java.lang.Class. Bug: 10244719 This removes the computation of the dex file index, when necessary this is computed by searching the dex file. Its only necessary in dalvik.system.DexFile.defineClassNative and DexFile::FindInClassPath, the latter not showing up significantly in profiling with this change. (cherry-picked from 8b2c0b9abc3f520495f4387ea040132ba85cae69) Change-Id: I20c73a3b17d86286428ab0fd21bc13f51f36c85c
|
8b2c0b9abc3f520495f4387ea040132ba85cae69 |
|
19-Sep-2013 |
Ian Rogers <irogers@google.com> |
Use class def index from java.lang.Class. Bug: 10244719 Depends on: https://googleplex-android-review.git.corp.google.com/362363 This removes the computation of the dex file index, when necessary this is computed by searching the dex file. Its only necessary in dalvik.system.DexFile.defineClassNative and DexFile::FindInClassPath, the latter not showing up significantly in profiling with this change. Change-Id: I20c73a3b17d86286428ab0fd21bc13f51f36c85c
|
193bad9b9cfd10642043fa2ebbfc68bd5f9ede4b |
|
30-Aug-2013 |
Mathieu Chartier <mathieuc@google.com> |
Multi threaded hashed deduplication during compilation. Moved deduplication to be in the compiler driver instead of oat writer. This enables deduplication to be performed on multiple threads. Also added a hash function to avoid excessive comparison of byte arrays. Improvements: Before (alloats host): real 1m6.967s user 4m22.940s sys 1m22.610s Thinkfree.apk (target mako): 0m23.74s real 0m50.95s user 0m9.50s system 0m24.62s real 0m50.61s user 0m10.07s system 0m24.22s real 0m51.44s user 0m10.09s system 0m23.70s real 0m51.05s user 0m9.97s system 0m23.50s real 0m50.74s user 0m10.63s system After (alloats host): real 1m5.705s user 4m44.030s sys 1m29.990s Thinkfree.apk (target mako): 0m23.32s real 0m51.38s user 0m10.00s system 0m23.49s real 0m51.20s user 0m9.80s system 0m23.18s real 0m50.80s user 0m9.77s system 0m23.52s real 0m51.22s user 0m10.02s system 0m23.50s real 0m51.55s user 0m9.46s system Bug: 10552630 Change-Id: Ia6d06a747b86b0bfc4473b3cd68f8ce1a1c7eb22
|
90af14d2743614e3e1453984b14258a6f145501d |
|
16-Aug-2013 |
Dragos Sbirlea <dragoss@google.com> |
Get SEA fibonacci running in interpreter mode. Android.mk: Added new file to build. compile_driver.cc: Moved SE_IR usage test in the block protected by bool compile, which is enabled by adding a sepatate test in IsCnadidateForCompilation. class_linker.cc: Added check in NeedsInterpreter to enable SEA_IR. art_method-inl.h: DIsabled check in SEA_IR mode. method_verifier.cc: Added check for SEA_IR mode. method_verifier.h: Chenged IsCandidateForCompilation signature to allow testing the function name (for SEA_IR selective compilation). dot_gen.h: Updated ART file API usage to altest version. sea_ir/frontend.cc: Passing function symbol name to CompileMethod. instruction_Nodes.h: Added accessor for method index for InvokeStatic IR node. sea.cc: Added additional IR SignatureNode for function calls (extra Method parameter). Fixed UnnamedConstant constant value. sea.h: Passing function_name to GenerateLLVM. type_inference_visitor.cc: Aded type for first (placeholder) method parameter. Change-Id: I295858ea0761a3dffb36f35748d8b93d4919d6a9
|
bd136a29f08486525d6abc7d0a0006ce5b4011c1 |
|
14-Aug-2013 |
Dragos Sbirlea <dragoss@google.com> |
Get PORTABLE + SMALL on x86. Implemented the portable resolution trampoline and the portable to interpreter bridge. Also work on integrating SEA_IR in the PORTABLE+SMALL framework. Refactor some naming and correct indenting. Change-Id: Ibd97da5e5b6f5148274c9bff368e3654b661ef51
|
a3519a48b94abfaf6571f5e9bbbe943e0fc314c2 |
|
07-Aug-2013 |
Dragos Sbirlea <dragoss@google.com> |
Renamed SeaGraph::GetCurrentGraph to GetGraph for clarity. Change-Id: Iffd51660fd7ac01a1458375cea6c2ed8b44ffaaf
|
bfaf44fa3366955a2bacb2c38c79b53df2434582 |
|
07-Aug-2013 |
Dragos Sbirlea <dragoss@google.com> |
Refactored SEA IR folder structure to be more logical. Change-Id: I302c79af92c07cceb38dff36efe416bfa4869a91
|
6547fa9749d0e32cc367d64f8cc6b3d65bf43a5d |
|
06-Aug-2013 |
Dragos Sbirlea <dragoss@google.com> |
SEA IR type handling complete for fibonacci. types.h: Encapsulated types map into separate class. code_gen.*, visitor.h: Added visitor function for unnamed constants to enable correct .dot display and type handling. type_inference_visitor.cc: Propagated types through phi functions, invoke, add-int instructions. Added SEA IR type merging functions. Change-Id: I0fb1c4d40e3af43dc295133a826ce125a787cc33
|
6447919b5ee8d34c4767f908c7cd7223c224544c |
|
02-Aug-2013 |
Dragos Sbirlea <dragoss@google.com> |
Generation of dot files through visitor.Added type info to .dot. visitor.h: Fixed formatting. type_inference.cc: Changed GetSSAConsumers() to return pointer. sea_node.h, sea.cc: Removed ToDot classes functions. instruction_nodes.h: Added acessor for SSA producers. Marked GetUses() as const. sea.h: Marked fields as const. frontend.cc: Changed .dot generation code. code_gen.h: Fixed include to have full path. Change-Id: Ia84371c171c4537d9cf2f56644baa075f1706df1
|
b40eddfc96b9ac235dea562e55ce2ad7b1cfb7c9 |
|
31-Jul-2013 |
Dragos Sbirlea <dragoss@google.com> |
Added SEA IR type infrastructure (and a bit of cleanup). compiler/Android.mk: Added new files to compile. instruction_nodes.h, code_gen.cc: Renamed GetSSAUses to GetSSAProducers to avoid confusion (uses of what?). sea.cc: Added invoke of type inference framework. sea.h: Expose dex_file through GetDexFile(). Added GetPositionInSIgnature() for SignatureNodes. sea.cc: Cleanup of debug output. visitor.h: Removed dependence on LLVM (now only in code_gen.*). Corrected minor typo in comment. frontend.cc: Renamed access_flags for clarity. Change-Id: I211d2e9ff1e0c4f910de73a52a5ac2c50e4ca7df
|
834b394ee759ed31c5371d8093d7cd8cd90014a8 |
|
31-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
Merge remote-tracking branch 'goog/dalvik-dev' into merge-art-to-dalvik-dev Change-Id: I323e9e8c29c3e39d50d9aba93121b26266c52a46
|
c16c5b4f7e984678ecdbc4b5319d5dbadfddb09d |
|
27-Jul-2013 |
Dragos Sbirlea <dragoss@google.com> |
Fixed 100 char limit in SEA IR files. Change-Id: I0fd6143ffdf50e3d2ac14901e9e75471a293df30
|
6bee4459691c8e3b20fc706e74d52d08a4869731 |
|
26-Jul-2013 |
Dragos Sbirlea <dragoss@google.com> |
Improvements and clustering for the .dot file generation. Dot clusters are used to show SEA IR regions. Passing around dex_file for improved instruction text representation. SeaGraph now stores the dex file. Removed all .dot edges except ssa edges and inter-region control flow. Changed color to gray for ssa edges and kept black for control flow. Consistently labeled SSA edges with virtual register number. Replaced stringstream with StringPrintf. Change-Id: I67d9d92e594d3f2de94eec1c78a64f3972ae60b1
|
7934ac288acfb2552bb0b06ec1f61e5820d924a4 |
|
26-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
Fix cpplint whitespace/comments issues Change-Id: Iae286862c85fb8fd8901eae1204cd6d271d69496
|
81f79a6672a0bd610f05770d8c96e03e276798da |
|
23-Jul-2013 |
Dragos Sbirlea <dragoss@google.com> |
Refactored string to int conversion. I was using stringstream for int to std::string, but the StringPrintf utility is shorter and cleaner. Change-Id: I454488602459071abb8b846ff7ac8b9594e9d824
|
751d4ed43e8118f145edf18db4d987daf7dabbae |
|
19-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
Fixing cpplint legal/copyright issues Change-Id: I9547b53bccb0e67079c5e9c6b26889316739dc64
|
7940e44f4517de5e2634a7e07d58d0fb26160513 |
|
12-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
Create separate Android.mk for main build targets The runtime, compiler, dex2oat, and oatdump now are in seperate trees to prevent dependency creep. They can now be individually built without rebuilding the rest of the art projects. dalvikvm and jdwpspy were already this way. Builds in the art directory should behave as before, building everything including tests. Change-Id: Ic6b1151e5ed0f823c3dd301afd2b13eb2d8feb81
|