webruby 0.2.7 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/webruby/environment.rb +24 -8
- data/lib/webruby/rake/files.rake +6 -22
- data/lib/webruby/rake/general.rake +1 -1
- data/lib/webruby/rake/mruby.rake +1 -0
- data/lib/webruby/utility.rb +14 -0
- data/modules/mruby/AUTHORS +14 -0
- data/modules/mruby/CONTRIBUTING.md +7 -4
- data/modules/mruby/INSTALL +28 -11
- data/modules/mruby/MITL +13 -13
- data/modules/mruby/Makefile +4 -5
- data/modules/mruby/README.md +54 -49
- data/modules/mruby/Rakefile +36 -6
- data/modules/mruby/benchmark/ao-render.rb +1 -2
- data/modules/mruby/benchmark/bm_app_lc_fizzbuzz.rb +52 -0
- data/modules/mruby/benchmark/fib39.rb +0 -0
- data/modules/mruby/bintest/mrbc.rb +12 -0
- data/modules/mruby/build_config.rb +32 -2
- data/modules/mruby/doc/api/README.md +30 -0
- data/modules/mruby/doc/api/mruby.h.md +69 -0
- data/modules/mruby/doc/compile/README.md +208 -99
- data/modules/mruby/doc/debugger/README.md +370 -0
- data/modules/mruby/doc/language/Core.md +1590 -0
- data/modules/mruby/doc/language/README.md +9 -0
- data/modules/mruby/doc/language/generator.rb +15 -0
- data/modules/mruby/doc/language/mrbdoc/lib/mrbdoc_analyze.rb +231 -0
- data/modules/mruby/doc/language/mrbdoc/lib/mrbdoc_docu.rb +118 -0
- data/modules/mruby/doc/language/mrbdoc/mrbdoc.rb +38 -0
- data/modules/mruby/doc/mrbconf/README.md +160 -0
- data/modules/mruby/doc/mrbgems/README.md +136 -66
- data/modules/mruby/examples/mrbgems/c_and_ruby_extension_example/mrbgem.rake +1 -1
- data/modules/mruby/examples/mrbgems/c_and_ruby_extension_example/src/example.c +1 -1
- data/modules/mruby/examples/mrbgems/c_extension_example/mrbgem.rake +1 -1
- data/modules/mruby/examples/mrbgems/c_extension_example/src/example.c +1 -1
- data/modules/mruby/examples/mrbgems/ruby_extension_example/mrbgem.rake +1 -1
- data/modules/mruby/examples/targets/{ArduinoDue.rb → build_config_ArduinoDue.rb} +32 -6
- data/modules/mruby/examples/targets/build_config_IntelGalileo.rb +106 -0
- data/modules/mruby/examples/targets/{chipKitMax32.rb → build_config_chipKITMax32.rb} +26 -7
- data/modules/mruby/include/mrbconf.h +25 -1
- data/modules/mruby/include/mruby/array.h +32 -22
- data/modules/mruby/include/mruby/boxing_nan.h +94 -0
- data/modules/mruby/include/mruby/boxing_no.h +49 -0
- data/modules/mruby/include/mruby/boxing_word.h +119 -0
- data/modules/mruby/include/mruby/class.h +15 -13
- data/modules/mruby/include/mruby/compile.h +43 -36
- data/modules/mruby/include/mruby/data.h +13 -5
- data/modules/mruby/include/mruby/debug.h +9 -9
- data/modules/mruby/include/mruby/dump.h +32 -23
- data/modules/mruby/include/mruby/error.h +36 -0
- data/modules/mruby/include/mruby/gc.h +11 -6
- data/modules/mruby/include/mruby/hash.h +12 -12
- data/modules/mruby/include/mruby/irep.h +9 -3
- data/modules/mruby/include/mruby/khash.h +58 -41
- data/modules/mruby/include/mruby/numeric.h +38 -4
- data/modules/mruby/include/mruby/object.h +55 -0
- data/modules/mruby/include/mruby/opcode.h +160 -0
- data/modules/mruby/include/mruby/proc.h +19 -5
- data/modules/mruby/include/mruby/range.h +4 -3
- data/modules/mruby/include/mruby/re.h +20 -0
- data/modules/mruby/include/mruby/string.h +86 -47
- data/modules/mruby/include/mruby/value.h +100 -374
- data/modules/mruby/include/mruby/variable.h +34 -32
- data/modules/mruby/include/mruby/version.h +40 -0
- data/modules/mruby/include/mruby.h +211 -139
- data/modules/mruby/minirake +16 -9
- data/modules/mruby/mrbgems/default.gembox +12 -0
- data/modules/mruby/mrbgems/full-core.gembox +3 -3
- data/modules/mruby/mrbgems/mruby-array-ext/mrbgem.rake +1 -0
- data/modules/mruby/mrbgems/mruby-array-ext/mrblib/array.rb +488 -8
- data/modules/mruby/mrbgems/mruby-array-ext/src/array.c +57 -31
- data/modules/mruby/mrbgems/mruby-array-ext/test/array.rb +231 -45
- data/modules/mruby/mrbgems/mruby-bin-debugger/bintest/mrdb.rb +286 -0
- data/modules/mruby/mrbgems/mruby-bin-debugger/bintest/print.rb +701 -0
- data/modules/mruby/mrbgems/mruby-bin-debugger/mrbgem.rake +9 -0
- data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apibreak.c +516 -0
- data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apibreak.h +26 -0
- data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apilist.c +235 -0
- data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apilist.h +14 -0
- data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apiprint.c +78 -0
- data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apiprint.h +13 -0
- data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/cmdbreak.c +428 -0
- data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/cmdmisc.c +501 -0
- data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/cmdprint.c +58 -0
- data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/cmdrun.c +54 -0
- data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.c +746 -0
- data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.h +163 -0
- data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdbconf.h +16 -0
- data/modules/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdberror.h +20 -0
- data/modules/mruby/mrbgems/mruby-bin-mirb/bintest/mirb.rb +12 -0
- data/modules/mruby/mrbgems/mruby-bin-mirb/mrbgem.rake +14 -1
- data/modules/mruby/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c +154 -72
- data/modules/mruby/mrbgems/mruby-bin-mruby/bintest/mruby.rb +46 -0
- data/modules/mruby/mrbgems/mruby-bin-mruby/mrbgem.rake +1 -0
- data/modules/mruby/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c +37 -28
- data/modules/mruby/mrbgems/mruby-bin-mruby-config/mrbgem.rake +30 -0
- data/modules/mruby/mrbgems/mruby-bin-mruby-config/mruby-config +16 -0
- data/modules/mruby/mrbgems/mruby-bin-mruby-config/mruby-config.bat +30 -0
- data/modules/mruby/mrbgems/mruby-bin-strip/bintest/mruby-strip.rb +73 -0
- data/modules/mruby/mrbgems/mruby-bin-strip/mrbgem.rake +6 -0
- data/modules/mruby/mrbgems/mruby-bin-strip/tools/mruby-strip/mruby-strip.c +155 -0
- data/modules/mruby/mrbgems/mruby-enum-ext/mrbgem.rake +1 -0
- data/modules/mruby/mrbgems/mruby-enum-ext/mrblib/enum.rb +555 -21
- data/modules/mruby/mrbgems/mruby-enum-ext/test/enum.rb +119 -0
- data/modules/mruby/mrbgems/mruby-enum-lazy/mrbgem.rake +7 -0
- data/modules/mruby/mrbgems/mruby-enum-lazy/mrblib/lazy.rb +150 -0
- data/modules/mruby/mrbgems/mruby-enum-lazy/test/lazy.rb +47 -0
- data/modules/mruby/mrbgems/mruby-enumerator/mrbgem.rake +7 -0
- data/modules/mruby/mrbgems/mruby-enumerator/mrblib/enumerator.rb +636 -0
- data/modules/mruby/mrbgems/mruby-enumerator/test/enumerator.rb +537 -0
- data/modules/mruby/mrbgems/mruby-eval/mrbgem.rake +1 -0
- data/modules/mruby/mrbgems/mruby-eval/src/eval.c +243 -4
- data/modules/mruby/mrbgems/mruby-eval/test/eval.rb +80 -0
- data/modules/mruby/mrbgems/mruby-exit/mrbgem.rake +1 -0
- data/modules/mruby/mrbgems/mruby-exit/src/mruby-exit.c +1 -1
- data/modules/mruby/mrbgems/mruby-fiber/mrbgem.rake +1 -0
- data/modules/mruby/mrbgems/mruby-fiber/src/fiber.c +157 -51
- data/modules/mruby/mrbgems/mruby-fiber/test/fiber.rb +179 -35
- data/modules/mruby/mrbgems/mruby-hash-ext/mrbgem.rake +3 -0
- data/modules/mruby/mrbgems/mruby-hash-ext/mrblib/hash.rb +241 -1
- data/modules/mruby/mrbgems/mruby-hash-ext/src/hash-ext.c +11 -19
- data/modules/mruby/mrbgems/mruby-hash-ext/test/hash.rb +138 -1
- data/modules/mruby/mrbgems/mruby-kernel-ext/mrbgem.rake +5 -0
- data/modules/mruby/mrbgems/mruby-kernel-ext/src/kernel.c +183 -0
- data/modules/mruby/mrbgems/mruby-kernel-ext/test/kernel.rb +53 -0
- data/modules/mruby/mrbgems/mruby-math/mrbgem.rake +1 -0
- data/modules/mruby/mrbgems/mruby-math/src/math.c +107 -14
- data/modules/mruby/mrbgems/mruby-math/test/math.rb +16 -0
- data/modules/mruby/mrbgems/mruby-numeric-ext/mrbgem.rake +1 -0
- data/modules/mruby/mrbgems/mruby-numeric-ext/mrblib/numeric_ext.rb +5 -0
- data/modules/mruby/mrbgems/mruby-numeric-ext/test/numeric.rb +9 -1
- data/modules/mruby/mrbgems/mruby-object-ext/mrbgem.rake +1 -0
- data/modules/mruby/mrbgems/mruby-object-ext/mrblib/object.rb +19 -0
- data/modules/mruby/mrbgems/mruby-object-ext/src/object.c +5 -8
- data/modules/mruby/mrbgems/mruby-object-ext/test/object.rb +16 -0
- data/modules/mruby/mrbgems/mruby-objectspace/mrbgem.rake +1 -0
- data/modules/mruby/mrbgems/mruby-objectspace/src/mruby_objectspace.c +121 -53
- data/modules/mruby/mrbgems/mruby-objectspace/test/objectspace.rb +27 -4
- data/modules/mruby/mrbgems/mruby-print/mrbgem.rake +1 -0
- data/modules/mruby/mrbgems/mruby-print/src/print.c +3 -5
- data/modules/mruby/mrbgems/mruby-proc-ext/mrbgem.rake +1 -0
- data/modules/mruby/mrbgems/mruby-proc-ext/src/proc.c +89 -19
- data/modules/mruby/mrbgems/mruby-proc-ext/test/proc.c +56 -0
- data/modules/mruby/mrbgems/mruby-proc-ext/test/proc.rb +47 -0
- data/modules/mruby/mrbgems/mruby-random/mrbgem.rake +1 -0
- data/modules/mruby/mrbgems/mruby-random/src/mt19937ar.c +30 -25
- data/modules/mruby/mrbgems/mruby-random/src/mt19937ar.h +6 -3
- data/modules/mruby/mrbgems/mruby-random/src/random.c +157 -137
- data/modules/mruby/mrbgems/mruby-random/src/random.h +3 -3
- data/modules/mruby/mrbgems/mruby-random/test/random.rb +9 -9
- data/modules/mruby/mrbgems/mruby-range-ext/mrbgem.rake +1 -0
- data/modules/mruby/mrbgems/mruby-range-ext/src/range.c +57 -3
- data/modules/mruby/mrbgems/mruby-range-ext/test/range.rb +9 -0
- data/modules/mruby/mrbgems/mruby-sprintf/mrbgem.rake +1 -0
- data/modules/mruby/mrbgems/mruby-sprintf/mrblib/string.rb +9 -0
- data/modules/mruby/mrbgems/mruby-sprintf/src/sprintf.c +29 -23
- data/modules/mruby/mrbgems/mruby-sprintf/test/sprintf.rb +7 -2
- data/modules/mruby/mrbgems/mruby-string-ext/mrbgem.rake +1 -0
- data/modules/mruby/mrbgems/mruby-string-ext/mrblib/string.rb +250 -11
- data/modules/mruby/mrbgems/mruby-string-ext/src/string.c +220 -5
- data/modules/mruby/mrbgems/mruby-string-ext/test/string.rb +326 -4
- data/modules/mruby/mrbgems/mruby-string-utf8/mrbgem.rake +2 -0
- data/modules/mruby/mrbgems/mruby-string-utf8/src/string.c +486 -52
- data/modules/mruby/mrbgems/mruby-string-utf8/test/string.rb +97 -14
- data/modules/mruby/mrbgems/mruby-struct/mrbgem.rake +1 -0
- data/modules/mruby/mrbgems/mruby-struct/mrblib/struct.rb +31 -0
- data/modules/mruby/mrbgems/mruby-struct/src/struct.c +178 -196
- data/modules/mruby/mrbgems/mruby-struct/test/struct.rb +115 -61
- data/modules/mruby/mrbgems/mruby-symbol-ext/mrbgem.rake +1 -0
- data/modules/mruby/mrbgems/mruby-symbol-ext/mrblib/symbol.rb +22 -17
- data/modules/mruby/mrbgems/mruby-symbol-ext/src/symbol.c +20 -11
- data/modules/mruby/mrbgems/mruby-symbol-ext/test/symbol.rb +14 -0
- data/modules/mruby/mrbgems/mruby-time/mrbgem.rake +1 -0
- data/modules/mruby/mrbgems/mruby-time/mrblib/time.rb +9 -0
- data/modules/mruby/mrbgems/mruby-time/src/time.c +98 -37
- data/modules/mruby/mrbgems/mruby-time/test/time.rb +152 -148
- data/modules/mruby/mrbgems/mruby-toplevel-ext/mrbgem.rake +1 -0
- data/modules/mruby/mrbgems/mruby-toplevel-ext/test/toplevel.rb +1 -1
- data/modules/mruby/mrblib/array.rb +110 -4
- data/modules/mruby/mrblib/class.rb +1 -22
- data/modules/mruby/mrblib/compar.rb +10 -30
- data/modules/mruby/mrblib/enum.rb +64 -52
- data/modules/mruby/mrblib/error.rb +9 -4
- data/modules/mruby/mrblib/hash.rb +164 -23
- data/modules/mruby/mrblib/kernel.rb +26 -22
- data/modules/mruby/mrblib/mrblib.rake +4 -4
- data/modules/mruby/mrblib/numeric.rb +22 -9
- data/modules/mruby/mrblib/range.rb +24 -2
- data/modules/mruby/mrblib/string.rb +15 -3
- data/modules/mruby/src/array.c +279 -339
- data/modules/mruby/src/backtrace.c +68 -16
- data/modules/mruby/src/class.c +539 -379
- data/modules/mruby/src/codegen.c +424 -207
- data/modules/mruby/src/compar.c +1 -1
- data/modules/mruby/src/crc.c +7 -6
- data/modules/mruby/src/debug.c +37 -36
- data/modules/mruby/src/dump.c +463 -213
- data/modules/mruby/src/enum.c +1 -1
- data/modules/mruby/src/error.c +91 -92
- data/modules/mruby/src/error.h +3 -19
- data/modules/mruby/src/etc.c +85 -82
- data/modules/mruby/src/gc.c +134 -108
- data/modules/mruby/src/hash.c +161 -565
- data/modules/mruby/src/init.c +2 -13
- data/modules/mruby/src/kernel.c +217 -251
- data/modules/mruby/src/load.c +280 -283
- data/modules/mruby/src/mrb_throw.h +41 -0
- data/modules/mruby/src/mruby_core.rake +57 -7
- data/modules/mruby/src/node.h +104 -104
- data/modules/mruby/src/numeric.c +221 -208
- data/modules/mruby/src/object.c +41 -42
- data/modules/mruby/src/opcode.h +2 -160
- data/modules/mruby/src/parse.y +3430 -3223
- data/modules/mruby/src/pool.c +13 -9
- data/modules/mruby/src/print.c +20 -17
- data/modules/mruby/src/proc.c +77 -21
- data/modules/mruby/src/range.c +55 -45
- data/modules/mruby/src/state.c +95 -31
- data/modules/mruby/src/string.c +462 -468
- data/modules/mruby/src/symbol.c +95 -85
- data/modules/mruby/src/variable.c +104 -74
- data/modules/mruby/src/version.c +13 -0
- data/modules/mruby/src/vm.c +528 -296
- data/modules/mruby/tasks/libmruby.rake +9 -5
- data/modules/mruby/tasks/mrbgem_spec.rake +130 -26
- data/modules/mruby/tasks/mrbgems.rake +21 -11
- data/modules/mruby/tasks/mrbgems_test.rake +46 -40
- data/modules/mruby/tasks/mruby_build.rake +54 -12
- data/modules/mruby/tasks/mruby_build_commands.rake +34 -5
- data/modules/mruby/tasks/mruby_build_gem.rake +25 -3
- data/modules/mruby/tasks/ruby_ext.rake +11 -2
- data/modules/mruby/tasks/toolchains/clang.rake +2 -1
- data/modules/mruby/tasks/toolchains/gcc.rake +26 -3
- data/modules/mruby/tasks/toolchains/visualcpp.rake +17 -8
- data/modules/mruby/test/assert.rb +30 -8
- data/modules/mruby/test/bintest.rb +10 -0
- data/modules/mruby/test/driver.c +74 -24
- data/modules/mruby/test/init_mrbtest.c +21 -2
- data/modules/mruby/test/mrbtest.rake +27 -5
- data/modules/mruby/test/t/argumenterror.rb +0 -5
- data/modules/mruby/test/t/array.rb +23 -7
- data/modules/mruby/test/t/bs_block.rb +32 -0
- data/modules/mruby/test/t/class.rb +29 -5
- data/modules/mruby/test/t/comparable.rb +20 -12
- data/modules/mruby/test/t/enumerable.rb +33 -7
- data/modules/mruby/test/t/exception.rb +63 -38
- data/modules/mruby/test/t/false.rb +2 -4
- data/modules/mruby/test/t/float.rb +39 -4
- data/modules/mruby/test/t/hash.rb +40 -6
- data/modules/mruby/test/t/indexerror.rb +0 -4
- data/modules/mruby/test/t/integer.rb +41 -5
- data/modules/mruby/test/t/kernel.rb +90 -3
- data/modules/mruby/test/t/localjumperror.rb +4 -4
- data/modules/mruby/test/t/methods.rb +1 -1
- data/modules/mruby/test/t/module.rb +43 -13
- data/modules/mruby/test/t/nameerror.rb +0 -4
- data/modules/mruby/test/t/nil.rb +5 -0
- data/modules/mruby/test/t/nomethoderror.rb +11 -2
- data/modules/mruby/test/t/numeric.rb +18 -4
- data/modules/mruby/test/t/proc.rb +59 -6
- data/modules/mruby/test/t/range.rb +15 -5
- data/modules/mruby/test/t/rangeerror.rb +0 -4
- data/modules/mruby/test/t/standarderror.rb +0 -4
- data/modules/mruby/test/t/string.rb +56 -12
- data/modules/mruby/test/t/superclass.rb +46 -0
- data/modules/mruby/test/t/symbol.rb +0 -4
- data/modules/mruby/test/t/syntax.rb +134 -1
- data/modules/mruby/test/t/true.rb +2 -4
- data/modules/mruby/test/t/typeerror.rb +0 -5
- data/modules/mruby/test/t/unicode.rb +35 -0
- data/modules/mruby/tools/mrbc/mrbc.c +9 -12
- data/modules/mruby/travis_config.rb +22 -2
- metadata +98 -1299
- data/modules/emscripten/AUTHORS +0 -117
- data/modules/emscripten/CONTRIBUTING.markdown +0 -5
- data/modules/emscripten/ChangeLog +0 -468
- data/modules/emscripten/LICENSE +0 -94
- data/modules/emscripten/README.markdown +0 -14
- data/modules/emscripten/cmake/Modules/FindOpenAL.cmake +0 -26
- data/modules/emscripten/cmake/Platform/Emscripten.cmake +0 -228
- data/modules/emscripten/em++ +0 -12
- data/modules/emscripten/em++.bat +0 -2
- data/modules/emscripten/em-config +0 -24
- data/modules/emscripten/em-config.bat +0 -2
- data/modules/emscripten/emar +0 -24
- data/modules/emscripten/emar.bat +0 -2
- data/modules/emscripten/emcc +0 -2069
- data/modules/emscripten/emcc.bat +0 -2
- data/modules/emscripten/emcc.py +0 -5
- data/modules/emscripten/emconfigure +0 -27
- data/modules/emscripten/emconfigure.bat +0 -2
- data/modules/emscripten/emlink.py +0 -33
- data/modules/emscripten/emmake +0 -29
- data/modules/emscripten/emmake.bat +0 -2
- data/modules/emscripten/emranlib +0 -9
- data/modules/emscripten/emranlib.bat +0 -2
- data/modules/emscripten/emrun +0 -1087
- data/modules/emscripten/emrun.bat +0 -2
- data/modules/emscripten/emscons +0 -20
- data/modules/emscripten/emscripten.py +0 -1347
- data/modules/emscripten/package.json +0 -7
- data/modules/emscripten/patches/README +0 -4
- data/modules/emscripten/patches/series +0 -2
- data/modules/emscripten/scons-tools/closure.py +0 -28
- data/modules/emscripten/scons-tools/emscripten.py +0 -364
- data/modules/emscripten/scons-tools/llvm.py +0 -34
- data/modules/emscripten/src/analyzer.js +0 -1781
- data/modules/emscripten/src/closure-externs.js +0 -110
- data/modules/emscripten/src/compiler.html +0 -48
- data/modules/emscripten/src/compiler.js +0 -331
- data/modules/emscripten/src/compiler_phase.html +0 -33
- data/modules/emscripten/src/corruptionCheck.js +0 -98
- data/modules/emscripten/src/determinstic.js +0 -20
- data/modules/emscripten/src/embind/embind.js +0 -1677
- data/modules/emscripten/src/embind/emval.js +0 -284
- data/modules/emscripten/src/emrun_postjs.js +0 -20
- data/modules/emscripten/src/emrun_prejs.js +0 -5
- data/modules/emscripten/src/emscripten-source-map.min.js +0 -31
- data/modules/emscripten/src/experimental/allow_loopvars_from_memsetcpy_inasm.diff +0 -97
- data/modules/emscripten/src/experimental/batching.diff +0 -44
- data/modules/emscripten/src/experimental/functypeopt.diff +0 -113
- data/modules/emscripten/src/experimental/multiple_heaps.diff +0 -175
- data/modules/emscripten/src/experimental/noncallgraphprofiling.diff +0 -197
- data/modules/emscripten/src/experimental/optimize_memcpy_for_ta1.diff +0 -124
- data/modules/emscripten/src/experimental/remove__label__s.diff +0 -140
- data/modules/emscripten/src/experimental/renderer_cache_hash.diff +0 -99
- data/modules/emscripten/src/experimental/sdl_key_forwarding.diff +0 -57
- data/modules/emscripten/src/experimental/simplifyGeneratedFunctionsDetection.diff +0 -336
- data/modules/emscripten/src/experimental/stringCache.diff +0 -147
- data/modules/emscripten/src/fastLong.js +0 -299
- data/modules/emscripten/src/gl-matrix.js +0 -1952
- data/modules/emscripten/src/headless.js +0 -295
- data/modules/emscripten/src/headlessCanvas.js +0 -618
- data/modules/emscripten/src/hello_world.js +0 -92
- data/modules/emscripten/src/intertyper.js +0 -1228
- data/modules/emscripten/src/jsifier.js +0 -1969
- data/modules/emscripten/src/library.js +0 -9196
- data/modules/emscripten/src/library_browser.js +0 -988
- data/modules/emscripten/src/library_egl.js +0 -564
- data/modules/emscripten/src/library_fs.js +0 -1619
- data/modules/emscripten/src/library_gc.js +0 -236
- data/modules/emscripten/src/library_gl.js +0 -5194
- data/modules/emscripten/src/library_glfw.js +0 -585
- data/modules/emscripten/src/library_glut.js +0 -504
- data/modules/emscripten/src/library_idbfs.js +0 -216
- data/modules/emscripten/src/library_jansson.js +0 -320
- data/modules/emscripten/src/library_memfs.js +0 -303
- data/modules/emscripten/src/library_nodefs.js +0 -286
- data/modules/emscripten/src/library_openal.js +0 -915
- data/modules/emscripten/src/library_path.js +0 -133
- data/modules/emscripten/src/library_sdl.js +0 -2728
- data/modules/emscripten/src/library_sockfs.js +0 -578
- data/modules/emscripten/src/library_strtok_r.c +0 -97
- data/modules/emscripten/src/library_tty.js +0 -146
- data/modules/emscripten/src/library_uuid.js +0 -140
- data/modules/emscripten/src/library_xlib.js +0 -23
- data/modules/emscripten/src/long.js +0 -1609
- data/modules/emscripten/src/modules.js +0 -543
- data/modules/emscripten/src/parseTools.js +0 -2723
- data/modules/emscripten/src/postamble.js +0 -239
- data/modules/emscripten/src/postamble_sharedlib.js +0 -16
- data/modules/emscripten/src/preamble.js +0 -1233
- data/modules/emscripten/src/preamble_sharedlib.js +0 -25
- data/modules/emscripten/src/proxyClient.js +0 -82
- data/modules/emscripten/src/proxyWorker.js +0 -143
- data/modules/emscripten/src/relooper/README.markdown +0 -14
- data/modules/emscripten/src/relooper/Relooper.cpp +0 -1301
- data/modules/emscripten/src/relooper/Relooper.h +0 -257
- data/modules/emscripten/src/relooper/doit.sh +0 -70
- data/modules/emscripten/src/relooper/emscripten/glue.js +0 -67
- data/modules/emscripten/src/relooper/emscripten/test.js +0 -44
- data/modules/emscripten/src/relooper/fuzzer.py +0 -131
- data/modules/emscripten/src/relooper/ministring.h +0 -35
- data/modules/emscripten/src/relooper/paper.pdf +0 -0
- data/modules/emscripten/src/relooper/test.cpp +0 -290
- data/modules/emscripten/src/relooper/test.txt +0 -317
- data/modules/emscripten/src/relooper/test2.c +0 -44
- data/modules/emscripten/src/relooper/test2.txt +0 -26
- data/modules/emscripten/src/relooper/test3.c +0 -42
- data/modules/emscripten/src/relooper/test3.txt +0 -56
- data/modules/emscripten/src/relooper/test4.cpp +0 -40
- data/modules/emscripten/src/relooper/test4.txt +0 -44
- data/modules/emscripten/src/relooper/test5.cpp +0 -40
- data/modules/emscripten/src/relooper/test5.txt +0 -56
- data/modules/emscripten/src/relooper/test6.cpp +0 -31
- data/modules/emscripten/src/relooper/test6.txt +0 -26
- data/modules/emscripten/src/relooper/test_dead.cpp +0 -28
- data/modules/emscripten/src/relooper/test_dead.txt +0 -9
- data/modules/emscripten/src/relooper/test_debug.cpp +0 -30
- data/modules/emscripten/src/relooper/test_debug.txt +0 -142
- data/modules/emscripten/src/relooper/test_fuzz1.cpp +0 -52
- data/modules/emscripten/src/relooper/test_fuzz1.txt +0 -72
- data/modules/emscripten/src/relooper/test_fuzz2.cpp +0 -34
- data/modules/emscripten/src/relooper/test_fuzz2.txt +0 -30
- data/modules/emscripten/src/relooper/test_fuzz3.cpp +0 -36
- data/modules/emscripten/src/relooper/test_fuzz3.txt +0 -25
- data/modules/emscripten/src/relooper/test_fuzz4.cpp +0 -38
- data/modules/emscripten/src/relooper/test_fuzz4.txt +0 -41
- data/modules/emscripten/src/relooper/test_fuzz5.cpp +0 -57
- data/modules/emscripten/src/relooper/test_fuzz5.txt +0 -86
- data/modules/emscripten/src/relooper/test_fuzz6.cpp +0 -322
- data/modules/emscripten/src/relooper/test_fuzz6.txt +0 -291
- data/modules/emscripten/src/relooper/test_inf.cpp +0 -813
- data/modules/emscripten/src/relooper/test_inf.txt +0 -1131
- data/modules/emscripten/src/relooper/testit.sh +0 -62
- data/modules/emscripten/src/relooper/updateit.sh +0 -17
- data/modules/emscripten/src/runtime.js +0 -604
- data/modules/emscripten/src/settings.js +0 -476
- data/modules/emscripten/src/shell.html +0 -95
- data/modules/emscripten/src/shell.js +0 -173
- data/modules/emscripten/src/shell_sharedlib.js +0 -29
- data/modules/emscripten/src/simd.js +0 -1128
- data/modules/emscripten/src/socket.io.js +0 -3870
- data/modules/emscripten/src/struct_info.json +0 -1077
- data/modules/emscripten/src/utility.js +0 -411
- data/modules/emscripten/src/wrtcp.js +0 -821
- data/modules/emscripten/system/bin/sdl-config +0 -13
- data/modules/emscripten/system/include/AL/al.h +0 -172
- data/modules/emscripten/system/include/AL/alc.h +0 -84
- data/modules/emscripten/system/include/EGL/egl.h +0 -329
- data/modules/emscripten/system/include/EGL/eglext.h +0 -398
- data/modules/emscripten/system/include/EGL/eglplatform.h +0 -141
- data/modules/emscripten/system/include/GL/freeglut_std.h +0 -628
- data/modules/emscripten/system/include/GL/gl.h +0 -2241
- data/modules/emscripten/system/include/GL/glew.h +0 -6
- data/modules/emscripten/system/include/GL/glext.h +0 -11127
- data/modules/emscripten/system/include/GL/glfw.h +0 -518
- data/modules/emscripten/system/include/GL/glu.h +0 -353
- data/modules/emscripten/system/include/GL/glut.h +0 -21
- data/modules/emscripten/system/include/GLES/gl.h +0 -770
- data/modules/emscripten/system/include/GLES/glext.h +0 -1278
- data/modules/emscripten/system/include/GLES/glplatform.h +0 -30
- data/modules/emscripten/system/include/GLES2/gl2.h +0 -621
- data/modules/emscripten/system/include/GLES2/gl2ext.h +0 -803
- data/modules/emscripten/system/include/GLES2/gl2platform.h +0 -30
- data/modules/emscripten/system/include/KHR/khrplatform.h +0 -277
- data/modules/emscripten/system/include/SDL/COPYING +0 -19
- data/modules/emscripten/system/include/SDL/SDL.h +0 -162
- data/modules/emscripten/system/include/SDL/SDL_assert.h +0 -241
- data/modules/emscripten/system/include/SDL/SDL_atomic.h +0 -318
- data/modules/emscripten/system/include/SDL/SDL_audio.h +0 -509
- data/modules/emscripten/system/include/SDL/SDL_blendmode.h +0 -60
- data/modules/emscripten/system/include/SDL/SDL_clipboard.h +0 -75
- data/modules/emscripten/system/include/SDL/SDL_compat.h +0 -365
- data/modules/emscripten/system/include/SDL/SDL_config.h +0 -48
- data/modules/emscripten/system/include/SDL/SDL_config.h.in +0 -297
- data/modules/emscripten/system/include/SDL/SDL_config_android.h +0 -133
- data/modules/emscripten/system/include/SDL/SDL_config_iphoneos.h +0 -148
- data/modules/emscripten/system/include/SDL/SDL_config_macosx.h +0 -172
- data/modules/emscripten/system/include/SDL/SDL_config_minimal.h +0 -74
- data/modules/emscripten/system/include/SDL/SDL_config_nintendods.h +0 -129
- data/modules/emscripten/system/include/SDL/SDL_config_pandora.h +0 -125
- data/modules/emscripten/system/include/SDL/SDL_config_windows.h +0 -207
- data/modules/emscripten/system/include/SDL/SDL_config_wiz.h +0 -119
- data/modules/emscripten/system/include/SDL/SDL_copying.h +0 -20
- data/modules/emscripten/system/include/SDL/SDL_cpuinfo.h +0 -150
- data/modules/emscripten/system/include/SDL/SDL_endian.h +0 -248
- data/modules/emscripten/system/include/SDL/SDL_error.h +0 -77
- data/modules/emscripten/system/include/SDL/SDL_events.h +0 -640
- data/modules/emscripten/system/include/SDL/SDL_gesture.h +0 -91
- data/modules/emscripten/system/include/SDL/SDL_gfxPrimitives.h +0 -246
- data/modules/emscripten/system/include/SDL/SDL_haptic.h +0 -1200
- data/modules/emscripten/system/include/SDL/SDL_hints.h +0 -206
- data/modules/emscripten/system/include/SDL/SDL_image.h +0 -138
- data/modules/emscripten/system/include/SDL/SDL_input.h +0 -87
- data/modules/emscripten/system/include/SDL/SDL_joystick.h +0 -208
- data/modules/emscripten/system/include/SDL/SDL_keyboard.h +0 -169
- data/modules/emscripten/system/include/SDL/SDL_keycode.h +0 -344
- data/modules/emscripten/system/include/SDL/SDL_loadso.h +0 -85
- data/modules/emscripten/system/include/SDL/SDL_log.h +0 -211
- data/modules/emscripten/system/include/SDL/SDL_main.h +0 -98
- data/modules/emscripten/system/include/SDL/SDL_mixer.h +0 -634
- data/modules/emscripten/system/include/SDL/SDL_mouse.h +0 -213
- data/modules/emscripten/system/include/SDL/SDL_mutex.h +0 -248
- data/modules/emscripten/system/include/SDL/SDL_name.h +0 -11
- data/modules/emscripten/system/include/SDL/SDL_opengl.h +0 -11116
- data/modules/emscripten/system/include/SDL/SDL_opengles.h +0 -38
- data/modules/emscripten/system/include/SDL/SDL_opengles2.h +0 -38
- data/modules/emscripten/system/include/SDL/SDL_pixels.h +0 -423
- data/modules/emscripten/system/include/SDL/SDL_platform.h +0 -160
- data/modules/emscripten/system/include/SDL/SDL_power.h +0 -79
- data/modules/emscripten/system/include/SDL/SDL_quit.h +0 -58
- data/modules/emscripten/system/include/SDL/SDL_rect.h +0 -136
- data/modules/emscripten/system/include/SDL/SDL_render.h +0 -615
- data/modules/emscripten/system/include/SDL/SDL_revision.h +0 -2
- data/modules/emscripten/system/include/SDL/SDL_revision.h.orig +0 -2
- data/modules/emscripten/system/include/SDL/SDL_rotozoom.h +0 -123
- data/modules/emscripten/system/include/SDL/SDL_rwops.h +0 -220
- data/modules/emscripten/system/include/SDL/SDL_scancode.h +0 -398
- data/modules/emscripten/system/include/SDL/SDL_shape.h +0 -147
- data/modules/emscripten/system/include/SDL/SDL_stdinc.h +0 -764
- data/modules/emscripten/system/include/SDL/SDL_surface.h +0 -499
- data/modules/emscripten/system/include/SDL/SDL_syswm.h +0 -241
- data/modules/emscripten/system/include/SDL/SDL_thread.h +0 -182
- data/modules/emscripten/system/include/SDL/SDL_timer.h +0 -108
- data/modules/emscripten/system/include/SDL/SDL_touch.h +0 -124
- data/modules/emscripten/system/include/SDL/SDL_ttf.h +0 -249
- data/modules/emscripten/system/include/SDL/SDL_types.h +0 -29
- data/modules/emscripten/system/include/SDL/SDL_version.h +0 -166
- data/modules/emscripten/system/include/SDL/SDL_video.h +0 -820
- data/modules/emscripten/system/include/SDL/begin_code.h +0 -135
- data/modules/emscripten/system/include/SDL/close_code.h +0 -37
- data/modules/emscripten/system/include/X11/X.h +0 -717
- data/modules/emscripten/system/include/X11/Xatom.h +0 -79
- data/modules/emscripten/system/include/X11/Xfuncproto.h +0 -127
- data/modules/emscripten/system/include/X11/Xlib.h +0 -4023
- data/modules/emscripten/system/include/X11/Xosdefs.h +0 -116
- data/modules/emscripten/system/include/X11/Xutil.h +0 -826
- data/modules/emscripten/system/include/X11/keysym.h +0 -73
- data/modules/emscripten/system/include/X11/keysymdef.h +0 -2389
- data/modules/emscripten/system/include/compat/ctype.h +0 -34
- data/modules/emscripten/system/include/compat/malloc.h +0 -48
- data/modules/emscripten/system/include/compat/math.h +0 -14
- data/modules/emscripten/system/include/compat/netdb.h +0 -22
- data/modules/emscripten/system/include/compat/stdarg.h +0 -16
- data/modules/emscripten/system/include/compat/stdlib.h +0 -16
- data/modules/emscripten/system/include/compat/string.h +0 -17
- data/modules/emscripten/system/include/compat/sys/socketvar.h +0 -14
- data/modules/emscripten/system/include/compat/sys/stat.h +0 -20
- data/modules/emscripten/system/include/compat/sys/timeb.h +0 -35
- data/modules/emscripten/system/include/compat/time.h +0 -18
- data/modules/emscripten/system/include/compat/unistd.h +0 -16
- data/modules/emscripten/system/include/compat/wchar.h +0 -23
- data/modules/emscripten/system/include/compat/wctype.h +0 -23
- data/modules/emscripten/system/include/compat/xlocale.h +0 -19
- data/modules/emscripten/system/include/emscripten/bind.h +0 -1210
- data/modules/emscripten/system/include/emscripten/emmintrin.h +0 -87
- data/modules/emscripten/system/include/emscripten/emscripten.h +0 -519
- data/modules/emscripten/system/include/emscripten/val.h +0 -311
- data/modules/emscripten/system/include/emscripten/vector.h +0 -34
- data/modules/emscripten/system/include/emscripten/wire.h +0 -393
- data/modules/emscripten/system/include/emscripten/xmmintrin.h +0 -131
- data/modules/emscripten/system/include/execinfo.h +0 -44
- data/modules/emscripten/system/include/gc.h +0 -70
- data/modules/emscripten/system/include/gfx/png.h +0 -3798
- data/modules/emscripten/system/include/gfx/pngconf.h +0 -1665
- data/modules/emscripten/system/include/gfx/tiff.h +0 -654
- data/modules/emscripten/system/include/gfx/tiffconf.h +0 -104
- data/modules/emscripten/system/include/gfx/tiffio.h +0 -526
- data/modules/emscripten/system/include/gfx/tiffvers.h +0 -9
- data/modules/emscripten/system/include/jansson.h +0 -323
- data/modules/emscripten/system/include/jansson_config.h +0 -54
- data/modules/emscripten/system/include/libc/aio.h +0 -69
- data/modules/emscripten/system/include/libc/alloca.h +0 -21
- data/modules/emscripten/system/include/libc/ar.h +0 -25
- data/modules/emscripten/system/include/libc/arpa/ftp.h +0 -35
- data/modules/emscripten/system/include/libc/arpa/inet.h +0 -36
- data/modules/emscripten/system/include/libc/arpa/nameser.h +0 -467
- data/modules/emscripten/system/include/libc/arpa/nameser_compat.h +0 -2
- data/modules/emscripten/system/include/libc/arpa/telnet.h +0 -251
- data/modules/emscripten/system/include/libc/arpa/tftp.h +0 -31
- data/modules/emscripten/system/include/libc/assert.h +0 -19
- data/modules/emscripten/system/include/libc/bits/alltypes.h +0 -397
- data/modules/emscripten/system/include/libc/bits/endian.h +0 -1
- data/modules/emscripten/system/include/libc/bits/errno.h +0 -134
- data/modules/emscripten/system/include/libc/bits/fcntl.h +0 -38
- data/modules/emscripten/system/include/libc/bits/fenv.h +0 -34
- data/modules/emscripten/system/include/libc/bits/float.h +0 -17
- data/modules/emscripten/system/include/libc/bits/io.h +0 -0
- data/modules/emscripten/system/include/libc/bits/ioctl.h +0 -197
- data/modules/emscripten/system/include/libc/bits/ipc.h +0 -14
- data/modules/emscripten/system/include/libc/bits/limits.h +0 -8
- data/modules/emscripten/system/include/libc/bits/mman.h +0 -62
- data/modules/emscripten/system/include/libc/bits/msg.h +0 -16
- data/modules/emscripten/system/include/libc/bits/posix.h +0 -2
- data/modules/emscripten/system/include/libc/bits/reg.h +0 -19
- data/modules/emscripten/system/include/libc/bits/setjmp.h +0 -1
- data/modules/emscripten/system/include/libc/bits/shm.h +0 -18
- data/modules/emscripten/system/include/libc/bits/signal.h +0 -112
- data/modules/emscripten/system/include/libc/bits/socket.h +0 -17
- data/modules/emscripten/system/include/libc/bits/stat.h +0 -22
- data/modules/emscripten/system/include/libc/bits/statfs.h +0 -7
- data/modules/emscripten/system/include/libc/bits/stdarg.h +0 -4
- data/modules/emscripten/system/include/libc/bits/stdint.h +0 -20
- data/modules/emscripten/system/include/libc/bits/syscall.h +0 -696
- data/modules/emscripten/system/include/libc/bits/termios.h +0 -160
- data/modules/emscripten/system/include/libc/bits/user.h +0 -48
- data/modules/emscripten/system/include/libc/byteswap.h +0 -26
- data/modules/emscripten/system/include/libc/complex.h +0 -125
- data/modules/emscripten/system/include/libc/cpio.h +0 -29
- data/modules/emscripten/system/include/libc/crypt.h +0 -20
- data/modules/emscripten/system/include/libc/ctype.h +0 -67
- data/modules/emscripten/system/include/libc/dirent.h +0 -79
- data/modules/emscripten/system/include/libc/dlfcn.h +0 -42
- data/modules/emscripten/system/include/libc/elf.h +0 -2555
- data/modules/emscripten/system/include/libc/endian.h +0 -82
- data/modules/emscripten/system/include/libc/err.h +0 -25
- data/modules/emscripten/system/include/libc/errno.h +0 -27
- data/modules/emscripten/system/include/libc/fcntl.h +0 -175
- data/modules/emscripten/system/include/libc/features.h +0 -32
- data/modules/emscripten/system/include/libc/fenv.h +0 -28
- data/modules/emscripten/system/include/libc/float.h +0 -34
- data/modules/emscripten/system/include/libc/fnmatch.h +0 -29
- data/modules/emscripten/system/include/libc/ftw.h +0 -42
- data/modules/emscripten/system/include/libc/getopt.h +0 -31
- data/modules/emscripten/system/include/libc/glob.h +0 -48
- data/modules/emscripten/system/include/libc/grp.h +0 -52
- data/modules/emscripten/system/include/libc/iconv.h +0 -24
- data/modules/emscripten/system/include/libc/ifaddrs.h +0 -35
- data/modules/emscripten/system/include/libc/inttypes.h +0 -227
- data/modules/emscripten/system/include/libc/iso646.h +0 -20
- data/modules/emscripten/system/include/libc/langinfo.h +0 -88
- data/modules/emscripten/system/include/libc/lastlog.h +0 -1
- data/modules/emscripten/system/include/libc/libgen.h +0 -15
- data/modules/emscripten/system/include/libc/libintl.h +0 -25
- data/modules/emscripten/system/include/libc/limits.h +0 -146
- data/modules/emscripten/system/include/libc/link.h +0 -54
- data/modules/emscripten/system/include/libc/locale.h +0 -82
- data/modules/emscripten/system/include/libc/malloc.h +0 -0
- data/modules/emscripten/system/include/libc/math.h +0 -422
- data/modules/emscripten/system/include/libc/memory.h +0 -1
- data/modules/emscripten/system/include/libc/mntent.h +0 -44
- data/modules/emscripten/system/include/libc/monetary.h +0 -23
- data/modules/emscripten/system/include/libc/mqueue.h +0 -36
- data/modules/emscripten/system/include/libc/net/ethernet.h +0 -55
- data/modules/emscripten/system/include/libc/net/if.h +0 -135
- data/modules/emscripten/system/include/libc/net/if_arp.h +0 -133
- data/modules/emscripten/system/include/libc/net/route.h +0 -124
- data/modules/emscripten/system/include/libc/netdb.h +0 -161
- data/modules/emscripten/system/include/libc/netinet/ether.h +0 -14
- data/modules/emscripten/system/include/libc/netinet/icmp6.h +0 -305
- data/modules/emscripten/system/include/libc/netinet/if_ether.h +0 -126
- data/modules/emscripten/system/include/libc/netinet/in.h +0 -336
- data/modules/emscripten/system/include/libc/netinet/in_systm.h +0 -9
- data/modules/emscripten/system/include/libc/netinet/ip.h +0 -186
- data/modules/emscripten/system/include/libc/netinet/ip6.h +0 -142
- data/modules/emscripten/system/include/libc/netinet/ip_icmp.h +0 -192
- data/modules/emscripten/system/include/libc/netinet/tcp.h +0 -71
- data/modules/emscripten/system/include/libc/netinet/udp.h +0 -35
- data/modules/emscripten/system/include/libc/netpacket/packet.h +0 -44
- data/modules/emscripten/system/include/libc/nl_types.h +0 -22
- data/modules/emscripten/system/include/libc/paths.h +0 -32
- data/modules/emscripten/system/include/libc/poll.h +0 -46
- data/modules/emscripten/system/include/libc/pthread.h +0 -222
- data/modules/emscripten/system/include/libc/pty.h +0 -18
- data/modules/emscripten/system/include/libc/pwd.h +0 -49
- data/modules/emscripten/system/include/libc/readme.txt +0 -3
- data/modules/emscripten/system/include/libc/regex.h +0 -62
- data/modules/emscripten/system/include/libc/resolv.h +0 -144
- data/modules/emscripten/system/include/libc/sched.h +0 -132
- data/modules/emscripten/system/include/libc/search.h +0 -51
- data/modules/emscripten/system/include/libc/semaphore.h +0 -35
- data/modules/emscripten/system/include/libc/setjmp.h +0 -42
- data/modules/emscripten/system/include/libc/shadow.h +0 -44
- data/modules/emscripten/system/include/libc/signal.h +0 -255
- data/modules/emscripten/system/include/libc/spawn.h +0 -74
- data/modules/emscripten/system/include/libc/stdalign.h +0 -15
- data/modules/emscripten/system/include/libc/stdarg.h +0 -25
- data/modules/emscripten/system/include/libc/stdbool.h +0 -14
- data/modules/emscripten/system/include/libc/stddef.h +0 -18
- data/modules/emscripten/system/include/libc/stdint.h +0 -117
- data/modules/emscripten/system/include/libc/stdio.h +0 -199
- data/modules/emscripten/system/include/libc/stdio_ext.h +0 -34
- data/modules/emscripten/system/include/libc/stdlib.h +0 -171
- data/modules/emscripten/system/include/libc/stdnoreturn.h +0 -5
- data/modules/emscripten/system/include/libc/string.h +0 -102
- data/modules/emscripten/system/include/libc/strings.h +0 -35
- data/modules/emscripten/system/include/libc/stropts.h +0 -139
- data/modules/emscripten/system/include/libc/sys/acct.h +0 -75
- data/modules/emscripten/system/include/libc/sys/cachectl.h +0 -22
- data/modules/emscripten/system/include/libc/sys/dir.h +0 -2
- data/modules/emscripten/system/include/libc/sys/epoll.h +0 -67
- data/modules/emscripten/system/include/libc/sys/errno.h +0 -2
- data/modules/emscripten/system/include/libc/sys/eventfd.h +0 -26
- data/modules/emscripten/system/include/libc/sys/fcntl.h +0 -2
- data/modules/emscripten/system/include/libc/sys/file.h +0 -21
- data/modules/emscripten/system/include/libc/sys/fsuid.h +0 -20
- data/modules/emscripten/system/include/libc/sys/inotify.h +0 -57
- data/modules/emscripten/system/include/libc/sys/io.h +0 -17
- data/modules/emscripten/system/include/libc/sys/ioctl.h +0 -14
- data/modules/emscripten/system/include/libc/sys/ipc.h +0 -42
- data/modules/emscripten/system/include/libc/sys/klog.h +0 -14
- data/modules/emscripten/system/include/libc/sys/mman.h +0 -55
- data/modules/emscripten/system/include/libc/sys/mount.h +0 -72
- data/modules/emscripten/system/include/libc/sys/msg.h +0 -52
- data/modules/emscripten/system/include/libc/sys/mtio.h +0 -188
- data/modules/emscripten/system/include/libc/sys/param.h +0 -35
- data/modules/emscripten/system/include/libc/sys/personality.h +0 -46
- data/modules/emscripten/system/include/libc/sys/poll.h +0 -2
- data/modules/emscripten/system/include/libc/sys/prctl.h +0 -101
- data/modules/emscripten/system/include/libc/sys/procfs.h +0 -65
- data/modules/emscripten/system/include/libc/sys/ptrace.h +0 -96
- data/modules/emscripten/system/include/libc/sys/reboot.h +0 -20
- data/modules/emscripten/system/include/libc/sys/reg.h +0 -9
- data/modules/emscripten/system/include/libc/sys/resource.h +0 -103
- data/modules/emscripten/system/include/libc/sys/select.h +0 -42
- data/modules/emscripten/system/include/libc/sys/sem.h +0 -82
- data/modules/emscripten/system/include/libc/sys/sendfile.h +0 -22
- data/modules/emscripten/system/include/libc/sys/shm.h +0 -61
- data/modules/emscripten/system/include/libc/sys/signal.h +0 -2
- data/modules/emscripten/system/include/libc/sys/signalfd.h +0 -44
- data/modules/emscripten/system/include/libc/sys/socket.h +0 -299
- data/modules/emscripten/system/include/libc/sys/stat.h +0 -114
- data/modules/emscripten/system/include/libc/sys/statfs.h +0 -32
- data/modules/emscripten/system/include/libc/sys/statvfs.h +0 -57
- data/modules/emscripten/system/include/libc/sys/stropts.h +0 -1
- data/modules/emscripten/system/include/libc/sys/swap.h +0 -21
- data/modules/emscripten/system/include/libc/sys/syscall.h +0 -6
- data/modules/emscripten/system/include/libc/sys/sysctl.h +0 -17
- data/modules/emscripten/system/include/libc/sys/sysinfo.h +0 -36
- data/modules/emscripten/system/include/libc/sys/syslog.h +0 -1
- data/modules/emscripten/system/include/libc/sys/sysmacros.h +0 -15
- data/modules/emscripten/system/include/libc/sys/termios.h +0 -2
- data/modules/emscripten/system/include/libc/sys/time.h +0 -57
- data/modules/emscripten/system/include/libc/sys/timerfd.h +0 -24
- data/modules/emscripten/system/include/libc/sys/times.h +0 -26
- data/modules/emscripten/system/include/libc/sys/timex.h +0 -98
- data/modules/emscripten/system/include/libc/sys/ttydefaults.h +0 -39
- data/modules/emscripten/system/include/libc/sys/types.h +0 -91
- data/modules/emscripten/system/include/libc/sys/ucontext.h +0 -1
- data/modules/emscripten/system/include/libc/sys/uio.h +0 -48
- data/modules/emscripten/system/include/libc/sys/un.h +0 -32
- data/modules/emscripten/system/include/libc/sys/user.h +0 -16
- data/modules/emscripten/system/include/libc/sys/utsname.h +0 -30
- data/modules/emscripten/system/include/libc/sys/vfs.h +0 -1
- data/modules/emscripten/system/include/libc/sys/wait.h +0 -55
- data/modules/emscripten/system/include/libc/sys/xattr.h +0 -30
- data/modules/emscripten/system/include/libc/syscall.h +0 -1
- data/modules/emscripten/system/include/libc/sysexits.h +0 -21
- data/modules/emscripten/system/include/libc/syslog.h +0 -104
- data/modules/emscripten/system/include/libc/tar.h +0 -33
- data/modules/emscripten/system/include/libc/termios.h +0 -46
- data/modules/emscripten/system/include/libc/tgmath.h +0 -270
- data/modules/emscripten/system/include/libc/time.h +0 -132
- data/modules/emscripten/system/include/libc/ucontext.h +0 -25
- data/modules/emscripten/system/include/libc/ulimit.h +0 -17
- data/modules/emscripten/system/include/libc/unistd.h +0 -519
- data/modules/emscripten/system/include/libc/utime.h +0 -24
- data/modules/emscripten/system/include/libc/utmp.h +0 -47
- data/modules/emscripten/system/include/libc/utmpx.h +0 -58
- data/modules/emscripten/system/include/libc/values.h +0 -39
- data/modules/emscripten/system/include/libc/wchar.h +0 -183
- data/modules/emscripten/system/include/libc/wctype.h +0 -77
- data/modules/emscripten/system/include/libc/wordexp.h +0 -42
- data/modules/emscripten/system/include/libcxx/CREDITS.TXT +0 -123
- data/modules/emscripten/system/include/libcxx/LICENSE.txt +0 -76
- data/modules/emscripten/system/include/libcxx/__bit_reference +0 -1287
- data/modules/emscripten/system/include/libcxx/__config +0 -610
- data/modules/emscripten/system/include/libcxx/__debug +0 -218
- data/modules/emscripten/system/include/libcxx/__functional_03 +0 -2130
- data/modules/emscripten/system/include/libcxx/__functional_base +0 -615
- data/modules/emscripten/system/include/libcxx/__functional_base_03 +0 -1087
- data/modules/emscripten/system/include/libcxx/__hash_table +0 -2457
- data/modules/emscripten/system/include/libcxx/__locale +0 -1445
- data/modules/emscripten/system/include/libcxx/__mutex_base +0 -407
- data/modules/emscripten/system/include/libcxx/__split_buffer +0 -654
- data/modules/emscripten/system/include/libcxx/__sso_allocator +0 -77
- data/modules/emscripten/system/include/libcxx/__std_stream +0 -359
- data/modules/emscripten/system/include/libcxx/__tree +0 -2309
- data/modules/emscripten/system/include/libcxx/__tuple +0 -305
- data/modules/emscripten/system/include/libcxx/__tuple_03 +0 -27
- data/modules/emscripten/system/include/libcxx/__undef_min_max +0 -27
- data/modules/emscripten/system/include/libcxx/algorithm +0 -5679
- data/modules/emscripten/system/include/libcxx/array +0 -342
- data/modules/emscripten/system/include/libcxx/atomic +0 -1531
- data/modules/emscripten/system/include/libcxx/bitset +0 -1081
- data/modules/emscripten/system/include/libcxx/cassert +0 -25
- data/modules/emscripten/system/include/libcxx/ccomplex +0 -29
- data/modules/emscripten/system/include/libcxx/cctype +0 -164
- data/modules/emscripten/system/include/libcxx/cerrno +0 -393
- data/modules/emscripten/system/include/libcxx/cfenv +0 -82
- data/modules/emscripten/system/include/libcxx/cfloat +0 -78
- data/modules/emscripten/system/include/libcxx/chrono +0 -1027
- data/modules/emscripten/system/include/libcxx/cinttypes +0 -259
- data/modules/emscripten/system/include/libcxx/ciso646 +0 -25
- data/modules/emscripten/system/include/libcxx/climits +0 -48
- data/modules/emscripten/system/include/libcxx/clocale +0 -53
- data/modules/emscripten/system/include/libcxx/cmath +0 -1690
- data/modules/emscripten/system/include/libcxx/codecvt +0 -550
- data/modules/emscripten/system/include/libcxx/complex +0 -1567
- data/modules/emscripten/system/include/libcxx/complex.h +0 -35
- data/modules/emscripten/system/include/libcxx/condition_variable +0 -256
- data/modules/emscripten/system/include/libcxx/csetjmp +0 -52
- data/modules/emscripten/system/include/libcxx/csignal +0 -58
- data/modules/emscripten/system/include/libcxx/cstdarg +0 -48
- data/modules/emscripten/system/include/libcxx/cstdbool +0 -32
- data/modules/emscripten/system/include/libcxx/cstddef +0 -103
- data/modules/emscripten/system/include/libcxx/cstdint +0 -191
- data/modules/emscripten/system/include/libcxx/cstdio +0 -182
- data/modules/emscripten/system/include/libcxx/cstdlib +0 -172
- data/modules/emscripten/system/include/libcxx/cstring +0 -112
- data/modules/emscripten/system/include/libcxx/ctgmath +0 -29
- data/modules/emscripten/system/include/libcxx/ctime +0 -72
- data/modules/emscripten/system/include/libcxx/cwchar +0 -217
- data/modules/emscripten/system/include/libcxx/cwctype +0 -213
- data/modules/emscripten/system/include/libcxx/deque +0 -2873
- data/modules/emscripten/system/include/libcxx/dynarray +0 -311
- data/modules/emscripten/system/include/libcxx/exception +0 -250
- data/modules/emscripten/system/include/libcxx/ext/__hash +0 -46
- data/modules/emscripten/system/include/libcxx/ext/hash_map +0 -1007
- data/modules/emscripten/system/include/libcxx/ext/hash_set +0 -661
- data/modules/emscripten/system/include/libcxx/forward_list +0 -1663
- data/modules/emscripten/system/include/libcxx/fstream +0 -1431
- data/modules/emscripten/system/include/libcxx/functional +0 -2418
- data/modules/emscripten/system/include/libcxx/future +0 -2615
- data/modules/emscripten/system/include/libcxx/initializer_list +0 -118
- data/modules/emscripten/system/include/libcxx/iomanip +0 -651
- data/modules/emscripten/system/include/libcxx/ios +0 -1023
- data/modules/emscripten/system/include/libcxx/iosfwd +0 -194
- data/modules/emscripten/system/include/libcxx/iostream +0 -60
- data/modules/emscripten/system/include/libcxx/istream +0 -1716
- data/modules/emscripten/system/include/libcxx/iterator +0 -1568
- data/modules/emscripten/system/include/libcxx/limits +0 -813
- data/modules/emscripten/system/include/libcxx/list +0 -2355
- data/modules/emscripten/system/include/libcxx/locale +0 -4465
- data/modules/emscripten/system/include/libcxx/map +0 -2045
- data/modules/emscripten/system/include/libcxx/memory +0 -5448
- data/modules/emscripten/system/include/libcxx/mutex +0 -566
- data/modules/emscripten/system/include/libcxx/new +0 -146
- data/modules/emscripten/system/include/libcxx/numeric +0 -197
- data/modules/emscripten/system/include/libcxx/optional +0 -697
- data/modules/emscripten/system/include/libcxx/ostream +0 -1295
- data/modules/emscripten/system/include/libcxx/queue +0 -717
- data/modules/emscripten/system/include/libcxx/random +0 -6725
- data/modules/emscripten/system/include/libcxx/ratio +0 -487
- data/modules/emscripten/system/include/libcxx/readme.txt +0 -1
- data/modules/emscripten/system/include/libcxx/regex +0 -6487
- data/modules/emscripten/system/include/libcxx/scoped_allocator +0 -578
- data/modules/emscripten/system/include/libcxx/set +0 -1189
- data/modules/emscripten/system/include/libcxx/shared_mutex +0 -419
- data/modules/emscripten/system/include/libcxx/sstream +0 -972
- data/modules/emscripten/system/include/libcxx/stack +0 -292
- data/modules/emscripten/system/include/libcxx/stdexcept +0 -162
- data/modules/emscripten/system/include/libcxx/streambuf +0 -564
- data/modules/emscripten/system/include/libcxx/string +0 -4198
- data/modules/emscripten/system/include/libcxx/strstream +0 -400
- data/modules/emscripten/system/include/libcxx/support/ibm/limits.h +0 -99
- data/modules/emscripten/system/include/libcxx/support/ibm/support.h +0 -54
- data/modules/emscripten/system/include/libcxx/support/ibm/xlocale.h +0 -326
- data/modules/emscripten/system/include/libcxx/support/solaris/floatingpoint.h +0 -5
- data/modules/emscripten/system/include/libcxx/support/solaris/wchar.h +0 -38
- data/modules/emscripten/system/include/libcxx/support/solaris/xlocale.h +0 -146
- data/modules/emscripten/system/include/libcxx/support/win32/limits_win32.h +0 -79
- data/modules/emscripten/system/include/libcxx/support/win32/locale_win32.h +0 -129
- data/modules/emscripten/system/include/libcxx/support/win32/math_win32.h +0 -115
- data/modules/emscripten/system/include/libcxx/support/win32/support.h +0 -119
- data/modules/emscripten/system/include/libcxx/system_error +0 -642
- data/modules/emscripten/system/include/libcxx/tgmath.h +0 -29
- data/modules/emscripten/system/include/libcxx/thread +0 -458
- data/modules/emscripten/system/include/libcxx/tuple +0 -1102
- data/modules/emscripten/system/include/libcxx/type_traits +0 -3292
- data/modules/emscripten/system/include/libcxx/typeindex +0 -103
- data/modules/emscripten/system/include/libcxx/typeinfo +0 -124
- data/modules/emscripten/system/include/libcxx/unordered_map +0 -2078
- data/modules/emscripten/system/include/libcxx/unordered_set +0 -1379
- data/modules/emscripten/system/include/libcxx/utility +0 -768
- data/modules/emscripten/system/include/libcxx/valarray +0 -4779
- data/modules/emscripten/system/include/libcxx/vector +0 -3246
- data/modules/emscripten/system/include/unwind.h +0 -154
- data/modules/emscripten/system/include/uuid/uuid.h +0 -35
- data/modules/emscripten/system/include/zconf.h +0 -428
- data/modules/emscripten/system/include/zlib.h +0 -1613
- data/modules/emscripten/system/lib/compiler-rt/LICENSE.TXT +0 -97
- data/modules/emscripten/system/lib/compiler-rt/divdi3.c +0 -47
- data/modules/emscripten/system/lib/compiler-rt/int_endianness.h +0 -116
- data/modules/emscripten/system/lib/compiler-rt/int_lib.h +0 -46
- data/modules/emscripten/system/lib/compiler-rt/int_math.h +0 -67
- data/modules/emscripten/system/lib/compiler-rt/int_types.h +0 -140
- data/modules/emscripten/system/lib/compiler-rt/int_util.h +0 -29
- data/modules/emscripten/system/lib/compiler-rt/muldi3.c +0 -56
- data/modules/emscripten/system/lib/compiler-rt/readme.txt +0 -20
- data/modules/emscripten/system/lib/compiler-rt/udivdi3.c +0 -36
- data/modules/emscripten/system/lib/compiler-rt/udivmoddi4.c +0 -251
- data/modules/emscripten/system/lib/debugging.cpp +0 -24
- data/modules/emscripten/system/lib/dlmalloc.c +0 -6297
- data/modules/emscripten/system/lib/embind/bind.cpp +0 -63
- data/modules/emscripten/system/lib/libc/gen/err.c +0 -49
- data/modules/emscripten/system/lib/libc/gen/errx.c +0 -49
- data/modules/emscripten/system/lib/libc/gen/verr.c +0 -58
- data/modules/emscripten/system/lib/libc/gen/verrx.c +0 -51
- data/modules/emscripten/system/lib/libc/gen/vwarn.c +0 -55
- data/modules/emscripten/system/lib/libc/gen/vwarnx.c +0 -48
- data/modules/emscripten/system/lib/libc/gen/warn.c +0 -49
- data/modules/emscripten/system/lib/libc/gen/warnx.c +0 -49
- data/modules/emscripten/system/lib/libc/musl/COPYRIGHT +0 -92
- data/modules/emscripten/system/lib/libc/musl/readme.txt +0 -9
- data/modules/emscripten/system/lib/libc/musl/src/ctype/alpha.h +0 -125
- data/modules/emscripten/system/lib/libc/musl/src/ctype/iswalnum.c +0 -7
- data/modules/emscripten/system/lib/libc/musl/src/ctype/iswalpha.c +0 -14
- data/modules/emscripten/system/lib/libc/musl/src/ctype/iswblank.c +0 -8
- data/modules/emscripten/system/lib/libc/musl/src/ctype/iswcntrl.c +0 -10
- data/modules/emscripten/system/lib/libc/musl/src/ctype/iswctype.c +0 -63
- data/modules/emscripten/system/lib/libc/musl/src/ctype/iswdigit.c +0 -9
- data/modules/emscripten/system/lib/libc/musl/src/ctype/iswgraph.c +0 -7
- data/modules/emscripten/system/lib/libc/musl/src/ctype/iswlower.c +0 -6
- data/modules/emscripten/system/lib/libc/musl/src/ctype/iswprint.c +0 -19
- data/modules/emscripten/system/lib/libc/musl/src/ctype/iswpunct.c +0 -12
- data/modules/emscripten/system/lib/libc/musl/src/ctype/iswspace.c +0 -19
- data/modules/emscripten/system/lib/libc/musl/src/ctype/iswupper.c +0 -6
- data/modules/emscripten/system/lib/libc/musl/src/ctype/iswxdigit.c +0 -7
- data/modules/emscripten/system/lib/libc/musl/src/ctype/nonspacing.h +0 -62
- data/modules/emscripten/system/lib/libc/musl/src/ctype/punct.h +0 -109
- data/modules/emscripten/system/lib/libc/musl/src/ctype/towctrans.c +0 -268
- data/modules/emscripten/system/lib/libc/musl/src/ctype/wcswidth.c +0 -8
- data/modules/emscripten/system/lib/libc/musl/src/ctype/wctrans.c +0 -16
- data/modules/emscripten/system/lib/libc/musl/src/ctype/wcwidth.c +0 -29
- data/modules/emscripten/system/lib/libc/musl/src/ctype/wide.h +0 -42
- data/modules/emscripten/system/lib/libc/musl/src/internal/libc.c +0 -22
- data/modules/emscripten/system/lib/libc/musl/src/internal/libc.h +0 -71
- data/modules/emscripten/system/lib/libc/musl/src/internal/locale_impl.h +0 -5
- data/modules/emscripten/system/lib/libc/musl/src/internal/stdio_impl.h +0 -92
- data/modules/emscripten/system/lib/libc/musl/src/locale/big5.h +0 -1085
- data/modules/emscripten/system/lib/libc/musl/src/locale/codepages.h +0 -238
- data/modules/emscripten/system/lib/libc/musl/src/locale/gb18030.h +0 -1836
- data/modules/emscripten/system/lib/libc/musl/src/locale/hkscs.h +0 -390
- data/modules/emscripten/system/lib/libc/musl/src/locale/iconv.c +0 -454
- data/modules/emscripten/system/lib/libc/musl/src/locale/iswalnum_l.c +0 -6
- data/modules/emscripten/system/lib/libc/musl/src/locale/iswalpha_l.c +0 -6
- data/modules/emscripten/system/lib/libc/musl/src/locale/iswblank_l.c +0 -6
- data/modules/emscripten/system/lib/libc/musl/src/locale/iswcntrl_l.c +0 -6
- data/modules/emscripten/system/lib/libc/musl/src/locale/iswctype_l.c +0 -9
- data/modules/emscripten/system/lib/libc/musl/src/locale/iswdigit_l.c +0 -6
- data/modules/emscripten/system/lib/libc/musl/src/locale/iswgraph_l.c +0 -6
- data/modules/emscripten/system/lib/libc/musl/src/locale/iswlower_l.c +0 -6
- data/modules/emscripten/system/lib/libc/musl/src/locale/iswprint_l.c +0 -6
- data/modules/emscripten/system/lib/libc/musl/src/locale/iswpunct_l.c +0 -6
- data/modules/emscripten/system/lib/libc/musl/src/locale/iswspace_l.c +0 -6
- data/modules/emscripten/system/lib/libc/musl/src/locale/iswupper_l.c +0 -6
- data/modules/emscripten/system/lib/libc/musl/src/locale/iswxdigit_l.c +0 -6
- data/modules/emscripten/system/lib/libc/musl/src/locale/jis0208.h +0 -550
- data/modules/emscripten/system/lib/libc/musl/src/locale/ksc.h +0 -640
- data/modules/emscripten/system/lib/libc/musl/src/locale/legacychars.h +0 -39
- data/modules/emscripten/system/lib/libc/musl/src/locale/strfmon.c +0 -101
- data/modules/emscripten/system/lib/libc/musl/src/locale/strxfrm.c +0 -18
- data/modules/emscripten/system/lib/libc/musl/src/locale/towctrans_l.c +0 -6
- data/modules/emscripten/system/lib/libc/musl/src/locale/towlower_l.c +0 -9
- data/modules/emscripten/system/lib/libc/musl/src/locale/towupper_l.c +0 -9
- data/modules/emscripten/system/lib/libc/musl/src/locale/wcscoll.c +0 -16
- data/modules/emscripten/system/lib/libc/musl/src/locale/wcscoll_l.c +0 -6
- data/modules/emscripten/system/lib/libc/musl/src/locale/wcsxfrm.c +0 -21
- data/modules/emscripten/system/lib/libc/musl/src/locale/wcsxfrm_l.c +0 -6
- data/modules/emscripten/system/lib/libc/musl/src/locale/wctrans_l.c +0 -6
- data/modules/emscripten/system/lib/libc/musl/src/locale/wctype_l.c +0 -9
- data/modules/emscripten/system/lib/libc/musl/src/multibyte/btowc.c +0 -7
- data/modules/emscripten/system/lib/libc/musl/src/multibyte/internal.c +0 -38
- data/modules/emscripten/system/lib/libc/musl/src/multibyte/internal.h +0 -22
- data/modules/emscripten/system/lib/libc/musl/src/multibyte/mblen.c +0 -17
- data/modules/emscripten/system/lib/libc/musl/src/multibyte/mbrlen.c +0 -18
- data/modules/emscripten/system/lib/libc/musl/src/multibyte/mbrtowc.c +0 -57
- data/modules/emscripten/system/lib/libc/musl/src/multibyte/mbsinit.c +0 -17
- data/modules/emscripten/system/lib/libc/musl/src/multibyte/mbsnrtowcs.c +0 -65
- data/modules/emscripten/system/lib/libc/musl/src/multibyte/mbsrtowcs.c +0 -100
- data/modules/emscripten/system/lib/libc/musl/src/multibyte/mbstowcs.c +0 -7
- data/modules/emscripten/system/lib/libc/musl/src/multibyte/mbtowc.c +0 -53
- data/modules/emscripten/system/lib/libc/musl/src/multibyte/wcrtomb.c +0 -38
- data/modules/emscripten/system/lib/libc/musl/src/multibyte/wcsnrtombs.c +0 -52
- data/modules/emscripten/system/lib/libc/musl/src/multibyte/wcsrtombs.c +0 -58
- data/modules/emscripten/system/lib/libc/musl/src/multibyte/wcstombs.c +0 -7
- data/modules/emscripten/system/lib/libc/musl/src/multibyte/wctob.c +0 -8
- data/modules/emscripten/system/lib/libc/musl/src/multibyte/wctomb.c +0 -18
- data/modules/emscripten/system/lib/libc/musl/src/regex/regcomp.c +0 -3352
- data/modules/emscripten/system/lib/libc/musl/src/regex/regerror.c +0 -35
- data/modules/emscripten/system/lib/libc/musl/src/regex/regexec.c +0 -1011
- data/modules/emscripten/system/lib/libc/musl/src/regex/tre-mem.c +0 -158
- data/modules/emscripten/system/lib/libc/musl/src/regex/tre.h +0 -231
- data/modules/emscripten/system/lib/libc/musl/src/stdio/fwprintf.c +0 -13
- data/modules/emscripten/system/lib/libc/musl/src/stdio/swprintf.c +0 -14
- data/modules/emscripten/system/lib/libc/musl/src/stdio/vfwprintf.c +0 -361
- data/modules/emscripten/system/lib/libc/musl/src/stdio/vswprintf.c +0 -53
- data/modules/emscripten/system/lib/libc/musl/src/stdio/vwprintf.c +0 -7
- data/modules/emscripten/system/lib/libc/musl/src/stdio/wprintf.c +0 -13
- data/modules/emscripten/system/lib/libc/musl/src/stdlib/ecvt.c +0 -19
- data/modules/emscripten/system/lib/libc/musl/src/stdlib/fcvt.c +0 -25
- data/modules/emscripten/system/lib/libc/musl/src/stdlib/gcvt.c +0 -8
- data/modules/emscripten/system/lib/libc/musl/src/string/wcpcpy.c +0 -6
- data/modules/emscripten/system/lib/libc/musl/src/string/wcpncpy.c +0 -6
- data/modules/emscripten/system/lib/libc/musl/src/string/wcscasecmp.c +0 -7
- data/modules/emscripten/system/lib/libc/musl/src/string/wcscasecmp_l.c +0 -6
- data/modules/emscripten/system/lib/libc/musl/src/string/wcscat.c +0 -7
- data/modules/emscripten/system/lib/libc/musl/src/string/wcschr.c +0 -8
- data/modules/emscripten/system/lib/libc/musl/src/string/wcscmp.c +0 -7
- data/modules/emscripten/system/lib/libc/musl/src/string/wcscpy.c +0 -8
- data/modules/emscripten/system/lib/libc/musl/src/string/wcscspn.c +0 -10
- data/modules/emscripten/system/lib/libc/musl/src/string/wcsdup.c +0 -11
- data/modules/emscripten/system/lib/libc/musl/src/string/wcslen.c +0 -8
- data/modules/emscripten/system/lib/libc/musl/src/string/wcsncasecmp.c +0 -9
- data/modules/emscripten/system/lib/libc/musl/src/string/wcsncasecmp_l.c +0 -6
- data/modules/emscripten/system/lib/libc/musl/src/string/wcsncat.c +0 -10
- data/modules/emscripten/system/lib/libc/musl/src/string/wcsncmp.c +0 -7
- data/modules/emscripten/system/lib/libc/musl/src/string/wcsncpy.c +0 -9
- data/modules/emscripten/system/lib/libc/musl/src/string/wcsnlen.c +0 -8
- data/modules/emscripten/system/lib/libc/musl/src/string/wcspbrk.c +0 -7
- data/modules/emscripten/system/lib/libc/musl/src/string/wcsrchr.c +0 -8
- data/modules/emscripten/system/lib/libc/musl/src/string/wcsspn.c +0 -8
- data/modules/emscripten/system/lib/libc/musl/src/string/wcsstr.c +0 -108
- data/modules/emscripten/system/lib/libc/musl/src/string/wcstok.c +0 -12
- data/modules/emscripten/system/lib/libc/musl/src/string/wcswcs.c +0 -6
- data/modules/emscripten/system/lib/libc/musl/src/string/wmemchr.c +0 -8
- data/modules/emscripten/system/lib/libc/musl/src/string/wmemcmp.c +0 -8
- data/modules/emscripten/system/lib/libc/musl/src/string/wmemcpy.c +0 -9
- data/modules/emscripten/system/lib/libc/musl/src/string/wmemmove.c +0 -12
- data/modules/emscripten/system/lib/libc/musl/src/string/wmemset.c +0 -9
- data/modules/emscripten/system/lib/libc/stdlib/getopt_long.c +0 -511
- data/modules/emscripten/system/lib/libc/stdlib/strtod.c +0 -305
- data/modules/emscripten/system/lib/libc.symbols +0 -81
- data/modules/emscripten/system/lib/libcextra.symbols +0 -115
- data/modules/emscripten/system/lib/libcxx/CREDITS.TXT +0 -123
- data/modules/emscripten/system/lib/libcxx/LICENSE.txt +0 -76
- data/modules/emscripten/system/lib/libcxx/algorithm.cpp +0 -84
- data/modules/emscripten/system/lib/libcxx/bind.cpp +0 -30
- data/modules/emscripten/system/lib/libcxx/chrono.cpp +0 -132
- data/modules/emscripten/system/lib/libcxx/condition_variable.cpp +0 -81
- data/modules/emscripten/system/lib/libcxx/debug.cpp +0 -530
- data/modules/emscripten/system/lib/libcxx/exception.cpp +0 -307
- data/modules/emscripten/system/lib/libcxx/future.cpp +0 -291
- data/modules/emscripten/system/lib/libcxx/hash.cpp +0 -570
- data/modules/emscripten/system/lib/libcxx/ios.cpp +0 -460
- data/modules/emscripten/system/lib/libcxx/iostream.cpp +0 -68
- data/modules/emscripten/system/lib/libcxx/locale.cpp +0 -6169
- data/modules/emscripten/system/lib/libcxx/memory.cpp +0 -223
- data/modules/emscripten/system/lib/libcxx/mutex.cpp +0 -253
- data/modules/emscripten/system/lib/libcxx/new.cpp +0 -239
- data/modules/emscripten/system/lib/libcxx/optional.cpp +0 -25
- data/modules/emscripten/system/lib/libcxx/random.cpp +0 -74
- data/modules/emscripten/system/lib/libcxx/readme.txt +0 -1
- data/modules/emscripten/system/lib/libcxx/regex.cpp +0 -325
- data/modules/emscripten/system/lib/libcxx/shared_mutex.cpp +0 -101
- data/modules/emscripten/system/lib/libcxx/stdexcept.cpp +0 -200
- data/modules/emscripten/system/lib/libcxx/string.cpp +0 -530
- data/modules/emscripten/system/lib/libcxx/strstream.cpp +0 -329
- data/modules/emscripten/system/lib/libcxx/support/solaris/README +0 -4
- data/modules/emscripten/system/lib/libcxx/support/solaris/mbsnrtowcs.inc +0 -76
- data/modules/emscripten/system/lib/libcxx/support/solaris/wcsnrtombs.inc +0 -93
- data/modules/emscripten/system/lib/libcxx/support/solaris/xlocale.c +0 -245
- data/modules/emscripten/system/lib/libcxx/support/win32/locale_win32.cpp +0 -95
- data/modules/emscripten/system/lib/libcxx/support/win32/support.cpp +0 -166
- data/modules/emscripten/system/lib/libcxx/symbols +0 -2699
- data/modules/emscripten/system/lib/libcxx/system_error.cpp +0 -205
- data/modules/emscripten/system/lib/libcxx/thread.cpp +0 -225
- data/modules/emscripten/system/lib/libcxx/typeinfo.cpp +0 -73
- data/modules/emscripten/system/lib/libcxx/utility.cpp +0 -17
- data/modules/emscripten/system/lib/libcxx/valarray.cpp +0 -56
- data/modules/emscripten/system/lib/libcxxabi/CREDITS.TXT +0 -38
- data/modules/emscripten/system/lib/libcxxabi/LICENSE.TXT +0 -76
- data/modules/emscripten/system/lib/libcxxabi/include/cxa_demangle.h +0 -167
- data/modules/emscripten/system/lib/libcxxabi/include/cxxabi.h +0 -175
- data/modules/emscripten/system/lib/libcxxabi/lib/buildit +0 -99
- data/modules/emscripten/system/lib/libcxxabi/readme.txt +0 -1
- data/modules/emscripten/system/lib/libcxxabi/src/abort_message.cpp +0 -50
- data/modules/emscripten/system/lib/libcxxabi/src/abort_message.h +0 -33
- data/modules/emscripten/system/lib/libcxxabi/src/cxa_aux_runtime.cpp +0 -34
- data/modules/emscripten/system/lib/libcxxabi/src/cxa_demangle.cpp +0 -11036
- data/modules/emscripten/system/lib/libcxxabi/src/cxa_exception.cpp +0 -622
- data/modules/emscripten/system/lib/libcxxabi/src/cxa_exception.hpp +0 -123
- data/modules/emscripten/system/lib/libcxxabi/src/cxa_exception_storage.cpp +0 -91
- data/modules/emscripten/system/lib/libcxxabi/src/cxa_guard.cpp +0 -231
- data/modules/emscripten/system/lib/libcxxabi/src/cxa_handlers.cpp +0 -125
- data/modules/emscripten/system/lib/libcxxabi/src/cxa_handlers.hpp +0 -54
- data/modules/emscripten/system/lib/libcxxabi/src/cxa_new_delete.cpp +0 -242
- data/modules/emscripten/system/lib/libcxxabi/src/cxa_personality.cpp +0 -1055
- data/modules/emscripten/system/lib/libcxxabi/src/cxa_unexpected.cpp +0 -27
- data/modules/emscripten/system/lib/libcxxabi/src/cxa_vector.cpp +0 -367
- data/modules/emscripten/system/lib/libcxxabi/src/cxa_virtual.cpp +0 -31
- data/modules/emscripten/system/lib/libcxxabi/src/exception.cpp +0 -41
- data/modules/emscripten/system/lib/libcxxabi/src/fallback_malloc.ipp +0 -174
- data/modules/emscripten/system/lib/libcxxabi/src/private_typeinfo.cpp +0 -1146
- data/modules/emscripten/system/lib/libcxxabi/src/private_typeinfo.h +0 -248
- data/modules/emscripten/system/lib/libcxxabi/src/stdexcept.cpp +0 -169
- data/modules/emscripten/system/lib/libcxxabi/src/typeinfo.cpp +0 -53
- data/modules/emscripten/system/lib/libcxxabi/symbols +0 -236
- data/modules/emscripten/system/lib/sdl.cpp +0 -13
- data/modules/emscripten/system/lib/sdl.symbols +0 -1
- data/modules/emscripten/third_party/CppHeaderParser/CppHeaderParser/CppHeaderParser.py +0 -2347
- data/modules/emscripten/third_party/CppHeaderParser/CppHeaderParser/__init__.py +0 -4
- data/modules/emscripten/third_party/CppHeaderParser/CppHeaderParser/doc/CppHeaderParser.html +0 -657
- data/modules/emscripten/third_party/CppHeaderParser/CppHeaderParser/examples/SampleClass.h +0 -147
- data/modules/emscripten/third_party/CppHeaderParser/CppHeaderParser/examples/readSampleClass.py +0 -74
- data/modules/emscripten/third_party/CppHeaderParser/PKG-INFO +0 -249
- data/modules/emscripten/third_party/CppHeaderParser/README.html +0 -544
- data/modules/emscripten/third_party/CppHeaderParser/README.txt +0 -226
- data/modules/emscripten/third_party/CppHeaderParser/setup.py +0 -43
- data/modules/emscripten/third_party/ansidecl.h +0 -371
- data/modules/emscripten/third_party/closure-compiler/COPYING +0 -202
- data/modules/emscripten/third_party/closure-compiler/README +0 -292
- data/modules/emscripten/third_party/closure-compiler/compiler.jar +0 -0
- data/modules/emscripten/third_party/closure-compiler/readme.txt +0 -3
- data/modules/emscripten/third_party/cp-demangle.h +0 -161
- data/modules/emscripten/third_party/demangle.h +0 -549
- data/modules/emscripten/third_party/demangler.py +0 -49
- data/modules/emscripten/third_party/gcc_demangler.c +0 -4226
- data/modules/emscripten/third_party/gcc_demangler.js +0 -21282
- data/modules/emscripten/third_party/jni/emjvm.cpp +0 -133
- data/modules/emscripten/third_party/jni/emjvm.h +0 -8
- data/modules/emscripten/third_party/jni/emjvm.js +0 -185
- data/modules/emscripten/third_party/jni/jni.h +0 -1154
- data/modules/emscripten/third_party/libiberty.h +0 -634
- data/modules/emscripten/third_party/lzma.js/README.markdown +0 -37
- data/modules/emscripten/third_party/lzma.js/doit.bat +0 -4
- data/modules/emscripten/third_party/lzma.js/doit.sh +0 -44
- data/modules/emscripten/third_party/lzma.js/lzip/AUTHORS +0 -7
- data/modules/emscripten/third_party/lzma.js/lzip/COPYING +0 -676
- data/modules/emscripten/third_party/lzma.js/lzip/ChangeLog +0 -201
- data/modules/emscripten/third_party/lzma.js/lzip/INSTALL +0 -56
- data/modules/emscripten/third_party/lzma.js/lzip/Makefile +0 -160
- data/modules/emscripten/third_party/lzma.js/lzip/Makefile.in +0 -138
- data/modules/emscripten/third_party/lzma.js/lzip/NEWS +0 -22
- data/modules/emscripten/third_party/lzma.js/lzip/README +0 -77
- data/modules/emscripten/third_party/lzma.js/lzip/arg_parser.cc +0 -204
- data/modules/emscripten/third_party/lzma.js/lzip/arg_parser.h +0 -106
- data/modules/emscripten/third_party/lzma.js/lzip/configure +0 -192
- data/modules/emscripten/third_party/lzma.js/lzip/decoder.cc +0 -252
- data/modules/emscripten/third_party/lzma.js/lzip/decoder.h +0 -268
- data/modules/emscripten/third_party/lzma.js/lzip/encoder.cc +0 -643
- data/modules/emscripten/third_party/lzma.js/lzip/encoder.h +0 -582
- data/modules/emscripten/third_party/lzma.js/lzip/fast_encoder.cc +0 -378
- data/modules/emscripten/third_party/lzma.js/lzip/fast_encoder.h +0 -171
- data/modules/emscripten/third_party/lzma.js/lzip/lzip.h +0 -264
- data/modules/emscripten/third_party/lzma.js/lzip/main.cc +0 -545
- data/modules/emscripten/third_party/lzma.js/lzma-decoder.js +0 -27
- data/modules/emscripten/third_party/lzma.js/lzma-full.js +0 -27
- data/modules/emscripten/third_party/lzma.js/native_test.sh +0 -5
- data/modules/emscripten/third_party/lzma.js/post.js +0 -13
- data/modules/emscripten/third_party/lzma.js/pre.js +0 -13
- data/modules/emscripten/third_party/lzma.js/test-decoder.js +0 -39
- data/modules/emscripten/third_party/lzma.js/test-full.html +0 -9
- data/modules/emscripten/third_party/lzma.js/test-full.js +0 -78
- data/modules/emscripten/third_party/ply/ANNOUNCE +0 -40
- data/modules/emscripten/third_party/ply/CHANGES +0 -1093
- data/modules/emscripten/third_party/ply/PKG-INFO +0 -22
- data/modules/emscripten/third_party/ply/README +0 -271
- data/modules/emscripten/third_party/ply/TODO +0 -16
- data/modules/emscripten/third_party/ply/doc/internal.html +0 -874
- data/modules/emscripten/third_party/ply/doc/makedoc.py +0 -194
- data/modules/emscripten/third_party/ply/doc/ply.html +0 -3262
- data/modules/emscripten/third_party/ply/example/BASIC/README +0 -79
- data/modules/emscripten/third_party/ply/example/BASIC/basic.py +0 -71
- data/modules/emscripten/third_party/ply/example/BASIC/basiclex.py +0 -74
- data/modules/emscripten/third_party/ply/example/BASIC/basiclog.py +0 -79
- data/modules/emscripten/third_party/ply/example/BASIC/basinterp.py +0 -441
- data/modules/emscripten/third_party/ply/example/BASIC/basparse.py +0 -424
- data/modules/emscripten/third_party/ply/example/BASIC/dim.bas +0 -14
- data/modules/emscripten/third_party/ply/example/BASIC/func.bas +0 -5
- data/modules/emscripten/third_party/ply/example/BASIC/gcd.bas +0 -22
- data/modules/emscripten/third_party/ply/example/BASIC/gosub.bas +0 -13
- data/modules/emscripten/third_party/ply/example/BASIC/hello.bas +0 -4
- data/modules/emscripten/third_party/ply/example/BASIC/linear.bas +0 -17
- data/modules/emscripten/third_party/ply/example/BASIC/maxsin.bas +0 -12
- data/modules/emscripten/third_party/ply/example/BASIC/powers.bas +0 -13
- data/modules/emscripten/third_party/ply/example/BASIC/rand.bas +0 -4
- data/modules/emscripten/third_party/ply/example/BASIC/sales.bas +0 -20
- data/modules/emscripten/third_party/ply/example/BASIC/sears.bas +0 -18
- data/modules/emscripten/third_party/ply/example/BASIC/sqrt1.bas +0 -5
- data/modules/emscripten/third_party/ply/example/BASIC/sqrt2.bas +0 -4
- data/modules/emscripten/third_party/ply/example/GardenSnake/GardenSnake.py +0 -709
- data/modules/emscripten/third_party/ply/example/GardenSnake/README +0 -5
- data/modules/emscripten/third_party/ply/example/README +0 -10
- data/modules/emscripten/third_party/ply/example/ansic/README +0 -2
- data/modules/emscripten/third_party/ply/example/ansic/clex.py +0 -164
- data/modules/emscripten/third_party/ply/example/ansic/cparse.py +0 -863
- data/modules/emscripten/third_party/ply/example/calc/calc.py +0 -107
- data/modules/emscripten/third_party/ply/example/calcdebug/calc.py +0 -113
- data/modules/emscripten/third_party/ply/example/classcalc/calc.py +0 -157
- data/modules/emscripten/third_party/ply/example/cleanup.sh +0 -2
- data/modules/emscripten/third_party/ply/example/closurecalc/calc.py +0 -130
- data/modules/emscripten/third_party/ply/example/hedit/hedit.py +0 -48
- data/modules/emscripten/third_party/ply/example/newclasscalc/calc.py +0 -160
- data/modules/emscripten/third_party/ply/example/optcalc/README +0 -9
- data/modules/emscripten/third_party/ply/example/optcalc/calc.py +0 -119
- data/modules/emscripten/third_party/ply/example/unicalc/calc.py +0 -117
- data/modules/emscripten/third_party/ply/example/yply/README +0 -41
- data/modules/emscripten/third_party/ply/example/yply/ylex.py +0 -112
- data/modules/emscripten/third_party/ply/example/yply/yparse.py +0 -217
- data/modules/emscripten/third_party/ply/example/yply/yply.py +0 -53
- data/modules/emscripten/third_party/ply/ply/__init__.py +0 -4
- data/modules/emscripten/third_party/ply/ply/cpp.py +0 -898
- data/modules/emscripten/third_party/ply/ply/ctokens.py +0 -133
- data/modules/emscripten/third_party/ply/ply/lex.py +0 -1058
- data/modules/emscripten/third_party/ply/ply/yacc.py +0 -3276
- data/modules/emscripten/third_party/ply/setup.py +0 -31
- data/modules/emscripten/third_party/ply/test/README +0 -7
- data/modules/emscripten/third_party/ply/test/calclex.py +0 -49
- data/modules/emscripten/third_party/ply/test/cleanup.sh +0 -4
- data/modules/emscripten/third_party/ply/test/lex_closure.py +0 -54
- data/modules/emscripten/third_party/ply/test/lex_doc1.py +0 -26
- data/modules/emscripten/third_party/ply/test/lex_dup1.py +0 -29
- data/modules/emscripten/third_party/ply/test/lex_dup2.py +0 -33
- data/modules/emscripten/third_party/ply/test/lex_dup3.py +0 -31
- data/modules/emscripten/third_party/ply/test/lex_empty.py +0 -20
- data/modules/emscripten/third_party/ply/test/lex_error1.py +0 -24
- data/modules/emscripten/third_party/ply/test/lex_error2.py +0 -26
- data/modules/emscripten/third_party/ply/test/lex_error3.py +0 -27
- data/modules/emscripten/third_party/ply/test/lex_error4.py +0 -27
- data/modules/emscripten/third_party/ply/test/lex_hedit.py +0 -47
- data/modules/emscripten/third_party/ply/test/lex_ignore.py +0 -31
- data/modules/emscripten/third_party/ply/test/lex_ignore2.py +0 -29
- data/modules/emscripten/third_party/ply/test/lex_literal1.py +0 -25
- data/modules/emscripten/third_party/ply/test/lex_literal2.py +0 -25
- data/modules/emscripten/third_party/ply/test/lex_many_tokens.py +0 -27
- data/modules/emscripten/third_party/ply/test/lex_module.py +0 -10
- data/modules/emscripten/third_party/ply/test/lex_module_import.py +0 -42
- data/modules/emscripten/third_party/ply/test/lex_object.py +0 -55
- data/modules/emscripten/third_party/ply/test/lex_opt_alias.py +0 -54
- data/modules/emscripten/third_party/ply/test/lex_optimize.py +0 -50
- data/modules/emscripten/third_party/ply/test/lex_optimize2.py +0 -50
- data/modules/emscripten/third_party/ply/test/lex_optimize3.py +0 -52
- data/modules/emscripten/third_party/ply/test/lex_re1.py +0 -27
- data/modules/emscripten/third_party/ply/test/lex_re2.py +0 -27
- data/modules/emscripten/third_party/ply/test/lex_re3.py +0 -29
- data/modules/emscripten/third_party/ply/test/lex_rule1.py +0 -27
- data/modules/emscripten/third_party/ply/test/lex_rule2.py +0 -29
- data/modules/emscripten/third_party/ply/test/lex_rule3.py +0 -27
- data/modules/emscripten/third_party/ply/test/lex_state1.py +0 -40
- data/modules/emscripten/third_party/ply/test/lex_state2.py +0 -40
- data/modules/emscripten/third_party/ply/test/lex_state3.py +0 -42
- data/modules/emscripten/third_party/ply/test/lex_state4.py +0 -41
- data/modules/emscripten/third_party/ply/test/lex_state5.py +0 -40
- data/modules/emscripten/third_party/ply/test/lex_state_noerror.py +0 -39
- data/modules/emscripten/third_party/ply/test/lex_state_norule.py +0 -40
- data/modules/emscripten/third_party/ply/test/lex_state_try.py +0 -45
- data/modules/emscripten/third_party/ply/test/lex_token1.py +0 -19
- data/modules/emscripten/third_party/ply/test/lex_token2.py +0 -22
- data/modules/emscripten/third_party/ply/test/lex_token3.py +0 -24
- data/modules/emscripten/third_party/ply/test/lex_token4.py +0 -26
- data/modules/emscripten/third_party/ply/test/lex_token5.py +0 -31
- data/modules/emscripten/third_party/ply/test/lex_token_dup.py +0 -29
- data/modules/emscripten/third_party/ply/test/testlex.py +0 -606
- data/modules/emscripten/third_party/ply/test/testyacc.py +0 -347
- data/modules/emscripten/third_party/ply/test/yacc_badargs.py +0 -68
- data/modules/emscripten/third_party/ply/test/yacc_badid.py +0 -77
- data/modules/emscripten/third_party/ply/test/yacc_badprec.py +0 -64
- data/modules/emscripten/third_party/ply/test/yacc_badprec2.py +0 -68
- data/modules/emscripten/third_party/ply/test/yacc_badprec3.py +0 -68
- data/modules/emscripten/third_party/ply/test/yacc_badrule.py +0 -68
- data/modules/emscripten/third_party/ply/test/yacc_badtok.py +0 -68
- data/modules/emscripten/third_party/ply/test/yacc_dup.py +0 -68
- data/modules/emscripten/third_party/ply/test/yacc_error1.py +0 -68
- data/modules/emscripten/third_party/ply/test/yacc_error2.py +0 -68
- data/modules/emscripten/third_party/ply/test/yacc_error3.py +0 -67
- data/modules/emscripten/third_party/ply/test/yacc_error4.py +0 -72
- data/modules/emscripten/third_party/ply/test/yacc_inf.py +0 -56
- data/modules/emscripten/third_party/ply/test/yacc_literal.py +0 -69
- data/modules/emscripten/third_party/ply/test/yacc_misplaced.py +0 -68
- data/modules/emscripten/third_party/ply/test/yacc_missing1.py +0 -68
- data/modules/emscripten/third_party/ply/test/yacc_nested.py +0 -33
- data/modules/emscripten/third_party/ply/test/yacc_nodoc.py +0 -67
- data/modules/emscripten/third_party/ply/test/yacc_noerror.py +0 -66
- data/modules/emscripten/third_party/ply/test/yacc_nop.py +0 -68
- data/modules/emscripten/third_party/ply/test/yacc_notfunc.py +0 -66
- data/modules/emscripten/third_party/ply/test/yacc_notok.py +0 -67
- data/modules/emscripten/third_party/ply/test/yacc_prec1.py +0 -68
- data/modules/emscripten/third_party/ply/test/yacc_rr.py +0 -72
- data/modules/emscripten/third_party/ply/test/yacc_rr_unused.py +0 -30
- data/modules/emscripten/third_party/ply/test/yacc_simple.py +0 -68
- data/modules/emscripten/third_party/ply/test/yacc_sr.py +0 -63
- data/modules/emscripten/third_party/ply/test/yacc_term1.py +0 -68
- data/modules/emscripten/third_party/ply/test/yacc_unused.py +0 -77
- data/modules/emscripten/third_party/ply/test/yacc_unused_rule.py +0 -72
- data/modules/emscripten/third_party/ply/test/yacc_uprec.py +0 -63
- data/modules/emscripten/third_party/ply/test/yacc_uprec2.py +0 -63
- data/modules/emscripten/third_party/readme.txt +0 -7
- data/modules/emscripten/third_party/stb_image.c +0 -4673
- data/modules/emscripten/third_party/websockify/CHANGES.txt +0 -23
- data/modules/emscripten/third_party/websockify/LICENSE.txt +0 -16
- data/modules/emscripten/third_party/websockify/MANIFEST.in +0 -1
- data/modules/emscripten/third_party/websockify/Makefile +0 -11
- data/modules/emscripten/third_party/websockify/README.md +0 -168
- data/modules/emscripten/third_party/websockify/Windows/Windows Service Readme.txt +0 -39
- data/modules/emscripten/third_party/websockify/Windows/noVNC Websocket Service Project/Program.cs +0 -24
- data/modules/emscripten/third_party/websockify/Windows/noVNC Websocket Service Project/ProjectInstaller.Designer.cs +0 -61
- data/modules/emscripten/third_party/websockify/Windows/noVNC Websocket Service Project/ProjectInstaller.cs +0 -19
- data/modules/emscripten/third_party/websockify/Windows/noVNC Websocket Service Project/ProjectInstaller.resx +0 -129
- data/modules/emscripten/third_party/websockify/Windows/noVNC Websocket Service Project/Properties/AssemblyInfo.cs +0 -36
- data/modules/emscripten/third_party/websockify/Windows/noVNC Websocket Service Project/Service1.Designer.cs +0 -37
- data/modules/emscripten/third_party/websockify/Windows/noVNC Websocket Service Project/Service1.cs +0 -41
- data/modules/emscripten/third_party/websockify/Windows/noVNC Websocket Service Project/noVNC Websocket.csproj +0 -75
- data/modules/emscripten/third_party/websockify/Windows/noVNC Websocket Service Project/noVNC Websocket.sln +0 -20
- data/modules/emscripten/third_party/websockify/docs/LICENSE.GPL-3 +0 -621
- data/modules/emscripten/third_party/websockify/docs/LICENSE.LGPL-3 +0 -165
- data/modules/emscripten/third_party/websockify/docs/LICENSE.MPL-2.0 +0 -373
- data/modules/emscripten/third_party/websockify/docs/TODO +0 -9
- data/modules/emscripten/third_party/websockify/docs/flash_policy.txt +0 -4
- data/modules/emscripten/third_party/websockify/docs/latency_results.txt +0 -114
- data/modules/emscripten/third_party/websockify/docs/notes +0 -17
- data/modules/emscripten/third_party/websockify/docs/release.txt +0 -9
- data/modules/emscripten/third_party/websockify/docs/websockify.1 +0 -110
- data/modules/emscripten/third_party/websockify/include/VT100.js +0 -919
- data/modules/emscripten/third_party/websockify/include/base64.js +0 -114
- data/modules/emscripten/third_party/websockify/include/keysym.js +0 -99
- data/modules/emscripten/third_party/websockify/include/util.js +0 -359
- data/modules/emscripten/third_party/websockify/include/web-socket-js/README.txt +0 -109
- data/modules/emscripten/third_party/websockify/include/web-socket-js/WebSocketMain.swf +0 -0
- data/modules/emscripten/third_party/websockify/include/web-socket-js/swfobject.js +0 -4
- data/modules/emscripten/third_party/websockify/include/web-socket-js/web_socket.js +0 -391
- data/modules/emscripten/third_party/websockify/include/websock.js +0 -422
- data/modules/emscripten/third_party/websockify/include/webutil.js +0 -216
- data/modules/emscripten/third_party/websockify/include/wsirc.js +0 -235
- data/modules/emscripten/third_party/websockify/include/wstelnet.js +0 -335
- data/modules/emscripten/third_party/websockify/other/Makefile +0 -14
- data/modules/emscripten/third_party/websockify/other/README.md +0 -51
- data/modules/emscripten/third_party/websockify/other/launch.sh +0 -108
- data/modules/emscripten/third_party/websockify/other/project.clj +0 -13
- data/modules/emscripten/third_party/websockify/other/websocket.c +0 -802
- data/modules/emscripten/third_party/websockify/other/websocket.h +0 -84
- data/modules/emscripten/third_party/websockify/other/websocket.rb +0 -456
- data/modules/emscripten/third_party/websockify/other/websockify.c +0 -385
- data/modules/emscripten/third_party/websockify/other/websockify.clj +0 -233
- data/modules/emscripten/third_party/websockify/other/websockify.js +0 -196
- data/modules/emscripten/third_party/websockify/other/websockify.rb +0 -171
- data/modules/emscripten/third_party/websockify/other/wswrap +0 -22
- data/modules/emscripten/third_party/websockify/rebind +0 -18
- data/modules/emscripten/third_party/websockify/rebind.c +0 -94
- data/modules/emscripten/third_party/websockify/run +0 -5
- data/modules/emscripten/third_party/websockify/setup.py +0 -30
- data/modules/emscripten/third_party/websockify/tests/b64_vs_utf8.py +0 -29
- data/modules/emscripten/third_party/websockify/tests/base64.html +0 -91
- data/modules/emscripten/third_party/websockify/tests/base64.js +0 -12
- data/modules/emscripten/third_party/websockify/tests/echo.html +0 -148
- data/modules/emscripten/third_party/websockify/tests/echo.py +0 -75
- data/modules/emscripten/third_party/websockify/tests/echo.rb +0 -62
- data/modules/emscripten/third_party/websockify/tests/latency.html +0 -290
- data/modules/emscripten/third_party/websockify/tests/latency.py +0 -75
- data/modules/emscripten/third_party/websockify/tests/load.html +0 -250
- data/modules/emscripten/third_party/websockify/tests/load.py +0 -167
- data/modules/emscripten/third_party/websockify/tests/plain_echo.html +0 -168
- data/modules/emscripten/third_party/websockify/tests/simple.html +0 -68
- data/modules/emscripten/third_party/websockify/tests/utf8-list.py +0 -22
- data/modules/emscripten/third_party/websockify/websockify/__init__.py +0 -2
- data/modules/emscripten/third_party/websockify/websockify/websocket.py +0 -982
- data/modules/emscripten/third_party/websockify/websockify/websocketproxy.py +0 -393
- data/modules/emscripten/third_party/websockify/websockify.py +0 -5
- data/modules/emscripten/third_party/websockify/wsirc.html +0 -99
- data/modules/emscripten/third_party/websockify/wstelnet.html +0 -74
- data/modules/emscripten/tools/__init__.py +0 -0
- data/modules/emscripten/tools/asm_module.py +0 -275
- data/modules/emscripten/tools/autodebugger.py +0 -291
- data/modules/emscripten/tools/autodebugger_c.py +0 -37
- data/modules/emscripten/tools/autodebugger_indenter.py +0 -18
- data/modules/emscripten/tools/autodebugger_js.py +0 -47
- data/modules/emscripten/tools/autodediffer.py +0 -60
- data/modules/emscripten/tools/bindings_generator.py +0 -832
- data/modules/emscripten/tools/bisect_pair.py +0 -88
- data/modules/emscripten/tools/cache.py +0 -196
- data/modules/emscripten/tools/clean_webconsole.py +0 -34
- data/modules/emscripten/tools/crunch-worker.js +0 -124
- data/modules/emscripten/tools/diff_autodebugger.py +0 -15
- data/modules/emscripten/tools/eliminator/asm-eliminator-test-output.js +0 -307
- data/modules/emscripten/tools/eliminator/asm-eliminator-test.js +0 -382
- data/modules/emscripten/tools/eliminator/eliminator-test-output.js +0 -6136
- data/modules/emscripten/tools/eliminator/eliminator-test.js +0 -8879
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/README.html +0 -888
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/README.org +0 -463
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/bin/uglifyjs +0 -317
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/docstyle.css +0 -75
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/lib/object-ast.js +0 -75
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/lib/parse-js.js +0 -1363
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/lib/process.js +0 -2005
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/lib/squeeze-more.js +0 -51
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/package.json +0 -22
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/beautify.js +0 -28
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/testparser.js +0 -402
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/array1.js +0 -1
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/array2.js +0 -1
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/array3.js +0 -1
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/array4.js +0 -1
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/assignment.js +0 -1
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/concatstring.js +0 -1
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/const.js +0 -1
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/empty-blocks.js +0 -1
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/forstatement.js +0 -1
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/if.js +0 -1
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/ifreturn.js +0 -1
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/ifreturn2.js +0 -1
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue10.js +0 -1
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue11.js +0 -1
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue13.js +0 -1
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue14.js +0 -1
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue16.js +0 -1
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue17.js +0 -1
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue20.js +0 -1
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue21.js +0 -1
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue25.js +0 -1
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue27.js +0 -1
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue28.js +0 -1
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue29.js +0 -1
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue30.js +0 -1
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue34.js +0 -1
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue4.js +0 -1
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue48.js +0 -1
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue50.js +0 -1
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue53.js +0 -1
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue54.1.js +0 -1
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue68.js +0 -1
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue69.js +0 -1
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/issue9.js +0 -1
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/mangle.js +0 -1
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/strict-equals.js +0 -1
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/var.js +0 -1
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/expected/with.js +0 -1
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/array1.js +0 -3
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/array2.js +0 -4
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/array3.js +0 -4
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/array4.js +0 -6
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/assignment.js +0 -20
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/concatstring.js +0 -3
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/const.js +0 -5
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/empty-blocks.js +0 -4
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/forstatement.js +0 -10
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/if.js +0 -6
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/ifreturn.js +0 -9
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/ifreturn2.js +0 -16
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue10.js +0 -1
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue11.js +0 -3
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue13.js +0 -1
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue14.js +0 -1
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue16.js +0 -1
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue17.js +0 -4
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue20.js +0 -1
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue21.js +0 -6
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue25.js +0 -7
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue27.js +0 -1
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue28.js +0 -3
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue29.js +0 -1
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue30.js +0 -3
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue34.js +0 -3
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue4.js +0 -3
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue48.js +0 -1
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue50.js +0 -9
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue53.js +0 -1
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue54.1.js +0 -3
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue68.js +0 -5
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue69.js +0 -1
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/issue9.js +0 -4
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/mangle.js +0 -5
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/strict-equals.js +0 -3
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/var.js +0 -3
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/compress/test/with.js +0 -2
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/test/unit/scripts.js +0 -55
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/tmp/hoist.js +0 -33
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/tmp/instrument.js +0 -97
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/tmp/instrument2.js +0 -138
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/tmp/test.js +0 -16
- data/modules/emscripten/tools/eliminator/node_modules/uglify-js/uglify-js.js +0 -17
- data/modules/emscripten/tools/eliminator/safe-eliminator-test-output.js +0 -85
- data/modules/emscripten/tools/eliminator/safe-eliminator-test.js +0 -103
- data/modules/emscripten/tools/emconfiguren.py +0 -19
- data/modules/emscripten/tools/emmaken.py +0 -230
- data/modules/emscripten/tools/emmakenxx.py +0 -18
- data/modules/emscripten/tools/exec_llvm.py +0 -50
- data/modules/emscripten/tools/file2json.py +0 -49
- data/modules/emscripten/tools/file_packager.py +0 -719
- data/modules/emscripten/tools/find_bigfuncs.py +0 -23
- data/modules/emscripten/tools/find_bigis.py +0 -18
- data/modules/emscripten/tools/find_bigvars.py +0 -24
- data/modules/emscripten/tools/fix_closure.py +0 -88
- data/modules/emscripten/tools/gen_struct_info.py +0 -509
- data/modules/emscripten/tools/ie7_fix.py +0 -14
- data/modules/emscripten/tools/js-optimizer.js +0 -4023
- data/modules/emscripten/tools/js_optimizer.py +0 -357
- data/modules/emscripten/tools/jsrun.py +0 -37
- data/modules/emscripten/tools/ll-strip.py +0 -56
- data/modules/emscripten/tools/make_file.py +0 -19
- data/modules/emscripten/tools/make_minigzip.py +0 -13
- data/modules/emscripten/tools/merge_asm.py +0 -26
- data/modules/emscripten/tools/namespacer.py +0 -95
- data/modules/emscripten/tools/nativize_llvm.py +0 -34
- data/modules/emscripten/tools/node_modules/source-map/CHANGELOG.md +0 -58
- data/modules/emscripten/tools/node_modules/source-map/LICENSE +0 -28
- data/modules/emscripten/tools/node_modules/source-map/Makefile.dryice.js +0 -166
- data/modules/emscripten/tools/node_modules/source-map/README.md +0 -347
- data/modules/emscripten/tools/node_modules/source-map/build/assert-shim.js +0 -56
- data/modules/emscripten/tools/node_modules/source-map/build/mini-require.js +0 -152
- data/modules/emscripten/tools/node_modules/source-map/build/prefix-source-map.jsm +0 -20
- data/modules/emscripten/tools/node_modules/source-map/build/prefix-utils.jsm +0 -18
- data/modules/emscripten/tools/node_modules/source-map/build/suffix-browser.js +0 -8
- data/modules/emscripten/tools/node_modules/source-map/build/suffix-source-map.jsm +0 -6
- data/modules/emscripten/tools/node_modules/source-map/build/suffix-utils.jsm +0 -21
- data/modules/emscripten/tools/node_modules/source-map/build/test-prefix.js +0 -8
- data/modules/emscripten/tools/node_modules/source-map/build/test-suffix.js +0 -3
- data/modules/emscripten/tools/node_modules/source-map/lib/source-map/array-set.js +0 -96
- data/modules/emscripten/tools/node_modules/source-map/lib/source-map/base64-vlq.js +0 -144
- data/modules/emscripten/tools/node_modules/source-map/lib/source-map/base64.js +0 -42
- data/modules/emscripten/tools/node_modules/source-map/lib/source-map/binary-search.js +0 -81
- data/modules/emscripten/tools/node_modules/source-map/lib/source-map/source-map-consumer.js +0 -430
- data/modules/emscripten/tools/node_modules/source-map/lib/source-map/source-map-generator.js +0 -381
- data/modules/emscripten/tools/node_modules/source-map/lib/source-map/source-node.js +0 -353
- data/modules/emscripten/tools/node_modules/source-map/lib/source-map/util.js +0 -117
- data/modules/emscripten/tools/node_modules/source-map/lib/source-map.js +0 -8
- data/modules/emscripten/tools/node_modules/source-map/node_modules/amdefine/LICENSE +0 -58
- data/modules/emscripten/tools/node_modules/source-map/node_modules/amdefine/README.md +0 -119
- data/modules/emscripten/tools/node_modules/source-map/node_modules/amdefine/amdefine.js +0 -299
- data/modules/emscripten/tools/node_modules/source-map/node_modules/amdefine/package.json +0 -33
- data/modules/emscripten/tools/node_modules/source-map/package.json +0 -74
- data/modules/emscripten/tools/node_modules/source-map/test/run-tests.js +0 -73
- data/modules/emscripten/tools/node_modules/source-map/test/source-map/test-api.js +0 -26
- data/modules/emscripten/tools/node_modules/source-map/test/source-map/test-array-set.js +0 -71
- data/modules/emscripten/tools/node_modules/source-map/test/source-map/test-base64-vlq.js +0 -24
- data/modules/emscripten/tools/node_modules/source-map/test/source-map/test-base64.js +0 -35
- data/modules/emscripten/tools/node_modules/source-map/test/source-map/test-binary-search.js +0 -54
- data/modules/emscripten/tools/node_modules/source-map/test/source-map/test-dog-fooding.js +0 -72
- data/modules/emscripten/tools/node_modules/source-map/test/source-map/test-source-map-consumer.js +0 -306
- data/modules/emscripten/tools/node_modules/source-map/test/source-map/test-source-map-generator.js +0 -391
- data/modules/emscripten/tools/node_modules/source-map/test/source-map/test-source-node.js +0 -282
- data/modules/emscripten/tools/node_modules/source-map/test/source-map/util.js +0 -152
- data/modules/emscripten/tools/reproduceriter.js +0 -216
- data/modules/emscripten/tools/reproduceriter.py +0 -160
- data/modules/emscripten/tools/response_file.py +0 -34
- data/modules/emscripten/tools/scan_js.py +0 -20
- data/modules/emscripten/tools/scan_ll.py +0 -18
- data/modules/emscripten/tools/scons/site_scons/site_tools/emscripten/__init__.py +0 -3
- data/modules/emscripten/tools/scons/site_scons/site_tools/emscripten/emscripten.py +0 -46
- data/modules/emscripten/tools/settings_template_readonly.py +0 -49
- data/modules/emscripten/tools/shared.py +0 -1705
- data/modules/emscripten/tools/source-maps/sourcemap2json.js +0 -15
- data/modules/emscripten/tools/source-maps/sourcemapper.js +0 -208
- data/modules/emscripten/tools/split.py +0 -105
- data/modules/emscripten/tools/split_asm.py +0 -30
- data/modules/emscripten/tools/tempfiles.py +0 -41
- data/modules/emscripten/tools/test-js-optimizer-asm-last-output.js +0 -75
- data/modules/emscripten/tools/test-js-optimizer-asm-last.js +0 -91
- data/modules/emscripten/tools/test-js-optimizer-asm-minlast-output.js +0 -2
- data/modules/emscripten/tools/test-js-optimizer-asm-minlast.js +0 -8
- data/modules/emscripten/tools/test-js-optimizer-asm-outline1-output.js +0 -929
- data/modules/emscripten/tools/test-js-optimizer-asm-outline1.js +0 -351
- data/modules/emscripten/tools/test-js-optimizer-asm-outline2-output.js +0 -793
- data/modules/emscripten/tools/test-js-optimizer-asm-outline2.js +0 -606
- data/modules/emscripten/tools/test-js-optimizer-asm-outline3-output.js +0 -28
- data/modules/emscripten/tools/test-js-optimizer-asm-outline3.js +0 -30
- data/modules/emscripten/tools/test-js-optimizer-asm-pre-output.js +0 -522
- data/modules/emscripten/tools/test-js-optimizer-asm-pre.js +0 -533
- data/modules/emscripten/tools/test-js-optimizer-asm-regs-min-output.js +0 -36
- data/modules/emscripten/tools/test-js-optimizer-asm-regs-min.js +0 -37
- data/modules/emscripten/tools/test-js-optimizer-asm-regs-output.js +0 -106
- data/modules/emscripten/tools/test-js-optimizer-asm-regs.js +0 -110
- data/modules/emscripten/tools/test-js-optimizer-asm-relocate-output.js +0 -9
- data/modules/emscripten/tools/test-js-optimizer-asm-relocate.js +0 -12
- data/modules/emscripten/tools/test-js-optimizer-output.js +0 -291
- data/modules/emscripten/tools/test-js-optimizer-regs-output.js +0 -232
- data/modules/emscripten/tools/test-js-optimizer-regs.js +0 -237
- data/modules/emscripten/tools/test-js-optimizer-t2-output.js +0 -91
- data/modules/emscripten/tools/test-js-optimizer-t2.js +0 -92
- data/modules/emscripten/tools/test-js-optimizer-t2c-output.js +0 -17
- data/modules/emscripten/tools/test-js-optimizer-t2c.js +0 -18
- data/modules/emscripten/tools/test-js-optimizer-t3-output.js +0 -49
- data/modules/emscripten/tools/test-js-optimizer-t3.js +0 -50
- data/modules/emscripten/tools/test-js-optimizer.js +0 -401
- data/modules/emscripten/tools/validate_asmjs.py +0 -82
- data/modules/mruby/mrblib/print.rb +0 -18
- data/modules/mruby/src/re.h +0 -12
data/modules/mruby/src/codegen.c
CHANGED
@@ -5,6 +5,7 @@
|
|
5
5
|
*/
|
6
6
|
|
7
7
|
#include <ctype.h>
|
8
|
+
#include <limits.h>
|
8
9
|
#include <stdlib.h>
|
9
10
|
#include <string.h>
|
10
11
|
#include "mruby.h"
|
@@ -14,8 +15,9 @@
|
|
14
15
|
#include "mruby/string.h"
|
15
16
|
#include "mruby/debug.h"
|
16
17
|
#include "node.h"
|
17
|
-
#include "opcode.h"
|
18
|
-
#include "re.h"
|
18
|
+
#include "mruby/opcode.h"
|
19
|
+
#include "mruby/re.h"
|
20
|
+
#include "mrb_throw.h"
|
19
21
|
|
20
22
|
typedef mrb_ast_node node;
|
21
23
|
typedef struct mrb_parser_state parser_state;
|
@@ -26,7 +28,7 @@ enum looptype {
|
|
26
28
|
LOOP_FOR,
|
27
29
|
LOOP_BEGIN,
|
28
30
|
LOOP_RESCUE,
|
29
|
-
}
|
31
|
+
};
|
30
32
|
|
31
33
|
struct loopinfo {
|
32
34
|
enum looptype type;
|
@@ -38,7 +40,7 @@ struct loopinfo {
|
|
38
40
|
typedef struct scope {
|
39
41
|
mrb_state *mrb;
|
40
42
|
mrb_pool *mpool;
|
41
|
-
|
43
|
+
struct mrb_jmpbuf jmp;
|
42
44
|
|
43
45
|
struct scope *prev;
|
44
46
|
|
@@ -64,8 +66,8 @@ typedef struct scope {
|
|
64
66
|
size_t scapa;
|
65
67
|
size_t rcapa;
|
66
68
|
|
67
|
-
|
68
|
-
|
69
|
+
uint16_t nlocals;
|
70
|
+
uint16_t nregs;
|
69
71
|
int ai;
|
70
72
|
|
71
73
|
int debug_start_pos;
|
@@ -79,10 +81,11 @@ static struct loopinfo *loop_push(codegen_scope *s, enum looptype t);
|
|
79
81
|
static void loop_break(codegen_scope *s, node *tree);
|
80
82
|
static void loop_pop(codegen_scope *s, int val);
|
81
83
|
|
82
|
-
static void gen_assignment(codegen_scope *s, node *
|
84
|
+
static void gen_assignment(codegen_scope *s, node *tree, int sp, int val);
|
83
85
|
static void gen_vmassignment(codegen_scope *s, node *tree, int rhs, int val);
|
84
86
|
|
85
87
|
static void codegen(codegen_scope *s, node *tree, int val);
|
88
|
+
static void raise_error(codegen_scope *s, const char *msg);
|
86
89
|
|
87
90
|
static void
|
88
91
|
codegen_error(codegen_scope *s, const char *message)
|
@@ -101,7 +104,7 @@ codegen_error(codegen_scope *s, const char *message)
|
|
101
104
|
fprintf(stderr, "codegen error: %s\n", message);
|
102
105
|
}
|
103
106
|
#endif
|
104
|
-
|
107
|
+
MRB_THROW(&s->jmp);
|
105
108
|
}
|
106
109
|
|
107
110
|
static void*
|
@@ -138,7 +141,7 @@ new_label(codegen_scope *s)
|
|
138
141
|
return s->pc;
|
139
142
|
}
|
140
143
|
|
141
|
-
static inline
|
144
|
+
static inline int
|
142
145
|
genop(codegen_scope *s, mrb_code i)
|
143
146
|
{
|
144
147
|
if (s->pc == s->icapa) {
|
@@ -153,17 +156,25 @@ genop(codegen_scope *s, mrb_code i)
|
|
153
156
|
if (s->lines) {
|
154
157
|
s->lines[s->pc] = s->lineno;
|
155
158
|
}
|
156
|
-
s->pc++;
|
159
|
+
return s->pc++;
|
157
160
|
}
|
158
161
|
|
159
162
|
#define NOVAL 0
|
160
163
|
#define VAL 1
|
161
164
|
|
162
|
-
static
|
165
|
+
static mrb_bool
|
166
|
+
no_optimize(codegen_scope *s)
|
167
|
+
{
|
168
|
+
if (s && s->parser && s->parser->no_optimize)
|
169
|
+
return TRUE;
|
170
|
+
return FALSE;
|
171
|
+
}
|
172
|
+
|
173
|
+
static int
|
163
174
|
genop_peep(codegen_scope *s, mrb_code i, int val)
|
164
175
|
{
|
165
176
|
/* peephole optimization */
|
166
|
-
if (s->lastlabel != s->pc && s->pc > 0) {
|
177
|
+
if (!no_optimize(s) && s->lastlabel != s->pc && s->pc > 0) {
|
167
178
|
mrb_code i0 = s->iseq[s->pc-1];
|
168
179
|
int c1 = GET_OPCODE(i);
|
169
180
|
int c0 = GET_OPCODE(i0);
|
@@ -172,24 +183,24 @@ genop_peep(codegen_scope *s, mrb_code i, int val)
|
|
172
183
|
case OP_MOVE:
|
173
184
|
if (GETARG_A(i) == GETARG_B(i)) {
|
174
185
|
/* skip useless OP_MOVE */
|
175
|
-
return;
|
186
|
+
return 0;
|
176
187
|
}
|
177
188
|
if (val) break;
|
178
189
|
switch (c0) {
|
179
190
|
case OP_MOVE:
|
180
|
-
if (GETARG_B(i) == GETARG_A(i0) && GETARG_A(i) == GETARG_B(i0)
|
191
|
+
if (GETARG_B(i) == GETARG_A(i0) && GETARG_A(i) == GETARG_B(i0)) {
|
181
192
|
/* skip swapping OP_MOVE */
|
182
|
-
return;
|
193
|
+
return 0;
|
183
194
|
}
|
184
195
|
if (GETARG_B(i) == GETARG_A(i0) && GETARG_A(i0) >= s->nlocals) {
|
185
|
-
s->
|
186
|
-
return;
|
196
|
+
s->pc--;
|
197
|
+
return genop_peep(s, MKOP_AB(OP_MOVE, GETARG_A(i), GETARG_B(i0)), val);
|
187
198
|
}
|
188
199
|
break;
|
189
200
|
case OP_LOADI:
|
190
201
|
if (GETARG_B(i) == GETARG_A(i0) && GETARG_A(i0) >= s->nlocals) {
|
191
202
|
s->iseq[s->pc-1] = MKOP_AsBx(OP_LOADI, GETARG_A(i), GETARG_sBx(i0));
|
192
|
-
return;
|
203
|
+
return 0;
|
193
204
|
}
|
194
205
|
break;
|
195
206
|
case OP_ARRAY:
|
@@ -199,7 +210,7 @@ genop_peep(codegen_scope *s, mrb_code i, int val)
|
|
199
210
|
case OP_GETUPVAR:
|
200
211
|
if (GETARG_B(i) == GETARG_A(i0) && GETARG_A(i0) >= s->nlocals) {
|
201
212
|
s->iseq[s->pc-1] = MKOP_ABC(c0, GETARG_A(i), GETARG_B(i0), GETARG_C(i0));
|
202
|
-
return;
|
213
|
+
return 0;
|
203
214
|
}
|
204
215
|
break;
|
205
216
|
case OP_LOADSYM:
|
@@ -212,13 +223,13 @@ genop_peep(codegen_scope *s, mrb_code i, int val)
|
|
212
223
|
case OP_STRING:
|
213
224
|
if (GETARG_B(i) == GETARG_A(i0) && GETARG_A(i0) >= s->nlocals) {
|
214
225
|
s->iseq[s->pc-1] = MKOP_ABx(c0, GETARG_A(i), GETARG_Bx(i0));
|
215
|
-
return;
|
226
|
+
return 0;
|
216
227
|
}
|
217
228
|
break;
|
218
229
|
case OP_SCLASS:
|
219
230
|
if (GETARG_B(i) == GETARG_A(i0) && GETARG_A(i0) >= s->nlocals) {
|
220
231
|
s->iseq[s->pc-1] = MKOP_AB(c0, GETARG_A(i), GETARG_B(i0));
|
221
|
-
return;
|
232
|
+
return 0;
|
222
233
|
}
|
223
234
|
break;
|
224
235
|
case OP_LOADNIL:
|
@@ -228,7 +239,7 @@ genop_peep(codegen_scope *s, mrb_code i, int val)
|
|
228
239
|
case OP_OCLASS:
|
229
240
|
if (GETARG_B(i) == GETARG_A(i0) && GETARG_A(i0) >= s->nlocals) {
|
230
241
|
s->iseq[s->pc-1] = MKOP_A(c0, GETARG_A(i));
|
231
|
-
return;
|
242
|
+
return 0;
|
232
243
|
}
|
233
244
|
break;
|
234
245
|
default:
|
@@ -244,7 +255,7 @@ genop_peep(codegen_scope *s, mrb_code i, int val)
|
|
244
255
|
if (c0 == OP_MOVE) {
|
245
256
|
if (GETARG_A(i) == GETARG_A(i0)) {
|
246
257
|
s->iseq[s->pc-1] = MKOP_ABx(c1, GETARG_B(i0), GETARG_Bx(i));
|
247
|
-
return;
|
258
|
+
return 0;
|
248
259
|
}
|
249
260
|
}
|
250
261
|
break;
|
@@ -253,29 +264,32 @@ genop_peep(codegen_scope *s, mrb_code i, int val)
|
|
253
264
|
if (c0 == OP_MOVE) {
|
254
265
|
if (GETARG_A(i) == GETARG_A(i0)) {
|
255
266
|
s->iseq[s->pc-1] = MKOP_ABC(c1, GETARG_B(i0), GETARG_B(i), GETARG_C(i));
|
256
|
-
return;
|
267
|
+
return 0;
|
257
268
|
}
|
258
269
|
}
|
259
270
|
break;
|
260
271
|
case OP_EPOP:
|
261
272
|
if (c0 == OP_EPOP) {
|
262
273
|
s->iseq[s->pc-1] = MKOP_A(OP_EPOP, GETARG_A(i0)+GETARG_A(i));
|
263
|
-
return;
|
274
|
+
return 0;
|
264
275
|
}
|
265
276
|
break;
|
266
277
|
case OP_POPERR:
|
267
278
|
if (c0 == OP_POPERR) {
|
268
279
|
s->iseq[s->pc-1] = MKOP_A(OP_POPERR, GETARG_A(i0)+GETARG_A(i));
|
269
|
-
return;
|
280
|
+
return 0;
|
270
281
|
}
|
271
282
|
break;
|
272
283
|
case OP_RETURN:
|
273
284
|
switch (c0) {
|
274
285
|
case OP_RETURN:
|
275
|
-
return;
|
286
|
+
return 0;
|
276
287
|
case OP_MOVE:
|
277
|
-
|
278
|
-
|
288
|
+
if (GETARG_A(i0) >= s->nlocals) {
|
289
|
+
s->iseq[s->pc-1] = MKOP_AB(OP_RETURN, GETARG_B(i0), OP_R_NORMAL);
|
290
|
+
return 0;
|
291
|
+
}
|
292
|
+
break;
|
279
293
|
case OP_SETIV:
|
280
294
|
case OP_SETCV:
|
281
295
|
case OP_SETCONST:
|
@@ -285,8 +299,7 @@ genop_peep(codegen_scope *s, mrb_code i, int val)
|
|
285
299
|
s->pc--;
|
286
300
|
genop_peep(s, i0, NOVAL);
|
287
301
|
i0 = s->iseq[s->pc-1];
|
288
|
-
genop(s, MKOP_AB(OP_RETURN, GETARG_A(i0), OP_R_NORMAL));
|
289
|
-
return;
|
302
|
+
return genop(s, MKOP_AB(OP_RETURN, GETARG_A(i0), OP_R_NORMAL));
|
290
303
|
#if 0
|
291
304
|
case OP_SEND:
|
292
305
|
if (GETARG_B(i) == OP_R_NORMAL && GETARG_A(i) == GETARG_A(i0)) {
|
@@ -310,24 +323,30 @@ genop_peep(codegen_scope *s, mrb_code i, int val)
|
|
310
323
|
s->iseq[s->pc-1] = MKOP_ABC(OP_ADDI, GETARG_A(i), GETARG_B(i), c);
|
311
324
|
else
|
312
325
|
s->iseq[s->pc-1] = MKOP_ABC(OP_SUBI, GETARG_A(i), GETARG_B(i), -c);
|
313
|
-
return;
|
326
|
+
return 0;
|
314
327
|
}
|
315
328
|
case OP_STRCAT:
|
316
329
|
if (c0 == OP_STRING) {
|
317
|
-
|
330
|
+
mrb_value v = s->irep->pool[GETARG_Bx(i0)];
|
318
331
|
|
319
|
-
if (
|
320
|
-
RSTRING_LEN(s->irep->pool[i]) == 0) {
|
332
|
+
if (mrb_string_p(v) && RSTRING_LEN(v) == 0) {
|
321
333
|
s->pc--;
|
322
|
-
return;
|
334
|
+
return 0;
|
323
335
|
}
|
324
336
|
}
|
325
337
|
break;
|
338
|
+
case OP_JMPIF:
|
339
|
+
case OP_JMPNOT:
|
340
|
+
if (c0 == OP_MOVE && GETARG_A(i) == GETARG_A(i0)) {
|
341
|
+
s->iseq[s->pc-1] = MKOP_AsBx(c1, GETARG_B(i0), GETARG_sBx(i));
|
342
|
+
return s->pc-1;
|
343
|
+
}
|
344
|
+
break;
|
326
345
|
default:
|
327
346
|
break;
|
328
347
|
}
|
329
348
|
}
|
330
|
-
genop(s, i);
|
349
|
+
return genop(s, i);
|
331
350
|
}
|
332
351
|
|
333
352
|
static void
|
@@ -464,6 +483,8 @@ new_msym(codegen_scope *s, mrb_sym sym)
|
|
464
483
|
{
|
465
484
|
size_t i, len;
|
466
485
|
|
486
|
+
mrb_assert(s->irep);
|
487
|
+
|
467
488
|
len = s->irep->slen;
|
468
489
|
if (len > 256) len = 256;
|
469
490
|
for (i=0; i<len; i++) {
|
@@ -535,22 +556,26 @@ for_body(codegen_scope *s, node *tree)
|
|
535
556
|
node *n2;
|
536
557
|
mrb_code c;
|
537
558
|
|
538
|
-
|
559
|
+
/* generate receiver */
|
539
560
|
codegen(s, tree->cdr->car, VAL);
|
540
|
-
|
541
|
-
s = scope_new(s->mrb, s,
|
561
|
+
/* generate loop-block */
|
562
|
+
s = scope_new(s->mrb, s, NULL);
|
563
|
+
if (s == NULL) {
|
564
|
+
raise_error(prev, "unexpected scope");
|
565
|
+
}
|
566
|
+
|
567
|
+
push(); /* push for a block parameter */
|
542
568
|
|
543
569
|
lp = loop_push(s, LOOP_FOR);
|
544
570
|
lp->pc1 = new_label(s);
|
545
571
|
|
546
|
-
|
572
|
+
/* generate loop variable */
|
547
573
|
n2 = tree->car;
|
574
|
+
genop(s, MKOP_Ax(OP_ENTER, 0x40000));
|
548
575
|
if (n2->car && !n2->car->cdr && !n2->cdr) {
|
549
|
-
genop(s, MKOP_Ax(OP_ENTER, 0x40000));
|
550
576
|
gen_assignment(s, n2->car->car, 1, NOVAL);
|
551
577
|
}
|
552
578
|
else {
|
553
|
-
genop(s, MKOP_Ax(OP_ENTER, 0x40000));
|
554
579
|
gen_vmassignment(s, n2, 1, VAL);
|
555
580
|
}
|
556
581
|
codegen(s, tree->cdr->cdr->car, VAL);
|
@@ -575,6 +600,10 @@ lambda_body(codegen_scope *s, node *tree, int blk)
|
|
575
600
|
mrb_code c;
|
576
601
|
codegen_scope *parent = s;
|
577
602
|
s = scope_new(s->mrb, s, tree->car);
|
603
|
+
if (s == NULL) {
|
604
|
+
raise_error(parent, "unexpected scope");
|
605
|
+
}
|
606
|
+
|
578
607
|
s->mscope = !blk;
|
579
608
|
|
580
609
|
if (blk) {
|
@@ -660,6 +689,9 @@ static int
|
|
660
689
|
scope_body(codegen_scope *s, node *tree, int val)
|
661
690
|
{
|
662
691
|
codegen_scope *scope = scope_new(s->mrb, s, tree->car);
|
692
|
+
if (scope == NULL) {
|
693
|
+
raise_error(s, "unexpected scope");
|
694
|
+
}
|
663
695
|
|
664
696
|
codegen(scope, tree->cdr, VAL);
|
665
697
|
if (!s->iseq) {
|
@@ -699,12 +731,17 @@ static mrb_sym
|
|
699
731
|
attrsym(codegen_scope *s, mrb_sym a)
|
700
732
|
{
|
701
733
|
const char *name;
|
702
|
-
|
734
|
+
mrb_int len;
|
703
735
|
char *name2;
|
704
736
|
|
705
737
|
name = mrb_sym2name_len(s->mrb, a, &len);
|
706
|
-
name2 = (char *)codegen_palloc(s,
|
707
|
-
|
738
|
+
name2 = (char *)codegen_palloc(s,
|
739
|
+
(size_t)len
|
740
|
+
+ 1 /* '=' */
|
741
|
+
+ 1 /* '\0' */
|
742
|
+
);
|
743
|
+
mrb_assert_int_fit(mrb_int, len, size_t, SIZE_MAX);
|
744
|
+
memcpy(name2, name, (size_t)len);
|
708
745
|
name2[len] = '=';
|
709
746
|
name2[len+1] = '\0';
|
710
747
|
|
@@ -718,7 +755,7 @@ gen_values(codegen_scope *s, node *t, int val)
|
|
718
755
|
int is_splat;
|
719
756
|
|
720
757
|
while (t) {
|
721
|
-
is_splat = (intptr_t)t->car->car == NODE_SPLAT;
|
758
|
+
is_splat = (intptr_t)t->car->car == NODE_SPLAT; /* splat mode */
|
722
759
|
if (n >= 127 || is_splat) {
|
723
760
|
if (val) {
|
724
761
|
pop_n(n);
|
@@ -727,10 +764,10 @@ gen_values(codegen_scope *s, node *t, int val)
|
|
727
764
|
codegen(s, t->car, VAL);
|
728
765
|
pop(); pop();
|
729
766
|
if (is_splat) {
|
730
|
-
|
767
|
+
genop(s, MKOP_AB(OP_ARYCAT, cursp(), cursp()+1));
|
731
768
|
}
|
732
769
|
else {
|
733
|
-
|
770
|
+
genop(s, MKOP_AB(OP_ARYPUSH, cursp(), cursp()+1));
|
734
771
|
}
|
735
772
|
t = t->cdr;
|
736
773
|
while (t) {
|
@@ -756,7 +793,7 @@ gen_values(codegen_scope *s, node *t, int val)
|
|
756
793
|
}
|
757
794
|
return -1;
|
758
795
|
}
|
759
|
-
|
796
|
+
/* normal (no splat) mode */
|
760
797
|
codegen(s, t->car, val);
|
761
798
|
n++;
|
762
799
|
t = t->cdr;
|
@@ -803,36 +840,37 @@ gen_call(codegen_scope *s, node *tree, mrb_sym name, int sp, int val)
|
|
803
840
|
else {
|
804
841
|
blk = cursp();
|
805
842
|
}
|
843
|
+
push();pop();
|
806
844
|
pop_n(n+1);
|
807
845
|
{
|
808
|
-
|
809
|
-
const char *
|
846
|
+
mrb_int symlen;
|
847
|
+
const char *symname = mrb_sym2name_len(s->mrb, sym, &symlen);
|
810
848
|
|
811
|
-
if (!noop &&
|
849
|
+
if (!noop && symlen == 1 && symname[0] == '+') {
|
812
850
|
genop_peep(s, MKOP_ABC(OP_ADD, cursp(), idx, n), val);
|
813
851
|
}
|
814
|
-
else if (!noop &&
|
852
|
+
else if (!noop && symlen == 1 && symname[0] == '-') {
|
815
853
|
genop_peep(s, MKOP_ABC(OP_SUB, cursp(), idx, n), val);
|
816
854
|
}
|
817
|
-
else if (!noop &&
|
855
|
+
else if (!noop && symlen == 1 && symname[0] == '*') {
|
818
856
|
genop(s, MKOP_ABC(OP_MUL, cursp(), idx, n));
|
819
857
|
}
|
820
|
-
else if (!noop &&
|
858
|
+
else if (!noop && symlen == 1 && symname[0] == '/') {
|
821
859
|
genop(s, MKOP_ABC(OP_DIV, cursp(), idx, n));
|
822
860
|
}
|
823
|
-
else if (!noop &&
|
861
|
+
else if (!noop && symlen == 1 && symname[0] == '<') {
|
824
862
|
genop(s, MKOP_ABC(OP_LT, cursp(), idx, n));
|
825
863
|
}
|
826
|
-
else if (!noop &&
|
864
|
+
else if (!noop && symlen == 2 && symname[0] == '<' && symname[1] == '=') {
|
827
865
|
genop(s, MKOP_ABC(OP_LE, cursp(), idx, n));
|
828
866
|
}
|
829
|
-
else if (!noop &&
|
867
|
+
else if (!noop && symlen == 1 && symname[0] == '>') {
|
830
868
|
genop(s, MKOP_ABC(OP_GT, cursp(), idx, n));
|
831
869
|
}
|
832
|
-
else if (!noop &&
|
870
|
+
else if (!noop && symlen == 2 && symname[0] == '>' && symname[1] == '=') {
|
833
871
|
genop(s, MKOP_ABC(OP_GE, cursp(), idx, n));
|
834
872
|
}
|
835
|
-
else if (!noop &&
|
873
|
+
else if (!noop && symlen == 2 && symname[0] == '=' && symname[1] == '=') {
|
836
874
|
genop(s, MKOP_ABC(OP_EQ, cursp(), idx, n));
|
837
875
|
}
|
838
876
|
else {
|
@@ -851,19 +889,19 @@ gen_call(codegen_scope *s, node *tree, mrb_sym name, int sp, int val)
|
|
851
889
|
}
|
852
890
|
|
853
891
|
static void
|
854
|
-
gen_assignment(codegen_scope *s, node *
|
892
|
+
gen_assignment(codegen_scope *s, node *tree, int sp, int val)
|
855
893
|
{
|
856
894
|
int idx;
|
857
|
-
int type = (intptr_t)
|
895
|
+
int type = (intptr_t)tree->car;
|
858
896
|
|
859
|
-
|
897
|
+
tree = tree->cdr;
|
860
898
|
switch ((intptr_t)type) {
|
861
899
|
case NODE_GVAR:
|
862
|
-
idx = new_sym(s, sym(
|
900
|
+
idx = new_sym(s, sym(tree));
|
863
901
|
genop_peep(s, MKOP_ABx(OP_SETGLOBAL, sp, idx), val);
|
864
902
|
break;
|
865
903
|
case NODE_LVAR:
|
866
|
-
idx = lv_idx(s, sym(
|
904
|
+
idx = lv_idx(s, sym(tree));
|
867
905
|
if (idx > 0) {
|
868
906
|
if (idx != sp) {
|
869
907
|
genop_peep(s, MKOP_AB(OP_MOVE, idx, sp), val);
|
@@ -875,7 +913,7 @@ gen_assignment(codegen_scope *s, node *node, int sp, int val)
|
|
875
913
|
codegen_scope *up = s->prev;
|
876
914
|
|
877
915
|
while (up) {
|
878
|
-
idx = lv_idx(up, sym(
|
916
|
+
idx = lv_idx(up, sym(tree));
|
879
917
|
if (idx > 0) {
|
880
918
|
genop_peep(s, MKOP_ABC(OP_SETUPVAR, sp, idx, lv), val);
|
881
919
|
break;
|
@@ -886,29 +924,41 @@ gen_assignment(codegen_scope *s, node *node, int sp, int val)
|
|
886
924
|
}
|
887
925
|
break;
|
888
926
|
case NODE_IVAR:
|
889
|
-
idx = new_sym(s, sym(
|
927
|
+
idx = new_sym(s, sym(tree));
|
890
928
|
genop_peep(s, MKOP_ABx(OP_SETIV, sp, idx), val);
|
891
929
|
break;
|
892
930
|
case NODE_CVAR:
|
893
|
-
idx = new_sym(s, sym(
|
931
|
+
idx = new_sym(s, sym(tree));
|
894
932
|
genop_peep(s, MKOP_ABx(OP_SETCV, sp, idx), val);
|
895
933
|
break;
|
896
934
|
case NODE_CONST:
|
897
|
-
idx = new_sym(s, sym(
|
935
|
+
idx = new_sym(s, sym(tree));
|
898
936
|
genop_peep(s, MKOP_ABx(OP_SETCONST, sp, idx), val);
|
899
937
|
break;
|
900
938
|
case NODE_COLON2:
|
901
|
-
idx = new_sym(s, sym(
|
939
|
+
idx = new_sym(s, sym(tree->cdr));
|
902
940
|
genop_peep(s, MKOP_AB(OP_MOVE, cursp(), sp), NOVAL);
|
903
941
|
push();
|
904
|
-
codegen(s,
|
942
|
+
codegen(s, tree->car, VAL);
|
905
943
|
pop_n(2);
|
906
944
|
genop_peep(s, MKOP_ABx(OP_SETMCNST, cursp(), idx), val);
|
907
945
|
break;
|
908
946
|
|
909
947
|
case NODE_CALL:
|
910
948
|
push();
|
911
|
-
gen_call(s,
|
949
|
+
gen_call(s, tree, attrsym(s, sym(tree->cdr->car)), sp, NOVAL);
|
950
|
+
pop();
|
951
|
+
if (val) {
|
952
|
+
genop_peep(s, MKOP_AB(OP_MOVE, cursp(), sp), val);
|
953
|
+
}
|
954
|
+
break;
|
955
|
+
|
956
|
+
case NODE_MASGN:
|
957
|
+
gen_vmassignment(s, tree->car, sp, val);
|
958
|
+
break;
|
959
|
+
|
960
|
+
push();
|
961
|
+
gen_call(s, tree, attrsym(s, sym(tree->cdr->car)), sp, NOVAL);
|
912
962
|
pop();
|
913
963
|
if (val) {
|
914
964
|
genop_peep(s, MKOP_AB(OP_MOVE, cursp(), sp), val);
|
@@ -951,9 +1001,10 @@ gen_vmassignment(codegen_scope *s, node *tree, int rhs, int val)
|
|
951
1001
|
}
|
952
1002
|
if (val) {
|
953
1003
|
genop(s, MKOP_AB(OP_MOVE, cursp(), rhs));
|
954
|
-
push();
|
955
1004
|
}
|
956
|
-
|
1005
|
+
else {
|
1006
|
+
pop();
|
1007
|
+
}
|
957
1008
|
genop(s, MKOP_ABC(OP_APOST, cursp(), n, post));
|
958
1009
|
n = 1;
|
959
1010
|
if (t->car) { /* rest */
|
@@ -967,9 +1018,7 @@ gen_vmassignment(codegen_scope *s, node *tree, int rhs, int val)
|
|
967
1018
|
n++;
|
968
1019
|
}
|
969
1020
|
}
|
970
|
-
|
971
|
-
else {
|
972
|
-
pop();
|
1021
|
+
push();
|
973
1022
|
}
|
974
1023
|
}
|
975
1024
|
|
@@ -981,7 +1030,7 @@ gen_send_intern(codegen_scope *s)
|
|
981
1030
|
push();
|
982
1031
|
}
|
983
1032
|
static void
|
984
|
-
gen_literal_array(codegen_scope *s, node *tree,
|
1033
|
+
gen_literal_array(codegen_scope *s, node *tree, mrb_bool sym, int val)
|
985
1034
|
{
|
986
1035
|
if (val) {
|
987
1036
|
int i = 0, j = 0;
|
@@ -1069,12 +1118,13 @@ readint_float(codegen_scope *s, const char *p, int base)
|
|
1069
1118
|
}
|
1070
1119
|
|
1071
1120
|
static mrb_int
|
1072
|
-
readint_mrb_int(codegen_scope *s, const char *p, int base,
|
1121
|
+
readint_mrb_int(codegen_scope *s, const char *p, int base, mrb_bool neg, mrb_bool *overflow)
|
1073
1122
|
{
|
1074
1123
|
const char *e = p + strlen(p);
|
1075
1124
|
mrb_int result = 0;
|
1076
1125
|
int n;
|
1077
1126
|
|
1127
|
+
mrb_assert(base >= 2 && base <= 36);
|
1078
1128
|
if (*p == '+') p++;
|
1079
1129
|
while (p < e) {
|
1080
1130
|
char c = *p;
|
@@ -1117,7 +1167,7 @@ codegen(codegen_scope *s, node *tree, int val)
|
|
1117
1167
|
|
1118
1168
|
if (!tree) return;
|
1119
1169
|
|
1120
|
-
if (s->irep && s->
|
1170
|
+
if (s->irep && s->filename_index != tree->filename_index) {
|
1121
1171
|
s->irep->filename = mrb_parser_get_filename(s->parser, s->filename_index);
|
1122
1172
|
mrb_debug_info_append_file(s->mrb, s->irep, s->debug_start_pos, s->pc);
|
1123
1173
|
s->debug_start_pos = s->pc;
|
@@ -1145,8 +1195,7 @@ codegen(codegen_scope *s, node *tree, int val)
|
|
1145
1195
|
int onerr, noexc, exend, pos1, pos2, tmp;
|
1146
1196
|
struct loopinfo *lp;
|
1147
1197
|
|
1148
|
-
onerr =
|
1149
|
-
genop(s, MKOP_Bx(OP_ONERR, 0));
|
1198
|
+
onerr = genop(s, MKOP_Bx(OP_ONERR, 0));
|
1150
1199
|
lp = loop_push(s, LOOP_BEGIN);
|
1151
1200
|
lp->pc1 = onerr;
|
1152
1201
|
if (tree->car) {
|
@@ -1154,8 +1203,7 @@ codegen(codegen_scope *s, node *tree, int val)
|
|
1154
1203
|
if (val) pop();
|
1155
1204
|
}
|
1156
1205
|
lp->type = LOOP_RESCUE;
|
1157
|
-
noexc =
|
1158
|
-
genop(s, MKOP_Bx(OP_JMP, 0));
|
1206
|
+
noexc = genop(s, MKOP_Bx(OP_JMP, 0));
|
1159
1207
|
dispatch(s, onerr);
|
1160
1208
|
tree = tree->cdr;
|
1161
1209
|
exend = 0;
|
@@ -1182,16 +1230,19 @@ codegen(codegen_scope *s, node *tree, int val)
|
|
1182
1230
|
}
|
1183
1231
|
genop(s, MKOP_AB(OP_MOVE, cursp(), exc));
|
1184
1232
|
pop();
|
1185
|
-
|
1186
|
-
|
1187
|
-
|
1233
|
+
if (n4 && n4->car && (intptr_t)n4->car->car == NODE_SPLAT) {
|
1234
|
+
genop(s, MKOP_ABC(OP_SEND, cursp(), new_msym(s, mrb_intern_lit(s->mrb, "__case_eqq")), 1));
|
1235
|
+
}
|
1236
|
+
else {
|
1237
|
+
genop(s, MKOP_ABC(OP_SEND, cursp(), new_msym(s, mrb_intern_lit(s->mrb, "===")), 1));
|
1238
|
+
}
|
1239
|
+
tmp = genop(s, MKOP_AsBx(OP_JMPIF, cursp(), pos2));
|
1188
1240
|
pos2 = tmp;
|
1189
1241
|
if (n4) {
|
1190
1242
|
n4 = n4->cdr;
|
1191
1243
|
}
|
1192
1244
|
} while (n4);
|
1193
|
-
pos1 =
|
1194
|
-
genop(s, MKOP_sBx(OP_JMP, 0));
|
1245
|
+
pos1 = genop(s, MKOP_sBx(OP_JMP, 0));
|
1195
1246
|
dispatch_linked(s, pos2);
|
1196
1247
|
|
1197
1248
|
pop();
|
@@ -1202,8 +1253,7 @@ codegen(codegen_scope *s, node *tree, int val)
|
|
1202
1253
|
codegen(s, n3->cdr->cdr->car, val);
|
1203
1254
|
if (val) pop();
|
1204
1255
|
}
|
1205
|
-
tmp =
|
1206
|
-
genop(s, MKOP_sBx(OP_JMP, exend));
|
1256
|
+
tmp = genop(s, MKOP_sBx(OP_JMP, exend));
|
1207
1257
|
exend = tmp;
|
1208
1258
|
n2 = n2->cdr;
|
1209
1259
|
push();
|
@@ -1268,8 +1318,7 @@ codegen(codegen_scope *s, node *tree, int val)
|
|
1268
1318
|
|
1269
1319
|
codegen(s, tree->car, VAL);
|
1270
1320
|
pop();
|
1271
|
-
pos1 =
|
1272
|
-
genop(s, MKOP_AsBx(OP_JMPNOT, cursp(), 0));
|
1321
|
+
pos1 = genop_peep(s, MKOP_AsBx(OP_JMPNOT, cursp(), 0), NOVAL);
|
1273
1322
|
|
1274
1323
|
codegen(s, tree->cdr->car, val);
|
1275
1324
|
if (val && !(tree->cdr->car)) {
|
@@ -1278,17 +1327,15 @@ codegen(codegen_scope *s, node *tree, int val)
|
|
1278
1327
|
}
|
1279
1328
|
if (e) {
|
1280
1329
|
if (val) pop();
|
1281
|
-
pos2 =
|
1282
|
-
|
1283
|
-
dispatch(s, pos1);
|
1330
|
+
pos2 = genop(s, MKOP_sBx(OP_JMP, 0));
|
1331
|
+
dispatch(s, pos1);
|
1284
1332
|
codegen(s, e, val);
|
1285
1333
|
dispatch(s, pos2);
|
1286
1334
|
}
|
1287
1335
|
else {
|
1288
1336
|
if (val) {
|
1289
1337
|
pop();
|
1290
|
-
pos2 =
|
1291
|
-
genop(s, MKOP_sBx(OP_JMP, 0));
|
1338
|
+
pos2 = genop(s, MKOP_sBx(OP_JMP, 0));
|
1292
1339
|
dispatch(s, pos1);
|
1293
1340
|
genop(s, MKOP_A(OP_LOADNIL, cursp()));
|
1294
1341
|
dispatch(s, pos2);
|
@@ -1306,9 +1353,8 @@ codegen(codegen_scope *s, node *tree, int val)
|
|
1306
1353
|
int pos;
|
1307
1354
|
|
1308
1355
|
codegen(s, tree->car, VAL);
|
1309
|
-
pos = new_label(s);
|
1310
1356
|
pop();
|
1311
|
-
genop(s, MKOP_AsBx(OP_JMPNOT, cursp(), 0));
|
1357
|
+
pos = genop(s, MKOP_AsBx(OP_JMPNOT, cursp(), 0));
|
1312
1358
|
codegen(s, tree->cdr, val);
|
1313
1359
|
dispatch(s, pos);
|
1314
1360
|
}
|
@@ -1319,9 +1365,8 @@ codegen(codegen_scope *s, node *tree, int val)
|
|
1319
1365
|
int pos;
|
1320
1366
|
|
1321
1367
|
codegen(s, tree->car, VAL);
|
1322
|
-
pos = new_label(s);
|
1323
1368
|
pop();
|
1324
|
-
genop(s, MKOP_AsBx(OP_JMPIF, cursp(), 0));
|
1369
|
+
pos = genop(s, MKOP_AsBx(OP_JMPIF, cursp(), 0));
|
1325
1370
|
codegen(s, tree->cdr, val);
|
1326
1371
|
dispatch(s, pos);
|
1327
1372
|
}
|
@@ -1331,8 +1376,7 @@ codegen(codegen_scope *s, node *tree, int val)
|
|
1331
1376
|
{
|
1332
1377
|
struct loopinfo *lp = loop_push(s, LOOP_NORMAL);
|
1333
1378
|
|
1334
|
-
lp->pc1 =
|
1335
|
-
genop(s, MKOP_sBx(OP_JMP, 0));
|
1379
|
+
lp->pc1 = genop(s, MKOP_sBx(OP_JMP, 0));
|
1336
1380
|
lp->pc2 = new_label(s);
|
1337
1381
|
codegen(s, tree->cdr, NOVAL);
|
1338
1382
|
dispatch(s, lp->pc1);
|
@@ -1348,8 +1392,7 @@ codegen(codegen_scope *s, node *tree, int val)
|
|
1348
1392
|
{
|
1349
1393
|
struct loopinfo *lp = loop_push(s, LOOP_NORMAL);
|
1350
1394
|
|
1351
|
-
lp->pc1 =
|
1352
|
-
genop(s, MKOP_sBx(OP_JMP, 0));
|
1395
|
+
lp->pc1 = genop(s, MKOP_sBx(OP_JMP, 0));
|
1353
1396
|
lp->pc2 = new_label(s);
|
1354
1397
|
codegen(s, tree->cdr, NOVAL);
|
1355
1398
|
dispatch(s, lp->pc1);
|
@@ -1396,20 +1439,17 @@ codegen(codegen_scope *s, node *tree, int val)
|
|
1396
1439
|
else {
|
1397
1440
|
pop();
|
1398
1441
|
}
|
1399
|
-
tmp =
|
1400
|
-
genop(s, MKOP_AsBx(OP_JMPIF, cursp(), pos2));
|
1442
|
+
tmp = genop(s, MKOP_AsBx(OP_JMPIF, cursp(), pos2));
|
1401
1443
|
pos2 = tmp;
|
1402
1444
|
n = n->cdr;
|
1403
1445
|
}
|
1404
1446
|
if (tree->car->car) {
|
1405
|
-
pos1 =
|
1406
|
-
genop(s, MKOP_sBx(OP_JMP, 0));
|
1447
|
+
pos1 = genop(s, MKOP_sBx(OP_JMP, 0));
|
1407
1448
|
dispatch_linked(s, pos2);
|
1408
1449
|
}
|
1409
1450
|
codegen(s, tree->car->cdr, val);
|
1410
1451
|
if (val) pop();
|
1411
|
-
tmp =
|
1412
|
-
genop(s, MKOP_sBx(OP_JMP, pos3));
|
1452
|
+
tmp = genop(s, MKOP_sBx(OP_JMP, pos3));
|
1413
1453
|
pos3 = tmp;
|
1414
1454
|
if (pos1) dispatch(s, pos1);
|
1415
1455
|
tree = tree->cdr;
|
@@ -1442,7 +1482,7 @@ codegen(codegen_scope *s, node *tree, int val)
|
|
1442
1482
|
codegen(s, tree->cdr, val);
|
1443
1483
|
if (val) {
|
1444
1484
|
pop(); pop();
|
1445
|
-
genop(s, MKOP_ABC(OP_RANGE, cursp(), cursp(),
|
1485
|
+
genop(s, MKOP_ABC(OP_RANGE, cursp(), cursp(), FALSE));
|
1446
1486
|
push();
|
1447
1487
|
}
|
1448
1488
|
break;
|
@@ -1452,7 +1492,7 @@ codegen(codegen_scope *s, node *tree, int val)
|
|
1452
1492
|
codegen(s, tree->cdr, val);
|
1453
1493
|
if (val) {
|
1454
1494
|
pop(); pop();
|
1455
|
-
genop(s, MKOP_ABC(OP_RANGE, cursp(), cursp(),
|
1495
|
+
genop(s, MKOP_ABC(OP_RANGE, cursp(), cursp(), TRUE));
|
1456
1496
|
push();
|
1457
1497
|
}
|
1458
1498
|
break;
|
@@ -1499,30 +1539,39 @@ codegen(codegen_scope *s, node *tree, int val)
|
|
1499
1539
|
case NODE_HASH:
|
1500
1540
|
{
|
1501
1541
|
int len = 0;
|
1542
|
+
mrb_bool update = FALSE;
|
1502
1543
|
|
1503
1544
|
while (tree) {
|
1504
1545
|
codegen(s, tree->car->car, val);
|
1505
1546
|
codegen(s, tree->car->cdr, val);
|
1506
1547
|
len++;
|
1507
1548
|
tree = tree->cdr;
|
1549
|
+
if (val && len == 126) {
|
1550
|
+
pop_n(len*2);
|
1551
|
+
genop(s, MKOP_ABC(OP_HASH, cursp(), cursp(), len));
|
1552
|
+
if (update) {
|
1553
|
+
pop();
|
1554
|
+
genop(s, MKOP_ABC(OP_SEND, cursp(), new_msym(s, mrb_intern_lit(s->mrb, "__update")), 1));
|
1555
|
+
}
|
1556
|
+
push();
|
1557
|
+
update = TRUE;
|
1558
|
+
len = 0;
|
1559
|
+
}
|
1508
1560
|
}
|
1509
1561
|
if (val) {
|
1510
1562
|
pop_n(len*2);
|
1511
1563
|
genop(s, MKOP_ABC(OP_HASH, cursp(), cursp(), len));
|
1564
|
+
if (update) {
|
1565
|
+
pop();
|
1566
|
+
genop(s, MKOP_ABC(OP_SEND, cursp(), new_msym(s, mrb_intern_lit(s->mrb, "__update")), 1));
|
1567
|
+
}
|
1512
1568
|
push();
|
1513
1569
|
}
|
1514
1570
|
}
|
1515
1571
|
break;
|
1516
1572
|
|
1517
1573
|
case NODE_SPLAT:
|
1518
|
-
|
1519
|
-
int idx = new_msym(s, mrb_intern_lit(s->mrb, "to_a"));
|
1520
|
-
|
1521
|
-
codegen(s, tree, VAL);
|
1522
|
-
pop();
|
1523
|
-
genop(s, MKOP_ABC(OP_SEND, cursp(), idx, 0));
|
1524
|
-
push();
|
1525
|
-
}
|
1574
|
+
codegen(s, tree, VAL);
|
1526
1575
|
break;
|
1527
1576
|
|
1528
1577
|
case NODE_ASGN:
|
@@ -1538,7 +1587,7 @@ codegen(codegen_scope *s, node *tree, int val)
|
|
1538
1587
|
int rhs = cursp();
|
1539
1588
|
|
1540
1589
|
if ((intptr_t)t->car == NODE_ARRAY && nosplat(t->cdr)) {
|
1541
|
-
|
1590
|
+
/* fixed rhs */
|
1542
1591
|
t = t->cdr;
|
1543
1592
|
while (t) {
|
1544
1593
|
codegen(s, t->car, VAL);
|
@@ -1587,9 +1636,12 @@ codegen(codegen_scope *s, node *tree, int val)
|
|
1587
1636
|
}
|
1588
1637
|
}
|
1589
1638
|
else {
|
1590
|
-
|
1639
|
+
/* variable rhs */
|
1591
1640
|
codegen(s, t, VAL);
|
1592
1641
|
gen_vmassignment(s, tree->car, rhs, val);
|
1642
|
+
if (!val) {
|
1643
|
+
pop();
|
1644
|
+
}
|
1593
1645
|
}
|
1594
1646
|
}
|
1595
1647
|
break;
|
@@ -1597,7 +1649,7 @@ codegen(codegen_scope *s, node *tree, int val)
|
|
1597
1649
|
case NODE_OP_ASGN:
|
1598
1650
|
{
|
1599
1651
|
mrb_sym sym = sym(tree->cdr->car);
|
1600
|
-
|
1652
|
+
mrb_int len;
|
1601
1653
|
const char *name = mrb_sym2name_len(s->mrb, sym, &len);
|
1602
1654
|
int idx;
|
1603
1655
|
|
@@ -1608,8 +1660,7 @@ codegen(codegen_scope *s, node *tree, int val)
|
|
1608
1660
|
int pos;
|
1609
1661
|
|
1610
1662
|
pop();
|
1611
|
-
pos =
|
1612
|
-
genop(s, MKOP_AsBx(name[0] == '|' ? OP_JMPIF : OP_JMPNOT, cursp(), 0));
|
1663
|
+
pos = genop_peep(s, MKOP_AsBx(name[0] == '|' ? OP_JMPIF : OP_JMPNOT, cursp(), 0), NOVAL);
|
1613
1664
|
codegen(s, tree->cdr->cdr->car, VAL);
|
1614
1665
|
pop();
|
1615
1666
|
gen_assignment(s, tree->car, cursp(), val);
|
@@ -1617,6 +1668,7 @@ codegen(codegen_scope *s, node *tree, int val)
|
|
1617
1668
|
break;
|
1618
1669
|
}
|
1619
1670
|
codegen(s, tree->cdr->cdr->car, VAL);
|
1671
|
+
push(); pop();
|
1620
1672
|
pop(); pop();
|
1621
1673
|
|
1622
1674
|
idx = new_msym(s, sym);
|
@@ -1672,6 +1724,7 @@ codegen(codegen_scope *s, node *tree, int val)
|
|
1672
1724
|
}
|
1673
1725
|
else {
|
1674
1726
|
genop(s, MKOP_A(OP_LOADNIL, cursp()));
|
1727
|
+
push(); pop();
|
1675
1728
|
}
|
1676
1729
|
pop_n(n+1);
|
1677
1730
|
if (sendv) n = CALL_MAXARGS;
|
@@ -1693,12 +1746,12 @@ codegen(codegen_scope *s, node *tree, int val)
|
|
1693
1746
|
}
|
1694
1747
|
if (s2) ainfo = s2->ainfo;
|
1695
1748
|
genop(s, MKOP_ABx(OP_ARGARY, cursp(), (ainfo<<4)|(lv & 0xf)));
|
1749
|
+
push(); push(); pop(); /* ARGARY pushes two values */
|
1696
1750
|
if (tree && tree->cdr) {
|
1697
|
-
push();
|
1698
1751
|
codegen(s, tree->cdr, VAL);
|
1699
|
-
|
1752
|
+
pop();
|
1700
1753
|
}
|
1701
|
-
pop();
|
1754
|
+
pop(); pop();
|
1702
1755
|
genop(s, MKOP_ABC(OP_SUPER, cursp(), 0, CALL_MAXARGS));
|
1703
1756
|
if (val) push();
|
1704
1757
|
}
|
@@ -1830,7 +1883,7 @@ codegen(codegen_scope *s, node *tree, int val)
|
|
1830
1883
|
int idx = lv_idx(s, sym(tree));
|
1831
1884
|
|
1832
1885
|
if (idx > 0) {
|
1833
|
-
|
1886
|
+
genop_peep(s, MKOP_AB(OP_MOVE, cursp(), idx), NOVAL);
|
1834
1887
|
}
|
1835
1888
|
else {
|
1836
1889
|
int lv = 0;
|
@@ -1911,8 +1964,8 @@ codegen(codegen_scope *s, node *tree, int val)
|
|
1911
1964
|
mrb_value fix = mrb_fixnum_value((intptr_t)tree);
|
1912
1965
|
mrb_value str = mrb_str_buf_new(mrb, 4);
|
1913
1966
|
|
1914
|
-
|
1915
|
-
|
1967
|
+
mrb_str_cat_lit(mrb, str, "$");
|
1968
|
+
mrb_str_cat_str(mrb, str, mrb_fixnum_to_str(mrb, fix, 10));
|
1916
1969
|
sym = new_sym(s, mrb_intern_str(mrb, str));
|
1917
1970
|
genop(s, MKOP_ABx(OP_GETGLOBAL, cursp(), sym));
|
1918
1971
|
push();
|
@@ -1920,7 +1973,7 @@ codegen(codegen_scope *s, node *tree, int val)
|
|
1920
1973
|
break;
|
1921
1974
|
|
1922
1975
|
case NODE_ARG:
|
1923
|
-
|
1976
|
+
/* should not happen */
|
1924
1977
|
break;
|
1925
1978
|
|
1926
1979
|
case NODE_BLOCK_ARG:
|
@@ -1933,7 +1986,7 @@ codegen(codegen_scope *s, node *tree, int val)
|
|
1933
1986
|
int base = (intptr_t)tree->cdr->car;
|
1934
1987
|
mrb_int i;
|
1935
1988
|
mrb_code co;
|
1936
|
-
|
1989
|
+
mrb_bool overflow;
|
1937
1990
|
|
1938
1991
|
i = readint_mrb_int(s, p, base, FALSE, &overflow);
|
1939
1992
|
if (overflow) {
|
@@ -1989,7 +2042,7 @@ codegen(codegen_scope *s, node *tree, int val)
|
|
1989
2042
|
int base = (intptr_t)tree->cdr->car;
|
1990
2043
|
mrb_int i;
|
1991
2044
|
mrb_code co;
|
1992
|
-
|
2045
|
+
mrb_bool overflow;
|
1993
2046
|
|
1994
2047
|
i = readint_mrb_int(s, p, base, TRUE, &overflow);
|
1995
2048
|
if (overflow) {
|
@@ -2077,14 +2130,48 @@ codegen(codegen_scope *s, node *tree, int val)
|
|
2077
2130
|
gen_literal_array(s, tree, TRUE, val);
|
2078
2131
|
break;
|
2079
2132
|
|
2133
|
+
case NODE_DXSTR:
|
2134
|
+
{
|
2135
|
+
node *n;
|
2136
|
+
int ai = mrb_gc_arena_save(s->mrb);
|
2137
|
+
int sym = new_sym(s, mrb_intern_lit(s->mrb, "Kernel"));
|
2138
|
+
|
2139
|
+
if (val == NOVAL) { push(); }
|
2140
|
+
genop(s, MKOP_A(OP_OCLASS, cursp()));
|
2141
|
+
genop(s, MKOP_ABx(OP_GETMCNST, cursp(), sym));
|
2142
|
+
push();
|
2143
|
+
codegen(s, tree->car, VAL);
|
2144
|
+
n = tree->cdr;
|
2145
|
+
while (n) {
|
2146
|
+
if ((intptr_t)n->car->car == NODE_XSTR) {
|
2147
|
+
n->car->car = (struct mrb_ast_node*)(intptr_t)NODE_STR;
|
2148
|
+
mrb_assert(!n->cdr); /* must be the end */
|
2149
|
+
}
|
2150
|
+
codegen(s, n->car, VAL);
|
2151
|
+
pop(); pop();
|
2152
|
+
genop_peep(s, MKOP_AB(OP_STRCAT, cursp(), cursp()+1), VAL);
|
2153
|
+
push();
|
2154
|
+
n = n->cdr;
|
2155
|
+
}
|
2156
|
+
pop();
|
2157
|
+
pop();
|
2158
|
+
sym = new_sym(s, mrb_intern_lit(s->mrb, "`"));
|
2159
|
+
genop(s, MKOP_ABC(OP_SEND, cursp(), sym, 1));
|
2160
|
+
if (val == NOVAL) { pop(); }
|
2161
|
+
else { push(); }
|
2162
|
+
mrb_gc_arena_restore(s->mrb, ai);
|
2163
|
+
}
|
2164
|
+
break;
|
2165
|
+
|
2080
2166
|
case NODE_XSTR:
|
2081
|
-
|
2167
|
+
{
|
2082
2168
|
char *p = (char*)tree->car;
|
2083
2169
|
size_t len = (intptr_t)tree->cdr;
|
2084
2170
|
int ai = mrb_gc_arena_save(s->mrb);
|
2085
2171
|
int sym = new_sym(s, mrb_intern_lit(s->mrb, "Kernel"));
|
2086
2172
|
int off = new_lit(s, mrb_str_new(s->mrb, p, len));
|
2087
2173
|
|
2174
|
+
if (val == NOVAL) { push(); }
|
2088
2175
|
genop(s, MKOP_A(OP_OCLASS, cursp()));
|
2089
2176
|
genop(s, MKOP_ABx(OP_GETMCNST, cursp(), sym));
|
2090
2177
|
push();
|
@@ -2092,8 +2179,9 @@ codegen(codegen_scope *s, node *tree, int val)
|
|
2092
2179
|
pop();
|
2093
2180
|
sym = new_sym(s, mrb_intern_lit(s->mrb, "`"));
|
2094
2181
|
genop(s, MKOP_ABC(OP_SEND, cursp(), sym, 1));
|
2182
|
+
if (val == NOVAL) { pop(); }
|
2183
|
+
else { push(); }
|
2095
2184
|
mrb_gc_arena_restore(s->mrb, ai);
|
2096
|
-
push();
|
2097
2185
|
}
|
2098
2186
|
break;
|
2099
2187
|
|
@@ -2103,7 +2191,7 @@ codegen(codegen_scope *s, node *tree, int val)
|
|
2103
2191
|
char *p2 = (char*)tree->cdr;
|
2104
2192
|
int ai = mrb_gc_arena_save(s->mrb);
|
2105
2193
|
int sym = new_sym(s, mrb_intern_lit(s->mrb, REGEXP_CLASS));
|
2106
|
-
int off = new_lit(s,
|
2194
|
+
int off = new_lit(s, mrb_str_new_cstr(s->mrb, p1));
|
2107
2195
|
int argc = 1;
|
2108
2196
|
|
2109
2197
|
genop(s, MKOP_A(OP_OCLASS, cursp()));
|
@@ -2112,7 +2200,7 @@ codegen(codegen_scope *s, node *tree, int val)
|
|
2112
2200
|
genop(s, MKOP_ABx(OP_STRING, cursp(), off));
|
2113
2201
|
if (p2) {
|
2114
2202
|
push();
|
2115
|
-
off = new_lit(s,
|
2203
|
+
off = new_lit(s, mrb_str_new_cstr(s->mrb, p2));
|
2116
2204
|
genop(s, MKOP_ABx(OP_STRING, cursp(), off));
|
2117
2205
|
argc++;
|
2118
2206
|
pop();
|
@@ -2149,7 +2237,7 @@ codegen(codegen_scope *s, node *tree, int val)
|
|
2149
2237
|
n = tree->cdr->cdr;
|
2150
2238
|
if (n->car) {
|
2151
2239
|
p = (char*)n->car;
|
2152
|
-
off = new_lit(s,
|
2240
|
+
off = new_lit(s, mrb_str_new_cstr(s->mrb, p));
|
2153
2241
|
codegen(s, tree->car, VAL);
|
2154
2242
|
genop(s, MKOP_ABx(OP_STRING, cursp(), off));
|
2155
2243
|
pop();
|
@@ -2157,10 +2245,9 @@ codegen(codegen_scope *s, node *tree, int val)
|
|
2157
2245
|
}
|
2158
2246
|
if (n->cdr) {
|
2159
2247
|
char *p2 = (char*)n->cdr;
|
2160
|
-
int off;
|
2161
2248
|
|
2162
2249
|
push();
|
2163
|
-
off = new_lit(s,
|
2250
|
+
off = new_lit(s, mrb_str_new_cstr(s->mrb, p2));
|
2164
2251
|
genop(s, MKOP_ABx(OP_STRING, cursp(), off));
|
2165
2252
|
argc++;
|
2166
2253
|
pop();
|
@@ -2231,7 +2318,7 @@ codegen(codegen_scope *s, node *tree, int val)
|
|
2231
2318
|
{
|
2232
2319
|
int a = new_msym(s, sym(tree->car));
|
2233
2320
|
int b = new_msym(s, sym(tree->cdr));
|
2234
|
-
int c = new_msym(s, mrb_intern_lit(s->mrb,"alias_method"));
|
2321
|
+
int c = new_msym(s, mrb_intern_lit(s->mrb, "alias_method"));
|
2235
2322
|
|
2236
2323
|
genop(s, MKOP_A(OP_TCLASS, cursp()));
|
2237
2324
|
push();
|
@@ -2353,6 +2440,7 @@ codegen(codegen_scope *s, node *tree, int val)
|
|
2353
2440
|
genop(s, MKOP_A(OP_TCLASS, cursp()));
|
2354
2441
|
push();
|
2355
2442
|
genop(s, MKOP_Abc(OP_LAMBDA, cursp(), idx, OP_L_METHOD));
|
2443
|
+
push(); pop();
|
2356
2444
|
pop();
|
2357
2445
|
genop(s, MKOP_AB(OP_METHOD, cursp(), sym));
|
2358
2446
|
if (val) {
|
@@ -2413,7 +2501,7 @@ scope_new(mrb_state *mrb, codegen_scope *prev, node *lv)
|
|
2413
2501
|
mrb_pool *pool = mrb_pool_open(mrb);
|
2414
2502
|
codegen_scope *p = (codegen_scope *)mrb_pool_alloc(pool, sizeof(codegen_scope));
|
2415
2503
|
|
2416
|
-
if (!p) return
|
2504
|
+
if (!p) return NULL;
|
2417
2505
|
*p = codegen_scope_zero;
|
2418
2506
|
p->mrb = mrb;
|
2419
2507
|
p->mpool = pool;
|
@@ -2443,6 +2531,22 @@ scope_new(mrb_state *mrb, codegen_scope *prev, node *lv)
|
|
2443
2531
|
p->lv = lv;
|
2444
2532
|
p->sp += node_len(lv)+1; /* add self */
|
2445
2533
|
p->nlocals = p->sp;
|
2534
|
+
if (lv) {
|
2535
|
+
node *n = lv;
|
2536
|
+
size_t i = 0;
|
2537
|
+
|
2538
|
+
p->irep->lv = (struct mrb_locals*)mrb_malloc(mrb, sizeof(struct mrb_locals) * (p->nlocals - 1));
|
2539
|
+
for (i=0, n=lv; n; i++,n=n->cdr) {
|
2540
|
+
p->irep->lv[i].name = lv_name(n);
|
2541
|
+
if (lv_name(n)) {
|
2542
|
+
p->irep->lv[i].r = lv_idx(p, lv_name(n));
|
2543
|
+
}
|
2544
|
+
else {
|
2545
|
+
p->irep->lv[i].r = 0;
|
2546
|
+
}
|
2547
|
+
}
|
2548
|
+
mrb_assert(i + 1 == p->nlocals);
|
2549
|
+
}
|
2446
2550
|
p->ai = mrb_gc_arena_save(mrb);
|
2447
2551
|
|
2448
2552
|
p->filename = prev->filename;
|
@@ -2451,9 +2555,9 @@ scope_new(mrb_state *mrb, codegen_scope *prev, node *lv)
|
|
2451
2555
|
}
|
2452
2556
|
p->lineno = prev->lineno;
|
2453
2557
|
|
2454
|
-
|
2558
|
+
/* debug setting */
|
2455
2559
|
p->debug_start_pos = 0;
|
2456
|
-
if(p->filename) {
|
2560
|
+
if (p->filename) {
|
2457
2561
|
mrb_debug_info_alloc(mrb, p->irep);
|
2458
2562
|
p->irep->filename = p->filename;
|
2459
2563
|
p->irep->lines = p->lines;
|
@@ -2494,7 +2598,7 @@ scope_finish(codegen_scope *s)
|
|
2494
2598
|
mrb_debug_info_append_file(mrb, s->irep, s->debug_start_pos, s->pc);
|
2495
2599
|
|
2496
2600
|
fname_len = strlen(s->filename);
|
2497
|
-
fname = codegen_malloc(s, fname_len + 1);
|
2601
|
+
fname = (char*)codegen_malloc(s, fname_len + 1);
|
2498
2602
|
memcpy(fname, s->filename, fname_len);
|
2499
2603
|
fname[fname_len] = '\0';
|
2500
2604
|
irep->filename = fname;
|
@@ -2554,8 +2658,7 @@ loop_break(codegen_scope *s, node *tree)
|
|
2554
2658
|
if (tree) {
|
2555
2659
|
genop_peep(s, MKOP_AB(OP_MOVE, loop->acc, cursp()), NOVAL);
|
2556
2660
|
}
|
2557
|
-
tmp =
|
2558
|
-
genop(s, MKOP_sBx(OP_JMP, loop->pc3));
|
2661
|
+
tmp = genop(s, MKOP_sBx(OP_JMP, loop->pc3));
|
2559
2662
|
loop->pc3 = tmp;
|
2560
2663
|
}
|
2561
2664
|
else {
|
@@ -2575,19 +2678,81 @@ loop_pop(codegen_scope *s, int val)
|
|
2575
2678
|
if (val) push();
|
2576
2679
|
}
|
2577
2680
|
|
2681
|
+
#ifdef ENABLE_STDIO
|
2682
|
+
static int
|
2683
|
+
print_r(mrb_state *mrb, mrb_irep *irep, size_t n, int pre)
|
2684
|
+
{
|
2685
|
+
size_t i;
|
2686
|
+
|
2687
|
+
if (n == 0) return 0;
|
2688
|
+
|
2689
|
+
for (i=0; i+1<irep->nlocals; i++) {
|
2690
|
+
if (irep->lv[i].r == n) {
|
2691
|
+
mrb_sym sym = irep->lv[i].name;
|
2692
|
+
if (pre) printf(" ");
|
2693
|
+
printf("R%d:%s", (int)n, mrb_sym2name(mrb, sym));
|
2694
|
+
return 1;
|
2695
|
+
}
|
2696
|
+
}
|
2697
|
+
return 0;
|
2698
|
+
}
|
2699
|
+
|
2700
|
+
#define RA 1
|
2701
|
+
#define RB 2
|
2702
|
+
#define RAB 3
|
2703
|
+
|
2704
|
+
static void
|
2705
|
+
print_lv(mrb_state *mrb, mrb_irep *irep, mrb_code c, int r)
|
2706
|
+
{
|
2707
|
+
int pre = 0;
|
2708
|
+
|
2709
|
+
if (!irep->lv
|
2710
|
+
|| ((!(r & RA) || GETARG_A(c) >= irep->nlocals)
|
2711
|
+
&& (!(r & RB) || GETARG_B(c) >= irep->nlocals))) {
|
2712
|
+
printf("\n");
|
2713
|
+
return;
|
2714
|
+
}
|
2715
|
+
printf("\t; ");
|
2716
|
+
if (r & RA) {
|
2717
|
+
pre = print_r(mrb, irep, GETARG_A(c), 0);
|
2718
|
+
}
|
2719
|
+
if (r & RB) {
|
2720
|
+
print_r(mrb, irep, GETARG_B(c), pre);
|
2721
|
+
}
|
2722
|
+
printf("\n");
|
2723
|
+
}
|
2724
|
+
#endif
|
2725
|
+
|
2578
2726
|
static void
|
2579
2727
|
codedump(mrb_state *mrb, mrb_irep *irep)
|
2580
2728
|
{
|
2581
2729
|
#ifdef ENABLE_STDIO
|
2582
|
-
|
2730
|
+
int i;
|
2583
2731
|
int ai;
|
2584
2732
|
mrb_code c;
|
2733
|
+
const char *file = NULL, *next_file;
|
2734
|
+
int32_t line;
|
2585
2735
|
|
2586
2736
|
if (!irep) return;
|
2587
|
-
printf("irep %p nregs=%d nlocals=%d pools=%d syms=%d reps=%d\n", irep,
|
2737
|
+
printf("irep %p nregs=%d nlocals=%d pools=%d syms=%d reps=%d\n", (void*)irep,
|
2588
2738
|
irep->nregs, irep->nlocals, (int)irep->plen, (int)irep->slen, (int)irep->rlen);
|
2589
|
-
|
2739
|
+
|
2740
|
+
for (i = 0; i < (int)irep->ilen; i++) {
|
2590
2741
|
ai = mrb_gc_arena_save(mrb);
|
2742
|
+
|
2743
|
+
next_file = mrb_debug_get_filename(irep, i);
|
2744
|
+
if (next_file && file != next_file) {
|
2745
|
+
printf("file: %s\n", next_file);
|
2746
|
+
file = next_file;
|
2747
|
+
}
|
2748
|
+
line = mrb_debug_get_line(irep, i);
|
2749
|
+
if (line < 0) {
|
2750
|
+
printf(" ");
|
2751
|
+
}
|
2752
|
+
else {
|
2753
|
+
printf("%5d ", line);
|
2754
|
+
}
|
2755
|
+
|
2591
2756
|
printf("%03d ", i);
|
2592
2757
|
c = irep->iseq[i];
|
2593
2758
|
switch (GET_OPCODE(c)) {
|
@@ -2595,82 +2760,106 @@ codedump(mrb_state *mrb, mrb_irep *irep)
|
|
2595
2760
|
printf("OP_NOP\n");
|
2596
2761
|
break;
|
2597
2762
|
case OP_MOVE:
|
2598
|
-
printf("OP_MOVE\tR%d\tR%d\
|
2763
|
+
printf("OP_MOVE\tR%d\tR%d\t", GETARG_A(c), GETARG_B(c));
|
2764
|
+
print_lv(mrb, irep, c, RAB);
|
2599
2765
|
break;
|
2600
2766
|
case OP_LOADL:
|
2601
|
-
|
2767
|
+
{
|
2768
|
+
mrb_value v = irep->pool[GETARG_Bx(c)];
|
2769
|
+
mrb_value s = mrb_inspect(mrb, v);
|
2770
|
+
printf("OP_LOADL\tR%d\tL(%d)\t; %s", GETARG_A(c), GETARG_Bx(c), RSTRING_PTR(s));
|
2771
|
+
}
|
2772
|
+
print_lv(mrb, irep, c, RA);
|
2602
2773
|
break;
|
2603
2774
|
case OP_LOADI:
|
2604
|
-
printf("OP_LOADI\tR%d\t%d\
|
2775
|
+
printf("OP_LOADI\tR%d\t%d\t", GETARG_A(c), GETARG_sBx(c));
|
2776
|
+
print_lv(mrb, irep, c, RA);
|
2605
2777
|
break;
|
2606
2778
|
case OP_LOADSYM:
|
2607
|
-
printf("OP_LOADSYM\tR%d\t:%s
|
2779
|
+
printf("OP_LOADSYM\tR%d\t:%s", GETARG_A(c),
|
2608
2780
|
mrb_sym2name(mrb, irep->syms[GETARG_Bx(c)]));
|
2781
|
+
print_lv(mrb, irep, c, RA);
|
2609
2782
|
break;
|
2610
2783
|
case OP_LOADNIL:
|
2611
|
-
printf("OP_LOADNIL\tR%d\
|
2784
|
+
printf("OP_LOADNIL\tR%d\t\t", GETARG_A(c));
|
2785
|
+
print_lv(mrb, irep, c, RA);
|
2612
2786
|
break;
|
2613
2787
|
case OP_LOADSELF:
|
2614
|
-
printf("OP_LOADSELF\tR%d\
|
2788
|
+
printf("OP_LOADSELF\tR%d\t\t", GETARG_A(c));
|
2789
|
+
print_lv(mrb, irep, c, RA);
|
2615
2790
|
break;
|
2616
2791
|
case OP_LOADT:
|
2617
|
-
printf("OP_LOADT\tR%d\
|
2792
|
+
printf("OP_LOADT\tR%d\t\t", GETARG_A(c));
|
2793
|
+
print_lv(mrb, irep, c, RA);
|
2618
2794
|
break;
|
2619
2795
|
case OP_LOADF:
|
2620
|
-
printf("OP_LOADF\tR%d\
|
2796
|
+
printf("OP_LOADF\tR%d\t\t", GETARG_A(c));
|
2797
|
+
print_lv(mrb, irep, c, RA);
|
2621
2798
|
break;
|
2622
2799
|
case OP_GETGLOBAL:
|
2623
|
-
printf("OP_GETGLOBAL\tR%d\t:%s
|
2800
|
+
printf("OP_GETGLOBAL\tR%d\t:%s", GETARG_A(c),
|
2624
2801
|
mrb_sym2name(mrb, irep->syms[GETARG_Bx(c)]));
|
2802
|
+
print_lv(mrb, irep, c, RA);
|
2625
2803
|
break;
|
2626
2804
|
case OP_SETGLOBAL:
|
2627
|
-
printf("OP_SETGLOBAL\t:%s\tR%d\
|
2805
|
+
printf("OP_SETGLOBAL\t:%s\tR%d\t",
|
2628
2806
|
mrb_sym2name(mrb, irep->syms[GETARG_Bx(c)]),
|
2629
2807
|
GETARG_A(c));
|
2808
|
+
print_lv(mrb, irep, c, RA);
|
2630
2809
|
break;
|
2631
2810
|
case OP_GETCONST:
|
2632
|
-
printf("OP_GETCONST\tR%d\t:%s
|
2811
|
+
printf("OP_GETCONST\tR%d\t:%s", GETARG_A(c),
|
2633
2812
|
mrb_sym2name(mrb, irep->syms[GETARG_Bx(c)]));
|
2813
|
+
print_lv(mrb, irep, c, RA);
|
2634
2814
|
break;
|
2635
2815
|
case OP_SETCONST:
|
2636
|
-
printf("OP_SETCONST\t:%s\tR%d\
|
2816
|
+
printf("OP_SETCONST\t:%s\tR%d\t",
|
2637
2817
|
mrb_sym2name(mrb, irep->syms[GETARG_Bx(c)]),
|
2638
2818
|
GETARG_A(c));
|
2819
|
+
print_lv(mrb, irep, c, RA);
|
2639
2820
|
break;
|
2640
2821
|
case OP_GETMCNST:
|
2641
|
-
printf("OP_GETMCNST\tR%d\tR%d::%s
|
2822
|
+
printf("OP_GETMCNST\tR%d\tR%d::%s", GETARG_A(c), GETARG_A(c),
|
2642
2823
|
mrb_sym2name(mrb, irep->syms[GETARG_Bx(c)]));
|
2824
|
+
print_lv(mrb, irep, c, RAB);
|
2643
2825
|
break;
|
2644
2826
|
case OP_SETMCNST:
|
2645
|
-
printf("OP_SETMCNST\tR%d::%s\tR%d
|
2827
|
+
printf("OP_SETMCNST\tR%d::%s\tR%d", GETARG_A(c)+1,
|
2646
2828
|
mrb_sym2name(mrb, irep->syms[GETARG_Bx(c)]),
|
2647
2829
|
GETARG_A(c));
|
2830
|
+
print_lv(mrb, irep, c, RA);
|
2648
2831
|
break;
|
2649
2832
|
case OP_GETIV:
|
2650
|
-
printf("OP_GETIV\tR%d\t%s
|
2833
|
+
printf("OP_GETIV\tR%d\t%s", GETARG_A(c),
|
2651
2834
|
mrb_sym2name(mrb, irep->syms[GETARG_Bx(c)]));
|
2835
|
+
print_lv(mrb, irep, c, RA);
|
2652
2836
|
break;
|
2653
2837
|
case OP_SETIV:
|
2654
|
-
printf("OP_SETIV\t%s\tR%d
|
2838
|
+
printf("OP_SETIV\t%s\tR%d",
|
2655
2839
|
mrb_sym2name(mrb, irep->syms[GETARG_Bx(c)]),
|
2656
2840
|
GETARG_A(c));
|
2841
|
+
print_lv(mrb, irep, c, RA);
|
2657
2842
|
break;
|
2658
2843
|
case OP_GETUPVAR:
|
2659
|
-
printf("OP_GETUPVAR\tR%d\t%d\t%d
|
2844
|
+
printf("OP_GETUPVAR\tR%d\t%d\t%d",
|
2660
2845
|
GETARG_A(c), GETARG_B(c), GETARG_C(c));
|
2846
|
+
print_lv(mrb, irep, c, RA);
|
2661
2847
|
break;
|
2662
2848
|
case OP_SETUPVAR:
|
2663
|
-
printf("OP_SETUPVAR\tR%d\t%d\t%d
|
2849
|
+
printf("OP_SETUPVAR\tR%d\t%d\t%d",
|
2664
2850
|
GETARG_A(c), GETARG_B(c), GETARG_C(c));
|
2851
|
+
print_lv(mrb, irep, c, RA);
|
2665
2852
|
break;
|
2666
2853
|
case OP_GETCV:
|
2667
|
-
printf("OP_GETCV\tR%d\t%s
|
2854
|
+
printf("OP_GETCV\tR%d\t%s", GETARG_A(c),
|
2668
2855
|
mrb_sym2name(mrb, irep->syms[GETARG_Bx(c)]));
|
2856
|
+
print_lv(mrb, irep, c, RA);
|
2669
2857
|
break;
|
2670
2858
|
case OP_SETCV:
|
2671
|
-
printf("OP_SETCV\t%s\tR%d
|
2859
|
+
printf("OP_SETCV\t%s\tR%d",
|
2672
2860
|
mrb_sym2name(mrb, irep->syms[GETARG_Bx(c)]),
|
2673
2861
|
GETARG_A(c));
|
2862
|
+
print_lv(mrb, irep, c, RA);
|
2674
2863
|
break;
|
2675
2864
|
case OP_JMP:
|
2676
2865
|
printf("OP_JMP\t\t%03d\n", i+GETARG_sBx(c));
|
@@ -2701,11 +2890,12 @@ codedump(mrb_state *mrb, mrb_irep *irep)
|
|
2701
2890
|
GETARG_C(c));
|
2702
2891
|
break;
|
2703
2892
|
case OP_ARGARY:
|
2704
|
-
printf("OP_ARGARY\tR%d\t%d:%d:%d:%d
|
2893
|
+
printf("OP_ARGARY\tR%d\t%d:%d:%d:%d", GETARG_A(c),
|
2705
2894
|
(GETARG_Bx(c)>>10)&0x3f,
|
2706
2895
|
(GETARG_Bx(c)>>9)&0x1,
|
2707
2896
|
(GETARG_Bx(c)>>4)&0x1f,
|
2708
2897
|
(GETARG_Bx(c)>>0)&0xf);
|
2898
|
+
print_lv(mrb, irep, c, RA);
|
2709
2899
|
break;
|
2710
2900
|
|
2711
2901
|
case OP_ENTER:
|
@@ -2722,33 +2912,37 @@ codedump(mrb_state *mrb, mrb_irep *irep)
|
|
2722
2912
|
printf("OP_RETURN\tR%d", GETARG_A(c));
|
2723
2913
|
switch (GETARG_B(c)) {
|
2724
2914
|
case OP_R_NORMAL:
|
2725
|
-
printf("\n"); break;
|
2726
2915
|
case OP_R_RETURN:
|
2727
|
-
printf("\treturn
|
2916
|
+
printf("\treturn"); break;
|
2728
2917
|
case OP_R_BREAK:
|
2729
|
-
printf("\tbreak
|
2918
|
+
printf("\tbreak"); break;
|
2730
2919
|
default:
|
2731
|
-
printf("\tbroken
|
2920
|
+
printf("\tbroken"); break;
|
2732
2921
|
break;
|
2733
2922
|
}
|
2923
|
+
print_lv(mrb, irep, c, RA);
|
2734
2924
|
break;
|
2735
2925
|
case OP_BLKPUSH:
|
2736
|
-
printf("OP_BLKPUSH\tR%d\t%d:%d:%d:%d
|
2926
|
+
printf("OP_BLKPUSH\tR%d\t%d:%d:%d:%d", GETARG_A(c),
|
2737
2927
|
(GETARG_Bx(c)>>10)&0x3f,
|
2738
2928
|
(GETARG_Bx(c)>>9)&0x1,
|
2739
2929
|
(GETARG_Bx(c)>>4)&0x1f,
|
2740
2930
|
(GETARG_Bx(c)>>0)&0xf);
|
2931
|
+
print_lv(mrb, irep, c, RA);
|
2741
2932
|
break;
|
2742
2933
|
|
2743
2934
|
case OP_LAMBDA:
|
2744
|
-
printf("OP_LAMBDA\tR%d\tI(%+d)\t%d
|
2935
|
+
printf("OP_LAMBDA\tR%d\tI(%+d)\t%d", GETARG_A(c), GETARG_b(c)+1, GETARG_c(c));
|
2936
|
+
print_lv(mrb, irep, c, RA);
|
2745
2937
|
break;
|
2746
2938
|
case OP_RANGE:
|
2747
|
-
printf("OP_RANGE\tR%d\tR%d\t%d
|
2939
|
+
printf("OP_RANGE\tR%d\tR%d\t%d", GETARG_A(c), GETARG_B(c), GETARG_C(c));
|
2940
|
+
print_lv(mrb, irep, c, RAB);
|
2748
2941
|
break;
|
2749
2942
|
case OP_METHOD:
|
2750
|
-
printf("OP_METHOD\tR%d\t:%s
|
2943
|
+
printf("OP_METHOD\tR%d\t:%s", GETARG_A(c),
|
2751
2944
|
mrb_sym2name(mrb, irep->syms[GETARG_B(c)]));
|
2945
|
+
print_lv(mrb, irep, c, RA);
|
2752
2946
|
break;
|
2753
2947
|
|
2754
2948
|
case OP_ADD:
|
@@ -2812,71 +3006,92 @@ codedump(mrb_state *mrb, mrb_irep *irep)
|
|
2812
3006
|
break;
|
2813
3007
|
|
2814
3008
|
case OP_ARRAY:
|
2815
|
-
printf("OP_ARRAY\tR%d\tR%d\t%d
|
3009
|
+
printf("OP_ARRAY\tR%d\tR%d\t%d", GETARG_A(c), GETARG_B(c), GETARG_C(c));
|
3010
|
+
print_lv(mrb, irep, c, RAB);
|
2816
3011
|
break;
|
2817
3012
|
case OP_ARYCAT:
|
2818
|
-
printf("OP_ARYCAT\tR%d\tR%d\
|
3013
|
+
printf("OP_ARYCAT\tR%d\tR%d\t", GETARG_A(c), GETARG_B(c));
|
3014
|
+
print_lv(mrb, irep, c, RAB);
|
2819
3015
|
break;
|
2820
3016
|
case OP_ARYPUSH:
|
2821
|
-
printf("OP_ARYPUSH\tR%d\tR%d\
|
3017
|
+
printf("OP_ARYPUSH\tR%d\tR%d\t", GETARG_A(c), GETARG_B(c));
|
3018
|
+
print_lv(mrb, irep, c, RAB);
|
2822
3019
|
break;
|
2823
3020
|
case OP_AREF:
|
2824
|
-
printf("OP_AREF\tR%d\tR%d\t%d
|
3021
|
+
printf("OP_AREF\tR%d\tR%d\t%d", GETARG_A(c), GETARG_B(c), GETARG_C(c));
|
3022
|
+
print_lv(mrb, irep, c, RAB);
|
2825
3023
|
break;
|
2826
3024
|
case OP_APOST:
|
2827
|
-
printf("OP_APOST\tR%d\t%d\t%d
|
3025
|
+
printf("OP_APOST\tR%d\t%d\t%d", GETARG_A(c), GETARG_B(c), GETARG_C(c));
|
3026
|
+
print_lv(mrb, irep, c, RA);
|
2828
3027
|
break;
|
2829
3028
|
case OP_STRING:
|
2830
3029
|
{
|
2831
3030
|
mrb_value v = irep->pool[GETARG_Bx(c)];
|
2832
3031
|
mrb_value s = mrb_str_dump(mrb, mrb_str_new(mrb, RSTRING_PTR(v), RSTRING_LEN(v)));
|
2833
|
-
printf("OP_STRING\tR%d\t%s
|
3032
|
+
printf("OP_STRING\tR%d\tL(%d)\t; %s", GETARG_A(c), GETARG_Bx(c), RSTRING_PTR(s));
|
2834
3033
|
}
|
3034
|
+
print_lv(mrb, irep, c, RA);
|
2835
3035
|
break;
|
2836
3036
|
case OP_STRCAT:
|
2837
|
-
printf("OP_STRCAT\tR%d\tR%d\
|
3037
|
+
printf("OP_STRCAT\tR%d\tR%d\t", GETARG_A(c), GETARG_B(c));
|
3038
|
+
print_lv(mrb, irep, c, RAB);
|
2838
3039
|
break;
|
2839
3040
|
case OP_HASH:
|
2840
|
-
printf("OP_HASH\tR%d\tR%d\t%d
|
3041
|
+
printf("OP_HASH\tR%d\tR%d\t%d", GETARG_A(c), GETARG_B(c), GETARG_C(c));
|
3042
|
+
print_lv(mrb, irep, c, RAB);
|
2841
3043
|
break;
|
2842
3044
|
|
2843
3045
|
case OP_OCLASS:
|
2844
|
-
printf("OP_OCLASS\tR%d\
|
3046
|
+
printf("OP_OCLASS\tR%d\t\t", GETARG_A(c));
|
3047
|
+
print_lv(mrb, irep, c, RA);
|
2845
3048
|
break;
|
2846
3049
|
case OP_CLASS:
|
2847
|
-
printf("OP_CLASS\tR%d\t:%s
|
3050
|
+
printf("OP_CLASS\tR%d\t:%s", GETARG_A(c),
|
2848
3051
|
mrb_sym2name(mrb, irep->syms[GETARG_B(c)]));
|
3052
|
+
print_lv(mrb, irep, c, RA);
|
2849
3053
|
break;
|
2850
3054
|
case OP_MODULE:
|
2851
|
-
printf("OP_MODULE\tR%d\t:%s
|
3055
|
+
printf("OP_MODULE\tR%d\t:%s", GETARG_A(c),
|
2852
3056
|
mrb_sym2name(mrb, irep->syms[GETARG_B(c)]));
|
3057
|
+
print_lv(mrb, irep, c, RA);
|
2853
3058
|
break;
|
2854
3059
|
case OP_EXEC:
|
2855
|
-
printf("OP_EXEC\tR%d\tI(%+d)
|
3060
|
+
printf("OP_EXEC\tR%d\tI(%+d)", GETARG_A(c), GETARG_Bx(c)+1);
|
3061
|
+
print_lv(mrb, irep, c, RA);
|
2856
3062
|
break;
|
2857
3063
|
case OP_SCLASS:
|
2858
|
-
printf("OP_SCLASS\tR%d\tR%d\
|
3064
|
+
printf("OP_SCLASS\tR%d\tR%d\t", GETARG_A(c), GETARG_B(c));
|
3065
|
+
print_lv(mrb, irep, c, RAB);
|
2859
3066
|
break;
|
2860
3067
|
case OP_TCLASS:
|
2861
|
-
printf("OP_TCLASS\tR%d\
|
3068
|
+
printf("OP_TCLASS\tR%d\t\t", GETARG_A(c));
|
3069
|
+
print_lv(mrb, irep, c, RA);
|
2862
3070
|
break;
|
2863
3071
|
case OP_ERR:
|
2864
|
-
|
3072
|
+
{
|
3073
|
+
mrb_value v = irep->pool[GETARG_Bx(c)];
|
3074
|
+
mrb_value s = mrb_str_dump(mrb, mrb_str_new(mrb, RSTRING_PTR(v), RSTRING_LEN(v)));
|
3075
|
+
printf("OP_ERR\t%s\n", RSTRING_PTR(s));
|
3076
|
+
}
|
2865
3077
|
break;
|
2866
3078
|
case OP_EPUSH:
|
2867
|
-
printf("OP_EPUSH\t:I(%+d)\n", GETARG_Bx(c));
|
3079
|
+
printf("OP_EPUSH\t:I(%+d)\n", GETARG_Bx(c)+1);
|
2868
3080
|
break;
|
2869
3081
|
case OP_ONERR:
|
2870
3082
|
printf("OP_ONERR\t%03d\n", i+GETARG_sBx(c));
|
2871
3083
|
break;
|
2872
3084
|
case OP_RESCUE:
|
2873
|
-
printf("OP_RESCUE\tR%d\
|
3085
|
+
printf("OP_RESCUE\tR%d\t\t", GETARG_A(c));
|
3086
|
+
print_lv(mrb, irep, c, RA);
|
2874
3087
|
break;
|
2875
3088
|
case OP_RAISE:
|
2876
|
-
printf("OP_RAISE\tR%d\
|
3089
|
+
printf("OP_RAISE\tR%d\t\t", GETARG_A(c));
|
3090
|
+
print_lv(mrb, irep, c, RA);
|
2877
3091
|
break;
|
2878
3092
|
case OP_POPERR:
|
2879
|
-
printf("OP_POPERR\t%d\
|
3093
|
+
printf("OP_POPERR\t%d\t\t", GETARG_A(c));
|
3094
|
+
print_lv(mrb, irep, c, RA);
|
2880
3095
|
break;
|
2881
3096
|
case OP_EPOP:
|
2882
3097
|
printf("OP_EPOP\t%d\n", GETARG_A(c));
|
@@ -2905,12 +3120,12 @@ codedump_recur(mrb_state *mrb, mrb_irep *irep)
|
|
2905
3120
|
}
|
2906
3121
|
|
2907
3122
|
void
|
2908
|
-
|
3123
|
+
mrb_codedump_all(mrb_state *mrb, struct RProc *proc)
|
2909
3124
|
{
|
2910
3125
|
codedump_recur(mrb, proc->body.irep);
|
2911
3126
|
}
|
2912
3127
|
|
2913
|
-
struct RProc*
|
3128
|
+
MRB_API struct RProc*
|
2914
3129
|
mrb_generate_code(mrb_state *mrb, parser_state *p)
|
2915
3130
|
{
|
2916
3131
|
codegen_scope *scope = scope_new(mrb, 0, 0);
|
@@ -2923,15 +3138,16 @@ mrb_generate_code(mrb_state *mrb, parser_state *p)
|
|
2923
3138
|
scope->parser = p;
|
2924
3139
|
scope->filename = p->filename;
|
2925
3140
|
scope->filename_index = p->current_filename_index;
|
2926
|
-
|
2927
|
-
|
3141
|
+
|
3142
|
+
MRB_TRY(&scope->jmp) {
|
3143
|
+
/* prepare irep */
|
2928
3144
|
codegen(scope, p->tree, NOVAL);
|
2929
3145
|
proc = mrb_proc_new(mrb, scope->irep);
|
2930
3146
|
mrb_irep_decref(mrb, scope->irep);
|
2931
3147
|
mrb_pool_close(scope->mpool);
|
2932
3148
|
return proc;
|
2933
3149
|
}
|
2934
|
-
|
3150
|
+
MRB_CATCH(&scope->jmp) {
|
2935
3151
|
if (scope->filename == scope->irep->filename) {
|
2936
3152
|
scope->irep->filename = NULL;
|
2937
3153
|
}
|
@@ -2939,4 +3155,5 @@ mrb_generate_code(mrb_state *mrb, parser_state *p)
|
|
2939
3155
|
mrb_pool_close(scope->mpool);
|
2940
3156
|
return NULL;
|
2941
3157
|
}
|
3158
|
+
MRB_END_EXC(&scope->jmp);
|
2942
3159
|
}
|