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.
Files changed (3954) hide show
  1. data/CHANGELOG.rdoc +6 -0
  2. data/Manifest.txt +3709 -33
  3. data/Rakefile +19 -0
  4. data/ext/tracemonkey/extconf.rb +16 -2
  5. data/ext/tracemonkey/immutable_node.cc +3 -1
  6. data/ext/tracemonkey/js.cc +474 -0
  7. data/ext/tracemonkey/runtime.cc +3 -1
  8. data/ext/tracemonkey/split_global.cc +0 -373
  9. data/ext/tracemonkey/split_global.h +3 -0
  10. data/lib/johnson.rb +1 -1
  11. data/test/generic/parser_test.rb +27 -5
  12. data/test/johnson/generic/nodes/array_literal_test.rb +1 -1
  13. data/test/johnson/generic/nodes/ternary_test.rb +1 -1
  14. data/test/johnson/tracemonkey/split_global_test.html +18 -0
  15. data/vendor/tracemonkey/Makefile.in +100 -74
  16. data/vendor/tracemonkey/Makefile.ref +0 -13
  17. data/vendor/tracemonkey/README.html +2 -3
  18. data/vendor/tracemonkey/aclocal.m4 +3 -0
  19. data/vendor/tracemonkey/analysis-tests/Makefile.in +110 -0
  20. data/vendor/tracemonkey/analysis-tests/green-accessred.cpp +11 -0
  21. data/vendor/tracemonkey/analysis-tests/green-callred.cpp +12 -0
  22. data/vendor/tracemonkey/analysis-tests/green-callredptr.cpp +8 -0
  23. data/vendor/tracemonkey/analysis-tests/green-tored-badpath.cpp +14 -0
  24. data/vendor/tracemonkey/analysis-tests/green-tored.cpp +12 -0
  25. data/vendor/tracemonkey/analysis-tests/green-toredptr.cpp +12 -0
  26. data/vendor/tracemonkey/analysis-tests/misdeclared-red-funcptr.cpp +5 -0
  27. data/vendor/tracemonkey/analysis-tests/misdeclared-red-funcptr2.cpp +5 -0
  28. data/vendor/tracemonkey/analysis-tests/red-accessred.cpp +11 -0
  29. data/vendor/tracemonkey/analysis-tests/red-callgreen.cpp +8 -0
  30. data/vendor/tracemonkey/analysis-tests/red-callred.cpp +8 -0
  31. data/vendor/tracemonkey/analysis-tests/red-togreenptr-arg.cpp +11 -0
  32. data/vendor/tracemonkey/analysis-tests/red-togreenptr-field.cpp +15 -0
  33. data/vendor/tracemonkey/analysis-tests/red-togreenptr-initializer-array.cpp +8 -0
  34. data/vendor/tracemonkey/analysis-tests/red-togreenptr-initializer-cast.cpp +7 -0
  35. data/vendor/tracemonkey/analysis-tests/red-togreenptr-initializer-nested.cpp +18 -0
  36. data/vendor/tracemonkey/analysis-tests/red-togreenptr-initializer-struct.cpp +12 -0
  37. data/vendor/tracemonkey/analysis-tests/red-togreenptr-initializer.cpp +7 -0
  38. data/vendor/tracemonkey/analysis-tests/red-togreenptr-return.cpp +9 -0
  39. data/vendor/tracemonkey/analysis-tests/red-togreenptr.cpp +10 -0
  40. data/vendor/tracemonkey/bench.sh +1 -1
  41. data/vendor/tracemonkey/build/autoconf/acoutput-fast.pl +0 -0
  42. data/vendor/tracemonkey/build/autoconf/config.sub +154 -63
  43. data/vendor/tracemonkey/build/autoconf/make-makefile +10 -3
  44. data/vendor/tracemonkey/build/autoconf/mozprog.m4 +76 -0
  45. data/vendor/tracemonkey/build/autoconf/nspr.m4 +25 -6
  46. data/vendor/tracemonkey/build/unix/mddepend.pl +2 -0
  47. data/vendor/tracemonkey/build/win32/pgomerge.py +0 -0
  48. data/vendor/tracemonkey/builtins.tbl +1 -1
  49. data/vendor/tracemonkey/config.mk +3 -5
  50. data/vendor/tracemonkey/config/Makefile.in +8 -5
  51. data/vendor/tracemonkey/config/autoconf.mk.in +5 -14
  52. data/vendor/tracemonkey/config/config.mk +28 -35
  53. data/vendor/tracemonkey/config/milestone.txt +1 -1
  54. data/vendor/tracemonkey/config/mkdepend/Makefile.in +2 -3
  55. data/vendor/tracemonkey/config/nsinstall.exe.manifest +17 -0
  56. data/vendor/tracemonkey/config/nsinstall_win.c +708 -0
  57. data/vendor/tracemonkey/config/rules.mk +153 -191
  58. data/vendor/tracemonkey/config/static-checking.js +21 -30
  59. data/vendor/tracemonkey/config/system-headers +17 -31
  60. data/vendor/tracemonkey/config/version.mk +2 -2
  61. data/vendor/tracemonkey/config/version_win.pl +5 -12
  62. data/vendor/tracemonkey/configure +1175 -1071
  63. data/vendor/tracemonkey/configure.in +237 -309
  64. data/vendor/tracemonkey/dtoa.c +0 -4
  65. data/vendor/tracemonkey/imacro_asm.js.in +8 -0
  66. data/vendor/tracemonkey/imacros.c.out +217 -267
  67. data/vendor/tracemonkey/imacros.jsasm +56 -98
  68. data/vendor/tracemonkey/jitstats.tbl +58 -16
  69. data/vendor/tracemonkey/js-config.h.in +8 -6
  70. data/vendor/tracemonkey/js.msg +1 -1
  71. data/vendor/tracemonkey/jsapi-tests/Makefile.in +76 -0
  72. data/vendor/tracemonkey/jsapi-tests/README +160 -0
  73. data/vendor/tracemonkey/jsapi-tests/selfTest.cpp +20 -0
  74. data/vendor/tracemonkey/jsapi-tests/testDebugger.cpp +25 -0
  75. data/vendor/tracemonkey/jsapi-tests/testDefineGetterSetterNonEnumerable.cpp +51 -0
  76. data/vendor/tracemonkey/jsapi-tests/testExtendedEq.cpp +45 -0
  77. data/vendor/tracemonkey/jsapi-tests/testIntString.cpp +13 -0
  78. data/vendor/tracemonkey/jsapi-tests/testIsAboutToBeFinalized.cpp +89 -0
  79. data/vendor/tracemonkey/jsapi-tests/testPropCache.cpp +31 -0
  80. data/vendor/tracemonkey/jsapi-tests/testSameValue.cpp +21 -0
  81. data/vendor/tracemonkey/jsapi-tests/testXDR.cpp +55 -0
  82. data/vendor/tracemonkey/jsapi-tests/tests.cpp +79 -0
  83. data/vendor/tracemonkey/jsapi-tests/tests.h +239 -0
  84. data/vendor/tracemonkey/jsapi.cpp +264 -336
  85. data/vendor/tracemonkey/jsapi.h +163 -57
  86. data/vendor/tracemonkey/jsarena.cpp +8 -8
  87. data/vendor/tracemonkey/jsarray.cpp +551 -602
  88. data/vendor/tracemonkey/jsarray.h +58 -57
  89. data/vendor/tracemonkey/jsatom.cpp +59 -56
  90. data/vendor/tracemonkey/jsatom.h +0 -6
  91. data/vendor/tracemonkey/jsatominlines.h +95 -0
  92. data/vendor/tracemonkey/jsbit.h +26 -1
  93. data/vendor/tracemonkey/jsbool.cpp +18 -11
  94. data/vendor/tracemonkey/jsbool.h +7 -11
  95. data/vendor/tracemonkey/jsbuiltins.cpp +91 -66
  96. data/vendor/tracemonkey/jsbuiltins.h +146 -76
  97. data/vendor/tracemonkey/jscntxt.cpp +141 -73
  98. data/vendor/tracemonkey/jscntxt.h +415 -106
  99. data/vendor/tracemonkey/jscompat.h +3 -4
  100. data/vendor/tracemonkey/jsconfig.mk +0 -12
  101. data/vendor/tracemonkey/jscpucfg.cpp +1 -1
  102. data/vendor/tracemonkey/jsdate.cpp +373 -181
  103. data/vendor/tracemonkey/jsdate.h +5 -1
  104. data/vendor/tracemonkey/jsdbgapi.cpp +595 -84
  105. data/vendor/tracemonkey/jsdbgapi.h +13 -4
  106. data/vendor/tracemonkey/jsdhash.cpp +42 -15
  107. data/vendor/tracemonkey/jsdhash.h +19 -0
  108. data/vendor/tracemonkey/jsdtoa.cpp +7 -7
  109. data/vendor/tracemonkey/{jsdtracef.c → jsdtracef.cpp} +56 -93
  110. data/vendor/tracemonkey/jsdtracef.h +2 -2
  111. data/vendor/tracemonkey/jsemit.cpp +92 -82
  112. data/vendor/tracemonkey/jsemit.h +3 -6
  113. data/vendor/tracemonkey/jsexn.cpp +46 -62
  114. data/vendor/tracemonkey/jsfile.cpp +91 -71
  115. data/vendor/tracemonkey/jsfun.cpp +535 -549
  116. data/vendor/tracemonkey/jsfun.h +104 -20
  117. data/vendor/tracemonkey/jsgc.cpp +275 -255
  118. data/vendor/tracemonkey/jsgc.h +46 -54
  119. data/vendor/tracemonkey/jshash.cpp +5 -5
  120. data/vendor/tracemonkey/jshash.h +3 -1
  121. data/vendor/tracemonkey/jsinterp.cpp +350 -4490
  122. data/vendor/tracemonkey/jsinterp.h +50 -39
  123. data/vendor/tracemonkey/jsinttypes.h +139 -0
  124. data/vendor/tracemonkey/jsinvoke.cpp +1 -1
  125. data/vendor/tracemonkey/jsiter.cpp +65 -58
  126. data/vendor/tracemonkey/jsiter.h +2 -2
  127. data/vendor/tracemonkey/jskwgen.cpp +2 -2
  128. data/vendor/tracemonkey/jslibmath.h +17 -0
  129. data/vendor/tracemonkey/jslock.cpp +73 -71
  130. data/vendor/tracemonkey/jslock.h +21 -18
  131. data/vendor/tracemonkey/jslog2.cpp +1 -1
  132. data/vendor/tracemonkey/jsmath.cpp +69 -109
  133. data/vendor/tracemonkey/jsmath.h +18 -8
  134. data/vendor/tracemonkey/jsnum.cpp +129 -106
  135. data/vendor/tracemonkey/jsnum.h +202 -55
  136. data/vendor/tracemonkey/jsobj.cpp +1108 -1076
  137. data/vendor/tracemonkey/jsobj.h +441 -204
  138. data/vendor/tracemonkey/jsobjinlines.h +59 -0
  139. data/vendor/tracemonkey/json.cpp +170 -263
  140. data/vendor/tracemonkey/json.h +2 -13
  141. data/vendor/tracemonkey/jsopcode.cpp +141 -89
  142. data/vendor/tracemonkey/jsopcode.h +23 -4
  143. data/vendor/tracemonkey/jsopcode.tbl +7 -1
  144. data/vendor/tracemonkey/jsoplengen.cpp +1 -1
  145. data/vendor/tracemonkey/jsops.cpp +4213 -0
  146. data/vendor/tracemonkey/jsotypes.h +0 -4
  147. data/vendor/tracemonkey/jsparse.cpp +147 -262
  148. data/vendor/tracemonkey/jsparse.h +12 -10
  149. data/vendor/tracemonkey/jsprf.cpp +11 -11
  150. data/vendor/tracemonkey/jsprvtd.h +40 -33
  151. data/vendor/tracemonkey/jspubtd.h +3 -6
  152. data/vendor/tracemonkey/jsregexp.cpp +1260 -455
  153. data/vendor/tracemonkey/jsregexp.h +17 -8
  154. data/vendor/tracemonkey/jsscan.cpp +151 -324
  155. data/vendor/tracemonkey/jsscan.h +25 -82
  156. data/vendor/tracemonkey/jsscope.cpp +385 -300
  157. data/vendor/tracemonkey/jsscope.h +290 -117
  158. data/vendor/tracemonkey/jsscript.cpp +135 -153
  159. data/vendor/tracemonkey/jsscript.h +52 -68
  160. data/vendor/tracemonkey/jsscriptinlines.h +69 -0
  161. data/vendor/tracemonkey/jsshell.msg +2 -0
  162. data/vendor/tracemonkey/jsstack.js +213 -7
  163. data/vendor/tracemonkey/jsstdint.h +58 -40
  164. data/vendor/tracemonkey/jsstr.cpp +1247 -954
  165. data/vendor/tracemonkey/jsstr.h +410 -95
  166. data/vendor/tracemonkey/{jsstddef.h → jsstrinlines.h} +30 -42
  167. data/vendor/tracemonkey/jstask.cpp +126 -0
  168. data/vendor/tracemonkey/jstask.h +88 -0
  169. data/vendor/tracemonkey/jstl.h +262 -0
  170. data/vendor/tracemonkey/jstracer.cpp +6806 -3438
  171. data/vendor/tracemonkey/jstracer.h +675 -169
  172. data/vendor/tracemonkey/jstypes.h +29 -49
  173. data/vendor/tracemonkey/jsutil.cpp +3 -3
  174. data/vendor/tracemonkey/jsutil.h +127 -5
  175. data/vendor/tracemonkey/jsvector.h +775 -0
  176. data/vendor/tracemonkey/jswince.asm +40 -2
  177. data/vendor/tracemonkey/jsxdrapi.cpp +24 -30
  178. data/vendor/tracemonkey/jsxdrapi.h +1 -1
  179. data/vendor/tracemonkey/jsxml.cpp +542 -712
  180. data/vendor/tracemonkey/jsxml.h +3 -11
  181. data/vendor/tracemonkey/lirasm/Makefile.in +78 -0
  182. data/vendor/tracemonkey/lirasm/lirasm.cpp +1159 -0
  183. data/vendor/tracemonkey/lirasm/testlirc.sh +27 -0
  184. data/vendor/tracemonkey/lirasm/tests/add.in +4 -0
  185. data/vendor/tracemonkey/lirasm/tests/add.out +1 -0
  186. data/vendor/tracemonkey/lirasm/tests/addsub.in +5 -0
  187. data/vendor/tracemonkey/lirasm/tests/addsub.out +1 -0
  188. data/vendor/tracemonkey/lirasm/tests/call1.in +11 -0
  189. data/vendor/tracemonkey/lirasm/tests/call1.out +2 -0
  190. data/vendor/tracemonkey/lirasm/tests/call2.in +5 -0
  191. data/vendor/tracemonkey/lirasm/tests/call2.out +1 -0
  192. data/vendor/tracemonkey/lirasm/tests/floatingpoint.in +4 -0
  193. data/vendor/tracemonkey/lirasm/tests/floatingpoint.out +1 -0
  194. data/vendor/tracemonkey/lirasm/tests/loadstore.in +9 -0
  195. data/vendor/tracemonkey/lirasm/tests/loadstore.out +1 -0
  196. data/vendor/tracemonkey/lirasm/tests/multfrag1.in +26 -0
  197. data/vendor/tracemonkey/lirasm/tests/multfrag1.out +2 -0
  198. data/vendor/tracemonkey/lirasm/tests/multfrag2.in +14 -0
  199. data/vendor/tracemonkey/lirasm/tests/multfrag2.out +1 -0
  200. data/vendor/tracemonkey/lirasm/tests/multfrag3.in +15 -0
  201. data/vendor/tracemonkey/lirasm/tests/multfrag3.out +1 -0
  202. data/vendor/tracemonkey/liveconnect/jsj.c +5 -5
  203. data/vendor/tracemonkey/liveconnect/jsj_JSObject.c +2 -4
  204. data/vendor/tracemonkey/liveconnect/jsj_JavaArray.c +2 -4
  205. data/vendor/tracemonkey/liveconnect/jsj_JavaClass.c +3 -5
  206. data/vendor/tracemonkey/liveconnect/jsj_JavaObject.c +4 -24
  207. data/vendor/tracemonkey/liveconnect/jsj_private.h +4 -4
  208. data/vendor/tracemonkey/liveconnect/jsj_utils.c +18 -2
  209. data/vendor/tracemonkey/liveconnect/nsCLiveconnect.cpp +30 -4
  210. data/vendor/tracemonkey/nanojit/{TraceTreeDrawer.h → Allocator.cpp} +56 -48
  211. data/vendor/tracemonkey/nanojit/Allocator.h +117 -0
  212. data/vendor/tracemonkey/nanojit/Assembler.cpp +1378 -1442
  213. data/vendor/tracemonkey/nanojit/Assembler.h +250 -280
  214. data/vendor/tracemonkey/nanojit/CodeAlloc.cpp +506 -0
  215. data/vendor/tracemonkey/nanojit/CodeAlloc.h +201 -0
  216. data/vendor/tracemonkey/nanojit/Containers.cpp +95 -0
  217. data/vendor/tracemonkey/nanojit/Containers.h +463 -0
  218. data/vendor/tracemonkey/nanojit/Fragmento.cpp +35 -604
  219. data/vendor/tracemonkey/nanojit/Fragmento.h +84 -183
  220. data/vendor/tracemonkey/nanojit/LIR.cpp +1969 -2050
  221. data/vendor/tracemonkey/nanojit/LIR.h +1351 -720
  222. data/vendor/tracemonkey/nanojit/LIRopcode.tbl +173 -159
  223. data/vendor/tracemonkey/nanojit/Native.h +61 -48
  224. data/vendor/tracemonkey/nanojit/NativeARM.cpp +1509 -849
  225. data/vendor/tracemonkey/nanojit/NativeARM.h +362 -286
  226. data/vendor/tracemonkey/nanojit/NativePPC.cpp +1296 -0
  227. data/vendor/tracemonkey/nanojit/NativePPC.h +587 -0
  228. data/vendor/tracemonkey/nanojit/NativeSparc.cpp +146 -224
  229. data/vendor/tracemonkey/nanojit/NativeSparc.h +235 -229
  230. data/vendor/tracemonkey/nanojit/NativeX64.cpp +1434 -0
  231. data/vendor/tracemonkey/nanojit/NativeX64.h +392 -0
  232. data/vendor/tracemonkey/nanojit/Nativei386.cpp +1395 -1367
  233. data/vendor/tracemonkey/nanojit/Nativei386.h +519 -514
  234. data/vendor/tracemonkey/nanojit/RegAlloc.cpp +37 -130
  235. data/vendor/tracemonkey/nanojit/RegAlloc.h +90 -49
  236. data/vendor/tracemonkey/nanojit/avmplus.cpp +249 -32
  237. data/vendor/tracemonkey/nanojit/avmplus.h +121 -667
  238. data/vendor/tracemonkey/nanojit/manifest.mk +79 -0
  239. data/vendor/tracemonkey/nanojit/nanojit.h +179 -157
  240. data/vendor/tracemonkey/plify_jsdhash.sed +10 -6
  241. data/vendor/tracemonkey/prmjtime.cpp +97 -55
  242. data/vendor/tracemonkey/prmjtime.h +1 -1
  243. data/vendor/tracemonkey/{config/revdepth.pl → ref-config/HP-UXB.11.31.mk} +28 -14
  244. data/vendor/tracemonkey/resource.h +1 -1
  245. data/vendor/tracemonkey/shell/js.cpp +358 -201
  246. data/vendor/tracemonkey/tests/Makefile.in +78 -0
  247. data/vendor/tracemonkey/tests/Patterns.pm +257 -0
  248. data/vendor/tracemonkey/tests/README-jsDriver.html +325 -0
  249. data/vendor/tracemonkey/tests/SisyphusMakefile +58 -0
  250. data/vendor/tracemonkey/tests/bisect.sh +488 -0
  251. data/vendor/tracemonkey/tests/browser.js +964 -0
  252. data/vendor/tracemonkey/tests/changes.sh +122 -0
  253. data/vendor/tracemonkey/tests/config.mk +113 -0
  254. data/vendor/tracemonkey/tests/config.sh +138 -0
  255. data/vendor/tracemonkey/tests/detect-universe.sh +126 -0
  256. data/vendor/tracemonkey/tests/dikdik-n.tests +3 -0
  257. data/vendor/tracemonkey/tests/e4x/Expressions/11.1.1.js +85 -0
  258. data/vendor/tracemonkey/tests/e4x/Expressions/11.1.2.js +86 -0
  259. data/vendor/tracemonkey/tests/e4x/Expressions/11.1.3.js +56 -0
  260. data/vendor/tracemonkey/tests/e4x/Expressions/11.1.4-01.js +61 -0
  261. data/vendor/tracemonkey/tests/e4x/Expressions/11.1.4-02.js +58 -0
  262. data/vendor/tracemonkey/tests/e4x/Expressions/11.1.4-03.js +60 -0
  263. data/vendor/tracemonkey/tests/e4x/Expressions/11.1.4-04.js +56 -0
  264. data/vendor/tracemonkey/tests/e4x/Expressions/11.1.4-05.js +57 -0
  265. data/vendor/tracemonkey/tests/e4x/Expressions/11.1.4-06.js +61 -0
  266. data/vendor/tracemonkey/tests/e4x/Expressions/11.1.4-07.js +78 -0
  267. data/vendor/tracemonkey/tests/e4x/Expressions/11.1.4-08.js +158 -0
  268. data/vendor/tracemonkey/tests/e4x/Expressions/11.1.4.js +140 -0
  269. data/vendor/tracemonkey/tests/e4x/Expressions/11.1.5.js +62 -0
  270. data/vendor/tracemonkey/tests/e4x/Expressions/11.2.1.js +173 -0
  271. data/vendor/tracemonkey/tests/e4x/Expressions/11.2.2.js +106 -0
  272. data/vendor/tracemonkey/tests/e4x/Expressions/11.2.3.js +61 -0
  273. data/vendor/tracemonkey/tests/e4x/Expressions/11.2.4.js +117 -0
  274. data/vendor/tracemonkey/tests/e4x/Expressions/11.3.1.js +272 -0
  275. data/vendor/tracemonkey/tests/e4x/Expressions/11.3.2.js +52 -0
  276. data/vendor/tracemonkey/tests/e4x/Expressions/11.4.1.js +139 -0
  277. data/vendor/tracemonkey/tests/e4x/Expressions/11.5.1.js +101 -0
  278. data/vendor/tracemonkey/tests/e4x/Expressions/11.6.1.js +429 -0
  279. data/vendor/tracemonkey/tests/e4x/Expressions/11.6.2.js +326 -0
  280. data/vendor/tracemonkey/tests/e4x/Expressions/11.6.3.js +119 -0
  281. data/vendor/tracemonkey/tests/e4x/Expressions/jstests.list +30 -0
  282. data/vendor/tracemonkey/tests/e4x/Expressions/regress-301545.js +55 -0
  283. data/vendor/tracemonkey/tests/e4x/Expressions/regress-302531.js +63 -0
  284. data/vendor/tracemonkey/tests/e4x/Expressions/regress-340024.js +61 -0
  285. data/vendor/tracemonkey/tests/e4x/Expressions/regress-366123.js +67 -0
  286. data/vendor/tracemonkey/tests/e4x/Expressions/regress-496113.js +65 -0
  287. data/vendor/tracemonkey/tests/e4x/Expressions/shell.js +1 -0
  288. data/vendor/tracemonkey/tests/e4x/GC/jstests.list +11 -0
  289. data/vendor/tracemonkey/tests/e4x/GC/regress-280844-1.js +59 -0
  290. data/vendor/tracemonkey/tests/e4x/GC/regress-280844-2.js +71 -0
  291. data/vendor/tracemonkey/tests/e4x/GC/regress-292455.js +79 -0
  292. data/vendor/tracemonkey/tests/e4x/GC/regress-313952-01.js +68 -0
  293. data/vendor/tracemonkey/tests/e4x/GC/regress-313952-02.js +77 -0
  294. data/vendor/tracemonkey/tests/e4x/GC/regress-324117.js +98 -0
  295. data/vendor/tracemonkey/tests/e4x/GC/regress-324278.js +86 -0
  296. data/vendor/tracemonkey/tests/e4x/GC/regress-339785.js +92 -0
  297. data/vendor/tracemonkey/tests/e4x/GC/regress-357063-01.js +73 -0
  298. data/vendor/tracemonkey/tests/e4x/GC/regress-357063-02.js +69 -0
  299. data/vendor/tracemonkey/tests/e4x/GC/shell.js +1 -0
  300. data/vendor/tracemonkey/tests/e4x/Global/13.1.2.1.js +559 -0
  301. data/vendor/tracemonkey/tests/e4x/Global/jstests.list +2 -0
  302. data/vendor/tracemonkey/tests/e4x/Global/shell.js +1 -0
  303. data/vendor/tracemonkey/tests/e4x/Namespace/13.2.1.js +68 -0
  304. data/vendor/tracemonkey/tests/e4x/Namespace/13.2.2.js +86 -0
  305. data/vendor/tracemonkey/tests/e4x/Namespace/13.2.5.js +67 -0
  306. data/vendor/tracemonkey/tests/e4x/Namespace/jstests.list +9 -0
  307. data/vendor/tracemonkey/tests/e4x/Namespace/regress-283972.js +65 -0
  308. data/vendor/tracemonkey/tests/e4x/Namespace/regress-292863.js +62 -0
  309. data/vendor/tracemonkey/tests/e4x/Namespace/regress-350442.js +74 -0
  310. data/vendor/tracemonkey/tests/e4x/Namespace/regress-444608-02.js +55 -0
  311. data/vendor/tracemonkey/tests/e4x/Namespace/regress-444608.js +55 -0
  312. data/vendor/tracemonkey/tests/e4x/Namespace/shell.js +1 -0
  313. data/vendor/tracemonkey/tests/e4x/QName/13.3.1.js +75 -0
  314. data/vendor/tracemonkey/tests/e4x/QName/13.3.2.js +87 -0
  315. data/vendor/tracemonkey/tests/e4x/QName/13.3.5.js +67 -0
  316. data/vendor/tracemonkey/tests/e4x/QName/jstests.list +8 -0
  317. data/vendor/tracemonkey/tests/e4x/QName/regress-373595-01.js +53 -0
  318. data/vendor/tracemonkey/tests/e4x/QName/regress-373595-02.js +55 -0
  319. data/vendor/tracemonkey/tests/e4x/QName/regress-373595-03.js +55 -0
  320. data/vendor/tracemonkey/tests/e4x/QName/regress-444608.js +56 -0
  321. data/vendor/tracemonkey/tests/e4x/QName/shell.js +1 -0
  322. data/vendor/tracemonkey/tests/e4x/Regress/jstests.list +93 -0
  323. data/vendor/tracemonkey/tests/e4x/Regress/regress-257679.js +52 -0
  324. data/vendor/tracemonkey/tests/e4x/Regress/regress-263934.js +66 -0
  325. data/vendor/tracemonkey/tests/e4x/Regress/regress-263935.js +67 -0
  326. data/vendor/tracemonkey/tests/e4x/Regress/regress-263936.js +65 -0
  327. data/vendor/tracemonkey/tests/e4x/Regress/regress-264369.js +53 -0
  328. data/vendor/tracemonkey/tests/e4x/Regress/regress-271545.js +74 -0
  329. data/vendor/tracemonkey/tests/e4x/Regress/regress-277650.js +64 -0
  330. data/vendor/tracemonkey/tests/e4x/Regress/regress-277664.js +64 -0
  331. data/vendor/tracemonkey/tests/e4x/Regress/regress-277683.js +65 -0
  332. data/vendor/tracemonkey/tests/e4x/Regress/regress-277779.js +60 -0
  333. data/vendor/tracemonkey/tests/e4x/Regress/regress-277935.js +68 -0
  334. data/vendor/tracemonkey/tests/e4x/Regress/regress-278112.js +55 -0
  335. data/vendor/tracemonkey/tests/e4x/Regress/regress-283349.js +57 -0
  336. data/vendor/tracemonkey/tests/e4x/Regress/regress-290056.js +61 -0
  337. data/vendor/tracemonkey/tests/e4x/Regress/regress-290499.js +52 -0
  338. data/vendor/tracemonkey/tests/e4x/Regress/regress-301553.js +60 -0
  339. data/vendor/tracemonkey/tests/e4x/Regress/regress-301573.js +57 -0
  340. data/vendor/tracemonkey/tests/e4x/Regress/regress-301596.js +60 -0
  341. data/vendor/tracemonkey/tests/e4x/Regress/regress-301692.js +83 -0
  342. data/vendor/tracemonkey/tests/e4x/Regress/regress-308111.js +959 -0
  343. data/vendor/tracemonkey/tests/e4x/Regress/regress-309897.js +68 -0
  344. data/vendor/tracemonkey/tests/e4x/Regress/regress-311580.js +61 -0
  345. data/vendor/tracemonkey/tests/e4x/Regress/regress-313799.js +53 -0
  346. data/vendor/tracemonkey/tests/e4x/Regress/regress-318922.js +108 -0
  347. data/vendor/tracemonkey/tests/e4x/Regress/regress-319872.js +78 -0
  348. data/vendor/tracemonkey/tests/e4x/Regress/regress-321547.js +91 -0
  349. data/vendor/tracemonkey/tests/e4x/Regress/regress-322499.js +72 -0
  350. data/vendor/tracemonkey/tests/e4x/Regress/regress-323338-1.js +75 -0
  351. data/vendor/tracemonkey/tests/e4x/Regress/regress-323338-2.js +52 -0
  352. data/vendor/tracemonkey/tests/e4x/Regress/regress-325425.js +60 -0
  353. data/vendor/tracemonkey/tests/e4x/Regress/regress-327564.js +78 -0
  354. data/vendor/tracemonkey/tests/e4x/Regress/regress-327691-01.js +59 -0
  355. data/vendor/tracemonkey/tests/e4x/Regress/regress-327691-02.js +59 -0
  356. data/vendor/tracemonkey/tests/e4x/Regress/regress-327697.js +80 -0
  357. data/vendor/tracemonkey/tests/e4x/Regress/regress-328249.js +65 -0
  358. data/vendor/tracemonkey/tests/e4x/Regress/regress-329257.js +71 -0
  359. data/vendor/tracemonkey/tests/e4x/Regress/regress-331558.js +54 -0
  360. data/vendor/tracemonkey/tests/e4x/Regress/regress-331664.js +53 -0
  361. data/vendor/tracemonkey/tests/e4x/Regress/regress-344455.js +60 -0
  362. data/vendor/tracemonkey/tests/e4x/Regress/regress-347155.js +69 -0
  363. data/vendor/tracemonkey/tests/e4x/Regress/regress-350206-1.js +71 -0
  364. data/vendor/tracemonkey/tests/e4x/Regress/regress-350206.js +57 -0
  365. data/vendor/tracemonkey/tests/e4x/Regress/regress-350238.js +65 -0
  366. data/vendor/tracemonkey/tests/e4x/Regress/regress-350629.js +129 -0
  367. data/vendor/tracemonkey/tests/e4x/Regress/regress-352097.js +92 -0
  368. data/vendor/tracemonkey/tests/e4x/Regress/regress-352103.js +76 -0
  369. data/vendor/tracemonkey/tests/e4x/Regress/regress-352223.js +71 -0
  370. data/vendor/tracemonkey/tests/e4x/Regress/regress-354145-01.js +67 -0
  371. data/vendor/tracemonkey/tests/e4x/Regress/regress-354145-02.js +67 -0
  372. data/vendor/tracemonkey/tests/e4x/Regress/regress-354145-03.js +68 -0
  373. data/vendor/tracemonkey/tests/e4x/Regress/regress-354145-04.js +66 -0
  374. data/vendor/tracemonkey/tests/e4x/Regress/regress-354145-05.js +66 -0
  375. data/vendor/tracemonkey/tests/e4x/Regress/regress-354145-07.js +59 -0
  376. data/vendor/tracemonkey/tests/e4x/Regress/regress-354998.js +94 -0
  377. data/vendor/tracemonkey/tests/e4x/Regress/regress-355474-02.js +58 -0
  378. data/vendor/tracemonkey/tests/e4x/Regress/regress-355478.js +62 -0
  379. data/vendor/tracemonkey/tests/e4x/Regress/regress-355569.js +163 -0
  380. data/vendor/tracemonkey/tests/e4x/Regress/regress-356238-01.js +57 -0
  381. data/vendor/tracemonkey/tests/e4x/Regress/regress-356238-02.js +63 -0
  382. data/vendor/tracemonkey/tests/e4x/Regress/regress-356238-03.js +64 -0
  383. data/vendor/tracemonkey/tests/e4x/Regress/regress-361451.js +57 -0
  384. data/vendor/tracemonkey/tests/e4x/Regress/regress-364017.js +58 -0
  385. data/vendor/tracemonkey/tests/e4x/Regress/regress-369032.js +63 -0
  386. data/vendor/tracemonkey/tests/e4x/Regress/regress-369536.js +48 -0
  387. data/vendor/tracemonkey/tests/e4x/Regress/regress-369740.js +82 -0
  388. data/vendor/tracemonkey/tests/e4x/Regress/regress-370016.js +52 -0
  389. data/vendor/tracemonkey/tests/e4x/Regress/regress-370048-01.js +59 -0
  390. data/vendor/tracemonkey/tests/e4x/Regress/regress-370048-02.js +57 -0
  391. data/vendor/tracemonkey/tests/e4x/Regress/regress-370372.js +73 -0
  392. data/vendor/tracemonkey/tests/e4x/Regress/regress-371369.js +63 -0
  393. data/vendor/tracemonkey/tests/e4x/Regress/regress-372563.js +52 -0
  394. data/vendor/tracemonkey/tests/e4x/Regress/regress-372564.js +52 -0
  395. data/vendor/tracemonkey/tests/e4x/Regress/regress-373082.js +110 -0
  396. data/vendor/tracemonkey/tests/e4x/Regress/regress-374106.js +52 -0
  397. data/vendor/tracemonkey/tests/e4x/Regress/regress-374112.js +52 -0
  398. data/vendor/tracemonkey/tests/e4x/Regress/regress-374116.js +52 -0
  399. data/vendor/tracemonkey/tests/e4x/Regress/regress-374160.js +52 -0
  400. data/vendor/tracemonkey/tests/e4x/Regress/regress-375406.js +53 -0
  401. data/vendor/tracemonkey/tests/e4x/Regress/regress-378492.js +60 -0
  402. data/vendor/tracemonkey/tests/e4x/Regress/regress-380833.js +55 -0
  403. data/vendor/tracemonkey/tests/e4x/Regress/regress-383255.js +60 -0
  404. data/vendor/tracemonkey/tests/e4x/Regress/regress-394941.js +68 -0
  405. data/vendor/tracemonkey/tests/e4x/Regress/regress-407323.js +67 -0
  406. data/vendor/tracemonkey/tests/e4x/Regress/regress-426520.js +64 -0
  407. data/vendor/tracemonkey/tests/e4x/Regress/regress-453915.js +54 -0
  408. data/vendor/tracemonkey/tests/e4x/Regress/regress-458679-01.js +64 -0
  409. data/vendor/tracemonkey/tests/e4x/Regress/regress-458679-02.js +76 -0
  410. data/vendor/tracemonkey/tests/e4x/Regress/regress-460180.js +53 -0
  411. data/vendor/tracemonkey/tests/e4x/Regress/regress-465063.js +59 -0
  412. data/vendor/tracemonkey/tests/e4x/Regress/regress-473709.js +71 -0
  413. data/vendor/tracemonkey/tests/e4x/Regress/regress-474319.js +60 -0
  414. data/vendor/tracemonkey/tests/e4x/Regress/regress-477053.js +60 -0
  415. data/vendor/tracemonkey/tests/e4x/Regress/shell.js +1 -0
  416. data/vendor/tracemonkey/tests/e4x/Statements/12.1.js +134 -0
  417. data/vendor/tracemonkey/tests/e4x/Statements/12.2.js +104 -0
  418. data/vendor/tracemonkey/tests/e4x/Statements/12.3-01.js +76 -0
  419. data/vendor/tracemonkey/tests/e4x/Statements/jstests.list +4 -0
  420. data/vendor/tracemonkey/tests/e4x/Statements/shell.js +1 -0
  421. data/vendor/tracemonkey/tests/e4x/TypeConversion/10.1.1.js +141 -0
  422. data/vendor/tracemonkey/tests/e4x/TypeConversion/10.1.2.js +148 -0
  423. data/vendor/tracemonkey/tests/e4x/TypeConversion/10.2.1.js +159 -0
  424. data/vendor/tracemonkey/tests/e4x/TypeConversion/10.3.1.js +60 -0
  425. data/vendor/tracemonkey/tests/e4x/TypeConversion/10.3.js +77 -0
  426. data/vendor/tracemonkey/tests/e4x/TypeConversion/10.4.1.js +95 -0
  427. data/vendor/tracemonkey/tests/e4x/TypeConversion/10.4.js +85 -0
  428. data/vendor/tracemonkey/tests/e4x/TypeConversion/10.5.1.js +52 -0
  429. data/vendor/tracemonkey/tests/e4x/TypeConversion/10.5.js +52 -0
  430. data/vendor/tracemonkey/tests/e4x/TypeConversion/10.6.1.js +52 -0
  431. data/vendor/tracemonkey/tests/e4x/TypeConversion/10.6.js +52 -0
  432. data/vendor/tracemonkey/tests/e4x/TypeConversion/jstests.list +13 -0
  433. data/vendor/tracemonkey/tests/e4x/TypeConversion/regress-302097.js +59 -0
  434. data/vendor/tracemonkey/tests/e4x/TypeConversion/shell.js +1 -0
  435. data/vendor/tracemonkey/tests/e4x/Types/9.1.1.1.js +304 -0
  436. data/vendor/tracemonkey/tests/e4x/Types/9.1.1.10.js +52 -0
  437. data/vendor/tracemonkey/tests/e4x/Types/9.1.1.11.js +52 -0
  438. data/vendor/tracemonkey/tests/e4x/Types/9.1.1.12.js +52 -0
  439. data/vendor/tracemonkey/tests/e4x/Types/9.1.1.13.js +52 -0
  440. data/vendor/tracemonkey/tests/e4x/Types/9.1.1.2.js +82 -0
  441. data/vendor/tracemonkey/tests/e4x/Types/9.1.1.3.js +213 -0
  442. data/vendor/tracemonkey/tests/e4x/Types/9.1.1.4.js +50 -0
  443. data/vendor/tracemonkey/tests/e4x/Types/9.1.1.5.js +53 -0
  444. data/vendor/tracemonkey/tests/e4x/Types/9.1.1.6.js +59 -0
  445. data/vendor/tracemonkey/tests/e4x/Types/9.1.1.7.js +53 -0
  446. data/vendor/tracemonkey/tests/e4x/Types/9.1.1.8.js +54 -0
  447. data/vendor/tracemonkey/tests/e4x/Types/9.1.1.9.js +139 -0
  448. data/vendor/tracemonkey/tests/e4x/Types/9.2.1.1.js +164 -0
  449. data/vendor/tracemonkey/tests/e4x/Types/9.2.1.10.js +53 -0
  450. data/vendor/tracemonkey/tests/e4x/Types/9.2.1.2.js +64 -0
  451. data/vendor/tracemonkey/tests/e4x/Types/9.2.1.3.js +52 -0
  452. data/vendor/tracemonkey/tests/e4x/Types/9.2.1.4.js +53 -0
  453. data/vendor/tracemonkey/tests/e4x/Types/9.2.1.5.js +54 -0
  454. data/vendor/tracemonkey/tests/e4x/Types/9.2.1.6.js +53 -0
  455. data/vendor/tracemonkey/tests/e4x/Types/9.2.1.7.js +53 -0
  456. data/vendor/tracemonkey/tests/e4x/Types/9.2.1.8.js +56 -0
  457. data/vendor/tracemonkey/tests/e4x/Types/9.2.1.9.js +81 -0
  458. data/vendor/tracemonkey/tests/e4x/Types/jstests.list +24 -0
  459. data/vendor/tracemonkey/tests/e4x/Types/shell.js +1 -0
  460. data/vendor/tracemonkey/tests/e4x/XML/13.4.1.js +113 -0
  461. data/vendor/tracemonkey/tests/e4x/XML/13.4.2.js +116 -0
  462. data/vendor/tracemonkey/tests/e4x/XML/13.4.3.10.js +52 -0
  463. data/vendor/tracemonkey/tests/e4x/XML/13.4.3.js +239 -0
  464. data/vendor/tracemonkey/tests/e4x/XML/13.4.4.1.js +52 -0
  465. data/vendor/tracemonkey/tests/e4x/XML/13.4.4.10.js +100 -0
  466. data/vendor/tracemonkey/tests/e4x/XML/13.4.4.11.js +91 -0
  467. data/vendor/tracemonkey/tests/e4x/XML/13.4.4.12-1.js +89 -0
  468. data/vendor/tracemonkey/tests/e4x/XML/13.4.4.12.js +69 -0
  469. data/vendor/tracemonkey/tests/e4x/XML/13.4.4.13.js +49 -0
  470. data/vendor/tracemonkey/tests/e4x/XML/13.4.4.14.js +69 -0
  471. data/vendor/tracemonkey/tests/e4x/XML/13.4.4.15.js +79 -0
  472. data/vendor/tracemonkey/tests/e4x/XML/13.4.4.16.js +78 -0
  473. data/vendor/tracemonkey/tests/e4x/XML/13.4.4.17.js +64 -0
  474. data/vendor/tracemonkey/tests/e4x/XML/13.4.4.18.js +84 -0
  475. data/vendor/tracemonkey/tests/e4x/XML/13.4.4.19.js +84 -0
  476. data/vendor/tracemonkey/tests/e4x/XML/13.4.4.2.js +69 -0
  477. data/vendor/tracemonkey/tests/e4x/XML/13.4.4.20.js +65 -0
  478. data/vendor/tracemonkey/tests/e4x/XML/13.4.4.21.js +81 -0
  479. data/vendor/tracemonkey/tests/e4x/XML/13.4.4.22.js +81 -0
  480. data/vendor/tracemonkey/tests/e4x/XML/13.4.4.23.js +93 -0
  481. data/vendor/tracemonkey/tests/e4x/XML/13.4.4.24.js +64 -0
  482. data/vendor/tracemonkey/tests/e4x/XML/13.4.4.25.js +62 -0
  483. data/vendor/tracemonkey/tests/e4x/XML/13.4.4.26.js +138 -0
  484. data/vendor/tracemonkey/tests/e4x/XML/13.4.4.27.js +63 -0
  485. data/vendor/tracemonkey/tests/e4x/XML/13.4.4.28.js +73 -0
  486. data/vendor/tracemonkey/tests/e4x/XML/13.4.4.29.js +93 -0
  487. data/vendor/tracemonkey/tests/e4x/XML/13.4.4.3-01.js +72 -0
  488. data/vendor/tracemonkey/tests/e4x/XML/13.4.4.3-02.js +62 -0
  489. data/vendor/tracemonkey/tests/e4x/XML/13.4.4.3.js +84 -0
  490. data/vendor/tracemonkey/tests/e4x/XML/13.4.4.30.js +62 -0
  491. data/vendor/tracemonkey/tests/e4x/XML/13.4.4.31.js +78 -0
  492. data/vendor/tracemonkey/tests/e4x/XML/13.4.4.32-01.js +56 -0
  493. data/vendor/tracemonkey/tests/e4x/XML/13.4.4.32.js +100 -0
  494. data/vendor/tracemonkey/tests/e4x/XML/13.4.4.33.js +80 -0
  495. data/vendor/tracemonkey/tests/e4x/XML/13.4.4.34.js +77 -0
  496. data/vendor/tracemonkey/tests/e4x/XML/13.4.4.35.js +91 -0
  497. data/vendor/tracemonkey/tests/e4x/XML/13.4.4.36.js +72 -0
  498. data/vendor/tracemonkey/tests/e4x/XML/13.4.4.37.js +67 -0
  499. data/vendor/tracemonkey/tests/e4x/XML/13.4.4.38.js +107 -0
  500. data/vendor/tracemonkey/tests/e4x/XML/13.4.4.39.js +129 -0
  501. data/vendor/tracemonkey/tests/e4x/XML/13.4.4.4.js +76 -0
  502. data/vendor/tracemonkey/tests/e4x/XML/13.4.4.40.js +69 -0
  503. data/vendor/tracemonkey/tests/e4x/XML/13.4.4.5.js +71 -0
  504. data/vendor/tracemonkey/tests/e4x/XML/13.4.4.6.js +68 -0
  505. data/vendor/tracemonkey/tests/e4x/XML/13.4.4.7.js +62 -0
  506. data/vendor/tracemonkey/tests/e4x/XML/13.4.4.8.js +69 -0
  507. data/vendor/tracemonkey/tests/e4x/XML/13.4.4.9.js +63 -0
  508. data/vendor/tracemonkey/tests/e4x/XML/jstests.list +55 -0
  509. data/vendor/tracemonkey/tests/e4x/XML/regress-291930.js +54 -0
  510. data/vendor/tracemonkey/tests/e4x/XML/regress-324422-1.js +78 -0
  511. data/vendor/tracemonkey/tests/e4x/XML/regress-324422-2.js +72 -0
  512. data/vendor/tracemonkey/tests/e4x/XML/regress-324688.js +105 -0
  513. data/vendor/tracemonkey/tests/e4x/XML/regress-336921.js +63 -0
  514. data/vendor/tracemonkey/tests/e4x/XML/regress-376773.js +584 -0
  515. data/vendor/tracemonkey/tests/e4x/XML/shell.js +1 -0
  516. data/vendor/tracemonkey/tests/e4x/XMLList/13.5.1.js +97 -0
  517. data/vendor/tracemonkey/tests/e4x/XMLList/13.5.2.js +91 -0
  518. data/vendor/tracemonkey/tests/e4x/XMLList/13.5.4.10.js +48 -0
  519. data/vendor/tracemonkey/tests/e4x/XMLList/13.5.4.11.js +76 -0
  520. data/vendor/tracemonkey/tests/e4x/XMLList/13.5.4.12.js +105 -0
  521. data/vendor/tracemonkey/tests/e4x/XMLList/13.5.4.13.js +105 -0
  522. data/vendor/tracemonkey/tests/e4x/XMLList/13.5.4.14.js +80 -0
  523. data/vendor/tracemonkey/tests/e4x/XMLList/13.5.4.15.js +49 -0
  524. data/vendor/tracemonkey/tests/e4x/XMLList/13.5.4.16.js +78 -0
  525. data/vendor/tracemonkey/tests/e4x/XMLList/13.5.4.17.js +49 -0
  526. data/vendor/tracemonkey/tests/e4x/XMLList/13.5.4.18.js +49 -0
  527. data/vendor/tracemonkey/tests/e4x/XMLList/13.5.4.19.js +49 -0
  528. data/vendor/tracemonkey/tests/e4x/XMLList/13.5.4.2.js +87 -0
  529. data/vendor/tracemonkey/tests/e4x/XMLList/13.5.4.20.js +57 -0
  530. data/vendor/tracemonkey/tests/e4x/XMLList/13.5.4.21.js +57 -0
  531. data/vendor/tracemonkey/tests/e4x/XMLList/13.5.4.22.js +50 -0
  532. data/vendor/tracemonkey/tests/e4x/XMLList/13.5.4.3.js +74 -0
  533. data/vendor/tracemonkey/tests/e4x/XMLList/13.5.4.4.js +86 -0
  534. data/vendor/tracemonkey/tests/e4x/XMLList/13.5.4.5.js +96 -0
  535. data/vendor/tracemonkey/tests/e4x/XMLList/13.5.4.6.js +49 -0
  536. data/vendor/tracemonkey/tests/e4x/XMLList/13.5.4.7.js +59 -0
  537. data/vendor/tracemonkey/tests/e4x/XMLList/13.5.4.8.js +75 -0
  538. data/vendor/tracemonkey/tests/e4x/XMLList/13.5.4.9.js +84 -0
  539. data/vendor/tracemonkey/tests/e4x/XMLList/jstests.list +25 -0
  540. data/vendor/tracemonkey/tests/e4x/XMLList/regress-373072.js +61 -0
  541. data/vendor/tracemonkey/tests/e4x/XMLList/shell.js +1 -0
  542. data/vendor/tracemonkey/tests/e4x/browser.js +82 -0
  543. data/vendor/tracemonkey/tests/e4x/decompilation/decompile-xml-escapes.js +78 -0
  544. data/vendor/tracemonkey/tests/e4x/decompilation/jstests.list +19 -0
  545. data/vendor/tracemonkey/tests/e4x/decompilation/regress-349814.js +62 -0
  546. data/vendor/tracemonkey/tests/e4x/decompilation/regress-349815.js +56 -0
  547. data/vendor/tracemonkey/tests/e4x/decompilation/regress-349822.js +63 -0
  548. data/vendor/tracemonkey/tests/e4x/decompilation/regress-349956.js +60 -0
  549. data/vendor/tracemonkey/tests/e4x/decompilation/regress-350226.js +55 -0
  550. data/vendor/tracemonkey/tests/e4x/decompilation/regress-350531.js +61 -0
  551. data/vendor/tracemonkey/tests/e4x/decompilation/regress-351706.js +61 -0
  552. data/vendor/tracemonkey/tests/e4x/decompilation/regress-351988.js +56 -0
  553. data/vendor/tracemonkey/tests/e4x/decompilation/regress-352013.js +137 -0
  554. data/vendor/tracemonkey/tests/e4x/decompilation/regress-352459.js +54 -0
  555. data/vendor/tracemonkey/tests/e4x/decompilation/regress-352649.js +54 -0
  556. data/vendor/tracemonkey/tests/e4x/decompilation/regress-352789.js +66 -0
  557. data/vendor/tracemonkey/tests/e4x/decompilation/regress-355101.js +54 -0
  558. data/vendor/tracemonkey/tests/e4x/decompilation/regress-355474-01.js +61 -0
  559. data/vendor/tracemonkey/tests/e4x/decompilation/regress-373678.js +55 -0
  560. data/vendor/tracemonkey/tests/e4x/decompilation/regress-429249.js +64 -0
  561. data/vendor/tracemonkey/tests/e4x/decompilation/regress-461233.js +56 -0
  562. data/vendor/tracemonkey/tests/e4x/decompilation/shell.js +1 -0
  563. data/vendor/tracemonkey/tests/e4x/extensions/jstests.list +21 -0
  564. data/vendor/tracemonkey/tests/e4x/extensions/regress-305335.js +62 -0
  565. data/vendor/tracemonkey/tests/e4x/extensions/regress-312196.js +115 -0
  566. data/vendor/tracemonkey/tests/e4x/extensions/regress-313080.js +60 -0
  567. data/vendor/tracemonkey/tests/e4x/extensions/regress-321547.js +61 -0
  568. data/vendor/tracemonkey/tests/e4x/extensions/regress-327534.js +61 -0
  569. data/vendor/tracemonkey/tests/e4x/extensions/regress-327897.js +66 -0
  570. data/vendor/tracemonkey/tests/e4x/extensions/regress-337226.js +52 -0
  571. data/vendor/tracemonkey/tests/e4x/extensions/regress-352846-01.js +81 -0
  572. data/vendor/tracemonkey/tests/e4x/extensions/regress-352846-02.js +86 -0
  573. data/vendor/tracemonkey/tests/e4x/extensions/regress-352846-03.js +86 -0
  574. data/vendor/tracemonkey/tests/e4x/extensions/regress-353165.js +115 -0
  575. data/vendor/tracemonkey/tests/e4x/extensions/regress-354145-06.js +67 -0
  576. data/vendor/tracemonkey/tests/e4x/extensions/regress-354151-01.js +63 -0
  577. data/vendor/tracemonkey/tests/e4x/extensions/regress-354151-02.js +69 -0
  578. data/vendor/tracemonkey/tests/e4x/extensions/regress-374025.js +54 -0
  579. data/vendor/tracemonkey/tests/e4x/extensions/regress-374163.js +62 -0
  580. data/vendor/tracemonkey/tests/e4x/extensions/regress-410192.js +55 -0
  581. data/vendor/tracemonkey/tests/e4x/extensions/regress-450871-01.js +67 -0
  582. data/vendor/tracemonkey/tests/e4x/extensions/regress-450871-02.js +68 -0
  583. data/vendor/tracemonkey/tests/e4x/extensions/regress-462734-01.js +67 -0
  584. data/vendor/tracemonkey/tests/e4x/extensions/shell.js +1 -0
  585. data/vendor/tracemonkey/tests/e4x/jstests.list +13 -0
  586. data/vendor/tracemonkey/tests/e4x/shell.js +121 -0
  587. data/vendor/tracemonkey/tests/e4x/template.js +51 -0
  588. data/vendor/tracemonkey/tests/ecma/Array/15.4-1.js +133 -0
  589. data/vendor/tracemonkey/tests/ecma/Array/15.4-2.js +114 -0
  590. data/vendor/tracemonkey/tests/ecma/Array/15.4.1.1.js +111 -0
  591. data/vendor/tracemonkey/tests/ecma/Array/15.4.1.2.js +162 -0
  592. data/vendor/tracemonkey/tests/ecma/Array/15.4.1.3.js +84 -0
  593. data/vendor/tracemonkey/tests/ecma/Array/15.4.1.js +132 -0
  594. data/vendor/tracemonkey/tests/ecma/Array/15.4.2.1-1.js +112 -0
  595. data/vendor/tracemonkey/tests/ecma/Array/15.4.2.1-2.js +101 -0
  596. data/vendor/tracemonkey/tests/ecma/Array/15.4.2.1-3.js +137 -0
  597. data/vendor/tracemonkey/tests/ecma/Array/15.4.2.2-1.js +183 -0
  598. data/vendor/tracemonkey/tests/ecma/Array/15.4.2.2-2.js +118 -0
  599. data/vendor/tracemonkey/tests/ecma/Array/15.4.2.3.js +101 -0
  600. data/vendor/tracemonkey/tests/ecma/Array/15.4.3.1-2.js +81 -0
  601. data/vendor/tracemonkey/tests/ecma/Array/15.4.3.2.js +62 -0
  602. data/vendor/tracemonkey/tests/ecma/Array/15.4.4.1.js +63 -0
  603. data/vendor/tracemonkey/tests/ecma/Array/15.4.4.2.js +110 -0
  604. data/vendor/tracemonkey/tests/ecma/Array/15.4.4.3-1.js +163 -0
  605. data/vendor/tracemonkey/tests/ecma/Array/15.4.4.4-1.js +294 -0
  606. data/vendor/tracemonkey/tests/ecma/Array/15.4.4.4-2.js +169 -0
  607. data/vendor/tracemonkey/tests/ecma/Array/15.4.4.5-1.js +225 -0
  608. data/vendor/tracemonkey/tests/ecma/Array/15.4.4.5-2.js +227 -0
  609. data/vendor/tracemonkey/tests/ecma/Array/15.4.4.5-3.js +182 -0
  610. data/vendor/tracemonkey/tests/ecma/Array/15.4.4.js +74 -0
  611. data/vendor/tracemonkey/tests/ecma/Array/15.4.5.1-1.js +170 -0
  612. data/vendor/tracemonkey/tests/ecma/Array/15.4.5.1-2.js +152 -0
  613. data/vendor/tracemonkey/tests/ecma/Array/15.4.5.2-1.js +86 -0
  614. data/vendor/tracemonkey/tests/ecma/Array/15.4.5.2-2.js +127 -0
  615. data/vendor/tracemonkey/tests/ecma/Array/jstests.list +28 -0
  616. data/vendor/tracemonkey/tests/ecma/Array/shell.js +1 -0
  617. data/vendor/tracemonkey/tests/ecma/Boolean/15.6.1.js +96 -0
  618. data/vendor/tracemonkey/tests/ecma/Boolean/15.6.2.js +161 -0
  619. data/vendor/tracemonkey/tests/ecma/Boolean/15.6.3.1-1.js +72 -0
  620. data/vendor/tracemonkey/tests/ecma/Boolean/15.6.3.1-2.js +71 -0
  621. data/vendor/tracemonkey/tests/ecma/Boolean/15.6.3.1-3.js +71 -0
  622. data/vendor/tracemonkey/tests/ecma/Boolean/15.6.3.1-4.js +75 -0
  623. data/vendor/tracemonkey/tests/ecma/Boolean/15.6.3.1.js +69 -0
  624. data/vendor/tracemonkey/tests/ecma/Boolean/15.6.4-1.js +72 -0
  625. data/vendor/tracemonkey/tests/ecma/Boolean/15.6.4.1.js +62 -0
  626. data/vendor/tracemonkey/tests/ecma/Boolean/15.6.4.2-1.js +97 -0
  627. data/vendor/tracemonkey/tests/ecma/Boolean/15.6.4.2-2.js +73 -0
  628. data/vendor/tracemonkey/tests/ecma/Boolean/15.6.4.2-3.js +65 -0
  629. data/vendor/tracemonkey/tests/ecma/Boolean/15.6.4.2-4-n.js +69 -0
  630. data/vendor/tracemonkey/tests/ecma/Boolean/15.6.4.3-1.js +88 -0
  631. data/vendor/tracemonkey/tests/ecma/Boolean/15.6.4.3-2.js +67 -0
  632. data/vendor/tracemonkey/tests/ecma/Boolean/15.6.4.3-3.js +66 -0
  633. data/vendor/tracemonkey/tests/ecma/Boolean/15.6.4.3-4-n.js +69 -0
  634. data/vendor/tracemonkey/tests/ecma/Boolean/15.6.4.3.js +83 -0
  635. data/vendor/tracemonkey/tests/ecma/Boolean/15.6.4.js +80 -0
  636. data/vendor/tracemonkey/tests/ecma/Boolean/jstests.list +20 -0
  637. data/vendor/tracemonkey/tests/ecma/Boolean/shell.js +1 -0
  638. data/vendor/tracemonkey/tests/ecma/Date/15.9.1.1-1.js +95 -0
  639. data/vendor/tracemonkey/tests/ecma/Date/15.9.1.1-2.js +90 -0
  640. data/vendor/tracemonkey/tests/ecma/Date/15.9.1.13-1.js +78 -0
  641. data/vendor/tracemonkey/tests/ecma/Date/15.9.2.1.js +174 -0
  642. data/vendor/tracemonkey/tests/ecma/Date/15.9.2.2-1.js +86 -0
  643. data/vendor/tracemonkey/tests/ecma/Date/15.9.2.2-2.js +89 -0
  644. data/vendor/tracemonkey/tests/ecma/Date/15.9.2.2-3.js +86 -0
  645. data/vendor/tracemonkey/tests/ecma/Date/15.9.2.2-4.js +82 -0
  646. data/vendor/tracemonkey/tests/ecma/Date/15.9.2.2-5.js +86 -0
  647. data/vendor/tracemonkey/tests/ecma/Date/15.9.2.2-6.js +85 -0
  648. data/vendor/tracemonkey/tests/ecma/Date/15.9.3.1-1.js +239 -0
  649. data/vendor/tracemonkey/tests/ecma/Date/15.9.3.1-2.js +152 -0
  650. data/vendor/tracemonkey/tests/ecma/Date/15.9.3.1-3.js +141 -0
  651. data/vendor/tracemonkey/tests/ecma/Date/15.9.3.1-4.js +151 -0
  652. data/vendor/tracemonkey/tests/ecma/Date/15.9.3.1-5.js +140 -0
  653. data/vendor/tracemonkey/tests/ecma/Date/15.9.3.2-1.js +150 -0
  654. data/vendor/tracemonkey/tests/ecma/Date/15.9.3.2-2.js +141 -0
  655. data/vendor/tracemonkey/tests/ecma/Date/15.9.3.2-3.js +145 -0
  656. data/vendor/tracemonkey/tests/ecma/Date/15.9.3.2-4.js +142 -0
  657. data/vendor/tracemonkey/tests/ecma/Date/15.9.3.2-5.js +139 -0
  658. data/vendor/tracemonkey/tests/ecma/Date/15.9.3.8-1.js +155 -0
  659. data/vendor/tracemonkey/tests/ecma/Date/15.9.3.8-2.js +153 -0
  660. data/vendor/tracemonkey/tests/ecma/Date/15.9.3.8-3.js +160 -0
  661. data/vendor/tracemonkey/tests/ecma/Date/15.9.3.8-4.js +161 -0
  662. data/vendor/tracemonkey/tests/ecma/Date/15.9.3.8-5.js +161 -0
  663. data/vendor/tracemonkey/tests/ecma/Date/15.9.4.2-1.js +81 -0
  664. data/vendor/tracemonkey/tests/ecma/Date/15.9.4.2.js +191 -0
  665. data/vendor/tracemonkey/tests/ecma/Date/15.9.4.3.js +185 -0
  666. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.1.js +63 -0
  667. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.10-1.js +85 -0
  668. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.10-10.js +89 -0
  669. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.10-11.js +89 -0
  670. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.10-12.js +89 -0
  671. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.10-13.js +89 -0
  672. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.10-2.js +85 -0
  673. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.10-3.js +85 -0
  674. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.10-4.js +85 -0
  675. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.10-5.js +85 -0
  676. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.10-6.js +85 -0
  677. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.10-7.js +85 -0
  678. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.10-8.js +89 -0
  679. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.10-9.js +89 -0
  680. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.11-1.js +76 -0
  681. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.11-2.js +76 -0
  682. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.11-3.js +76 -0
  683. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.11-4.js +76 -0
  684. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.11-5.js +76 -0
  685. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.11-6.js +76 -0
  686. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.11-7.js +76 -0
  687. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.12-1.js +77 -0
  688. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.12-2.js +77 -0
  689. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.12-3.js +77 -0
  690. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.12-4.js +77 -0
  691. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.12-5.js +77 -0
  692. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.12-6.js +77 -0
  693. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.12-7.js +77 -0
  694. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.12-8.js +71 -0
  695. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.13-1.js +79 -0
  696. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.13-2.js +76 -0
  697. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.13-3.js +77 -0
  698. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.13-4.js +77 -0
  699. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.13-5.js +77 -0
  700. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.13-6.js +77 -0
  701. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.13-7.js +76 -0
  702. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.13-8.js +71 -0
  703. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.14.js +87 -0
  704. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.15.js +88 -0
  705. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.16.js +87 -0
  706. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.17.js +88 -0
  707. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.18.js +88 -0
  708. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.19.js +88 -0
  709. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.2-1.js +151 -0
  710. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.2-2-n.js +84 -0
  711. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.2.js +151 -0
  712. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.20.js +88 -0
  713. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.21-1.js +70 -0
  714. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.21-2.js +70 -0
  715. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.21-3.js +70 -0
  716. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.21-4.js +70 -0
  717. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.21-5.js +70 -0
  718. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.21-6.js +70 -0
  719. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.21-7.js +70 -0
  720. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.21-8.js +71 -0
  721. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.22-1.js +89 -0
  722. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.22-2.js +74 -0
  723. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.22-3.js +74 -0
  724. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.22-4.js +74 -0
  725. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.22-5.js +74 -0
  726. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.22-6.js +74 -0
  727. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.22-7.js +74 -0
  728. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.22-8.js +72 -0
  729. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.23-1.js +139 -0
  730. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.23-10.js +139 -0
  731. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.23-11.js +140 -0
  732. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.23-12.js +137 -0
  733. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.23-13.js +137 -0
  734. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.23-14.js +137 -0
  735. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.23-15.js +137 -0
  736. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.23-16.js +137 -0
  737. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.23-17.js +137 -0
  738. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.23-18.js +137 -0
  739. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.23-2.js +109 -0
  740. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.23-3-n.js +79 -0
  741. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.23-4.js +112 -0
  742. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.23-5.js +113 -0
  743. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.23-6.js +112 -0
  744. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.23-7.js +113 -0
  745. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.23-8.js +103 -0
  746. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.23-9.js +103 -0
  747. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.24-1.js +134 -0
  748. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.24-2.js +134 -0
  749. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.24-3.js +134 -0
  750. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.24-4.js +134 -0
  751. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.24-5.js +134 -0
  752. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.24-6.js +134 -0
  753. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.24-7.js +134 -0
  754. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.24-8.js +133 -0
  755. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.25-1.js +174 -0
  756. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.26-1.js +183 -0
  757. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.27-1.js +183 -0
  758. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.28-1.js +196 -0
  759. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.29-1.js +191 -0
  760. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.3-1-n.js +80 -0
  761. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.3-2.js +104 -0
  762. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.30-1.js +192 -0
  763. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.31-1.js +222 -0
  764. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.32-1.js +141 -0
  765. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.33-1.js +145 -0
  766. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.34-1.js +182 -0
  767. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.35-1.js +139 -0
  768. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.36-1.js +165 -0
  769. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.36-2.js +164 -0
  770. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.36-3.js +163 -0
  771. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.36-4.js +163 -0
  772. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.36-5.js +163 -0
  773. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.36-6.js +163 -0
  774. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.36-7.js +163 -0
  775. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.37-1.js +173 -0
  776. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.37-2.js +161 -0
  777. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.37-3.js +164 -0
  778. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.37-4.js +163 -0
  779. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.37-5.js +159 -0
  780. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.4-1.js +93 -0
  781. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.4-2-n.js +76 -0
  782. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.5.js +112 -0
  783. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.6.js +104 -0
  784. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.7.js +105 -0
  785. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.8.js +113 -0
  786. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.9.js +113 -0
  787. data/vendor/tracemonkey/tests/ecma/Date/15.9.5.js +83 -0
  788. data/vendor/tracemonkey/tests/ecma/Date/jstests.list +151 -0
  789. data/vendor/tracemonkey/tests/ecma/Date/shell.js +1 -0
  790. data/vendor/tracemonkey/tests/ecma/ExecutionContexts/10.1.3-1.js +107 -0
  791. data/vendor/tracemonkey/tests/ecma/ExecutionContexts/10.1.3-2.js +73 -0
  792. data/vendor/tracemonkey/tests/ecma/ExecutionContexts/10.1.3.js +170 -0
  793. data/vendor/tracemonkey/tests/ecma/ExecutionContexts/10.1.4-1.js +111 -0
  794. data/vendor/tracemonkey/tests/ecma/ExecutionContexts/10.1.4-10.js +105 -0
  795. data/vendor/tracemonkey/tests/ecma/ExecutionContexts/10.1.4-2.js +113 -0
  796. data/vendor/tracemonkey/tests/ecma/ExecutionContexts/10.1.4-3.js +111 -0
  797. data/vendor/tracemonkey/tests/ecma/ExecutionContexts/10.1.4-4.js +113 -0
  798. data/vendor/tracemonkey/tests/ecma/ExecutionContexts/10.1.4-5.js +112 -0
  799. data/vendor/tracemonkey/tests/ecma/ExecutionContexts/10.1.4-6.js +100 -0
  800. data/vendor/tracemonkey/tests/ecma/ExecutionContexts/10.1.4-7.js +112 -0
  801. data/vendor/tracemonkey/tests/ecma/ExecutionContexts/10.1.4-8.js +113 -0
  802. data/vendor/tracemonkey/tests/ecma/ExecutionContexts/10.1.5-1.js +118 -0
  803. data/vendor/tracemonkey/tests/ecma/ExecutionContexts/10.1.5-2.js +100 -0
  804. data/vendor/tracemonkey/tests/ecma/ExecutionContexts/10.1.5-3.js +130 -0
  805. data/vendor/tracemonkey/tests/ecma/ExecutionContexts/10.1.5-4.js +91 -0
  806. data/vendor/tracemonkey/tests/ecma/ExecutionContexts/10.1.8-2.js +120 -0
  807. data/vendor/tracemonkey/tests/ecma/ExecutionContexts/10.1.8-3.js +66 -0
  808. data/vendor/tracemonkey/tests/ecma/ExecutionContexts/10.2.1.js +85 -0
  809. data/vendor/tracemonkey/tests/ecma/ExecutionContexts/10.2.2-1.js +122 -0
  810. data/vendor/tracemonkey/tests/ecma/ExecutionContexts/10.2.2-2.js +133 -0
  811. data/vendor/tracemonkey/tests/ecma/ExecutionContexts/10.2.3-1.js +86 -0
  812. data/vendor/tracemonkey/tests/ecma/ExecutionContexts/10.2.3-2.js +92 -0
  813. data/vendor/tracemonkey/tests/ecma/ExecutionContexts/jstests.list +24 -0
  814. data/vendor/tracemonkey/tests/ecma/ExecutionContexts/shell.js +1 -0
  815. data/vendor/tracemonkey/tests/ecma/Expressions/11.1.1.js +137 -0
  816. data/vendor/tracemonkey/tests/ecma/Expressions/11.10-1.js +270 -0
  817. data/vendor/tracemonkey/tests/ecma/Expressions/11.10-2.js +269 -0
  818. data/vendor/tracemonkey/tests/ecma/Expressions/11.10-3.js +268 -0
  819. data/vendor/tracemonkey/tests/ecma/Expressions/11.12-1.js +110 -0
  820. data/vendor/tracemonkey/tests/ecma/Expressions/11.12-2-n.js +74 -0
  821. data/vendor/tracemonkey/tests/ecma/Expressions/11.12-3.js +71 -0
  822. data/vendor/tracemonkey/tests/ecma/Expressions/11.12-4.js +71 -0
  823. data/vendor/tracemonkey/tests/ecma/Expressions/11.13.1.js +72 -0
  824. data/vendor/tracemonkey/tests/ecma/Expressions/11.13.2-1.js +231 -0
  825. data/vendor/tracemonkey/tests/ecma/Expressions/11.13.2-2.js +253 -0
  826. data/vendor/tracemonkey/tests/ecma/Expressions/11.13.2-3.js +300 -0
  827. data/vendor/tracemonkey/tests/ecma/Expressions/11.13.2-4.js +137 -0
  828. data/vendor/tracemonkey/tests/ecma/Expressions/11.13.2-5.js +137 -0
  829. data/vendor/tracemonkey/tests/ecma/Expressions/11.13.js +86 -0
  830. data/vendor/tracemonkey/tests/ecma/Expressions/11.14-1.js +73 -0
  831. data/vendor/tracemonkey/tests/ecma/Expressions/11.2.1-1.js +272 -0
  832. data/vendor/tracemonkey/tests/ecma/Expressions/11.2.1-2.js +128 -0
  833. data/vendor/tracemonkey/tests/ecma/Expressions/11.2.1-3-n.js +128 -0
  834. data/vendor/tracemonkey/tests/ecma/Expressions/11.2.1-4-n.js +128 -0
  835. data/vendor/tracemonkey/tests/ecma/Expressions/11.2.1-5.js +128 -0
  836. data/vendor/tracemonkey/tests/ecma/Expressions/11.2.2-1-n.js +104 -0
  837. data/vendor/tracemonkey/tests/ecma/Expressions/11.2.2-1.js +100 -0
  838. data/vendor/tracemonkey/tests/ecma/Expressions/11.2.2-10-n.js +102 -0
  839. data/vendor/tracemonkey/tests/ecma/Expressions/11.2.2-11.js +104 -0
  840. data/vendor/tracemonkey/tests/ecma/Expressions/11.2.2-2-n.js +104 -0
  841. data/vendor/tracemonkey/tests/ecma/Expressions/11.2.2-3-n.js +100 -0
  842. data/vendor/tracemonkey/tests/ecma/Expressions/11.2.2-4-n.js +104 -0
  843. data/vendor/tracemonkey/tests/ecma/Expressions/11.2.2-5-n.js +104 -0
  844. data/vendor/tracemonkey/tests/ecma/Expressions/11.2.2-6-n.js +103 -0
  845. data/vendor/tracemonkey/tests/ecma/Expressions/11.2.2-7-n.js +104 -0
  846. data/vendor/tracemonkey/tests/ecma/Expressions/11.2.2-8-n.js +104 -0
  847. data/vendor/tracemonkey/tests/ecma/Expressions/11.2.2-9-n.js +104 -0
  848. data/vendor/tracemonkey/tests/ecma/Expressions/11.2.3-1.js +125 -0
  849. data/vendor/tracemonkey/tests/ecma/Expressions/11.2.3-2-n.js +94 -0
  850. data/vendor/tracemonkey/tests/ecma/Expressions/11.2.3-3-n.js +91 -0
  851. data/vendor/tracemonkey/tests/ecma/Expressions/11.2.3-4-n.js +91 -0
  852. data/vendor/tracemonkey/tests/ecma/Expressions/11.2.3-5.js +85 -0
  853. data/vendor/tracemonkey/tests/ecma/Expressions/11.3.1.js +153 -0
  854. data/vendor/tracemonkey/tests/ecma/Expressions/11.3.2.js +153 -0
  855. data/vendor/tracemonkey/tests/ecma/Expressions/11.4.1.js +92 -0
  856. data/vendor/tracemonkey/tests/ecma/Expressions/11.4.2.js +83 -0
  857. data/vendor/tracemonkey/tests/ecma/Expressions/11.4.3.js +111 -0
  858. data/vendor/tracemonkey/tests/ecma/Expressions/11.4.4.js +156 -0
  859. data/vendor/tracemonkey/tests/ecma/Expressions/11.4.5.js +154 -0
  860. data/vendor/tracemonkey/tests/ecma/Expressions/11.4.6.js +299 -0
  861. data/vendor/tracemonkey/tests/ecma/Expressions/11.4.7-01.js +299 -0
  862. data/vendor/tracemonkey/tests/ecma/Expressions/11.4.7-02.js +87 -0
  863. data/vendor/tracemonkey/tests/ecma/Expressions/11.4.8.js +215 -0
  864. data/vendor/tracemonkey/tests/ecma/Expressions/11.4.9.js +94 -0
  865. data/vendor/tracemonkey/tests/ecma/Expressions/11.5.1.js +115 -0
  866. data/vendor/tracemonkey/tests/ecma/Expressions/11.5.2.js +154 -0
  867. data/vendor/tracemonkey/tests/ecma/Expressions/11.5.3.js +161 -0
  868. data/vendor/tracemonkey/tests/ecma/Expressions/11.6.1-1.js +160 -0
  869. data/vendor/tracemonkey/tests/ecma/Expressions/11.6.1-2.js +164 -0
  870. data/vendor/tracemonkey/tests/ecma/Expressions/11.6.1-3.js +150 -0
  871. data/vendor/tracemonkey/tests/ecma/Expressions/11.6.2-1.js +165 -0
  872. data/vendor/tracemonkey/tests/ecma/Expressions/11.6.3.js +115 -0
  873. data/vendor/tracemonkey/tests/ecma/Expressions/11.7.1.js +228 -0
  874. data/vendor/tracemonkey/tests/ecma/Expressions/11.7.2.js +246 -0
  875. data/vendor/tracemonkey/tests/ecma/Expressions/11.7.3.js +230 -0
  876. data/vendor/tracemonkey/tests/ecma/Expressions/11.8.1.js +121 -0
  877. data/vendor/tracemonkey/tests/ecma/Expressions/11.8.2.js +121 -0
  878. data/vendor/tracemonkey/tests/ecma/Expressions/11.8.3.js +120 -0
  879. data/vendor/tracemonkey/tests/ecma/Expressions/11.8.4.js +121 -0
  880. data/vendor/tracemonkey/tests/ecma/Expressions/11.9.1.js +159 -0
  881. data/vendor/tracemonkey/tests/ecma/Expressions/11.9.2.js +159 -0
  882. data/vendor/tracemonkey/tests/ecma/Expressions/11.9.3.js +159 -0
  883. data/vendor/tracemonkey/tests/ecma/Expressions/jstests.list +69 -0
  884. data/vendor/tracemonkey/tests/ecma/Expressions/shell.js +1 -0
  885. data/vendor/tracemonkey/tests/ecma/FunctionObjects/15.3.1.1-1.js +136 -0
  886. data/vendor/tracemonkey/tests/ecma/FunctionObjects/15.3.1.1-2.js +183 -0
  887. data/vendor/tracemonkey/tests/ecma/FunctionObjects/15.3.1.1-3.js +99 -0
  888. data/vendor/tracemonkey/tests/ecma/FunctionObjects/15.3.2.1-1.js +132 -0
  889. data/vendor/tracemonkey/tests/ecma/FunctionObjects/15.3.2.1-2.js +107 -0
  890. data/vendor/tracemonkey/tests/ecma/FunctionObjects/15.3.2.1-3.js +95 -0
  891. data/vendor/tracemonkey/tests/ecma/FunctionObjects/15.3.3.1-2.js +70 -0
  892. data/vendor/tracemonkey/tests/ecma/FunctionObjects/15.3.3.1-3.js +79 -0
  893. data/vendor/tracemonkey/tests/ecma/FunctionObjects/15.3.3.1-4.js +70 -0
  894. data/vendor/tracemonkey/tests/ecma/FunctionObjects/15.3.3.2.js +62 -0
  895. data/vendor/tracemonkey/tests/ecma/FunctionObjects/15.3.4-1.js +94 -0
  896. data/vendor/tracemonkey/tests/ecma/FunctionObjects/15.3.4.1.js +61 -0
  897. data/vendor/tracemonkey/tests/ecma/FunctionObjects/15.3.4.js +81 -0
  898. data/vendor/tracemonkey/tests/ecma/FunctionObjects/15.3.5-1.js +117 -0
  899. data/vendor/tracemonkey/tests/ecma/FunctionObjects/15.3.5-2.js +90 -0
  900. data/vendor/tracemonkey/tests/ecma/FunctionObjects/15.3.5.1.js +83 -0
  901. data/vendor/tracemonkey/tests/ecma/FunctionObjects/15.3.5.3.js +72 -0
  902. data/vendor/tracemonkey/tests/ecma/FunctionObjects/jstests.list +18 -0
  903. data/vendor/tracemonkey/tests/ecma/FunctionObjects/shell.js +1 -0
  904. data/vendor/tracemonkey/tests/ecma/GlobalObject/15.1-1-n.js +70 -0
  905. data/vendor/tracemonkey/tests/ecma/GlobalObject/15.1-2-n.js +67 -0
  906. data/vendor/tracemonkey/tests/ecma/GlobalObject/15.1.1.1.js +63 -0
  907. data/vendor/tracemonkey/tests/ecma/GlobalObject/15.1.1.2.js +62 -0
  908. data/vendor/tracemonkey/tests/ecma/GlobalObject/15.1.2.1-2.js +66 -0
  909. data/vendor/tracemonkey/tests/ecma/GlobalObject/15.1.2.2-1.js +410 -0
  910. data/vendor/tracemonkey/tests/ecma/GlobalObject/15.1.2.2-2.js +238 -0
  911. data/vendor/tracemonkey/tests/ecma/GlobalObject/15.1.2.3-1.js +441 -0
  912. data/vendor/tracemonkey/tests/ecma/GlobalObject/15.1.2.3-2.js +291 -0
  913. data/vendor/tracemonkey/tests/ecma/GlobalObject/15.1.2.4.js +205 -0
  914. data/vendor/tracemonkey/tests/ecma/GlobalObject/15.1.2.5-1.js +206 -0
  915. data/vendor/tracemonkey/tests/ecma/GlobalObject/15.1.2.5-2.js +183 -0
  916. data/vendor/tracemonkey/tests/ecma/GlobalObject/15.1.2.5-3.js +207 -0
  917. data/vendor/tracemonkey/tests/ecma/GlobalObject/15.1.2.6.js +125 -0
  918. data/vendor/tracemonkey/tests/ecma/GlobalObject/15.1.2.7.js +130 -0
  919. data/vendor/tracemonkey/tests/ecma/GlobalObject/jstests.list +16 -0
  920. data/vendor/tracemonkey/tests/ecma/GlobalObject/shell.js +1 -0
  921. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.1-1.js +82 -0
  922. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.1-2.js +73 -0
  923. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.1-3.js +89 -0
  924. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.2-1.js +73 -0
  925. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.2-2-n.js +74 -0
  926. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.2-3-n.js +74 -0
  927. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.2-4-n.js +73 -0
  928. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.2-5-n.js +72 -0
  929. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.2-6.js +68 -0
  930. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.3-1.js +92 -0
  931. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.3-10.js +65 -0
  932. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.3-11.js +66 -0
  933. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.3-12.js +64 -0
  934. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.3-13-n.js +66 -0
  935. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.3-2.js +65 -0
  936. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.3-3.js +65 -0
  937. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.3-4.js +65 -0
  938. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.3-5.js +65 -0
  939. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.3-6.js +65 -0
  940. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.3-7.js +66 -0
  941. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.3-8.js +65 -0
  942. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.3-9.js +65 -0
  943. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.1-1-n.js +71 -0
  944. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.1-2-n.js +71 -0
  945. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.1-3-n.js +69 -0
  946. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.2-1-n.js +77 -0
  947. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.2-10-n.js +77 -0
  948. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.2-11-n.js +77 -0
  949. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.2-12-n.js +77 -0
  950. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.2-13-n.js +77 -0
  951. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.2-14-n.js +77 -0
  952. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.2-15-n.js +77 -0
  953. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.2-16-n.js +77 -0
  954. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.2-2-n.js +77 -0
  955. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.2-3-n.js +77 -0
  956. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.2-4-n.js +77 -0
  957. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.2-5-n.js +77 -0
  958. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.2-6-n.js +77 -0
  959. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.2-7-n.js +75 -0
  960. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.2-8-n.js +76 -0
  961. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.2-9-n.js +77 -0
  962. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.3-1-n.js +71 -0
  963. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.3-10-n.js +71 -0
  964. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.3-11-n.js +71 -0
  965. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.3-12-n.js +71 -0
  966. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.3-13-n.js +71 -0
  967. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.3-14-n.js +103 -0
  968. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.3-15-n.js +97 -0
  969. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.3-16-n.js +88 -0
  970. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.3-2-n.js +71 -0
  971. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.3-3-n.js +71 -0
  972. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.3-4-n.js +102 -0
  973. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.3-5-n.js +71 -0
  974. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.3-6-n.js +71 -0
  975. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.3-7-n.js +103 -0
  976. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.3-8-n.js +71 -0
  977. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.4.3-9-n.js +104 -0
  978. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.5-1.js +62 -0
  979. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.5-10-n.js +64 -0
  980. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.5-2-n.js +64 -0
  981. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.5-3-n.js +64 -0
  982. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.5-4-n.js +64 -0
  983. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.5-5-n.js +64 -0
  984. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.5-6.js +61 -0
  985. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.5-7.js +61 -0
  986. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.5-8-n.js +64 -0
  987. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.5-9-n.js +64 -0
  988. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.6.js +313 -0
  989. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.7.1.js +64 -0
  990. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.7.2.js +71 -0
  991. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.7.3-1.js +198 -0
  992. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.7.3-2.js +93 -0
  993. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.7.3.js +331 -0
  994. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.7.4.js +269 -0
  995. data/vendor/tracemonkey/tests/ecma/LexicalConventions/7.8.2-n.js +63 -0
  996. data/vendor/tracemonkey/tests/ecma/LexicalConventions/jstests.list +76 -0
  997. data/vendor/tracemonkey/tests/ecma/LexicalConventions/shell.js +1 -0
  998. data/vendor/tracemonkey/tests/ecma/Math/15.8-2-n.js +82 -0
  999. data/vendor/tracemonkey/tests/ecma/Math/15.8-3-n.js +81 -0
  1000. data/vendor/tracemonkey/tests/ecma/Math/15.8.1.1-1.js +64 -0
  1001. data/vendor/tracemonkey/tests/ecma/Math/15.8.1.1-2.js +69 -0
  1002. data/vendor/tracemonkey/tests/ecma/Math/15.8.1.2-1.js +64 -0
  1003. data/vendor/tracemonkey/tests/ecma/Math/15.8.1.2-2.js +70 -0
  1004. data/vendor/tracemonkey/tests/ecma/Math/15.8.1.3-1.js +65 -0
  1005. data/vendor/tracemonkey/tests/ecma/Math/15.8.1.3-2.js +72 -0
  1006. data/vendor/tracemonkey/tests/ecma/Math/15.8.1.4-1.js +65 -0
  1007. data/vendor/tracemonkey/tests/ecma/Math/15.8.1.4-2.js +69 -0
  1008. data/vendor/tracemonkey/tests/ecma/Math/15.8.1.5-1.js +66 -0
  1009. data/vendor/tracemonkey/tests/ecma/Math/15.8.1.5-2.js +70 -0
  1010. data/vendor/tracemonkey/tests/ecma/Math/15.8.1.6-1.js +65 -0
  1011. data/vendor/tracemonkey/tests/ecma/Math/15.8.1.6-2.js +70 -0
  1012. data/vendor/tracemonkey/tests/ecma/Math/15.8.1.7-1.js +65 -0
  1013. data/vendor/tracemonkey/tests/ecma/Math/15.8.1.7-2.js +70 -0
  1014. data/vendor/tracemonkey/tests/ecma/Math/15.8.1.8-1.js +65 -0
  1015. data/vendor/tracemonkey/tests/ecma/Math/15.8.1.8-2.js +69 -0
  1016. data/vendor/tracemonkey/tests/ecma/Math/15.8.1.8-3.js +63 -0
  1017. data/vendor/tracemonkey/tests/ecma/Math/15.8.1.js +149 -0
  1018. data/vendor/tracemonkey/tests/ecma/Math/15.8.2.1.js +226 -0
  1019. data/vendor/tracemonkey/tests/ecma/Math/15.8.2.10.js +153 -0
  1020. data/vendor/tracemonkey/tests/ecma/Math/15.8.2.11.js +200 -0
  1021. data/vendor/tracemonkey/tests/ecma/Math/15.8.2.12.js +177 -0
  1022. data/vendor/tracemonkey/tests/ecma/Math/15.8.2.13.js +385 -0
  1023. data/vendor/tracemonkey/tests/ecma/Math/15.8.2.14.js +79 -0
  1024. data/vendor/tracemonkey/tests/ecma/Math/15.8.2.15.js +202 -0
  1025. data/vendor/tracemonkey/tests/ecma/Math/15.8.2.16.js +132 -0
  1026. data/vendor/tracemonkey/tests/ecma/Math/15.8.2.17.js +217 -0
  1027. data/vendor/tracemonkey/tests/ecma/Math/15.8.2.18.js +165 -0
  1028. data/vendor/tracemonkey/tests/ecma/Math/15.8.2.2.js +156 -0
  1029. data/vendor/tracemonkey/tests/ecma/Math/15.8.2.3.js +158 -0
  1030. data/vendor/tracemonkey/tests/ecma/Math/15.8.2.4.js +156 -0
  1031. data/vendor/tracemonkey/tests/ecma/Math/15.8.2.5.js +244 -0
  1032. data/vendor/tracemonkey/tests/ecma/Math/15.8.2.6.js +232 -0
  1033. data/vendor/tracemonkey/tests/ecma/Math/15.8.2.7.js +283 -0
  1034. data/vendor/tracemonkey/tests/ecma/Math/15.8.2.8.js +134 -0
  1035. data/vendor/tracemonkey/tests/ecma/Math/15.8.2.9.js +191 -0
  1036. data/vendor/tracemonkey/tests/ecma/Math/jstests.list +39 -0
  1037. data/vendor/tracemonkey/tests/ecma/Math/shell.js +1 -0
  1038. data/vendor/tracemonkey/tests/ecma/NativeObjects/shell.js +1 -0
  1039. data/vendor/tracemonkey/tests/ecma/Number/15.7.1.js +88 -0
  1040. data/vendor/tracemonkey/tests/ecma/Number/15.7.2.js +168 -0
  1041. data/vendor/tracemonkey/tests/ecma/Number/15.7.3.1-1.js +71 -0
  1042. data/vendor/tracemonkey/tests/ecma/Number/15.7.3.1-2.js +71 -0
  1043. data/vendor/tracemonkey/tests/ecma/Number/15.7.3.1-3.js +67 -0
  1044. data/vendor/tracemonkey/tests/ecma/Number/15.7.3.2-1.js +65 -0
  1045. data/vendor/tracemonkey/tests/ecma/Number/15.7.3.2-2.js +70 -0
  1046. data/vendor/tracemonkey/tests/ecma/Number/15.7.3.2-3.js +67 -0
  1047. data/vendor/tracemonkey/tests/ecma/Number/15.7.3.2-4.js +64 -0
  1048. data/vendor/tracemonkey/tests/ecma/Number/15.7.3.3-1.js +68 -0
  1049. data/vendor/tracemonkey/tests/ecma/Number/15.7.3.3-2.js +73 -0
  1050. data/vendor/tracemonkey/tests/ecma/Number/15.7.3.3-3.js +64 -0
  1051. data/vendor/tracemonkey/tests/ecma/Number/15.7.3.3-4.js +66 -0
  1052. data/vendor/tracemonkey/tests/ecma/Number/15.7.3.4-1.js +66 -0
  1053. data/vendor/tracemonkey/tests/ecma/Number/15.7.3.4-2.js +71 -0
  1054. data/vendor/tracemonkey/tests/ecma/Number/15.7.3.4-3.js +65 -0
  1055. data/vendor/tracemonkey/tests/ecma/Number/15.7.3.4-4.js +66 -0
  1056. data/vendor/tracemonkey/tests/ecma/Number/15.7.3.5-1.js +64 -0
  1057. data/vendor/tracemonkey/tests/ecma/Number/15.7.3.5-2.js +70 -0
  1058. data/vendor/tracemonkey/tests/ecma/Number/15.7.3.5-3.js +65 -0
  1059. data/vendor/tracemonkey/tests/ecma/Number/15.7.3.5-4.js +66 -0
  1060. data/vendor/tracemonkey/tests/ecma/Number/15.7.3.6-1.js +65 -0
  1061. data/vendor/tracemonkey/tests/ecma/Number/15.7.3.6-2.js +69 -0
  1062. data/vendor/tracemonkey/tests/ecma/Number/15.7.3.6-3.js +65 -0
  1063. data/vendor/tracemonkey/tests/ecma/Number/15.7.3.6-4.js +66 -0
  1064. data/vendor/tracemonkey/tests/ecma/Number/15.7.3.js +69 -0
  1065. data/vendor/tracemonkey/tests/ecma/Number/15.7.4-1.js +60 -0
  1066. data/vendor/tracemonkey/tests/ecma/Number/15.7.4.1.js +62 -0
  1067. data/vendor/tracemonkey/tests/ecma/Number/15.7.4.2-1.js +111 -0
  1068. data/vendor/tracemonkey/tests/ecma/Number/15.7.4.2-2-n.js +76 -0
  1069. data/vendor/tracemonkey/tests/ecma/Number/15.7.4.2-3-n.js +73 -0
  1070. data/vendor/tracemonkey/tests/ecma/Number/15.7.4.2-4.js +70 -0
  1071. data/vendor/tracemonkey/tests/ecma/Number/15.7.4.3-1.js +97 -0
  1072. data/vendor/tracemonkey/tests/ecma/Number/15.7.4.3-2.js +65 -0
  1073. data/vendor/tracemonkey/tests/ecma/Number/15.7.4.3-3-n.js +72 -0
  1074. data/vendor/tracemonkey/tests/ecma/Number/jstests.list +36 -0
  1075. data/vendor/tracemonkey/tests/ecma/Number/shell.js +1 -0
  1076. data/vendor/tracemonkey/tests/ecma/ObjectObjects/15.2.1.1.js +146 -0
  1077. data/vendor/tracemonkey/tests/ecma/ObjectObjects/15.2.1.2.js +81 -0
  1078. data/vendor/tracemonkey/tests/ecma/ObjectObjects/15.2.2.1.js +138 -0
  1079. data/vendor/tracemonkey/tests/ecma/ObjectObjects/15.2.2.2.js +74 -0
  1080. data/vendor/tracemonkey/tests/ecma/ObjectObjects/15.2.3-1.js +64 -0
  1081. data/vendor/tracemonkey/tests/ecma/ObjectObjects/15.2.3.1-1.js +69 -0
  1082. data/vendor/tracemonkey/tests/ecma/ObjectObjects/15.2.3.1-2.js +70 -0
  1083. data/vendor/tracemonkey/tests/ecma/ObjectObjects/15.2.3.1-3.js +70 -0
  1084. data/vendor/tracemonkey/tests/ecma/ObjectObjects/15.2.3.1-4.js +70 -0
  1085. data/vendor/tracemonkey/tests/ecma/ObjectObjects/15.2.3.js +67 -0
  1086. data/vendor/tracemonkey/tests/ecma/ObjectObjects/15.2.4.1.js +64 -0
  1087. data/vendor/tracemonkey/tests/ecma/ObjectObjects/15.2.4.2.js +130 -0
  1088. data/vendor/tracemonkey/tests/ecma/ObjectObjects/15.2.4.3.js +117 -0
  1089. data/vendor/tracemonkey/tests/ecma/ObjectObjects/jstests.list +14 -0
  1090. data/vendor/tracemonkey/tests/ecma/ObjectObjects/shell.js +1 -0
  1091. data/vendor/tracemonkey/tests/ecma/README +1 -0
  1092. data/vendor/tracemonkey/tests/ecma/SourceText/6-1.js +128 -0
  1093. data/vendor/tracemonkey/tests/ecma/SourceText/6-2.js +131 -0
  1094. data/vendor/tracemonkey/tests/ecma/SourceText/jstests.list +3 -0
  1095. data/vendor/tracemonkey/tests/ecma/SourceText/shell.js +1 -0
  1096. data/vendor/tracemonkey/tests/ecma/Statements/12.10-1.js +151 -0
  1097. data/vendor/tracemonkey/tests/ecma/Statements/12.10.js +61 -0
  1098. data/vendor/tracemonkey/tests/ecma/Statements/12.2-1.js +74 -0
  1099. data/vendor/tracemonkey/tests/ecma/Statements/12.5-1.js +102 -0
  1100. data/vendor/tracemonkey/tests/ecma/Statements/12.5-2.js +99 -0
  1101. data/vendor/tracemonkey/tests/ecma/Statements/12.6.1-1.js +74 -0
  1102. data/vendor/tracemonkey/tests/ecma/Statements/12.6.2-1.js +75 -0
  1103. data/vendor/tracemonkey/tests/ecma/Statements/12.6.2-2.js +76 -0
  1104. data/vendor/tracemonkey/tests/ecma/Statements/12.6.2-3.js +72 -0
  1105. data/vendor/tracemonkey/tests/ecma/Statements/12.6.2-4.js +72 -0
  1106. data/vendor/tracemonkey/tests/ecma/Statements/12.6.2-5.js +73 -0
  1107. data/vendor/tracemonkey/tests/ecma/Statements/12.6.2-6.js +75 -0
  1108. data/vendor/tracemonkey/tests/ecma/Statements/12.6.2-7.js +73 -0
  1109. data/vendor/tracemonkey/tests/ecma/Statements/12.6.2-8.js +71 -0
  1110. data/vendor/tracemonkey/tests/ecma/Statements/12.6.2-9-n.js +76 -0
  1111. data/vendor/tracemonkey/tests/ecma/Statements/12.6.3-1.js +63 -0
  1112. data/vendor/tracemonkey/tests/ecma/Statements/12.6.3-10.js +115 -0
  1113. data/vendor/tracemonkey/tests/ecma/Statements/12.6.3-11.js +98 -0
  1114. data/vendor/tracemonkey/tests/ecma/Statements/12.6.3-12.js +103 -0
  1115. data/vendor/tracemonkey/tests/ecma/Statements/12.6.3-19.js +117 -0
  1116. data/vendor/tracemonkey/tests/ecma/Statements/12.6.3-2.js +63 -0
  1117. data/vendor/tracemonkey/tests/ecma/Statements/12.6.3-3.js +73 -0
  1118. data/vendor/tracemonkey/tests/ecma/Statements/12.6.3-4.js +202 -0
  1119. data/vendor/tracemonkey/tests/ecma/Statements/12.6.3-5-n.js +110 -0
  1120. data/vendor/tracemonkey/tests/ecma/Statements/12.6.3-6-n.js +109 -0
  1121. data/vendor/tracemonkey/tests/ecma/Statements/12.6.3-7-n.js +110 -0
  1122. data/vendor/tracemonkey/tests/ecma/Statements/12.6.3-8-n.js +110 -0
  1123. data/vendor/tracemonkey/tests/ecma/Statements/12.6.3-9-n.js +109 -0
  1124. data/vendor/tracemonkey/tests/ecma/Statements/12.7-1-n.js +64 -0
  1125. data/vendor/tracemonkey/tests/ecma/Statements/12.8-1-n.js +67 -0
  1126. data/vendor/tracemonkey/tests/ecma/Statements/12.9-1-n.js +63 -0
  1127. data/vendor/tracemonkey/tests/ecma/Statements/jstests.list +32 -0
  1128. data/vendor/tracemonkey/tests/ecma/Statements/shell.js +1 -0
  1129. data/vendor/tracemonkey/tests/ecma/String/15.5.1.js +134 -0
  1130. data/vendor/tracemonkey/tests/ecma/String/15.5.2.js +110 -0
  1131. data/vendor/tracemonkey/tests/ecma/String/15.5.3.1-1.js +71 -0
  1132. data/vendor/tracemonkey/tests/ecma/String/15.5.3.1-2.js +69 -0
  1133. data/vendor/tracemonkey/tests/ecma/String/15.5.3.1-3.js +66 -0
  1134. data/vendor/tracemonkey/tests/ecma/String/15.5.3.1-4.js +66 -0
  1135. data/vendor/tracemonkey/tests/ecma/String/15.5.3.2-1.js +190 -0
  1136. data/vendor/tracemonkey/tests/ecma/String/15.5.3.2-2.js +77 -0
  1137. data/vendor/tracemonkey/tests/ecma/String/15.5.3.2-3.js +121 -0
  1138. data/vendor/tracemonkey/tests/ecma/String/15.5.3.js +66 -0
  1139. data/vendor/tracemonkey/tests/ecma/String/15.5.4.1.js +63 -0
  1140. data/vendor/tracemonkey/tests/ecma/String/15.5.4.10-1.js +217 -0
  1141. data/vendor/tracemonkey/tests/ecma/String/15.5.4.11-1.js +518 -0
  1142. data/vendor/tracemonkey/tests/ecma/String/15.5.4.11-2.js +515 -0
  1143. data/vendor/tracemonkey/tests/ecma/String/15.5.4.11-3.js +514 -0
  1144. data/vendor/tracemonkey/tests/ecma/String/15.5.4.11-4.js +507 -0
  1145. data/vendor/tracemonkey/tests/ecma/String/15.5.4.11-5.js +520 -0
  1146. data/vendor/tracemonkey/tests/ecma/String/15.5.4.11-6.js +516 -0
  1147. data/vendor/tracemonkey/tests/ecma/String/15.5.4.12-1.js +520 -0
  1148. data/vendor/tracemonkey/tests/ecma/String/15.5.4.12-2.js +518 -0
  1149. data/vendor/tracemonkey/tests/ecma/String/15.5.4.12-3.js +559 -0
  1150. data/vendor/tracemonkey/tests/ecma/String/15.5.4.12-4.js +515 -0
  1151. data/vendor/tracemonkey/tests/ecma/String/15.5.4.12-5.js +515 -0
  1152. data/vendor/tracemonkey/tests/ecma/String/15.5.4.2-1.js +72 -0
  1153. data/vendor/tracemonkey/tests/ecma/String/15.5.4.2-2-n.js +73 -0
  1154. data/vendor/tracemonkey/tests/ecma/String/15.5.4.2-3.js +83 -0
  1155. data/vendor/tracemonkey/tests/ecma/String/15.5.4.2.js +87 -0
  1156. data/vendor/tracemonkey/tests/ecma/String/15.5.4.3-1.js +72 -0
  1157. data/vendor/tracemonkey/tests/ecma/String/15.5.4.3-2.js +90 -0
  1158. data/vendor/tracemonkey/tests/ecma/String/15.5.4.3-3-n.js +72 -0
  1159. data/vendor/tracemonkey/tests/ecma/String/15.5.4.4-1.js +92 -0
  1160. data/vendor/tracemonkey/tests/ecma/String/15.5.4.4-2.js +136 -0
  1161. data/vendor/tracemonkey/tests/ecma/String/15.5.4.4-3.js +112 -0
  1162. data/vendor/tracemonkey/tests/ecma/String/15.5.4.4-4.js +124 -0
  1163. data/vendor/tracemonkey/tests/ecma/String/15.5.4.5-1.js +87 -0
  1164. data/vendor/tracemonkey/tests/ecma/String/15.5.4.5-2.js +121 -0
  1165. data/vendor/tracemonkey/tests/ecma/String/15.5.4.5-3.js +131 -0
  1166. data/vendor/tracemonkey/tests/ecma/String/15.5.4.5-4.js +75 -0
  1167. data/vendor/tracemonkey/tests/ecma/String/15.5.4.5-5.js +106 -0
  1168. data/vendor/tracemonkey/tests/ecma/String/15.5.4.6-1.js +155 -0
  1169. data/vendor/tracemonkey/tests/ecma/String/15.5.4.6-2.js +259 -0
  1170. data/vendor/tracemonkey/tests/ecma/String/15.5.4.7-1.js +219 -0
  1171. data/vendor/tracemonkey/tests/ecma/String/15.5.4.7-2.js +217 -0
  1172. data/vendor/tracemonkey/tests/ecma/String/15.5.4.8-1.js +232 -0
  1173. data/vendor/tracemonkey/tests/ecma/String/15.5.4.8-2.js +247 -0
  1174. data/vendor/tracemonkey/tests/ecma/String/15.5.4.8-3.js +204 -0
  1175. data/vendor/tracemonkey/tests/ecma/String/15.5.4.9-1.js +202 -0
  1176. data/vendor/tracemonkey/tests/ecma/String/15.5.4.js +108 -0
  1177. data/vendor/tracemonkey/tests/ecma/String/15.5.5.1.js +88 -0
  1178. data/vendor/tracemonkey/tests/ecma/String/jstests.list +50 -0
  1179. data/vendor/tracemonkey/tests/ecma/String/shell.js +1 -0
  1180. data/vendor/tracemonkey/tests/ecma/TypeConversion/9.2.js +138 -0
  1181. data/vendor/tracemonkey/tests/ecma/TypeConversion/9.3-1.js +100 -0
  1182. data/vendor/tracemonkey/tests/ecma/TypeConversion/9.3.1-1.js +323 -0
  1183. data/vendor/tracemonkey/tests/ecma/TypeConversion/9.3.1-2.js +87 -0
  1184. data/vendor/tracemonkey/tests/ecma/TypeConversion/9.3.1-3.js +747 -0
  1185. data/vendor/tracemonkey/tests/ecma/TypeConversion/9.3.js +87 -0
  1186. data/vendor/tracemonkey/tests/ecma/TypeConversion/9.4-1.js +112 -0
  1187. data/vendor/tracemonkey/tests/ecma/TypeConversion/9.4-2.js +112 -0
  1188. data/vendor/tracemonkey/tests/ecma/TypeConversion/9.5-2.js +173 -0
  1189. data/vendor/tracemonkey/tests/ecma/TypeConversion/9.6.js +140 -0
  1190. data/vendor/tracemonkey/tests/ecma/TypeConversion/9.7.js +160 -0
  1191. data/vendor/tracemonkey/tests/ecma/TypeConversion/9.8.1.js +167 -0
  1192. data/vendor/tracemonkey/tests/ecma/TypeConversion/9.9-1.js +119 -0
  1193. data/vendor/tracemonkey/tests/ecma/TypeConversion/jstests.list +14 -0
  1194. data/vendor/tracemonkey/tests/ecma/TypeConversion/shell.js +1 -0
  1195. data/vendor/tracemonkey/tests/ecma/Types/8.1.js +75 -0
  1196. data/vendor/tracemonkey/tests/ecma/Types/8.4.js +130 -0
  1197. data/vendor/tracemonkey/tests/ecma/Types/8.6.2.1-1.js +78 -0
  1198. data/vendor/tracemonkey/tests/ecma/Types/jstests.list +4 -0
  1199. data/vendor/tracemonkey/tests/ecma/Types/shell.js +1 -0
  1200. data/vendor/tracemonkey/tests/ecma/browser.js +62 -0
  1201. data/vendor/tracemonkey/tests/ecma/extensions/10.1.4-9.js +110 -0
  1202. data/vendor/tracemonkey/tests/ecma/extensions/10.1.6.js +127 -0
  1203. data/vendor/tracemonkey/tests/ecma/extensions/10.1.8-1.js +135 -0
  1204. data/vendor/tracemonkey/tests/ecma/extensions/11.6.1-1.js +145 -0
  1205. data/vendor/tracemonkey/tests/ecma/extensions/11.6.1-2.js +136 -0
  1206. data/vendor/tracemonkey/tests/ecma/extensions/11.6.1-3.js +137 -0
  1207. data/vendor/tracemonkey/tests/ecma/extensions/11.6.2-1.js +124 -0
  1208. data/vendor/tracemonkey/tests/ecma/extensions/15-1.js +94 -0
  1209. data/vendor/tracemonkey/tests/ecma/extensions/15-2.js +77 -0
  1210. data/vendor/tracemonkey/tests/ecma/extensions/15.1.2.1-1.js +88 -0
  1211. data/vendor/tracemonkey/tests/ecma/extensions/15.2.1.1.js +82 -0
  1212. data/vendor/tracemonkey/tests/ecma/extensions/15.2.3-1.js +64 -0
  1213. data/vendor/tracemonkey/tests/ecma/extensions/15.2.4.js +66 -0
  1214. data/vendor/tracemonkey/tests/ecma/extensions/15.3.1.1-1.js +82 -0
  1215. data/vendor/tracemonkey/tests/ecma/extensions/15.3.1.1-2.js +82 -0
  1216. data/vendor/tracemonkey/tests/ecma/extensions/15.3.2.1-1.js +72 -0
  1217. data/vendor/tracemonkey/tests/ecma/extensions/15.3.2.1-2.js +72 -0
  1218. data/vendor/tracemonkey/tests/ecma/extensions/15.3.3.1-1.js +67 -0
  1219. data/vendor/tracemonkey/tests/ecma/extensions/15.4.3.js +63 -0
  1220. data/vendor/tracemonkey/tests/ecma/extensions/15.5.3.js +66 -0
  1221. data/vendor/tracemonkey/tests/ecma/extensions/15.5.4.2.js +59 -0
  1222. data/vendor/tracemonkey/tests/ecma/extensions/15.5.4.4-4.js +107 -0
  1223. data/vendor/tracemonkey/tests/ecma/extensions/15.5.4.5-6.js +94 -0
  1224. data/vendor/tracemonkey/tests/ecma/extensions/15.5.4.7-3.js +161 -0
  1225. data/vendor/tracemonkey/tests/ecma/extensions/15.6.3.1-5.js +58 -0
  1226. data/vendor/tracemonkey/tests/ecma/extensions/15.6.3.js +65 -0
  1227. data/vendor/tracemonkey/tests/ecma/extensions/15.6.4-2.js +66 -0
  1228. data/vendor/tracemonkey/tests/ecma/extensions/15.7.3.js +69 -0
  1229. data/vendor/tracemonkey/tests/ecma/extensions/15.7.4.js +90 -0
  1230. data/vendor/tracemonkey/tests/ecma/extensions/15.8-1.js +84 -0
  1231. data/vendor/tracemonkey/tests/ecma/extensions/15.9.5.js +76 -0
  1232. data/vendor/tracemonkey/tests/ecma/extensions/8.6.2.1-1.js +98 -0
  1233. data/vendor/tracemonkey/tests/ecma/extensions/9.9-1.js +102 -0
  1234. data/vendor/tracemonkey/tests/ecma/extensions/jstests.list +34 -0
  1235. data/vendor/tracemonkey/tests/ecma/extensions/shell.js +1 -0
  1236. data/vendor/tracemonkey/tests/ecma/jsref.js +632 -0
  1237. data/vendor/tracemonkey/tests/ecma/jstests.list +18 -0
  1238. data/vendor/tracemonkey/tests/ecma/shell.js +581 -0
  1239. data/vendor/tracemonkey/tests/ecma/template.js +70 -0
  1240. data/vendor/tracemonkey/tests/ecma_2/Exceptions/boolean-001.js +80 -0
  1241. data/vendor/tracemonkey/tests/ecma_2/Exceptions/boolean-002.js +84 -0
  1242. data/vendor/tracemonkey/tests/ecma_2/Exceptions/date-001.js +93 -0
  1243. data/vendor/tracemonkey/tests/ecma_2/Exceptions/date-002.js +87 -0
  1244. data/vendor/tracemonkey/tests/ecma_2/Exceptions/date-003.js +89 -0
  1245. data/vendor/tracemonkey/tests/ecma_2/Exceptions/date-004.js +83 -0
  1246. data/vendor/tracemonkey/tests/ecma_2/Exceptions/exception-001.js +78 -0
  1247. data/vendor/tracemonkey/tests/ecma_2/Exceptions/exception-002.js +78 -0
  1248. data/vendor/tracemonkey/tests/ecma_2/Exceptions/exception-003.js +82 -0
  1249. data/vendor/tracemonkey/tests/ecma_2/Exceptions/exception-004.js +78 -0
  1250. data/vendor/tracemonkey/tests/ecma_2/Exceptions/exception-005.js +78 -0
  1251. data/vendor/tracemonkey/tests/ecma_2/Exceptions/exception-006.js +89 -0
  1252. data/vendor/tracemonkey/tests/ecma_2/Exceptions/exception-007.js +90 -0
  1253. data/vendor/tracemonkey/tests/ecma_2/Exceptions/exception-008.js +77 -0
  1254. data/vendor/tracemonkey/tests/ecma_2/Exceptions/exception-009.js +86 -0
  1255. data/vendor/tracemonkey/tests/ecma_2/Exceptions/exception-010-n.js +61 -0
  1256. data/vendor/tracemonkey/tests/ecma_2/Exceptions/exception-011-n.js +62 -0
  1257. data/vendor/tracemonkey/tests/ecma_2/Exceptions/expression-001.js +83 -0
  1258. data/vendor/tracemonkey/tests/ecma_2/Exceptions/expression-002.js +93 -0
  1259. data/vendor/tracemonkey/tests/ecma_2/Exceptions/expression-003.js +88 -0
  1260. data/vendor/tracemonkey/tests/ecma_2/Exceptions/expression-004.js +82 -0
  1261. data/vendor/tracemonkey/tests/ecma_2/Exceptions/expression-005.js +74 -0
  1262. data/vendor/tracemonkey/tests/ecma_2/Exceptions/expression-006.js +79 -0
  1263. data/vendor/tracemonkey/tests/ecma_2/Exceptions/expression-007.js +77 -0
  1264. data/vendor/tracemonkey/tests/ecma_2/Exceptions/expression-008.js +74 -0
  1265. data/vendor/tracemonkey/tests/ecma_2/Exceptions/expression-009.js +75 -0
  1266. data/vendor/tracemonkey/tests/ecma_2/Exceptions/expression-010.js +76 -0
  1267. data/vendor/tracemonkey/tests/ecma_2/Exceptions/expression-011.js +76 -0
  1268. data/vendor/tracemonkey/tests/ecma_2/Exceptions/expression-012.js +77 -0
  1269. data/vendor/tracemonkey/tests/ecma_2/Exceptions/expression-013.js +77 -0
  1270. data/vendor/tracemonkey/tests/ecma_2/Exceptions/expression-014.js +79 -0
  1271. data/vendor/tracemonkey/tests/ecma_2/Exceptions/expression-015.js +73 -0
  1272. data/vendor/tracemonkey/tests/ecma_2/Exceptions/expression-016.js +73 -0
  1273. data/vendor/tracemonkey/tests/ecma_2/Exceptions/expression-017.js +73 -0
  1274. data/vendor/tracemonkey/tests/ecma_2/Exceptions/expression-019.js +77 -0
  1275. data/vendor/tracemonkey/tests/ecma_2/Exceptions/function-001.js +86 -0
  1276. data/vendor/tracemonkey/tests/ecma_2/Exceptions/global-001.js +78 -0
  1277. data/vendor/tracemonkey/tests/ecma_2/Exceptions/global-002.js +78 -0
  1278. data/vendor/tracemonkey/tests/ecma_2/Exceptions/jstests.list +103 -0
  1279. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-001.js +85 -0
  1280. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-002.js +85 -0
  1281. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-003.js +76 -0
  1282. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-004.js +85 -0
  1283. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-005.js +85 -0
  1284. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-006.js +91 -0
  1285. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-007.js +84 -0
  1286. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-008.js +86 -0
  1287. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-009.js +86 -0
  1288. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-010.js +84 -0
  1289. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-011.js +95 -0
  1290. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-012.js +86 -0
  1291. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-013.js +86 -0
  1292. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-014.js +95 -0
  1293. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-015.js +86 -0
  1294. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-016.js +95 -0
  1295. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-017.js +87 -0
  1296. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-018.js +86 -0
  1297. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-019.js +86 -0
  1298. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-020.js +86 -0
  1299. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-021.js +95 -0
  1300. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-022.js +86 -0
  1301. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-023.js +85 -0
  1302. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-024.js +92 -0
  1303. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-025.js +92 -0
  1304. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-026.js +92 -0
  1305. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-027.js +94 -0
  1306. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-028.js +92 -0
  1307. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-029.js +92 -0
  1308. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-030.js +92 -0
  1309. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-031.js +92 -0
  1310. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-032.js +92 -0
  1311. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-033.js +92 -0
  1312. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-034.js +91 -0
  1313. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-035.js +92 -0
  1314. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-036.js +92 -0
  1315. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-037.js +92 -0
  1316. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-038.js +92 -0
  1317. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-039.js +79 -0
  1318. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-040.js +79 -0
  1319. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-041.js +81 -0
  1320. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-042.js +82 -0
  1321. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-047.js +83 -0
  1322. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-048.js +77 -0
  1323. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-049.js +82 -0
  1324. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-050.js +78 -0
  1325. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-051.js +78 -0
  1326. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-052.js +80 -0
  1327. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-053.js +78 -0
  1328. data/vendor/tracemonkey/tests/ecma_2/Exceptions/lexical-054.js +79 -0
  1329. data/vendor/tracemonkey/tests/ecma_2/Exceptions/number-001.js +86 -0
  1330. data/vendor/tracemonkey/tests/ecma_2/Exceptions/number-002.js +81 -0
  1331. data/vendor/tracemonkey/tests/ecma_2/Exceptions/number-003.js +83 -0
  1332. data/vendor/tracemonkey/tests/ecma_2/Exceptions/shell.js +1 -0
  1333. data/vendor/tracemonkey/tests/ecma_2/Exceptions/statement-001.js +80 -0
  1334. data/vendor/tracemonkey/tests/ecma_2/Exceptions/statement-002.js +102 -0
  1335. data/vendor/tracemonkey/tests/ecma_2/Exceptions/statement-003.js +113 -0
  1336. data/vendor/tracemonkey/tests/ecma_2/Exceptions/statement-004.js +85 -0
  1337. data/vendor/tracemonkey/tests/ecma_2/Exceptions/statement-005.js +84 -0
  1338. data/vendor/tracemonkey/tests/ecma_2/Exceptions/statement-006.js +84 -0
  1339. data/vendor/tracemonkey/tests/ecma_2/Exceptions/statement-007.js +75 -0
  1340. data/vendor/tracemonkey/tests/ecma_2/Exceptions/statement-008.js +75 -0
  1341. data/vendor/tracemonkey/tests/ecma_2/Exceptions/statement-009.js +74 -0
  1342. data/vendor/tracemonkey/tests/ecma_2/Exceptions/string-001.js +86 -0
  1343. data/vendor/tracemonkey/tests/ecma_2/Exceptions/string-002.js +85 -0
  1344. data/vendor/tracemonkey/tests/ecma_2/Expressions/StrictEquality-001.js +106 -0
  1345. data/vendor/tracemonkey/tests/ecma_2/Expressions/jstests.list +2 -0
  1346. data/vendor/tracemonkey/tests/ecma_2/Expressions/shell.js +1 -0
  1347. data/vendor/tracemonkey/tests/ecma_2/FunctionObjects/apply-001-n.js +65 -0
  1348. data/vendor/tracemonkey/tests/ecma_2/FunctionObjects/call-1.js +75 -0
  1349. data/vendor/tracemonkey/tests/ecma_2/FunctionObjects/jstests.list +3 -0
  1350. data/vendor/tracemonkey/tests/ecma_2/FunctionObjects/shell.js +1 -0
  1351. data/vendor/tracemonkey/tests/ecma_2/LexicalConventions/jstests.list +4 -0
  1352. data/vendor/tracemonkey/tests/ecma_2/LexicalConventions/keywords-001.js +81 -0
  1353. data/vendor/tracemonkey/tests/ecma_2/LexicalConventions/regexp-literals-001.js +77 -0
  1354. data/vendor/tracemonkey/tests/ecma_2/LexicalConventions/regexp-literals-002.js +61 -0
  1355. data/vendor/tracemonkey/tests/ecma_2/LexicalConventions/shell.js +1 -0
  1356. data/vendor/tracemonkey/tests/ecma_2/README +1 -0
  1357. data/vendor/tracemonkey/tests/ecma_2/RegExp/constructor-001.js +99 -0
  1358. data/vendor/tracemonkey/tests/ecma_2/RegExp/exec-001.js +73 -0
  1359. data/vendor/tracemonkey/tests/ecma_2/RegExp/exec-002.js +221 -0
  1360. data/vendor/tracemonkey/tests/ecma_2/RegExp/function-001.js +99 -0
  1361. data/vendor/tracemonkey/tests/ecma_2/RegExp/hex-001.js +102 -0
  1362. data/vendor/tracemonkey/tests/ecma_2/RegExp/jstests.list +15 -0
  1363. data/vendor/tracemonkey/tests/ecma_2/RegExp/multiline-001.js +101 -0
  1364. data/vendor/tracemonkey/tests/ecma_2/RegExp/octal-001.js +111 -0
  1365. data/vendor/tracemonkey/tests/ecma_2/RegExp/octal-002.js +126 -0
  1366. data/vendor/tracemonkey/tests/ecma_2/RegExp/octal-003.js +120 -0
  1367. data/vendor/tracemonkey/tests/ecma_2/RegExp/properties-001.js +124 -0
  1368. data/vendor/tracemonkey/tests/ecma_2/RegExp/properties-002.js +162 -0
  1369. data/vendor/tracemonkey/tests/ecma_2/RegExp/regexp-enumerate-001.js +121 -0
  1370. data/vendor/tracemonkey/tests/ecma_2/RegExp/regress-001.js +78 -0
  1371. data/vendor/tracemonkey/tests/ecma_2/RegExp/shell.js +1 -0
  1372. data/vendor/tracemonkey/tests/ecma_2/RegExp/unicode-001.js +92 -0
  1373. data/vendor/tracemonkey/tests/ecma_2/Statements/dowhile-001.js +77 -0
  1374. data/vendor/tracemonkey/tests/ecma_2/Statements/dowhile-002.js +104 -0
  1375. data/vendor/tracemonkey/tests/ecma_2/Statements/dowhile-003.js +96 -0
  1376. data/vendor/tracemonkey/tests/ecma_2/Statements/dowhile-004.js +100 -0
  1377. data/vendor/tracemonkey/tests/ecma_2/Statements/dowhile-005.js +106 -0
  1378. data/vendor/tracemonkey/tests/ecma_2/Statements/dowhile-006.js +122 -0
  1379. data/vendor/tracemonkey/tests/ecma_2/Statements/dowhile-007.js +130 -0
  1380. data/vendor/tracemonkey/tests/ecma_2/Statements/forin-001.js +330 -0
  1381. data/vendor/tracemonkey/tests/ecma_2/Statements/forin-002.js +109 -0
  1382. data/vendor/tracemonkey/tests/ecma_2/Statements/if-001.js +75 -0
  1383. data/vendor/tracemonkey/tests/ecma_2/Statements/jstests.list +31 -0
  1384. data/vendor/tracemonkey/tests/ecma_2/Statements/label-001.js +75 -0
  1385. data/vendor/tracemonkey/tests/ecma_2/Statements/label-002.js +89 -0
  1386. data/vendor/tracemonkey/tests/ecma_2/Statements/shell.js +1 -0
  1387. data/vendor/tracemonkey/tests/ecma_2/Statements/switch-001.js +98 -0
  1388. data/vendor/tracemonkey/tests/ecma_2/Statements/switch-002.js +96 -0
  1389. data/vendor/tracemonkey/tests/ecma_2/Statements/switch-003.js +90 -0
  1390. data/vendor/tracemonkey/tests/ecma_2/Statements/switch-004.js +127 -0
  1391. data/vendor/tracemonkey/tests/ecma_2/Statements/try-001.js +116 -0
  1392. data/vendor/tracemonkey/tests/ecma_2/Statements/try-003.js +115 -0
  1393. data/vendor/tracemonkey/tests/ecma_2/Statements/try-004.js +87 -0
  1394. data/vendor/tracemonkey/tests/ecma_2/Statements/try-005.js +90 -0
  1395. data/vendor/tracemonkey/tests/ecma_2/Statements/try-006.js +120 -0
  1396. data/vendor/tracemonkey/tests/ecma_2/Statements/try-007.js +125 -0
  1397. data/vendor/tracemonkey/tests/ecma_2/Statements/try-008.js +92 -0
  1398. data/vendor/tracemonkey/tests/ecma_2/Statements/try-009.js +99 -0
  1399. data/vendor/tracemonkey/tests/ecma_2/Statements/try-010.js +106 -0
  1400. data/vendor/tracemonkey/tests/ecma_2/Statements/try-012.js +128 -0
  1401. data/vendor/tracemonkey/tests/ecma_2/Statements/while-001.js +75 -0
  1402. data/vendor/tracemonkey/tests/ecma_2/Statements/while-002.js +119 -0
  1403. data/vendor/tracemonkey/tests/ecma_2/Statements/while-003.js +120 -0
  1404. data/vendor/tracemonkey/tests/ecma_2/Statements/while-004.js +250 -0
  1405. data/vendor/tracemonkey/tests/ecma_2/String/jstests.list +9 -0
  1406. data/vendor/tracemonkey/tests/ecma_2/String/match-001.js +139 -0
  1407. data/vendor/tracemonkey/tests/ecma_2/String/match-002.js +207 -0
  1408. data/vendor/tracemonkey/tests/ecma_2/String/match-003.js +165 -0
  1409. data/vendor/tracemonkey/tests/ecma_2/String/match-004.js +206 -0
  1410. data/vendor/tracemonkey/tests/ecma_2/String/replace-001.js +99 -0
  1411. data/vendor/tracemonkey/tests/ecma_2/String/shell.js +1 -0
  1412. data/vendor/tracemonkey/tests/ecma_2/String/split-001.js +145 -0
  1413. data/vendor/tracemonkey/tests/ecma_2/String/split-002.js +303 -0
  1414. data/vendor/tracemonkey/tests/ecma_2/String/split-003.js +156 -0
  1415. data/vendor/tracemonkey/tests/ecma_2/browser.js +37 -0
  1416. data/vendor/tracemonkey/tests/ecma_2/extensions/constructor-001.js +74 -0
  1417. data/vendor/tracemonkey/tests/ecma_2/extensions/function-001.js +74 -0
  1418. data/vendor/tracemonkey/tests/ecma_2/extensions/instanceof-001.js +144 -0
  1419. data/vendor/tracemonkey/tests/ecma_2/extensions/instanceof-002.js +160 -0
  1420. data/vendor/tracemonkey/tests/ecma_2/extensions/instanceof-003-n.js +121 -0
  1421. data/vendor/tracemonkey/tests/ecma_2/extensions/instanceof-004-n.js +121 -0
  1422. data/vendor/tracemonkey/tests/ecma_2/extensions/instanceof-005-n.js +122 -0
  1423. data/vendor/tracemonkey/tests/ecma_2/extensions/instanceof-006.js +119 -0
  1424. data/vendor/tracemonkey/tests/ecma_2/extensions/jstests.list +9 -0
  1425. data/vendor/tracemonkey/tests/ecma_2/extensions/shell.js +1 -0
  1426. data/vendor/tracemonkey/tests/ecma_2/instanceof/instanceof-001.js +67 -0
  1427. data/vendor/tracemonkey/tests/ecma_2/instanceof/instanceof-002.js +84 -0
  1428. data/vendor/tracemonkey/tests/ecma_2/instanceof/instanceof-003.js +98 -0
  1429. data/vendor/tracemonkey/tests/ecma_2/instanceof/jstests.list +5 -0
  1430. data/vendor/tracemonkey/tests/ecma_2/instanceof/regress-7635.js +88 -0
  1431. data/vendor/tracemonkey/tests/ecma_2/instanceof/shell.js +1 -0
  1432. data/vendor/tracemonkey/tests/ecma_2/jsref.js +591 -0
  1433. data/vendor/tracemonkey/tests/ecma_2/jstests.list +9 -0
  1434. data/vendor/tracemonkey/tests/ecma_2/shell.js +51 -0
  1435. data/vendor/tracemonkey/tests/ecma_2/template.js +57 -0
  1436. data/vendor/tracemonkey/tests/ecma_3/Array/15.4.4.11-01.js +61 -0
  1437. data/vendor/tracemonkey/tests/ecma_3/Array/15.4.4.3-1.js +88 -0
  1438. data/vendor/tracemonkey/tests/ecma_3/Array/15.4.4.4-001.js +153 -0
  1439. data/vendor/tracemonkey/tests/ecma_3/Array/15.4.5.1-01.js +93 -0
  1440. data/vendor/tracemonkey/tests/ecma_3/Array/15.5.4.8-01.js +76 -0
  1441. data/vendor/tracemonkey/tests/ecma_3/Array/jstests.list +16 -0
  1442. data/vendor/tracemonkey/tests/ecma_3/Array/regress-101488.js +172 -0
  1443. data/vendor/tracemonkey/tests/ecma_3/Array/regress-130451.js +219 -0
  1444. data/vendor/tracemonkey/tests/ecma_3/Array/regress-322135-01.js +73 -0
  1445. data/vendor/tracemonkey/tests/ecma_3/Array/regress-322135-02.js +65 -0
  1446. data/vendor/tracemonkey/tests/ecma_3/Array/regress-322135-03.js +73 -0
  1447. data/vendor/tracemonkey/tests/ecma_3/Array/regress-322135-04.js +71 -0
  1448. data/vendor/tracemonkey/tests/ecma_3/Array/regress-387501.js +94 -0
  1449. data/vendor/tracemonkey/tests/ecma_3/Array/regress-421325.js +67 -0
  1450. data/vendor/tracemonkey/tests/ecma_3/Array/regress-430717.js +65 -0
  1451. data/vendor/tracemonkey/tests/ecma_3/Array/regress-488989.js +68 -0
  1452. data/vendor/tracemonkey/tests/ecma_3/Array/shell.js +1 -0
  1453. data/vendor/tracemonkey/tests/ecma_3/Date/15.9.1.2-01.js +62 -0
  1454. data/vendor/tracemonkey/tests/ecma_3/Date/15.9.3.2-1.js +91 -0
  1455. data/vendor/tracemonkey/tests/ecma_3/Date/15.9.4.3.js +233 -0
  1456. data/vendor/tracemonkey/tests/ecma_3/Date/15.9.5.3.js +152 -0
  1457. data/vendor/tracemonkey/tests/ecma_3/Date/15.9.5.4.js +185 -0
  1458. data/vendor/tracemonkey/tests/ecma_3/Date/15.9.5.5-02.js +88 -0
  1459. data/vendor/tracemonkey/tests/ecma_3/Date/15.9.5.5.js +144 -0
  1460. data/vendor/tracemonkey/tests/ecma_3/Date/15.9.5.6.js +153 -0
  1461. data/vendor/tracemonkey/tests/ecma_3/Date/15.9.5.7.js +142 -0
  1462. data/vendor/tracemonkey/tests/ecma_3/Date/browser.js +37 -0
  1463. data/vendor/tracemonkey/tests/ecma_3/Date/jstests.list +11 -0
  1464. data/vendor/tracemonkey/tests/ecma_3/Date/regress-452786.js +66 -0
  1465. data/vendor/tracemonkey/tests/ecma_3/Date/shell.js +564 -0
  1466. data/vendor/tracemonkey/tests/ecma_3/Exceptions/15.11.1.1.js +137 -0
  1467. data/vendor/tracemonkey/tests/ecma_3/Exceptions/15.11.4.4-1.js +174 -0
  1468. data/vendor/tracemonkey/tests/ecma_3/Exceptions/15.11.7.6-001.js +130 -0
  1469. data/vendor/tracemonkey/tests/ecma_3/Exceptions/15.11.7.6-002.js +132 -0
  1470. data/vendor/tracemonkey/tests/ecma_3/Exceptions/15.11.7.6-003.js +132 -0
  1471. data/vendor/tracemonkey/tests/ecma_3/Exceptions/binding-001.js +128 -0
  1472. data/vendor/tracemonkey/tests/ecma_3/Exceptions/jstests.list +11 -0
  1473. data/vendor/tracemonkey/tests/ecma_3/Exceptions/regress-181654.js +155 -0
  1474. data/vendor/tracemonkey/tests/ecma_3/Exceptions/regress-181914.js +194 -0
  1475. data/vendor/tracemonkey/tests/ecma_3/Exceptions/regress-58946.js +71 -0
  1476. data/vendor/tracemonkey/tests/ecma_3/Exceptions/regress-95101.js +118 -0
  1477. data/vendor/tracemonkey/tests/ecma_3/Exceptions/shell.js +1 -0
  1478. data/vendor/tracemonkey/tests/ecma_3/ExecutionContexts/10.1.3-1.js +201 -0
  1479. data/vendor/tracemonkey/tests/ecma_3/ExecutionContexts/10.1.3-2.js +70 -0
  1480. data/vendor/tracemonkey/tests/ecma_3/ExecutionContexts/10.1.3.js +73 -0
  1481. data/vendor/tracemonkey/tests/ecma_3/ExecutionContexts/10.1.4-1.js +85 -0
  1482. data/vendor/tracemonkey/tests/ecma_3/ExecutionContexts/10.6.1-01.js +136 -0
  1483. data/vendor/tracemonkey/tests/ecma_3/ExecutionContexts/jstests.list +8 -0
  1484. data/vendor/tracemonkey/tests/ecma_3/ExecutionContexts/regress-23346.js +71 -0
  1485. data/vendor/tracemonkey/tests/ecma_3/ExecutionContexts/regress-448595-01.js +91 -0
  1486. data/vendor/tracemonkey/tests/ecma_3/ExecutionContexts/shell.js +1 -0
  1487. data/vendor/tracemonkey/tests/ecma_3/Expressions/11.10-01.js +76 -0
  1488. data/vendor/tracemonkey/tests/ecma_3/Expressions/11.10-02.js +76 -0
  1489. data/vendor/tracemonkey/tests/ecma_3/Expressions/11.10-03.js +76 -0
  1490. data/vendor/tracemonkey/tests/ecma_3/Expressions/11.6.1-1.js +176 -0
  1491. data/vendor/tracemonkey/tests/ecma_3/Expressions/11.7.1-01.js +76 -0
  1492. data/vendor/tracemonkey/tests/ecma_3/Expressions/11.7.2-01.js +76 -0
  1493. data/vendor/tracemonkey/tests/ecma_3/Expressions/11.7.3-01.js +76 -0
  1494. data/vendor/tracemonkey/tests/ecma_3/Expressions/11.9.6-1.js +213 -0
  1495. data/vendor/tracemonkey/tests/ecma_3/Expressions/jstests.list +9 -0
  1496. data/vendor/tracemonkey/tests/ecma_3/Expressions/shell.js +1 -0
  1497. data/vendor/tracemonkey/tests/ecma_3/FunExpr/fe-001-n.js +58 -0
  1498. data/vendor/tracemonkey/tests/ecma_3/FunExpr/fe-001.js +57 -0
  1499. data/vendor/tracemonkey/tests/ecma_3/FunExpr/fe-002.js +61 -0
  1500. data/vendor/tracemonkey/tests/ecma_3/FunExpr/jstests.list +5 -0
  1501. data/vendor/tracemonkey/tests/ecma_3/FunExpr/regress-528082.js +21 -0
  1502. data/vendor/tracemonkey/tests/ecma_3/FunExpr/shell.js +1 -0
  1503. data/vendor/tracemonkey/tests/ecma_3/Function/15.3.4.3-1.js +210 -0
  1504. data/vendor/tracemonkey/tests/ecma_3/Function/15.3.4.4-1.js +185 -0
  1505. data/vendor/tracemonkey/tests/ecma_3/Function/arguments-001.js +169 -0
  1506. data/vendor/tracemonkey/tests/ecma_3/Function/arguments-002.js +73 -0
  1507. data/vendor/tracemonkey/tests/ecma_3/Function/call-001.js +153 -0
  1508. data/vendor/tracemonkey/tests/ecma_3/Function/jstests.list +17 -0
  1509. data/vendor/tracemonkey/tests/ecma_3/Function/regress-131964.js +196 -0
  1510. data/vendor/tracemonkey/tests/ecma_3/Function/regress-137181.js +113 -0
  1511. data/vendor/tracemonkey/tests/ecma_3/Function/regress-193555.js +136 -0
  1512. data/vendor/tracemonkey/tests/ecma_3/Function/regress-313570.js +63 -0
  1513. data/vendor/tracemonkey/tests/ecma_3/Function/regress-49286.js +137 -0
  1514. data/vendor/tracemonkey/tests/ecma_3/Function/regress-58274.js +226 -0
  1515. data/vendor/tracemonkey/tests/ecma_3/Function/regress-85880.js +173 -0
  1516. data/vendor/tracemonkey/tests/ecma_3/Function/regress-94506.js +163 -0
  1517. data/vendor/tracemonkey/tests/ecma_3/Function/regress-97921.js +152 -0
  1518. data/vendor/tracemonkey/tests/ecma_3/Function/scope-001.js +265 -0
  1519. data/vendor/tracemonkey/tests/ecma_3/Function/scope-002.js +245 -0
  1520. data/vendor/tracemonkey/tests/ecma_3/Function/shell.js +1 -0
  1521. data/vendor/tracemonkey/tests/ecma_3/LexicalConventions/7.4-01.js +73 -0
  1522. data/vendor/tracemonkey/tests/ecma_3/LexicalConventions/7.9.1.js +157 -0
  1523. data/vendor/tracemonkey/tests/ecma_3/LexicalConventions/jstests.list +3 -0
  1524. data/vendor/tracemonkey/tests/ecma_3/LexicalConventions/shell.js +1 -0
  1525. data/vendor/tracemonkey/tests/ecma_3/Number/15.7.4.2-01.js +77 -0
  1526. data/vendor/tracemonkey/tests/ecma_3/Number/15.7.4.3-01.js +69 -0
  1527. data/vendor/tracemonkey/tests/ecma_3/Number/15.7.4.3-02.js +53 -0
  1528. data/vendor/tracemonkey/tests/ecma_3/Number/15.7.4.5-1.js +145 -0
  1529. data/vendor/tracemonkey/tests/ecma_3/Number/15.7.4.5-2.js +62 -0
  1530. data/vendor/tracemonkey/tests/ecma_3/Number/15.7.4.6-1.js +149 -0
  1531. data/vendor/tracemonkey/tests/ecma_3/Number/15.7.4.7-1.js +154 -0
  1532. data/vendor/tracemonkey/tests/ecma_3/Number/15.7.4.7-2.js +72 -0
  1533. data/vendor/tracemonkey/tests/ecma_3/Number/jstests.list +10 -0
  1534. data/vendor/tracemonkey/tests/ecma_3/Number/regress-442242-01.js +62 -0
  1535. data/vendor/tracemonkey/tests/ecma_3/Number/shell.js +1 -0
  1536. data/vendor/tracemonkey/tests/ecma_3/NumberFormatting/jstests.list +2 -0
  1537. data/vendor/tracemonkey/tests/ecma_3/NumberFormatting/shell.js +1 -0
  1538. data/vendor/tracemonkey/tests/ecma_3/NumberFormatting/tostring-001.js +60 -0
  1539. data/vendor/tracemonkey/tests/ecma_3/Object/8.6.1-01.js +113 -0
  1540. data/vendor/tracemonkey/tests/ecma_3/Object/8.6.2.6-001.js +113 -0
  1541. data/vendor/tracemonkey/tests/ecma_3/Object/8.6.2.6-002.js +79 -0
  1542. data/vendor/tracemonkey/tests/ecma_3/Object/browser.js +7 -0
  1543. data/vendor/tracemonkey/tests/ecma_3/Object/class-001.js +156 -0
  1544. data/vendor/tracemonkey/tests/ecma_3/Object/class-002.js +146 -0
  1545. data/vendor/tracemonkey/tests/ecma_3/Object/class-003.js +139 -0
  1546. data/vendor/tracemonkey/tests/ecma_3/Object/class-004.js +139 -0
  1547. data/vendor/tracemonkey/tests/ecma_3/Object/class-005.js +124 -0
  1548. data/vendor/tracemonkey/tests/ecma_3/Object/jstests.list +14 -0
  1549. data/vendor/tracemonkey/tests/ecma_3/Object/regress-361274.js +66 -0
  1550. data/vendor/tracemonkey/tests/ecma_3/Object/regress-385393-07.js +67 -0
  1551. data/vendor/tracemonkey/tests/ecma_3/Object/regress-459405.js +71 -0
  1552. data/vendor/tracemonkey/tests/ecma_3/Object/regress-72773.js +97 -0
  1553. data/vendor/tracemonkey/tests/ecma_3/Object/regress-79129-001.js +80 -0
  1554. data/vendor/tracemonkey/tests/ecma_3/Object/shell.js +105 -0
  1555. data/vendor/tracemonkey/tests/ecma_3/Operators/11.13.1-001.js +152 -0
  1556. data/vendor/tracemonkey/tests/ecma_3/Operators/11.13.1-002.js +57 -0
  1557. data/vendor/tracemonkey/tests/ecma_3/Operators/11.4.1-001.js +120 -0
  1558. data/vendor/tracemonkey/tests/ecma_3/Operators/11.4.1-002.js +72 -0
  1559. data/vendor/tracemonkey/tests/ecma_3/Operators/jstests.list +6 -0
  1560. data/vendor/tracemonkey/tests/ecma_3/Operators/order-01.js +108 -0
  1561. data/vendor/tracemonkey/tests/ecma_3/Operators/shell.js +1 -0
  1562. data/vendor/tracemonkey/tests/ecma_3/README +1 -0
  1563. data/vendor/tracemonkey/tests/ecma_3/RegExp/15.10.2-1.js +181 -0
  1564. data/vendor/tracemonkey/tests/ecma_3/RegExp/15.10.2.12.js +63 -0
  1565. data/vendor/tracemonkey/tests/ecma_3/RegExp/15.10.3.1-1.js +136 -0
  1566. data/vendor/tracemonkey/tests/ecma_3/RegExp/15.10.3.1-2.js +144 -0
  1567. data/vendor/tracemonkey/tests/ecma_3/RegExp/15.10.4.1-1.js +127 -0
  1568. data/vendor/tracemonkey/tests/ecma_3/RegExp/15.10.4.1-2.js +133 -0
  1569. data/vendor/tracemonkey/tests/ecma_3/RegExp/15.10.4.1-3.js +139 -0
  1570. data/vendor/tracemonkey/tests/ecma_3/RegExp/15.10.4.1-4.js +146 -0
  1571. data/vendor/tracemonkey/tests/ecma_3/RegExp/15.10.4.1-5-n.js +139 -0
  1572. data/vendor/tracemonkey/tests/ecma_3/RegExp/15.10.4.1-6.js +95 -0
  1573. data/vendor/tracemonkey/tests/ecma_3/RegExp/15.10.6.2-1.js +140 -0
  1574. data/vendor/tracemonkey/tests/ecma_3/RegExp/15.10.6.2-2.js +367 -0
  1575. data/vendor/tracemonkey/tests/ecma_3/RegExp/jstests.list +68 -0
  1576. data/vendor/tracemonkey/tests/ecma_3/RegExp/octal-001.js +136 -0
  1577. data/vendor/tracemonkey/tests/ecma_3/RegExp/octal-002.js +218 -0
  1578. data/vendor/tracemonkey/tests/ecma_3/RegExp/perlstress-001.js +3230 -0
  1579. data/vendor/tracemonkey/tests/ecma_3/RegExp/perlstress-002.js +1842 -0
  1580. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-100199.js +307 -0
  1581. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-105972.js +157 -0
  1582. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-119909.js +92 -0
  1583. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-122076.js +110 -0
  1584. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-123437.js +112 -0
  1585. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-165353.js +122 -0
  1586. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-169497.js +105 -0
  1587. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-169534.js +95 -0
  1588. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-187133.js +142 -0
  1589. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-188206.js +219 -0
  1590. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-191479.js +198 -0
  1591. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-202564.js +101 -0
  1592. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-209067.js +1106 -0
  1593. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-209919.js +174 -0
  1594. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-216591.js +117 -0
  1595. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-220367-001.js +104 -0
  1596. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-223273.js +279 -0
  1597. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-223535.js +133 -0
  1598. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-224676.js +226 -0
  1599. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-225289.js +176 -0
  1600. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-225343.js +125 -0
  1601. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-24712.js +59 -0
  1602. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-285219.js +51 -0
  1603. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-28686.js +57 -0
  1604. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-289669.js +88 -0
  1605. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-307456.js +54 -0
  1606. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-309840.js +58 -0
  1607. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-311414.js +101 -0
  1608. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-312351.js +50 -0
  1609. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-31316.js +96 -0
  1610. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-330684.js +53 -0
  1611. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-334158.js +58 -0
  1612. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-346090.js +63 -0
  1613. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-367888.js +62 -0
  1614. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-375642.js +61 -0
  1615. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-375711.js +118 -0
  1616. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-375715-01-n.js +63 -0
  1617. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-375715-02.js +60 -0
  1618. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-375715-03.js +60 -0
  1619. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-375715-04.js +68 -0
  1620. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-436700.js +67 -0
  1621. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-465862.js +117 -0
  1622. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-57572.js +150 -0
  1623. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-57631.js +152 -0
  1624. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-67773.js +211 -0
  1625. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-72964.js +121 -0
  1626. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-76683.js +114 -0
  1627. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-78156.js +123 -0
  1628. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-85721.js +276 -0
  1629. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-87231.js +145 -0
  1630. data/vendor/tracemonkey/tests/ecma_3/RegExp/regress-98306.js +99 -0
  1631. data/vendor/tracemonkey/tests/ecma_3/RegExp/shell.js +266 -0
  1632. data/vendor/tracemonkey/tests/ecma_3/Regress/jstests.list +7 -0
  1633. data/vendor/tracemonkey/tests/ecma_3/Regress/regress-385393-04.js +66 -0
  1634. data/vendor/tracemonkey/tests/ecma_3/Regress/regress-419152.js +90 -0
  1635. data/vendor/tracemonkey/tests/ecma_3/Regress/regress-420087.js +64 -0
  1636. data/vendor/tracemonkey/tests/ecma_3/Regress/regress-420610.js +50 -0
  1637. data/vendor/tracemonkey/tests/ecma_3/Regress/regress-441477-01.js +73 -0
  1638. data/vendor/tracemonkey/tests/ecma_3/Regress/regress-469937.js +60 -0
  1639. data/vendor/tracemonkey/tests/ecma_3/Regress/shell.js +1 -0
  1640. data/vendor/tracemonkey/tests/ecma_3/Statements/12.10-01.js +68 -0
  1641. data/vendor/tracemonkey/tests/ecma_3/Statements/12.6.3.js +80 -0
  1642. data/vendor/tracemonkey/tests/ecma_3/Statements/jstests.list +17 -0
  1643. data/vendor/tracemonkey/tests/ecma_3/Statements/regress-121744.js +217 -0
  1644. data/vendor/tracemonkey/tests/ecma_3/Statements/regress-131348.js +184 -0
  1645. data/vendor/tracemonkey/tests/ecma_3/Statements/regress-157509.js +111 -0
  1646. data/vendor/tracemonkey/tests/ecma_3/Statements/regress-194364.js +152 -0
  1647. data/vendor/tracemonkey/tests/ecma_3/Statements/regress-226517.js +112 -0
  1648. data/vendor/tracemonkey/tests/ecma_3/Statements/regress-302439.js +1368 -0
  1649. data/vendor/tracemonkey/tests/ecma_3/Statements/regress-324650.js +5461 -0
  1650. data/vendor/tracemonkey/tests/ecma_3/Statements/regress-444979.js +77 -0
  1651. data/vendor/tracemonkey/tests/ecma_3/Statements/regress-74474-001.js +139 -0
  1652. data/vendor/tracemonkey/tests/ecma_3/Statements/regress-74474-002.js +9097 -0
  1653. data/vendor/tracemonkey/tests/ecma_3/Statements/regress-74474-003.js +9099 -0
  1654. data/vendor/tracemonkey/tests/ecma_3/Statements/regress-83532-001.js +71 -0
  1655. data/vendor/tracemonkey/tests/ecma_3/Statements/regress-83532-002.js +74 -0
  1656. data/vendor/tracemonkey/tests/ecma_3/Statements/shell.js +1 -0
  1657. data/vendor/tracemonkey/tests/ecma_3/Statements/switch-001.js +143 -0
  1658. data/vendor/tracemonkey/tests/ecma_3/String/15.5.4.11.js +532 -0
  1659. data/vendor/tracemonkey/tests/ecma_3/String/15.5.4.14.js +50 -0
  1660. data/vendor/tracemonkey/tests/ecma_3/String/jstests.list +9 -0
  1661. data/vendor/tracemonkey/tests/ecma_3/String/regress-104375.js +116 -0
  1662. data/vendor/tracemonkey/tests/ecma_3/String/regress-189898.js +157 -0
  1663. data/vendor/tracemonkey/tests/ecma_3/String/regress-304376.js +68 -0
  1664. data/vendor/tracemonkey/tests/ecma_3/String/regress-313567.js +56 -0
  1665. data/vendor/tracemonkey/tests/ecma_3/String/regress-392378.js +77 -0
  1666. data/vendor/tracemonkey/tests/ecma_3/String/regress-83293.js +216 -0
  1667. data/vendor/tracemonkey/tests/ecma_3/String/shell.js +1 -0
  1668. data/vendor/tracemonkey/tests/ecma_3/Unicode/jstests.list +10 -0
  1669. data/vendor/tracemonkey/tests/ecma_3/Unicode/regress-352044-01.js +72 -0
  1670. data/vendor/tracemonkey/tests/ecma_3/Unicode/regress-352044-02-n.js +72 -0
  1671. data/vendor/tracemonkey/tests/ecma_3/Unicode/shell.js +1 -0
  1672. data/vendor/tracemonkey/tests/ecma_3/Unicode/uc-001-n.js +62 -0
  1673. data/vendor/tracemonkey/tests/ecma_3/Unicode/uc-001.js +56 -0
  1674. data/vendor/tracemonkey/tests/ecma_3/Unicode/uc-002-n.js +55 -0
  1675. data/vendor/tracemonkey/tests/ecma_3/Unicode/uc-002.js +60 -0
  1676. data/vendor/tracemonkey/tests/ecma_3/Unicode/uc-003.js +71 -0
  1677. data/vendor/tracemonkey/tests/ecma_3/Unicode/uc-004.js +65 -0
  1678. data/vendor/tracemonkey/tests/ecma_3/Unicode/uc-005.js +276 -0
  1679. data/vendor/tracemonkey/tests/ecma_3/browser.js +36 -0
  1680. data/vendor/tracemonkey/tests/ecma_3/extensions/10.1.3-2.js +162 -0
  1681. data/vendor/tracemonkey/tests/ecma_3/extensions/7.9.1.js +83 -0
  1682. data/vendor/tracemonkey/tests/ecma_3/extensions/jstests.list +15 -0
  1683. data/vendor/tracemonkey/tests/ecma_3/extensions/regress-103087.js +178 -0
  1684. data/vendor/tracemonkey/tests/ecma_3/extensions/regress-188206-01.js +108 -0
  1685. data/vendor/tracemonkey/tests/ecma_3/extensions/regress-188206-02.js +158 -0
  1686. data/vendor/tracemonkey/tests/ecma_3/extensions/regress-220367-002.js +112 -0
  1687. data/vendor/tracemonkey/tests/ecma_3/extensions/regress-228087.js +352 -0
  1688. data/vendor/tracemonkey/tests/ecma_3/extensions/regress-274152.js +83 -0
  1689. data/vendor/tracemonkey/tests/ecma_3/extensions/regress-320854.js +53 -0
  1690. data/vendor/tracemonkey/tests/ecma_3/extensions/regress-327170.js +58 -0
  1691. data/vendor/tracemonkey/tests/ecma_3/extensions/regress-368516.js +78 -0
  1692. data/vendor/tracemonkey/tests/ecma_3/extensions/regress-385393-03.js +63 -0
  1693. data/vendor/tracemonkey/tests/ecma_3/extensions/regress-429248.js +67 -0
  1694. data/vendor/tracemonkey/tests/ecma_3/extensions/regress-430740.js +72 -0
  1695. data/vendor/tracemonkey/tests/ecma_3/extensions/shell.js +266 -0
  1696. data/vendor/tracemonkey/tests/ecma_3/jstests.list +18 -0
  1697. data/vendor/tracemonkey/tests/ecma_3/shell.js +40 -0
  1698. data/vendor/tracemonkey/tests/ecma_3/template.js +59 -0
  1699. data/vendor/tracemonkey/tests/ecma_3_1/Object/jstests.list +2 -0
  1700. data/vendor/tracemonkey/tests/ecma_3_1/Object/regress-444787.js +155 -0
  1701. data/vendor/tracemonkey/tests/ecma_3_1/Object/shell.js +1 -0
  1702. data/vendor/tracemonkey/tests/ecma_3_1/README +1 -0
  1703. data/vendor/tracemonkey/tests/ecma_3_1/RegExp/jstests.list +2 -0
  1704. data/vendor/tracemonkey/tests/ecma_3_1/RegExp/regress-305064.js +92 -0
  1705. data/vendor/tracemonkey/tests/ecma_3_1/RegExp/shell.js +1 -0
  1706. data/vendor/tracemonkey/tests/ecma_3_1/browser.js +36 -0
  1707. data/vendor/tracemonkey/tests/ecma_3_1/extensions/jstests.list +1 -0
  1708. data/vendor/tracemonkey/tests/ecma_3_1/extensions/shell.js +1 -0
  1709. data/vendor/tracemonkey/tests/ecma_3_1/jstests.list +3 -0
  1710. data/vendor/tracemonkey/tests/ecma_3_1/shell.js +47 -0
  1711. data/vendor/tracemonkey/tests/ecma_3_1/template.js +59 -0
  1712. data/vendor/tracemonkey/tests/ecma_5/Date/15.9.4.2.js +158 -0
  1713. data/vendor/tracemonkey/tests/ecma_5/Date/jstests.list +2 -0
  1714. data/vendor/tracemonkey/tests/ecma_5/Date/shell.js +1 -0
  1715. data/vendor/tracemonkey/tests/ecma_5/Object/15.2.3.14-01.js +91 -0
  1716. data/vendor/tracemonkey/tests/ecma_5/Object/15.2.3.3-01.js +341 -0
  1717. data/vendor/tracemonkey/tests/ecma_5/Object/jstests.list +3 -0
  1718. data/vendor/tracemonkey/tests/ecma_5/Object/shell.js +1 -0
  1719. data/vendor/tracemonkey/tests/ecma_5/README +1 -0
  1720. data/vendor/tracemonkey/tests/ecma_5/browser.js +36 -0
  1721. data/vendor/tracemonkey/tests/ecma_5/jstests.list +2 -0
  1722. data/vendor/tracemonkey/tests/ecma_5/shell.js +40 -0
  1723. data/vendor/tracemonkey/tests/ecma_5/template.js +59 -0
  1724. data/vendor/tracemonkey/tests/get-universe.sh +52 -0
  1725. data/vendor/tracemonkey/tests/importList.html +22 -0
  1726. data/vendor/tracemonkey/tests/importList.js +94 -0
  1727. data/vendor/tracemonkey/tests/js-test-driver-begin.js +1 -0
  1728. data/vendor/tracemonkey/tests/js-test-driver-end.js +3 -0
  1729. data/vendor/tracemonkey/tests/js-test-driver-quirks.html +23 -0
  1730. data/vendor/tracemonkey/tests/js-test-driver-standards.html +23 -0
  1731. data/vendor/tracemonkey/tests/js1_1/README +1 -0
  1732. data/vendor/tracemonkey/tests/js1_1/browser.js +37 -0
  1733. data/vendor/tracemonkey/tests/js1_1/jsref.js +167 -0
  1734. data/vendor/tracemonkey/tests/js1_1/jstests.list +1 -0
  1735. data/vendor/tracemonkey/tests/js1_1/regress/function-001.js +79 -0
  1736. data/vendor/tracemonkey/tests/js1_1/regress/jstests.list +2 -0
  1737. data/vendor/tracemonkey/tests/js1_1/regress/shell.js +1 -0
  1738. data/vendor/tracemonkey/tests/js1_1/shell.js +39 -0
  1739. data/vendor/tracemonkey/tests/js1_2/Array/array_split_1.js +86 -0
  1740. data/vendor/tracemonkey/tests/js1_2/Array/general1.js +78 -0
  1741. data/vendor/tracemonkey/tests/js1_2/Array/general2.js +93 -0
  1742. data/vendor/tracemonkey/tests/js1_2/Array/jstests.list +9 -0
  1743. data/vendor/tracemonkey/tests/js1_2/Array/shell.js +1 -0
  1744. data/vendor/tracemonkey/tests/js1_2/Array/slice.js +123 -0
  1745. data/vendor/tracemonkey/tests/js1_2/Array/splice1.js +153 -0
  1746. data/vendor/tracemonkey/tests/js1_2/Array/splice2.js +150 -0
  1747. data/vendor/tracemonkey/tests/js1_2/Array/tostring_1.js +126 -0
  1748. data/vendor/tracemonkey/tests/js1_2/Array/tostring_2.js +82 -0
  1749. data/vendor/tracemonkey/tests/js1_2/Objects/jstests.list +2 -0
  1750. data/vendor/tracemonkey/tests/js1_2/Objects/shell.js +1 -0
  1751. data/vendor/tracemonkey/tests/js1_2/Objects/toString-001.js +120 -0
  1752. data/vendor/tracemonkey/tests/js1_2/README +1 -0
  1753. data/vendor/tracemonkey/tests/js1_2/String/charCodeAt.js +72 -0
  1754. data/vendor/tracemonkey/tests/js1_2/String/concat.js +83 -0
  1755. data/vendor/tracemonkey/tests/js1_2/String/jstests.list +5 -0
  1756. data/vendor/tracemonkey/tests/js1_2/String/match.js +63 -0
  1757. data/vendor/tracemonkey/tests/js1_2/String/shell.js +1 -0
  1758. data/vendor/tracemonkey/tests/js1_2/String/slice.js +124 -0
  1759. data/vendor/tracemonkey/tests/js1_2/browser.js +37 -0
  1760. data/vendor/tracemonkey/tests/js1_2/function/Function_object.js +87 -0
  1761. data/vendor/tracemonkey/tests/js1_2/function/Number.js +85 -0
  1762. data/vendor/tracemonkey/tests/js1_2/function/String.js +73 -0
  1763. data/vendor/tracemonkey/tests/js1_2/function/definition-1.js +77 -0
  1764. data/vendor/tracemonkey/tests/js1_2/function/function-001-n.js +77 -0
  1765. data/vendor/tracemonkey/tests/js1_2/function/jstests.list +13 -0
  1766. data/vendor/tracemonkey/tests/js1_2/function/length.js +96 -0
  1767. data/vendor/tracemonkey/tests/js1_2/function/nesting-1.js +65 -0
  1768. data/vendor/tracemonkey/tests/js1_2/function/nesting.js +84 -0
  1769. data/vendor/tracemonkey/tests/js1_2/function/regexparg-1.js +105 -0
  1770. data/vendor/tracemonkey/tests/js1_2/function/regexparg-2-n.js +73 -0
  1771. data/vendor/tracemonkey/tests/js1_2/function/shell.js +1 -0
  1772. data/vendor/tracemonkey/tests/js1_2/function/tostring-1.js +145 -0
  1773. data/vendor/tracemonkey/tests/js1_2/function/tostring-2.js +188 -0
  1774. data/vendor/tracemonkey/tests/js1_2/jsref.js +228 -0
  1775. data/vendor/tracemonkey/tests/js1_2/jstests.list +9 -0
  1776. data/vendor/tracemonkey/tests/js1_2/operator/equality.js +72 -0
  1777. data/vendor/tracemonkey/tests/js1_2/operator/jstests.list +3 -0
  1778. data/vendor/tracemonkey/tests/js1_2/operator/shell.js +1 -0
  1779. data/vendor/tracemonkey/tests/js1_2/operator/strictEquality.js +93 -0
  1780. data/vendor/tracemonkey/tests/js1_2/regexp/RegExp_dollar_number.js +111 -0
  1781. data/vendor/tracemonkey/tests/js1_2/regexp/RegExp_input.js +104 -0
  1782. data/vendor/tracemonkey/tests/js1_2/regexp/RegExp_input_as_array.js +104 -0
  1783. data/vendor/tracemonkey/tests/js1_2/regexp/RegExp_lastIndex.js +85 -0
  1784. data/vendor/tracemonkey/tests/js1_2/regexp/RegExp_lastMatch.js +88 -0
  1785. data/vendor/tracemonkey/tests/js1_2/regexp/RegExp_lastMatch_as_array.js +88 -0
  1786. data/vendor/tracemonkey/tests/js1_2/regexp/RegExp_lastParen.js +102 -0
  1787. data/vendor/tracemonkey/tests/js1_2/regexp/RegExp_lastParen_as_array.js +102 -0
  1788. data/vendor/tracemonkey/tests/js1_2/regexp/RegExp_leftContext.js +92 -0
  1789. data/vendor/tracemonkey/tests/js1_2/regexp/RegExp_leftContext_as_array.js +92 -0
  1790. data/vendor/tracemonkey/tests/js1_2/regexp/RegExp_multiline.js +131 -0
  1791. data/vendor/tracemonkey/tests/js1_2/regexp/RegExp_multiline_as_array.js +132 -0
  1792. data/vendor/tracemonkey/tests/js1_2/regexp/RegExp_object.js +90 -0
  1793. data/vendor/tracemonkey/tests/js1_2/regexp/RegExp_rightContext.js +92 -0
  1794. data/vendor/tracemonkey/tests/js1_2/regexp/RegExp_rightContext_as_array.js +92 -0
  1795. data/vendor/tracemonkey/tests/js1_2/regexp/alphanumeric.js +131 -0
  1796. data/vendor/tracemonkey/tests/js1_2/regexp/asterisk.js +107 -0
  1797. data/vendor/tracemonkey/tests/js1_2/regexp/backslash.js +81 -0
  1798. data/vendor/tracemonkey/tests/js1_2/regexp/backspace.js +81 -0
  1799. data/vendor/tracemonkey/tests/js1_2/regexp/beginLine.js +83 -0
  1800. data/vendor/tracemonkey/tests/js1_2/regexp/character_class.js +110 -0
  1801. data/vendor/tracemonkey/tests/js1_2/regexp/compile.js +96 -0
  1802. data/vendor/tracemonkey/tests/js1_2/regexp/control_characters.js +74 -0
  1803. data/vendor/tracemonkey/tests/js1_2/regexp/digit.js +120 -0
  1804. data/vendor/tracemonkey/tests/js1_2/regexp/dot.js +98 -0
  1805. data/vendor/tracemonkey/tests/js1_2/regexp/endLine.js +83 -0
  1806. data/vendor/tracemonkey/tests/js1_2/regexp/everything.js +83 -0
  1807. data/vendor/tracemonkey/tests/js1_2/regexp/exec.js +79 -0
  1808. data/vendor/tracemonkey/tests/js1_2/regexp/flags.js +87 -0
  1809. data/vendor/tracemonkey/tests/js1_2/regexp/global.js +97 -0
  1810. data/vendor/tracemonkey/tests/js1_2/regexp/hexadecimal.js +109 -0
  1811. data/vendor/tracemonkey/tests/js1_2/regexp/ignoreCase.js +114 -0
  1812. data/vendor/tracemonkey/tests/js1_2/regexp/interval.js +117 -0
  1813. data/vendor/tracemonkey/tests/js1_2/regexp/jstests.list +51 -0
  1814. data/vendor/tracemonkey/tests/js1_2/regexp/octal.js +109 -0
  1815. data/vendor/tracemonkey/tests/js1_2/regexp/parentheses.js +109 -0
  1816. data/vendor/tracemonkey/tests/js1_2/regexp/plus.js +89 -0
  1817. data/vendor/tracemonkey/tests/js1_2/regexp/question_mark.js +101 -0
  1818. data/vendor/tracemonkey/tests/js1_2/regexp/regress-6359.js +86 -0
  1819. data/vendor/tracemonkey/tests/js1_2/regexp/regress-9141.js +105 -0
  1820. data/vendor/tracemonkey/tests/js1_2/regexp/shell.js +1 -0
  1821. data/vendor/tracemonkey/tests/js1_2/regexp/simple_form.js +92 -0
  1822. data/vendor/tracemonkey/tests/js1_2/regexp/source.js +90 -0
  1823. data/vendor/tracemonkey/tests/js1_2/regexp/special_characters.js +160 -0
  1824. data/vendor/tracemonkey/tests/js1_2/regexp/string_replace.js +83 -0
  1825. data/vendor/tracemonkey/tests/js1_2/regexp/string_search.js +89 -0
  1826. data/vendor/tracemonkey/tests/js1_2/regexp/string_split.js +94 -0
  1827. data/vendor/tracemonkey/tests/js1_2/regexp/test.js +89 -0
  1828. data/vendor/tracemonkey/tests/js1_2/regexp/toString.js +81 -0
  1829. data/vendor/tracemonkey/tests/js1_2/regexp/vertical_bar.js +98 -0
  1830. data/vendor/tracemonkey/tests/js1_2/regexp/whitespace.js +125 -0
  1831. data/vendor/tracemonkey/tests/js1_2/regexp/word_boundary.js +121 -0
  1832. data/vendor/tracemonkey/tests/js1_2/regress/jstests.list +3 -0
  1833. data/vendor/tracemonkey/tests/js1_2/regress/regress-144834.js +84 -0
  1834. data/vendor/tracemonkey/tests/js1_2/regress/regress-7703.js +102 -0
  1835. data/vendor/tracemonkey/tests/js1_2/regress/shell.js +1 -0
  1836. data/vendor/tracemonkey/tests/js1_2/shell.js +40 -0
  1837. data/vendor/tracemonkey/tests/js1_2/statements/break.js +164 -0
  1838. data/vendor/tracemonkey/tests/js1_2/statements/continue.js +177 -0
  1839. data/vendor/tracemonkey/tests/js1_2/statements/do_while.js +69 -0
  1840. data/vendor/tracemonkey/tests/js1_2/statements/jstests.list +6 -0
  1841. data/vendor/tracemonkey/tests/js1_2/statements/shell.js +1 -0
  1842. data/vendor/tracemonkey/tests/js1_2/statements/switch.js +130 -0
  1843. data/vendor/tracemonkey/tests/js1_2/statements/switch2.js +192 -0
  1844. data/vendor/tracemonkey/tests/js1_2/version120/boolean-001.js +77 -0
  1845. data/vendor/tracemonkey/tests/js1_2/version120/browser.js +37 -0
  1846. data/vendor/tracemonkey/tests/js1_2/version120/jstests.list +3 -0
  1847. data/vendor/tracemonkey/tests/js1_2/version120/regress-99663.js +165 -0
  1848. data/vendor/tracemonkey/tests/js1_2/version120/shell.js +42 -0
  1849. data/vendor/tracemonkey/tests/js1_3/Boolean/boolean-001.js +77 -0
  1850. data/vendor/tracemonkey/tests/js1_3/Boolean/jstests.list +2 -0
  1851. data/vendor/tracemonkey/tests/js1_3/Boolean/shell.js +1 -0
  1852. data/vendor/tracemonkey/tests/js1_3/README +1 -0
  1853. data/vendor/tracemonkey/tests/js1_3/Script/delete-001.js +83 -0
  1854. data/vendor/tracemonkey/tests/js1_3/Script/function-001-n.js +78 -0
  1855. data/vendor/tracemonkey/tests/js1_3/Script/function-002.js +79 -0
  1856. data/vendor/tracemonkey/tests/js1_3/Script/in-001.js +69 -0
  1857. data/vendor/tracemonkey/tests/js1_3/Script/jstests.list +7 -0
  1858. data/vendor/tracemonkey/tests/js1_3/Script/new-001.js +123 -0
  1859. data/vendor/tracemonkey/tests/js1_3/Script/shell.js +1 -0
  1860. data/vendor/tracemonkey/tests/js1_3/Script/switch-001.js +84 -0
  1861. data/vendor/tracemonkey/tests/js1_3/browser.js +36 -0
  1862. data/vendor/tracemonkey/tests/js1_3/extensions/jstests.list +5 -0
  1863. data/vendor/tracemonkey/tests/js1_3/extensions/proto_10.js +156 -0
  1864. data/vendor/tracemonkey/tests/js1_3/extensions/proto_2.js +125 -0
  1865. data/vendor/tracemonkey/tests/js1_3/extensions/proto_5.js +149 -0
  1866. data/vendor/tracemonkey/tests/js1_3/extensions/script-001.js +174 -0
  1867. data/vendor/tracemonkey/tests/js1_3/extensions/shell.js +1 -0
  1868. data/vendor/tracemonkey/tests/js1_3/inherit/jstests.list +11 -0
  1869. data/vendor/tracemonkey/tests/js1_3/inherit/proto_1.js +170 -0
  1870. data/vendor/tracemonkey/tests/js1_3/inherit/proto_10.js +124 -0
  1871. data/vendor/tracemonkey/tests/js1_3/inherit/proto_11.js +120 -0
  1872. data/vendor/tracemonkey/tests/js1_3/inherit/proto_12.js +146 -0
  1873. data/vendor/tracemonkey/tests/js1_3/inherit/proto_3.js +107 -0
  1874. data/vendor/tracemonkey/tests/js1_3/inherit/proto_4.js +159 -0
  1875. data/vendor/tracemonkey/tests/js1_3/inherit/proto_6.js +174 -0
  1876. data/vendor/tracemonkey/tests/js1_3/inherit/proto_7.js +129 -0
  1877. data/vendor/tracemonkey/tests/js1_3/inherit/proto_8.js +127 -0
  1878. data/vendor/tracemonkey/tests/js1_3/inherit/proto_9.js +105 -0
  1879. data/vendor/tracemonkey/tests/js1_3/inherit/shell.js +1 -0
  1880. data/vendor/tracemonkey/tests/js1_3/jsref.js +195 -0
  1881. data/vendor/tracemonkey/tests/js1_3/jstests.list +6 -0
  1882. data/vendor/tracemonkey/tests/js1_3/misc/shell.js +1 -0
  1883. data/vendor/tracemonkey/tests/js1_3/regress/delete-001.js +83 -0
  1884. data/vendor/tracemonkey/tests/js1_3/regress/function-001-n.js +78 -0
  1885. data/vendor/tracemonkey/tests/js1_3/regress/function-002.js +79 -0
  1886. data/vendor/tracemonkey/tests/js1_3/regress/in-001.js +70 -0
  1887. data/vendor/tracemonkey/tests/js1_3/regress/jstests.list +7 -0
  1888. data/vendor/tracemonkey/tests/js1_3/regress/new-001.js +123 -0
  1889. data/vendor/tracemonkey/tests/js1_3/regress/shell.js +1 -0
  1890. data/vendor/tracemonkey/tests/js1_3/regress/switch-001.js +84 -0
  1891. data/vendor/tracemonkey/tests/js1_3/shell.js +40 -0
  1892. data/vendor/tracemonkey/tests/js1_4/Eval/eval-001.js +91 -0
  1893. data/vendor/tracemonkey/tests/js1_4/Eval/eval-002.js +97 -0
  1894. data/vendor/tracemonkey/tests/js1_4/Eval/eval-003.js +101 -0
  1895. data/vendor/tracemonkey/tests/js1_4/Eval/jstests.list +5 -0
  1896. data/vendor/tracemonkey/tests/js1_4/Eval/regress-531037.js +39 -0
  1897. data/vendor/tracemonkey/tests/js1_4/Eval/shell.js +1 -0
  1898. data/vendor/tracemonkey/tests/js1_4/Functions/function-001.js +123 -0
  1899. data/vendor/tracemonkey/tests/js1_4/Functions/jstests.list +2 -0
  1900. data/vendor/tracemonkey/tests/js1_4/Functions/shell.js +1 -0
  1901. data/vendor/tracemonkey/tests/js1_4/README +1 -0
  1902. data/vendor/tracemonkey/tests/js1_4/Regress/date-001-n.js +76 -0
  1903. data/vendor/tracemonkey/tests/js1_4/Regress/function-001.js +96 -0
  1904. data/vendor/tracemonkey/tests/js1_4/Regress/function-002.js +141 -0
  1905. data/vendor/tracemonkey/tests/js1_4/Regress/function-003.js +94 -0
  1906. data/vendor/tracemonkey/tests/js1_4/Regress/function-004-n.js +71 -0
  1907. data/vendor/tracemonkey/tests/js1_4/Regress/jstests.list +8 -0
  1908. data/vendor/tracemonkey/tests/js1_4/Regress/regress-7224.js +90 -0
  1909. data/vendor/tracemonkey/tests/js1_4/Regress/shell.js +1 -0
  1910. data/vendor/tracemonkey/tests/js1_4/Regress/toString-001-n.js +71 -0
  1911. data/vendor/tracemonkey/tests/js1_4/browser.js +37 -0
  1912. data/vendor/tracemonkey/tests/js1_4/jsref.js +166 -0
  1913. data/vendor/tracemonkey/tests/js1_4/jstests.list +3 -0
  1914. data/vendor/tracemonkey/tests/js1_4/shell.js +39 -0
  1915. data/vendor/tracemonkey/tests/js1_5/Array/11.1.4.js +102 -0
  1916. data/vendor/tracemonkey/tests/js1_5/Array/array-001.js +122 -0
  1917. data/vendor/tracemonkey/tests/js1_5/Array/jstests.list +35 -0
  1918. data/vendor/tracemonkey/tests/js1_5/Array/regress-101964.js +119 -0
  1919. data/vendor/tracemonkey/tests/js1_5/Array/regress-107138.js +211 -0
  1920. data/vendor/tracemonkey/tests/js1_5/Array/regress-108440.js +110 -0
  1921. data/vendor/tracemonkey/tests/js1_5/Array/regress-154338.js +124 -0
  1922. data/vendor/tracemonkey/tests/js1_5/Array/regress-157652.js +155 -0
  1923. data/vendor/tracemonkey/tests/js1_5/Array/regress-178722.js +164 -0
  1924. data/vendor/tracemonkey/tests/js1_5/Array/regress-255555.js +66 -0
  1925. data/vendor/tracemonkey/tests/js1_5/Array/regress-299644.js +61 -0
  1926. data/vendor/tracemonkey/tests/js1_5/Array/regress-300858.js +54 -0
  1927. data/vendor/tracemonkey/tests/js1_5/Array/regress-310351.js +87 -0
  1928. data/vendor/tracemonkey/tests/js1_5/Array/regress-311515.js +53 -0
  1929. data/vendor/tracemonkey/tests/js1_5/Array/regress-313153.js +51 -0
  1930. data/vendor/tracemonkey/tests/js1_5/Array/regress-315509-01.js +61 -0
  1931. data/vendor/tracemonkey/tests/js1_5/Array/regress-330812.js +65 -0
  1932. data/vendor/tracemonkey/tests/js1_5/Array/regress-345961.js +69 -0
  1933. data/vendor/tracemonkey/tests/js1_5/Array/regress-348810.js +61 -0
  1934. data/vendor/tracemonkey/tests/js1_5/Array/regress-350256-01.js +78 -0
  1935. data/vendor/tracemonkey/tests/js1_5/Array/regress-350256-02.js +78 -0
  1936. data/vendor/tracemonkey/tests/js1_5/Array/regress-350256-03.js +88 -0
  1937. data/vendor/tracemonkey/tests/js1_5/Array/regress-360681-01.js +66 -0
  1938. data/vendor/tracemonkey/tests/js1_5/Array/regress-360681-02.js +91 -0
  1939. data/vendor/tracemonkey/tests/js1_5/Array/regress-364104.js +107 -0
  1940. data/vendor/tracemonkey/tests/js1_5/Array/regress-422286.js +67 -0
  1941. data/vendor/tracemonkey/tests/js1_5/Array/regress-424954.js +61 -0
  1942. data/vendor/tracemonkey/tests/js1_5/Array/regress-451483.js +64 -0
  1943. data/vendor/tracemonkey/tests/js1_5/Array/regress-451906.js +64 -0
  1944. data/vendor/tracemonkey/tests/js1_5/Array/regress-456845.js +87 -0
  1945. data/vendor/tracemonkey/tests/js1_5/Array/regress-465980-01.js +68 -0
  1946. data/vendor/tracemonkey/tests/js1_5/Array/regress-465980-02.js +202 -0
  1947. data/vendor/tracemonkey/tests/js1_5/Array/regress-94257.js +120 -0
  1948. data/vendor/tracemonkey/tests/js1_5/Array/regress-99120-01.js +84 -0
  1949. data/vendor/tracemonkey/tests/js1_5/Array/regress-99120-02.js +79 -0
  1950. data/vendor/tracemonkey/tests/js1_5/Array/shell.js +1 -0
  1951. data/vendor/tracemonkey/tests/js1_5/Date/jstests.list +8 -0
  1952. data/vendor/tracemonkey/tests/js1_5/Date/regress-188211.js +60 -0
  1953. data/vendor/tracemonkey/tests/js1_5/Date/regress-301738-01.js +130 -0
  1954. data/vendor/tracemonkey/tests/js1_5/Date/regress-301738-02.js +163 -0
  1955. data/vendor/tracemonkey/tests/js1_5/Date/regress-309925-01.js +48 -0
  1956. data/vendor/tracemonkey/tests/js1_5/Date/regress-309925-02.js +48 -0
  1957. data/vendor/tracemonkey/tests/js1_5/Date/regress-346027.js +63 -0
  1958. data/vendor/tracemonkey/tests/js1_5/Date/regress-346363.js +64 -0
  1959. data/vendor/tracemonkey/tests/js1_5/Date/shell.js +1 -0
  1960. data/vendor/tracemonkey/tests/js1_5/Error/jstests.list +4 -0
  1961. data/vendor/tracemonkey/tests/js1_5/Error/regress-354246.js +70 -0
  1962. data/vendor/tracemonkey/tests/js1_5/Error/regress-412324.js +50 -0
  1963. data/vendor/tracemonkey/tests/js1_5/Error/regress-465377.js +114 -0
  1964. data/vendor/tracemonkey/tests/js1_5/Error/shell.js +1 -0
  1965. data/vendor/tracemonkey/tests/js1_5/Exceptions/catchguard-002-n.js +72 -0
  1966. data/vendor/tracemonkey/tests/js1_5/Exceptions/catchguard-003-n.js +76 -0
  1967. data/vendor/tracemonkey/tests/js1_5/Exceptions/errstack-001.js +279 -0
  1968. data/vendor/tracemonkey/tests/js1_5/Exceptions/jstests.list +16 -0
  1969. data/vendor/tracemonkey/tests/js1_5/Exceptions/regress-121658.js +158 -0
  1970. data/vendor/tracemonkey/tests/js1_5/Exceptions/regress-123002.js +132 -0
  1971. data/vendor/tracemonkey/tests/js1_5/Exceptions/regress-232182.js +155 -0
  1972. data/vendor/tracemonkey/tests/js1_5/Exceptions/regress-257751.js +127 -0
  1973. data/vendor/tracemonkey/tests/js1_5/Exceptions/regress-273931.js +108 -0
  1974. data/vendor/tracemonkey/tests/js1_5/Exceptions/regress-315147.js +69 -0
  1975. data/vendor/tracemonkey/tests/js1_5/Exceptions/regress-332472.js +58 -0
  1976. data/vendor/tracemonkey/tests/js1_5/Exceptions/regress-333728.js +116 -0
  1977. data/vendor/tracemonkey/tests/js1_5/Exceptions/regress-342359.js +77 -0
  1978. data/vendor/tracemonkey/tests/js1_5/Exceptions/regress-347674.js +96 -0
  1979. data/vendor/tracemonkey/tests/js1_5/Exceptions/regress-350650-n.js +63 -0
  1980. data/vendor/tracemonkey/tests/js1_5/Exceptions/regress-350837.js +79 -0
  1981. data/vendor/tracemonkey/tests/js1_5/Exceptions/shell.js +1 -0
  1982. data/vendor/tracemonkey/tests/js1_5/Expressions/jstests.list +6 -0
  1983. data/vendor/tracemonkey/tests/js1_5/Expressions/regress-192288.js +119 -0
  1984. data/vendor/tracemonkey/tests/js1_5/Expressions/regress-394673.js +82 -0
  1985. data/vendor/tracemonkey/tests/js1_5/Expressions/regress-96526-argsub.js +125 -0
  1986. data/vendor/tracemonkey/tests/js1_5/Expressions/regress-96526-delelem.js +125 -0
  1987. data/vendor/tracemonkey/tests/js1_5/Expressions/regress-96526-noargsub.js +125 -0
  1988. data/vendor/tracemonkey/tests/js1_5/Expressions/shell.js +137 -0
  1989. data/vendor/tracemonkey/tests/js1_5/Function/10.1.6-01.js +62 -0
  1990. data/vendor/tracemonkey/tests/js1_5/Function/10.1.6.js +56 -0
  1991. data/vendor/tracemonkey/tests/js1_5/Function/15.3.4.4.js +74 -0
  1992. data/vendor/tracemonkey/tests/js1_5/Function/jstests.list +15 -0
  1993. data/vendor/tracemonkey/tests/js1_5/Function/regress-123371.js +53 -0
  1994. data/vendor/tracemonkey/tests/js1_5/Function/regress-178389.js +62 -0
  1995. data/vendor/tracemonkey/tests/js1_5/Function/regress-222029-001.js +160 -0
  1996. data/vendor/tracemonkey/tests/js1_5/Function/regress-222029-002.js +169 -0
  1997. data/vendor/tracemonkey/tests/js1_5/Function/regress-292215.js +71 -0
  1998. data/vendor/tracemonkey/tests/js1_5/Function/regress-338001.js +74 -0
  1999. data/vendor/tracemonkey/tests/js1_5/Function/regress-338121-01.js +70 -0
  2000. data/vendor/tracemonkey/tests/js1_5/Function/regress-338121-02.js +74 -0
  2001. data/vendor/tracemonkey/tests/js1_5/Function/regress-338121-03.js +75 -0
  2002. data/vendor/tracemonkey/tests/js1_5/Function/regress-344052.js +63 -0
  2003. data/vendor/tracemonkey/tests/js1_5/Function/regress-364023.js +73 -0
  2004. data/vendor/tracemonkey/tests/js1_5/Function/shell.js +1 -0
  2005. data/vendor/tracemonkey/tests/js1_5/GC/jstests.list +26 -0
  2006. data/vendor/tracemonkey/tests/js1_5/GC/regress-104584.js +80 -0
  2007. data/vendor/tracemonkey/tests/js1_5/GC/regress-203278-2.js +113 -0
  2008. data/vendor/tracemonkey/tests/js1_5/GC/regress-203278-3.js +76 -0
  2009. data/vendor/tracemonkey/tests/js1_5/GC/regress-278725.js +65 -0
  2010. data/vendor/tracemonkey/tests/js1_5/GC/regress-306788.js +57 -0
  2011. data/vendor/tracemonkey/tests/js1_5/GC/regress-311497.js +94 -0
  2012. data/vendor/tracemonkey/tests/js1_5/GC/regress-313276.js +73 -0
  2013. data/vendor/tracemonkey/tests/js1_5/GC/regress-313479.js +70 -0
  2014. data/vendor/tracemonkey/tests/js1_5/GC/regress-316885-01.js +66 -0
  2015. data/vendor/tracemonkey/tests/js1_5/GC/regress-316885-02.js +75 -0
  2016. data/vendor/tracemonkey/tests/js1_5/GC/regress-316885-03.js +75 -0
  2017. data/vendor/tracemonkey/tests/js1_5/GC/regress-319980-01.js +160 -0
  2018. data/vendor/tracemonkey/tests/js1_5/GC/regress-324278.js +95 -0
  2019. data/vendor/tracemonkey/tests/js1_5/GC/regress-331719.js +52 -0
  2020. data/vendor/tracemonkey/tests/js1_5/GC/regress-338653.js +74 -0
  2021. data/vendor/tracemonkey/tests/js1_5/GC/regress-341877-01.js +73 -0
  2022. data/vendor/tracemonkey/tests/js1_5/GC/regress-341877-02.js +78 -0
  2023. data/vendor/tracemonkey/tests/js1_5/GC/regress-346794.js +77 -0
  2024. data/vendor/tracemonkey/tests/js1_5/GC/regress-348532.js +83 -0
  2025. data/vendor/tracemonkey/tests/js1_5/GC/regress-352606.js +61 -0
  2026. data/vendor/tracemonkey/tests/js1_5/GC/regress-383269-01.js +94 -0
  2027. data/vendor/tracemonkey/tests/js1_5/GC/regress-383269-02.js +98 -0
  2028. data/vendor/tracemonkey/tests/js1_5/GC/regress-390078.js +69 -0
  2029. data/vendor/tracemonkey/tests/js1_5/GC/regress-418128.js +73 -0
  2030. data/vendor/tracemonkey/tests/js1_5/GC/regress-440558.js +69 -0
  2031. data/vendor/tracemonkey/tests/js1_5/GC/shell.js +1 -0
  2032. data/vendor/tracemonkey/tests/js1_5/GetSet/getset-002.js +86 -0
  2033. data/vendor/tracemonkey/tests/js1_5/GetSet/jstests.list +4 -0
  2034. data/vendor/tracemonkey/tests/js1_5/GetSet/regress-353264.js +50 -0
  2035. data/vendor/tracemonkey/tests/js1_5/GetSet/regress-375976.js +64 -0
  2036. data/vendor/tracemonkey/tests/js1_5/GetSet/shell.js +1 -0
  2037. data/vendor/tracemonkey/tests/js1_5/LexicalConventions/jstests.list +5 -0
  2038. data/vendor/tracemonkey/tests/js1_5/LexicalConventions/lexical-001.js +183 -0
  2039. data/vendor/tracemonkey/tests/js1_5/LexicalConventions/regress-177314.js +110 -0
  2040. data/vendor/tracemonkey/tests/js1_5/LexicalConventions/regress-343675.js +82 -0
  2041. data/vendor/tracemonkey/tests/js1_5/LexicalConventions/regress-469940.js +71 -0
  2042. data/vendor/tracemonkey/tests/js1_5/LexicalConventions/shell.js +1 -0
  2043. data/vendor/tracemonkey/tests/js1_5/Object/jstests.list +11 -0
  2044. data/vendor/tracemonkey/tests/js1_5/Object/regress-137000.js +240 -0
  2045. data/vendor/tracemonkey/tests/js1_5/Object/regress-192105.js +183 -0
  2046. data/vendor/tracemonkey/tests/js1_5/Object/regress-308806-01.js +53 -0
  2047. data/vendor/tracemonkey/tests/js1_5/Object/regress-338709.js +107 -0
  2048. data/vendor/tracemonkey/tests/js1_5/Object/regress-362872-01.js +74 -0
  2049. data/vendor/tracemonkey/tests/js1_5/Object/regress-362872-02.js +55 -0
  2050. data/vendor/tracemonkey/tests/js1_5/Object/regress-382503.js +62 -0
  2051. data/vendor/tracemonkey/tests/js1_5/Object/regress-382532.js +70 -0
  2052. data/vendor/tracemonkey/tests/js1_5/Object/regress-465476.js +96 -0
  2053. data/vendor/tracemonkey/tests/js1_5/Object/regress-90596-003.js +312 -0
  2054. data/vendor/tracemonkey/tests/js1_5/Object/shell.js +1 -0
  2055. data/vendor/tracemonkey/tests/js1_5/README +1 -0
  2056. data/vendor/tracemonkey/tests/js1_5/Regress/jstests.list +363 -0
  2057. data/vendor/tracemonkey/tests/js1_5/Regress/regress-102725.js +99 -0
  2058. data/vendor/tracemonkey/tests/js1_5/Regress/regress-10278.js +79 -0
  2059. data/vendor/tracemonkey/tests/js1_5/Regress/regress-103602.js +168 -0
  2060. data/vendor/tracemonkey/tests/js1_5/Regress/regress-104077.js +509 -0
  2061. data/vendor/tracemonkey/tests/js1_5/Regress/regress-106244.js +71 -0
  2062. data/vendor/tracemonkey/tests/js1_5/Regress/regress-110286.js +156 -0
  2063. data/vendor/tracemonkey/tests/js1_5/Regress/regress-111557.js +10965 -0
  2064. data/vendor/tracemonkey/tests/js1_5/Regress/regress-114491.js +106 -0
  2065. data/vendor/tracemonkey/tests/js1_5/Regress/regress-114493.js +114 -0
  2066. data/vendor/tracemonkey/tests/js1_5/Regress/regress-115436.js +58 -0
  2067. data/vendor/tracemonkey/tests/js1_5/Regress/regress-116228.js +59 -0
  2068. data/vendor/tracemonkey/tests/js1_5/Regress/regress-118849.js +186 -0
  2069. data/vendor/tracemonkey/tests/js1_5/Regress/regress-119719.js +58 -0
  2070. data/vendor/tracemonkey/tests/js1_5/Regress/regress-127243.js +108 -0
  2071. data/vendor/tracemonkey/tests/js1_5/Regress/regress-127557.js +124 -0
  2072. data/vendor/tracemonkey/tests/js1_5/Regress/regress-131510-001.js +74 -0
  2073. data/vendor/tracemonkey/tests/js1_5/Regress/regress-139316.js +80 -0
  2074. data/vendor/tracemonkey/tests/js1_5/Regress/regress-140852.js +66 -0
  2075. data/vendor/tracemonkey/tests/js1_5/Regress/regress-140974.js +140 -0
  2076. data/vendor/tracemonkey/tests/js1_5/Regress/regress-146596.js +159 -0
  2077. data/vendor/tracemonkey/tests/js1_5/Regress/regress-152646.js +127 -0
  2078. data/vendor/tracemonkey/tests/js1_5/Regress/regress-155081-2.js +17554 -0
  2079. data/vendor/tracemonkey/tests/js1_5/Regress/regress-155081.js +17561 -0
  2080. data/vendor/tracemonkey/tests/js1_5/Regress/regress-156354.js +131 -0
  2081. data/vendor/tracemonkey/tests/js1_5/Regress/regress-159334.js +129 -0
  2082. data/vendor/tracemonkey/tests/js1_5/Regress/regress-162392.js +68 -0
  2083. data/vendor/tracemonkey/tests/js1_5/Regress/regress-165201.js +89 -0
  2084. data/vendor/tracemonkey/tests/js1_5/Regress/regress-167328.js +60 -0
  2085. data/vendor/tracemonkey/tests/js1_5/Regress/regress-167658.js +62 -0
  2086. data/vendor/tracemonkey/tests/js1_5/Regress/regress-168347.js +220 -0
  2087. data/vendor/tracemonkey/tests/js1_5/Regress/regress-169559.js +91 -0
  2088. data/vendor/tracemonkey/tests/js1_5/Regress/regress-170193.js +111 -0
  2089. data/vendor/tracemonkey/tests/js1_5/Regress/regress-172699.js +99 -0
  2090. data/vendor/tracemonkey/tests/js1_5/Regress/regress-173067.js +58 -0
  2091. data/vendor/tracemonkey/tests/js1_5/Regress/regress-174709.js +104 -0
  2092. data/vendor/tracemonkey/tests/js1_5/Regress/regress-176125.js +82 -0
  2093. data/vendor/tracemonkey/tests/js1_5/Regress/regress-179524.js +368 -0
  2094. data/vendor/tracemonkey/tests/js1_5/Regress/regress-185165.js +101 -0
  2095. data/vendor/tracemonkey/tests/js1_5/Regress/regress-191633.js +107 -0
  2096. data/vendor/tracemonkey/tests/js1_5/Regress/regress-191668.js +104 -0
  2097. data/vendor/tracemonkey/tests/js1_5/Regress/regress-192414.js +122 -0
  2098. data/vendor/tracemonkey/tests/js1_5/Regress/regress-193418.js +104 -0
  2099. data/vendor/tracemonkey/tests/js1_5/Regress/regress-203278-1.js +64 -0
  2100. data/vendor/tracemonkey/tests/js1_5/Regress/regress-203402.js +95 -0
  2101. data/vendor/tracemonkey/tests/js1_5/Regress/regress-203841.js +164 -0
  2102. data/vendor/tracemonkey/tests/js1_5/Regress/regress-204210.js +150 -0
  2103. data/vendor/tracemonkey/tests/js1_5/Regress/regress-210682.js +101 -0
  2104. data/vendor/tracemonkey/tests/js1_5/Regress/regress-211590.js +88 -0
  2105. data/vendor/tracemonkey/tests/js1_5/Regress/regress-213482.js +62 -0
  2106. data/vendor/tracemonkey/tests/js1_5/Regress/regress-214761.js +78 -0
  2107. data/vendor/tracemonkey/tests/js1_5/Regress/regress-216320.js +1040 -0
  2108. data/vendor/tracemonkey/tests/js1_5/Regress/regress-224956.js +287 -0
  2109. data/vendor/tracemonkey/tests/js1_5/Regress/regress-229006.js +65597 -0
  2110. data/vendor/tracemonkey/tests/js1_5/Regress/regress-230216-1.js +81 -0
  2111. data/vendor/tracemonkey/tests/js1_5/Regress/regress-230216-2.js +70 -0
  2112. data/vendor/tracemonkey/tests/js1_5/Regress/regress-230216-3.js +80 -0
  2113. data/vendor/tracemonkey/tests/js1_5/Regress/regress-233483-2.js +100 -0
  2114. data/vendor/tracemonkey/tests/js1_5/Regress/regress-233483.js +86 -0
  2115. data/vendor/tracemonkey/tests/js1_5/Regress/regress-234389.js +72 -0
  2116. data/vendor/tracemonkey/tests/js1_5/Regress/regress-238881.js +64 -0
  2117. data/vendor/tracemonkey/tests/js1_5/Regress/regress-238945.js +52 -0
  2118. data/vendor/tracemonkey/tests/js1_5/Regress/regress-240317.js +99 -0
  2119. data/vendor/tracemonkey/tests/js1_5/Regress/regress-240577.js +68 -0
  2120. data/vendor/tracemonkey/tests/js1_5/Regress/regress-243174.js +55 -0
  2121. data/vendor/tracemonkey/tests/js1_5/Regress/regress-243389-n.js +58 -0
  2122. data/vendor/tracemonkey/tests/js1_5/Regress/regress-243869.js +72 -0
  2123. data/vendor/tracemonkey/tests/js1_5/Regress/regress-244470.js +1113 -0
  2124. data/vendor/tracemonkey/tests/js1_5/Regress/regress-244619.js +66 -0
  2125. data/vendor/tracemonkey/tests/js1_5/Regress/regress-245113.js +81 -0
  2126. data/vendor/tracemonkey/tests/js1_5/Regress/regress-245308.js +61 -0
  2127. data/vendor/tracemonkey/tests/js1_5/Regress/regress-246911.js +64 -0
  2128. data/vendor/tracemonkey/tests/js1_5/Regress/regress-246964.js +196 -0
  2129. data/vendor/tracemonkey/tests/js1_5/Regress/regress-247179.js +53 -0
  2130. data/vendor/tracemonkey/tests/js1_5/Regress/regress-248444.js +77 -0
  2131. data/vendor/tracemonkey/tests/js1_5/Regress/regress-249211.js +63 -0
  2132. data/vendor/tracemonkey/tests/js1_5/Regress/regress-252892.js +163 -0
  2133. data/vendor/tracemonkey/tests/js1_5/Regress/regress-253150.js +123 -0
  2134. data/vendor/tracemonkey/tests/js1_5/Regress/regress-254296.js +60 -0
  2135. data/vendor/tracemonkey/tests/js1_5/Regress/regress-254974.js +72 -0
  2136. data/vendor/tracemonkey/tests/js1_5/Regress/regress-256501.js +72 -0
  2137. data/vendor/tracemonkey/tests/js1_5/Regress/regress-256617.js +69 -0
  2138. data/vendor/tracemonkey/tests/js1_5/Regress/regress-256798.js +70 -0
  2139. data/vendor/tracemonkey/tests/js1_5/Regress/regress-259935.js +75 -0
  2140. data/vendor/tracemonkey/tests/js1_5/Regress/regress-260541.js +55 -0
  2141. data/vendor/tracemonkey/tests/js1_5/Regress/regress-261886.js +63 -0
  2142. data/vendor/tracemonkey/tests/js1_5/Regress/regress-261887.js +70 -0
  2143. data/vendor/tracemonkey/tests/js1_5/Regress/regress-271716-n.js +60 -0
  2144. data/vendor/tracemonkey/tests/js1_5/Regress/regress-274035.js +63 -0
  2145. data/vendor/tracemonkey/tests/js1_5/Regress/regress-274888.js +73 -0
  2146. data/vendor/tracemonkey/tests/js1_5/Regress/regress-275378.js +81 -0
  2147. data/vendor/tracemonkey/tests/js1_5/Regress/regress-276103.js +60 -0
  2148. data/vendor/tracemonkey/tests/js1_5/Regress/regress-278873.js +61 -0
  2149. data/vendor/tracemonkey/tests/js1_5/Regress/regress-280769-1.js +58 -0
  2150. data/vendor/tracemonkey/tests/js1_5/Regress/regress-280769-2.js +74 -0
  2151. data/vendor/tracemonkey/tests/js1_5/Regress/regress-280769-3.js +79 -0
  2152. data/vendor/tracemonkey/tests/js1_5/Regress/regress-280769-4.js +81 -0
  2153. data/vendor/tracemonkey/tests/js1_5/Regress/regress-280769-5.js +64 -0
  2154. data/vendor/tracemonkey/tests/js1_5/Regress/regress-280769.js +73 -0
  2155. data/vendor/tracemonkey/tests/js1_5/Regress/regress-281487.js +69 -0
  2156. data/vendor/tracemonkey/tests/js1_5/Regress/regress-281606.js +80 -0
  2157. data/vendor/tracemonkey/tests/js1_5/Regress/regress-281930.js +54 -0
  2158. data/vendor/tracemonkey/tests/js1_5/Regress/regress-283477.js +61 -0
  2159. data/vendor/tracemonkey/tests/js1_5/Regress/regress-286216.js +63 -0
  2160. data/vendor/tracemonkey/tests/js1_5/Regress/regress-288688.js +81 -0
  2161. data/vendor/tracemonkey/tests/js1_5/Regress/regress-289094.js +61 -0
  2162. data/vendor/tracemonkey/tests/js1_5/Regress/regress-290575.js +90 -0
  2163. data/vendor/tracemonkey/tests/js1_5/Regress/regress-290656.js +65 -0
  2164. data/vendor/tracemonkey/tests/js1_5/Regress/regress-294191.js +63 -0
  2165. data/vendor/tracemonkey/tests/js1_5/Regress/regress-294195-01.js +58 -0
  2166. data/vendor/tracemonkey/tests/js1_5/Regress/regress-294195-02.js +50 -0
  2167. data/vendor/tracemonkey/tests/js1_5/Regress/regress-294302.js +57 -0
  2168. data/vendor/tracemonkey/tests/js1_5/Regress/regress-295052.js +50 -0
  2169. data/vendor/tracemonkey/tests/js1_5/Regress/regress-295666.js +56 -0
  2170. data/vendor/tracemonkey/tests/js1_5/Regress/regress-299209.js +56 -0
  2171. data/vendor/tracemonkey/tests/js1_5/Regress/regress-299641.js +58 -0
  2172. data/vendor/tracemonkey/tests/js1_5/Regress/regress-303213.js +88 -0
  2173. data/vendor/tracemonkey/tests/js1_5/Regress/regress-306633.js +68 -0
  2174. data/vendor/tracemonkey/tests/js1_5/Regress/regress-306727.js +73 -0
  2175. data/vendor/tracemonkey/tests/js1_5/Regress/regress-306794.js +56 -0
  2176. data/vendor/tracemonkey/tests/js1_5/Regress/regress-308085.js +602 -0
  2177. data/vendor/tracemonkey/tests/js1_5/Regress/regress-308566.js +60 -0
  2178. data/vendor/tracemonkey/tests/js1_5/Regress/regress-309242.js +77 -0
  2179. data/vendor/tracemonkey/tests/js1_5/Regress/regress-310295.js +54 -0
  2180. data/vendor/tracemonkey/tests/js1_5/Regress/regress-310607.js +62 -0
  2181. data/vendor/tracemonkey/tests/js1_5/Regress/regress-310993.js +55 -0
  2182. data/vendor/tracemonkey/tests/js1_5/Regress/regress-311071.js +51 -0
  2183. data/vendor/tracemonkey/tests/js1_5/Regress/regress-311629.js +55 -0
  2184. data/vendor/tracemonkey/tests/js1_5/Regress/regress-312260.js +60 -0
  2185. data/vendor/tracemonkey/tests/js1_5/Regress/regress-31255.js +113 -0
  2186. data/vendor/tracemonkey/tests/js1_5/Regress/regress-312588.js +63 -0
  2187. data/vendor/tracemonkey/tests/js1_5/Regress/regress-313967-01.js +112 -0
  2188. data/vendor/tracemonkey/tests/js1_5/Regress/regress-313967-02.js +87 -0
  2189. data/vendor/tracemonkey/tests/js1_5/Regress/regress-314401.js +104 -0
  2190. data/vendor/tracemonkey/tests/js1_5/Regress/regress-315974.js +83 -0
  2191. data/vendor/tracemonkey/tests/js1_5/Regress/regress-315990.js +73 -0
  2192. data/vendor/tracemonkey/tests/js1_5/Regress/regress-317476.js +64 -0
  2193. data/vendor/tracemonkey/tests/js1_5/Regress/regress-317533.js +87 -0
  2194. data/vendor/tracemonkey/tests/js1_5/Regress/regress-317714-01.js +52 -0
  2195. data/vendor/tracemonkey/tests/js1_5/Regress/regress-317714-02.js +53 -0
  2196. data/vendor/tracemonkey/tests/js1_5/Regress/regress-319384.js +61 -0
  2197. data/vendor/tracemonkey/tests/js1_5/Regress/regress-319391.js +73 -0
  2198. data/vendor/tracemonkey/tests/js1_5/Regress/regress-320032.js +60 -0
  2199. data/vendor/tracemonkey/tests/js1_5/Regress/regress-320119.js +148 -0
  2200. data/vendor/tracemonkey/tests/js1_5/Regress/regress-321757.js +143 -0
  2201. data/vendor/tracemonkey/tests/js1_5/Regress/regress-321874.js +241 -0
  2202. data/vendor/tracemonkey/tests/js1_5/Regress/regress-321971.js +56 -0
  2203. data/vendor/tracemonkey/tests/js1_5/Regress/regress-322430.js +70 -0
  2204. data/vendor/tracemonkey/tests/js1_5/Regress/regress-323314-1.js +73 -0
  2205. data/vendor/tracemonkey/tests/js1_5/Regress/regress-325925.js +50 -0
  2206. data/vendor/tracemonkey/tests/js1_5/Regress/regress-326453.js +52 -0
  2207. data/vendor/tracemonkey/tests/js1_5/Regress/regress-326467.js +51 -0
  2208. data/vendor/tracemonkey/tests/js1_5/Regress/regress-328012.js +62 -0
  2209. data/vendor/tracemonkey/tests/js1_5/Regress/regress-328664.js +64 -0
  2210. data/vendor/tracemonkey/tests/js1_5/Regress/regress-328897.js +79 -0
  2211. data/vendor/tracemonkey/tests/js1_5/Regress/regress-329383.js +116 -0
  2212. data/vendor/tracemonkey/tests/js1_5/Regress/regress-329530.js +73 -0
  2213. data/vendor/tracemonkey/tests/js1_5/Regress/regress-330352.js +67 -0
  2214. data/vendor/tracemonkey/tests/js1_5/Regress/regress-330951.js +50 -0
  2215. data/vendor/tracemonkey/tests/js1_5/Regress/regress-334807-01.js +57 -0
  2216. data/vendor/tracemonkey/tests/js1_5/Regress/regress-334807-02.js +61 -0
  2217. data/vendor/tracemonkey/tests/js1_5/Regress/regress-334807-03.js +57 -0
  2218. data/vendor/tracemonkey/tests/js1_5/Regress/regress-334807-04.js +61 -0
  2219. data/vendor/tracemonkey/tests/js1_5/Regress/regress-334807-05.js +66 -0
  2220. data/vendor/tracemonkey/tests/js1_5/Regress/regress-334807-06.js +70 -0
  2221. data/vendor/tracemonkey/tests/js1_5/Regress/regress-336100.js +55 -0
  2222. data/vendor/tracemonkey/tests/js1_5/Regress/regress-338307.js +62 -0
  2223. data/vendor/tracemonkey/tests/js1_5/Regress/regress-340369.js +58 -0
  2224. data/vendor/tracemonkey/tests/js1_5/Regress/regress-341360.js +88 -0
  2225. data/vendor/tracemonkey/tests/js1_5/Regress/regress-343713.js +54 -0
  2226. data/vendor/tracemonkey/tests/js1_5/Regress/regress-343966.js +65 -0
  2227. data/vendor/tracemonkey/tests/js1_5/Regress/regress-344711-n.js +67 -0
  2228. data/vendor/tracemonkey/tests/js1_5/Regress/regress-344804.js +65 -0
  2229. data/vendor/tracemonkey/tests/js1_5/Regress/regress-344959.js +69 -0
  2230. data/vendor/tracemonkey/tests/js1_5/Regress/regress-346237.js +61 -0
  2231. data/vendor/tracemonkey/tests/js1_5/Regress/regress-346801.js +109 -0
  2232. data/vendor/tracemonkey/tests/js1_5/Regress/regress-347306-01.js +85 -0
  2233. data/vendor/tracemonkey/tests/js1_5/Regress/regress-349482-01.js +62 -0
  2234. data/vendor/tracemonkey/tests/js1_5/Regress/regress-349482-02.js +62 -0
  2235. data/vendor/tracemonkey/tests/js1_5/Regress/regress-349592.js +61 -0
  2236. data/vendor/tracemonkey/tests/js1_5/Regress/regress-349648.js +98 -0
  2237. data/vendor/tracemonkey/tests/js1_5/Regress/regress-350253.js +67 -0
  2238. data/vendor/tracemonkey/tests/js1_5/Regress/regress-350268.js +107 -0
  2239. data/vendor/tracemonkey/tests/js1_5/Regress/regress-350312.js +114 -0
  2240. data/vendor/tracemonkey/tests/js1_5/Regress/regress-350415.js +67 -0
  2241. data/vendor/tracemonkey/tests/js1_5/Regress/regress-350529.js +66 -0
  2242. data/vendor/tracemonkey/tests/js1_5/Regress/regress-350692.js +70 -0
  2243. data/vendor/tracemonkey/tests/js1_5/Regress/regress-351116.js +65 -0
  2244. data/vendor/tracemonkey/tests/js1_5/Regress/regress-351515.js +69 -0
  2245. data/vendor/tracemonkey/tests/js1_5/Regress/regress-352009.js +60 -0
  2246. data/vendor/tracemonkey/tests/js1_5/Regress/regress-352197.js +102 -0
  2247. data/vendor/tracemonkey/tests/js1_5/Regress/regress-352208.js +77 -0
  2248. data/vendor/tracemonkey/tests/js1_5/Regress/regress-352604.js +61 -0
  2249. data/vendor/tracemonkey/tests/js1_5/Regress/regress-354924.js +64 -0
  2250. data/vendor/tracemonkey/tests/js1_5/Regress/regress-355341.js +61 -0
  2251. data/vendor/tracemonkey/tests/js1_5/Regress/regress-355344.js +82 -0
  2252. data/vendor/tracemonkey/tests/js1_5/Regress/regress-355556.js +68 -0
  2253. data/vendor/tracemonkey/tests/js1_5/Regress/regress-355829-01.js +61 -0
  2254. data/vendor/tracemonkey/tests/js1_5/Regress/regress-355829-02.js +74 -0
  2255. data/vendor/tracemonkey/tests/js1_5/Regress/regress-355829-03.js +62 -0
  2256. data/vendor/tracemonkey/tests/js1_5/Regress/regress-356250.js +77 -0
  2257. data/vendor/tracemonkey/tests/js1_5/Regress/regress-356693.js +69 -0
  2258. data/vendor/tracemonkey/tests/js1_5/Regress/regress-360969-01.js +74 -0
  2259. data/vendor/tracemonkey/tests/js1_5/Regress/regress-360969-02.js +64 -0
  2260. data/vendor/tracemonkey/tests/js1_5/Regress/regress-360969-03.js +74 -0
  2261. data/vendor/tracemonkey/tests/js1_5/Regress/regress-360969-04.js +64 -0
  2262. data/vendor/tracemonkey/tests/js1_5/Regress/regress-360969-05.js +76 -0
  2263. data/vendor/tracemonkey/tests/js1_5/Regress/regress-360969-06.js +65 -0
  2264. data/vendor/tracemonkey/tests/js1_5/Regress/regress-361467.js +65 -0
  2265. data/vendor/tracemonkey/tests/js1_5/Regress/regress-361617.js +66 -0
  2266. data/vendor/tracemonkey/tests/js1_5/Regress/regress-362583.js +77 -0
  2267. data/vendor/tracemonkey/tests/js1_5/Regress/regress-3649-n.js +65 -0
  2268. data/vendor/tracemonkey/tests/js1_5/Regress/regress-366122.js +79 -0
  2269. data/vendor/tracemonkey/tests/js1_5/Regress/regress-366468.js +68 -0
  2270. data/vendor/tracemonkey/tests/js1_5/Regress/regress-366601.js +71 -0
  2271. data/vendor/tracemonkey/tests/js1_5/Regress/regress-367561-01.js +70 -0
  2272. data/vendor/tracemonkey/tests/js1_5/Regress/regress-367561-03.js +69 -0
  2273. data/vendor/tracemonkey/tests/js1_5/Regress/regress-372364.js +80 -0
  2274. data/vendor/tracemonkey/tests/js1_5/Regress/regress-379245.js +72 -0
  2275. data/vendor/tracemonkey/tests/js1_5/Regress/regress-383674.js +91 -0
  2276. data/vendor/tracemonkey/tests/js1_5/Regress/regress-383682.js +67 -0
  2277. data/vendor/tracemonkey/tests/js1_5/Regress/regress-385393-06.js +61 -0
  2278. data/vendor/tracemonkey/tests/js1_5/Regress/regress-387951-01.js +61 -0
  2279. data/vendor/tracemonkey/tests/js1_5/Regress/regress-387951-02.js +61 -0
  2280. data/vendor/tracemonkey/tests/js1_5/Regress/regress-387951-03.js +61 -0
  2281. data/vendor/tracemonkey/tests/js1_5/Regress/regress-39309.js +110 -0
  2282. data/vendor/tracemonkey/tests/js1_5/Regress/regress-396684.js +81 -0
  2283. data/vendor/tracemonkey/tests/js1_5/Regress/regress-398085-01.js +778 -0
  2284. data/vendor/tracemonkey/tests/js1_5/Regress/regress-398085-02.js +761 -0
  2285. data/vendor/tracemonkey/tests/js1_5/Regress/regress-398609.js +72 -0
  2286. data/vendor/tracemonkey/tests/js1_5/Regress/regress-404755.js +83 -0
  2287. data/vendor/tracemonkey/tests/js1_5/Regress/regress-406769.js +188 -0
  2288. data/vendor/tracemonkey/tests/js1_5/Regress/regress-407024.js +53 -0
  2289. data/vendor/tracemonkey/tests/js1_5/Regress/regress-407323.js +75 -0
  2290. data/vendor/tracemonkey/tests/js1_5/Regress/regress-407957.js +63 -0
  2291. data/vendor/tracemonkey/tests/js1_5/Regress/regress-410852.js +71 -0
  2292. data/vendor/tracemonkey/tests/js1_5/Regress/regress-416628.js +142 -0
  2293. data/vendor/tracemonkey/tests/js1_5/Regress/regress-416737-01.js +61 -0
  2294. data/vendor/tracemonkey/tests/js1_5/Regress/regress-416737-02.js +66 -0
  2295. data/vendor/tracemonkey/tests/js1_5/Regress/regress-417893.js +61 -0
  2296. data/vendor/tracemonkey/tests/js1_5/Regress/regress-418504.js +86 -0
  2297. data/vendor/tracemonkey/tests/js1_5/Regress/regress-418540.js +94 -0
  2298. data/vendor/tracemonkey/tests/js1_5/Regress/regress-419018.js +80 -0
  2299. data/vendor/tracemonkey/tests/js1_5/Regress/regress-419803.js +61 -0
  2300. data/vendor/tracemonkey/tests/js1_5/Regress/regress-420919.js +70 -0
  2301. data/vendor/tracemonkey/tests/js1_5/Regress/regress-422348.js +70 -0
  2302. data/vendor/tracemonkey/tests/js1_5/Regress/regress-424311.js +61 -0
  2303. data/vendor/tracemonkey/tests/js1_5/Regress/regress-425360.js +74 -0
  2304. data/vendor/tracemonkey/tests/js1_5/Regress/regress-426827.js +67 -0
  2305. data/vendor/tracemonkey/tests/js1_5/Regress/regress-428366.js +52 -0
  2306. data/vendor/tracemonkey/tests/js1_5/Regress/regress-438415-01.js +60 -0
  2307. data/vendor/tracemonkey/tests/js1_5/Regress/regress-438415-02.js +64 -0
  2308. data/vendor/tracemonkey/tests/js1_5/Regress/regress-449627.js +147 -0
  2309. data/vendor/tracemonkey/tests/js1_5/Regress/regress-449666.js +98 -0
  2310. data/vendor/tracemonkey/tests/js1_5/Regress/regress-450369.js +345 -0
  2311. data/vendor/tracemonkey/tests/js1_5/Regress/regress-450833.js +82 -0
  2312. data/vendor/tracemonkey/tests/js1_5/Regress/regress-451884.js +68 -0
  2313. data/vendor/tracemonkey/tests/js1_5/Regress/regress-451946.js +67 -0
  2314. data/vendor/tracemonkey/tests/js1_5/Regress/regress-452008.js +186 -0
  2315. data/vendor/tracemonkey/tests/js1_5/Regress/regress-452170.js +64 -0
  2316. data/vendor/tracemonkey/tests/js1_5/Regress/regress-452333.js +64 -0
  2317. data/vendor/tracemonkey/tests/js1_5/Regress/regress-452336.js +64 -0
  2318. data/vendor/tracemonkey/tests/js1_5/Regress/regress-452346.js +61 -0
  2319. data/vendor/tracemonkey/tests/js1_5/Regress/regress-452495.js +54 -0
  2320. data/vendor/tracemonkey/tests/js1_5/Regress/regress-452573-01.js +64 -0
  2321. data/vendor/tracemonkey/tests/js1_5/Regress/regress-452573-02.js +64 -0
  2322. data/vendor/tracemonkey/tests/js1_5/Regress/regress-452713.js +64 -0
  2323. data/vendor/tracemonkey/tests/js1_5/Regress/regress-452724-01.js +64 -0
  2324. data/vendor/tracemonkey/tests/js1_5/Regress/regress-452724-02.js +64 -0
  2325. data/vendor/tracemonkey/tests/js1_5/Regress/regress-452742-01.js +84 -0
  2326. data/vendor/tracemonkey/tests/js1_5/Regress/regress-452742-02.js +89 -0
  2327. data/vendor/tracemonkey/tests/js1_5/Regress/regress-452853.js +64 -0
  2328. data/vendor/tracemonkey/tests/js1_5/Regress/regress-452884-01.js +64 -0
  2329. data/vendor/tracemonkey/tests/js1_5/Regress/regress-452884-02.js +64 -0
  2330. data/vendor/tracemonkey/tests/js1_5/Regress/regress-453024.js +78 -0
  2331. data/vendor/tracemonkey/tests/js1_5/Regress/regress-453173.js +66 -0
  2332. data/vendor/tracemonkey/tests/js1_5/Regress/regress-453397.js +81 -0
  2333. data/vendor/tracemonkey/tests/js1_5/Regress/regress-453701.js +64 -0
  2334. data/vendor/tracemonkey/tests/js1_5/Regress/regress-453747.js +72 -0
  2335. data/vendor/tracemonkey/tests/js1_5/Regress/regress-454682.js +68 -0
  2336. data/vendor/tracemonkey/tests/js1_5/Regress/regress-454981.js +69 -0
  2337. data/vendor/tracemonkey/tests/js1_5/Regress/regress-455605.js +65 -0
  2338. data/vendor/tracemonkey/tests/js1_5/Regress/regress-455748.js +65 -0
  2339. data/vendor/tracemonkey/tests/js1_5/Regress/regress-455758-01.js +65 -0
  2340. data/vendor/tracemonkey/tests/js1_5/Regress/regress-455758-02.js +65 -0
  2341. data/vendor/tracemonkey/tests/js1_5/Regress/regress-455775.js +67 -0
  2342. data/vendor/tracemonkey/tests/js1_5/Regress/regress-456470.js +73 -0
  2343. data/vendor/tracemonkey/tests/js1_5/Regress/regress-456477-01.js +65 -0
  2344. data/vendor/tracemonkey/tests/js1_5/Regress/regress-456477-02.js +65 -0
  2345. data/vendor/tracemonkey/tests/js1_5/Regress/regress-456494.js +83 -0
  2346. data/vendor/tracemonkey/tests/js1_5/Regress/regress-456540-01.js +65 -0
  2347. data/vendor/tracemonkey/tests/js1_5/Regress/regress-456540-02.js +65 -0
  2348. data/vendor/tracemonkey/tests/js1_5/Regress/regress-457065-03.js +67 -0
  2349. data/vendor/tracemonkey/tests/js1_5/Regress/regress-457456.js +65 -0
  2350. data/vendor/tracemonkey/tests/js1_5/Regress/regress-457778.js +65 -0
  2351. data/vendor/tracemonkey/tests/js1_5/Regress/regress-458851.js +65 -0
  2352. data/vendor/tracemonkey/tests/js1_5/Regress/regress-459085.js +67 -0
  2353. data/vendor/tracemonkey/tests/js1_5/Regress/regress-459628.js +69 -0
  2354. data/vendor/tracemonkey/tests/js1_5/Regress/regress-459990.js +66 -0
  2355. data/vendor/tracemonkey/tests/js1_5/Regress/regress-460024.js +74 -0
  2356. data/vendor/tracemonkey/tests/js1_5/Regress/regress-460117.js +80 -0
  2357. data/vendor/tracemonkey/tests/js1_5/Regress/regress-461307.js +66 -0
  2358. data/vendor/tracemonkey/tests/js1_5/Regress/regress-461723.js +65 -0
  2359. data/vendor/tracemonkey/tests/js1_5/Regress/regress-462292.js +67 -0
  2360. data/vendor/tracemonkey/tests/js1_5/Regress/regress-462879.js +67 -0
  2361. data/vendor/tracemonkey/tests/js1_5/Regress/regress-462989.js +66 -0
  2362. data/vendor/tracemonkey/tests/js1_5/Regress/regress-463259.js +62 -0
  2363. data/vendor/tracemonkey/tests/js1_5/Regress/regress-463782.js +101 -0
  2364. data/vendor/tracemonkey/tests/js1_5/Regress/regress-464334.js +69 -0
  2365. data/vendor/tracemonkey/tests/js1_5/Regress/regress-464862.js +156 -0
  2366. data/vendor/tracemonkey/tests/js1_5/Regress/regress-465013.js +74 -0
  2367. data/vendor/tracemonkey/tests/js1_5/Regress/regress-465132.js +78 -0
  2368. data/vendor/tracemonkey/tests/js1_5/Regress/regress-465133.js +68 -0
  2369. data/vendor/tracemonkey/tests/js1_5/Regress/regress-465135.js +68 -0
  2370. data/vendor/tracemonkey/tests/js1_5/Regress/regress-465136.js +68 -0
  2371. data/vendor/tracemonkey/tests/js1_5/Regress/regress-465137.js +68 -0
  2372. data/vendor/tracemonkey/tests/js1_5/Regress/regress-465262.js +67 -0
  2373. data/vendor/tracemonkey/tests/js1_5/Regress/regress-465272.js +67 -0
  2374. data/vendor/tracemonkey/tests/js1_5/Regress/regress-465347.js +85 -0
  2375. data/vendor/tracemonkey/tests/js1_5/Regress/regress-465366.js +74 -0
  2376. data/vendor/tracemonkey/tests/js1_5/Regress/regress-466262.js +69 -0
  2377. data/vendor/tracemonkey/tests/js1_5/Regress/regress-466747.js +94 -0
  2378. data/vendor/tracemonkey/tests/js1_5/Regress/regress-469044.js +104 -0
  2379. data/vendor/tracemonkey/tests/js1_5/Regress/regress-470061.js +78 -0
  2380. data/vendor/tracemonkey/tests/js1_5/Regress/regress-470187-01.js +61 -0
  2381. data/vendor/tracemonkey/tests/js1_5/Regress/regress-470187-02.js +61 -0
  2382. data/vendor/tracemonkey/tests/js1_5/Regress/regress-470758-01.js +61 -0
  2383. data/vendor/tracemonkey/tests/js1_5/Regress/regress-470758-02.js +63 -0
  2384. data/vendor/tracemonkey/tests/js1_5/Regress/regress-475645-01.js +82 -0
  2385. data/vendor/tracemonkey/tests/js1_5/Regress/regress-475645-02.js +89 -0
  2386. data/vendor/tracemonkey/tests/js1_5/Regress/regress-476049.js +76 -0
  2387. data/vendor/tracemonkey/tests/js1_5/Regress/regress-476192.js +74 -0
  2388. data/vendor/tracemonkey/tests/js1_5/Regress/regress-477733.js +77 -0
  2389. data/vendor/tracemonkey/tests/js1_5/Regress/regress-477758.js +85 -0
  2390. data/vendor/tracemonkey/tests/js1_5/Regress/regress-478314.js +65 -0
  2391. data/vendor/tracemonkey/tests/js1_5/Regress/regress-479353.js +61 -0
  2392. data/vendor/tracemonkey/tests/js1_5/Regress/regress-480147.js +68 -0
  2393. data/vendor/tracemonkey/tests/js1_5/Regress/regress-480244.js +86 -0
  2394. data/vendor/tracemonkey/tests/js1_5/Regress/regress-481436.js +74 -0
  2395. data/vendor/tracemonkey/tests/js1_5/Regress/regress-482421.js +61 -0
  2396. data/vendor/tracemonkey/tests/js1_5/Regress/regress-483103.js +68 -0
  2397. data/vendor/tracemonkey/tests/js1_5/Regress/regress-501124.js +78 -0
  2398. data/vendor/tracemonkey/tests/js1_5/Regress/regress-504078.js +84 -0
  2399. data/vendor/tracemonkey/tests/js1_5/Regress/regress-506567.js +78 -0
  2400. data/vendor/tracemonkey/tests/js1_5/Regress/regress-57043.js +109 -0
  2401. data/vendor/tracemonkey/tests/js1_5/Regress/regress-58116.js +61 -0
  2402. data/vendor/tracemonkey/tests/js1_5/Regress/regress-68498-001.js +78 -0
  2403. data/vendor/tracemonkey/tests/js1_5/Regress/regress-68498-002.js +101 -0
  2404. data/vendor/tracemonkey/tests/js1_5/Regress/regress-68498-003.js +105 -0
  2405. data/vendor/tracemonkey/tests/js1_5/Regress/regress-68498-004.js +133 -0
  2406. data/vendor/tracemonkey/tests/js1_5/Regress/regress-69607.js +76 -0
  2407. data/vendor/tracemonkey/tests/js1_5/Regress/regress-71107.js +80 -0
  2408. data/vendor/tracemonkey/tests/js1_5/Regress/regress-76054.js +160 -0
  2409. data/vendor/tracemonkey/tests/js1_5/Regress/regress-80981.js +3144 -0
  2410. data/vendor/tracemonkey/tests/js1_5/Regress/regress-82306.js +82 -0
  2411. data/vendor/tracemonkey/tests/js1_5/Regress/regress-89443.js +2153 -0
  2412. data/vendor/tracemonkey/tests/js1_5/Regress/regress-89474.js +85 -0
  2413. data/vendor/tracemonkey/tests/js1_5/Regress/regress-90445.js +329 -0
  2414. data/vendor/tracemonkey/tests/js1_5/Regress/regress-96128-n.js +85 -0
  2415. data/vendor/tracemonkey/tests/js1_5/Regress/regress-96526-001.js +537 -0
  2416. data/vendor/tracemonkey/tests/js1_5/Regress/regress-96526-002.js +63 -0
  2417. data/vendor/tracemonkey/tests/js1_5/Regress/regress-96526-003.js +4438 -0
  2418. data/vendor/tracemonkey/tests/js1_5/Regress/regress-98901.js +3925 -0
  2419. data/vendor/tracemonkey/tests/js1_5/Regress/shell.js +1 -0
  2420. data/vendor/tracemonkey/tests/js1_5/Scope/jstests.list +18 -0
  2421. data/vendor/tracemonkey/tests/js1_5/Scope/regress-154693.js +101 -0
  2422. data/vendor/tracemonkey/tests/js1_5/Scope/regress-181834.js +183 -0
  2423. data/vendor/tracemonkey/tests/js1_5/Scope/regress-184107.js +127 -0
  2424. data/vendor/tracemonkey/tests/js1_5/Scope/regress-185485.js +163 -0
  2425. data/vendor/tracemonkey/tests/js1_5/Scope/regress-191276.js +128 -0
  2426. data/vendor/tracemonkey/tests/js1_5/Scope/regress-192226.js +125 -0
  2427. data/vendor/tracemonkey/tests/js1_5/Scope/regress-202678-001.js +136 -0
  2428. data/vendor/tracemonkey/tests/js1_5/Scope/regress-202678-002.js +137 -0
  2429. data/vendor/tracemonkey/tests/js1_5/Scope/regress-208496-001.js +174 -0
  2430. data/vendor/tracemonkey/tests/js1_5/Scope/regress-208496-002.js +166 -0
  2431. data/vendor/tracemonkey/tests/js1_5/Scope/regress-220362.js +116 -0
  2432. data/vendor/tracemonkey/tests/js1_5/Scope/regress-446026-01.js +84 -0
  2433. data/vendor/tracemonkey/tests/js1_5/Scope/regress-446026-02.js +60 -0
  2434. data/vendor/tracemonkey/tests/js1_5/Scope/regress-77578-001.js +184 -0
  2435. data/vendor/tracemonkey/tests/js1_5/Scope/scope-002.js +142 -0
  2436. data/vendor/tracemonkey/tests/js1_5/Scope/scope-003.js +143 -0
  2437. data/vendor/tracemonkey/tests/js1_5/Scope/scope-004.js +225 -0
  2438. data/vendor/tracemonkey/tests/js1_5/Scope/shell.js +1 -0
  2439. data/vendor/tracemonkey/tests/js1_5/String/jstests.list +9 -0
  2440. data/vendor/tracemonkey/tests/js1_5/String/regress-107771.js +125 -0
  2441. data/vendor/tracemonkey/tests/js1_5/String/regress-112626.js +52 -0
  2442. data/vendor/tracemonkey/tests/js1_5/String/regress-157334-01.js +90 -0
  2443. data/vendor/tracemonkey/tests/js1_5/String/regress-179068.js +159 -0
  2444. data/vendor/tracemonkey/tests/js1_5/String/regress-314890.js +84 -0
  2445. data/vendor/tracemonkey/tests/js1_5/String/regress-322772.js +84 -0
  2446. data/vendor/tracemonkey/tests/js1_5/String/regress-56940-01.js +81 -0
  2447. data/vendor/tracemonkey/tests/js1_5/String/regress-56940-02.js +81 -0
  2448. data/vendor/tracemonkey/tests/js1_5/String/shell.js +1 -0
  2449. data/vendor/tracemonkey/tests/js1_5/browser.js +37 -0
  2450. data/vendor/tracemonkey/tests/js1_5/decompilation/jstests.list +65 -0
  2451. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-344120.js +62 -0
  2452. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-346892.js +62 -0
  2453. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-346902.js +91 -0
  2454. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-346904.js +156 -0
  2455. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-346915.js +64 -0
  2456. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-349484.js +69 -0
  2457. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-349489.js +69 -0
  2458. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-349491.js +79 -0
  2459. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-349596.js +63 -0
  2460. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-349650.js +65 -0
  2461. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-349663.js +68 -0
  2462. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-350242.js +69 -0
  2463. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-350263.js +64 -0
  2464. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-350271.js +64 -0
  2465. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-350666.js +93 -0
  2466. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-350670.js +69 -0
  2467. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-351104.js +65 -0
  2468. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-351219.js +67 -0
  2469. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-351336.js +63 -0
  2470. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-351597.js +64 -0
  2471. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-351625.js +64 -0
  2472. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-351626.js +64 -0
  2473. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-351693.js +65 -0
  2474. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-351705.js +65 -0
  2475. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-351793.js +65 -0
  2476. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-352013.js +93 -0
  2477. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-352022.js +63 -0
  2478. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-352073.js +69 -0
  2479. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-352202.js +64 -0
  2480. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-352312.js +69 -0
  2481. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-352360.js +70 -0
  2482. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-352375.js +62 -0
  2483. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-352453.js +63 -0
  2484. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-352649.js +63 -0
  2485. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-352873-01.js +68 -0
  2486. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-352873-02.js +68 -0
  2487. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-353000.js +63 -0
  2488. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-353120.js +63 -0
  2489. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-353146.js +69 -0
  2490. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-354878.js +62 -0
  2491. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-354910.js +63 -0
  2492. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-355992.js +62 -0
  2493. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-356083.js +66 -0
  2494. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-356248.js +63 -0
  2495. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-371692.js +62 -0
  2496. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-373678.js +62 -0
  2497. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-375639.js +68 -0
  2498. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-375882.js +76 -0
  2499. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-376564.js +67 -0
  2500. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-383721.js +66 -0
  2501. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-406555.js +69 -0
  2502. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-437288-02.js +64 -0
  2503. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-443071-01.js +61 -0
  2504. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-456964-01.js +74 -0
  2505. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-457093-01.js +77 -0
  2506. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-457824.js +66 -0
  2507. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-460116-01.js +65 -0
  2508. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-460116-02.js +65 -0
  2509. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-460116-03.js +65 -0
  2510. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-460501.js +71 -0
  2511. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-460870.js +63 -0
  2512. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-461108.js +64 -0
  2513. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-461110.js +64 -0
  2514. data/vendor/tracemonkey/tests/js1_5/decompilation/regress-461111.js +64 -0
  2515. data/vendor/tracemonkey/tests/js1_5/decompilation/shell.js +2 -0
  2516. data/vendor/tracemonkey/tests/js1_5/extensions/catchguard-001-n.js +79 -0
  2517. data/vendor/tracemonkey/tests/js1_5/extensions/catchguard-001.js +83 -0
  2518. data/vendor/tracemonkey/tests/js1_5/extensions/catchguard-002.js +79 -0
  2519. data/vendor/tracemonkey/tests/js1_5/extensions/catchguard-003.js +94 -0
  2520. data/vendor/tracemonkey/tests/js1_5/extensions/getset-001.js +90 -0
  2521. data/vendor/tracemonkey/tests/js1_5/extensions/getset-003.js +211 -0
  2522. data/vendor/tracemonkey/tests/js1_5/extensions/getset-004.js +211 -0
  2523. data/vendor/tracemonkey/tests/js1_5/extensions/getset-005.js +220 -0
  2524. data/vendor/tracemonkey/tests/js1_5/extensions/getset-006.js +194 -0
  2525. data/vendor/tracemonkey/tests/js1_5/extensions/jstests.list +241 -0
  2526. data/vendor/tracemonkey/tests/js1_5/extensions/no-such-method.js +69 -0
  2527. data/vendor/tracemonkey/tests/js1_5/extensions/regress-104077.js +233 -0
  2528. data/vendor/tracemonkey/tests/js1_5/extensions/regress-164697.js +112 -0
  2529. data/vendor/tracemonkey/tests/js1_5/extensions/regress-178722.js +127 -0
  2530. data/vendor/tracemonkey/tests/js1_5/extensions/regress-192465.js +157 -0
  2531. data/vendor/tracemonkey/tests/js1_5/extensions/regress-220584.js +147 -0
  2532. data/vendor/tracemonkey/tests/js1_5/extensions/regress-225831.js +196 -0
  2533. data/vendor/tracemonkey/tests/js1_5/extensions/regress-226078.js +61 -0
  2534. data/vendor/tracemonkey/tests/js1_5/extensions/regress-226507.js +187 -0
  2535. data/vendor/tracemonkey/tests/js1_5/extensions/regress-231518.js +136 -0
  2536. data/vendor/tracemonkey/tests/js1_5/extensions/regress-237461.js +80 -0
  2537. data/vendor/tracemonkey/tests/js1_5/extensions/regress-245148.js +55 -0
  2538. data/vendor/tracemonkey/tests/js1_5/extensions/regress-245795.js +67 -0
  2539. data/vendor/tracemonkey/tests/js1_5/extensions/regress-254375.js +63 -0
  2540. data/vendor/tracemonkey/tests/js1_5/extensions/regress-255245.js +65 -0
  2541. data/vendor/tracemonkey/tests/js1_5/extensions/regress-291213.js +81 -0
  2542. data/vendor/tracemonkey/tests/js1_5/extensions/regress-300079.js +80 -0
  2543. data/vendor/tracemonkey/tests/js1_5/extensions/regress-303277.js +52 -0
  2544. data/vendor/tracemonkey/tests/js1_5/extensions/regress-304897.js +53 -0
  2545. data/vendor/tracemonkey/tests/js1_5/extensions/regress-306738.js +58 -0
  2546. data/vendor/tracemonkey/tests/js1_5/extensions/regress-311161.js +1471 -0
  2547. data/vendor/tracemonkey/tests/js1_5/extensions/regress-311583.js +54 -0
  2548. data/vendor/tracemonkey/tests/js1_5/extensions/regress-311792-01.js +59 -0
  2549. data/vendor/tracemonkey/tests/js1_5/extensions/regress-311792-02.js +73 -0
  2550. data/vendor/tracemonkey/tests/js1_5/extensions/regress-312278.js +75 -0
  2551. data/vendor/tracemonkey/tests/js1_5/extensions/regress-313500.js +62 -0
  2552. data/vendor/tracemonkey/tests/js1_5/extensions/regress-313630.js +71 -0
  2553. data/vendor/tracemonkey/tests/js1_5/extensions/regress-313763.js +79 -0
  2554. data/vendor/tracemonkey/tests/js1_5/extensions/regress-313803.js +57 -0
  2555. data/vendor/tracemonkey/tests/js1_5/extensions/regress-313938.js +87 -0
  2556. data/vendor/tracemonkey/tests/js1_5/extensions/regress-314874.js +73 -0
  2557. data/vendor/tracemonkey/tests/js1_5/extensions/regress-315509-02.js +75 -0
  2558. data/vendor/tracemonkey/tests/js1_5/extensions/regress-319683.js +64 -0
  2559. data/vendor/tracemonkey/tests/js1_5/extensions/regress-322957.js +60 -0
  2560. data/vendor/tracemonkey/tests/js1_5/extensions/regress-325269.js +93 -0
  2561. data/vendor/tracemonkey/tests/js1_5/extensions/regress-327608.js +81 -0
  2562. data/vendor/tracemonkey/tests/js1_5/extensions/regress-328443.js +65 -0
  2563. data/vendor/tracemonkey/tests/js1_5/extensions/regress-328556.js +52 -0
  2564. data/vendor/tracemonkey/tests/js1_5/extensions/regress-330569.js +129 -0
  2565. data/vendor/tracemonkey/tests/js1_5/extensions/regress-333541.js +123 -0
  2566. data/vendor/tracemonkey/tests/js1_5/extensions/regress-335700.js +127 -0
  2567. data/vendor/tracemonkey/tests/js1_5/extensions/regress-336409-1.js +82 -0
  2568. data/vendor/tracemonkey/tests/js1_5/extensions/regress-336409-2.js +82 -0
  2569. data/vendor/tracemonkey/tests/js1_5/extensions/regress-336410-1.js +82 -0
  2570. data/vendor/tracemonkey/tests/js1_5/extensions/regress-336410-2.js +82 -0
  2571. data/vendor/tracemonkey/tests/js1_5/extensions/regress-338804-01.js +102 -0
  2572. data/vendor/tracemonkey/tests/js1_5/extensions/regress-338804-02.js +103 -0
  2573. data/vendor/tracemonkey/tests/js1_5/extensions/regress-338804-03.js +62 -0
  2574. data/vendor/tracemonkey/tests/js1_5/extensions/regress-339685.js +60 -0
  2575. data/vendor/tracemonkey/tests/js1_5/extensions/regress-340199.js +82 -0
  2576. data/vendor/tracemonkey/tests/js1_5/extensions/regress-341956-01.js +101 -0
  2577. data/vendor/tracemonkey/tests/js1_5/extensions/regress-341956-02.js +88 -0
  2578. data/vendor/tracemonkey/tests/js1_5/extensions/regress-341956-03.js +105 -0
  2579. data/vendor/tracemonkey/tests/js1_5/extensions/regress-342960.js +87 -0
  2580. data/vendor/tracemonkey/tests/js1_5/extensions/regress-345967.js +100 -0
  2581. data/vendor/tracemonkey/tests/js1_5/extensions/regress-346494-01.js +123 -0
  2582. data/vendor/tracemonkey/tests/js1_5/extensions/regress-346494.js +141 -0
  2583. data/vendor/tracemonkey/tests/js1_5/extensions/regress-347306-02.js +84 -0
  2584. data/vendor/tracemonkey/tests/js1_5/extensions/regress-348986.js +161 -0
  2585. data/vendor/tracemonkey/tests/js1_5/extensions/regress-349616.js +69 -0
  2586. data/vendor/tracemonkey/tests/js1_5/extensions/regress-350312-01.js +83 -0
  2587. data/vendor/tracemonkey/tests/js1_5/extensions/regress-350312-02.js +145 -0
  2588. data/vendor/tracemonkey/tests/js1_5/extensions/regress-350312-03.js +149 -0
  2589. data/vendor/tracemonkey/tests/js1_5/extensions/regress-350531.js +188 -0
  2590. data/vendor/tracemonkey/tests/js1_5/extensions/regress-351102-01.js +72 -0
  2591. data/vendor/tracemonkey/tests/js1_5/extensions/regress-351102-02.js +78 -0
  2592. data/vendor/tracemonkey/tests/js1_5/extensions/regress-351102-06.js +67 -0
  2593. data/vendor/tracemonkey/tests/js1_5/extensions/regress-351448.js +96 -0
  2594. data/vendor/tracemonkey/tests/js1_5/extensions/regress-351463-01.js +287 -0
  2595. data/vendor/tracemonkey/tests/js1_5/extensions/regress-351973.js +84 -0
  2596. data/vendor/tracemonkey/tests/js1_5/extensions/regress-352060.js +80 -0
  2597. data/vendor/tracemonkey/tests/js1_5/extensions/regress-352094.js +79 -0
  2598. data/vendor/tracemonkey/tests/js1_5/extensions/regress-352261.js +81 -0
  2599. data/vendor/tracemonkey/tests/js1_5/extensions/regress-352281.js +67 -0
  2600. data/vendor/tracemonkey/tests/js1_5/extensions/regress-352291.js +74 -0
  2601. data/vendor/tracemonkey/tests/js1_5/extensions/regress-352372.js +98 -0
  2602. data/vendor/tracemonkey/tests/js1_5/extensions/regress-352455.js +67 -0
  2603. data/vendor/tracemonkey/tests/js1_5/extensions/regress-352604.js +66 -0
  2604. data/vendor/tracemonkey/tests/js1_5/extensions/regress-353214.js +62 -0
  2605. data/vendor/tracemonkey/tests/js1_5/extensions/regress-354297.js +63 -0
  2606. data/vendor/tracemonkey/tests/js1_5/extensions/regress-354541-01.js +68 -0
  2607. data/vendor/tracemonkey/tests/js1_5/extensions/regress-354541-02.js +77 -0
  2608. data/vendor/tracemonkey/tests/js1_5/extensions/regress-354541-03.js +89 -0
  2609. data/vendor/tracemonkey/tests/js1_5/extensions/regress-354541-04.js +94 -0
  2610. data/vendor/tracemonkey/tests/js1_5/extensions/regress-355339.js +65 -0
  2611. data/vendor/tracemonkey/tests/js1_5/extensions/regress-355497.js +94 -0
  2612. data/vendor/tracemonkey/tests/js1_5/extensions/regress-355622.js +67 -0
  2613. data/vendor/tracemonkey/tests/js1_5/extensions/regress-355655.js +78 -0
  2614. data/vendor/tracemonkey/tests/js1_5/extensions/regress-355736.js +72 -0
  2615. data/vendor/tracemonkey/tests/js1_5/extensions/regress-355820.js +64 -0
  2616. data/vendor/tracemonkey/tests/js1_5/extensions/regress-355982.js +76 -0
  2617. data/vendor/tracemonkey/tests/js1_5/extensions/regress-356085.js +62 -0
  2618. data/vendor/tracemonkey/tests/js1_5/extensions/regress-356106.js +61 -0
  2619. data/vendor/tracemonkey/tests/js1_5/extensions/regress-356378.js +69 -0
  2620. data/vendor/tracemonkey/tests/js1_5/extensions/regress-356402.js +56 -0
  2621. data/vendor/tracemonkey/tests/js1_5/extensions/regress-358594-01.js +65 -0
  2622. data/vendor/tracemonkey/tests/js1_5/extensions/regress-358594-02.js +54 -0
  2623. data/vendor/tracemonkey/tests/js1_5/extensions/regress-358594-03.js +64 -0
  2624. data/vendor/tracemonkey/tests/js1_5/extensions/regress-358594-04.js +54 -0
  2625. data/vendor/tracemonkey/tests/js1_5/extensions/regress-358594-05.js +65 -0
  2626. data/vendor/tracemonkey/tests/js1_5/extensions/regress-358594-06.js +54 -0
  2627. data/vendor/tracemonkey/tests/js1_5/extensions/regress-359024.js +69 -0
  2628. data/vendor/tracemonkey/tests/js1_5/extensions/regress-361346.js +55 -0
  2629. data/vendor/tracemonkey/tests/js1_5/extensions/regress-361360.js +65 -0
  2630. data/vendor/tracemonkey/tests/js1_5/extensions/regress-361552.js +60 -0
  2631. data/vendor/tracemonkey/tests/js1_5/extensions/regress-361558.js +52 -0
  2632. data/vendor/tracemonkey/tests/js1_5/extensions/regress-361571.js +71 -0
  2633. data/vendor/tracemonkey/tests/js1_5/extensions/regress-361856.js +68 -0
  2634. data/vendor/tracemonkey/tests/js1_5/extensions/regress-361964.js +81 -0
  2635. data/vendor/tracemonkey/tests/js1_5/extensions/regress-363258.js +80 -0
  2636. data/vendor/tracemonkey/tests/js1_5/extensions/regress-363988.js +82 -0
  2637. data/vendor/tracemonkey/tests/js1_5/extensions/regress-365527.js +99 -0
  2638. data/vendor/tracemonkey/tests/js1_5/extensions/regress-365692.js +73 -0
  2639. data/vendor/tracemonkey/tests/js1_5/extensions/regress-365869.js +115 -0
  2640. data/vendor/tracemonkey/tests/js1_5/extensions/regress-366288.js +51 -0
  2641. data/vendor/tracemonkey/tests/js1_5/extensions/regress-366292.js +52 -0
  2642. data/vendor/tracemonkey/tests/js1_5/extensions/regress-366396.js +50 -0
  2643. data/vendor/tracemonkey/tests/js1_5/extensions/regress-367118-01.js +74 -0
  2644. data/vendor/tracemonkey/tests/js1_5/extensions/regress-367118-02.js +74 -0
  2645. data/vendor/tracemonkey/tests/js1_5/extensions/regress-367119-01.js +74 -0
  2646. data/vendor/tracemonkey/tests/js1_5/extensions/regress-367119-02.js +74 -0
  2647. data/vendor/tracemonkey/tests/js1_5/extensions/regress-367120-01.js +74 -0
  2648. data/vendor/tracemonkey/tests/js1_5/extensions/regress-367120-02.js +74 -0
  2649. data/vendor/tracemonkey/tests/js1_5/extensions/regress-367121.js +97 -0
  2650. data/vendor/tracemonkey/tests/js1_5/extensions/regress-367501-01.js +68 -0
  2651. data/vendor/tracemonkey/tests/js1_5/extensions/regress-367501-02.js +70 -0
  2652. data/vendor/tracemonkey/tests/js1_5/extensions/regress-367501-03.js +71 -0
  2653. data/vendor/tracemonkey/tests/js1_5/extensions/regress-367501-04.js +71 -0
  2654. data/vendor/tracemonkey/tests/js1_5/extensions/regress-367589.js +81 -0
  2655. data/vendor/tracemonkey/tests/js1_5/extensions/regress-367630.js +77 -0
  2656. data/vendor/tracemonkey/tests/js1_5/extensions/regress-367923.js +83 -0
  2657. data/vendor/tracemonkey/tests/js1_5/extensions/regress-368859.js +70 -0
  2658. data/vendor/tracemonkey/tests/js1_5/extensions/regress-369404.js +81 -0
  2659. data/vendor/tracemonkey/tests/js1_5/extensions/regress-369696-01.js +64 -0
  2660. data/vendor/tracemonkey/tests/js1_5/extensions/regress-369696-02.js +72 -0
  2661. data/vendor/tracemonkey/tests/js1_5/extensions/regress-369696-03.js +80 -0
  2662. data/vendor/tracemonkey/tests/js1_5/extensions/regress-371636.js +88 -0
  2663. data/vendor/tracemonkey/tests/js1_5/extensions/regress-372309.js +80 -0
  2664. data/vendor/tracemonkey/tests/js1_5/extensions/regress-374589.js +67 -0
  2665. data/vendor/tracemonkey/tests/js1_5/extensions/regress-375183.js +95 -0
  2666. data/vendor/tracemonkey/tests/js1_5/extensions/regress-375344.js +67 -0
  2667. data/vendor/tracemonkey/tests/js1_5/extensions/regress-375801.js +69 -0
  2668. data/vendor/tracemonkey/tests/js1_5/extensions/regress-376052.js +104 -0
  2669. data/vendor/tracemonkey/tests/js1_5/extensions/regress-379523.js +71 -0
  2670. data/vendor/tracemonkey/tests/js1_5/extensions/regress-380581.js +70 -0
  2671. data/vendor/tracemonkey/tests/js1_5/extensions/regress-380831.js +81 -0
  2672. data/vendor/tracemonkey/tests/js1_5/extensions/regress-380889.js +73 -0
  2673. data/vendor/tracemonkey/tests/js1_5/extensions/regress-381205.js +52 -0
  2674. data/vendor/tracemonkey/tests/js1_5/extensions/regress-381211.js +62 -0
  2675. data/vendor/tracemonkey/tests/js1_5/extensions/regress-381304.js +113 -0
  2676. data/vendor/tracemonkey/tests/js1_5/extensions/regress-382509.js +118 -0
  2677. data/vendor/tracemonkey/tests/js1_5/extensions/regress-383965.js +57 -0
  2678. data/vendor/tracemonkey/tests/js1_5/extensions/regress-384680.js +67 -0
  2679. data/vendor/tracemonkey/tests/js1_5/extensions/regress-385134.js +67 -0
  2680. data/vendor/tracemonkey/tests/js1_5/extensions/regress-385393-02.js +67 -0
  2681. data/vendor/tracemonkey/tests/js1_5/extensions/regress-385393-09.js +51 -0
  2682. data/vendor/tracemonkey/tests/js1_5/extensions/regress-390597.js +75 -0
  2683. data/vendor/tracemonkey/tests/js1_5/extensions/regress-394967.js +75 -0
  2684. data/vendor/tracemonkey/tests/js1_5/extensions/regress-396326.js +81 -0
  2685. data/vendor/tracemonkey/tests/js1_5/extensions/regress-406572.js +77 -0
  2686. data/vendor/tracemonkey/tests/js1_5/extensions/regress-407019.js +70 -0
  2687. data/vendor/tracemonkey/tests/js1_5/extensions/regress-407501.js +74 -0
  2688. data/vendor/tracemonkey/tests/js1_5/extensions/regress-407720.js +84 -0
  2689. data/vendor/tracemonkey/tests/js1_5/extensions/regress-412926.js +90 -0
  2690. data/vendor/tracemonkey/tests/js1_5/extensions/regress-414755.js +86 -0
  2691. data/vendor/tracemonkey/tests/js1_5/extensions/regress-416354.js +80 -0
  2692. data/vendor/tracemonkey/tests/js1_5/extensions/regress-416460.js +63 -0
  2693. data/vendor/tracemonkey/tests/js1_5/extensions/regress-416834.js +53 -0
  2694. data/vendor/tracemonkey/tests/js1_5/extensions/regress-418730.js +65 -0
  2695. data/vendor/tracemonkey/tests/js1_5/extensions/regress-420612.js +61 -0
  2696. data/vendor/tracemonkey/tests/js1_5/extensions/regress-420869-01.js +73 -0
  2697. data/vendor/tracemonkey/tests/js1_5/extensions/regress-421621.js +54 -0
  2698. data/vendor/tracemonkey/tests/js1_5/extensions/regress-422137.js +67 -0
  2699. data/vendor/tracemonkey/tests/js1_5/extensions/regress-422592.js +103 -0
  2700. data/vendor/tracemonkey/tests/js1_5/extensions/regress-424257.js +69 -0
  2701. data/vendor/tracemonkey/tests/js1_5/extensions/regress-424683-01.js +69 -0
  2702. data/vendor/tracemonkey/tests/js1_5/extensions/regress-426711.js +67 -0
  2703. data/vendor/tracemonkey/tests/js1_5/extensions/regress-427196-01.js +73 -0
  2704. data/vendor/tracemonkey/tests/js1_5/extensions/regress-427196-02.js +70 -0
  2705. data/vendor/tracemonkey/tests/js1_5/extensions/regress-427196-03.js +64 -0
  2706. data/vendor/tracemonkey/tests/js1_5/extensions/regress-429264.js +65 -0
  2707. data/vendor/tracemonkey/tests/js1_5/extensions/regress-431428.js +70 -0
  2708. data/vendor/tracemonkey/tests/js1_5/extensions/regress-432075.js +57 -0
  2709. data/vendor/tracemonkey/tests/js1_5/extensions/regress-434837-01.js +123 -0
  2710. data/vendor/tracemonkey/tests/js1_5/extensions/regress-435345-01.js +132 -0
  2711. data/vendor/tracemonkey/tests/js1_5/extensions/regress-435497-01.js +68 -0
  2712. data/vendor/tracemonkey/tests/js1_5/extensions/regress-435497-02.js +68 -0
  2713. data/vendor/tracemonkey/tests/js1_5/extensions/regress-435497-03.js +68 -0
  2714. data/vendor/tracemonkey/tests/js1_5/extensions/regress-436741.js +68 -0
  2715. data/vendor/tracemonkey/tests/js1_5/extensions/regress-437288-01.js +61 -0
  2716. data/vendor/tracemonkey/tests/js1_5/extensions/regress-44009.js +86 -0
  2717. data/vendor/tracemonkey/tests/js1_5/extensions/regress-443569.js +74 -0
  2718. data/vendor/tracemonkey/tests/js1_5/extensions/regress-446386.js +80 -0
  2719. data/vendor/tracemonkey/tests/js1_5/extensions/regress-449657.js +92 -0
  2720. data/vendor/tracemonkey/tests/js1_5/extensions/regress-452168.js +72 -0
  2721. data/vendor/tracemonkey/tests/js1_5/extensions/regress-452178.js +64 -0
  2722. data/vendor/tracemonkey/tests/js1_5/extensions/regress-452329.js +60 -0
  2723. data/vendor/tracemonkey/tests/js1_5/extensions/regress-452338.js +64 -0
  2724. data/vendor/tracemonkey/tests/js1_5/extensions/regress-452372.js +64 -0
  2725. data/vendor/tracemonkey/tests/js1_5/extensions/regress-452565.js +54 -0
  2726. data/vendor/tracemonkey/tests/js1_5/extensions/regress-453249.js +56 -0
  2727. data/vendor/tracemonkey/tests/js1_5/extensions/regress-454040.js +59 -0
  2728. data/vendor/tracemonkey/tests/js1_5/extensions/regress-454142.js +62 -0
  2729. data/vendor/tracemonkey/tests/js1_5/extensions/regress-454704.js +88 -0
  2730. data/vendor/tracemonkey/tests/js1_5/extensions/regress-455380.js +93 -0
  2731. data/vendor/tracemonkey/tests/js1_5/extensions/regress-455408.js +64 -0
  2732. data/vendor/tracemonkey/tests/js1_5/extensions/regress-455413.js +59 -0
  2733. data/vendor/tracemonkey/tests/js1_5/extensions/regress-459606.js +62 -0
  2734. data/vendor/tracemonkey/tests/js1_5/extensions/regress-462734-02.js +64 -0
  2735. data/vendor/tracemonkey/tests/js1_5/extensions/regress-462734-03.js +63 -0
  2736. data/vendor/tracemonkey/tests/js1_5/extensions/regress-462734-04.js +66 -0
  2737. data/vendor/tracemonkey/tests/js1_5/extensions/regress-465276.js +69 -0
  2738. data/vendor/tracemonkey/tests/js1_5/extensions/regress-469625.js +67 -0
  2739. data/vendor/tracemonkey/tests/js1_5/extensions/regress-469761.js +66 -0
  2740. data/vendor/tracemonkey/tests/js1_5/extensions/regress-472599.js +67 -0
  2741. data/vendor/tracemonkey/tests/js1_5/extensions/regress-472787.js +63 -0
  2742. data/vendor/tracemonkey/tests/js1_5/extensions/regress-476447.js +66 -0
  2743. data/vendor/tracemonkey/tests/js1_5/extensions/regress-479487.js +79 -0
  2744. data/vendor/tracemonkey/tests/js1_5/extensions/regress-479551.js +77 -0
  2745. data/vendor/tracemonkey/tests/js1_5/extensions/regress-480579.js +69 -0
  2746. data/vendor/tracemonkey/tests/js1_5/extensions/regress-481516.js +72 -0
  2747. data/vendor/tracemonkey/tests/js1_5/extensions/regress-488995.js +79 -0
  2748. data/vendor/tracemonkey/tests/js1_5/extensions/regress-50447-1.js +210 -0
  2749. data/vendor/tracemonkey/tests/js1_5/extensions/regress-50447.js +169 -0
  2750. data/vendor/tracemonkey/tests/js1_5/extensions/regress-90596-001.js +299 -0
  2751. data/vendor/tracemonkey/tests/js1_5/extensions/regress-90596-002.js +299 -0
  2752. data/vendor/tracemonkey/tests/js1_5/extensions/regress-96284-001.js +182 -0
  2753. data/vendor/tracemonkey/tests/js1_5/extensions/regress-96284-002.js +182 -0
  2754. data/vendor/tracemonkey/tests/js1_5/extensions/scope-001.js +117 -0
  2755. data/vendor/tracemonkey/tests/js1_5/extensions/shell.js +1 -0
  2756. data/vendor/tracemonkey/tests/js1_5/extensions/toLocaleFormat-01.js +271 -0
  2757. data/vendor/tracemonkey/tests/js1_5/extensions/toLocaleFormat-02.js +138 -0
  2758. data/vendor/tracemonkey/tests/js1_5/jstests.list +15 -0
  2759. data/vendor/tracemonkey/tests/js1_5/shell.js +41 -0
  2760. data/vendor/tracemonkey/tests/js1_5/template.js +59 -0
  2761. data/vendor/tracemonkey/tests/js1_6/Array/filter.js +86 -0
  2762. data/vendor/tracemonkey/tests/js1_6/Array/jstests.list +13 -0
  2763. data/vendor/tracemonkey/tests/js1_6/Array/regress-290592.js +695 -0
  2764. data/vendor/tracemonkey/tests/js1_6/Array/regress-304828.js +272 -0
  2765. data/vendor/tracemonkey/tests/js1_6/Array/regress-305002.js +58 -0
  2766. data/vendor/tracemonkey/tests/js1_6/Array/regress-310425-01.js +60 -0
  2767. data/vendor/tracemonkey/tests/js1_6/Array/regress-310425-02.js +50 -0
  2768. data/vendor/tracemonkey/tests/js1_6/Array/regress-320887.js +57 -0
  2769. data/vendor/tracemonkey/tests/js1_6/Array/regress-352742-01.js +73 -0
  2770. data/vendor/tracemonkey/tests/js1_6/Array/regress-352742-02.js +65 -0
  2771. data/vendor/tracemonkey/tests/js1_6/Array/regress-386030.js +98 -0
  2772. data/vendor/tracemonkey/tests/js1_6/Array/regress-415451.js +57 -0
  2773. data/vendor/tracemonkey/tests/js1_6/Array/regress-415540.js +54 -0
  2774. data/vendor/tracemonkey/tests/js1_6/Array/shell.js +1 -0
  2775. data/vendor/tracemonkey/tests/js1_6/README +1 -0
  2776. data/vendor/tracemonkey/tests/js1_6/Regress/jstests.list +16 -0
  2777. data/vendor/tracemonkey/tests/js1_6/Regress/regress-301574.js +69 -0
  2778. data/vendor/tracemonkey/tests/js1_6/Regress/regress-311157-01.js +57 -0
  2779. data/vendor/tracemonkey/tests/js1_6/Regress/regress-311157-02.js +57 -0
  2780. data/vendor/tracemonkey/tests/js1_6/Regress/regress-314887.js +53 -0
  2781. data/vendor/tracemonkey/tests/js1_6/Regress/regress-320172.js +58 -0
  2782. data/vendor/tracemonkey/tests/js1_6/Regress/regress-350417.js +69 -0
  2783. data/vendor/tracemonkey/tests/js1_6/Regress/regress-351795.js +69 -0
  2784. data/vendor/tracemonkey/tests/js1_6/Regress/regress-352271.js +67 -0
  2785. data/vendor/tracemonkey/tests/js1_6/Regress/regress-353078.js +65 -0
  2786. data/vendor/tracemonkey/tests/js1_6/Regress/regress-355002.js +70 -0
  2787. data/vendor/tracemonkey/tests/js1_6/Regress/regress-372565.js +61 -0
  2788. data/vendor/tracemonkey/tests/js1_6/Regress/regress-378492.js +65 -0
  2789. data/vendor/tracemonkey/tests/js1_6/Regress/regress-382509.js +78 -0
  2790. data/vendor/tracemonkey/tests/js1_6/Regress/regress-475469.js +68 -0
  2791. data/vendor/tracemonkey/tests/js1_6/Regress/regress-476655.js +75 -0
  2792. data/vendor/tracemonkey/tests/js1_6/Regress/shell.js +1 -0
  2793. data/vendor/tracemonkey/tests/js1_6/String/jstests.list +2 -0
  2794. data/vendor/tracemonkey/tests/js1_6/String/regress-306591.js +99 -0
  2795. data/vendor/tracemonkey/tests/js1_6/String/shell.js +1 -0
  2796. data/vendor/tracemonkey/tests/js1_6/browser.js +36 -0
  2797. data/vendor/tracemonkey/tests/js1_6/decompilation/jstests.list +4 -0
  2798. data/vendor/tracemonkey/tests/js1_6/decompilation/regress-352084.js +79 -0
  2799. data/vendor/tracemonkey/tests/js1_6/decompilation/regress-352613-01.js +73 -0
  2800. data/vendor/tracemonkey/tests/js1_6/decompilation/regress-352613-02.js +73 -0
  2801. data/vendor/tracemonkey/tests/js1_6/decompilation/shell.js +1 -0
  2802. data/vendor/tracemonkey/tests/js1_6/extensions/jstests.list +15 -0
  2803. data/vendor/tracemonkey/tests/js1_6/extensions/regress-312385-01.js +155 -0
  2804. data/vendor/tracemonkey/tests/js1_6/extensions/regress-352392.js +71 -0
  2805. data/vendor/tracemonkey/tests/js1_6/extensions/regress-385393-08.js +58 -0
  2806. data/vendor/tracemonkey/tests/js1_6/extensions/regress-414098.js +72 -0
  2807. data/vendor/tracemonkey/tests/js1_6/extensions/regress-455464-01.js +54 -0
  2808. data/vendor/tracemonkey/tests/js1_6/extensions/regress-455464-02.js +64 -0
  2809. data/vendor/tracemonkey/tests/js1_6/extensions/regress-455464-03.js +66 -0
  2810. data/vendor/tracemonkey/tests/js1_6/extensions/regress-455464-04.js +63 -0
  2811. data/vendor/tracemonkey/tests/js1_6/extensions/regress-456826.js +159 -0
  2812. data/vendor/tracemonkey/tests/js1_6/extensions/regress-457521.js +57 -0
  2813. data/vendor/tracemonkey/tests/js1_6/extensions/regress-465443.js +74 -0
  2814. data/vendor/tracemonkey/tests/js1_6/extensions/regress-470310.js +66 -0
  2815. data/vendor/tracemonkey/tests/js1_6/extensions/regress-472508.js +59 -0
  2816. data/vendor/tracemonkey/tests/js1_6/extensions/regress-475144.js +58 -0
  2817. data/vendor/tracemonkey/tests/js1_6/extensions/shell.js +1 -0
  2818. data/vendor/tracemonkey/tests/js1_6/jstests.list +5 -0
  2819. data/vendor/tracemonkey/tests/js1_6/shell.js +47 -0
  2820. data/vendor/tracemonkey/tests/js1_6/template.js +59 -0
  2821. data/vendor/tracemonkey/tests/js1_7/GC/jstests.list +3 -0
  2822. data/vendor/tracemonkey/tests/js1_7/GC/regress-341675.js +68 -0
  2823. data/vendor/tracemonkey/tests/js1_7/GC/regress-381374.js +92 -0
  2824. data/vendor/tracemonkey/tests/js1_7/GC/shell.js +1 -0
  2825. data/vendor/tracemonkey/tests/js1_7/README +1 -0
  2826. data/vendor/tracemonkey/tests/js1_7/block/jstests.list +37 -0
  2827. data/vendor/tracemonkey/tests/js1_7/block/order-of-operation.js +185 -0
  2828. data/vendor/tracemonkey/tests/js1_7/block/regress-341939.js +58 -0
  2829. data/vendor/tracemonkey/tests/js1_7/block/regress-343765.js +129 -0
  2830. data/vendor/tracemonkey/tests/js1_7/block/regress-344139.js +125 -0
  2831. data/vendor/tracemonkey/tests/js1_7/block/regress-344262.js +73 -0
  2832. data/vendor/tracemonkey/tests/js1_7/block/regress-344370.js +61 -0
  2833. data/vendor/tracemonkey/tests/js1_7/block/regress-344601.js +70 -0
  2834. data/vendor/tracemonkey/tests/js1_7/block/regress-345542.js +63 -0
  2835. data/vendor/tracemonkey/tests/js1_7/block/regress-347559.js +110 -0
  2836. data/vendor/tracemonkey/tests/js1_7/block/regress-348685.js +80 -0
  2837. data/vendor/tracemonkey/tests/js1_7/block/regress-349283.js +63 -0
  2838. data/vendor/tracemonkey/tests/js1_7/block/regress-349298.js +71 -0
  2839. data/vendor/tracemonkey/tests/js1_7/block/regress-349507.js +69 -0
  2840. data/vendor/tracemonkey/tests/js1_7/block/regress-349653.js +63 -0
  2841. data/vendor/tracemonkey/tests/js1_7/block/regress-349962.js +60 -0
  2842. data/vendor/tracemonkey/tests/js1_7/block/regress-350279.js +69 -0
  2843. data/vendor/tracemonkey/tests/js1_7/block/regress-350730.js +71 -0
  2844. data/vendor/tracemonkey/tests/js1_7/block/regress-350793-01.js +72 -0
  2845. data/vendor/tracemonkey/tests/js1_7/block/regress-351497.js +69 -0
  2846. data/vendor/tracemonkey/tests/js1_7/block/regress-351606.js +53 -0
  2847. data/vendor/tracemonkey/tests/js1_7/block/regress-351794.js +67 -0
  2848. data/vendor/tracemonkey/tests/js1_7/block/regress-352092.js +71 -0
  2849. data/vendor/tracemonkey/tests/js1_7/block/regress-352185.js +71 -0
  2850. data/vendor/tracemonkey/tests/js1_7/block/regress-352212.js +70 -0
  2851. data/vendor/tracemonkey/tests/js1_7/block/regress-352267.js +61 -0
  2852. data/vendor/tracemonkey/tests/js1_7/block/regress-352422.js +70 -0
  2853. data/vendor/tracemonkey/tests/js1_7/block/regress-352609.js +90 -0
  2854. data/vendor/tracemonkey/tests/js1_7/block/regress-352616.js +95 -0
  2855. data/vendor/tracemonkey/tests/js1_7/block/regress-352624.js +71 -0
  2856. data/vendor/tracemonkey/tests/js1_7/block/regress-352786.js +70 -0
  2857. data/vendor/tracemonkey/tests/js1_7/block/regress-352907.js +70 -0
  2858. data/vendor/tracemonkey/tests/js1_7/block/regress-357754.js +96 -0
  2859. data/vendor/tracemonkey/tests/js1_7/block/regress-358508.js +70 -0
  2860. data/vendor/tracemonkey/tests/js1_7/block/regress-376410.js +70 -0
  2861. data/vendor/tracemonkey/tests/js1_7/block/regress-396900.js +64 -0
  2862. data/vendor/tracemonkey/tests/js1_7/block/regress-411279.js +98 -0
  2863. data/vendor/tracemonkey/tests/js1_7/block/shell.js +1 -0
  2864. data/vendor/tracemonkey/tests/js1_7/browser.js +36 -0
  2865. data/vendor/tracemonkey/tests/js1_7/decompilation/jstests.list +52 -0
  2866. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-346642-01.js +200 -0
  2867. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-348904.js +67 -0
  2868. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-349493.js +64 -0
  2869. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-349499.js +64 -0
  2870. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-349602.js +69 -0
  2871. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-349605.js +69 -0
  2872. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-349633.js +69 -0
  2873. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-349634.js +64 -0
  2874. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-350704.js +65 -0
  2875. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-350793-02.js +68 -0
  2876. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-350810.js +62 -0
  2877. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-350991.js +87 -0
  2878. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-351070-01.js +102 -0
  2879. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-351070-03.js +173 -0
  2880. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-351496.js +68 -0
  2881. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-352008.js +66 -0
  2882. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-352011.js +75 -0
  2883. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-352015.js +69 -0
  2884. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-352022.js +69 -0
  2885. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-352025.js +63 -0
  2886. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-352026.js +79 -0
  2887. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-352068.js +64 -0
  2888. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-352079.js +79 -0
  2889. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-352198.js +64 -0
  2890. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-352217.js +77 -0
  2891. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-352266.js +80 -0
  2892. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-352268.js +77 -0
  2893. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-352269.js +63 -0
  2894. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-352272.js +63 -0
  2895. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-352283.js +63 -0
  2896. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-352402.js +62 -0
  2897. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-352415.js +62 -0
  2898. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-352441.js +64 -0
  2899. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-352732.js +93 -0
  2900. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-355004.js +62 -0
  2901. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-355049-01.js +62 -0
  2902. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-355049-02.js +62 -0
  2903. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-355105.js +62 -0
  2904. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-355635.js +62 -0
  2905. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-355786.js +63 -0
  2906. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-356247.js +103 -0
  2907. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-371802.js +63 -0
  2908. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-374713.js +63 -0
  2909. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-375794.js +63 -0
  2910. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-379925.js +63 -0
  2911. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-380506.js +68 -0
  2912. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-381101.js +63 -0
  2913. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-381108.js +64 -0
  2914. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-410571.js +159 -0
  2915. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-410649.js +62 -0
  2916. data/vendor/tracemonkey/tests/js1_7/decompilation/regress-429252.js +70 -0
  2917. data/vendor/tracemonkey/tests/js1_7/decompilation/shell.js +1 -0
  2918. data/vendor/tracemonkey/tests/js1_7/expressions/destructuring-scope.js +96 -0
  2919. data/vendor/tracemonkey/tests/js1_7/expressions/jstests.list +11 -0
  2920. data/vendor/tracemonkey/tests/js1_7/expressions/regress-346203.js +61 -0
  2921. data/vendor/tracemonkey/tests/js1_7/expressions/regress-346645-01.js +68 -0
  2922. data/vendor/tracemonkey/tests/js1_7/expressions/regress-346645-02.js +68 -0
  2923. data/vendor/tracemonkey/tests/js1_7/expressions/regress-346645-03.js +68 -0
  2924. data/vendor/tracemonkey/tests/js1_7/expressions/regress-349624.js +61 -0
  2925. data/vendor/tracemonkey/tests/js1_7/expressions/regress-349818.js +61 -0
  2926. data/vendor/tracemonkey/tests/js1_7/expressions/regress-418051.js +67 -0
  2927. data/vendor/tracemonkey/tests/js1_7/expressions/regress-421806.js +74 -0
  2928. data/vendor/tracemonkey/tests/js1_7/expressions/regress-451340.js +60 -0
  2929. data/vendor/tracemonkey/tests/js1_7/expressions/shell.js +1 -0
  2930. data/vendor/tracemonkey/tests/js1_7/extensions/basic-Iterator.js +198 -0
  2931. data/vendor/tracemonkey/tests/js1_7/extensions/basic-for-each.js +123 -0
  2932. data/vendor/tracemonkey/tests/js1_7/extensions/basic-for-in.js +111 -0
  2933. data/vendor/tracemonkey/tests/js1_7/extensions/destructuring-order.js +185 -0
  2934. data/vendor/tracemonkey/tests/js1_7/extensions/iterator-ctor.js +136 -0
  2935. data/vendor/tracemonkey/tests/js1_7/extensions/jstests.list +65 -0
  2936. data/vendor/tracemonkey/tests/js1_7/extensions/regress-346021.js +78 -0
  2937. data/vendor/tracemonkey/tests/js1_7/extensions/regress-346642-02.js +68 -0
  2938. data/vendor/tracemonkey/tests/js1_7/extensions/regress-346642-06.js +109 -0
  2939. data/vendor/tracemonkey/tests/js1_7/extensions/regress-346773.js +85 -0
  2940. data/vendor/tracemonkey/tests/js1_7/extensions/regress-349619.js +61 -0
  2941. data/vendor/tracemonkey/tests/js1_7/extensions/regress-350312.js +113 -0
  2942. data/vendor/tracemonkey/tests/js1_7/extensions/regress-351070-02.js +102 -0
  2943. data/vendor/tracemonkey/tests/js1_7/extensions/regress-351102-03.js +77 -0
  2944. data/vendor/tracemonkey/tests/js1_7/extensions/regress-351102-04.js +67 -0
  2945. data/vendor/tracemonkey/tests/js1_7/extensions/regress-351102-05.js +67 -0
  2946. data/vendor/tracemonkey/tests/js1_7/extensions/regress-351102-07.js +76 -0
  2947. data/vendor/tracemonkey/tests/js1_7/extensions/regress-352797-01.js +68 -0
  2948. data/vendor/tracemonkey/tests/js1_7/extensions/regress-352885-01.js +62 -0
  2949. data/vendor/tracemonkey/tests/js1_7/extensions/regress-352885-02.js +99 -0
  2950. data/vendor/tracemonkey/tests/js1_7/extensions/regress-353214-01.js +79 -0
  2951. data/vendor/tracemonkey/tests/js1_7/extensions/regress-353214-02.js +63 -0
  2952. data/vendor/tracemonkey/tests/js1_7/extensions/regress-353249.js +67 -0
  2953. data/vendor/tracemonkey/tests/js1_7/extensions/regress-353454.js +70 -0
  2954. data/vendor/tracemonkey/tests/js1_7/extensions/regress-354499-01.js +79 -0
  2955. data/vendor/tracemonkey/tests/js1_7/extensions/regress-354499-02.js +82 -0
  2956. data/vendor/tracemonkey/tests/js1_7/extensions/regress-354945-01.js +63 -0
  2957. data/vendor/tracemonkey/tests/js1_7/extensions/regress-354945-02.js +71 -0
  2958. data/vendor/tracemonkey/tests/js1_7/extensions/regress-355052-01.js +70 -0
  2959. data/vendor/tracemonkey/tests/js1_7/extensions/regress-355052-02.js +70 -0
  2960. data/vendor/tracemonkey/tests/js1_7/extensions/regress-355052-03.js +76 -0
  2961. data/vendor/tracemonkey/tests/js1_7/extensions/regress-355145.js +66 -0
  2962. data/vendor/tracemonkey/tests/js1_7/extensions/regress-355410.js +73 -0
  2963. data/vendor/tracemonkey/tests/js1_7/extensions/regress-355512.js +71 -0
  2964. data/vendor/tracemonkey/tests/js1_7/extensions/regress-355578.js +78 -0
  2965. data/vendor/tracemonkey/tests/js1_7/extensions/regress-355583.js +72 -0
  2966. data/vendor/tracemonkey/tests/js1_7/extensions/regress-363040-01.js +98 -0
  2967. data/vendor/tracemonkey/tests/js1_7/extensions/regress-363040-02.js +97 -0
  2968. data/vendor/tracemonkey/tests/js1_7/extensions/regress-366668-01.js +64 -0
  2969. data/vendor/tracemonkey/tests/js1_7/extensions/regress-366668-02.js +64 -0
  2970. data/vendor/tracemonkey/tests/js1_7/extensions/regress-367629.js +66 -0
  2971. data/vendor/tracemonkey/tests/js1_7/extensions/regress-368213.js +50 -0
  2972. data/vendor/tracemonkey/tests/js1_7/extensions/regress-368224.js +61 -0
  2973. data/vendor/tracemonkey/tests/js1_7/extensions/regress-372364.js +69 -0
  2974. data/vendor/tracemonkey/tests/js1_7/extensions/regress-379482.js +64 -0
  2975. data/vendor/tracemonkey/tests/js1_7/extensions/regress-379566.js +78 -0
  2976. data/vendor/tracemonkey/tests/js1_7/extensions/regress-380933.js +75 -0
  2977. data/vendor/tracemonkey/tests/js1_7/extensions/regress-381301.js +63 -0
  2978. data/vendor/tracemonkey/tests/js1_7/extensions/regress-381303.js +68 -0
  2979. data/vendor/tracemonkey/tests/js1_7/extensions/regress-387955-01.js +73 -0
  2980. data/vendor/tracemonkey/tests/js1_7/extensions/regress-387955-02.js +75 -0
  2981. data/vendor/tracemonkey/tests/js1_7/extensions/regress-392308.js +80 -0
  2982. data/vendor/tracemonkey/tests/js1_7/extensions/regress-396326.js +70 -0
  2983. data/vendor/tracemonkey/tests/js1_7/extensions/regress-429266.js +73 -0
  2984. data/vendor/tracemonkey/tests/js1_7/extensions/regress-453955.js +64 -0
  2985. data/vendor/tracemonkey/tests/js1_7/extensions/regress-455982-01.js +59 -0
  2986. data/vendor/tracemonkey/tests/js1_7/extensions/regress-455982-02.js +59 -0
  2987. data/vendor/tracemonkey/tests/js1_7/extensions/regress-458679.js +85 -0
  2988. data/vendor/tracemonkey/tests/js1_7/extensions/regress-469234.js +65 -0
  2989. data/vendor/tracemonkey/tests/js1_7/extensions/regress-470176.js +71 -0
  2990. data/vendor/tracemonkey/tests/js1_7/extensions/regress-470300-01.js +65 -0
  2991. data/vendor/tracemonkey/tests/js1_7/extensions/regress-470300-02.js +65 -0
  2992. data/vendor/tracemonkey/tests/js1_7/extensions/regress-474771-01.js +67 -0
  2993. data/vendor/tracemonkey/tests/js1_7/extensions/regress-474771-02.js +55 -0
  2994. data/vendor/tracemonkey/tests/js1_7/extensions/regress-477048.js +67 -0
  2995. data/vendor/tracemonkey/tests/js1_7/extensions/shell.js +1 -0
  2996. data/vendor/tracemonkey/tests/js1_7/geniter/326466-01.js +78 -0
  2997. data/vendor/tracemonkey/tests/js1_7/geniter/builtin-Iterator-function.js +122 -0
  2998. data/vendor/tracemonkey/tests/js1_7/geniter/evens.js +58 -0
  2999. data/vendor/tracemonkey/tests/js1_7/geniter/fibonacci-matrix-generator.js +97 -0
  3000. data/vendor/tracemonkey/tests/js1_7/geniter/iterator-toString.js +76 -0
  3001. data/vendor/tracemonkey/tests/js1_7/geniter/jstests.list +49 -0
  3002. data/vendor/tracemonkey/tests/js1_7/geniter/message-value-passing.js +121 -0
  3003. data/vendor/tracemonkey/tests/js1_7/geniter/multiple-close.js +98 -0
  3004. data/vendor/tracemonkey/tests/js1_7/geniter/nested-yield.js +91 -0
  3005. data/vendor/tracemonkey/tests/js1_7/geniter/pi-generator.js +92 -0
  3006. data/vendor/tracemonkey/tests/js1_7/geniter/regress-345736.js +80 -0
  3007. data/vendor/tracemonkey/tests/js1_7/geniter/regress-345855.js +126 -0
  3008. data/vendor/tracemonkey/tests/js1_7/geniter/regress-345879-01.js +66 -0
  3009. data/vendor/tracemonkey/tests/js1_7/geniter/regress-345879-02.js +67 -0
  3010. data/vendor/tracemonkey/tests/js1_7/geniter/regress-347593.js +88 -0
  3011. data/vendor/tracemonkey/tests/js1_7/geniter/regress-347739.js +81 -0
  3012. data/vendor/tracemonkey/tests/js1_7/geniter/regress-349012-01.js +84 -0
  3013. data/vendor/tracemonkey/tests/js1_7/geniter/regress-349012-02.js +94 -0
  3014. data/vendor/tracemonkey/tests/js1_7/geniter/regress-349012-03.js +75 -0
  3015. data/vendor/tracemonkey/tests/js1_7/geniter/regress-349012-04.js +75 -0
  3016. data/vendor/tracemonkey/tests/js1_7/geniter/regress-349012-05.js +77 -0
  3017. data/vendor/tracemonkey/tests/js1_7/geniter/regress-349023-01.js +75 -0
  3018. data/vendor/tracemonkey/tests/js1_7/geniter/regress-349023-02.js +62 -0
  3019. data/vendor/tracemonkey/tests/js1_7/geniter/regress-349023-03.js +62 -0
  3020. data/vendor/tracemonkey/tests/js1_7/geniter/regress-349331.js +127 -0
  3021. data/vendor/tracemonkey/tests/js1_7/geniter/regress-349362.js +62 -0
  3022. data/vendor/tracemonkey/tests/js1_7/geniter/regress-349851.js +69 -0
  3023. data/vendor/tracemonkey/tests/js1_7/geniter/regress-350621.js +96 -0
  3024. data/vendor/tracemonkey/tests/js1_7/geniter/regress-350809.js +69 -0
  3025. data/vendor/tracemonkey/tests/js1_7/geniter/regress-351120.js +69 -0
  3026. data/vendor/tracemonkey/tests/js1_7/geniter/regress-351514.js +69 -0
  3027. data/vendor/tracemonkey/tests/js1_7/geniter/regress-352197.js +69 -0
  3028. data/vendor/tracemonkey/tests/js1_7/geniter/regress-352605.js +68 -0
  3029. data/vendor/tracemonkey/tests/js1_7/geniter/regress-352876.js +75 -0
  3030. data/vendor/tracemonkey/tests/js1_7/geniter/regress-355834.js +63 -0
  3031. data/vendor/tracemonkey/tests/js1_7/geniter/regress-359062.js +74 -0
  3032. data/vendor/tracemonkey/tests/js1_7/geniter/regress-366941.js +114 -0
  3033. data/vendor/tracemonkey/tests/js1_7/geniter/regress-382335.js +69 -0
  3034. data/vendor/tracemonkey/tests/js1_7/geniter/regress-387871.js +75 -0
  3035. data/vendor/tracemonkey/tests/js1_7/geniter/regress-390918.js +80 -0
  3036. data/vendor/tracemonkey/tests/js1_7/geniter/regress-392310.js +82 -0
  3037. data/vendor/tracemonkey/tests/js1_7/geniter/regress-466206.js +71 -0
  3038. data/vendor/tracemonkey/tests/js1_7/geniter/send-no-rhs.js +90 -0
  3039. data/vendor/tracemonkey/tests/js1_7/geniter/sequential-yields.js +105 -0
  3040. data/vendor/tracemonkey/tests/js1_7/geniter/shell.js +1 -0
  3041. data/vendor/tracemonkey/tests/js1_7/geniter/simple-fib.js +88 -0
  3042. data/vendor/tracemonkey/tests/js1_7/geniter/throw-after-close.js +123 -0
  3043. data/vendor/tracemonkey/tests/js1_7/geniter/throw-forever.js +118 -0
  3044. data/vendor/tracemonkey/tests/js1_7/geniter/unreachable-yield.js +90 -0
  3045. data/vendor/tracemonkey/tests/js1_7/geniter/yield-undefined.js +96 -0
  3046. data/vendor/tracemonkey/tests/js1_7/iterable/jstests.list +15 -0
  3047. data/vendor/tracemonkey/tests/js1_7/iterable/regress-340526-01.js +61 -0
  3048. data/vendor/tracemonkey/tests/js1_7/iterable/regress-340526-02.js +75 -0
  3049. data/vendor/tracemonkey/tests/js1_7/iterable/regress-341496.js +52 -0
  3050. data/vendor/tracemonkey/tests/js1_7/iterable/regress-341499.js +66 -0
  3051. data/vendor/tracemonkey/tests/js1_7/iterable/regress-341510.js +62 -0
  3052. data/vendor/tracemonkey/tests/js1_7/iterable/regress-341815.js +126 -0
  3053. data/vendor/tracemonkey/tests/js1_7/iterable/regress-341821.js +115 -0
  3054. data/vendor/tracemonkey/tests/js1_7/iterable/regress-354750-01.js +75 -0
  3055. data/vendor/tracemonkey/tests/js1_7/iterable/regress-355025.js +61 -0
  3056. data/vendor/tracemonkey/tests/js1_7/iterable/regress-355075-01.js +71 -0
  3057. data/vendor/tracemonkey/tests/js1_7/iterable/regress-355075-02.js +71 -0
  3058. data/vendor/tracemonkey/tests/js1_7/iterable/regress-355090.js +70 -0
  3059. data/vendor/tracemonkey/tests/js1_7/iterable/regress-412467.js +69 -0
  3060. data/vendor/tracemonkey/tests/js1_7/iterable/regress-415922.js +82 -0
  3061. data/vendor/tracemonkey/tests/js1_7/iterable/shell.js +1 -0
  3062. data/vendor/tracemonkey/tests/js1_7/jstests.list +10 -0
  3063. data/vendor/tracemonkey/tests/js1_7/lexical/jstests.list +5 -0
  3064. data/vendor/tracemonkey/tests/js1_7/lexical/regress-336376-01.js +441 -0
  3065. data/vendor/tracemonkey/tests/js1_7/lexical/regress-346642-03.js +169 -0
  3066. data/vendor/tracemonkey/tests/js1_7/lexical/regress-346642-04.js +70 -0
  3067. data/vendor/tracemonkey/tests/js1_7/lexical/regress-351515.js +130 -0
  3068. data/vendor/tracemonkey/tests/js1_7/lexical/shell.js +1 -0
  3069. data/vendor/tracemonkey/tests/js1_7/regexp/jstests.list +2 -0
  3070. data/vendor/tracemonkey/tests/js1_7/regexp/shell.js +1 -0
  3071. data/vendor/tracemonkey/tests/js1_7/regexp/yflag.js +111 -0
  3072. data/vendor/tracemonkey/tests/js1_7/regress/jstests.list +67 -0
  3073. data/vendor/tracemonkey/tests/js1_7/regress/regress-350387.js +70 -0
  3074. data/vendor/tracemonkey/tests/js1_7/regress/regress-351503-01.js +118 -0
  3075. data/vendor/tracemonkey/tests/js1_7/regress/regress-351503-02.js +123 -0
  3076. data/vendor/tracemonkey/tests/js1_7/regress/regress-352640-01.js +67 -0
  3077. data/vendor/tracemonkey/tests/js1_7/regress/regress-352640-02.js +67 -0
  3078. data/vendor/tracemonkey/tests/js1_7/regress/regress-352640-03.js +67 -0
  3079. data/vendor/tracemonkey/tests/js1_7/regress/regress-352640-04.js +67 -0
  3080. data/vendor/tracemonkey/tests/js1_7/regress/regress-352797-02.js +70 -0
  3081. data/vendor/tracemonkey/tests/js1_7/regress/regress-352870-01.js +70 -0
  3082. data/vendor/tracemonkey/tests/js1_7/regress/regress-352870-02.js +69 -0
  3083. data/vendor/tracemonkey/tests/js1_7/regress/regress-352870-03.js +71 -0
  3084. data/vendor/tracemonkey/tests/js1_7/regress/regress-353079.js +62 -0
  3085. data/vendor/tracemonkey/tests/js1_7/regress/regress-355023.js +64 -0
  3086. data/vendor/tracemonkey/tests/js1_7/regress/regress-355832-01.js +63 -0
  3087. data/vendor/tracemonkey/tests/js1_7/regress/regress-355832-02.js +63 -0
  3088. data/vendor/tracemonkey/tests/js1_7/regress/regress-361566.js +60 -0
  3089. data/vendor/tracemonkey/tests/js1_7/regress/regress-363040-01.js +128 -0
  3090. data/vendor/tracemonkey/tests/js1_7/regress/regress-363040-02.js +100 -0
  3091. data/vendor/tracemonkey/tests/js1_7/regress/regress-369666-01.js +92 -0
  3092. data/vendor/tracemonkey/tests/js1_7/regress/regress-369666-02.js +96 -0
  3093. data/vendor/tracemonkey/tests/js1_7/regress/regress-372331.js +88 -0
  3094. data/vendor/tracemonkey/tests/js1_7/regress/regress-373827-01.js +61 -0
  3095. data/vendor/tracemonkey/tests/js1_7/regress/regress-373827-02.js +67 -0
  3096. data/vendor/tracemonkey/tests/js1_7/regress/regress-373828.js +68 -0
  3097. data/vendor/tracemonkey/tests/js1_7/regress/regress-375695.js +60 -0
  3098. data/vendor/tracemonkey/tests/js1_7/regress/regress-379442.js +61 -0
  3099. data/vendor/tracemonkey/tests/js1_7/regress/regress-379483.js +61 -0
  3100. data/vendor/tracemonkey/tests/js1_7/regress/regress-385133-01.js +71 -0
  3101. data/vendor/tracemonkey/tests/js1_7/regress/regress-385133-02.js +69 -0
  3102. data/vendor/tracemonkey/tests/js1_7/regress/regress-385393-05.js +77 -0
  3103. data/vendor/tracemonkey/tests/js1_7/regress/regress-387951.js +61 -0
  3104. data/vendor/tracemonkey/tests/js1_7/regress/regress-406477.js +81 -0
  3105. data/vendor/tracemonkey/tests/js1_7/regress/regress-407727-01.js +50 -0
  3106. data/vendor/tracemonkey/tests/js1_7/regress/regress-407727-02.js +52 -0
  3107. data/vendor/tracemonkey/tests/js1_7/regress/regress-407957.js +63 -0
  3108. data/vendor/tracemonkey/tests/js1_7/regress/regress-410649.js +75 -0
  3109. data/vendor/tracemonkey/tests/js1_7/regress/regress-414553.js +55 -0
  3110. data/vendor/tracemonkey/tests/js1_7/regress/regress-416601.js +70 -0
  3111. data/vendor/tracemonkey/tests/js1_7/regress/regress-416705.js +73 -0
  3112. data/vendor/tracemonkey/tests/js1_7/regress/regress-418641.js +113 -0
  3113. data/vendor/tracemonkey/tests/js1_7/regress/regress-419803.js +64 -0
  3114. data/vendor/tracemonkey/tests/js1_7/regress/regress-420399.js +69 -0
  3115. data/vendor/tracemonkey/tests/js1_7/regress/regress-428706.js +61 -0
  3116. data/vendor/tracemonkey/tests/js1_7/regress/regress-428708.js +61 -0
  3117. data/vendor/tracemonkey/tests/js1_7/regress/regress-452703.js +54 -0
  3118. data/vendor/tracemonkey/tests/js1_7/regress/regress-452960.js +66 -0
  3119. data/vendor/tracemonkey/tests/js1_7/regress/regress-453049.js +64 -0
  3120. data/vendor/tracemonkey/tests/js1_7/regress/regress-453051.js +64 -0
  3121. data/vendor/tracemonkey/tests/js1_7/regress/regress-453411.js +65 -0
  3122. data/vendor/tracemonkey/tests/js1_7/regress/regress-461235.js +65 -0
  3123. data/vendor/tracemonkey/tests/js1_7/regress/regress-461945.js +65 -0
  3124. data/vendor/tracemonkey/tests/js1_7/regress/regress-462071.js +65 -0
  3125. data/vendor/tracemonkey/tests/js1_7/regress/regress-462282.js +65 -0
  3126. data/vendor/tracemonkey/tests/js1_7/regress/regress-462388.js +65 -0
  3127. data/vendor/tracemonkey/tests/js1_7/regress/regress-462407.js +54 -0
  3128. data/vendor/tracemonkey/tests/js1_7/regress/regress-464403.js +68 -0
  3129. data/vendor/tracemonkey/tests/js1_7/regress/regress-465236.js +63 -0
  3130. data/vendor/tracemonkey/tests/js1_7/regress/regress-465424.js +65 -0
  3131. data/vendor/tracemonkey/tests/js1_7/regress/regress-465484.js +63 -0
  3132. data/vendor/tracemonkey/tests/js1_7/regress/regress-469239-01.js +71 -0
  3133. data/vendor/tracemonkey/tests/js1_7/regress/regress-469239-02.js +71 -0
  3134. data/vendor/tracemonkey/tests/js1_7/regress/regress-470223.js +73 -0
  3135. data/vendor/tracemonkey/tests/js1_7/regress/regress-470388-01.js +61 -0
  3136. data/vendor/tracemonkey/tests/js1_7/regress/regress-470388-02.js +66 -0
  3137. data/vendor/tracemonkey/tests/js1_7/regress/regress-470388-03.js +65 -0
  3138. data/vendor/tracemonkey/tests/js1_7/regress/regress-474771.js +79 -0
  3139. data/vendor/tracemonkey/tests/js1_7/regress/shell.js +1 -0
  3140. data/vendor/tracemonkey/tests/js1_7/shell.js +47 -0
  3141. data/vendor/tracemonkey/tests/js1_7/template.js +59 -0
  3142. data/vendor/tracemonkey/tests/js1_8/README +1 -0
  3143. data/vendor/tracemonkey/tests/js1_8/browser.js +36 -0
  3144. data/vendor/tracemonkey/tests/js1_8/decompilation/jstests.list +12 -0
  3145. data/vendor/tracemonkey/tests/js1_8/decompilation/regress-260106.js +64 -0
  3146. data/vendor/tracemonkey/tests/js1_8/decompilation/regress-346749.js +62 -0
  3147. data/vendor/tracemonkey/tests/js1_8/decompilation/regress-381372.js +63 -0
  3148. data/vendor/tracemonkey/tests/js1_8/decompilation/regress-381504.js +78 -0
  3149. data/vendor/tracemonkey/tests/js1_8/decompilation/regress-381963-01.js +63 -0
  3150. data/vendor/tracemonkey/tests/js1_8/decompilation/regress-381963-02.js +65 -0
  3151. data/vendor/tracemonkey/tests/js1_8/decompilation/regress-382981.js +67 -0
  3152. data/vendor/tracemonkey/tests/js1_8/decompilation/regress-443074.js +63 -0
  3153. data/vendor/tracemonkey/tests/js1_8/decompilation/regress-460504.js +63 -0
  3154. data/vendor/tracemonkey/tests/js1_8/decompilation/regress-461233.js +64 -0
  3155. data/vendor/tracemonkey/tests/js1_8/decompilation/regress-469625-01.js +66 -0
  3156. data/vendor/tracemonkey/tests/js1_8/decompilation/shell.js +1 -0
  3157. data/vendor/tracemonkey/tests/js1_8/extensions/dekker.js +98 -0
  3158. data/vendor/tracemonkey/tests/js1_8/extensions/for-in.js +85 -0
  3159. data/vendor/tracemonkey/tests/js1_8/extensions/jstests.list +41 -0
  3160. data/vendor/tracemonkey/tests/js1_8/extensions/lamport.js +126 -0
  3161. data/vendor/tracemonkey/tests/js1_8/extensions/peterson.js +89 -0
  3162. data/vendor/tracemonkey/tests/js1_8/extensions/regress-353116.js +112 -0
  3163. data/vendor/tracemonkey/tests/js1_8/extensions/regress-378789.js +67 -0
  3164. data/vendor/tracemonkey/tests/js1_8/extensions/regress-385393-01.js +67 -0
  3165. data/vendor/tracemonkey/tests/js1_8/extensions/regress-385393-10.js +67 -0
  3166. data/vendor/tracemonkey/tests/js1_8/extensions/regress-385393-11.js +68 -0
  3167. data/vendor/tracemonkey/tests/js1_8/extensions/regress-385729.js +88 -0
  3168. data/vendor/tracemonkey/tests/js1_8/extensions/regress-394709.js +84 -0
  3169. data/vendor/tracemonkey/tests/js1_8/extensions/regress-415721.js +74 -0
  3170. data/vendor/tracemonkey/tests/js1_8/extensions/regress-417131.js +108 -0
  3171. data/vendor/tracemonkey/tests/js1_8/extensions/regress-417817.js +87 -0
  3172. data/vendor/tracemonkey/tests/js1_8/extensions/regress-419091.js +79 -0
  3173. data/vendor/tracemonkey/tests/js1_8/extensions/regress-422269.js +83 -0
  3174. data/vendor/tracemonkey/tests/js1_8/extensions/regress-445818.js +73 -0
  3175. data/vendor/tracemonkey/tests/js1_8/extensions/regress-446169-01.js +82 -0
  3176. data/vendor/tracemonkey/tests/js1_8/extensions/regress-446169-02.js +80 -0
  3177. data/vendor/tracemonkey/tests/js1_8/extensions/regress-452476.js +62 -0
  3178. data/vendor/tracemonkey/tests/js1_8/extensions/regress-452913.js +51 -0
  3179. data/vendor/tracemonkey/tests/js1_8/extensions/regress-454744.js +71 -0
  3180. data/vendor/tracemonkey/tests/js1_8/extensions/regress-455973.js +62 -0
  3181. data/vendor/tracemonkey/tests/js1_8/extensions/regress-465337.js +65 -0
  3182. data/vendor/tracemonkey/tests/js1_8/extensions/regress-465453.js +77 -0
  3183. data/vendor/tracemonkey/tests/js1_8/extensions/regress-469625.js +75 -0
  3184. data/vendor/tracemonkey/tests/js1_8/extensions/regress-471197.js +79 -0
  3185. data/vendor/tracemonkey/tests/js1_8/extensions/regress-472450-03.js +67 -0
  3186. data/vendor/tracemonkey/tests/js1_8/extensions/regress-472450-04.js +69 -0
  3187. data/vendor/tracemonkey/tests/js1_8/extensions/regress-473040.js +56 -0
  3188. data/vendor/tracemonkey/tests/js1_8/extensions/regress-475971.js +90 -0
  3189. data/vendor/tracemonkey/tests/js1_8/extensions/regress-476414-01.js +99 -0
  3190. data/vendor/tracemonkey/tests/js1_8/extensions/regress-476414-02.js +100 -0
  3191. data/vendor/tracemonkey/tests/js1_8/extensions/regress-476427.js +69 -0
  3192. data/vendor/tracemonkey/tests/js1_8/extensions/regress-476869.js +79 -0
  3193. data/vendor/tracemonkey/tests/js1_8/extensions/regress-479252.js +73 -0
  3194. data/vendor/tracemonkey/tests/js1_8/extensions/regress-479381.js +81 -0
  3195. data/vendor/tracemonkey/tests/js1_8/extensions/regress-481989.js +54 -0
  3196. data/vendor/tracemonkey/tests/js1_8/extensions/regress-482263.js +57 -0
  3197. data/vendor/tracemonkey/tests/js1_8/extensions/shell.js +1 -0
  3198. data/vendor/tracemonkey/tests/js1_8/extensions/simple-tree.js +82 -0
  3199. data/vendor/tracemonkey/tests/js1_8/genexps/jstests.list +10 -0
  3200. data/vendor/tracemonkey/tests/js1_8/genexps/regress-347739.js +84 -0
  3201. data/vendor/tracemonkey/tests/js1_8/genexps/regress-349012-01.js +87 -0
  3202. data/vendor/tracemonkey/tests/js1_8/genexps/regress-349326.js +181 -0
  3203. data/vendor/tracemonkey/tests/js1_8/genexps/regress-349331.js +126 -0
  3204. data/vendor/tracemonkey/tests/js1_8/genexps/regress-380237-01.js +234 -0
  3205. data/vendor/tracemonkey/tests/js1_8/genexps/regress-380237-02.js +63 -0
  3206. data/vendor/tracemonkey/tests/js1_8/genexps/regress-380237-03.js +195 -0
  3207. data/vendor/tracemonkey/tests/js1_8/genexps/regress-380237-04.js +329 -0
  3208. data/vendor/tracemonkey/tests/js1_8/genexps/regress-384991.js +92 -0
  3209. data/vendor/tracemonkey/tests/js1_8/genexps/shell.js +1 -0
  3210. data/vendor/tracemonkey/tests/js1_8/jstests.list +4 -0
  3211. data/vendor/tracemonkey/tests/js1_8/regress/jstests.list +85 -0
  3212. data/vendor/tracemonkey/tests/js1_8/regress/regress-366941.js +105 -0
  3213. data/vendor/tracemonkey/tests/js1_8/regress/regress-384412.js +231 -0
  3214. data/vendor/tracemonkey/tests/js1_8/regress/regress-384758.js +69 -0
  3215. data/vendor/tracemonkey/tests/js1_8/regress/regress-404734.js +64 -0
  3216. data/vendor/tracemonkey/tests/js1_8/regress/regress-427798.js +91 -0
  3217. data/vendor/tracemonkey/tests/js1_8/regress/regress-433279-01.js +61 -0
  3218. data/vendor/tracemonkey/tests/js1_8/regress/regress-433279-02.js +66 -0
  3219. data/vendor/tracemonkey/tests/js1_8/regress/regress-433279-03.js +66 -0
  3220. data/vendor/tracemonkey/tests/js1_8/regress/regress-442333-01.js +70 -0
  3221. data/vendor/tracemonkey/tests/js1_8/regress/regress-452491.js +64 -0
  3222. data/vendor/tracemonkey/tests/js1_8/regress/regress-453492.js +61 -0
  3223. data/vendor/tracemonkey/tests/js1_8/regress/regress-455981-01.js +69 -0
  3224. data/vendor/tracemonkey/tests/js1_8/regress/regress-455981-02.js +69 -0
  3225. data/vendor/tracemonkey/tests/js1_8/regress/regress-457065-01.js +67 -0
  3226. data/vendor/tracemonkey/tests/js1_8/regress/regress-457065-02.js +65 -0
  3227. data/vendor/tracemonkey/tests/js1_8/regress/regress-458076.js +65 -0
  3228. data/vendor/tracemonkey/tests/js1_8/regress/regress-459185.js +67 -0
  3229. data/vendor/tracemonkey/tests/js1_8/regress/regress-459186.js +67 -0
  3230. data/vendor/tracemonkey/tests/js1_8/regress/regress-459389.js +153 -0
  3231. data/vendor/tracemonkey/tests/js1_8/regress/regress-461930.js +66 -0
  3232. data/vendor/tracemonkey/tests/js1_8/regress/regress-461932.js +66 -0
  3233. data/vendor/tracemonkey/tests/js1_8/regress/regress-463334-01.js +66 -0
  3234. data/vendor/tracemonkey/tests/js1_8/regress/regress-463334-02.js +68 -0
  3235. data/vendor/tracemonkey/tests/js1_8/regress/regress-463783.js +68 -0
  3236. data/vendor/tracemonkey/tests/js1_8/regress/regress-464092-01.js +61 -0
  3237. data/vendor/tracemonkey/tests/js1_8/regress/regress-464092-02.js +68 -0
  3238. data/vendor/tracemonkey/tests/js1_8/regress/regress-464096.js +67 -0
  3239. data/vendor/tracemonkey/tests/js1_8/regress/regress-464418.js +80 -0
  3240. data/vendor/tracemonkey/tests/js1_8/regress/regress-464978.js +65 -0
  3241. data/vendor/tracemonkey/tests/js1_8/regress/regress-465220.js +78 -0
  3242. data/vendor/tracemonkey/tests/js1_8/regress/regress-465234.js +68 -0
  3243. data/vendor/tracemonkey/tests/js1_8/regress/regress-465239.js +68 -0
  3244. data/vendor/tracemonkey/tests/js1_8/regress/regress-465241.js +68 -0
  3245. data/vendor/tracemonkey/tests/js1_8/regress/regress-465249.js +65 -0
  3246. data/vendor/tracemonkey/tests/js1_8/regress/regress-465261.js +69 -0
  3247. data/vendor/tracemonkey/tests/js1_8/regress/regress-465308.js +66 -0
  3248. data/vendor/tracemonkey/tests/js1_8/regress/regress-465454.js +66 -0
  3249. data/vendor/tracemonkey/tests/js1_8/regress/regress-465460-01.js +67 -0
  3250. data/vendor/tracemonkey/tests/js1_8/regress/regress-465460-02.js +65 -0
  3251. data/vendor/tracemonkey/tests/js1_8/regress/regress-465460-03.js +65 -0
  3252. data/vendor/tracemonkey/tests/js1_8/regress/regress-465460-04.js +65 -0
  3253. data/vendor/tracemonkey/tests/js1_8/regress/regress-465460-05.js +65 -0
  3254. data/vendor/tracemonkey/tests/js1_8/regress/regress-465460-06.js +65 -0
  3255. data/vendor/tracemonkey/tests/js1_8/regress/regress-465460-07.js +74 -0
  3256. data/vendor/tracemonkey/tests/js1_8/regress/regress-465460-08.js +65 -0
  3257. data/vendor/tracemonkey/tests/js1_8/regress/regress-465460-09.js +65 -0
  3258. data/vendor/tracemonkey/tests/js1_8/regress/regress-465460-10.js +65 -0
  3259. data/vendor/tracemonkey/tests/js1_8/regress/regress-465460-11.js +65 -0
  3260. data/vendor/tracemonkey/tests/js1_8/regress/regress-465460-12.js +65 -0
  3261. data/vendor/tracemonkey/tests/js1_8/regress/regress-465483.js +65 -0
  3262. data/vendor/tracemonkey/tests/js1_8/regress/regress-465567-01.js +64 -0
  3263. data/vendor/tracemonkey/tests/js1_8/regress/regress-465567-02.js +60 -0
  3264. data/vendor/tracemonkey/tests/js1_8/regress/regress-465688.js +63 -0
  3265. data/vendor/tracemonkey/tests/js1_8/regress/regress-466128.js +66 -0
  3266. data/vendor/tracemonkey/tests/js1_8/regress/regress-466787.js +68 -0
  3267. data/vendor/tracemonkey/tests/js1_8/regress/regress-467495-01.js +61 -0
  3268. data/vendor/tracemonkey/tests/js1_8/regress/regress-467495-02.js +67 -0
  3269. data/vendor/tracemonkey/tests/js1_8/regress/regress-467495-03.js +80 -0
  3270. data/vendor/tracemonkey/tests/js1_8/regress/regress-467495-04.js +75 -0
  3271. data/vendor/tracemonkey/tests/js1_8/regress/regress-467495-05.js +64 -0
  3272. data/vendor/tracemonkey/tests/js1_8/regress/regress-467495-06.js +77 -0
  3273. data/vendor/tracemonkey/tests/js1_8/regress/regress-468711.js +65 -0
  3274. data/vendor/tracemonkey/tests/js1_8/regress/regress-469625-02.js +66 -0
  3275. data/vendor/tracemonkey/tests/js1_8/regress/regress-469625-03.js +73 -0
  3276. data/vendor/tracemonkey/tests/js1_8/regress/regress-471373.js +78 -0
  3277. data/vendor/tracemonkey/tests/js1_8/regress/regress-471660.js +72 -0
  3278. data/vendor/tracemonkey/tests/js1_8/regress/regress-472450-01.js +66 -0
  3279. data/vendor/tracemonkey/tests/js1_8/regress/regress-472450-02.js +66 -0
  3280. data/vendor/tracemonkey/tests/js1_8/regress/regress-472528-01.js +74 -0
  3281. data/vendor/tracemonkey/tests/js1_8/regress/regress-472528-02.js +74 -0
  3282. data/vendor/tracemonkey/tests/js1_8/regress/regress-472703.js +73 -0
  3283. data/vendor/tracemonkey/tests/js1_8/regress/regress-474769.js +70 -0
  3284. data/vendor/tracemonkey/tests/js1_8/regress/regress-474771.js +73 -0
  3285. data/vendor/tracemonkey/tests/js1_8/regress/regress-474935.js +75 -0
  3286. data/vendor/tracemonkey/tests/js1_8/regress/regress-476655.js +74 -0
  3287. data/vendor/tracemonkey/tests/js1_8/regress/regress-477234.js +79 -0
  3288. data/vendor/tracemonkey/tests/js1_8/regress/regress-477581.js +68 -0
  3289. data/vendor/tracemonkey/tests/js1_8/regress/regress-478205.js +65 -0
  3290. data/vendor/tracemonkey/tests/js1_8/regress/regress-479353.js +56 -0
  3291. data/vendor/tracemonkey/tests/js1_8/regress/regress-479740.js +71 -0
  3292. data/vendor/tracemonkey/tests/js1_8/regress/regress-481800.js +65 -0
  3293. data/vendor/tracemonkey/tests/js1_8/regress/regress-483749.js +60 -0
  3294. data/vendor/tracemonkey/tests/js1_8/regress/regress-499524.js +48 -0
  3295. data/vendor/tracemonkey/tests/js1_8/regress/regress-532491.js +71 -0
  3296. data/vendor/tracemonkey/tests/js1_8/regress/shell.js +1 -0
  3297. data/vendor/tracemonkey/tests/js1_8/shell.js +47 -0
  3298. data/vendor/tracemonkey/tests/js1_8/template.js +59 -0
  3299. data/vendor/tracemonkey/tests/js1_8_1/JSON/jstests.list +3 -0
  3300. data/vendor/tracemonkey/tests/js1_8_1/JSON/regress-458959.js +65 -0
  3301. data/vendor/tracemonkey/tests/js1_8_1/JSON/regress-459293.js +56 -0
  3302. data/vendor/tracemonkey/tests/js1_8_1/JSON/shell.js +1 -0
  3303. data/vendor/tracemonkey/tests/js1_8_1/README +1 -0
  3304. data/vendor/tracemonkey/tests/js1_8_1/String/jstests.list +2 -0
  3305. data/vendor/tracemonkey/tests/js1_8_1/String/regress-305064.js +177 -0
  3306. data/vendor/tracemonkey/tests/js1_8_1/String/shell.js +1 -0
  3307. data/vendor/tracemonkey/tests/js1_8_1/browser.js +36 -0
  3308. data/vendor/tracemonkey/tests/js1_8_1/decompilation/jstests.list +21 -0
  3309. data/vendor/tracemonkey/tests/js1_8_1/decompilation/regress-346642-01.js +200 -0
  3310. data/vendor/tracemonkey/tests/js1_8_1/decompilation/regress-349605.js +69 -0
  3311. data/vendor/tracemonkey/tests/js1_8_1/decompilation/regress-349634.js +64 -0
  3312. data/vendor/tracemonkey/tests/js1_8_1/decompilation/regress-350991.js +87 -0
  3313. data/vendor/tracemonkey/tests/js1_8_1/decompilation/regress-351070-01.js +102 -0
  3314. data/vendor/tracemonkey/tests/js1_8_1/decompilation/regress-351336.js +63 -0
  3315. data/vendor/tracemonkey/tests/js1_8_1/decompilation/regress-351626.js +64 -0
  3316. data/vendor/tracemonkey/tests/js1_8_1/decompilation/regress-352011.js +75 -0
  3317. data/vendor/tracemonkey/tests/js1_8_1/decompilation/regress-352022.js +69 -0
  3318. data/vendor/tracemonkey/tests/js1_8_1/decompilation/regress-352026.js +79 -0
  3319. data/vendor/tracemonkey/tests/js1_8_1/decompilation/regress-352609.js +90 -0
  3320. data/vendor/tracemonkey/tests/js1_8_1/decompilation/regress-353249.js +67 -0
  3321. data/vendor/tracemonkey/tests/js1_8_1/decompilation/regress-354878.js +62 -0
  3322. data/vendor/tracemonkey/tests/js1_8_1/decompilation/regress-371802.js +63 -0
  3323. data/vendor/tracemonkey/tests/js1_8_1/decompilation/regress-373678-01.js +62 -0
  3324. data/vendor/tracemonkey/tests/js1_8_1/decompilation/regress-380237-03.js +195 -0
  3325. data/vendor/tracemonkey/tests/js1_8_1/decompilation/regress-380237-04.js +334 -0
  3326. data/vendor/tracemonkey/tests/js1_8_1/decompilation/regress-443074.js +63 -0
  3327. data/vendor/tracemonkey/tests/js1_8_1/decompilation/regress-466905-03.js +87 -0
  3328. data/vendor/tracemonkey/tests/js1_8_1/decompilation/regress-530537.js +41 -0
  3329. data/vendor/tracemonkey/tests/js1_8_1/decompilation/shell.js +1 -0
  3330. data/vendor/tracemonkey/tests/js1_8_1/extensions/jstests.list +13 -0
  3331. data/vendor/tracemonkey/tests/js1_8_1/extensions/regress-352281.js +67 -0
  3332. data/vendor/tracemonkey/tests/js1_8_1/extensions/regress-353214-02.js +63 -0
  3333. data/vendor/tracemonkey/tests/js1_8_1/extensions/regress-437288-01.js +69 -0
  3334. data/vendor/tracemonkey/tests/js1_8_1/extensions/regress-452498-162.js +59 -0
  3335. data/vendor/tracemonkey/tests/js1_8_1/extensions/regress-452498-193.js +66 -0
  3336. data/vendor/tracemonkey/tests/js1_8_1/extensions/regress-452498-196.js +76 -0
  3337. data/vendor/tracemonkey/tests/js1_8_1/extensions/regress-452498-224.js +63 -0
  3338. data/vendor/tracemonkey/tests/js1_8_1/extensions/regress-466905-04.js +82 -0
  3339. data/vendor/tracemonkey/tests/js1_8_1/extensions/regress-466905-05.js +77 -0
  3340. data/vendor/tracemonkey/tests/js1_8_1/extensions/regress-477158.js +66 -0
  3341. data/vendor/tracemonkey/tests/js1_8_1/extensions/regress-477187.js +73 -0
  3342. data/vendor/tracemonkey/tests/js1_8_1/extensions/shell.js +1 -0
  3343. data/vendor/tracemonkey/tests/js1_8_1/extensions/strict-warning.js +29 -0
  3344. data/vendor/tracemonkey/tests/js1_8_1/jstests.list +6 -0
  3345. data/vendor/tracemonkey/tests/js1_8_1/regress/jstests.list +82 -0
  3346. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-420399.js +69 -0
  3347. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-006.js +78 -0
  3348. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-027.js +71 -0
  3349. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-030.js +64 -0
  3350. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-038.js +63 -0
  3351. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-039.js +68 -0
  3352. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-040.js +70 -0
  3353. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-050.js +77 -0
  3354. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-051.js +79 -0
  3355. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-052-a.js +72 -0
  3356. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-052.js +82 -0
  3357. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-053.js +111 -0
  3358. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-054.js +73 -0
  3359. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-058.js +64 -0
  3360. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-062.js +77 -0
  3361. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-063.js +68 -0
  3362. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-068.js +129 -0
  3363. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-071.js +64 -0
  3364. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-072.js +64 -0
  3365. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-073.js +71 -0
  3366. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-074.js +67 -0
  3367. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-075.js +65 -0
  3368. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-076.js +64 -0
  3369. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-077.js +67 -0
  3370. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-079.js +65 -0
  3371. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-082.js +190 -0
  3372. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-091.js +65 -0
  3373. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-092.js +73 -0
  3374. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-098.js +73 -0
  3375. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-099-a.js +72 -0
  3376. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-099.js +87 -0
  3377. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-101.js +64 -0
  3378. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-102.js +120 -0
  3379. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-103.js +64 -0
  3380. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-104.js +64 -0
  3381. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-107.js +67 -0
  3382. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-108.js +66 -0
  3383. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-110.js +82 -0
  3384. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-111.js +68 -0
  3385. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-112.js +72 -0
  3386. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-114-a.js +76 -0
  3387. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-114.js +83 -0
  3388. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-116.js +66 -0
  3389. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-117.js +171 -0
  3390. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-118.js +66 -0
  3391. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-119.js +93 -0
  3392. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-121.js +66 -0
  3393. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-123.js +92 -0
  3394. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-129.js +83 -0
  3395. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-130.js +90 -0
  3396. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-131.js +82 -0
  3397. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-135-a.js +68 -0
  3398. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-135.js +120 -0
  3399. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-138.js +77 -0
  3400. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-139.js +74 -0
  3401. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-155.js +67 -0
  3402. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-160.js +72 -0
  3403. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-168-1.js +66 -0
  3404. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-168-2.js +64 -0
  3405. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-176.js +64 -0
  3406. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-178.js +64 -0
  3407. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-181.js +64 -0
  3408. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-184.js +64 -0
  3409. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-185.js +70 -0
  3410. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-187.js +70 -0
  3411. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-191.js +80 -0
  3412. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-452498-192.js +62 -0
  3413. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-466905-01.js +63 -0
  3414. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-466905-02.js +62 -0
  3415. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-479430-01.js +76 -0
  3416. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-479430-02.js +78 -0
  3417. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-479430-03.js +81 -0
  3418. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-479430-04.js +77 -0
  3419. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-479430-05.js +76 -0
  3420. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-495773.js +77 -0
  3421. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-495907.js +69 -0
  3422. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-496922.js +73 -0
  3423. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-507053.js +81 -0
  3424. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-507295.js +76 -0
  3425. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-507424.js +68 -0
  3426. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-509354.js +41 -0
  3427. data/vendor/tracemonkey/tests/js1_8_1/regress/regress-515885.js +6 -0
  3428. data/vendor/tracemonkey/tests/js1_8_1/regress/shell.js +1 -0
  3429. data/vendor/tracemonkey/tests/js1_8_1/shell.js +47 -0
  3430. data/vendor/tracemonkey/tests/js1_8_1/template.js +59 -0
  3431. data/vendor/tracemonkey/tests/js1_8_1/trace/jstests.list +23 -0
  3432. data/vendor/tracemonkey/tests/js1_8_1/trace/math-trace-tests.js +734 -0
  3433. data/vendor/tracemonkey/tests/js1_8_1/trace/regress-451673.js +116 -0
  3434. data/vendor/tracemonkey/tests/js1_8_1/trace/regress-451974-01.js +87 -0
  3435. data/vendor/tracemonkey/tests/js1_8_1/trace/regress-451974-02.js +98 -0
  3436. data/vendor/tracemonkey/tests/js1_8_1/trace/regress-452498-01.js +106 -0
  3437. data/vendor/tracemonkey/tests/js1_8_1/trace/regress-458838.js +96 -0
  3438. data/vendor/tracemonkey/tests/js1_8_1/trace/regress-462459-01.js +108 -0
  3439. data/vendor/tracemonkey/tests/js1_8_1/trace/regress-462459-02.js +108 -0
  3440. data/vendor/tracemonkey/tests/js1_8_1/trace/regress-462459-03.js +108 -0
  3441. data/vendor/tracemonkey/tests/js1_8_1/trace/regress-462459-04.js +108 -0
  3442. data/vendor/tracemonkey/tests/js1_8_1/trace/regress-462459-05.js +108 -0
  3443. data/vendor/tracemonkey/tests/js1_8_1/trace/regress-462459-06.js +108 -0
  3444. data/vendor/tracemonkey/tests/js1_8_1/trace/regress-462459-07.js +108 -0
  3445. data/vendor/tracemonkey/tests/js1_8_1/trace/regress-462459-08.js +108 -0
  3446. data/vendor/tracemonkey/tests/js1_8_1/trace/regress-462459-09.js +108 -0
  3447. data/vendor/tracemonkey/tests/js1_8_1/trace/regress-462459-10.js +108 -0
  3448. data/vendor/tracemonkey/tests/js1_8_1/trace/regress-462459-11.js +108 -0
  3449. data/vendor/tracemonkey/tests/js1_8_1/trace/regress-462459-12.js +108 -0
  3450. data/vendor/tracemonkey/tests/js1_8_1/trace/regress-469927.js +79 -0
  3451. data/vendor/tracemonkey/tests/js1_8_1/trace/regress-470739.js +81 -0
  3452. data/vendor/tracemonkey/tests/js1_8_1/trace/regress-471635.js +89 -0
  3453. data/vendor/tracemonkey/tests/js1_8_1/trace/shell.js +1 -0
  3454. data/vendor/tracemonkey/{trace-test.js → tests/js1_8_1/trace/trace-test.js} +1261 -1454
  3455. data/vendor/tracemonkey/tests/jsDriver.pl +1537 -0
  3456. data/vendor/tracemonkey/tests/jsreftest.html +19 -0
  3457. data/vendor/tracemonkey/tests/jstests.list +15 -0
  3458. data/vendor/tracemonkey/tests/known-failures.pl +720 -0
  3459. data/vendor/tracemonkey/tests/menufoot.html +8 -0
  3460. data/vendor/tracemonkey/tests/menuhead.html +58 -0
  3461. data/vendor/tracemonkey/tests/menuhead.js +761 -0
  3462. data/vendor/tracemonkey/tests/mkhtml.pl +84 -0
  3463. data/vendor/tracemonkey/tests/mklistpage.pl +443 -0
  3464. data/vendor/tracemonkey/tests/most.tests +892 -0
  3465. data/vendor/tracemonkey/tests/pattern-expander.pl +181 -0
  3466. data/vendor/tracemonkey/tests/pattern-extracter.pl +227 -0
  3467. data/vendor/tracemonkey/tests/performance-1.8.0.tests +19 -0
  3468. data/vendor/tracemonkey/tests/performance-1.8.1.tests +19 -0
  3469. data/vendor/tracemonkey/tests/performance-1.9.0.tests +19 -0
  3470. data/vendor/tracemonkey/tests/performance-1.9.1.tests +19 -0
  3471. data/vendor/tracemonkey/tests/performance-1.9.2.tests +19 -0
  3472. data/vendor/tracemonkey/tests/performance.tests +18 -0
  3473. data/vendor/tracemonkey/tests/post-process-logs.pl +602 -0
  3474. data/vendor/tracemonkey/tests/process-logs.sh +203 -0
  3475. data/vendor/tracemonkey/tests/remove-fixed-failures.sh +82 -0
  3476. data/vendor/tracemonkey/tests/runRhinoTests.pl +447 -0
  3477. data/vendor/tracemonkey/tests/runtests.pl +495 -0
  3478. data/vendor/tracemonkey/tests/runtests.sh +262 -0
  3479. data/vendor/tracemonkey/tests/runtests2.pl +3 -0
  3480. data/vendor/tracemonkey/tests/shell.js +928 -0
  3481. data/vendor/tracemonkey/tests/slow-n-1.8.1-browser.tests +62 -0
  3482. data/vendor/tracemonkey/tests/slow-n-1.8.1.tests +35 -0
  3483. data/vendor/tracemonkey/tests/slow-n-1.9.0-browser.tests +51 -0
  3484. data/vendor/tracemonkey/tests/slow-n-1.9.0.tests +21 -0
  3485. data/vendor/tracemonkey/tests/slow-n-1.9.1-browser.tests +49 -0
  3486. data/vendor/tracemonkey/tests/slow-n-1.9.1.tests +25 -0
  3487. data/vendor/tracemonkey/tests/slow-n-1.9.2-browser.tests +50 -0
  3488. data/vendor/tracemonkey/tests/slow-n-1.9.2.tests +24 -0
  3489. data/vendor/tracemonkey/tests/slow-n.tests +30 -0
  3490. data/vendor/tracemonkey/tests/spidermonkey-gc.tests +28 -0
  3491. data/vendor/tracemonkey/tests/spidermonkey-n-1.8.0.tests +95 -0
  3492. data/vendor/tracemonkey/tests/spidermonkey-n-1.8.1.tests +95 -0
  3493. data/vendor/tracemonkey/tests/spidermonkey-n-1.9.0.tests +99 -0
  3494. data/vendor/tracemonkey/tests/spidermonkey-n-1.9.1.tests +152 -0
  3495. data/vendor/tracemonkey/tests/spidermonkey-n-1.9.2.tests +152 -0
  3496. data/vendor/tracemonkey/tests/spidermonkey-n-1.9.3.tests +152 -0
  3497. data/vendor/tracemonkey/tests/spidermonkey-n.tests +90 -0
  3498. data/vendor/tracemonkey/tests/template.js +73 -0
  3499. data/vendor/tracemonkey/tests/test.sh +531 -0
  3500. data/vendor/tracemonkey/tests/user.js +33 -0
  3501. data/vendor/tracemonkey/tests/userhookeach.js +198 -0
  3502. data/vendor/tracemonkey/trace-test/README +70 -0
  3503. data/vendor/tracemonkey/trace-test/lib/andTestHelper.js +9 -0
  3504. data/vendor/tracemonkey/{mandelbrot-results.js → trace-test/lib/mandelbrot-results.js} +0 -0
  3505. data/vendor/tracemonkey/trace-test/lib/orTestHelper.js +9 -0
  3506. data/vendor/tracemonkey/trace-test/lib/prolog.js +37 -0
  3507. data/vendor/tracemonkey/trace-test/lib/range.js +18 -0
  3508. data/vendor/tracemonkey/trace-test/progressbar.py +35 -0
  3509. data/vendor/tracemonkey/trace-test/tests/basic/FPQuadCmp.js +6 -0
  3510. data/vendor/tracemonkey/trace-test/tests/basic/argumentsPassedToBuiltin.js +14 -0
  3511. data/vendor/tracemonkey/trace-test/tests/basic/arith.js +11 -0
  3512. data/vendor/tracemonkey/trace-test/tests/basic/arityMismatchExtraArg.js +13 -0
  3513. data/vendor/tracemonkey/trace-test/tests/basic/arityMismatchMissingArg.js +8 -0
  3514. data/vendor/tracemonkey/trace-test/tests/basic/bitwiseAnd.js +10 -0
  3515. data/vendor/tracemonkey/trace-test/tests/basic/bitwiseGlobal.js +8 -0
  3516. data/vendor/tracemonkey/trace-test/tests/basic/bug464403.js +7 -0
  3517. data/vendor/tracemonkey/trace-test/tests/basic/bug465902.js +13 -0
  3518. data/vendor/tracemonkey/trace-test/tests/basic/bug504587-1.js +13 -0
  3519. data/vendor/tracemonkey/trace-test/tests/basic/bug507180.js +69 -0
  3520. data/vendor/tracemonkey/trace-test/tests/basic/bug509639.js +3 -0
  3521. data/vendor/tracemonkey/trace-test/tests/basic/bug509982.js +15 -0
  3522. data/vendor/tracemonkey/trace-test/tests/basic/bug510434.js +2 -0
  3523. data/vendor/tracemonkey/trace-test/tests/basic/bug510437-2.js +13 -0
  3524. data/vendor/tracemonkey/trace-test/tests/basic/bug510437.js +12 -0
  3525. data/vendor/tracemonkey/trace-test/tests/basic/bug510642.js +14 -0
  3526. data/vendor/tracemonkey/trace-test/tests/basic/bug510655.js +15 -0
  3527. data/vendor/tracemonkey/trace-test/tests/basic/bug511214.js +18 -0
  3528. data/vendor/tracemonkey/trace-test/tests/basic/bug511241.js +15 -0
  3529. data/vendor/tracemonkey/trace-test/tests/basic/bug513038.js +16 -0
  3530. data/vendor/tracemonkey/trace-test/tests/basic/bug516009.js +20 -0
  3531. data/vendor/tracemonkey/trace-test/tests/basic/bug517721.js +8 -0
  3532. data/vendor/tracemonkey/trace-test/tests/basic/bug525028.js +16 -0
  3533. data/vendor/tracemonkey/trace-test/tests/basic/bug531037.js +22 -0
  3534. data/vendor/tracemonkey/trace-test/tests/basic/bug531513.js +23 -0
  3535. data/vendor/tracemonkey/trace-test/tests/basic/bug532568-2.js +20 -0
  3536. data/vendor/tracemonkey/trace-test/tests/basic/bug532568.js +19 -0
  3537. data/vendor/tracemonkey/trace-test/tests/basic/bug532823.js +23 -0
  3538. data/vendor/tracemonkey/trace-test/tests/basic/bug535760.js +13 -0
  3539. data/vendor/tracemonkey/trace-test/tests/basic/bug539553-2.js +7 -0
  3540. data/vendor/tracemonkey/trace-test/tests/basic/bug539553-3.js +11 -0
  3541. data/vendor/tracemonkey/trace-test/tests/basic/bug539553.js +11 -0
  3542. data/vendor/tracemonkey/trace-test/tests/basic/call.js +28 -0
  3543. data/vendor/tracemonkey/{call.js → trace-test/tests/basic/call2.js} +1 -1
  3544. data/vendor/tracemonkey/trace-test/tests/basic/createMandelSet.js +242 -0
  3545. data/vendor/tracemonkey/trace-test/tests/basic/deep2.js +11 -0
  3546. data/vendor/tracemonkey/trace-test/tests/basic/deepForInLoop.js +12 -0
  3547. data/vendor/tracemonkey/trace-test/tests/basic/dependentStrings.js +11 -0
  3548. data/vendor/tracemonkey/trace-test/tests/basic/doMath.js +60 -0
  3549. data/vendor/tracemonkey/trace-test/tests/basic/equalInt.js +29 -0
  3550. data/vendor/tracemonkey/trace-test/tests/basic/fannkuch.js +17 -0
  3551. data/vendor/tracemonkey/trace-test/tests/basic/forVarInWith.js +12 -0
  3552. data/vendor/tracemonkey/trace-test/tests/basic/getelem.js +30 -0
  3553. data/vendor/tracemonkey/trace-test/tests/basic/getprop.js +16 -0
  3554. data/vendor/tracemonkey/trace-test/tests/basic/globalGet.js +6 -0
  3555. data/vendor/tracemonkey/trace-test/tests/basic/globalSet.js +4 -0
  3556. data/vendor/tracemonkey/trace-test/tests/basic/ifInsideLoop.js +12 -0
  3557. data/vendor/tracemonkey/trace-test/tests/basic/inArrayTest.js +9 -0
  3558. data/vendor/tracemonkey/trace-test/tests/basic/inObjectTest.js +13 -0
  3559. data/vendor/tracemonkey/trace-test/tests/basic/innerLoopIntOuterDouble.js +11 -0
  3560. data/vendor/tracemonkey/trace-test/tests/basic/inner_double_outer_int.js +10 -0
  3561. data/vendor/tracemonkey/trace-test/tests/basic/jitstatsArchFlags.js +14 -0
  3562. data/vendor/tracemonkey/trace-test/tests/basic/joinTest.js +15 -0
  3563. data/vendor/tracemonkey/trace-test/tests/basic/matchInLoop.js +8 -0
  3564. data/vendor/tracemonkey/{math-trace-tests.js → trace-test/tests/basic/math-trace-tests.js} +25 -12
  3565. data/vendor/tracemonkey/trace-test/tests/basic/merge_type_maps.js +9 -0
  3566. data/vendor/tracemonkey/trace-test/tests/basic/missingArgTest.js +12 -0
  3567. data/vendor/tracemonkey/trace-test/tests/basic/missingArgTest2.js +26 -0
  3568. data/vendor/tracemonkey/trace-test/tests/basic/mod.js +14 -0
  3569. data/vendor/tracemonkey/trace-test/tests/basic/name-inactive-del.js +28 -0
  3570. data/vendor/tracemonkey/trace-test/tests/basic/name-inactive-eval-del.js +10 -0
  3571. data/vendor/tracemonkey/trace-test/tests/basic/name-inactive-inferflags.js +18 -0
  3572. data/vendor/tracemonkey/trace-test/tests/basic/name-inactive.js +20 -0
  3573. data/vendor/tracemonkey/trace-test/tests/basic/name.js +9 -0
  3574. data/vendor/tracemonkey/trace-test/tests/basic/nestedExit2.js +17 -0
  3575. data/vendor/tracemonkey/trace-test/tests/basic/nestedExitLoop.js +14 -0
  3576. data/vendor/tracemonkey/trace-test/tests/basic/newArrayTest.js +8 -0
  3577. data/vendor/tracemonkey/trace-test/tests/basic/newTest.js +14 -0
  3578. data/vendor/tracemonkey/trace-test/tests/basic/nonEmptyStack1.js +13 -0
  3579. data/vendor/tracemonkey/trace-test/tests/basic/nonEmptyStack2.js +10 -0
  3580. data/vendor/tracemonkey/trace-test/tests/basic/orNaNTest1.js +3 -0
  3581. data/vendor/tracemonkey/trace-test/tests/basic/orNaNTest2.js +3 -0
  3582. data/vendor/tracemonkey/trace-test/tests/basic/outerline.js +15 -0
  3583. data/vendor/tracemonkey/trace-test/tests/basic/parseIntTests.js +21 -0
  3584. data/vendor/tracemonkey/trace-test/tests/basic/parsingNumbers.js +23 -0
  3585. data/vendor/tracemonkey/trace-test/tests/basic/putargsNoReturn.js +6 -0
  3586. data/vendor/tracemonkey/trace-test/tests/basic/putargsReturn.js +7 -0
  3587. data/vendor/tracemonkey/trace-test/tests/basic/regexpLastIndex.js +13 -0
  3588. data/vendor/tracemonkey/trace-test/tests/basic/setArgumentsLength.js +14 -0
  3589. data/vendor/tracemonkey/trace-test/tests/basic/setArgumentsLength2.js +12 -0
  3590. data/vendor/tracemonkey/trace-test/tests/basic/setCall.js +26 -0
  3591. data/vendor/tracemonkey/trace-test/tests/basic/setCallEvalMiddle.js +17 -0
  3592. data/vendor/tracemonkey/trace-test/tests/basic/setCallEvalMiddle2.js +18 -0
  3593. data/vendor/tracemonkey/trace-test/tests/basic/setCallGlobal.js +14 -0
  3594. data/vendor/tracemonkey/trace-test/tests/basic/setelem.js +12 -0
  3595. data/vendor/tracemonkey/trace-test/tests/basic/setprop.js +10 -0
  3596. data/vendor/tracemonkey/trace-test/tests/basic/shapelessCalleeTest.js +67 -0
  3597. data/vendor/tracemonkey/trace-test/tests/basic/stringConvert.js +18 -0
  3598. data/vendor/tracemonkey/trace-test/tests/basic/stringSplitIntoArrayTest.js +9 -0
  3599. data/vendor/tracemonkey/trace-test/tests/basic/stringSplitTest.js +9 -0
  3600. data/vendor/tracemonkey/trace-test/tests/basic/strings.js +21 -0
  3601. data/vendor/tracemonkey/trace-test/tests/basic/testAbortedImacroDecompilation.js +7 -0
  3602. data/vendor/tracemonkey/trace-test/tests/basic/testAddAnyInconvertibleObject.js +33 -0
  3603. data/vendor/tracemonkey/trace-test/tests/basic/testAddInconvertibleObjectAny.js +39 -0
  3604. data/vendor/tracemonkey/trace-test/tests/basic/testAddInconvertibleObjectInconvertibleObject.js +38 -0
  3605. data/vendor/tracemonkey/trace-test/tests/basic/testAddNull.js +13 -0
  3606. data/vendor/tracemonkey/trace-test/tests/basic/testAddUndefined.js +5 -0
  3607. data/vendor/tracemonkey/trace-test/tests/basic/testApply.js +7 -0
  3608. data/vendor/tracemonkey/trace-test/tests/basic/testApplyCall.js +42 -0
  3609. data/vendor/tracemonkey/trace-test/tests/basic/testApplyUnbox.js +11 -0
  3610. data/vendor/tracemonkey/trace-test/tests/basic/testArrayComp1.js +6 -0
  3611. data/vendor/tracemonkey/trace-test/tests/basic/testArrayComp2.js +7 -0
  3612. data/vendor/tracemonkey/trace-test/tests/basic/testArrayDensityChange.js +17 -0
  3613. data/vendor/tracemonkey/trace-test/tests/basic/testArrayNaNIndex.js +7 -0
  3614. data/vendor/tracemonkey/trace-test/tests/basic/testArrayNamedProp.js +5 -0
  3615. data/vendor/tracemonkey/trace-test/tests/basic/testArrayPushPop.js +11 -0
  3616. data/vendor/tracemonkey/trace-test/tests/basic/testAtomize.js +10 -0
  3617. data/vendor/tracemonkey/trace-test/tests/basic/testBitOrAnyInconvertibleObject.js +33 -0
  3618. data/vendor/tracemonkey/trace-test/tests/basic/testBitOrInconvertibleObjectAny.js +33 -0
  3619. data/vendor/tracemonkey/trace-test/tests/basic/testBitOrInconvertibleObjectInconvertibleObject.js +38 -0
  3620. data/vendor/tracemonkey/trace-test/tests/basic/testBitwise.js +12 -0
  3621. data/vendor/tracemonkey/trace-test/tests/basic/testBoxDoubleWithDoubleSizedInt.js +10 -0
  3622. data/vendor/tracemonkey/trace-test/tests/basic/testBranchCse.js +7 -0
  3623. data/vendor/tracemonkey/trace-test/tests/basic/testBranchingLoop.js +11 -0
  3624. data/vendor/tracemonkey/trace-test/tests/basic/testBranchingUnstableLoop.js +11 -0
  3625. data/vendor/tracemonkey/trace-test/tests/basic/testBranchingUnstableLoopCounter.js +11 -0
  3626. data/vendor/tracemonkey/trace-test/tests/basic/testBranchingUnstableObject.js +13 -0
  3627. data/vendor/tracemonkey/trace-test/tests/basic/testBreak.js +6 -0
  3628. data/vendor/tracemonkey/trace-test/tests/basic/testBug458838.js +18 -0
  3629. data/vendor/tracemonkey/trace-test/tests/basic/testBug462388.js +6 -0
  3630. data/vendor/tracemonkey/trace-test/tests/basic/testBug462407.js +6 -0
  3631. data/vendor/tracemonkey/trace-test/tests/basic/testBug463490.js +18 -0
  3632. data/vendor/tracemonkey/trace-test/tests/basic/testBug465261.js +7 -0
  3633. data/vendor/tracemonkey/trace-test/tests/basic/testBug465272.js +6 -0
  3634. data/vendor/tracemonkey/trace-test/tests/basic/testBug465483.js +7 -0
  3635. data/vendor/tracemonkey/trace-test/tests/basic/testBug465688.js +6 -0
  3636. data/vendor/tracemonkey/trace-test/tests/basic/testBug466128.js +9 -0
  3637. data/vendor/tracemonkey/trace-test/tests/basic/testBug466262.js +11 -0
  3638. data/vendor/tracemonkey/trace-test/tests/basic/testBug474769.js +10 -0
  3639. data/vendor/tracemonkey/trace-test/tests/basic/testBug501690.js +14 -0
  3640. data/vendor/tracemonkey/trace-test/tests/basic/testBug502914.js +19 -0
  3641. data/vendor/tracemonkey/trace-test/tests/basic/testBug504520.js +11 -0
  3642. data/vendor/tracemonkey/trace-test/tests/basic/testBug504520Harder.js +32 -0
  3643. data/vendor/tracemonkey/trace-test/tests/basic/testBug507425.js +14 -0
  3644. data/vendor/tracemonkey/trace-test/tests/basic/testBug532363.js +2 -0
  3645. data/vendor/tracemonkey/trace-test/tests/basic/testCallElem.js +17 -0
  3646. data/vendor/tracemonkey/trace-test/tests/basic/testCallPick.js +18 -0
  3647. data/vendor/tracemonkey/trace-test/tests/basic/testCallProtoMethod.js +14 -0
  3648. data/vendor/tracemonkey/trace-test/tests/basic/testCaseAbort.js +19 -0
  3649. data/vendor/tracemonkey/trace-test/tests/basic/testCaseTypeMismatchBadness.js +22 -0
  3650. data/vendor/tracemonkey/trace-test/tests/basic/testChangingObjectWithLength.js +37 -0
  3651. data/vendor/tracemonkey/trace-test/tests/basic/testClosingRecursion.js +13 -0
  3652. data/vendor/tracemonkey/trace-test/tests/basic/testClosureIncrSideExit.js +17 -0
  3653. data/vendor/tracemonkey/trace-test/tests/basic/testClosures.js +18 -0
  3654. data/vendor/tracemonkey/trace-test/tests/basic/testComparisons.js +988 -0
  3655. data/vendor/tracemonkey/trace-test/tests/basic/testConstIf.js +6 -0
  3656. data/vendor/tracemonkey/trace-test/tests/basic/testConstSwitch.js +13 -0
  3657. data/vendor/tracemonkey/trace-test/tests/basic/testConstSwitch2.js +6 -0
  3658. data/vendor/tracemonkey/trace-test/tests/basic/testConstantBooleanExpr.js +6 -0
  3659. data/vendor/tracemonkey/trace-test/tests/basic/testConstructorBail.js +4 -0
  3660. data/vendor/tracemonkey/trace-test/tests/basic/testContinue.js +11 -0
  3661. data/vendor/tracemonkey/trace-test/tests/basic/testContinueWithLabel.js +16 -0
  3662. data/vendor/tracemonkey/trace-test/tests/basic/testContinueWithLabel2.js +7 -0
  3663. data/vendor/tracemonkey/trace-test/tests/basic/testContinueWithLabel3.js +6 -0
  3664. data/vendor/tracemonkey/trace-test/tests/basic/testContinueWithLabel4.js +25 -0
  3665. data/vendor/tracemonkey/trace-test/tests/basic/testConvertibleObjectEqUndefined.js +33 -0
  3666. data/vendor/tracemonkey/trace-test/tests/basic/testCustomIterator.js +26 -0
  3667. data/vendor/tracemonkey/trace-test/tests/basic/testDateNow.js +15 -0
  3668. data/vendor/tracemonkey/trace-test/tests/basic/testDecayingInnerLoop.js +9 -0
  3669. data/vendor/tracemonkey/trace-test/tests/basic/testDeepBail1.js +6 -0
  3670. data/vendor/tracemonkey/trace-test/tests/basic/testDeepBailFromHasInstance.js +12 -0
  3671. data/vendor/tracemonkey/trace-test/tests/basic/testDeepPropertyShadowing.js +17 -0
  3672. data/vendor/tracemonkey/trace-test/tests/basic/testDenseArrayProp.js +12 -0
  3673. data/vendor/tracemonkey/trace-test/tests/basic/testDestructuring.js +9 -0
  3674. data/vendor/tracemonkey/trace-test/tests/basic/testDifferingArgc.js +18 -0
  3675. data/vendor/tracemonkey/trace-test/tests/basic/testDivOverflow.js +6 -0
  3676. data/vendor/tracemonkey/trace-test/tests/basic/testDivision.js +10 -0
  3677. data/vendor/tracemonkey/trace-test/tests/basic/testDivisionFloat.js +10 -0
  3678. data/vendor/tracemonkey/trace-test/tests/basic/testDivisionWithNegative1.js +6 -0
  3679. data/vendor/tracemonkey/trace-test/tests/basic/testDoubleComparison.js +16 -0
  3680. data/vendor/tracemonkey/trace-test/tests/basic/testDoubleToStr.js +9 -0
  3681. data/vendor/tracemonkey/trace-test/tests/basic/testEliminatedGuardWithinAnchor.js +12 -0
  3682. data/vendor/tracemonkey/trace-test/tests/basic/testEqFalseEmptyString.js +6 -0
  3683. data/vendor/tracemonkey/trace-test/tests/basic/testFewerGlobalsInInnerTree.js +14 -0
  3684. data/vendor/tracemonkey/trace-test/tests/basic/testFloatArrayIndex.js +9 -0
  3685. data/vendor/tracemonkey/trace-test/tests/basic/testForEach.js +11 -0
  3686. data/vendor/tracemonkey/trace-test/tests/basic/testForInLoopChangeIteratorType.js +11 -0
  3687. data/vendor/tracemonkey/trace-test/tests/basic/testFunctionIdentityChange.js +21 -0
  3688. data/vendor/tracemonkey/trace-test/tests/basic/testGCWhileRecording.js +12 -0
  3689. data/vendor/tracemonkey/trace-test/tests/basic/testGeneratorDeepBail.js +11 -0
  3690. data/vendor/tracemonkey/trace-test/tests/basic/testGetCallObj.js +11 -0
  3691. data/vendor/tracemonkey/trace-test/tests/basic/testGetThis.js +7 -0
  3692. data/vendor/tracemonkey/trace-test/tests/basic/testGlobalMultitrees1.js +11 -0
  3693. data/vendor/tracemonkey/trace-test/tests/basic/testGlobalProtoAccess.js +5 -0
  3694. data/vendor/tracemonkey/trace-test/tests/basic/testGlobalShapeChangeAfterDeepBail.js +15 -0
  3695. data/vendor/tracemonkey/trace-test/tests/basic/testGrowDenseArray.js +7 -0
  3696. data/vendor/tracemonkey/trace-test/tests/basic/testHOTLOOPCorrectness.js +14 -0
  3697. data/vendor/tracemonkey/trace-test/tests/basic/testHOTLOOPSize.js +4 -0
  3698. data/vendor/tracemonkey/trace-test/tests/basic/testHeavy.js +14 -0
  3699. data/vendor/tracemonkey/trace-test/tests/basic/testHeavy2.js +20 -0
  3700. data/vendor/tracemonkey/trace-test/tests/basic/testHolePushing.js +13 -0
  3701. data/vendor/tracemonkey/trace-test/tests/basic/testINITELEM.js +8 -0
  3702. data/vendor/tracemonkey/trace-test/tests/basic/testIn.js +19 -0
  3703. data/vendor/tracemonkey/trace-test/tests/basic/testIncDec.js +19 -0
  3704. data/vendor/tracemonkey/trace-test/tests/basic/testInitelemWithFloatIndex.js +3 -0
  3705. data/vendor/tracemonkey/trace-test/tests/basic/testInitelemWithSetter.js +3 -0
  3706. data/vendor/tracemonkey/trace-test/tests/basic/testInnerMissingArgs.js +21 -0
  3707. data/vendor/tracemonkey/trace-test/tests/basic/testInnerSwitchBreak.js +24 -0
  3708. data/vendor/tracemonkey/trace-test/tests/basic/testInt32ToId.js +39 -0
  3709. data/vendor/tracemonkey/trace-test/tests/basic/testIntFloor.js +8 -0
  3710. data/vendor/tracemonkey/trace-test/tests/basic/testIntOverflow.js +15 -0
  3711. data/vendor/tracemonkey/trace-test/tests/basic/testIntUnderflow.js +15 -0
  3712. data/vendor/tracemonkey/trace-test/tests/basic/testInterpreterReentery8.js +6 -0
  3713. data/vendor/tracemonkey/trace-test/tests/basic/testInterpreterReentry.js +6 -0
  3714. data/vendor/tracemonkey/trace-test/tests/basic/testInterpreterReentry2.js +11 -0
  3715. data/vendor/tracemonkey/trace-test/tests/basic/testInterpreterReentry3.js +7 -0
  3716. data/vendor/tracemonkey/trace-test/tests/basic/testInterpreterReentry4.js +6 -0
  3717. data/vendor/tracemonkey/trace-test/tests/basic/testInterpreterReentry5.js +9 -0
  3718. data/vendor/tracemonkey/trace-test/tests/basic/testInterpreterReentry6.js +7 -0
  3719. data/vendor/tracemonkey/trace-test/tests/basic/testInterpreterReentry7.js +11 -0
  3720. data/vendor/tracemonkey/trace-test/tests/basic/testInvalidCharCodeAt.js +12 -0
  3721. data/vendor/tracemonkey/trace-test/tests/basic/testInvertNullAfterNegateNull.js +7 -0
  3722. data/vendor/tracemonkey/trace-test/tests/basic/testLambdaCtor.js +14 -0
  3723. data/vendor/tracemonkey/trace-test/tests/basic/testLambdaInitedVar.js +8 -0
  3724. data/vendor/tracemonkey/trace-test/tests/basic/testLengthInString.js +12 -0
  3725. data/vendor/tracemonkey/trace-test/tests/basic/testLengthOnNonNativeProto.js +20 -0
  3726. data/vendor/tracemonkey/trace-test/tests/basic/testLetWithUnstableGlobal.js +11 -0
  3727. data/vendor/tracemonkey/trace-test/tests/basic/testLirBufOOM.js +34 -0
  3728. data/vendor/tracemonkey/trace-test/tests/basic/testLogicalNotNaN.js +8 -0
  3729. data/vendor/tracemonkey/trace-test/tests/basic/testLongNumToString.js +7 -0
  3730. data/vendor/tracemonkey/trace-test/tests/basic/testLoopWithUndefined1.js +12 -0
  3731. data/vendor/tracemonkey/trace-test/tests/basic/testLoopWithUndefined2.js +20 -0
  3732. data/vendor/tracemonkey/trace-test/tests/basic/testLoopingAccumulator.js +21 -0
  3733. data/vendor/tracemonkey/trace-test/tests/basic/testMatchAsCondition.js +8 -0
  3734. data/vendor/tracemonkey/trace-test/tests/basic/testMatchStringObject.js +8 -0
  3735. data/vendor/tracemonkey/trace-test/tests/basic/testMethodInit.js +15 -0
  3736. data/vendor/tracemonkey/trace-test/tests/basic/testMethodInitSafety.js +14 -0
  3737. data/vendor/tracemonkey/trace-test/tests/basic/testMethodSet.js +18 -0
  3738. data/vendor/tracemonkey/trace-test/tests/basic/testModuloWithNegative1.js +11 -0
  3739. data/vendor/tracemonkey/trace-test/tests/basic/testModuloWithNegative2.js +7 -0
  3740. data/vendor/tracemonkey/trace-test/tests/basic/testMoreArgcThanNargs.js +14 -0
  3741. data/vendor/tracemonkey/trace-test/tests/basic/testMoreClosures.js +14 -0
  3742. data/vendor/tracemonkey/trace-test/tests/basic/testMulOverflow.js +6 -0
  3743. data/vendor/tracemonkey/trace-test/tests/basic/testMultipleArgumentsObjects.js +12 -0
  3744. data/vendor/tracemonkey/trace-test/tests/basic/testNEWINIT.js +8 -0
  3745. data/vendor/tracemonkey/trace-test/tests/basic/testNEWINIT_DOUBLE.js +6 -0
  3746. data/vendor/tracemonkey/trace-test/tests/basic/testNativeArgsRooting.js +14 -0
  3747. data/vendor/tracemonkey/trace-test/tests/basic/testNativeLog.js +8 -0
  3748. data/vendor/tracemonkey/trace-test/tests/basic/testNativeMax.js +20 -0
  3749. data/vendor/tracemonkey/trace-test/tests/basic/testNativeSetter.js +14 -0
  3750. data/vendor/tracemonkey/trace-test/tests/basic/testNegZero1.js +9 -0
  3751. data/vendor/tracemonkey/trace-test/tests/basic/testNegativeArrayLength.js +10 -0
  3752. data/vendor/tracemonkey/trace-test/tests/basic/testNegativeGETELEMIndex.js +6 -0
  3753. data/vendor/tracemonkey/trace-test/tests/basic/testNestedClosures.js +23 -0
  3754. data/vendor/tracemonkey/trace-test/tests/basic/testNestedDeepBail.js +19 -0
  3755. data/vendor/tracemonkey/trace-test/tests/basic/testNestedEscapingLambdas.js +31 -0
  3756. data/vendor/tracemonkey/trace-test/tests/basic/testNestedExitStackOuter.js +29 -0
  3757. data/vendor/tracemonkey/trace-test/tests/basic/testNestedForIn.js +9 -0
  3758. data/vendor/tracemonkey/trace-test/tests/basic/testNewArrayCount.js +11 -0
  3759. data/vendor/tracemonkey/trace-test/tests/basic/testNewArrayCount2.js +7 -0
  3760. data/vendor/tracemonkey/trace-test/tests/basic/testNewDate.js +17 -0
  3761. data/vendor/tracemonkey/trace-test/tests/basic/testNewString.js +27 -0
  3762. data/vendor/tracemonkey/trace-test/tests/basic/testNewWithNonNativeProto.js +14 -0
  3763. data/vendor/tracemonkey/trace-test/tests/basic/testNonStubGetter.js +7 -0
  3764. data/vendor/tracemonkey/trace-test/tests/basic/testNot.js +8 -0
  3765. data/vendor/tracemonkey/trace-test/tests/basic/testNullCallee.js +16 -0
  3766. data/vendor/tracemonkey/trace-test/tests/basic/testNullRelCmp.js +6 -0
  3767. data/vendor/tracemonkey/trace-test/tests/basic/testNullToString.js +18 -0
  3768. data/vendor/tracemonkey/trace-test/tests/basic/testNumToString.js +18 -0
  3769. data/vendor/tracemonkey/trace-test/tests/basic/testNumberToString.js +6 -0
  3770. data/vendor/tracemonkey/trace-test/tests/basic/testObjectLength.js +15 -0
  3771. data/vendor/tracemonkey/trace-test/tests/basic/testObjectOrderedCmp.js +7 -0
  3772. data/vendor/tracemonkey/trace-test/tests/basic/testObjectOrderedCmp2.js +7 -0
  3773. data/vendor/tracemonkey/trace-test/tests/basic/testObjectToNumber.js +8 -0
  3774. data/vendor/tracemonkey/trace-test/tests/basic/testObjectToString.js +8 -0
  3775. data/vendor/tracemonkey/trace-test/tests/basic/testObjectVsPrototype.js +12 -0
  3776. data/vendor/tracemonkey/trace-test/tests/basic/testOwnPropertyWithInOperator.js +12 -0
  3777. data/vendor/tracemonkey/trace-test/tests/basic/testPrimitiveConstructorPrototype.js +7 -0
  3778. data/vendor/tracemonkey/trace-test/tests/basic/testPropagatedFunArgs.js +34 -0
  3779. data/vendor/tracemonkey/trace-test/tests/basic/testRUNLOOPCorrectness.js +15 -0
  3780. data/vendor/tracemonkey/trace-test/tests/basic/testReallyDeepNestedExit.js +38 -0
  3781. data/vendor/tracemonkey/trace-test/tests/basic/testRebranding.js +10 -0
  3782. data/vendor/tracemonkey/trace-test/tests/basic/testRebranding2.js +21 -0
  3783. data/vendor/tracemonkey/trace-test/tests/basic/testRegExpTest.js +10 -0
  3784. data/vendor/tracemonkey/trace-test/tests/basic/testRegexpGet.js +8 -0
  3785. data/vendor/tracemonkey/trace-test/tests/basic/testReplace2.js +7 -0
  3786. data/vendor/tracemonkey/trace-test/tests/basic/testResumeOp.js +8 -0
  3787. data/vendor/tracemonkey/trace-test/tests/basic/testReverseArgTypes.js +5 -0
  3788. data/vendor/tracemonkey/trace-test/tests/basic/testSetPropNeitherMissNorHit.js +5 -0
  3789. data/vendor/tracemonkey/trace-test/tests/basic/testSetPropertyFail.js +22 -0
  3790. data/vendor/tracemonkey/trace-test/tests/basic/testSetProtoRegeneratesObjectShape.js +24 -0
  3791. data/vendor/tracemonkey/trace-test/tests/basic/testSetelemWithFloatIndex.js +4 -0
  3792. data/vendor/tracemonkey/trace-test/tests/basic/testShiftLeft.js +38 -0
  3793. data/vendor/tracemonkey/trace-test/tests/basic/testShiftRightArithmetic.js +35 -0
  3794. data/vendor/tracemonkey/trace-test/tests/basic/testShiftRightLogical.js +38 -0
  3795. data/vendor/tracemonkey/trace-test/tests/basic/testSideExitInConstructor.js +39 -0
  3796. data/vendor/tracemonkey/trace-test/tests/basic/testSlowArrayLength.js +15 -0
  3797. data/vendor/tracemonkey/trace-test/tests/basic/testSlowArrayPop.js +12 -0
  3798. data/vendor/tracemonkey/trace-test/tests/basic/testSlowArrayPopMultiFrame.js +24 -0
  3799. data/vendor/tracemonkey/trace-test/tests/basic/testSlowArrayPopNestedTrees.js +36 -0
  3800. data/vendor/tracemonkey/trace-test/tests/basic/testSlowNativeBail.js +10 -0
  3801. data/vendor/tracemonkey/trace-test/tests/basic/testSlowNativeCtor.js +7 -0
  3802. data/vendor/tracemonkey/trace-test/tests/basic/testStrict.js +11 -0
  3803. data/vendor/tracemonkey/trace-test/tests/basic/testString.js +18 -0
  3804. data/vendor/tracemonkey/trace-test/tests/basic/testStringConstructorWithExtraArg.js +6 -0
  3805. data/vendor/tracemonkey/trace-test/tests/basic/testStringLengthNoTinyId.js +64 -0
  3806. data/vendor/tracemonkey/trace-test/tests/basic/testStringObjectLength.js +7 -0
  3807. data/vendor/tracemonkey/trace-test/tests/basic/testStringResolve.js +9 -0
  3808. data/vendor/tracemonkey/trace-test/tests/basic/testStringToInt32.js +6 -0
  3809. data/vendor/tracemonkey/trace-test/tests/basic/testStringify.js +20 -0
  3810. data/vendor/tracemonkey/trace-test/tests/basic/testSubstring.js +7 -0
  3811. data/vendor/tracemonkey/trace-test/tests/basic/testSwitch.js +25 -0
  3812. data/vendor/tracemonkey/trace-test/tests/basic/testSwitchString.js +28 -0
  3813. data/vendor/tracemonkey/trace-test/tests/basic/testSwitchUndefined.js +15 -0
  3814. data/vendor/tracemonkey/trace-test/tests/basic/testTableSwitch1.js +22 -0
  3815. data/vendor/tracemonkey/trace-test/tests/basic/testTableSwitch2.js +27 -0
  3816. data/vendor/tracemonkey/trace-test/tests/basic/testThinForEach.js +10 -0
  3817. data/vendor/tracemonkey/trace-test/tests/basic/testThinLoopDemote.js +20 -0
  3818. data/vendor/tracemonkey/trace-test/tests/basic/testThrowingObjectEqUndefined.js +18 -0
  3819. data/vendor/tracemonkey/trace-test/tests/basic/testToStringBeforeValueOf.js +13 -0
  3820. data/vendor/tracemonkey/trace-test/tests/basic/testToUpperToLower.js +9 -0
  3821. data/vendor/tracemonkey/trace-test/tests/basic/testTrueShiftTrue.js +16 -0
  3822. data/vendor/tracemonkey/trace-test/tests/basic/testTypeUnstableForIn.js +10 -0
  3823. data/vendor/tracemonkey/trace-test/tests/basic/testTypeofHole.js +8 -0
  3824. data/vendor/tracemonkey/trace-test/tests/basic/testUnaryImacros.js +26 -0
  3825. data/vendor/tracemonkey/trace-test/tests/basic/testUndefinedBooleanCmp.js +24 -0
  3826. data/vendor/tracemonkey/trace-test/tests/basic/testUndefinedCmp.js +6 -0
  3827. data/vendor/tracemonkey/trace-test/tests/basic/testUndefinedPropertyAccess.js +15 -0
  3828. data/vendor/tracemonkey/trace-test/tests/basic/testUndemotableBinaryOp.js +6 -0
  3829. data/vendor/tracemonkey/trace-test/tests/basic/testUndemoteLateGlobalSlots.js +11 -0
  3830. data/vendor/tracemonkey/trace-test/tests/basic/testWeirdDateParse.js +46 -0
  3831. data/vendor/tracemonkey/trace-test/tests/basic/testWhileObjectOrNull.js +18 -0
  3832. data/vendor/tracemonkey/trace-test/tests/basic/test_JSOP_ARGCNT.js +27 -0
  3833. data/vendor/tracemonkey/trace-test/tests/basic/test_JSOP_ARGSUB.js +27 -0
  3834. data/vendor/tracemonkey/trace-test/tests/basic/testif.js +11 -0
  3835. data/vendor/tracemonkey/trace-test/tests/basic/testincops.js +24 -0
  3836. data/vendor/tracemonkey/trace-test/tests/basic/trees.js +10 -0
  3837. data/vendor/tracemonkey/trace-test/tests/basic/truthies.js +29 -0
  3838. data/vendor/tracemonkey/trace-test/tests/basic/typeofTest.js +8 -0
  3839. data/vendor/tracemonkey/trace-test/tests/basic/unboxint.js +8 -0
  3840. data/vendor/tracemonkey/trace-test/tests/basic/xprop.js +8 -0
  3841. data/vendor/tracemonkey/{correct → trace-test/tests/sunspider}/check-3d-morph.js +5 -1
  3842. data/vendor/tracemonkey/{correct → trace-test/tests/sunspider}/check-3d-raytrace.js +1 -3
  3843. data/vendor/tracemonkey/{correct → trace-test/tests/sunspider}/check-access-binary-trees.js +1 -1
  3844. data/vendor/tracemonkey/{correct → trace-test/tests/sunspider}/check-access-fannkuch.js +1 -1
  3845. data/vendor/tracemonkey/{correct → trace-test/tests/sunspider}/check-access-nbody.js +1 -1
  3846. data/vendor/tracemonkey/{correct → trace-test/tests/sunspider}/check-access-nsieve.js +1 -1
  3847. data/vendor/tracemonkey/{correct → trace-test/tests/sunspider}/check-bitops-3bit-bits-in-byte.js +1 -1
  3848. data/vendor/tracemonkey/{correct → trace-test/tests/sunspider}/check-bitops-bits-in-byte.js +1 -1
  3849. data/vendor/tracemonkey/{correct → trace-test/tests/sunspider}/check-bitops-bitwise-and.js +1 -1
  3850. data/vendor/tracemonkey/{correct → trace-test/tests/sunspider}/check-bitops-nsieve-bits.js +1 -1
  3851. data/vendor/tracemonkey/{correct → trace-test/tests/sunspider}/check-controlflow-recursive.js +1 -1
  3852. data/vendor/tracemonkey/{correct → trace-test/tests/sunspider}/check-date-format-tofte.js +1 -1
  3853. data/vendor/tracemonkey/trace-test/tests/sunspider/check-date-format-xparb.js +422 -0
  3854. data/vendor/tracemonkey/{correct → trace-test/tests/sunspider}/check-mont.js +1 -1
  3855. data/vendor/tracemonkey/trace-test/trace-test.py +330 -0
  3856. data/vendor/tracemonkey/tracevis/README +50 -0
  3857. data/vendor/tracemonkey/tracevis/acts.py +64 -0
  3858. data/vendor/tracemonkey/tracevis/binlog.py +140 -0
  3859. data/vendor/tracemonkey/tracevis/config.py +5 -0
  3860. data/vendor/tracemonkey/tracevis/tree.py +282 -0
  3861. data/vendor/tracemonkey/tracevis/vis.py +233 -0
  3862. data/vendor/tracemonkey/{config/revdepth-nt.pl → vprof/manifest.mk} +8 -17
  3863. data/vendor/tracemonkey/vprof/testVprofMT.c +125 -0
  3864. data/vendor/tracemonkey/vprof/vprof.h +10 -12
  3865. data/vendor/tracemonkey/xpconnect/idl/nsIXPCScriptable.idl +2 -2
  3866. data/vendor/tracemonkey/xpconnect/idl/nsIXPConnect.idl +43 -22
  3867. data/vendor/tracemonkey/xpconnect/idl/xpcIJSWeakReference.idl +0 -0
  3868. data/vendor/tracemonkey/xpconnect/idl/xpcexception.idl +12 -1
  3869. data/vendor/tracemonkey/xpconnect/loader/XPCOMUtils.jsm +49 -3
  3870. data/vendor/tracemonkey/xpconnect/loader/mozJSComponentLoader.cpp +10 -20
  3871. data/vendor/tracemonkey/xpconnect/shell/Makefile.in +2 -1
  3872. data/vendor/tracemonkey/xpconnect/shell/xpcshell.cpp +120 -40
  3873. data/vendor/tracemonkey/xpconnect/src/Makefile.in +10 -7
  3874. data/vendor/tracemonkey/xpconnect/src/XPCChromeObjectWrapper.cpp +769 -0
  3875. data/vendor/tracemonkey/xpconnect/src/XPCCrossOriginWrapper.cpp +25 -19
  3876. data/vendor/tracemonkey/xpconnect/src/XPCDispConvert.cpp +4 -0
  3877. data/vendor/tracemonkey/xpconnect/src/XPCDispInlines.h +4 -5
  3878. data/vendor/tracemonkey/xpconnect/src/XPCDispPrivate.h +2 -10
  3879. data/vendor/tracemonkey/xpconnect/src/XPCDispTypeInfo.cpp +7 -12
  3880. data/vendor/tracemonkey/xpconnect/src/XPCIDispatchExtension.cpp +0 -198
  3881. data/vendor/tracemonkey/xpconnect/src/XPCNativeWrapper.cpp +16 -9
  3882. data/vendor/tracemonkey/xpconnect/src/XPCNativeWrapper.h +1 -1
  3883. data/vendor/tracemonkey/xpconnect/src/XPCSafeJSObjectWrapper.cpp +143 -269
  3884. data/vendor/tracemonkey/xpconnect/src/XPCSystemOnlyWrapper.cpp +9 -1
  3885. data/vendor/tracemonkey/xpconnect/src/XPCWrapper.cpp +3 -2
  3886. data/vendor/tracemonkey/xpconnect/src/XPCWrapper.h +19 -4
  3887. data/vendor/tracemonkey/xpconnect/src/dom_quickstubs.qsconf +44 -48
  3888. data/vendor/tracemonkey/xpconnect/src/nsDispatchSupport.cpp +6 -3
  3889. data/vendor/tracemonkey/xpconnect/src/nsXPConnect.cpp +325 -202
  3890. data/vendor/tracemonkey/xpconnect/src/qsgen.py +67 -71
  3891. data/vendor/tracemonkey/xpconnect/src/xpcJSWeakReference.cpp +0 -0
  3892. data/vendor/tracemonkey/xpconnect/src/xpcJSWeakReference.h +0 -0
  3893. data/vendor/tracemonkey/xpconnect/src/xpccallcontext.cpp +82 -13
  3894. data/vendor/tracemonkey/xpconnect/src/xpccomponents.cpp +36 -28
  3895. data/vendor/tracemonkey/xpconnect/src/xpcconvert.cpp +139 -44
  3896. data/vendor/tracemonkey/xpconnect/src/xpcdebug.cpp +7 -0
  3897. data/vendor/tracemonkey/xpconnect/src/xpcexception.cpp +13 -7
  3898. data/vendor/tracemonkey/xpconnect/src/xpcforwards.h +0 -1
  3899. data/vendor/tracemonkey/xpconnect/src/xpcinlines.h +27 -10
  3900. data/vendor/tracemonkey/xpconnect/src/xpcjsid.cpp +47 -35
  3901. data/vendor/tracemonkey/xpconnect/src/xpcjsruntime.cpp +48 -67
  3902. data/vendor/tracemonkey/xpconnect/src/xpclog.cpp +35 -0
  3903. data/vendor/tracemonkey/xpconnect/src/xpclog.h +55 -0
  3904. data/vendor/tracemonkey/xpconnect/src/xpcprivate.h +322 -75
  3905. data/vendor/tracemonkey/xpconnect/src/xpcquickstubs.cpp +142 -114
  3906. data/vendor/tracemonkey/xpconnect/src/xpcquickstubs.h +25 -49
  3907. data/vendor/tracemonkey/xpconnect/src/xpcstring.cpp +14 -7
  3908. data/vendor/tracemonkey/xpconnect/src/xpcthreadcontext.cpp +6 -6
  3909. data/vendor/tracemonkey/xpconnect/src/xpcthrower.cpp +10 -3
  3910. data/vendor/tracemonkey/xpconnect/src/xpcvariant.cpp +9 -8
  3911. data/vendor/tracemonkey/xpconnect/src/xpcwrappedjs.cpp +15 -14
  3912. data/vendor/tracemonkey/xpconnect/src/xpcwrappedjsclass.cpp +109 -111
  3913. data/vendor/tracemonkey/xpconnect/src/xpcwrappednative.cpp +498 -118
  3914. data/vendor/tracemonkey/xpconnect/src/xpcwrappednativeinfo.cpp +5 -6
  3915. data/vendor/tracemonkey/xpconnect/src/xpcwrappednativejsops.cpp +188 -25
  3916. data/vendor/tracemonkey/xpconnect/src/xpcwrappednativeproto.cpp +6 -3
  3917. data/vendor/tracemonkey/xpconnect/src/xpcwrappednativescope.cpp +46 -27
  3918. data/vendor/tracemonkey/xpconnect/tests/TestXPC.cpp +118 -115
  3919. data/vendor/tracemonkey/xpconnect/tests/chrome/Makefile.in +2 -0
  3920. data/vendor/tracemonkey/xpconnect/tests/chrome/bug503926.xul +28 -0
  3921. data/vendor/tracemonkey/xpconnect/tests/chrome/test_bug503926.xul +43 -0
  3922. data/vendor/tracemonkey/xpconnect/tests/idispatch/Tests/jsDriver.pl +1 -61
  3923. data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_observer.js +1 -2
  3924. data/vendor/tracemonkey/xpconnect/tests/mochitest/Makefile.in +3 -0
  3925. data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug390488.html +1 -1
  3926. data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug393269.html +1 -1
  3927. data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug396851.html +1 -1
  3928. data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug428021.html +1 -1
  3929. data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug446584.html +1 -1
  3930. data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug448587.html +1 -1
  3931. data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug462428.html +1 -1
  3932. data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug478438.html +1 -1
  3933. data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug484107.html +1 -1
  3934. data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug502959.html +38 -0
  3935. data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug503926.html +30 -0
  3936. data/vendor/tracemonkey/xpconnect/tests/mochitest/test_cows.html +179 -0
  3937. data/vendor/tracemonkey/xpconnect/tests/mochitest/test_wrappers.html +9 -0
  3938. data/vendor/tracemonkey/xpconnect/tests/unit/test_iterate.js +54 -0
  3939. data/vendor/tracemonkey/xpconnect/tests/unit/test_js_weak_references.js +0 -0
  3940. data/vendor/tracemonkey/xpconnect/tests/unit/test_xpcomutils.js +135 -0
  3941. data/vendor/tracemonkey/xpconnect/tools/src/nsXPCToolsCompiler.cpp +1 -1
  3942. data/vendor/tracemonkey/xpconnect/tools/src/xpctools_private.h +1 -1
  3943. metadata +3711 -35
  3944. data/vendor/tracemonkey/build/autoconf/update-makefile.sh +0 -118
  3945. data/vendor/tracemonkey/correct.sh +0 -23
  3946. data/vendor/tracemonkey/correct/check-date-format-xparb.js +0 -421
  3947. data/vendor/tracemonkey/if.js +0 -13
  3948. data/vendor/tracemonkey/js3240.rc +0 -79
  3949. data/vendor/tracemonkey/jsOS240.def +0 -654
  3950. data/vendor/tracemonkey/math-partial-sums.js +0 -32
  3951. data/vendor/tracemonkey/md5.js +0 -289
  3952. data/vendor/tracemonkey/nanojit/NativeThumb.cpp +0 -1322
  3953. data/vendor/tracemonkey/nanojit/NativeThumb.h +0 -525
  3954. data/vendor/tracemonkey/nanojit/TraceTreeDrawer.cpp +0 -306
@@ -1,4 +1,4 @@
1
- /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
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 *****
@@ -41,14 +41,15 @@
41
41
  /*
42
42
  * JS function support.
43
43
  */
44
- #include "jsstddef.h"
45
44
  #include <string.h>
46
45
  #include "jstypes.h"
46
+ #include "jsstdint.h"
47
47
  #include "jsbit.h"
48
48
  #include "jsutil.h" /* Added by JSIFY */
49
49
  #include "jsapi.h"
50
50
  #include "jsarray.h"
51
51
  #include "jsatom.h"
52
+ #include "jsbool.h"
52
53
  #include "jsbuiltins.h"
53
54
  #include "jscntxt.h"
54
55
  #include "jsversion.h"
@@ -68,6 +69,7 @@
68
69
  #include "jsstr.h"
69
70
  #include "jsexn.h"
70
71
  #include "jsstaticcheck.h"
72
+ #include "jstracer.h"
71
73
 
72
74
  #if JS_HAS_GENERATORS
73
75
  # include "jsiter.h"
@@ -77,37 +79,56 @@
77
79
  # include "jsxdrapi.h"
78
80
  #endif
79
81
 
80
- /* Generic function/call/arguments tinyids -- also reflected bit numbers. */
81
- enum {
82
- CALL_ARGUMENTS = -1, /* predefined arguments local variable */
83
- ARGS_LENGTH = -2, /* number of actual args, arity if inactive */
84
- ARGS_CALLEE = -3, /* reference from arguments to active funobj */
85
- FUN_ARITY = -4, /* number of formal parameters; desired argc */
86
- FUN_NAME = -5, /* function name, "" if anonymous */
87
- FUN_CALLER = -6 /* Function.prototype.caller, backward compat */
88
- };
82
+ #include "jsatominlines.h"
89
83
 
90
- #if JSFRAME_OVERRIDE_BITS < 8
91
- # error "not enough override bits in JSStackFrame.flags!"
92
- #endif
84
+ static inline void
85
+ SetOverriddenArgsLength(JSObject *obj)
86
+ {
87
+ JS_ASSERT(STOBJ_GET_CLASS(obj) == &js_ArgumentsClass);
88
+
89
+ jsval v = obj->fslots[JSSLOT_ARGS_LENGTH];
90
+ v = INT_TO_JSVAL(JSVAL_TO_INT(v) | 1);
91
+ JS_ASSERT(JSVAL_IS_INT(v));
92
+ obj->fslots[JSSLOT_ARGS_LENGTH] = v;
93
+ }
94
+
95
+ static inline void
96
+ InitArgsLengthSlot(JSObject *obj, uint32 argc)
97
+ {
98
+ JS_ASSERT(STOBJ_GET_CLASS(obj) == &js_ArgumentsClass);
99
+ JS_ASSERT(argc <= JS_ARGS_LENGTH_MAX);
100
+ JS_ASSERT(obj->fslots[JSSLOT_ARGS_LENGTH] == JSVAL_VOID);
101
+ obj->fslots[JSSLOT_ARGS_LENGTH] = INT_TO_JSVAL(argc << 1);
102
+ JS_ASSERT(!js_IsOverriddenArgsLength(obj));
103
+ }
104
+
105
+ static inline uint32
106
+ GetArgsLength(JSObject *obj)
107
+ {
108
+ JS_ASSERT(STOBJ_GET_CLASS(obj) == &js_ArgumentsClass);
93
109
 
94
- #define TEST_OVERRIDE_BIT(fp, tinyid) \
95
- ((fp)->flags & JS_BIT(JSFRAME_OVERRIDE_SHIFT - ((tinyid) + 1)))
110
+ uint32 argc = uint32(JSVAL_TO_INT(obj->fslots[JSSLOT_ARGS_LENGTH])) >> 1;
111
+ JS_ASSERT(argc <= JS_ARGS_LENGTH_MAX);
112
+ return argc;
113
+ }
96
114
 
97
- #define SET_OVERRIDE_BIT(fp, tinyid) \
98
- ((fp)->flags |= JS_BIT(JSFRAME_OVERRIDE_SHIFT - ((tinyid) + 1)))
115
+ static inline void
116
+ SetArgsPrivateNative(JSObject *argsobj, js_ArgsPrivateNative *apn)
117
+ {
118
+ JS_ASSERT(STOBJ_GET_CLASS(argsobj) == &js_ArgumentsClass);
119
+ uintptr_t p = (uintptr_t) apn;
120
+ argsobj->setPrivate((void*) (p | 2));
121
+ }
99
122
 
100
123
  JSBool
101
124
  js_GetArgsValue(JSContext *cx, JSStackFrame *fp, jsval *vp)
102
125
  {
103
126
  JSObject *argsobj;
104
127
 
105
- if (TEST_OVERRIDE_BIT(fp, CALL_ARGUMENTS)) {
128
+ if (fp->flags & JSFRAME_OVERRIDE_ARGS) {
106
129
  JS_ASSERT(fp->callobj);
107
- return OBJ_GET_PROPERTY(cx, fp->callobj,
108
- ATOM_TO_JSID(cx->runtime->atomState
109
- .argumentsAtom),
110
- vp);
130
+ jsid id = ATOM_TO_JSID(cx->runtime->atomState.argumentsAtom);
131
+ return fp->callobj->getProperty(cx, id, vp);
111
132
  }
112
133
  argsobj = js_GetArgsObject(cx, fp);
113
134
  if (!argsobj)
@@ -116,100 +137,39 @@ js_GetArgsValue(JSContext *cx, JSStackFrame *fp, jsval *vp)
116
137
  return JS_TRUE;
117
138
  }
118
139
 
119
- static JSBool
120
- MarkArgDeleted(JSContext *cx, JSStackFrame *fp, uintN slot)
121
- {
122
- JSObject *argsobj;
123
- jsval bmapval, bmapint;
124
- size_t nbits, nbytes;
125
- jsbitmap *bitmap;
126
-
127
- argsobj = fp->argsobj;
128
- (void) JS_GetReservedSlot(cx, argsobj, 0, &bmapval);
129
- nbits = fp->argc;
130
- JS_ASSERT(slot < nbits);
131
- if (JSVAL_IS_VOID(bmapval)) {
132
- if (nbits <= JSVAL_INT_BITS) {
133
- bmapint = 0;
134
- bitmap = (jsbitmap *) &bmapint;
135
- } else {
136
- nbytes = JS_HOWMANY(nbits, JS_BITS_PER_WORD) * sizeof(jsbitmap);
137
- bitmap = (jsbitmap *) JS_malloc(cx, nbytes);
138
- if (!bitmap)
139
- return JS_FALSE;
140
- memset(bitmap, 0, nbytes);
141
- bmapval = PRIVATE_TO_JSVAL(bitmap);
142
- JS_SetReservedSlot(cx, argsobj, 0, bmapval);
143
- }
144
- } else {
145
- if (nbits <= JSVAL_INT_BITS) {
146
- bmapint = JSVAL_TO_INT(bmapval);
147
- bitmap = (jsbitmap *) &bmapint;
148
- } else {
149
- bitmap = (jsbitmap *) JSVAL_TO_PRIVATE(bmapval);
150
- }
151
- }
152
- JS_SET_BIT(bitmap, slot);
153
- if (bitmap == (jsbitmap *) &bmapint) {
154
- bmapval = INT_TO_JSVAL(bmapint);
155
- JS_SetReservedSlot(cx, argsobj, 0, bmapval);
156
- }
157
- return JS_TRUE;
158
- }
159
-
160
- /* NB: Infallible predicate, false does not mean error/exception. */
161
- static JSBool
162
- ArgWasDeleted(JSContext *cx, JSStackFrame *fp, uintN slot)
163
- {
164
- JSObject *argsobj;
165
- jsval bmapval, bmapint;
166
- jsbitmap *bitmap;
167
-
168
- argsobj = fp->argsobj;
169
- (void) JS_GetReservedSlot(cx, argsobj, 0, &bmapval);
170
- if (JSVAL_IS_VOID(bmapval))
171
- return JS_FALSE;
172
- if (fp->argc <= JSVAL_INT_BITS) {
173
- bmapint = JSVAL_TO_INT(bmapval);
174
- bitmap = (jsbitmap *) &bmapint;
175
- } else {
176
- bitmap = (jsbitmap *) JSVAL_TO_PRIVATE(bmapval);
177
- }
178
- return JS_TEST_BIT(bitmap, slot) != 0;
179
- }
180
-
181
140
  JSBool
182
141
  js_GetArgsProperty(JSContext *cx, JSStackFrame *fp, jsid id, jsval *vp)
183
142
  {
184
- jsval val;
185
- JSObject *obj;
186
- uintN slot;
187
-
188
- if (TEST_OVERRIDE_BIT(fp, CALL_ARGUMENTS)) {
143
+ if (fp->flags & JSFRAME_OVERRIDE_ARGS) {
189
144
  JS_ASSERT(fp->callobj);
190
- if (!OBJ_GET_PROPERTY(cx, fp->callobj,
191
- ATOM_TO_JSID(cx->runtime->atomState
192
- .argumentsAtom),
193
- &val)) {
194
- return JS_FALSE;
195
- }
196
- if (JSVAL_IS_PRIMITIVE(val)) {
197
- obj = js_ValueToNonNullObject(cx, val);
145
+
146
+ jsid argumentsid = ATOM_TO_JSID(cx->runtime->atomState.argumentsAtom);
147
+ jsval v;
148
+ if (!fp->callobj->getProperty(cx, argumentsid, &v))
149
+ return false;
150
+
151
+ JSObject *obj;
152
+ if (JSVAL_IS_PRIMITIVE(v)) {
153
+ obj = js_ValueToNonNullObject(cx, v);
198
154
  if (!obj)
199
- return JS_FALSE;
155
+ return false;
200
156
  } else {
201
- obj = JSVAL_TO_OBJECT(val);
157
+ obj = JSVAL_TO_OBJECT(v);
202
158
  }
203
- return OBJ_GET_PROPERTY(cx, obj, id, vp);
159
+ return obj->getProperty(cx, id, vp);
204
160
  }
205
161
 
206
162
  *vp = JSVAL_VOID;
207
163
  if (JSID_IS_INT(id)) {
208
- slot = (uintN) JSID_TO_INT(id);
209
- if (slot < fp->argc) {
210
- if (fp->argsobj && ArgWasDeleted(cx, fp, slot))
211
- return OBJ_GET_PROPERTY(cx, fp->argsobj, id, vp);
212
- *vp = fp->argv[slot];
164
+ uint32 arg = uint32(JSID_TO_INT(id));
165
+ JSObject *argsobj = JSVAL_TO_OBJECT(fp->argsobj);
166
+ if (arg < fp->argc) {
167
+ if (argsobj) {
168
+ jsval v = OBJ_GET_SLOT(cx, argsobj, JSSLOT_ARGS_COPY_START+arg);
169
+ if (v == JSVAL_HOLE)
170
+ return argsobj->getProperty(cx, id, vp);
171
+ }
172
+ *vp = fp->argv[arg];
213
173
  } else {
214
174
  /*
215
175
  * Per ECMA-262 Ed. 3, 10.1.8, last bulleted item, do not share
@@ -223,24 +183,51 @@ js_GetArgsProperty(JSContext *cx, JSStackFrame *fp, jsid id, jsval *vp)
223
183
  * is null at this point, as it would be in the example, return
224
184
  * undefined in *vp.
225
185
  */
226
- if (fp->argsobj)
227
- return OBJ_GET_PROPERTY(cx, fp->argsobj, id, vp);
228
- }
229
- } else {
230
- if (id == ATOM_TO_JSID(cx->runtime->atomState.lengthAtom)) {
231
- if (fp->argsobj && TEST_OVERRIDE_BIT(fp, ARGS_LENGTH))
232
- return OBJ_GET_PROPERTY(cx, fp->argsobj, id, vp);
233
- *vp = INT_TO_JSVAL((jsint) fp->argc);
186
+ if (argsobj)
187
+ return argsobj->getProperty(cx, id, vp);
234
188
  }
189
+ } else if (id == ATOM_TO_JSID(cx->runtime->atomState.lengthAtom)) {
190
+ JSObject *argsobj = JSVAL_TO_OBJECT(fp->argsobj);
191
+ if (argsobj && js_IsOverriddenArgsLength(argsobj))
192
+ return argsobj->getProperty(cx, id, vp);
193
+ *vp = INT_TO_JSVAL(jsint(fp->argc));
235
194
  }
236
- return JS_TRUE;
195
+ return true;
196
+ }
197
+
198
+ static JSObject *
199
+ NewArguments(JSContext *cx, JSObject *parent, uint32 argc, JSObject *callee)
200
+ {
201
+ JSObject *argsobj = js_NewObject(cx, &js_ArgumentsClass, NULL, parent, 0);
202
+ if (!argsobj || !js_EnsureReservedSlots(cx, argsobj, argc))
203
+ return NULL;
204
+
205
+ argsobj->fslots[JSSLOT_ARGS_CALLEE] = OBJECT_TO_JSVAL(callee);
206
+ InitArgsLengthSlot(argsobj, argc);
207
+ return argsobj;
237
208
  }
238
209
 
210
+ static void
211
+ PutArguments(JSContext *cx, JSObject *argsobj, jsval *args)
212
+ {
213
+ uint32 argc = GetArgsLength(argsobj);
214
+ JS_LOCK_OBJ(cx, argsobj);
215
+ for (uint32 i = 0; i != argc; ++i) {
216
+ jsval v = STOBJ_GET_SLOT(argsobj, JSSLOT_ARGS_COPY_START + i);
217
+ if (v != JSVAL_HOLE)
218
+ STOBJ_SET_SLOT(argsobj, JSSLOT_ARGS_COPY_START + i, args[i]);
219
+ }
220
+ JS_UNLOCK_OBJ(cx, argsobj);
221
+ }
222
+
223
+ #ifdef OJI
224
+ JS_BEGIN_EXTERN_C
225
+ JS_EXPORT_API(JSObject *)
226
+ #else
239
227
  JSObject *
228
+ #endif
240
229
  js_GetArgsObject(JSContext *cx, JSStackFrame *fp)
241
230
  {
242
- JSObject *argsobj, *global, *parent;
243
-
244
231
  /*
245
232
  * We must be in a function activation; the function must be lightweight
246
233
  * or else fp must have a variable object.
@@ -252,17 +239,10 @@ js_GetArgsObject(JSContext *cx, JSStackFrame *fp)
252
239
  fp = fp->down;
253
240
 
254
241
  /* Create an arguments object for fp only if it lacks one. */
255
- argsobj = fp->argsobj;
242
+ JSObject *argsobj = JSVAL_TO_OBJECT(fp->argsobj);
256
243
  if (argsobj)
257
244
  return argsobj;
258
245
 
259
- /* Link the new object to fp so it can get actual argument values. */
260
- argsobj = js_NewObject(cx, &js_ArgumentsClass, NULL, NULL, 0);
261
- if (!argsobj || !JS_SetPrivate(cx, argsobj, fp)) {
262
- cx->weakRoots.newborn[GCX_OBJECT] = NULL;
263
- return NULL;
264
- }
265
-
266
246
  /*
267
247
  * Give arguments an intrinsic scope chain link to fp's global object.
268
248
  * Since the arguments object lacks a prototype because js_ArgumentsClass
@@ -274,95 +254,86 @@ js_GetArgsObject(JSContext *cx, JSStackFrame *fp)
274
254
  * js_GetClassPrototype not being able to find a global object containing
275
255
  * the standard prototype by starting from arguments and following parent.
276
256
  */
277
- global = fp->scopeChain;
257
+ JSObject *parent, *global = fp->scopeChain;
278
258
  while ((parent = OBJ_GET_PARENT(cx, global)) != NULL)
279
259
  global = parent;
280
- STOBJ_SET_PARENT(argsobj, global);
281
- fp->argsobj = argsobj;
260
+
261
+ JS_ASSERT(fp->argv);
262
+ argsobj = NewArguments(cx, global, fp->argc, JSVAL_TO_OBJECT(fp->argv[-2]));
263
+ if (!argsobj)
264
+ return argsobj;
265
+
266
+ /* Link the new object to fp so it can get actual argument values. */
267
+ argsobj->setPrivate(fp);
268
+ fp->argsobj = OBJECT_TO_JSVAL(argsobj);
282
269
  return argsobj;
283
270
  }
284
271
 
285
- static JSBool
286
- args_enumerate(JSContext *cx, JSObject *obj);
287
-
288
- JS_FRIEND_API(JSBool)
272
+ #ifdef OJI
273
+ JS_EXPORT_API(void)
274
+ #else
275
+ void
276
+ #endif
289
277
  js_PutArgsObject(JSContext *cx, JSStackFrame *fp)
290
278
  {
291
- JSObject *argsobj;
292
- jsval bmapval, rval;
293
- JSBool ok;
294
- JSRuntime *rt;
279
+ JSObject *argsobj = JSVAL_TO_OBJECT(fp->argsobj);
280
+ JS_ASSERT(argsobj->getPrivate() == fp);
281
+ PutArguments(cx, argsobj, fp->argv);
282
+ argsobj->setPrivate(NULL);
283
+ fp->argsobj = JSVAL_NULL;
284
+ }
285
+ #ifdef OJI
286
+ JS_END_EXTERN_C
287
+ #endif
295
288
 
296
- /*
297
- * Reuse args_enumerate here to reflect fp's actual arguments as indexed
298
- * elements of argsobj. Do this first, before clearing and freeing the
299
- * deleted argument slot bitmap, because args_enumerate depends on that.
300
- */
301
- argsobj = fp->argsobj;
302
- ok = args_enumerate(cx, argsobj);
289
+ /*
290
+ * Traced versions of js_GetArgsObject and js_PutArgsObject.
291
+ */
303
292
 
304
- /*
305
- * Now clear the deleted argument number bitmap slot and free the bitmap,
306
- * if one was actually created due to 'delete arguments[0]' or similar.
307
- */
308
- (void) JS_GetReservedSlot(cx, argsobj, 0, &bmapval);
309
- if (!JSVAL_IS_VOID(bmapval)) {
310
- JS_SetReservedSlot(cx, argsobj, 0, JSVAL_VOID);
311
- if (fp->argc > JSVAL_INT_BITS)
312
- JS_free(cx, JSVAL_TO_PRIVATE(bmapval));
313
- }
293
+ #ifdef JS_TRACER
294
+ JSObject * JS_FASTCALL
295
+ js_Arguments(JSContext *cx, JSObject *parent, uint32 argc, JSObject *callee,
296
+ double *argv, js_ArgsPrivateNative *apn)
297
+ {
298
+ JSObject *argsobj = NewArguments(cx, parent, argc, callee);
299
+ if (!argsobj)
300
+ return NULL;
301
+ apn->argv = argv;
302
+ SetArgsPrivateNative(argsobj, apn);
303
+ return argsobj;
304
+ }
305
+ #endif
314
306
 
315
- /*
316
- * Now get the prototype properties so we snapshot fp->fun and fp->argc
317
- * before fp goes away.
318
- */
319
- rt = cx->runtime;
320
- ok &= js_GetProperty(cx, argsobj, ATOM_TO_JSID(rt->atomState.calleeAtom),
321
- &rval);
322
- ok &= js_SetProperty(cx, argsobj, ATOM_TO_JSID(rt->atomState.calleeAtom),
323
- &rval);
324
- ok &= js_GetProperty(cx, argsobj, ATOM_TO_JSID(rt->atomState.lengthAtom),
325
- &rval);
326
- ok &= js_SetProperty(cx, argsobj, ATOM_TO_JSID(rt->atomState.lengthAtom),
327
- &rval);
307
+ JS_DEFINE_CALLINFO_6(extern, OBJECT, js_Arguments, CONTEXT, OBJECT, UINT32, OBJECT,
308
+ DOUBLEPTR, APNPTR, 0, 0)
328
309
 
329
- /*
330
- * Clear the private pointer to fp, which is about to go away (js_Invoke).
331
- * Do this last because the args_enumerate and js_GetProperty calls above
332
- * need to follow the private slot to find fp.
333
- */
334
- ok &= JS_SetPrivate(cx, argsobj, NULL);
335
- fp->argsobj = NULL;
336
- return ok;
310
+ /* FIXME change the return type to void. */
311
+ JSBool JS_FASTCALL
312
+ js_PutArguments(JSContext *cx, JSObject *argsobj, jsval *args)
313
+ {
314
+ JS_ASSERT(js_GetArgsPrivateNative(argsobj));
315
+ PutArguments(cx, argsobj, args);
316
+ argsobj->setPrivate(NULL);
317
+ return true;
337
318
  }
338
319
 
320
+ JS_DEFINE_CALLINFO_3(extern, BOOL, js_PutArguments, CONTEXT, OBJECT, JSVALPTR, 0, 0)
321
+
339
322
  static JSBool
340
- args_delProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
323
+ args_delProperty(JSContext *cx, JSObject *obj, jsval idval, jsval *vp)
341
324
  {
342
- jsint slot;
343
- JSStackFrame *fp;
325
+ JS_ASSERT(STOBJ_GET_CLASS(obj) == &js_ArgumentsClass);
344
326
 
345
- if (!JSVAL_IS_INT(id))
346
- return JS_TRUE;
347
- fp = (JSStackFrame *)
348
- JS_GetInstancePrivate(cx, obj, &js_ArgumentsClass, NULL);
349
- if (!fp)
350
- return JS_TRUE;
351
- JS_ASSERT(fp->argsobj);
352
-
353
- slot = JSVAL_TO_INT(id);
354
- switch (slot) {
355
- case ARGS_CALLEE:
356
- case ARGS_LENGTH:
357
- SET_OVERRIDE_BIT(fp, slot);
358
- break;
359
-
360
- default:
361
- if ((uintN)slot < fp->argc && !MarkArgDeleted(cx, fp, slot))
362
- return JS_FALSE;
363
- break;
327
+ if (JSVAL_IS_INT(idval)) {
328
+ uintN arg = uintN(JSVAL_TO_INT(idval));
329
+ if (arg < GetArgsLength(obj))
330
+ OBJ_SET_SLOT(cx, obj, JSSLOT_ARGS_COPY_START + arg, JSVAL_HOLE);
331
+ } else if (idval == ATOM_KEY(cx->runtime->atomState.lengthAtom)) {
332
+ SetOverriddenArgsLength(obj);
333
+ } else if (idval == ATOM_KEY(cx->runtime->atomState.calleeAtom)) {
334
+ obj->fslots[JSSLOT_ARGS_CALLEE] = JSVAL_HOLE;
364
335
  }
365
- return JS_TRUE;
336
+ return true;
366
337
  }
367
338
 
368
339
  static JS_REQUIRES_STACK JSObject *
@@ -384,13 +355,13 @@ WrapEscapingClosure(JSContext *cx, JSStackFrame *fp, JSObject *funobj, JSFunctio
384
355
  return NULL;
385
356
 
386
357
  JSObject *wfunobj = js_NewObjectWithGivenProto(cx, &js_FunctionClass,
387
- funobj, scopeChain, 0);
358
+ funobj, scopeChain);
388
359
  if (!wfunobj)
389
360
  return NULL;
390
361
  JSAutoTempValueRooter tvr(cx, wfunobj);
391
362
 
392
363
  JSFunction *wfun = (JSFunction *) wfunobj;
393
- wfunobj->fslots[JSSLOT_PRIVATE] = PRIVATE_TO_JSVAL(wfun);
364
+ wfunobj->setPrivate(wfun);
394
365
  wfun->nargs = 0;
395
366
  wfun->flags = fun->flags | JSFUN_HEAVYWEIGHT;
396
367
  wfun->u.i.nvars = 0;
@@ -434,7 +405,7 @@ WrapEscapingClosure(JSContext *cx, JSStackFrame *fp, JSObject *funobj, JSFunctio
434
405
  }
435
406
 
436
407
  JSScript *script = fun->u.i.script;
437
- jssrcnote *snbase = SCRIPT_NOTES(script);
408
+ jssrcnote *snbase = script->notes();
438
409
  jssrcnote *sn = snbase;
439
410
  while (!SN_IS_TERMINATOR(sn))
440
411
  sn = SN_NEXT(sn);
@@ -444,14 +415,14 @@ WrapEscapingClosure(JSContext *cx, JSStackFrame *fp, JSObject *funobj, JSFunctio
444
415
  JSScript *wscript = js_NewScript(cx, script->length, nsrcnotes,
445
416
  script->atomMap.length,
446
417
  (script->objectsOffset != 0)
447
- ? JS_SCRIPT_OBJECTS(script)->length
418
+ ? script->objects()->length
448
419
  : 0,
449
420
  fun->u.i.nupvars,
450
421
  (script->regexpsOffset != 0)
451
- ? JS_SCRIPT_REGEXPS(script)->length
422
+ ? script->regexps()->length
452
423
  : 0,
453
424
  (script->trynotesOffset != 0)
454
- ? JS_SCRIPT_TRYNOTES(script)->length
425
+ ? script->trynotes()->length
455
426
  : 0);
456
427
  if (!wscript)
457
428
  return NULL;
@@ -459,25 +430,25 @@ WrapEscapingClosure(JSContext *cx, JSStackFrame *fp, JSObject *funobj, JSFunctio
459
430
  memcpy(wscript->code, script->code, script->length);
460
431
  wscript->main = wscript->code + (script->main - script->code);
461
432
 
462
- memcpy(SCRIPT_NOTES(wscript), snbase, nsrcnotes);
433
+ memcpy(wscript->notes(), snbase, nsrcnotes * sizeof(jssrcnote));
463
434
  memcpy(wscript->atomMap.vector, script->atomMap.vector,
464
435
  wscript->atomMap.length * sizeof(JSAtom *));
465
436
  if (script->objectsOffset != 0) {
466
- memcpy(JS_SCRIPT_OBJECTS(wscript)->vector, JS_SCRIPT_OBJECTS(script)->vector,
467
- JS_SCRIPT_OBJECTS(wscript)->length * sizeof(JSObject *));
437
+ memcpy(wscript->objects()->vector, script->objects()->vector,
438
+ wscript->objects()->length * sizeof(JSObject *));
468
439
  }
469
440
  if (script->regexpsOffset != 0) {
470
- memcpy(JS_SCRIPT_REGEXPS(wscript)->vector, JS_SCRIPT_REGEXPS(script)->vector,
471
- JS_SCRIPT_REGEXPS(wscript)->length * sizeof(JSObject *));
441
+ memcpy(wscript->regexps()->vector, script->regexps()->vector,
442
+ wscript->regexps()->length * sizeof(JSObject *));
472
443
  }
473
444
  if (script->trynotesOffset != 0) {
474
- memcpy(JS_SCRIPT_TRYNOTES(wscript)->vector, JS_SCRIPT_TRYNOTES(script)->vector,
475
- JS_SCRIPT_TRYNOTES(wscript)->length * sizeof(JSTryNote));
445
+ memcpy(wscript->trynotes()->vector, script->trynotes()->vector,
446
+ wscript->trynotes()->length * sizeof(JSTryNote));
476
447
  }
477
448
 
478
449
  if (wfun->u.i.nupvars != 0) {
479
- JS_ASSERT(wfun->u.i.nupvars == JS_SCRIPT_UPVARS(wscript)->length);
480
- memcpy(JS_SCRIPT_UPVARS(wscript)->vector, JS_SCRIPT_UPVARS(script)->vector,
450
+ JS_ASSERT(wfun->u.i.nupvars == wscript->upvars()->length);
451
+ memcpy(wscript->upvars()->vector, script->upvars()->vector,
481
452
  wfun->u.i.nupvars * sizeof(uint32));
482
453
  }
483
454
 
@@ -534,23 +505,44 @@ WrapEscapingClosure(JSContext *cx, JSStackFrame *fp, JSObject *funobj, JSFunctio
534
505
  }
535
506
 
536
507
  static JSBool
537
- args_getProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
508
+ ArgGetter(JSContext *cx, JSObject *obj, jsval idval, jsval *vp)
538
509
  {
539
- jsint slot;
540
- JSStackFrame *fp;
510
+ if (!JS_InstanceOf(cx, obj, &js_ArgumentsClass, NULL))
511
+ return true;
541
512
 
542
- if (!JSVAL_IS_INT(id))
543
- return JS_TRUE;
544
- fp = (JSStackFrame *)
545
- JS_GetInstancePrivate(cx, obj, &js_ArgumentsClass, NULL);
546
- if (!fp)
547
- return JS_TRUE;
548
- JS_ASSERT(fp->argsobj);
513
+ if (JSVAL_IS_INT(idval)) {
514
+ /*
515
+ * arg can exceed the number of arguments if a script changed the
516
+ * prototype to point to another Arguments object with a bigger argc.
517
+ */
518
+ uintN arg = uintN(JSVAL_TO_INT(idval));
519
+ if (arg < GetArgsLength(obj)) {
520
+ #ifdef JS_TRACER
521
+ js_ArgsPrivateNative *argp = js_GetArgsPrivateNative(obj);
522
+ if (argp) {
523
+ if (js_NativeToValue(cx, *vp, argp->typemap()[arg], &argp->argv[arg]))
524
+ return true;
525
+ js_LeaveTrace(cx);
526
+ return false;
527
+ }
528
+ #endif
549
529
 
550
- slot = JSVAL_TO_INT(id);
551
- switch (slot) {
552
- case ARGS_CALLEE:
553
- if (!TEST_OVERRIDE_BIT(fp, slot)) {
530
+ JSStackFrame *fp = (JSStackFrame *) obj->getPrivate();
531
+ if (fp) {
532
+ *vp = fp->argv[arg];
533
+ } else {
534
+ jsval v = OBJ_GET_SLOT(cx, obj, JSSLOT_ARGS_COPY_START + arg);
535
+ if (v != JSVAL_HOLE)
536
+ *vp = v;
537
+ }
538
+ }
539
+ } else if (idval == ATOM_KEY(cx->runtime->atomState.lengthAtom)) {
540
+ if (!js_IsOverriddenArgsLength(obj))
541
+ *vp = INT_TO_JSVAL(GetArgsLength(obj));
542
+ } else {
543
+ JS_ASSERT(idval == ATOM_KEY(cx->runtime->atomState.calleeAtom));
544
+ jsval v = obj->fslots[JSSLOT_ARGS_CALLEE];
545
+ if (v != JSVAL_HOLE) {
554
546
  /*
555
547
  * If this function or one in it needs upvars that reach above it
556
548
  * in the scope chain, it must not be a null closure (it could be a
@@ -559,168 +551,125 @@ args_getProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
559
551
  * to reduce code size and tell debugger users the truth instead of
560
552
  * passing off a fibbing wrapper.
561
553
  */
562
- if (fp->fun->needsWrapper()) {
554
+ if (GET_FUNCTION_PRIVATE(cx, JSVAL_TO_OBJECT(v))->needsWrapper()) {
563
555
  JS_ReportErrorNumber(cx, js_GetErrorMessage, NULL,
564
556
  JSMSG_OPTIMIZED_CLOSURE_LEAK);
565
- return JS_FALSE;
557
+ return false;
566
558
  }
567
- *vp = OBJECT_TO_JSVAL(fp->callee);
559
+ *vp = v;
568
560
  }
569
- break;
570
-
571
- case ARGS_LENGTH:
572
- if (!TEST_OVERRIDE_BIT(fp, slot))
573
- *vp = INT_TO_JSVAL((jsint)fp->argc);
574
- break;
575
-
576
- default:
577
- if ((uintN)slot < fp->argc && !ArgWasDeleted(cx, fp, slot))
578
- *vp = fp->argv[slot];
579
- break;
580
561
  }
581
- return JS_TRUE;
562
+ return true;
582
563
  }
583
564
 
584
565
  static JSBool
585
- args_setProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
566
+ ArgSetter(JSContext *cx, JSObject *obj, jsval idval, jsval *vp)
586
567
  {
587
- JSStackFrame *fp;
588
- jsint slot;
589
-
590
- if (!JSVAL_IS_INT(id))
591
- return JS_TRUE;
592
- fp = (JSStackFrame *)
593
- JS_GetInstancePrivate(cx, obj, &js_ArgumentsClass, NULL);
594
- if (!fp)
595
- return JS_TRUE;
596
- JS_ASSERT(fp->argsobj);
568
+ #ifdef JS_TRACER
569
+ // To be able to set a property here on trace, we would have to make
570
+ // sure any updates also get written back to the trace native stack.
571
+ // For simplicity, we just leave trace, since this is presumably not
572
+ // a common operation.
573
+ if (JS_ON_TRACE(cx)) {
574
+ js_DeepBail(cx);
575
+ return false;
576
+ }
577
+ #endif
597
578
 
598
- slot = JSVAL_TO_INT(id);
599
- switch (slot) {
600
- case ARGS_CALLEE:
601
- case ARGS_LENGTH:
602
- SET_OVERRIDE_BIT(fp, slot);
603
- break;
579
+ if (!JS_InstanceOf(cx, obj, &js_ArgumentsClass, NULL))
580
+ return true;
604
581
 
605
- default:
606
- if (FUN_INTERPRETED(fp->fun) &&
607
- (uintN)slot < fp->argc &&
608
- !ArgWasDeleted(cx, fp, slot)) {
609
- fp->argv[slot] = *vp;
582
+ if (JSVAL_IS_INT(idval)) {
583
+ uintN arg = uintN(JSVAL_TO_INT(idval));
584
+ if (arg < GetArgsLength(obj)) {
585
+ JSStackFrame *fp = (JSStackFrame *) obj->getPrivate();
586
+ if (fp) {
587
+ fp->argv[arg] = *vp;
588
+ return true;
589
+ }
610
590
  }
611
- break;
591
+ } else {
592
+ JS_ASSERT(idval == ATOM_KEY(cx->runtime->atomState.lengthAtom) ||
593
+ idval == ATOM_KEY(cx->runtime->atomState.calleeAtom));
612
594
  }
613
- return JS_TRUE;
595
+
596
+ /*
597
+ * For simplicity we use delete/set to replace the property with one
598
+ * backed by the default Object getter and setter. Note the we rely on
599
+ * args_delete to clear the corresponding reserved slot so the GC can
600
+ * collect its value.
601
+ */
602
+ jsid id;
603
+ if (!JS_ValueToId(cx, idval, &id))
604
+ return false;
605
+
606
+ JSAutoTempValueRooter tvr(cx);
607
+ return js_DeleteProperty(cx, obj, id, tvr.addr()) &&
608
+ js_SetProperty(cx, obj, id, vp);
614
609
  }
615
610
 
616
611
  static JSBool
617
- args_resolve(JSContext *cx, JSObject *obj, jsval id, uintN flags,
612
+ args_resolve(JSContext *cx, JSObject *obj, jsval idval, uintN flags,
618
613
  JSObject **objp)
619
614
  {
620
- JSStackFrame *fp;
621
- uintN slot;
622
- JSString *str;
623
- JSAtom *atom;
624
- intN tinyid;
625
- jsval value;
615
+ JS_ASSERT(STOBJ_GET_CLASS(obj) == &js_ArgumentsClass);
626
616
 
627
617
  *objp = NULL;
628
- fp = (JSStackFrame *)
629
- JS_GetInstancePrivate(cx, obj, &js_ArgumentsClass, NULL);
630
- if (!fp)
631
- return JS_TRUE;
632
- JS_ASSERT(fp->argsobj);
633
-
634
- if (JSVAL_IS_INT(id)) {
635
- slot = JSVAL_TO_INT(id);
636
- if (slot < fp->argc && !ArgWasDeleted(cx, fp, slot)) {
637
- /* XXX ECMA specs DontEnum, contrary to other array-like objects */
638
- if (!js_DefineProperty(cx, obj, INT_JSVAL_TO_JSID(id),
639
- fp->argv[slot],
640
- args_getProperty, args_setProperty,
641
- 0, NULL)) {
642
- return JS_FALSE;
643
- }
644
- *objp = obj;
645
- }
646
- } else if (JSVAL_IS_STRING(id)) {
647
- str = JSVAL_TO_STRING(id);
648
- atom = cx->runtime->atomState.lengthAtom;
649
- if (str == ATOM_TO_STRING(atom)) {
650
- tinyid = ARGS_LENGTH;
651
- value = INT_TO_JSVAL(fp->argc);
652
- } else {
653
- atom = cx->runtime->atomState.calleeAtom;
654
- if (str == ATOM_TO_STRING(atom)) {
655
- tinyid = ARGS_CALLEE;
656
- value = OBJECT_TO_JSVAL(fp->callee);
657
- } else {
658
- atom = NULL;
659
-
660
- /* Quell GCC overwarnings. */
661
- tinyid = 0;
662
- value = JSVAL_NULL;
663
- }
618
+ jsid id = 0;
619
+ if (JSVAL_IS_INT(idval)) {
620
+ uint32 arg = uint32(JSVAL_TO_INT(idval));
621
+ if (arg < GetArgsLength(obj) &&
622
+ OBJ_GET_SLOT(cx, obj, JSSLOT_ARGS_COPY_START + arg) != JSVAL_HOLE) {
623
+ id = INT_JSVAL_TO_JSID(idval);
664
624
  }
625
+ } else if (idval == ATOM_KEY(cx->runtime->atomState.lengthAtom)) {
626
+ if (!js_IsOverriddenArgsLength(obj))
627
+ id = ATOM_TO_JSID(cx->runtime->atomState.lengthAtom);
665
628
 
666
- if (atom && !TEST_OVERRIDE_BIT(fp, tinyid)) {
667
- if (!js_DefineNativeProperty(cx, obj, ATOM_TO_JSID(atom), value,
668
- args_getProperty, args_setProperty, 0,
669
- SPROP_HAS_SHORTID, tinyid, NULL)) {
670
- return JS_FALSE;
671
- }
672
- *objp = obj;
673
- }
629
+ } else if (idval == ATOM_KEY(cx->runtime->atomState.calleeAtom)) {
630
+ if (obj->fslots[JSSLOT_ARGS_CALLEE] != JSVAL_HOLE)
631
+ id = ATOM_TO_JSID(cx->runtime->atomState.calleeAtom);
674
632
  }
675
633
 
676
- return JS_TRUE;
634
+ if (id != 0) {
635
+ /*
636
+ * XXX ECMA specs DontEnum even for indexed properties, contrary to
637
+ * other array-like objects.
638
+ */
639
+ if (!js_DefineProperty(cx, obj, id, JSVAL_VOID, ArgGetter, ArgSetter, JSPROP_SHARED))
640
+ return JS_FALSE;
641
+ *objp = obj;
642
+ }
643
+ return true;
677
644
  }
678
645
 
679
646
  static JSBool
680
647
  args_enumerate(JSContext *cx, JSObject *obj)
681
648
  {
682
- JSStackFrame *fp;
683
- JSObject *pobj;
684
- JSProperty *prop;
685
- uintN slot, argc;
686
-
687
- fp = (JSStackFrame *)
688
- JS_GetInstancePrivate(cx, obj, &js_ArgumentsClass, NULL);
689
- if (!fp)
690
- return JS_TRUE;
691
- JS_ASSERT(fp->argsobj);
649
+ JS_ASSERT(STOBJ_GET_CLASS(obj) == &js_ArgumentsClass);
692
650
 
693
651
  /*
694
- * Trigger reflection with value snapshot in args_resolve using a series
695
- * of js_LookupProperty calls. We handle length, callee, and the indexed
696
- * argument properties. We know that args_resolve covers all these cases
697
- * and creates direct properties of obj, but that it may fail to resolve
698
- * length or callee if overridden.
652
+ * Trigger reflection in args_resolve using a series of js_LookupProperty
653
+ * calls.
699
654
  */
700
- if (!js_LookupProperty(cx, obj,
701
- ATOM_TO_JSID(cx->runtime->atomState.lengthAtom),
702
- &pobj, &prop)) {
703
- return JS_FALSE;
704
- }
705
- if (prop)
706
- OBJ_DROP_PROPERTY(cx, pobj, prop);
707
-
708
- if (!js_LookupProperty(cx, obj,
709
- ATOM_TO_JSID(cx->runtime->atomState.calleeAtom),
710
- &pobj, &prop)) {
711
- return JS_FALSE;
712
- }
713
- if (prop)
714
- OBJ_DROP_PROPERTY(cx, pobj, prop);
655
+ int argc = int(GetArgsLength(obj));
656
+ for (int i = -2; i != argc; i++) {
657
+ jsid id = (i == -2)
658
+ ? ATOM_TO_JSID(cx->runtime->atomState.lengthAtom)
659
+ : (i == -1)
660
+ ? ATOM_TO_JSID(cx->runtime->atomState.calleeAtom)
661
+ : INT_JSVAL_TO_JSID(INT_TO_JSVAL(i));
662
+
663
+ JSObject *pobj;
664
+ JSProperty *prop;
665
+ if (!js_LookupProperty(cx, obj, id, &pobj, &prop))
666
+ return false;
715
667
 
716
- argc = fp->argc;
717
- for (slot = 0; slot < argc; slot++) {
718
- if (!js_LookupProperty(cx, obj, INT_TO_JSID((jsint)slot), &pobj, &prop))
719
- return JS_FALSE;
668
+ /* prop is null when the property was deleted. */
720
669
  if (prop)
721
- OBJ_DROP_PROPERTY(cx, pobj, prop);
670
+ pobj->dropProperty(cx, prop);
722
671
  }
723
- return JS_TRUE;
672
+ return true;
724
673
  }
725
674
 
726
675
  #if JS_HAS_GENERATORS
@@ -731,9 +680,12 @@ args_enumerate(JSContext *cx, JSObject *obj)
731
680
  static void
732
681
  args_or_call_trace(JSTracer *trc, JSObject *obj)
733
682
  {
734
- JSStackFrame *fp;
683
+ JS_ASSERT(STOBJ_GET_CLASS(obj) == &js_ArgumentsClass ||
684
+ STOBJ_GET_CLASS(obj) == &js_CallClass);
685
+ if (STOBJ_GET_CLASS(obj) == &js_ArgumentsClass && js_GetArgsPrivateNative(obj))
686
+ return;
735
687
 
736
- fp = (JSStackFrame *) JS_GetPrivate(trc->context, obj);
688
+ JSStackFrame *fp = (JSStackFrame *) obj->getPrivate();
737
689
  if (fp && (fp->flags & JSFRAME_GENERATOR)) {
738
690
  JS_CALL_OBJECT_TRACER(trc, FRAME_TO_GENERATOR(fp)->obj,
739
691
  "FRAME_TO_GENERATOR(fp)->obj");
@@ -743,6 +695,13 @@ args_or_call_trace(JSTracer *trc, JSObject *obj)
743
695
  # define args_or_call_trace NULL
744
696
  #endif
745
697
 
698
+ static uint32
699
+ args_reserveSlots(JSContext *cx, JSObject *obj)
700
+ {
701
+ JS_ASSERT(STOBJ_GET_CLASS(obj) == &js_ArgumentsClass);
702
+ return GetArgsLength(obj);
703
+ }
704
+
746
705
  /*
747
706
  * The Arguments class is not initialized via JS_InitClass, and must not be,
748
707
  * because its name is "Object". Per ECMA, that causes instances of it to
@@ -756,21 +715,22 @@ args_or_call_trace(JSTracer *trc, JSObject *obj)
756
715
  */
757
716
  JSClass js_ArgumentsClass = {
758
717
  js_Object_str,
759
- JSCLASS_HAS_PRIVATE | JSCLASS_NEW_RESOLVE | JSCLASS_HAS_RESERVED_SLOTS(1) |
718
+ JSCLASS_HAS_PRIVATE | JSCLASS_NEW_RESOLVE |
719
+ JSCLASS_HAS_RESERVED_SLOTS(ARGS_CLASS_FIXED_RESERVED_SLOTS) |
760
720
  JSCLASS_MARK_IS_TRACE | JSCLASS_HAS_CACHED_PROTO(JSProto_Object),
761
721
  JS_PropertyStub, args_delProperty,
762
- args_getProperty, args_setProperty,
722
+ JS_PropertyStub, JS_PropertyStub,
763
723
  args_enumerate, (JSResolveOp) args_resolve,
764
- JS_ConvertStub, JS_FinalizeStub,
724
+ JS_ConvertStub, NULL,
765
725
  NULL, NULL,
766
726
  NULL, NULL,
767
727
  NULL, NULL,
768
- JS_CLASS_TRACE(args_or_call_trace), NULL
728
+ JS_CLASS_TRACE(args_or_call_trace), args_reserveSlots
769
729
  };
770
730
 
771
- #define JSSLOT_CALLEE (JSSLOT_PRIVATE + 1)
772
- #define JSSLOT_CALL_ARGUMENTS (JSSLOT_PRIVATE + 2)
773
- #define CALL_CLASS_FIXED_RESERVED_SLOTS 2
731
+ const uint32 JSSLOT_CALLEE = JSSLOT_PRIVATE + 1;
732
+ const uint32 JSSLOT_CALL_ARGUMENTS = JSSLOT_PRIVATE + 2;
733
+ const uint32 CALL_CLASS_FIXED_RESERVED_SLOTS = 2;
774
734
 
775
735
  /*
776
736
  * A Declarative Environment object stores its active JSStackFrame pointer in
@@ -780,11 +740,11 @@ JSClass js_DeclEnvClass = {
780
740
  js_Object_str,
781
741
  JSCLASS_HAS_PRIVATE | JSCLASS_HAS_CACHED_PROTO(JSProto_Object),
782
742
  JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_PropertyStub,
783
- JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub,
743
+ JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, NULL,
784
744
  JSCLASS_NO_OPTIONAL_MEMBERS
785
745
  };
786
746
 
787
- static JS_REQUIRES_STACK JSBool
747
+ static JSBool
788
748
  CheckForEscapingClosure(JSContext *cx, JSObject *obj, jsval *vp)
789
749
  {
790
750
  JS_ASSERT(STOBJ_GET_CLASS(obj) == &js_CallClass ||
@@ -803,7 +763,9 @@ CheckForEscapingClosure(JSContext *cx, JSObject *obj, jsval *vp)
803
763
  * still has an active stack frame associated with it.
804
764
  */
805
765
  if (fun->needsWrapper()) {
806
- JSStackFrame *fp = (JSStackFrame *) JS_GetPrivate(cx, obj);
766
+ js_LeaveTrace(cx);
767
+
768
+ JSStackFrame *fp = (JSStackFrame *) obj->getPrivate();
807
769
  if (fp) {
808
770
  JSObject *wrapper = WrapEscapingClosure(cx, fp, funobj, fun);
809
771
  if (!wrapper)
@@ -820,7 +782,7 @@ CheckForEscapingClosure(JSContext *cx, JSObject *obj, jsval *vp)
820
782
  return true;
821
783
  }
822
784
 
823
- static JS_REQUIRES_STACK JSBool
785
+ static JSBool
824
786
  CalleeGetter(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
825
787
  {
826
788
  return CheckForEscapingClosure(cx, obj, vp);
@@ -841,7 +803,7 @@ js_GetCallObject(JSContext *cx, JSStackFrame *fp)
841
803
  /* A call object should be a frame's outermost scope chain element. */
842
804
  JSClass *classp = OBJ_GET_CLASS(cx, fp->scopeChain);
843
805
  if (classp == &js_WithClass || classp == &js_BlockClass || classp == &js_CallClass)
844
- JS_ASSERT(OBJ_GET_PRIVATE(cx, fp->scopeChain) != fp);
806
+ JS_ASSERT(fp->scopeChain->getPrivate() != fp);
845
807
  #endif
846
808
 
847
809
  /*
@@ -853,15 +815,16 @@ js_GetCallObject(JSContext *cx, JSStackFrame *fp)
853
815
  JSAtom *lambdaName = (fp->fun->flags & JSFUN_LAMBDA) ? fp->fun->atom : NULL;
854
816
  if (lambdaName) {
855
817
  JSObject *env = js_NewObjectWithGivenProto(cx, &js_DeclEnvClass, NULL,
856
- fp->scopeChain, 0);
818
+ fp->scopeChain);
857
819
  if (!env)
858
820
  return NULL;
859
- env->fslots[JSSLOT_PRIVATE] = PRIVATE_TO_JSVAL(fp);
821
+ env->setPrivate(fp);
860
822
 
861
823
  /* Root env before js_DefineNativeProperty (-> JSClass.addProperty). */
862
824
  fp->scopeChain = env;
825
+ JS_ASSERT(fp->argv);
863
826
  if (!js_DefineNativeProperty(cx, fp->scopeChain, ATOM_TO_JSID(lambdaName),
864
- OBJECT_TO_JSVAL(fp->callee),
827
+ fp->argv[-2],
865
828
  CalleeGetter, NULL,
866
829
  JSPROP_PERMANENT | JSPROP_READONLY,
867
830
  0, 0, NULL)) {
@@ -869,14 +832,16 @@ js_GetCallObject(JSContext *cx, JSStackFrame *fp)
869
832
  }
870
833
  }
871
834
 
872
- callobj = js_NewObjectWithGivenProto(cx, &js_CallClass, NULL,
873
- fp->scopeChain, 0);
874
- if (!callobj)
835
+ callobj = js_NewObjectWithGivenProto(cx, &js_CallClass, NULL, fp->scopeChain);
836
+ if (!callobj ||
837
+ !js_EnsureReservedSlots(cx, callobj, fp->fun->countArgsAndVars())) {
875
838
  return NULL;
839
+ }
876
840
 
877
- JS_SetPrivate(cx, callobj, fp);
878
- JS_ASSERT(fp->fun == GET_FUNCTION_PRIVATE(cx, fp->callee));
879
- STOBJ_SET_SLOT(callobj, JSSLOT_CALLEE, OBJECT_TO_JSVAL(fp->callee));
841
+ callobj->setPrivate(fp);
842
+ JS_ASSERT(fp->argv);
843
+ JS_ASSERT(fp->fun == GET_FUNCTION_PRIVATE(cx, JSVAL_TO_OBJECT(fp->argv[-2])));
844
+ STOBJ_SET_SLOT(callobj, JSSLOT_CALLEE, fp->argv[-2]);
880
845
  fp->callobj = callobj;
881
846
 
882
847
  /*
@@ -888,8 +853,8 @@ js_GetCallObject(JSContext *cx, JSStackFrame *fp)
888
853
  return callobj;
889
854
  }
890
855
 
891
- static JSFunction *
892
- GetCallObjectFunction(JSObject *obj)
856
+ JSFunction *
857
+ js_GetCallObjectFunction(JSObject *obj)
893
858
  {
894
859
  jsval v;
895
860
 
@@ -903,14 +868,27 @@ GetCallObjectFunction(JSObject *obj)
903
868
  return GET_FUNCTION_PRIVATE(cx, JSVAL_TO_OBJECT(v));
904
869
  }
905
870
 
906
- JS_FRIEND_API(JSBool)
871
+ #ifdef OJI
872
+ JS_BEGIN_EXTERN_C
873
+ JS_EXPORT_API(void)
874
+ #else
875
+ void
876
+ #endif
907
877
  js_PutCallObject(JSContext *cx, JSStackFrame *fp)
908
878
  {
909
- JSObject *callobj;
910
- JSBool ok;
911
- JSFunction *fun;
912
- uintN n;
913
- JSScope *scope;
879
+ JSObject *callobj = fp->callobj;
880
+ JS_ASSERT(callobj);
881
+
882
+ /* Get the arguments object to snapshot fp's actual argument values. */
883
+ if (fp->argsobj) {
884
+ if (!(fp->flags & JSFRAME_OVERRIDE_ARGS))
885
+ STOBJ_SET_SLOT(callobj, JSSLOT_CALL_ARGUMENTS, fp->argsobj);
886
+ js_PutArgsObject(cx, fp);
887
+ }
888
+
889
+ JSFunction *fun = fp->fun;
890
+ JS_ASSERT(fun == js_GetCallObjectFunction(callobj));
891
+ uintN n = fun->countArgsAndVars();
914
892
 
915
893
  /*
916
894
  * Since for a call object all fixed slots happen to be taken, we can copy
@@ -918,59 +896,31 @@ js_PutCallObject(JSContext *cx, JSStackFrame *fp)
918
896
  */
919
897
  JS_STATIC_ASSERT(JS_INITIAL_NSLOTS - JSSLOT_PRIVATE ==
920
898
  1 + CALL_CLASS_FIXED_RESERVED_SLOTS);
921
-
922
- callobj = fp->callobj;
923
- if (!callobj)
924
- return JS_TRUE;
925
-
926
- /*
927
- * Get the arguments object to snapshot fp's actual argument values.
928
- */
929
- ok = JS_TRUE;
930
- if (fp->argsobj) {
931
- if (!TEST_OVERRIDE_BIT(fp, CALL_ARGUMENTS)) {
932
- STOBJ_SET_SLOT(callobj, JSSLOT_CALL_ARGUMENTS,
933
- OBJECT_TO_JSVAL(fp->argsobj));
934
- }
935
- ok &= js_PutArgsObject(cx, fp);
936
- }
937
-
938
- fun = fp->fun;
939
- JS_ASSERT(fun == GetCallObjectFunction(callobj));
940
- n = fun->countArgsAndVars();
941
899
  if (n != 0) {
942
- JS_LOCK_OBJ(cx, callobj);
900
+ JS_ASSERT(STOBJ_NSLOTS(callobj) >= JS_INITIAL_NSLOTS + n);
943
901
  n += JS_INITIAL_NSLOTS;
944
- if (n > STOBJ_NSLOTS(callobj))
945
- ok &= js_ReallocSlots(cx, callobj, n, JS_TRUE);
946
- scope = OBJ_SCOPE(callobj);
947
- if (ok) {
948
- memcpy(callobj->dslots, fp->argv, fun->nargs * sizeof(jsval));
949
- memcpy(callobj->dslots + fun->nargs, fp->slots,
950
- fun->u.i.nvars * sizeof(jsval));
951
- if (scope->object == callobj && n > scope->freeslot)
952
- scope->freeslot = n;
953
- }
954
- JS_UNLOCK_SCOPE(cx, scope);
902
+ JS_LOCK_OBJ(cx, callobj);
903
+ memcpy(callobj->dslots, fp->argv, fun->nargs * sizeof(jsval));
904
+ memcpy(callobj->dslots + fun->nargs, fp->slots,
905
+ fun->u.i.nvars * sizeof(jsval));
906
+ JS_UNLOCK_OBJ(cx, callobj);
955
907
  }
956
908
 
957
- /*
958
- * Clear private pointers to fp, which is about to go away (js_Invoke).
959
- * Do this last because js_GetProperty calls above need to follow the
960
- * call object's private slot to find fp.
961
- */
909
+ /* Clear private pointers to fp, which is about to go away (js_Invoke). */
962
910
  if ((fun->flags & JSFUN_LAMBDA) && fun->atom) {
963
911
  JSObject *env = STOBJ_GET_PARENT(callobj);
964
912
 
965
913
  JS_ASSERT(STOBJ_GET_CLASS(env) == &js_DeclEnvClass);
966
- JS_ASSERT(STOBJ_GET_PRIVATE(env) == fp);
967
- JS_SetPrivate(cx, env, NULL);
914
+ JS_ASSERT(env->getPrivate() == fp);
915
+ env->setPrivate(NULL);
968
916
  }
969
917
 
970
- JS_SetPrivate(cx, callobj, NULL);
918
+ callobj->setPrivate(NULL);
971
919
  fp->callobj = NULL;
972
- return ok;
973
920
  }
921
+ #ifdef OJI
922
+ JS_END_EXTERN_C
923
+ #endif
974
924
 
975
925
  static JSBool
976
926
  call_enumerate(JSContext *cx, JSObject *obj)
@@ -984,7 +934,7 @@ call_enumerate(JSContext *cx, JSObject *obj)
984
934
  JSObject *pobj;
985
935
  JSProperty *prop;
986
936
 
987
- fun = GetCallObjectFunction(obj);
937
+ fun = js_GetCallObjectFunction(obj);
988
938
  n = fun ? fun->countArgsAndVars() : 0;
989
939
  if (n == 0)
990
940
  return JS_TRUE;
@@ -1018,7 +968,7 @@ call_enumerate(JSContext *cx, JSObject *obj)
1018
968
  */
1019
969
  JS_ASSERT(prop);
1020
970
  JS_ASSERT(pobj == obj);
1021
- OBJ_DROP_PROPERTY(cx, pobj, prop);
971
+ pobj->dropProperty(cx, prop);
1022
972
  }
1023
973
  ok = JS_TRUE;
1024
974
 
@@ -1045,16 +995,16 @@ CallPropertyOp(JSContext *cx, JSObject *obj, jsid id, jsval *vp,
1045
995
  if (STOBJ_GET_CLASS(obj) != &js_CallClass)
1046
996
  return JS_TRUE;
1047
997
 
1048
- fun = GetCallObjectFunction(obj);
1049
- fp = (JSStackFrame *) JS_GetPrivate(cx, obj);
998
+ fun = js_GetCallObjectFunction(obj);
999
+ fp = (JSStackFrame *) obj->getPrivate();
1050
1000
 
1051
1001
  if (kind == JSCPK_ARGUMENTS) {
1052
1002
  if (setter) {
1053
1003
  if (fp)
1054
- SET_OVERRIDE_BIT(fp, CALL_ARGUMENTS);
1004
+ fp->flags |= JSFRAME_OVERRIDE_ARGS;
1055
1005
  STOBJ_SET_SLOT(obj, JSSLOT_CALL_ARGUMENTS, *vp);
1056
1006
  } else {
1057
- if (fp && !TEST_OVERRIDE_BIT(fp, CALL_ARGUMENTS)) {
1007
+ if (fp && !(fp->flags & JSFRAME_OVERRIDE_ARGS)) {
1058
1008
  JSObject *argsobj;
1059
1009
 
1060
1010
  argsobj = js_GetArgsObject(cx, fp);
@@ -1117,7 +1067,7 @@ js_GetCallArg(JSContext *cx, JSObject *obj, jsid id, jsval *vp)
1117
1067
  return CallPropertyOp(cx, obj, id, vp, JSCPK_ARG, JS_FALSE);
1118
1068
  }
1119
1069
 
1120
- static JSBool
1070
+ JSBool
1121
1071
  SetCallArg(JSContext *cx, JSObject *obj, jsid id, jsval *vp)
1122
1072
  {
1123
1073
  return CallPropertyOp(cx, obj, id, vp, JSCPK_ARG, JS_TRUE);
@@ -1138,12 +1088,27 @@ js_GetCallVarChecked(JSContext *cx, JSObject *obj, jsid id, jsval *vp)
1138
1088
  return CheckForEscapingClosure(cx, obj, vp);
1139
1089
  }
1140
1090
 
1141
- static JSBool
1091
+ JSBool
1142
1092
  SetCallVar(JSContext *cx, JSObject *obj, jsid id, jsval *vp)
1143
1093
  {
1144
1094
  return CallPropertyOp(cx, obj, id, vp, JSCPK_VAR, JS_TRUE);
1145
1095
  }
1146
1096
 
1097
+ JSBool JS_FASTCALL
1098
+ js_SetCallArg(JSContext *cx, JSObject *obj, jsid id, jsval v)
1099
+ {
1100
+ return CallPropertyOp(cx, obj, id, &v, JSCPK_ARG, JS_TRUE);
1101
+ }
1102
+
1103
+ JSBool JS_FASTCALL
1104
+ js_SetCallVar(JSContext *cx, JSObject *obj, jsid id, jsval v)
1105
+ {
1106
+ return CallPropertyOp(cx, obj, id, &v, JSCPK_VAR, JS_TRUE);
1107
+ }
1108
+
1109
+ JS_DEFINE_CALLINFO_4(extern, BOOL, js_SetCallArg, CONTEXT, OBJECT, JSID, JSVAL, 0, 0)
1110
+ JS_DEFINE_CALLINFO_4(extern, BOOL, js_SetCallVar, CONTEXT, OBJECT, JSID, JSVAL, 0, 0)
1111
+
1147
1112
  static JSBool
1148
1113
  call_resolve(JSContext *cx, JSObject *obj, jsval idval, uintN flags,
1149
1114
  JSObject **objp)
@@ -1245,13 +1210,12 @@ call_resolve(JSContext *cx, JSObject *obj, jsval idval, uintN flags,
1245
1210
  static JSBool
1246
1211
  call_convert(JSContext *cx, JSObject *obj, JSType type, jsval *vp)
1247
1212
  {
1248
- JSStackFrame *fp;
1249
-
1250
1213
  if (type == JSTYPE_FUNCTION) {
1251
- fp = (JSStackFrame *) JS_GetPrivate(cx, obj);
1214
+ JSStackFrame *fp = (JSStackFrame *) obj->getPrivate();
1252
1215
  if (fp) {
1253
1216
  JS_ASSERT(fp->fun);
1254
- *vp = OBJECT_TO_JSVAL(fp->callee);
1217
+ JS_ASSERT(fp->argv);
1218
+ *vp = fp->argv[-2];
1255
1219
  }
1256
1220
  }
1257
1221
  return JS_TRUE;
@@ -1262,7 +1226,7 @@ call_reserveSlots(JSContext *cx, JSObject *obj)
1262
1226
  {
1263
1227
  JSFunction *fun;
1264
1228
 
1265
- fun = GetCallObjectFunction(obj);
1229
+ fun = js_GetCallObjectFunction(obj);
1266
1230
  return fun->countArgsAndVars();
1267
1231
  }
1268
1232
 
@@ -1274,13 +1238,22 @@ JS_FRIEND_DATA(JSClass) js_CallClass = {
1274
1238
  JS_PropertyStub, JS_PropertyStub,
1275
1239
  JS_PropertyStub, JS_PropertyStub,
1276
1240
  call_enumerate, (JSResolveOp)call_resolve,
1277
- call_convert, JS_FinalizeStub,
1241
+ call_convert, NULL,
1278
1242
  NULL, NULL,
1279
1243
  NULL, NULL,
1280
1244
  NULL, NULL,
1281
1245
  JS_CLASS_TRACE(args_or_call_trace), call_reserveSlots
1282
1246
  };
1283
1247
 
1248
+ /* Generic function tinyids. */
1249
+ enum {
1250
+ FUN_ARGUMENTS = -1, /* predefined arguments local variable */
1251
+ FUN_LENGTH = -2, /* number of actual args, arity if inactive */
1252
+ FUN_ARITY = -3, /* number of formal parameters; desired argc */
1253
+ FUN_NAME = -4, /* function name, "" if anonymous */
1254
+ FUN_CALLER = -5 /* Function.prototype.caller, backward compat */
1255
+ };
1256
+
1284
1257
  static JSBool
1285
1258
  fun_getProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
1286
1259
  {
@@ -1295,7 +1268,7 @@ fun_getProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
1295
1268
 
1296
1269
  /*
1297
1270
  * Loop because getter and setter can be delegated from another class,
1298
- * but loop only for ARGS_LENGTH because we must pretend that f.length
1271
+ * but loop only for FUN_LENGTH because we must pretend that f.length
1299
1272
  * is in each function instance f, per ECMA-262, instead of only in the
1300
1273
  * Function.prototype object (we use JSPROP_PERMANENT with JSPROP_SHARED
1301
1274
  * to make it appear so).
@@ -1305,7 +1278,7 @@ fun_getProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
1305
1278
  *
1306
1279
  * It's important to allow delegating objects, even though they inherit
1307
1280
  * this getter (fun_getProperty), to override arguments, arity, caller,
1308
- * and name. If we didn't return early for slot != ARGS_LENGTH, we would
1281
+ * and name. If we didn't return early for slot != FUN_LENGTH, we would
1309
1282
  * clobber *vp with the native property value, instead of letting script
1310
1283
  * override that value in delegating objects.
1311
1284
  *
@@ -1315,7 +1288,7 @@ fun_getProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
1315
1288
  */
1316
1289
  while (!(fun = (JSFunction *)
1317
1290
  JS_GetInstancePrivate(cx, obj, &js_FunctionClass, NULL))) {
1318
- if (slot != ARGS_LENGTH)
1291
+ if (slot != FUN_LENGTH)
1319
1292
  return JS_TRUE;
1320
1293
  obj = OBJ_GET_PROTO(cx, obj);
1321
1294
  if (!obj)
@@ -1330,7 +1303,7 @@ fun_getProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
1330
1303
  }
1331
1304
 
1332
1305
  switch (slot) {
1333
- case CALL_ARGUMENTS:
1306
+ case FUN_ARGUMENTS:
1334
1307
  /* Warn if strict about f.arguments or equivalent unqualified uses. */
1335
1308
  if (!JS_ReportErrorFlagsAndNumber(cx,
1336
1309
  JSREPORT_WARNING | JSREPORT_STRICT,
@@ -1347,7 +1320,7 @@ fun_getProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
1347
1320
  }
1348
1321
  break;
1349
1322
 
1350
- case ARGS_LENGTH:
1323
+ case FUN_LENGTH:
1351
1324
  case FUN_ARITY:
1352
1325
  *vp = INT_TO_JSVAL((jsint)fun->nargs);
1353
1326
  break;
@@ -1375,7 +1348,8 @@ fun_getProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
1375
1348
  return JS_TRUE;
1376
1349
  }
1377
1350
 
1378
- *vp = OBJECT_TO_JSVAL(fp->down->callee);
1351
+ JS_ASSERT(fp->down->argv);
1352
+ *vp = fp->down->argv[-2];
1379
1353
  } else {
1380
1354
  *vp = JSVAL_NULL;
1381
1355
  }
@@ -1416,7 +1390,7 @@ fun_getProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
1416
1390
  #define LENGTH_PROP_ATTRS (JSPROP_READONLY|JSPROP_PERMANENT|JSPROP_SHARED)
1417
1391
 
1418
1392
  static JSPropertySpec function_props[] = {
1419
- {js_length_str, ARGS_LENGTH, LENGTH_PROP_ATTRS, fun_getProperty, JS_PropertyStub},
1393
+ {js_length_str, FUN_LENGTH, LENGTH_PROP_ATTRS, fun_getProperty, JS_PropertyStub},
1420
1394
  {0,0,0,0,0}
1421
1395
  };
1422
1396
 
@@ -1428,7 +1402,7 @@ typedef struct LazyFunctionProp {
1428
1402
 
1429
1403
  /* NB: no sentinel at the end -- use JS_ARRAY_LENGTH to bound loops. */
1430
1404
  static LazyFunctionProp lazy_function_props[] = {
1431
- {ATOM_OFFSET(arguments), CALL_ARGUMENTS, JSPROP_PERMANENT},
1405
+ {ATOM_OFFSET(arguments), FUN_ARGUMENTS, JSPROP_PERMANENT},
1432
1406
  {ATOM_OFFSET(arity), FUN_ARITY, JSPROP_PERMANENT},
1433
1407
  {ATOM_OFFSET(caller), FUN_CALLER, JSPROP_PERMANENT},
1434
1408
  {ATOM_OFFSET(name), FUN_NAME, JSPROP_PERMANENT},
@@ -1442,10 +1416,10 @@ fun_enumerate(JSContext *cx, JSObject *obj)
1442
1416
  JSProperty *prop;
1443
1417
 
1444
1418
  prototypeId = ATOM_TO_JSID(cx->runtime->atomState.classPrototypeAtom);
1445
- if (!OBJ_LOOKUP_PROPERTY(cx, obj, prototypeId, &pobj, &prop))
1419
+ if (!obj->lookupProperty(cx, prototypeId, &pobj, &prop))
1446
1420
  return JS_FALSE;
1447
1421
  if (prop)
1448
- OBJ_DROP_PROPERTY(cx, pobj, prop);
1422
+ pobj->dropProperty(cx, prop);
1449
1423
  return JS_TRUE;
1450
1424
  }
1451
1425
 
@@ -1487,8 +1461,7 @@ fun_resolve(JSContext *cx, JSObject *obj, jsval id, uintN flags,
1487
1461
  * Make the prototype object to have the same parent as the function
1488
1462
  * object itself.
1489
1463
  */
1490
- proto = js_NewObject(cx, &js_ObjectClass, NULL, OBJ_GET_PARENT(cx, obj),
1491
- 0);
1464
+ proto = js_NewObject(cx, &js_ObjectClass, NULL, OBJ_GET_PARENT(cx, obj));
1492
1465
  if (!proto)
1493
1466
  return JS_FALSE;
1494
1467
 
@@ -1499,11 +1472,9 @@ fun_resolve(JSContext *cx, JSObject *obj, jsval id, uintN flags,
1499
1472
  * set the former here in fun_resolve, but eagerly define the latter
1500
1473
  * in JS_InitClass, with the right attributes.
1501
1474
  */
1502
- if (!js_SetClassPrototype(cx, obj, proto,
1503
- JSPROP_ENUMERATE | JSPROP_PERMANENT)) {
1504
- cx->weakRoots.newborn[GCX_OBJECT] = NULL;
1475
+ if (!js_SetClassPrototype(cx, obj, proto, JSPROP_PERMANENT))
1505
1476
  return JS_FALSE;
1506
- }
1477
+
1507
1478
  *objp = obj;
1508
1479
  return JS_TRUE;
1509
1480
  }
@@ -1750,13 +1721,9 @@ static JSBool
1750
1721
  fun_hasInstance(JSContext *cx, JSObject *obj, jsval v, JSBool *bp)
1751
1722
  {
1752
1723
  jsval pval;
1753
-
1754
- if (!OBJ_GET_PROPERTY(cx, obj,
1755
- ATOM_TO_JSID(cx->runtime->atomState
1756
- .classPrototypeAtom),
1757
- &pval)) {
1724
+ jsid id = ATOM_TO_JSID(cx->runtime->atomState.classPrototypeAtom);
1725
+ if (!obj->getProperty(cx, id, &pval))
1758
1726
  return JS_FALSE;
1759
- }
1760
1727
 
1761
1728
  if (JSVAL_IS_PRIMITIVE(pval)) {
1762
1729
  /*
@@ -1780,10 +1747,8 @@ DestroyLocalNames(JSContext *cx, JSFunction *fun);
1780
1747
  static void
1781
1748
  fun_trace(JSTracer *trc, JSObject *obj)
1782
1749
  {
1783
- JSFunction *fun;
1784
-
1785
1750
  /* A newborn function object may have a not yet initialized private slot. */
1786
- fun = (JSFunction *) JS_GetPrivate(trc->context, obj);
1751
+ JSFunction *fun = (JSFunction *) obj->getPrivate();
1787
1752
  if (!fun)
1788
1753
  return;
1789
1754
 
@@ -1804,10 +1769,8 @@ fun_trace(JSTracer *trc, JSObject *obj)
1804
1769
  static void
1805
1770
  fun_finalize(JSContext *cx, JSObject *obj)
1806
1771
  {
1807
- JSFunction *fun;
1808
-
1809
1772
  /* Ignore newborn and cloned function objects. */
1810
- fun = (JSFunction *) JS_GetPrivate(cx, obj);
1773
+ JSFunction *fun = (JSFunction *) obj->getPrivate();
1811
1774
  if (!fun || FUN_OBJECT(fun) != obj)
1812
1775
  return;
1813
1776
 
@@ -1822,26 +1785,31 @@ fun_finalize(JSContext *cx, JSObject *obj)
1822
1785
  }
1823
1786
  }
1824
1787
 
1788
+ uint32
1789
+ JSFunction::countInterpretedReservedSlots() const
1790
+ {
1791
+ JS_ASSERT(FUN_INTERPRETED(this));
1792
+
1793
+ uint32 nslots = (u.i.nupvars == 0)
1794
+ ? 0
1795
+ : u.i.script->upvars()->length;
1796
+ if (u.i.script->regexpsOffset != 0)
1797
+ nslots += u.i.script->regexps()->length;
1798
+ return nslots;
1799
+ }
1800
+
1825
1801
  static uint32
1826
1802
  fun_reserveSlots(JSContext *cx, JSObject *obj)
1827
1803
  {
1828
- JSFunction *fun;
1829
- uint32 nslots;
1830
-
1831
1804
  /*
1832
- * We use JS_GetPrivate and not GET_FUNCTION_PRIVATE because during
1805
+ * We use getPrivate and not GET_FUNCTION_PRIVATE because during
1833
1806
  * js_InitFunctionClass invocation the function is called before the
1834
1807
  * private slot of the function object is set.
1835
1808
  */
1836
- fun = (JSFunction *) JS_GetPrivate(cx, obj);
1837
- nslots = 0;
1838
- if (fun && FUN_INTERPRETED(fun) && fun->u.i.script) {
1839
- if (fun->u.i.nupvars != 0)
1840
- nslots = JS_SCRIPT_UPVARS(fun->u.i.script)->length;
1841
- if (fun->u.i.script->regexpsOffset != 0)
1842
- nslots += JS_SCRIPT_REGEXPS(fun->u.i.script)->length;
1843
- }
1844
- return nslots;
1809
+ JSFunction *fun = (JSFunction *) obj->getPrivate();
1810
+ return (fun && FUN_INTERPRETED(fun))
1811
+ ? fun->countInterpretedReservedSlots()
1812
+ : 0;
1845
1813
  }
1846
1814
 
1847
1815
  /*
@@ -1929,7 +1897,7 @@ fun_toSource(JSContext *cx, uintN argc, jsval *vp)
1929
1897
  }
1930
1898
  #endif
1931
1899
 
1932
- JS_REQUIRES_STACK JSBool
1900
+ JSBool
1933
1901
  js_fun_call(JSContext *cx, uintN argc, jsval *vp)
1934
1902
  {
1935
1903
  JSObject *obj;
@@ -1938,8 +1906,10 @@ js_fun_call(JSContext *cx, uintN argc, jsval *vp)
1938
1906
  void *mark;
1939
1907
  JSBool ok;
1940
1908
 
1909
+ js_LeaveTrace(cx);
1910
+
1941
1911
  obj = JS_THIS_OBJECT(cx, vp);
1942
- if (!obj || !OBJ_DEFAULT_VALUE(cx, obj, JSTYPE_FUNCTION, &vp[1]))
1912
+ if (!obj || !obj->defaultValue(cx, JSTYPE_FUNCTION, &vp[1]))
1943
1913
  return JS_FALSE;
1944
1914
  fval = vp[1];
1945
1915
 
@@ -1988,7 +1958,7 @@ js_fun_call(JSContext *cx, uintN argc, jsval *vp)
1988
1958
  return ok;
1989
1959
  }
1990
1960
 
1991
- JS_REQUIRES_STACK JSBool
1961
+ JSBool
1992
1962
  js_fun_apply(JSContext *cx, uintN argc, jsval *vp)
1993
1963
  {
1994
1964
  JSObject *obj, *aobj;
@@ -2004,8 +1974,10 @@ js_fun_apply(JSContext *cx, uintN argc, jsval *vp)
2004
1974
  return js_fun_call(cx, argc, vp);
2005
1975
  }
2006
1976
 
1977
+ js_LeaveTrace(cx);
1978
+
2007
1979
  obj = JS_THIS_OBJECT(cx, vp);
2008
- if (!obj || !OBJ_DEFAULT_VALUE(cx, obj, JSTYPE_FUNCTION, &vp[1]))
1980
+ if (!obj || !obj->defaultValue(cx, JSTYPE_FUNCTION, &vp[1]))
2009
1981
  return JS_FALSE;
2010
1982
  fval = vp[1];
2011
1983
 
@@ -2055,7 +2027,7 @@ js_fun_apply(JSContext *cx, uintN argc, jsval *vp)
2055
2027
  return JS_FALSE;
2056
2028
 
2057
2029
  /* Allocate stack space for fval, obj, and the args. */
2058
- argc = (uintN)JS_MIN(length, ARRAY_INIT_LIMIT - 1);
2030
+ argc = (uintN)JS_MIN(length, JS_ARGS_LENGTH_MAX);
2059
2031
  invokevp = js_AllocStack(cx, 2 + argc, &mark);
2060
2032
  if (!invokevp)
2061
2033
  return JS_FALSE;
@@ -2100,8 +2072,8 @@ fun_applyConstructor(JSContext *cx, uintN argc, jsval *vp)
2100
2072
  if (!js_GetLengthProperty(cx, aobj, &length))
2101
2073
  return JS_FALSE;
2102
2074
 
2103
- if (length >= ARRAY_INIT_LIMIT)
2104
- length = ARRAY_INIT_LIMIT - 1;
2075
+ if (length > JS_ARGS_LENGTH_MAX)
2076
+ length = JS_ARGS_LENGTH_MAX;
2105
2077
  invokevp = js_AllocStack(cx, 2 + length, &mark);
2106
2078
  if (!invokevp)
2107
2079
  return JS_FALSE;
@@ -2148,7 +2120,7 @@ Function(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
2148
2120
  const char *filename;
2149
2121
  JSBool ok;
2150
2122
  JSString *str, *arg;
2151
- JSTokenStream ts;
2123
+ JSTokenStream ts(cx);
2152
2124
  JSPrincipals *principals;
2153
2125
  jschar *collected_args, *cp;
2154
2126
  void *mark;
@@ -2156,16 +2128,16 @@ Function(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
2156
2128
  JSTokenType tt;
2157
2129
 
2158
2130
  if (!JS_IsConstructing(cx)) {
2159
- obj = js_NewObject(cx, &js_FunctionClass, NULL, NULL, 0);
2131
+ obj = js_NewObject(cx, &js_FunctionClass, NULL, NULL);
2160
2132
  if (!obj)
2161
2133
  return JS_FALSE;
2162
2134
  *rval = OBJECT_TO_JSVAL(obj);
2163
2135
  } else {
2164
2136
  /*
2165
2137
  * The constructor is called before the private slot is initialized so
2166
- * we must use JS_GetPrivate, not GET_FUNCTION_PRIVATE here.
2138
+ * we must use getPrivate, not GET_FUNCTION_PRIVATE here.
2167
2139
  */
2168
- if (JS_GetPrivate(cx, obj))
2140
+ if (obj->getPrivate())
2169
2141
  return JS_TRUE;
2170
2142
  }
2171
2143
 
@@ -2240,7 +2212,7 @@ Function(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
2240
2212
  * JSString length fits in 2 fewer bits than size_t has.
2241
2213
  */
2242
2214
  old_args_length = args_length;
2243
- args_length = old_args_length + JSSTRING_LENGTH(arg);
2215
+ args_length = old_args_length + arg->length();
2244
2216
  if (args_length < old_args_length) {
2245
2217
  js_ReportAllocationOverflow(cx);
2246
2218
  return JS_FALSE;
@@ -2275,8 +2247,8 @@ Function(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
2275
2247
  */
2276
2248
  for (i = 0; i < n; i++) {
2277
2249
  arg = JSVAL_TO_STRING(argv[i]);
2278
- arg_length = JSSTRING_LENGTH(arg);
2279
- (void) js_strncpy(cp, JSSTRING_CHARS(arg), arg_length);
2250
+ arg_length = arg->length();
2251
+ (void) js_strncpy(cp, arg->chars(), arg_length);
2280
2252
  cp += arg_length;
2281
2253
 
2282
2254
  /* Add separating comma or terminating 0. */
@@ -2284,8 +2256,7 @@ Function(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
2284
2256
  }
2285
2257
 
2286
2258
  /* Initialize a tokenstream that reads from the given string. */
2287
- if (!js_InitTokenStream(cx, &ts, collected_args, args_length,
2288
- NULL, filename, lineno)) {
2259
+ if (!ts.init(cx, collected_args, args_length, NULL, filename, lineno)) {
2289
2260
  JS_ARENA_RELEASE(&cx->tempPool, mark);
2290
2261
  return JS_FALSE;
2291
2262
  }
@@ -2348,7 +2319,7 @@ Function(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
2348
2319
  JS_ReportErrorNumber(cx, js_GetErrorMessage, NULL,
2349
2320
  JSMSG_BAD_FORMAL);
2350
2321
  }
2351
- js_CloseTokenStream(cx, &ts);
2322
+ ts.close(cx);
2352
2323
  JS_ARENA_RELEASE(&cx->tempPool, mark);
2353
2324
  if (state != OK)
2354
2325
  return JS_FALSE;
@@ -2364,7 +2335,7 @@ Function(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
2364
2335
  }
2365
2336
 
2366
2337
  return JSCompiler::compileFunctionBody(cx, fun, principals,
2367
- JSSTRING_CHARS(str), JSSTRING_LENGTH(str),
2338
+ str->chars(), str->length(),
2368
2339
  filename, lineno);
2369
2340
  }
2370
2341
 
@@ -2380,20 +2351,16 @@ js_InitFunctionClass(JSContext *cx, JSObject *obj)
2380
2351
  return NULL;
2381
2352
  fun = js_NewFunction(cx, proto, NULL, 0, JSFUN_INTERPRETED, obj, NULL);
2382
2353
  if (!fun)
2383
- goto bad;
2354
+ return NULL;
2384
2355
  fun->u.i.script = js_NewScript(cx, 1, 1, 0, 0, 0, 0, 0);
2385
2356
  if (!fun->u.i.script)
2386
- goto bad;
2357
+ return NULL;
2387
2358
  fun->u.i.script->code[0] = JSOP_STOP;
2388
- *SCRIPT_NOTES(fun->u.i.script) = SRC_NULL;
2359
+ *fun->u.i.script->notes() = SRC_NULL;
2389
2360
  #ifdef CHECK_SCRIPT_OWNER
2390
2361
  fun->u.i.script->owner = NULL;
2391
2362
  #endif
2392
2363
  return proto;
2393
-
2394
- bad:
2395
- cx->weakRoots.newborn[GCX_OBJECT] = NULL;
2396
- return NULL;
2397
2364
  }
2398
2365
 
2399
2366
  JSFunction *
@@ -2406,16 +2373,16 @@ js_NewFunction(JSContext *cx, JSObject *funobj, JSNative native, uintN nargs,
2406
2373
  JS_ASSERT(HAS_FUNCTION_CLASS(funobj));
2407
2374
  OBJ_SET_PARENT(cx, funobj, parent);
2408
2375
  } else {
2409
- funobj = js_NewObject(cx, &js_FunctionClass, NULL, parent, 0);
2376
+ funobj = js_NewObject(cx, &js_FunctionClass, NULL, parent);
2410
2377
  if (!funobj)
2411
2378
  return NULL;
2412
2379
  }
2413
- JS_ASSERT(JSVAL_IS_VOID(funobj->fslots[JSSLOT_PRIVATE]));
2380
+ JS_ASSERT(!funobj->getPrivate());
2414
2381
  fun = (JSFunction *) funobj;
2415
2382
 
2416
2383
  /* Initialize all function members. */
2417
2384
  fun->nargs = nargs;
2418
- fun->flags = flags & (JSFUN_FLAGS_MASK | JSFUN_KINDMASK | JSFUN_TRACEABLE);
2385
+ fun->flags = flags & (JSFUN_FLAGS_MASK | JSFUN_KINDMASK | JSFUN_TRCINFO);
2419
2386
  if ((flags & JSFUN_KINDMASK) >= JSFUN_INTERPRETED) {
2420
2387
  JS_ASSERT(!native);
2421
2388
  JS_ASSERT(nargs == 0);
@@ -2431,10 +2398,10 @@ js_NewFunction(JSContext *cx, JSObject *funobj, JSNative native, uintN nargs,
2431
2398
  fun->u.n.extra = 0;
2432
2399
  fun->u.n.spare = 0;
2433
2400
  fun->u.n.clasp = NULL;
2434
- if (flags & JSFUN_TRACEABLE) {
2401
+ if (flags & JSFUN_TRCINFO) {
2435
2402
  #ifdef JS_TRACER
2436
- JSTraceableNative *trcinfo =
2437
- JS_FUNC_TO_DATA_PTR(JSTraceableNative *, native);
2403
+ JSNativeTraceInfo *trcinfo =
2404
+ JS_FUNC_TO_DATA_PTR(JSNativeTraceInfo *, native);
2438
2405
  fun->u.n.native = (JSNative) trcinfo->native;
2439
2406
  fun->u.n.trcinfo = trcinfo;
2440
2407
  #else
@@ -2449,7 +2416,7 @@ js_NewFunction(JSContext *cx, JSObject *funobj, JSNative native, uintN nargs,
2449
2416
  fun->atom = atom;
2450
2417
 
2451
2418
  /* Set private to self to indicate non-cloned fully initialized function. */
2452
- FUN_OBJECT(fun)->fslots[JSSLOT_PRIVATE] = PRIVATE_TO_JSVAL(fun);
2419
+ FUN_OBJECT(fun)->setPrivate(fun);
2453
2420
  return fun;
2454
2421
  }
2455
2422
 
@@ -2460,30 +2427,50 @@ js_CloneFunctionObject(JSContext *cx, JSFunction *fun, JSObject *parent)
2460
2427
  * The cloned function object does not need the extra JSFunction members
2461
2428
  * beyond JSObject as it points to fun via the private slot.
2462
2429
  */
2463
- JSObject *clone = js_NewObject(cx, &js_FunctionClass, NULL, parent,
2464
- sizeof(JSObject));
2430
+ JSObject *clone = js_NewObject(cx, &js_FunctionClass, NULL, parent, sizeof(JSObject));
2465
2431
  if (!clone)
2466
2432
  return NULL;
2467
- clone->fslots[JSSLOT_PRIVATE] = PRIVATE_TO_JSVAL(fun);
2433
+ clone->setPrivate(fun);
2468
2434
  return clone;
2469
2435
  }
2470
2436
 
2471
- JSObject *
2472
- js_NewFlatClosure(JSContext *cx, JSFunction *fun)
2437
+ /*
2438
+ * Create a new flat closure, but don't initialize the imported upvar
2439
+ * values. The tracer calls this function and then initializes the upvar
2440
+ * slots on trace.
2441
+ */
2442
+ JSObject * JS_FASTCALL
2443
+ js_AllocFlatClosure(JSContext *cx, JSFunction *fun, JSObject *scopeChain)
2473
2444
  {
2474
2445
  JS_ASSERT(FUN_FLAT_CLOSURE(fun));
2446
+ JS_ASSERT((fun->u.i.script->upvarsOffset
2447
+ ? fun->u.i.script->upvars()->length
2448
+ : 0) == fun->u.i.nupvars);
2475
2449
 
2476
- JSObject *closure = js_CloneFunctionObject(cx, fun, cx->fp->scopeChain);
2477
- if (!closure || fun->u.i.script->upvarsOffset == 0)
2450
+ JSObject *closure = js_CloneFunctionObject(cx, fun, scopeChain);
2451
+ if (!closure)
2478
2452
  return closure;
2479
2453
 
2480
- uint32 nslots = JSSLOT_FREE(&js_FunctionClass);
2481
- JS_ASSERT(nslots == JS_INITIAL_NSLOTS);
2482
- nslots += fun_reserveSlots(cx, closure);
2483
- if (!js_ReallocSlots(cx, closure, nslots, JS_TRUE))
2454
+ uint32 nslots = fun->countInterpretedReservedSlots();
2455
+ if (!nslots)
2456
+ return closure;
2457
+ if (!js_EnsureReservedSlots(cx, closure, nslots))
2484
2458
  return NULL;
2485
2459
 
2486
- JSUpvarArray *uva = JS_SCRIPT_UPVARS(fun->u.i.script);
2460
+ return closure;
2461
+ }
2462
+
2463
+ JS_DEFINE_CALLINFO_3(extern, OBJECT, js_AllocFlatClosure,
2464
+ CONTEXT, FUNCTION, OBJECT, 0, 0)
2465
+
2466
+ JSObject *
2467
+ js_NewFlatClosure(JSContext *cx, JSFunction *fun)
2468
+ {
2469
+ JSObject *closure = js_AllocFlatClosure(cx, fun, cx->fp->scopeChain);
2470
+ if (!closure || fun->u.i.nupvars == 0)
2471
+ return closure;
2472
+
2473
+ JSUpvarArray *uva = fun->u.i.script->upvars();
2487
2474
  JS_ASSERT(uva->length <= size_t(closure->dslots[-1]));
2488
2475
 
2489
2476
  uintN level = fun->u.i.script->staticLevel;
@@ -2524,10 +2511,8 @@ js_DefineFunction(JSContext *cx, JSObject *obj, JSAtom *atom, JSNative native,
2524
2511
  fun = js_NewFunction(cx, NULL, native, nargs, attrs, obj, atom);
2525
2512
  if (!fun)
2526
2513
  return NULL;
2527
- if (!OBJ_DEFINE_PROPERTY(cx, obj, ATOM_TO_JSID(atom),
2528
- OBJECT_TO_JSVAL(FUN_OBJECT(fun)),
2529
- gsop, gsop,
2530
- attrs & ~JSFUN_FLAGS_MASK, NULL)) {
2514
+ if (!obj->defineProperty(cx, ATOM_TO_JSID(atom), OBJECT_TO_JSVAL(FUN_OBJECT(fun)),
2515
+ gsop, gsop, attrs & ~JSFUN_FLAGS_MASK)) {
2531
2516
  return NULL;
2532
2517
  }
2533
2518
  return fun;
@@ -2548,7 +2533,7 @@ js_ValueToFunction(JSContext *cx, jsval *vp, uintN flags)
2548
2533
  if (JSVAL_IS_OBJECT(v)) {
2549
2534
  obj = JSVAL_TO_OBJECT(v);
2550
2535
  if (obj && OBJ_GET_CLASS(cx, obj) != &js_FunctionClass) {
2551
- if (!OBJ_DEFAULT_VALUE(cx, obj, JSTYPE_FUNCTION, &v))
2536
+ if (!obj->defaultValue(cx, JSTYPE_FUNCTION, &v))
2552
2537
  return NULL;
2553
2538
  obj = VALUE_IS_FUNCTION(cx, v) ? JSVAL_TO_OBJECT(v) : NULL;
2554
2539
  }
@@ -2619,13 +2604,15 @@ js_ReportIsNotFunction(JSContext *cx, jsval *vp, uintN flags)
2619
2604
  if (flags & JSV2F_ITERATOR) {
2620
2605
  error = JSMSG_BAD_ITERATOR;
2621
2606
  name = js_iterator_str;
2622
- tvr.u.string = js_ValueToSource(cx, *vp);
2623
- if (!tvr.u.string)
2607
+ JSString *src = js_ValueToSource(cx, *vp);
2608
+ if (!src)
2624
2609
  goto out;
2625
- tvr.u.string = js_QuoteString(cx, tvr.u.string, 0);
2626
- if (!tvr.u.string)
2610
+ tvr.u.value = STRING_TO_JSVAL(src);
2611
+ JSString *qsrc = js_QuoteString(cx, src, 0);
2612
+ if (!qsrc)
2627
2613
  goto out;
2628
- source = js_GetStringBytes(cx, tvr.u.string);
2614
+ tvr.u.value = STRING_TO_JSVAL(qsrc);
2615
+ source = js_GetStringBytes(cx, qsrc);
2629
2616
  if (!source)
2630
2617
  goto out;
2631
2618
  } else if (flags & JSV2F_CONSTRUCT) {
@@ -2695,10 +2682,10 @@ FreeLocalNameHash(JSContext *cx, JSLocalNameMap *map)
2695
2682
 
2696
2683
  for (dup = map->lastdup; dup; dup = next) {
2697
2684
  next = dup->link;
2698
- JS_free(cx, dup);
2685
+ cx->free(dup);
2699
2686
  }
2700
2687
  JS_DHashTableFinish(&map->names);
2701
- JS_free(cx, map);
2688
+ cx->free(map);
2702
2689
  }
2703
2690
 
2704
2691
  static JSBool
@@ -2725,8 +2712,8 @@ HashLocalName(JSContext *cx, JSLocalNameMap *map, JSAtom *name,
2725
2712
  }
2726
2713
  if (entry->name) {
2727
2714
  JS_ASSERT(entry->name == name);
2728
- JS_ASSERT(entry->localKind == JSLOCAL_ARG);
2729
- dup = (JSNameIndexPair *) JS_malloc(cx, sizeof *dup);
2715
+ JS_ASSERT(entry->localKind == JSLOCAL_ARG && localKind == JSLOCAL_ARG);
2716
+ dup = (JSNameIndexPair *) cx->malloc(sizeof *dup);
2730
2717
  if (!dup)
2731
2718
  return JS_FALSE;
2732
2719
  dup->name = entry->name;
@@ -2772,7 +2759,7 @@ js_AddLocal(JSContext *cx, JSFunction *fun, JSAtom *atom, JSLocalKind kind)
2772
2759
  if (n > 1) {
2773
2760
  array = fun->u.i.names.array;
2774
2761
  } else {
2775
- array = (jsuword *) JS_malloc(cx, MAX_ARRAY_LOCALS * sizeof *array);
2762
+ array = (jsuword *) cx->malloc(MAX_ARRAY_LOCALS * sizeof *array);
2776
2763
  if (!array)
2777
2764
  return JS_FALSE;
2778
2765
  array[0] = fun->u.i.names.taggedAtom;
@@ -2797,7 +2784,7 @@ js_AddLocal(JSContext *cx, JSFunction *fun, JSAtom *atom, JSLocalKind kind)
2797
2784
  }
2798
2785
  } else if (n == MAX_ARRAY_LOCALS) {
2799
2786
  array = fun->u.i.names.array;
2800
- map = (JSLocalNameMap *) JS_malloc(cx, sizeof *map);
2787
+ map = (JSLocalNameMap *) cx->malloc(sizeof *map);
2801
2788
  if (!map)
2802
2789
  return JS_FALSE;
2803
2790
  if (!JS_DHashTableInit(&map->names, JS_DHashGetStubOps(),
@@ -2805,7 +2792,7 @@ js_AddLocal(JSContext *cx, JSFunction *fun, JSAtom *atom, JSLocalKind kind)
2805
2792
  JS_DHASH_DEFAULT_CAPACITY(MAX_ARRAY_LOCALS
2806
2793
  * 2))) {
2807
2794
  JS_ReportOutOfMemory(cx);
2808
- JS_free(cx, map);
2795
+ cx->free(map);
2809
2796
  return JS_FALSE;
2810
2797
  }
2811
2798
 
@@ -2838,7 +2825,7 @@ js_AddLocal(JSContext *cx, JSFunction *fun, JSAtom *atom, JSLocalKind kind)
2838
2825
  * to replace fun->u.i.names with the built map.
2839
2826
  */
2840
2827
  fun->u.i.names.map = map;
2841
- JS_free(cx, array);
2828
+ cx->free(array);
2842
2829
  } else {
2843
2830
  if (*indexp == JS_BITMASK(16)) {
2844
2831
  JS_ReportErrorNumber(cx, js_GetErrorMessage, NULL,
@@ -2949,7 +2936,7 @@ get_local_names_enumerator(JSDHashTable *table, JSDHashEntryHdr *hdr,
2949
2936
  return JS_DHASH_NEXT;
2950
2937
  }
2951
2938
 
2952
- jsuword *
2939
+ JS_FRIEND_API(jsuword *)
2953
2940
  js_GetLocalNameArray(JSContext *cx, JSFunction *fun, JSArenaPool *pool)
2954
2941
  {
2955
2942
  uintN n;
@@ -3060,7 +3047,7 @@ DestroyLocalNames(JSContext *cx, JSFunction *fun)
3060
3047
  if (n <= 1)
3061
3048
  return;
3062
3049
  if (n <= MAX_ARRAY_LOCALS)
3063
- JS_free(cx, fun->u.i.names.array);
3050
+ cx->free(fun->u.i.names.array);
3064
3051
  else
3065
3052
  FreeLocalNameHash(cx, fun->u.i.names.map);
3066
3053
  }
@@ -3076,14 +3063,13 @@ js_FreezeLocalNames(JSContext *cx, JSFunction *fun)
3076
3063
  n = fun->nargs + fun->u.i.nvars + fun->u.i.nupvars;
3077
3064
  if (2 <= n && n < MAX_ARRAY_LOCALS) {
3078
3065
  /* Shrink over-allocated array ignoring realloc failures. */
3079
- array = (jsuword *) JS_realloc(cx, fun->u.i.names.array,
3080
- n * sizeof *array);
3066
+ array = (jsuword *) cx->realloc(fun->u.i.names.array,
3067
+ n * sizeof *array);
3081
3068
  if (array)
3082
3069
  fun->u.i.names.array = array;
3083
3070
  }
3084
3071
  #ifdef DEBUG
3085
- // XXX no JS_DHashMarkTableImmutable on 1.9.1
3086
- // if (n > MAX_ARRAY_LOCALS)
3087
- // JS_DHashMarkTableImmutable(&fun->u.i.names.map->names);
3072
+ if (n > MAX_ARRAY_LOCALS)
3073
+ JS_DHashMarkTableImmutable(&fun->u.i.names.map->names);
3088
3074
  #endif
3089
3075
  }