johnson 2.0.0.pre0 → 2.0.0.pre1
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.rdoc +6 -0
- data/Manifest.txt +3709 -33
- data/Rakefile +19 -0
- data/ext/tracemonkey/extconf.rb +16 -2
- data/ext/tracemonkey/immutable_node.cc +3 -1
- data/ext/tracemonkey/js.cc +474 -0
- data/ext/tracemonkey/runtime.cc +3 -1
- data/ext/tracemonkey/split_global.cc +0 -373
- data/ext/tracemonkey/split_global.h +3 -0
- data/lib/johnson.rb +1 -1
- data/test/generic/parser_test.rb +27 -5
- data/test/johnson/generic/nodes/array_literal_test.rb +1 -1
- data/test/johnson/generic/nodes/ternary_test.rb +1 -1
- data/test/johnson/tracemonkey/split_global_test.html +18 -0
- data/vendor/tracemonkey/Makefile.in +100 -74
- data/vendor/tracemonkey/Makefile.ref +0 -13
- data/vendor/tracemonkey/README.html +2 -3
- data/vendor/tracemonkey/aclocal.m4 +3 -0
- data/vendor/tracemonkey/analysis-tests/Makefile.in +110 -0
- data/vendor/tracemonkey/analysis-tests/green-accessred.cpp +11 -0
- data/vendor/tracemonkey/analysis-tests/green-callred.cpp +12 -0
- data/vendor/tracemonkey/analysis-tests/green-callredptr.cpp +8 -0
- data/vendor/tracemonkey/analysis-tests/green-tored-badpath.cpp +14 -0
- data/vendor/tracemonkey/analysis-tests/green-tored.cpp +12 -0
- data/vendor/tracemonkey/analysis-tests/green-toredptr.cpp +12 -0
- data/vendor/tracemonkey/analysis-tests/misdeclared-red-funcptr.cpp +5 -0
- data/vendor/tracemonkey/analysis-tests/misdeclared-red-funcptr2.cpp +5 -0
- data/vendor/tracemonkey/analysis-tests/red-accessred.cpp +11 -0
- data/vendor/tracemonkey/analysis-tests/red-callgreen.cpp +8 -0
- data/vendor/tracemonkey/analysis-tests/red-callred.cpp +8 -0
- data/vendor/tracemonkey/analysis-tests/red-togreenptr-arg.cpp +11 -0
- data/vendor/tracemonkey/analysis-tests/red-togreenptr-field.cpp +15 -0
- data/vendor/tracemonkey/analysis-tests/red-togreenptr-initializer-array.cpp +8 -0
- data/vendor/tracemonkey/analysis-tests/red-togreenptr-initializer-cast.cpp +7 -0
- data/vendor/tracemonkey/analysis-tests/red-togreenptr-initializer-nested.cpp +18 -0
- data/vendor/tracemonkey/analysis-tests/red-togreenptr-initializer-struct.cpp +12 -0
- data/vendor/tracemonkey/analysis-tests/red-togreenptr-initializer.cpp +7 -0
- data/vendor/tracemonkey/analysis-tests/red-togreenptr-return.cpp +9 -0
- data/vendor/tracemonkey/analysis-tests/red-togreenptr.cpp +10 -0
- data/vendor/tracemonkey/bench.sh +1 -1
- data/vendor/tracemonkey/build/autoconf/acoutput-fast.pl +0 -0
- data/vendor/tracemonkey/build/autoconf/config.sub +154 -63
- data/vendor/tracemonkey/build/autoconf/make-makefile +10 -3
- data/vendor/tracemonkey/build/autoconf/mozprog.m4 +76 -0
- data/vendor/tracemonkey/build/autoconf/nspr.m4 +25 -6
- data/vendor/tracemonkey/build/unix/mddepend.pl +2 -0
- data/vendor/tracemonkey/build/win32/pgomerge.py +0 -0
- data/vendor/tracemonkey/builtins.tbl +1 -1
- data/vendor/tracemonkey/config.mk +3 -5
- data/vendor/tracemonkey/config/Makefile.in +8 -5
- data/vendor/tracemonkey/config/autoconf.mk.in +5 -14
- data/vendor/tracemonkey/config/config.mk +28 -35
- data/vendor/tracemonkey/config/milestone.txt +1 -1
- data/vendor/tracemonkey/config/mkdepend/Makefile.in +2 -3
- data/vendor/tracemonkey/config/nsinstall.exe.manifest +17 -0
- data/vendor/tracemonkey/config/nsinstall_win.c +708 -0
- data/vendor/tracemonkey/config/rules.mk +153 -191
- data/vendor/tracemonkey/config/static-checking.js +21 -30
- data/vendor/tracemonkey/config/system-headers +17 -31
- data/vendor/tracemonkey/config/version.mk +2 -2
- data/vendor/tracemonkey/config/version_win.pl +5 -12
- data/vendor/tracemonkey/configure +1175 -1071
- data/vendor/tracemonkey/configure.in +237 -309
- data/vendor/tracemonkey/dtoa.c +0 -4
- data/vendor/tracemonkey/imacro_asm.js.in +8 -0
- data/vendor/tracemonkey/imacros.c.out +217 -267
- data/vendor/tracemonkey/imacros.jsasm +56 -98
- data/vendor/tracemonkey/jitstats.tbl +58 -16
- data/vendor/tracemonkey/js-config.h.in +8 -6
- data/vendor/tracemonkey/js.msg +1 -1
- data/vendor/tracemonkey/jsapi-tests/Makefile.in +76 -0
- data/vendor/tracemonkey/jsapi-tests/README +160 -0
- data/vendor/tracemonkey/jsapi-tests/selfTest.cpp +20 -0
- data/vendor/tracemonkey/jsapi-tests/testDebugger.cpp +25 -0
- data/vendor/tracemonkey/jsapi-tests/testDefineGetterSetterNonEnumerable.cpp +51 -0
- data/vendor/tracemonkey/jsapi-tests/testExtendedEq.cpp +45 -0
- data/vendor/tracemonkey/jsapi-tests/testIntString.cpp +13 -0
- data/vendor/tracemonkey/jsapi-tests/testIsAboutToBeFinalized.cpp +89 -0
- data/vendor/tracemonkey/jsapi-tests/testPropCache.cpp +31 -0
- data/vendor/tracemonkey/jsapi-tests/testSameValue.cpp +21 -0
- data/vendor/tracemonkey/jsapi-tests/testXDR.cpp +55 -0
- data/vendor/tracemonkey/jsapi-tests/tests.cpp +79 -0
- data/vendor/tracemonkey/jsapi-tests/tests.h +239 -0
- data/vendor/tracemonkey/jsapi.cpp +264 -336
- data/vendor/tracemonkey/jsapi.h +163 -57
- data/vendor/tracemonkey/jsarena.cpp +8 -8
- data/vendor/tracemonkey/jsarray.cpp +551 -602
- data/vendor/tracemonkey/jsarray.h +58 -57
- data/vendor/tracemonkey/jsatom.cpp +59 -56
- data/vendor/tracemonkey/jsatom.h +0 -6
- data/vendor/tracemonkey/jsatominlines.h +95 -0
- data/vendor/tracemonkey/jsbit.h +26 -1
- data/vendor/tracemonkey/jsbool.cpp +18 -11
- data/vendor/tracemonkey/jsbool.h +7 -11
- data/vendor/tracemonkey/jsbuiltins.cpp +91 -66
- data/vendor/tracemonkey/jsbuiltins.h +146 -76
- data/vendor/tracemonkey/jscntxt.cpp +141 -73
- data/vendor/tracemonkey/jscntxt.h +415 -106
- data/vendor/tracemonkey/jscompat.h +3 -4
- data/vendor/tracemonkey/jsconfig.mk +0 -12
- data/vendor/tracemonkey/jscpucfg.cpp +1 -1
- data/vendor/tracemonkey/jsdate.cpp +373 -181
- data/vendor/tracemonkey/jsdate.h +5 -1
- data/vendor/tracemonkey/jsdbgapi.cpp +595 -84
- data/vendor/tracemonkey/jsdbgapi.h +13 -4
- data/vendor/tracemonkey/jsdhash.cpp +42 -15
- data/vendor/tracemonkey/jsdhash.h +19 -0
- data/vendor/tracemonkey/jsdtoa.cpp +7 -7
- data/vendor/tracemonkey/{jsdtracef.c → jsdtracef.cpp} +56 -93
- data/vendor/tracemonkey/jsdtracef.h +2 -2
- data/vendor/tracemonkey/jsemit.cpp +92 -82
- data/vendor/tracemonkey/jsemit.h +3 -6
- data/vendor/tracemonkey/jsexn.cpp +46 -62
- data/vendor/tracemonkey/jsfile.cpp +91 -71
- data/vendor/tracemonkey/jsfun.cpp +535 -549
- data/vendor/tracemonkey/jsfun.h +104 -20
- data/vendor/tracemonkey/jsgc.cpp +275 -255
- data/vendor/tracemonkey/jsgc.h +46 -54
- data/vendor/tracemonkey/jshash.cpp +5 -5
- data/vendor/tracemonkey/jshash.h +3 -1
- data/vendor/tracemonkey/jsinterp.cpp +350 -4490
- data/vendor/tracemonkey/jsinterp.h +50 -39
- data/vendor/tracemonkey/jsinttypes.h +139 -0
- data/vendor/tracemonkey/jsinvoke.cpp +1 -1
- data/vendor/tracemonkey/jsiter.cpp +65 -58
- data/vendor/tracemonkey/jsiter.h +2 -2
- data/vendor/tracemonkey/jskwgen.cpp +2 -2
- data/vendor/tracemonkey/jslibmath.h +17 -0
- data/vendor/tracemonkey/jslock.cpp +73 -71
- data/vendor/tracemonkey/jslock.h +21 -18
- data/vendor/tracemonkey/jslog2.cpp +1 -1
- data/vendor/tracemonkey/jsmath.cpp +69 -109
- data/vendor/tracemonkey/jsmath.h +18 -8
- data/vendor/tracemonkey/jsnum.cpp +129 -106
- data/vendor/tracemonkey/jsnum.h +202 -55
- data/vendor/tracemonkey/jsobj.cpp +1108 -1076
- data/vendor/tracemonkey/jsobj.h +441 -204
- data/vendor/tracemonkey/jsobjinlines.h +59 -0
- data/vendor/tracemonkey/json.cpp +170 -263
- data/vendor/tracemonkey/json.h +2 -13
- data/vendor/tracemonkey/jsopcode.cpp +141 -89
- data/vendor/tracemonkey/jsopcode.h +23 -4
- data/vendor/tracemonkey/jsopcode.tbl +7 -1
- data/vendor/tracemonkey/jsoplengen.cpp +1 -1
- data/vendor/tracemonkey/jsops.cpp +4213 -0
- data/vendor/tracemonkey/jsotypes.h +0 -4
- data/vendor/tracemonkey/jsparse.cpp +147 -262
- data/vendor/tracemonkey/jsparse.h +12 -10
- data/vendor/tracemonkey/jsprf.cpp +11 -11
- data/vendor/tracemonkey/jsprvtd.h +40 -33
- data/vendor/tracemonkey/jspubtd.h +3 -6
- data/vendor/tracemonkey/jsregexp.cpp +1260 -455
- data/vendor/tracemonkey/jsregexp.h +17 -8
- data/vendor/tracemonkey/jsscan.cpp +151 -324
- data/vendor/tracemonkey/jsscan.h +25 -82
- data/vendor/tracemonkey/jsscope.cpp +385 -300
- data/vendor/tracemonkey/jsscope.h +290 -117
- data/vendor/tracemonkey/jsscript.cpp +135 -153
- data/vendor/tracemonkey/jsscript.h +52 -68
- data/vendor/tracemonkey/jsscriptinlines.h +69 -0
- data/vendor/tracemonkey/jsshell.msg +2 -0
- data/vendor/tracemonkey/jsstack.js +213 -7
- data/vendor/tracemonkey/jsstdint.h +58 -40
- data/vendor/tracemonkey/jsstr.cpp +1247 -954
- data/vendor/tracemonkey/jsstr.h +410 -95
- data/vendor/tracemonkey/{jsstddef.h → jsstrinlines.h} +30 -42
- data/vendor/tracemonkey/jstask.cpp +126 -0
- data/vendor/tracemonkey/jstask.h +88 -0
- data/vendor/tracemonkey/jstl.h +262 -0
- data/vendor/tracemonkey/jstracer.cpp +6806 -3438
- data/vendor/tracemonkey/jstracer.h +675 -169
- data/vendor/tracemonkey/jstypes.h +29 -49
- data/vendor/tracemonkey/jsutil.cpp +3 -3
- data/vendor/tracemonkey/jsutil.h +127 -5
- data/vendor/tracemonkey/jsvector.h +775 -0
- data/vendor/tracemonkey/jswince.asm +40 -2
- data/vendor/tracemonkey/jsxdrapi.cpp +24 -30
- data/vendor/tracemonkey/jsxdrapi.h +1 -1
- data/vendor/tracemonkey/jsxml.cpp +542 -712
- data/vendor/tracemonkey/jsxml.h +3 -11
- data/vendor/tracemonkey/lirasm/Makefile.in +78 -0
- data/vendor/tracemonkey/lirasm/lirasm.cpp +1159 -0
- data/vendor/tracemonkey/lirasm/testlirc.sh +27 -0
- data/vendor/tracemonkey/lirasm/tests/add.in +4 -0
- data/vendor/tracemonkey/lirasm/tests/add.out +1 -0
- data/vendor/tracemonkey/lirasm/tests/addsub.in +5 -0
- data/vendor/tracemonkey/lirasm/tests/addsub.out +1 -0
- data/vendor/tracemonkey/lirasm/tests/call1.in +11 -0
- data/vendor/tracemonkey/lirasm/tests/call1.out +2 -0
- data/vendor/tracemonkey/lirasm/tests/call2.in +5 -0
- data/vendor/tracemonkey/lirasm/tests/call2.out +1 -0
- data/vendor/tracemonkey/lirasm/tests/floatingpoint.in +4 -0
- data/vendor/tracemonkey/lirasm/tests/floatingpoint.out +1 -0
- data/vendor/tracemonkey/lirasm/tests/loadstore.in +9 -0
- data/vendor/tracemonkey/lirasm/tests/loadstore.out +1 -0
- data/vendor/tracemonkey/lirasm/tests/multfrag1.in +26 -0
- data/vendor/tracemonkey/lirasm/tests/multfrag1.out +2 -0
- data/vendor/tracemonkey/lirasm/tests/multfrag2.in +14 -0
- data/vendor/tracemonkey/lirasm/tests/multfrag2.out +1 -0
- data/vendor/tracemonkey/lirasm/tests/multfrag3.in +15 -0
- data/vendor/tracemonkey/lirasm/tests/multfrag3.out +1 -0
- data/vendor/tracemonkey/liveconnect/jsj.c +5 -5
- data/vendor/tracemonkey/liveconnect/jsj_JSObject.c +2 -4
- data/vendor/tracemonkey/liveconnect/jsj_JavaArray.c +2 -4
- data/vendor/tracemonkey/liveconnect/jsj_JavaClass.c +3 -5
- data/vendor/tracemonkey/liveconnect/jsj_JavaObject.c +4 -24
- data/vendor/tracemonkey/liveconnect/jsj_private.h +4 -4
- data/vendor/tracemonkey/liveconnect/jsj_utils.c +18 -2
- data/vendor/tracemonkey/liveconnect/nsCLiveconnect.cpp +30 -4
- data/vendor/tracemonkey/nanojit/{TraceTreeDrawer.h → Allocator.cpp} +56 -48
- data/vendor/tracemonkey/nanojit/Allocator.h +117 -0
- data/vendor/tracemonkey/nanojit/Assembler.cpp +1378 -1442
- data/vendor/tracemonkey/nanojit/Assembler.h +250 -280
- data/vendor/tracemonkey/nanojit/CodeAlloc.cpp +506 -0
- data/vendor/tracemonkey/nanojit/CodeAlloc.h +201 -0
- data/vendor/tracemonkey/nanojit/Containers.cpp +95 -0
- data/vendor/tracemonkey/nanojit/Containers.h +463 -0
- data/vendor/tracemonkey/nanojit/Fragmento.cpp +35 -604
- data/vendor/tracemonkey/nanojit/Fragmento.h +84 -183
- data/vendor/tracemonkey/nanojit/LIR.cpp +1969 -2050
- data/vendor/tracemonkey/nanojit/LIR.h +1351 -720
- data/vendor/tracemonkey/nanojit/LIRopcode.tbl +173 -159
- data/vendor/tracemonkey/nanojit/Native.h +61 -48
- data/vendor/tracemonkey/nanojit/NativeARM.cpp +1509 -849
- data/vendor/tracemonkey/nanojit/NativeARM.h +362 -286
- data/vendor/tracemonkey/nanojit/NativePPC.cpp +1296 -0
- data/vendor/tracemonkey/nanojit/NativePPC.h +587 -0
- data/vendor/tracemonkey/nanojit/NativeSparc.cpp +146 -224
- data/vendor/tracemonkey/nanojit/NativeSparc.h +235 -229
- data/vendor/tracemonkey/nanojit/NativeX64.cpp +1434 -0
- data/vendor/tracemonkey/nanojit/NativeX64.h +392 -0
- data/vendor/tracemonkey/nanojit/Nativei386.cpp +1395 -1367
- data/vendor/tracemonkey/nanojit/Nativei386.h +519 -514
- data/vendor/tracemonkey/nanojit/RegAlloc.cpp +37 -130
- data/vendor/tracemonkey/nanojit/RegAlloc.h +90 -49
- data/vendor/tracemonkey/nanojit/avmplus.cpp +249 -32
- data/vendor/tracemonkey/nanojit/avmplus.h +121 -667
- data/vendor/tracemonkey/nanojit/manifest.mk +79 -0
- data/vendor/tracemonkey/nanojit/nanojit.h +179 -157
- data/vendor/tracemonkey/plify_jsdhash.sed +10 -6
- data/vendor/tracemonkey/prmjtime.cpp +97 -55
- data/vendor/tracemonkey/prmjtime.h +1 -1
- data/vendor/tracemonkey/{config/revdepth.pl → ref-config/HP-UXB.11.31.mk} +28 -14
- data/vendor/tracemonkey/resource.h +1 -1
- data/vendor/tracemonkey/shell/js.cpp +358 -201
- data/vendor/tracemonkey/tests/Makefile.in +78 -0
- data/vendor/tracemonkey/tests/Patterns.pm +257 -0
- data/vendor/tracemonkey/tests/README-jsDriver.html +325 -0
- data/vendor/tracemonkey/tests/SisyphusMakefile +58 -0
- data/vendor/tracemonkey/tests/bisect.sh +488 -0
- data/vendor/tracemonkey/tests/browser.js +964 -0
- data/vendor/tracemonkey/tests/changes.sh +122 -0
- data/vendor/tracemonkey/tests/config.mk +113 -0
- data/vendor/tracemonkey/tests/config.sh +138 -0
- data/vendor/tracemonkey/tests/detect-universe.sh +126 -0
- data/vendor/tracemonkey/tests/dikdik-n.tests +3 -0
- data/vendor/tracemonkey/tests/e4x/Expressions/11.1.1.js +85 -0
- data/vendor/tracemonkey/tests/e4x/Expressions/11.1.2.js +86 -0
- data/vendor/tracemonkey/tests/e4x/Expressions/11.1.3.js +56 -0
- data/vendor/tracemonkey/tests/e4x/Expressions/11.1.4-01.js +61 -0
- data/vendor/tracemonkey/tests/e4x/Expressions/11.1.4-02.js +58 -0
- data/vendor/tracemonkey/tests/e4x/Expressions/11.1.4-03.js +60 -0
- data/vendor/tracemonkey/tests/e4x/Expressions/11.1.4-04.js +56 -0
- data/vendor/tracemonkey/tests/e4x/Expressions/11.1.4-05.js +57 -0
- data/vendor/tracemonkey/tests/e4x/Expressions/11.1.4-06.js +61 -0
- data/vendor/tracemonkey/tests/e4x/Expressions/11.1.4-07.js +78 -0
- data/vendor/tracemonkey/tests/e4x/Expressions/11.1.4-08.js +158 -0
- data/vendor/tracemonkey/tests/e4x/Expressions/11.1.4.js +140 -0
- data/vendor/tracemonkey/tests/e4x/Expressions/11.1.5.js +62 -0
- data/vendor/tracemonkey/tests/e4x/Expressions/11.2.1.js +173 -0
- data/vendor/tracemonkey/tests/e4x/Expressions/11.2.2.js +106 -0
- data/vendor/tracemonkey/tests/e4x/Expressions/11.2.3.js +61 -0
- data/vendor/tracemonkey/tests/e4x/Expressions/11.2.4.js +117 -0
- data/vendor/tracemonkey/tests/e4x/Expressions/11.3.1.js +272 -0
- data/vendor/tracemonkey/tests/e4x/Expressions/11.3.2.js +52 -0
- data/vendor/tracemonkey/tests/e4x/Expressions/11.4.1.js +139 -0
- data/vendor/tracemonkey/tests/e4x/Expressions/11.5.1.js +101 -0
- data/vendor/tracemonkey/tests/e4x/Expressions/11.6.1.js +429 -0
- data/vendor/tracemonkey/tests/e4x/Expressions/11.6.2.js +326 -0
- data/vendor/tracemonkey/tests/e4x/Expressions/11.6.3.js +119 -0
- data/vendor/tracemonkey/tests/e4x/Expressions/jstests.list +30 -0
- data/vendor/tracemonkey/tests/e4x/Expressions/regress-301545.js +55 -0
- data/vendor/tracemonkey/tests/e4x/Expressions/regress-302531.js +63 -0
- data/vendor/tracemonkey/tests/e4x/Expressions/regress-340024.js +61 -0
- data/vendor/tracemonkey/tests/e4x/Expressions/regress-366123.js +67 -0
- data/vendor/tracemonkey/tests/e4x/Expressions/regress-496113.js +65 -0
- data/vendor/tracemonkey/tests/e4x/Expressions/shell.js +1 -0
- data/vendor/tracemonkey/tests/e4x/GC/jstests.list +11 -0
- data/vendor/tracemonkey/tests/e4x/GC/regress-280844-1.js +59 -0
- data/vendor/tracemonkey/tests/e4x/GC/regress-280844-2.js +71 -0
- data/vendor/tracemonkey/tests/e4x/GC/regress-292455.js +79 -0
- data/vendor/tracemonkey/tests/e4x/GC/regress-313952-01.js +68 -0
- data/vendor/tracemonkey/tests/e4x/GC/regress-313952-02.js +77 -0
- data/vendor/tracemonkey/tests/e4x/GC/regress-324117.js +98 -0
- data/vendor/tracemonkey/tests/e4x/GC/regress-324278.js +86 -0
- data/vendor/tracemonkey/tests/e4x/GC/regress-339785.js +92 -0
- data/vendor/tracemonkey/tests/e4x/GC/regress-357063-01.js +73 -0
- data/vendor/tracemonkey/tests/e4x/GC/regress-357063-02.js +69 -0
- data/vendor/tracemonkey/tests/e4x/GC/shell.js +1 -0
- data/vendor/tracemonkey/tests/e4x/Global/13.1.2.1.js +559 -0
- data/vendor/tracemonkey/tests/e4x/Global/jstests.list +2 -0
- data/vendor/tracemonkey/tests/e4x/Global/shell.js +1 -0
- data/vendor/tracemonkey/tests/e4x/Namespace/13.2.1.js +68 -0
- data/vendor/tracemonkey/tests/e4x/Namespace/13.2.2.js +86 -0
- data/vendor/tracemonkey/tests/e4x/Namespace/13.2.5.js +67 -0
- data/vendor/tracemonkey/tests/e4x/Namespace/jstests.list +9 -0
- data/vendor/tracemonkey/tests/e4x/Namespace/regress-283972.js +65 -0
- data/vendor/tracemonkey/tests/e4x/Namespace/regress-292863.js +62 -0
- data/vendor/tracemonkey/tests/e4x/Namespace/regress-350442.js +74 -0
- data/vendor/tracemonkey/tests/e4x/Namespace/regress-444608-02.js +55 -0
- data/vendor/tracemonkey/tests/e4x/Namespace/regress-444608.js +55 -0
- data/vendor/tracemonkey/tests/e4x/Namespace/shell.js +1 -0
- data/vendor/tracemonkey/tests/e4x/QName/13.3.1.js +75 -0
- data/vendor/tracemonkey/tests/e4x/QName/13.3.2.js +87 -0
- data/vendor/tracemonkey/tests/e4x/QName/13.3.5.js +67 -0
- data/vendor/tracemonkey/tests/e4x/QName/jstests.list +8 -0
- data/vendor/tracemonkey/tests/e4x/QName/regress-373595-01.js +53 -0
- data/vendor/tracemonkey/tests/e4x/QName/regress-373595-02.js +55 -0
- data/vendor/tracemonkey/tests/e4x/QName/regress-373595-03.js +55 -0
- data/vendor/tracemonkey/tests/e4x/QName/regress-444608.js +56 -0
- data/vendor/tracemonkey/tests/e4x/QName/shell.js +1 -0
- data/vendor/tracemonkey/tests/e4x/Regress/jstests.list +93 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-257679.js +52 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-263934.js +66 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-263935.js +67 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-263936.js +65 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-264369.js +53 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-271545.js +74 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-277650.js +64 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-277664.js +64 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-277683.js +65 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-277779.js +60 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-277935.js +68 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-278112.js +55 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-283349.js +57 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-290056.js +61 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-290499.js +52 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-301553.js +60 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-301573.js +57 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-301596.js +60 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-301692.js +83 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-308111.js +959 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-309897.js +68 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-311580.js +61 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-313799.js +53 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-318922.js +108 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-319872.js +78 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-321547.js +91 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-322499.js +72 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-323338-1.js +75 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-323338-2.js +52 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-325425.js +60 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-327564.js +78 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-327691-01.js +59 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-327691-02.js +59 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-327697.js +80 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-328249.js +65 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-329257.js +71 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-331558.js +54 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-331664.js +53 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-344455.js +60 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-347155.js +69 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-350206-1.js +71 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-350206.js +57 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-350238.js +65 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-350629.js +129 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-352097.js +92 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-352103.js +76 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-352223.js +71 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-354145-01.js +67 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-354145-02.js +67 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-354145-03.js +68 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-354145-04.js +66 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-354145-05.js +66 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-354145-07.js +59 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-354998.js +94 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-355474-02.js +58 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-355478.js +62 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-355569.js +163 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-356238-01.js +57 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-356238-02.js +63 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-356238-03.js +64 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-361451.js +57 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-364017.js +58 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-369032.js +63 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-369536.js +48 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-369740.js +82 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-370016.js +52 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-370048-01.js +59 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-370048-02.js +57 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-370372.js +73 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-371369.js +63 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-372563.js +52 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-372564.js +52 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-373082.js +110 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-374106.js +52 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-374112.js +52 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-374116.js +52 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-374160.js +52 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-375406.js +53 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-378492.js +60 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-380833.js +55 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-383255.js +60 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-394941.js +68 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-407323.js +67 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-426520.js +64 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-453915.js +54 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-458679-01.js +64 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-458679-02.js +76 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-460180.js +53 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-465063.js +59 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-473709.js +71 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-474319.js +60 -0
- data/vendor/tracemonkey/tests/e4x/Regress/regress-477053.js +60 -0
- data/vendor/tracemonkey/tests/e4x/Regress/shell.js +1 -0
- data/vendor/tracemonkey/tests/e4x/Statements/12.1.js +134 -0
- data/vendor/tracemonkey/tests/e4x/Statements/12.2.js +104 -0
- data/vendor/tracemonkey/tests/e4x/Statements/12.3-01.js +76 -0
- data/vendor/tracemonkey/tests/e4x/Statements/jstests.list +4 -0
- data/vendor/tracemonkey/tests/e4x/Statements/shell.js +1 -0
- data/vendor/tracemonkey/tests/e4x/TypeConversion/10.1.1.js +141 -0
- data/vendor/tracemonkey/tests/e4x/TypeConversion/10.1.2.js +148 -0
- data/vendor/tracemonkey/tests/e4x/TypeConversion/10.2.1.js +159 -0
- data/vendor/tracemonkey/tests/e4x/TypeConversion/10.3.1.js +60 -0
- data/vendor/tracemonkey/tests/e4x/TypeConversion/10.3.js +77 -0
- data/vendor/tracemonkey/tests/e4x/TypeConversion/10.4.1.js +95 -0
- data/vendor/tracemonkey/tests/e4x/TypeConversion/10.4.js +85 -0
- data/vendor/tracemonkey/tests/e4x/TypeConversion/10.5.1.js +52 -0
- data/vendor/tracemonkey/tests/e4x/TypeConversion/10.5.js +52 -0
- data/vendor/tracemonkey/tests/e4x/TypeConversion/10.6.1.js +52 -0
- data/vendor/tracemonkey/tests/e4x/TypeConversion/10.6.js +52 -0
- data/vendor/tracemonkey/tests/e4x/TypeConversion/jstests.list +13 -0
- data/vendor/tracemonkey/tests/e4x/TypeConversion/regress-302097.js +59 -0
- data/vendor/tracemonkey/tests/e4x/TypeConversion/shell.js +1 -0
- data/vendor/tracemonkey/tests/e4x/Types/9.1.1.1.js +304 -0
- data/vendor/tracemonkey/tests/e4x/Types/9.1.1.10.js +52 -0
- data/vendor/tracemonkey/tests/e4x/Types/9.1.1.11.js +52 -0
- data/vendor/tracemonkey/tests/e4x/Types/9.1.1.12.js +52 -0
- data/vendor/tracemonkey/tests/e4x/Types/9.1.1.13.js +52 -0
- data/vendor/tracemonkey/tests/e4x/Types/9.1.1.2.js +82 -0
- data/vendor/tracemonkey/tests/e4x/Types/9.1.1.3.js +213 -0
- data/vendor/tracemonkey/tests/e4x/Types/9.1.1.4.js +50 -0
- data/vendor/tracemonkey/tests/e4x/Types/9.1.1.5.js +53 -0
- data/vendor/tracemonkey/tests/e4x/Types/9.1.1.6.js +59 -0
- data/vendor/tracemonkey/tests/e4x/Types/9.1.1.7.js +53 -0
- data/vendor/tracemonkey/tests/e4x/Types/9.1.1.8.js +54 -0
- data/vendor/tracemonkey/tests/e4x/Types/9.1.1.9.js +139 -0
- data/vendor/tracemonkey/tests/e4x/Types/9.2.1.1.js +164 -0
- data/vendor/tracemonkey/tests/e4x/Types/9.2.1.10.js +53 -0
- data/vendor/tracemonkey/tests/e4x/Types/9.2.1.2.js +64 -0
- data/vendor/tracemonkey/tests/e4x/Types/9.2.1.3.js +52 -0
- data/vendor/tracemonkey/tests/e4x/Types/9.2.1.4.js +53 -0
- data/vendor/tracemonkey/tests/e4x/Types/9.2.1.5.js +54 -0
- data/vendor/tracemonkey/tests/e4x/Types/9.2.1.6.js +53 -0
- data/vendor/tracemonkey/tests/e4x/Types/9.2.1.7.js +53 -0
- data/vendor/tracemonkey/tests/e4x/Types/9.2.1.8.js +56 -0
- data/vendor/tracemonkey/tests/e4x/Types/9.2.1.9.js +81 -0
- data/vendor/tracemonkey/tests/e4x/Types/jstests.list +24 -0
- data/vendor/tracemonkey/tests/e4x/Types/shell.js +1 -0
- data/vendor/tracemonkey/tests/e4x/XML/13.4.1.js +113 -0
- data/vendor/tracemonkey/tests/e4x/XML/13.4.2.js +116 -0
- data/vendor/tracemonkey/tests/e4x/XML/13.4.3.10.js +52 -0
- data/vendor/tracemonkey/tests/e4x/XML/13.4.3.js +239 -0
- data/vendor/tracemonkey/tests/e4x/XML/13.4.4.1.js +52 -0
- data/vendor/tracemonkey/tests/e4x/XML/13.4.4.10.js +100 -0
- data/vendor/tracemonkey/tests/e4x/XML/13.4.4.11.js +91 -0
- data/vendor/tracemonkey/tests/e4x/XML/13.4.4.12-1.js +89 -0
- data/vendor/tracemonkey/tests/e4x/XML/13.4.4.12.js +69 -0
- data/vendor/tracemonkey/tests/e4x/XML/13.4.4.13.js +49 -0
- data/vendor/tracemonkey/tests/e4x/XML/13.4.4.14.js +69 -0
- data/vendor/tracemonkey/tests/e4x/XML/13.4.4.15.js +79 -0
- data/vendor/tracemonkey/tests/e4x/XML/13.4.4.16.js +78 -0
- data/vendor/tracemonkey/tests/e4x/XML/13.4.4.17.js +64 -0
- data/vendor/tracemonkey/tests/e4x/XML/13.4.4.18.js +84 -0
- data/vendor/tracemonkey/tests/e4x/XML/13.4.4.19.js +84 -0
- data/vendor/tracemonkey/tests/e4x/XML/13.4.4.2.js +69 -0
- data/vendor/tracemonkey/tests/e4x/XML/13.4.4.20.js +65 -0
- data/vendor/tracemonkey/tests/e4x/XML/13.4.4.21.js +81 -0
- data/vendor/tracemonkey/tests/e4x/XML/13.4.4.22.js +81 -0
- data/vendor/tracemonkey/tests/e4x/XML/13.4.4.23.js +93 -0
- data/vendor/tracemonkey/tests/e4x/XML/13.4.4.24.js +64 -0
- data/vendor/tracemonkey/tests/e4x/XML/13.4.4.25.js +62 -0
- data/vendor/tracemonkey/tests/e4x/XML/13.4.4.26.js +138 -0
- data/vendor/tracemonkey/tests/e4x/XML/13.4.4.27.js +63 -0
- data/vendor/tracemonkey/tests/e4x/XML/13.4.4.28.js +73 -0
- data/vendor/tracemonkey/tests/e4x/XML/13.4.4.29.js +93 -0
- data/vendor/tracemonkey/tests/e4x/XML/13.4.4.3-01.js +72 -0
- data/vendor/tracemonkey/tests/e4x/XML/13.4.4.3-02.js +62 -0
- data/vendor/tracemonkey/tests/e4x/XML/13.4.4.3.js +84 -0
- data/vendor/tracemonkey/tests/e4x/XML/13.4.4.30.js +62 -0
- data/vendor/tracemonkey/tests/e4x/XML/13.4.4.31.js +78 -0
- data/vendor/tracemonkey/tests/e4x/XML/13.4.4.32-01.js +56 -0
- data/vendor/tracemonkey/tests/e4x/XML/13.4.4.32.js +100 -0
- data/vendor/tracemonkey/tests/e4x/XML/13.4.4.33.js +80 -0
- data/vendor/tracemonkey/tests/e4x/XML/13.4.4.34.js +77 -0
- data/vendor/tracemonkey/tests/e4x/XML/13.4.4.35.js +91 -0
- data/vendor/tracemonkey/tests/e4x/XML/13.4.4.36.js +72 -0
- data/vendor/tracemonkey/tests/e4x/XML/13.4.4.37.js +67 -0
- data/vendor/tracemonkey/tests/e4x/XML/13.4.4.38.js +107 -0
- data/vendor/tracemonkey/tests/e4x/XML/13.4.4.39.js +129 -0
- data/vendor/tracemonkey/tests/e4x/XML/13.4.4.4.js +76 -0
- data/vendor/tracemonkey/tests/e4x/XML/13.4.4.40.js +69 -0
- data/vendor/tracemonkey/tests/e4x/XML/13.4.4.5.js +71 -0
- data/vendor/tracemonkey/tests/e4x/XML/13.4.4.6.js +68 -0
- data/vendor/tracemonkey/tests/e4x/XML/13.4.4.7.js +62 -0
- data/vendor/tracemonkey/tests/e4x/XML/13.4.4.8.js +69 -0
- data/vendor/tracemonkey/tests/e4x/XML/13.4.4.9.js +63 -0
- data/vendor/tracemonkey/tests/e4x/XML/jstests.list +55 -0
- data/vendor/tracemonkey/tests/e4x/XML/regress-291930.js +54 -0
- data/vendor/tracemonkey/tests/e4x/XML/regress-324422-1.js +78 -0
- data/vendor/tracemonkey/tests/e4x/XML/regress-324422-2.js +72 -0
- data/vendor/tracemonkey/tests/e4x/XML/regress-324688.js +105 -0
- data/vendor/tracemonkey/tests/e4x/XML/regress-336921.js +63 -0
- data/vendor/tracemonkey/tests/e4x/XML/regress-376773.js +584 -0
- data/vendor/tracemonkey/tests/e4x/XML/shell.js +1 -0
- data/vendor/tracemonkey/tests/e4x/XMLList/13.5.1.js +97 -0
- data/vendor/tracemonkey/tests/e4x/XMLList/13.5.2.js +91 -0
- data/vendor/tracemonkey/tests/e4x/XMLList/13.5.4.10.js +48 -0
- data/vendor/tracemonkey/tests/e4x/XMLList/13.5.4.11.js +76 -0
- data/vendor/tracemonkey/tests/e4x/XMLList/13.5.4.12.js +105 -0
- data/vendor/tracemonkey/tests/e4x/XMLList/13.5.4.13.js +105 -0
- data/vendor/tracemonkey/tests/e4x/XMLList/13.5.4.14.js +80 -0
- data/vendor/tracemonkey/tests/e4x/XMLList/13.5.4.15.js +49 -0
- data/vendor/tracemonkey/tests/e4x/XMLList/13.5.4.16.js +78 -0
- data/vendor/tracemonkey/tests/e4x/XMLList/13.5.4.17.js +49 -0
- data/vendor/tracemonkey/tests/e4x/XMLList/13.5.4.18.js +49 -0
- data/vendor/tracemonkey/tests/e4x/XMLList/13.5.4.19.js +49 -0
- data/vendor/tracemonkey/tests/e4x/XMLList/13.5.4.2.js +87 -0
- data/vendor/tracemonkey/tests/e4x/XMLList/13.5.4.20.js +57 -0
- data/vendor/tracemonkey/tests/e4x/XMLList/13.5.4.21.js +57 -0
- data/vendor/tracemonkey/tests/e4x/XMLList/13.5.4.22.js +50 -0
- data/vendor/tracemonkey/tests/e4x/XMLList/13.5.4.3.js +74 -0
- data/vendor/tracemonkey/tests/e4x/XMLList/13.5.4.4.js +86 -0
- data/vendor/tracemonkey/tests/e4x/XMLList/13.5.4.5.js +96 -0
- data/vendor/tracemonkey/tests/e4x/XMLList/13.5.4.6.js +49 -0
- data/vendor/tracemonkey/tests/e4x/XMLList/13.5.4.7.js +59 -0
- data/vendor/tracemonkey/tests/e4x/XMLList/13.5.4.8.js +75 -0
- data/vendor/tracemonkey/tests/e4x/XMLList/13.5.4.9.js +84 -0
- data/vendor/tracemonkey/tests/e4x/XMLList/jstests.list +25 -0
- data/vendor/tracemonkey/tests/e4x/XMLList/regress-373072.js +61 -0
- data/vendor/tracemonkey/tests/e4x/XMLList/shell.js +1 -0
- data/vendor/tracemonkey/tests/e4x/browser.js +82 -0
- data/vendor/tracemonkey/tests/e4x/decompilation/decompile-xml-escapes.js +78 -0
- data/vendor/tracemonkey/tests/e4x/decompilation/jstests.list +19 -0
- data/vendor/tracemonkey/tests/e4x/decompilation/regress-349814.js +62 -0
- data/vendor/tracemonkey/tests/e4x/decompilation/regress-349815.js +56 -0
- data/vendor/tracemonkey/tests/e4x/decompilation/regress-349822.js +63 -0
- data/vendor/tracemonkey/tests/e4x/decompilation/regress-349956.js +60 -0
- data/vendor/tracemonkey/tests/e4x/decompilation/regress-350226.js +55 -0
- data/vendor/tracemonkey/tests/e4x/decompilation/regress-350531.js +61 -0
- data/vendor/tracemonkey/tests/e4x/decompilation/regress-351706.js +61 -0
- data/vendor/tracemonkey/tests/e4x/decompilation/regress-351988.js +56 -0
- data/vendor/tracemonkey/tests/e4x/decompilation/regress-352013.js +137 -0
- data/vendor/tracemonkey/tests/e4x/decompilation/regress-352459.js +54 -0
- data/vendor/tracemonkey/tests/e4x/decompilation/regress-352649.js +54 -0
- data/vendor/tracemonkey/tests/e4x/decompilation/regress-352789.js +66 -0
- data/vendor/tracemonkey/tests/e4x/decompilation/regress-355101.js +54 -0
- data/vendor/tracemonkey/tests/e4x/decompilation/regress-355474-01.js +61 -0
- data/vendor/tracemonkey/tests/e4x/decompilation/regress-373678.js +55 -0
- data/vendor/tracemonkey/tests/e4x/decompilation/regress-429249.js +64 -0
- data/vendor/tracemonkey/tests/e4x/decompilation/regress-461233.js +56 -0
- data/vendor/tracemonkey/tests/e4x/decompilation/shell.js +1 -0
- data/vendor/tracemonkey/tests/e4x/extensions/jstests.list +21 -0
- data/vendor/tracemonkey/tests/e4x/extensions/regress-305335.js +62 -0
- data/vendor/tracemonkey/tests/e4x/extensions/regress-312196.js +115 -0
- data/vendor/tracemonkey/tests/e4x/extensions/regress-313080.js +60 -0
- data/vendor/tracemonkey/tests/e4x/extensions/regress-321547.js +61 -0
- data/vendor/tracemonkey/tests/e4x/extensions/regress-327534.js +61 -0
- data/vendor/tracemonkey/tests/e4x/extensions/regress-327897.js +66 -0
- data/vendor/tracemonkey/tests/e4x/extensions/regress-337226.js +52 -0
- data/vendor/tracemonkey/tests/e4x/extensions/regress-352846-01.js +81 -0
- data/vendor/tracemonkey/tests/e4x/extensions/regress-352846-02.js +86 -0
- data/vendor/tracemonkey/tests/e4x/extensions/regress-352846-03.js +86 -0
- data/vendor/tracemonkey/tests/e4x/extensions/regress-353165.js +115 -0
- data/vendor/tracemonkey/tests/e4x/extensions/regress-354145-06.js +67 -0
- data/vendor/tracemonkey/tests/e4x/extensions/regress-354151-01.js +63 -0
- data/vendor/tracemonkey/tests/e4x/extensions/regress-354151-02.js +69 -0
- data/vendor/tracemonkey/tests/e4x/extensions/regress-374025.js +54 -0
- data/vendor/tracemonkey/tests/e4x/extensions/regress-374163.js +62 -0
- data/vendor/tracemonkey/tests/e4x/extensions/regress-410192.js +55 -0
- data/vendor/tracemonkey/tests/e4x/extensions/regress-450871-01.js +67 -0
- data/vendor/tracemonkey/tests/e4x/extensions/regress-450871-02.js +68 -0
- data/vendor/tracemonkey/tests/e4x/extensions/regress-462734-01.js +67 -0
- data/vendor/tracemonkey/tests/e4x/extensions/shell.js +1 -0
- data/vendor/tracemonkey/tests/e4x/jstests.list +13 -0
- data/vendor/tracemonkey/tests/e4x/shell.js +121 -0
- data/vendor/tracemonkey/tests/e4x/template.js +51 -0
- data/vendor/tracemonkey/tests/ecma/Array/15.4-1.js +133 -0
- data/vendor/tracemonkey/tests/ecma/Array/15.4-2.js +114 -0
- data/vendor/tracemonkey/tests/ecma/Array/15.4.1.1.js +111 -0
- data/vendor/tracemonkey/tests/ecma/Array/15.4.1.2.js +162 -0
- data/vendor/tracemonkey/tests/ecma/Array/15.4.1.3.js +84 -0
- data/vendor/tracemonkey/tests/ecma/Array/15.4.1.js +132 -0
- data/vendor/tracemonkey/tests/ecma/Array/15.4.2.1-1.js +112 -0
- data/vendor/tracemonkey/tests/ecma/Array/15.4.2.1-2.js +101 -0
- data/vendor/tracemonkey/tests/ecma/Array/15.4.2.1-3.js +137 -0
- data/vendor/tracemonkey/tests/ecma/Array/15.4.2.2-1.js +183 -0
- data/vendor/tracemonkey/tests/ecma/Array/15.4.2.2-2.js +118 -0
- data/vendor/tracemonkey/tests/ecma/Array/15.4.2.3.js +101 -0
- data/vendor/tracemonkey/tests/ecma/Array/15.4.3.1-2.js +81 -0
- data/vendor/tracemonkey/tests/ecma/Array/15.4.3.2.js +62 -0
- data/vendor/tracemonkey/tests/ecma/Array/15.4.4.1.js +63 -0
- data/vendor/tracemonkey/tests/ecma/Array/15.4.4.2.js +110 -0
- data/vendor/tracemonkey/tests/ecma/Array/15.4.4.3-1.js +163 -0
- data/vendor/tracemonkey/tests/ecma/Array/15.4.4.4-1.js +294 -0
- data/vendor/tracemonkey/tests/ecma/Array/15.4.4.4-2.js +169 -0
- data/vendor/tracemonkey/tests/ecma/Array/15.4.4.5-1.js +225 -0
- data/vendor/tracemonkey/tests/ecma/Array/15.4.4.5-2.js +227 -0
- data/vendor/tracemonkey/tests/ecma/Array/15.4.4.5-3.js +182 -0
- data/vendor/tracemonkey/tests/ecma/Array/15.4.4.js +74 -0
- data/vendor/tracemonkey/tests/ecma/Array/15.4.5.1-1.js +170 -0
- data/vendor/tracemonkey/tests/ecma/Array/15.4.5.1-2.js +152 -0
- data/vendor/tracemonkey/tests/ecma/Array/15.4.5.2-1.js +86 -0
- data/vendor/tracemonkey/tests/ecma/Array/15.4.5.2-2.js +127 -0
- data/vendor/tracemonkey/tests/ecma/Array/jstests.list +28 -0
- data/vendor/tracemonkey/tests/ecma/Array/shell.js +1 -0
- data/vendor/tracemonkey/tests/ecma/Boolean/15.6.1.js +96 -0
- data/vendor/tracemonkey/tests/ecma/Boolean/15.6.2.js +161 -0
- data/vendor/tracemonkey/tests/ecma/Boolean/15.6.3.1-1.js +72 -0
- data/vendor/tracemonkey/tests/ecma/Boolean/15.6.3.1-2.js +71 -0
- data/vendor/tracemonkey/tests/ecma/Boolean/15.6.3.1-3.js +71 -0
- data/vendor/tracemonkey/tests/ecma/Boolean/15.6.3.1-4.js +75 -0
- data/vendor/tracemonkey/tests/ecma/Boolean/15.6.3.1.js +69 -0
- data/vendor/tracemonkey/tests/ecma/Boolean/15.6.4-1.js +72 -0
- data/vendor/tracemonkey/tests/ecma/Boolean/15.6.4.1.js +62 -0
- data/vendor/tracemonkey/tests/ecma/Boolean/15.6.4.2-1.js +97 -0
- data/vendor/tracemonkey/tests/ecma/Boolean/15.6.4.2-2.js +73 -0
- data/vendor/tracemonkey/tests/ecma/Boolean/15.6.4.2-3.js +65 -0
- data/vendor/tracemonkey/tests/ecma/Boolean/15.6.4.2-4-n.js +69 -0
- data/vendor/tracemonkey/tests/ecma/Boolean/15.6.4.3-1.js +88 -0
- data/vendor/tracemonkey/tests/ecma/Boolean/15.6.4.3-2.js +67 -0
- data/vendor/tracemonkey/tests/ecma/Boolean/15.6.4.3-3.js +66 -0
- data/vendor/tracemonkey/tests/ecma/Boolean/15.6.4.3-4-n.js +69 -0
- data/vendor/tracemonkey/tests/ecma/Boolean/15.6.4.3.js +83 -0
- data/vendor/tracemonkey/tests/ecma/Boolean/15.6.4.js +80 -0
- data/vendor/tracemonkey/tests/ecma/Boolean/jstests.list +20 -0
- data/vendor/tracemonkey/tests/ecma/Boolean/shell.js +1 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.1.1-1.js +95 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.1.1-2.js +90 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.1.13-1.js +78 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.2.1.js +174 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.2.2-1.js +86 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.2.2-2.js +89 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.2.2-3.js +86 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.2.2-4.js +82 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.2.2-5.js +86 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.2.2-6.js +85 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.3.1-1.js +239 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.3.1-2.js +152 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.3.1-3.js +141 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.3.1-4.js +151 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.3.1-5.js +140 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.3.2-1.js +150 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.3.2-2.js +141 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.3.2-3.js +145 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.3.2-4.js +142 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.3.2-5.js +139 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.3.8-1.js +155 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.3.8-2.js +153 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.3.8-3.js +160 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.3.8-4.js +161 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.3.8-5.js +161 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.4.2-1.js +81 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.4.2.js +191 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.4.3.js +185 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.1.js +63 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.10-1.js +85 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.10-10.js +89 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.10-11.js +89 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.10-12.js +89 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.10-13.js +89 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.10-2.js +85 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.10-3.js +85 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.10-4.js +85 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.10-5.js +85 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.10-6.js +85 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.10-7.js +85 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.10-8.js +89 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.10-9.js +89 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.11-1.js +76 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.11-2.js +76 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.11-3.js +76 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.11-4.js +76 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.11-5.js +76 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.11-6.js +76 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.11-7.js +76 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.12-1.js +77 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.12-2.js +77 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.12-3.js +77 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.12-4.js +77 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.12-5.js +77 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.12-6.js +77 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.12-7.js +77 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.12-8.js +71 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.13-1.js +79 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.13-2.js +76 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.13-3.js +77 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.13-4.js +77 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.13-5.js +77 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.13-6.js +77 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.13-7.js +76 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.13-8.js +71 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.14.js +87 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.15.js +88 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.16.js +87 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.17.js +88 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.18.js +88 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.19.js +88 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.2-1.js +151 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.2-2-n.js +84 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.2.js +151 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.20.js +88 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.21-1.js +70 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.21-2.js +70 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.21-3.js +70 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.21-4.js +70 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.21-5.js +70 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.21-6.js +70 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.21-7.js +70 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.21-8.js +71 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.22-1.js +89 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.22-2.js +74 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.22-3.js +74 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.22-4.js +74 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.22-5.js +74 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.22-6.js +74 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.22-7.js +74 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.22-8.js +72 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.23-1.js +139 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.23-10.js +139 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.23-11.js +140 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.23-12.js +137 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.23-13.js +137 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.23-14.js +137 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.23-15.js +137 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.23-16.js +137 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.23-17.js +137 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.23-18.js +137 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.23-2.js +109 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.23-3-n.js +79 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.23-4.js +112 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.23-5.js +113 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.23-6.js +112 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.23-7.js +113 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.23-8.js +103 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.23-9.js +103 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.24-1.js +134 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.24-2.js +134 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.24-3.js +134 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.24-4.js +134 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.24-5.js +134 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.24-6.js +134 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.24-7.js +134 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.24-8.js +133 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.25-1.js +174 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.26-1.js +183 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.27-1.js +183 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.28-1.js +196 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.29-1.js +191 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.3-1-n.js +80 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.3-2.js +104 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.30-1.js +192 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.31-1.js +222 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.32-1.js +141 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.33-1.js +145 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.34-1.js +182 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.35-1.js +139 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.36-1.js +165 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.36-2.js +164 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.36-3.js +163 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.36-4.js +163 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.36-5.js +163 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.36-6.js +163 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.36-7.js +163 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.37-1.js +173 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.37-2.js +161 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.37-3.js +164 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.37-4.js +163 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.37-5.js +159 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.4-1.js +93 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.4-2-n.js +76 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.5.js +112 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.6.js +104 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.7.js +105 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.8.js +113 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.9.js +113 -0
- data/vendor/tracemonkey/tests/ecma/Date/15.9.5.js +83 -0
- data/vendor/tracemonkey/tests/ecma/Date/jstests.list +151 -0
- data/vendor/tracemonkey/tests/ecma/Date/shell.js +1 -0
- data/vendor/tracemonkey/tests/ecma/ExecutionContexts/10.1.3-1.js +107 -0
- data/vendor/tracemonkey/tests/ecma/ExecutionContexts/10.1.3-2.js +73 -0
- data/vendor/tracemonkey/tests/ecma/ExecutionContexts/10.1.3.js +170 -0
- data/vendor/tracemonkey/tests/ecma/ExecutionContexts/10.1.4-1.js +111 -0
- data/vendor/tracemonkey/tests/ecma/ExecutionContexts/10.1.4-10.js +105 -0
- data/vendor/tracemonkey/tests/ecma/ExecutionContexts/10.1.4-2.js +113 -0
- data/vendor/tracemonkey/tests/ecma/ExecutionContexts/10.1.4-3.js +111 -0
- data/vendor/tracemonkey/tests/ecma/ExecutionContexts/10.1.4-4.js +113 -0
- data/vendor/tracemonkey/tests/ecma/ExecutionContexts/10.1.4-5.js +112 -0
- data/vendor/tracemonkey/tests/ecma/ExecutionContexts/10.1.4-6.js +100 -0
- data/vendor/tracemonkey/tests/ecma/ExecutionContexts/10.1.4-7.js +112 -0
- data/vendor/tracemonkey/tests/ecma/ExecutionContexts/10.1.4-8.js +113 -0
- data/vendor/tracemonkey/tests/ecma/ExecutionContexts/10.1.5-1.js +118 -0
- data/vendor/tracemonkey/tests/ecma/ExecutionContexts/10.1.5-2.js +100 -0
- data/vendor/tracemonkey/tests/ecma/ExecutionContexts/10.1.5-3.js +130 -0
- data/vendor/tracemonkey/tests/ecma/ExecutionContexts/10.1.5-4.js +91 -0
- data/vendor/tracemonkey/tests/ecma/ExecutionContexts/10.1.8-2.js +120 -0
- data/vendor/tracemonkey/tests/ecma/ExecutionContexts/10.1.8-3.js +66 -0
- data/vendor/tracemonkey/tests/ecma/ExecutionContexts/10.2.1.js +85 -0
- data/vendor/tracemonkey/tests/ecma/ExecutionContexts/10.2.2-1.js +122 -0
- data/vendor/tracemonkey/tests/ecma/ExecutionContexts/10.2.2-2.js +133 -0
- data/vendor/tracemonkey/tests/ecma/ExecutionContexts/10.2.3-1.js +86 -0
- data/vendor/tracemonkey/tests/ecma/ExecutionContexts/10.2.3-2.js +92 -0
- data/vendor/tracemonkey/tests/ecma/ExecutionContexts/jstests.list +24 -0
- data/vendor/tracemonkey/tests/ecma/ExecutionContexts/shell.js +1 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.1.1.js +137 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.10-1.js +270 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.10-2.js +269 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.10-3.js +268 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.12-1.js +110 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.12-2-n.js +74 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.12-3.js +71 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.12-4.js +71 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.13.1.js +72 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.13.2-1.js +231 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.13.2-2.js +253 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.13.2-3.js +300 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.13.2-4.js +137 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.13.2-5.js +137 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.13.js +86 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.14-1.js +73 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.2.1-1.js +272 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.2.1-2.js +128 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.2.1-3-n.js +128 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.2.1-4-n.js +128 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.2.1-5.js +128 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.2.2-1-n.js +104 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.2.2-1.js +100 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.2.2-10-n.js +102 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.2.2-11.js +104 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.2.2-2-n.js +104 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.2.2-3-n.js +100 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.2.2-4-n.js +104 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.2.2-5-n.js +104 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.2.2-6-n.js +103 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.2.2-7-n.js +104 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.2.2-8-n.js +104 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.2.2-9-n.js +104 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.2.3-1.js +125 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.2.3-2-n.js +94 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.2.3-3-n.js +91 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.2.3-4-n.js +91 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.2.3-5.js +85 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.3.1.js +153 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.3.2.js +153 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.4.1.js +92 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.4.2.js +83 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.4.3.js +111 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.4.4.js +156 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.4.5.js +154 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.4.6.js +299 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.4.7-01.js +299 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.4.7-02.js +87 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.4.8.js +215 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.4.9.js +94 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.5.1.js +115 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.5.2.js +154 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.5.3.js +161 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.6.1-1.js +160 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.6.1-2.js +164 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.6.1-3.js +150 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.6.2-1.js +165 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.6.3.js +115 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.7.1.js +228 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.7.2.js +246 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.7.3.js +230 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.8.1.js +121 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.8.2.js +121 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.8.3.js +120 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.8.4.js +121 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.9.1.js +159 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.9.2.js +159 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/11.9.3.js +159 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/jstests.list +69 -0
- data/vendor/tracemonkey/tests/ecma/Expressions/shell.js +1 -0
- data/vendor/tracemonkey/tests/ecma/FunctionObjects/15.3.1.1-1.js +136 -0
- data/vendor/tracemonkey/tests/ecma/FunctionObjects/15.3.1.1-2.js +183 -0
- data/vendor/tracemonkey/tests/ecma/FunctionObjects/15.3.1.1-3.js +99 -0
- data/vendor/tracemonkey/tests/ecma/FunctionObjects/15.3.2.1-1.js +132 -0
- data/vendor/tracemonkey/tests/ecma/FunctionObjects/15.3.2.1-2.js +107 -0
- data/vendor/tracemonkey/tests/ecma/FunctionObjects/15.3.2.1-3.js +95 -0
- data/vendor/tracemonkey/tests/ecma/FunctionObjects/15.3.3.1-2.js +70 -0
- data/vendor/tracemonkey/tests/ecma/FunctionObjects/15.3.3.1-3.js +79 -0
- data/vendor/tracemonkey/tests/ecma/FunctionObjects/15.3.3.1-4.js +70 -0
- data/vendor/tracemonkey/tests/ecma/FunctionObjects/15.3.3.2.js +62 -0
- data/vendor/tracemonkey/tests/ecma/FunctionObjects/15.3.4-1.js +94 -0
- data/vendor/tracemonkey/tests/ecma/FunctionObjects/15.3.4.1.js +61 -0
- data/vendor/tracemonkey/tests/ecma/FunctionObjects/15.3.4.js +81 -0
- data/vendor/tracemonkey/tests/ecma/FunctionObjects/15.3.5-1.js +117 -0
- data/vendor/tracemonkey/tests/ecma/FunctionObjects/15.3.5-2.js +90 -0
- data/vendor/tracemonkey/tests/ecma/FunctionObjects/15.3.5.1.js +83 -0
- data/vendor/tracemonkey/tests/ecma/FunctionObjects/15.3.5.3.js +72 -0
- data/vendor/tracemonkey/tests/ecma/FunctionObjects/jstests.list +18 -0
- data/vendor/tracemonkey/tests/ecma/FunctionObjects/shell.js +1 -0
- data/vendor/tracemonkey/tests/ecma/GlobalObject/15.1-1-n.js +70 -0
- data/vendor/tracemonkey/tests/ecma/GlobalObject/15.1-2-n.js +67 -0
- data/vendor/tracemonkey/tests/ecma/GlobalObject/15.1.1.1.js +63 -0
- data/vendor/tracemonkey/tests/ecma/GlobalObject/15.1.1.2.js +62 -0
- data/vendor/tracemonkey/tests/ecma/GlobalObject/15.1.2.1-2.js +66 -0
- data/vendor/tracemonkey/tests/ecma/GlobalObject/15.1.2.2-1.js +410 -0
- data/vendor/tracemonkey/tests/ecma/GlobalObject/15.1.2.2-2.js +238 -0
- data/vendor/tracemonkey/tests/ecma/GlobalObject/15.1.2.3-1.js +441 -0
- data/vendor/tracemonkey/tests/ecma/GlobalObject/15.1.2.3-2.js +291 -0
- data/vendor/tracemonkey/tests/ecma/GlobalObject/15.1.2.4.js +205 -0
- data/vendor/tracemonkey/tests/ecma/GlobalObject/15.1.2.5-1.js +206 -0
- data/vendor/tracemonkey/tests/ecma/GlobalObject/15.1.2.5-2.js +183 -0
- data/vendor/tracemonkey/tests/ecma/GlobalObject/15.1.2.5-3.js +207 -0
- data/vendor/tracemonkey/tests/ecma/GlobalObject/15.1.2.6.js +125 -0
- data/vendor/tracemonkey/tests/ecma/GlobalObject/15.1.2.7.js +130 -0
- data/vendor/tracemonkey/tests/ecma/GlobalObject/jstests.list +16 -0
- data/vendor/tracemonkey/tests/ecma/GlobalObject/shell.js +1 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.1-1.js +82 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.1-2.js +73 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.1-3.js +89 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.2-1.js +73 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.2-2-n.js +74 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.2-3-n.js +74 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.2-4-n.js +73 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.2-5-n.js +72 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.2-6.js +68 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.3-1.js +92 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.3-10.js +65 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.3-11.js +66 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.3-12.js +64 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.3-13-n.js +66 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.3-2.js +65 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.3-3.js +65 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.3-4.js +65 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.3-5.js +65 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.3-6.js +65 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.3-7.js +66 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.3-8.js +65 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.3-9.js +65 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.1-1-n.js +71 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.1-2-n.js +71 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.1-3-n.js +69 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.2-1-n.js +77 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.2-10-n.js +77 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.2-11-n.js +77 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.2-12-n.js +77 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.2-13-n.js +77 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.2-14-n.js +77 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.2-15-n.js +77 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.2-16-n.js +77 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.2-2-n.js +77 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.2-3-n.js +77 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.2-4-n.js +77 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.2-5-n.js +77 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.2-6-n.js +77 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.2-7-n.js +75 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.2-8-n.js +76 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.2-9-n.js +77 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.3-1-n.js +71 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.3-10-n.js +71 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.3-11-n.js +71 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.3-12-n.js +71 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.3-13-n.js +71 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.3-14-n.js +103 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.3-15-n.js +97 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.3-16-n.js +88 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.3-2-n.js +71 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.3-3-n.js +71 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.3-4-n.js +102 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.3-5-n.js +71 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.3-6-n.js +71 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.3-7-n.js +103 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.3-8-n.js +71 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.3-9-n.js +104 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.5-1.js +62 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.5-10-n.js +64 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.5-2-n.js +64 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.5-3-n.js +64 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.5-4-n.js +64 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.5-5-n.js +64 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.5-6.js +61 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.5-7.js +61 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.5-8-n.js +64 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.5-9-n.js +64 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.6.js +313 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.7.1.js +64 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.7.2.js +71 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.7.3-1.js +198 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.7.3-2.js +93 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.7.3.js +331 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.7.4.js +269 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.8.2-n.js +63 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/jstests.list +76 -0
- data/vendor/tracemonkey/tests/ecma/LexicalConventions/shell.js +1 -0
- data/vendor/tracemonkey/tests/ecma/Math/15.8-2-n.js +82 -0
- data/vendor/tracemonkey/tests/ecma/Math/15.8-3-n.js +81 -0
- data/vendor/tracemonkey/tests/ecma/Math/15.8.1.1-1.js +64 -0
- data/vendor/tracemonkey/tests/ecma/Math/15.8.1.1-2.js +69 -0
- data/vendor/tracemonkey/tests/ecma/Math/15.8.1.2-1.js +64 -0
- data/vendor/tracemonkey/tests/ecma/Math/15.8.1.2-2.js +70 -0
- data/vendor/tracemonkey/tests/ecma/Math/15.8.1.3-1.js +65 -0
- data/vendor/tracemonkey/tests/ecma/Math/15.8.1.3-2.js +72 -0
- data/vendor/tracemonkey/tests/ecma/Math/15.8.1.4-1.js +65 -0
- data/vendor/tracemonkey/tests/ecma/Math/15.8.1.4-2.js +69 -0
- data/vendor/tracemonkey/tests/ecma/Math/15.8.1.5-1.js +66 -0
- data/vendor/tracemonkey/tests/ecma/Math/15.8.1.5-2.js +70 -0
- data/vendor/tracemonkey/tests/ecma/Math/15.8.1.6-1.js +65 -0
- data/vendor/tracemonkey/tests/ecma/Math/15.8.1.6-2.js +70 -0
- data/vendor/tracemonkey/tests/ecma/Math/15.8.1.7-1.js +65 -0
- data/vendor/tracemonkey/tests/ecma/Math/15.8.1.7-2.js +70 -0
- data/vendor/tracemonkey/tests/ecma/Math/15.8.1.8-1.js +65 -0
- data/vendor/tracemonkey/tests/ecma/Math/15.8.1.8-2.js +69 -0
- data/vendor/tracemonkey/tests/ecma/Math/15.8.1.8-3.js +63 -0
- data/vendor/tracemonkey/tests/ecma/Math/15.8.1.js +149 -0
- data/vendor/tracemonkey/tests/ecma/Math/15.8.2.1.js +226 -0
- data/vendor/tracemonkey/tests/ecma/Math/15.8.2.10.js +153 -0
- data/vendor/tracemonkey/tests/ecma/Math/15.8.2.11.js +200 -0
- data/vendor/tracemonkey/tests/ecma/Math/15.8.2.12.js +177 -0
- data/vendor/tracemonkey/tests/ecma/Math/15.8.2.13.js +385 -0
- data/vendor/tracemonkey/tests/ecma/Math/15.8.2.14.js +79 -0
- data/vendor/tracemonkey/tests/ecma/Math/15.8.2.15.js +202 -0
- data/vendor/tracemonkey/tests/ecma/Math/15.8.2.16.js +132 -0
- data/vendor/tracemonkey/tests/ecma/Math/15.8.2.17.js +217 -0
- data/vendor/tracemonkey/tests/ecma/Math/15.8.2.18.js +165 -0
- data/vendor/tracemonkey/tests/ecma/Math/15.8.2.2.js +156 -0
- data/vendor/tracemonkey/tests/ecma/Math/15.8.2.3.js +158 -0
- data/vendor/tracemonkey/tests/ecma/Math/15.8.2.4.js +156 -0
- data/vendor/tracemonkey/tests/ecma/Math/15.8.2.5.js +244 -0
- data/vendor/tracemonkey/tests/ecma/Math/15.8.2.6.js +232 -0
- data/vendor/tracemonkey/tests/ecma/Math/15.8.2.7.js +283 -0
- data/vendor/tracemonkey/tests/ecma/Math/15.8.2.8.js +134 -0
- data/vendor/tracemonkey/tests/ecma/Math/15.8.2.9.js +191 -0
- data/vendor/tracemonkey/tests/ecma/Math/jstests.list +39 -0
- data/vendor/tracemonkey/tests/ecma/Math/shell.js +1 -0
- data/vendor/tracemonkey/tests/ecma/NativeObjects/shell.js +1 -0
- data/vendor/tracemonkey/tests/ecma/Number/15.7.1.js +88 -0
- data/vendor/tracemonkey/tests/ecma/Number/15.7.2.js +168 -0
- data/vendor/tracemonkey/tests/ecma/Number/15.7.3.1-1.js +71 -0
- data/vendor/tracemonkey/tests/ecma/Number/15.7.3.1-2.js +71 -0
- data/vendor/tracemonkey/tests/ecma/Number/15.7.3.1-3.js +67 -0
- data/vendor/tracemonkey/tests/ecma/Number/15.7.3.2-1.js +65 -0
- data/vendor/tracemonkey/tests/ecma/Number/15.7.3.2-2.js +70 -0
- data/vendor/tracemonkey/tests/ecma/Number/15.7.3.2-3.js +67 -0
- data/vendor/tracemonkey/tests/ecma/Number/15.7.3.2-4.js +64 -0
- data/vendor/tracemonkey/tests/ecma/Number/15.7.3.3-1.js +68 -0
- data/vendor/tracemonkey/tests/ecma/Number/15.7.3.3-2.js +73 -0
- data/vendor/tracemonkey/tests/ecma/Number/15.7.3.3-3.js +64 -0
- data/vendor/tracemonkey/tests/ecma/Number/15.7.3.3-4.js +66 -0
- data/vendor/tracemonkey/tests/ecma/Number/15.7.3.4-1.js +66 -0
- data/vendor/tracemonkey/tests/ecma/Number/15.7.3.4-2.js +71 -0
- data/vendor/tracemonkey/tests/ecma/Number/15.7.3.4-3.js +65 -0
- data/vendor/tracemonkey/tests/ecma/Number/15.7.3.4-4.js +66 -0
- data/vendor/tracemonkey/tests/ecma/Number/15.7.3.5-1.js +64 -0
- data/vendor/tracemonkey/tests/ecma/Number/15.7.3.5-2.js +70 -0
- data/vendor/tracemonkey/tests/ecma/Number/15.7.3.5-3.js +65 -0
- data/vendor/tracemonkey/tests/ecma/Number/15.7.3.5-4.js +66 -0
- data/vendor/tracemonkey/tests/ecma/Number/15.7.3.6-1.js +65 -0
- data/vendor/tracemonkey/tests/ecma/Number/15.7.3.6-2.js +69 -0
- data/vendor/tracemonkey/tests/ecma/Number/15.7.3.6-3.js +65 -0
- data/vendor/tracemonkey/tests/ecma/Number/15.7.3.6-4.js +66 -0
- data/vendor/tracemonkey/tests/ecma/Number/15.7.3.js +69 -0
- data/vendor/tracemonkey/tests/ecma/Number/15.7.4-1.js +60 -0
- data/vendor/tracemonkey/tests/ecma/Number/15.7.4.1.js +62 -0
- data/vendor/tracemonkey/tests/ecma/Number/15.7.4.2-1.js +111 -0
- data/vendor/tracemonkey/tests/ecma/Number/15.7.4.2-2-n.js +76 -0
- data/vendor/tracemonkey/tests/ecma/Number/15.7.4.2-3-n.js +73 -0
- data/vendor/tracemonkey/tests/ecma/Number/15.7.4.2-4.js +70 -0
- data/vendor/tracemonkey/tests/ecma/Number/15.7.4.3-1.js +97 -0
- data/vendor/tracemonkey/tests/ecma/Number/15.7.4.3-2.js +65 -0
- data/vendor/tracemonkey/tests/ecma/Number/15.7.4.3-3-n.js +72 -0
- data/vendor/tracemonkey/tests/ecma/Number/jstests.list +36 -0
- data/vendor/tracemonkey/tests/ecma/Number/shell.js +1 -0
- data/vendor/tracemonkey/tests/ecma/ObjectObjects/15.2.1.1.js +146 -0
- data/vendor/tracemonkey/tests/ecma/ObjectObjects/15.2.1.2.js +81 -0
- data/vendor/tracemonkey/tests/ecma/ObjectObjects/15.2.2.1.js +138 -0
- data/vendor/tracemonkey/tests/ecma/ObjectObjects/15.2.2.2.js +74 -0
- data/vendor/tracemonkey/tests/ecma/ObjectObjects/15.2.3-1.js +64 -0
- data/vendor/tracemonkey/tests/ecma/ObjectObjects/15.2.3.1-1.js +69 -0
- data/vendor/tracemonkey/tests/ecma/ObjectObjects/15.2.3.1-2.js +70 -0
- data/vendor/tracemonkey/tests/ecma/ObjectObjects/15.2.3.1-3.js +70 -0
- data/vendor/tracemonkey/tests/ecma/ObjectObjects/15.2.3.1-4.js +70 -0
- data/vendor/tracemonkey/tests/ecma/ObjectObjects/15.2.3.js +67 -0
- data/vendor/tracemonkey/tests/ecma/ObjectObjects/15.2.4.1.js +64 -0
- data/vendor/tracemonkey/tests/ecma/ObjectObjects/15.2.4.2.js +130 -0
- data/vendor/tracemonkey/tests/ecma/ObjectObjects/15.2.4.3.js +117 -0
- data/vendor/tracemonkey/tests/ecma/ObjectObjects/jstests.list +14 -0
- data/vendor/tracemonkey/tests/ecma/ObjectObjects/shell.js +1 -0
- data/vendor/tracemonkey/tests/ecma/README +1 -0
- data/vendor/tracemonkey/tests/ecma/SourceText/6-1.js +128 -0
- data/vendor/tracemonkey/tests/ecma/SourceText/6-2.js +131 -0
- data/vendor/tracemonkey/tests/ecma/SourceText/jstests.list +3 -0
- data/vendor/tracemonkey/tests/ecma/SourceText/shell.js +1 -0
- data/vendor/tracemonkey/tests/ecma/Statements/12.10-1.js +151 -0
- data/vendor/tracemonkey/tests/ecma/Statements/12.10.js +61 -0
- data/vendor/tracemonkey/tests/ecma/Statements/12.2-1.js +74 -0
- data/vendor/tracemonkey/tests/ecma/Statements/12.5-1.js +102 -0
- data/vendor/tracemonkey/tests/ecma/Statements/12.5-2.js +99 -0
- data/vendor/tracemonkey/tests/ecma/Statements/12.6.1-1.js +74 -0
- data/vendor/tracemonkey/tests/ecma/Statements/12.6.2-1.js +75 -0
- data/vendor/tracemonkey/tests/ecma/Statements/12.6.2-2.js +76 -0
- data/vendor/tracemonkey/tests/ecma/Statements/12.6.2-3.js +72 -0
- data/vendor/tracemonkey/tests/ecma/Statements/12.6.2-4.js +72 -0
- data/vendor/tracemonkey/tests/ecma/Statements/12.6.2-5.js +73 -0
- data/vendor/tracemonkey/tests/ecma/Statements/12.6.2-6.js +75 -0
- data/vendor/tracemonkey/tests/ecma/Statements/12.6.2-7.js +73 -0
- data/vendor/tracemonkey/tests/ecma/Statements/12.6.2-8.js +71 -0
- data/vendor/tracemonkey/tests/ecma/Statements/12.6.2-9-n.js +76 -0
- data/vendor/tracemonkey/tests/ecma/Statements/12.6.3-1.js +63 -0
- data/vendor/tracemonkey/tests/ecma/Statements/12.6.3-10.js +115 -0
- data/vendor/tracemonkey/tests/ecma/Statements/12.6.3-11.js +98 -0
- data/vendor/tracemonkey/tests/ecma/Statements/12.6.3-12.js +103 -0
- data/vendor/tracemonkey/tests/ecma/Statements/12.6.3-19.js +117 -0
- data/vendor/tracemonkey/tests/ecma/Statements/12.6.3-2.js +63 -0
- data/vendor/tracemonkey/tests/ecma/Statements/12.6.3-3.js +73 -0
- data/vendor/tracemonkey/tests/ecma/Statements/12.6.3-4.js +202 -0
- data/vendor/tracemonkey/tests/ecma/Statements/12.6.3-5-n.js +110 -0
- data/vendor/tracemonkey/tests/ecma/Statements/12.6.3-6-n.js +109 -0
- data/vendor/tracemonkey/tests/ecma/Statements/12.6.3-7-n.js +110 -0
- data/vendor/tracemonkey/tests/ecma/Statements/12.6.3-8-n.js +110 -0
- data/vendor/tracemonkey/tests/ecma/Statements/12.6.3-9-n.js +109 -0
- data/vendor/tracemonkey/tests/ecma/Statements/12.7-1-n.js +64 -0
- data/vendor/tracemonkey/tests/ecma/Statements/12.8-1-n.js +67 -0
- data/vendor/tracemonkey/tests/ecma/Statements/12.9-1-n.js +63 -0
- data/vendor/tracemonkey/tests/ecma/Statements/jstests.list +32 -0
- data/vendor/tracemonkey/tests/ecma/Statements/shell.js +1 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.1.js +134 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.2.js +110 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.3.1-1.js +71 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.3.1-2.js +69 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.3.1-3.js +66 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.3.1-4.js +66 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.3.2-1.js +190 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.3.2-2.js +77 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.3.2-3.js +121 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.3.js +66 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.4.1.js +63 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.4.10-1.js +217 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.4.11-1.js +518 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.4.11-2.js +515 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.4.11-3.js +514 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.4.11-4.js +507 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.4.11-5.js +520 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.4.11-6.js +516 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.4.12-1.js +520 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.4.12-2.js +518 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.4.12-3.js +559 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.4.12-4.js +515 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.4.12-5.js +515 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.4.2-1.js +72 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.4.2-2-n.js +73 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.4.2-3.js +83 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.4.2.js +87 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.4.3-1.js +72 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.4.3-2.js +90 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.4.3-3-n.js +72 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.4.4-1.js +92 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.4.4-2.js +136 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.4.4-3.js +112 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.4.4-4.js +124 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.4.5-1.js +87 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.4.5-2.js +121 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.4.5-3.js +131 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.4.5-4.js +75 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.4.5-5.js +106 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.4.6-1.js +155 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.4.6-2.js +259 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.4.7-1.js +219 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.4.7-2.js +217 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.4.8-1.js +232 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.4.8-2.js +247 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.4.8-3.js +204 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.4.9-1.js +202 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.4.js +108 -0
- data/vendor/tracemonkey/tests/ecma/String/15.5.5.1.js +88 -0
- data/vendor/tracemonkey/tests/ecma/String/jstests.list +50 -0
- data/vendor/tracemonkey/tests/ecma/String/shell.js +1 -0
- data/vendor/tracemonkey/tests/ecma/TypeConversion/9.2.js +138 -0
- data/vendor/tracemonkey/tests/ecma/TypeConversion/9.3-1.js +100 -0
- data/vendor/tracemonkey/tests/ecma/TypeConversion/9.3.1-1.js +323 -0
- data/vendor/tracemonkey/tests/ecma/TypeConversion/9.3.1-2.js +87 -0
- data/vendor/tracemonkey/tests/ecma/TypeConversion/9.3.1-3.js +747 -0
- data/vendor/tracemonkey/tests/ecma/TypeConversion/9.3.js +87 -0
- data/vendor/tracemonkey/tests/ecma/TypeConversion/9.4-1.js +112 -0
- data/vendor/tracemonkey/tests/ecma/TypeConversion/9.4-2.js +112 -0
- data/vendor/tracemonkey/tests/ecma/TypeConversion/9.5-2.js +173 -0
- data/vendor/tracemonkey/tests/ecma/TypeConversion/9.6.js +140 -0
- data/vendor/tracemonkey/tests/ecma/TypeConversion/9.7.js +160 -0
- data/vendor/tracemonkey/tests/ecma/TypeConversion/9.8.1.js +167 -0
- data/vendor/tracemonkey/tests/ecma/TypeConversion/9.9-1.js +119 -0
- data/vendor/tracemonkey/tests/ecma/TypeConversion/jstests.list +14 -0
- data/vendor/tracemonkey/tests/ecma/TypeConversion/shell.js +1 -0
- data/vendor/tracemonkey/tests/ecma/Types/8.1.js +75 -0
- data/vendor/tracemonkey/tests/ecma/Types/8.4.js +130 -0
- data/vendor/tracemonkey/tests/ecma/Types/8.6.2.1-1.js +78 -0
- data/vendor/tracemonkey/tests/ecma/Types/jstests.list +4 -0
- data/vendor/tracemonkey/tests/ecma/Types/shell.js +1 -0
- data/vendor/tracemonkey/tests/ecma/browser.js +62 -0
- data/vendor/tracemonkey/tests/ecma/extensions/10.1.4-9.js +110 -0
- data/vendor/tracemonkey/tests/ecma/extensions/10.1.6.js +127 -0
- data/vendor/tracemonkey/tests/ecma/extensions/10.1.8-1.js +135 -0
- data/vendor/tracemonkey/tests/ecma/extensions/11.6.1-1.js +145 -0
- data/vendor/tracemonkey/tests/ecma/extensions/11.6.1-2.js +136 -0
- data/vendor/tracemonkey/tests/ecma/extensions/11.6.1-3.js +137 -0
- data/vendor/tracemonkey/tests/ecma/extensions/11.6.2-1.js +124 -0
- data/vendor/tracemonkey/tests/ecma/extensions/15-1.js +94 -0
- data/vendor/tracemonkey/tests/ecma/extensions/15-2.js +77 -0
- data/vendor/tracemonkey/tests/ecma/extensions/15.1.2.1-1.js +88 -0
- data/vendor/tracemonkey/tests/ecma/extensions/15.2.1.1.js +82 -0
- data/vendor/tracemonkey/tests/ecma/extensions/15.2.3-1.js +64 -0
- data/vendor/tracemonkey/tests/ecma/extensions/15.2.4.js +66 -0
- data/vendor/tracemonkey/tests/ecma/extensions/15.3.1.1-1.js +82 -0
- data/vendor/tracemonkey/tests/ecma/extensions/15.3.1.1-2.js +82 -0
- data/vendor/tracemonkey/tests/ecma/extensions/15.3.2.1-1.js +72 -0
- data/vendor/tracemonkey/tests/ecma/extensions/15.3.2.1-2.js +72 -0
- data/vendor/tracemonkey/tests/ecma/extensions/15.3.3.1-1.js +67 -0
- data/vendor/tracemonkey/tests/ecma/extensions/15.4.3.js +63 -0
- data/vendor/tracemonkey/tests/ecma/extensions/15.5.3.js +66 -0
- data/vendor/tracemonkey/tests/ecma/extensions/15.5.4.2.js +59 -0
- data/vendor/tracemonkey/tests/ecma/extensions/15.5.4.4-4.js +107 -0
- data/vendor/tracemonkey/tests/ecma/extensions/15.5.4.5-6.js +94 -0
- data/vendor/tracemonkey/tests/ecma/extensions/15.5.4.7-3.js +161 -0
- data/vendor/tracemonkey/tests/ecma/extensions/15.6.3.1-5.js +58 -0
- data/vendor/tracemonkey/tests/ecma/extensions/15.6.3.js +65 -0
- data/vendor/tracemonkey/tests/ecma/extensions/15.6.4-2.js +66 -0
- data/vendor/tracemonkey/tests/ecma/extensions/15.7.3.js +69 -0
- data/vendor/tracemonkey/tests/ecma/extensions/15.7.4.js +90 -0
- data/vendor/tracemonkey/tests/ecma/extensions/15.8-1.js +84 -0
- data/vendor/tracemonkey/tests/ecma/extensions/15.9.5.js +76 -0
- data/vendor/tracemonkey/tests/ecma/extensions/8.6.2.1-1.js +98 -0
- data/vendor/tracemonkey/tests/ecma/extensions/9.9-1.js +102 -0
- data/vendor/tracemonkey/tests/ecma/extensions/jstests.list +34 -0
- data/vendor/tracemonkey/tests/ecma/extensions/shell.js +1 -0
- data/vendor/tracemonkey/tests/ecma/jsref.js +632 -0
- data/vendor/tracemonkey/tests/ecma/jstests.list +18 -0
- data/vendor/tracemonkey/tests/ecma/shell.js +581 -0
- data/vendor/tracemonkey/tests/ecma/template.js +70 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/boolean-001.js +80 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/boolean-002.js +84 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/date-001.js +93 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/date-002.js +87 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/date-003.js +89 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/date-004.js +83 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/exception-001.js +78 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/exception-002.js +78 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/exception-003.js +82 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/exception-004.js +78 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/exception-005.js +78 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/exception-006.js +89 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/exception-007.js +90 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/exception-008.js +77 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/exception-009.js +86 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/exception-010-n.js +61 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/exception-011-n.js +62 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/expression-001.js +83 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/expression-002.js +93 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/expression-003.js +88 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/expression-004.js +82 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/expression-005.js +74 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/expression-006.js +79 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/expression-007.js +77 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/expression-008.js +74 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/expression-009.js +75 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/expression-010.js +76 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/expression-011.js +76 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/expression-012.js +77 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/expression-013.js +77 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/expression-014.js +79 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/expression-015.js +73 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/expression-016.js +73 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/expression-017.js +73 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/expression-019.js +77 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/function-001.js +86 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/global-001.js +78 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/global-002.js +78 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/jstests.list +103 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-001.js +85 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-002.js +85 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-003.js +76 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-004.js +85 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-005.js +85 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-006.js +91 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-007.js +84 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-008.js +86 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-009.js +86 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-010.js +84 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-011.js +95 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-012.js +86 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-013.js +86 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-014.js +95 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-015.js +86 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-016.js +95 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-017.js +87 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-018.js +86 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-019.js +86 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-020.js +86 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-021.js +95 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-022.js +86 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-023.js +85 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-024.js +92 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-025.js +92 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-026.js +92 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-027.js +94 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-028.js +92 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-029.js +92 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-030.js +92 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-031.js +92 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-032.js +92 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-033.js +92 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-034.js +91 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-035.js +92 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-036.js +92 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-037.js +92 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-038.js +92 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-039.js +79 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-040.js +79 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-041.js +81 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-042.js +82 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-047.js +83 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-048.js +77 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-049.js +82 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-050.js +78 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-051.js +78 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-052.js +80 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-053.js +78 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-054.js +79 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/number-001.js +86 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/number-002.js +81 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/number-003.js +83 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/shell.js +1 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/statement-001.js +80 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/statement-002.js +102 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/statement-003.js +113 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/statement-004.js +85 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/statement-005.js +84 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/statement-006.js +84 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/statement-007.js +75 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/statement-008.js +75 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/statement-009.js +74 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/string-001.js +86 -0
- data/vendor/tracemonkey/tests/ecma_2/Exceptions/string-002.js +85 -0
- data/vendor/tracemonkey/tests/ecma_2/Expressions/StrictEquality-001.js +106 -0
- data/vendor/tracemonkey/tests/ecma_2/Expressions/jstests.list +2 -0
- data/vendor/tracemonkey/tests/ecma_2/Expressions/shell.js +1 -0
- data/vendor/tracemonkey/tests/ecma_2/FunctionObjects/apply-001-n.js +65 -0
- data/vendor/tracemonkey/tests/ecma_2/FunctionObjects/call-1.js +75 -0
- data/vendor/tracemonkey/tests/ecma_2/FunctionObjects/jstests.list +3 -0
- data/vendor/tracemonkey/tests/ecma_2/FunctionObjects/shell.js +1 -0
- data/vendor/tracemonkey/tests/ecma_2/LexicalConventions/jstests.list +4 -0
- data/vendor/tracemonkey/tests/ecma_2/LexicalConventions/keywords-001.js +81 -0
- data/vendor/tracemonkey/tests/ecma_2/LexicalConventions/regexp-literals-001.js +77 -0
- data/vendor/tracemonkey/tests/ecma_2/LexicalConventions/regexp-literals-002.js +61 -0
- data/vendor/tracemonkey/tests/ecma_2/LexicalConventions/shell.js +1 -0
- data/vendor/tracemonkey/tests/ecma_2/README +1 -0
- data/vendor/tracemonkey/tests/ecma_2/RegExp/constructor-001.js +99 -0
- data/vendor/tracemonkey/tests/ecma_2/RegExp/exec-001.js +73 -0
- data/vendor/tracemonkey/tests/ecma_2/RegExp/exec-002.js +221 -0
- data/vendor/tracemonkey/tests/ecma_2/RegExp/function-001.js +99 -0
- data/vendor/tracemonkey/tests/ecma_2/RegExp/hex-001.js +102 -0
- data/vendor/tracemonkey/tests/ecma_2/RegExp/jstests.list +15 -0
- data/vendor/tracemonkey/tests/ecma_2/RegExp/multiline-001.js +101 -0
- data/vendor/tracemonkey/tests/ecma_2/RegExp/octal-001.js +111 -0
- data/vendor/tracemonkey/tests/ecma_2/RegExp/octal-002.js +126 -0
- data/vendor/tracemonkey/tests/ecma_2/RegExp/octal-003.js +120 -0
- data/vendor/tracemonkey/tests/ecma_2/RegExp/properties-001.js +124 -0
- data/vendor/tracemonkey/tests/ecma_2/RegExp/properties-002.js +162 -0
- data/vendor/tracemonkey/tests/ecma_2/RegExp/regexp-enumerate-001.js +121 -0
- data/vendor/tracemonkey/tests/ecma_2/RegExp/regress-001.js +78 -0
- data/vendor/tracemonkey/tests/ecma_2/RegExp/shell.js +1 -0
- data/vendor/tracemonkey/tests/ecma_2/RegExp/unicode-001.js +92 -0
- data/vendor/tracemonkey/tests/ecma_2/Statements/dowhile-001.js +77 -0
- data/vendor/tracemonkey/tests/ecma_2/Statements/dowhile-002.js +104 -0
- data/vendor/tracemonkey/tests/ecma_2/Statements/dowhile-003.js +96 -0
- data/vendor/tracemonkey/tests/ecma_2/Statements/dowhile-004.js +100 -0
- data/vendor/tracemonkey/tests/ecma_2/Statements/dowhile-005.js +106 -0
- data/vendor/tracemonkey/tests/ecma_2/Statements/dowhile-006.js +122 -0
- data/vendor/tracemonkey/tests/ecma_2/Statements/dowhile-007.js +130 -0
- data/vendor/tracemonkey/tests/ecma_2/Statements/forin-001.js +330 -0
- data/vendor/tracemonkey/tests/ecma_2/Statements/forin-002.js +109 -0
- data/vendor/tracemonkey/tests/ecma_2/Statements/if-001.js +75 -0
- data/vendor/tracemonkey/tests/ecma_2/Statements/jstests.list +31 -0
- data/vendor/tracemonkey/tests/ecma_2/Statements/label-001.js +75 -0
- data/vendor/tracemonkey/tests/ecma_2/Statements/label-002.js +89 -0
- data/vendor/tracemonkey/tests/ecma_2/Statements/shell.js +1 -0
- data/vendor/tracemonkey/tests/ecma_2/Statements/switch-001.js +98 -0
- data/vendor/tracemonkey/tests/ecma_2/Statements/switch-002.js +96 -0
- data/vendor/tracemonkey/tests/ecma_2/Statements/switch-003.js +90 -0
- data/vendor/tracemonkey/tests/ecma_2/Statements/switch-004.js +127 -0
- data/vendor/tracemonkey/tests/ecma_2/Statements/try-001.js +116 -0
- data/vendor/tracemonkey/tests/ecma_2/Statements/try-003.js +115 -0
- data/vendor/tracemonkey/tests/ecma_2/Statements/try-004.js +87 -0
- data/vendor/tracemonkey/tests/ecma_2/Statements/try-005.js +90 -0
- data/vendor/tracemonkey/tests/ecma_2/Statements/try-006.js +120 -0
- data/vendor/tracemonkey/tests/ecma_2/Statements/try-007.js +125 -0
- data/vendor/tracemonkey/tests/ecma_2/Statements/try-008.js +92 -0
- data/vendor/tracemonkey/tests/ecma_2/Statements/try-009.js +99 -0
- data/vendor/tracemonkey/tests/ecma_2/Statements/try-010.js +106 -0
- data/vendor/tracemonkey/tests/ecma_2/Statements/try-012.js +128 -0
- data/vendor/tracemonkey/tests/ecma_2/Statements/while-001.js +75 -0
- data/vendor/tracemonkey/tests/ecma_2/Statements/while-002.js +119 -0
- data/vendor/tracemonkey/tests/ecma_2/Statements/while-003.js +120 -0
- data/vendor/tracemonkey/tests/ecma_2/Statements/while-004.js +250 -0
- data/vendor/tracemonkey/tests/ecma_2/String/jstests.list +9 -0
- data/vendor/tracemonkey/tests/ecma_2/String/match-001.js +139 -0
- data/vendor/tracemonkey/tests/ecma_2/String/match-002.js +207 -0
- data/vendor/tracemonkey/tests/ecma_2/String/match-003.js +165 -0
- data/vendor/tracemonkey/tests/ecma_2/String/match-004.js +206 -0
- data/vendor/tracemonkey/tests/ecma_2/String/replace-001.js +99 -0
- data/vendor/tracemonkey/tests/ecma_2/String/shell.js +1 -0
- data/vendor/tracemonkey/tests/ecma_2/String/split-001.js +145 -0
- data/vendor/tracemonkey/tests/ecma_2/String/split-002.js +303 -0
- data/vendor/tracemonkey/tests/ecma_2/String/split-003.js +156 -0
- data/vendor/tracemonkey/tests/ecma_2/browser.js +37 -0
- data/vendor/tracemonkey/tests/ecma_2/extensions/constructor-001.js +74 -0
- data/vendor/tracemonkey/tests/ecma_2/extensions/function-001.js +74 -0
- data/vendor/tracemonkey/tests/ecma_2/extensions/instanceof-001.js +144 -0
- data/vendor/tracemonkey/tests/ecma_2/extensions/instanceof-002.js +160 -0
- data/vendor/tracemonkey/tests/ecma_2/extensions/instanceof-003-n.js +121 -0
- data/vendor/tracemonkey/tests/ecma_2/extensions/instanceof-004-n.js +121 -0
- data/vendor/tracemonkey/tests/ecma_2/extensions/instanceof-005-n.js +122 -0
- data/vendor/tracemonkey/tests/ecma_2/extensions/instanceof-006.js +119 -0
- data/vendor/tracemonkey/tests/ecma_2/extensions/jstests.list +9 -0
- data/vendor/tracemonkey/tests/ecma_2/extensions/shell.js +1 -0
- data/vendor/tracemonkey/tests/ecma_2/instanceof/instanceof-001.js +67 -0
- data/vendor/tracemonkey/tests/ecma_2/instanceof/instanceof-002.js +84 -0
- data/vendor/tracemonkey/tests/ecma_2/instanceof/instanceof-003.js +98 -0
- data/vendor/tracemonkey/tests/ecma_2/instanceof/jstests.list +5 -0
- data/vendor/tracemonkey/tests/ecma_2/instanceof/regress-7635.js +88 -0
- data/vendor/tracemonkey/tests/ecma_2/instanceof/shell.js +1 -0
- data/vendor/tracemonkey/tests/ecma_2/jsref.js +591 -0
- data/vendor/tracemonkey/tests/ecma_2/jstests.list +9 -0
- data/vendor/tracemonkey/tests/ecma_2/shell.js +51 -0
- data/vendor/tracemonkey/tests/ecma_2/template.js +57 -0
- data/vendor/tracemonkey/tests/ecma_3/Array/15.4.4.11-01.js +61 -0
- data/vendor/tracemonkey/tests/ecma_3/Array/15.4.4.3-1.js +88 -0
- data/vendor/tracemonkey/tests/ecma_3/Array/15.4.4.4-001.js +153 -0
- data/vendor/tracemonkey/tests/ecma_3/Array/15.4.5.1-01.js +93 -0
- data/vendor/tracemonkey/tests/ecma_3/Array/15.5.4.8-01.js +76 -0
- data/vendor/tracemonkey/tests/ecma_3/Array/jstests.list +16 -0
- data/vendor/tracemonkey/tests/ecma_3/Array/regress-101488.js +172 -0
- data/vendor/tracemonkey/tests/ecma_3/Array/regress-130451.js +219 -0
- data/vendor/tracemonkey/tests/ecma_3/Array/regress-322135-01.js +73 -0
- data/vendor/tracemonkey/tests/ecma_3/Array/regress-322135-02.js +65 -0
- data/vendor/tracemonkey/tests/ecma_3/Array/regress-322135-03.js +73 -0
- data/vendor/tracemonkey/tests/ecma_3/Array/regress-322135-04.js +71 -0
- data/vendor/tracemonkey/tests/ecma_3/Array/regress-387501.js +94 -0
- data/vendor/tracemonkey/tests/ecma_3/Array/regress-421325.js +67 -0
- data/vendor/tracemonkey/tests/ecma_3/Array/regress-430717.js +65 -0
- data/vendor/tracemonkey/tests/ecma_3/Array/regress-488989.js +68 -0
- data/vendor/tracemonkey/tests/ecma_3/Array/shell.js +1 -0
- data/vendor/tracemonkey/tests/ecma_3/Date/15.9.1.2-01.js +62 -0
- data/vendor/tracemonkey/tests/ecma_3/Date/15.9.3.2-1.js +91 -0
- data/vendor/tracemonkey/tests/ecma_3/Date/15.9.4.3.js +233 -0
- data/vendor/tracemonkey/tests/ecma_3/Date/15.9.5.3.js +152 -0
- data/vendor/tracemonkey/tests/ecma_3/Date/15.9.5.4.js +185 -0
- data/vendor/tracemonkey/tests/ecma_3/Date/15.9.5.5-02.js +88 -0
- data/vendor/tracemonkey/tests/ecma_3/Date/15.9.5.5.js +144 -0
- data/vendor/tracemonkey/tests/ecma_3/Date/15.9.5.6.js +153 -0
- data/vendor/tracemonkey/tests/ecma_3/Date/15.9.5.7.js +142 -0
- data/vendor/tracemonkey/tests/ecma_3/Date/browser.js +37 -0
- data/vendor/tracemonkey/tests/ecma_3/Date/jstests.list +11 -0
- data/vendor/tracemonkey/tests/ecma_3/Date/regress-452786.js +66 -0
- data/vendor/tracemonkey/tests/ecma_3/Date/shell.js +564 -0
- data/vendor/tracemonkey/tests/ecma_3/Exceptions/15.11.1.1.js +137 -0
- data/vendor/tracemonkey/tests/ecma_3/Exceptions/15.11.4.4-1.js +174 -0
- data/vendor/tracemonkey/tests/ecma_3/Exceptions/15.11.7.6-001.js +130 -0
- data/vendor/tracemonkey/tests/ecma_3/Exceptions/15.11.7.6-002.js +132 -0
- data/vendor/tracemonkey/tests/ecma_3/Exceptions/15.11.7.6-003.js +132 -0
- data/vendor/tracemonkey/tests/ecma_3/Exceptions/binding-001.js +128 -0
- data/vendor/tracemonkey/tests/ecma_3/Exceptions/jstests.list +11 -0
- data/vendor/tracemonkey/tests/ecma_3/Exceptions/regress-181654.js +155 -0
- data/vendor/tracemonkey/tests/ecma_3/Exceptions/regress-181914.js +194 -0
- data/vendor/tracemonkey/tests/ecma_3/Exceptions/regress-58946.js +71 -0
- data/vendor/tracemonkey/tests/ecma_3/Exceptions/regress-95101.js +118 -0
- data/vendor/tracemonkey/tests/ecma_3/Exceptions/shell.js +1 -0
- data/vendor/tracemonkey/tests/ecma_3/ExecutionContexts/10.1.3-1.js +201 -0
- data/vendor/tracemonkey/tests/ecma_3/ExecutionContexts/10.1.3-2.js +70 -0
- data/vendor/tracemonkey/tests/ecma_3/ExecutionContexts/10.1.3.js +73 -0
- data/vendor/tracemonkey/tests/ecma_3/ExecutionContexts/10.1.4-1.js +85 -0
- data/vendor/tracemonkey/tests/ecma_3/ExecutionContexts/10.6.1-01.js +136 -0
- data/vendor/tracemonkey/tests/ecma_3/ExecutionContexts/jstests.list +8 -0
- data/vendor/tracemonkey/tests/ecma_3/ExecutionContexts/regress-23346.js +71 -0
- data/vendor/tracemonkey/tests/ecma_3/ExecutionContexts/regress-448595-01.js +91 -0
- data/vendor/tracemonkey/tests/ecma_3/ExecutionContexts/shell.js +1 -0
- data/vendor/tracemonkey/tests/ecma_3/Expressions/11.10-01.js +76 -0
- data/vendor/tracemonkey/tests/ecma_3/Expressions/11.10-02.js +76 -0
- data/vendor/tracemonkey/tests/ecma_3/Expressions/11.10-03.js +76 -0
- data/vendor/tracemonkey/tests/ecma_3/Expressions/11.6.1-1.js +176 -0
- data/vendor/tracemonkey/tests/ecma_3/Expressions/11.7.1-01.js +76 -0
- data/vendor/tracemonkey/tests/ecma_3/Expressions/11.7.2-01.js +76 -0
- data/vendor/tracemonkey/tests/ecma_3/Expressions/11.7.3-01.js +76 -0
- data/vendor/tracemonkey/tests/ecma_3/Expressions/11.9.6-1.js +213 -0
- data/vendor/tracemonkey/tests/ecma_3/Expressions/jstests.list +9 -0
- data/vendor/tracemonkey/tests/ecma_3/Expressions/shell.js +1 -0
- data/vendor/tracemonkey/tests/ecma_3/FunExpr/fe-001-n.js +58 -0
- data/vendor/tracemonkey/tests/ecma_3/FunExpr/fe-001.js +57 -0
- data/vendor/tracemonkey/tests/ecma_3/FunExpr/fe-002.js +61 -0
- data/vendor/tracemonkey/tests/ecma_3/FunExpr/jstests.list +5 -0
- data/vendor/tracemonkey/tests/ecma_3/FunExpr/regress-528082.js +21 -0
- data/vendor/tracemonkey/tests/ecma_3/FunExpr/shell.js +1 -0
- data/vendor/tracemonkey/tests/ecma_3/Function/15.3.4.3-1.js +210 -0
- data/vendor/tracemonkey/tests/ecma_3/Function/15.3.4.4-1.js +185 -0
- data/vendor/tracemonkey/tests/ecma_3/Function/arguments-001.js +169 -0
- data/vendor/tracemonkey/tests/ecma_3/Function/arguments-002.js +73 -0
- data/vendor/tracemonkey/tests/ecma_3/Function/call-001.js +153 -0
- data/vendor/tracemonkey/tests/ecma_3/Function/jstests.list +17 -0
- data/vendor/tracemonkey/tests/ecma_3/Function/regress-131964.js +196 -0
- data/vendor/tracemonkey/tests/ecma_3/Function/regress-137181.js +113 -0
- data/vendor/tracemonkey/tests/ecma_3/Function/regress-193555.js +136 -0
- data/vendor/tracemonkey/tests/ecma_3/Function/regress-313570.js +63 -0
- data/vendor/tracemonkey/tests/ecma_3/Function/regress-49286.js +137 -0
- data/vendor/tracemonkey/tests/ecma_3/Function/regress-58274.js +226 -0
- data/vendor/tracemonkey/tests/ecma_3/Function/regress-85880.js +173 -0
- data/vendor/tracemonkey/tests/ecma_3/Function/regress-94506.js +163 -0
- data/vendor/tracemonkey/tests/ecma_3/Function/regress-97921.js +152 -0
- data/vendor/tracemonkey/tests/ecma_3/Function/scope-001.js +265 -0
- data/vendor/tracemonkey/tests/ecma_3/Function/scope-002.js +245 -0
- data/vendor/tracemonkey/tests/ecma_3/Function/shell.js +1 -0
- data/vendor/tracemonkey/tests/ecma_3/LexicalConventions/7.4-01.js +73 -0
- data/vendor/tracemonkey/tests/ecma_3/LexicalConventions/7.9.1.js +157 -0
- data/vendor/tracemonkey/tests/ecma_3/LexicalConventions/jstests.list +3 -0
- data/vendor/tracemonkey/tests/ecma_3/LexicalConventions/shell.js +1 -0
- data/vendor/tracemonkey/tests/ecma_3/Number/15.7.4.2-01.js +77 -0
- data/vendor/tracemonkey/tests/ecma_3/Number/15.7.4.3-01.js +69 -0
- data/vendor/tracemonkey/tests/ecma_3/Number/15.7.4.3-02.js +53 -0
- data/vendor/tracemonkey/tests/ecma_3/Number/15.7.4.5-1.js +145 -0
- data/vendor/tracemonkey/tests/ecma_3/Number/15.7.4.5-2.js +62 -0
- data/vendor/tracemonkey/tests/ecma_3/Number/15.7.4.6-1.js +149 -0
- data/vendor/tracemonkey/tests/ecma_3/Number/15.7.4.7-1.js +154 -0
- data/vendor/tracemonkey/tests/ecma_3/Number/15.7.4.7-2.js +72 -0
- data/vendor/tracemonkey/tests/ecma_3/Number/jstests.list +10 -0
- data/vendor/tracemonkey/tests/ecma_3/Number/regress-442242-01.js +62 -0
- data/vendor/tracemonkey/tests/ecma_3/Number/shell.js +1 -0
- data/vendor/tracemonkey/tests/ecma_3/NumberFormatting/jstests.list +2 -0
- data/vendor/tracemonkey/tests/ecma_3/NumberFormatting/shell.js +1 -0
- data/vendor/tracemonkey/tests/ecma_3/NumberFormatting/tostring-001.js +60 -0
- data/vendor/tracemonkey/tests/ecma_3/Object/8.6.1-01.js +113 -0
- data/vendor/tracemonkey/tests/ecma_3/Object/8.6.2.6-001.js +113 -0
- data/vendor/tracemonkey/tests/ecma_3/Object/8.6.2.6-002.js +79 -0
- data/vendor/tracemonkey/tests/ecma_3/Object/browser.js +7 -0
- data/vendor/tracemonkey/tests/ecma_3/Object/class-001.js +156 -0
- data/vendor/tracemonkey/tests/ecma_3/Object/class-002.js +146 -0
- data/vendor/tracemonkey/tests/ecma_3/Object/class-003.js +139 -0
- data/vendor/tracemonkey/tests/ecma_3/Object/class-004.js +139 -0
- data/vendor/tracemonkey/tests/ecma_3/Object/class-005.js +124 -0
- data/vendor/tracemonkey/tests/ecma_3/Object/jstests.list +14 -0
- data/vendor/tracemonkey/tests/ecma_3/Object/regress-361274.js +66 -0
- data/vendor/tracemonkey/tests/ecma_3/Object/regress-385393-07.js +67 -0
- data/vendor/tracemonkey/tests/ecma_3/Object/regress-459405.js +71 -0
- data/vendor/tracemonkey/tests/ecma_3/Object/regress-72773.js +97 -0
- data/vendor/tracemonkey/tests/ecma_3/Object/regress-79129-001.js +80 -0
- data/vendor/tracemonkey/tests/ecma_3/Object/shell.js +105 -0
- data/vendor/tracemonkey/tests/ecma_3/Operators/11.13.1-001.js +152 -0
- data/vendor/tracemonkey/tests/ecma_3/Operators/11.13.1-002.js +57 -0
- data/vendor/tracemonkey/tests/ecma_3/Operators/11.4.1-001.js +120 -0
- data/vendor/tracemonkey/tests/ecma_3/Operators/11.4.1-002.js +72 -0
- data/vendor/tracemonkey/tests/ecma_3/Operators/jstests.list +6 -0
- data/vendor/tracemonkey/tests/ecma_3/Operators/order-01.js +108 -0
- data/vendor/tracemonkey/tests/ecma_3/Operators/shell.js +1 -0
- data/vendor/tracemonkey/tests/ecma_3/README +1 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/15.10.2-1.js +181 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/15.10.2.12.js +63 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/15.10.3.1-1.js +136 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/15.10.3.1-2.js +144 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/15.10.4.1-1.js +127 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/15.10.4.1-2.js +133 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/15.10.4.1-3.js +139 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/15.10.4.1-4.js +146 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/15.10.4.1-5-n.js +139 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/15.10.4.1-6.js +95 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/15.10.6.2-1.js +140 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/15.10.6.2-2.js +367 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/jstests.list +68 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/octal-001.js +136 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/octal-002.js +218 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/perlstress-001.js +3230 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/perlstress-002.js +1842 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-100199.js +307 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-105972.js +157 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-119909.js +92 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-122076.js +110 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-123437.js +112 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-165353.js +122 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-169497.js +105 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-169534.js +95 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-187133.js +142 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-188206.js +219 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-191479.js +198 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-202564.js +101 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-209067.js +1106 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-209919.js +174 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-216591.js +117 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-220367-001.js +104 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-223273.js +279 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-223535.js +133 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-224676.js +226 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-225289.js +176 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-225343.js +125 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-24712.js +59 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-285219.js +51 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-28686.js +57 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-289669.js +88 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-307456.js +54 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-309840.js +58 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-311414.js +101 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-312351.js +50 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-31316.js +96 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-330684.js +53 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-334158.js +58 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-346090.js +63 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-367888.js +62 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-375642.js +61 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-375711.js +118 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-375715-01-n.js +63 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-375715-02.js +60 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-375715-03.js +60 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-375715-04.js +68 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-436700.js +67 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-465862.js +117 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-57572.js +150 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-57631.js +152 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-67773.js +211 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-72964.js +121 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-76683.js +114 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-78156.js +123 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-85721.js +276 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-87231.js +145 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-98306.js +99 -0
- data/vendor/tracemonkey/tests/ecma_3/RegExp/shell.js +266 -0
- data/vendor/tracemonkey/tests/ecma_3/Regress/jstests.list +7 -0
- data/vendor/tracemonkey/tests/ecma_3/Regress/regress-385393-04.js +66 -0
- data/vendor/tracemonkey/tests/ecma_3/Regress/regress-419152.js +90 -0
- data/vendor/tracemonkey/tests/ecma_3/Regress/regress-420087.js +64 -0
- data/vendor/tracemonkey/tests/ecma_3/Regress/regress-420610.js +50 -0
- data/vendor/tracemonkey/tests/ecma_3/Regress/regress-441477-01.js +73 -0
- data/vendor/tracemonkey/tests/ecma_3/Regress/regress-469937.js +60 -0
- data/vendor/tracemonkey/tests/ecma_3/Regress/shell.js +1 -0
- data/vendor/tracemonkey/tests/ecma_3/Statements/12.10-01.js +68 -0
- data/vendor/tracemonkey/tests/ecma_3/Statements/12.6.3.js +80 -0
- data/vendor/tracemonkey/tests/ecma_3/Statements/jstests.list +17 -0
- data/vendor/tracemonkey/tests/ecma_3/Statements/regress-121744.js +217 -0
- data/vendor/tracemonkey/tests/ecma_3/Statements/regress-131348.js +184 -0
- data/vendor/tracemonkey/tests/ecma_3/Statements/regress-157509.js +111 -0
- data/vendor/tracemonkey/tests/ecma_3/Statements/regress-194364.js +152 -0
- data/vendor/tracemonkey/tests/ecma_3/Statements/regress-226517.js +112 -0
- data/vendor/tracemonkey/tests/ecma_3/Statements/regress-302439.js +1368 -0
- data/vendor/tracemonkey/tests/ecma_3/Statements/regress-324650.js +5461 -0
- data/vendor/tracemonkey/tests/ecma_3/Statements/regress-444979.js +77 -0
- data/vendor/tracemonkey/tests/ecma_3/Statements/regress-74474-001.js +139 -0
- data/vendor/tracemonkey/tests/ecma_3/Statements/regress-74474-002.js +9097 -0
- data/vendor/tracemonkey/tests/ecma_3/Statements/regress-74474-003.js +9099 -0
- data/vendor/tracemonkey/tests/ecma_3/Statements/regress-83532-001.js +71 -0
- data/vendor/tracemonkey/tests/ecma_3/Statements/regress-83532-002.js +74 -0
- data/vendor/tracemonkey/tests/ecma_3/Statements/shell.js +1 -0
- data/vendor/tracemonkey/tests/ecma_3/Statements/switch-001.js +143 -0
- data/vendor/tracemonkey/tests/ecma_3/String/15.5.4.11.js +532 -0
- data/vendor/tracemonkey/tests/ecma_3/String/15.5.4.14.js +50 -0
- data/vendor/tracemonkey/tests/ecma_3/String/jstests.list +9 -0
- data/vendor/tracemonkey/tests/ecma_3/String/regress-104375.js +116 -0
- data/vendor/tracemonkey/tests/ecma_3/String/regress-189898.js +157 -0
- data/vendor/tracemonkey/tests/ecma_3/String/regress-304376.js +68 -0
- data/vendor/tracemonkey/tests/ecma_3/String/regress-313567.js +56 -0
- data/vendor/tracemonkey/tests/ecma_3/String/regress-392378.js +77 -0
- data/vendor/tracemonkey/tests/ecma_3/String/regress-83293.js +216 -0
- data/vendor/tracemonkey/tests/ecma_3/String/shell.js +1 -0
- data/vendor/tracemonkey/tests/ecma_3/Unicode/jstests.list +10 -0
- data/vendor/tracemonkey/tests/ecma_3/Unicode/regress-352044-01.js +72 -0
- data/vendor/tracemonkey/tests/ecma_3/Unicode/regress-352044-02-n.js +72 -0
- data/vendor/tracemonkey/tests/ecma_3/Unicode/shell.js +1 -0
- data/vendor/tracemonkey/tests/ecma_3/Unicode/uc-001-n.js +62 -0
- data/vendor/tracemonkey/tests/ecma_3/Unicode/uc-001.js +56 -0
- data/vendor/tracemonkey/tests/ecma_3/Unicode/uc-002-n.js +55 -0
- data/vendor/tracemonkey/tests/ecma_3/Unicode/uc-002.js +60 -0
- data/vendor/tracemonkey/tests/ecma_3/Unicode/uc-003.js +71 -0
- data/vendor/tracemonkey/tests/ecma_3/Unicode/uc-004.js +65 -0
- data/vendor/tracemonkey/tests/ecma_3/Unicode/uc-005.js +276 -0
- data/vendor/tracemonkey/tests/ecma_3/browser.js +36 -0
- data/vendor/tracemonkey/tests/ecma_3/extensions/10.1.3-2.js +162 -0
- data/vendor/tracemonkey/tests/ecma_3/extensions/7.9.1.js +83 -0
- data/vendor/tracemonkey/tests/ecma_3/extensions/jstests.list +15 -0
- data/vendor/tracemonkey/tests/ecma_3/extensions/regress-103087.js +178 -0
- data/vendor/tracemonkey/tests/ecma_3/extensions/regress-188206-01.js +108 -0
- data/vendor/tracemonkey/tests/ecma_3/extensions/regress-188206-02.js +158 -0
- data/vendor/tracemonkey/tests/ecma_3/extensions/regress-220367-002.js +112 -0
- data/vendor/tracemonkey/tests/ecma_3/extensions/regress-228087.js +352 -0
- data/vendor/tracemonkey/tests/ecma_3/extensions/regress-274152.js +83 -0
- data/vendor/tracemonkey/tests/ecma_3/extensions/regress-320854.js +53 -0
- data/vendor/tracemonkey/tests/ecma_3/extensions/regress-327170.js +58 -0
- data/vendor/tracemonkey/tests/ecma_3/extensions/regress-368516.js +78 -0
- data/vendor/tracemonkey/tests/ecma_3/extensions/regress-385393-03.js +63 -0
- data/vendor/tracemonkey/tests/ecma_3/extensions/regress-429248.js +67 -0
- data/vendor/tracemonkey/tests/ecma_3/extensions/regress-430740.js +72 -0
- data/vendor/tracemonkey/tests/ecma_3/extensions/shell.js +266 -0
- data/vendor/tracemonkey/tests/ecma_3/jstests.list +18 -0
- data/vendor/tracemonkey/tests/ecma_3/shell.js +40 -0
- data/vendor/tracemonkey/tests/ecma_3/template.js +59 -0
- data/vendor/tracemonkey/tests/ecma_3_1/Object/jstests.list +2 -0
- data/vendor/tracemonkey/tests/ecma_3_1/Object/regress-444787.js +155 -0
- data/vendor/tracemonkey/tests/ecma_3_1/Object/shell.js +1 -0
- data/vendor/tracemonkey/tests/ecma_3_1/README +1 -0
- data/vendor/tracemonkey/tests/ecma_3_1/RegExp/jstests.list +2 -0
- data/vendor/tracemonkey/tests/ecma_3_1/RegExp/regress-305064.js +92 -0
- data/vendor/tracemonkey/tests/ecma_3_1/RegExp/shell.js +1 -0
- data/vendor/tracemonkey/tests/ecma_3_1/browser.js +36 -0
- data/vendor/tracemonkey/tests/ecma_3_1/extensions/jstests.list +1 -0
- data/vendor/tracemonkey/tests/ecma_3_1/extensions/shell.js +1 -0
- data/vendor/tracemonkey/tests/ecma_3_1/jstests.list +3 -0
- data/vendor/tracemonkey/tests/ecma_3_1/shell.js +47 -0
- data/vendor/tracemonkey/tests/ecma_3_1/template.js +59 -0
- data/vendor/tracemonkey/tests/ecma_5/Date/15.9.4.2.js +158 -0
- data/vendor/tracemonkey/tests/ecma_5/Date/jstests.list +2 -0
- data/vendor/tracemonkey/tests/ecma_5/Date/shell.js +1 -0
- data/vendor/tracemonkey/tests/ecma_5/Object/15.2.3.14-01.js +91 -0
- data/vendor/tracemonkey/tests/ecma_5/Object/15.2.3.3-01.js +341 -0
- data/vendor/tracemonkey/tests/ecma_5/Object/jstests.list +3 -0
- data/vendor/tracemonkey/tests/ecma_5/Object/shell.js +1 -0
- data/vendor/tracemonkey/tests/ecma_5/README +1 -0
- data/vendor/tracemonkey/tests/ecma_5/browser.js +36 -0
- data/vendor/tracemonkey/tests/ecma_5/jstests.list +2 -0
- data/vendor/tracemonkey/tests/ecma_5/shell.js +40 -0
- data/vendor/tracemonkey/tests/ecma_5/template.js +59 -0
- data/vendor/tracemonkey/tests/get-universe.sh +52 -0
- data/vendor/tracemonkey/tests/importList.html +22 -0
- data/vendor/tracemonkey/tests/importList.js +94 -0
- data/vendor/tracemonkey/tests/js-test-driver-begin.js +1 -0
- data/vendor/tracemonkey/tests/js-test-driver-end.js +3 -0
- data/vendor/tracemonkey/tests/js-test-driver-quirks.html +23 -0
- data/vendor/tracemonkey/tests/js-test-driver-standards.html +23 -0
- data/vendor/tracemonkey/tests/js1_1/README +1 -0
- data/vendor/tracemonkey/tests/js1_1/browser.js +37 -0
- data/vendor/tracemonkey/tests/js1_1/jsref.js +167 -0
- data/vendor/tracemonkey/tests/js1_1/jstests.list +1 -0
- data/vendor/tracemonkey/tests/js1_1/regress/function-001.js +79 -0
- data/vendor/tracemonkey/tests/js1_1/regress/jstests.list +2 -0
- data/vendor/tracemonkey/tests/js1_1/regress/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_1/shell.js +39 -0
- data/vendor/tracemonkey/tests/js1_2/Array/array_split_1.js +86 -0
- data/vendor/tracemonkey/tests/js1_2/Array/general1.js +78 -0
- data/vendor/tracemonkey/tests/js1_2/Array/general2.js +93 -0
- data/vendor/tracemonkey/tests/js1_2/Array/jstests.list +9 -0
- data/vendor/tracemonkey/tests/js1_2/Array/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_2/Array/slice.js +123 -0
- data/vendor/tracemonkey/tests/js1_2/Array/splice1.js +153 -0
- data/vendor/tracemonkey/tests/js1_2/Array/splice2.js +150 -0
- data/vendor/tracemonkey/tests/js1_2/Array/tostring_1.js +126 -0
- data/vendor/tracemonkey/tests/js1_2/Array/tostring_2.js +82 -0
- data/vendor/tracemonkey/tests/js1_2/Objects/jstests.list +2 -0
- data/vendor/tracemonkey/tests/js1_2/Objects/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_2/Objects/toString-001.js +120 -0
- data/vendor/tracemonkey/tests/js1_2/README +1 -0
- data/vendor/tracemonkey/tests/js1_2/String/charCodeAt.js +72 -0
- data/vendor/tracemonkey/tests/js1_2/String/concat.js +83 -0
- data/vendor/tracemonkey/tests/js1_2/String/jstests.list +5 -0
- data/vendor/tracemonkey/tests/js1_2/String/match.js +63 -0
- data/vendor/tracemonkey/tests/js1_2/String/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_2/String/slice.js +124 -0
- data/vendor/tracemonkey/tests/js1_2/browser.js +37 -0
- data/vendor/tracemonkey/tests/js1_2/function/Function_object.js +87 -0
- data/vendor/tracemonkey/tests/js1_2/function/Number.js +85 -0
- data/vendor/tracemonkey/tests/js1_2/function/String.js +73 -0
- data/vendor/tracemonkey/tests/js1_2/function/definition-1.js +77 -0
- data/vendor/tracemonkey/tests/js1_2/function/function-001-n.js +77 -0
- data/vendor/tracemonkey/tests/js1_2/function/jstests.list +13 -0
- data/vendor/tracemonkey/tests/js1_2/function/length.js +96 -0
- data/vendor/tracemonkey/tests/js1_2/function/nesting-1.js +65 -0
- data/vendor/tracemonkey/tests/js1_2/function/nesting.js +84 -0
- data/vendor/tracemonkey/tests/js1_2/function/regexparg-1.js +105 -0
- data/vendor/tracemonkey/tests/js1_2/function/regexparg-2-n.js +73 -0
- data/vendor/tracemonkey/tests/js1_2/function/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_2/function/tostring-1.js +145 -0
- data/vendor/tracemonkey/tests/js1_2/function/tostring-2.js +188 -0
- data/vendor/tracemonkey/tests/js1_2/jsref.js +228 -0
- data/vendor/tracemonkey/tests/js1_2/jstests.list +9 -0
- data/vendor/tracemonkey/tests/js1_2/operator/equality.js +72 -0
- data/vendor/tracemonkey/tests/js1_2/operator/jstests.list +3 -0
- data/vendor/tracemonkey/tests/js1_2/operator/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_2/operator/strictEquality.js +93 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/RegExp_dollar_number.js +111 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/RegExp_input.js +104 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/RegExp_input_as_array.js +104 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/RegExp_lastIndex.js +85 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/RegExp_lastMatch.js +88 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/RegExp_lastMatch_as_array.js +88 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/RegExp_lastParen.js +102 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/RegExp_lastParen_as_array.js +102 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/RegExp_leftContext.js +92 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/RegExp_leftContext_as_array.js +92 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/RegExp_multiline.js +131 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/RegExp_multiline_as_array.js +132 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/RegExp_object.js +90 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/RegExp_rightContext.js +92 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/RegExp_rightContext_as_array.js +92 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/alphanumeric.js +131 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/asterisk.js +107 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/backslash.js +81 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/backspace.js +81 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/beginLine.js +83 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/character_class.js +110 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/compile.js +96 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/control_characters.js +74 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/digit.js +120 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/dot.js +98 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/endLine.js +83 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/everything.js +83 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/exec.js +79 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/flags.js +87 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/global.js +97 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/hexadecimal.js +109 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/ignoreCase.js +114 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/interval.js +117 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/jstests.list +51 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/octal.js +109 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/parentheses.js +109 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/plus.js +89 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/question_mark.js +101 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/regress-6359.js +86 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/regress-9141.js +105 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/simple_form.js +92 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/source.js +90 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/special_characters.js +160 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/string_replace.js +83 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/string_search.js +89 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/string_split.js +94 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/test.js +89 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/toString.js +81 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/vertical_bar.js +98 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/whitespace.js +125 -0
- data/vendor/tracemonkey/tests/js1_2/regexp/word_boundary.js +121 -0
- data/vendor/tracemonkey/tests/js1_2/regress/jstests.list +3 -0
- data/vendor/tracemonkey/tests/js1_2/regress/regress-144834.js +84 -0
- data/vendor/tracemonkey/tests/js1_2/regress/regress-7703.js +102 -0
- data/vendor/tracemonkey/tests/js1_2/regress/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_2/shell.js +40 -0
- data/vendor/tracemonkey/tests/js1_2/statements/break.js +164 -0
- data/vendor/tracemonkey/tests/js1_2/statements/continue.js +177 -0
- data/vendor/tracemonkey/tests/js1_2/statements/do_while.js +69 -0
- data/vendor/tracemonkey/tests/js1_2/statements/jstests.list +6 -0
- data/vendor/tracemonkey/tests/js1_2/statements/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_2/statements/switch.js +130 -0
- data/vendor/tracemonkey/tests/js1_2/statements/switch2.js +192 -0
- data/vendor/tracemonkey/tests/js1_2/version120/boolean-001.js +77 -0
- data/vendor/tracemonkey/tests/js1_2/version120/browser.js +37 -0
- data/vendor/tracemonkey/tests/js1_2/version120/jstests.list +3 -0
- data/vendor/tracemonkey/tests/js1_2/version120/regress-99663.js +165 -0
- data/vendor/tracemonkey/tests/js1_2/version120/shell.js +42 -0
- data/vendor/tracemonkey/tests/js1_3/Boolean/boolean-001.js +77 -0
- data/vendor/tracemonkey/tests/js1_3/Boolean/jstests.list +2 -0
- data/vendor/tracemonkey/tests/js1_3/Boolean/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_3/README +1 -0
- data/vendor/tracemonkey/tests/js1_3/Script/delete-001.js +83 -0
- data/vendor/tracemonkey/tests/js1_3/Script/function-001-n.js +78 -0
- data/vendor/tracemonkey/tests/js1_3/Script/function-002.js +79 -0
- data/vendor/tracemonkey/tests/js1_3/Script/in-001.js +69 -0
- data/vendor/tracemonkey/tests/js1_3/Script/jstests.list +7 -0
- data/vendor/tracemonkey/tests/js1_3/Script/new-001.js +123 -0
- data/vendor/tracemonkey/tests/js1_3/Script/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_3/Script/switch-001.js +84 -0
- data/vendor/tracemonkey/tests/js1_3/browser.js +36 -0
- data/vendor/tracemonkey/tests/js1_3/extensions/jstests.list +5 -0
- data/vendor/tracemonkey/tests/js1_3/extensions/proto_10.js +156 -0
- data/vendor/tracemonkey/tests/js1_3/extensions/proto_2.js +125 -0
- data/vendor/tracemonkey/tests/js1_3/extensions/proto_5.js +149 -0
- data/vendor/tracemonkey/tests/js1_3/extensions/script-001.js +174 -0
- data/vendor/tracemonkey/tests/js1_3/extensions/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_3/inherit/jstests.list +11 -0
- data/vendor/tracemonkey/tests/js1_3/inherit/proto_1.js +170 -0
- data/vendor/tracemonkey/tests/js1_3/inherit/proto_10.js +124 -0
- data/vendor/tracemonkey/tests/js1_3/inherit/proto_11.js +120 -0
- data/vendor/tracemonkey/tests/js1_3/inherit/proto_12.js +146 -0
- data/vendor/tracemonkey/tests/js1_3/inherit/proto_3.js +107 -0
- data/vendor/tracemonkey/tests/js1_3/inherit/proto_4.js +159 -0
- data/vendor/tracemonkey/tests/js1_3/inherit/proto_6.js +174 -0
- data/vendor/tracemonkey/tests/js1_3/inherit/proto_7.js +129 -0
- data/vendor/tracemonkey/tests/js1_3/inherit/proto_8.js +127 -0
- data/vendor/tracemonkey/tests/js1_3/inherit/proto_9.js +105 -0
- data/vendor/tracemonkey/tests/js1_3/inherit/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_3/jsref.js +195 -0
- data/vendor/tracemonkey/tests/js1_3/jstests.list +6 -0
- data/vendor/tracemonkey/tests/js1_3/misc/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_3/regress/delete-001.js +83 -0
- data/vendor/tracemonkey/tests/js1_3/regress/function-001-n.js +78 -0
- data/vendor/tracemonkey/tests/js1_3/regress/function-002.js +79 -0
- data/vendor/tracemonkey/tests/js1_3/regress/in-001.js +70 -0
- data/vendor/tracemonkey/tests/js1_3/regress/jstests.list +7 -0
- data/vendor/tracemonkey/tests/js1_3/regress/new-001.js +123 -0
- data/vendor/tracemonkey/tests/js1_3/regress/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_3/regress/switch-001.js +84 -0
- data/vendor/tracemonkey/tests/js1_3/shell.js +40 -0
- data/vendor/tracemonkey/tests/js1_4/Eval/eval-001.js +91 -0
- data/vendor/tracemonkey/tests/js1_4/Eval/eval-002.js +97 -0
- data/vendor/tracemonkey/tests/js1_4/Eval/eval-003.js +101 -0
- data/vendor/tracemonkey/tests/js1_4/Eval/jstests.list +5 -0
- data/vendor/tracemonkey/tests/js1_4/Eval/regress-531037.js +39 -0
- data/vendor/tracemonkey/tests/js1_4/Eval/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_4/Functions/function-001.js +123 -0
- data/vendor/tracemonkey/tests/js1_4/Functions/jstests.list +2 -0
- data/vendor/tracemonkey/tests/js1_4/Functions/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_4/README +1 -0
- data/vendor/tracemonkey/tests/js1_4/Regress/date-001-n.js +76 -0
- data/vendor/tracemonkey/tests/js1_4/Regress/function-001.js +96 -0
- data/vendor/tracemonkey/tests/js1_4/Regress/function-002.js +141 -0
- data/vendor/tracemonkey/tests/js1_4/Regress/function-003.js +94 -0
- data/vendor/tracemonkey/tests/js1_4/Regress/function-004-n.js +71 -0
- data/vendor/tracemonkey/tests/js1_4/Regress/jstests.list +8 -0
- data/vendor/tracemonkey/tests/js1_4/Regress/regress-7224.js +90 -0
- data/vendor/tracemonkey/tests/js1_4/Regress/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_4/Regress/toString-001-n.js +71 -0
- data/vendor/tracemonkey/tests/js1_4/browser.js +37 -0
- data/vendor/tracemonkey/tests/js1_4/jsref.js +166 -0
- data/vendor/tracemonkey/tests/js1_4/jstests.list +3 -0
- data/vendor/tracemonkey/tests/js1_4/shell.js +39 -0
- data/vendor/tracemonkey/tests/js1_5/Array/11.1.4.js +102 -0
- data/vendor/tracemonkey/tests/js1_5/Array/array-001.js +122 -0
- data/vendor/tracemonkey/tests/js1_5/Array/jstests.list +35 -0
- data/vendor/tracemonkey/tests/js1_5/Array/regress-101964.js +119 -0
- data/vendor/tracemonkey/tests/js1_5/Array/regress-107138.js +211 -0
- data/vendor/tracemonkey/tests/js1_5/Array/regress-108440.js +110 -0
- data/vendor/tracemonkey/tests/js1_5/Array/regress-154338.js +124 -0
- data/vendor/tracemonkey/tests/js1_5/Array/regress-157652.js +155 -0
- data/vendor/tracemonkey/tests/js1_5/Array/regress-178722.js +164 -0
- data/vendor/tracemonkey/tests/js1_5/Array/regress-255555.js +66 -0
- data/vendor/tracemonkey/tests/js1_5/Array/regress-299644.js +61 -0
- data/vendor/tracemonkey/tests/js1_5/Array/regress-300858.js +54 -0
- data/vendor/tracemonkey/tests/js1_5/Array/regress-310351.js +87 -0
- data/vendor/tracemonkey/tests/js1_5/Array/regress-311515.js +53 -0
- data/vendor/tracemonkey/tests/js1_5/Array/regress-313153.js +51 -0
- data/vendor/tracemonkey/tests/js1_5/Array/regress-315509-01.js +61 -0
- data/vendor/tracemonkey/tests/js1_5/Array/regress-330812.js +65 -0
- data/vendor/tracemonkey/tests/js1_5/Array/regress-345961.js +69 -0
- data/vendor/tracemonkey/tests/js1_5/Array/regress-348810.js +61 -0
- data/vendor/tracemonkey/tests/js1_5/Array/regress-350256-01.js +78 -0
- data/vendor/tracemonkey/tests/js1_5/Array/regress-350256-02.js +78 -0
- data/vendor/tracemonkey/tests/js1_5/Array/regress-350256-03.js +88 -0
- data/vendor/tracemonkey/tests/js1_5/Array/regress-360681-01.js +66 -0
- data/vendor/tracemonkey/tests/js1_5/Array/regress-360681-02.js +91 -0
- data/vendor/tracemonkey/tests/js1_5/Array/regress-364104.js +107 -0
- data/vendor/tracemonkey/tests/js1_5/Array/regress-422286.js +67 -0
- data/vendor/tracemonkey/tests/js1_5/Array/regress-424954.js +61 -0
- data/vendor/tracemonkey/tests/js1_5/Array/regress-451483.js +64 -0
- data/vendor/tracemonkey/tests/js1_5/Array/regress-451906.js +64 -0
- data/vendor/tracemonkey/tests/js1_5/Array/regress-456845.js +87 -0
- data/vendor/tracemonkey/tests/js1_5/Array/regress-465980-01.js +68 -0
- data/vendor/tracemonkey/tests/js1_5/Array/regress-465980-02.js +202 -0
- data/vendor/tracemonkey/tests/js1_5/Array/regress-94257.js +120 -0
- data/vendor/tracemonkey/tests/js1_5/Array/regress-99120-01.js +84 -0
- data/vendor/tracemonkey/tests/js1_5/Array/regress-99120-02.js +79 -0
- data/vendor/tracemonkey/tests/js1_5/Array/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_5/Date/jstests.list +8 -0
- data/vendor/tracemonkey/tests/js1_5/Date/regress-188211.js +60 -0
- data/vendor/tracemonkey/tests/js1_5/Date/regress-301738-01.js +130 -0
- data/vendor/tracemonkey/tests/js1_5/Date/regress-301738-02.js +163 -0
- data/vendor/tracemonkey/tests/js1_5/Date/regress-309925-01.js +48 -0
- data/vendor/tracemonkey/tests/js1_5/Date/regress-309925-02.js +48 -0
- data/vendor/tracemonkey/tests/js1_5/Date/regress-346027.js +63 -0
- data/vendor/tracemonkey/tests/js1_5/Date/regress-346363.js +64 -0
- data/vendor/tracemonkey/tests/js1_5/Date/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_5/Error/jstests.list +4 -0
- data/vendor/tracemonkey/tests/js1_5/Error/regress-354246.js +70 -0
- data/vendor/tracemonkey/tests/js1_5/Error/regress-412324.js +50 -0
- data/vendor/tracemonkey/tests/js1_5/Error/regress-465377.js +114 -0
- data/vendor/tracemonkey/tests/js1_5/Error/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_5/Exceptions/catchguard-002-n.js +72 -0
- data/vendor/tracemonkey/tests/js1_5/Exceptions/catchguard-003-n.js +76 -0
- data/vendor/tracemonkey/tests/js1_5/Exceptions/errstack-001.js +279 -0
- data/vendor/tracemonkey/tests/js1_5/Exceptions/jstests.list +16 -0
- data/vendor/tracemonkey/tests/js1_5/Exceptions/regress-121658.js +158 -0
- data/vendor/tracemonkey/tests/js1_5/Exceptions/regress-123002.js +132 -0
- data/vendor/tracemonkey/tests/js1_5/Exceptions/regress-232182.js +155 -0
- data/vendor/tracemonkey/tests/js1_5/Exceptions/regress-257751.js +127 -0
- data/vendor/tracemonkey/tests/js1_5/Exceptions/regress-273931.js +108 -0
- data/vendor/tracemonkey/tests/js1_5/Exceptions/regress-315147.js +69 -0
- data/vendor/tracemonkey/tests/js1_5/Exceptions/regress-332472.js +58 -0
- data/vendor/tracemonkey/tests/js1_5/Exceptions/regress-333728.js +116 -0
- data/vendor/tracemonkey/tests/js1_5/Exceptions/regress-342359.js +77 -0
- data/vendor/tracemonkey/tests/js1_5/Exceptions/regress-347674.js +96 -0
- data/vendor/tracemonkey/tests/js1_5/Exceptions/regress-350650-n.js +63 -0
- data/vendor/tracemonkey/tests/js1_5/Exceptions/regress-350837.js +79 -0
- data/vendor/tracemonkey/tests/js1_5/Exceptions/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_5/Expressions/jstests.list +6 -0
- data/vendor/tracemonkey/tests/js1_5/Expressions/regress-192288.js +119 -0
- data/vendor/tracemonkey/tests/js1_5/Expressions/regress-394673.js +82 -0
- data/vendor/tracemonkey/tests/js1_5/Expressions/regress-96526-argsub.js +125 -0
- data/vendor/tracemonkey/tests/js1_5/Expressions/regress-96526-delelem.js +125 -0
- data/vendor/tracemonkey/tests/js1_5/Expressions/regress-96526-noargsub.js +125 -0
- data/vendor/tracemonkey/tests/js1_5/Expressions/shell.js +137 -0
- data/vendor/tracemonkey/tests/js1_5/Function/10.1.6-01.js +62 -0
- data/vendor/tracemonkey/tests/js1_5/Function/10.1.6.js +56 -0
- data/vendor/tracemonkey/tests/js1_5/Function/15.3.4.4.js +74 -0
- data/vendor/tracemonkey/tests/js1_5/Function/jstests.list +15 -0
- data/vendor/tracemonkey/tests/js1_5/Function/regress-123371.js +53 -0
- data/vendor/tracemonkey/tests/js1_5/Function/regress-178389.js +62 -0
- data/vendor/tracemonkey/tests/js1_5/Function/regress-222029-001.js +160 -0
- data/vendor/tracemonkey/tests/js1_5/Function/regress-222029-002.js +169 -0
- data/vendor/tracemonkey/tests/js1_5/Function/regress-292215.js +71 -0
- data/vendor/tracemonkey/tests/js1_5/Function/regress-338001.js +74 -0
- data/vendor/tracemonkey/tests/js1_5/Function/regress-338121-01.js +70 -0
- data/vendor/tracemonkey/tests/js1_5/Function/regress-338121-02.js +74 -0
- data/vendor/tracemonkey/tests/js1_5/Function/regress-338121-03.js +75 -0
- data/vendor/tracemonkey/tests/js1_5/Function/regress-344052.js +63 -0
- data/vendor/tracemonkey/tests/js1_5/Function/regress-364023.js +73 -0
- data/vendor/tracemonkey/tests/js1_5/Function/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_5/GC/jstests.list +26 -0
- data/vendor/tracemonkey/tests/js1_5/GC/regress-104584.js +80 -0
- data/vendor/tracemonkey/tests/js1_5/GC/regress-203278-2.js +113 -0
- data/vendor/tracemonkey/tests/js1_5/GC/regress-203278-3.js +76 -0
- data/vendor/tracemonkey/tests/js1_5/GC/regress-278725.js +65 -0
- data/vendor/tracemonkey/tests/js1_5/GC/regress-306788.js +57 -0
- data/vendor/tracemonkey/tests/js1_5/GC/regress-311497.js +94 -0
- data/vendor/tracemonkey/tests/js1_5/GC/regress-313276.js +73 -0
- data/vendor/tracemonkey/tests/js1_5/GC/regress-313479.js +70 -0
- data/vendor/tracemonkey/tests/js1_5/GC/regress-316885-01.js +66 -0
- data/vendor/tracemonkey/tests/js1_5/GC/regress-316885-02.js +75 -0
- data/vendor/tracemonkey/tests/js1_5/GC/regress-316885-03.js +75 -0
- data/vendor/tracemonkey/tests/js1_5/GC/regress-319980-01.js +160 -0
- data/vendor/tracemonkey/tests/js1_5/GC/regress-324278.js +95 -0
- data/vendor/tracemonkey/tests/js1_5/GC/regress-331719.js +52 -0
- data/vendor/tracemonkey/tests/js1_5/GC/regress-338653.js +74 -0
- data/vendor/tracemonkey/tests/js1_5/GC/regress-341877-01.js +73 -0
- data/vendor/tracemonkey/tests/js1_5/GC/regress-341877-02.js +78 -0
- data/vendor/tracemonkey/tests/js1_5/GC/regress-346794.js +77 -0
- data/vendor/tracemonkey/tests/js1_5/GC/regress-348532.js +83 -0
- data/vendor/tracemonkey/tests/js1_5/GC/regress-352606.js +61 -0
- data/vendor/tracemonkey/tests/js1_5/GC/regress-383269-01.js +94 -0
- data/vendor/tracemonkey/tests/js1_5/GC/regress-383269-02.js +98 -0
- data/vendor/tracemonkey/tests/js1_5/GC/regress-390078.js +69 -0
- data/vendor/tracemonkey/tests/js1_5/GC/regress-418128.js +73 -0
- data/vendor/tracemonkey/tests/js1_5/GC/regress-440558.js +69 -0
- data/vendor/tracemonkey/tests/js1_5/GC/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_5/GetSet/getset-002.js +86 -0
- data/vendor/tracemonkey/tests/js1_5/GetSet/jstests.list +4 -0
- data/vendor/tracemonkey/tests/js1_5/GetSet/regress-353264.js +50 -0
- data/vendor/tracemonkey/tests/js1_5/GetSet/regress-375976.js +64 -0
- data/vendor/tracemonkey/tests/js1_5/GetSet/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_5/LexicalConventions/jstests.list +5 -0
- data/vendor/tracemonkey/tests/js1_5/LexicalConventions/lexical-001.js +183 -0
- data/vendor/tracemonkey/tests/js1_5/LexicalConventions/regress-177314.js +110 -0
- data/vendor/tracemonkey/tests/js1_5/LexicalConventions/regress-343675.js +82 -0
- data/vendor/tracemonkey/tests/js1_5/LexicalConventions/regress-469940.js +71 -0
- data/vendor/tracemonkey/tests/js1_5/LexicalConventions/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_5/Object/jstests.list +11 -0
- data/vendor/tracemonkey/tests/js1_5/Object/regress-137000.js +240 -0
- data/vendor/tracemonkey/tests/js1_5/Object/regress-192105.js +183 -0
- data/vendor/tracemonkey/tests/js1_5/Object/regress-308806-01.js +53 -0
- data/vendor/tracemonkey/tests/js1_5/Object/regress-338709.js +107 -0
- data/vendor/tracemonkey/tests/js1_5/Object/regress-362872-01.js +74 -0
- data/vendor/tracemonkey/tests/js1_5/Object/regress-362872-02.js +55 -0
- data/vendor/tracemonkey/tests/js1_5/Object/regress-382503.js +62 -0
- data/vendor/tracemonkey/tests/js1_5/Object/regress-382532.js +70 -0
- data/vendor/tracemonkey/tests/js1_5/Object/regress-465476.js +96 -0
- data/vendor/tracemonkey/tests/js1_5/Object/regress-90596-003.js +312 -0
- data/vendor/tracemonkey/tests/js1_5/Object/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_5/README +1 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/jstests.list +363 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-102725.js +99 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-10278.js +79 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-103602.js +168 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-104077.js +509 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-106244.js +71 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-110286.js +156 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-111557.js +10965 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-114491.js +106 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-114493.js +114 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-115436.js +58 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-116228.js +59 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-118849.js +186 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-119719.js +58 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-127243.js +108 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-127557.js +124 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-131510-001.js +74 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-139316.js +80 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-140852.js +66 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-140974.js +140 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-146596.js +159 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-152646.js +127 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-155081-2.js +17554 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-155081.js +17561 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-156354.js +131 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-159334.js +129 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-162392.js +68 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-165201.js +89 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-167328.js +60 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-167658.js +62 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-168347.js +220 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-169559.js +91 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-170193.js +111 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-172699.js +99 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-173067.js +58 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-174709.js +104 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-176125.js +82 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-179524.js +368 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-185165.js +101 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-191633.js +107 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-191668.js +104 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-192414.js +122 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-193418.js +104 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-203278-1.js +64 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-203402.js +95 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-203841.js +164 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-204210.js +150 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-210682.js +101 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-211590.js +88 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-213482.js +62 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-214761.js +78 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-216320.js +1040 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-224956.js +287 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-229006.js +65597 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-230216-1.js +81 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-230216-2.js +70 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-230216-3.js +80 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-233483-2.js +100 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-233483.js +86 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-234389.js +72 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-238881.js +64 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-238945.js +52 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-240317.js +99 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-240577.js +68 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-243174.js +55 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-243389-n.js +58 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-243869.js +72 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-244470.js +1113 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-244619.js +66 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-245113.js +81 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-245308.js +61 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-246911.js +64 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-246964.js +196 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-247179.js +53 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-248444.js +77 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-249211.js +63 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-252892.js +163 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-253150.js +123 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-254296.js +60 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-254974.js +72 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-256501.js +72 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-256617.js +69 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-256798.js +70 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-259935.js +75 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-260541.js +55 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-261886.js +63 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-261887.js +70 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-271716-n.js +60 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-274035.js +63 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-274888.js +73 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-275378.js +81 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-276103.js +60 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-278873.js +61 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-280769-1.js +58 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-280769-2.js +74 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-280769-3.js +79 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-280769-4.js +81 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-280769-5.js +64 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-280769.js +73 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-281487.js +69 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-281606.js +80 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-281930.js +54 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-283477.js +61 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-286216.js +63 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-288688.js +81 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-289094.js +61 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-290575.js +90 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-290656.js +65 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-294191.js +63 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-294195-01.js +58 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-294195-02.js +50 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-294302.js +57 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-295052.js +50 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-295666.js +56 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-299209.js +56 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-299641.js +58 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-303213.js +88 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-306633.js +68 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-306727.js +73 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-306794.js +56 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-308085.js +602 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-308566.js +60 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-309242.js +77 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-310295.js +54 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-310607.js +62 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-310993.js +55 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-311071.js +51 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-311629.js +55 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-312260.js +60 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-31255.js +113 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-312588.js +63 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-313967-01.js +112 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-313967-02.js +87 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-314401.js +104 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-315974.js +83 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-315990.js +73 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-317476.js +64 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-317533.js +87 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-317714-01.js +52 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-317714-02.js +53 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-319384.js +61 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-319391.js +73 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-320032.js +60 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-320119.js +148 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-321757.js +143 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-321874.js +241 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-321971.js +56 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-322430.js +70 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-323314-1.js +73 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-325925.js +50 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-326453.js +52 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-326467.js +51 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-328012.js +62 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-328664.js +64 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-328897.js +79 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-329383.js +116 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-329530.js +73 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-330352.js +67 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-330951.js +50 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-334807-01.js +57 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-334807-02.js +61 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-334807-03.js +57 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-334807-04.js +61 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-334807-05.js +66 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-334807-06.js +70 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-336100.js +55 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-338307.js +62 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-340369.js +58 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-341360.js +88 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-343713.js +54 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-343966.js +65 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-344711-n.js +67 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-344804.js +65 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-344959.js +69 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-346237.js +61 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-346801.js +109 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-347306-01.js +85 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-349482-01.js +62 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-349482-02.js +62 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-349592.js +61 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-349648.js +98 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-350253.js +67 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-350268.js +107 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-350312.js +114 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-350415.js +67 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-350529.js +66 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-350692.js +70 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-351116.js +65 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-351515.js +69 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-352009.js +60 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-352197.js +102 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-352208.js +77 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-352604.js +61 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-354924.js +64 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-355341.js +61 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-355344.js +82 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-355556.js +68 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-355829-01.js +61 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-355829-02.js +74 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-355829-03.js +62 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-356250.js +77 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-356693.js +69 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-360969-01.js +74 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-360969-02.js +64 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-360969-03.js +74 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-360969-04.js +64 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-360969-05.js +76 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-360969-06.js +65 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-361467.js +65 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-361617.js +66 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-362583.js +77 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-3649-n.js +65 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-366122.js +79 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-366468.js +68 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-366601.js +71 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-367561-01.js +70 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-367561-03.js +69 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-372364.js +80 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-379245.js +72 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-383674.js +91 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-383682.js +67 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-385393-06.js +61 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-387951-01.js +61 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-387951-02.js +61 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-387951-03.js +61 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-39309.js +110 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-396684.js +81 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-398085-01.js +778 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-398085-02.js +761 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-398609.js +72 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-404755.js +83 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-406769.js +188 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-407024.js +53 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-407323.js +75 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-407957.js +63 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-410852.js +71 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-416628.js +142 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-416737-01.js +61 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-416737-02.js +66 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-417893.js +61 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-418504.js +86 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-418540.js +94 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-419018.js +80 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-419803.js +61 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-420919.js +70 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-422348.js +70 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-424311.js +61 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-425360.js +74 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-426827.js +67 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-428366.js +52 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-438415-01.js +60 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-438415-02.js +64 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-449627.js +147 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-449666.js +98 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-450369.js +345 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-450833.js +82 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-451884.js +68 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-451946.js +67 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-452008.js +186 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-452170.js +64 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-452333.js +64 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-452336.js +64 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-452346.js +61 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-452495.js +54 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-452573-01.js +64 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-452573-02.js +64 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-452713.js +64 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-452724-01.js +64 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-452724-02.js +64 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-452742-01.js +84 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-452742-02.js +89 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-452853.js +64 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-452884-01.js +64 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-452884-02.js +64 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-453024.js +78 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-453173.js +66 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-453397.js +81 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-453701.js +64 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-453747.js +72 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-454682.js +68 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-454981.js +69 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-455605.js +65 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-455748.js +65 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-455758-01.js +65 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-455758-02.js +65 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-455775.js +67 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-456470.js +73 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-456477-01.js +65 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-456477-02.js +65 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-456494.js +83 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-456540-01.js +65 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-456540-02.js +65 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-457065-03.js +67 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-457456.js +65 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-457778.js +65 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-458851.js +65 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-459085.js +67 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-459628.js +69 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-459990.js +66 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-460024.js +74 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-460117.js +80 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-461307.js +66 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-461723.js +65 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-462292.js +67 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-462879.js +67 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-462989.js +66 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-463259.js +62 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-463782.js +101 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-464334.js +69 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-464862.js +156 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-465013.js +74 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-465132.js +78 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-465133.js +68 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-465135.js +68 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-465136.js +68 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-465137.js +68 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-465262.js +67 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-465272.js +67 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-465347.js +85 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-465366.js +74 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-466262.js +69 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-466747.js +94 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-469044.js +104 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-470061.js +78 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-470187-01.js +61 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-470187-02.js +61 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-470758-01.js +61 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-470758-02.js +63 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-475645-01.js +82 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-475645-02.js +89 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-476049.js +76 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-476192.js +74 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-477733.js +77 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-477758.js +85 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-478314.js +65 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-479353.js +61 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-480147.js +68 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-480244.js +86 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-481436.js +74 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-482421.js +61 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-483103.js +68 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-501124.js +78 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-504078.js +84 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-506567.js +78 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-57043.js +109 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-58116.js +61 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-68498-001.js +78 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-68498-002.js +101 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-68498-003.js +105 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-68498-004.js +133 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-69607.js +76 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-71107.js +80 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-76054.js +160 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-80981.js +3144 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-82306.js +82 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-89443.js +2153 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-89474.js +85 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-90445.js +329 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-96128-n.js +85 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-96526-001.js +537 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-96526-002.js +63 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-96526-003.js +4438 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/regress-98901.js +3925 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_5/Scope/jstests.list +18 -0
- data/vendor/tracemonkey/tests/js1_5/Scope/regress-154693.js +101 -0
- data/vendor/tracemonkey/tests/js1_5/Scope/regress-181834.js +183 -0
- data/vendor/tracemonkey/tests/js1_5/Scope/regress-184107.js +127 -0
- data/vendor/tracemonkey/tests/js1_5/Scope/regress-185485.js +163 -0
- data/vendor/tracemonkey/tests/js1_5/Scope/regress-191276.js +128 -0
- data/vendor/tracemonkey/tests/js1_5/Scope/regress-192226.js +125 -0
- data/vendor/tracemonkey/tests/js1_5/Scope/regress-202678-001.js +136 -0
- data/vendor/tracemonkey/tests/js1_5/Scope/regress-202678-002.js +137 -0
- data/vendor/tracemonkey/tests/js1_5/Scope/regress-208496-001.js +174 -0
- data/vendor/tracemonkey/tests/js1_5/Scope/regress-208496-002.js +166 -0
- data/vendor/tracemonkey/tests/js1_5/Scope/regress-220362.js +116 -0
- data/vendor/tracemonkey/tests/js1_5/Scope/regress-446026-01.js +84 -0
- data/vendor/tracemonkey/tests/js1_5/Scope/regress-446026-02.js +60 -0
- data/vendor/tracemonkey/tests/js1_5/Scope/regress-77578-001.js +184 -0
- data/vendor/tracemonkey/tests/js1_5/Scope/scope-002.js +142 -0
- data/vendor/tracemonkey/tests/js1_5/Scope/scope-003.js +143 -0
- data/vendor/tracemonkey/tests/js1_5/Scope/scope-004.js +225 -0
- data/vendor/tracemonkey/tests/js1_5/Scope/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_5/String/jstests.list +9 -0
- data/vendor/tracemonkey/tests/js1_5/String/regress-107771.js +125 -0
- data/vendor/tracemonkey/tests/js1_5/String/regress-112626.js +52 -0
- data/vendor/tracemonkey/tests/js1_5/String/regress-157334-01.js +90 -0
- data/vendor/tracemonkey/tests/js1_5/String/regress-179068.js +159 -0
- data/vendor/tracemonkey/tests/js1_5/String/regress-314890.js +84 -0
- data/vendor/tracemonkey/tests/js1_5/String/regress-322772.js +84 -0
- data/vendor/tracemonkey/tests/js1_5/String/regress-56940-01.js +81 -0
- data/vendor/tracemonkey/tests/js1_5/String/regress-56940-02.js +81 -0
- data/vendor/tracemonkey/tests/js1_5/String/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_5/browser.js +37 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/jstests.list +65 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-344120.js +62 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-346892.js +62 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-346902.js +91 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-346904.js +156 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-346915.js +64 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-349484.js +69 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-349489.js +69 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-349491.js +79 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-349596.js +63 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-349650.js +65 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-349663.js +68 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-350242.js +69 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-350263.js +64 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-350271.js +64 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-350666.js +93 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-350670.js +69 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-351104.js +65 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-351219.js +67 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-351336.js +63 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-351597.js +64 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-351625.js +64 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-351626.js +64 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-351693.js +65 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-351705.js +65 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-351793.js +65 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-352013.js +93 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-352022.js +63 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-352073.js +69 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-352202.js +64 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-352312.js +69 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-352360.js +70 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-352375.js +62 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-352453.js +63 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-352649.js +63 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-352873-01.js +68 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-352873-02.js +68 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-353000.js +63 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-353120.js +63 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-353146.js +69 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-354878.js +62 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-354910.js +63 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-355992.js +62 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-356083.js +66 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-356248.js +63 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-371692.js +62 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-373678.js +62 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-375639.js +68 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-375882.js +76 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-376564.js +67 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-383721.js +66 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-406555.js +69 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-437288-02.js +64 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-443071-01.js +61 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-456964-01.js +74 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-457093-01.js +77 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-457824.js +66 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-460116-01.js +65 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-460116-02.js +65 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-460116-03.js +65 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-460501.js +71 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-460870.js +63 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-461108.js +64 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-461110.js +64 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/regress-461111.js +64 -0
- data/vendor/tracemonkey/tests/js1_5/decompilation/shell.js +2 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/catchguard-001-n.js +79 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/catchguard-001.js +83 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/catchguard-002.js +79 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/catchguard-003.js +94 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/getset-001.js +90 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/getset-003.js +211 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/getset-004.js +211 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/getset-005.js +220 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/getset-006.js +194 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/jstests.list +241 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/no-such-method.js +69 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-104077.js +233 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-164697.js +112 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-178722.js +127 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-192465.js +157 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-220584.js +147 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-225831.js +196 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-226078.js +61 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-226507.js +187 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-231518.js +136 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-237461.js +80 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-245148.js +55 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-245795.js +67 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-254375.js +63 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-255245.js +65 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-291213.js +81 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-300079.js +80 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-303277.js +52 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-304897.js +53 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-306738.js +58 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-311161.js +1471 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-311583.js +54 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-311792-01.js +59 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-311792-02.js +73 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-312278.js +75 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-313500.js +62 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-313630.js +71 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-313763.js +79 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-313803.js +57 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-313938.js +87 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-314874.js +73 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-315509-02.js +75 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-319683.js +64 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-322957.js +60 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-325269.js +93 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-327608.js +81 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-328443.js +65 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-328556.js +52 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-330569.js +129 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-333541.js +123 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-335700.js +127 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-336409-1.js +82 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-336409-2.js +82 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-336410-1.js +82 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-336410-2.js +82 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-338804-01.js +102 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-338804-02.js +103 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-338804-03.js +62 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-339685.js +60 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-340199.js +82 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-341956-01.js +101 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-341956-02.js +88 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-341956-03.js +105 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-342960.js +87 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-345967.js +100 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-346494-01.js +123 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-346494.js +141 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-347306-02.js +84 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-348986.js +161 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-349616.js +69 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-350312-01.js +83 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-350312-02.js +145 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-350312-03.js +149 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-350531.js +188 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-351102-01.js +72 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-351102-02.js +78 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-351102-06.js +67 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-351448.js +96 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-351463-01.js +287 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-351973.js +84 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-352060.js +80 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-352094.js +79 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-352261.js +81 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-352281.js +67 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-352291.js +74 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-352372.js +98 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-352455.js +67 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-352604.js +66 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-353214.js +62 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-354297.js +63 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-354541-01.js +68 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-354541-02.js +77 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-354541-03.js +89 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-354541-04.js +94 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-355339.js +65 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-355497.js +94 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-355622.js +67 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-355655.js +78 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-355736.js +72 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-355820.js +64 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-355982.js +76 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-356085.js +62 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-356106.js +61 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-356378.js +69 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-356402.js +56 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-358594-01.js +65 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-358594-02.js +54 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-358594-03.js +64 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-358594-04.js +54 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-358594-05.js +65 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-358594-06.js +54 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-359024.js +69 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-361346.js +55 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-361360.js +65 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-361552.js +60 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-361558.js +52 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-361571.js +71 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-361856.js +68 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-361964.js +81 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-363258.js +80 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-363988.js +82 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-365527.js +99 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-365692.js +73 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-365869.js +115 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-366288.js +51 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-366292.js +52 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-366396.js +50 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-367118-01.js +74 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-367118-02.js +74 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-367119-01.js +74 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-367119-02.js +74 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-367120-01.js +74 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-367120-02.js +74 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-367121.js +97 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-367501-01.js +68 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-367501-02.js +70 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-367501-03.js +71 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-367501-04.js +71 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-367589.js +81 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-367630.js +77 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-367923.js +83 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-368859.js +70 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-369404.js +81 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-369696-01.js +64 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-369696-02.js +72 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-369696-03.js +80 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-371636.js +88 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-372309.js +80 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-374589.js +67 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-375183.js +95 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-375344.js +67 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-375801.js +69 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-376052.js +104 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-379523.js +71 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-380581.js +70 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-380831.js +81 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-380889.js +73 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-381205.js +52 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-381211.js +62 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-381304.js +113 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-382509.js +118 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-383965.js +57 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-384680.js +67 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-385134.js +67 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-385393-02.js +67 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-385393-09.js +51 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-390597.js +75 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-394967.js +75 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-396326.js +81 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-406572.js +77 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-407019.js +70 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-407501.js +74 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-407720.js +84 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-412926.js +90 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-414755.js +86 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-416354.js +80 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-416460.js +63 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-416834.js +53 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-418730.js +65 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-420612.js +61 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-420869-01.js +73 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-421621.js +54 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-422137.js +67 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-422592.js +103 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-424257.js +69 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-424683-01.js +69 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-426711.js +67 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-427196-01.js +73 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-427196-02.js +70 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-427196-03.js +64 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-429264.js +65 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-431428.js +70 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-432075.js +57 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-434837-01.js +123 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-435345-01.js +132 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-435497-01.js +68 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-435497-02.js +68 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-435497-03.js +68 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-436741.js +68 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-437288-01.js +61 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-44009.js +86 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-443569.js +74 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-446386.js +80 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-449657.js +92 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-452168.js +72 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-452178.js +64 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-452329.js +60 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-452338.js +64 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-452372.js +64 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-452565.js +54 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-453249.js +56 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-454040.js +59 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-454142.js +62 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-454704.js +88 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-455380.js +93 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-455408.js +64 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-455413.js +59 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-459606.js +62 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-462734-02.js +64 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-462734-03.js +63 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-462734-04.js +66 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-465276.js +69 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-469625.js +67 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-469761.js +66 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-472599.js +67 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-472787.js +63 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-476447.js +66 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-479487.js +79 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-479551.js +77 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-480579.js +69 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-481516.js +72 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-488995.js +79 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-50447-1.js +210 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-50447.js +169 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-90596-001.js +299 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-90596-002.js +299 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-96284-001.js +182 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/regress-96284-002.js +182 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/scope-001.js +117 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/toLocaleFormat-01.js +271 -0
- data/vendor/tracemonkey/tests/js1_5/extensions/toLocaleFormat-02.js +138 -0
- data/vendor/tracemonkey/tests/js1_5/jstests.list +15 -0
- data/vendor/tracemonkey/tests/js1_5/shell.js +41 -0
- data/vendor/tracemonkey/tests/js1_5/template.js +59 -0
- data/vendor/tracemonkey/tests/js1_6/Array/filter.js +86 -0
- data/vendor/tracemonkey/tests/js1_6/Array/jstests.list +13 -0
- data/vendor/tracemonkey/tests/js1_6/Array/regress-290592.js +695 -0
- data/vendor/tracemonkey/tests/js1_6/Array/regress-304828.js +272 -0
- data/vendor/tracemonkey/tests/js1_6/Array/regress-305002.js +58 -0
- data/vendor/tracemonkey/tests/js1_6/Array/regress-310425-01.js +60 -0
- data/vendor/tracemonkey/tests/js1_6/Array/regress-310425-02.js +50 -0
- data/vendor/tracemonkey/tests/js1_6/Array/regress-320887.js +57 -0
- data/vendor/tracemonkey/tests/js1_6/Array/regress-352742-01.js +73 -0
- data/vendor/tracemonkey/tests/js1_6/Array/regress-352742-02.js +65 -0
- data/vendor/tracemonkey/tests/js1_6/Array/regress-386030.js +98 -0
- data/vendor/tracemonkey/tests/js1_6/Array/regress-415451.js +57 -0
- data/vendor/tracemonkey/tests/js1_6/Array/regress-415540.js +54 -0
- data/vendor/tracemonkey/tests/js1_6/Array/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_6/README +1 -0
- data/vendor/tracemonkey/tests/js1_6/Regress/jstests.list +16 -0
- data/vendor/tracemonkey/tests/js1_6/Regress/regress-301574.js +69 -0
- data/vendor/tracemonkey/tests/js1_6/Regress/regress-311157-01.js +57 -0
- data/vendor/tracemonkey/tests/js1_6/Regress/regress-311157-02.js +57 -0
- data/vendor/tracemonkey/tests/js1_6/Regress/regress-314887.js +53 -0
- data/vendor/tracemonkey/tests/js1_6/Regress/regress-320172.js +58 -0
- data/vendor/tracemonkey/tests/js1_6/Regress/regress-350417.js +69 -0
- data/vendor/tracemonkey/tests/js1_6/Regress/regress-351795.js +69 -0
- data/vendor/tracemonkey/tests/js1_6/Regress/regress-352271.js +67 -0
- data/vendor/tracemonkey/tests/js1_6/Regress/regress-353078.js +65 -0
- data/vendor/tracemonkey/tests/js1_6/Regress/regress-355002.js +70 -0
- data/vendor/tracemonkey/tests/js1_6/Regress/regress-372565.js +61 -0
- data/vendor/tracemonkey/tests/js1_6/Regress/regress-378492.js +65 -0
- data/vendor/tracemonkey/tests/js1_6/Regress/regress-382509.js +78 -0
- data/vendor/tracemonkey/tests/js1_6/Regress/regress-475469.js +68 -0
- data/vendor/tracemonkey/tests/js1_6/Regress/regress-476655.js +75 -0
- data/vendor/tracemonkey/tests/js1_6/Regress/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_6/String/jstests.list +2 -0
- data/vendor/tracemonkey/tests/js1_6/String/regress-306591.js +99 -0
- data/vendor/tracemonkey/tests/js1_6/String/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_6/browser.js +36 -0
- data/vendor/tracemonkey/tests/js1_6/decompilation/jstests.list +4 -0
- data/vendor/tracemonkey/tests/js1_6/decompilation/regress-352084.js +79 -0
- data/vendor/tracemonkey/tests/js1_6/decompilation/regress-352613-01.js +73 -0
- data/vendor/tracemonkey/tests/js1_6/decompilation/regress-352613-02.js +73 -0
- data/vendor/tracemonkey/tests/js1_6/decompilation/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_6/extensions/jstests.list +15 -0
- data/vendor/tracemonkey/tests/js1_6/extensions/regress-312385-01.js +155 -0
- data/vendor/tracemonkey/tests/js1_6/extensions/regress-352392.js +71 -0
- data/vendor/tracemonkey/tests/js1_6/extensions/regress-385393-08.js +58 -0
- data/vendor/tracemonkey/tests/js1_6/extensions/regress-414098.js +72 -0
- data/vendor/tracemonkey/tests/js1_6/extensions/regress-455464-01.js +54 -0
- data/vendor/tracemonkey/tests/js1_6/extensions/regress-455464-02.js +64 -0
- data/vendor/tracemonkey/tests/js1_6/extensions/regress-455464-03.js +66 -0
- data/vendor/tracemonkey/tests/js1_6/extensions/regress-455464-04.js +63 -0
- data/vendor/tracemonkey/tests/js1_6/extensions/regress-456826.js +159 -0
- data/vendor/tracemonkey/tests/js1_6/extensions/regress-457521.js +57 -0
- data/vendor/tracemonkey/tests/js1_6/extensions/regress-465443.js +74 -0
- data/vendor/tracemonkey/tests/js1_6/extensions/regress-470310.js +66 -0
- data/vendor/tracemonkey/tests/js1_6/extensions/regress-472508.js +59 -0
- data/vendor/tracemonkey/tests/js1_6/extensions/regress-475144.js +58 -0
- data/vendor/tracemonkey/tests/js1_6/extensions/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_6/jstests.list +5 -0
- data/vendor/tracemonkey/tests/js1_6/shell.js +47 -0
- data/vendor/tracemonkey/tests/js1_6/template.js +59 -0
- data/vendor/tracemonkey/tests/js1_7/GC/jstests.list +3 -0
- data/vendor/tracemonkey/tests/js1_7/GC/regress-341675.js +68 -0
- data/vendor/tracemonkey/tests/js1_7/GC/regress-381374.js +92 -0
- data/vendor/tracemonkey/tests/js1_7/GC/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_7/README +1 -0
- data/vendor/tracemonkey/tests/js1_7/block/jstests.list +37 -0
- data/vendor/tracemonkey/tests/js1_7/block/order-of-operation.js +185 -0
- data/vendor/tracemonkey/tests/js1_7/block/regress-341939.js +58 -0
- data/vendor/tracemonkey/tests/js1_7/block/regress-343765.js +129 -0
- data/vendor/tracemonkey/tests/js1_7/block/regress-344139.js +125 -0
- data/vendor/tracemonkey/tests/js1_7/block/regress-344262.js +73 -0
- data/vendor/tracemonkey/tests/js1_7/block/regress-344370.js +61 -0
- data/vendor/tracemonkey/tests/js1_7/block/regress-344601.js +70 -0
- data/vendor/tracemonkey/tests/js1_7/block/regress-345542.js +63 -0
- data/vendor/tracemonkey/tests/js1_7/block/regress-347559.js +110 -0
- data/vendor/tracemonkey/tests/js1_7/block/regress-348685.js +80 -0
- data/vendor/tracemonkey/tests/js1_7/block/regress-349283.js +63 -0
- data/vendor/tracemonkey/tests/js1_7/block/regress-349298.js +71 -0
- data/vendor/tracemonkey/tests/js1_7/block/regress-349507.js +69 -0
- data/vendor/tracemonkey/tests/js1_7/block/regress-349653.js +63 -0
- data/vendor/tracemonkey/tests/js1_7/block/regress-349962.js +60 -0
- data/vendor/tracemonkey/tests/js1_7/block/regress-350279.js +69 -0
- data/vendor/tracemonkey/tests/js1_7/block/regress-350730.js +71 -0
- data/vendor/tracemonkey/tests/js1_7/block/regress-350793-01.js +72 -0
- data/vendor/tracemonkey/tests/js1_7/block/regress-351497.js +69 -0
- data/vendor/tracemonkey/tests/js1_7/block/regress-351606.js +53 -0
- data/vendor/tracemonkey/tests/js1_7/block/regress-351794.js +67 -0
- data/vendor/tracemonkey/tests/js1_7/block/regress-352092.js +71 -0
- data/vendor/tracemonkey/tests/js1_7/block/regress-352185.js +71 -0
- data/vendor/tracemonkey/tests/js1_7/block/regress-352212.js +70 -0
- data/vendor/tracemonkey/tests/js1_7/block/regress-352267.js +61 -0
- data/vendor/tracemonkey/tests/js1_7/block/regress-352422.js +70 -0
- data/vendor/tracemonkey/tests/js1_7/block/regress-352609.js +90 -0
- data/vendor/tracemonkey/tests/js1_7/block/regress-352616.js +95 -0
- data/vendor/tracemonkey/tests/js1_7/block/regress-352624.js +71 -0
- data/vendor/tracemonkey/tests/js1_7/block/regress-352786.js +70 -0
- data/vendor/tracemonkey/tests/js1_7/block/regress-352907.js +70 -0
- data/vendor/tracemonkey/tests/js1_7/block/regress-357754.js +96 -0
- data/vendor/tracemonkey/tests/js1_7/block/regress-358508.js +70 -0
- data/vendor/tracemonkey/tests/js1_7/block/regress-376410.js +70 -0
- data/vendor/tracemonkey/tests/js1_7/block/regress-396900.js +64 -0
- data/vendor/tracemonkey/tests/js1_7/block/regress-411279.js +98 -0
- data/vendor/tracemonkey/tests/js1_7/block/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_7/browser.js +36 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/jstests.list +52 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-346642-01.js +200 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-348904.js +67 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-349493.js +64 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-349499.js +64 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-349602.js +69 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-349605.js +69 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-349633.js +69 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-349634.js +64 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-350704.js +65 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-350793-02.js +68 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-350810.js +62 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-350991.js +87 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-351070-01.js +102 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-351070-03.js +173 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-351496.js +68 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-352008.js +66 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-352011.js +75 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-352015.js +69 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-352022.js +69 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-352025.js +63 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-352026.js +79 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-352068.js +64 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-352079.js +79 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-352198.js +64 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-352217.js +77 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-352266.js +80 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-352268.js +77 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-352269.js +63 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-352272.js +63 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-352283.js +63 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-352402.js +62 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-352415.js +62 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-352441.js +64 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-352732.js +93 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-355004.js +62 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-355049-01.js +62 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-355049-02.js +62 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-355105.js +62 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-355635.js +62 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-355786.js +63 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-356247.js +103 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-371802.js +63 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-374713.js +63 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-375794.js +63 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-379925.js +63 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-380506.js +68 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-381101.js +63 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-381108.js +64 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-410571.js +159 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-410649.js +62 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/regress-429252.js +70 -0
- data/vendor/tracemonkey/tests/js1_7/decompilation/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_7/expressions/destructuring-scope.js +96 -0
- data/vendor/tracemonkey/tests/js1_7/expressions/jstests.list +11 -0
- data/vendor/tracemonkey/tests/js1_7/expressions/regress-346203.js +61 -0
- data/vendor/tracemonkey/tests/js1_7/expressions/regress-346645-01.js +68 -0
- data/vendor/tracemonkey/tests/js1_7/expressions/regress-346645-02.js +68 -0
- data/vendor/tracemonkey/tests/js1_7/expressions/regress-346645-03.js +68 -0
- data/vendor/tracemonkey/tests/js1_7/expressions/regress-349624.js +61 -0
- data/vendor/tracemonkey/tests/js1_7/expressions/regress-349818.js +61 -0
- data/vendor/tracemonkey/tests/js1_7/expressions/regress-418051.js +67 -0
- data/vendor/tracemonkey/tests/js1_7/expressions/regress-421806.js +74 -0
- data/vendor/tracemonkey/tests/js1_7/expressions/regress-451340.js +60 -0
- data/vendor/tracemonkey/tests/js1_7/expressions/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/basic-Iterator.js +198 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/basic-for-each.js +123 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/basic-for-in.js +111 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/destructuring-order.js +185 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/iterator-ctor.js +136 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/jstests.list +65 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-346021.js +78 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-346642-02.js +68 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-346642-06.js +109 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-346773.js +85 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-349619.js +61 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-350312.js +113 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-351070-02.js +102 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-351102-03.js +77 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-351102-04.js +67 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-351102-05.js +67 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-351102-07.js +76 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-352797-01.js +68 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-352885-01.js +62 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-352885-02.js +99 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-353214-01.js +79 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-353214-02.js +63 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-353249.js +67 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-353454.js +70 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-354499-01.js +79 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-354499-02.js +82 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-354945-01.js +63 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-354945-02.js +71 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-355052-01.js +70 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-355052-02.js +70 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-355052-03.js +76 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-355145.js +66 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-355410.js +73 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-355512.js +71 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-355578.js +78 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-355583.js +72 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-363040-01.js +98 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-363040-02.js +97 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-366668-01.js +64 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-366668-02.js +64 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-367629.js +66 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-368213.js +50 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-368224.js +61 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-372364.js +69 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-379482.js +64 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-379566.js +78 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-380933.js +75 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-381301.js +63 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-381303.js +68 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-387955-01.js +73 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-387955-02.js +75 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-392308.js +80 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-396326.js +70 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-429266.js +73 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-453955.js +64 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-455982-01.js +59 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-455982-02.js +59 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-458679.js +85 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-469234.js +65 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-470176.js +71 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-470300-01.js +65 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-470300-02.js +65 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-474771-01.js +67 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-474771-02.js +55 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/regress-477048.js +67 -0
- data/vendor/tracemonkey/tests/js1_7/extensions/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/326466-01.js +78 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/builtin-Iterator-function.js +122 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/evens.js +58 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/fibonacci-matrix-generator.js +97 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/iterator-toString.js +76 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/jstests.list +49 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/message-value-passing.js +121 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/multiple-close.js +98 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/nested-yield.js +91 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/pi-generator.js +92 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/regress-345736.js +80 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/regress-345855.js +126 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/regress-345879-01.js +66 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/regress-345879-02.js +67 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/regress-347593.js +88 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/regress-347739.js +81 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/regress-349012-01.js +84 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/regress-349012-02.js +94 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/regress-349012-03.js +75 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/regress-349012-04.js +75 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/regress-349012-05.js +77 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/regress-349023-01.js +75 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/regress-349023-02.js +62 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/regress-349023-03.js +62 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/regress-349331.js +127 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/regress-349362.js +62 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/regress-349851.js +69 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/regress-350621.js +96 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/regress-350809.js +69 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/regress-351120.js +69 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/regress-351514.js +69 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/regress-352197.js +69 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/regress-352605.js +68 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/regress-352876.js +75 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/regress-355834.js +63 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/regress-359062.js +74 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/regress-366941.js +114 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/regress-382335.js +69 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/regress-387871.js +75 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/regress-390918.js +80 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/regress-392310.js +82 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/regress-466206.js +71 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/send-no-rhs.js +90 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/sequential-yields.js +105 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/simple-fib.js +88 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/throw-after-close.js +123 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/throw-forever.js +118 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/unreachable-yield.js +90 -0
- data/vendor/tracemonkey/tests/js1_7/geniter/yield-undefined.js +96 -0
- data/vendor/tracemonkey/tests/js1_7/iterable/jstests.list +15 -0
- data/vendor/tracemonkey/tests/js1_7/iterable/regress-340526-01.js +61 -0
- data/vendor/tracemonkey/tests/js1_7/iterable/regress-340526-02.js +75 -0
- data/vendor/tracemonkey/tests/js1_7/iterable/regress-341496.js +52 -0
- data/vendor/tracemonkey/tests/js1_7/iterable/regress-341499.js +66 -0
- data/vendor/tracemonkey/tests/js1_7/iterable/regress-341510.js +62 -0
- data/vendor/tracemonkey/tests/js1_7/iterable/regress-341815.js +126 -0
- data/vendor/tracemonkey/tests/js1_7/iterable/regress-341821.js +115 -0
- data/vendor/tracemonkey/tests/js1_7/iterable/regress-354750-01.js +75 -0
- data/vendor/tracemonkey/tests/js1_7/iterable/regress-355025.js +61 -0
- data/vendor/tracemonkey/tests/js1_7/iterable/regress-355075-01.js +71 -0
- data/vendor/tracemonkey/tests/js1_7/iterable/regress-355075-02.js +71 -0
- data/vendor/tracemonkey/tests/js1_7/iterable/regress-355090.js +70 -0
- data/vendor/tracemonkey/tests/js1_7/iterable/regress-412467.js +69 -0
- data/vendor/tracemonkey/tests/js1_7/iterable/regress-415922.js +82 -0
- data/vendor/tracemonkey/tests/js1_7/iterable/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_7/jstests.list +10 -0
- data/vendor/tracemonkey/tests/js1_7/lexical/jstests.list +5 -0
- data/vendor/tracemonkey/tests/js1_7/lexical/regress-336376-01.js +441 -0
- data/vendor/tracemonkey/tests/js1_7/lexical/regress-346642-03.js +169 -0
- data/vendor/tracemonkey/tests/js1_7/lexical/regress-346642-04.js +70 -0
- data/vendor/tracemonkey/tests/js1_7/lexical/regress-351515.js +130 -0
- data/vendor/tracemonkey/tests/js1_7/lexical/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_7/regexp/jstests.list +2 -0
- data/vendor/tracemonkey/tests/js1_7/regexp/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_7/regexp/yflag.js +111 -0
- data/vendor/tracemonkey/tests/js1_7/regress/jstests.list +67 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-350387.js +70 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-351503-01.js +118 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-351503-02.js +123 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-352640-01.js +67 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-352640-02.js +67 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-352640-03.js +67 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-352640-04.js +67 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-352797-02.js +70 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-352870-01.js +70 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-352870-02.js +69 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-352870-03.js +71 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-353079.js +62 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-355023.js +64 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-355832-01.js +63 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-355832-02.js +63 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-361566.js +60 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-363040-01.js +128 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-363040-02.js +100 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-369666-01.js +92 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-369666-02.js +96 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-372331.js +88 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-373827-01.js +61 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-373827-02.js +67 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-373828.js +68 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-375695.js +60 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-379442.js +61 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-379483.js +61 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-385133-01.js +71 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-385133-02.js +69 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-385393-05.js +77 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-387951.js +61 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-406477.js +81 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-407727-01.js +50 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-407727-02.js +52 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-407957.js +63 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-410649.js +75 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-414553.js +55 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-416601.js +70 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-416705.js +73 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-418641.js +113 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-419803.js +64 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-420399.js +69 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-428706.js +61 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-428708.js +61 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-452703.js +54 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-452960.js +66 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-453049.js +64 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-453051.js +64 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-453411.js +65 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-461235.js +65 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-461945.js +65 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-462071.js +65 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-462282.js +65 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-462388.js +65 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-462407.js +54 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-464403.js +68 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-465236.js +63 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-465424.js +65 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-465484.js +63 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-469239-01.js +71 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-469239-02.js +71 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-470223.js +73 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-470388-01.js +61 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-470388-02.js +66 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-470388-03.js +65 -0
- data/vendor/tracemonkey/tests/js1_7/regress/regress-474771.js +79 -0
- data/vendor/tracemonkey/tests/js1_7/regress/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_7/shell.js +47 -0
- data/vendor/tracemonkey/tests/js1_7/template.js +59 -0
- data/vendor/tracemonkey/tests/js1_8/README +1 -0
- data/vendor/tracemonkey/tests/js1_8/browser.js +36 -0
- data/vendor/tracemonkey/tests/js1_8/decompilation/jstests.list +12 -0
- data/vendor/tracemonkey/tests/js1_8/decompilation/regress-260106.js +64 -0
- data/vendor/tracemonkey/tests/js1_8/decompilation/regress-346749.js +62 -0
- data/vendor/tracemonkey/tests/js1_8/decompilation/regress-381372.js +63 -0
- data/vendor/tracemonkey/tests/js1_8/decompilation/regress-381504.js +78 -0
- data/vendor/tracemonkey/tests/js1_8/decompilation/regress-381963-01.js +63 -0
- data/vendor/tracemonkey/tests/js1_8/decompilation/regress-381963-02.js +65 -0
- data/vendor/tracemonkey/tests/js1_8/decompilation/regress-382981.js +67 -0
- data/vendor/tracemonkey/tests/js1_8/decompilation/regress-443074.js +63 -0
- data/vendor/tracemonkey/tests/js1_8/decompilation/regress-460504.js +63 -0
- data/vendor/tracemonkey/tests/js1_8/decompilation/regress-461233.js +64 -0
- data/vendor/tracemonkey/tests/js1_8/decompilation/regress-469625-01.js +66 -0
- data/vendor/tracemonkey/tests/js1_8/decompilation/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_8/extensions/dekker.js +98 -0
- data/vendor/tracemonkey/tests/js1_8/extensions/for-in.js +85 -0
- data/vendor/tracemonkey/tests/js1_8/extensions/jstests.list +41 -0
- data/vendor/tracemonkey/tests/js1_8/extensions/lamport.js +126 -0
- data/vendor/tracemonkey/tests/js1_8/extensions/peterson.js +89 -0
- data/vendor/tracemonkey/tests/js1_8/extensions/regress-353116.js +112 -0
- data/vendor/tracemonkey/tests/js1_8/extensions/regress-378789.js +67 -0
- data/vendor/tracemonkey/tests/js1_8/extensions/regress-385393-01.js +67 -0
- data/vendor/tracemonkey/tests/js1_8/extensions/regress-385393-10.js +67 -0
- data/vendor/tracemonkey/tests/js1_8/extensions/regress-385393-11.js +68 -0
- data/vendor/tracemonkey/tests/js1_8/extensions/regress-385729.js +88 -0
- data/vendor/tracemonkey/tests/js1_8/extensions/regress-394709.js +84 -0
- data/vendor/tracemonkey/tests/js1_8/extensions/regress-415721.js +74 -0
- data/vendor/tracemonkey/tests/js1_8/extensions/regress-417131.js +108 -0
- data/vendor/tracemonkey/tests/js1_8/extensions/regress-417817.js +87 -0
- data/vendor/tracemonkey/tests/js1_8/extensions/regress-419091.js +79 -0
- data/vendor/tracemonkey/tests/js1_8/extensions/regress-422269.js +83 -0
- data/vendor/tracemonkey/tests/js1_8/extensions/regress-445818.js +73 -0
- data/vendor/tracemonkey/tests/js1_8/extensions/regress-446169-01.js +82 -0
- data/vendor/tracemonkey/tests/js1_8/extensions/regress-446169-02.js +80 -0
- data/vendor/tracemonkey/tests/js1_8/extensions/regress-452476.js +62 -0
- data/vendor/tracemonkey/tests/js1_8/extensions/regress-452913.js +51 -0
- data/vendor/tracemonkey/tests/js1_8/extensions/regress-454744.js +71 -0
- data/vendor/tracemonkey/tests/js1_8/extensions/regress-455973.js +62 -0
- data/vendor/tracemonkey/tests/js1_8/extensions/regress-465337.js +65 -0
- data/vendor/tracemonkey/tests/js1_8/extensions/regress-465453.js +77 -0
- data/vendor/tracemonkey/tests/js1_8/extensions/regress-469625.js +75 -0
- data/vendor/tracemonkey/tests/js1_8/extensions/regress-471197.js +79 -0
- data/vendor/tracemonkey/tests/js1_8/extensions/regress-472450-03.js +67 -0
- data/vendor/tracemonkey/tests/js1_8/extensions/regress-472450-04.js +69 -0
- data/vendor/tracemonkey/tests/js1_8/extensions/regress-473040.js +56 -0
- data/vendor/tracemonkey/tests/js1_8/extensions/regress-475971.js +90 -0
- data/vendor/tracemonkey/tests/js1_8/extensions/regress-476414-01.js +99 -0
- data/vendor/tracemonkey/tests/js1_8/extensions/regress-476414-02.js +100 -0
- data/vendor/tracemonkey/tests/js1_8/extensions/regress-476427.js +69 -0
- data/vendor/tracemonkey/tests/js1_8/extensions/regress-476869.js +79 -0
- data/vendor/tracemonkey/tests/js1_8/extensions/regress-479252.js +73 -0
- data/vendor/tracemonkey/tests/js1_8/extensions/regress-479381.js +81 -0
- data/vendor/tracemonkey/tests/js1_8/extensions/regress-481989.js +54 -0
- data/vendor/tracemonkey/tests/js1_8/extensions/regress-482263.js +57 -0
- data/vendor/tracemonkey/tests/js1_8/extensions/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_8/extensions/simple-tree.js +82 -0
- data/vendor/tracemonkey/tests/js1_8/genexps/jstests.list +10 -0
- data/vendor/tracemonkey/tests/js1_8/genexps/regress-347739.js +84 -0
- data/vendor/tracemonkey/tests/js1_8/genexps/regress-349012-01.js +87 -0
- data/vendor/tracemonkey/tests/js1_8/genexps/regress-349326.js +181 -0
- data/vendor/tracemonkey/tests/js1_8/genexps/regress-349331.js +126 -0
- data/vendor/tracemonkey/tests/js1_8/genexps/regress-380237-01.js +234 -0
- data/vendor/tracemonkey/tests/js1_8/genexps/regress-380237-02.js +63 -0
- data/vendor/tracemonkey/tests/js1_8/genexps/regress-380237-03.js +195 -0
- data/vendor/tracemonkey/tests/js1_8/genexps/regress-380237-04.js +329 -0
- data/vendor/tracemonkey/tests/js1_8/genexps/regress-384991.js +92 -0
- data/vendor/tracemonkey/tests/js1_8/genexps/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_8/jstests.list +4 -0
- data/vendor/tracemonkey/tests/js1_8/regress/jstests.list +85 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-366941.js +105 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-384412.js +231 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-384758.js +69 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-404734.js +64 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-427798.js +91 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-433279-01.js +61 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-433279-02.js +66 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-433279-03.js +66 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-442333-01.js +70 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-452491.js +64 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-453492.js +61 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-455981-01.js +69 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-455981-02.js +69 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-457065-01.js +67 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-457065-02.js +65 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-458076.js +65 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-459185.js +67 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-459186.js +67 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-459389.js +153 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-461930.js +66 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-461932.js +66 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-463334-01.js +66 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-463334-02.js +68 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-463783.js +68 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-464092-01.js +61 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-464092-02.js +68 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-464096.js +67 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-464418.js +80 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-464978.js +65 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-465220.js +78 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-465234.js +68 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-465239.js +68 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-465241.js +68 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-465249.js +65 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-465261.js +69 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-465308.js +66 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-465454.js +66 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-465460-01.js +67 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-465460-02.js +65 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-465460-03.js +65 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-465460-04.js +65 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-465460-05.js +65 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-465460-06.js +65 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-465460-07.js +74 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-465460-08.js +65 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-465460-09.js +65 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-465460-10.js +65 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-465460-11.js +65 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-465460-12.js +65 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-465483.js +65 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-465567-01.js +64 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-465567-02.js +60 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-465688.js +63 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-466128.js +66 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-466787.js +68 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-467495-01.js +61 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-467495-02.js +67 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-467495-03.js +80 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-467495-04.js +75 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-467495-05.js +64 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-467495-06.js +77 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-468711.js +65 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-469625-02.js +66 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-469625-03.js +73 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-471373.js +78 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-471660.js +72 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-472450-01.js +66 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-472450-02.js +66 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-472528-01.js +74 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-472528-02.js +74 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-472703.js +73 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-474769.js +70 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-474771.js +73 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-474935.js +75 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-476655.js +74 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-477234.js +79 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-477581.js +68 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-478205.js +65 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-479353.js +56 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-479740.js +71 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-481800.js +65 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-483749.js +60 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-499524.js +48 -0
- data/vendor/tracemonkey/tests/js1_8/regress/regress-532491.js +71 -0
- data/vendor/tracemonkey/tests/js1_8/regress/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_8/shell.js +47 -0
- data/vendor/tracemonkey/tests/js1_8/template.js +59 -0
- data/vendor/tracemonkey/tests/js1_8_1/JSON/jstests.list +3 -0
- data/vendor/tracemonkey/tests/js1_8_1/JSON/regress-458959.js +65 -0
- data/vendor/tracemonkey/tests/js1_8_1/JSON/regress-459293.js +56 -0
- data/vendor/tracemonkey/tests/js1_8_1/JSON/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_8_1/README +1 -0
- data/vendor/tracemonkey/tests/js1_8_1/String/jstests.list +2 -0
- data/vendor/tracemonkey/tests/js1_8_1/String/regress-305064.js +177 -0
- data/vendor/tracemonkey/tests/js1_8_1/String/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_8_1/browser.js +36 -0
- data/vendor/tracemonkey/tests/js1_8_1/decompilation/jstests.list +21 -0
- data/vendor/tracemonkey/tests/js1_8_1/decompilation/regress-346642-01.js +200 -0
- data/vendor/tracemonkey/tests/js1_8_1/decompilation/regress-349605.js +69 -0
- data/vendor/tracemonkey/tests/js1_8_1/decompilation/regress-349634.js +64 -0
- data/vendor/tracemonkey/tests/js1_8_1/decompilation/regress-350991.js +87 -0
- data/vendor/tracemonkey/tests/js1_8_1/decompilation/regress-351070-01.js +102 -0
- data/vendor/tracemonkey/tests/js1_8_1/decompilation/regress-351336.js +63 -0
- data/vendor/tracemonkey/tests/js1_8_1/decompilation/regress-351626.js +64 -0
- data/vendor/tracemonkey/tests/js1_8_1/decompilation/regress-352011.js +75 -0
- data/vendor/tracemonkey/tests/js1_8_1/decompilation/regress-352022.js +69 -0
- data/vendor/tracemonkey/tests/js1_8_1/decompilation/regress-352026.js +79 -0
- data/vendor/tracemonkey/tests/js1_8_1/decompilation/regress-352609.js +90 -0
- data/vendor/tracemonkey/tests/js1_8_1/decompilation/regress-353249.js +67 -0
- data/vendor/tracemonkey/tests/js1_8_1/decompilation/regress-354878.js +62 -0
- data/vendor/tracemonkey/tests/js1_8_1/decompilation/regress-371802.js +63 -0
- data/vendor/tracemonkey/tests/js1_8_1/decompilation/regress-373678-01.js +62 -0
- data/vendor/tracemonkey/tests/js1_8_1/decompilation/regress-380237-03.js +195 -0
- data/vendor/tracemonkey/tests/js1_8_1/decompilation/regress-380237-04.js +334 -0
- data/vendor/tracemonkey/tests/js1_8_1/decompilation/regress-443074.js +63 -0
- data/vendor/tracemonkey/tests/js1_8_1/decompilation/regress-466905-03.js +87 -0
- data/vendor/tracemonkey/tests/js1_8_1/decompilation/regress-530537.js +41 -0
- data/vendor/tracemonkey/tests/js1_8_1/decompilation/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_8_1/extensions/jstests.list +13 -0
- data/vendor/tracemonkey/tests/js1_8_1/extensions/regress-352281.js +67 -0
- data/vendor/tracemonkey/tests/js1_8_1/extensions/regress-353214-02.js +63 -0
- data/vendor/tracemonkey/tests/js1_8_1/extensions/regress-437288-01.js +69 -0
- data/vendor/tracemonkey/tests/js1_8_1/extensions/regress-452498-162.js +59 -0
- data/vendor/tracemonkey/tests/js1_8_1/extensions/regress-452498-193.js +66 -0
- data/vendor/tracemonkey/tests/js1_8_1/extensions/regress-452498-196.js +76 -0
- data/vendor/tracemonkey/tests/js1_8_1/extensions/regress-452498-224.js +63 -0
- data/vendor/tracemonkey/tests/js1_8_1/extensions/regress-466905-04.js +82 -0
- data/vendor/tracemonkey/tests/js1_8_1/extensions/regress-466905-05.js +77 -0
- data/vendor/tracemonkey/tests/js1_8_1/extensions/regress-477158.js +66 -0
- data/vendor/tracemonkey/tests/js1_8_1/extensions/regress-477187.js +73 -0
- data/vendor/tracemonkey/tests/js1_8_1/extensions/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_8_1/extensions/strict-warning.js +29 -0
- data/vendor/tracemonkey/tests/js1_8_1/jstests.list +6 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/jstests.list +82 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-420399.js +69 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-006.js +78 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-027.js +71 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-030.js +64 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-038.js +63 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-039.js +68 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-040.js +70 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-050.js +77 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-051.js +79 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-052-a.js +72 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-052.js +82 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-053.js +111 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-054.js +73 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-058.js +64 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-062.js +77 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-063.js +68 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-068.js +129 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-071.js +64 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-072.js +64 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-073.js +71 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-074.js +67 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-075.js +65 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-076.js +64 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-077.js +67 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-079.js +65 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-082.js +190 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-091.js +65 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-092.js +73 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-098.js +73 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-099-a.js +72 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-099.js +87 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-101.js +64 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-102.js +120 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-103.js +64 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-104.js +64 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-107.js +67 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-108.js +66 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-110.js +82 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-111.js +68 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-112.js +72 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-114-a.js +76 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-114.js +83 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-116.js +66 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-117.js +171 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-118.js +66 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-119.js +93 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-121.js +66 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-123.js +92 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-129.js +83 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-130.js +90 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-131.js +82 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-135-a.js +68 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-135.js +120 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-138.js +77 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-139.js +74 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-155.js +67 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-160.js +72 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-168-1.js +66 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-168-2.js +64 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-176.js +64 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-178.js +64 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-181.js +64 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-184.js +64 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-185.js +70 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-187.js +70 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-191.js +80 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-192.js +62 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-466905-01.js +63 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-466905-02.js +62 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-479430-01.js +76 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-479430-02.js +78 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-479430-03.js +81 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-479430-04.js +77 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-479430-05.js +76 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-495773.js +77 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-495907.js +69 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-496922.js +73 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-507053.js +81 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-507295.js +76 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-507424.js +68 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-509354.js +41 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/regress-515885.js +6 -0
- data/vendor/tracemonkey/tests/js1_8_1/regress/shell.js +1 -0
- data/vendor/tracemonkey/tests/js1_8_1/shell.js +47 -0
- data/vendor/tracemonkey/tests/js1_8_1/template.js +59 -0
- data/vendor/tracemonkey/tests/js1_8_1/trace/jstests.list +23 -0
- data/vendor/tracemonkey/tests/js1_8_1/trace/math-trace-tests.js +734 -0
- data/vendor/tracemonkey/tests/js1_8_1/trace/regress-451673.js +116 -0
- data/vendor/tracemonkey/tests/js1_8_1/trace/regress-451974-01.js +87 -0
- data/vendor/tracemonkey/tests/js1_8_1/trace/regress-451974-02.js +98 -0
- data/vendor/tracemonkey/tests/js1_8_1/trace/regress-452498-01.js +106 -0
- data/vendor/tracemonkey/tests/js1_8_1/trace/regress-458838.js +96 -0
- data/vendor/tracemonkey/tests/js1_8_1/trace/regress-462459-01.js +108 -0
- data/vendor/tracemonkey/tests/js1_8_1/trace/regress-462459-02.js +108 -0
- data/vendor/tracemonkey/tests/js1_8_1/trace/regress-462459-03.js +108 -0
- data/vendor/tracemonkey/tests/js1_8_1/trace/regress-462459-04.js +108 -0
- data/vendor/tracemonkey/tests/js1_8_1/trace/regress-462459-05.js +108 -0
- data/vendor/tracemonkey/tests/js1_8_1/trace/regress-462459-06.js +108 -0
- data/vendor/tracemonkey/tests/js1_8_1/trace/regress-462459-07.js +108 -0
- data/vendor/tracemonkey/tests/js1_8_1/trace/regress-462459-08.js +108 -0
- data/vendor/tracemonkey/tests/js1_8_1/trace/regress-462459-09.js +108 -0
- data/vendor/tracemonkey/tests/js1_8_1/trace/regress-462459-10.js +108 -0
- data/vendor/tracemonkey/tests/js1_8_1/trace/regress-462459-11.js +108 -0
- data/vendor/tracemonkey/tests/js1_8_1/trace/regress-462459-12.js +108 -0
- data/vendor/tracemonkey/tests/js1_8_1/trace/regress-469927.js +79 -0
- data/vendor/tracemonkey/tests/js1_8_1/trace/regress-470739.js +81 -0
- data/vendor/tracemonkey/tests/js1_8_1/trace/regress-471635.js +89 -0
- data/vendor/tracemonkey/tests/js1_8_1/trace/shell.js +1 -0
- data/vendor/tracemonkey/{trace-test.js → tests/js1_8_1/trace/trace-test.js} +1261 -1454
- data/vendor/tracemonkey/tests/jsDriver.pl +1537 -0
- data/vendor/tracemonkey/tests/jsreftest.html +19 -0
- data/vendor/tracemonkey/tests/jstests.list +15 -0
- data/vendor/tracemonkey/tests/known-failures.pl +720 -0
- data/vendor/tracemonkey/tests/menufoot.html +8 -0
- data/vendor/tracemonkey/tests/menuhead.html +58 -0
- data/vendor/tracemonkey/tests/menuhead.js +761 -0
- data/vendor/tracemonkey/tests/mkhtml.pl +84 -0
- data/vendor/tracemonkey/tests/mklistpage.pl +443 -0
- data/vendor/tracemonkey/tests/most.tests +892 -0
- data/vendor/tracemonkey/tests/pattern-expander.pl +181 -0
- data/vendor/tracemonkey/tests/pattern-extracter.pl +227 -0
- data/vendor/tracemonkey/tests/performance-1.8.0.tests +19 -0
- data/vendor/tracemonkey/tests/performance-1.8.1.tests +19 -0
- data/vendor/tracemonkey/tests/performance-1.9.0.tests +19 -0
- data/vendor/tracemonkey/tests/performance-1.9.1.tests +19 -0
- data/vendor/tracemonkey/tests/performance-1.9.2.tests +19 -0
- data/vendor/tracemonkey/tests/performance.tests +18 -0
- data/vendor/tracemonkey/tests/post-process-logs.pl +602 -0
- data/vendor/tracemonkey/tests/process-logs.sh +203 -0
- data/vendor/tracemonkey/tests/remove-fixed-failures.sh +82 -0
- data/vendor/tracemonkey/tests/runRhinoTests.pl +447 -0
- data/vendor/tracemonkey/tests/runtests.pl +495 -0
- data/vendor/tracemonkey/tests/runtests.sh +262 -0
- data/vendor/tracemonkey/tests/runtests2.pl +3 -0
- data/vendor/tracemonkey/tests/shell.js +928 -0
- data/vendor/tracemonkey/tests/slow-n-1.8.1-browser.tests +62 -0
- data/vendor/tracemonkey/tests/slow-n-1.8.1.tests +35 -0
- data/vendor/tracemonkey/tests/slow-n-1.9.0-browser.tests +51 -0
- data/vendor/tracemonkey/tests/slow-n-1.9.0.tests +21 -0
- data/vendor/tracemonkey/tests/slow-n-1.9.1-browser.tests +49 -0
- data/vendor/tracemonkey/tests/slow-n-1.9.1.tests +25 -0
- data/vendor/tracemonkey/tests/slow-n-1.9.2-browser.tests +50 -0
- data/vendor/tracemonkey/tests/slow-n-1.9.2.tests +24 -0
- data/vendor/tracemonkey/tests/slow-n.tests +30 -0
- data/vendor/tracemonkey/tests/spidermonkey-gc.tests +28 -0
- data/vendor/tracemonkey/tests/spidermonkey-n-1.8.0.tests +95 -0
- data/vendor/tracemonkey/tests/spidermonkey-n-1.8.1.tests +95 -0
- data/vendor/tracemonkey/tests/spidermonkey-n-1.9.0.tests +99 -0
- data/vendor/tracemonkey/tests/spidermonkey-n-1.9.1.tests +152 -0
- data/vendor/tracemonkey/tests/spidermonkey-n-1.9.2.tests +152 -0
- data/vendor/tracemonkey/tests/spidermonkey-n-1.9.3.tests +152 -0
- data/vendor/tracemonkey/tests/spidermonkey-n.tests +90 -0
- data/vendor/tracemonkey/tests/template.js +73 -0
- data/vendor/tracemonkey/tests/test.sh +531 -0
- data/vendor/tracemonkey/tests/user.js +33 -0
- data/vendor/tracemonkey/tests/userhookeach.js +198 -0
- data/vendor/tracemonkey/trace-test/README +70 -0
- data/vendor/tracemonkey/trace-test/lib/andTestHelper.js +9 -0
- data/vendor/tracemonkey/{mandelbrot-results.js → trace-test/lib/mandelbrot-results.js} +0 -0
- data/vendor/tracemonkey/trace-test/lib/orTestHelper.js +9 -0
- data/vendor/tracemonkey/trace-test/lib/prolog.js +37 -0
- data/vendor/tracemonkey/trace-test/lib/range.js +18 -0
- data/vendor/tracemonkey/trace-test/progressbar.py +35 -0
- data/vendor/tracemonkey/trace-test/tests/basic/FPQuadCmp.js +6 -0
- data/vendor/tracemonkey/trace-test/tests/basic/argumentsPassedToBuiltin.js +14 -0
- data/vendor/tracemonkey/trace-test/tests/basic/arith.js +11 -0
- data/vendor/tracemonkey/trace-test/tests/basic/arityMismatchExtraArg.js +13 -0
- data/vendor/tracemonkey/trace-test/tests/basic/arityMismatchMissingArg.js +8 -0
- data/vendor/tracemonkey/trace-test/tests/basic/bitwiseAnd.js +10 -0
- data/vendor/tracemonkey/trace-test/tests/basic/bitwiseGlobal.js +8 -0
- data/vendor/tracemonkey/trace-test/tests/basic/bug464403.js +7 -0
- data/vendor/tracemonkey/trace-test/tests/basic/bug465902.js +13 -0
- data/vendor/tracemonkey/trace-test/tests/basic/bug504587-1.js +13 -0
- data/vendor/tracemonkey/trace-test/tests/basic/bug507180.js +69 -0
- data/vendor/tracemonkey/trace-test/tests/basic/bug509639.js +3 -0
- data/vendor/tracemonkey/trace-test/tests/basic/bug509982.js +15 -0
- data/vendor/tracemonkey/trace-test/tests/basic/bug510434.js +2 -0
- data/vendor/tracemonkey/trace-test/tests/basic/bug510437-2.js +13 -0
- data/vendor/tracemonkey/trace-test/tests/basic/bug510437.js +12 -0
- data/vendor/tracemonkey/trace-test/tests/basic/bug510642.js +14 -0
- data/vendor/tracemonkey/trace-test/tests/basic/bug510655.js +15 -0
- data/vendor/tracemonkey/trace-test/tests/basic/bug511214.js +18 -0
- data/vendor/tracemonkey/trace-test/tests/basic/bug511241.js +15 -0
- data/vendor/tracemonkey/trace-test/tests/basic/bug513038.js +16 -0
- data/vendor/tracemonkey/trace-test/tests/basic/bug516009.js +20 -0
- data/vendor/tracemonkey/trace-test/tests/basic/bug517721.js +8 -0
- data/vendor/tracemonkey/trace-test/tests/basic/bug525028.js +16 -0
- data/vendor/tracemonkey/trace-test/tests/basic/bug531037.js +22 -0
- data/vendor/tracemonkey/trace-test/tests/basic/bug531513.js +23 -0
- data/vendor/tracemonkey/trace-test/tests/basic/bug532568-2.js +20 -0
- data/vendor/tracemonkey/trace-test/tests/basic/bug532568.js +19 -0
- data/vendor/tracemonkey/trace-test/tests/basic/bug532823.js +23 -0
- data/vendor/tracemonkey/trace-test/tests/basic/bug535760.js +13 -0
- data/vendor/tracemonkey/trace-test/tests/basic/bug539553-2.js +7 -0
- data/vendor/tracemonkey/trace-test/tests/basic/bug539553-3.js +11 -0
- data/vendor/tracemonkey/trace-test/tests/basic/bug539553.js +11 -0
- data/vendor/tracemonkey/trace-test/tests/basic/call.js +28 -0
- data/vendor/tracemonkey/{call.js → trace-test/tests/basic/call2.js} +1 -1
- data/vendor/tracemonkey/trace-test/tests/basic/createMandelSet.js +242 -0
- data/vendor/tracemonkey/trace-test/tests/basic/deep2.js +11 -0
- data/vendor/tracemonkey/trace-test/tests/basic/deepForInLoop.js +12 -0
- data/vendor/tracemonkey/trace-test/tests/basic/dependentStrings.js +11 -0
- data/vendor/tracemonkey/trace-test/tests/basic/doMath.js +60 -0
- data/vendor/tracemonkey/trace-test/tests/basic/equalInt.js +29 -0
- data/vendor/tracemonkey/trace-test/tests/basic/fannkuch.js +17 -0
- data/vendor/tracemonkey/trace-test/tests/basic/forVarInWith.js +12 -0
- data/vendor/tracemonkey/trace-test/tests/basic/getelem.js +30 -0
- data/vendor/tracemonkey/trace-test/tests/basic/getprop.js +16 -0
- data/vendor/tracemonkey/trace-test/tests/basic/globalGet.js +6 -0
- data/vendor/tracemonkey/trace-test/tests/basic/globalSet.js +4 -0
- data/vendor/tracemonkey/trace-test/tests/basic/ifInsideLoop.js +12 -0
- data/vendor/tracemonkey/trace-test/tests/basic/inArrayTest.js +9 -0
- data/vendor/tracemonkey/trace-test/tests/basic/inObjectTest.js +13 -0
- data/vendor/tracemonkey/trace-test/tests/basic/innerLoopIntOuterDouble.js +11 -0
- data/vendor/tracemonkey/trace-test/tests/basic/inner_double_outer_int.js +10 -0
- data/vendor/tracemonkey/trace-test/tests/basic/jitstatsArchFlags.js +14 -0
- data/vendor/tracemonkey/trace-test/tests/basic/joinTest.js +15 -0
- data/vendor/tracemonkey/trace-test/tests/basic/matchInLoop.js +8 -0
- data/vendor/tracemonkey/{math-trace-tests.js → trace-test/tests/basic/math-trace-tests.js} +25 -12
- data/vendor/tracemonkey/trace-test/tests/basic/merge_type_maps.js +9 -0
- data/vendor/tracemonkey/trace-test/tests/basic/missingArgTest.js +12 -0
- data/vendor/tracemonkey/trace-test/tests/basic/missingArgTest2.js +26 -0
- data/vendor/tracemonkey/trace-test/tests/basic/mod.js +14 -0
- data/vendor/tracemonkey/trace-test/tests/basic/name-inactive-del.js +28 -0
- data/vendor/tracemonkey/trace-test/tests/basic/name-inactive-eval-del.js +10 -0
- data/vendor/tracemonkey/trace-test/tests/basic/name-inactive-inferflags.js +18 -0
- data/vendor/tracemonkey/trace-test/tests/basic/name-inactive.js +20 -0
- data/vendor/tracemonkey/trace-test/tests/basic/name.js +9 -0
- data/vendor/tracemonkey/trace-test/tests/basic/nestedExit2.js +17 -0
- data/vendor/tracemonkey/trace-test/tests/basic/nestedExitLoop.js +14 -0
- data/vendor/tracemonkey/trace-test/tests/basic/newArrayTest.js +8 -0
- data/vendor/tracemonkey/trace-test/tests/basic/newTest.js +14 -0
- data/vendor/tracemonkey/trace-test/tests/basic/nonEmptyStack1.js +13 -0
- data/vendor/tracemonkey/trace-test/tests/basic/nonEmptyStack2.js +10 -0
- data/vendor/tracemonkey/trace-test/tests/basic/orNaNTest1.js +3 -0
- data/vendor/tracemonkey/trace-test/tests/basic/orNaNTest2.js +3 -0
- data/vendor/tracemonkey/trace-test/tests/basic/outerline.js +15 -0
- data/vendor/tracemonkey/trace-test/tests/basic/parseIntTests.js +21 -0
- data/vendor/tracemonkey/trace-test/tests/basic/parsingNumbers.js +23 -0
- data/vendor/tracemonkey/trace-test/tests/basic/putargsNoReturn.js +6 -0
- data/vendor/tracemonkey/trace-test/tests/basic/putargsReturn.js +7 -0
- data/vendor/tracemonkey/trace-test/tests/basic/regexpLastIndex.js +13 -0
- data/vendor/tracemonkey/trace-test/tests/basic/setArgumentsLength.js +14 -0
- data/vendor/tracemonkey/trace-test/tests/basic/setArgumentsLength2.js +12 -0
- data/vendor/tracemonkey/trace-test/tests/basic/setCall.js +26 -0
- data/vendor/tracemonkey/trace-test/tests/basic/setCallEvalMiddle.js +17 -0
- data/vendor/tracemonkey/trace-test/tests/basic/setCallEvalMiddle2.js +18 -0
- data/vendor/tracemonkey/trace-test/tests/basic/setCallGlobal.js +14 -0
- data/vendor/tracemonkey/trace-test/tests/basic/setelem.js +12 -0
- data/vendor/tracemonkey/trace-test/tests/basic/setprop.js +10 -0
- data/vendor/tracemonkey/trace-test/tests/basic/shapelessCalleeTest.js +67 -0
- data/vendor/tracemonkey/trace-test/tests/basic/stringConvert.js +18 -0
- data/vendor/tracemonkey/trace-test/tests/basic/stringSplitIntoArrayTest.js +9 -0
- data/vendor/tracemonkey/trace-test/tests/basic/stringSplitTest.js +9 -0
- data/vendor/tracemonkey/trace-test/tests/basic/strings.js +21 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testAbortedImacroDecompilation.js +7 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testAddAnyInconvertibleObject.js +33 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testAddInconvertibleObjectAny.js +39 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testAddInconvertibleObjectInconvertibleObject.js +38 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testAddNull.js +13 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testAddUndefined.js +5 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testApply.js +7 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testApplyCall.js +42 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testApplyUnbox.js +11 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testArrayComp1.js +6 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testArrayComp2.js +7 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testArrayDensityChange.js +17 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testArrayNaNIndex.js +7 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testArrayNamedProp.js +5 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testArrayPushPop.js +11 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testAtomize.js +10 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testBitOrAnyInconvertibleObject.js +33 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testBitOrInconvertibleObjectAny.js +33 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testBitOrInconvertibleObjectInconvertibleObject.js +38 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testBitwise.js +12 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testBoxDoubleWithDoubleSizedInt.js +10 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testBranchCse.js +7 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testBranchingLoop.js +11 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testBranchingUnstableLoop.js +11 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testBranchingUnstableLoopCounter.js +11 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testBranchingUnstableObject.js +13 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testBreak.js +6 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testBug458838.js +18 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testBug462388.js +6 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testBug462407.js +6 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testBug463490.js +18 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testBug465261.js +7 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testBug465272.js +6 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testBug465483.js +7 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testBug465688.js +6 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testBug466128.js +9 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testBug466262.js +11 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testBug474769.js +10 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testBug501690.js +14 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testBug502914.js +19 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testBug504520.js +11 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testBug504520Harder.js +32 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testBug507425.js +14 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testBug532363.js +2 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testCallElem.js +17 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testCallPick.js +18 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testCallProtoMethod.js +14 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testCaseAbort.js +19 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testCaseTypeMismatchBadness.js +22 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testChangingObjectWithLength.js +37 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testClosingRecursion.js +13 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testClosureIncrSideExit.js +17 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testClosures.js +18 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testComparisons.js +988 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testConstIf.js +6 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testConstSwitch.js +13 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testConstSwitch2.js +6 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testConstantBooleanExpr.js +6 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testConstructorBail.js +4 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testContinue.js +11 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testContinueWithLabel.js +16 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testContinueWithLabel2.js +7 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testContinueWithLabel3.js +6 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testContinueWithLabel4.js +25 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testConvertibleObjectEqUndefined.js +33 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testCustomIterator.js +26 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testDateNow.js +15 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testDecayingInnerLoop.js +9 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testDeepBail1.js +6 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testDeepBailFromHasInstance.js +12 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testDeepPropertyShadowing.js +17 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testDenseArrayProp.js +12 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testDestructuring.js +9 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testDifferingArgc.js +18 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testDivOverflow.js +6 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testDivision.js +10 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testDivisionFloat.js +10 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testDivisionWithNegative1.js +6 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testDoubleComparison.js +16 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testDoubleToStr.js +9 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testEliminatedGuardWithinAnchor.js +12 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testEqFalseEmptyString.js +6 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testFewerGlobalsInInnerTree.js +14 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testFloatArrayIndex.js +9 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testForEach.js +11 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testForInLoopChangeIteratorType.js +11 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testFunctionIdentityChange.js +21 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testGCWhileRecording.js +12 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testGeneratorDeepBail.js +11 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testGetCallObj.js +11 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testGetThis.js +7 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testGlobalMultitrees1.js +11 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testGlobalProtoAccess.js +5 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testGlobalShapeChangeAfterDeepBail.js +15 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testGrowDenseArray.js +7 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testHOTLOOPCorrectness.js +14 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testHOTLOOPSize.js +4 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testHeavy.js +14 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testHeavy2.js +20 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testHolePushing.js +13 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testINITELEM.js +8 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testIn.js +19 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testIncDec.js +19 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testInitelemWithFloatIndex.js +3 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testInitelemWithSetter.js +3 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testInnerMissingArgs.js +21 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testInnerSwitchBreak.js +24 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testInt32ToId.js +39 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testIntFloor.js +8 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testIntOverflow.js +15 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testIntUnderflow.js +15 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testInterpreterReentery8.js +6 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testInterpreterReentry.js +6 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testInterpreterReentry2.js +11 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testInterpreterReentry3.js +7 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testInterpreterReentry4.js +6 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testInterpreterReentry5.js +9 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testInterpreterReentry6.js +7 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testInterpreterReentry7.js +11 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testInvalidCharCodeAt.js +12 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testInvertNullAfterNegateNull.js +7 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testLambdaCtor.js +14 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testLambdaInitedVar.js +8 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testLengthInString.js +12 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testLengthOnNonNativeProto.js +20 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testLetWithUnstableGlobal.js +11 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testLirBufOOM.js +34 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testLogicalNotNaN.js +8 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testLongNumToString.js +7 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testLoopWithUndefined1.js +12 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testLoopWithUndefined2.js +20 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testLoopingAccumulator.js +21 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testMatchAsCondition.js +8 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testMatchStringObject.js +8 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testMethodInit.js +15 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testMethodInitSafety.js +14 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testMethodSet.js +18 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testModuloWithNegative1.js +11 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testModuloWithNegative2.js +7 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testMoreArgcThanNargs.js +14 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testMoreClosures.js +14 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testMulOverflow.js +6 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testMultipleArgumentsObjects.js +12 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testNEWINIT.js +8 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testNEWINIT_DOUBLE.js +6 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testNativeArgsRooting.js +14 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testNativeLog.js +8 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testNativeMax.js +20 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testNativeSetter.js +14 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testNegZero1.js +9 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testNegativeArrayLength.js +10 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testNegativeGETELEMIndex.js +6 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testNestedClosures.js +23 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testNestedDeepBail.js +19 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testNestedEscapingLambdas.js +31 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testNestedExitStackOuter.js +29 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testNestedForIn.js +9 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testNewArrayCount.js +11 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testNewArrayCount2.js +7 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testNewDate.js +17 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testNewString.js +27 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testNewWithNonNativeProto.js +14 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testNonStubGetter.js +7 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testNot.js +8 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testNullCallee.js +16 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testNullRelCmp.js +6 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testNullToString.js +18 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testNumToString.js +18 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testNumberToString.js +6 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testObjectLength.js +15 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testObjectOrderedCmp.js +7 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testObjectOrderedCmp2.js +7 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testObjectToNumber.js +8 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testObjectToString.js +8 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testObjectVsPrototype.js +12 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testOwnPropertyWithInOperator.js +12 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testPrimitiveConstructorPrototype.js +7 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testPropagatedFunArgs.js +34 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testRUNLOOPCorrectness.js +15 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testReallyDeepNestedExit.js +38 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testRebranding.js +10 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testRebranding2.js +21 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testRegExpTest.js +10 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testRegexpGet.js +8 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testReplace2.js +7 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testResumeOp.js +8 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testReverseArgTypes.js +5 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testSetPropNeitherMissNorHit.js +5 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testSetPropertyFail.js +22 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testSetProtoRegeneratesObjectShape.js +24 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testSetelemWithFloatIndex.js +4 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testShiftLeft.js +38 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testShiftRightArithmetic.js +35 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testShiftRightLogical.js +38 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testSideExitInConstructor.js +39 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testSlowArrayLength.js +15 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testSlowArrayPop.js +12 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testSlowArrayPopMultiFrame.js +24 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testSlowArrayPopNestedTrees.js +36 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testSlowNativeBail.js +10 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testSlowNativeCtor.js +7 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testStrict.js +11 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testString.js +18 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testStringConstructorWithExtraArg.js +6 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testStringLengthNoTinyId.js +64 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testStringObjectLength.js +7 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testStringResolve.js +9 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testStringToInt32.js +6 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testStringify.js +20 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testSubstring.js +7 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testSwitch.js +25 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testSwitchString.js +28 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testSwitchUndefined.js +15 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testTableSwitch1.js +22 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testTableSwitch2.js +27 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testThinForEach.js +10 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testThinLoopDemote.js +20 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testThrowingObjectEqUndefined.js +18 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testToStringBeforeValueOf.js +13 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testToUpperToLower.js +9 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testTrueShiftTrue.js +16 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testTypeUnstableForIn.js +10 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testTypeofHole.js +8 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testUnaryImacros.js +26 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testUndefinedBooleanCmp.js +24 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testUndefinedCmp.js +6 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testUndefinedPropertyAccess.js +15 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testUndemotableBinaryOp.js +6 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testUndemoteLateGlobalSlots.js +11 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testWeirdDateParse.js +46 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testWhileObjectOrNull.js +18 -0
- data/vendor/tracemonkey/trace-test/tests/basic/test_JSOP_ARGCNT.js +27 -0
- data/vendor/tracemonkey/trace-test/tests/basic/test_JSOP_ARGSUB.js +27 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testif.js +11 -0
- data/vendor/tracemonkey/trace-test/tests/basic/testincops.js +24 -0
- data/vendor/tracemonkey/trace-test/tests/basic/trees.js +10 -0
- data/vendor/tracemonkey/trace-test/tests/basic/truthies.js +29 -0
- data/vendor/tracemonkey/trace-test/tests/basic/typeofTest.js +8 -0
- data/vendor/tracemonkey/trace-test/tests/basic/unboxint.js +8 -0
- data/vendor/tracemonkey/trace-test/tests/basic/xprop.js +8 -0
- data/vendor/tracemonkey/{correct → trace-test/tests/sunspider}/check-3d-morph.js +5 -1
- data/vendor/tracemonkey/{correct → trace-test/tests/sunspider}/check-3d-raytrace.js +1 -3
- data/vendor/tracemonkey/{correct → trace-test/tests/sunspider}/check-access-binary-trees.js +1 -1
- data/vendor/tracemonkey/{correct → trace-test/tests/sunspider}/check-access-fannkuch.js +1 -1
- data/vendor/tracemonkey/{correct → trace-test/tests/sunspider}/check-access-nbody.js +1 -1
- data/vendor/tracemonkey/{correct → trace-test/tests/sunspider}/check-access-nsieve.js +1 -1
- data/vendor/tracemonkey/{correct → trace-test/tests/sunspider}/check-bitops-3bit-bits-in-byte.js +1 -1
- data/vendor/tracemonkey/{correct → trace-test/tests/sunspider}/check-bitops-bits-in-byte.js +1 -1
- data/vendor/tracemonkey/{correct → trace-test/tests/sunspider}/check-bitops-bitwise-and.js +1 -1
- data/vendor/tracemonkey/{correct → trace-test/tests/sunspider}/check-bitops-nsieve-bits.js +1 -1
- data/vendor/tracemonkey/{correct → trace-test/tests/sunspider}/check-controlflow-recursive.js +1 -1
- data/vendor/tracemonkey/{correct → trace-test/tests/sunspider}/check-date-format-tofte.js +1 -1
- data/vendor/tracemonkey/trace-test/tests/sunspider/check-date-format-xparb.js +422 -0
- data/vendor/tracemonkey/{correct → trace-test/tests/sunspider}/check-mont.js +1 -1
- data/vendor/tracemonkey/trace-test/trace-test.py +330 -0
- data/vendor/tracemonkey/tracevis/README +50 -0
- data/vendor/tracemonkey/tracevis/acts.py +64 -0
- data/vendor/tracemonkey/tracevis/binlog.py +140 -0
- data/vendor/tracemonkey/tracevis/config.py +5 -0
- data/vendor/tracemonkey/tracevis/tree.py +282 -0
- data/vendor/tracemonkey/tracevis/vis.py +233 -0
- data/vendor/tracemonkey/{config/revdepth-nt.pl → vprof/manifest.mk} +8 -17
- data/vendor/tracemonkey/vprof/testVprofMT.c +125 -0
- data/vendor/tracemonkey/vprof/vprof.h +10 -12
- data/vendor/tracemonkey/xpconnect/idl/nsIXPCScriptable.idl +2 -2
- data/vendor/tracemonkey/xpconnect/idl/nsIXPConnect.idl +43 -22
- data/vendor/tracemonkey/xpconnect/idl/xpcIJSWeakReference.idl +0 -0
- data/vendor/tracemonkey/xpconnect/idl/xpcexception.idl +12 -1
- data/vendor/tracemonkey/xpconnect/loader/XPCOMUtils.jsm +49 -3
- data/vendor/tracemonkey/xpconnect/loader/mozJSComponentLoader.cpp +10 -20
- data/vendor/tracemonkey/xpconnect/shell/Makefile.in +2 -1
- data/vendor/tracemonkey/xpconnect/shell/xpcshell.cpp +120 -40
- data/vendor/tracemonkey/xpconnect/src/Makefile.in +10 -7
- data/vendor/tracemonkey/xpconnect/src/XPCChromeObjectWrapper.cpp +769 -0
- data/vendor/tracemonkey/xpconnect/src/XPCCrossOriginWrapper.cpp +25 -19
- data/vendor/tracemonkey/xpconnect/src/XPCDispConvert.cpp +4 -0
- data/vendor/tracemonkey/xpconnect/src/XPCDispInlines.h +4 -5
- data/vendor/tracemonkey/xpconnect/src/XPCDispPrivate.h +2 -10
- data/vendor/tracemonkey/xpconnect/src/XPCDispTypeInfo.cpp +7 -12
- data/vendor/tracemonkey/xpconnect/src/XPCIDispatchExtension.cpp +0 -198
- data/vendor/tracemonkey/xpconnect/src/XPCNativeWrapper.cpp +16 -9
- data/vendor/tracemonkey/xpconnect/src/XPCNativeWrapper.h +1 -1
- data/vendor/tracemonkey/xpconnect/src/XPCSafeJSObjectWrapper.cpp +143 -269
- data/vendor/tracemonkey/xpconnect/src/XPCSystemOnlyWrapper.cpp +9 -1
- data/vendor/tracemonkey/xpconnect/src/XPCWrapper.cpp +3 -2
- data/vendor/tracemonkey/xpconnect/src/XPCWrapper.h +19 -4
- data/vendor/tracemonkey/xpconnect/src/dom_quickstubs.qsconf +44 -48
- data/vendor/tracemonkey/xpconnect/src/nsDispatchSupport.cpp +6 -3
- data/vendor/tracemonkey/xpconnect/src/nsXPConnect.cpp +325 -202
- data/vendor/tracemonkey/xpconnect/src/qsgen.py +67 -71
- data/vendor/tracemonkey/xpconnect/src/xpcJSWeakReference.cpp +0 -0
- data/vendor/tracemonkey/xpconnect/src/xpcJSWeakReference.h +0 -0
- data/vendor/tracemonkey/xpconnect/src/xpccallcontext.cpp +82 -13
- data/vendor/tracemonkey/xpconnect/src/xpccomponents.cpp +36 -28
- data/vendor/tracemonkey/xpconnect/src/xpcconvert.cpp +139 -44
- data/vendor/tracemonkey/xpconnect/src/xpcdebug.cpp +7 -0
- data/vendor/tracemonkey/xpconnect/src/xpcexception.cpp +13 -7
- data/vendor/tracemonkey/xpconnect/src/xpcforwards.h +0 -1
- data/vendor/tracemonkey/xpconnect/src/xpcinlines.h +27 -10
- data/vendor/tracemonkey/xpconnect/src/xpcjsid.cpp +47 -35
- data/vendor/tracemonkey/xpconnect/src/xpcjsruntime.cpp +48 -67
- data/vendor/tracemonkey/xpconnect/src/xpclog.cpp +35 -0
- data/vendor/tracemonkey/xpconnect/src/xpclog.h +55 -0
- data/vendor/tracemonkey/xpconnect/src/xpcprivate.h +322 -75
- data/vendor/tracemonkey/xpconnect/src/xpcquickstubs.cpp +142 -114
- data/vendor/tracemonkey/xpconnect/src/xpcquickstubs.h +25 -49
- data/vendor/tracemonkey/xpconnect/src/xpcstring.cpp +14 -7
- data/vendor/tracemonkey/xpconnect/src/xpcthreadcontext.cpp +6 -6
- data/vendor/tracemonkey/xpconnect/src/xpcthrower.cpp +10 -3
- data/vendor/tracemonkey/xpconnect/src/xpcvariant.cpp +9 -8
- data/vendor/tracemonkey/xpconnect/src/xpcwrappedjs.cpp +15 -14
- data/vendor/tracemonkey/xpconnect/src/xpcwrappedjsclass.cpp +109 -111
- data/vendor/tracemonkey/xpconnect/src/xpcwrappednative.cpp +498 -118
- data/vendor/tracemonkey/xpconnect/src/xpcwrappednativeinfo.cpp +5 -6
- data/vendor/tracemonkey/xpconnect/src/xpcwrappednativejsops.cpp +188 -25
- data/vendor/tracemonkey/xpconnect/src/xpcwrappednativeproto.cpp +6 -3
- data/vendor/tracemonkey/xpconnect/src/xpcwrappednativescope.cpp +46 -27
- data/vendor/tracemonkey/xpconnect/tests/TestXPC.cpp +118 -115
- data/vendor/tracemonkey/xpconnect/tests/chrome/Makefile.in +2 -0
- data/vendor/tracemonkey/xpconnect/tests/chrome/bug503926.xul +28 -0
- data/vendor/tracemonkey/xpconnect/tests/chrome/test_bug503926.xul +43 -0
- data/vendor/tracemonkey/xpconnect/tests/idispatch/Tests/jsDriver.pl +1 -61
- data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_observer.js +1 -2
- data/vendor/tracemonkey/xpconnect/tests/mochitest/Makefile.in +3 -0
- data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug390488.html +1 -1
- data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug393269.html +1 -1
- data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug396851.html +1 -1
- data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug428021.html +1 -1
- data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug446584.html +1 -1
- data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug448587.html +1 -1
- data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug462428.html +1 -1
- data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug478438.html +1 -1
- data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug484107.html +1 -1
- data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug502959.html +38 -0
- data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug503926.html +30 -0
- data/vendor/tracemonkey/xpconnect/tests/mochitest/test_cows.html +179 -0
- data/vendor/tracemonkey/xpconnect/tests/mochitest/test_wrappers.html +9 -0
- data/vendor/tracemonkey/xpconnect/tests/unit/test_iterate.js +54 -0
- data/vendor/tracemonkey/xpconnect/tests/unit/test_js_weak_references.js +0 -0
- data/vendor/tracemonkey/xpconnect/tests/unit/test_xpcomutils.js +135 -0
- data/vendor/tracemonkey/xpconnect/tools/src/nsXPCToolsCompiler.cpp +1 -1
- data/vendor/tracemonkey/xpconnect/tools/src/xpctools_private.h +1 -1
- metadata +3711 -35
- data/vendor/tracemonkey/build/autoconf/update-makefile.sh +0 -118
- data/vendor/tracemonkey/correct.sh +0 -23
- data/vendor/tracemonkey/correct/check-date-format-xparb.js +0 -421
- data/vendor/tracemonkey/if.js +0 -13
- data/vendor/tracemonkey/js3240.rc +0 -79
- data/vendor/tracemonkey/jsOS240.def +0 -654
- data/vendor/tracemonkey/math-partial-sums.js +0 -32
- data/vendor/tracemonkey/md5.js +0 -289
- data/vendor/tracemonkey/nanojit/NativeThumb.cpp +0 -1322
- data/vendor/tracemonkey/nanojit/NativeThumb.h +0 -525
- data/vendor/tracemonkey/nanojit/TraceTreeDrawer.cpp +0 -306
@@ -1,4 +1,5 @@
|
|
1
|
-
/* -*- Mode: C++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width:
|
1
|
+
/* -*- Mode: C++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4 -*- */
|
2
|
+
/* vi: set ts=4 sw=4 expandtab: (add to ~/.vimrc: set modeline modelines=5) */
|
2
3
|
/* ***** BEGIN LICENSE BLOCK *****
|
3
4
|
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
4
5
|
*
|
@@ -39,19 +40,16 @@
|
|
39
40
|
|
40
41
|
#include "nanojit.h"
|
41
42
|
|
42
|
-
#ifdef AVMPLUS_PORTING_API
|
43
|
-
#include "portapi_nanojit.h"
|
44
|
-
#endif
|
45
|
-
|
46
43
|
#ifdef UNDER_CE
|
47
44
|
#include <cmnintrin.h>
|
45
|
+
extern "C" bool blx_lr_broken();
|
48
46
|
#endif
|
49
47
|
|
50
48
|
#if defined(AVMPLUS_LINUX)
|
51
49
|
#include <signal.h>
|
52
50
|
#include <setjmp.h>
|
53
51
|
#include <asm/unistd.h>
|
54
|
-
extern "C" void __clear_cache(
|
52
|
+
extern "C" void __clear_cache(void *BEG, void *END);
|
55
53
|
#endif
|
56
54
|
|
57
55
|
// assume EABI, except under CE
|
@@ -77,9 +75,403 @@ const Register Assembler::argRegs[] = { R0, R1, R2, R3 };
|
|
77
75
|
const Register Assembler::retRegs[] = { R0, R1 };
|
78
76
|
const Register Assembler::savedRegs[] = { R4, R5, R6, R7, R8, R9, R10 };
|
79
77
|
|
78
|
+
// --------------------------------
|
79
|
+
// ARM-specific utility functions.
|
80
|
+
// --------------------------------
|
81
|
+
|
82
|
+
#ifdef DEBUG
|
83
|
+
// Return true if enc is a valid Operand 2 encoding and thus can be used as-is
|
84
|
+
// in an ARM arithmetic operation that accepts such encoding.
|
85
|
+
//
|
86
|
+
// This utility does not know (or determine) the actual value that the encoded
|
87
|
+
// value represents, and thus cannot be used to ensure the correct operation of
|
88
|
+
// encOp2Imm, but it does ensure that the encoded value can be used to encode a
|
89
|
+
// valid ARM instruction. decOp2Imm can be used if you also need to check that
|
90
|
+
// a literal is correctly encoded (and thus that encOp2Imm is working
|
91
|
+
// correctly).
|
92
|
+
inline bool
|
93
|
+
Assembler::isOp2Imm(uint32_t enc)
|
94
|
+
{
|
95
|
+
return ((enc & 0xfff) == enc);
|
96
|
+
}
|
97
|
+
|
98
|
+
// Decodes operand 2 immediate values (for debug output and assertions).
|
99
|
+
inline uint32_t
|
100
|
+
Assembler::decOp2Imm(uint32_t enc)
|
101
|
+
{
|
102
|
+
NanoAssert(isOp2Imm(enc));
|
103
|
+
|
104
|
+
uint32_t imm8 = enc & 0xff;
|
105
|
+
uint32_t rot = 32 - ((enc >> 7) & 0x1e);
|
106
|
+
|
107
|
+
return imm8 << (rot & 0x1f);
|
108
|
+
}
|
109
|
+
#endif
|
110
|
+
|
111
|
+
// Calculate the number of leading zeroes in data.
|
112
|
+
inline uint32_t
|
113
|
+
Assembler::CountLeadingZeroes(uint32_t data)
|
114
|
+
{
|
115
|
+
uint32_t leading_zeroes;
|
116
|
+
|
117
|
+
// We can't do CLZ on anything earlier than ARMv5. Architectures as early
|
118
|
+
// as that aren't supported, but assert that we aren't running on one
|
119
|
+
// anyway.
|
120
|
+
// If ARMv4 support is required in the future for some reason, we can do a
|
121
|
+
// run-time check on config.arch and fall back to the C routine, but for
|
122
|
+
// now we can avoid the cost of the check as we don't intend to support
|
123
|
+
// ARMv4 anyway.
|
124
|
+
NanoAssert(ARM_ARCH >= 5);
|
125
|
+
|
126
|
+
#if defined(__ARMCC__)
|
127
|
+
// ARMCC can do this with an intrinsic.
|
128
|
+
leading_zeroes = __clz(data);
|
129
|
+
|
130
|
+
// current Android GCC compiler incorrectly refuses to compile 'clz' for armv5
|
131
|
+
// (even though this is a legal instruction there). Since we currently only compile for ARMv5
|
132
|
+
// for emulation, we don't care too much (but we DO care for ARMv6+ since those are "real"
|
133
|
+
// devices).
|
134
|
+
#elif defined(__GNUC__) && !(defined(ANDROID) && __ARM_ARCH__ <= 5)
|
135
|
+
// GCC can use inline assembler to insert a CLZ instruction.
|
136
|
+
__asm (
|
137
|
+
" clz %0, %1 \n"
|
138
|
+
: "=r" (leading_zeroes)
|
139
|
+
: "r" (data)
|
140
|
+
);
|
141
|
+
#elif defined(WINCE)
|
142
|
+
// WinCE can do this with an intrinsic.
|
143
|
+
leading_zeroes = _CountLeadingZeros(data);
|
144
|
+
#else
|
145
|
+
// Other platforms must fall back to a C routine. This won't be as
|
146
|
+
// efficient as the CLZ instruction, but it is functional.
|
147
|
+
uint32_t try_shift;
|
148
|
+
|
149
|
+
leading_zeroes = 0;
|
150
|
+
|
151
|
+
// This loop does a bisection search rather than the obvious rotation loop.
|
152
|
+
// This should be faster, though it will still be no match for CLZ.
|
153
|
+
for (try_shift = 16; try_shift != 0; try_shift /= 2) {
|
154
|
+
uint32_t shift = leading_zeroes + try_shift;
|
155
|
+
if (((data << shift) >> shift) == data) {
|
156
|
+
leading_zeroes = shift;
|
157
|
+
}
|
158
|
+
}
|
159
|
+
#endif
|
160
|
+
|
161
|
+
// Assert that the operation worked!
|
162
|
+
NanoAssert(((0xffffffff >> leading_zeroes) & data) == data);
|
163
|
+
|
164
|
+
return leading_zeroes;
|
165
|
+
}
|
166
|
+
|
167
|
+
// The ARM instruction set allows some flexibility to the second operand of
|
168
|
+
// most arithmetic operations. When operand 2 is an immediate value, it takes
|
169
|
+
// the form of an 8-bit value rotated by an even value in the range 0-30.
|
170
|
+
//
|
171
|
+
// Some values that can be encoded this scheme — such as 0xf000000f — are
|
172
|
+
// probably fairly rare in practice and require extra code to detect, so this
|
173
|
+
// function implements a fast CLZ-based heuristic to detect any value that can
|
174
|
+
// be encoded using just a shift, and not a full rotation. For example,
|
175
|
+
// 0xff000000 and 0x000000ff are both detected, but 0xf000000f is not.
|
176
|
+
//
|
177
|
+
// This function will return true to indicate that the encoding was successful,
|
178
|
+
// or false to indicate that the literal could not be encoded as an operand 2
|
179
|
+
// immediate. If successful, the encoded value will be written to *enc.
|
180
|
+
inline bool
|
181
|
+
Assembler::encOp2Imm(uint32_t literal, uint32_t * enc)
|
182
|
+
{
|
183
|
+
// The number of leading zeroes in the literal. This is used to calculate
|
184
|
+
// the rotation component of the encoding.
|
185
|
+
uint32_t leading_zeroes;
|
186
|
+
|
187
|
+
// Components of the operand 2 encoding.
|
188
|
+
uint32_t rot;
|
189
|
+
uint32_t imm8;
|
190
|
+
|
191
|
+
// Check the literal to see if it is a simple 8-bit value. I suspect that
|
192
|
+
// most literals are in fact small values, so doing this check early should
|
193
|
+
// give a decent speed-up.
|
194
|
+
if (literal < 256)
|
195
|
+
{
|
196
|
+
*enc = literal;
|
197
|
+
return true;
|
198
|
+
}
|
199
|
+
|
200
|
+
// Determine the number of leading zeroes in the literal. This is used to
|
201
|
+
// calculate the required rotation.
|
202
|
+
leading_zeroes = CountLeadingZeroes(literal);
|
203
|
+
|
204
|
+
// We've already done a check to see if the literal is an 8-bit value, so
|
205
|
+
// leading_zeroes must be less than (and not equal to) (32-8)=24. However,
|
206
|
+
// if it is greater than 24, this algorithm will break, so debug code
|
207
|
+
// should use an assertion here to check that we have a value that we
|
208
|
+
// expect.
|
209
|
+
NanoAssert(leading_zeroes < 24);
|
210
|
+
|
211
|
+
// Assuming that we have a field of no more than 8 bits for a valid
|
212
|
+
// literal, we can calculate the required rotation by subtracting
|
213
|
+
// leading_zeroes from (32-8):
|
214
|
+
//
|
215
|
+
// Example:
|
216
|
+
// 0: Known to be zero.
|
217
|
+
// 1: Known to be one.
|
218
|
+
// X: Either zero or one.
|
219
|
+
// .: Zero in a valid operand 2 literal.
|
220
|
+
//
|
221
|
+
// Literal: [ 1XXXXXXX ........ ........ ........ ]
|
222
|
+
// leading_zeroes = 0
|
223
|
+
// Therefore rot (left) = 24.
|
224
|
+
// Encoded 8-bit literal: [ 1XXXXXXX ]
|
225
|
+
//
|
226
|
+
// Literal: [ ........ ..1XXXXX XX...... ........ ]
|
227
|
+
// leading_zeroes = 10
|
228
|
+
// Therefore rot (left) = 14.
|
229
|
+
// Encoded 8-bit literal: [ 1XXXXXXX ]
|
230
|
+
//
|
231
|
+
// Note, however, that we can only encode even shifts, and so
|
232
|
+
// "rot=24-leading_zeroes" is not sufficient by itself. By ignoring
|
233
|
+
// zero-bits in odd bit positions, we can ensure that we get a valid
|
234
|
+
// encoding.
|
235
|
+
//
|
236
|
+
// Example:
|
237
|
+
// Literal: [ 01XXXXXX ........ ........ ........ ]
|
238
|
+
// leading_zeroes = 1
|
239
|
+
// Therefore rot (left) = round_up(23) = 24.
|
240
|
+
// Encoded 8-bit literal: [ 01XXXXXX ]
|
241
|
+
rot = 24 - (leading_zeroes & ~1);
|
242
|
+
|
243
|
+
// The imm8 component of the operand 2 encoding can be calculated from the
|
244
|
+
// rot value.
|
245
|
+
imm8 = literal >> rot;
|
246
|
+
|
247
|
+
// The validity of the literal can be checked by reversing the
|
248
|
+
// calculation. It is much easier to decode the immediate than it is to
|
249
|
+
// encode it!
|
250
|
+
if (literal != (imm8 << rot)) {
|
251
|
+
// The encoding is not valid, so report the failure. Calling code
|
252
|
+
// should use some other method of loading the value (such as LDR).
|
253
|
+
return false;
|
254
|
+
}
|
255
|
+
|
256
|
+
// The operand is valid, so encode it.
|
257
|
+
// Note that the ARM encoding is actually described by a rotate to the
|
258
|
+
// _right_, so rot must be negated here. Calculating a left shift (rather
|
259
|
+
// than calculating a right rotation) simplifies the above code.
|
260
|
+
*enc = ((-rot << 7) & 0xf00) | imm8;
|
261
|
+
|
262
|
+
// Assert that the operand was properly encoded.
|
263
|
+
NanoAssert(decOp2Imm(*enc) == literal);
|
264
|
+
|
265
|
+
return true;
|
266
|
+
}
|
267
|
+
|
268
|
+
// Encode "rd = rn + imm" using an appropriate instruction sequence.
|
269
|
+
// Set stat to 1 to update the status flags. Otherwise, set it to 0 or omit it.
|
270
|
+
// (The declaration in NativeARM.h defines the default value of stat as 0.)
|
271
|
+
//
|
272
|
+
// It is not valid to call this function if:
|
273
|
+
// (rd == IP) AND (rn == IP) AND !encOp2Imm(imm) AND !encOp2Imm(-imm)
|
274
|
+
// Where: if (encOp2Imm(imm)), imm can be encoded as an ARM operand 2 using the
|
275
|
+
// encOp2Imm method.
|
276
|
+
void
|
277
|
+
Assembler::asm_add_imm(Register rd, Register rn, int32_t imm, int stat /* =0 */)
|
278
|
+
{
|
279
|
+
// Operand 2 encoding of the immediate.
|
280
|
+
uint32_t op2imm;
|
281
|
+
|
282
|
+
NanoAssert(IsGpReg(rd));
|
283
|
+
NanoAssert(IsGpReg(rn));
|
284
|
+
NanoAssert((stat & 1) == stat);
|
285
|
+
|
286
|
+
// Try to encode the value directly as an operand 2 immediate value, then
|
287
|
+
// fall back to loading the value into a register.
|
288
|
+
if (encOp2Imm(imm, &op2imm)) {
|
289
|
+
ADDis(rd, rn, op2imm, stat);
|
290
|
+
} else if (encOp2Imm(-imm, &op2imm)) {
|
291
|
+
// We could not encode the value for ADD, so try to encode it for SUB.
|
292
|
+
// Note that this is valid even if stat is set, _unless_ imm is 0, but
|
293
|
+
// that case is caught above.
|
294
|
+
NanoAssert(imm != 0);
|
295
|
+
SUBis(rd, rn, op2imm, stat);
|
296
|
+
} else {
|
297
|
+
// We couldn't encode the value directly, so use an intermediate
|
298
|
+
// register to encode the value. We will use IP to do this unless rn is
|
299
|
+
// IP; in that case we can reuse rd. This allows every case other than
|
300
|
+
// "ADD IP, IP, =#imm".
|
301
|
+
Register rm = (rn == IP) ? (rd) : (IP);
|
302
|
+
NanoAssert(rn != rm);
|
303
|
+
|
304
|
+
ADDs(rd, rn, rm, stat);
|
305
|
+
asm_ld_imm(rm, imm);
|
306
|
+
}
|
307
|
+
}
|
308
|
+
|
309
|
+
// Encode "rd = rn - imm" using an appropriate instruction sequence.
|
310
|
+
// Set stat to 1 to update the status flags. Otherwise, set it to 0 or omit it.
|
311
|
+
// (The declaration in NativeARM.h defines the default value of stat as 0.)
|
312
|
+
//
|
313
|
+
// It is not valid to call this function if:
|
314
|
+
// (rd == IP) AND (rn == IP) AND !encOp2Imm(imm) AND !encOp2Imm(-imm)
|
315
|
+
// Where: if (encOp2Imm(imm)), imm can be encoded as an ARM operand 2 using the
|
316
|
+
// encOp2Imm method.
|
317
|
+
void
|
318
|
+
Assembler::asm_sub_imm(Register rd, Register rn, int32_t imm, int stat /* =0 */)
|
319
|
+
{
|
320
|
+
// Operand 2 encoding of the immediate.
|
321
|
+
uint32_t op2imm;
|
322
|
+
|
323
|
+
NanoAssert(IsGpReg(rd));
|
324
|
+
NanoAssert(IsGpReg(rn));
|
325
|
+
NanoAssert((stat & 1) == stat);
|
326
|
+
|
327
|
+
// Try to encode the value directly as an operand 2 immediate value, then
|
328
|
+
// fall back to loading the value into a register.
|
329
|
+
if (encOp2Imm(imm, &op2imm)) {
|
330
|
+
SUBis(rd, rn, op2imm, stat);
|
331
|
+
} else if (encOp2Imm(-imm, &op2imm)) {
|
332
|
+
// We could not encode the value for SUB, so try to encode it for ADD.
|
333
|
+
// Note that this is valid even if stat is set, _unless_ imm is 0, but
|
334
|
+
// that case is caught above.
|
335
|
+
NanoAssert(imm != 0);
|
336
|
+
ADDis(rd, rn, op2imm, stat);
|
337
|
+
} else {
|
338
|
+
// We couldn't encode the value directly, so use an intermediate
|
339
|
+
// register to encode the value. We will use IP to do this unless rn is
|
340
|
+
// IP; in that case we can reuse rd. This allows every case other than
|
341
|
+
// "SUB IP, IP, =#imm".
|
342
|
+
Register rm = (rn == IP) ? (rd) : (IP);
|
343
|
+
NanoAssert(rn != rm);
|
344
|
+
|
345
|
+
SUBs(rd, rn, rm, stat);
|
346
|
+
asm_ld_imm(rm, imm);
|
347
|
+
}
|
348
|
+
}
|
349
|
+
|
350
|
+
// Encode "rd = rn & imm" using an appropriate instruction sequence.
|
351
|
+
// Set stat to 1 to update the status flags. Otherwise, set it to 0 or omit it.
|
352
|
+
// (The declaration in NativeARM.h defines the default value of stat as 0.)
|
353
|
+
//
|
354
|
+
// It is not valid to call this function if:
|
355
|
+
// (rd == IP) AND (rn == IP) AND !encOp2Imm(imm) AND !encOp2Imm(~imm)
|
356
|
+
// Where: if (encOp2Imm(imm)), imm can be encoded as an ARM operand 2 using the
|
357
|
+
// encOp2Imm method.
|
358
|
+
void
|
359
|
+
Assembler::asm_and_imm(Register rd, Register rn, int32_t imm, int stat /* =0 */)
|
360
|
+
{
|
361
|
+
// Operand 2 encoding of the immediate.
|
362
|
+
uint32_t op2imm;
|
363
|
+
|
364
|
+
NanoAssert(IsGpReg(rd));
|
365
|
+
NanoAssert(IsGpReg(rn));
|
366
|
+
NanoAssert((stat & 1) == stat);
|
367
|
+
|
368
|
+
// Try to encode the value directly as an operand 2 immediate value, then
|
369
|
+
// fall back to loading the value into a register.
|
370
|
+
if (encOp2Imm(imm, &op2imm)) {
|
371
|
+
ANDis(rd, rn, op2imm, stat);
|
372
|
+
} else if (encOp2Imm(~imm, &op2imm)) {
|
373
|
+
// Use BIC with the inverted immediate.
|
374
|
+
BICis(rd, rn, op2imm, stat);
|
375
|
+
} else {
|
376
|
+
// We couldn't encode the value directly, so use an intermediate
|
377
|
+
// register to encode the value. We will use IP to do this unless rn is
|
378
|
+
// IP; in that case we can reuse rd. This allows every case other than
|
379
|
+
// "AND IP, IP, =#imm".
|
380
|
+
Register rm = (rn == IP) ? (rd) : (IP);
|
381
|
+
NanoAssert(rn != rm);
|
382
|
+
|
383
|
+
ANDs(rd, rn, rm, stat);
|
384
|
+
asm_ld_imm(rm, imm);
|
385
|
+
}
|
386
|
+
}
|
387
|
+
|
388
|
+
// Encode "rd = rn | imm" using an appropriate instruction sequence.
|
389
|
+
// Set stat to 1 to update the status flags. Otherwise, set it to 0 or omit it.
|
390
|
+
// (The declaration in NativeARM.h defines the default value of stat as 0.)
|
391
|
+
//
|
392
|
+
// It is not valid to call this function if:
|
393
|
+
// (rd == IP) AND (rn == IP) AND !encOp2Imm(imm)
|
394
|
+
// Where: if (encOp2Imm(imm)), imm can be encoded as an ARM operand 2 using the
|
395
|
+
// encOp2Imm method.
|
396
|
+
void
|
397
|
+
Assembler::asm_orr_imm(Register rd, Register rn, int32_t imm, int stat /* =0 */)
|
398
|
+
{
|
399
|
+
// Operand 2 encoding of the immediate.
|
400
|
+
uint32_t op2imm;
|
401
|
+
|
402
|
+
NanoAssert(IsGpReg(rd));
|
403
|
+
NanoAssert(IsGpReg(rn));
|
404
|
+
NanoAssert((stat & 1) == stat);
|
405
|
+
|
406
|
+
// Try to encode the value directly as an operand 2 immediate value, then
|
407
|
+
// fall back to loading the value into a register.
|
408
|
+
if (encOp2Imm(imm, &op2imm)) {
|
409
|
+
ORRis(rd, rn, op2imm, stat);
|
410
|
+
} else {
|
411
|
+
// We couldn't encode the value directly, so use an intermediate
|
412
|
+
// register to encode the value. We will use IP to do this unless rn is
|
413
|
+
// IP; in that case we can reuse rd. This allows every case other than
|
414
|
+
// "ORR IP, IP, =#imm".
|
415
|
+
Register rm = (rn == IP) ? (rd) : (IP);
|
416
|
+
NanoAssert(rn != rm);
|
417
|
+
|
418
|
+
ORRs(rd, rn, rm, stat);
|
419
|
+
asm_ld_imm(rm, imm);
|
420
|
+
}
|
421
|
+
}
|
422
|
+
|
423
|
+
// Encode "rd = rn ^ imm" using an appropriate instruction sequence.
|
424
|
+
// Set stat to 1 to update the status flags. Otherwise, set it to 0 or omit it.
|
425
|
+
// (The declaration in NativeARM.h defines the default value of stat as 0.)
|
426
|
+
//
|
427
|
+
// It is not valid to call this function if:
|
428
|
+
// (rd == IP) AND (rn == IP) AND !encOp2Imm(imm)
|
429
|
+
// Where: if (encOp2Imm(imm)), imm can be encoded as an ARM operand 2 using the
|
430
|
+
// encOp2Imm method.
|
431
|
+
void
|
432
|
+
Assembler::asm_eor_imm(Register rd, Register rn, int32_t imm, int stat /* =0 */)
|
433
|
+
{
|
434
|
+
// Operand 2 encoding of the immediate.
|
435
|
+
uint32_t op2imm;
|
436
|
+
|
437
|
+
NanoAssert(IsGpReg(rd));
|
438
|
+
NanoAssert(IsGpReg(rn));
|
439
|
+
NanoAssert((stat & 1) == stat);
|
440
|
+
|
441
|
+
// Try to encode the value directly as an operand 2 immediate value, then
|
442
|
+
// fall back to loading the value into a register.
|
443
|
+
if (encOp2Imm(imm, &op2imm)) {
|
444
|
+
EORis(rd, rn, op2imm, stat);
|
445
|
+
} else {
|
446
|
+
// We couldn't encoder the value directly, so use an intermediate
|
447
|
+
// register to encode the value. We will use IP to do this unless rn is
|
448
|
+
// IP; in that case we can reuse rd. This allows every case other than
|
449
|
+
// "EOR IP, IP, =#imm".
|
450
|
+
Register rm = (rn == IP) ? (rd) : (IP);
|
451
|
+
NanoAssert(rn != rm);
|
452
|
+
|
453
|
+
EORs(rd, rn, rm, stat);
|
454
|
+
asm_ld_imm(rm, imm);
|
455
|
+
}
|
456
|
+
}
|
457
|
+
|
458
|
+
// --------------------------------
|
459
|
+
// Assembler functions.
|
460
|
+
// --------------------------------
|
461
|
+
|
80
462
|
void
|
81
463
|
Assembler::nInit(AvmCore*)
|
82
464
|
{
|
465
|
+
#ifdef UNDER_CE
|
466
|
+
blx_lr_bug = blx_lr_broken();
|
467
|
+
#else
|
468
|
+
blx_lr_bug = 0;
|
469
|
+
#endif
|
470
|
+
}
|
471
|
+
|
472
|
+
void Assembler::nBeginAssembly()
|
473
|
+
{
|
474
|
+
max_out_args = 0;
|
83
475
|
}
|
84
476
|
|
85
477
|
NIns*
|
@@ -91,17 +483,11 @@ Assembler::genPrologue()
|
|
91
483
|
|
92
484
|
// NJ_RESV_OFFSET is space at the top of the stack for us
|
93
485
|
// to use for parameter passing (8 bytes at the moment)
|
94
|
-
uint32_t stackNeeded = STACK_GRANULARITY * _activation.
|
486
|
+
uint32_t stackNeeded = max_out_args + STACK_GRANULARITY * _activation.tos;
|
95
487
|
uint32_t savingCount = 2;
|
96
488
|
|
97
489
|
uint32_t savingMask = rmask(FP) | rmask(LR);
|
98
490
|
|
99
|
-
if (!_thisfrag->lirbuf->explicitSavedRegs) {
|
100
|
-
for (int i = 0; i < NumSavedRegs; ++i)
|
101
|
-
savingMask |= rmask(savedRegs[i]);
|
102
|
-
savingCount += NumSavedRegs;
|
103
|
-
}
|
104
|
-
|
105
491
|
// so for alignment purposes we've pushed return addr and fp
|
106
492
|
uint32_t stackPushed = STACK_GRANULARITY * savingCount;
|
107
493
|
uint32_t aligned = alignUp(stackNeeded + stackPushed, NJ_ALIGN_STACK);
|
@@ -109,10 +495,10 @@ Assembler::genPrologue()
|
|
109
495
|
|
110
496
|
// Make room on stack for what we are doing
|
111
497
|
if (amt)
|
112
|
-
|
498
|
+
asm_sub_imm(SP, SP, amt);
|
113
499
|
|
114
|
-
verbose_only(
|
115
|
-
verbose_only(
|
500
|
+
verbose_only( asm_output("## %p:",(void*)_nIns); )
|
501
|
+
verbose_only( asm_output("## patch entry"); )
|
116
502
|
NIns *patchEntry = _nIns;
|
117
503
|
|
118
504
|
MOV(FP, SP);
|
@@ -123,66 +509,68 @@ Assembler::genPrologue()
|
|
123
509
|
void
|
124
510
|
Assembler::nFragExit(LInsp guard)
|
125
511
|
{
|
126
|
-
SideExit*
|
127
|
-
Fragment *frag = exit->target;
|
128
|
-
GuardRecord *lr;
|
512
|
+
SideExit * exit = guard->record()->exit;
|
513
|
+
Fragment * frag = exit->target;
|
129
514
|
|
130
|
-
|
515
|
+
bool target_is_known = frag && frag->fragEntry;
|
516
|
+
|
517
|
+
if (target_is_known) {
|
518
|
+
// The target exists so we can simply emit a branch to its location.
|
131
519
|
JMP_far(frag->fragEntry);
|
132
|
-
lr = 0;
|
133
520
|
} else {
|
134
|
-
// target doesn't exit yet
|
135
|
-
|
521
|
+
// The target doesn't exit yet, so emit a jump to the epilogue. If the
|
522
|
+
// target is created later on, the jump will be patched.
|
523
|
+
|
524
|
+
GuardRecord *gr = guard->record();
|
525
|
+
|
526
|
+
if (!_epilogue)
|
527
|
+
_epilogue = genEpilogue();
|
136
528
|
|
137
|
-
//
|
138
|
-
// patching
|
529
|
+
// Jump to the epilogue. This may get patched later, but JMP_far always
|
530
|
+
// emits two instructions even when only one is required, so patching
|
531
|
+
// will work correctly.
|
139
532
|
JMP_far(_epilogue);
|
140
533
|
|
141
|
-
|
142
|
-
lr->jmp = _nIns;
|
143
|
-
}
|
534
|
+
asm_ld_imm(R0, int(gr));
|
144
535
|
|
145
|
-
|
146
|
-
|
536
|
+
// Set the jmp pointer to the start of the sequence so that patched
|
537
|
+
// branches can skip the LDi sequence.
|
538
|
+
gr->jmp = _nIns;
|
539
|
+
}
|
147
540
|
|
148
541
|
#ifdef NJ_VERBOSE
|
149
|
-
if (
|
542
|
+
if (config.show_stats) {
|
150
543
|
// load R1 with Fragment *fromFrag, target fragment
|
151
544
|
// will make use of this when calling fragenter().
|
152
545
|
int fromfrag = int((Fragment*)_thisfrag);
|
153
|
-
|
546
|
+
asm_ld_imm(argRegs[1], fromfrag);
|
154
547
|
}
|
155
548
|
#endif
|
156
549
|
|
157
|
-
//
|
158
|
-
|
159
|
-
// we want R0 to have the original value that it had at the
|
160
|
-
// start of trace.
|
161
|
-
LDi(R2, int(lr));
|
550
|
+
// Pop the stack frame.
|
551
|
+
MOV(SP, FP);
|
162
552
|
}
|
163
553
|
|
164
554
|
NIns*
|
165
555
|
Assembler::genEpilogue()
|
166
556
|
{
|
167
|
-
|
557
|
+
// On ARMv5+, loading directly to PC correctly handles interworking.
|
558
|
+
// Note that we don't support anything older than ARMv5.
|
559
|
+
NanoAssert(ARM_ARCH >= 5);
|
168
560
|
|
169
|
-
RegisterMask savingMask = rmask(FP) | rmask(
|
170
|
-
|
171
|
-
if (!_thisfrag->lirbuf->explicitSavedRegs)
|
172
|
-
for (int i = 0; i < NumSavedRegs; ++i)
|
173
|
-
savingMask |= rmask(savedRegs[i]);
|
561
|
+
RegisterMask savingMask = rmask(FP) | rmask(PC);
|
174
562
|
|
175
563
|
POP_mask(savingMask); // regs
|
176
564
|
|
177
|
-
MOV(SP,FP);
|
178
|
-
|
179
|
-
// this is needed if we jump here from nFragExit
|
180
|
-
MOV(R0,R2); // return LinkRecord*
|
181
|
-
|
182
565
|
return _nIns;
|
183
566
|
}
|
184
567
|
|
185
|
-
/*
|
568
|
+
/*
|
569
|
+
* asm_arg will encode the specified argument according to the current ABI, and
|
570
|
+
* will update r and stkd as appropriate so that the next argument can be
|
571
|
+
* encoded.
|
572
|
+
*
|
573
|
+
* Linux has used ARM's EABI for some time. Windows CE uses the legacy ABI.
|
186
574
|
*
|
187
575
|
* Under EABI:
|
188
576
|
* - doubles are 64-bit aligned both in registers and on the stack.
|
@@ -200,268 +588,341 @@ Assembler::genEpilogue()
|
|
200
588
|
* - both doubles and 32-bit arguments are placed on stack with 32-bit
|
201
589
|
* alignment.
|
202
590
|
*/
|
203
|
-
|
204
|
-
|
205
|
-
Assembler::asm_arg(ArgSize sz, LInsp p, Register r)
|
591
|
+
void
|
592
|
+
Assembler::asm_arg(ArgSize sz, LInsp arg, Register& r, int& stkd)
|
206
593
|
{
|
207
|
-
//
|
208
|
-
|
209
|
-
|
594
|
+
// The stack pointer must always be at least aligned to 4 bytes.
|
595
|
+
NanoAssert((stkd & 3) == 0);
|
596
|
+
|
597
|
+
if (sz == ARGSIZE_F) {
|
598
|
+
// This task is fairly complex and so is delegated to asm_arg_64.
|
599
|
+
asm_arg_64(arg, r, stkd);
|
600
|
+
} else if (sz & ARGSIZE_MASK_INT) {
|
601
|
+
// pre-assign registers R0-R3 for arguments (if they fit)
|
602
|
+
if (r < R4) {
|
603
|
+
asm_regarg(sz, arg, r);
|
604
|
+
r = nextreg(r);
|
605
|
+
} else {
|
606
|
+
asm_stkarg(arg, stkd);
|
607
|
+
stkd += 4;
|
608
|
+
}
|
609
|
+
} else {
|
610
|
+
NanoAssert(sz == ARGSIZE_Q);
|
611
|
+
// shouldn't have 64 bit int params on ARM
|
612
|
+
NanoAssert(false);
|
613
|
+
}
|
210
614
|
}
|
211
615
|
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
* is placed on the stack at stkd, and stkd is updated.
|
216
|
-
*
|
217
|
-
* Note that this currently doesn't actually use stkd on input,
|
218
|
-
* except for figuring out alignment; it always pushes to SP.
|
219
|
-
* See TODO in asm_call.
|
220
|
-
*/
|
616
|
+
// Encode a 64-bit floating-point argument using the appropriate ABI.
|
617
|
+
// This function operates in the same way as asm_arg, except that it will only
|
618
|
+
// handle arguments where (ArgSize)sz == ARGSIZE_F.
|
221
619
|
void
|
222
|
-
Assembler::
|
620
|
+
Assembler::asm_arg_64(LInsp arg, Register& r, int& stkd)
|
223
621
|
{
|
224
|
-
|
622
|
+
// The stack pointer must always be at least aligned to 4 bytes.
|
623
|
+
NanoAssert((stkd & 3) == 0);
|
624
|
+
// The only use for this function when we are using soft floating-point
|
625
|
+
// is for LIR_qjoin.
|
626
|
+
NanoAssert(ARM_VFP || arg->isop(LIR_qjoin));
|
627
|
+
|
628
|
+
Register fp_reg = UnknownReg;
|
629
|
+
|
630
|
+
if (ARM_VFP) {
|
631
|
+
fp_reg = findRegFor(arg, FpRegs);
|
632
|
+
NanoAssert(fp_reg != UnknownReg);
|
633
|
+
}
|
634
|
+
|
635
|
+
#ifdef NJ_ARM_EABI
|
636
|
+
// EABI requires that 64-bit arguments are aligned on even-numbered
|
637
|
+
// registers, as R0:R1 or R2:R3. If the register base is at an
|
638
|
+
// odd-numbered register, advance it. Note that this will push r past
|
639
|
+
// R3 if r is R3 to start with, and will force the argument to go on
|
640
|
+
// the stack.
|
641
|
+
if ((r == R1) || (r == R3)) {
|
642
|
+
r = nextreg(r);
|
643
|
+
}
|
644
|
+
#endif
|
645
|
+
|
646
|
+
if (r < R3) {
|
647
|
+
Register ra = r;
|
648
|
+
Register rb = nextreg(r);
|
649
|
+
r = nextreg(rb);
|
650
|
+
|
225
651
|
#ifdef NJ_ARM_EABI
|
226
|
-
|
652
|
+
// EABI requires that 64-bit arguments are aligned on even-numbered
|
653
|
+
// registers, as R0:R1 or R2:R3.
|
654
|
+
NanoAssert( ((ra == R0) && (rb == R1)) || ((ra == R2) && (rb == R3)) );
|
655
|
+
#endif
|
227
656
|
|
228
|
-
//
|
229
|
-
//
|
230
|
-
|
231
|
-
|
657
|
+
// Put the argument in ra and rb. If the argument is in a VFP register,
|
658
|
+
// use FMRRD to move it to ra and rb. Otherwise, let asm_regarg deal
|
659
|
+
// with the argument as if it were two 32-bit arguments.
|
660
|
+
if (ARM_VFP) {
|
661
|
+
FMRRD(ra, rb, fp_reg);
|
662
|
+
} else {
|
663
|
+
asm_regarg(ARGSIZE_LO, arg->oprnd1(), ra);
|
664
|
+
asm_regarg(ARGSIZE_LO, arg->oprnd2(), rb);
|
665
|
+
}
|
666
|
+
|
667
|
+
#ifndef NJ_ARM_EABI
|
668
|
+
} else if (r == R3) {
|
669
|
+
// We only have one register left, but the legacy ABI requires that we
|
670
|
+
// put 32 bits of the argument in the register (R3) and the remaining
|
671
|
+
// 32 bits on the stack.
|
672
|
+
Register ra = r;
|
673
|
+
r = nextreg(r);
|
674
|
+
|
675
|
+
// This really just checks that nextreg() works properly, as we know
|
676
|
+
// that r was previously R3.
|
677
|
+
NanoAssert(r == R4);
|
678
|
+
|
679
|
+
// We're splitting the argument between registers and the stack. This
|
680
|
+
// must be the first time that the stack is used, so stkd must be at 0.
|
681
|
+
NanoAssert(stkd == 0);
|
682
|
+
|
683
|
+
if (ARM_VFP) {
|
684
|
+
// TODO: We could optimize the this to store directly from
|
685
|
+
// the VFP register to memory using "FMRRD ra, fp_reg[31:0]" and
|
686
|
+
// "STR fp_reg[63:32], [SP, #stkd]".
|
687
|
+
|
688
|
+
// Load from the floating-point register as usual, but use IP
|
689
|
+
// as a swap register.
|
690
|
+
STR(IP, SP, 0);
|
691
|
+
stkd += 4;
|
692
|
+
FMRRD(ra, IP, fp_reg);
|
693
|
+
} else {
|
694
|
+
// Without VFP, we can simply use asm_regarg and asm_stkarg to
|
695
|
+
// encode the two 32-bit words as we don't need to load from a VFP
|
696
|
+
// register.
|
697
|
+
asm_regarg(ARGSIZE_LO, arg->oprnd1(), ra);
|
698
|
+
asm_stkarg(arg->oprnd2(), 0);
|
232
699
|
stkd += 4;
|
233
700
|
}
|
234
701
|
#endif
|
702
|
+
} else {
|
703
|
+
// The argument won't fit in registers, so pass on to asm_stkarg.
|
704
|
+
#ifdef NJ_ARM_EABI
|
705
|
+
// EABI requires that 64-bit arguments are 64-bit aligned.
|
706
|
+
if ((stkd & 7) != 0) {
|
707
|
+
// stkd will always be aligned to at least 4 bytes; this was
|
708
|
+
// asserted on entry to this function.
|
709
|
+
stkd += 4;
|
710
|
+
}
|
711
|
+
#endif
|
712
|
+
asm_stkarg(arg, stkd);
|
713
|
+
stkd += 8;
|
714
|
+
}
|
715
|
+
}
|
235
716
|
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
if (arg->isop(LIR_quad)) {
|
246
|
-
const int32_t* p = (const int32_t*) (arg-2);
|
247
|
-
|
248
|
-
// XXX use some load-multiple action here from our const pool?
|
249
|
-
for (int k = 0; k < 2; k++) {
|
250
|
-
if (r != UnknownReg) {
|
251
|
-
asm_ld_imm(r, *p++);
|
252
|
-
r = nextreg(r);
|
253
|
-
if (r == R4)
|
254
|
-
r = UnknownReg;
|
255
|
-
} else {
|
256
|
-
STR_preindex(IP, SP, -4);
|
257
|
-
asm_ld_imm(IP, *p++);
|
258
|
-
stkd += 4;
|
259
|
-
}
|
260
|
-
}
|
261
|
-
} else {
|
262
|
-
int d = findMemFor(arg);
|
263
|
-
|
264
|
-
for (int k = 0; k < 2; k++) {
|
265
|
-
if (r != UnknownReg) {
|
266
|
-
LDR(r, FP, d + k*4);
|
267
|
-
r = nextreg(r);
|
268
|
-
if (r == R4)
|
269
|
-
r = UnknownReg;
|
270
|
-
} else {
|
271
|
-
STR_preindex(IP, SP, -4);
|
272
|
-
LDR(IP, FP, d + k*4);
|
273
|
-
stkd += 4;
|
274
|
-
}
|
275
|
-
}
|
276
|
-
}
|
717
|
+
void
|
718
|
+
Assembler::asm_regarg(ArgSize sz, LInsp p, Register r)
|
719
|
+
{
|
720
|
+
NanoAssert(r != UnknownReg);
|
721
|
+
if (sz & ARGSIZE_MASK_INT)
|
722
|
+
{
|
723
|
+
// arg goes in specific register
|
724
|
+
if (p->isconst()) {
|
725
|
+
asm_ld_imm(r, p->imm32());
|
277
726
|
} else {
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
r = R2;
|
286
|
-
else
|
287
|
-
r = UnknownReg;
|
288
|
-
} else if (r == R3) {
|
289
|
-
// legacy ABI only
|
290
|
-
STR_preindex(IP, SP, -4);
|
291
|
-
FMRDL(IP, sr);
|
292
|
-
FMRDH(r, sr);
|
293
|
-
stkd += 4;
|
294
|
-
|
295
|
-
r = UnknownReg;
|
296
|
-
} else {
|
297
|
-
FSTD(sr, SP, 0);
|
298
|
-
SUB(SP, SP, 8);
|
299
|
-
stkd += 8;
|
300
|
-
r = UnknownReg;
|
301
|
-
}
|
302
|
-
}
|
303
|
-
} else if (sz == ARGSIZE_LO) {
|
304
|
-
if (r != UnknownReg) {
|
305
|
-
if (arg->isconst()) {
|
306
|
-
asm_ld_imm(r, arg->constval());
|
307
|
-
} else {
|
308
|
-
Reservation* argRes = getresv(arg);
|
309
|
-
if (argRes) {
|
310
|
-
if (argRes->reg == UnknownReg) {
|
311
|
-
// load it into the arg reg
|
312
|
-
int d = findMemFor(arg);
|
313
|
-
if (arg->isop(LIR_alloc)) {
|
314
|
-
asm_add_imm(r, FP, d);
|
315
|
-
} else {
|
316
|
-
LDR(r, FP, d);
|
317
|
-
}
|
727
|
+
Reservation* rA = getresv(p);
|
728
|
+
if (rA) {
|
729
|
+
if (rA->reg == UnknownReg) {
|
730
|
+
// load it into the arg reg
|
731
|
+
int d = findMemFor(p);
|
732
|
+
if (p->isop(LIR_alloc)) {
|
733
|
+
asm_add_imm(r, FP, d, 0);
|
318
734
|
} else {
|
319
|
-
|
735
|
+
LDR(r, FP, d);
|
320
736
|
}
|
321
737
|
} else {
|
322
|
-
|
738
|
+
// it must be in a saved reg
|
739
|
+
MOV(r, rA->reg);
|
323
740
|
}
|
324
741
|
}
|
742
|
+
else {
|
743
|
+
// this is the last use, so fine to assign it
|
744
|
+
// to the scratch reg, it's dead after this point.
|
745
|
+
findSpecificRegFor(p, r);
|
746
|
+
}
|
747
|
+
}
|
748
|
+
}
|
749
|
+
else if (sz == ARGSIZE_Q) {
|
750
|
+
// 64 bit integer argument - should never happen on ARM
|
751
|
+
NanoAssert(false);
|
752
|
+
}
|
753
|
+
else
|
754
|
+
{
|
755
|
+
NanoAssert(sz == ARGSIZE_F);
|
756
|
+
// fpu argument in register - should never happen since FPU
|
757
|
+
// args are converted to two 32-bit ints on ARM
|
758
|
+
NanoAssert(false);
|
759
|
+
}
|
760
|
+
}
|
761
|
+
|
762
|
+
void
|
763
|
+
Assembler::asm_stkarg(LInsp arg, int stkd)
|
764
|
+
{
|
765
|
+
Reservation* argRes = getresv(arg);
|
766
|
+
bool isQuad = arg->isQuad();
|
325
767
|
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
768
|
+
if (argRes && (argRes->reg != UnknownReg)) {
|
769
|
+
// The argument resides somewhere in registers, so we simply need to
|
770
|
+
// push it onto the stack.
|
771
|
+
if (!ARM_VFP || !isQuad) {
|
772
|
+
NanoAssert(IsGpReg(argRes->reg));
|
773
|
+
|
774
|
+
STR(argRes->reg, SP, stkd);
|
330
775
|
} else {
|
331
|
-
|
332
|
-
|
776
|
+
// According to the comments in asm_arg_64, LIR_qjoin
|
777
|
+
// can have a 64-bit argument even if VFP is disabled. However,
|
778
|
+
// asm_arg_64 will split the argument and issue two 32-bit
|
779
|
+
// arguments to asm_stkarg so we can ignore that case here and
|
780
|
+
// assert that we will never get 64-bit arguments unless VFP is
|
781
|
+
// available.
|
782
|
+
NanoAssert(ARM_VFP);
|
783
|
+
NanoAssert(IsFpReg(argRes->reg));
|
784
|
+
|
785
|
+
#ifdef NJ_ARM_EABI
|
786
|
+
// EABI requires that 64-bit arguments are 64-bit aligned.
|
787
|
+
NanoAssert((stkd & 7) == 0);
|
788
|
+
#endif
|
789
|
+
|
790
|
+
FSTD(argRes->reg, SP, stkd);
|
791
|
+
}
|
792
|
+
} else {
|
793
|
+
// The argument does not reside in registers, so we need to get some
|
794
|
+
// memory for it and then copy it onto the stack.
|
795
|
+
int d = findMemFor(arg);
|
796
|
+
if (!isQuad) {
|
797
|
+
STR(IP, SP, stkd);
|
333
798
|
if (arg->isop(LIR_alloc)) {
|
334
799
|
asm_add_imm(IP, FP, d);
|
335
800
|
} else {
|
336
801
|
LDR(IP, FP, d);
|
337
802
|
}
|
338
|
-
|
803
|
+
} else {
|
804
|
+
#ifdef NJ_ARM_EABI
|
805
|
+
// EABI requires that 64-bit arguments are 64-bit aligned.
|
806
|
+
NanoAssert((stkd & 7) == 0);
|
807
|
+
#endif
|
808
|
+
|
809
|
+
STR(IP, SP, stkd+4);
|
810
|
+
LDR(IP, FP, d+4);
|
811
|
+
STR(IP, SP, stkd);
|
812
|
+
LDR(IP, FP, d);
|
339
813
|
}
|
340
|
-
} else {
|
341
|
-
NanoAssert(0);
|
342
814
|
}
|
343
815
|
}
|
344
816
|
|
345
817
|
void
|
346
818
|
Assembler::asm_call(LInsp ins)
|
347
819
|
{
|
348
|
-
const CallInfo*
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
//
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
//
|
360
|
-
//
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
820
|
+
const CallInfo* call = ins->callInfo();
|
821
|
+
ArgSize sizes[MAXARGS];
|
822
|
+
uint32_t argc = call->get_sizes(sizes);
|
823
|
+
bool indirect = call->isIndirect();
|
824
|
+
|
825
|
+
// If we aren't using VFP, assert that the LIR operation is an integer
|
826
|
+
// function call.
|
827
|
+
NanoAssert(ARM_VFP || ins->isop(LIR_icall));
|
828
|
+
|
829
|
+
// If we're using VFP, and the return type is a double, it'll come back in
|
830
|
+
// R0/R1. We need to either place it in the result fp reg, or store it.
|
831
|
+
// See comments in asm_prep_fcall() for more details as to why this is
|
832
|
+
// necessary here for floating point calls, but not for integer calls.
|
833
|
+
if (ARM_VFP && ins->isUsed()) {
|
834
|
+
// Determine the size (and type) of the instruction result.
|
835
|
+
ArgSize rsize = (ArgSize)(call->_argtypes & ARGSIZE_MASK_ANY);
|
836
|
+
|
837
|
+
// If the result size is a floating-point value, treat the result
|
838
|
+
// specially, as described previously.
|
839
|
+
if (rsize == ARGSIZE_F) {
|
840
|
+
Reservation * callRes = getresv(ins);
|
841
|
+
Register rr = callRes->reg;
|
842
|
+
|
843
|
+
NanoAssert(ins->opcode() == LIR_fcall);
|
844
|
+
|
845
|
+
if (rr == UnknownReg) {
|
846
|
+
int d = disp(callRes);
|
847
|
+
NanoAssert(d != 0);
|
848
|
+
freeRsrcOf(ins, false);
|
849
|
+
|
850
|
+
// The result doesn't have a register allocated, so store the
|
851
|
+
// result (in R0,R1) directly to its stack slot.
|
852
|
+
STR(R0, FP, d+0);
|
853
|
+
STR(R1, FP, d+4);
|
854
|
+
} else {
|
855
|
+
NanoAssert(IsFpReg(rr));
|
370
856
|
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
NanoAssert(d);
|
376
|
-
STR(R0, FP, d+0);
|
377
|
-
STR(R1, FP, d+4);
|
857
|
+
// Copy the result to the (VFP) result register.
|
858
|
+
prepResultReg(ins, rmask(rr));
|
859
|
+
FMDRR(rr, R0, R1);
|
860
|
+
}
|
378
861
|
}
|
379
862
|
}
|
380
863
|
|
381
|
-
//
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
|
395
|
-
|
396
|
-
|
397
|
-
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
else if (r == R3)
|
407
|
-
r = UnknownReg;
|
864
|
+
// Emit the branch.
|
865
|
+
if (!indirect) {
|
866
|
+
verbose_only(if (_logc->lcbits & LC_Assembly)
|
867
|
+
outputf(" %p:", _nIns);
|
868
|
+
)
|
869
|
+
|
870
|
+
// Direct call: on v5 and above (where the calling sequence doesn't
|
871
|
+
// corrupt LR until the actual branch instruction), we can avoid an
|
872
|
+
// interlock in the "long" branch sequence by manually loading the
|
873
|
+
// target address into LR ourselves before setting up the parameters
|
874
|
+
// in other registers.
|
875
|
+
BranchWithLink((NIns*)call->_address);
|
876
|
+
} else {
|
877
|
+
// Indirect call: we assign the address arg to LR since it's not
|
878
|
+
// used for regular arguments, and is otherwise scratch since it's
|
879
|
+
// clobberred by the call. On v4/v4T, where we have to manually do
|
880
|
+
// the equivalent of a BLX, move LR into IP before corrupting LR
|
881
|
+
// with the return address.
|
882
|
+
if (blx_lr_bug) {
|
883
|
+
// workaround for msft device emulator bug (blx lr emulated as no-op)
|
884
|
+
underrunProtect(8);
|
885
|
+
BLX(IP);
|
886
|
+
MOV(IP,LR);
|
887
|
+
} else {
|
888
|
+
BLX(LR);
|
408
889
|
}
|
409
|
-
|
890
|
+
asm_regarg(ARGSIZE_LO, ins->arg(--argc), LR);
|
891
|
+
}
|
410
892
|
|
411
|
-
|
893
|
+
// Encode the arguments, starting at R0 and with an empty argument stack.
|
894
|
+
Register r = R0;
|
895
|
+
int stkd = 0;
|
896
|
+
|
897
|
+
// Iterate through the argument list and encode each argument according to
|
898
|
+
// the ABI.
|
899
|
+
// Note that we loop through the arguments backwards as LIR specifies them
|
900
|
+
// in reverse order.
|
901
|
+
uint32_t i = argc;
|
902
|
+
while(i--) {
|
903
|
+
asm_arg(sizes[i], ins->arg(i), r, stkd);
|
412
904
|
}
|
413
|
-
}
|
414
905
|
|
415
|
-
|
416
|
-
|
417
|
-
{
|
418
|
-
NanoAssert(sizeof(Page) == NJ_PAGE_SIZE);
|
419
|
-
#ifdef UNDER_CE
|
420
|
-
static const DWORD kProtFlags[4] = {
|
421
|
-
PAGE_READONLY, // 0
|
422
|
-
PAGE_READWRITE, // PAGE_WRITE
|
423
|
-
PAGE_EXECUTE_READ, // PAGE_EXEC
|
424
|
-
PAGE_EXECUTE_READWRITE // PAGE_EXEC|PAGE_WRITE
|
425
|
-
};
|
426
|
-
DWORD prot = kProtFlags[flags & (PAGE_WRITE|PAGE_EXEC)];
|
427
|
-
DWORD dwOld;
|
428
|
-
BOOL res = VirtualProtect(page, NJ_PAGE_SIZE, prot, &dwOld);
|
429
|
-
if (!res)
|
430
|
-
{
|
431
|
-
// todo: we can't abort or assert here, we have to fail gracefully.
|
432
|
-
NanoAssertMsg(false, "FATAL ERROR: VirtualProtect() failed\n");
|
906
|
+
if (stkd > max_out_args) {
|
907
|
+
max_out_args = stkd;
|
433
908
|
}
|
434
|
-
#endif
|
435
|
-
#ifdef AVMPLUS_PORTING_API
|
436
|
-
NanoJIT_PortAPI_MarkExecutable(page, (void*)((char*)page+NJ_PAGE_SIZE), flags);
|
437
|
-
// todo, must add error-handling to the portapi
|
438
|
-
#endif
|
439
909
|
}
|
440
910
|
|
441
911
|
Register
|
442
|
-
Assembler::nRegisterAllocFromSet(
|
912
|
+
Assembler::nRegisterAllocFromSet(RegisterMask set)
|
443
913
|
{
|
444
|
-
|
445
|
-
|
446
|
-
|
447
|
-
|
448
|
-
|
449
|
-
|
450
|
-
return r;
|
451
|
-
#elif defined(__ARMCC__)
|
452
|
-
register int i;
|
453
|
-
__asm { clz i,set }
|
454
|
-
Register r = Register(31-i);
|
914
|
+
NanoAssert(set != 0);
|
915
|
+
|
916
|
+
// The CountLeadingZeroes function will use the CLZ instruction where
|
917
|
+
// available. In other cases, it will fall back to a (slower) C
|
918
|
+
// implementation.
|
919
|
+
Register r = (Register)(31-CountLeadingZeroes(set));
|
455
920
|
_allocator.free &= ~rmask(r);
|
921
|
+
|
922
|
+
NanoAssert(IsGpReg(r) || IsFpReg(r));
|
923
|
+
NanoAssert((rmask(r) & set) == rmask(r));
|
924
|
+
|
456
925
|
return r;
|
457
|
-
#else
|
458
|
-
// need to implement faster way
|
459
|
-
int i=0;
|
460
|
-
while (!(set & rmask((Register)i)))
|
461
|
-
i ++;
|
462
|
-
_allocator.free &= ~rmask((Register)i);
|
463
|
-
return (Register) i;
|
464
|
-
#endif
|
465
926
|
}
|
466
927
|
|
467
928
|
void
|
@@ -469,18 +930,17 @@ Assembler::nRegisterResetAll(RegAlloc& a)
|
|
469
930
|
{
|
470
931
|
// add scratch registers to our free list for the allocator
|
471
932
|
a.clear();
|
472
|
-
a.used = 0;
|
473
933
|
a.free =
|
474
934
|
rmask(R0) | rmask(R1) | rmask(R2) | rmask(R3) | rmask(R4) |
|
475
935
|
rmask(R5) | rmask(R6) | rmask(R7) | rmask(R8) | rmask(R9) |
|
476
|
-
rmask(R10);
|
477
|
-
if (
|
936
|
+
rmask(R10) | rmask(LR);
|
937
|
+
if (ARM_VFP)
|
478
938
|
a.free |= FpRegs;
|
479
939
|
|
480
940
|
debug_only(a.managed = a.free);
|
481
941
|
}
|
482
942
|
|
483
|
-
|
943
|
+
void
|
484
944
|
Assembler::nPatchBranch(NIns* at, NIns* target)
|
485
945
|
{
|
486
946
|
// Patch the jump in a loop, as emitted by JMP_far.
|
@@ -488,25 +948,58 @@ Assembler::nPatchBranch(NIns* at, NIns* target)
|
|
488
948
|
|
489
949
|
NIns* was = 0;
|
490
950
|
|
491
|
-
|
492
|
-
|
493
|
-
|
494
|
-
|
495
|
-
|
496
|
-
|
497
|
-
|
498
|
-
|
499
|
-
|
951
|
+
// Determine how the existing branch was emitted so we can report the
|
952
|
+
// original destination. Note that this is only useful for debug purposes;
|
953
|
+
// no real code uses this result.
|
954
|
+
debug_only(
|
955
|
+
if (at[0] == (NIns)( COND_AL | (0x51<<20) | (PC<<16) | (PC<<12) | (4) )) {
|
956
|
+
// The existing branch looks like this:
|
957
|
+
// at[0] LDR pc, [addr]
|
958
|
+
// at[1] addr: target
|
959
|
+
was = (NIns*) at[1];
|
960
|
+
} else if ((at[0] && 0xff000000) == (NIns)( COND_AL | (0xA<<24))) {
|
961
|
+
// The existing branch looks like this:
|
962
|
+
// at[0] B target
|
963
|
+
// at[1] BKPT (dummy instruction).
|
964
|
+
was = (NIns*) (((intptr_t)at + 8) + (intptr_t)((at[0] & 0xffffff) << 2));
|
965
|
+
} else {
|
966
|
+
// The existing code is not a branch. This can occur, for example,
|
967
|
+
// when patching exit code generated by nFragExit. Exit branches to
|
968
|
+
// an epilogue load a value into R2 (using LDi), but this is not
|
969
|
+
// required for other exit branches so the new branch can be
|
970
|
+
// emitted over the top of the LDi sequence. It would be nice to
|
971
|
+
// assert that we're looking at an LDi sequence, but this is not
|
972
|
+
// trivial because the output of LDi is both platform- and
|
973
|
+
// context-dependent.
|
974
|
+
was = (NIns*)-1; // Return an obviously incorrect target address.
|
975
|
+
}
|
976
|
+
);
|
977
|
+
|
978
|
+
// Assert that the existing placeholder is not conditional.
|
979
|
+
NanoAssert((uint32_t)(at[0] & 0xf0000000) == COND_AL);
|
980
|
+
|
981
|
+
// We only have to patch unconditional branches, but these may take one of
|
982
|
+
// the following patterns:
|
983
|
+
//
|
984
|
+
// --- Short branch.
|
985
|
+
// B ±32MB
|
986
|
+
//
|
987
|
+
// --- Long branch.
|
988
|
+
// LDR PC, #lit
|
989
|
+
// lit: #target
|
500
990
|
|
501
|
-
// let's see how we have to emit it
|
502
991
|
intptr_t offs = PC_OFFSET_FROM(target, at);
|
503
992
|
if (isS24(offs>>2)) {
|
504
|
-
//
|
993
|
+
// Emit a simple branch (B) in the first of the two available
|
994
|
+
// instruction addresses.
|
505
995
|
at[0] = (NIns)( COND_AL | (0xA<<24) | ((offs >> 2) & 0xffffff) );
|
506
996
|
// and reset at[1] for good measure
|
507
997
|
at[1] = BKPT_insn;
|
508
998
|
} else {
|
999
|
+
// Emit a branch to a pc-relative address, which we'll store right
|
1000
|
+
// after this instruction
|
509
1001
|
at[0] = (NIns)( COND_AL | (0x51<<20) | (PC<<16) | (PC<<12) | (4) );
|
1002
|
+
// the target address
|
510
1003
|
at[1] = (NIns)(target);
|
511
1004
|
}
|
512
1005
|
VALGRIND_DISCARD_TRANSLATIONS(at, 2*sizeof(NIns));
|
@@ -521,8 +1014,6 @@ Assembler::nPatchBranch(NIns* at, NIns* target)
|
|
521
1014
|
#ifdef AVMPLUS_PORTING_API
|
522
1015
|
NanoJIT_PortAPI_FlushInstructionCache(at, at+3);
|
523
1016
|
#endif
|
524
|
-
|
525
|
-
return was;
|
526
1017
|
}
|
527
1018
|
|
528
1019
|
RegisterMask
|
@@ -530,14 +1021,14 @@ Assembler::hint(LIns* i, RegisterMask allow /* = ~0 */)
|
|
530
1021
|
{
|
531
1022
|
uint32_t op = i->opcode();
|
532
1023
|
int prefer = ~0;
|
533
|
-
|
534
|
-
if (op==LIR_call || op==LIR_fcall)
|
1024
|
+
if (op==LIR_icall)
|
535
1025
|
prefer = rmask(R0);
|
536
1026
|
else if (op == LIR_callh)
|
537
1027
|
prefer = rmask(R1);
|
538
|
-
else if (op == LIR_param)
|
539
|
-
|
540
|
-
|
1028
|
+
else if (op == LIR_param) {
|
1029
|
+
if (i->paramArg() < 4)
|
1030
|
+
prefer = rmask(argRegs[i->paramArg()]);
|
1031
|
+
}
|
541
1032
|
if (_allocator.free & allow & prefer)
|
542
1033
|
allow &= prefer;
|
543
1034
|
return allow;
|
@@ -574,7 +1065,13 @@ Assembler::asm_store32(LIns *value, int dr, LIns *base)
|
|
574
1065
|
ra = rA->reg;
|
575
1066
|
rb = rB->reg;
|
576
1067
|
}
|
577
|
-
|
1068
|
+
|
1069
|
+
if (!isS12(dr)) {
|
1070
|
+
STR(ra, IP, 0);
|
1071
|
+
asm_add_imm(IP, rb, dr);
|
1072
|
+
} else {
|
1073
|
+
STR(ra, rb, dr);
|
1074
|
+
}
|
578
1075
|
}
|
579
1076
|
|
580
1077
|
void
|
@@ -582,37 +1079,40 @@ Assembler::asm_restore(LInsp i, Reservation *resv, Register r)
|
|
582
1079
|
{
|
583
1080
|
if (i->isop(LIR_alloc)) {
|
584
1081
|
asm_add_imm(r, FP, disp(resv));
|
585
|
-
}
|
1082
|
+
} else if (IsFpReg(r)) {
|
1083
|
+
NanoAssert(ARM_VFP);
|
1084
|
+
|
1085
|
+
// We can't easily load immediate values directly into FP registers, so
|
1086
|
+
// ensure that memory is allocated for the constant and load it from
|
1087
|
+
// memory.
|
1088
|
+
int d = findMemFor(i);
|
1089
|
+
if (isS8(d >> 2)) {
|
1090
|
+
FLDD(r, FP, d);
|
1091
|
+
} else {
|
1092
|
+
FLDD(r, IP, 0);
|
1093
|
+
asm_add_imm(IP, FP, d);
|
1094
|
+
}
|
586
1095
|
#if 0
|
587
|
-
|
588
|
-
|
589
|
-
|
590
|
-
|
591
|
-
|
592
|
-
|
593
|
-
else if (i->isconst()
|
1096
|
+
// This code tries to use a small constant load to restore the value of r.
|
1097
|
+
// However, there was a comment explaining that using this regresses
|
1098
|
+
// crypto-aes by about 50%. I do not see that behaviour; however, enabling
|
1099
|
+
// this code does cause a JavaScript failure in the first of the
|
1100
|
+
// createMandelSet tests in trace-tests. I can't explain either the
|
1101
|
+
// original performance issue or the crash that I'm seeing.
|
1102
|
+
} else if (i->isconst()) {
|
1103
|
+
// asm_ld_imm will automatically select between LDR and MOV as
|
1104
|
+
// appropriate.
|
594
1105
|
if (!resv->arIndex)
|
595
|
-
|
596
|
-
asm_ld_imm(r, i->
|
597
|
-
}
|
1106
|
+
i->resv()->clear();
|
1107
|
+
asm_ld_imm(r, i->imm32());
|
598
1108
|
#endif
|
599
|
-
else {
|
1109
|
+
} else {
|
600
1110
|
int d = findMemFor(i);
|
601
|
-
|
602
|
-
if (isS8(d >> 2)) {
|
603
|
-
FLDD(r, FP, d);
|
604
|
-
} else {
|
605
|
-
FLDD(r, IP, 0);
|
606
|
-
ADDi(IP, FP, d);
|
607
|
-
}
|
608
|
-
} else {
|
609
|
-
LDR(r, FP, d);
|
610
|
-
}
|
1111
|
+
LDR(r, FP, d);
|
611
1112
|
}
|
612
1113
|
|
613
1114
|
verbose_only(
|
614
|
-
|
615
|
-
outputf(" restore %s",_thisfrag->lirbuf->names->formatRef(i));
|
1115
|
+
asm_output(" restore %s",_thisfrag->lirbuf->names->formatRef(i));
|
616
1116
|
)
|
617
1117
|
}
|
618
1118
|
|
@@ -622,12 +1122,12 @@ Assembler::asm_spill(Register rr, int d, bool pop, bool quad)
|
|
622
1122
|
(void) pop;
|
623
1123
|
(void) quad;
|
624
1124
|
if (d) {
|
625
|
-
if (IsFpReg(rr)) {
|
1125
|
+
if (ARM_VFP && IsFpReg(rr)) {
|
626
1126
|
if (isS8(d >> 2)) {
|
627
1127
|
FSTD(rr, FP, d);
|
628
1128
|
} else {
|
629
1129
|
FSTD(rr, IP, 0);
|
630
|
-
|
1130
|
+
asm_add_imm(IP, FP, d);
|
631
1131
|
}
|
632
1132
|
} else {
|
633
1133
|
STR(rr, FP, d);
|
@@ -638,38 +1138,44 @@ Assembler::asm_spill(Register rr, int d, bool pop, bool quad)
|
|
638
1138
|
void
|
639
1139
|
Assembler::asm_load64(LInsp ins)
|
640
1140
|
{
|
641
|
-
|
1141
|
+
//asm_output("<<< load64");
|
1142
|
+
|
1143
|
+
NanoAssert(ins->isQuad());
|
642
1144
|
|
643
1145
|
LIns* base = ins->oprnd1();
|
644
|
-
int offset = ins->
|
1146
|
+
int offset = ins->disp();
|
645
1147
|
|
646
1148
|
Reservation *resv = getresv(ins);
|
1149
|
+
NanoAssert(resv);
|
647
1150
|
Register rr = resv->reg;
|
648
1151
|
int d = disp(resv);
|
649
1152
|
|
1153
|
+
Register rb = findRegFor(base, GpRegs);
|
1154
|
+
NanoAssert(IsGpReg(rb));
|
650
1155
|
freeRsrcOf(ins, false);
|
651
1156
|
|
652
|
-
|
653
|
-
Register rb = findRegFor(base, GpRegs);
|
1157
|
+
//output("--- load64: Finished register allocation.");
|
654
1158
|
|
655
|
-
|
656
|
-
|
1159
|
+
if (ARM_VFP && rr != UnknownReg) {
|
1160
|
+
// VFP is enabled and the result will go into a register.
|
1161
|
+
NanoAssert(IsFpReg(rr));
|
657
1162
|
|
658
|
-
if (
|
659
|
-
|
660
|
-
|
661
|
-
ADDi(IP, rb, offset);
|
662
|
-
} else {
|
663
|
-
FLDD(rr,rb,offset);
|
664
|
-
}
|
1163
|
+
if (!isS8(offset >> 2) || (offset&3) != 0) {
|
1164
|
+
FLDD(rr,IP,0);
|
1165
|
+
asm_add_imm(IP, rb, offset);
|
665
1166
|
} else {
|
666
|
-
|
1167
|
+
FLDD(rr,rb,offset);
|
667
1168
|
}
|
668
|
-
|
669
|
-
// *(FP+dr) <- *(rb+db)
|
670
1169
|
} else {
|
671
|
-
|
672
|
-
|
1170
|
+
// Either VFP is not available or the result needs to go into memory;
|
1171
|
+
// in either case, VFP instructions are not required. Note that the
|
1172
|
+
// result will never be loaded into registers if VFP is not available.
|
1173
|
+
NanoAssert(d != 0);
|
1174
|
+
|
1175
|
+
// Check that the offset is 8-byte (64-bit) aligned.
|
1176
|
+
NanoAssert((d & 0x7) == 0);
|
1177
|
+
|
1178
|
+
// *(uint64_t*)(FP+d) = *(uint64_t*)(rb+offset)
|
673
1179
|
asm_mmq(FP, d, rb, offset);
|
674
1180
|
}
|
675
1181
|
|
@@ -681,20 +1187,18 @@ Assembler::asm_store64(LInsp value, int dr, LInsp base)
|
|
681
1187
|
{
|
682
1188
|
//asm_output("<<< store64 (dr: %d)", dr);
|
683
1189
|
|
684
|
-
if (
|
1190
|
+
if (ARM_VFP) {
|
685
1191
|
//Reservation *valResv = getresv(value);
|
686
1192
|
Register rb = findRegFor(base, GpRegs);
|
687
1193
|
|
688
1194
|
if (value->isconstq()) {
|
689
|
-
const int32_t* p = (const int32_t*) (value-2);
|
690
|
-
|
691
1195
|
underrunProtect(LD32_size*2 + 8);
|
692
1196
|
|
693
1197
|
// XXX use another reg, get rid of dependency
|
694
1198
|
STR(IP, rb, dr);
|
695
|
-
|
1199
|
+
asm_ld_imm(IP, value->imm64_0(), false);
|
696
1200
|
STR(IP, rb, dr+4);
|
697
|
-
|
1201
|
+
asm_ld_imm(IP, value->imm64_1(), false);
|
698
1202
|
|
699
1203
|
return;
|
700
1204
|
}
|
@@ -715,20 +1219,19 @@ Assembler::asm_store64(LInsp value, int dr, LInsp base)
|
|
715
1219
|
FSTD(rv, baseReg, baseOffset);
|
716
1220
|
|
717
1221
|
if (!isS8(dr)) {
|
718
|
-
|
1222
|
+
asm_add_imm(IP, rb, dr);
|
719
1223
|
}
|
720
1224
|
|
721
1225
|
// if it's a constant, make sure our baseReg/baseOffset location
|
722
1226
|
// has the right value
|
723
1227
|
if (value->isconstq()) {
|
724
|
-
const int32_t* p = (const int32_t*) (value-2);
|
725
|
-
|
726
1228
|
underrunProtect(4*4);
|
727
|
-
asm_quad_nochk(rv,
|
1229
|
+
asm_quad_nochk(rv, value->imm64_0(), value->imm64_1());
|
728
1230
|
}
|
729
1231
|
} else {
|
730
1232
|
int da = findMemFor(value);
|
731
1233
|
Register rb = findRegFor(base, GpRegs);
|
1234
|
+
// *(uint64_t*)(rb+dr) = *(uint64_t*)(FP+da)
|
732
1235
|
asm_mmq(rb, dr, FP, da);
|
733
1236
|
}
|
734
1237
|
|
@@ -738,7 +1241,7 @@ Assembler::asm_store64(LInsp value, int dr, LInsp base)
|
|
738
1241
|
// stick a quad into register rr, where p points to the two
|
739
1242
|
// 32-bit parts of the quad, optinally also storing at FP+d
|
740
1243
|
void
|
741
|
-
Assembler::asm_quad_nochk(Register rr,
|
1244
|
+
Assembler::asm_quad_nochk(Register rr, int32_t imm64_0, int32_t imm64_1)
|
742
1245
|
{
|
743
1246
|
// We're not going to use a slot, because it might be too far
|
744
1247
|
// away. Instead, we're going to stick a branch in the stream to
|
@@ -747,16 +1250,16 @@ Assembler::asm_quad_nochk(Register rr, const int32_t* p)
|
|
747
1250
|
|
748
1251
|
// stream should look like:
|
749
1252
|
// branch A
|
750
|
-
//
|
751
|
-
//
|
1253
|
+
// imm64_0
|
1254
|
+
// imm64_1
|
752
1255
|
// A: FLDD PC-16
|
753
1256
|
|
754
1257
|
FLDD(rr, PC, -16);
|
755
1258
|
|
756
|
-
*(--_nIns) = (NIns)
|
757
|
-
*(--_nIns) = (NIns)
|
1259
|
+
*(--_nIns) = (NIns) imm64_1;
|
1260
|
+
*(--_nIns) = (NIns) imm64_0;
|
758
1261
|
|
759
|
-
|
1262
|
+
B_nochk(_nIns+2);
|
760
1263
|
}
|
761
1264
|
|
762
1265
|
void
|
@@ -764,29 +1267,25 @@ Assembler::asm_quad(LInsp ins)
|
|
764
1267
|
{
|
765
1268
|
//asm_output(">>> asm_quad");
|
766
1269
|
|
767
|
-
Reservation *res = getresv(ins);
|
768
|
-
int
|
769
|
-
Register
|
770
|
-
|
771
|
-
NanoAssert(d || rr != UnknownReg);
|
772
|
-
|
773
|
-
const int32_t* p = (const int32_t*) (ins-2);
|
1270
|
+
Reservation * res = getresv(ins);
|
1271
|
+
int d = disp(res);
|
1272
|
+
Register rr = res->reg;
|
774
1273
|
|
775
1274
|
freeRsrcOf(ins, false);
|
776
1275
|
|
777
|
-
if (
|
778
|
-
rr != UnknownReg)
|
1276
|
+
if (ARM_VFP && rr != UnknownReg)
|
779
1277
|
{
|
780
1278
|
if (d)
|
781
1279
|
FSTD(rr, FP, d);
|
782
1280
|
|
783
1281
|
underrunProtect(4*4);
|
784
|
-
asm_quad_nochk(rr,
|
1282
|
+
asm_quad_nochk(rr, ins->imm64_0(), ins->imm64_1());
|
785
1283
|
} else {
|
1284
|
+
NanoAssert(d);
|
786
1285
|
STR(IP, FP, d+4);
|
787
|
-
asm_ld_imm(IP,
|
1286
|
+
asm_ld_imm(IP, ins->imm64_1());
|
788
1287
|
STR(IP, FP, d);
|
789
|
-
asm_ld_imm(IP,
|
1288
|
+
asm_ld_imm(IP, ins->imm64_0());
|
790
1289
|
}
|
791
1290
|
|
792
1291
|
//asm_output("<<< asm_quad");
|
@@ -795,15 +1294,12 @@ Assembler::asm_quad(LInsp ins)
|
|
795
1294
|
void
|
796
1295
|
Assembler::asm_nongp_copy(Register r, Register s)
|
797
1296
|
{
|
798
|
-
if ((
|
1297
|
+
if (ARM_VFP && IsFpReg(r) && IsFpReg(s)) {
|
799
1298
|
// fp->fp
|
800
1299
|
FCPYD(r, s);
|
801
|
-
} else if ((rmask(r) & GpRegs) && (rmask(s) & FpRegs)) {
|
802
|
-
// fp->gp
|
803
|
-
// who's doing this and why?
|
804
|
-
NanoAssert(0);
|
805
|
-
// FMRS(r, loSingleVfp(s));
|
806
1300
|
} else {
|
1301
|
+
// We can't move a double-precision FP register into a 32-bit GP
|
1302
|
+
// register, so assert that no calling code is trying to do that.
|
807
1303
|
NanoAssert(0);
|
808
1304
|
}
|
809
1305
|
}
|
@@ -820,224 +1316,395 @@ Assembler::asm_binop_rhs_reg(LInsp)
|
|
820
1316
|
void
|
821
1317
|
Assembler::asm_mmq(Register rd, int dd, Register rs, int ds)
|
822
1318
|
{
|
823
|
-
// value is either a 64bit struct or maybe a float
|
824
|
-
//
|
825
|
-
//
|
826
|
-
|
827
|
-
|
828
|
-
//
|
829
|
-
//
|
1319
|
+
// The value is either a 64bit struct or maybe a float that isn't live in
|
1320
|
+
// an FPU reg. Either way, don't put it in an FPU reg just to load & store
|
1321
|
+
// it.
|
1322
|
+
// This operation becomes a simple 64-bit memcpy.
|
1323
|
+
|
1324
|
+
// In order to make the operation optimal, we will require two GP
|
1325
|
+
// registers. We can't allocate a register here because the caller may have
|
1326
|
+
// called freeRsrcOf, and allocating a register here may cause something
|
1327
|
+
// else to spill onto the stack which has just be conveniently freed by
|
1328
|
+
// freeRsrcOf (resulting in stack corruption).
|
1329
|
+
//
|
1330
|
+
// Falling back to a single-register implementation of asm_mmq is better
|
1331
|
+
// than adjusting the callers' behaviour (to allow us to allocate another
|
1332
|
+
// register here) because spilling a register will end up being slower than
|
1333
|
+
// just using the same register twice anyway.
|
1334
|
+
//
|
1335
|
+
// Thus, if there is a free register which we can borrow, we will emit the
|
1336
|
+
// following code:
|
1337
|
+
// LDR rr, [rs, #ds]
|
1338
|
+
// LDR ip, [rs, #(ds+4)]
|
1339
|
+
// STR rr, [rd, #dd]
|
1340
|
+
// STR ip, [rd, #(dd+4)]
|
1341
|
+
// (Where rr is the borrowed register.)
|
1342
|
+
//
|
1343
|
+
// If there is no free register, don't spill an existing allocation. Just
|
1344
|
+
// do the following:
|
1345
|
+
// LDR ip, [rs, #ds]
|
1346
|
+
// STR ip, [rd, #dd]
|
1347
|
+
// LDR ip, [rs, #(ds+4)]
|
1348
|
+
// STR ip, [rd, #(dd+4)]
|
1349
|
+
|
1350
|
+
// Ensure that the PC is not used as either base register. The instruction
|
1351
|
+
// generation macros call underrunProtect, and a side effect of this is
|
1352
|
+
// that we may be pushed onto another page, so the PC is not a reliable
|
1353
|
+
// base register.
|
830
1354
|
NanoAssert(rs != PC);
|
1355
|
+
NanoAssert(rd != PC);
|
1356
|
+
|
1357
|
+
// Find the list of free registers from the allocator's free list and the
|
1358
|
+
// GpRegs mask. This excludes any floating-point registers that may be on
|
1359
|
+
// the free list.
|
1360
|
+
RegisterMask free = _allocator.free & AllowableFlagRegs;
|
1361
|
+
|
1362
|
+
if (free) {
|
1363
|
+
// There is at least one register on the free list, so grab one for
|
1364
|
+
// temporary use. There is no need to allocate it explicitly because
|
1365
|
+
// we won't need it after this function returns.
|
1366
|
+
|
1367
|
+
// The CountLeadingZeroes can be used to quickly find a set bit in the
|
1368
|
+
// free mask.
|
1369
|
+
Register rr = (Register)(31-CountLeadingZeroes(free));
|
1370
|
+
|
1371
|
+
// Note: Not every register in GpRegs is usable here. However, these
|
1372
|
+
// registers will never appear on the free list.
|
1373
|
+
NanoAssert((free & rmask(PC)) == 0);
|
1374
|
+
NanoAssert((free & rmask(LR)) == 0);
|
1375
|
+
NanoAssert((free & rmask(SP)) == 0);
|
1376
|
+
NanoAssert((free & rmask(IP)) == 0);
|
1377
|
+
NanoAssert((free & rmask(FP)) == 0);
|
1378
|
+
|
1379
|
+
// Emit the actual instruction sequence.
|
1380
|
+
|
1381
|
+
STR(IP, rd, dd+4);
|
1382
|
+
STR(rr, rd, dd);
|
1383
|
+
LDR(IP, rs, ds+4);
|
1384
|
+
LDR(rr, rs, ds);
|
1385
|
+
} else {
|
1386
|
+
// There are no free registers, so fall back to using IP twice.
|
1387
|
+
STR(IP, rd, dd+4);
|
1388
|
+
LDR(IP, rs, ds+4);
|
1389
|
+
STR(IP, rd, dd);
|
1390
|
+
LDR(IP, rs, ds);
|
1391
|
+
}
|
1392
|
+
}
|
831
1393
|
|
832
|
-
|
833
|
-
|
834
|
-
|
835
|
-
|
836
|
-
|
837
|
-
//
|
838
|
-
STR(IP, rd, dd+4);
|
839
|
-
STR(t, rd, dd);
|
840
|
-
LDR(IP, rs, ds+4);
|
841
|
-
LDR(t, rs, ds);
|
1394
|
+
// Increment the 32-bit profiling counter at pCtr, without
|
1395
|
+
// changing any registers.
|
1396
|
+
verbose_only(
|
1397
|
+
void Assembler::asm_inc_m32(uint32_t* /*pCtr*/)
|
1398
|
+
{
|
1399
|
+
// todo: implement this
|
842
1400
|
}
|
1401
|
+
)
|
843
1402
|
|
844
1403
|
void
|
845
1404
|
Assembler::nativePageReset()
|
846
1405
|
{
|
847
1406
|
_nSlot = 0;
|
1407
|
+
_startingSlot = 0;
|
848
1408
|
_nExitSlot = 0;
|
849
1409
|
}
|
850
1410
|
|
851
1411
|
void
|
852
1412
|
Assembler::nativePageSetup()
|
853
1413
|
{
|
854
|
-
if (!_nIns)
|
855
|
-
|
856
|
-
|
1414
|
+
if (!_nIns)
|
1415
|
+
codeAlloc(codeStart, codeEnd, _nIns verbose_only(, codeBytes));
|
1416
|
+
if (!_nExitIns)
|
1417
|
+
codeAlloc(exitStart, exitEnd, _nExitIns verbose_only(, exitBytes));
|
857
1418
|
|
1419
|
+
// constpool starts at top of page and goes down,
|
1420
|
+
// code starts at bottom of page and moves up
|
858
1421
|
if (!_nSlot)
|
859
|
-
|
860
|
-
|
861
|
-
|
862
|
-
_nIns--;
|
863
|
-
_nExitIns--;
|
864
|
-
|
865
|
-
// constpool starts at top of page and goes down,
|
866
|
-
// code starts at bottom of page and moves up
|
867
|
-
_nSlot = pageDataStart(_nIns); //(int*)(&((Page*)pageTop(_nIns))->lir[0]);
|
868
|
-
}
|
1422
|
+
_nSlot = codeStart;
|
1423
|
+
if (!_nExitSlot)
|
1424
|
+
_nExitSlot = exitStart;
|
869
1425
|
}
|
870
1426
|
|
871
|
-
|
872
|
-
// might need to allocate a new page in the middle of an IP-using
|
873
|
-
// sequence.
|
1427
|
+
|
874
1428
|
void
|
875
1429
|
Assembler::underrunProtect(int bytes)
|
876
1430
|
{
|
877
|
-
NanoAssertMsg(bytes<=LARGEST_UNDERRUN_PROT, "constant LARGEST_UNDERRUN_PROT is too small");
|
878
|
-
|
879
|
-
|
880
|
-
|
1431
|
+
NanoAssertMsg(bytes<=LARGEST_UNDERRUN_PROT, "constant LARGEST_UNDERRUN_PROT is too small");
|
1432
|
+
NanoAssert(_nSlot != 0 && int(_nIns)-int(_nSlot) <= 4096);
|
1433
|
+
uintptr_t top = uintptr_t(_nSlot);
|
1434
|
+
uintptr_t pc = uintptr_t(_nIns);
|
1435
|
+
if (pc - bytes < top)
|
881
1436
|
{
|
1437
|
+
verbose_only(verbose_outputf(" %p:", _nIns);)
|
882
1438
|
NIns* target = _nIns;
|
1439
|
+
if (_inExit)
|
1440
|
+
codeAlloc(exitStart, exitEnd, _nIns verbose_only(, exitBytes));
|
1441
|
+
else
|
1442
|
+
codeAlloc(codeStart, codeEnd, _nIns verbose_only(, codeBytes));
|
1443
|
+
|
1444
|
+
_nSlot = _inExit ? exitStart : codeStart;
|
883
1445
|
|
884
|
-
|
885
|
-
|
886
|
-
//
|
887
|
-
|
888
|
-
// However, (guess) something seems to be storing the value
|
889
|
-
// of _nIns as is, and then later generating a jump to a bogus
|
890
|
-
// address. So pre-decrement to ensure that it's always
|
891
|
-
// valid; we end up skipping using the last instruction this
|
892
|
-
// way.
|
893
|
-
_nIns--;
|
894
|
-
|
895
|
-
// Update slot, either to _nIns (if decremented above), or
|
896
|
-
// _nIns-1 once the above bug is fixed/found.
|
897
|
-
_nSlot = pageDataStart(_nIns);
|
898
|
-
|
899
|
-
// If samepage() is used on _nIns and _nSlot, it'll fail, since _nIns
|
900
|
-
// points to one past the end of the page right now. Assume that
|
901
|
-
// JMP_nochk won't ever try to write to _nSlot, and so won't ever
|
902
|
-
// check samepage(). See B_cond_chk macro.
|
903
|
-
JMP_nochk(target);
|
904
|
-
} else if (!_nSlot) {
|
905
|
-
// make sure that there's always a slot pointer
|
906
|
-
_nSlot = pageDataStart(_nIns);
|
1446
|
+
// _nSlot points to the first empty position in the new code block
|
1447
|
+
// _nIns points just past the last empty position.
|
1448
|
+
// Assume B_nochk won't ever try to write to _nSlot. See B_cond_chk macro.
|
1449
|
+
B_nochk(target);
|
907
1450
|
}
|
908
1451
|
}
|
909
1452
|
|
910
1453
|
void
|
911
1454
|
Assembler::JMP_far(NIns* addr)
|
912
1455
|
{
|
913
|
-
//
|
914
|
-
//
|
1456
|
+
// Even if a simple branch is all that is required, this function must emit
|
1457
|
+
// two words so that the branch can be arbitrarily patched later on.
|
915
1458
|
underrunProtect(8);
|
916
1459
|
|
917
1460
|
intptr_t offs = PC_OFFSET_FROM(addr,_nIns-2);
|
918
1461
|
|
919
1462
|
if (isS24(offs>>2)) {
|
1463
|
+
// Emit a BKPT to ensure that we reserve enough space for a full 32-bit
|
1464
|
+
// branch patch later on. The BKPT should never be executed.
|
920
1465
|
BKPT_nochk();
|
1466
|
+
|
1467
|
+
// B [PC+offs]
|
921
1468
|
*(--_nIns) = (NIns)( COND_AL | (0xA<<24) | ((offs>>2) & 0xFFFFFF) );
|
922
1469
|
|
923
|
-
asm_output("b %p", addr);
|
1470
|
+
asm_output("b %p", (void*)addr);
|
924
1471
|
} else {
|
925
|
-
// the address
|
1472
|
+
// Insert the target address as a constant in the instruction stream.
|
926
1473
|
*(--_nIns) = (NIns)((addr));
|
927
|
-
// ldr pc, [pc
|
1474
|
+
// ldr pc, [pc, #-4] // load the address into pc, reading it from [pc-4] (e.g.,
|
928
1475
|
// the next instruction)
|
929
1476
|
*(--_nIns) = (NIns)( COND_AL | (0x51<<20) | (PC<<16) | (PC<<12) | (4));
|
930
1477
|
|
931
|
-
asm_output("
|
1478
|
+
asm_output("ldr pc, =%p", (void*)addr);
|
932
1479
|
}
|
933
1480
|
}
|
934
1481
|
|
1482
|
+
// Perform a branch with link, and ARM/Thumb exchange if necessary. The actual
|
1483
|
+
// BLX instruction is only available from ARMv5 onwards, but as we don't
|
1484
|
+
// support anything older than that this function will not attempt to output
|
1485
|
+
// pre-ARMv5 sequences.
|
1486
|
+
//
|
1487
|
+
// Note: This function is not designed to be used with branches which will be
|
1488
|
+
// patched later, though it will work if the patcher knows how to patch the
|
1489
|
+
// generated instruction sequence.
|
935
1490
|
void
|
936
|
-
Assembler::
|
1491
|
+
Assembler::BranchWithLink(NIns* addr)
|
937
1492
|
{
|
1493
|
+
// Most branches emitted by TM are loaded through a register, so always
|
1494
|
+
// reserve enough space for the LDR sequence. This should give us a slight
|
1495
|
+
// net gain over reserving the exact amount required for shorter branches.
|
1496
|
+
// This _must_ be called before PC_OFFSET_FROM as it can move _nIns!
|
1497
|
+
underrunProtect(4+LD32_size);
|
1498
|
+
|
1499
|
+
// Calculate the offset from the instruction that is about to be
|
1500
|
+
// written (at _nIns-1) to the target.
|
938
1501
|
intptr_t offs = PC_OFFSET_FROM(addr,_nIns-1);
|
939
1502
|
|
940
|
-
//
|
941
|
-
|
942
|
-
// try to do this with a single S24 call
|
1503
|
+
// ARMv5 and above can use BLX <imm> for branches within ±32MB of the
|
1504
|
+
// PC and BLX Rm for long branches.
|
943
1505
|
if (isS24(offs>>2)) {
|
944
|
-
|
1506
|
+
// the value we need to stick in the instruction; masked,
|
1507
|
+
// because it will be sign-extended back to 32 bits.
|
1508
|
+
intptr_t offs2 = (offs>>2) & 0xffffff;
|
945
1509
|
|
946
|
-
|
947
|
-
|
948
|
-
*(--_nIns) = (NIns)( COND_AL | (0xB<<24) | ((offs>>2) & 0xFFFFFF) );
|
1510
|
+
if (((intptr_t)addr & 1) == 0) {
|
1511
|
+
// The target is ARM, so just emit a BL.
|
949
1512
|
|
950
|
-
|
951
|
-
|
952
|
-
|
1513
|
+
// BL target
|
1514
|
+
*(--_nIns) = (NIns)( (COND_AL) | (0xB<<24) | (offs2) );
|
1515
|
+
asm_output("bl %p", (void*)addr);
|
1516
|
+
} else {
|
1517
|
+
// The target is Thumb, so emit a BLX.
|
953
1518
|
|
954
|
-
|
955
|
-
|
956
|
-
|
957
|
-
|
958
|
-
// add lr, pc, #4 // set lr to be past the address that we wrote
|
959
|
-
*(--_nIns) = (NIns)( COND_AL | OP_IMM | (1<<23) | (PC<<16) | (LR<<12) | (4) );
|
1519
|
+
// We need to emit an ARMv5+ instruction, so assert that we have a
|
1520
|
+
// suitable processor. Note that we don't support ARMv4(T), but
|
1521
|
+
// this serves as a useful sanity check.
|
1522
|
+
NanoAssert(ARM_ARCH >= 5);
|
960
1523
|
|
961
|
-
|
962
|
-
|
963
|
-
}
|
1524
|
+
// The (pre-shifted) value of the "H" bit in the BLX encoding.
|
1525
|
+
uint32_t H = (offs & 0x2) << 23;
|
964
1526
|
|
965
|
-
|
966
|
-
|
967
|
-
|
968
|
-
|
969
|
-
|
970
|
-
|
971
|
-
|
1527
|
+
// BLX addr
|
1528
|
+
*(--_nIns) = (NIns)( (0xF << 28) | (0x5<<25) | (H) | (offs2) );
|
1529
|
+
asm_output("blx %p", (void*)addr);
|
1530
|
+
}
|
1531
|
+
} else {
|
1532
|
+
// Load the target address into IP and branch to that. We've already
|
1533
|
+
// done underrunProtect, so we can skip that here.
|
1534
|
+
BLX(IP, false);
|
972
1535
|
|
973
|
-
|
974
|
-
|
975
|
-
// the movt is only necessary if the high 16 bits are nonzero
|
976
|
-
if (((imm >> 16) & 0xFFFF) != 0)
|
977
|
-
MOVT(r, (imm >> 16) & 0xFFFF);
|
978
|
-
MOVW(r, imm & 0xFFFF);
|
979
|
-
return;
|
1536
|
+
// LDR IP, =addr
|
1537
|
+
asm_ld_imm(IP, (int32_t)addr, false);
|
980
1538
|
}
|
1539
|
+
}
|
981
1540
|
|
982
|
-
|
983
|
-
|
984
|
-
|
985
|
-
|
986
|
-
|
987
|
-
//
|
988
|
-
|
989
|
-
|
1541
|
+
// This is identical to BranchWithLink(NIns*) but emits a branch to an address
|
1542
|
+
// held in a register rather than a literal address.
|
1543
|
+
inline void
|
1544
|
+
Assembler::BLX(Register addr, bool chk /* = true */)
|
1545
|
+
{
|
1546
|
+
// We need to emit an ARMv5+ instruction, so assert that we have a suitable
|
1547
|
+
// processor. Note that we don't support ARMv4(T), but this serves as a
|
1548
|
+
// useful sanity check.
|
1549
|
+
NanoAssert(ARM_ARCH >= 5);
|
990
1550
|
|
991
|
-
NanoAssert(
|
1551
|
+
NanoAssert(IsGpReg(addr));
|
1552
|
+
// There is a bug in the WinCE device emulator which stops "BLX LR" from
|
1553
|
+
// working as expected. Assert that we never do that!
|
1554
|
+
if (blx_lr_bug) { NanoAssert(addr != LR); }
|
992
1555
|
|
993
|
-
|
1556
|
+
if (chk) {
|
1557
|
+
underrunProtect(4);
|
1558
|
+
}
|
994
1559
|
|
995
|
-
|
1560
|
+
// BLX IP
|
1561
|
+
*(--_nIns) = (NIns)( (COND_AL) | (0x12<<20) | (0xFFF<<8) | (0x3<<4) | (addr) );
|
1562
|
+
asm_output("blx ip");
|
996
1563
|
}
|
997
1564
|
|
1565
|
+
// Emit the code required to load a memory address into a register as follows:
|
1566
|
+
// d = *(b+off)
|
1567
|
+
// underrunProtect calls from this function can be disabled by setting chk to
|
1568
|
+
// false. However, this function can use more than LD32_size bytes of space if
|
1569
|
+
// the offset is out of the range of a LDR instruction; the maximum space this
|
1570
|
+
// function requires for underrunProtect is 4+LD32_size.
|
998
1571
|
void
|
999
1572
|
Assembler::asm_ldr_chk(Register d, Register b, int32_t off, bool chk)
|
1000
1573
|
{
|
1001
|
-
if (IsFpReg(d)) {
|
1574
|
+
if (ARM_VFP && IsFpReg(d)) {
|
1002
1575
|
FLDD_chk(d,b,off,chk);
|
1003
1576
|
return;
|
1004
1577
|
}
|
1005
1578
|
|
1006
|
-
|
1579
|
+
NanoAssert(IsGpReg(d));
|
1580
|
+
NanoAssert(IsGpReg(b));
|
1581
|
+
|
1582
|
+
// We can't use underrunProtect if the base register is the PC because
|
1583
|
+
// underrunProtect might move the PC if there isn't enough space on the
|
1584
|
+
// current page.
|
1585
|
+
NanoAssert((b != PC) || (!chk));
|
1586
|
+
|
1587
|
+
if (isU12(off)) {
|
1588
|
+
// LDR d, b, #+off
|
1007
1589
|
if (chk) underrunProtect(4);
|
1008
|
-
*(--_nIns) = (NIns)( COND_AL | (
|
1590
|
+
*(--_nIns) = (NIns)( COND_AL | (0x59<<20) | (b<<16) | (d<<12) | off );
|
1591
|
+
} else if (isU12(-off)) {
|
1592
|
+
// LDR d, b, #-off
|
1593
|
+
if (chk) underrunProtect(4);
|
1594
|
+
*(--_nIns) = (NIns)( COND_AL | (0x51<<20) | (b<<16) | (d<<12) | -off );
|
1009
1595
|
} else {
|
1010
|
-
|
1596
|
+
// The offset is over 4096 (and outside the range of LDR), so we need
|
1597
|
+
// to add a level of indirection to get the address into IP.
|
1598
|
+
|
1599
|
+
// Because of that, we can't do a PC-relative load unless it fits within
|
1600
|
+
// the single-instruction forms above.
|
1601
|
+
|
1602
|
+
NanoAssert(b != PC);
|
1011
1603
|
NanoAssert(b != IP);
|
1604
|
+
|
1605
|
+
if (chk) underrunProtect(4+LD32_size);
|
1606
|
+
|
1012
1607
|
*(--_nIns) = (NIns)( COND_AL | (0x79<<20) | (b<<16) | (d<<12) | IP );
|
1013
|
-
|
1608
|
+
asm_ld_imm(IP, off, false);
|
1014
1609
|
}
|
1015
1610
|
|
1016
1611
|
asm_output("ldr %s, [%s, #%d]",gpn(d),gpn(b),(off));
|
1017
1612
|
}
|
1018
1613
|
|
1614
|
+
// Emit the code required to load an immediate value (imm) into general-purpose
|
1615
|
+
// register d. Optimal (MOV-based) mechanisms are used if the immediate can be
|
1616
|
+
// encoded using ARM's operand 2 encoding. Otherwise, a slot is used on the
|
1617
|
+
// literal pool and LDR is used to load the value.
|
1618
|
+
//
|
1619
|
+
// chk can be explicitly set to false in order to disable underrunProtect calls
|
1620
|
+
// from this function; this allows the caller to perform the check manually.
|
1621
|
+
// This function guarantees not to use more than LD32_size bytes of space.
|
1019
1622
|
void
|
1020
|
-
Assembler::asm_ld_imm(Register d, int32_t imm)
|
1623
|
+
Assembler::asm_ld_imm(Register d, int32_t imm, bool chk /* = true */)
|
1021
1624
|
{
|
1022
|
-
|
1023
|
-
|
1024
|
-
|
1025
|
-
|
1026
|
-
|
1027
|
-
|
1028
|
-
|
1029
|
-
|
1030
|
-
|
1031
|
-
|
1625
|
+
uint32_t op2imm;
|
1626
|
+
|
1627
|
+
NanoAssert(IsGpReg(d));
|
1628
|
+
|
1629
|
+
// Attempt to encode the immediate using the second operand of MOV or MVN.
|
1630
|
+
// This is the simplest solution and generates the shortest and fastest
|
1631
|
+
// code, but can only encode a limited set of values.
|
1632
|
+
|
1633
|
+
if (encOp2Imm(imm, &op2imm)) {
|
1634
|
+
// Use MOV to encode the literal.
|
1635
|
+
MOVis(d, op2imm, 0);
|
1636
|
+
return;
|
1637
|
+
}
|
1638
|
+
|
1639
|
+
if (encOp2Imm(~imm, &op2imm)) {
|
1640
|
+
// Use MVN to encode the inverted literal.
|
1641
|
+
MVNis(d, op2imm, 0);
|
1642
|
+
return;
|
1643
|
+
}
|
1644
|
+
|
1645
|
+
// Try to use simple MOV, MVN or MOV(W|T) instructions to load the
|
1646
|
+
// immediate. If this isn't possible, load it from memory.
|
1647
|
+
// - We cannot use MOV(W|T) on cores older than the introduction of
|
1648
|
+
// Thumb-2 or if the target register is the PC.
|
1649
|
+
if (ARM_THUMB2 && (d != PC)) {
|
1650
|
+
// ARMv6T2 and above have MOVW and MOVT.
|
1651
|
+
uint32_t high_h = (uint32_t)imm >> 16;
|
1652
|
+
uint32_t low_h = imm & 0xffff;
|
1653
|
+
|
1654
|
+
if (high_h != 0) {
|
1655
|
+
// Load the high half-word (if necessary).
|
1656
|
+
MOVTi_chk(d, high_h, chk);
|
1657
|
+
}
|
1658
|
+
// Load the low half-word. This also zeroes the high half-word, and
|
1659
|
+
// thus must execute _before_ MOVT, and is necessary even if low_h is 0
|
1660
|
+
// because MOVT will not change the existing low half-word.
|
1661
|
+
MOVWi_chk(d, low_h, chk);
|
1662
|
+
|
1663
|
+
return;
|
1664
|
+
}
|
1665
|
+
|
1666
|
+
// We couldn't encode the literal in the instruction stream, so load it
|
1667
|
+
// from memory.
|
1668
|
+
|
1669
|
+
// Because the literal pool is on the same page as the generated code, it
|
1670
|
+
// will almost always be within the ±4096 range of a LDR. However, this may
|
1671
|
+
// not be the case if _nSlot is at the start of the page and _nIns is at
|
1672
|
+
// the end because the PC is 8 bytes ahead of _nIns. This is unlikely to
|
1673
|
+
// happen, but if it does occur we can simply waste a word or two of
|
1674
|
+
// literal space.
|
1675
|
+
|
1676
|
+
// We must do the underrunProtect before PC_OFFSET_FROM as underrunProtect
|
1677
|
+
// can move the PC if there isn't enough space on the current page!
|
1678
|
+
if (chk) {
|
1032
1679
|
underrunProtect(LD32_size);
|
1033
|
-
LD32_nochk(d, imm);
|
1034
1680
|
}
|
1681
|
+
|
1682
|
+
int offset = PC_OFFSET_FROM(_nSlot, _nIns-1);
|
1683
|
+
// If the offset is out of range, waste literal space until it is in range.
|
1684
|
+
while (offset <= -4096) {
|
1685
|
+
++_nSlot;
|
1686
|
+
offset += sizeof(_nSlot);
|
1687
|
+
}
|
1688
|
+
NanoAssert(isS12(offset) && (offset < 0));
|
1689
|
+
|
1690
|
+
// Write the literal.
|
1691
|
+
*(_nSlot++) = imm;
|
1692
|
+
asm_output("## imm= 0x%x", imm);
|
1693
|
+
|
1694
|
+
// Load the literal.
|
1695
|
+
LDR_nochk(d,PC,offset);
|
1696
|
+
NanoAssert(uintptr_t(_nIns) + 8 + offset == uintptr_t(_nSlot-1));
|
1697
|
+
NanoAssert(*((int32_t*)_nSlot-1) == imm);
|
1035
1698
|
}
|
1036
1699
|
|
1037
1700
|
// Branch to target address _t with condition _c, doing underrun
|
1038
1701
|
// checks (_chk == 1) or skipping them (_chk == 0).
|
1039
1702
|
//
|
1040
|
-
//
|
1703
|
+
// Set the target address (_t) to 0 if the target is not yet known and the
|
1704
|
+
// branch will be patched up later.
|
1705
|
+
//
|
1706
|
+
// If the jump is to a known address (with _t != 0) and it fits in a relative
|
1707
|
+
// jump (±32MB), emit that.
|
1041
1708
|
// If the jump is unconditional, emit the dest address inline in
|
1042
1709
|
// the instruction stream and load it into pc.
|
1043
1710
|
// If the jump has a condition, but noone's mucked with _nIns and our _nSlot
|
@@ -1046,119 +1713,78 @@ Assembler::asm_ld_imm(Register d, int32_t imm)
|
|
1046
1713
|
// Otherwise, emit the conditional load into pc from a nearby constant,
|
1047
1714
|
// and emit a jump to jump over it it in case the condition fails.
|
1048
1715
|
//
|
1049
|
-
// NB:
|
1716
|
+
// NB: B_nochk depends on this not calling samepage() when _c == AL
|
1050
1717
|
void
|
1051
1718
|
Assembler::B_cond_chk(ConditionCode _c, NIns* _t, bool _chk)
|
1052
1719
|
{
|
1053
1720
|
int32_t offs = PC_OFFSET_FROM(_t,_nIns-1);
|
1054
|
-
//
|
1721
|
+
//nj_dprintf("B_cond_chk target: 0x%08x offset: %d @0x%08x\n", _t, offs, _nIns-1);
|
1722
|
+
|
1723
|
+
// We don't patch conditional branches, and nPatchBranch can't cope with
|
1724
|
+
// them. We should therefore check that they are not generated at this
|
1725
|
+
// stage.
|
1726
|
+
NanoAssert((_t != 0) || (_c == AL));
|
1055
1727
|
|
1056
1728
|
// optimistically check if this will fit in 24 bits
|
1057
|
-
if (isS24(offs>>2)) {
|
1058
|
-
|
1729
|
+
if (_chk && isS24(offs>>2) && (_t != 0)) {
|
1730
|
+
underrunProtect(4);
|
1059
1731
|
// recalculate the offset, because underrunProtect may have
|
1060
1732
|
// moved _nIns to a new page
|
1061
1733
|
offs = PC_OFFSET_FROM(_t,_nIns-1);
|
1062
1734
|
}
|
1063
1735
|
|
1064
|
-
|
1065
|
-
|
1736
|
+
// Emit one of the following patterns:
|
1737
|
+
//
|
1738
|
+
// --- Short branch. This can never be emitted if the branch target is not
|
1739
|
+
// known.
|
1740
|
+
// B(cc) ±32MB
|
1741
|
+
//
|
1742
|
+
// --- Long unconditional branch.
|
1743
|
+
// LDR PC, #lit
|
1744
|
+
// lit: #target
|
1745
|
+
//
|
1746
|
+
// --- Long conditional branch. Note that conditional branches will never
|
1747
|
+
// be patched, so the nPatchBranch function doesn't need to know where
|
1748
|
+
// the literal pool is located.
|
1749
|
+
// LDRcc PC, #lit
|
1750
|
+
// ; #lit is in the literal pool at _nSlot
|
1751
|
+
//
|
1752
|
+
// --- Long conditional branch (if the slot isn't on the same page as the instruction).
|
1753
|
+
// LDRcc PC, #lit
|
1754
|
+
// B skip ; Jump over the literal data.
|
1755
|
+
// lit: #target
|
1756
|
+
// skip: [...]
|
1757
|
+
|
1758
|
+
if (isS24(offs>>2) && (_t != 0)) {
|
1759
|
+
// The underrunProtect for this was done above (if required by _chk).
|
1066
1760
|
*(--_nIns) = (NIns)( ((_c)<<28) | (0xA<<24) | (((offs)>>2) & 0xFFFFFF) );
|
1067
1761
|
} else if (_c == AL) {
|
1068
1762
|
if(_chk) underrunProtect(8);
|
1069
1763
|
*(--_nIns) = (NIns)(_t);
|
1070
1764
|
*(--_nIns) = (NIns)( COND_AL | (0x51<<20) | (PC<<16) | (PC<<12) | 0x4 );
|
1071
|
-
} else if (
|
1765
|
+
} else if (PC_OFFSET_FROM(_nSlot, _nIns-1) > -0x1000 /*~(NJ_PAGE_SIZE-1)*/) {
|
1072
1766
|
if(_chk) underrunProtect(8);
|
1073
|
-
*(++
|
1074
|
-
offs = PC_OFFSET_FROM(_nSlot,_nIns-1);
|
1767
|
+
*(_nSlot++) = (NIns)(_t);
|
1768
|
+
offs = PC_OFFSET_FROM(_nSlot-1,_nIns-1);
|
1075
1769
|
NanoAssert(offs < 0);
|
1076
|
-
*(--_nIns) = (NIns)( ((_c)<<28) | (0x51<<20) | (PC<<16) | (PC<<12) | ((-offs) &
|
1770
|
+
*(--_nIns) = (NIns)( ((_c)<<28) | (0x51<<20) | (PC<<16) | (PC<<12) | ((-offs) & 0xFFF) );
|
1771
|
+
asm_output("ldr%s %s, [%s, #-%d]", condNames[_c], gpn(PC), gpn(PC), -offs);
|
1772
|
+
NanoAssert(uintptr_t(_nIns)+8+offs == uintptr_t(_nSlot-1));
|
1077
1773
|
} else {
|
1078
1774
|
if(_chk) underrunProtect(12);
|
1775
|
+
// Emit a pointer to the target as a literal in the instruction stream.
|
1079
1776
|
*(--_nIns) = (NIns)(_t);
|
1080
|
-
|
1777
|
+
// Emit a branch to skip over the literal. The PC value is 8 bytes
|
1778
|
+
// ahead of the executing instruction, so to branch two instructions
|
1779
|
+
// forward this must branch 8-8=0 bytes.
|
1780
|
+
*(--_nIns) = (NIns)( COND_AL | (0xA<<24) | 0x0 );
|
1781
|
+
// Emit the conditional branch.
|
1081
1782
|
*(--_nIns) = (NIns)( ((_c)<<28) | (0x51<<20) | (PC<<16) | (PC<<12) | 0x0 );
|
1082
1783
|
}
|
1083
1784
|
|
1084
1785
|
asm_output("b%s %p", condNames[_c], (void*)(_t));
|
1085
1786
|
}
|
1086
1787
|
|
1087
|
-
void
|
1088
|
-
Assembler::asm_add_imm(Register rd, Register rn, int32_t imm, int stat)
|
1089
|
-
{
|
1090
|
-
int rot = 16;
|
1091
|
-
uint32_t immval;
|
1092
|
-
bool pos;
|
1093
|
-
|
1094
|
-
if (imm >= 0) {
|
1095
|
-
immval = (uint32_t) imm;
|
1096
|
-
pos = true;
|
1097
|
-
} else {
|
1098
|
-
immval = (uint32_t) (-imm);
|
1099
|
-
pos = false;
|
1100
|
-
}
|
1101
|
-
|
1102
|
-
while (immval > 255 &&
|
1103
|
-
immval && ((immval & 0x3) == 0))
|
1104
|
-
{
|
1105
|
-
immval >>= 2;
|
1106
|
-
rot--;
|
1107
|
-
}
|
1108
|
-
|
1109
|
-
rot &= 0xf;
|
1110
|
-
|
1111
|
-
if (immval < 256) {
|
1112
|
-
if (pos) {
|
1113
|
-
ALUi_rot(AL, add, stat, rd, rn, immval, rot);
|
1114
|
-
} else {
|
1115
|
-
ALUi_rot(AL, sub, stat, rd, rn, immval, rot);
|
1116
|
-
}
|
1117
|
-
} else {
|
1118
|
-
// add scratch to rn, after loading the value into scratch.
|
1119
|
-
// make sure someone isn't trying to use IP as an operand
|
1120
|
-
NanoAssert(rn != IP);
|
1121
|
-
ALUr(AL, add, stat, rd, rn, IP);
|
1122
|
-
asm_ld_imm(IP, imm);
|
1123
|
-
}
|
1124
|
-
}
|
1125
|
-
|
1126
|
-
void
|
1127
|
-
Assembler::asm_sub_imm(Register rd, Register rn, int32_t imm, int stat)
|
1128
|
-
{
|
1129
|
-
if (imm > -256 && imm < 256) {
|
1130
|
-
if (imm >= 0)
|
1131
|
-
ALUi(AL, sub, stat, rd, rn, imm);
|
1132
|
-
else
|
1133
|
-
ALUi(AL, add, stat, rd, rn, -imm);
|
1134
|
-
} else if (imm >= 0) {
|
1135
|
-
if (imm <= 510) {
|
1136
|
-
/* between 0 and 510, inclusive */
|
1137
|
-
int rem = imm - 255;
|
1138
|
-
NanoAssert(rem < 256);
|
1139
|
-
ALUi(AL, sub, stat, rd, rn, rem & 0xff);
|
1140
|
-
ALUi(AL, sub, stat, rd, rn, 0xff);
|
1141
|
-
} else {
|
1142
|
-
/* more than 510 */
|
1143
|
-
NanoAssert(rn != IP);
|
1144
|
-
ALUr(AL, sub, stat, rd, rn, IP);
|
1145
|
-
asm_ld_imm(IP, imm);
|
1146
|
-
}
|
1147
|
-
} else {
|
1148
|
-
if (imm >= -510) {
|
1149
|
-
/* between -510 and -1, inclusive */
|
1150
|
-
int rem = -imm - 255;
|
1151
|
-
ALUi(AL, add, stat, rd, rn, rem & 0xff);
|
1152
|
-
ALUi(AL, add, stat, rd, rn, 0xff);
|
1153
|
-
} else {
|
1154
|
-
/* less than -510 */
|
1155
|
-
NanoAssert(rn != IP);
|
1156
|
-
ALUr(AL, add, stat, rd, rn, IP);
|
1157
|
-
asm_ld_imm(IP, -imm);
|
1158
|
-
}
|
1159
|
-
}
|
1160
|
-
}
|
1161
|
-
|
1162
1788
|
/*
|
1163
1789
|
* VFP
|
1164
1790
|
*/
|
@@ -1220,18 +1846,18 @@ Assembler::asm_fop(LInsp ins)
|
|
1220
1846
|
Register rr = prepResultReg(ins, FpRegs);
|
1221
1847
|
|
1222
1848
|
Register ra = findRegFor(lhs, FpRegs);
|
1223
|
-
Register rb = (rhs == lhs) ? ra : findRegFor(rhs, FpRegs);
|
1849
|
+
Register rb = (rhs == lhs) ? ra : findRegFor(rhs, FpRegs & ~rmask(ra));
|
1224
1850
|
|
1225
1851
|
// XXX special-case 1.0 and 0.0
|
1226
1852
|
|
1227
|
-
|
1228
|
-
|
1229
|
-
|
1230
|
-
FSUBD(rr,ra,rb);
|
1231
|
-
|
1232
|
-
|
1233
|
-
|
1234
|
-
|
1853
|
+
switch (op)
|
1854
|
+
{
|
1855
|
+
case LIR_fadd: FADDD(rr,ra,rb); break;
|
1856
|
+
case LIR_fsub: FSUBD(rr,ra,rb); break;
|
1857
|
+
case LIR_fmul: FMULD(rr,ra,rb); break;
|
1858
|
+
case LIR_fdiv: FDIVD(rr,ra,rb); break;
|
1859
|
+
default: NanoAssert(0); break;
|
1860
|
+
}
|
1235
1861
|
}
|
1236
1862
|
|
1237
1863
|
void
|
@@ -1243,114 +1869,113 @@ Assembler::asm_fcmp(LInsp ins)
|
|
1243
1869
|
|
1244
1870
|
NanoAssert(op >= LIR_feq && op <= LIR_fge);
|
1245
1871
|
|
1246
|
-
|
1247
|
-
|
1872
|
+
Reservation *rA, *rB;
|
1873
|
+
findRegFor2(FpRegs, lhs, rA, rhs, rB);
|
1874
|
+
Register ra = rA->reg;
|
1875
|
+
Register rb = rB->reg;
|
1248
1876
|
|
1877
|
+
int e_bit = (op != LIR_feq);
|
1878
|
+
|
1879
|
+
// do the comparison and get results loaded in ARM status register
|
1249
1880
|
FMSTAT();
|
1250
|
-
FCMPD(ra, rb);
|
1881
|
+
FCMPD(ra, rb, e_bit);
|
1251
1882
|
}
|
1252
1883
|
|
1253
1884
|
Register
|
1254
1885
|
Assembler::asm_prep_fcall(Reservation*, LInsp)
|
1255
1886
|
{
|
1256
|
-
|
1887
|
+
/* Because ARM actually returns the result in (R0,R1), and not in a
|
1888
|
+
* floating point register, the code to move the result into a correct
|
1889
|
+
* register is at the beginning of asm_call(). This function does
|
1890
|
+
* nothing.
|
1891
|
+
*
|
1892
|
+
* The reason being that if this function did something, the final code
|
1893
|
+
* sequence we'd get would be something like:
|
1894
|
+
* MOV {R0-R3},params [from asm_call()]
|
1895
|
+
* BL function [from asm_call()]
|
1896
|
+
* MOV {R0-R3},spilled data [from evictScratchRegs()]
|
1897
|
+
* MOV Dx,{R0,R1} [from this function]
|
1898
|
+
* which is clearly broken.
|
1899
|
+
*
|
1900
|
+
* This is not a problem for non-floating point calls, because the
|
1901
|
+
* restoring of spilled data into R0 is done via a call to
|
1902
|
+
* prepResultReg(R0) at the same point in the sequence as this function is
|
1903
|
+
* called, meaning that evictScratchRegs() will not modify R0. However,
|
1904
|
+
* prepResultReg is not aware of the concept of using a register pair
|
1905
|
+
* (R0,R1) for the result of a single operation, so it can only be used
|
1906
|
+
* here with the ultimate VFP register, and not R0/R1, which potentially
|
1907
|
+
* allows for R0/R1 to get corrupted as described.
|
1908
|
+
*/
|
1257
1909
|
return UnknownReg;
|
1258
1910
|
}
|
1259
1911
|
|
1912
|
+
/* Call this with targ set to 0 if the target is not yet known and the branch
|
1913
|
+
* will be patched up later.
|
1914
|
+
*/
|
1260
1915
|
NIns*
|
1261
|
-
Assembler::asm_branch(bool branchOnFalse, LInsp cond, NIns* targ
|
1916
|
+
Assembler::asm_branch(bool branchOnFalse, LInsp cond, NIns* targ)
|
1262
1917
|
{
|
1263
|
-
// ignore isfar -- we figure this out on our own.
|
1264
|
-
// XXX noone actually uses the far param in nj anyway... (always false)
|
1265
|
-
(void)isfar;
|
1266
|
-
|
1267
|
-
NIns* at = 0;
|
1268
1918
|
LOpcode condop = cond->opcode();
|
1269
1919
|
NanoAssert(cond->isCond());
|
1920
|
+
NanoAssert(ARM_VFP || ((condop < LIR_feq) || (condop > LIR_fge)));
|
1921
|
+
|
1922
|
+
// The old "never" condition code has special meaning on newer ARM cores,
|
1923
|
+
// so use "always" as a sensible default code.
|
1924
|
+
ConditionCode cc = AL;
|
1270
1925
|
|
1271
|
-
|
1926
|
+
// Detect whether or not this is a floating-point comparison.
|
1927
|
+
bool fp_cond;
|
1928
|
+
|
1929
|
+
// Select the appropriate ARM condition code to match the LIR instruction.
|
1930
|
+
switch (condop)
|
1272
1931
|
{
|
1273
|
-
|
1274
|
-
|
1275
|
-
|
1276
|
-
|
1277
|
-
|
1278
|
-
|
1279
|
-
|
1280
|
-
|
1281
|
-
|
1282
|
-
|
1283
|
-
|
1284
|
-
|
1285
|
-
|
1286
|
-
|
1287
|
-
|
1288
|
-
|
1289
|
-
|
1290
|
-
|
1291
|
-
|
1292
|
-
|
1293
|
-
|
1932
|
+
// Floating-point conditions. Note that the VFP LT/LE conditions
|
1933
|
+
// require use of the unsigned condition codes, even though
|
1934
|
+
// float-point comparisons are always signed.
|
1935
|
+
case LIR_feq: cc = EQ; fp_cond = true; break;
|
1936
|
+
case LIR_flt: cc = LO; fp_cond = true; break;
|
1937
|
+
case LIR_fle: cc = LS; fp_cond = true; break;
|
1938
|
+
case LIR_fge: cc = GE; fp_cond = true; break;
|
1939
|
+
case LIR_fgt: cc = GT; fp_cond = true; break;
|
1940
|
+
|
1941
|
+
// Standard signed and unsigned integer comparisons.
|
1942
|
+
case LIR_eq: cc = EQ; fp_cond = false; break;
|
1943
|
+
case LIR_ov: cc = VS; fp_cond = false; break;
|
1944
|
+
case LIR_lt: cc = LT; fp_cond = false; break;
|
1945
|
+
case LIR_le: cc = LE; fp_cond = false; break;
|
1946
|
+
case LIR_gt: cc = GT; fp_cond = false; break;
|
1947
|
+
case LIR_ge: cc = GE; fp_cond = false; break;
|
1948
|
+
case LIR_ult: cc = LO; fp_cond = false; break;
|
1949
|
+
case LIR_ule: cc = LS; fp_cond = false; break;
|
1950
|
+
case LIR_ugt: cc = HI; fp_cond = false; break;
|
1951
|
+
case LIR_uge: cc = HS; fp_cond = false; break;
|
1952
|
+
|
1953
|
+
// Default case for invalid or unexpected LIR instructions.
|
1954
|
+
default: cc = AL; fp_cond = false; break;
|
1955
|
+
}
|
1956
|
+
|
1957
|
+
// Invert the condition if required.
|
1958
|
+
if (branchOnFalse)
|
1959
|
+
cc = OppositeCond(cc);
|
1960
|
+
|
1961
|
+
// Ensure that we got a sensible condition code.
|
1962
|
+
NanoAssert((cc != AL) && (cc != NV));
|
1963
|
+
|
1964
|
+
// Ensure that we don't hit floating-point LIR codes if VFP is disabled.
|
1965
|
+
NanoAssert(ARM_VFP || !fp_cond);
|
1294
1966
|
|
1295
|
-
|
1296
|
-
|
1967
|
+
// Emit a suitable branch instruction.
|
1968
|
+
B_cond(cc, targ);
|
1297
1969
|
|
1298
|
-
|
1970
|
+
// Store the address of the branch instruction so that we can return it.
|
1971
|
+
// asm_[f]cmp will move _nIns so we must do this now.
|
1972
|
+
NIns *at = _nIns;
|
1973
|
+
|
1974
|
+
if (ARM_VFP && fp_cond)
|
1299
1975
|
asm_fcmp(cond);
|
1300
|
-
|
1301
|
-
|
1976
|
+
else
|
1977
|
+
asm_cmp(cond);
|
1302
1978
|
|
1303
|
-
// produce the branch
|
1304
|
-
if (branchOnFalse) {
|
1305
|
-
if (condop == LIR_eq)
|
1306
|
-
JNE(targ);
|
1307
|
-
else if (condop == LIR_ov)
|
1308
|
-
JNO(targ);
|
1309
|
-
else if (condop == LIR_cs)
|
1310
|
-
JNC(targ);
|
1311
|
-
else if (condop == LIR_lt)
|
1312
|
-
JNL(targ);
|
1313
|
-
else if (condop == LIR_le)
|
1314
|
-
JNLE(targ);
|
1315
|
-
else if (condop == LIR_gt)
|
1316
|
-
JNG(targ);
|
1317
|
-
else if (condop == LIR_ge)
|
1318
|
-
JNGE(targ);
|
1319
|
-
else if (condop == LIR_ult)
|
1320
|
-
JNB(targ);
|
1321
|
-
else if (condop == LIR_ule)
|
1322
|
-
JNBE(targ);
|
1323
|
-
else if (condop == LIR_ugt)
|
1324
|
-
JNA(targ);
|
1325
|
-
else //if (condop == LIR_uge)
|
1326
|
-
JNAE(targ);
|
1327
|
-
} else // op == LIR_xt
|
1328
|
-
{
|
1329
|
-
if (condop == LIR_eq)
|
1330
|
-
JE(targ);
|
1331
|
-
else if (condop == LIR_ov)
|
1332
|
-
JO(targ);
|
1333
|
-
else if (condop == LIR_cs)
|
1334
|
-
JC(targ);
|
1335
|
-
else if (condop == LIR_lt)
|
1336
|
-
JL(targ);
|
1337
|
-
else if (condop == LIR_le)
|
1338
|
-
JLE(targ);
|
1339
|
-
else if (condop == LIR_gt)
|
1340
|
-
JG(targ);
|
1341
|
-
else if (condop == LIR_ge)
|
1342
|
-
JGE(targ);
|
1343
|
-
else if (condop == LIR_ult)
|
1344
|
-
JB(targ);
|
1345
|
-
else if (condop == LIR_ule)
|
1346
|
-
JBE(targ);
|
1347
|
-
else if (condop == LIR_ugt)
|
1348
|
-
JA(targ);
|
1349
|
-
else //if (condop == LIR_uge)
|
1350
|
-
JAE(targ);
|
1351
|
-
}
|
1352
|
-
at = _nIns;
|
1353
|
-
asm_cmp(cond);
|
1354
1979
|
return at;
|
1355
1980
|
}
|
1356
1981
|
|
@@ -1359,8 +1984,8 @@ Assembler::asm_cmp(LIns *cond)
|
|
1359
1984
|
{
|
1360
1985
|
LOpcode condop = cond->opcode();
|
1361
1986
|
|
1362
|
-
// LIR_ov
|
1363
|
-
if ((condop == LIR_ov)
|
1987
|
+
// LIR_ov recycles the flags set by arithmetic ops
|
1988
|
+
if ((condop == LIR_ov))
|
1364
1989
|
return;
|
1365
1990
|
|
1366
1991
|
LInsp lhs = cond->oprnd1();
|
@@ -1372,10 +1997,10 @@ Assembler::asm_cmp(LIns *cond)
|
|
1372
1997
|
|
1373
1998
|
// ready to issue the compare
|
1374
1999
|
if (rhs->isconst()) {
|
1375
|
-
int c = rhs->
|
2000
|
+
int c = rhs->imm32();
|
1376
2001
|
if (c == 0 && cond->isop(LIR_eq)) {
|
1377
2002
|
Register r = findRegFor(lhs, GpRegs);
|
1378
|
-
|
2003
|
+
TST(r,r);
|
1379
2004
|
// No 64-bit immediates so fall-back to below
|
1380
2005
|
} else if (!rhs->isQuad()) {
|
1381
2006
|
Register r = getBaseReg(lhs, c, GpRegs);
|
@@ -1398,6 +2023,7 @@ Assembler::asm_cmpi(Register r, int32_t imm)
|
|
1398
2023
|
if (imm > -256) {
|
1399
2024
|
ALUi(AL, cmn, 1, 0, r, -imm);
|
1400
2025
|
} else {
|
2026
|
+
underrunProtect(4 + LD32_size);
|
1401
2027
|
CMP(r, IP);
|
1402
2028
|
asm_ld_imm(IP, imm);
|
1403
2029
|
}
|
@@ -1405,26 +2031,13 @@ Assembler::asm_cmpi(Register r, int32_t imm)
|
|
1405
2031
|
if (imm < 256) {
|
1406
2032
|
ALUi(AL, cmp, 1, 0, r, imm);
|
1407
2033
|
} else {
|
2034
|
+
underrunProtect(4 + LD32_size);
|
1408
2035
|
CMP(r, IP);
|
1409
2036
|
asm_ld_imm(IP, imm);
|
1410
2037
|
}
|
1411
2038
|
}
|
1412
2039
|
}
|
1413
2040
|
|
1414
|
-
void
|
1415
|
-
Assembler::asm_loop(LInsp ins, NInsList& loopJumps)
|
1416
|
-
{
|
1417
|
-
// XXX asm_loop should be in Assembler.cpp!
|
1418
|
-
|
1419
|
-
JMP_far(0);
|
1420
|
-
loopJumps.add(_nIns);
|
1421
|
-
|
1422
|
-
// If the target we are looping to is in a different fragment, we have to restore
|
1423
|
-
// SP since we will target fragEntry and not loopEntry.
|
1424
|
-
if (ins->record()->exit->target != _thisfrag)
|
1425
|
-
MOV(SP,FP);
|
1426
|
-
}
|
1427
|
-
|
1428
2041
|
void
|
1429
2042
|
Assembler::asm_fcond(LInsp ins)
|
1430
2043
|
{
|
@@ -1432,11 +2045,11 @@ Assembler::asm_fcond(LInsp ins)
|
|
1432
2045
|
Register r = prepResultReg(ins, AllowableFlagRegs);
|
1433
2046
|
|
1434
2047
|
switch (ins->opcode()) {
|
1435
|
-
case LIR_feq:
|
1436
|
-
case LIR_flt:
|
1437
|
-
case
|
1438
|
-
case
|
1439
|
-
case
|
2048
|
+
case LIR_feq: SETEQ(r); break;
|
2049
|
+
case LIR_flt: SETLO(r); break; // } note: VFP LT/LE operations require use of
|
2050
|
+
case LIR_fle: SETLS(r); break; // } unsigned LO/LS condition codes!
|
2051
|
+
case LIR_fge: SETGE(r); break;
|
2052
|
+
case LIR_fgt: SETGT(r); break;
|
1440
2053
|
default: NanoAssert(0); break;
|
1441
2054
|
}
|
1442
2055
|
|
@@ -1446,33 +2059,21 @@ Assembler::asm_fcond(LInsp ins)
|
|
1446
2059
|
void
|
1447
2060
|
Assembler::asm_cond(LInsp ins)
|
1448
2061
|
{
|
1449
|
-
// only want certain regs
|
1450
|
-
LOpcode op = ins->opcode();
|
1451
2062
|
Register r = prepResultReg(ins, AllowableFlagRegs);
|
1452
|
-
|
1453
|
-
|
1454
|
-
|
1455
|
-
|
1456
|
-
|
1457
|
-
|
1458
|
-
|
1459
|
-
|
1460
|
-
|
1461
|
-
|
1462
|
-
|
1463
|
-
|
1464
|
-
|
1465
|
-
|
1466
|
-
else if (op == LIR_ge)
|
1467
|
-
SETGE(r);
|
1468
|
-
else if (op == LIR_ult)
|
1469
|
-
SETB(r);
|
1470
|
-
else if (op == LIR_ule)
|
1471
|
-
SETBE(r);
|
1472
|
-
else if (op == LIR_ugt)
|
1473
|
-
SETA(r);
|
1474
|
-
else // if (op == LIR_uge)
|
1475
|
-
SETAE(r);
|
2063
|
+
switch(ins->opcode())
|
2064
|
+
{
|
2065
|
+
case LIR_eq: SETEQ(r); break;
|
2066
|
+
case LIR_ov: SETVS(r); break;
|
2067
|
+
case LIR_lt: SETLT(r); break;
|
2068
|
+
case LIR_le: SETLE(r); break;
|
2069
|
+
case LIR_gt: SETGT(r); break;
|
2070
|
+
case LIR_ge: SETGE(r); break;
|
2071
|
+
case LIR_ult: SETLO(r); break;
|
2072
|
+
case LIR_ule: SETLS(r); break;
|
2073
|
+
case LIR_ugt: SETHI(r); break;
|
2074
|
+
case LIR_uge: SETHS(r); break;
|
2075
|
+
default: NanoAssert(0); break;
|
2076
|
+
}
|
1476
2077
|
asm_cmp(ins);
|
1477
2078
|
}
|
1478
2079
|
|
@@ -1480,86 +2081,149 @@ void
|
|
1480
2081
|
Assembler::asm_arith(LInsp ins)
|
1481
2082
|
{
|
1482
2083
|
LOpcode op = ins->opcode();
|
1483
|
-
LInsp
|
1484
|
-
LInsp
|
2084
|
+
LInsp lhs = ins->oprnd1();
|
2085
|
+
LInsp rhs = ins->oprnd2();
|
1485
2086
|
|
1486
|
-
|
1487
|
-
|
1488
|
-
|
2087
|
+
RegisterMask allow = GpRegs;
|
2088
|
+
|
2089
|
+
// We always need the result register and the first operand register.
|
2090
|
+
Register rr = prepResultReg(ins, allow);
|
2091
|
+
Reservation * rA = getresv(lhs);
|
2092
|
+
Register ra = UnknownReg;
|
2093
|
+
Register rb = UnknownReg;
|
2094
|
+
|
2095
|
+
// If this is the last use of lhs in reg, we can re-use the result reg.
|
2096
|
+
if (!rA || (ra = rA->reg) == UnknownReg)
|
2097
|
+
ra = findSpecificRegFor(lhs, rr);
|
2098
|
+
|
2099
|
+
// Don't re-use the registers we've already allocated.
|
2100
|
+
NanoAssert(rr != UnknownReg);
|
2101
|
+
NanoAssert(ra != UnknownReg);
|
2102
|
+
allow &= ~rmask(rr);
|
2103
|
+
allow &= ~rmask(ra);
|
2104
|
+
|
2105
|
+
// If the rhs is constant, we can use the instruction-specific code to
|
2106
|
+
// determine if the value can be encoded in an ARM instruction. If the
|
2107
|
+
// value cannot be encoded, it will be loaded into a register.
|
2108
|
+
//
|
2109
|
+
// Note that the MUL instruction can never take an immediate argument so
|
2110
|
+
// even if the argument is constant, we must allocate a register for it.
|
2111
|
+
//
|
2112
|
+
// Note: It is possible to use a combination of the barrel shifter and the
|
2113
|
+
// basic arithmetic instructions to generate constant multiplications.
|
2114
|
+
// However, LIR_mul is never invoked with a constant during
|
2115
|
+
// trace-tests.js so it is very unlikely to be worthwhile implementing it.
|
2116
|
+
if (rhs->isconst() && op != LIR_mul)
|
2117
|
+
{
|
2118
|
+
if ((op == LIR_add || op == LIR_iaddp) && lhs->isop(LIR_alloc)) {
|
2119
|
+
// Add alloc+const. The result should be the address of the
|
2120
|
+
// allocated space plus a constant.
|
2121
|
+
Register rs = prepResultReg(ins, allow);
|
2122
|
+
int d = findMemFor(lhs) + rhs->imm32();
|
2123
|
+
|
2124
|
+
NanoAssert(rs != UnknownReg);
|
2125
|
+
asm_add_imm(rs, FP, d);
|
2126
|
+
}
|
1489
2127
|
|
1490
|
-
|
1491
|
-
|
1492
|
-
|
1493
|
-
|
1494
|
-
|
1495
|
-
|
2128
|
+
int32_t imm32 = rhs->imm32();
|
2129
|
+
|
2130
|
+
switch (op)
|
2131
|
+
{
|
2132
|
+
case LIR_iaddp: asm_add_imm(rr, ra, imm32); break;
|
2133
|
+
case LIR_add: asm_add_imm(rr, ra, imm32, 1); break;
|
2134
|
+
case LIR_sub: asm_sub_imm(rr, ra, imm32, 1); break;
|
2135
|
+
case LIR_and: asm_and_imm(rr, ra, imm32); break;
|
2136
|
+
case LIR_or: asm_orr_imm(rr, ra, imm32); break;
|
2137
|
+
case LIR_xor: asm_eor_imm(rr, ra, imm32); break;
|
2138
|
+
case LIR_lsh: LSLi(rr, ra, imm32); break;
|
2139
|
+
case LIR_rsh: ASRi(rr, ra, imm32); break;
|
2140
|
+
case LIR_ush: LSRi(rr, ra, imm32); break;
|
2141
|
+
|
2142
|
+
default:
|
2143
|
+
NanoAssertMsg(0, "Unsupported");
|
2144
|
+
break;
|
2145
|
+
}
|
2146
|
+
|
2147
|
+
// We've already emitted an instruction, so return now.
|
2148
|
+
return;
|
1496
2149
|
}
|
1497
2150
|
|
1498
|
-
|
1499
|
-
|
2151
|
+
// The rhs is either a register or cannot be encoded as a constant.
|
2152
|
+
|
2153
|
+
if (lhs == rhs) {
|
2154
|
+
rb = ra;
|
2155
|
+
} else {
|
2156
|
+
rb = asm_binop_rhs_reg(ins);
|
2157
|
+
if (rb == UnknownReg)
|
1500
2158
|
rb = findRegFor(rhs, allow);
|
1501
|
-
}
|
1502
2159
|
allow &= ~rmask(rb);
|
1503
|
-
} else if ((op == LIR_add||op == LIR_addp) && lhs->isop(LIR_alloc) && rhs->isconst()) {
|
1504
|
-
// add alloc+const, rr wants the address of the allocated space plus a constant
|
1505
|
-
Register rr = prepResultReg(ins, allow);
|
1506
|
-
int d = findMemFor(lhs) + rhs->constval();
|
1507
|
-
asm_add_imm(rr, FP, d);
|
1508
2160
|
}
|
2161
|
+
NanoAssert(rb != UnknownReg);
|
1509
2162
|
|
1510
|
-
|
1511
|
-
|
1512
|
-
|
1513
|
-
|
1514
|
-
|
1515
|
-
|
1516
|
-
|
1517
|
-
|
2163
|
+
switch (op)
|
2164
|
+
{
|
2165
|
+
case LIR_iaddp: ADDs(rr, ra, rb, 0); break;
|
2166
|
+
case LIR_add: ADDs(rr, ra, rb, 1); break;
|
2167
|
+
case LIR_sub: SUBs(rr, ra, rb, 1); break;
|
2168
|
+
case LIR_and: ANDs(rr, ra, rb, 0); break;
|
2169
|
+
case LIR_or: ORRs(rr, ra, rb, 0); break;
|
2170
|
+
case LIR_xor: EORs(rr, ra, rb, 0); break;
|
2171
|
+
|
2172
|
+
case LIR_mul:
|
2173
|
+
// ARMv5 and earlier cores cannot do a MUL where the first operand
|
2174
|
+
// is also the result, so we need a special case to handle that.
|
2175
|
+
//
|
2176
|
+
// We try to use rb as the first operand by default because it is
|
2177
|
+
// common for (rr == ra) and is thus likely to be the most
|
2178
|
+
// efficient case; if ra is no longer used after this LIR
|
2179
|
+
// instruction, it is re-used for the result register (rr).
|
2180
|
+
if ((ARM_ARCH > 5) || (rr != rb)) {
|
2181
|
+
// Newer cores place no restrictions on the registers used in a
|
2182
|
+
// MUL instruction (compared to other arithmetic instructions).
|
2183
|
+
MUL(rr, rb, ra);
|
2184
|
+
} else {
|
2185
|
+
// ARM_ARCH is ARMv5 (or below) and rr == rb, so we must
|
2186
|
+
// find a different way to encode the instruction.
|
2187
|
+
|
2188
|
+
// If possible, swap the arguments to avoid the restriction.
|
2189
|
+
if (rr != ra) {
|
2190
|
+
// We know that rr == rb, so this will be something like
|
2191
|
+
// rX = rY * rX.
|
2192
|
+
MUL(rr, ra, rb);
|
2193
|
+
} else {
|
2194
|
+
// We're trying to do rX = rX * rX, so we must use a
|
2195
|
+
// temporary register to achieve this correctly on ARMv5.
|
1518
2196
|
|
1519
|
-
|
1520
|
-
|
1521
|
-
|
1522
|
-
|
1523
|
-
|
1524
|
-
|
1525
|
-
|
1526
|
-
|
1527
|
-
|
1528
|
-
|
1529
|
-
|
1530
|
-
|
1531
|
-
|
1532
|
-
|
1533
|
-
|
1534
|
-
|
1535
|
-
|
1536
|
-
|
1537
|
-
|
1538
|
-
|
1539
|
-
|
1540
|
-
|
1541
|
-
|
1542
|
-
|
1543
|
-
|
1544
|
-
|
1545
|
-
|
1546
|
-
|
1547
|
-
else if (op == LIR_sub)
|
1548
|
-
SUBi(rr, ra, c);
|
1549
|
-
else if (op == LIR_and)
|
1550
|
-
ANDi(rr, ra, c);
|
1551
|
-
else if (op == LIR_or)
|
1552
|
-
ORRi(rr, ra, c);
|
1553
|
-
else if (op == LIR_xor)
|
1554
|
-
EORi(rr, ra, c);
|
1555
|
-
else if (op == LIR_lsh)
|
1556
|
-
SHLi(rr, ra, c);
|
1557
|
-
else if (op == LIR_rsh)
|
1558
|
-
SARi(rr, ra, c);
|
1559
|
-
else if (op == LIR_ush)
|
1560
|
-
SHRi(rr, ra, c);
|
1561
|
-
else
|
2197
|
+
// The register allocator will never allocate IP so it will
|
2198
|
+
// be safe to use here.
|
2199
|
+
NanoAssert(ra != IP);
|
2200
|
+
NanoAssert(rr != IP);
|
2201
|
+
|
2202
|
+
// In this case, rr == ra == rb.
|
2203
|
+
MUL(rr, IP, rb);
|
2204
|
+
MOV(IP, ra);
|
2205
|
+
}
|
2206
|
+
}
|
2207
|
+
break;
|
2208
|
+
|
2209
|
+
// The shift operations need a mask to match the JavaScript
|
2210
|
+
// specification because the ARM architecture allows a greater shift
|
2211
|
+
// range than JavaScript.
|
2212
|
+
case LIR_lsh:
|
2213
|
+
LSL(rr, ra, IP);
|
2214
|
+
ANDi(IP, rb, 0x1f);
|
2215
|
+
break;
|
2216
|
+
case LIR_rsh:
|
2217
|
+
ASR(rr, ra, IP);
|
2218
|
+
ANDi(IP, rb, 0x1f);
|
2219
|
+
break;
|
2220
|
+
case LIR_ush:
|
2221
|
+
LSR(rr, ra, IP);
|
2222
|
+
ANDi(IP, rb, 0x1f);
|
2223
|
+
break;
|
2224
|
+
default:
|
1562
2225
|
NanoAssertMsg(0, "Unsupported");
|
2226
|
+
break;
|
1563
2227
|
}
|
1564
2228
|
}
|
1565
2229
|
|
@@ -1589,26 +2253,26 @@ Assembler::asm_ld(LInsp ins)
|
|
1589
2253
|
{
|
1590
2254
|
LOpcode op = ins->opcode();
|
1591
2255
|
LIns* base = ins->oprnd1();
|
1592
|
-
|
2256
|
+
int d = ins->disp();
|
2257
|
+
|
1593
2258
|
Register rr = prepResultReg(ins, GpRegs);
|
1594
|
-
int d = disp->constval();
|
1595
2259
|
Register ra = getBaseReg(base, d, GpRegs);
|
1596
2260
|
|
1597
2261
|
// these will always be 4-byte aligned
|
1598
2262
|
if (op == LIR_ld || op == LIR_ldc) {
|
1599
|
-
|
2263
|
+
LDR(rr, ra, d);
|
1600
2264
|
return;
|
1601
2265
|
}
|
1602
2266
|
|
1603
2267
|
// these will be 2 or 4-byte aligned
|
1604
2268
|
if (op == LIR_ldcs) {
|
1605
|
-
LDRH(rr,
|
2269
|
+
LDRH(rr, ra, d);
|
1606
2270
|
return;
|
1607
2271
|
}
|
1608
2272
|
|
1609
2273
|
// aaand this is just any byte.
|
1610
2274
|
if (op == LIR_ldcb) {
|
1611
|
-
LDRB(rr,
|
2275
|
+
LDRB(rr, ra, d);
|
1612
2276
|
return;
|
1613
2277
|
}
|
1614
2278
|
|
@@ -1620,14 +2284,10 @@ Assembler::asm_cmov(LInsp ins)
|
|
1620
2284
|
{
|
1621
2285
|
NanoAssert(ins->opcode() == LIR_cmov);
|
1622
2286
|
LIns* condval = ins->oprnd1();
|
1623
|
-
|
1624
|
-
|
1625
|
-
LIns* values = ins->oprnd2();
|
1626
|
-
|
1627
|
-
NanoAssert(values->opcode() == LIR_2);
|
1628
|
-
LIns* iftrue = values->oprnd1();
|
1629
|
-
LIns* iffalse = values->oprnd2();
|
2287
|
+
LIns* iftrue = ins->oprnd2();
|
2288
|
+
LIns* iffalse = ins->oprnd3();
|
1630
2289
|
|
2290
|
+
NanoAssert(condval->isCmp());
|
1631
2291
|
NanoAssert(!iftrue->isQuad() && !iffalse->isQuad());
|
1632
2292
|
|
1633
2293
|
const Register rr = prepResultReg(ins, GpRegs);
|
@@ -1639,15 +2299,14 @@ Assembler::asm_cmov(LInsp ins)
|
|
1639
2299
|
// note that these are all opposites...
|
1640
2300
|
case LIR_eq: MOVNE(rr, iffalsereg); break;
|
1641
2301
|
case LIR_ov: MOVVC(rr, iffalsereg); break;
|
1642
|
-
case LIR_cs: MOVNC(rr, iffalsereg); break;
|
1643
2302
|
case LIR_lt: MOVGE(rr, iffalsereg); break;
|
1644
2303
|
case LIR_le: MOVGT(rr, iffalsereg); break;
|
1645
2304
|
case LIR_gt: MOVLE(rr, iffalsereg); break;
|
1646
2305
|
case LIR_ge: MOVLT(rr, iffalsereg); break;
|
1647
|
-
case LIR_ult:
|
2306
|
+
case LIR_ult: MOVHS(rr, iffalsereg); break;
|
1648
2307
|
case LIR_ule: MOVHI(rr, iffalsereg); break;
|
1649
2308
|
case LIR_ugt: MOVLS(rr, iffalsereg); break;
|
1650
|
-
case LIR_uge:
|
2309
|
+
case LIR_uge: MOVLO(rr, iffalsereg); break;
|
1651
2310
|
default: debug_only( NanoAssert(0) ); break;
|
1652
2311
|
}
|
1653
2312
|
/*const Register iftruereg =*/ findSpecificRegFor(iftrue, rr);
|
@@ -1660,7 +2319,7 @@ Assembler::asm_qhi(LInsp ins)
|
|
1660
2319
|
Register rr = prepResultReg(ins, GpRegs);
|
1661
2320
|
LIns *q = ins->oprnd1();
|
1662
2321
|
int d = findMemFor(q);
|
1663
|
-
|
2322
|
+
LDR(rr, FP, d+4);
|
1664
2323
|
}
|
1665
2324
|
|
1666
2325
|
void
|
@@ -1669,37 +2328,18 @@ Assembler::asm_qlo(LInsp ins)
|
|
1669
2328
|
Register rr = prepResultReg(ins, GpRegs);
|
1670
2329
|
LIns *q = ins->oprnd1();
|
1671
2330
|
int d = findMemFor(q);
|
1672
|
-
|
1673
|
-
|
1674
|
-
#if 0
|
1675
|
-
LIns *q = ins->oprnd1();
|
1676
|
-
|
1677
|
-
Reservation *resv = getresv(ins);
|
1678
|
-
Register rr = resv->reg;
|
1679
|
-
if (rr == UnknownReg) {
|
1680
|
-
// store quad in spill loc
|
1681
|
-
int d = disp(resv);
|
1682
|
-
freeRsrcOf(ins, false);
|
1683
|
-
Register qr = findRegFor(q, XmmRegs);
|
1684
|
-
SSE_MOVDm(d, FP, qr);
|
1685
|
-
} else {
|
1686
|
-
freeRsrcOf(ins, false);
|
1687
|
-
Register qr = findRegFor(q, XmmRegs);
|
1688
|
-
SSE_MOVD(rr,qr);
|
1689
|
-
}
|
1690
|
-
#endif
|
2331
|
+
LDR(rr, FP, d);
|
1691
2332
|
}
|
1692
2333
|
|
1693
|
-
|
1694
2334
|
void
|
1695
2335
|
Assembler::asm_param(LInsp ins)
|
1696
2336
|
{
|
1697
|
-
uint32_t a = ins->
|
1698
|
-
uint32_t kind = ins->
|
2337
|
+
uint32_t a = ins->paramArg();
|
2338
|
+
uint32_t kind = ins->paramKind();
|
1699
2339
|
if (kind == 0) {
|
1700
2340
|
// ordinary param
|
1701
2341
|
AbiKind abi = _thisfrag->lirbuf->abi;
|
1702
|
-
uint32_t abi_regcount = abi == ABI_FASTCALL ? 2 : abi == ABI_THISCALL ? 1 : 0;
|
2342
|
+
uint32_t abi_regcount = abi == ABI_CDECL ? 4 : abi == ABI_FASTCALL ? 2 : abi == ABI_THISCALL ? 1 : 0;
|
1703
2343
|
if (a < abi_regcount) {
|
1704
2344
|
// incoming arg in register
|
1705
2345
|
prepResultReg(ins, rmask(argRegs[a]));
|
@@ -1707,7 +2347,7 @@ Assembler::asm_param(LInsp ins)
|
|
1707
2347
|
// incoming arg is on stack, and EBP points nearby (see genPrologue)
|
1708
2348
|
Register r = prepResultReg(ins, GpRegs);
|
1709
2349
|
int d = (a - abi_regcount) * sizeof(intptr_t) + 8;
|
1710
|
-
|
2350
|
+
LDR(r, FP, d);
|
1711
2351
|
}
|
1712
2352
|
} else {
|
1713
2353
|
// saved param
|
@@ -1716,27 +2356,47 @@ Assembler::asm_param(LInsp ins)
|
|
1716
2356
|
}
|
1717
2357
|
|
1718
2358
|
void
|
1719
|
-
Assembler::
|
2359
|
+
Assembler::asm_int(LInsp ins)
|
1720
2360
|
{
|
1721
2361
|
Register rr = prepResultReg(ins, GpRegs);
|
1722
|
-
|
1723
|
-
if (val == 0)
|
1724
|
-
EOR(rr,rr,rr);
|
1725
|
-
else
|
1726
|
-
LDi(rr, val);
|
2362
|
+
asm_ld_imm(rr, ins->imm32());
|
1727
2363
|
}
|
1728
2364
|
|
1729
2365
|
void
|
1730
|
-
Assembler::
|
2366
|
+
Assembler::asm_ret(LIns *ins)
|
1731
2367
|
{
|
1732
|
-
|
1733
|
-
|
1734
|
-
|
1735
|
-
|
1736
|
-
|
1737
|
-
|
2368
|
+
genEpilogue();
|
2369
|
+
|
2370
|
+
// Pop the stack frame.
|
2371
|
+
MOV(SP,FP);
|
2372
|
+
|
2373
|
+
assignSavedRegs();
|
2374
|
+
LIns *value = ins->oprnd1();
|
2375
|
+
if (ins->isop(LIR_ret)) {
|
2376
|
+
findSpecificRegFor(value, R0);
|
2377
|
+
}
|
2378
|
+
else {
|
2379
|
+
NanoAssert(ins->isop(LIR_fret));
|
2380
|
+
if (ARM_VFP) {
|
2381
|
+
Register reg = findRegFor(value, FpRegs);
|
2382
|
+
FMRRD(R0, R1, reg);
|
2383
|
+
} else {
|
2384
|
+
NanoAssert(value->isop(LIR_qjoin));
|
2385
|
+
findSpecificRegFor(value->oprnd1(), R0); // lo
|
2386
|
+
findSpecificRegFor(value->oprnd2(), R1); // hi
|
2387
|
+
}
|
2388
|
+
}
|
1738
2389
|
}
|
1739
2390
|
|
2391
|
+
void
|
2392
|
+
Assembler::asm_promote(LIns *ins)
|
2393
|
+
{
|
2394
|
+
/* The LIR opcodes that result in a call to asm_promote are only generated
|
2395
|
+
* if NANOJIT_64BIT is #define'd, which it never is for ARM.
|
2396
|
+
*/
|
2397
|
+
(void)ins;
|
2398
|
+
NanoAssert(0);
|
1740
2399
|
}
|
1741
2400
|
|
2401
|
+
}
|
1742
2402
|
#endif /* FEATURE_NANOJIT */
|