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
@@ -37,59 +37,77 @@
|
|
37
37
|
*
|
38
38
|
* ***** END LICENSE BLOCK ***** */
|
39
39
|
|
40
|
-
/*
|
41
|
-
|
40
|
+
/*
|
41
|
+
* This header provides definitions for the <stdint.h> types we use,
|
42
|
+
* even on systems that lack <stdint.h>.
|
43
|
+
*
|
44
|
+
* NOTE: This header should only be included in private SpiderMonkey
|
45
|
+
* code; public headers should use only the JS{Int,Uint}N types; see
|
46
|
+
* the comment for them in "jsinttypes.h".
|
47
|
+
*
|
48
|
+
* At the moment, these types are not widely used within SpiderMonkey;
|
49
|
+
* this file is meant to make existing uses portable, and to allow us
|
50
|
+
* to transition portably to using them more, if desired.
|
51
|
+
*/
|
42
52
|
|
43
53
|
#ifndef jsstdint_h___
|
44
54
|
#define jsstdint_h___
|
45
55
|
|
46
|
-
#include "
|
47
|
-
|
48
|
-
/* If we have a working stdint.h, use it. */
|
49
|
-
#if defined(JS_HAVE_STDINT_H)
|
50
|
-
#include <stdint.h>
|
56
|
+
#include "jsinttypes.h"
|
51
57
|
|
52
|
-
/* If
|
53
|
-
|
54
|
-
|
58
|
+
/* If we have a working stdint.h, then jsinttypes.h has already
|
59
|
+
defined the standard integer types. Otherwise, define the standard
|
60
|
+
names in terms of the 'JS' types. */
|
61
|
+
#if ! defined(JS_HAVE_STDINT_H)
|
55
62
|
|
56
|
-
typedef
|
57
|
-
typedef
|
58
|
-
typedef
|
59
|
-
typedef
|
60
|
-
typedef signed JS_INTPTR_TYPE intptr_t;
|
63
|
+
typedef JSInt8 int8_t;
|
64
|
+
typedef JSInt16 int16_t;
|
65
|
+
typedef JSInt32 int32_t;
|
66
|
+
typedef JSInt64 int64_t;
|
61
67
|
|
62
|
-
typedef
|
63
|
-
typedef
|
64
|
-
typedef
|
65
|
-
typedef
|
66
|
-
typedef unsigned JS_INTPTR_TYPE uintptr_t;
|
68
|
+
typedef JSUint8 uint8_t;
|
69
|
+
typedef JSUint16 uint16_t;
|
70
|
+
typedef JSUint32 uint32_t;
|
71
|
+
typedef JSUint64 uint64_t;
|
67
72
|
|
68
|
-
|
73
|
+
/* If JS_STDDEF_H_HAS_INTPTR_T or JS_CRTDEFS_H_HAS_INTPTR_T are
|
74
|
+
defined, then jsinttypes.h included the given header, which
|
75
|
+
introduced definitions for intptr_t and uintptr_t. Otherwise,
|
76
|
+
define the standard names in terms of the 'JS' types. */
|
77
|
+
#if !defined(JS_STDDEF_H_HAS_INTPTR_T) && !defined(JS_CRTDEFS_H_HAS_INTPTR_T)
|
78
|
+
typedef JSIntPtr intptr_t;
|
79
|
+
typedef JSUintPtr uintptr_t;
|
80
|
+
#endif
|
69
81
|
|
70
|
-
|
71
|
-
#if defined(JS_HAVE___INTN)
|
82
|
+
#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS)
|
72
83
|
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
84
|
+
#define INT8_MAX 127
|
85
|
+
#define INT8_MIN (-INT8_MAX - 1)
|
86
|
+
#define INT16_MAX 32767
|
87
|
+
#define INT16_MIN (-INT16_MAX - 1)
|
88
|
+
#define INT32_MAX 2147483647
|
89
|
+
#define INT32_MIN (-INT32_MAX - 1)
|
90
|
+
#define INT64_MAX 9223372036854775807LL
|
91
|
+
#define INT64_MIN (-INT64_MAX - 1)
|
77
92
|
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
93
|
+
#define UINT8_MAX 255
|
94
|
+
#define UINT16_MAX 65535
|
95
|
+
#define UINT32_MAX 4294967295U
|
96
|
+
#define UINT64_MAX 18446744073709551615ULL
|
82
97
|
|
83
|
-
|
84
|
-
|
85
|
-
|
98
|
+
/*
|
99
|
+
* These are technically wrong as they can't be used in the preprocessor, but
|
100
|
+
* we would require compiler assistance, and at the moment we don't need
|
101
|
+
* preprocessor-correctness.
|
102
|
+
*/
|
103
|
+
#define INTPTR_MAX ((intptr_t) (UINTPTR_MAX >> 1))
|
104
|
+
#define INTPTR_MIN (intptr_t(uintptr_t(INTPTR_MAX) + uintptr_t(1)))
|
105
|
+
#define UINTPTR_MAX ((uintptr_t) -1)
|
106
|
+
#define SIZE_MAX UINTPTR_MAX
|
107
|
+
#define PTRDIFF_MAX INTPTR_MAX
|
108
|
+
#define PTRDIFF_MIN INTPTR_MIN
|
86
109
|
|
87
|
-
/*
|
88
|
-
#if defined(JS_STDDEF_H_HAS_INTPTR_T)
|
89
|
-
#include <stddef.h>
|
90
|
-
#else
|
91
|
-
#error "couldn't find definitions for intptr_t, uintptr_t"
|
92
|
-
#endif
|
110
|
+
#endif /* !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) */
|
93
111
|
|
94
112
|
#endif /* JS_HAVE_STDINT_H */
|
95
113
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
/* -*- Mode: C
|
1
|
+
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
2
2
|
* vim: set ts=8 sw=4 et tw=99:
|
3
3
|
*
|
4
4
|
* ***** BEGIN LICENSE BLOCK *****
|
@@ -48,10 +48,12 @@
|
|
48
48
|
* of rooting things that might lose their newborn root due to subsequent GC
|
49
49
|
* allocations in the same native method.
|
50
50
|
*/
|
51
|
-
#
|
51
|
+
#define __STDC_LIMIT_MACROS
|
52
|
+
|
52
53
|
#include <stdlib.h>
|
53
54
|
#include <string.h>
|
54
55
|
#include "jstypes.h"
|
56
|
+
#include "jsstdint.h"
|
55
57
|
#include "jsutil.h" /* Added by JSIFY */
|
56
58
|
#include "jshash.h" /* Added by JSIFY */
|
57
59
|
#include "jsprf.h"
|
@@ -73,33 +75,38 @@
|
|
73
75
|
#include "jsstaticcheck.h"
|
74
76
|
#include "jsstr.h"
|
75
77
|
#include "jsbit.h"
|
78
|
+
#include "jsvector.h"
|
79
|
+
#include "jsstrinlines.h"
|
76
80
|
|
77
81
|
#define JSSTRDEP_RECURSION_LIMIT 100
|
78
82
|
|
79
|
-
size_t
|
80
|
-
|
83
|
+
JS_STATIC_ASSERT(size_t(JSString::MAX_LENGTH) <= size_t(JSVAL_INT_MAX));
|
84
|
+
JS_STATIC_ASSERT(INT_FITS_IN_JSVAL(JSString::MAX_LENGTH));
|
85
|
+
|
86
|
+
static size_t
|
87
|
+
MinimizeDependentStrings(JSString *str, int level, JSString **basep)
|
81
88
|
{
|
82
89
|
JSString *base;
|
83
90
|
size_t start, length;
|
84
91
|
|
85
|
-
JS_ASSERT(
|
86
|
-
base =
|
87
|
-
start =
|
88
|
-
if (
|
92
|
+
JS_ASSERT(str->isDependent());
|
93
|
+
base = str->dependentBase();
|
94
|
+
start = str->dependentStart();
|
95
|
+
if (base->isDependent()) {
|
89
96
|
if (level < JSSTRDEP_RECURSION_LIMIT) {
|
90
|
-
start +=
|
97
|
+
start += MinimizeDependentStrings(base, level + 1, &base);
|
91
98
|
} else {
|
92
99
|
do {
|
93
|
-
start +=
|
94
|
-
base =
|
95
|
-
} while (
|
100
|
+
start += base->dependentStart();
|
101
|
+
base = base->dependentBase();
|
102
|
+
} while (base->isDependent());
|
96
103
|
}
|
97
104
|
if (start == 0) {
|
98
|
-
JS_ASSERT(
|
99
|
-
|
100
|
-
} else if (start <=
|
101
|
-
length =
|
102
|
-
|
105
|
+
JS_ASSERT(str->dependentIsPrefix());
|
106
|
+
str->prefixSetBase(base);
|
107
|
+
} else if (start <= JSString::MAX_DEPENDENT_START) {
|
108
|
+
length = str->dependentLength();
|
109
|
+
str->reinitDependent(base, start, length);
|
103
110
|
}
|
104
111
|
}
|
105
112
|
*basep = base;
|
@@ -112,9 +119,9 @@ js_GetDependentStringChars(JSString *str)
|
|
112
119
|
size_t start;
|
113
120
|
JSString *base;
|
114
121
|
|
115
|
-
start =
|
116
|
-
JS_ASSERT(start <
|
117
|
-
return
|
122
|
+
start = MinimizeDependentStrings(str, 0, &base);
|
123
|
+
JS_ASSERT(start < base->flatLength());
|
124
|
+
return base->flatChars() + start;
|
118
125
|
}
|
119
126
|
|
120
127
|
const jschar *
|
@@ -122,36 +129,37 @@ js_GetStringChars(JSContext *cx, JSString *str)
|
|
122
129
|
{
|
123
130
|
if (!js_MakeStringImmutable(cx, str))
|
124
131
|
return NULL;
|
125
|
-
return
|
132
|
+
return str->flatChars();
|
126
133
|
}
|
127
134
|
|
128
135
|
JSString * JS_FASTCALL
|
129
136
|
js_ConcatStrings(JSContext *cx, JSString *left, JSString *right)
|
130
137
|
{
|
131
138
|
size_t rn, ln, lrdist, n;
|
132
|
-
jschar *
|
139
|
+
jschar *ls, *s;
|
140
|
+
const jschar *rs;
|
133
141
|
JSString *ldep; /* non-null if left should become dependent */
|
134
142
|
JSString *str;
|
135
143
|
|
136
|
-
|
144
|
+
right->getCharsAndLength(rs, rn);
|
137
145
|
if (rn == 0)
|
138
146
|
return left;
|
139
147
|
|
140
|
-
|
148
|
+
left->getCharsAndLength(const_cast<const jschar *&>(ls), ln);
|
141
149
|
if (ln == 0)
|
142
150
|
return right;
|
143
151
|
|
144
|
-
if (!
|
152
|
+
if (!left->isMutable()) {
|
145
153
|
/* We must copy if left does not own a buffer to realloc. */
|
146
|
-
s = (jschar *)
|
154
|
+
s = (jschar *) cx->malloc((ln + rn + 1) * sizeof(jschar));
|
147
155
|
if (!s)
|
148
156
|
return NULL;
|
149
157
|
js_strncpy(s, ls, ln);
|
150
158
|
ldep = NULL;
|
151
159
|
} else {
|
152
160
|
/* We can realloc left's space and make it depend on our result. */
|
153
|
-
JS_ASSERT(
|
154
|
-
s = (jschar *)
|
161
|
+
JS_ASSERT(left->isFlat());
|
162
|
+
s = (jschar *) cx->realloc(ls, (ln + rn + 1) * sizeof(jschar));
|
155
163
|
if (!s)
|
156
164
|
return NULL;
|
157
165
|
|
@@ -159,7 +167,7 @@ js_ConcatStrings(JSContext *cx, JSString *left, JSString *right)
|
|
159
167
|
lrdist = (size_t)(rs - ls);
|
160
168
|
if (lrdist < ln)
|
161
169
|
rs = s + lrdist;
|
162
|
-
left->
|
170
|
+
left->mChars = ls = s;
|
163
171
|
ldep = left;
|
164
172
|
}
|
165
173
|
|
@@ -171,27 +179,27 @@ js_ConcatStrings(JSContext *cx, JSString *left, JSString *right)
|
|
171
179
|
if (!str) {
|
172
180
|
/* Out of memory: clean up any space we (re-)allocated. */
|
173
181
|
if (!ldep) {
|
174
|
-
|
182
|
+
cx->free(s);
|
175
183
|
} else {
|
176
|
-
s = (jschar *)
|
184
|
+
s = (jschar *) cx->realloc(ls, (ln + 1) * sizeof(jschar));
|
177
185
|
if (s)
|
178
|
-
left->
|
186
|
+
left->mChars = s;
|
179
187
|
}
|
180
188
|
} else {
|
181
|
-
|
189
|
+
str->flatSetMutable();
|
182
190
|
|
183
191
|
/* Morph left into a dependent prefix if we realloc'd its buffer. */
|
184
192
|
if (ldep) {
|
185
|
-
|
193
|
+
ldep->reinitPrefix(str, ln);
|
186
194
|
#ifdef DEBUG
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
+
{
|
196
|
+
JSRuntime *rt = cx->runtime;
|
197
|
+
JS_RUNTIME_METER(rt, liveDependentStrings);
|
198
|
+
JS_RUNTIME_METER(rt, totalDependentStrings);
|
199
|
+
JS_LOCK_RUNTIME_VOID(rt,
|
200
|
+
(rt->strdepLengthSum += (double)ln,
|
201
|
+
rt->strdepLengthSquaredSum += (double)ln * (double)ln));
|
202
|
+
}
|
195
203
|
#endif
|
196
204
|
}
|
197
205
|
}
|
@@ -205,16 +213,16 @@ js_UndependString(JSContext *cx, JSString *str)
|
|
205
213
|
size_t n, size;
|
206
214
|
jschar *s;
|
207
215
|
|
208
|
-
if (
|
209
|
-
n =
|
216
|
+
if (str->isDependent()) {
|
217
|
+
n = str->dependentLength();
|
210
218
|
size = (n + 1) * sizeof(jschar);
|
211
|
-
s = (jschar *)
|
219
|
+
s = (jschar *) cx->malloc(size);
|
212
220
|
if (!s)
|
213
221
|
return NULL;
|
214
222
|
|
215
|
-
js_strncpy(s,
|
223
|
+
js_strncpy(s, str->dependentChars(), n);
|
216
224
|
s[n] = 0;
|
217
|
-
|
225
|
+
str->reinitFlat(s, n);
|
218
226
|
|
219
227
|
#ifdef DEBUG
|
220
228
|
{
|
@@ -228,52 +236,51 @@ js_UndependString(JSContext *cx, JSString *str)
|
|
228
236
|
#endif
|
229
237
|
}
|
230
238
|
|
231
|
-
return
|
239
|
+
return str->flatChars();
|
232
240
|
}
|
233
241
|
|
234
242
|
JSBool
|
235
243
|
js_MakeStringImmutable(JSContext *cx, JSString *str)
|
236
244
|
{
|
237
|
-
if (
|
245
|
+
if (str->isDependent() && !js_UndependString(cx, str)) {
|
238
246
|
JS_RUNTIME_METER(cx->runtime, badUndependStrings);
|
239
247
|
return JS_FALSE;
|
240
248
|
}
|
241
|
-
|
249
|
+
str->flatClearMutable();
|
242
250
|
return JS_TRUE;
|
243
251
|
}
|
244
252
|
|
245
253
|
static JSString *
|
246
254
|
ArgToRootedString(JSContext *cx, uintN argc, jsval *vp, uintN arg)
|
247
255
|
{
|
248
|
-
JSObject *obj;
|
249
|
-
JSString *str;
|
250
|
-
|
251
256
|
if (arg >= argc)
|
252
257
|
return ATOM_TO_STRING(cx->runtime->atomState.typeAtoms[JSTYPE_VOID]);
|
253
258
|
vp += 2 + arg;
|
254
259
|
|
255
|
-
if (
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
}
|
262
|
-
if (JSVAL_IS_STRING(*vp))
|
263
|
-
return JSVAL_TO_STRING(*vp);
|
264
|
-
if (JSVAL_IS_INT(*vp)) {
|
265
|
-
str = js_NumberToString(cx, JSVAL_TO_INT(*vp));
|
266
|
-
} else if (JSVAL_IS_DOUBLE(*vp)) {
|
267
|
-
str = js_NumberToString(cx, *JSVAL_TO_DOUBLE(*vp));
|
260
|
+
if (!JSVAL_IS_PRIMITIVE(*vp) && !JSVAL_TO_OBJECT(*vp)->defaultValue(cx, JSTYPE_STRING, vp))
|
261
|
+
return NULL;
|
262
|
+
|
263
|
+
JSString *str;
|
264
|
+
if (JSVAL_IS_STRING(*vp)) {
|
265
|
+
str = JSVAL_TO_STRING(*vp);
|
268
266
|
} else if (JSVAL_IS_BOOLEAN(*vp)) {
|
269
|
-
|
267
|
+
str = ATOM_TO_STRING(cx->runtime->atomState.booleanAtoms[
|
270
268
|
JSVAL_TO_BOOLEAN(*vp)? 1 : 0]);
|
271
|
-
} else {
|
272
|
-
|
273
|
-
|
269
|
+
} else if (JSVAL_IS_NULL(*vp)) {
|
270
|
+
str = ATOM_TO_STRING(cx->runtime->atomState.nullAtom);
|
271
|
+
} else if (JSVAL_IS_VOID(*vp)) {
|
272
|
+
str = ATOM_TO_STRING(cx->runtime->atomState.typeAtoms[JSTYPE_VOID]);
|
273
|
+
}
|
274
|
+
else {
|
275
|
+
if (JSVAL_IS_INT(*vp)) {
|
276
|
+
str = js_NumberToString(cx, JSVAL_TO_INT(*vp));
|
277
|
+
} else {
|
278
|
+
JS_ASSERT(JSVAL_IS_DOUBLE(*vp));
|
279
|
+
str = js_NumberToString(cx, *JSVAL_TO_DOUBLE(*vp));
|
280
|
+
}
|
281
|
+
if (str)
|
282
|
+
*vp = STRING_TO_JSVAL(str);
|
274
283
|
}
|
275
|
-
if (str)
|
276
|
-
*vp = STRING_TO_JSVAL(str);
|
277
284
|
return str;
|
278
285
|
}
|
279
286
|
|
@@ -292,6 +299,8 @@ str_encodeURI(JSContext *cx, uintN argc, jsval *vp);
|
|
292
299
|
static JSBool
|
293
300
|
str_encodeURI_Component(JSContext *cx, uintN argc, jsval *vp);
|
294
301
|
|
302
|
+
static const uint32 OVERLONG_UTF8 = UINT32_MAX;
|
303
|
+
|
295
304
|
static uint32
|
296
305
|
Utf8ToOneUcs4Char(const uint8 *utf8Buffer, int utf8Length);
|
297
306
|
|
@@ -369,7 +378,7 @@ js_str_escape(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval
|
|
369
378
|
if (!str)
|
370
379
|
return JS_FALSE;
|
371
380
|
|
372
|
-
|
381
|
+
str->getCharsAndLength(chars, length);
|
373
382
|
newlength = length;
|
374
383
|
|
375
384
|
/* Take a first pass and see how big the result string will need to be. */
|
@@ -399,7 +408,7 @@ js_str_escape(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval
|
|
399
408
|
return JS_FALSE;
|
400
409
|
}
|
401
410
|
|
402
|
-
newchars = (jschar *)
|
411
|
+
newchars = (jschar *) cx->malloc((newlength + 1) * sizeof(jschar));
|
403
412
|
if (!newchars)
|
404
413
|
return JS_FALSE;
|
405
414
|
for (i = 0, ni = 0; i < length; i++) {
|
@@ -427,7 +436,7 @@ js_str_escape(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval
|
|
427
436
|
|
428
437
|
str = js_NewString(cx, newchars, newlength);
|
429
438
|
if (!str) {
|
430
|
-
|
439
|
+
cx->free(newchars);
|
431
440
|
return JS_FALSE;
|
432
441
|
}
|
433
442
|
*rval = STRING_TO_JSVAL(str);
|
@@ -458,10 +467,10 @@ str_unescape(JSContext *cx, uintN argc, jsval *vp)
|
|
458
467
|
if (!str)
|
459
468
|
return JS_FALSE;
|
460
469
|
|
461
|
-
|
470
|
+
str->getCharsAndLength(chars, length);
|
462
471
|
|
463
472
|
/* Don't bother allocating less space for the new string. */
|
464
|
-
newchars = (jschar *)
|
473
|
+
newchars = (jschar *) cx->malloc((length + 1) * sizeof(jschar));
|
465
474
|
if (!newchars)
|
466
475
|
return JS_FALSE;
|
467
476
|
ni = i = 0;
|
@@ -490,7 +499,7 @@ str_unescape(JSContext *cx, uintN argc, jsval *vp)
|
|
490
499
|
|
491
500
|
str = js_NewString(cx, newchars, ni);
|
492
501
|
if (!str) {
|
493
|
-
|
502
|
+
cx->free(newchars);
|
494
503
|
return JS_FALSE;
|
495
504
|
}
|
496
505
|
*vp = STRING_TO_JSVAL(str);
|
@@ -547,7 +556,7 @@ str_getProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
|
|
547
556
|
if (id == ATOM_KEY(cx->runtime->atomState.lengthAtom)) {
|
548
557
|
if (OBJ_GET_CLASS(cx, obj) == &js_StringClass) {
|
549
558
|
/* Follow ECMA-262 by fetching intrinsic length of our string. */
|
550
|
-
v =
|
559
|
+
v = obj->fslots[JSSLOT_PRIMITIVE_THIS];
|
551
560
|
JS_ASSERT(JSVAL_IS_STRING(v));
|
552
561
|
str = JSVAL_TO_STRING(v);
|
553
562
|
} else {
|
@@ -557,7 +566,7 @@ str_getProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
|
|
557
566
|
return JS_FALSE;
|
558
567
|
}
|
559
568
|
|
560
|
-
*vp = INT_TO_JSVAL((jsint)
|
569
|
+
*vp = INT_TO_JSVAL((jsint) str->length());
|
561
570
|
}
|
562
571
|
|
563
572
|
return JS_TRUE;
|
@@ -572,18 +581,17 @@ str_enumerate(JSContext *cx, JSObject *obj)
|
|
572
581
|
JSString *str, *str1;
|
573
582
|
size_t i, length;
|
574
583
|
|
575
|
-
v =
|
584
|
+
v = obj->fslots[JSSLOT_PRIMITIVE_THIS];
|
576
585
|
JS_ASSERT(JSVAL_IS_STRING(v));
|
577
586
|
str = JSVAL_TO_STRING(v);
|
578
587
|
|
579
|
-
length =
|
588
|
+
length = str->length();
|
580
589
|
for (i = 0; i < length; i++) {
|
581
590
|
str1 = js_NewDependentString(cx, str, i, 1);
|
582
591
|
if (!str1)
|
583
592
|
return JS_FALSE;
|
584
|
-
if (!
|
585
|
-
|
586
|
-
STRING_ELEMENT_ATTRS, NULL)) {
|
593
|
+
if (!obj->defineProperty(cx, INT_TO_JSID(i), STRING_TO_JSVAL(str1), NULL, NULL,
|
594
|
+
STRING_ELEMENT_ATTRS)) {
|
587
595
|
return JS_FALSE;
|
588
596
|
}
|
589
597
|
}
|
@@ -601,18 +609,17 @@ str_resolve(JSContext *cx, JSObject *obj, jsval id, uintN flags,
|
|
601
609
|
if (!JSVAL_IS_INT(id) || (flags & JSRESOLVE_ASSIGNING))
|
602
610
|
return JS_TRUE;
|
603
611
|
|
604
|
-
v =
|
612
|
+
v = obj->fslots[JSSLOT_PRIMITIVE_THIS];
|
605
613
|
JS_ASSERT(JSVAL_IS_STRING(v));
|
606
614
|
str = JSVAL_TO_STRING(v);
|
607
615
|
|
608
616
|
slot = JSVAL_TO_INT(id);
|
609
|
-
if ((size_t)slot <
|
610
|
-
str1 =
|
617
|
+
if ((size_t)slot < str->length()) {
|
618
|
+
str1 = JSString::getUnitString(cx, str, size_t(slot));
|
611
619
|
if (!str1)
|
612
620
|
return JS_FALSE;
|
613
|
-
if (!
|
614
|
-
|
615
|
-
STRING_ELEMENT_ATTRS, NULL)) {
|
621
|
+
if (!obj->defineProperty(cx, INT_TO_JSID(slot), STRING_TO_JSVAL(str1), NULL, NULL,
|
622
|
+
STRING_ELEMENT_ATTRS)) {
|
616
623
|
return JS_FALSE;
|
617
624
|
}
|
618
625
|
*objp = obj;
|
@@ -622,10 +629,10 @@ str_resolve(JSContext *cx, JSObject *obj, jsval id, uintN flags,
|
|
622
629
|
|
623
630
|
JSClass js_StringClass = {
|
624
631
|
js_String_str,
|
625
|
-
|
632
|
+
JSCLASS_HAS_RESERVED_SLOTS(1) | JSCLASS_NEW_RESOLVE |
|
626
633
|
JSCLASS_HAS_CACHED_PROTO(JSProto_String),
|
627
634
|
JS_PropertyStub, JS_PropertyStub, str_getProperty, JS_PropertyStub,
|
628
|
-
str_enumerate, (JSResolveOp)str_resolve, JS_ConvertStub,
|
635
|
+
str_enumerate, (JSResolveOp)str_resolve, JS_ConvertStub, NULL,
|
629
636
|
JSCLASS_NO_OPTIONAL_MEMBERS
|
630
637
|
};
|
631
638
|
|
@@ -680,7 +687,8 @@ str_toSource(JSContext *cx, uintN argc, jsval *vp)
|
|
680
687
|
JSString *str;
|
681
688
|
size_t i, j, k, n;
|
682
689
|
char buf[16];
|
683
|
-
jschar *s
|
690
|
+
const jschar *s;
|
691
|
+
jschar *t;
|
684
692
|
|
685
693
|
if (!js_GetPrimitiveThis(cx, vp, &js_StringClass, &v))
|
686
694
|
return JS_FALSE;
|
@@ -689,9 +697,9 @@ str_toSource(JSContext *cx, uintN argc, jsval *vp)
|
|
689
697
|
if (!str)
|
690
698
|
return JS_FALSE;
|
691
699
|
j = JS_snprintf(buf, sizeof buf, "(new %s(", js_StringClass.name);
|
692
|
-
|
700
|
+
str->getCharsAndLength(s, k);
|
693
701
|
n = j + k + 2;
|
694
|
-
t = (jschar *)
|
702
|
+
t = (jschar *) cx->malloc((n + 1) * sizeof(jschar));
|
695
703
|
if (!t)
|
696
704
|
return JS_FALSE;
|
697
705
|
for (i = 0; i < j; i++)
|
@@ -703,7 +711,7 @@ str_toSource(JSContext *cx, uintN argc, jsval *vp)
|
|
703
711
|
t[i] = 0;
|
704
712
|
str = js_NewString(cx, t, n);
|
705
713
|
if (!str) {
|
706
|
-
|
714
|
+
cx->free(t);
|
707
715
|
return JS_FALSE;
|
708
716
|
}
|
709
717
|
*vp = STRING_TO_JSVAL(str);
|
@@ -712,8 +720,8 @@ str_toSource(JSContext *cx, uintN argc, jsval *vp)
|
|
712
720
|
|
713
721
|
#endif /* JS_HAS_TOSOURCE */
|
714
722
|
|
715
|
-
|
716
|
-
|
723
|
+
JSBool
|
724
|
+
js_str_toString(JSContext *cx, uintN argc, jsval *vp)
|
717
725
|
{
|
718
726
|
return js_GetPrimitiveThis(cx, vp, &js_StringClass, vp);
|
719
727
|
}
|
@@ -756,7 +764,7 @@ str_substring(JSContext *cx, uintN argc, jsval *vp)
|
|
756
764
|
d = js_ValueToNumber(cx, &vp[2]);
|
757
765
|
if (JSVAL_IS_NULL(vp[2]))
|
758
766
|
return JS_FALSE;
|
759
|
-
length =
|
767
|
+
length = str->length();
|
760
768
|
begin = js_DoubleToInteger(d);
|
761
769
|
if (argc == 1) {
|
762
770
|
end = length;
|
@@ -781,7 +789,7 @@ String_p_toString(JSContext* cx, JSObject* obj)
|
|
781
789
|
{
|
782
790
|
if (!JS_InstanceOf(cx, obj, &js_StringClass, NULL))
|
783
791
|
return NULL;
|
784
|
-
jsval v =
|
792
|
+
jsval v = obj->fslots[JSSLOT_PRIMITIVE_THIS];
|
785
793
|
JS_ASSERT(JSVAL_IS_STRING(v));
|
786
794
|
return JSVAL_TO_STRING(v);
|
787
795
|
}
|
@@ -791,10 +799,11 @@ JSString* JS_FASTCALL
|
|
791
799
|
js_toLowerCase(JSContext *cx, JSString *str)
|
792
800
|
{
|
793
801
|
size_t i, n;
|
794
|
-
jschar *s
|
802
|
+
const jschar *s;
|
803
|
+
jschar *news;
|
795
804
|
|
796
|
-
|
797
|
-
news = (jschar *)
|
805
|
+
str->getCharsAndLength(s, n);
|
806
|
+
news = (jschar *) cx->malloc((n + 1) * sizeof(jschar));
|
798
807
|
if (!news)
|
799
808
|
return NULL;
|
800
809
|
for (i = 0; i < n; i++)
|
@@ -802,7 +811,7 @@ js_toLowerCase(JSContext *cx, JSString *str)
|
|
802
811
|
news[n] = 0;
|
803
812
|
str = js_NewString(cx, news, n);
|
804
813
|
if (!str) {
|
805
|
-
|
814
|
+
cx->free(news);
|
806
815
|
return NULL;
|
807
816
|
}
|
808
817
|
return str;
|
@@ -841,10 +850,11 @@ JSString* JS_FASTCALL
|
|
841
850
|
js_toUpperCase(JSContext *cx, JSString *str)
|
842
851
|
{
|
843
852
|
size_t i, n;
|
844
|
-
jschar *s
|
853
|
+
const jschar *s;
|
854
|
+
jschar *news;
|
845
855
|
|
846
|
-
|
847
|
-
news = (jschar *)
|
856
|
+
str->getCharsAndLength(s, n);
|
857
|
+
news = (jschar *) cx->malloc((n + 1) * sizeof(jschar));
|
848
858
|
if (!news)
|
849
859
|
return NULL;
|
850
860
|
for (i = 0; i < n; i++)
|
@@ -852,7 +862,7 @@ js_toUpperCase(JSContext *cx, JSString *str)
|
|
852
862
|
news[n] = 0;
|
853
863
|
str = js_NewString(cx, news, n);
|
854
864
|
if (!str) {
|
855
|
-
|
865
|
+
cx->free(news);
|
856
866
|
return NULL;
|
857
867
|
}
|
858
868
|
return str;
|
@@ -920,7 +930,7 @@ str_charAt(JSContext *cx, uintN argc, jsval *vp)
|
|
920
930
|
if (JSVAL_IS_STRING(t) && argc != 0 && JSVAL_IS_INT(vp[2])) {
|
921
931
|
str = JSVAL_TO_STRING(t);
|
922
932
|
i = JSVAL_TO_INT(vp[2]);
|
923
|
-
if ((size_t)i >=
|
933
|
+
if ((size_t)i >= str->length())
|
924
934
|
goto out_of_range;
|
925
935
|
} else {
|
926
936
|
str = NormalizeThis(cx, vp);
|
@@ -936,12 +946,12 @@ str_charAt(JSContext *cx, uintN argc, jsval *vp)
|
|
936
946
|
d = js_DoubleToInteger(d);
|
937
947
|
}
|
938
948
|
|
939
|
-
if (d < 0 ||
|
949
|
+
if (d < 0 || str->length() <= d)
|
940
950
|
goto out_of_range;
|
941
951
|
i = (jsint) d;
|
942
952
|
}
|
943
953
|
|
944
|
-
str =
|
954
|
+
str = JSString::getUnitString(cx, str, size_t(i));
|
945
955
|
if (!str)
|
946
956
|
return JS_FALSE;
|
947
957
|
*vp = STRING_TO_JSVAL(str);
|
@@ -964,7 +974,7 @@ str_charCodeAt(JSContext *cx, uintN argc, jsval *vp)
|
|
964
974
|
if (JSVAL_IS_STRING(t) && argc != 0 && JSVAL_IS_INT(vp[2])) {
|
965
975
|
str = JSVAL_TO_STRING(t);
|
966
976
|
i = JSVAL_TO_INT(vp[2]);
|
967
|
-
if ((size_t)i >=
|
977
|
+
if ((size_t)i >= str->length())
|
968
978
|
goto out_of_range;
|
969
979
|
} else {
|
970
980
|
str = NormalizeThis(cx, vp);
|
@@ -980,12 +990,12 @@ str_charCodeAt(JSContext *cx, uintN argc, jsval *vp)
|
|
980
990
|
d = js_DoubleToInteger(d);
|
981
991
|
}
|
982
992
|
|
983
|
-
if (d < 0 ||
|
993
|
+
if (d < 0 || str->length() <= d)
|
984
994
|
goto out_of_range;
|
985
995
|
i = (jsint) d;
|
986
996
|
}
|
987
997
|
|
988
|
-
*vp = INT_TO_JSVAL(
|
998
|
+
*vp = INT_TO_JSVAL(str->chars()[i]);
|
989
999
|
return JS_TRUE;
|
990
1000
|
|
991
1001
|
out_of_range:
|
@@ -1000,146 +1010,207 @@ jsdouble FASTCALL
|
|
1000
1010
|
js_String_p_charCodeAt(JSString* str, jsdouble d)
|
1001
1011
|
{
|
1002
1012
|
d = js_DoubleToInteger(d);
|
1003
|
-
if (d < 0 || (int32)
|
1013
|
+
if (d < 0 || (int32)str->length() <= d)
|
1004
1014
|
return js_NaN;
|
1005
|
-
return jsdouble(
|
1015
|
+
return jsdouble(str->chars()[jsuint(d)]);
|
1006
1016
|
}
|
1007
1017
|
|
1008
1018
|
int32 FASTCALL
|
1009
1019
|
js_String_p_charCodeAt_int(JSString* str, jsint i)
|
1010
1020
|
{
|
1011
|
-
if (i < 0 || (int32)
|
1021
|
+
if (i < 0 || (int32)str->length() <= i)
|
1012
1022
|
return 0;
|
1013
|
-
return
|
1023
|
+
return str->chars()[i];
|
1014
1024
|
}
|
1025
|
+
JS_DEFINE_CALLINFO_2(extern, INT32, js_String_p_charCodeAt_int, STRING, INT32, 1, 1)
|
1015
1026
|
|
1016
1027
|
jsdouble FASTCALL
|
1017
1028
|
js_String_p_charCodeAt0(JSString* str)
|
1018
1029
|
{
|
1019
|
-
if ((int32)
|
1030
|
+
if ((int32)str->length() == 0)
|
1020
1031
|
return js_NaN;
|
1021
|
-
return jsdouble(
|
1032
|
+
return jsdouble(str->chars()[0]);
|
1022
1033
|
}
|
1023
1034
|
|
1035
|
+
/*
|
1036
|
+
* The FuncFilter replaces the generic double version of charCodeAt with the
|
1037
|
+
* integer fast path if appropriate.
|
1038
|
+
*/
|
1024
1039
|
int32 FASTCALL
|
1025
1040
|
js_String_p_charCodeAt0_int(JSString* str)
|
1026
1041
|
{
|
1027
|
-
if ((int32)
|
1042
|
+
if ((int32)str->length() == 0)
|
1028
1043
|
return 0;
|
1029
|
-
return
|
1044
|
+
return str->chars()[0];
|
1030
1045
|
}
|
1031
|
-
|
1032
|
-
/*
|
1033
|
-
* The FuncFilter replaces the generic double version of charCodeAt with the
|
1034
|
-
* integer fast path if appropriate.
|
1035
|
-
*/
|
1036
1046
|
JS_DEFINE_CALLINFO_1(extern, INT32, js_String_p_charCodeAt0_int, STRING, 1, 1)
|
1037
|
-
JS_DEFINE_CALLINFO_2(extern, INT32, js_String_p_charCodeAt_int, STRING, INT32, 1, 1)
|
1038
1047
|
#endif
|
1039
1048
|
|
1040
1049
|
jsint
|
1041
|
-
js_BoyerMooreHorspool(const jschar *text,
|
1042
|
-
const jschar *pat,
|
1043
|
-
jsint start)
|
1050
|
+
js_BoyerMooreHorspool(const jschar *text, jsuint textlen,
|
1051
|
+
const jschar *pat, jsuint patlen)
|
1044
1052
|
{
|
1045
|
-
|
1046
|
-
uint8 skip[BMH_CHARSET_SIZE];
|
1047
|
-
jschar c;
|
1053
|
+
uint8 skip[sBMHCharSetSize];
|
1048
1054
|
|
1049
|
-
JS_ASSERT(0 < patlen && patlen <=
|
1050
|
-
for (i = 0; i <
|
1055
|
+
JS_ASSERT(0 < patlen && patlen <= sBMHPatLenMax);
|
1056
|
+
for (jsuint i = 0; i < sBMHCharSetSize; i++)
|
1051
1057
|
skip[i] = (uint8)patlen;
|
1052
|
-
m = patlen - 1;
|
1053
|
-
for (i = 0; i < m; i++) {
|
1054
|
-
c = pat[i];
|
1055
|
-
if (c >=
|
1056
|
-
return
|
1058
|
+
jsuint m = patlen - 1;
|
1059
|
+
for (jsuint i = 0; i < m; i++) {
|
1060
|
+
jschar c = pat[i];
|
1061
|
+
if (c >= sBMHCharSetSize)
|
1062
|
+
return sBMHBadPattern;
|
1057
1063
|
skip[c] = (uint8)(m - i);
|
1058
1064
|
}
|
1059
|
-
|
1065
|
+
jschar c;
|
1066
|
+
for (jsuint k = m;
|
1060
1067
|
k < textlen;
|
1061
|
-
k += ((c = text[k]) >=
|
1062
|
-
for (i = k, j = m; ; i--, j--) {
|
1063
|
-
if (j < 0)
|
1064
|
-
return i + 1;
|
1068
|
+
k += ((c = text[k]) >= sBMHCharSetSize) ? patlen : skip[c]) {
|
1069
|
+
for (jsuint i = k, j = m; ; i--, j--) {
|
1065
1070
|
if (text[i] != pat[j])
|
1066
1071
|
break;
|
1072
|
+
if (j == 0)
|
1073
|
+
return static_cast<jsint>(i); /* safe: max string size */
|
1067
1074
|
}
|
1068
1075
|
}
|
1069
1076
|
return -1;
|
1070
1077
|
}
|
1071
1078
|
|
1072
|
-
static
|
1073
|
-
|
1079
|
+
static JS_ALWAYS_INLINE jsint
|
1080
|
+
StringMatch(const jschar *text, jsuint textlen,
|
1081
|
+
const jschar *pat, jsuint patlen)
|
1074
1082
|
{
|
1075
|
-
|
1076
|
-
|
1077
|
-
|
1078
|
-
|
1079
|
-
jsdouble d;
|
1083
|
+
if (patlen == 0)
|
1084
|
+
return 0;
|
1085
|
+
if (textlen < patlen)
|
1086
|
+
return -1;
|
1080
1087
|
|
1081
|
-
|
1082
|
-
|
1083
|
-
|
1084
|
-
|
1085
|
-
|
1086
|
-
|
1087
|
-
|
1088
|
-
|
1088
|
+
#if __i386__
|
1089
|
+
/*
|
1090
|
+
* Given enough registers, the unrolled loop below is faster than the
|
1091
|
+
* following loop. 32-bit x86 does not have enough registers.
|
1092
|
+
*/
|
1093
|
+
if (patlen == 1) {
|
1094
|
+
const jschar p0 = *pat;
|
1095
|
+
for (const jschar *c = text, *end = text + textlen; c != end; ++c) {
|
1096
|
+
if (*c == p0)
|
1097
|
+
return c - text;
|
1098
|
+
}
|
1099
|
+
return -1;
|
1100
|
+
}
|
1101
|
+
#endif
|
1089
1102
|
|
1090
|
-
|
1091
|
-
|
1092
|
-
|
1103
|
+
/*
|
1104
|
+
* XXX tune the BMH threshold (512) and pattern-length threshold (2).
|
1105
|
+
* If the text or pattern strings are short, BMH will be more expensive
|
1106
|
+
* than the basic linear scan.
|
1107
|
+
*/
|
1108
|
+
if (textlen >= 512 && jsuint(patlen - 2) <= sBMHPatLenMax - 2) {
|
1109
|
+
jsint index = js_BoyerMooreHorspool(text, textlen, pat, patlen);
|
1110
|
+
if (index != sBMHBadPattern)
|
1111
|
+
return index;
|
1093
1112
|
}
|
1094
1113
|
|
1095
|
-
|
1096
|
-
|
1097
|
-
|
1098
|
-
|
1114
|
+
const jschar *textend = text + textlen - (patlen - 1);
|
1115
|
+
const jschar *patend = pat + patlen;
|
1116
|
+
const jschar p0 = *pat;
|
1117
|
+
const jschar *patNext = pat + 1;
|
1118
|
+
uint8 fixup;
|
1099
1119
|
|
1100
|
-
|
1101
|
-
|
1102
|
-
|
1103
|
-
|
1104
|
-
|
1105
|
-
|
1106
|
-
|
1107
|
-
|
1108
|
-
|
1109
|
-
else
|
1110
|
-
i = (jsint)d;
|
1111
|
-
} else {
|
1112
|
-
i = 0;
|
1113
|
-
}
|
1114
|
-
if (patlen == 0) {
|
1115
|
-
*vp = INT_TO_JSVAL(i);
|
1116
|
-
return JS_TRUE;
|
1117
|
-
}
|
1120
|
+
#if __APPLE__ && __GNUC__ && __i386__
|
1121
|
+
/*
|
1122
|
+
* It is critical that |t| is kept in a register. The version of gcc we use
|
1123
|
+
* to build on 32-bit Mac does not realize this. See bug 526173.
|
1124
|
+
*/
|
1125
|
+
register const jschar *t asm("esi") = text;
|
1126
|
+
#else
|
1127
|
+
const jschar *t = text;
|
1128
|
+
#endif
|
1118
1129
|
|
1119
|
-
/*
|
1120
|
-
|
1121
|
-
|
1122
|
-
|
1123
|
-
|
1130
|
+
/* Credit: Duff */
|
1131
|
+
switch ((textend - text) & 7) {
|
1132
|
+
do {
|
1133
|
+
case 0: if (*t++ == p0) { fixup = 8; goto match; }
|
1134
|
+
case 7: if (*t++ == p0) { fixup = 7; goto match; }
|
1135
|
+
case 6: if (*t++ == p0) { fixup = 6; goto match; }
|
1136
|
+
case 5: if (*t++ == p0) { fixup = 5; goto match; }
|
1137
|
+
case 4: if (*t++ == p0) { fixup = 4; goto match; }
|
1138
|
+
case 3: if (*t++ == p0) { fixup = 3; goto match; }
|
1139
|
+
case 2: if (*t++ == p0) { fixup = 2; goto match; }
|
1140
|
+
case 1: if (*t++ == p0) { fixup = 1; goto match; }
|
1141
|
+
continue;
|
1142
|
+
do {
|
1143
|
+
if (*t++ == p0) {
|
1144
|
+
match:
|
1145
|
+
for (const jschar *p1 = patNext, *t1 = t;
|
1146
|
+
p1 != patend;
|
1147
|
+
++p1, ++t1) {
|
1148
|
+
if (*p1 != *t1)
|
1149
|
+
goto failed_match;
|
1150
|
+
}
|
1151
|
+
return t - text - 1;
|
1152
|
+
}
|
1153
|
+
failed_match:;
|
1154
|
+
} while (--fixup > 0);
|
1155
|
+
} while(t != textend);
|
1124
1156
|
}
|
1157
|
+
return -1;
|
1158
|
+
}
|
1125
1159
|
|
1126
|
-
|
1127
|
-
|
1128
|
-
|
1129
|
-
|
1130
|
-
|
1131
|
-
|
1132
|
-
|
1160
|
+
static JSBool
|
1161
|
+
str_indexOf(JSContext *cx, uintN argc, jsval *vp)
|
1162
|
+
{
|
1163
|
+
|
1164
|
+
JSString *str;
|
1165
|
+
NORMALIZE_THIS(cx, vp, str);
|
1166
|
+
|
1167
|
+
JSString *patstr = ArgToRootedString(cx, argc, vp, 0);
|
1168
|
+
if (!patstr)
|
1169
|
+
return JS_FALSE;
|
1170
|
+
|
1171
|
+
const jschar *text = str->chars();
|
1172
|
+
jsuint textlen = str->length();
|
1173
|
+
const jschar *pat = patstr->chars();
|
1174
|
+
jsuint patlen = patstr->length();
|
1175
|
+
|
1176
|
+
jsuint start;
|
1177
|
+
if (argc > 1) {
|
1178
|
+
jsval indexVal = vp[3];
|
1179
|
+
if (JSVAL_IS_INT(indexVal)) {
|
1180
|
+
jsint i = JSVAL_TO_INT(indexVal);
|
1181
|
+
if (i <= 0) {
|
1182
|
+
start = 0;
|
1183
|
+
} else if (jsuint(i) > textlen) {
|
1184
|
+
start = 0;
|
1185
|
+
textlen = 0;
|
1186
|
+
} else {
|
1187
|
+
start = i;
|
1188
|
+
text += start;
|
1189
|
+
textlen -= start;
|
1133
1190
|
}
|
1134
1191
|
} else {
|
1135
|
-
|
1136
|
-
|
1192
|
+
jsdouble d = js_ValueToNumber(cx, &vp[3]);
|
1193
|
+
if (JSVAL_IS_NULL(vp[3]))
|
1194
|
+
return JS_FALSE;
|
1195
|
+
d = js_DoubleToInteger(d);
|
1196
|
+
if (d <= 0) {
|
1197
|
+
start = 0;
|
1198
|
+
} else if (d > textlen) {
|
1199
|
+
start = 0;
|
1200
|
+
textlen = 0;
|
1201
|
+
} else {
|
1202
|
+
start = (jsint)d;
|
1203
|
+
text += start;
|
1204
|
+
textlen -= start;
|
1205
|
+
}
|
1137
1206
|
}
|
1207
|
+
} else {
|
1208
|
+
start = 0;
|
1138
1209
|
}
|
1139
1210
|
|
1140
|
-
|
1141
|
-
*vp = INT_TO_JSVAL(
|
1142
|
-
return
|
1211
|
+
jsint match = StringMatch(text, textlen, pat, patlen);
|
1212
|
+
*vp = INT_TO_JSVAL((match == -1) ? -1 : start + match);
|
1213
|
+
return true;
|
1143
1214
|
}
|
1144
1215
|
|
1145
1216
|
static JSBool
|
@@ -1151,8 +1222,8 @@ str_lastIndexOf(JSContext *cx, uintN argc, jsval *vp)
|
|
1151
1222
|
jsdouble d;
|
1152
1223
|
|
1153
1224
|
NORMALIZE_THIS(cx, vp, str);
|
1154
|
-
text =
|
1155
|
-
textlen = (jsint)
|
1225
|
+
text = str->chars();
|
1226
|
+
textlen = (jsint) str->length();
|
1156
1227
|
|
1157
1228
|
if (argc != 0 && JSVAL_IS_STRING(vp[2])) {
|
1158
1229
|
str2 = JSVAL_TO_STRING(vp[2]);
|
@@ -1161,8 +1232,8 @@ str_lastIndexOf(JSContext *cx, uintN argc, jsval *vp)
|
|
1161
1232
|
if (!str2)
|
1162
1233
|
return JS_FALSE;
|
1163
1234
|
}
|
1164
|
-
pat =
|
1165
|
-
patlen = (jsint)
|
1235
|
+
pat = str2->chars();
|
1236
|
+
patlen = (jsint) str2->length();
|
1166
1237
|
|
1167
1238
|
i = textlen - patlen; // Start searching here
|
1168
1239
|
if (i < 0) {
|
@@ -1196,18 +1267,26 @@ str_lastIndexOf(JSContext *cx, uintN argc, jsval *vp)
|
|
1196
1267
|
return JS_TRUE;
|
1197
1268
|
}
|
1198
1269
|
|
1199
|
-
|
1200
|
-
|
1201
|
-
|
1202
|
-
|
1203
|
-
|
1204
|
-
|
1205
|
-
|
1206
|
-
|
1207
|
-
|
1270
|
+
const jschar *t = text + i;
|
1271
|
+
const jschar *textend = text - 1;
|
1272
|
+
const jschar p0 = *pat;
|
1273
|
+
const jschar *patNext = pat + 1;
|
1274
|
+
const jschar *patEnd = pat + patlen;
|
1275
|
+
|
1276
|
+
for (; t != textend; --t) {
|
1277
|
+
if (*t == p0) {
|
1278
|
+
const jschar *t1 = t + 1;
|
1279
|
+
for (const jschar *p1 = patNext; p1 != patEnd; ++p1, ++t1) {
|
1280
|
+
if (*t1 != *p1)
|
1281
|
+
goto break_continue;
|
1282
|
+
}
|
1283
|
+
*vp = INT_TO_JSVAL(t - text);
|
1284
|
+
return JS_TRUE;
|
1208
1285
|
}
|
1286
|
+
break_continue:;
|
1209
1287
|
}
|
1210
|
-
|
1288
|
+
|
1289
|
+
*vp = INT_TO_JSVAL(-1);
|
1211
1290
|
return JS_TRUE;
|
1212
1291
|
}
|
1213
1292
|
|
@@ -1219,7 +1298,7 @@ js_TrimString(JSContext *cx, jsval *vp, JSBool trimLeft, JSBool trimRight)
|
|
1219
1298
|
size_t length, begin, end;
|
1220
1299
|
|
1221
1300
|
NORMALIZE_THIS(cx, vp, str);
|
1222
|
-
|
1301
|
+
str->getCharsAndLength(chars, length);
|
1223
1302
|
begin = 0;
|
1224
1303
|
end = length;
|
1225
1304
|
|
@@ -1262,229 +1341,294 @@ str_trimRight(JSContext *cx, uintN argc, jsval *vp)
|
|
1262
1341
|
/*
|
1263
1342
|
* Perl-inspired string functions.
|
1264
1343
|
*/
|
1265
|
-
typedef struct GlobData {
|
1266
|
-
jsbytecode *pc; /* in: program counter resulting in us matching */
|
1267
|
-
uintN flags; /* inout: mode and flag bits, see below */
|
1268
|
-
uintN optarg; /* in: index of optional flags argument */
|
1269
|
-
JSString *str; /* out: 'this' parameter object as string */
|
1270
|
-
JSRegExp *regexp; /* out: regexp parameter object private data */
|
1271
|
-
} GlobData;
|
1272
1344
|
|
1273
1345
|
/*
|
1274
|
-
*
|
1346
|
+
* RegExpGuard factors logic out of String regexp operations. After each
|
1347
|
+
* operation completes, RegExpGuard data members become available, according to
|
1348
|
+
* the comments below.
|
1349
|
+
*
|
1350
|
+
* Notes on parameters to RegExpGuard member functions:
|
1351
|
+
* - 'optarg' indicates in which argument position RegExp flags will be found,
|
1352
|
+
* if present. This is a Mozilla extension and not part of any ECMA spec.
|
1353
|
+
* - 'flat' indicates that the given pattern string will not be interpreted as
|
1354
|
+
* a regular expression, hence regexp meta-characters are ignored.
|
1275
1355
|
*/
|
1276
|
-
|
1277
|
-
#define MODE_REPLACE 0x01 /* in: match and replace */
|
1278
|
-
#define MODE_SEARCH 0x02 /* in: search only, return match index or -1 */
|
1279
|
-
#define GET_MODE(f) ((f) & 0x03)
|
1280
|
-
#define FORCE_FLAT 0x04 /* in: force flat (non-regexp) string match */
|
1281
|
-
#define KEEP_REGEXP 0x08 /* inout: keep GlobData.regexp alive for caller
|
1282
|
-
of match_or_replace; if set on input
|
1283
|
-
but clear on output, regexp ownership
|
1284
|
-
does not pass to caller */
|
1285
|
-
#define GLOBAL_REGEXP 0x10 /* out: regexp had the 'g' flag */
|
1286
|
-
|
1287
|
-
static JSBool
|
1288
|
-
match_or_replace(JSContext *cx,
|
1289
|
-
JSBool (*glob)(JSContext *cx, jsint count, GlobData *data),
|
1290
|
-
void (*destroy)(JSContext *cx, GlobData *data),
|
1291
|
-
GlobData *data, uintN argc, jsval *vp)
|
1356
|
+
class RegExpGuard
|
1292
1357
|
{
|
1293
|
-
|
1294
|
-
|
1295
|
-
JSRegExp *re;
|
1296
|
-
size_t index, length;
|
1297
|
-
JSBool ok, test;
|
1298
|
-
jsint count;
|
1358
|
+
RegExpGuard(const RegExpGuard &);
|
1359
|
+
void operator=(const RegExpGuard &);
|
1299
1360
|
|
1300
|
-
|
1301
|
-
|
1361
|
+
JSContext *mCx;
|
1362
|
+
JSObject *mReobj;
|
1363
|
+
JSRegExp *mRe;
|
1302
1364
|
|
1303
|
-
|
1304
|
-
|
1305
|
-
|
1306
|
-
|
1307
|
-
|
1308
|
-
|
1309
|
-
return JS_FALSE;
|
1310
|
-
if (data->optarg < argc) {
|
1311
|
-
opt = js_ValueToString(cx, vp[2 + data->optarg]);
|
1312
|
-
if (!opt)
|
1313
|
-
return JS_FALSE;
|
1314
|
-
} else {
|
1315
|
-
opt = NULL;
|
1316
|
-
}
|
1317
|
-
re = js_NewRegExpOpt(cx, src, opt, (data->flags & FORCE_FLAT) != 0);
|
1318
|
-
if (!re)
|
1319
|
-
return JS_FALSE;
|
1320
|
-
reobj = NULL;
|
1365
|
+
public:
|
1366
|
+
RegExpGuard(JSContext *cx) : mCx(cx), mRe(NULL) {}
|
1367
|
+
|
1368
|
+
~RegExpGuard() {
|
1369
|
+
if (mRe)
|
1370
|
+
DROP_REGEXP(mCx, mRe);
|
1321
1371
|
}
|
1322
|
-
|
1323
|
-
|
1324
|
-
|
1325
|
-
|
1326
|
-
|
1327
|
-
|
1328
|
-
|
1329
|
-
|
1330
|
-
|
1331
|
-
|
1332
|
-
*vp = (*vp == JSVAL_TRUE)
|
1333
|
-
? INT_TO_JSVAL(cx->regExpStatics.leftContext.length)
|
1334
|
-
: INT_TO_JSVAL(-1);
|
1335
|
-
}
|
1336
|
-
} else if (data->flags & GLOBAL_REGEXP) {
|
1337
|
-
if (reobj) {
|
1338
|
-
/* Set the lastIndex property's reserved slot to 0. */
|
1339
|
-
ok = js_SetLastIndex(cx, reobj, 0);
|
1372
|
+
|
1373
|
+
/* init must succeed in order to call tryFlatMatch or normalizeRegExp. */
|
1374
|
+
bool
|
1375
|
+
init(uintN argc, jsval *vp)
|
1376
|
+
{
|
1377
|
+
jsval patval = vp[2];
|
1378
|
+
if (argc != 0 && VALUE_IS_REGEXP(mCx, patval)) {
|
1379
|
+
mReobj = JSVAL_TO_OBJECT(patval);
|
1380
|
+
mRe = (JSRegExp *) mReobj->getPrivate();
|
1381
|
+
HOLD_REGEXP(mCx, mRe);
|
1340
1382
|
} else {
|
1341
|
-
|
1383
|
+
patstr = ArgToRootedString(mCx, argc, vp, 0);
|
1384
|
+
if (!patstr)
|
1385
|
+
return false;
|
1342
1386
|
}
|
1343
|
-
|
1344
|
-
|
1345
|
-
|
1346
|
-
|
1347
|
-
|
1348
|
-
|
1349
|
-
|
1350
|
-
|
1351
|
-
|
1352
|
-
|
1353
|
-
|
1354
|
-
|
1355
|
-
|
1356
|
-
|
1357
|
-
|
1358
|
-
|
1359
|
-
|
1387
|
+
return true;
|
1388
|
+
}
|
1389
|
+
|
1390
|
+
/*
|
1391
|
+
* Upper bound on the number of characters we are willing to potentially
|
1392
|
+
* waste on searching for RegExp meta-characters.
|
1393
|
+
*/
|
1394
|
+
static const size_t sMaxFlatPatLen = 256;
|
1395
|
+
|
1396
|
+
/*
|
1397
|
+
* Attempt to match |patstr| with |textstr|. Return false if flat matching
|
1398
|
+
* could not be used.
|
1399
|
+
*/
|
1400
|
+
bool
|
1401
|
+
tryFlatMatch(JSString *textstr, bool flat, uintN optarg, uintN argc)
|
1402
|
+
{
|
1403
|
+
if (mRe)
|
1404
|
+
return false;
|
1405
|
+
patstr->getCharsAndLength(pat, patlen);
|
1406
|
+
if (optarg < argc ||
|
1407
|
+
(!flat &&
|
1408
|
+
(patlen > sMaxFlatPatLen || js_ContainsRegExpMetaChars(pat, patlen)))) {
|
1409
|
+
return false;
|
1360
1410
|
}
|
1361
|
-
|
1362
|
-
|
1363
|
-
|
1411
|
+
textstr->getCharsAndLength(text, textlen);
|
1412
|
+
match = StringMatch(text, textlen, pat, patlen);
|
1413
|
+
return true;
|
1414
|
+
}
|
1415
|
+
|
1416
|
+
/* Data available on successful return from |tryFlatMatch|. */
|
1417
|
+
JSString *patstr;
|
1418
|
+
const jschar *pat;
|
1419
|
+
size_t patlen;
|
1420
|
+
const jschar *text;
|
1421
|
+
size_t textlen;
|
1422
|
+
jsint match;
|
1423
|
+
|
1424
|
+
/* If the pattern is not already a regular expression, make it so. */
|
1425
|
+
bool
|
1426
|
+
normalizeRegExp(bool flat, uintN optarg, uintN argc, jsval *vp)
|
1427
|
+
{
|
1428
|
+
/* If we don't have a RegExp, build RegExp from pattern string. */
|
1429
|
+
if (mRe)
|
1430
|
+
return true;
|
1431
|
+
JSString *opt;
|
1432
|
+
if (optarg < argc) {
|
1433
|
+
opt = js_ValueToString(mCx, vp[2 + optarg]);
|
1434
|
+
if (!opt)
|
1435
|
+
return false;
|
1364
1436
|
} else {
|
1365
|
-
|
1366
|
-
* MODE_MATCH implies str_match is being called from a script or a
|
1367
|
-
* scripted function. If the caller cares only about testing null
|
1368
|
-
* vs. non-null return value, optimize away the array object that
|
1369
|
-
* would normally be returned in *vp.
|
1370
|
-
*
|
1371
|
-
* Assume a full array result is required, then prove otherwise.
|
1372
|
-
*/
|
1373
|
-
test = JS_FALSE;
|
1374
|
-
if (data->pc && (*data->pc == JSOP_CALL || *data->pc == JSOP_NEW)) {
|
1375
|
-
JS_ASSERT(js_CodeSpec[*data->pc].length == 3);
|
1376
|
-
switch (data->pc[3]) {
|
1377
|
-
case JSOP_POP:
|
1378
|
-
case JSOP_IFEQ:
|
1379
|
-
case JSOP_IFNE:
|
1380
|
-
case JSOP_IFEQX:
|
1381
|
-
case JSOP_IFNEX:
|
1382
|
-
test = JS_TRUE;
|
1383
|
-
break;
|
1384
|
-
default:;
|
1385
|
-
}
|
1386
|
-
}
|
1437
|
+
opt = NULL;
|
1387
1438
|
}
|
1388
|
-
|
1439
|
+
mRe = js_NewRegExpOpt(mCx, patstr, opt, flat);
|
1440
|
+
if (!mRe)
|
1441
|
+
return false;
|
1442
|
+
mReobj = NULL;
|
1443
|
+
return true;
|
1389
1444
|
}
|
1390
1445
|
|
1391
|
-
|
1392
|
-
|
1393
|
-
|
1394
|
-
|
1395
|
-
} else if (!ok || !(data->flags & KEEP_REGEXP)) {
|
1396
|
-
/* Caller didn't want to keep data->regexp, so null and destroy it. */
|
1397
|
-
data->regexp = NULL;
|
1398
|
-
js_DestroyRegExp(cx, re);
|
1399
|
-
}
|
1446
|
+
/* Data available on successful return from |normalizeRegExp|. */
|
1447
|
+
JSObject *reobj() const { return mReobj; } /* nullable */
|
1448
|
+
JSRegExp *re() const { return mRe; } /* non-null */
|
1449
|
+
};
|
1400
1450
|
|
1401
|
-
|
1451
|
+
/* js_ExecuteRegExp indicates success in two ways, based on the 'test' flag. */
|
1452
|
+
static JS_ALWAYS_INLINE bool
|
1453
|
+
Matched(bool test, jsval v)
|
1454
|
+
{
|
1455
|
+
return test ? (v == JSVAL_TRUE) : !JSVAL_IS_NULL(v);
|
1402
1456
|
}
|
1403
1457
|
|
1404
|
-
typedef
|
1405
|
-
GlobData base;
|
1406
|
-
jsval *arrayval; /* NB: local root pointer */
|
1407
|
-
} MatchData;
|
1458
|
+
typedef bool (*DoMatchCallback)(JSContext *cx, size_t count, void *data);
|
1408
1459
|
|
1409
|
-
|
1410
|
-
|
1460
|
+
/*
|
1461
|
+
* BitOR-ing these flags allows the DoMatch caller to control when how the
|
1462
|
+
* RegExp engine is called and when callbacks are fired.
|
1463
|
+
*/
|
1464
|
+
enum MatchControlFlags {
|
1465
|
+
TEST_GLOBAL_BIT = 0x1, /* use RegExp.test for global regexps */
|
1466
|
+
TEST_SINGLE_BIT = 0x2, /* use RegExp.test for non-global regexps */
|
1467
|
+
CALLBACK_ON_SINGLE_BIT = 0x4, /* fire callback on non-global match */
|
1468
|
+
|
1469
|
+
MATCH_ARGS = TEST_GLOBAL_BIT,
|
1470
|
+
MATCHALL_ARGS = CALLBACK_ON_SINGLE_BIT,
|
1471
|
+
REPLACE_ARGS = TEST_GLOBAL_BIT | TEST_SINGLE_BIT | CALLBACK_ON_SINGLE_BIT
|
1472
|
+
};
|
1473
|
+
|
1474
|
+
/* Factor out looping and matching logic. */
|
1475
|
+
static bool
|
1476
|
+
DoMatch(JSContext *cx, jsval *vp, JSString *str, const RegExpGuard &g,
|
1477
|
+
DoMatchCallback callback, void *data, MatchControlFlags flags)
|
1411
1478
|
{
|
1412
|
-
|
1413
|
-
|
1414
|
-
|
1415
|
-
|
1416
|
-
|
1479
|
+
if (g.re()->flags & JSREG_GLOB) {
|
1480
|
+
/* global matching ('g') */
|
1481
|
+
bool testGlobal = flags & TEST_GLOBAL_BIT;
|
1482
|
+
if (g.reobj())
|
1483
|
+
js_ClearRegExpLastIndex(g.reobj());
|
1484
|
+
for (size_t count = 0, i = 0, length = str->length(); i <= length; ++count) {
|
1485
|
+
if (!js_ExecuteRegExp(cx, g.re(), str, &i, testGlobal, vp))
|
1486
|
+
return false;
|
1487
|
+
if (!Matched(testGlobal, *vp))
|
1488
|
+
break;
|
1489
|
+
if (!callback(cx, count, data))
|
1490
|
+
return false;
|
1491
|
+
if (cx->regExpStatics.lastMatch.length == 0)
|
1492
|
+
++i;
|
1493
|
+
}
|
1494
|
+
} else {
|
1495
|
+
/* single match */
|
1496
|
+
bool testSingle = flags & TEST_SINGLE_BIT,
|
1497
|
+
callbackOnSingle = flags & CALLBACK_ON_SINGLE_BIT;
|
1498
|
+
size_t i = 0;
|
1499
|
+
if (!js_ExecuteRegExp(cx, g.re(), str, &i, testSingle, vp))
|
1500
|
+
return false;
|
1501
|
+
if (callbackOnSingle && Matched(testSingle, *vp) &&
|
1502
|
+
!callback(cx, 0, data)) {
|
1503
|
+
return false;
|
1504
|
+
}
|
1505
|
+
}
|
1506
|
+
return true;
|
1507
|
+
}
|
1417
1508
|
|
1418
|
-
|
1419
|
-
|
1509
|
+
/*
|
1510
|
+
* DoMatch will only callback on global matches, hence this function builds
|
1511
|
+
* only the "array of matches" returned by match on global regexps.
|
1512
|
+
*/
|
1513
|
+
static bool
|
1514
|
+
MatchCallback(JSContext *cx, size_t count, void *p)
|
1515
|
+
{
|
1516
|
+
JS_ASSERT(count <= JSVAL_INT_MAX); /* by max string length */
|
1517
|
+
|
1518
|
+
jsval &arrayval = *static_cast<jsval *>(p);
|
1519
|
+
JSObject *arrayobj = JSVAL_TO_OBJECT(arrayval);
|
1420
1520
|
if (!arrayobj) {
|
1421
1521
|
arrayobj = js_NewArrayObject(cx, 0, NULL);
|
1422
1522
|
if (!arrayobj)
|
1423
|
-
return
|
1424
|
-
|
1523
|
+
return false;
|
1524
|
+
arrayval = OBJECT_TO_JSVAL(arrayobj);
|
1425
1525
|
}
|
1426
|
-
|
1427
|
-
|
1526
|
+
|
1527
|
+
JSString *str = cx->regExpStatics.input;
|
1528
|
+
JSSubString &match = cx->regExpStatics.lastMatch;
|
1529
|
+
ptrdiff_t off = match.chars - str->chars();
|
1530
|
+
JS_ASSERT(off >= 0 && size_t(off) <= str->length());
|
1531
|
+
JSString *matchstr = js_NewDependentString(cx, str, off, match.length);
|
1428
1532
|
if (!matchstr)
|
1429
|
-
return
|
1430
|
-
|
1431
|
-
|
1533
|
+
return false;
|
1534
|
+
|
1535
|
+
jsval v = STRING_TO_JSVAL(matchstr);
|
1432
1536
|
|
1433
1537
|
JSAutoResolveFlags rf(cx, JSRESOLVE_QUALIFIED | JSRESOLVE_ASSIGNING);
|
1434
|
-
return
|
1538
|
+
return arrayobj->setProperty(cx, INT_TO_JSID(count), &v);
|
1435
1539
|
}
|
1436
1540
|
|
1437
|
-
static
|
1438
|
-
|
1541
|
+
static bool
|
1542
|
+
BuildFlatMatchArray(JSContext *cx, JSString *textstr, const RegExpGuard &g,
|
1543
|
+
jsval *vp)
|
1439
1544
|
{
|
1440
|
-
|
1441
|
-
|
1442
|
-
|
1545
|
+
if (g.match < 0) {
|
1546
|
+
*vp = JSVAL_NULL;
|
1547
|
+
return true;
|
1548
|
+
}
|
1443
1549
|
|
1444
|
-
|
1445
|
-
|
1446
|
-
|
1447
|
-
|
1448
|
-
|
1449
|
-
|
1450
|
-
|
1451
|
-
|
1452
|
-
|
1453
|
-
|
1550
|
+
/* For this non-global match, produce a RegExp.exec-style array. */
|
1551
|
+
JSObject *obj = js_NewSlowArrayObject(cx);
|
1552
|
+
if (!obj)
|
1553
|
+
return false;
|
1554
|
+
*vp = OBJECT_TO_JSVAL(obj);
|
1555
|
+
|
1556
|
+
return obj->defineProperty(cx, INT_TO_JSID(0), STRING_TO_JSVAL(g.patstr)) &&
|
1557
|
+
obj->defineProperty(cx, ATOM_TO_JSID(cx->runtime->atomState.indexAtom),
|
1558
|
+
INT_TO_JSVAL(g.match)) &&
|
1559
|
+
obj->defineProperty(cx, ATOM_TO_JSID(cx->runtime->atomState.inputAtom),
|
1560
|
+
STRING_TO_JSVAL(textstr));
|
1454
1561
|
}
|
1455
1562
|
|
1456
1563
|
static JSBool
|
1457
1564
|
str_match(JSContext *cx, uintN argc, jsval *vp)
|
1458
1565
|
{
|
1459
|
-
|
1566
|
+
JSString *str;
|
1567
|
+
NORMALIZE_THIS(cx, vp, str);
|
1568
|
+
|
1569
|
+
RegExpGuard g(cx);
|
1570
|
+
if (!g.init(argc, vp))
|
1571
|
+
return false;
|
1572
|
+
if (g.tryFlatMatch(str, false, 1, argc))
|
1573
|
+
return BuildFlatMatchArray(cx, str, g, vp);
|
1574
|
+
if (!g.normalizeRegExp(false, 1, argc, vp))
|
1575
|
+
return false;
|
1576
|
+
|
1577
|
+
JSAutoTempValueRooter array(cx, JSVAL_NULL);
|
1578
|
+
if (!DoMatch(cx, vp, str, g, MatchCallback, array.addr(), MATCH_ARGS))
|
1579
|
+
return false;
|
1580
|
+
|
1581
|
+
/* When not global, DoMatch will leave |RegEx.exec()| in *vp. */
|
1582
|
+
if (g.re()->flags & JSREG_GLOB)
|
1583
|
+
*vp = array.value();
|
1584
|
+
return true;
|
1460
1585
|
}
|
1461
1586
|
|
1462
1587
|
static JSBool
|
1463
1588
|
str_search(JSContext *cx, uintN argc, jsval *vp)
|
1464
1589
|
{
|
1465
|
-
|
1590
|
+
JSString *str;
|
1591
|
+
NORMALIZE_THIS(cx, vp, str);
|
1592
|
+
|
1593
|
+
RegExpGuard g(cx);
|
1594
|
+
if (!g.init(argc, vp))
|
1595
|
+
return false;
|
1596
|
+
if (g.tryFlatMatch(str, false, 1, argc)) {
|
1597
|
+
*vp = INT_TO_JSVAL(g.match);
|
1598
|
+
return true;
|
1599
|
+
}
|
1600
|
+
if (!g.normalizeRegExp(false, 1, argc, vp))
|
1601
|
+
return false;
|
1466
1602
|
|
1467
|
-
|
1468
|
-
|
1469
|
-
|
1603
|
+
size_t i = 0;
|
1604
|
+
if (!js_ExecuteRegExp(cx, g.re(), str, &i, true, vp))
|
1605
|
+
return false;
|
1606
|
+
|
1607
|
+
if (*vp == JSVAL_TRUE)
|
1608
|
+
*vp = INT_TO_JSVAL(cx->regExpStatics.leftContext.length);
|
1609
|
+
else
|
1610
|
+
*vp = INT_TO_JSVAL(-1);
|
1611
|
+
return true;
|
1470
1612
|
}
|
1471
1613
|
|
1472
|
-
|
1473
|
-
|
1474
|
-
|
1475
|
-
|
1476
|
-
|
1477
|
-
|
1478
|
-
jschar
|
1479
|
-
|
1480
|
-
jsint
|
1481
|
-
jsint
|
1482
|
-
JSSubString
|
1483
|
-
|
1614
|
+
struct ReplaceData {
|
1615
|
+
ReplaceData(JSContext *cx) : g(cx), cb(cx) {}
|
1616
|
+
JSString *str; /* 'this' parameter object as a string */
|
1617
|
+
RegExpGuard g; /* regexp parameter object and private data */
|
1618
|
+
JSObject *lambda; /* replacement function object or null */
|
1619
|
+
JSString *repstr; /* replacement string */
|
1620
|
+
jschar *dollar; /* null or pointer to first $ in repstr */
|
1621
|
+
jschar *dollarEnd; /* limit pointer for js_strchr_limit */
|
1622
|
+
jsint index; /* index in result of next replacement */
|
1623
|
+
jsint leftIndex; /* left context index in str->chars */
|
1624
|
+
JSSubString dollarStr; /* for "$$" InterpretDollar result */
|
1625
|
+
bool calledBack; /* record whether callback has been called */
|
1626
|
+
JSCharBuffer cb; /* buffer built during DoMatch */
|
1627
|
+
};
|
1484
1628
|
|
1485
1629
|
static JSSubString *
|
1486
|
-
|
1487
|
-
|
1630
|
+
InterpretDollar(JSContext *cx, jschar *dp, jschar *ep, ReplaceData &rdata,
|
1631
|
+
size_t *skip)
|
1488
1632
|
{
|
1489
1633
|
JSRegExpStatics *res;
|
1490
1634
|
jschar dc, *cp;
|
@@ -1525,9 +1669,9 @@ interpret_dollar(JSContext *cx, jschar *dp, jschar *ep, ReplaceData *rdata,
|
|
1525
1669
|
*skip = 2;
|
1526
1670
|
switch (dc) {
|
1527
1671
|
case '$':
|
1528
|
-
rdata
|
1529
|
-
rdata
|
1530
|
-
return &rdata
|
1672
|
+
rdata.dollarStr.chars = dp;
|
1673
|
+
rdata.dollarStr.length = 1;
|
1674
|
+
return &rdata.dollarStr;
|
1531
1675
|
case '&':
|
1532
1676
|
return &res->lastMatch;
|
1533
1677
|
case '+':
|
@@ -1540,8 +1684,20 @@ interpret_dollar(JSContext *cx, jschar *dp, jschar *ep, ReplaceData *rdata,
|
|
1540
1684
|
return NULL;
|
1541
1685
|
}
|
1542
1686
|
|
1543
|
-
static
|
1544
|
-
|
1687
|
+
static JS_ALWAYS_INLINE bool
|
1688
|
+
PushRegExpSubstr(JSContext *cx, const JSSubString &sub, jsval *&sp)
|
1689
|
+
{
|
1690
|
+
JSString *whole = cx->regExpStatics.input;
|
1691
|
+
size_t off = sub.chars - whole->chars();
|
1692
|
+
JSString *str = js_NewDependentString(cx, whole, off, sub.length);
|
1693
|
+
if (!str)
|
1694
|
+
return false;
|
1695
|
+
*sp++ = STRING_TO_JSVAL(str);
|
1696
|
+
return true;
|
1697
|
+
}
|
1698
|
+
|
1699
|
+
static bool
|
1700
|
+
FindReplaceLength(JSContext *cx, ReplaceData &rdata, size_t *sizep)
|
1545
1701
|
{
|
1546
1702
|
JSString *repstr;
|
1547
1703
|
size_t replen, skip;
|
@@ -1549,72 +1705,67 @@ find_replen(JSContext *cx, ReplaceData *rdata, size_t *sizep)
|
|
1549
1705
|
JSSubString *sub;
|
1550
1706
|
JSObject *lambda;
|
1551
1707
|
|
1552
|
-
lambda = rdata
|
1708
|
+
lambda = rdata.lambda;
|
1553
1709
|
if (lambda) {
|
1554
|
-
uintN
|
1555
|
-
jsval *invokevp, *sp;
|
1556
|
-
void *mark;
|
1557
|
-
JSBool ok;
|
1710
|
+
uintN i, m, n;
|
1558
1711
|
|
1559
|
-
|
1560
|
-
* Save the regExpStatics from the current regexp, since they may be
|
1561
|
-
* clobbered by a RegExp usage in the lambda function. Note that all
|
1562
|
-
* members of JSRegExpStatics are JSSubStrings, so not GC roots, save
|
1563
|
-
* input, which is rooted otherwise via vp[1] in str_replace.
|
1564
|
-
*/
|
1565
|
-
JSRegExpStatics save = cx->regExpStatics;
|
1566
|
-
JSBool freeMoreParens = JS_FALSE;
|
1712
|
+
js_LeaveTrace(cx);
|
1567
1713
|
|
1568
1714
|
/*
|
1569
1715
|
* In the lambda case, not only do we find the replacement string's
|
1570
1716
|
* length, we compute repstr and return it via rdata for use within
|
1571
|
-
*
|
1717
|
+
* DoReplace. The lambda is called with arguments ($&, $1, $2, ...,
|
1572
1718
|
* index, input), i.e., all the properties of a regexp match array.
|
1573
1719
|
* For $&, etc., we must create string jsvals from cx->regExpStatics.
|
1574
1720
|
* We grab up stack space to keep the newborn strings GC-rooted.
|
1575
1721
|
*/
|
1576
|
-
p = rdata
|
1577
|
-
argc = 1 + p + 2;
|
1578
|
-
|
1722
|
+
uintN p = rdata.g.re()->parenCount;
|
1723
|
+
uintN argc = 1 + p + 2;
|
1724
|
+
void *mark;
|
1725
|
+
jsval *invokevp = js_AllocStack(cx, 2 + argc, &mark);
|
1579
1726
|
if (!invokevp)
|
1580
|
-
return
|
1727
|
+
return false;
|
1728
|
+
|
1729
|
+
MUST_FLOW_THROUGH("lambda_out");
|
1730
|
+
bool ok = false;
|
1731
|
+
bool freeMoreParens = false;
|
1732
|
+
|
1733
|
+
/*
|
1734
|
+
* Save the regExpStatics from the current regexp, since they may be
|
1735
|
+
* clobbered by a RegExp usage in the lambda function. Note that all
|
1736
|
+
* members of JSRegExpStatics are JSSubStrings, so not GC roots, save
|
1737
|
+
* input, which is rooted otherwise via vp[1] in str_replace.
|
1738
|
+
*/
|
1739
|
+
JSRegExpStatics save = cx->regExpStatics;
|
1581
1740
|
|
1582
1741
|
/* Push lambda and its 'this' parameter. */
|
1583
|
-
sp = invokevp;
|
1742
|
+
jsval *sp = invokevp;
|
1584
1743
|
*sp++ = OBJECT_TO_JSVAL(lambda);
|
1585
1744
|
*sp++ = OBJECT_TO_JSVAL(OBJ_GET_PARENT(cx, lambda));
|
1586
1745
|
|
1587
|
-
#define PUSH_REGEXP_STATIC(sub) \
|
1588
|
-
JS_BEGIN_MACRO \
|
1589
|
-
JSString *str = js_NewStringCopyN(cx, \
|
1590
|
-
cx->regExpStatics.sub.chars, \
|
1591
|
-
cx->regExpStatics.sub.length); \
|
1592
|
-
if (!str) { \
|
1593
|
-
ok = JS_FALSE; \
|
1594
|
-
goto lambda_out; \
|
1595
|
-
} \
|
1596
|
-
*sp++ = STRING_TO_JSVAL(str); \
|
1597
|
-
JS_END_MACRO
|
1598
|
-
|
1599
1746
|
/* Push $&, $1, $2, ... */
|
1600
|
-
|
1747
|
+
if (!PushRegExpSubstr(cx, cx->regExpStatics.lastMatch, sp))
|
1748
|
+
goto lambda_out;
|
1749
|
+
|
1601
1750
|
i = 0;
|
1602
1751
|
m = cx->regExpStatics.parenCount;
|
1603
1752
|
n = JS_MIN(m, 9);
|
1604
|
-
for (j = 0; i < n; i++, j++)
|
1605
|
-
|
1606
|
-
|
1607
|
-
|
1753
|
+
for (uintN j = 0; i < n; i++, j++) {
|
1754
|
+
if (!PushRegExpSubstr(cx, cx->regExpStatics.parens[j], sp))
|
1755
|
+
goto lambda_out;
|
1756
|
+
}
|
1757
|
+
for (uintN j = 0; i < m; i++, j++) {
|
1758
|
+
if (!PushRegExpSubstr(cx, cx->regExpStatics.moreParens[j], sp))
|
1759
|
+
goto lambda_out;
|
1760
|
+
}
|
1608
1761
|
|
1609
1762
|
/*
|
1610
1763
|
* We need to clear moreParens in the top-of-stack cx->regExpStatics
|
1611
|
-
*
|
1764
|
+
* so it won't be possibly realloc'ed, leaving the bottom-of-stack
|
1612
1765
|
* moreParens pointing to freed memory.
|
1613
1766
|
*/
|
1614
1767
|
cx->regExpStatics.moreParens = NULL;
|
1615
|
-
freeMoreParens =
|
1616
|
-
|
1617
|
-
#undef PUSH_REGEXP_STATIC
|
1768
|
+
freeMoreParens = true;
|
1618
1769
|
|
1619
1770
|
/* Make sure to push undefined for any unmatched parens. */
|
1620
1771
|
for (; i < p; i++)
|
@@ -1622,37 +1773,38 @@ find_replen(JSContext *cx, ReplaceData *rdata, size_t *sizep)
|
|
1622
1773
|
|
1623
1774
|
/* Push match index and input string. */
|
1624
1775
|
*sp++ = INT_TO_JSVAL((jsint)cx->regExpStatics.leftContext.length);
|
1625
|
-
*sp++ = STRING_TO_JSVAL(rdata
|
1776
|
+
*sp++ = STRING_TO_JSVAL(rdata.str);
|
1626
1777
|
|
1627
|
-
|
1628
|
-
|
1629
|
-
|
1630
|
-
|
1631
|
-
|
1632
|
-
|
1633
|
-
|
1634
|
-
|
1635
|
-
|
1636
|
-
|
1637
|
-
|
1638
|
-
|
1639
|
-
|
1640
|
-
|
1641
|
-
|
1778
|
+
if (!js_Invoke(cx, argc, invokevp, 0))
|
1779
|
+
goto lambda_out;
|
1780
|
+
|
1781
|
+
/*
|
1782
|
+
* NB: we count on the newborn string root to hold any string
|
1783
|
+
* created by this js_ValueToString that would otherwise be GC-
|
1784
|
+
* able, until we use rdata.repstr in DoReplace.
|
1785
|
+
*/
|
1786
|
+
repstr = js_ValueToString(cx, *invokevp);
|
1787
|
+
if (!repstr)
|
1788
|
+
goto lambda_out;
|
1789
|
+
|
1790
|
+
rdata.repstr = repstr;
|
1791
|
+
*sizep = repstr->length();
|
1792
|
+
|
1793
|
+
ok = true;
|
1642
1794
|
|
1643
1795
|
lambda_out:
|
1644
1796
|
js_FreeStack(cx, mark);
|
1645
1797
|
if (freeMoreParens)
|
1646
|
-
|
1798
|
+
cx->free(cx->regExpStatics.moreParens);
|
1647
1799
|
cx->regExpStatics = save;
|
1648
1800
|
return ok;
|
1649
1801
|
}
|
1650
1802
|
|
1651
|
-
repstr = rdata
|
1652
|
-
replen =
|
1653
|
-
for (dp = rdata
|
1803
|
+
repstr = rdata.repstr;
|
1804
|
+
replen = repstr->length();
|
1805
|
+
for (dp = rdata.dollar, ep = rdata.dollarEnd; dp;
|
1654
1806
|
dp = js_strchr_limit(dp, '$', ep)) {
|
1655
|
-
sub =
|
1807
|
+
sub = InterpretDollar(cx, dp, ep, rdata, &skip);
|
1656
1808
|
if (sub) {
|
1657
1809
|
replen += sub->length - skip;
|
1658
1810
|
dp += skip;
|
@@ -1661,26 +1813,26 @@ find_replen(JSContext *cx, ReplaceData *rdata, size_t *sizep)
|
|
1661
1813
|
dp++;
|
1662
1814
|
}
|
1663
1815
|
*sizep = replen;
|
1664
|
-
return
|
1816
|
+
return true;
|
1665
1817
|
}
|
1666
1818
|
|
1667
1819
|
static void
|
1668
|
-
|
1820
|
+
DoReplace(JSContext *cx, ReplaceData &rdata, jschar *chars)
|
1669
1821
|
{
|
1670
1822
|
JSString *repstr;
|
1671
1823
|
jschar *bp, *cp, *dp, *ep;
|
1672
1824
|
size_t len, skip;
|
1673
1825
|
JSSubString *sub;
|
1674
1826
|
|
1675
|
-
repstr = rdata
|
1676
|
-
bp = cp =
|
1677
|
-
for (dp = rdata
|
1827
|
+
repstr = rdata.repstr;
|
1828
|
+
bp = cp = repstr->chars();
|
1829
|
+
for (dp = rdata.dollar, ep = rdata.dollarEnd; dp;
|
1678
1830
|
dp = js_strchr_limit(dp, '$', ep)) {
|
1679
1831
|
len = dp - cp;
|
1680
1832
|
js_strncpy(chars, cp, len);
|
1681
1833
|
chars += len;
|
1682
1834
|
cp = dp;
|
1683
|
-
sub =
|
1835
|
+
sub = InterpretDollar(cx, dp, ep, rdata, &skip);
|
1684
1836
|
if (sub) {
|
1685
1837
|
len = sub->length;
|
1686
1838
|
js_strncpy(chars, sub->chars, len);
|
@@ -1691,161 +1843,123 @@ do_replace(JSContext *cx, ReplaceData *rdata, jschar *chars)
|
|
1691
1843
|
dp++;
|
1692
1844
|
}
|
1693
1845
|
}
|
1694
|
-
js_strncpy(chars, cp,
|
1846
|
+
js_strncpy(chars, cp, repstr->length() - (cp - bp));
|
1695
1847
|
}
|
1696
1848
|
|
1697
|
-
static
|
1698
|
-
|
1699
|
-
{
|
1700
|
-
ReplaceData *rdata;
|
1701
|
-
|
1702
|
-
rdata = (ReplaceData *)data;
|
1703
|
-
JS_free(cx, rdata->chars);
|
1704
|
-
rdata->chars = NULL;
|
1705
|
-
}
|
1706
|
-
|
1707
|
-
static JS_REQUIRES_STACK JSBool
|
1708
|
-
replace_glob(JSContext *cx, jsint count, GlobData *data)
|
1849
|
+
static bool
|
1850
|
+
ReplaceCallback(JSContext *cx, size_t count, void *p)
|
1709
1851
|
{
|
1710
|
-
ReplaceData *
|
1711
|
-
|
1712
|
-
|
1713
|
-
|
1714
|
-
|
1715
|
-
|
1716
|
-
|
1717
|
-
|
1718
|
-
|
1719
|
-
|
1720
|
-
|
1721
|
-
|
1722
|
-
|
1723
|
-
|
1724
|
-
|
1725
|
-
growth
|
1726
|
-
|
1727
|
-
|
1728
|
-
|
1729
|
-
|
1730
|
-
: JS_malloc(cx, (growth + 1) * sizeof(jschar)));
|
1731
|
-
if (!chars)
|
1732
|
-
return JS_FALSE;
|
1733
|
-
rdata->chars = chars;
|
1734
|
-
rdata->length += growth;
|
1735
|
-
chars += rdata->index;
|
1736
|
-
rdata->index += growth;
|
1852
|
+
ReplaceData &rdata = *static_cast<ReplaceData *>(p);
|
1853
|
+
|
1854
|
+
rdata.calledBack = true;
|
1855
|
+
JSString *str = rdata.str;
|
1856
|
+
size_t leftoff = rdata.leftIndex;
|
1857
|
+
const jschar *left = str->chars() + leftoff;
|
1858
|
+
size_t leftlen = cx->regExpStatics.lastMatch.chars - left;
|
1859
|
+
rdata.leftIndex = cx->regExpStatics.lastMatch.chars - str->chars();
|
1860
|
+
rdata.leftIndex += cx->regExpStatics.lastMatch.length;
|
1861
|
+
|
1862
|
+
size_t replen = 0; /* silence 'unused' warning */
|
1863
|
+
if (!FindReplaceLength(cx, rdata, &replen))
|
1864
|
+
return false;
|
1865
|
+
|
1866
|
+
size_t growth = leftlen + replen;
|
1867
|
+
if (!rdata.cb.growBy(growth))
|
1868
|
+
return false;
|
1869
|
+
|
1870
|
+
jschar *chars = rdata.cb.begin() + rdata.index;
|
1871
|
+
rdata.index += growth;
|
1737
1872
|
js_strncpy(chars, left, leftlen);
|
1738
1873
|
chars += leftlen;
|
1739
|
-
|
1740
|
-
return
|
1874
|
+
DoReplace(cx, rdata, chars);
|
1875
|
+
return true;
|
1741
1876
|
}
|
1742
1877
|
|
1743
|
-
static
|
1744
|
-
|
1878
|
+
static bool
|
1879
|
+
BuildFlatReplacement(JSContext *cx, JSString *textstr, JSString *repstr,
|
1880
|
+
const RegExpGuard &g, jsval *vp)
|
1745
1881
|
{
|
1746
|
-
|
1747
|
-
|
1882
|
+
if (g.match == -1) {
|
1883
|
+
*vp = STRING_TO_JSVAL(textstr);
|
1884
|
+
return true;
|
1885
|
+
}
|
1748
1886
|
|
1749
|
-
|
1750
|
-
|
1751
|
-
|
1752
|
-
|
1753
|
-
|
1754
|
-
|
1755
|
-
|
1756
|
-
|
1887
|
+
const jschar *rep;
|
1888
|
+
size_t replen;
|
1889
|
+
repstr->getCharsAndLength(rep, replen);
|
1890
|
+
|
1891
|
+
JSCharBuffer cb(cx);
|
1892
|
+
if (!cb.reserve(g.textlen - g.patlen + replen) ||
|
1893
|
+
!cb.append(g.text, static_cast<size_t>(g.match)) ||
|
1894
|
+
!cb.append(rep, replen) ||
|
1895
|
+
!cb.append(g.text + g.match + g.patlen, g.text + g.textlen)) {
|
1896
|
+
return false;
|
1757
1897
|
}
|
1758
1898
|
|
1759
|
-
|
1899
|
+
JSString *str = js_NewStringFromCharBuffer(cx, cb);
|
1900
|
+
if (!str)
|
1901
|
+
return false;
|
1902
|
+
*vp = STRING_TO_JSVAL(str);
|
1903
|
+
return true;
|
1760
1904
|
}
|
1761
1905
|
|
1762
|
-
JSBool
|
1763
|
-
|
1764
|
-
JSString *repstr, jsval *vp)
|
1906
|
+
static JSBool
|
1907
|
+
str_replace(JSContext *cx, uintN argc, jsval *vp)
|
1765
1908
|
{
|
1766
|
-
ReplaceData rdata;
|
1767
|
-
|
1768
|
-
size_t leftlen, rightlen, length;
|
1769
|
-
jschar *chars;
|
1770
|
-
JSString *str;
|
1771
|
-
|
1772
|
-
/*
|
1773
|
-
* For ECMA Edition 3, the first argument is to be converted to a string
|
1774
|
-
* to match in a "flat" sense (without regular expression metachars having
|
1775
|
-
* special meanings) UNLESS the first arg is a RegExp object.
|
1776
|
-
*/
|
1777
|
-
rdata.base.flags = MODE_REPLACE | KEEP_REGEXP | FORCE_FLAT;
|
1778
|
-
rdata.base.optarg = 2;
|
1909
|
+
ReplaceData rdata(cx);
|
1910
|
+
NORMALIZE_THIS(cx, vp, rdata.str);
|
1779
1911
|
|
1780
|
-
|
1781
|
-
|
1782
|
-
|
1783
|
-
|
1784
|
-
return JS_FALSE;
|
1785
|
-
rdata.dollarEnd = JSSTRING_CHARS(repstr) + JSSTRING_LENGTH(repstr);
|
1786
|
-
rdata.dollar = js_strchr_limit(JSSTRING_CHARS(repstr), '$',
|
1787
|
-
rdata.dollarEnd);
|
1788
|
-
} else {
|
1912
|
+
/* Extract replacement string/function. */
|
1913
|
+
if (argc >= 2 && JS_TypeOfValue(cx, vp[3]) == JSTYPE_FUNCTION) {
|
1914
|
+
rdata.lambda = JSVAL_TO_OBJECT(vp[3]);
|
1915
|
+
rdata.repstr = NULL;
|
1789
1916
|
rdata.dollar = rdata.dollarEnd = NULL;
|
1917
|
+
} else {
|
1918
|
+
rdata.lambda = NULL;
|
1919
|
+
rdata.repstr = ArgToRootedString(cx, argc, vp, 1);
|
1920
|
+
if (!rdata.repstr)
|
1921
|
+
return false;
|
1922
|
+
|
1923
|
+
/* We're about to store pointers into the middle of our string. */
|
1924
|
+
if (!js_MakeStringImmutable(cx, rdata.repstr))
|
1925
|
+
return false;
|
1926
|
+
rdata.dollarEnd = rdata.repstr->chars() + rdata.repstr->length();
|
1927
|
+
rdata.dollar = js_strchr_limit(rdata.repstr->chars(), '$',
|
1928
|
+
rdata.dollarEnd);
|
1790
1929
|
}
|
1791
|
-
|
1792
|
-
rdata.
|
1930
|
+
|
1931
|
+
if (!rdata.g.init(argc, vp))
|
1932
|
+
return false;
|
1933
|
+
if (!rdata.dollar && !rdata.lambda &&
|
1934
|
+
rdata.g.tryFlatMatch(rdata.str, true, 2, argc)) {
|
1935
|
+
return BuildFlatReplacement(cx, rdata.str, rdata.repstr, rdata.g, vp);
|
1936
|
+
}
|
1937
|
+
if (!rdata.g.normalizeRegExp(true, 2, argc, vp))
|
1938
|
+
return false;
|
1939
|
+
|
1793
1940
|
rdata.index = 0;
|
1794
1941
|
rdata.leftIndex = 0;
|
1942
|
+
rdata.calledBack = false;
|
1795
1943
|
|
1796
|
-
|
1797
|
-
|
1798
|
-
if (!ok)
|
1799
|
-
return JS_FALSE;
|
1944
|
+
if (!DoMatch(cx, vp, rdata.str, rdata.g, ReplaceCallback, &rdata, REPLACE_ARGS))
|
1945
|
+
return false;
|
1800
1946
|
|
1801
|
-
if (!rdata.
|
1802
|
-
|
1803
|
-
|
1804
|
-
|
1805
|
-
goto out;
|
1806
|
-
}
|
1807
|
-
leftlen = cx->regExpStatics.leftContext.length;
|
1808
|
-
ok = find_replen(cx, &rdata, &length);
|
1809
|
-
if (!ok)
|
1810
|
-
goto out;
|
1811
|
-
length += leftlen;
|
1812
|
-
chars = (jschar *) JS_malloc(cx, (length + 1) * sizeof(jschar));
|
1813
|
-
if (!chars) {
|
1814
|
-
ok = JS_FALSE;
|
1815
|
-
goto out;
|
1816
|
-
}
|
1817
|
-
js_strncpy(chars, cx->regExpStatics.leftContext.chars, leftlen);
|
1818
|
-
do_replace(cx, &rdata, chars + leftlen);
|
1819
|
-
rdata.chars = chars;
|
1820
|
-
rdata.length = length;
|
1947
|
+
if (!rdata.calledBack) {
|
1948
|
+
/* Didn't match, so the string is unmodified. */
|
1949
|
+
*vp = STRING_TO_JSVAL(rdata.str);
|
1950
|
+
return true;
|
1821
1951
|
}
|
1822
1952
|
|
1823
|
-
|
1824
|
-
|
1825
|
-
|
1826
|
-
JS_realloc(cx, rdata.chars, (length + 1) * sizeof(jschar));
|
1827
|
-
if (!chars) {
|
1828
|
-
JS_free(cx, rdata.chars);
|
1829
|
-
ok = JS_FALSE;
|
1830
|
-
goto out;
|
1831
|
-
}
|
1832
|
-
js_strncpy(chars + rdata.length, cx->regExpStatics.rightContext.chars,
|
1833
|
-
rightlen);
|
1834
|
-
chars[length] = 0;
|
1953
|
+
JSSubString *sub = &cx->regExpStatics.rightContext;
|
1954
|
+
if (!rdata.cb.append(sub->chars, sub->length))
|
1955
|
+
return false;
|
1835
1956
|
|
1836
|
-
|
1837
|
-
if (!
|
1838
|
-
|
1839
|
-
ok = JS_FALSE;
|
1840
|
-
goto out;
|
1841
|
-
}
|
1842
|
-
*vp = STRING_TO_JSVAL(str);
|
1957
|
+
JSString *retstr = js_NewStringFromCharBuffer(cx, rdata.cb);
|
1958
|
+
if (!retstr)
|
1959
|
+
return false;
|
1843
1960
|
|
1844
|
-
|
1845
|
-
|
1846
|
-
if (rdata.base.flags & KEEP_REGEXP)
|
1847
|
-
js_DestroyRegExp(cx, rdata.base.regexp);
|
1848
|
-
return ok;
|
1961
|
+
*vp = STRING_TO_JSVAL(retstr);
|
1962
|
+
return true;
|
1849
1963
|
}
|
1850
1964
|
|
1851
1965
|
/*
|
@@ -1877,11 +1991,11 @@ find_split(JSContext *cx, JSString *str, JSRegExp *re, jsint *ip,
|
|
1877
1991
|
* limit argument (see str_split).
|
1878
1992
|
*/
|
1879
1993
|
i = *ip;
|
1880
|
-
length =
|
1994
|
+
length = str->length();
|
1881
1995
|
if ((size_t)i > length)
|
1882
1996
|
return -1;
|
1883
1997
|
|
1884
|
-
chars =
|
1998
|
+
chars = str->chars();
|
1885
1999
|
|
1886
2000
|
/*
|
1887
2001
|
* Match a regular expression against the separator at or above index i.
|
@@ -1908,7 +2022,7 @@ find_split(JSContext *cx, JSString *str, JSRegExp *re, jsint *ip,
|
|
1908
2022
|
/*
|
1909
2023
|
* Empty string match: never split on an empty match at the start
|
1910
2024
|
* of a find_split cycle. Same rule as for an empty global match
|
1911
|
-
* in
|
2025
|
+
* in DoMatch.
|
1912
2026
|
*/
|
1913
2027
|
if (i == *ip) {
|
1914
2028
|
/*
|
@@ -1982,10 +2096,10 @@ str_split(JSContext *cx, uintN argc, jsval *vp)
|
|
1982
2096
|
|
1983
2097
|
if (argc == 0) {
|
1984
2098
|
v = STRING_TO_JSVAL(str);
|
1985
|
-
ok =
|
2099
|
+
ok = arrayobj->setProperty(cx, INT_TO_JSID(0), &v);
|
1986
2100
|
} else {
|
1987
2101
|
if (VALUE_IS_REGEXP(cx, vp[2])) {
|
1988
|
-
re = (JSRegExp *)
|
2102
|
+
re = (JSRegExp *) JSVAL_TO_OBJECT(vp[2])->getPrivate();
|
1989
2103
|
sep = &tmp;
|
1990
2104
|
|
1991
2105
|
/* Set a magic value so we can detect a successful re match. */
|
@@ -2001,7 +2115,7 @@ str_split(JSContext *cx, uintN argc, jsval *vp)
|
|
2001
2115
|
* Point sep at a local copy of str2's header because find_split
|
2002
2116
|
* will modify sep->length.
|
2003
2117
|
*/
|
2004
|
-
|
2118
|
+
str2->getCharsAndLength(tmp.chars, tmp.length);
|
2005
2119
|
sep = &tmp;
|
2006
2120
|
re = NULL;
|
2007
2121
|
}
|
@@ -2016,8 +2130,8 @@ str_split(JSContext *cx, uintN argc, jsval *vp)
|
|
2016
2130
|
|
2017
2131
|
/* Clamp limit between 0 and 1 + string length. */
|
2018
2132
|
limit = js_DoubleToECMAUint32(d);
|
2019
|
-
if (limit >
|
2020
|
-
limit = 1 +
|
2133
|
+
if (limit > str->length())
|
2134
|
+
limit = 1 + str->length();
|
2021
2135
|
}
|
2022
2136
|
|
2023
2137
|
len = i = 0;
|
@@ -2075,7 +2189,7 @@ str_substr(JSContext *cx, uintN argc, jsval *vp)
|
|
2075
2189
|
d = js_ValueToNumber(cx, &vp[2]);
|
2076
2190
|
if (JSVAL_IS_NULL(vp[2]))
|
2077
2191
|
return JS_FALSE;
|
2078
|
-
length =
|
2192
|
+
length = str->length();
|
2079
2193
|
begin = js_DoubleToInteger(d);
|
2080
2194
|
if (begin < 0) {
|
2081
2195
|
begin += length;
|
@@ -2153,14 +2267,14 @@ str_slice(JSContext *cx, uintN argc, jsval *vp)
|
|
2153
2267
|
|
2154
2268
|
str = JSVAL_TO_STRING(t);
|
2155
2269
|
begin = JSVAL_TO_INT(v);
|
2156
|
-
end =
|
2270
|
+
end = str->length();
|
2157
2271
|
if (begin <= end) {
|
2158
2272
|
length = end - begin;
|
2159
2273
|
if (length == 0) {
|
2160
2274
|
str = cx->runtime->emptyString;
|
2161
2275
|
} else {
|
2162
2276
|
str = (length == 1)
|
2163
|
-
?
|
2277
|
+
? JSString::getUnitString(cx, str, begin)
|
2164
2278
|
: js_NewDependentString(cx, str, begin, length);
|
2165
2279
|
if (!str)
|
2166
2280
|
return JS_FALSE;
|
@@ -2179,7 +2293,7 @@ str_slice(JSContext *cx, uintN argc, jsval *vp)
|
|
2179
2293
|
if (JSVAL_IS_NULL(vp[2]))
|
2180
2294
|
return JS_FALSE;
|
2181
2295
|
begin = js_DoubleToInteger(begin);
|
2182
|
-
length =
|
2296
|
+
length = str->length();
|
2183
2297
|
if (begin < 0) {
|
2184
2298
|
begin += length;
|
2185
2299
|
if (begin < 0)
|
@@ -2238,18 +2352,18 @@ tagify(JSContext *cx, const char *begin, JSString *param, const char *end,
|
|
2238
2352
|
taglen = 1 + beglen + 1; /* '<begin' + '>' */
|
2239
2353
|
parlen = 0; /* Avoid warning. */
|
2240
2354
|
if (param) {
|
2241
|
-
parlen =
|
2355
|
+
parlen = param->length();
|
2242
2356
|
taglen += 2 + parlen + 1; /* '="param"' */
|
2243
2357
|
}
|
2244
2358
|
endlen = strlen(end);
|
2245
|
-
taglen +=
|
2359
|
+
taglen += str->length() + 2 + endlen + 1; /* 'str</end>' */
|
2246
2360
|
|
2247
2361
|
if (taglen >= ~(size_t)0 / sizeof(jschar)) {
|
2248
2362
|
js_ReportAllocationOverflow(cx);
|
2249
2363
|
return JS_FALSE;
|
2250
2364
|
}
|
2251
2365
|
|
2252
|
-
tagbuf = (jschar *)
|
2366
|
+
tagbuf = (jschar *) cx->malloc((taglen + 1) * sizeof(jschar));
|
2253
2367
|
if (!tagbuf)
|
2254
2368
|
return JS_FALSE;
|
2255
2369
|
|
@@ -2260,13 +2374,13 @@ tagify(JSContext *cx, const char *begin, JSString *param, const char *end,
|
|
2260
2374
|
if (param) {
|
2261
2375
|
tagbuf[j++] = '=';
|
2262
2376
|
tagbuf[j++] = '"';
|
2263
|
-
js_strncpy(&tagbuf[j],
|
2377
|
+
js_strncpy(&tagbuf[j], param->chars(), parlen);
|
2264
2378
|
j += parlen;
|
2265
2379
|
tagbuf[j++] = '"';
|
2266
2380
|
}
|
2267
2381
|
tagbuf[j++] = '>';
|
2268
|
-
js_strncpy(&tagbuf[j],
|
2269
|
-
j +=
|
2382
|
+
js_strncpy(&tagbuf[j], str->chars(), str->length());
|
2383
|
+
j += str->length();
|
2270
2384
|
tagbuf[j++] = '<';
|
2271
2385
|
tagbuf[j++] = '/';
|
2272
2386
|
for (i = 0; i < endlen; i++)
|
@@ -2277,7 +2391,7 @@ tagify(JSContext *cx, const char *begin, JSString *param, const char *end,
|
|
2277
2391
|
|
2278
2392
|
str = js_NewString(cx, tagbuf, taglen);
|
2279
2393
|
if (!str) {
|
2280
|
-
|
2394
|
+
js_free((char *)tagbuf);
|
2281
2395
|
return JS_FALSE;
|
2282
2396
|
}
|
2283
2397
|
*vp = STRING_TO_JSVAL(str);
|
@@ -2379,16 +2493,13 @@ str_sub(JSContext *cx, uintN argc, jsval *vp)
|
|
2379
2493
|
JSString* FASTCALL
|
2380
2494
|
js_String_getelem(JSContext* cx, JSString* str, int32 i)
|
2381
2495
|
{
|
2382
|
-
if ((size_t)i >=
|
2496
|
+
if ((size_t)i >= str->length())
|
2383
2497
|
return NULL;
|
2384
|
-
return
|
2498
|
+
return JSString::getUnitString(cx, str, size_t(i));
|
2385
2499
|
}
|
2386
2500
|
#endif
|
2387
2501
|
|
2388
|
-
|
2389
|
-
JS_DEFINE_CALLINFO_2(extern, INT32, js_CompareStrings, STRING, STRING, 1, 1)
|
2390
|
-
|
2391
|
-
JS_DEFINE_TRCINFO_1(str_toString,
|
2502
|
+
JS_DEFINE_TRCINFO_1(js_str_toString,
|
2392
2503
|
(2, (extern, STRING_RETRY, String_p_toString, CONTEXT, THIS, 1, 1)))
|
2393
2504
|
JS_DEFINE_TRCINFO_1(str_charAt,
|
2394
2505
|
(3, (extern, STRING_RETRY, js_String_getelem, CONTEXT, THIS_STRING, INT32, 1, 1)))
|
@@ -2409,14 +2520,14 @@ static JSFunctionSpec string_methods[] = {
|
|
2409
2520
|
#endif
|
2410
2521
|
|
2411
2522
|
/* Java-like methods. */
|
2412
|
-
JS_TN(js_toString_str,
|
2413
|
-
JS_FN(js_valueOf_str,
|
2414
|
-
JS_FN(js_toJSON_str,
|
2523
|
+
JS_TN(js_toString_str, js_str_toString, 0,JSFUN_THISP_STRING, &js_str_toString_trcinfo),
|
2524
|
+
JS_FN(js_valueOf_str, js_str_toString, 0,JSFUN_THISP_STRING),
|
2525
|
+
JS_FN(js_toJSON_str, js_str_toString, 0,JSFUN_THISP_STRING),
|
2415
2526
|
JS_FN("substring", str_substring, 2,GENERIC_PRIMITIVE),
|
2416
2527
|
JS_FN("toLowerCase", str_toLowerCase, 0,GENERIC_PRIMITIVE),
|
2417
2528
|
JS_FN("toUpperCase", str_toUpperCase, 0,GENERIC_PRIMITIVE),
|
2418
|
-
JS_TN("charAt", str_charAt, 1,GENERIC_PRIMITIVE, str_charAt_trcinfo),
|
2419
|
-
JS_TN("charCodeAt", str_charCodeAt, 1,GENERIC_PRIMITIVE, str_charCodeAt_trcinfo),
|
2529
|
+
JS_TN("charAt", str_charAt, 1,GENERIC_PRIMITIVE, &str_charAt_trcinfo),
|
2530
|
+
JS_TN("charCodeAt", str_charCodeAt, 1,GENERIC_PRIMITIVE, &str_charCodeAt_trcinfo),
|
2420
2531
|
JS_FN("indexOf", str_indexOf, 1,GENERIC_PRIMITIVE),
|
2421
2532
|
JS_FN("lastIndexOf", str_lastIndexOf, 1,GENERIC_PRIMITIVE),
|
2422
2533
|
JS_FN("trim", str_trim, 0,GENERIC_PRIMITIVE),
|
@@ -2436,7 +2547,7 @@ static JSFunctionSpec string_methods[] = {
|
|
2436
2547
|
#endif
|
2437
2548
|
|
2438
2549
|
/* Python-esque sequence methods. */
|
2439
|
-
JS_TN("concat", str_concat, 1,GENERIC_PRIMITIVE, str_concat_trcinfo),
|
2550
|
+
JS_TN("concat", str_concat, 1,GENERIC_PRIMITIVE, &str_concat_trcinfo),
|
2440
2551
|
JS_FN("slice", str_slice, 2,GENERIC_PRIMITIVE),
|
2441
2552
|
|
2442
2553
|
/* HTML string methods. */
|
@@ -2459,6 +2570,304 @@ static JSFunctionSpec string_methods[] = {
|
|
2459
2570
|
JS_FS_END
|
2460
2571
|
};
|
2461
2572
|
|
2573
|
+
#define C(c) c, 0x00
|
2574
|
+
|
2575
|
+
/*
|
2576
|
+
* String data for all unit strings (including zero-char backstop required for independent strings),
|
2577
|
+
* packed into single array.
|
2578
|
+
*/
|
2579
|
+
static const jschar UnitStringData[] = {
|
2580
|
+
C(0x00), C(0x01), C(0x02), C(0x03), C(0x04), C(0x05), C(0x06), C(0x07),
|
2581
|
+
C(0x08), C(0x09), C(0x0a), C(0x0b), C(0x0c), C(0x0d), C(0x0e), C(0x0f),
|
2582
|
+
C(0x10), C(0x11), C(0x12), C(0x13), C(0x14), C(0x15), C(0x16), C(0x17),
|
2583
|
+
C(0x18), C(0x19), C(0x1a), C(0x1b), C(0x1c), C(0x1d), C(0x1e), C(0x1f),
|
2584
|
+
C(0x20), C(0x21), C(0x22), C(0x23), C(0x24), C(0x25), C(0x26), C(0x27),
|
2585
|
+
C(0x28), C(0x29), C(0x2a), C(0x2b), C(0x2c), C(0x2d), C(0x2e), C(0x2f),
|
2586
|
+
C(0x30), C(0x31), C(0x32), C(0x33), C(0x34), C(0x35), C(0x36), C(0x37),
|
2587
|
+
C(0x38), C(0x39), C(0x3a), C(0x3b), C(0x3c), C(0x3d), C(0x3e), C(0x3f),
|
2588
|
+
C(0x40), C(0x41), C(0x42), C(0x43), C(0x44), C(0x45), C(0x46), C(0x47),
|
2589
|
+
C(0x48), C(0x49), C(0x4a), C(0x4b), C(0x4c), C(0x4d), C(0x4e), C(0x4f),
|
2590
|
+
C(0x50), C(0x51), C(0x52), C(0x53), C(0x54), C(0x55), C(0x56), C(0x57),
|
2591
|
+
C(0x58), C(0x59), C(0x5a), C(0x5b), C(0x5c), C(0x5d), C(0x5e), C(0x5f),
|
2592
|
+
C(0x60), C(0x61), C(0x62), C(0x63), C(0x64), C(0x65), C(0x66), C(0x67),
|
2593
|
+
C(0x68), C(0x69), C(0x6a), C(0x6b), C(0x6c), C(0x6d), C(0x6e), C(0x6f),
|
2594
|
+
C(0x70), C(0x71), C(0x72), C(0x73), C(0x74), C(0x75), C(0x76), C(0x77),
|
2595
|
+
C(0x78), C(0x79), C(0x7a), C(0x7b), C(0x7c), C(0x7d), C(0x7e), C(0x7f),
|
2596
|
+
C(0x80), C(0x81), C(0x82), C(0x83), C(0x84), C(0x85), C(0x86), C(0x87),
|
2597
|
+
C(0x88), C(0x89), C(0x8a), C(0x8b), C(0x8c), C(0x8d), C(0x8e), C(0x8f),
|
2598
|
+
C(0x90), C(0x91), C(0x92), C(0x93), C(0x94), C(0x95), C(0x96), C(0x97),
|
2599
|
+
C(0x98), C(0x99), C(0x9a), C(0x9b), C(0x9c), C(0x9d), C(0x9e), C(0x9f),
|
2600
|
+
C(0xa0), C(0xa1), C(0xa2), C(0xa3), C(0xa4), C(0xa5), C(0xa6), C(0xa7),
|
2601
|
+
C(0xa8), C(0xa9), C(0xaa), C(0xab), C(0xac), C(0xad), C(0xae), C(0xaf),
|
2602
|
+
C(0xb0), C(0xb1), C(0xb2), C(0xb3), C(0xb4), C(0xb5), C(0xb6), C(0xb7),
|
2603
|
+
C(0xb8), C(0xb9), C(0xba), C(0xbb), C(0xbc), C(0xbd), C(0xbe), C(0xbf),
|
2604
|
+
C(0xc0), C(0xc1), C(0xc2), C(0xc3), C(0xc4), C(0xc5), C(0xc6), C(0xc7),
|
2605
|
+
C(0xc8), C(0xc9), C(0xca), C(0xcb), C(0xcc), C(0xcd), C(0xce), C(0xcf),
|
2606
|
+
C(0xd0), C(0xd1), C(0xd2), C(0xd3), C(0xd4), C(0xd5), C(0xd6), C(0xd7),
|
2607
|
+
C(0xd8), C(0xd9), C(0xda), C(0xdb), C(0xdc), C(0xdd), C(0xde), C(0xdf),
|
2608
|
+
C(0xe0), C(0xe1), C(0xe2), C(0xe3), C(0xe4), C(0xe5), C(0xe6), C(0xe7),
|
2609
|
+
C(0xe8), C(0xe9), C(0xea), C(0xeb), C(0xec), C(0xed), C(0xee), C(0xef),
|
2610
|
+
C(0xf0), C(0xf1), C(0xf2), C(0xf3), C(0xf4), C(0xf5), C(0xf6), C(0xf7),
|
2611
|
+
C(0xf8), C(0xf9), C(0xfa), C(0xfb), C(0xfc), C(0xfd), C(0xfe), C(0xff)
|
2612
|
+
};
|
2613
|
+
|
2614
|
+
#define U(c) { 1 | JSString::ATOMIZED, {(jschar *)UnitStringData + (c) * 2} }
|
2615
|
+
|
2616
|
+
#ifdef __SUNPRO_CC
|
2617
|
+
#pragma pack(8)
|
2618
|
+
#else
|
2619
|
+
#pragma pack(push, 8)
|
2620
|
+
#endif
|
2621
|
+
|
2622
|
+
JSString JSString::unitStringTable[]
|
2623
|
+
#ifdef __GNUC__
|
2624
|
+
__attribute__ ((aligned (8)))
|
2625
|
+
#endif
|
2626
|
+
= {
|
2627
|
+
U(0x00), U(0x01), U(0x02), U(0x03), U(0x04), U(0x05), U(0x06), U(0x07),
|
2628
|
+
U(0x08), U(0x09), U(0x0a), U(0x0b), U(0x0c), U(0x0d), U(0x0e), U(0x0f),
|
2629
|
+
U(0x10), U(0x11), U(0x12), U(0x13), U(0x14), U(0x15), U(0x16), U(0x17),
|
2630
|
+
U(0x18), U(0x19), U(0x1a), U(0x1b), U(0x1c), U(0x1d), U(0x1e), U(0x1f),
|
2631
|
+
U(0x20), U(0x21), U(0x22), U(0x23), U(0x24), U(0x25), U(0x26), U(0x27),
|
2632
|
+
U(0x28), U(0x29), U(0x2a), U(0x2b), U(0x2c), U(0x2d), U(0x2e), U(0x2f),
|
2633
|
+
U(0x30), U(0x31), U(0x32), U(0x33), U(0x34), U(0x35), U(0x36), U(0x37),
|
2634
|
+
U(0x38), U(0x39), U(0x3a), U(0x3b), U(0x3c), U(0x3d), U(0x3e), U(0x3f),
|
2635
|
+
U(0x40), U(0x41), U(0x42), U(0x43), U(0x44), U(0x45), U(0x46), U(0x47),
|
2636
|
+
U(0x48), U(0x49), U(0x4a), U(0x4b), U(0x4c), U(0x4d), U(0x4e), U(0x4f),
|
2637
|
+
U(0x50), U(0x51), U(0x52), U(0x53), U(0x54), U(0x55), U(0x56), U(0x57),
|
2638
|
+
U(0x58), U(0x59), U(0x5a), U(0x5b), U(0x5c), U(0x5d), U(0x5e), U(0x5f),
|
2639
|
+
U(0x60), U(0x61), U(0x62), U(0x63), U(0x64), U(0x65), U(0x66), U(0x67),
|
2640
|
+
U(0x68), U(0x69), U(0x6a), U(0x6b), U(0x6c), U(0x6d), U(0x6e), U(0x6f),
|
2641
|
+
U(0x70), U(0x71), U(0x72), U(0x73), U(0x74), U(0x75), U(0x76), U(0x77),
|
2642
|
+
U(0x78), U(0x79), U(0x7a), U(0x7b), U(0x7c), U(0x7d), U(0x7e), U(0x7f),
|
2643
|
+
U(0x80), U(0x81), U(0x82), U(0x83), U(0x84), U(0x85), U(0x86), U(0x87),
|
2644
|
+
U(0x88), U(0x89), U(0x8a), U(0x8b), U(0x8c), U(0x8d), U(0x8e), U(0x8f),
|
2645
|
+
U(0x90), U(0x91), U(0x92), U(0x93), U(0x94), U(0x95), U(0x96), U(0x97),
|
2646
|
+
U(0x98), U(0x99), U(0x9a), U(0x9b), U(0x9c), U(0x9d), U(0x9e), U(0x9f),
|
2647
|
+
U(0xa0), U(0xa1), U(0xa2), U(0xa3), U(0xa4), U(0xa5), U(0xa6), U(0xa7),
|
2648
|
+
U(0xa8), U(0xa9), U(0xaa), U(0xab), U(0xac), U(0xad), U(0xae), U(0xaf),
|
2649
|
+
U(0xb0), U(0xb1), U(0xb2), U(0xb3), U(0xb4), U(0xb5), U(0xb6), U(0xb7),
|
2650
|
+
U(0xb8), U(0xb9), U(0xba), U(0xbb), U(0xbc), U(0xbd), U(0xbe), U(0xbf),
|
2651
|
+
U(0xc0), U(0xc1), U(0xc2), U(0xc3), U(0xc4), U(0xc5), U(0xc6), U(0xc7),
|
2652
|
+
U(0xc8), U(0xc9), U(0xca), U(0xcb), U(0xcc), U(0xcd), U(0xce), U(0xcf),
|
2653
|
+
U(0xd0), U(0xd1), U(0xd2), U(0xd3), U(0xd4), U(0xd5), U(0xd6), U(0xd7),
|
2654
|
+
U(0xd8), U(0xd9), U(0xda), U(0xdb), U(0xdc), U(0xdd), U(0xde), U(0xdf),
|
2655
|
+
U(0xe0), U(0xe1), U(0xe2), U(0xe3), U(0xe4), U(0xe5), U(0xe6), U(0xe7),
|
2656
|
+
U(0xe8), U(0xe9), U(0xea), U(0xeb), U(0xec), U(0xed), U(0xee), U(0xef),
|
2657
|
+
U(0xf0), U(0xf1), U(0xf2), U(0xf3), U(0xf4), U(0xf5), U(0xf6), U(0xf7),
|
2658
|
+
U(0xf8), U(0xf9), U(0xfa), U(0xfb), U(0xfc), U(0xfd), U(0xfe), U(0xff)
|
2659
|
+
};
|
2660
|
+
|
2661
|
+
#ifdef __SUNPRO_CC
|
2662
|
+
#pragma pack(0)
|
2663
|
+
#else
|
2664
|
+
#pragma pack(pop)
|
2665
|
+
#endif
|
2666
|
+
|
2667
|
+
#undef U
|
2668
|
+
|
2669
|
+
#define O0(c) 0x30, C(c)
|
2670
|
+
#define O1(c) 0x31, C(c) /* template for 10 .. 19 */
|
2671
|
+
#define O2(c) 0x32, C(c) /* template for 20 .. 29 */
|
2672
|
+
#define O3(c) 0x33, C(c)
|
2673
|
+
#define O4(c) 0x34, C(c)
|
2674
|
+
#define O5(c) 0x35, C(c)
|
2675
|
+
#define O6(c) 0x36, C(c)
|
2676
|
+
#define O7(c) 0x37, C(c)
|
2677
|
+
#define O8(c) 0x38, C(c)
|
2678
|
+
#define O9(c) 0x39, C(c)
|
2679
|
+
|
2680
|
+
#define O10(c) 0x31, O0(c) /* template for 100 .. 109 */
|
2681
|
+
#define O11(c) 0x31, O1(c) /* template for 110 .. 119 */
|
2682
|
+
#define O12(c) 0x31, O2(c)
|
2683
|
+
#define O13(c) 0x31, O3(c)
|
2684
|
+
#define O14(c) 0x31, O4(c)
|
2685
|
+
#define O15(c) 0x31, O5(c)
|
2686
|
+
#define O16(c) 0x31, O6(c)
|
2687
|
+
#define O17(c) 0x31, O7(c)
|
2688
|
+
#define O18(c) 0x31, O8(c)
|
2689
|
+
#define O19(c) 0x31, O9(c)
|
2690
|
+
#define O20(c) 0x32, O0(c)
|
2691
|
+
#define O21(c) 0x32, O1(c)
|
2692
|
+
#define O22(c) 0x32, O2(c)
|
2693
|
+
#define O23(c) 0x32, O3(c)
|
2694
|
+
#define O24(c) 0x32, O4(c)
|
2695
|
+
#define O25(c) 0x32, O5(c)
|
2696
|
+
|
2697
|
+
/*
|
2698
|
+
* Array starts with 100, 101, 102... (0x31 0x30 0x30 0x00 for 100\0)
|
2699
|
+
* 100, 101, 102 also share the pointers to 0, 1, 2 ...
|
2700
|
+
* 110, 111, 112 also share the pointers to 10, 11, 12...
|
2701
|
+
*/
|
2702
|
+
static const jschar Hundreds[] = {
|
2703
|
+
O10(0x30), O10(0x31), O10(0x32), O10(0x33), O10(0x34), O10(0x35), O10(0x36), O10(0x37), O10(0x38), O10(0x39),
|
2704
|
+
O11(0x30), O11(0x31), O11(0x32), O11(0x33), O11(0x34), O11(0x35), O11(0x36), O11(0x37), O11(0x38), O11(0x39),
|
2705
|
+
O12(0x30), O12(0x31), O12(0x32), O12(0x33), O12(0x34), O12(0x35), O12(0x36), O12(0x37), O12(0x38), O12(0x39),
|
2706
|
+
O13(0x30), O13(0x31), O13(0x32), O13(0x33), O13(0x34), O13(0x35), O13(0x36), O13(0x37), O13(0x38), O13(0x39),
|
2707
|
+
O14(0x30), O14(0x31), O14(0x32), O14(0x33), O14(0x34), O14(0x35), O14(0x36), O14(0x37), O14(0x38), O14(0x39),
|
2708
|
+
O15(0x30), O15(0x31), O15(0x32), O15(0x33), O15(0x34), O15(0x35), O15(0x36), O15(0x37), O15(0x38), O15(0x39),
|
2709
|
+
O16(0x30), O16(0x31), O16(0x32), O16(0x33), O16(0x34), O16(0x35), O16(0x36), O16(0x37), O16(0x38), O16(0x39),
|
2710
|
+
O17(0x30), O17(0x31), O17(0x32), O17(0x33), O17(0x34), O17(0x35), O17(0x36), O17(0x37), O17(0x38), O17(0x39),
|
2711
|
+
O18(0x30), O18(0x31), O18(0x32), O18(0x33), O18(0x34), O18(0x35), O18(0x36), O18(0x37), O18(0x38), O18(0x39),
|
2712
|
+
O19(0x30), O19(0x31), O19(0x32), O19(0x33), O19(0x34), O19(0x35), O19(0x36), O19(0x37), O19(0x38), O19(0x39),
|
2713
|
+
O20(0x30), O20(0x31), O20(0x32), O20(0x33), O20(0x34), O20(0x35), O20(0x36), O20(0x37), O20(0x38), O20(0x39),
|
2714
|
+
O21(0x30), O21(0x31), O21(0x32), O21(0x33), O21(0x34), O21(0x35), O21(0x36), O21(0x37), O21(0x38), O21(0x39),
|
2715
|
+
O22(0x30), O22(0x31), O22(0x32), O22(0x33), O22(0x34), O22(0x35), O22(0x36), O22(0x37), O22(0x38), O22(0x39),
|
2716
|
+
O23(0x30), O23(0x31), O23(0x32), O23(0x33), O23(0x34), O23(0x35), O23(0x36), O23(0x37), O23(0x38), O23(0x39),
|
2717
|
+
O24(0x30), O24(0x31), O24(0x32), O24(0x33), O24(0x34), O24(0x35), O24(0x36), O24(0x37), O24(0x38), O24(0x39),
|
2718
|
+
O25(0x30), O25(0x31), O25(0x32), O25(0x33), O25(0x34), O25(0x35)
|
2719
|
+
};
|
2720
|
+
|
2721
|
+
#define L1(c) { 1 | JSString::ATOMIZED, {(jschar *)Hundreds + 2 + (c) * 4} } /* length 1: 0..9 */
|
2722
|
+
#define L2(c) { 2 | JSString::ATOMIZED, {(jschar *)Hundreds + 41 + (c - 10) * 4} } /* length 2: 10..99 */
|
2723
|
+
#define L3(c) { 3 | JSString::ATOMIZED, {(jschar *)Hundreds + (c - 100) * 4} } /* length 3: 100..255 */
|
2724
|
+
|
2725
|
+
#ifdef __SUNPRO_CC
|
2726
|
+
#pragma pack(8)
|
2727
|
+
#else
|
2728
|
+
#pragma pack(push, 8)
|
2729
|
+
#endif
|
2730
|
+
|
2731
|
+
JSString JSString::intStringTable[]
|
2732
|
+
#ifdef __GNUC__
|
2733
|
+
__attribute__ ((aligned (8)))
|
2734
|
+
#endif
|
2735
|
+
= {
|
2736
|
+
L1(0x00), L1(0x01), L1(0x02), L1(0x03), L1(0x04), L1(0x05), L1(0x06), L1(0x07),
|
2737
|
+
L1(0x08), L1(0x09), L2(0x0a), L2(0x0b), L2(0x0c), L2(0x0d), L2(0x0e), L2(0x0f),
|
2738
|
+
L2(0x10), L2(0x11), L2(0x12), L2(0x13), L2(0x14), L2(0x15), L2(0x16), L2(0x17),
|
2739
|
+
L2(0x18), L2(0x19), L2(0x1a), L2(0x1b), L2(0x1c), L2(0x1d), L2(0x1e), L2(0x1f),
|
2740
|
+
L2(0x20), L2(0x21), L2(0x22), L2(0x23), L2(0x24), L2(0x25), L2(0x26), L2(0x27),
|
2741
|
+
L2(0x28), L2(0x29), L2(0x2a), L2(0x2b), L2(0x2c), L2(0x2d), L2(0x2e), L2(0x2f),
|
2742
|
+
L2(0x30), L2(0x31), L2(0x32), L2(0x33), L2(0x34), L2(0x35), L2(0x36), L2(0x37),
|
2743
|
+
L2(0x38), L2(0x39), L2(0x3a), L2(0x3b), L2(0x3c), L2(0x3d), L2(0x3e), L2(0x3f),
|
2744
|
+
L2(0x40), L2(0x41), L2(0x42), L2(0x43), L2(0x44), L2(0x45), L2(0x46), L2(0x47),
|
2745
|
+
L2(0x48), L2(0x49), L2(0x4a), L2(0x4b), L2(0x4c), L2(0x4d), L2(0x4e), L2(0x4f),
|
2746
|
+
L2(0x50), L2(0x51), L2(0x52), L2(0x53), L2(0x54), L2(0x55), L2(0x56), L2(0x57),
|
2747
|
+
L2(0x58), L2(0x59), L2(0x5a), L2(0x5b), L2(0x5c), L2(0x5d), L2(0x5e), L2(0x5f),
|
2748
|
+
L2(0x60), L2(0x61), L2(0x62), L2(0x63), L3(0x64), L3(0x65), L3(0x66), L3(0x67),
|
2749
|
+
L3(0x68), L3(0x69), L3(0x6a), L3(0x6b), L3(0x6c), L3(0x6d), L3(0x6e), L3(0x6f),
|
2750
|
+
L3(0x70), L3(0x71), L3(0x72), L3(0x73), L3(0x74), L3(0x75), L3(0x76), L3(0x77),
|
2751
|
+
L3(0x78), L3(0x79), L3(0x7a), L3(0x7b), L3(0x7c), L3(0x7d), L3(0x7e), L3(0x7f),
|
2752
|
+
L3(0x80), L3(0x81), L3(0x82), L3(0x83), L3(0x84), L3(0x85), L3(0x86), L3(0x87),
|
2753
|
+
L3(0x88), L3(0x89), L3(0x8a), L3(0x8b), L3(0x8c), L3(0x8d), L3(0x8e), L3(0x8f),
|
2754
|
+
L3(0x90), L3(0x91), L3(0x92), L3(0x93), L3(0x94), L3(0x95), L3(0x96), L3(0x97),
|
2755
|
+
L3(0x98), L3(0x99), L3(0x9a), L3(0x9b), L3(0x9c), L3(0x9d), L3(0x9e), L3(0x9f),
|
2756
|
+
L3(0xa0), L3(0xa1), L3(0xa2), L3(0xa3), L3(0xa4), L3(0xa5), L3(0xa6), L3(0xa7),
|
2757
|
+
L3(0xa8), L3(0xa9), L3(0xaa), L3(0xab), L3(0xac), L3(0xad), L3(0xae), L3(0xaf),
|
2758
|
+
L3(0xb0), L3(0xb1), L3(0xb2), L3(0xb3), L3(0xb4), L3(0xb5), L3(0xb6), L3(0xb7),
|
2759
|
+
L3(0xb8), L3(0xb9), L3(0xba), L3(0xbb), L3(0xbc), L3(0xbd), L3(0xbe), L3(0xbf),
|
2760
|
+
L3(0xc0), L3(0xc1), L3(0xc2), L3(0xc3), L3(0xc4), L3(0xc5), L3(0xc6), L3(0xc7),
|
2761
|
+
L3(0xc8), L3(0xc9), L3(0xca), L3(0xcb), L3(0xcc), L3(0xcd), L3(0xce), L3(0xcf),
|
2762
|
+
L3(0xd0), L3(0xd1), L3(0xd2), L3(0xd3), L3(0xd4), L3(0xd5), L3(0xd6), L3(0xd7),
|
2763
|
+
L3(0xd8), L3(0xd9), L3(0xda), L3(0xdb), L3(0xdc), L3(0xdd), L3(0xde), L3(0xdf),
|
2764
|
+
L3(0xe0), L3(0xe1), L3(0xe2), L3(0xe3), L3(0xe4), L3(0xe5), L3(0xe6), L3(0xe7),
|
2765
|
+
L3(0xe8), L3(0xe9), L3(0xea), L3(0xeb), L3(0xec), L3(0xed), L3(0xee), L3(0xef),
|
2766
|
+
L3(0xf0), L3(0xf1), L3(0xf2), L3(0xf3), L3(0xf4), L3(0xf5), L3(0xf6), L3(0xf7),
|
2767
|
+
L3(0xf8), L3(0xf9), L3(0xfa), L3(0xfb), L3(0xfc), L3(0xfd), L3(0xfe), L3(0xff)
|
2768
|
+
};
|
2769
|
+
|
2770
|
+
#ifdef __SUNPRO_CC
|
2771
|
+
#pragma pack(0)
|
2772
|
+
#else
|
2773
|
+
#pragma pack(pop)
|
2774
|
+
#endif
|
2775
|
+
|
2776
|
+
#undef L1
|
2777
|
+
#undef L2
|
2778
|
+
#undef L3
|
2779
|
+
|
2780
|
+
static const char AsciiHundreds[] = {
|
2781
|
+
O10(0x30), O10(0x31), O10(0x32), O10(0x33), O10(0x34), O10(0x35), O10(0x36), O10(0x37), O10(0x38), O10(0x39),
|
2782
|
+
O11(0x30), O11(0x31), O11(0x32), O11(0x33), O11(0x34), O11(0x35), O11(0x36), O11(0x37), O11(0x38), O11(0x39),
|
2783
|
+
O12(0x30), O12(0x31), O12(0x32), O12(0x33), O12(0x34), O12(0x35), O12(0x36), O12(0x37), O12(0x38), O12(0x39),
|
2784
|
+
O13(0x30), O13(0x31), O13(0x32), O13(0x33), O13(0x34), O13(0x35), O13(0x36), O13(0x37), O13(0x38), O13(0x39),
|
2785
|
+
O14(0x30), O14(0x31), O14(0x32), O14(0x33), O14(0x34), O14(0x35), O14(0x36), O14(0x37), O14(0x38), O14(0x39),
|
2786
|
+
O15(0x30), O15(0x31), O15(0x32), O15(0x33), O15(0x34), O15(0x35), O15(0x36), O15(0x37), O15(0x38), O15(0x39),
|
2787
|
+
O16(0x30), O16(0x31), O16(0x32), O16(0x33), O16(0x34), O16(0x35), O16(0x36), O16(0x37), O16(0x38), O16(0x39),
|
2788
|
+
O17(0x30), O17(0x31), O17(0x32), O17(0x33), O17(0x34), O17(0x35), O17(0x36), O17(0x37), O17(0x38), O17(0x39),
|
2789
|
+
O18(0x30), O18(0x31), O18(0x32), O18(0x33), O18(0x34), O18(0x35), O18(0x36), O18(0x37), O18(0x38), O18(0x39),
|
2790
|
+
O19(0x30), O19(0x31), O19(0x32), O19(0x33), O19(0x34), O19(0x35), O19(0x36), O19(0x37), O19(0x38), O19(0x39),
|
2791
|
+
O20(0x30), O20(0x31), O20(0x32), O20(0x33), O20(0x34), O20(0x35), O20(0x36), O20(0x37), O20(0x38), O20(0x39),
|
2792
|
+
O21(0x30), O21(0x31), O21(0x32), O21(0x33), O21(0x34), O21(0x35), O21(0x36), O21(0x37), O21(0x38), O21(0x39),
|
2793
|
+
O22(0x30), O22(0x31), O22(0x32), O22(0x33), O22(0x34), O22(0x35), O22(0x36), O22(0x37), O22(0x38), O22(0x39),
|
2794
|
+
O23(0x30), O23(0x31), O23(0x32), O23(0x33), O23(0x34), O23(0x35), O23(0x36), O23(0x37), O23(0x38), O23(0x39),
|
2795
|
+
O24(0x30), O24(0x31), O24(0x32), O24(0x33), O24(0x34), O24(0x35), O24(0x36), O24(0x37), O24(0x38), O24(0x39),
|
2796
|
+
O25(0x30), O25(0x31), O25(0x32), O25(0x33), O25(0x34), O25(0x35)
|
2797
|
+
};
|
2798
|
+
|
2799
|
+
#define L1(c) (AsciiHundreds + 2 + (c) * 4) /* length 1: 0..9 */
|
2800
|
+
#define L2(c) (AsciiHundreds + 41 + (c - 10) * 4) /* length 2: 10..99 */
|
2801
|
+
#define L3(c) (AsciiHundreds + (c - 100) * 4) /* length 3: 100..255 */
|
2802
|
+
|
2803
|
+
const char *JSString::deflatedIntStringTable[] = {
|
2804
|
+
L1(0x00), L1(0x01), L1(0x02), L1(0x03), L1(0x04), L1(0x05), L1(0x06), L1(0x07),
|
2805
|
+
L1(0x08), L1(0x09), L2(0x0a), L2(0x0b), L2(0x0c), L2(0x0d), L2(0x0e), L2(0x0f),
|
2806
|
+
L2(0x10), L2(0x11), L2(0x12), L2(0x13), L2(0x14), L2(0x15), L2(0x16), L2(0x17),
|
2807
|
+
L2(0x18), L2(0x19), L2(0x1a), L2(0x1b), L2(0x1c), L2(0x1d), L2(0x1e), L2(0x1f),
|
2808
|
+
L2(0x20), L2(0x21), L2(0x22), L2(0x23), L2(0x24), L2(0x25), L2(0x26), L2(0x27),
|
2809
|
+
L2(0x28), L2(0x29), L2(0x2a), L2(0x2b), L2(0x2c), L2(0x2d), L2(0x2e), L2(0x2f),
|
2810
|
+
L2(0x30), L2(0x31), L2(0x32), L2(0x33), L2(0x34), L2(0x35), L2(0x36), L2(0x37),
|
2811
|
+
L2(0x38), L2(0x39), L2(0x3a), L2(0x3b), L2(0x3c), L2(0x3d), L2(0x3e), L2(0x3f),
|
2812
|
+
L2(0x40), L2(0x41), L2(0x42), L2(0x43), L2(0x44), L2(0x45), L2(0x46), L2(0x47),
|
2813
|
+
L2(0x48), L2(0x49), L2(0x4a), L2(0x4b), L2(0x4c), L2(0x4d), L2(0x4e), L2(0x4f),
|
2814
|
+
L2(0x50), L2(0x51), L2(0x52), L2(0x53), L2(0x54), L2(0x55), L2(0x56), L2(0x57),
|
2815
|
+
L2(0x58), L2(0x59), L2(0x5a), L2(0x5b), L2(0x5c), L2(0x5d), L2(0x5e), L2(0x5f),
|
2816
|
+
L2(0x60), L2(0x61), L2(0x62), L2(0x63), L3(0x64), L3(0x65), L3(0x66), L3(0x67),
|
2817
|
+
L3(0x68), L3(0x69), L3(0x6a), L3(0x6b), L3(0x6c), L3(0x6d), L3(0x6e), L3(0x6f),
|
2818
|
+
L3(0x70), L3(0x71), L3(0x72), L3(0x73), L3(0x74), L3(0x75), L3(0x76), L3(0x77),
|
2819
|
+
L3(0x78), L3(0x79), L3(0x7a), L3(0x7b), L3(0x7c), L3(0x7d), L3(0x7e), L3(0x7f),
|
2820
|
+
L3(0x80), L3(0x81), L3(0x82), L3(0x83), L3(0x84), L3(0x85), L3(0x86), L3(0x87),
|
2821
|
+
L3(0x88), L3(0x89), L3(0x8a), L3(0x8b), L3(0x8c), L3(0x8d), L3(0x8e), L3(0x8f),
|
2822
|
+
L3(0x90), L3(0x91), L3(0x92), L3(0x93), L3(0x94), L3(0x95), L3(0x96), L3(0x97),
|
2823
|
+
L3(0x98), L3(0x99), L3(0x9a), L3(0x9b), L3(0x9c), L3(0x9d), L3(0x9e), L3(0x9f),
|
2824
|
+
L3(0xa0), L3(0xa1), L3(0xa2), L3(0xa3), L3(0xa4), L3(0xa5), L3(0xa6), L3(0xa7),
|
2825
|
+
L3(0xa8), L3(0xa9), L3(0xaa), L3(0xab), L3(0xac), L3(0xad), L3(0xae), L3(0xaf),
|
2826
|
+
L3(0xb0), L3(0xb1), L3(0xb2), L3(0xb3), L3(0xb4), L3(0xb5), L3(0xb6), L3(0xb7),
|
2827
|
+
L3(0xb8), L3(0xb9), L3(0xba), L3(0xbb), L3(0xbc), L3(0xbd), L3(0xbe), L3(0xbf),
|
2828
|
+
L3(0xc0), L3(0xc1), L3(0xc2), L3(0xc3), L3(0xc4), L3(0xc5), L3(0xc6), L3(0xc7),
|
2829
|
+
L3(0xc8), L3(0xc9), L3(0xca), L3(0xcb), L3(0xcc), L3(0xcd), L3(0xce), L3(0xcf),
|
2830
|
+
L3(0xd0), L3(0xd1), L3(0xd2), L3(0xd3), L3(0xd4), L3(0xd5), L3(0xd6), L3(0xd7),
|
2831
|
+
L3(0xd8), L3(0xd9), L3(0xda), L3(0xdb), L3(0xdc), L3(0xdd), L3(0xde), L3(0xdf),
|
2832
|
+
L3(0xe0), L3(0xe1), L3(0xe2), L3(0xe3), L3(0xe4), L3(0xe5), L3(0xe6), L3(0xe7),
|
2833
|
+
L3(0xe8), L3(0xe9), L3(0xea), L3(0xeb), L3(0xec), L3(0xed), L3(0xee), L3(0xef),
|
2834
|
+
L3(0xf0), L3(0xf1), L3(0xf2), L3(0xf3), L3(0xf4), L3(0xf5), L3(0xf6), L3(0xf7),
|
2835
|
+
L3(0xf8), L3(0xf9), L3(0xfa), L3(0xfb), L3(0xfc), L3(0xfd), L3(0xfe), L3(0xff)
|
2836
|
+
};
|
2837
|
+
|
2838
|
+
#undef L1
|
2839
|
+
#undef L2
|
2840
|
+
#undef L3
|
2841
|
+
|
2842
|
+
#undef C
|
2843
|
+
|
2844
|
+
#undef O0
|
2845
|
+
#undef O1
|
2846
|
+
#undef O2
|
2847
|
+
#undef O3
|
2848
|
+
#undef O4
|
2849
|
+
#undef O5
|
2850
|
+
#undef O6
|
2851
|
+
#undef O7
|
2852
|
+
#undef O8
|
2853
|
+
#undef O9
|
2854
|
+
#undef O10
|
2855
|
+
#undef O11
|
2856
|
+
#undef O12
|
2857
|
+
#undef O13
|
2858
|
+
#undef O14
|
2859
|
+
#undef O15
|
2860
|
+
#undef O16
|
2861
|
+
#undef O17
|
2862
|
+
#undef O18
|
2863
|
+
#undef O19
|
2864
|
+
#undef O20
|
2865
|
+
#undef O21
|
2866
|
+
#undef O22
|
2867
|
+
#undef O23
|
2868
|
+
#undef O24
|
2869
|
+
#undef O25
|
2870
|
+
|
2462
2871
|
JSBool
|
2463
2872
|
js_String(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
|
2464
2873
|
{
|
@@ -2476,7 +2885,7 @@ js_String(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
|
|
2476
2885
|
*rval = STRING_TO_JSVAL(str);
|
2477
2886
|
return JS_TRUE;
|
2478
2887
|
}
|
2479
|
-
obj->fslots[
|
2888
|
+
obj->fslots[JSSLOT_PRIMITIVE_THIS] = STRING_TO_JSVAL(str);
|
2480
2889
|
return JS_TRUE;
|
2481
2890
|
}
|
2482
2891
|
|
@@ -2486,14 +2895,8 @@ JSObject* FASTCALL
|
|
2486
2895
|
js_String_tn(JSContext* cx, JSObject* proto, JSString* str)
|
2487
2896
|
{
|
2488
2897
|
JS_ASSERT(JS_ON_TRACE(cx));
|
2489
|
-
|
2490
|
-
if (!obj)
|
2491
|
-
return NULL;
|
2492
|
-
|
2493
|
-
obj->fslots[JSSLOT_PRIVATE] = STRING_TO_JSVAL(str);
|
2494
|
-
return obj;
|
2898
|
+
return js_NewObjectWithClassProto(cx, &js_StringClass, proto, STRING_TO_JSVAL(str));
|
2495
2899
|
}
|
2496
|
-
|
2497
2900
|
JS_DEFINE_CALLINFO_3(extern, OBJECT, js_String_tn, CONTEXT, CALLEE_PROTOTYPE, STRING, 0, 0)
|
2498
2901
|
|
2499
2902
|
#endif /* !JS_TRACER */
|
@@ -2508,22 +2911,22 @@ str_fromCharCode(JSContext *cx, uintN argc, jsval *vp)
|
|
2508
2911
|
JSString *str;
|
2509
2912
|
|
2510
2913
|
argv = vp + 2;
|
2511
|
-
JS_ASSERT(argc
|
2914
|
+
JS_ASSERT(argc <= JS_ARGS_LENGTH_MAX);
|
2512
2915
|
if (argc == 1 &&
|
2513
2916
|
(code = js_ValueToUint16(cx, &argv[0])) < UNIT_STRING_LIMIT) {
|
2514
|
-
str =
|
2917
|
+
str = JSString::unitString(code);
|
2515
2918
|
if (!str)
|
2516
2919
|
return JS_FALSE;
|
2517
2920
|
*vp = STRING_TO_JSVAL(str);
|
2518
2921
|
return JS_TRUE;
|
2519
2922
|
}
|
2520
|
-
chars = (jschar *)
|
2923
|
+
chars = (jschar *) cx->malloc((argc + 1) * sizeof(jschar));
|
2521
2924
|
if (!chars)
|
2522
2925
|
return JS_FALSE;
|
2523
2926
|
for (i = 0; i < argc; i++) {
|
2524
2927
|
code = js_ValueToUint16(cx, &argv[i]);
|
2525
2928
|
if (JSVAL_IS_NULL(argv[i])) {
|
2526
|
-
|
2929
|
+
cx->free(chars);
|
2527
2930
|
return JS_FALSE;
|
2528
2931
|
}
|
2529
2932
|
chars[i] = (jschar)code;
|
@@ -2531,7 +2934,7 @@ str_fromCharCode(JSContext *cx, uintN argc, jsval *vp)
|
|
2531
2934
|
chars[i] = 0;
|
2532
2935
|
str = js_NewString(cx, chars, argc);
|
2533
2936
|
if (!str) {
|
2534
|
-
|
2937
|
+
cx->free(chars);
|
2535
2938
|
return JS_FALSE;
|
2536
2939
|
}
|
2537
2940
|
*vp = STRING_TO_JSVAL(str);
|
@@ -2545,7 +2948,7 @@ String_fromCharCode(JSContext* cx, int32 i)
|
|
2545
2948
|
JS_ASSERT(JS_ON_TRACE(cx));
|
2546
2949
|
jschar c = (jschar)i;
|
2547
2950
|
if (c < UNIT_STRING_LIMIT)
|
2548
|
-
return
|
2951
|
+
return JSString::unitString(c);
|
2549
2952
|
return js_NewStringCopyN(cx, &c, 1);
|
2550
2953
|
}
|
2551
2954
|
#endif
|
@@ -2554,7 +2957,7 @@ JS_DEFINE_TRCINFO_1(str_fromCharCode,
|
|
2554
2957
|
(2, (static, STRING_RETRY, String_fromCharCode, CONTEXT, INT32, 1, 1)))
|
2555
2958
|
|
2556
2959
|
static JSFunctionSpec string_static_methods[] = {
|
2557
|
-
JS_TN("fromCharCode", str_fromCharCode, 1, 0, str_fromCharCode_trcinfo),
|
2960
|
+
JS_TN("fromCharCode", str_fromCharCode, 1, 0, &str_fromCharCode_trcinfo),
|
2558
2961
|
JS_FS_END
|
2559
2962
|
};
|
2560
2963
|
|
@@ -2597,83 +3000,6 @@ js_InitDeflatedStringCache(JSRuntime *rt)
|
|
2597
3000
|
return JS_TRUE;
|
2598
3001
|
}
|
2599
3002
|
|
2600
|
-
#define UNIT_STRING_SPACE(sp) ((jschar *) ((sp) + UNIT_STRING_LIMIT))
|
2601
|
-
#define UNIT_STRING_SPACE_RT(rt) UNIT_STRING_SPACE((rt)->unitStrings)
|
2602
|
-
|
2603
|
-
#define IN_UNIT_STRING_SPACE(sp,cp) \
|
2604
|
-
((size_t)((cp) - UNIT_STRING_SPACE(sp)) < 2 * UNIT_STRING_LIMIT)
|
2605
|
-
#define IN_UNIT_STRING_SPACE_RT(rt,cp) \
|
2606
|
-
IN_UNIT_STRING_SPACE((rt)->unitStrings, cp)
|
2607
|
-
|
2608
|
-
JSString *
|
2609
|
-
js_GetUnitStringForChar(JSContext *cx, jschar c)
|
2610
|
-
{
|
2611
|
-
jschar *cp, i;
|
2612
|
-
JSRuntime *rt;
|
2613
|
-
JSString **sp;
|
2614
|
-
|
2615
|
-
JS_ASSERT(c < UNIT_STRING_LIMIT);
|
2616
|
-
rt = cx->runtime;
|
2617
|
-
if (!rt->unitStrings) {
|
2618
|
-
sp = (JSString **) calloc(UNIT_STRING_LIMIT * sizeof(JSString *) +
|
2619
|
-
UNIT_STRING_LIMIT * 2 * sizeof(jschar),
|
2620
|
-
1);
|
2621
|
-
if (!sp) {
|
2622
|
-
JS_ReportOutOfMemory(cx);
|
2623
|
-
return NULL;
|
2624
|
-
}
|
2625
|
-
cp = UNIT_STRING_SPACE(sp);
|
2626
|
-
for (i = 0; i < UNIT_STRING_LIMIT; i++) {
|
2627
|
-
*cp = i;
|
2628
|
-
cp += 2;
|
2629
|
-
}
|
2630
|
-
JS_LOCK_GC(rt);
|
2631
|
-
if (!rt->unitStrings) {
|
2632
|
-
rt->unitStrings = sp;
|
2633
|
-
JS_UNLOCK_GC(rt);
|
2634
|
-
} else {
|
2635
|
-
JS_UNLOCK_GC(rt);
|
2636
|
-
free(sp);
|
2637
|
-
}
|
2638
|
-
}
|
2639
|
-
if (!rt->unitStrings[c]) {
|
2640
|
-
JSString *str;
|
2641
|
-
|
2642
|
-
cp = UNIT_STRING_SPACE_RT(rt);
|
2643
|
-
str = js_NewString(cx, cp + 2 * c, 1);
|
2644
|
-
if (!str)
|
2645
|
-
return NULL;
|
2646
|
-
JS_LOCK_GC(rt);
|
2647
|
-
if (!rt->unitStrings[c])
|
2648
|
-
rt->unitStrings[c] = str;
|
2649
|
-
#ifdef DEBUG
|
2650
|
-
else
|
2651
|
-
JSFLATSTR_INIT(str, NULL, 0); /* avoid later assertion (bug 479381) */
|
2652
|
-
#endif
|
2653
|
-
JS_UNLOCK_GC(rt);
|
2654
|
-
}
|
2655
|
-
return rt->unitStrings[c];
|
2656
|
-
}
|
2657
|
-
|
2658
|
-
JSString *
|
2659
|
-
js_GetUnitString(JSContext *cx, JSString *str, size_t index)
|
2660
|
-
{
|
2661
|
-
jschar c;
|
2662
|
-
|
2663
|
-
JS_ASSERT(index < JSSTRING_LENGTH(str));
|
2664
|
-
c = JSSTRING_CHARS(str)[index];
|
2665
|
-
if (c >= UNIT_STRING_LIMIT)
|
2666
|
-
return js_NewDependentString(cx, str, index, 1);
|
2667
|
-
return js_GetUnitStringForChar(cx, c);
|
2668
|
-
}
|
2669
|
-
|
2670
|
-
void
|
2671
|
-
js_FinishUnitStrings(JSRuntime *rt)
|
2672
|
-
{
|
2673
|
-
free(rt->unitStrings);
|
2674
|
-
rt->unitStrings = NULL;
|
2675
|
-
}
|
2676
|
-
|
2677
3003
|
void
|
2678
3004
|
js_FinishRuntimeStringState(JSContext *cx)
|
2679
3005
|
{
|
@@ -2709,7 +3035,7 @@ js_InitStringClass(JSContext *cx, JSObject *obj)
|
|
2709
3035
|
NULL, string_static_methods);
|
2710
3036
|
if (!proto)
|
2711
3037
|
return NULL;
|
2712
|
-
proto->fslots[
|
3038
|
+
proto->fslots[JSSLOT_PRIMITIVE_THIS] = STRING_TO_JSVAL(cx->runtime->emptyString);
|
2713
3039
|
if (!js_DefineNativeProperty(cx, proto, ATOM_TO_JSID(cx->runtime->atomState.lengthAtom),
|
2714
3040
|
JSVAL_VOID, NULL, NULL,
|
2715
3041
|
JSPROP_READONLY | JSPROP_PERMANENT | JSPROP_SHARED, 0, 0,
|
@@ -2725,11 +3051,11 @@ js_NewString(JSContext *cx, jschar *chars, size_t length)
|
|
2725
3051
|
{
|
2726
3052
|
JSString *str;
|
2727
3053
|
|
2728
|
-
if (length >
|
3054
|
+
if (length > JSString::MAX_LENGTH) {
|
2729
3055
|
if (JS_ON_TRACE(cx)) {
|
2730
3056
|
/*
|
2731
3057
|
* If we can't leave the trace, signal OOM condition, otherwise
|
2732
|
-
* exit from trace
|
3058
|
+
* exit from trace before throwing.
|
2733
3059
|
*/
|
2734
3060
|
if (!js_CanLeaveTrace(cx))
|
2735
3061
|
return NULL;
|
@@ -2740,10 +3066,10 @@ js_NewString(JSContext *cx, jschar *chars, size_t length)
|
|
2740
3066
|
return NULL;
|
2741
3067
|
}
|
2742
3068
|
|
2743
|
-
str = (
|
3069
|
+
str = js_NewGCString(cx, GCX_STRING);
|
2744
3070
|
if (!str)
|
2745
3071
|
return NULL;
|
2746
|
-
|
3072
|
+
str->initFlat(chars, length);
|
2747
3073
|
#ifdef DEBUG
|
2748
3074
|
{
|
2749
3075
|
JSRuntime *rt = cx->runtime;
|
@@ -2757,6 +3083,42 @@ js_NewString(JSContext *cx, jschar *chars, size_t length)
|
|
2757
3083
|
return str;
|
2758
3084
|
}
|
2759
3085
|
|
3086
|
+
static const size_t sMinWasteSize = 16;
|
3087
|
+
|
3088
|
+
JSString *
|
3089
|
+
js_NewStringFromCharBuffer(JSContext *cx, JSCharBuffer &cb)
|
3090
|
+
{
|
3091
|
+
if (cb.empty())
|
3092
|
+
return ATOM_TO_STRING(cx->runtime->atomState.emptyAtom);
|
3093
|
+
|
3094
|
+
size_t length = cb.length();
|
3095
|
+
if (!cb.append('\0'))
|
3096
|
+
return NULL;
|
3097
|
+
|
3098
|
+
size_t capacity = cb.capacity();
|
3099
|
+
|
3100
|
+
jschar *buf = cb.extractRawBuffer();
|
3101
|
+
if (!buf)
|
3102
|
+
return NULL;
|
3103
|
+
|
3104
|
+
/* For medium/big buffers, avoid wasting more than 1/4 of the memory. */
|
3105
|
+
JS_ASSERT(capacity >= length);
|
3106
|
+
if (capacity > sMinWasteSize && capacity - length > (length >> 2)) {
|
3107
|
+
size_t bytes = sizeof(jschar) * (length + 1);
|
3108
|
+
jschar *tmp = (jschar *)cx->realloc(buf, bytes);
|
3109
|
+
if (!tmp) {
|
3110
|
+
cx->free(buf);
|
3111
|
+
return NULL;
|
3112
|
+
}
|
3113
|
+
buf = tmp;
|
3114
|
+
}
|
3115
|
+
|
3116
|
+
JSString *str = js_NewString(cx, buf, length);
|
3117
|
+
if (!str)
|
3118
|
+
cx->free(buf);
|
3119
|
+
return str;
|
3120
|
+
}
|
3121
|
+
|
2760
3122
|
JSString *
|
2761
3123
|
js_NewDependentString(JSContext *cx, JSString *base, size_t start,
|
2762
3124
|
size_t length)
|
@@ -2766,21 +3128,21 @@ js_NewDependentString(JSContext *cx, JSString *base, size_t start,
|
|
2766
3128
|
if (length == 0)
|
2767
3129
|
return cx->runtime->emptyString;
|
2768
3130
|
|
2769
|
-
if (start == 0 && length ==
|
3131
|
+
if (start == 0 && length == base->length())
|
2770
3132
|
return base;
|
2771
3133
|
|
2772
|
-
if (start >
|
2773
|
-
(start != 0 && length >
|
2774
|
-
return js_NewStringCopyN(cx,
|
3134
|
+
if (start > JSString::MAX_DEPENDENT_START ||
|
3135
|
+
(start != 0 && length > JSString::MAX_DEPENDENT_LENGTH)) {
|
3136
|
+
return js_NewStringCopyN(cx, base->chars() + start, length);
|
2775
3137
|
}
|
2776
3138
|
|
2777
|
-
ds = (
|
3139
|
+
ds = js_NewGCString(cx, GCX_STRING);
|
2778
3140
|
if (!ds)
|
2779
3141
|
return NULL;
|
2780
3142
|
if (start == 0)
|
2781
|
-
|
3143
|
+
ds->initPrefix(base, length);
|
2782
3144
|
else
|
2783
|
-
|
3145
|
+
ds->initDependent(base, start, length);
|
2784
3146
|
#ifdef DEBUG
|
2785
3147
|
{
|
2786
3148
|
JSRuntime *rt = cx->runtime;
|
@@ -2826,14 +3188,14 @@ js_NewStringCopyN(JSContext *cx, const jschar *s, size_t n)
|
|
2826
3188
|
jschar *news;
|
2827
3189
|
JSString *str;
|
2828
3190
|
|
2829
|
-
news = (jschar *)
|
3191
|
+
news = (jschar *) cx->malloc((n + 1) * sizeof(jschar));
|
2830
3192
|
if (!news)
|
2831
3193
|
return NULL;
|
2832
3194
|
js_strncpy(news, s, n);
|
2833
3195
|
news[n] = 0;
|
2834
3196
|
str = js_NewString(cx, news, n);
|
2835
3197
|
if (!str)
|
2836
|
-
|
3198
|
+
cx->free(news);
|
2837
3199
|
return str;
|
2838
3200
|
}
|
2839
3201
|
|
@@ -2846,13 +3208,13 @@ js_NewStringCopyZ(JSContext *cx, const jschar *s)
|
|
2846
3208
|
|
2847
3209
|
n = js_strlen(s);
|
2848
3210
|
m = (n + 1) * sizeof(jschar);
|
2849
|
-
news = (jschar *)
|
3211
|
+
news = (jschar *) cx->malloc(m);
|
2850
3212
|
if (!news)
|
2851
3213
|
return NULL;
|
2852
3214
|
memcpy(news, s, m);
|
2853
3215
|
str = js_NewString(cx, news, n);
|
2854
3216
|
if (!str)
|
2855
|
-
|
3217
|
+
cx->free(news);
|
2856
3218
|
return str;
|
2857
3219
|
}
|
2858
3220
|
|
@@ -2868,79 +3230,14 @@ js_PurgeDeflatedStringCache(JSRuntime *rt, JSString *str)
|
|
2868
3230
|
he = *hep;
|
2869
3231
|
if (he) {
|
2870
3232
|
#ifdef DEBUG
|
2871
|
-
rt->deflatedStringCacheBytes -=
|
3233
|
+
rt->deflatedStringCacheBytes -= str->length();
|
2872
3234
|
#endif
|
2873
|
-
|
3235
|
+
js_free(he->value);
|
2874
3236
|
JS_HashTableRawRemove(rt->deflatedStringCache, hep, he);
|
2875
3237
|
}
|
2876
3238
|
JS_RELEASE_LOCK(rt->deflatedStringCacheLock);
|
2877
3239
|
}
|
2878
3240
|
|
2879
|
-
static JSStringFinalizeOp str_finalizers[GCX_NTYPES - GCX_EXTERNAL_STRING] = {
|
2880
|
-
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
|
2881
|
-
};
|
2882
|
-
|
2883
|
-
intN
|
2884
|
-
js_ChangeExternalStringFinalizer(JSStringFinalizeOp oldop,
|
2885
|
-
JSStringFinalizeOp newop)
|
2886
|
-
{
|
2887
|
-
uintN i;
|
2888
|
-
|
2889
|
-
for (i = 0; i != JS_ARRAY_LENGTH(str_finalizers); i++) {
|
2890
|
-
if (str_finalizers[i] == oldop) {
|
2891
|
-
str_finalizers[i] = newop;
|
2892
|
-
return (intN) i;
|
2893
|
-
}
|
2894
|
-
}
|
2895
|
-
return -1;
|
2896
|
-
}
|
2897
|
-
|
2898
|
-
/*
|
2899
|
-
* cx is NULL when we are called from js_FinishAtomState to force the
|
2900
|
-
* finalization of the permanently interned strings.
|
2901
|
-
*/
|
2902
|
-
void
|
2903
|
-
js_FinalizeStringRT(JSRuntime *rt, JSString *str, intN type, JSContext *cx)
|
2904
|
-
{
|
2905
|
-
jschar *chars;
|
2906
|
-
JSBool valid;
|
2907
|
-
JSStringFinalizeOp finalizer;
|
2908
|
-
|
2909
|
-
JS_RUNTIME_UNMETER(rt, liveStrings);
|
2910
|
-
if (JSSTRING_IS_DEPENDENT(str)) {
|
2911
|
-
/* A dependent string can not be external and must be valid. */
|
2912
|
-
JS_ASSERT(type < 0);
|
2913
|
-
JS_ASSERT(JSSTRDEP_BASE(str));
|
2914
|
-
JS_RUNTIME_UNMETER(rt, liveDependentStrings);
|
2915
|
-
valid = JS_TRUE;
|
2916
|
-
} else {
|
2917
|
-
/* A stillborn string has null chars, so is not valid. */
|
2918
|
-
chars = JSFLATSTR_CHARS(str);
|
2919
|
-
valid = (chars != NULL);
|
2920
|
-
if (valid) {
|
2921
|
-
if (IN_UNIT_STRING_SPACE_RT(rt, chars)) {
|
2922
|
-
JS_ASSERT(rt->unitStrings[*chars] == str);
|
2923
|
-
JS_ASSERT(type < 0);
|
2924
|
-
rt->unitStrings[*chars] = NULL;
|
2925
|
-
} else if (type < 0) {
|
2926
|
-
free(chars);
|
2927
|
-
} else {
|
2928
|
-
JS_ASSERT((uintN) type < JS_ARRAY_LENGTH(str_finalizers));
|
2929
|
-
finalizer = str_finalizers[type];
|
2930
|
-
if (finalizer) {
|
2931
|
-
/*
|
2932
|
-
* Assume that the finalizer for the permanently interned
|
2933
|
-
* string knows how to deal with null context.
|
2934
|
-
*/
|
2935
|
-
finalizer(cx, str);
|
2936
|
-
}
|
2937
|
-
}
|
2938
|
-
}
|
2939
|
-
}
|
2940
|
-
if (valid && JSSTRING_IS_DEFLATED(str))
|
2941
|
-
js_PurgeDeflatedStringCache(rt, str);
|
2942
|
-
}
|
2943
|
-
|
2944
3241
|
JS_FRIEND_API(const char *)
|
2945
3242
|
js_ValueToPrintable(JSContext *cx, jsval v, JSValueToStringFun v2sfun)
|
2946
3243
|
{
|
@@ -2958,16 +3255,11 @@ js_ValueToPrintable(JSContext *cx, jsval v, JSValueToStringFun v2sfun)
|
|
2958
3255
|
JS_FRIEND_API(JSString *)
|
2959
3256
|
js_ValueToString(JSContext *cx, jsval v)
|
2960
3257
|
{
|
2961
|
-
JSObject *obj;
|
2962
3258
|
JSString *str;
|
2963
3259
|
|
2964
|
-
if (
|
2965
|
-
|
2966
|
-
|
2967
|
-
return ATOM_TO_STRING(cx->runtime->atomState.nullAtom);
|
2968
|
-
if (!OBJ_DEFAULT_VALUE(cx, obj, JSTYPE_STRING, &v))
|
2969
|
-
return NULL;
|
2970
|
-
}
|
3260
|
+
if (!JSVAL_IS_PRIMITIVE(v) && !JSVAL_TO_OBJECT(v)->defaultValue(cx, JSTYPE_STRING, &v))
|
3261
|
+
return NULL;
|
3262
|
+
|
2971
3263
|
if (JSVAL_IS_STRING(v)) {
|
2972
3264
|
str = JSVAL_TO_STRING(v);
|
2973
3265
|
} else if (JSVAL_IS_INT(v)) {
|
@@ -2976,18 +3268,51 @@ js_ValueToString(JSContext *cx, jsval v)
|
|
2976
3268
|
str = js_NumberToString(cx, *JSVAL_TO_DOUBLE(v));
|
2977
3269
|
} else if (JSVAL_IS_BOOLEAN(v)) {
|
2978
3270
|
str = js_BooleanToString(cx, JSVAL_TO_BOOLEAN(v));
|
3271
|
+
} else if (JSVAL_IS_NULL(v)) {
|
3272
|
+
str = ATOM_TO_STRING(cx->runtime->atomState.nullAtom);
|
2979
3273
|
} else {
|
2980
3274
|
str = ATOM_TO_STRING(cx->runtime->atomState.typeAtoms[JSTYPE_VOID]);
|
2981
3275
|
}
|
2982
3276
|
return str;
|
2983
3277
|
}
|
2984
3278
|
|
3279
|
+
static inline JSBool
|
3280
|
+
pushAtom(JSAtom *atom, JSCharBuffer &cb)
|
3281
|
+
{
|
3282
|
+
JSString *str = ATOM_TO_STRING(atom);
|
3283
|
+
const jschar *chars;
|
3284
|
+
size_t length;
|
3285
|
+
str->getCharsAndLength(chars, length);
|
3286
|
+
return cb.append(chars, length);
|
3287
|
+
}
|
3288
|
+
|
3289
|
+
/* This function implements E-262-3 section 9.8, toString. */
|
3290
|
+
JS_FRIEND_API(JSBool)
|
3291
|
+
js_ValueToCharBuffer(JSContext *cx, jsval v, JSCharBuffer &cb)
|
3292
|
+
{
|
3293
|
+
if (!JSVAL_IS_PRIMITIVE(v) && !JSVAL_TO_OBJECT(v)->defaultValue(cx, JSTYPE_STRING, &v))
|
3294
|
+
return JS_FALSE;
|
3295
|
+
|
3296
|
+
if (JSVAL_IS_STRING(v)) {
|
3297
|
+
JSString *str = JSVAL_TO_STRING(v);
|
3298
|
+
const jschar *chars;
|
3299
|
+
size_t length;
|
3300
|
+
str->getCharsAndLength(chars, length);
|
3301
|
+
return cb.append(chars, length);
|
3302
|
+
}
|
3303
|
+
if (JSVAL_IS_NUMBER(v))
|
3304
|
+
return js_NumberValueToCharBuffer(cx, v, cb);
|
3305
|
+
if (JSVAL_IS_BOOLEAN(v))
|
3306
|
+
return js_BooleanToCharBuffer(cx, JSVAL_TO_BOOLEAN(v), cb);
|
3307
|
+
if (JSVAL_IS_NULL(v))
|
3308
|
+
return pushAtom(cx->runtime->atomState.nullAtom, cb);
|
3309
|
+
JS_ASSERT(JSVAL_IS_VOID(v));
|
3310
|
+
return pushAtom(cx->runtime->atomState.typeAtoms[JSTYPE_VOID], cb);
|
3311
|
+
}
|
3312
|
+
|
2985
3313
|
JS_FRIEND_API(JSString *)
|
2986
3314
|
js_ValueToSource(JSContext *cx, jsval v)
|
2987
3315
|
{
|
2988
|
-
JSTempValueRooter tvr;
|
2989
|
-
JSString *str;
|
2990
|
-
|
2991
3316
|
if (JSVAL_IS_VOID(v))
|
2992
3317
|
return ATOM_TO_STRING(cx->runtime->atomState.void0Atom);
|
2993
3318
|
if (JSVAL_IS_STRING(v))
|
@@ -3003,16 +3328,11 @@ js_ValueToSource(JSContext *cx, jsval v)
|
|
3003
3328
|
return js_ValueToString(cx, v);
|
3004
3329
|
}
|
3005
3330
|
|
3006
|
-
|
3007
|
-
|
3008
|
-
|
3009
|
-
|
3010
|
-
|
3011
|
-
} else {
|
3012
|
-
str = js_ValueToString(cx, tvr.u.value);
|
3013
|
-
}
|
3014
|
-
JS_POP_TEMP_ROOT(cx, &tvr);
|
3015
|
-
return str;
|
3331
|
+
JSAtom *atom = cx->runtime->atomState.toSourceAtom;
|
3332
|
+
JSAutoTempValueRooter tvr(cx, JSVAL_NULL);
|
3333
|
+
if (!js_TryMethod(cx, JSVAL_TO_OBJECT(v), atom, 0, NULL, tvr.addr()))
|
3334
|
+
return NULL;
|
3335
|
+
return js_ValueToString(cx, tvr.value());
|
3016
3336
|
}
|
3017
3337
|
|
3018
3338
|
/*
|
@@ -3025,7 +3345,7 @@ js_HashString(JSString *str)
|
|
3025
3345
|
size_t n;
|
3026
3346
|
uint32 h;
|
3027
3347
|
|
3028
|
-
|
3348
|
+
str->getCharsAndLength(s, n);
|
3029
3349
|
for (h = 0; n; s++, n--)
|
3030
3350
|
h = JS_ROTATE_LEFT32(h, 4) ^ *s;
|
3031
3351
|
return h;
|
@@ -3047,14 +3367,14 @@ js_EqualStrings(JSString *str1, JSString *str2)
|
|
3047
3367
|
if (str1 == str2)
|
3048
3368
|
return JS_TRUE;
|
3049
3369
|
|
3050
|
-
n =
|
3051
|
-
if (n !=
|
3370
|
+
n = str1->length();
|
3371
|
+
if (n != str2->length())
|
3052
3372
|
return JS_FALSE;
|
3053
3373
|
|
3054
3374
|
if (n == 0)
|
3055
3375
|
return JS_TRUE;
|
3056
3376
|
|
3057
|
-
s1 =
|
3377
|
+
s1 = str1->chars(), s2 = str2->chars();
|
3058
3378
|
do {
|
3059
3379
|
if (*s1 != *s2)
|
3060
3380
|
return JS_FALSE;
|
@@ -3063,6 +3383,7 @@ js_EqualStrings(JSString *str1, JSString *str2)
|
|
3063
3383
|
|
3064
3384
|
return JS_TRUE;
|
3065
3385
|
}
|
3386
|
+
JS_DEFINE_CALLINFO_2(extern, BOOL, js_EqualStrings, STRING, STRING, 1, 1)
|
3066
3387
|
|
3067
3388
|
int32 JS_FASTCALL
|
3068
3389
|
js_CompareStrings(JSString *str1, JSString *str2)
|
@@ -3078,8 +3399,8 @@ js_CompareStrings(JSString *str1, JSString *str2)
|
|
3078
3399
|
if (str1 == str2)
|
3079
3400
|
return 0;
|
3080
3401
|
|
3081
|
-
|
3082
|
-
|
3402
|
+
str1->getCharsAndLength(s1, l1);
|
3403
|
+
str2->getCharsAndLength(s2, l2);
|
3083
3404
|
n = JS_MIN(l1, l2);
|
3084
3405
|
for (i = 0; i < n; i++) {
|
3085
3406
|
cmp = s1[i] - s2[i];
|
@@ -3088,6 +3409,7 @@ js_CompareStrings(JSString *str1, JSString *str2)
|
|
3088
3409
|
}
|
3089
3410
|
return (intN)(l1 - l2);
|
3090
3411
|
}
|
3412
|
+
JS_DEFINE_CALLINFO_2(extern, INT32, js_CompareStrings, STRING, STRING, 1, 1)
|
3091
3413
|
|
3092
3414
|
size_t
|
3093
3415
|
js_strlen(const jschar *s)
|
@@ -3121,15 +3443,6 @@ js_strchr_limit(const jschar *s, jschar c, const jschar *limit)
|
|
3121
3443
|
return NULL;
|
3122
3444
|
}
|
3123
3445
|
|
3124
|
-
const jschar *
|
3125
|
-
js_SkipWhiteSpace(const jschar *s, const jschar *end)
|
3126
|
-
{
|
3127
|
-
JS_ASSERT(s <= end);
|
3128
|
-
while (s != end && JS_ISSPACE(*s))
|
3129
|
-
s++;
|
3130
|
-
return s;
|
3131
|
-
}
|
3132
|
-
|
3133
3446
|
jschar *
|
3134
3447
|
js_InflateString(JSContext *cx, const char *bytes, size_t *lengthp)
|
3135
3448
|
{
|
@@ -3143,7 +3456,7 @@ js_InflateString(JSContext *cx, const char *bytes, size_t *lengthp)
|
|
3143
3456
|
if (js_CStringsAreUTF8) {
|
3144
3457
|
if (!js_InflateStringToBuffer(cx, bytes, nbytes, NULL, &nchars))
|
3145
3458
|
goto bad;
|
3146
|
-
chars = (jschar *)
|
3459
|
+
chars = (jschar *) cx->malloc((nchars + 1) * sizeof (jschar));
|
3147
3460
|
if (!chars)
|
3148
3461
|
goto bad;
|
3149
3462
|
#ifdef DEBUG
|
@@ -3153,7 +3466,7 @@ js_InflateString(JSContext *cx, const char *bytes, size_t *lengthp)
|
|
3153
3466
|
JS_ASSERT(ok);
|
3154
3467
|
} else {
|
3155
3468
|
nchars = nbytes;
|
3156
|
-
chars = (jschar *)
|
3469
|
+
chars = (jschar *) cx->malloc((nchars + 1) * sizeof(jschar));
|
3157
3470
|
if (!chars)
|
3158
3471
|
goto bad;
|
3159
3472
|
for (i = 0; i < nchars; i++)
|
@@ -3188,7 +3501,7 @@ js_DeflateString(JSContext *cx, const jschar *chars, size_t nchars)
|
|
3188
3501
|
nbytes = js_GetDeflatedStringLength(cx, chars, nchars);
|
3189
3502
|
if (nbytes == (size_t) -1)
|
3190
3503
|
return NULL;
|
3191
|
-
bytes = (char *) (cx ?
|
3504
|
+
bytes = (char *) (cx ? cx->malloc(nbytes + 1) : js_malloc(nbytes + 1));
|
3192
3505
|
if (!bytes)
|
3193
3506
|
return NULL;
|
3194
3507
|
#ifdef DEBUG
|
@@ -3198,7 +3511,7 @@ js_DeflateString(JSContext *cx, const jschar *chars, size_t nchars)
|
|
3198
3511
|
JS_ASSERT(ok);
|
3199
3512
|
} else {
|
3200
3513
|
nbytes = nchars;
|
3201
|
-
bytes = (char *) (cx ?
|
3514
|
+
bytes = (char *) (cx ? cx->malloc(nbytes + 1) : js_malloc(nbytes + 1));
|
3202
3515
|
if (!bytes)
|
3203
3516
|
return NULL;
|
3204
3517
|
for (i = 0; i < nbytes; i++)
|
@@ -3371,7 +3684,7 @@ js_InflateStringToBuffer(JSContext *cx, const char *src, size_t srclen,
|
|
3371
3684
|
n++;
|
3372
3685
|
if (n > srclen)
|
3373
3686
|
goto bufferTooSmall;
|
3374
|
-
if (n == 1 || n >
|
3687
|
+
if (n == 1 || n > 4)
|
3375
3688
|
goto badCharacter;
|
3376
3689
|
for (j = 1; j < n; j++) {
|
3377
3690
|
if ((src[j] & 0xC0) != 0x80)
|
@@ -3453,7 +3766,7 @@ js_SetStringBytes(JSContext *cx, JSString *str, char *bytes, size_t length)
|
|
3453
3766
|
JS_ASSERT(*hep == NULL);
|
3454
3767
|
ok = JS_HashTableRawAdd(cache, hep, hash, str, bytes) != NULL;
|
3455
3768
|
if (ok) {
|
3456
|
-
|
3769
|
+
str->setDeflated();
|
3457
3770
|
#ifdef DEBUG
|
3458
3771
|
rt->deflatedStringCacheBytes += length;
|
3459
3772
|
#endif
|
@@ -3472,6 +3785,24 @@ js_GetStringBytes(JSContext *cx, JSString *str)
|
|
3472
3785
|
JSHashNumber hash;
|
3473
3786
|
JSHashEntry *he, **hep;
|
3474
3787
|
|
3788
|
+
if (JSString::isUnitString(str)) {
|
3789
|
+
#ifdef IS_LITTLE_ENDIAN
|
3790
|
+
/* Unit string data is {c, 0, 0, 0} so we can just cast. */
|
3791
|
+
return (char *)str->chars();
|
3792
|
+
#else
|
3793
|
+
/* Unit string data is {0, c, 0, 0} so we can point into the middle. */
|
3794
|
+
return (char *)str->chars() + 1;
|
3795
|
+
#endif
|
3796
|
+
}
|
3797
|
+
|
3798
|
+
if (JSString::isIntString(str)) {
|
3799
|
+
/*
|
3800
|
+
* We must burn some space on deflated int strings to preserve static
|
3801
|
+
* allocation (which is to say, JSRuntime independence).
|
3802
|
+
*/
|
3803
|
+
return JSString::deflatedIntStringTable[str - JSString::intStringTable];
|
3804
|
+
}
|
3805
|
+
|
3475
3806
|
if (cx) {
|
3476
3807
|
rt = cx->runtime;
|
3477
3808
|
} else {
|
@@ -3485,8 +3816,7 @@ js_GetStringBytes(JSContext *cx, JSString *str)
|
|
3485
3816
|
* Called from last GC (see js_DestroyContext), after runtime string
|
3486
3817
|
* state has been finalized. We have no choice but to leak here.
|
3487
3818
|
*/
|
3488
|
-
return js_DeflateString(NULL,
|
3489
|
-
JSSTRING_LENGTH(str));
|
3819
|
+
return js_DeflateString(NULL, str->chars(), str->length());
|
3490
3820
|
}
|
3491
3821
|
#endif
|
3492
3822
|
|
@@ -3501,23 +3831,22 @@ js_GetStringBytes(JSContext *cx, JSString *str)
|
|
3501
3831
|
|
3502
3832
|
/* Try to catch failure to JS_ShutDown between runtime epochs. */
|
3503
3833
|
if (!js_CStringsAreUTF8) {
|
3504
|
-
JS_ASSERT_IF(*bytes != (char)
|
3505
|
-
*bytes == '\0' &&
|
3834
|
+
JS_ASSERT_IF(*bytes != (char) str->chars()[0],
|
3835
|
+
*bytes == '\0' && str->empty());
|
3506
3836
|
}
|
3507
3837
|
} else {
|
3508
|
-
bytes = js_DeflateString(cx,
|
3509
|
-
JSSTRING_LENGTH(str));
|
3838
|
+
bytes = js_DeflateString(cx, str->chars(), str->length());
|
3510
3839
|
if (bytes) {
|
3511
3840
|
if (JS_HashTableRawAdd(cache, hep, hash, str, bytes)) {
|
3512
3841
|
#ifdef DEBUG
|
3513
|
-
rt->deflatedStringCacheBytes +=
|
3842
|
+
rt->deflatedStringCacheBytes += str->length();
|
3514
3843
|
#endif
|
3515
|
-
|
3844
|
+
str->setDeflated();
|
3516
3845
|
} else {
|
3517
3846
|
if (cx)
|
3518
|
-
|
3847
|
+
cx->free(bytes);
|
3519
3848
|
else
|
3520
|
-
|
3849
|
+
js_free(bytes);
|
3521
3850
|
bytes = NULL;
|
3522
3851
|
}
|
3523
3852
|
}
|
@@ -4825,58 +5154,37 @@ const jschar js_uriUnescaped_ucstr[] =
|
|
4825
5154
|
'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
|
4826
5155
|
'-', '_', '.', '!', '~', '*', '\'', '(', ')', 0};
|
4827
5156
|
|
4828
|
-
|
4829
|
-
|
4830
|
-
|
4831
|
-
|
4832
|
-
|
4833
|
-
|
4834
|
-
|
4835
|
-
|
4836
|
-
|
5157
|
+
/*
|
5158
|
+
* This table allows efficient testing for the regular expression \w which is
|
5159
|
+
* defined by ECMA-262 15.10.2.6 to be [0-9A-Z_a-z].
|
5160
|
+
*/
|
5161
|
+
const bool js_alnum[] = {
|
5162
|
+
/* 0 1 2 3 4 5 5 7 8 9 */
|
5163
|
+
/* 0 */ false, false, false, false, false, false, false, false, false, false,
|
5164
|
+
/* 1 */ false, false, false, false, false, false, false, false, false, false,
|
5165
|
+
/* 2 */ false, false, false, false, false, false, false, false, false, false,
|
5166
|
+
/* 3 */ false, false, false, false, false, false, false, false, false, false,
|
5167
|
+
/* 4 */ false, false, false, false, false, false, false, false, true, true,
|
5168
|
+
/* 5 */ true, true, true, true, true, true, true, true, false, false,
|
5169
|
+
/* 6 */ false, false, false, false, false, true, true, true, true, true,
|
5170
|
+
/* 7 */ true, true, true, true, true, true, true, true, true, true,
|
5171
|
+
/* 8 */ true, true, true, true, true, true, true, true, true, true,
|
5172
|
+
/* 9 */ true, false, false, false, false, true, false, true, true, true,
|
5173
|
+
/* 10 */ true, true, true, true, true, true, true, true, true, true,
|
5174
|
+
/* 11 */ true, true, true, true, true, true, true, true, true, true,
|
5175
|
+
/* 12 */ true, true, true, false, false, false, false, false
|
5176
|
+
};
|
4837
5177
|
|
4838
|
-
|
4839
|
-
if (!buf->chars ||
|
4840
|
-
JS_HOWMANY(total, URI_CHUNK) > JS_HOWMANY(buf->length + 1, URI_CHUNK)) {
|
4841
|
-
total = JS_ROUNDUP(total, URI_CHUNK);
|
4842
|
-
newchars = (jschar *) JS_realloc(cx, buf->chars,
|
4843
|
-
total * sizeof(jschar));
|
4844
|
-
if (!newchars)
|
4845
|
-
return JS_FALSE;
|
4846
|
-
buf->chars = newchars;
|
4847
|
-
}
|
4848
|
-
js_strncpy(buf->chars + buf->length, chars, length);
|
4849
|
-
buf->length += length;
|
4850
|
-
buf->chars[buf->length] = 0;
|
4851
|
-
return JS_TRUE;
|
4852
|
-
}
|
5178
|
+
#define URI_CHUNK 64U
|
4853
5179
|
|
4854
|
-
static
|
4855
|
-
TransferBufferToString(JSContext *cx, JSCharBuffer
|
5180
|
+
static inline bool
|
5181
|
+
TransferBufferToString(JSContext *cx, JSCharBuffer &cb, jsval *rval)
|
4856
5182
|
{
|
4857
|
-
|
4858
|
-
size_t n;
|
4859
|
-
JSString *str;
|
4860
|
-
|
4861
|
-
/*
|
4862
|
-
* Shrinking realloc can fail (e.g., with a BSD-style allocator), but we
|
4863
|
-
* don't worry about that case here.
|
4864
|
-
*/
|
4865
|
-
n = cb->length;
|
4866
|
-
chars = (jschar *) JS_realloc(cx, cb->chars, (n + 1) * sizeof(jschar));
|
4867
|
-
if (!chars)
|
4868
|
-
chars = cb->chars;
|
4869
|
-
str = js_NewString(cx, chars, n);
|
5183
|
+
JSString *str = js_NewStringFromCharBuffer(cx, cb);
|
4870
5184
|
if (!str)
|
4871
|
-
return
|
4872
|
-
|
4873
|
-
/* Successful allocation transfer ownership of cb->chars to the string. */
|
4874
|
-
#ifdef DEBUG
|
4875
|
-
memset(cb, JS_FREE_PATTERN, sizeof *cb);
|
4876
|
-
#endif
|
4877
|
-
|
5185
|
+
return false;
|
4878
5186
|
*rval = STRING_TO_JSVAL(str);
|
4879
|
-
return
|
5187
|
+
return true;;
|
4880
5188
|
}
|
4881
5189
|
|
4882
5190
|
/*
|
@@ -4891,22 +5199,20 @@ Encode(JSContext *cx, JSString *str, const jschar *unescapedSet,
|
|
4891
5199
|
const jschar *unescapedSet2, jsval *rval)
|
4892
5200
|
{
|
4893
5201
|
size_t length, j, k, L;
|
4894
|
-
JSCharBuffer cb;
|
4895
|
-
jschar *chars
|
5202
|
+
JSCharBuffer cb(cx);
|
5203
|
+
const jschar *chars;
|
5204
|
+
jschar c, c2;
|
4896
5205
|
uint32 v;
|
4897
|
-
uint8 utf8buf[
|
5206
|
+
uint8 utf8buf[4];
|
4898
5207
|
jschar hexBuf[4];
|
4899
5208
|
static const char HexDigits[] = "0123456789ABCDEF"; /* NB: uppercase */
|
4900
5209
|
|
4901
|
-
|
5210
|
+
str->getCharsAndLength(chars, length);
|
4902
5211
|
if (length == 0) {
|
4903
5212
|
*rval = STRING_TO_JSVAL(cx->runtime->emptyString);
|
4904
5213
|
return JS_TRUE;
|
4905
5214
|
}
|
4906
5215
|
|
4907
|
-
cb.length = 0;
|
4908
|
-
cb.chars = NULL;
|
4909
|
-
|
4910
5216
|
/* From this point the control must goto bad on failures. */
|
4911
5217
|
hexBuf[0] = '%';
|
4912
5218
|
hexBuf[3] = 0;
|
@@ -4914,13 +5220,13 @@ Encode(JSContext *cx, JSString *str, const jschar *unescapedSet,
|
|
4914
5220
|
c = chars[k];
|
4915
5221
|
if (js_strchr(unescapedSet, c) ||
|
4916
5222
|
(unescapedSet2 && js_strchr(unescapedSet2, c))) {
|
4917
|
-
if (!
|
4918
|
-
|
5223
|
+
if (!cb.append(c))
|
5224
|
+
return JS_FALSE;
|
4919
5225
|
} else {
|
4920
5226
|
if ((c >= 0xDC00) && (c <= 0xDFFF)) {
|
4921
5227
|
JS_ReportErrorNumber(cx, js_GetErrorMessage, NULL,
|
4922
5228
|
JSMSG_BAD_URI, NULL);
|
4923
|
-
|
5229
|
+
return JS_FALSE;
|
4924
5230
|
}
|
4925
5231
|
if (c < 0xD800 || c > 0xDBFF) {
|
4926
5232
|
v = c;
|
@@ -4929,13 +5235,13 @@ Encode(JSContext *cx, JSString *str, const jschar *unescapedSet,
|
|
4929
5235
|
if (k == length) {
|
4930
5236
|
JS_ReportErrorNumber(cx, js_GetErrorMessage, NULL,
|
4931
5237
|
JSMSG_BAD_URI, NULL);
|
4932
|
-
|
5238
|
+
return JS_FALSE;
|
4933
5239
|
}
|
4934
5240
|
c2 = chars[k];
|
4935
5241
|
if ((c2 < 0xDC00) || (c2 > 0xDFFF)) {
|
4936
5242
|
JS_ReportErrorNumber(cx, js_GetErrorMessage, NULL,
|
4937
5243
|
JSMSG_BAD_URI, NULL);
|
4938
|
-
|
5244
|
+
return JS_FALSE;
|
4939
5245
|
}
|
4940
5246
|
v = ((c - 0xD800) << 10) + (c2 - 0xDC00) + 0x10000;
|
4941
5247
|
}
|
@@ -4943,42 +5249,33 @@ Encode(JSContext *cx, JSString *str, const jschar *unescapedSet,
|
|
4943
5249
|
for (j = 0; j < L; j++) {
|
4944
5250
|
hexBuf[1] = HexDigits[utf8buf[j] >> 4];
|
4945
5251
|
hexBuf[2] = HexDigits[utf8buf[j] & 0xf];
|
4946
|
-
if (!
|
4947
|
-
|
5252
|
+
if (!cb.append(hexBuf, 3))
|
5253
|
+
return JS_FALSE;
|
4948
5254
|
}
|
4949
5255
|
}
|
4950
5256
|
}
|
4951
5257
|
|
4952
|
-
|
4953
|
-
goto bad;
|
4954
|
-
|
4955
|
-
return JS_TRUE;
|
4956
|
-
|
4957
|
-
bad:
|
4958
|
-
JS_free(cx, cb.chars);
|
4959
|
-
return JS_FALSE;
|
5258
|
+
return TransferBufferToString(cx, cb, rval);
|
4960
5259
|
}
|
4961
5260
|
|
4962
5261
|
static JSBool
|
4963
5262
|
Decode(JSContext *cx, JSString *str, const jschar *reservedSet, jsval *rval)
|
4964
5263
|
{
|
4965
5264
|
size_t length, start, k;
|
4966
|
-
JSCharBuffer cb;
|
4967
|
-
jschar *chars
|
5265
|
+
JSCharBuffer cb(cx);
|
5266
|
+
const jschar *chars;
|
5267
|
+
jschar c, H;
|
4968
5268
|
uint32 v;
|
4969
5269
|
jsuint B;
|
4970
|
-
uint8 octets[
|
5270
|
+
uint8 octets[4];
|
4971
5271
|
intN j, n;
|
4972
5272
|
|
4973
|
-
|
5273
|
+
str->getCharsAndLength(chars, length);
|
4974
5274
|
if (length == 0) {
|
4975
5275
|
*rval = STRING_TO_JSVAL(cx->runtime->emptyString);
|
4976
5276
|
return JS_TRUE;
|
4977
5277
|
}
|
4978
5278
|
|
4979
|
-
cb.length = 0;
|
4980
|
-
cb.chars = NULL;
|
4981
|
-
|
4982
5279
|
/* From this point the control must goto bad on failures. */
|
4983
5280
|
for (k = 0; k < length; k++) {
|
4984
5281
|
c = chars[k];
|
@@ -4996,7 +5293,7 @@ Decode(JSContext *cx, JSString *str, const jschar *reservedSet, jsval *rval)
|
|
4996
5293
|
n = 1;
|
4997
5294
|
while (B & (0x80 >> n))
|
4998
5295
|
n++;
|
4999
|
-
if (n == 1 || n >
|
5296
|
+
if (n == 1 || n > 4)
|
5000
5297
|
goto report_bad_uri;
|
5001
5298
|
octets[0] = (uint8)B;
|
5002
5299
|
if (k + 3 * (n - 1) >= length)
|
@@ -5020,36 +5317,31 @@ Decode(JSContext *cx, JSString *str, const jschar *reservedSet, jsval *rval)
|
|
5020
5317
|
goto report_bad_uri;
|
5021
5318
|
c = (jschar)((v & 0x3FF) + 0xDC00);
|
5022
5319
|
H = (jschar)((v >> 10) + 0xD800);
|
5023
|
-
if (!
|
5024
|
-
|
5320
|
+
if (!cb.append(H))
|
5321
|
+
return JS_FALSE;
|
5025
5322
|
} else {
|
5026
5323
|
c = (jschar)v;
|
5027
5324
|
}
|
5028
5325
|
}
|
5029
5326
|
if (js_strchr(reservedSet, c)) {
|
5030
|
-
if (!
|
5031
|
-
|
5327
|
+
if (!cb.append(chars + start, k - start + 1))
|
5328
|
+
return JS_FALSE;
|
5032
5329
|
} else {
|
5033
|
-
if (!
|
5034
|
-
|
5330
|
+
if (!cb.append(c))
|
5331
|
+
return JS_FALSE;
|
5035
5332
|
}
|
5036
5333
|
} else {
|
5037
|
-
if (!
|
5334
|
+
if (!cb.append(c))
|
5038
5335
|
return JS_FALSE;
|
5039
5336
|
}
|
5040
5337
|
}
|
5041
5338
|
|
5042
|
-
|
5043
|
-
goto bad;
|
5044
|
-
|
5045
|
-
return JS_TRUE;
|
5339
|
+
return TransferBufferToString(cx, cb, rval);
|
5046
5340
|
|
5047
5341
|
report_bad_uri:
|
5048
5342
|
JS_ReportErrorNumber(cx, js_GetErrorMessage, NULL, JSMSG_BAD_URI);
|
5049
5343
|
/* FALL THROUGH */
|
5050
5344
|
|
5051
|
-
bad:
|
5052
|
-
JS_free(cx, cb.chars);
|
5053
5345
|
return JS_FALSE;
|
5054
5346
|
}
|
5055
5347
|
|
@@ -5100,14 +5392,14 @@ str_encodeURI_Component(JSContext *cx, uintN argc, jsval *vp)
|
|
5100
5392
|
|
5101
5393
|
/*
|
5102
5394
|
* Convert one UCS-4 char and write it into a UTF-8 buffer, which must be at
|
5103
|
-
* least
|
5395
|
+
* least 4 bytes long. Return the number of UTF-8 bytes of data written.
|
5104
5396
|
*/
|
5105
5397
|
int
|
5106
5398
|
js_OneUcs4ToUtf8Char(uint8 *utf8Buffer, uint32 ucs4Char)
|
5107
5399
|
{
|
5108
5400
|
int utf8Length = 1;
|
5109
5401
|
|
5110
|
-
JS_ASSERT(ucs4Char <=
|
5402
|
+
JS_ASSERT(ucs4Char <= 0x10FFFF);
|
5111
5403
|
if (ucs4Char < 0x80) {
|
5112
5404
|
*utf8Buffer = (uint8)ucs4Char;
|
5113
5405
|
} else {
|
@@ -5140,10 +5432,10 @@ Utf8ToOneUcs4Char(const uint8 *utf8Buffer, int utf8Length)
|
|
5140
5432
|
uint32 minucs4Char;
|
5141
5433
|
/* from Unicode 3.1, non-shortest form is illegal */
|
5142
5434
|
static const uint32 minucs4Table[] = {
|
5143
|
-
0x00000080, 0x00000800,
|
5435
|
+
0x00000080, 0x00000800, 0x00010000
|
5144
5436
|
};
|
5145
5437
|
|
5146
|
-
JS_ASSERT(utf8Length >= 1 && utf8Length <=
|
5438
|
+
JS_ASSERT(utf8Length >= 1 && utf8Length <= 4);
|
5147
5439
|
if (utf8Length == 1) {
|
5148
5440
|
ucs4Char = *utf8Buffer;
|
5149
5441
|
JS_ASSERT(!(ucs4Char & 0x80));
|
@@ -5156,8 +5448,9 @@ Utf8ToOneUcs4Char(const uint8 *utf8Buffer, int utf8Length)
|
|
5156
5448
|
JS_ASSERT((*utf8Buffer & 0xC0) == 0x80);
|
5157
5449
|
ucs4Char = ucs4Char<<6 | (*utf8Buffer++ & 0x3F);
|
5158
5450
|
}
|
5159
|
-
if (ucs4Char < minucs4Char
|
5160
|
-
ucs4Char
|
5451
|
+
if (JS_UNLIKELY(ucs4Char < minucs4Char)) {
|
5452
|
+
ucs4Char = OVERLONG_UTF8;
|
5453
|
+
} else if (ucs4Char == 0xFFFE || ucs4Char == 0xFFFF) {
|
5161
5454
|
ucs4Char = 0xFFFD;
|
5162
5455
|
}
|
5163
5456
|
}
|
@@ -5170,7 +5463,7 @@ JS_FRIEND_API(size_t)
|
|
5170
5463
|
js_PutEscapedStringImpl(char *buffer, size_t bufferSize, FILE *fp,
|
5171
5464
|
JSString *str, uint32 quote)
|
5172
5465
|
{
|
5173
|
-
jschar *chars, *charsEnd;
|
5466
|
+
const jschar *chars, *charsEnd;
|
5174
5467
|
size_t n;
|
5175
5468
|
const char *escape;
|
5176
5469
|
char c;
|
@@ -5184,7 +5477,7 @@ js_PutEscapedStringImpl(char *buffer, size_t bufferSize, FILE *fp,
|
|
5184
5477
|
JS_ASSERT_IF(!buffer, bufferSize == 0);
|
5185
5478
|
JS_ASSERT_IF(fp, !buffer);
|
5186
5479
|
|
5187
|
-
|
5480
|
+
str->getCharsAndEnd(chars, charsEnd);
|
5188
5481
|
n = 0;
|
5189
5482
|
--bufferSize;
|
5190
5483
|
state = FIRST_QUOTE;
|