johnson 1.2.0 → 2.0.0.pre0
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.
- data/CHANGELOG.rdoc +8 -0
- data/Manifest.txt +762 -48
- data/README.rdoc +2 -1
- data/Rakefile +90 -18
- data/ext/spidermonkey/conversions.c +9 -2
- data/ext/spidermonkey/ruby_land_proxy.c +1 -1
- data/ext/spidermonkey/runtime.h +1 -1
- data/ext/tracemonkey/context.cc +125 -0
- data/ext/tracemonkey/context.h +19 -0
- data/ext/tracemonkey/conversions.cc +365 -0
- data/ext/tracemonkey/conversions.h +32 -0
- data/ext/tracemonkey/debugger.cc +234 -0
- data/ext/tracemonkey/debugger.h +10 -0
- data/ext/tracemonkey/extconf.rb +37 -0
- data/ext/tracemonkey/extensions.cc +37 -0
- data/ext/tracemonkey/extensions.h +12 -0
- data/ext/tracemonkey/global.cc +40 -0
- data/ext/tracemonkey/global.h +11 -0
- data/ext/tracemonkey/idhash.cc +16 -0
- data/ext/tracemonkey/idhash.h +8 -0
- data/ext/tracemonkey/immutable_node.cc +1199 -0
- data/ext/tracemonkey/immutable_node.cc.erb +559 -0
- data/ext/tracemonkey/immutable_node.h +22 -0
- data/ext/tracemonkey/jroot.h +215 -0
- data/ext/tracemonkey/js_land_proxy.cc +620 -0
- data/ext/tracemonkey/js_land_proxy.h +20 -0
- data/ext/tracemonkey/ruby_land_proxy.cc +618 -0
- data/ext/tracemonkey/ruby_land_proxy.h +38 -0
- data/ext/tracemonkey/runtime.cc +454 -0
- data/ext/tracemonkey/runtime.h +27 -0
- data/ext/tracemonkey/split_global.cc +392 -0
- data/ext/tracemonkey/split_global.h +11 -0
- data/ext/tracemonkey/tracemonkey.cc +23 -0
- data/ext/tracemonkey/tracemonkey.h +32 -0
- data/lib/johnson.rb +12 -4
- data/lib/johnson/error.rb +5 -0
- data/lib/johnson/js/prelude.js +16 -1
- data/lib/johnson/parser.rb +2 -1
- data/lib/johnson/runtime.rb +87 -26
- data/lib/johnson/spidermonkey/runtime.rb +7 -16
- data/lib/johnson/tracemonkey.rb +13 -0
- data/lib/johnson/tracemonkey/context.rb +10 -0
- data/lib/johnson/tracemonkey/debugger.rb +67 -0
- data/lib/johnson/tracemonkey/immutable_node.rb +282 -0
- data/lib/johnson/tracemonkey/js_land_proxy.rb +64 -0
- data/lib/johnson/tracemonkey/mutable_tree_visitor.rb +242 -0
- data/lib/johnson/tracemonkey/ruby_land_proxy.rb +17 -0
- data/lib/johnson/tracemonkey/runtime.rb +80 -0
- data/test/{johnson_test.rb → generic/johnson_test.rb} +1 -1
- data/test/{parser_test.rb → generic/parser_test.rb} +1 -1
- data/test/helper.rb +23 -4
- data/test/johnson/{browser_test.rb → generic/browser_test.rb} +1 -1
- data/test/johnson/{conversions → generic/conversions}/array_test.rb +1 -1
- data/test/johnson/{conversions → generic/conversions}/boolean_test.rb +1 -1
- data/test/johnson/{conversions → generic/conversions}/callable_test.rb +1 -1
- data/test/johnson/{conversions → generic/conversions}/file_test.rb +1 -1
- data/test/johnson/generic/conversions/helper.rb +1 -0
- data/test/johnson/{conversions → generic/conversions}/nil_test.rb +1 -1
- data/test/johnson/{conversions → generic/conversions}/number_test.rb +1 -1
- data/test/johnson/{conversions → generic/conversions}/regexp_test.rb +1 -1
- data/test/johnson/{conversions → generic/conversions}/string_test.rb +1 -1
- data/test/johnson/{conversions → generic/conversions}/struct_test.rb +1 -1
- data/test/johnson/{conversions → generic/conversions}/symbol_test.rb +1 -1
- data/test/johnson/{conversions → generic/conversions}/thread_test.rb +1 -1
- data/test/johnson/{custom_conversions_test.rb → generic/custom_conversions_test.rb} +1 -1
- data/test/johnson/generic/default_test.rb +12 -0
- data/test/johnson/{error_test.rb → generic/error_test.rb} +1 -1
- data/test/johnson/{extensions_test.rb → generic/extensions_test.rb} +1 -1
- data/test/johnson/generic/helper.rb +1 -0
- data/test/johnson/{nodes → generic/nodes}/array_literal_test.rb +1 -1
- data/test/johnson/{nodes → generic/nodes}/array_node_test.rb +1 -1
- data/test/johnson/{nodes → generic/nodes}/binary_node_test.rb +1 -1
- data/test/johnson/{nodes → generic/nodes}/bracket_access_test.rb +1 -1
- data/test/johnson/{nodes → generic/nodes}/delete_test.rb +1 -1
- data/test/johnson/{nodes → generic/nodes}/do_while_test.rb +1 -1
- data/test/johnson/{nodes → generic/nodes}/dot_accessor_test.rb +1 -1
- data/test/johnson/generic/nodes/export_test.rb +11 -0
- data/test/johnson/{nodes → generic/nodes}/for_test.rb +1 -1
- data/test/johnson/{nodes → generic/nodes}/function_test.rb +1 -1
- data/test/johnson/generic/nodes/helper.rb +1 -0
- data/test/johnson/{nodes → generic/nodes}/if_test.rb +16 -6
- data/test/johnson/generic/nodes/import_test.rb +15 -0
- data/test/johnson/{nodes → generic/nodes}/label_test.rb +1 -1
- data/test/johnson/{nodes → generic/nodes}/let_test.rb +1 -1
- data/test/johnson/{nodes → generic/nodes}/object_literal_test.rb +1 -1
- data/test/johnson/{nodes → generic/nodes}/return_test.rb +1 -1
- data/test/johnson/{nodes → generic/nodes}/semi_test.rb +1 -1
- data/test/johnson/{nodes → generic/nodes}/switch_test.rb +1 -1
- data/test/johnson/{nodes → generic/nodes}/ternary_test.rb +1 -1
- data/test/johnson/{nodes → generic/nodes}/throw_test.rb +1 -1
- data/test/johnson/{nodes → generic/nodes}/try_node_test.rb +36 -6
- data/test/johnson/{nodes → generic/nodes}/typeof_test.rb +1 -1
- data/test/johnson/{nodes → generic/nodes}/unary_node_test.rb +1 -1
- data/test/johnson/{nodes → generic/nodes}/void_test.rb +1 -1
- data/test/johnson/{nodes → generic/nodes}/while_test.rb +1 -1
- data/test/johnson/{nodes → generic/nodes}/with_test.rb +1 -1
- data/test/johnson/{prelude_test.rb → generic/prelude_test.rb} +1 -1
- data/test/johnson/{runtime_test.rb → generic/runtime_test.rb} +3 -6
- data/test/johnson/generic/version_test.rb +13 -0
- data/test/johnson/{visitors → generic/visitors}/dot_visitor_test.rb +1 -1
- data/test/johnson/{visitors → generic/visitors}/enumerating_visitor_test.rb +1 -1
- data/test/johnson/generic/visitors/helper.rb +1 -0
- data/test/johnson/spidermonkey/js_land_proxy_test.rb +1 -5
- data/test/johnson/spidermonkey/ruby_land_proxy_test.rb +11 -7
- data/test/johnson/tracemonkey/context_test.rb +21 -0
- data/test/johnson/tracemonkey/immutable_node_test.rb +34 -0
- data/test/johnson/tracemonkey/js_land_proxy_test.rb +273 -0
- data/test/johnson/tracemonkey/ruby_land_proxy_test.rb +274 -0
- data/test/johnson/tracemonkey/runtime_test.rb +41 -0
- data/test/johnson/tracemonkey/split_global_test.rb +32 -0
- data/vendor/spidermonkey/js.pkg +2 -0
- data/vendor/tracemonkey/Makefile.in +668 -0
- data/vendor/tracemonkey/Makefile.ref +483 -0
- data/vendor/tracemonkey/README.html +54 -0
- data/vendor/tracemonkey/SpiderMonkey.rsp +11 -0
- data/vendor/tracemonkey/Y.js +19 -0
- data/vendor/tracemonkey/aclocal.m4 +9 -0
- data/vendor/tracemonkey/bench.sh +5 -0
- data/vendor/tracemonkey/build/autoconf/acoutput-fast.pl +202 -0
- data/vendor/tracemonkey/build/autoconf/altoptions.m4 +154 -0
- data/vendor/tracemonkey/build/autoconf/config.guess +1537 -0
- data/vendor/tracemonkey/build/autoconf/config.sub +1595 -0
- data/vendor/tracemonkey/build/autoconf/install-sh +119 -0
- data/vendor/tracemonkey/build/autoconf/make-makefile +315 -0
- data/vendor/tracemonkey/build/autoconf/match-dir.sh +101 -0
- data/vendor/tracemonkey/build/autoconf/moznbytetype.m4 +136 -0
- data/vendor/tracemonkey/build/autoconf/nspr.m4 +82 -0
- data/vendor/tracemonkey/build/autoconf/pkg.m4 +59 -0
- data/vendor/tracemonkey/build/autoconf/update-makefile.sh +118 -0
- data/vendor/tracemonkey/build/cygwin-wrapper +75 -0
- data/vendor/tracemonkey/build/hcc +111 -0
- data/vendor/tracemonkey/build/hcpp +155 -0
- data/vendor/tracemonkey/build/unix/mddepend.pl +165 -0
- data/vendor/tracemonkey/build/unix/uniq.pl +63 -0
- data/vendor/tracemonkey/build/win32/pgomerge.py +40 -0
- data/vendor/tracemonkey/builtins.tbl +91 -0
- data/vendor/tracemonkey/call.js +13 -0
- data/vendor/tracemonkey/config.mk +206 -0
- data/vendor/tracemonkey/config/Makefile.in +106 -0
- data/vendor/tracemonkey/config/Moz/Milestone.pm +232 -0
- data/vendor/tracemonkey/config/autoconf.mk.in +362 -0
- data/vendor/tracemonkey/config/check-sync-dirs.py +103 -0
- data/vendor/tracemonkey/config/check-sync-exceptions +7 -0
- data/vendor/tracemonkey/config/config.mk +881 -0
- data/vendor/tracemonkey/config/fastcwd.pl +66 -0
- data/vendor/tracemonkey/config/gcc_hidden.h +2 -0
- data/vendor/tracemonkey/config/insure.mk +53 -0
- data/vendor/tracemonkey/config/make-system-wrappers.pl +59 -0
- data/vendor/tracemonkey/config/milestone.pl +112 -0
- data/vendor/tracemonkey/config/milestone.txt +13 -0
- data/vendor/tracemonkey/config/mkdepend/Makefile.in +84 -0
- data/vendor/tracemonkey/config/mkdepend/cppsetup.c +233 -0
- data/vendor/tracemonkey/config/mkdepend/def.h +184 -0
- data/vendor/tracemonkey/config/mkdepend/ifparser.c +551 -0
- data/vendor/tracemonkey/config/mkdepend/ifparser.h +83 -0
- data/vendor/tracemonkey/config/mkdepend/imakemdep.h +733 -0
- data/vendor/tracemonkey/config/mkdepend/include.c +337 -0
- data/vendor/tracemonkey/config/mkdepend/main.c +860 -0
- data/vendor/tracemonkey/config/mkdepend/mkdepend.man +382 -0
- data/vendor/tracemonkey/config/mkdepend/parse.c +686 -0
- data/vendor/tracemonkey/config/mkdepend/pr.c +124 -0
- data/vendor/tracemonkey/config/nfspwd.pl +50 -0
- data/vendor/tracemonkey/config/nsinstall.c +481 -0
- data/vendor/tracemonkey/config/nsinstall.py +155 -0
- data/vendor/tracemonkey/config/pathsub.c +247 -0
- data/vendor/tracemonkey/config/pathsub.h +74 -0
- data/vendor/tracemonkey/config/preprocessor.pl +671 -0
- data/vendor/tracemonkey/config/revdepth-nt.pl +48 -0
- data/vendor/tracemonkey/config/revdepth.pl +51 -0
- data/vendor/tracemonkey/config/rules.mk +2310 -0
- data/vendor/tracemonkey/config/static-checking-config.mk +21 -0
- data/vendor/tracemonkey/config/static-checking.js +92 -0
- data/vendor/tracemonkey/config/string-format.js +61 -0
- data/vendor/tracemonkey/config/system-headers +1035 -0
- data/vendor/tracemonkey/config/version.mk +85 -0
- data/vendor/tracemonkey/config/version_win.pl +442 -0
- data/vendor/tracemonkey/configure +14183 -0
- data/vendor/tracemonkey/configure.in +5363 -0
- data/vendor/tracemonkey/correct.sh +23 -0
- data/vendor/tracemonkey/correct/check-3d-morph.js +55 -0
- data/vendor/tracemonkey/correct/check-3d-raytrace.js +445 -0
- data/vendor/tracemonkey/correct/check-access-binary-trees.js +52 -0
- data/vendor/tracemonkey/correct/check-access-fannkuch.js +66 -0
- data/vendor/tracemonkey/correct/check-access-nbody.js +171 -0
- data/vendor/tracemonkey/correct/check-access-nsieve.js +40 -0
- data/vendor/tracemonkey/correct/check-bitops-3bit-bits-in-byte.js +35 -0
- data/vendor/tracemonkey/correct/check-bitops-bits-in-byte.js +24 -0
- data/vendor/tracemonkey/correct/check-bitops-bitwise-and.js +29 -0
- data/vendor/tracemonkey/correct/check-bitops-nsieve-bits.js +40 -0
- data/vendor/tracemonkey/correct/check-controlflow-recursive.js +27 -0
- data/vendor/tracemonkey/correct/check-date-format-tofte.js +302 -0
- data/vendor/tracemonkey/correct/check-date-format-xparb.js +421 -0
- data/vendor/tracemonkey/correct/check-mont.js +119 -0
- data/vendor/tracemonkey/dtoa.c +3335 -0
- data/vendor/tracemonkey/editline/Makefile.in +55 -0
- data/vendor/tracemonkey/editline/Makefile.ref +143 -0
- data/vendor/tracemonkey/editline/README +83 -0
- data/vendor/tracemonkey/editline/editline.3 +175 -0
- data/vendor/tracemonkey/editline/editline.c +1371 -0
- data/vendor/tracemonkey/editline/editline.h +135 -0
- data/vendor/tracemonkey/editline/sysunix.c +182 -0
- data/vendor/tracemonkey/editline/unix.h +82 -0
- data/vendor/tracemonkey/if.js +13 -0
- data/vendor/tracemonkey/imacro_asm.js.in +396 -0
- data/vendor/tracemonkey/imacros.c.out +1034 -0
- data/vendor/tracemonkey/imacros.jsasm +770 -0
- data/vendor/tracemonkey/javascript-trace.d +73 -0
- data/vendor/tracemonkey/jitstats.tbl +55 -0
- data/vendor/tracemonkey/js-config.h.in +82 -0
- data/vendor/tracemonkey/js-config.in +111 -0
- data/vendor/tracemonkey/js.mdp +0 -0
- data/vendor/tracemonkey/js.msg +312 -0
- data/vendor/tracemonkey/js3240.rc +79 -0
- data/vendor/tracemonkey/jsOS240.def +654 -0
- data/vendor/tracemonkey/jsapi.cpp +6005 -0
- data/vendor/tracemonkey/jsapi.h +2727 -0
- data/vendor/tracemonkey/jsarena.cpp +450 -0
- data/vendor/tracemonkey/jsarena.h +318 -0
- data/vendor/tracemonkey/jsarray.cpp +3664 -0
- data/vendor/tracemonkey/jsarray.h +238 -0
- data/vendor/tracemonkey/jsatom.cpp +1244 -0
- data/vendor/tracemonkey/jsatom.h +493 -0
- data/vendor/tracemonkey/jsbit.h +249 -0
- data/vendor/tracemonkey/jsbool.cpp +184 -0
- data/vendor/tracemonkey/jsbool.h +88 -0
- data/vendor/tracemonkey/jsbuiltins.cpp +415 -0
- data/vendor/tracemonkey/jsbuiltins.h +456 -0
- data/vendor/tracemonkey/jsclist.h +139 -0
- data/vendor/tracemonkey/jscntxt.cpp +1816 -0
- data/vendor/tracemonkey/jscntxt.h +1541 -0
- data/vendor/tracemonkey/jscompat.h +57 -0
- data/vendor/tracemonkey/jsconfig.mk +181 -0
- data/vendor/tracemonkey/jscpucfg.cpp +194 -0
- data/vendor/tracemonkey/jscpucfg.h +91 -0
- data/vendor/tracemonkey/jsdate.cpp +2465 -0
- data/vendor/tracemonkey/jsdate.h +129 -0
- data/vendor/tracemonkey/jsdbgapi.cpp +2017 -0
- data/vendor/tracemonkey/jsdbgapi.h +500 -0
- data/vendor/tracemonkey/jsdhash.cpp +876 -0
- data/vendor/tracemonkey/jsdhash.h +588 -0
- data/vendor/tracemonkey/jsdtoa.cpp +572 -0
- data/vendor/tracemonkey/jsdtoa.h +131 -0
- data/vendor/tracemonkey/jsdtracef.c +318 -0
- data/vendor/tracemonkey/jsdtracef.h +81 -0
- data/vendor/tracemonkey/jsemit.cpp +7292 -0
- data/vendor/tracemonkey/jsemit.h +802 -0
- data/vendor/tracemonkey/jsexn.cpp +1337 -0
- data/vendor/tracemonkey/jsexn.h +96 -0
- data/vendor/tracemonkey/jsfile.cpp +2747 -0
- data/vendor/tracemonkey/jsfile.h +56 -0
- data/vendor/tracemonkey/jsfile.msg +90 -0
- data/vendor/tracemonkey/jsfun.cpp +3089 -0
- data/vendor/tracemonkey/jsfun.h +366 -0
- data/vendor/tracemonkey/jsgc.cpp +3816 -0
- data/vendor/tracemonkey/jsgc.h +429 -0
- data/vendor/tracemonkey/jshash.cpp +477 -0
- data/vendor/tracemonkey/jshash.h +151 -0
- data/vendor/tracemonkey/jsify.pl +483 -0
- data/vendor/tracemonkey/jsinterp.cpp +7441 -0
- data/vendor/tracemonkey/jsinterp.h +666 -0
- data/vendor/tracemonkey/jsinvoke.cpp +42 -0
- data/vendor/tracemonkey/jsiter.cpp +1040 -0
- data/vendor/tracemonkey/jsiter.h +140 -0
- data/vendor/tracemonkey/jskeyword.tbl +124 -0
- data/vendor/tracemonkey/jskwgen.cpp +460 -0
- data/vendor/tracemonkey/jslibmath.h +69 -0
- data/vendor/tracemonkey/jslock.cpp +1512 -0
- data/vendor/tracemonkey/jslock.h +325 -0
- data/vendor/tracemonkey/jslocko.asm +60 -0
- data/vendor/tracemonkey/jslog2.cpp +111 -0
- data/vendor/tracemonkey/jslong.h +167 -0
- data/vendor/tracemonkey/jsmath.cpp +806 -0
- data/vendor/tracemonkey/jsmath.h +63 -0
- data/vendor/tracemonkey/jsnum.cpp +1374 -0
- data/vendor/tracemonkey/jsnum.h +280 -0
- data/vendor/tracemonkey/jsobj.cpp +6165 -0
- data/vendor/tracemonkey/jsobj.h +870 -0
- data/vendor/tracemonkey/json.cpp +1338 -0
- data/vendor/tracemonkey/json.h +108 -0
- data/vendor/tracemonkey/jsopcode.cpp +5484 -0
- data/vendor/tracemonkey/jsopcode.h +434 -0
- data/vendor/tracemonkey/jsopcode.tbl +591 -0
- data/vendor/tracemonkey/jsoplengen.cpp +121 -0
- data/vendor/tracemonkey/jsotypes.h +202 -0
- data/vendor/tracemonkey/jsparse.cpp +9257 -0
- data/vendor/tracemonkey/jsparse.h +900 -0
- data/vendor/tracemonkey/jsprf.cpp +1262 -0
- data/vendor/tracemonkey/jsprf.h +150 -0
- data/vendor/tracemonkey/jsproto.tbl +117 -0
- data/vendor/tracemonkey/jsprvtd.h +366 -0
- data/vendor/tracemonkey/jspubtd.h +585 -0
- data/vendor/tracemonkey/jsregexp.cpp +5051 -0
- data/vendor/tracemonkey/jsregexp.h +199 -0
- data/vendor/tracemonkey/jsreops.tbl +145 -0
- data/vendor/tracemonkey/jsscan.cpp +2040 -0
- data/vendor/tracemonkey/jsscan.h +467 -0
- data/vendor/tracemonkey/jsscope.cpp +1966 -0
- data/vendor/tracemonkey/jsscope.h +487 -0
- data/vendor/tracemonkey/jsscript.cpp +1932 -0
- data/vendor/tracemonkey/jsscript.h +345 -0
- data/vendor/tracemonkey/jsshell.msg +54 -0
- data/vendor/tracemonkey/jsstack.js +167 -0
- data/vendor/tracemonkey/jsstaticcheck.h +69 -0
- data/vendor/tracemonkey/jsstddef.h +87 -0
- data/vendor/tracemonkey/jsstdint.h +96 -0
- data/vendor/tracemonkey/jsstr.cpp +5277 -0
- data/vendor/tracemonkey/jsstr.h +702 -0
- data/vendor/tracemonkey/jstracer.cpp +10991 -0
- data/vendor/tracemonkey/jstracer.h +794 -0
- data/vendor/tracemonkey/jstypes.h +481 -0
- data/vendor/tracemonkey/jsutil.cpp +361 -0
- data/vendor/tracemonkey/jsutil.h +178 -0
- data/vendor/tracemonkey/jsversion.h +243 -0
- data/vendor/tracemonkey/jswince.asm +44 -0
- data/vendor/tracemonkey/jsxdrapi.cpp +800 -0
- data/vendor/tracemonkey/jsxdrapi.h +220 -0
- data/vendor/tracemonkey/jsxml.cpp +8327 -0
- data/vendor/tracemonkey/jsxml.h +305 -0
- data/vendor/tracemonkey/liveconnect/LiveConnect.dsp +157 -0
- data/vendor/tracemonkey/liveconnect/LiveConnectShell.dsp +120 -0
- data/vendor/tracemonkey/liveconnect/LiveConnectShell.dsw +44 -0
- data/vendor/tracemonkey/liveconnect/Makefile.in +105 -0
- data/vendor/tracemonkey/liveconnect/Makefile.ref +169 -0
- data/vendor/tracemonkey/liveconnect/README.html +712 -0
- data/vendor/tracemonkey/liveconnect/_jni/netscape_javascript_JSException.h +14 -0
- data/vendor/tracemonkey/liveconnect/_jni/netscape_javascript_JSObject.h +155 -0
- data/vendor/tracemonkey/liveconnect/classes/Makefile.in +89 -0
- data/vendor/tracemonkey/liveconnect/classes/Makefile.ref +57 -0
- data/vendor/tracemonkey/liveconnect/classes/netscape/Makefile.ref +47 -0
- data/vendor/tracemonkey/liveconnect/classes/netscape/javascript/JSException.java +140 -0
- data/vendor/tracemonkey/liveconnect/classes/netscape/javascript/JSObject.java +183 -0
- data/vendor/tracemonkey/liveconnect/classes/netscape/javascript/JSProxy.java +58 -0
- data/vendor/tracemonkey/liveconnect/classes/netscape/javascript/JSRunnable.java +70 -0
- data/vendor/tracemonkey/liveconnect/classes/netscape/javascript/JSUtil.java +59 -0
- data/vendor/tracemonkey/liveconnect/classes/netscape/javascript/Makefile.ref +53 -0
- data/vendor/tracemonkey/liveconnect/config/AIX4.1.mk +45 -0
- data/vendor/tracemonkey/liveconnect/config/AIX4.2.mk +45 -0
- data/vendor/tracemonkey/liveconnect/config/AIX4.3.mk +50 -0
- data/vendor/tracemonkey/liveconnect/config/HP-UXB.10.10.mk +43 -0
- data/vendor/tracemonkey/liveconnect/config/HP-UXB.10.20.mk +43 -0
- data/vendor/tracemonkey/liveconnect/config/HP-UXB.11.00.mk +43 -0
- data/vendor/tracemonkey/liveconnect/config/IRIX6.2.mk +43 -0
- data/vendor/tracemonkey/liveconnect/config/IRIX6.3.mk +43 -0
- data/vendor/tracemonkey/liveconnect/config/IRIX6.5.mk +43 -0
- data/vendor/tracemonkey/liveconnect/config/Linux_All.mk +73 -0
- data/vendor/tracemonkey/liveconnect/config/OSF1V4.0.mk +65 -0
- data/vendor/tracemonkey/liveconnect/config/OSF1V5.0.mk +62 -0
- data/vendor/tracemonkey/liveconnect/config/SunOS5.5.1.mk +55 -0
- data/vendor/tracemonkey/liveconnect/config/SunOS5.6.mk +39 -0
- data/vendor/tracemonkey/liveconnect/config/SunOS5.7.mk +39 -0
- data/vendor/tracemonkey/liveconnect/config/SunOS5.8.mk +39 -0
- data/vendor/tracemonkey/liveconnect/config/WINNT4.0.mk +53 -0
- data/vendor/tracemonkey/liveconnect/jsj.c +886 -0
- data/vendor/tracemonkey/liveconnect/jsj.msg +98 -0
- data/vendor/tracemonkey/liveconnect/jsj_JSObject.c +1377 -0
- data/vendor/tracemonkey/liveconnect/jsj_JavaArray.c +474 -0
- data/vendor/tracemonkey/liveconnect/jsj_JavaClass.c +737 -0
- data/vendor/tracemonkey/liveconnect/jsj_JavaMember.c +191 -0
- data/vendor/tracemonkey/liveconnect/jsj_JavaObject.c +1079 -0
- data/vendor/tracemonkey/liveconnect/jsj_JavaPackage.c +569 -0
- data/vendor/tracemonkey/liveconnect/jsj_array.c +207 -0
- data/vendor/tracemonkey/liveconnect/jsj_class.c +770 -0
- data/vendor/tracemonkey/liveconnect/jsj_convert.c +902 -0
- data/vendor/tracemonkey/liveconnect/jsj_field.c +421 -0
- data/vendor/tracemonkey/liveconnect/jsj_hash.c +488 -0
- data/vendor/tracemonkey/liveconnect/jsj_hash.h +161 -0
- data/vendor/tracemonkey/liveconnect/jsj_method.c +1825 -0
- data/vendor/tracemonkey/liveconnect/jsj_nodl.c +1 -0
- data/vendor/tracemonkey/liveconnect/jsj_private.h +677 -0
- data/vendor/tracemonkey/liveconnect/jsj_simpleapi.c +219 -0
- data/vendor/tracemonkey/liveconnect/jsj_utils.c +513 -0
- data/vendor/tracemonkey/liveconnect/jsjava.h +316 -0
- data/vendor/tracemonkey/liveconnect/netscape_javascript_JSObject.h +155 -0
- data/vendor/tracemonkey/liveconnect/nsCLiveconnect.cpp +785 -0
- data/vendor/tracemonkey/liveconnect/nsCLiveconnect.h +197 -0
- data/vendor/tracemonkey/liveconnect/nsCLiveconnectFactory.cpp +118 -0
- data/vendor/tracemonkey/liveconnect/nsCLiveconnectFactory.h +76 -0
- data/vendor/tracemonkey/liveconnect/nsILiveconnect.h +197 -0
- data/vendor/tracemonkey/liveconnect/nsISecureLiveconnect.h +94 -0
- data/vendor/tracemonkey/liveconnect/nsISecurityContext.h +136 -0
- data/vendor/tracemonkey/lock_SunOS.s +119 -0
- data/vendor/tracemonkey/mandelbrot-results.js +3 -0
- data/vendor/tracemonkey/math-partial-sums.js +32 -0
- data/vendor/tracemonkey/math-trace-tests.js +507 -0
- data/vendor/tracemonkey/md5.js +289 -0
- data/vendor/tracemonkey/nanojit/Assembler.cpp +1984 -0
- data/vendor/tracemonkey/nanojit/Assembler.h +375 -0
- data/vendor/tracemonkey/nanojit/Fragmento.cpp +651 -0
- data/vendor/tracemonkey/nanojit/Fragmento.h +237 -0
- data/vendor/tracemonkey/nanojit/LIR.cpp +2314 -0
- data/vendor/tracemonkey/nanojit/LIR.h +879 -0
- data/vendor/tracemonkey/nanojit/LIRopcode.tbl +252 -0
- data/vendor/tracemonkey/nanojit/Native.h +127 -0
- data/vendor/tracemonkey/nanojit/NativeARM.cpp +1742 -0
- data/vendor/tracemonkey/nanojit/NativeARM.h +844 -0
- data/vendor/tracemonkey/nanojit/NativeSparc.cpp +1130 -0
- data/vendor/tracemonkey/nanojit/NativeSparc.h +948 -0
- data/vendor/tracemonkey/nanojit/NativeThumb.cpp +1322 -0
- data/vendor/tracemonkey/nanojit/NativeThumb.h +525 -0
- data/vendor/tracemonkey/nanojit/Nativei386.cpp +1748 -0
- data/vendor/tracemonkey/nanojit/Nativei386.h +857 -0
- data/vendor/tracemonkey/nanojit/RegAlloc.cpp +183 -0
- data/vendor/tracemonkey/nanojit/RegAlloc.h +95 -0
- data/vendor/tracemonkey/nanojit/TraceTreeDrawer.cpp +306 -0
- data/vendor/tracemonkey/nanojit/TraceTreeDrawer.h +88 -0
- data/vendor/tracemonkey/nanojit/avmplus.cpp +56 -0
- data/vendor/tracemonkey/nanojit/avmplus.h +1016 -0
- data/vendor/tracemonkey/nanojit/nanojit.h +253 -0
- data/vendor/tracemonkey/perfect.js +39 -0
- data/vendor/tracemonkey/plify_jsdhash.sed +35 -0
- data/vendor/tracemonkey/prmjtime.cpp +869 -0
- data/vendor/tracemonkey/prmjtime.h +103 -0
- data/vendor/tracemonkey/ref-config/AIX4.1.mk +65 -0
- data/vendor/tracemonkey/ref-config/AIX4.2.mk +64 -0
- data/vendor/tracemonkey/ref-config/AIX4.3.mk +65 -0
- data/vendor/tracemonkey/ref-config/Darwin.mk +85 -0
- data/vendor/tracemonkey/ref-config/Darwin1.3.mk +81 -0
- data/vendor/tracemonkey/ref-config/Darwin1.4.mk +41 -0
- data/vendor/tracemonkey/ref-config/Darwin5.2.mk +81 -0
- data/vendor/tracemonkey/ref-config/Darwin5.3.mk +81 -0
- data/vendor/tracemonkey/ref-config/Darwin64.mk +72 -0
- data/vendor/tracemonkey/ref-config/HP-UXB.10.10.mk +77 -0
- data/vendor/tracemonkey/ref-config/HP-UXB.10.20.mk +77 -0
- data/vendor/tracemonkey/ref-config/HP-UXB.11.00.mk +80 -0
- data/vendor/tracemonkey/ref-config/IRIX.mk +87 -0
- data/vendor/tracemonkey/ref-config/IRIX5.3.mk +44 -0
- data/vendor/tracemonkey/ref-config/IRIX6.1.mk +44 -0
- data/vendor/tracemonkey/ref-config/IRIX6.2.mk +44 -0
- data/vendor/tracemonkey/ref-config/IRIX6.3.mk +44 -0
- data/vendor/tracemonkey/ref-config/IRIX6.5.mk +44 -0
- data/vendor/tracemonkey/ref-config/Linux_All.mk +105 -0
- data/vendor/tracemonkey/ref-config/Mac_OS10.0.mk +82 -0
- data/vendor/tracemonkey/ref-config/OSF1V4.0.mk +72 -0
- data/vendor/tracemonkey/ref-config/OSF1V5.0.mk +69 -0
- data/vendor/tracemonkey/ref-config/SunOS4.1.4.mk +101 -0
- data/vendor/tracemonkey/ref-config/SunOS5.10.mk +50 -0
- data/vendor/tracemonkey/ref-config/SunOS5.3.mk +91 -0
- data/vendor/tracemonkey/ref-config/SunOS5.4.mk +92 -0
- data/vendor/tracemonkey/ref-config/SunOS5.5.1.mk +44 -0
- data/vendor/tracemonkey/ref-config/SunOS5.5.mk +87 -0
- data/vendor/tracemonkey/ref-config/SunOS5.6.mk +89 -0
- data/vendor/tracemonkey/ref-config/SunOS5.7.mk +44 -0
- data/vendor/tracemonkey/ref-config/SunOS5.8.mk +44 -0
- data/vendor/tracemonkey/ref-config/SunOS5.9.mk +44 -0
- data/vendor/tracemonkey/ref-config/WINNT4.0.mk +118 -0
- data/vendor/tracemonkey/ref-config/WINNT5.0.mk +118 -0
- data/vendor/tracemonkey/ref-config/WINNT5.1.mk +118 -0
- data/vendor/tracemonkey/ref-config/WINNT5.2.mk +118 -0
- data/vendor/tracemonkey/ref-config/WINNT6.0.mk +118 -0
- data/vendor/tracemonkey/ref-config/dgux.mk +64 -0
- data/vendor/tracemonkey/resource.h +15 -0
- data/vendor/tracemonkey/rules.mk +206 -0
- data/vendor/tracemonkey/shell/Makefile.in +72 -0
- data/vendor/tracemonkey/shell/js.cpp +4719 -0
- data/vendor/tracemonkey/t/3d-cube.js +337 -0
- data/vendor/tracemonkey/t/3d-morph.js +54 -0
- data/vendor/tracemonkey/t/3d-raytrace.js +441 -0
- data/vendor/tracemonkey/t/access-binary-trees.js +50 -0
- data/vendor/tracemonkey/t/access-fannkuch.js +66 -0
- data/vendor/tracemonkey/t/access-nbody.js +169 -0
- data/vendor/tracemonkey/t/access-nsieve.js +38 -0
- data/vendor/tracemonkey/t/bitops-3bit-bits-in-byte.js +32 -0
- data/vendor/tracemonkey/t/bitops-bits-in-byte.js +21 -0
- data/vendor/tracemonkey/t/bitops-bitwise-and.js +28 -0
- data/vendor/tracemonkey/t/bitops-nsieve-bits.js +32 -0
- data/vendor/tracemonkey/t/controlflow-recursive.js +25 -0
- data/vendor/tracemonkey/t/crypto-aes.js +422 -0
- data/vendor/tracemonkey/t/crypto-md5.js +286 -0
- data/vendor/tracemonkey/t/crypto-sha1.js +224 -0
- data/vendor/tracemonkey/t/date-format-tofte.js +299 -0
- data/vendor/tracemonkey/t/date-format-xparb.js +417 -0
- data/vendor/tracemonkey/t/math-cordic.js +95 -0
- data/vendor/tracemonkey/t/math-partial-sums.js +33 -0
- data/vendor/tracemonkey/t/math-spectral-norm.js +51 -0
- data/vendor/tracemonkey/t/regexp-dna.js +1712 -0
- data/vendor/tracemonkey/t/string-base64.js +135 -0
- data/vendor/tracemonkey/t/string-fasta.js +85 -0
- data/vendor/tracemonkey/t/string-tagcloud.js +265 -0
- data/vendor/tracemonkey/t/string-unpack-code.js +68 -0
- data/vendor/tracemonkey/t/string-validate-input.js +89 -0
- data/vendor/tracemonkey/time.sh +13 -0
- data/vendor/tracemonkey/trace-test.js +5564 -0
- data/vendor/tracemonkey/v8/base.js +187 -0
- data/vendor/tracemonkey/v8/crypto.js +1689 -0
- data/vendor/tracemonkey/v8/deltablue.js +880 -0
- data/vendor/tracemonkey/v8/earley-boyer.js +4682 -0
- data/vendor/tracemonkey/v8/raytrace.js +3418 -0
- data/vendor/tracemonkey/v8/richards.js +539 -0
- data/vendor/tracemonkey/v8/run-crypto.js +44 -0
- data/vendor/tracemonkey/v8/run-deltablue.js +44 -0
- data/vendor/tracemonkey/v8/run-earley-boyer.js +44 -0
- data/vendor/tracemonkey/v8/run-raytrace.js +44 -0
- data/vendor/tracemonkey/v8/run-richards.js +44 -0
- data/vendor/tracemonkey/v8/run.js +49 -0
- data/vendor/tracemonkey/vprof/readme.txt +93 -0
- data/vendor/tracemonkey/vprof/vprof.cpp +360 -0
- data/vendor/tracemonkey/vprof/vprof.h +245 -0
- data/vendor/tracemonkey/xpconnect/Makefile.in +67 -0
- data/vendor/tracemonkey/xpconnect/crashtests/117307-1.html +20 -0
- data/vendor/tracemonkey/xpconnect/crashtests/193710.html +11 -0
- data/vendor/tracemonkey/xpconnect/crashtests/290162-1.html +5 -0
- data/vendor/tracemonkey/xpconnect/crashtests/326615-1.html +16 -0
- data/vendor/tracemonkey/xpconnect/crashtests/328553-1.html +13 -0
- data/vendor/tracemonkey/xpconnect/crashtests/346258-1.html +12 -0
- data/vendor/tracemonkey/xpconnect/crashtests/346512-1-frame1.xhtml +16 -0
- data/vendor/tracemonkey/xpconnect/crashtests/346512-1-frame2.xhtml +15 -0
- data/vendor/tracemonkey/xpconnect/crashtests/346512-1.xhtml +30 -0
- data/vendor/tracemonkey/xpconnect/crashtests/382133-1.html +3 -0
- data/vendor/tracemonkey/xpconnect/crashtests/386680-1.html +22 -0
- data/vendor/tracemonkey/xpconnect/crashtests/394810-1.html +4 -0
- data/vendor/tracemonkey/xpconnect/crashtests/400349-1.html +20 -0
- data/vendor/tracemonkey/xpconnect/crashtests/403356-1.html +13 -0
- data/vendor/tracemonkey/xpconnect/crashtests/418139-1.svg +22 -0
- data/vendor/tracemonkey/xpconnect/crashtests/420513-1.html +11 -0
- data/vendor/tracemonkey/xpconnect/crashtests/453935-1.html +37 -0
- data/vendor/tracemonkey/xpconnect/crashtests/462926.html +12 -0
- data/vendor/tracemonkey/xpconnect/crashtests/468552-1.html +18 -0
- data/vendor/tracemonkey/xpconnect/crashtests/471366-1.html +12 -0
- data/vendor/tracemonkey/xpconnect/crashtests/475185-1.html +13 -0
- data/vendor/tracemonkey/xpconnect/crashtests/475291-1.html +14 -0
- data/vendor/tracemonkey/xpconnect/crashtests/503286-1.html +23 -0
- data/vendor/tracemonkey/xpconnect/crashtests/crashtests.list +21 -0
- data/vendor/tracemonkey/xpconnect/idl/Makefile.in +78 -0
- data/vendor/tracemonkey/xpconnect/idl/XPCIDispatch.idl +51 -0
- data/vendor/tracemonkey/xpconnect/idl/mozIJSSubScriptLoader.idl +64 -0
- data/vendor/tracemonkey/xpconnect/idl/nsIActiveXSecurityPolicy.idl +67 -0
- data/vendor/tracemonkey/xpconnect/idl/nsIDispatchSupport.idl +119 -0
- data/vendor/tracemonkey/xpconnect/idl/nsIJSContextStack.idl +85 -0
- data/vendor/tracemonkey/xpconnect/idl/nsIJSRuntimeService.idl +51 -0
- data/vendor/tracemonkey/xpconnect/idl/nsIScriptError.idl +102 -0
- data/vendor/tracemonkey/xpconnect/idl/nsIScriptableInterfaces.idl +67 -0
- data/vendor/tracemonkey/xpconnect/idl/nsIXPCScriptNotify.idl +66 -0
- data/vendor/tracemonkey/xpconnect/idl/nsIXPCScriptable.idl +183 -0
- data/vendor/tracemonkey/xpconnect/idl/nsIXPCSecurityManager.idl +114 -0
- data/vendor/tracemonkey/xpconnect/idl/nsIXPConnect.idl +819 -0
- data/vendor/tracemonkey/xpconnect/idl/xpcIJSModuleLoader.idl +95 -0
- data/vendor/tracemonkey/xpconnect/idl/xpcIJSWeakReference.idl +49 -0
- data/vendor/tracemonkey/xpconnect/idl/xpccomponents.idl +254 -0
- data/vendor/tracemonkey/xpconnect/idl/xpcexception.idl +66 -0
- data/vendor/tracemonkey/xpconnect/idl/xpcjsid.idl +83 -0
- data/vendor/tracemonkey/xpconnect/loader/ISO8601DateUtils.jsm +176 -0
- data/vendor/tracemonkey/xpconnect/loader/Makefile.in +63 -0
- data/vendor/tracemonkey/xpconnect/loader/XPCOMUtils.jsm +267 -0
- data/vendor/tracemonkey/xpconnect/loader/mozJSComponentLoader.cpp +1717 -0
- data/vendor/tracemonkey/xpconnect/loader/mozJSComponentLoader.h +172 -0
- data/vendor/tracemonkey/xpconnect/loader/mozJSLoaderConstructors.h +101 -0
- data/vendor/tracemonkey/xpconnect/loader/mozJSSubScriptLoader.cpp +360 -0
- data/vendor/tracemonkey/xpconnect/loader/mozJSSubScriptLoader.h +66 -0
- data/vendor/tracemonkey/xpconnect/public/Makefile.in +54 -0
- data/vendor/tracemonkey/xpconnect/public/nsAXPCNativeCallContext.h +89 -0
- data/vendor/tracemonkey/xpconnect/public/nsAutoJSValHolder.h +168 -0
- data/vendor/tracemonkey/xpconnect/public/xpc_map_end.h +327 -0
- data/vendor/tracemonkey/xpconnect/sample/Makefile.in +71 -0
- data/vendor/tracemonkey/xpconnect/sample/README +39 -0
- data/vendor/tracemonkey/xpconnect/sample/xpcsample1.cpp +337 -0
- data/vendor/tracemonkey/xpconnect/sample/xpcsample1.idl +82 -0
- data/vendor/tracemonkey/xpconnect/sample/xpcsample1.js +21 -0
- data/vendor/tracemonkey/xpconnect/shell/Makefile.in +106 -0
- data/vendor/tracemonkey/xpconnect/shell/jsshell.msg +50 -0
- data/vendor/tracemonkey/xpconnect/shell/xpcshell.cpp +1817 -0
- data/vendor/tracemonkey/xpconnect/shell/xpcshellMacUtils.h +43 -0
- data/vendor/tracemonkey/xpconnect/shell/xpcshellMacUtils.mm +54 -0
- data/vendor/tracemonkey/xpconnect/src/Makefile.in +228 -0
- data/vendor/tracemonkey/xpconnect/src/README +3 -0
- data/vendor/tracemonkey/xpconnect/src/XPCCrossOriginWrapper.cpp +1186 -0
- data/vendor/tracemonkey/xpconnect/src/XPCDispConvert.cpp +593 -0
- data/vendor/tracemonkey/xpconnect/src/XPCDispInlines.h +667 -0
- data/vendor/tracemonkey/xpconnect/src/XPCDispInterface.cpp +383 -0
- data/vendor/tracemonkey/xpconnect/src/XPCDispObject.cpp +516 -0
- data/vendor/tracemonkey/xpconnect/src/XPCDispParamPropJSClass.cpp +223 -0
- data/vendor/tracemonkey/xpconnect/src/XPCDispParams.cpp +103 -0
- data/vendor/tracemonkey/xpconnect/src/XPCDispPrivate.h +1401 -0
- data/vendor/tracemonkey/xpconnect/src/XPCDispTearOff.cpp +547 -0
- data/vendor/tracemonkey/xpconnect/src/XPCDispTypeInfo.cpp +471 -0
- data/vendor/tracemonkey/xpconnect/src/XPCIDispatchClassInfo.cpp +139 -0
- data/vendor/tracemonkey/xpconnect/src/XPCIDispatchExtension.cpp +362 -0
- data/vendor/tracemonkey/xpconnect/src/XPCNativeWrapper.cpp +1350 -0
- data/vendor/tracemonkey/xpconnect/src/XPCNativeWrapper.h +88 -0
- data/vendor/tracemonkey/xpconnect/src/XPCSafeJSObjectWrapper.cpp +1148 -0
- data/vendor/tracemonkey/xpconnect/src/XPCSystemOnlyWrapper.cpp +718 -0
- data/vendor/tracemonkey/xpconnect/src/XPCWrapper.cpp +850 -0
- data/vendor/tracemonkey/xpconnect/src/XPCWrapper.h +394 -0
- data/vendor/tracemonkey/xpconnect/src/dom_quickstubs.qsconf +568 -0
- data/vendor/tracemonkey/xpconnect/src/nsDispatchSupport.cpp +348 -0
- data/vendor/tracemonkey/xpconnect/src/nsScriptError.cpp +201 -0
- data/vendor/tracemonkey/xpconnect/src/nsXPConnect.cpp +2609 -0
- data/vendor/tracemonkey/xpconnect/src/qsgen.py +1487 -0
- data/vendor/tracemonkey/xpconnect/src/xpc.msg +217 -0
- data/vendor/tracemonkey/xpconnect/src/xpcJSWeakReference.cpp +148 -0
- data/vendor/tracemonkey/xpconnect/src/xpcJSWeakReference.h +56 -0
- data/vendor/tracemonkey/xpconnect/src/xpccallcontext.cpp +579 -0
- data/vendor/tracemonkey/xpconnect/src/xpccomponents.cpp +4144 -0
- data/vendor/tracemonkey/xpconnect/src/xpccontext.cpp +115 -0
- data/vendor/tracemonkey/xpconnect/src/xpcconvert.cpp +2298 -0
- data/vendor/tracemonkey/xpconnect/src/xpcdebug.cpp +481 -0
- data/vendor/tracemonkey/xpconnect/src/xpcexception.cpp +502 -0
- data/vendor/tracemonkey/xpconnect/src/xpcforwards.h +114 -0
- data/vendor/tracemonkey/xpconnect/src/xpcinlines.h +772 -0
- data/vendor/tracemonkey/xpconnect/src/xpcjsid.cpp +1025 -0
- data/vendor/tracemonkey/xpconnect/src/xpcjsruntime.cpp +1342 -0
- data/vendor/tracemonkey/xpconnect/src/xpclog.cpp +128 -0
- data/vendor/tracemonkey/xpconnect/src/xpclog.h +101 -0
- data/vendor/tracemonkey/xpconnect/src/xpcmaps.cpp +761 -0
- data/vendor/tracemonkey/xpconnect/src/xpcmaps.h +713 -0
- data/vendor/tracemonkey/xpconnect/src/xpcmodule.cpp +136 -0
- data/vendor/tracemonkey/xpconnect/src/xpcprivate.h +4138 -0
- data/vendor/tracemonkey/xpconnect/src/xpcquickstubs.cpp +1128 -0
- data/vendor/tracemonkey/xpconnect/src/xpcquickstubs.h +480 -0
- data/vendor/tracemonkey/xpconnect/src/xpcruntimesvc.cpp +179 -0
- data/vendor/tracemonkey/xpconnect/src/xpcstack.cpp +342 -0
- data/vendor/tracemonkey/xpconnect/src/xpcstring.cpp +139 -0
- data/vendor/tracemonkey/xpconnect/src/xpcthreadcontext.cpp +599 -0
- data/vendor/tracemonkey/xpconnect/src/xpcthrower.cpp +399 -0
- data/vendor/tracemonkey/xpconnect/src/xpcvariant.cpp +850 -0
- data/vendor/tracemonkey/xpconnect/src/xpcwrappedjs.cpp +670 -0
- data/vendor/tracemonkey/xpconnect/src/xpcwrappedjsclass.cpp +2015 -0
- data/vendor/tracemonkey/xpconnect/src/xpcwrappednative.cpp +3482 -0
- data/vendor/tracemonkey/xpconnect/src/xpcwrappednativeinfo.cpp +945 -0
- data/vendor/tracemonkey/xpconnect/src/xpcwrappednativejsops.cpp +2003 -0
- data/vendor/tracemonkey/xpconnect/src/xpcwrappednativeproto.cpp +302 -0
- data/vendor/tracemonkey/xpconnect/src/xpcwrappednativescope.cpp +991 -0
- data/vendor/tracemonkey/xpconnect/tests/Makefile.in +75 -0
- data/vendor/tracemonkey/xpconnect/tests/TestXPC.cpp +785 -0
- data/vendor/tracemonkey/xpconnect/tests/chrome/Makefile.in +51 -0
- data/vendor/tracemonkey/xpconnect/tests/chrome/test_bug500931.xul +43 -0
- data/vendor/tracemonkey/xpconnect/tests/components/Makefile.in +85 -0
- data/vendor/tracemonkey/xpconnect/tests/components/xpctest_array.cpp +388 -0
- data/vendor/tracemonkey/xpconnect/tests/components/xpctest_attributes.cpp +305 -0
- data/vendor/tracemonkey/xpconnect/tests/components/xpctest_calljs.cpp +135 -0
- data/vendor/tracemonkey/xpconnect/tests/components/xpctest_child.cpp +225 -0
- data/vendor/tracemonkey/xpconnect/tests/components/xpctest_const.cpp +76 -0
- data/vendor/tracemonkey/xpconnect/tests/components/xpctest_domstring.cpp +118 -0
- data/vendor/tracemonkey/xpconnect/tests/components/xpctest_echo.cpp +616 -0
- data/vendor/tracemonkey/xpconnect/tests/components/xpctest_in.cpp +204 -0
- data/vendor/tracemonkey/xpconnect/tests/components/xpctest_inout.cpp +171 -0
- data/vendor/tracemonkey/xpconnect/tests/components/xpctest_module.cpp +77 -0
- data/vendor/tracemonkey/xpconnect/tests/components/xpctest_multiple.cpp +554 -0
- data/vendor/tracemonkey/xpconnect/tests/components/xpctest_noisy.cpp +154 -0
- data/vendor/tracemonkey/xpconnect/tests/components/xpctest_out.cpp +335 -0
- data/vendor/tracemonkey/xpconnect/tests/components/xpctest_overloaded.cpp +250 -0
- data/vendor/tracemonkey/xpconnect/tests/components/xpctest_private.h +192 -0
- data/vendor/tracemonkey/xpconnect/tests/components/xpctest_string.cpp +185 -0
- data/vendor/tracemonkey/xpconnect/tests/components/xpctest_variant.cpp +355 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/StdAfx.cpp +12 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/StdAfx.h +28 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/XPCDispUtilities.h +28 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/XPCIDispatchTest.cpp +86 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/XPCIDispatchTest.def +9 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/XPCIDispatchTest.dsp +318 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/XPCIDispatchTest.dsw +29 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/XPCIDispatchTest.idl +454 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/XPCIDispatchTest.rc +145 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispSimple.cpp +44 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispSimple.h +56 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispSimple.rgs +23 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestArrays.cpp +221 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestArrays.h +53 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestArrays.rgs +23 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestMethods.cpp +699 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestMethods.h +138 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestMethods.rgs +23 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestNoIDispatch.cpp +23 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestNoIDispatch.h +41 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestNoIDispatch.rgs +23 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestProperties.cpp +256 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestProperties.h +88 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestProperties.rgs +23 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestScriptOff.cpp +23 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestScriptOff.h +43 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestScriptOff.rgs +23 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestScriptOn.cpp +29 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestScriptOn.h +45 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestScriptOn.rgs +23 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestWrappedJS.cpp +177 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestWrappedJS.h +50 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestWrappedJS.rgs +23 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/resource.h +36 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/Tests/WrappedCOM/Arrays/XPCIDispatchArrayTests.js +54 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/Tests/WrappedCOM/Attributes/XPCIDispatchAttributeTests.js +150 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/Tests/WrappedCOM/General/XPCIDispatchInstantiations.js +122 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/Tests/WrappedCOM/General/XPCStress.js +58 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/Tests/WrappedCOM/Methods/XPCIDispatchMethodTests.js +376 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/Tests/WrappedCOM/shell.js +377 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/Tests/WrappedJS/General/XPCIDispatchTestWrappedJS.js +76 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/Tests/WrappedJS/shell.js +377 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/Tests/exectests.cmd +1 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/Tests/jsDriver.pl +1288 -0
- data/vendor/tracemonkey/xpconnect/tests/idl/Makefile.in +61 -0
- data/vendor/tracemonkey/xpconnect/tests/idl/xpctest.idl +312 -0
- data/vendor/tracemonkey/xpconnect/tests/idl/xpctest2.idl +51 -0
- data/vendor/tracemonkey/xpconnect/tests/idl/xpctest_attributes.idl +67 -0
- data/vendor/tracemonkey/xpconnect/tests/idl/xpctest_calljs.idl +59 -0
- data/vendor/tracemonkey/xpconnect/tests/idl/xpctest_const.idl +61 -0
- data/vendor/tracemonkey/xpconnect/tests/idl/xpctest_domstring.idl +59 -0
- data/vendor/tracemonkey/xpconnect/tests/idl/xpctest_in.idl +88 -0
- data/vendor/tracemonkey/xpconnect/tests/idl/xpctest_inout.idl +86 -0
- data/vendor/tracemonkey/xpconnect/tests/idl/xpctest_multiple.idl +77 -0
- data/vendor/tracemonkey/xpconnect/tests/idl/xpctest_out.idl +142 -0
- data/vendor/tracemonkey/xpconnect/tests/js/checkid.js +82 -0
- data/vendor/tracemonkey/xpconnect/tests/js/evaluate.js +311 -0
- data/vendor/tracemonkey/xpconnect/tests/js/exceptions-2.js +153 -0
- data/vendor/tracemonkey/xpconnect/tests/js/exceptions-3.js +194 -0
- data/vendor/tracemonkey/xpconnect/tests/js/exceptions-4.js +297 -0
- data/vendor/tracemonkey/xpconnect/tests/js/exceptions-5.js +343 -0
- data/vendor/tracemonkey/xpconnect/tests/js/exceptions.js +230 -0
- data/vendor/tracemonkey/xpconnect/tests/js/javascript.js +96 -0
- data/vendor/tracemonkey/xpconnect/tests/js/multiple-2.js +151 -0
- data/vendor/tracemonkey/xpconnect/tests/js/multiple-3.js +148 -0
- data/vendor/tracemonkey/xpconnect/tests/js/multiple-4.js +152 -0
- data/vendor/tracemonkey/xpconnect/tests/js/multiple.js +137 -0
- data/vendor/tracemonkey/xpconnect/tests/js/notscriptable.js +104 -0
- data/vendor/tracemonkey/xpconnect/tests/js/old/simpletest.js +36 -0
- data/vendor/tracemonkey/xpconnect/tests/js/old/speed.js +60 -0
- data/vendor/tracemonkey/xpconnect/tests/js/old/testxpc.js +464 -0
- data/vendor/tracemonkey/xpconnect/tests/js/old/threads.js +74 -0
- data/vendor/tracemonkey/xpconnect/tests/js/old/try.js +27 -0
- data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_array.js +308 -0
- data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_callcontext.js +68 -0
- data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_echo.js +636 -0
- data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_enum_and_sort.js +28 -0
- data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_enum_constants.js +15 -0
- data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_enum_create.js +200 -0
- data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_exceptions.js +167 -0
- data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_ids.js +135 -0
- data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_observer.js +36 -0
- data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_overloaded.js +14 -0
- data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_primitives.js +141 -0
- data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_propertybag.js +36 -0
- data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_variant.js +339 -0
- data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_variant_array.js +30 -0
- data/vendor/tracemonkey/xpconnect/tests/js/readonlyattributes.js +74 -0
- data/vendor/tracemonkey/xpconnect/tests/js/readwriteattributes.js +101 -0
- data/vendor/tracemonkey/xpconnect/tests/js/scriptable.js +120 -0
- data/vendor/tracemonkey/xpconnect/tests/js/testin.js +203 -0
- data/vendor/tracemonkey/xpconnect/tests/js/xpcfun.js +234 -0
- data/vendor/tracemonkey/xpconnect/tests/js/xpctest_primitives.js +200 -0
- data/vendor/tracemonkey/xpconnect/tests/mochitest/Makefile.in +66 -0
- data/vendor/tracemonkey/xpconnect/tests/mochitest/bug500931_helper.html +7 -0
- data/vendor/tracemonkey/xpconnect/tests/mochitest/inner.html +7 -0
- data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug361111.xul +29 -0
- data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug384632.html +32 -0
- data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug390488.html +65 -0
- data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug393269.html +46 -0
- data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug396851.html +43 -0
- data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug428021.html +41 -0
- data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug446584.html +49 -0
- data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug448587.html +31 -0
- data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug462428.html +42 -0
- data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug478438.html +66 -0
- data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug484107.html +100 -0
- data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug484459.html +36 -0
- data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug500691.html +28 -0
- data/vendor/tracemonkey/xpconnect/tests/mochitest/test_wrappers.html +116 -0
- data/vendor/tracemonkey/xpconnect/tests/unit/bogus_element_type.jsm +1 -0
- data/vendor/tracemonkey/xpconnect/tests/unit/bogus_exports_type.jsm +1 -0
- data/vendor/tracemonkey/xpconnect/tests/unit/bug451678_subscript.js +2 -0
- data/vendor/tracemonkey/xpconnect/tests/unit/component_import.js +144 -0
- data/vendor/tracemonkey/xpconnect/tests/unit/recursive_importA.jsm +44 -0
- data/vendor/tracemonkey/xpconnect/tests/unit/recursive_importB.jsm +45 -0
- data/vendor/tracemonkey/xpconnect/tests/unit/syntax_error.jsm +1 -0
- data/vendor/tracemonkey/xpconnect/tests/unit/test_bogus_files.js +88 -0
- data/vendor/tracemonkey/xpconnect/tests/unit/test_bug408412.js +51 -0
- data/vendor/tracemonkey/xpconnect/tests/unit/test_bug451678.js +52 -0
- data/vendor/tracemonkey/xpconnect/tests/unit/test_bug_442086.js +68 -0
- data/vendor/tracemonkey/xpconnect/tests/unit/test_import.js +127 -0
- data/vendor/tracemonkey/xpconnect/tests/unit/test_js_weak_references.js +63 -0
- data/vendor/tracemonkey/xpconnect/tests/unit/test_recursive_import.js +62 -0
- data/vendor/tracemonkey/xpconnect/tools/Makefile.in +49 -0
- data/vendor/tracemonkey/xpconnect/tools/idl/Makefile.in +53 -0
- data/vendor/tracemonkey/xpconnect/tools/idl/nsIXPCToolsCompiler.idl +60 -0
- data/vendor/tracemonkey/xpconnect/tools/idl/nsIXPCToolsProfiler.idl +57 -0
- data/vendor/tracemonkey/xpconnect/tools/js/CompileJSFiles.js +28 -0
- data/vendor/tracemonkey/xpconnect/tools/js/ListJSFiles.js +18 -0
- data/vendor/tracemonkey/xpconnect/tools/src/Makefile.in +76 -0
- data/vendor/tracemonkey/xpconnect/tools/src/nsXPCToolsCompiler.cpp +161 -0
- data/vendor/tracemonkey/xpconnect/tools/src/nsXPCToolsModule.cpp +65 -0
- data/vendor/tracemonkey/xpconnect/tools/src/nsXPCToolsProfiler.cpp +370 -0
- data/vendor/tracemonkey/xpconnect/tools/src/xpctools_private.h +236 -0
- metadata +782 -107
- data/test/johnson/nodes/export_test.rb +0 -9
- data/test/johnson/nodes/import_test.rb +0 -13
- data/test/johnson/version_test.rb +0 -13
|
@@ -0,0 +1,770 @@
|
|
|
1
|
+
# -*- indent-tabs-mode: nil; -*-
|
|
2
|
+
# vim: set sw=4 ts=8 et tw=78 ft=asm:
|
|
3
|
+
# ***** BEGIN LICENSE BLOCK *****
|
|
4
|
+
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
|
5
|
+
#
|
|
6
|
+
# The contents of this file are subject to the Mozilla Public License Version
|
|
7
|
+
# 1.1 (the "License"); you may not use this file except in compliance with
|
|
8
|
+
# the License. You may obtain a copy of the License at
|
|
9
|
+
# http://www.mozilla.org/MPL/
|
|
10
|
+
#
|
|
11
|
+
# Software distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
+
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
13
|
+
# for the specific language governing rights and limitations under the
|
|
14
|
+
# License.
|
|
15
|
+
#
|
|
16
|
+
# The Original Code is the TraceMonkey IMacro Assembler.
|
|
17
|
+
#
|
|
18
|
+
# The Initial Developer of the Original Code is
|
|
19
|
+
# Brendan Eich <brendan@mozilla.org>.
|
|
20
|
+
# Portions created by the Initial Developer are Copyright (C) 2008
|
|
21
|
+
# the Initial Developer. All Rights Reserved.
|
|
22
|
+
#
|
|
23
|
+
# Contributor(s):
|
|
24
|
+
#
|
|
25
|
+
# Alternatively, the contents of this file may be used under the terms of
|
|
26
|
+
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
|
27
|
+
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
28
|
+
# in which case the provisions of the GPL or the LGPL are applicable instead
|
|
29
|
+
# of those above. If you wish to allow use of your version of this file only
|
|
30
|
+
# under the terms of either the GPL or the LGPL, and not to allow others to
|
|
31
|
+
# use your version of this file under the terms of the MPL, indicate your
|
|
32
|
+
# decision by deleting the provisions above and replace them with the notice
|
|
33
|
+
# and other provisions required by the GPL or the LGPL. If you do not delete
|
|
34
|
+
# the provisions above, a recipient may use your version of this file under
|
|
35
|
+
# the terms of any one of the MPL, the GPL or the LGPL.
|
|
36
|
+
#
|
|
37
|
+
# ***** END LICENSE BLOCK *****
|
|
38
|
+
|
|
39
|
+
.igroup equality JSOP_EQ-JSOP_NE
|
|
40
|
+
|
|
41
|
+
.imacro any_obj # any obj
|
|
42
|
+
dup # any obj obj
|
|
43
|
+
dup # any obj obj obj
|
|
44
|
+
getprop valueOf # any obj obj valueOf
|
|
45
|
+
ifprimtop 1 # any obj obj valueOf
|
|
46
|
+
swap # any obj valueOf obj
|
|
47
|
+
string void # any obj valueOf obj "void"
|
|
48
|
+
call 1 # any obj rval
|
|
49
|
+
ifprimtop 3 # any obj rval
|
|
50
|
+
goto 2
|
|
51
|
+
1: pop # any obj obj
|
|
52
|
+
2: callprop toString # any obj toString obj
|
|
53
|
+
call 0 # any obj rval
|
|
54
|
+
primtop (JSTYPE_NUMBER) # any obj rval
|
|
55
|
+
3: swap # any rval obj
|
|
56
|
+
pop # any rval
|
|
57
|
+
imacop # eqval
|
|
58
|
+
stop
|
|
59
|
+
.end
|
|
60
|
+
|
|
61
|
+
.imacro obj_any # obj any
|
|
62
|
+
swap # any obj
|
|
63
|
+
dup # any obj obj
|
|
64
|
+
dup # any obj obj obj
|
|
65
|
+
getprop valueOf # any obj obj valueOf
|
|
66
|
+
ifprimtop 1 # any obj obj valueOf
|
|
67
|
+
swap # any obj valueOf obj
|
|
68
|
+
string void # any obj valueOf obj "void"
|
|
69
|
+
call 1 # any obj lval
|
|
70
|
+
ifprimtop 3 # any obj lval
|
|
71
|
+
goto 2
|
|
72
|
+
1: pop # any obj obj
|
|
73
|
+
2: callprop toString # any obj toString obj
|
|
74
|
+
call 0 # any obj lval
|
|
75
|
+
primtop (JSTYPE_NUMBER) # any obj rval
|
|
76
|
+
3: swap # any lval obj
|
|
77
|
+
pop # any lval
|
|
78
|
+
swap # lval any
|
|
79
|
+
imacop # eqval
|
|
80
|
+
stop
|
|
81
|
+
.end
|
|
82
|
+
|
|
83
|
+
.end equality
|
|
84
|
+
|
|
85
|
+
.igroup binary JSOP_BITOR-JSOP_MOD
|
|
86
|
+
|
|
87
|
+
.imacro any_obj # any obj
|
|
88
|
+
dup # any obj obj
|
|
89
|
+
dup # any obj obj obj
|
|
90
|
+
getprop valueOf # any obj obj valueOf
|
|
91
|
+
ifprimtop 1 # any obj obj valueOf
|
|
92
|
+
swap # any obj valueOf obj
|
|
93
|
+
string number # any obj valueOf obj "number"
|
|
94
|
+
call 1 # any obj rval
|
|
95
|
+
ifprimtop 3 # any obj rval
|
|
96
|
+
goto 2
|
|
97
|
+
1: pop # any obj obj
|
|
98
|
+
2: callprop toString # any obj toString obj
|
|
99
|
+
call 0 # any obj rval
|
|
100
|
+
primtop (JSTYPE_NUMBER) # any obj rval
|
|
101
|
+
3: swap # any rval obj
|
|
102
|
+
pop # any rval
|
|
103
|
+
imacop # bval
|
|
104
|
+
stop
|
|
105
|
+
.end
|
|
106
|
+
|
|
107
|
+
.imacro obj_any # obj any
|
|
108
|
+
swap # any obj
|
|
109
|
+
dup # any obj obj
|
|
110
|
+
dup # any obj obj obj
|
|
111
|
+
getprop valueOf # any obj obj valueOf
|
|
112
|
+
ifprimtop 1 # any obj obj valueOf
|
|
113
|
+
swap # any obj valueOf obj
|
|
114
|
+
string number # any obj valueOf obj "number"
|
|
115
|
+
call 1 # any obj lval
|
|
116
|
+
ifprimtop 3 # any obj lval
|
|
117
|
+
pop # any obj
|
|
118
|
+
dup # any obj obj
|
|
119
|
+
goto 2
|
|
120
|
+
1: pop # any obj obj
|
|
121
|
+
2: callprop toString # any obj toString obj
|
|
122
|
+
call 0 # any obj lval
|
|
123
|
+
primtop (JSTYPE_NUMBER) # any obj lval
|
|
124
|
+
3: swap # any lval obj
|
|
125
|
+
pop # any lval
|
|
126
|
+
swap # lval any
|
|
127
|
+
imacop # bval
|
|
128
|
+
stop
|
|
129
|
+
.end
|
|
130
|
+
|
|
131
|
+
.imacro obj_obj # obj1 obj2
|
|
132
|
+
swap # obj2 obj1
|
|
133
|
+
dup # obj2 obj1 obj1
|
|
134
|
+
dup # obj2 obj1 obj1 obj1
|
|
135
|
+
getprop valueOf # obj2 obj1 obj1 valueOf
|
|
136
|
+
ifprimtop 1 # obj2 obj1 obj1 valueOf
|
|
137
|
+
swap # obj2 obj1 valueOf obj1
|
|
138
|
+
string number # obj2 obj1 valueOf obj1 "number"
|
|
139
|
+
call 1 # obj2 obj1 lval
|
|
140
|
+
ifprimtop 3 # obj2 obj1 lval
|
|
141
|
+
goto 2
|
|
142
|
+
1: pop # obj2 obj1 obj1
|
|
143
|
+
2: callprop toString # obj2 obj1 toString obj1
|
|
144
|
+
call 0 # obj2 obj1 lval
|
|
145
|
+
primtop (JSTYPE_NUMBER) # obj2 obj1 lval
|
|
146
|
+
3: swap # obj2 lval obj1
|
|
147
|
+
pop # obj2 lval
|
|
148
|
+
swap # lval obj2
|
|
149
|
+
dup # lval obj1 obj1
|
|
150
|
+
dup # lval obj obj obj
|
|
151
|
+
getprop valueOf # lval obj obj valueOf
|
|
152
|
+
ifprimtop 4 # lval obj obj valueOf
|
|
153
|
+
swap # lval obj valueOf obj
|
|
154
|
+
string number # lval obj valueOf obj "number"
|
|
155
|
+
call 1 # lval obj rval
|
|
156
|
+
ifprimtop 6 # lval obj rval
|
|
157
|
+
goto 5
|
|
158
|
+
4: pop # lval obj obj
|
|
159
|
+
5: callprop toString # lval obj toString obj
|
|
160
|
+
call 0 # lval obj rval
|
|
161
|
+
primtop (JSTYPE_NUMBER) # lval obj rval
|
|
162
|
+
6: swap # lval rval obj
|
|
163
|
+
pop # lval rval
|
|
164
|
+
imacop # bval
|
|
165
|
+
stop
|
|
166
|
+
.end
|
|
167
|
+
|
|
168
|
+
.end binary
|
|
169
|
+
|
|
170
|
+
.igroup add JSOP_ADD
|
|
171
|
+
|
|
172
|
+
.imacro any_obj # any obj
|
|
173
|
+
dup # any obj obj
|
|
174
|
+
dup # any obj obj obj
|
|
175
|
+
getprop valueOf # any obj obj valueOf
|
|
176
|
+
ifprimtop 1 # any obj obj valueOf
|
|
177
|
+
swap # any obj valueOf obj
|
|
178
|
+
string void # lval obj valueOf obj "void"
|
|
179
|
+
call 1 # any obj rval
|
|
180
|
+
ifprimtop 3 # any obj rval
|
|
181
|
+
goto 2
|
|
182
|
+
1: pop # any obj obj
|
|
183
|
+
2: callprop toString # any obj toString obj
|
|
184
|
+
call 0 # any obj rval
|
|
185
|
+
primtop (JSTYPE_VOID) # any obj rval
|
|
186
|
+
3: swap # any rval obj
|
|
187
|
+
pop # any rval
|
|
188
|
+
add # aval
|
|
189
|
+
stop
|
|
190
|
+
.end
|
|
191
|
+
|
|
192
|
+
.imacro obj_any # obj any
|
|
193
|
+
swap # any obj
|
|
194
|
+
dup # any obj obj
|
|
195
|
+
dup # any obj obj obj
|
|
196
|
+
getprop valueOf # any obj obj valueOf
|
|
197
|
+
ifprimtop 1 # any obj obj valueOf
|
|
198
|
+
swap # any obj valueOf obj
|
|
199
|
+
string void # lval obj valueOf obj "void"
|
|
200
|
+
call 1 # any obj lval
|
|
201
|
+
ifprimtop 3 # any obj lval
|
|
202
|
+
goto 2
|
|
203
|
+
1: pop # any obj obj
|
|
204
|
+
2: callprop toString # any obj toString obj
|
|
205
|
+
call 0 # any obj lval
|
|
206
|
+
primtop (JSTYPE_VOID) # any obj lval
|
|
207
|
+
3: swap # any lval obj
|
|
208
|
+
pop # any lval
|
|
209
|
+
swap # lval any
|
|
210
|
+
add # aval
|
|
211
|
+
stop
|
|
212
|
+
.end
|
|
213
|
+
|
|
214
|
+
.imacro obj_obj # obj1 obj2
|
|
215
|
+
swap # obj2 obj1
|
|
216
|
+
dup # obj2 obj1 obj1
|
|
217
|
+
dup # obj2 obj1 obj1 obj1
|
|
218
|
+
getprop valueOf # obj2 obj1 obj1 valueOf
|
|
219
|
+
ifprimtop 1 # obj2 obj1 obj1 valueOf
|
|
220
|
+
swap # obj2 obj1 valueOf obj1
|
|
221
|
+
string void # lval obj valueOf obj "void"
|
|
222
|
+
call 1 # obj2 obj1 lval
|
|
223
|
+
ifprimtop 3 # obj2 obj1 lval
|
|
224
|
+
goto 2
|
|
225
|
+
1: pop # obj2 obj1 obj1
|
|
226
|
+
2: callprop toString # obj2 obj toString obj1
|
|
227
|
+
call 0 # obj2 obj lval
|
|
228
|
+
primtop (JSTYPE_VOID) # obj2 obj lval
|
|
229
|
+
3: swap # obj2 lval obj1
|
|
230
|
+
pop # obj2 lval
|
|
231
|
+
swap # lval obj2
|
|
232
|
+
dup # lval obj1 obj1
|
|
233
|
+
dup # lval obj obj obj
|
|
234
|
+
getprop valueOf # lval obj obj valueOf
|
|
235
|
+
ifprimtop 4 # lval obj obj valueOf
|
|
236
|
+
swap # lval obj valueOf obj
|
|
237
|
+
string void # lval obj valueOf obj "void"
|
|
238
|
+
call 1 # lval obj rval
|
|
239
|
+
ifprimtop 6 # lval obj rval
|
|
240
|
+
goto 5
|
|
241
|
+
4: pop # lval obj obj
|
|
242
|
+
5: callprop toString # lval obj toString obj
|
|
243
|
+
call 0 # lval obj rval
|
|
244
|
+
primtop (JSTYPE_VOID) # lval obj rval
|
|
245
|
+
6: swap # lval rval obj
|
|
246
|
+
pop # lval rval
|
|
247
|
+
add # aval
|
|
248
|
+
stop
|
|
249
|
+
.end
|
|
250
|
+
|
|
251
|
+
.end add
|
|
252
|
+
|
|
253
|
+
.igroup unary JSOP_NEG-JSOP_POS
|
|
254
|
+
|
|
255
|
+
.imacro sign # obj
|
|
256
|
+
dup # obj obj
|
|
257
|
+
dup # obj obj obj
|
|
258
|
+
getprop valueOf # obj obj valueOf
|
|
259
|
+
ifprimtop 2 # obj obj valueOf
|
|
260
|
+
swap # obj valueOf obj
|
|
261
|
+
string number # obj valueOf obj "number"
|
|
262
|
+
call 1 # obj lval
|
|
263
|
+
ifprimtop 1 # obj lval
|
|
264
|
+
goto 3
|
|
265
|
+
1: swap # lval obj
|
|
266
|
+
pop # lval
|
|
267
|
+
goto 4
|
|
268
|
+
2: pop # obj obj
|
|
269
|
+
3: callprop toString # obj toString obj
|
|
270
|
+
call 0 # obj lval
|
|
271
|
+
primtop (JSTYPE_NUMBER) # obj lval
|
|
272
|
+
swap # lval obj
|
|
273
|
+
pop # lval
|
|
274
|
+
4: imacop # aval
|
|
275
|
+
stop
|
|
276
|
+
.end
|
|
277
|
+
|
|
278
|
+
.end unary
|
|
279
|
+
|
|
280
|
+
.igroup call JSOP_CALL
|
|
281
|
+
|
|
282
|
+
.imacro String # String this obj
|
|
283
|
+
dup # String this obj obj
|
|
284
|
+
dup # String this obj obj obj
|
|
285
|
+
getprop toString # String this obj obj toString
|
|
286
|
+
ifprimtop 1 # String this obj obj toString
|
|
287
|
+
swap # String this obj toString obj
|
|
288
|
+
call 0 # String this obj rval
|
|
289
|
+
ifprimtop 3 # String this obj rval
|
|
290
|
+
goto 2
|
|
291
|
+
1: pop # String this obj obj
|
|
292
|
+
2: callprop valueOf # String this obj valueOf obj
|
|
293
|
+
string string # String this obj valueOf obj "string"
|
|
294
|
+
call 1 # String this obj rval
|
|
295
|
+
primtop (JSTYPE_STRING) # String this obj rval
|
|
296
|
+
3: swap # String this rval obj
|
|
297
|
+
pop # String this rval
|
|
298
|
+
call 1 # str
|
|
299
|
+
stop # str
|
|
300
|
+
.end
|
|
301
|
+
|
|
302
|
+
.end call
|
|
303
|
+
|
|
304
|
+
.igroup new JSOP_NEW
|
|
305
|
+
|
|
306
|
+
.imacro String # String this obj
|
|
307
|
+
dup # String this obj obj
|
|
308
|
+
dup # String this obj obj obj
|
|
309
|
+
getprop toString # String this obj obj toString
|
|
310
|
+
ifprimtop 1 # String this obj obj toString
|
|
311
|
+
swap # String this obj toString obj
|
|
312
|
+
call 0 # String this obj rval
|
|
313
|
+
ifprimtop 3 # String this obj rval
|
|
314
|
+
goto 2
|
|
315
|
+
1: pop # String this obj obj
|
|
316
|
+
2: callprop valueOf # String this obj valueOf obj
|
|
317
|
+
string string # String this obj valueOf obj "string"
|
|
318
|
+
call 1 # String this obj rval
|
|
319
|
+
primtop (JSTYPE_STRING) # String this obj rval
|
|
320
|
+
3: swap # String this rval obj
|
|
321
|
+
pop # String this rval
|
|
322
|
+
new 1 # strobj
|
|
323
|
+
stop # strobj
|
|
324
|
+
.end
|
|
325
|
+
|
|
326
|
+
.end new
|
|
327
|
+
|
|
328
|
+
.igroup apply JSOP_APPLY
|
|
329
|
+
|
|
330
|
+
.imacro apply0 # apply fun this arr
|
|
331
|
+
pick 3 # fun this arr apply
|
|
332
|
+
pop # fun this arr
|
|
333
|
+
pop # fun this
|
|
334
|
+
call 0 #
|
|
335
|
+
stop #
|
|
336
|
+
.end #
|
|
337
|
+
|
|
338
|
+
.imacro apply1 # apply fun this arr
|
|
339
|
+
pick 3 # fun this arr apply
|
|
340
|
+
pop # fun this arr
|
|
341
|
+
dup # fun this arr arr
|
|
342
|
+
zero # fun this arr arr 0
|
|
343
|
+
getelem # fun this arr arg0
|
|
344
|
+
swap # fun this arg0 arr
|
|
345
|
+
pop # fun this arg0
|
|
346
|
+
call 1 #
|
|
347
|
+
stop #
|
|
348
|
+
.end #
|
|
349
|
+
|
|
350
|
+
.imacro apply2 # apply fun this arr
|
|
351
|
+
pick 3 # fun this arr apply
|
|
352
|
+
pop # fun this arr
|
|
353
|
+
dup # fun this arr arr
|
|
354
|
+
zero # fun this arr arr 0
|
|
355
|
+
getelem # fun this arr arg0
|
|
356
|
+
swap # fun this arg0 arr
|
|
357
|
+
dup # fun this arg0 arr arr
|
|
358
|
+
one # fun this arg0 arr arr 1
|
|
359
|
+
getelem # fun this arg0 arr arg1
|
|
360
|
+
swap # fun this arg0 arg1 arr
|
|
361
|
+
pop # fun this arg0 arg1
|
|
362
|
+
call 2 #
|
|
363
|
+
stop #
|
|
364
|
+
.end #
|
|
365
|
+
|
|
366
|
+
.imacro apply3 # apply fun this arr
|
|
367
|
+
pick 3 # fun this arr apply
|
|
368
|
+
pop # fun this arr
|
|
369
|
+
dup # fun this arr arr
|
|
370
|
+
zero # fun this arr arr 0
|
|
371
|
+
getelem # fun this arr arg0
|
|
372
|
+
swap # fun this arg0 arr
|
|
373
|
+
dup # fun this arg0 arr arr
|
|
374
|
+
one # fun this arg0 arr arr 1
|
|
375
|
+
getelem # fun this arg0 arr arg1
|
|
376
|
+
swap # fun this arg0 arg1 arr
|
|
377
|
+
dup # fun this arg0 arg1 arr arr
|
|
378
|
+
int8 2 # fun this arg0 arg1 arr arr 2
|
|
379
|
+
getelem # fun this arg0 arg1 arr arg2
|
|
380
|
+
swap # fun this arg0 arg1 arg2 arr
|
|
381
|
+
pop # fun this arg0 arg1 arg2
|
|
382
|
+
call 3 #
|
|
383
|
+
stop #
|
|
384
|
+
.end #
|
|
385
|
+
|
|
386
|
+
.imacro apply4 # apply fun this arr
|
|
387
|
+
pick 3 # fun this arr apply
|
|
388
|
+
pop # fun this arr
|
|
389
|
+
dup # fun this arr arr
|
|
390
|
+
zero # fun this arr arr 0
|
|
391
|
+
getelem # fun this arr arg0
|
|
392
|
+
swap # fun this arg0 arr
|
|
393
|
+
dup # fun this arg0 arr arr
|
|
394
|
+
one # fun this arg0 arr arr 1
|
|
395
|
+
getelem # fun this arg0 arr arg1
|
|
396
|
+
swap # fun this arg0 arg1 arr
|
|
397
|
+
dup # fun this arg0 arg1 arr arr
|
|
398
|
+
int8 2 # fun this arg0 arg1 arr arr 2
|
|
399
|
+
getelem # fun this arg0 arg1 arr arg2
|
|
400
|
+
swap # fun this arg0 arg1 arg2 arr
|
|
401
|
+
dup # fun this arg0 arg1 arg2 arr arr
|
|
402
|
+
int8 3 # fun this arg0 arg1 arg2 arr arr 3
|
|
403
|
+
getelem # fun this arg0 arg1 arg2 arr arg3
|
|
404
|
+
swap # fun this arg0 arg1 arg2 arg3 arr
|
|
405
|
+
pop # fun this arg0 arg1 arg2 arg3
|
|
406
|
+
call 4 #
|
|
407
|
+
stop #
|
|
408
|
+
.end #
|
|
409
|
+
|
|
410
|
+
.imacro apply5 # apply fun this arr
|
|
411
|
+
pick 3 # fun this arr apply
|
|
412
|
+
pop # fun this arr
|
|
413
|
+
dup # fun this arr arr
|
|
414
|
+
zero # fun this arr arr 0
|
|
415
|
+
getelem # fun this arr arg0
|
|
416
|
+
swap # fun this arg0 arr
|
|
417
|
+
dup # fun this arg0 arr arr
|
|
418
|
+
one # fun this arg0 arr arr 1
|
|
419
|
+
getelem # fun this arg0 arr arg1
|
|
420
|
+
swap # fun this arg0 arg1 arr
|
|
421
|
+
dup # fun this arg0 arg1 arr arr
|
|
422
|
+
int8 2 # fun this arg0 arg1 arr arr 2
|
|
423
|
+
getelem # fun this arg0 arg1 arr arg2
|
|
424
|
+
swap # fun this arg0 arg1 arg2 arr
|
|
425
|
+
dup # fun this arg0 arg1 arg2 arr arr
|
|
426
|
+
int8 3 # fun this arg0 arg1 arg2 arr arr 3
|
|
427
|
+
getelem # fun this arg0 arg1 arg2 arr arg3
|
|
428
|
+
swap # fun this arg0 arg1 arg2 arg3 arr
|
|
429
|
+
dup # fun this arg0 arg1 arg2 arg3 arr arr
|
|
430
|
+
int8 4 # fun this arg0 arg1 arg2 arg3 arr arr 4
|
|
431
|
+
getelem # fun this arg0 arg1 arg2 arg3 arr arg4
|
|
432
|
+
swap # fun this arg0 arg1 arg2 arg3 arg4 arr
|
|
433
|
+
pop # fun this arg0 arg1 arg2 arg3 arg4
|
|
434
|
+
call 5 #
|
|
435
|
+
stop #
|
|
436
|
+
.end #
|
|
437
|
+
|
|
438
|
+
.imacro apply6 # apply fun this arr
|
|
439
|
+
pick 3 # fun this arr apply
|
|
440
|
+
pop # fun this arr
|
|
441
|
+
dup # fun this arr arr
|
|
442
|
+
zero # fun this arr arr 0
|
|
443
|
+
getelem # fun this arr arg0
|
|
444
|
+
swap # fun this arg0 arr
|
|
445
|
+
dup # fun this arg0 arr arr
|
|
446
|
+
one # fun this arg0 arr arr 1
|
|
447
|
+
getelem # fun this arg0 arr arg1
|
|
448
|
+
swap # fun this arg0 arg1 arr
|
|
449
|
+
dup # fun this arg0 arg1 arr arr
|
|
450
|
+
int8 2 # fun this arg0 arg1 arr arr 2
|
|
451
|
+
getelem # fun this arg0 arg1 arr arg2
|
|
452
|
+
swap # fun this arg0 arg1 arg2 arr
|
|
453
|
+
dup # fun this arg0 arg1 arg2 arr arr
|
|
454
|
+
int8 3 # fun this arg0 arg1 arg2 arr arr 3
|
|
455
|
+
getelem # fun this arg0 arg1 arg2 arr arg3
|
|
456
|
+
swap # fun this arg0 arg1 arg2 arg3 arr
|
|
457
|
+
dup # fun this arg0 arg1 arg2 arg3 arr arr
|
|
458
|
+
int8 4 # fun this arg0 arg1 arg2 arg3 arr arr 4
|
|
459
|
+
getelem # fun this arg0 arg1 arg2 arg3 arr arg4
|
|
460
|
+
swap # fun this arg0 arg1 arg2 arg3 arg4 arr
|
|
461
|
+
dup # fun this arg0 arg1 arg2 arg3 arg4 arr arr
|
|
462
|
+
int8 5 # fun this arg0 arg1 arg2 arg3 arg4 arr arr 5
|
|
463
|
+
getelem # fun this arg0 arg1 arg2 arg3 arg4 arr arg5
|
|
464
|
+
swap # fun this arg0 arg1 arg2 arg3 arg4 arg5 arr
|
|
465
|
+
pop # fun this arg0 arg1 arg2 arg3 arg4 arg5
|
|
466
|
+
call 6 #
|
|
467
|
+
stop #
|
|
468
|
+
.end #
|
|
469
|
+
|
|
470
|
+
.imacro apply7 # apply fun this arr
|
|
471
|
+
pick 3 # fun this arr apply
|
|
472
|
+
pop # fun this arr
|
|
473
|
+
dup # fun this arr arr
|
|
474
|
+
zero # fun this arr arr 0
|
|
475
|
+
getelem # fun this arr arg0
|
|
476
|
+
swap # fun this arg0 arr
|
|
477
|
+
dup # fun this arg0 arr arr
|
|
478
|
+
one # fun this arg0 arr arr 1
|
|
479
|
+
getelem # fun this arg0 arr arg1
|
|
480
|
+
swap # fun this arg0 arg1 arr
|
|
481
|
+
dup # fun this arg0 arg1 arr arr
|
|
482
|
+
int8 2 # fun this arg0 arg1 arr arr 2
|
|
483
|
+
getelem # fun this arg0 arg1 arr arg2
|
|
484
|
+
swap # fun this arg0 arg1 arg2 arr
|
|
485
|
+
dup # fun this arg0 arg1 arg2 arr arr
|
|
486
|
+
int8 3 # fun this arg0 arg1 arg2 arr arr 3
|
|
487
|
+
getelem # fun this arg0 arg1 arg2 arr arg3
|
|
488
|
+
swap # fun this arg0 arg1 arg2 arg3 arr
|
|
489
|
+
dup # fun this arg0 arg1 arg2 arg3 arr arr
|
|
490
|
+
int8 4 # fun this arg0 arg1 arg2 arg3 arr arr 4
|
|
491
|
+
getelem # fun this arg0 arg1 arg2 arg3 arr arg4
|
|
492
|
+
swap # fun this arg0 arg1 arg2 arg3 arg4 arr
|
|
493
|
+
dup # fun this arg0 arg1 arg2 arg3 arg4 arr arr
|
|
494
|
+
int8 5 # fun this arg0 arg1 arg2 arg3 arg4 arr arr 5
|
|
495
|
+
getelem # fun this arg0 arg1 arg2 arg3 arg4 arr arg5
|
|
496
|
+
swap # fun this arg0 arg1 arg2 arg3 arg4 arg5 arr
|
|
497
|
+
dup # fun this arg0 arg1 arg2 arg3 arg4 arg5 arr arr
|
|
498
|
+
int8 6 # fun this arg0 arg1 arg2 arg3 arg4 arg5 arr arr 6
|
|
499
|
+
getelem # fun this arg0 arg1 arg2 arg3 arg4 arg5 arr arg6
|
|
500
|
+
swap # fun this arg0 arg1 arg2 arg3 arg4 arg5 arg6 arr
|
|
501
|
+
pop # fun this arg0 arg1 arg2 arg3 arg4 arg5 arg6
|
|
502
|
+
call 7 #
|
|
503
|
+
stop #
|
|
504
|
+
.end #
|
|
505
|
+
|
|
506
|
+
.imacro apply8 # apply fun this arr
|
|
507
|
+
pick 3 # fun this arr apply
|
|
508
|
+
pop # fun this arr
|
|
509
|
+
dup # fun this arr arr
|
|
510
|
+
zero # fun this arr arr 0
|
|
511
|
+
getelem # fun this arr arg0
|
|
512
|
+
swap # fun this arg0 arr
|
|
513
|
+
dup # fun this arg0 arr arr
|
|
514
|
+
one # fun this arg0 arr arr 1
|
|
515
|
+
getelem # fun this arg0 arr arg1
|
|
516
|
+
swap # fun this arg0 arg1 arr
|
|
517
|
+
dup # fun this arg0 arg1 arr arr
|
|
518
|
+
int8 2 # fun this arg0 arg1 arr arr 2
|
|
519
|
+
getelem # fun this arg0 arg1 arr arg2
|
|
520
|
+
swap # fun this arg0 arg1 arg2 arr
|
|
521
|
+
dup # fun this arg0 arg1 arg2 arr arr
|
|
522
|
+
int8 3 # fun this arg0 arg1 arg2 arr arr 3
|
|
523
|
+
getelem # fun this arg0 arg1 arg2 arr arg3
|
|
524
|
+
swap # fun this arg0 arg1 arg2 arg3 arr
|
|
525
|
+
dup # fun this arg0 arg1 arg2 arg3 arr arr
|
|
526
|
+
int8 4 # fun this arg0 arg1 arg2 arg3 arr arr 4
|
|
527
|
+
getelem # fun this arg0 arg1 arg2 arg3 arr arg4
|
|
528
|
+
swap # fun this arg0 arg1 arg2 arg3 arg4 arr
|
|
529
|
+
dup # fun this arg0 arg1 arg2 arg3 arg4 arr arr
|
|
530
|
+
int8 5 # fun this arg0 arg1 arg2 arg3 arg4 arr arr 5
|
|
531
|
+
getelem # fun this arg0 arg1 arg2 arg3 arg4 arr arg5
|
|
532
|
+
swap # fun this arg0 arg1 arg2 arg3 arg4 arg5 arr
|
|
533
|
+
dup # fun this arg0 arg1 arg2 arg3 arg4 arg5 arr arr
|
|
534
|
+
int8 6 # fun this arg0 arg1 arg2 arg3 arg4 arg5 arr arr 6
|
|
535
|
+
getelem # fun this arg0 arg1 arg2 arg3 arg4 arg5 arr arg6
|
|
536
|
+
swap # fun this arg0 arg1 arg2 arg3 arg4 arg5 arg6 arr
|
|
537
|
+
dup # fun this arg0 arg1 arg2 arg3 arg4 arg5 arg6 arr arr
|
|
538
|
+
int8 7 # fun this arg0 arg1 arg2 arg3 arg4 arg5 arg6 arr arr 7
|
|
539
|
+
getelem # fun this arg0 arg1 arg2 arg3 arg4 arg5 arg6 arr arg7
|
|
540
|
+
swap # fun this arg0 arg1 arg2 arg3 arg4 arg5 arg6 arg7 arr
|
|
541
|
+
pop # fun this arg0 arg1 arg2 arg3 arg4 arg5 arg6 arg7
|
|
542
|
+
call 8 #
|
|
543
|
+
stop #
|
|
544
|
+
.end #
|
|
545
|
+
|
|
546
|
+
.imacro call0 # call fun
|
|
547
|
+
swap # fun call
|
|
548
|
+
pop # fun
|
|
549
|
+
null # fun this
|
|
550
|
+
call 0 #
|
|
551
|
+
stop #
|
|
552
|
+
.end #
|
|
553
|
+
|
|
554
|
+
.imacro call1 # call fun this
|
|
555
|
+
pick 2 # fun this call
|
|
556
|
+
pop # fun this
|
|
557
|
+
call 0 #
|
|
558
|
+
stop #
|
|
559
|
+
.end #
|
|
560
|
+
|
|
561
|
+
.imacro call2 # call fun this arg0
|
|
562
|
+
pick 3 # fun this arg0 call
|
|
563
|
+
pop # fun this arg0
|
|
564
|
+
call 1 #
|
|
565
|
+
stop #
|
|
566
|
+
.end #
|
|
567
|
+
|
|
568
|
+
.imacro call3 # call fun this arg0 arg1
|
|
569
|
+
pick 4 # fun this arg0 arg1 call
|
|
570
|
+
pop # fun this arg0 arg1
|
|
571
|
+
call 2 #
|
|
572
|
+
stop #
|
|
573
|
+
.end #
|
|
574
|
+
|
|
575
|
+
.imacro call4 # call fun this arg0 arg1 arg2
|
|
576
|
+
pick 5 # fun this arg0 arg1 arg2 call
|
|
577
|
+
pop # fun this arg0 arg1 arg2
|
|
578
|
+
call 3 #
|
|
579
|
+
stop #
|
|
580
|
+
.end #
|
|
581
|
+
|
|
582
|
+
.imacro call5 # call fun this arg0 arg1 arg2 arg3
|
|
583
|
+
pick 6 # fun this arg0 arg1 arg2 arg3 call
|
|
584
|
+
pop # fun this arg0 arg1 arg2 arg3
|
|
585
|
+
call 4 #
|
|
586
|
+
stop #
|
|
587
|
+
.end #
|
|
588
|
+
|
|
589
|
+
.imacro call6 # call fun this arg0 arg1 arg2 arg3 arg4
|
|
590
|
+
pick 7 # fun this arg0 arg1 arg2 arg3 arg4 call
|
|
591
|
+
pop # fun this arg0 arg1 arg2 arg3 arg4
|
|
592
|
+
call 5 #
|
|
593
|
+
stop #
|
|
594
|
+
.end #
|
|
595
|
+
|
|
596
|
+
.imacro call7 # call fun this arg0 arg1 arg2 arg3 arg4 arg5
|
|
597
|
+
pick 8 # fun this arg0 arg1 arg2 arg3 arg4 arg5 call
|
|
598
|
+
pop # fun this arg0 arg1 arg2 arg3 arg4 arg5
|
|
599
|
+
call 6 #
|
|
600
|
+
stop #
|
|
601
|
+
.end #
|
|
602
|
+
|
|
603
|
+
.imacro call8 # call fun this arg0 arg1 arg2 arg3 arg4 arg5 arg6
|
|
604
|
+
pick 9 # fun this arg0 arg1 arg2 arg3 arg4 arg5 arg6 call
|
|
605
|
+
pop # fun this arg0 arg1 arg2 arg3 arg4 arg5 arg6
|
|
606
|
+
call 7 #
|
|
607
|
+
stop #
|
|
608
|
+
.end #
|
|
609
|
+
|
|
610
|
+
.end apply
|
|
611
|
+
|
|
612
|
+
.igroup iter JSOP_ITER
|
|
613
|
+
|
|
614
|
+
.imacro for_in # obj
|
|
615
|
+
callprop iterator # fun obj
|
|
616
|
+
int8 (JSITER_ENUMERATE) # fun obj flags
|
|
617
|
+
call 1 # iterobj
|
|
618
|
+
objtop (JSMSG_BAD_ITERATOR_RETURN) # iterobj
|
|
619
|
+
push # iterobj undef
|
|
620
|
+
stop
|
|
621
|
+
.end
|
|
622
|
+
|
|
623
|
+
.imacro for_each # obj
|
|
624
|
+
callprop iterator # fun obj
|
|
625
|
+
int8 (JSITER_ENUMERATE|JSITER_FOREACH) # fun obj flags
|
|
626
|
+
call 1 # iterobj
|
|
627
|
+
objtop (JSMSG_BAD_ITERATOR_RETURN) # iterobj
|
|
628
|
+
push # iterobj undef
|
|
629
|
+
stop
|
|
630
|
+
.end
|
|
631
|
+
|
|
632
|
+
.imacro for_in_native # obj
|
|
633
|
+
callbuiltin (JSBUILTIN_ObjectToIterator) # fun obj
|
|
634
|
+
int8 (JSITER_ENUMERATE) # fun obj flags
|
|
635
|
+
call 1 # iterobj
|
|
636
|
+
push # iterobj undef
|
|
637
|
+
stop
|
|
638
|
+
.end
|
|
639
|
+
|
|
640
|
+
.imacro for_each_native # obj
|
|
641
|
+
callbuiltin (JSBUILTIN_ObjectToIterator) # fun obj
|
|
642
|
+
int8 (JSITER_ENUMERATE|JSITER_FOREACH) # fun obj flags
|
|
643
|
+
call 1 # iterobj
|
|
644
|
+
push # iterobj undef
|
|
645
|
+
stop
|
|
646
|
+
.end
|
|
647
|
+
|
|
648
|
+
.end iter
|
|
649
|
+
|
|
650
|
+
.igroup nextiter JSOP_NEXTITER
|
|
651
|
+
|
|
652
|
+
.imacro custom_iter_next # iterobj prevval
|
|
653
|
+
pop # iterobj
|
|
654
|
+
dup # iterobj iterobj
|
|
655
|
+
callprop next # iterobj fun iterobj
|
|
656
|
+
call 0 # iterobj nextval
|
|
657
|
+
dup # iterobj nextval? nextval?
|
|
658
|
+
hole # iterobj nextval? nextval? hole
|
|
659
|
+
strictne # iterobj nextval? boolean
|
|
660
|
+
stop
|
|
661
|
+
.end
|
|
662
|
+
|
|
663
|
+
.imacro native_iter_next # iterobj prevval
|
|
664
|
+
pop # iterobj
|
|
665
|
+
dup # iterobj iterobj
|
|
666
|
+
callbuiltin (JSBUILTIN_CallIteratorNext) # iterobj fun iterobj
|
|
667
|
+
call 0 # iterobj nextval?
|
|
668
|
+
dup # iterobj nextval? nextval?
|
|
669
|
+
hole # iterobj nextval? nextval? hole
|
|
670
|
+
strictne # iterobj nextval? boolean
|
|
671
|
+
stop
|
|
672
|
+
.end
|
|
673
|
+
|
|
674
|
+
.end nextiter
|
|
675
|
+
|
|
676
|
+
.igroup getelem JSOP_GETELEM
|
|
677
|
+
|
|
678
|
+
.imacro getprop # obj name
|
|
679
|
+
swap # name obj
|
|
680
|
+
callbuiltin (JSBUILTIN_GetProperty) # name fun obj
|
|
681
|
+
pick 2 # fun obj name
|
|
682
|
+
call 1 # propval
|
|
683
|
+
stop
|
|
684
|
+
.end
|
|
685
|
+
|
|
686
|
+
.imacro getelem # obj i
|
|
687
|
+
swap # i obj
|
|
688
|
+
callbuiltin (JSBUILTIN_GetElement) # i fun obj
|
|
689
|
+
pick 2 # fun obj i
|
|
690
|
+
call 1 # propval
|
|
691
|
+
stop
|
|
692
|
+
.end
|
|
693
|
+
|
|
694
|
+
.end getelem
|
|
695
|
+
|
|
696
|
+
.igroup callelem JSOP_CALLELEM
|
|
697
|
+
|
|
698
|
+
.imacro callprop # obj name
|
|
699
|
+
swap # name obj
|
|
700
|
+
dup # name obj obj
|
|
701
|
+
callbuiltin (JSBUILTIN_GetProperty) # name obj fun obj
|
|
702
|
+
pick 3 # obj fun obj name
|
|
703
|
+
call 1 # obj propval
|
|
704
|
+
swap # propval obj
|
|
705
|
+
stop
|
|
706
|
+
.end
|
|
707
|
+
|
|
708
|
+
.imacro callelem # obj i
|
|
709
|
+
swap # i obj
|
|
710
|
+
dup # i obj obj
|
|
711
|
+
callbuiltin (JSBUILTIN_GetElement) # i obj fun obj
|
|
712
|
+
pick 3 # obj fun obj i
|
|
713
|
+
call 1 # obj propval
|
|
714
|
+
swap # propval obj
|
|
715
|
+
stop
|
|
716
|
+
.end
|
|
717
|
+
|
|
718
|
+
.end callelem
|
|
719
|
+
|
|
720
|
+
.igroup setelem JSOP_SETELEM
|
|
721
|
+
|
|
722
|
+
.imacro setprop # obj name val
|
|
723
|
+
dup # obj name val val
|
|
724
|
+
pick 3 # name val val obj
|
|
725
|
+
callbuiltin (JSBUILTIN_SetProperty) # name val val fun obj
|
|
726
|
+
pick 4 # val val fun obj name
|
|
727
|
+
pick 4 # val fun obj name val
|
|
728
|
+
call 2 # val junk
|
|
729
|
+
pop # val
|
|
730
|
+
stop
|
|
731
|
+
.end
|
|
732
|
+
|
|
733
|
+
.imacro setelem # obj i val
|
|
734
|
+
dup # obj i val val
|
|
735
|
+
pick 3 # i val val obj
|
|
736
|
+
callbuiltin (JSBUILTIN_SetElement) # i val val fun obj
|
|
737
|
+
pick 4 # val val fun obj i
|
|
738
|
+
pick 4 # val fun obj i val
|
|
739
|
+
call 2 # val junk
|
|
740
|
+
pop # val
|
|
741
|
+
stop
|
|
742
|
+
.end
|
|
743
|
+
|
|
744
|
+
.end setelem
|
|
745
|
+
|
|
746
|
+
.igroup initelem JSOP_INITELEM
|
|
747
|
+
|
|
748
|
+
.imacro initprop # obj i val
|
|
749
|
+
pick 2 # i val obj
|
|
750
|
+
dup # i val obj obj
|
|
751
|
+
callbuiltin (JSBUILTIN_SetProperty) # i val obj fun obj
|
|
752
|
+
pick 4 # val obj fun obj i
|
|
753
|
+
pick 4 # obj fun obj i val
|
|
754
|
+
call 2 # obj junk
|
|
755
|
+
pop # obj
|
|
756
|
+
stop
|
|
757
|
+
.end
|
|
758
|
+
|
|
759
|
+
.imacro initelem # obj i val
|
|
760
|
+
pick 2 # i val obj
|
|
761
|
+
dup # i val obj obj
|
|
762
|
+
callbuiltin (JSBUILTIN_SetElement) # i val obj fun obj
|
|
763
|
+
pick 4 # val obj fun obj i
|
|
764
|
+
pick 4 # obj fun obj i val
|
|
765
|
+
call 2 # obj junk
|
|
766
|
+
pop # obj
|
|
767
|
+
stop
|
|
768
|
+
.end
|
|
769
|
+
|
|
770
|
+
.end initelem
|