https://github.com/Himself65/OpenArkCompiler
这三个 bin 是干啥的?
jbc2mpl maple mplcg
OpenArkCompiler git:(master) tree out
out
├── args.gn
├── bin
│ ├── java2jar
│ ├── jbc2mpl
│ ├── maple
│ └── mplcg
├── build.ninja
├── build.ninja.d
├── lib
│ ├── 64
│ │ ├── libHWSecureC.a
│ │ ├── libmpl2mpl.a
│ │ ├── libmplipa.a
│ │ ├── libmplir.a
│ │ ├── libmplme.a
│ │ └── libz_maple_host.a
│ └── libmplmewpo.a
├── obj
│ ├── ABS_PATH
│ │ └── home
│ │ └── 我大华为的科学技术世界第一
│ │ └── OpenArkCompiler
│ │ └── src
│ │ ├── huawei_secure_c
│ │ │ └── libHWSecureC.ninja
│ │ ├── mapleall.stamp
│ │ ├── maple_driver
│ │ │ └── maple.ninja
│ │ ├── maple_ipa
│ │ │ └── libmplipa.ninja
│ │ ├── maple_ir
│ │ │ └── libmplir.ninja
│ │ ├── maple_me
│ │ │ ├── libmplme.ninja
│ │ │ └── libmplmewpo.ninja
│ │ ├── mpl2mpl
│ │ │ └── libmpl2mpl.ninja
│ │ └── third_party
│ │ └── zlib-1.2.11
│ │ └── libz_maple_host.ninja
│ ├── maple.stamp
│ └── src
│ ├── huawei_secure_c
│ │ └── src
│ │ ├── libHWSecureC.fscanf_s.o
│ │ ├── libHWSecureC.fwscanf_s.o
│ │ ├── libHWSecureC.gets_s.o
│ │ ├── libHWSecureC.memcpy_s.o
│ │ ├── libHWSecureC.memmove_s.o
│ │ ├── libHWSecureC.memset_s.o
│ │ ├── libHWSecureC.scanf_s.o
│ │ ├── libHWSecureC.securecutil.o
│ │ ├── libHWSecureC.secureinput_a.o
│ │ ├── libHWSecureC.secureinput_w.o
│ │ ├── libHWSecureC.secureprintoutput_a.o
│ │ ├── libHWSecureC.secureprintoutput_w.o
│ │ ├── libHWSecureC.snprintf_s.o
│ │ ├── libHWSecureC.sprintf_s.o
│ │ ├── libHWSecureC.sscanf_s.o
│ │ ├── libHWSecureC.strcat_s.o
│ │ ├── libHWSecureC.strcpy_s.o
│ │ ├── libHWSecureC.strncat_s.o
│ │ ├── libHWSecureC.strncpy_s.o
│ │ ├── libHWSecureC.strtok_s.o
│ │ ├── libHWSecureC.swprintf_s.o
│ │ ├── libHWSecureC.swscanf_s.o
│ │ ├── libHWSecureC.vfscanf_s.o
│ │ ├── libHWSecureC.vfwscanf_s.o
│ │ ├── libHWSecureC.vscanf_s.o
│ │ ├── libHWSecureC.vsnprintf_s.o
│ │ ├── libHWSecureC.vsprintf_s.o
│ │ ├── libHWSecureC.vsscanf_s.o
│ │ ├── libHWSecureC.vswprintf_s.o
│ │ ├── libHWSecureC.vswscanf_s.o
│ │ ├── libHWSecureC.vwscanf_s.o
│ │ ├── libHWSecureC.wcscat_s.o
│ │ ├── libHWSecureC.wcscpy_s.o
│ │ ├── libHWSecureC.wcsncat_s.o
│ │ ├── libHWSecureC.wcsncpy_s.o
│ │ ├── libHWSecureC.wcstok_s.o
│ │ ├── libHWSecureC.wmemcpy_s.o
│ │ ├── libHWSecureC.wmemmove_s.o
│ │ └── libHWSecureC.wscanf_s.o
│ ├── maple_driver
│ │ └── src
│ │ ├── maple.compiler_factory.o
│ │ ├── maple.compiler.o
│ │ ├── maple.compiler_selector.o
│ │ ├── maple.driver_runner.o
│ │ ├── maple.file_utils.o
│ │ ├── maple.jbc2mpl_compiler.o
│ │ ├── maple.maple_comb_compiler.o
│ │ ├── maple.maple.o
│ │ ├── maple.mplcg_compiler.o
│ │ └── maple.mpl_options.o
│ ├── maple_ipa
│ │ └── src
│ │ ├── libmplipa.interleaved_manager.o
│ │ └── libmplipa.module_phase_manager.o
│ ├── maple_ir
│ │ └── src
│ │ ├── libmplir.bin_mpl_export.o
│ │ ├── libmplir.bin_mpl_import.o
│ │ ├── libmplir.global_tables.o
│ │ ├── libmplir.intrinsics.o
│ │ ├── libmplir.lexer.o
│ │ ├── libmplir.mir_builder.o
│ │ ├── libmplir.mir_const.o
│ │ ├── libmplir.mir_function.o
│ │ ├── libmplir.mir_lower.o
│ │ ├── libmplir.mir_module.o
│ │ ├── libmplir.mir_nodes.o
│ │ ├── libmplir.mir_parser.o
│ │ ├── libmplir.mir_pragma.o
│ │ ├── libmplir.mir_symbol.o
│ │ ├── libmplir.mir_type.o
│ │ ├── libmplir.opcode_info.o
│ │ ├── libmplir.option.o
│ │ ├── libmplir.parser.o
│ │ └── libmplir.printing.o
│ ├── maple_me
│ │ └── src
│ │ ├── libmplme.me_alias_class.o
│ │ ├── libmplme.me_bb_layout.o
│ │ ├── libmplme.me_cfg.o
│ │ ├── libmplme.me_dominance.o
│ │ ├── libmplme.me_emit.o
│ │ ├── libmplme.me_function.o
│ │ ├── libmplme.me_irmap.o
│ │ ├── libmplme.me_option.o
│ │ ├── libmplme.me_phase_manager.o
│ │ ├── libmplme.me_rc_lowering.o
│ │ ├── libmplme.me_ssa.o
│ │ ├── libmplme.me_ssa_tab.o
│ │ ├── libmplme.me_ssa_update.o
│ │ ├── libmplmewpo.alias_analysis_table.o
│ │ ├── libmplmewpo.alias_class.o
│ │ ├── libmplmewpo.bb.o
│ │ ├── libmplmewpo.dominance.o
│ │ ├── libmplmewpo.func_emit.o
│ │ ├── libmplmewpo.irmap_emit.o
│ │ ├── libmplmewpo.irmap.o
│ │ ├── libmplmewpo.me_ir.o
│ │ ├── libmplmewpo.orig_symbol.o
│ │ ├── libmplmewpo.ssa_mir_nodes.o
│ │ ├── libmplmewpo.ssa.o
│ │ ├── libmplmewpo.ssa_tab.o
│ │ └── libmplmewpo.ver_symbol.o
│ ├── mpl2mpl
│ │ └── src
│ │ ├── libmpl2mpl.class_hierarchy.o
│ │ ├── libmpl2mpl.class_init.o
│ │ ├── libmpl2mpl.gen_check_cast.o
│ │ ├── libmpl2mpl.java_eh_lower.o
│ │ ├── libmpl2mpl.java_intrn_lowering.o
│ │ ├── libmpl2mpl.muid_replacement.o
│ │ ├── libmpl2mpl.native_stub_func.o
│ │ ├── libmpl2mpl.reflection_analysis.o
│ │ ├── libmpl2mpl.vtable_analysis.o
│ │ └── libmpl2mpl.vtable_impl.o
│ └── third_party
│ └── zlib-1.2.11
│ ├── libz_maple_host.adler32.o
│ ├── libz_maple_host.compress.o
│ ├── libz_maple_host.crc32.o
│ ├── libz_maple_host.deflate.o
│ ├── libz_maple_host.gzclose.o
│ ├── libz_maple_host.gzlib.o
│ ├── libz_maple_host.gzread.o
│ ├── libz_maple_host.gzwrite.o
│ ├── libz_maple_host.infback.o
│ ├── libz_maple_host.inffast.o
│ ├── libz_maple_host.inflate.o
│ ├── libz_maple_host.inftrees.o
│ ├── libz_maple_host.trees.o
│ ├── libz_maple_host.uncompr.o
│ └── libz_maple_host.zutil.o
└── toolchain.ninja
32 directories, 146 files
1
agagega 2019-08-31 02:23:28 +08:00 via iPhone
第一个不说了
第二个看名字可能是从 Java 字节码反汇编到 MapleIR 的工具,类似 llvm-dis 第三个我猜应该是给 MapleIR 跑优化的,你可以试一下,理论上如果是的话应该类似 LLVM 的 opt,输入 IR 输出也是 IR 最后一个可能是从 Maple 生成字节码的 |
2
kokutou 2019-08-31 06:35:03 +08:00 via Android
“方舟编译器源代码(网传)”。。。。。。
|
5
whwq2012 2019-08-31 09:19:30 +08:00 via iPad 3
"我大华为的科学技术世界第一"这句话是原来仓库里的原话,而不是楼主加的吗?
|
7
azuginnen 2019-08-31 09:30:25 +08:00
554 text files.
527 unique files. 208 files ignored. http://cloc.sourceforge.net v 1.60 T=2.10 s (180.9 files/s, 54576.6 lines/s) -------------------------------------------------------------------------------- Language files blank comment code -------------------------------------------------------------------------------- C++ 72 2050 2585 29903 C/C++ Header 133 4955 5245 21784 C 85 3692 6813 21359 Assembly 8 1033 1189 3037 Ada 10 599 560 1681 Pascal 5 219 208 1543 Teamcenter def 20 23 33 1105 Bourne Shell 3 157 146 992 C# 9 230 506 879 HTML 1 5 1 539 CMake 6 63 43 366 make 14 95 80 279 MSBuild scripts 1 1 0 140 Java 6 12 0 127 Perl 1 33 14 105 XML 1 5 16 95 m4 1 5 0 27 NAnt scripts 1 7 0 26 Bourne Again Shell 1 0 0 6 DOS Batch 2 0 0 4 -------------------------------------------------------------------------------- SUM: 380 13184 17439 83997 -------------------------------------------------------------------------------- |
9
watzds 2019-08-31 09:36:18 +08:00 via Android
编译器代码里都能插入广告?
|
10
nightlight 2019-08-31 09:54:16 +08:00 via Android
@azuginnen 感觉菊厂猿们为了领导的嘴炮 加班加点上线 注释都没来得及清理
|
11
JohnLou 2019-08-31 10:35:03 +08:00 via Android 1
这种帖子异常的安静,果然黑子的水平普遍有点差。
|
12
nicevar 2019-08-31 10:39:27 +08:00
@JohnLou 因为 90%以上的程序员基本上是看不懂编译器代码的,何况这里混娱乐圈的比较多,除了找个话题打打嘴炮之外,你还指望他们给你分析代码么
|
13
xm1994 2019-08-31 10:47:59 +08:00
@whwq2012
obj │ ├── ABS_PATH │ │ └── home │ │ └── xm1994 │ │ └── Projects │ │ └── OpenArkCompiler │ │ └── src │ │ ├── huawei_secure_c │ │ │ └── libHWSecureC.ninja │ │ ├── mapleall.stamp │ │ ├── maple_driver │ │ │ └── maple.ninja │ │ ├── maple_ipa │ │ │ └── libmplipa.ninja │ │ ├── maple_ir │ │ │ └── libmplir.ninja │ │ ├── maple_me │ │ │ ├── libmplme.ninja │ │ │ └── libmplmewpo.ninja │ │ ├── mpl2mpl │ │ │ └── libmpl2mpl.ninja │ │ └── third_party │ │ └── zlib-1.2.11 │ │ └── libz_maple_host.ninja 那个 “我大华为的科学技术世界第一” 是这哥们的用户名,ABS_PATH 下面是绝对路径。 |
14
xm1994 2019-08-31 10:48:27 +08:00
```
├── obj │ ├── ABS_PATH │ │ └── home │ │ └── xm1994 │ │ └── Projects │ │ └── OpenArkCompiler │ │ └── src │ │ ├── huawei_secure_c │ │ │ └── libHWSecureC.ninja │ │ ├── mapleall.stamp │ │ ├── maple_driver │ │ │ └── maple.ninja │ │ ├── maple_ipa │ │ │ └── libmplipa.ninja │ │ ├── maple_ir │ │ │ └── libmplir.ninja │ │ ├── maple_me │ │ │ ├── libmplme.ninja │ │ │ └── libmplmewpo.ninja │ │ ├── mpl2mpl │ │ │ └── libmpl2mpl.ninja │ │ └── third_party │ │ └── zlib-1.2.11 │ │ └── libz_maple_host.ninja │ ├── maple.stamp │ └── src │ ├── huawei_secure_c │ │ └── src │ │ ├── libHWSecureC.fscanf_s.o │ │ ├── libHWSecureC.fwscanf_s.o │ │ ├── libHWSecureC.gets_s.o │ │ ├── libHWSecureC.memcpy_s.o │ │ ├── libHWSecureC.memmove_s.o │ │ ├── libHWSecureC.memset_s.o ``` |
17
hx1997 2019-08-31 11:37:34 +08:00 via Android
知乎评论基本都是“就开源了这么点东西啊”…
|
18
asstar 2019-09-05 19:06:04 +08:00
居然能编译过,里面有些方法只有声明没实现啊。
而且我记得带了几个静态链接库, 现在 java 源码也编不了,页面的编译还是动画演示。。。 就这样上面几个老哥还不忘挤兑一下别人黑华为的水平不够。。。 这还不够黑吗? |