js: support simple js with 'scf' compiler
authoryu.dongliang <18588496441@163.com>
Fri, 1 Aug 2025 13:43:16 +0000 (21:43 +0800)
committeryu.dongliang <18588496441@163.com>
Fri, 1 Aug 2025 13:43:16 +0000 (21:43 +0800)
commit151d8b3b1afdef4c80c71a69e0ef6e1fa0478b2e
tree4054301eba00cc4ce66e932f3b66e68896b2d52e
parent0acf0d9b77846a8f8591833486b597a8c8069392
js: support simple js with 'scf' compiler
253 files changed:
examples/js.html [new file with mode: 0644]
html/Makefile
html/abc_html.c
html/abc_html.h
html/abc_obj.c
html/abc_obj.h
js/Makefile [new file with mode: 0644]
js/abc_libjs.c [new file with mode: 0644]
js/abc_libjs.so [new file with mode: 0755]
js/core/scf_3ac.c [new file with mode: 0644]
js/core/scf_3ac.h [new file with mode: 0644]
js/core/scf_ast.c [new file with mode: 0644]
js/core/scf_ast.h [new file with mode: 0644]
js/core/scf_auto_gc_3ac.c [new file with mode: 0644]
js/core/scf_auto_gc_find.c [new file with mode: 0644]
js/core/scf_basic_block.c [new file with mode: 0644]
js/core/scf_basic_block.h [new file with mode: 0644]
js/core/scf_block.c [new file with mode: 0644]
js/core/scf_block.h [new file with mode: 0644]
js/core/scf_calculate.c [new file with mode: 0644]
js/core/scf_calculate.h [new file with mode: 0644]
js/core/scf_calculate_double.c [new file with mode: 0644]
js/core/scf_calculate_float.c [new file with mode: 0644]
js/core/scf_calculate_i32.c [new file with mode: 0644]
js/core/scf_calculate_i64.c [new file with mode: 0644]
js/core/scf_calculate_u32.c [new file with mode: 0644]
js/core/scf_core_types.h [new file with mode: 0644]
js/core/scf_dag.c [new file with mode: 0644]
js/core/scf_dag.h [new file with mode: 0644]
js/core/scf_expr.c [new file with mode: 0644]
js/core/scf_expr.h [new file with mode: 0644]
js/core/scf_function.c [new file with mode: 0644]
js/core/scf_function.h [new file with mode: 0644]
js/core/scf_label.c [new file with mode: 0644]
js/core/scf_lex_word.c [new file with mode: 0644]
js/core/scf_lex_word.h [new file with mode: 0644]
js/core/scf_node.c [new file with mode: 0644]
js/core/scf_node.h [new file with mode: 0644]
js/core/scf_operator.c [new file with mode: 0644]
js/core/scf_operator.h [new file with mode: 0644]
js/core/scf_operator_dag.c [new file with mode: 0644]
js/core/scf_operator_handler.h [new file with mode: 0644]
js/core/scf_operator_handler_3ac.c [new file with mode: 0644]
js/core/scf_optimizer.c [new file with mode: 0644]
js/core/scf_optimizer.h [new file with mode: 0644]
js/core/scf_optimizer_active_vars.c [new file with mode: 0644]
js/core/scf_optimizer_auto_gc.c [new file with mode: 0644]
js/core/scf_optimizer_auto_gc_find.c [new file with mode: 0644]
js/core/scf_optimizer_basic_block.c [new file with mode: 0644]
js/core/scf_optimizer_call.c [new file with mode: 0644]
js/core/scf_optimizer_common_expr.c [new file with mode: 0644]
js/core/scf_optimizer_const_teq.c [new file with mode: 0644]
js/core/scf_optimizer_dag.c [new file with mode: 0644]
js/core/scf_optimizer_dominators.c [new file with mode: 0644]
js/core/scf_optimizer_dominators_reverse.c [new file with mode: 0644]
js/core/scf_optimizer_generate_loads_saves.c [new file with mode: 0644]
js/core/scf_optimizer_group.c [new file with mode: 0644]
js/core/scf_optimizer_inline.c [new file with mode: 0644]
js/core/scf_optimizer_loads_saves.c [new file with mode: 0644]
js/core/scf_optimizer_loop.c [new file with mode: 0644]
js/core/scf_optimizer_pointer_alias.c [new file with mode: 0644]
js/core/scf_optimizer_pointer_aliases.c [new file with mode: 0644]
js/core/scf_optimizer_split_call.c [new file with mode: 0644]
js/core/scf_optimizer_vla.c [new file with mode: 0644]
js/core/scf_pointer_alias.c [new file with mode: 0644]
js/core/scf_pointer_alias.h [new file with mode: 0644]
js/core/scf_scope.c [new file with mode: 0644]
js/core/scf_scope.h [new file with mode: 0644]
js/core/scf_type.c [new file with mode: 0644]
js/core/scf_type.h [new file with mode: 0644]
js/core/scf_type_cast.c [new file with mode: 0644]
js/core/scf_type_cast.h [new file with mode: 0644]
js/core/scf_type_cast_double.c [new file with mode: 0644]
js/core/scf_type_cast_float.c [new file with mode: 0644]
js/core/scf_type_cast_i16.c [new file with mode: 0644]
js/core/scf_type_cast_i32.c [new file with mode: 0644]
js/core/scf_type_cast_i64.c [new file with mode: 0644]
js/core/scf_type_cast_i8.c [new file with mode: 0644]
js/core/scf_type_cast_u16.c [new file with mode: 0644]
js/core/scf_type_cast_u32.c [new file with mode: 0644]
js/core/scf_type_cast_u64.c [new file with mode: 0644]
js/core/scf_type_cast_u8.c [new file with mode: 0644]
js/core/scf_variable.c [new file with mode: 0644]
js/core/scf_variable.h [new file with mode: 0644]
js/coroutine/Makefile [new file with mode: 0644]
js/coroutine/main.c [new file with mode: 0644]
js/coroutine/scf_coroutine.c [new file with mode: 0644]
js/coroutine/scf_coroutine.h [new file with mode: 0644]
js/coroutine/scf_coroutine_asm.S [new file with mode: 0644]
js/coroutine/scf_coroutine_run.c [new file with mode: 0644]
js/doc.c [new file with mode: 0644]
js/elf/Makefile [new file with mode: 0644]
js/elf/scf_dwarf.c [new file with mode: 0644]
js/elf/scf_dwarf.h [new file with mode: 0644]
js/elf/scf_dwarf_abbrev.c [new file with mode: 0644]
js/elf/scf_dwarf_abbrev_test.c [new file with mode: 0644]
js/elf/scf_dwarf_info.c [new file with mode: 0644]
js/elf/scf_dwarf_info_test.c [new file with mode: 0644]
js/elf/scf_dwarf_line.c [new file with mode: 0644]
js/elf/scf_dwarf_line_test.c [new file with mode: 0644]
js/elf/scf_elf.c [new file with mode: 0644]
js/elf/scf_elf.h [new file with mode: 0644]
js/elf/scf_elf_arm32.c [new file with mode: 0644]
js/elf/scf_elf_arm32.h [new file with mode: 0644]
js/elf/scf_elf_arm32_so.c [new file with mode: 0644]
js/elf/scf_elf_arm64.c [new file with mode: 0644]
js/elf/scf_elf_arm64.h [new file with mode: 0644]
js/elf/scf_elf_arm64_so.c [new file with mode: 0644]
js/elf/scf_elf_link.c [new file with mode: 0644]
js/elf/scf_elf_link.h [new file with mode: 0644]
js/elf/scf_elf_naja.c [new file with mode: 0644]
js/elf/scf_elf_naja.h [new file with mode: 0644]
js/elf/scf_elf_naja_so.c [new file with mode: 0644]
js/elf/scf_elf_native.c [new file with mode: 0644]
js/elf/scf_elf_native.h [new file with mode: 0644]
js/elf/scf_elf_native32.c [new file with mode: 0644]
js/elf/scf_elf_native32.h [new file with mode: 0644]
js/elf/scf_elf_test.c [new file with mode: 0644]
js/elf/scf_elf_x64.c [new file with mode: 0644]
js/elf/scf_elf_x64.h [new file with mode: 0644]
js/elf/scf_elf_x64_so.c [new file with mode: 0644]
js/elf/scf_leb128.h [new file with mode: 0644]
js/elf/scf_leb128_test.c [new file with mode: 0644]
js/lex/Makefile [new file with mode: 0644]
js/lex/scf_lex.c [new file with mode: 0644]
js/lex/scf_lex.h [new file with mode: 0644]
js/lex/scf_lex_test.c [new file with mode: 0644]
js/lex/scf_lex_util.c [new file with mode: 0644]
js/lib/Makefile [new file with mode: 0644]
js/lib/arm32/_start.o [new file with mode: 0644]
js/lib/arm32/_start.s [new file with mode: 0644]
js/lib/arm32/lib/ld-linux-armhf.so.3 [new file with mode: 0755]
js/lib/arm32/libc.so.6 [new file with mode: 0755]
js/lib/arm64/_start.o [new file with mode: 0644]
js/lib/arm64/_start.s [new file with mode: 0644]
js/lib/arm64/lib/ld-linux-aarch64.so.1 [new file with mode: 0755]
js/lib/arm64/libc.so.6 [new file with mode: 0755]
js/lib/scf_capi.c [new file with mode: 0644]
js/lib/scf_complex.c [new file with mode: 0644]
js/lib/scf_linux_api.c [new file with mode: 0644]
js/lib/scf_list.c [new file with mode: 0644]
js/lib/scf_object.c [new file with mode: 0644]
js/lib/scf_rbtree.c [new file with mode: 0644]
js/lib/scf_string.c [new file with mode: 0644]
js/lib/x64/_start.o [new file with mode: 0644]
js/lib/x64/_start.s [new file with mode: 0644]
js/lib/x64/lib64/ld-linux-x86-64.so.2 [new file with mode: 0755]
js/lib/x64/libc.so.6 [new file with mode: 0755]
js/lib/x64/scf_atomic.o [new file with mode: 0644]
js/lib/x64/scf_atomic.s [new file with mode: 0644]
js/lib/x64/scf_object.o [new file with mode: 0644]
js/lib/x64/scf_syscall.s [new file with mode: 0644]
js/mm/Makefile [new file with mode: 0644]
js/mm/scf_object.c [new file with mode: 0644]
js/mm/scf_object.h [new file with mode: 0644]
js/native/risc/scf_arm32.c [new file with mode: 0644]
js/native/risc/scf_arm64.c [new file with mode: 0644]
js/native/risc/scf_naja.c [new file with mode: 0644]
js/native/risc/scf_risc.c [new file with mode: 0644]
js/native/risc/scf_risc.h [new file with mode: 0644]
js/native/risc/scf_risc_bb_color.c [new file with mode: 0644]
js/native/risc/scf_risc_graph.c [new file with mode: 0644]
js/native/risc/scf_risc_inst.c [new file with mode: 0644]
js/native/risc/scf_risc_opcode.c [new file with mode: 0644]
js/native/risc/scf_risc_opcode.h [new file with mode: 0644]
js/native/risc/scf_risc_rcg.c [new file with mode: 0644]
js/native/risc/scf_risc_reg.c [new file with mode: 0644]
js/native/risc/scf_risc_reg.h [new file with mode: 0644]
js/native/risc/scf_risc_reg_arm32.c [new file with mode: 0644]
js/native/risc/scf_risc_reg_arm64.c [new file with mode: 0644]
js/native/risc/scf_risc_reg_naja.c [new file with mode: 0644]
js/native/risc/scf_risc_util.h [new file with mode: 0644]
js/native/scf_native.c [new file with mode: 0644]
js/native/scf_native.h [new file with mode: 0644]
js/native/x64/scf_x64.c [new file with mode: 0644]
js/native/x64/scf_x64.h [new file with mode: 0644]
js/native/x64/scf_x64_bb_color.c [new file with mode: 0644]
js/native/x64/scf_x64_graph.c [new file with mode: 0644]
js/native/x64/scf_x64_inst.c [new file with mode: 0644]
js/native/x64/scf_x64_inst_binary.c [new file with mode: 0644]
js/native/x64/scf_x64_inst_cmp.c [new file with mode: 0644]
js/native/x64/scf_x64_inst_common.c [new file with mode: 0644]
js/native/x64/scf_x64_inst_div.c [new file with mode: 0644]
js/native/x64/scf_x64_inst_mul.c [new file with mode: 0644]
js/native/x64/scf_x64_inst_shift.c [new file with mode: 0644]
js/native/x64/scf_x64_inst_unary.c [new file with mode: 0644]
js/native/x64/scf_x64_inst_util.c [new file with mode: 0644]
js/native/x64/scf_x64_opcode.c [new file with mode: 0644]
js/native/x64/scf_x64_opcode.h [new file with mode: 0644]
js/native/x64/scf_x64_peephole.c [new file with mode: 0644]
js/native/x64/scf_x64_rcg.c [new file with mode: 0644]
js/native/x64/scf_x64_reg.c [new file with mode: 0644]
js/native/x64/scf_x64_reg.h [new file with mode: 0644]
js/native/x64/scf_x64_util.h [new file with mode: 0644]
js/parse/Makefile [new file with mode: 0644]
js/parse/main.c [new file with mode: 0644]
js/parse/scf_dfa.c [new file with mode: 0644]
js/parse/scf_dfa.h [new file with mode: 0644]
js/parse/scf_dfa_async.c [new file with mode: 0644]
js/parse/scf_dfa_block.c [new file with mode: 0644]
js/parse/scf_dfa_break.c [new file with mode: 0644]
js/parse/scf_dfa_call.c [new file with mode: 0644]
js/parse/scf_dfa_class.c [new file with mode: 0644]
js/parse/scf_dfa_container.c [new file with mode: 0644]
js/parse/scf_dfa_continue.c [new file with mode: 0644]
js/parse/scf_dfa_create.c [new file with mode: 0644]
js/parse/scf_dfa_do.c [new file with mode: 0644]
js/parse/scf_dfa_enum.c [new file with mode: 0644]
js/parse/scf_dfa_expr.c [new file with mode: 0644]
js/parse/scf_dfa_for.c [new file with mode: 0644]
js/parse/scf_dfa_function.c [new file with mode: 0644]
js/parse/scf_dfa_goto.c [new file with mode: 0644]
js/parse/scf_dfa_identity.c [new file with mode: 0644]
js/parse/scf_dfa_if.c [new file with mode: 0644]
js/parse/scf_dfa_include.c [new file with mode: 0644]
js/parse/scf_dfa_init_data.c [new file with mode: 0644]
js/parse/scf_dfa_label.c [new file with mode: 0644]
js/parse/scf_dfa_macro.c [new file with mode: 0644]
js/parse/scf_dfa_operator.c [new file with mode: 0644]
js/parse/scf_dfa_parse.c [new file with mode: 0644]
js/parse/scf_dfa_return.c [new file with mode: 0644]
js/parse/scf_dfa_sizeof.c [new file with mode: 0644]
js/parse/scf_dfa_switch.c [new file with mode: 0644]
js/parse/scf_dfa_type.c [new file with mode: 0644]
js/parse/scf_dfa_union.c [new file with mode: 0644]
js/parse/scf_dfa_util.h [new file with mode: 0644]
js/parse/scf_dfa_va_arg.c [new file with mode: 0644]
js/parse/scf_dfa_var.c [new file with mode: 0644]
js/parse/scf_dfa_while.c [new file with mode: 0644]
js/parse/scf_operator_handler_const.c [new file with mode: 0644]
js/parse/scf_operator_handler_const.h [new file with mode: 0644]
js/parse/scf_operator_handler_expr.c [new file with mode: 0644]
js/parse/scf_operator_handler_semantic.c [new file with mode: 0644]
js/parse/scf_operator_handler_semantic.h [new file with mode: 0644]
js/parse/scf_parse.c [new file with mode: 0644]
js/parse/scf_parse.h [new file with mode: 0644]
js/parse/scf_parse_util.c [new file with mode: 0644]
js/parse/scf_struct_array.c [new file with mode: 0644]
js/util/Makefile [new file with mode: 0644]
js/util/scf_atomic.h [new file with mode: 0644]
js/util/scf_def.h [new file with mode: 0644]
js/util/scf_graph.c [new file with mode: 0644]
js/util/scf_graph.h [new file with mode: 0644]
js/util/scf_list.h [new file with mode: 0644]
js/util/scf_rbtree.c [new file with mode: 0644]
js/util/scf_rbtree.h [new file with mode: 0644]
js/util/scf_stack.h [new file with mode: 0644]
js/util/scf_string.c [new file with mode: 0644]
js/util/scf_string.h [new file with mode: 0644]
js/util/scf_vector.h [new file with mode: 0644]
ui/Makefile
ui/abc_layout.c
ui/abc_render.c