therubyracer 0.4.8-x86-darwin-10 → 0.4.9-x86-darwin-10

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of therubyracer might be problematic. Click here for more details.

Files changed (579) hide show
  1. data/.gitignore +11 -0
  2. data/.gitmodules +3 -0
  3. data/History.txt +5 -1
  4. data/Rakefile +35 -38
  5. data/ext/v8/callbacks.cpp +1 -1
  6. data/ext/v8/convert_ruby.h +1 -1
  7. data/ext/v8/convert_string.h +3 -3
  8. data/ext/v8/extconf.rb +9 -17
  9. data/ext/v8/upstream/2.0.6/.gitignore +26 -0
  10. data/ext/v8/upstream/Makefile +31 -0
  11. data/ext/v8/upstream/no-strict-aliasing.patch +13 -0
  12. data/ext/v8/v8_str.cpp +1 -1
  13. data/ext/v8/v8_template.cpp +1 -1
  14. data/lib/v8.rb +1 -1
  15. data/lib/v8/v8.bundle +0 -0
  16. data/spec/ext/obj_spec.rb +1 -1
  17. data/therubyracer.gemspec +658 -12
  18. metadata +611 -1182
  19. data/Manifest.txt +0 -1191
  20. data/ext/v8/upstream/2.0.6/.sconsign.dblite +0 -0
  21. data/ext/v8/upstream/2.0.6/benchmarks/README.txt +0 -63
  22. data/ext/v8/upstream/2.0.6/benchmarks/base.js +0 -264
  23. data/ext/v8/upstream/2.0.6/benchmarks/crypto.js +0 -1698
  24. data/ext/v8/upstream/2.0.6/benchmarks/deltablue.js +0 -880
  25. data/ext/v8/upstream/2.0.6/benchmarks/earley-boyer.js +0 -4684
  26. data/ext/v8/upstream/2.0.6/benchmarks/raytrace.js +0 -935
  27. data/ext/v8/upstream/2.0.6/benchmarks/regexp.js +0 -1614
  28. data/ext/v8/upstream/2.0.6/benchmarks/revisions.html +0 -86
  29. data/ext/v8/upstream/2.0.6/benchmarks/richards.js +0 -539
  30. data/ext/v8/upstream/2.0.6/benchmarks/run.html +0 -141
  31. data/ext/v8/upstream/2.0.6/benchmarks/run.js +0 -61
  32. data/ext/v8/upstream/2.0.6/benchmarks/splay.js +0 -378
  33. data/ext/v8/upstream/2.0.6/benchmarks/style.css +0 -77
  34. data/ext/v8/upstream/2.0.6/benchmarks/v8-logo.png +0 -0
  35. data/ext/v8/upstream/2.0.6/samples/SConscript +0 -38
  36. data/ext/v8/upstream/2.0.6/samples/count-hosts.js +0 -42
  37. data/ext/v8/upstream/2.0.6/samples/process.cc +0 -622
  38. data/ext/v8/upstream/2.0.6/samples/shell.cc +0 -303
  39. data/ext/v8/upstream/2.0.6/test/cctest/SConscript +0 -95
  40. data/ext/v8/upstream/2.0.6/test/cctest/cctest.cc +0 -126
  41. data/ext/v8/upstream/2.0.6/test/cctest/cctest.h +0 -211
  42. data/ext/v8/upstream/2.0.6/test/cctest/cctest.status +0 -54
  43. data/ext/v8/upstream/2.0.6/test/cctest/test-accessors.cc +0 -450
  44. data/ext/v8/upstream/2.0.6/test/cctest/test-alloc.cc +0 -215
  45. data/ext/v8/upstream/2.0.6/test/cctest/test-api.cc +0 -8699
  46. data/ext/v8/upstream/2.0.6/test/cctest/test-assembler-arm.cc +0 -227
  47. data/ext/v8/upstream/2.0.6/test/cctest/test-assembler-ia32.cc +0 -395
  48. data/ext/v8/upstream/2.0.6/test/cctest/test-assembler-x64.cc +0 -292
  49. data/ext/v8/upstream/2.0.6/test/cctest/test-ast.cc +0 -97
  50. data/ext/v8/upstream/2.0.6/test/cctest/test-compiler.cc +0 -318
  51. data/ext/v8/upstream/2.0.6/test/cctest/test-conversions.cc +0 -130
  52. data/ext/v8/upstream/2.0.6/test/cctest/test-debug.cc +0 -5788
  53. data/ext/v8/upstream/2.0.6/test/cctest/test-decls.cc +0 -593
  54. data/ext/v8/upstream/2.0.6/test/cctest/test-disasm-arm.cc +0 -281
  55. data/ext/v8/upstream/2.0.6/test/cctest/test-disasm-ia32.cc +0 -418
  56. data/ext/v8/upstream/2.0.6/test/cctest/test-flags.cc +0 -234
  57. data/ext/v8/upstream/2.0.6/test/cctest/test-func-name-inference.cc +0 -267
  58. data/ext/v8/upstream/2.0.6/test/cctest/test-hashmap.cc +0 -176
  59. data/ext/v8/upstream/2.0.6/test/cctest/test-heap-profiler.cc +0 -396
  60. data/ext/v8/upstream/2.0.6/test/cctest/test-heap.cc +0 -796
  61. data/ext/v8/upstream/2.0.6/test/cctest/test-list.cc +0 -101
  62. data/ext/v8/upstream/2.0.6/test/cctest/test-lock.cc +0 -63
  63. data/ext/v8/upstream/2.0.6/test/cctest/test-log-stack-tracer.cc +0 -372
  64. data/ext/v8/upstream/2.0.6/test/cctest/test-log-utils.cc +0 -310
  65. data/ext/v8/upstream/2.0.6/test/cctest/test-log.cc +0 -1081
  66. data/ext/v8/upstream/2.0.6/test/cctest/test-macro-assembler-x64.cc +0 -2104
  67. data/ext/v8/upstream/2.0.6/test/cctest/test-mark-compact.cc +0 -341
  68. data/ext/v8/upstream/2.0.6/test/cctest/test-parsing.cc +0 -129
  69. data/ext/v8/upstream/2.0.6/test/cctest/test-platform-linux.cc +0 -80
  70. data/ext/v8/upstream/2.0.6/test/cctest/test-platform-macos.cc +0 -10
  71. data/ext/v8/upstream/2.0.6/test/cctest/test-platform-nullos.cc +0 -80
  72. data/ext/v8/upstream/2.0.6/test/cctest/test-platform-win32.cc +0 -26
  73. data/ext/v8/upstream/2.0.6/test/cctest/test-regexp.cc +0 -1815
  74. data/ext/v8/upstream/2.0.6/test/cctest/test-serialize.cc +0 -438
  75. data/ext/v8/upstream/2.0.6/test/cctest/test-sockets.cc +0 -162
  76. data/ext/v8/upstream/2.0.6/test/cctest/test-spaces.cc +0 -248
  77. data/ext/v8/upstream/2.0.6/test/cctest/test-strings.cc +0 -432
  78. data/ext/v8/upstream/2.0.6/test/cctest/test-thread-termination.cc +0 -290
  79. data/ext/v8/upstream/2.0.6/test/cctest/test-threads.cc +0 -52
  80. data/ext/v8/upstream/2.0.6/test/cctest/test-utils.cc +0 -186
  81. data/ext/v8/upstream/2.0.6/test/cctest/test-version.cc +0 -89
  82. data/ext/v8/upstream/2.0.6/test/cctest/testcfg.py +0 -108
  83. data/ext/v8/upstream/2.0.6/test/es5conform/README +0 -14
  84. data/ext/v8/upstream/2.0.6/test/es5conform/es5conform.status +0 -226
  85. data/ext/v8/upstream/2.0.6/test/es5conform/harness-adapt.js +0 -74
  86. data/ext/v8/upstream/2.0.6/test/es5conform/testcfg.py +0 -108
  87. data/ext/v8/upstream/2.0.6/test/message/message.status +0 -31
  88. data/ext/v8/upstream/2.0.6/test/message/overwritten-builtins.js +0 -31
  89. data/ext/v8/upstream/2.0.6/test/message/overwritten-builtins.out +0 -30
  90. data/ext/v8/upstream/2.0.6/test/message/regress/regress-73.js +0 -33
  91. data/ext/v8/upstream/2.0.6/test/message/regress/regress-73.out +0 -30
  92. data/ext/v8/upstream/2.0.6/test/message/regress/regress-75.js +0 -32
  93. data/ext/v8/upstream/2.0.6/test/message/regress/regress-75.out +0 -30
  94. data/ext/v8/upstream/2.0.6/test/message/simple-throw.js +0 -28
  95. data/ext/v8/upstream/2.0.6/test/message/simple-throw.out +0 -30
  96. data/ext/v8/upstream/2.0.6/test/message/testcfg.py +0 -135
  97. data/ext/v8/upstream/2.0.6/test/message/try-catch-finally-no-message.js +0 -51
  98. data/ext/v8/upstream/2.0.6/test/message/try-catch-finally-no-message.out +0 -26
  99. data/ext/v8/upstream/2.0.6/test/message/try-catch-finally-return-in-finally.js +0 -39
  100. data/ext/v8/upstream/2.0.6/test/message/try-catch-finally-return-in-finally.out +0 -28
  101. data/ext/v8/upstream/2.0.6/test/message/try-catch-finally-throw-in-catch-and-finally.js +0 -34
  102. data/ext/v8/upstream/2.0.6/test/message/try-catch-finally-throw-in-catch-and-finally.out +0 -30
  103. data/ext/v8/upstream/2.0.6/test/message/try-catch-finally-throw-in-catch.js +0 -34
  104. data/ext/v8/upstream/2.0.6/test/message/try-catch-finally-throw-in-catch.out +0 -30
  105. data/ext/v8/upstream/2.0.6/test/message/try-catch-finally-throw-in-finally.js +0 -34
  106. data/ext/v8/upstream/2.0.6/test/message/try-catch-finally-throw-in-finally.out +0 -30
  107. data/ext/v8/upstream/2.0.6/test/message/try-finally-return-in-finally.js +0 -37
  108. data/ext/v8/upstream/2.0.6/test/message/try-finally-return-in-finally.out +0 -28
  109. data/ext/v8/upstream/2.0.6/test/message/try-finally-throw-in-finally.js +0 -32
  110. data/ext/v8/upstream/2.0.6/test/message/try-finally-throw-in-finally.out +0 -30
  111. data/ext/v8/upstream/2.0.6/test/message/try-finally-throw-in-try-and-finally.js +0 -32
  112. data/ext/v8/upstream/2.0.6/test/message/try-finally-throw-in-try-and-finally.out +0 -30
  113. data/ext/v8/upstream/2.0.6/test/message/try-finally-throw-in-try.js +0 -32
  114. data/ext/v8/upstream/2.0.6/test/message/try-finally-throw-in-try.out +0 -30
  115. data/ext/v8/upstream/2.0.6/test/mjsunit/api-call-after-bypassed-exception.js +0 -39
  116. data/ext/v8/upstream/2.0.6/test/mjsunit/apply.js +0 -196
  117. data/ext/v8/upstream/2.0.6/test/mjsunit/arguments-apply.js +0 -134
  118. data/ext/v8/upstream/2.0.6/test/mjsunit/arguments-call-apply.js +0 -41
  119. data/ext/v8/upstream/2.0.6/test/mjsunit/arguments-enum.js +0 -52
  120. data/ext/v8/upstream/2.0.6/test/mjsunit/arguments-indirect.js +0 -47
  121. data/ext/v8/upstream/2.0.6/test/mjsunit/arguments-lazy.js +0 -47
  122. data/ext/v8/upstream/2.0.6/test/mjsunit/arguments-opt.js +0 -130
  123. data/ext/v8/upstream/2.0.6/test/mjsunit/arguments-read-and-assignment.js +0 -164
  124. data/ext/v8/upstream/2.0.6/test/mjsunit/arguments.js +0 -97
  125. data/ext/v8/upstream/2.0.6/test/mjsunit/array-concat.js +0 -120
  126. data/ext/v8/upstream/2.0.6/test/mjsunit/array-constructor.js +0 -119
  127. data/ext/v8/upstream/2.0.6/test/mjsunit/array-functions-prototype.js +0 -159
  128. data/ext/v8/upstream/2.0.6/test/mjsunit/array-indexing.js +0 -66
  129. data/ext/v8/upstream/2.0.6/test/mjsunit/array-iteration.js +0 -228
  130. data/ext/v8/upstream/2.0.6/test/mjsunit/array-join.js +0 -45
  131. data/ext/v8/upstream/2.0.6/test/mjsunit/array-length-number-conversion.js +0 -53
  132. data/ext/v8/upstream/2.0.6/test/mjsunit/array-length.js +0 -111
  133. data/ext/v8/upstream/2.0.6/test/mjsunit/array-reduce.js +0 -514
  134. data/ext/v8/upstream/2.0.6/test/mjsunit/array-sort.js +0 -362
  135. data/ext/v8/upstream/2.0.6/test/mjsunit/array-splice.js +0 -314
  136. data/ext/v8/upstream/2.0.6/test/mjsunit/ascii-regexp-subject.js +0 -49
  137. data/ext/v8/upstream/2.0.6/test/mjsunit/big-array-literal.js +0 -111
  138. data/ext/v8/upstream/2.0.6/test/mjsunit/big-object-literal.js +0 -114
  139. data/ext/v8/upstream/2.0.6/test/mjsunit/binary-operation-overwrite.js +0 -36
  140. data/ext/v8/upstream/2.0.6/test/mjsunit/bit-not.js +0 -75
  141. data/ext/v8/upstream/2.0.6/test/mjsunit/bitwise-operations-undefined.js +0 -49
  142. data/ext/v8/upstream/2.0.6/test/mjsunit/body-not-visible.js +0 -39
  143. data/ext/v8/upstream/2.0.6/test/mjsunit/bugs/bug-1344252.js +0 -79
  144. data/ext/v8/upstream/2.0.6/test/mjsunit/bugs/bug-222.js +0 -42
  145. data/ext/v8/upstream/2.0.6/test/mjsunit/bugs/bug-223.js +0 -39
  146. data/ext/v8/upstream/2.0.6/test/mjsunit/bugs/bug-900066.js +0 -38
  147. data/ext/v8/upstream/2.0.6/test/mjsunit/bugs/bug-941049.js +0 -100
  148. data/ext/v8/upstream/2.0.6/test/mjsunit/call-non-function-call.js +0 -38
  149. data/ext/v8/upstream/2.0.6/test/mjsunit/call-non-function.js +0 -63
  150. data/ext/v8/upstream/2.0.6/test/mjsunit/call.js +0 -87
  151. data/ext/v8/upstream/2.0.6/test/mjsunit/char-escape.js +0 -53
  152. data/ext/v8/upstream/2.0.6/test/mjsunit/class-of-builtins.js +0 -50
  153. data/ext/v8/upstream/2.0.6/test/mjsunit/closure.js +0 -37
  154. data/ext/v8/upstream/2.0.6/test/mjsunit/codegen-coverage.js +0 -91
  155. data/ext/v8/upstream/2.0.6/test/mjsunit/compare-character.js +0 -50
  156. data/ext/v8/upstream/2.0.6/test/mjsunit/compare-nan.js +0 -66
  157. data/ext/v8/upstream/2.0.6/test/mjsunit/compiler/countoperation.js +0 -111
  158. data/ext/v8/upstream/2.0.6/test/mjsunit/compiler/function-call.js +0 -52
  159. data/ext/v8/upstream/2.0.6/test/mjsunit/compiler/globals.js +0 -65
  160. data/ext/v8/upstream/2.0.6/test/mjsunit/compiler/jsnatives.js +0 -33
  161. data/ext/v8/upstream/2.0.6/test/mjsunit/compiler/literals-assignment.js +0 -104
  162. data/ext/v8/upstream/2.0.6/test/mjsunit/compiler/literals.js +0 -52
  163. data/ext/v8/upstream/2.0.6/test/mjsunit/compiler/loops.js +0 -35
  164. data/ext/v8/upstream/2.0.6/test/mjsunit/compiler/objectliterals.js +0 -57
  165. data/ext/v8/upstream/2.0.6/test/mjsunit/compiler/property-simple.js +0 -39
  166. data/ext/v8/upstream/2.0.6/test/mjsunit/compiler/short-circuit.js +0 -102
  167. data/ext/v8/upstream/2.0.6/test/mjsunit/compiler/thisfunction.js +0 -35
  168. data/ext/v8/upstream/2.0.6/test/mjsunit/const-declaration.js +0 -172
  169. data/ext/v8/upstream/2.0.6/test/mjsunit/const-eval-init.js +0 -111
  170. data/ext/v8/upstream/2.0.6/test/mjsunit/const-redecl.js +0 -220
  171. data/ext/v8/upstream/2.0.6/test/mjsunit/const.js +0 -70
  172. data/ext/v8/upstream/2.0.6/test/mjsunit/constant-folding.js +0 -232
  173. data/ext/v8/upstream/2.0.6/test/mjsunit/context-variable-assignments.js +0 -37
  174. data/ext/v8/upstream/2.0.6/test/mjsunit/cyclic-array-to-string.js +0 -65
  175. data/ext/v8/upstream/2.0.6/test/mjsunit/cyrillic.js +0 -199
  176. data/ext/v8/upstream/2.0.6/test/mjsunit/d8-os.js +0 -180
  177. data/ext/v8/upstream/2.0.6/test/mjsunit/date-parse.js +0 -268
  178. data/ext/v8/upstream/2.0.6/test/mjsunit/date.js +0 -149
  179. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-backtrace-text.js +0 -122
  180. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-backtrace.js +0 -272
  181. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-breakpoints.js +0 -120
  182. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-changebreakpoint.js +0 -108
  183. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-clearbreakpoint.js +0 -101
  184. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-clearbreakpointgroup.js +0 -117
  185. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-compile-event.js +0 -126
  186. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-conditional-breakpoints.js +0 -171
  187. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-constructed-by.js +0 -60
  188. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-constructor.js +0 -78
  189. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-continue.js +0 -114
  190. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-enable-disable-breakpoints.js +0 -90
  191. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-evaluate-arguments.js +0 -93
  192. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-evaluate-bool-constructor.js +0 -80
  193. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-evaluate-locals.js +0 -132
  194. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-evaluate-recursive.js +0 -167
  195. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-evaluate-with.js +0 -77
  196. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-evaluate.js +0 -118
  197. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-event-listener.js +0 -73
  198. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-handle.js +0 -252
  199. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-ignore-breakpoints.js +0 -89
  200. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-mirror-cache.js +0 -85
  201. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-multiple-breakpoints.js +0 -105
  202. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-referenced-by.js +0 -112
  203. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-references.js +0 -118
  204. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-scopes.js +0 -761
  205. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-script-breakpoints.js +0 -112
  206. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-script.js +0 -92
  207. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-scripts-request.js +0 -108
  208. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-setbreakpoint.js +0 -165
  209. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-sourceinfo.js +0 -352
  210. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-sourceslice.js +0 -74
  211. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-step-stub-callfunction.js +0 -87
  212. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-step.js +0 -82
  213. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-stepin-accessor.js +0 -248
  214. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-stepin-builtin.js +0 -78
  215. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-stepin-call-function-stub.js +0 -115
  216. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-stepin-constructor.js +0 -78
  217. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-stepin-function-call.js +0 -149
  218. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-stepnext-do-while.js +0 -79
  219. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-stepout-recursive-function.js +0 -106
  220. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-stepout-to-builtin.js +0 -84
  221. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-suspend.js +0 -96
  222. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-version.js +0 -90
  223. data/ext/v8/upstream/2.0.6/test/mjsunit/declare-locally.js +0 -43
  224. data/ext/v8/upstream/2.0.6/test/mjsunit/deep-recursion.js +0 -66
  225. data/ext/v8/upstream/2.0.6/test/mjsunit/delay-syntax-error.js +0 -41
  226. data/ext/v8/upstream/2.0.6/test/mjsunit/delete-global-properties.js +0 -37
  227. data/ext/v8/upstream/2.0.6/test/mjsunit/delete-in-eval.js +0 -32
  228. data/ext/v8/upstream/2.0.6/test/mjsunit/delete-in-with.js +0 -34
  229. data/ext/v8/upstream/2.0.6/test/mjsunit/delete-vars-from-eval.js +0 -40
  230. data/ext/v8/upstream/2.0.6/test/mjsunit/delete.js +0 -163
  231. data/ext/v8/upstream/2.0.6/test/mjsunit/div-mod.js +0 -157
  232. data/ext/v8/upstream/2.0.6/test/mjsunit/do-not-strip-fc.js +0 -31
  233. data/ext/v8/upstream/2.0.6/test/mjsunit/dont-enum-array-holes.js +0 -35
  234. data/ext/v8/upstream/2.0.6/test/mjsunit/dont-reinit-global-var.js +0 -47
  235. data/ext/v8/upstream/2.0.6/test/mjsunit/double-equals.js +0 -114
  236. data/ext/v8/upstream/2.0.6/test/mjsunit/dtoa.js +0 -32
  237. data/ext/v8/upstream/2.0.6/test/mjsunit/enumeration-order.js +0 -109
  238. data/ext/v8/upstream/2.0.6/test/mjsunit/error-constructors.js +0 -32
  239. data/ext/v8/upstream/2.0.6/test/mjsunit/escape.js +0 -118
  240. data/ext/v8/upstream/2.0.6/test/mjsunit/eval-enclosing-function-name.js +0 -76
  241. data/ext/v8/upstream/2.0.6/test/mjsunit/eval-typeof-non-existing.js +0 -35
  242. data/ext/v8/upstream/2.0.6/test/mjsunit/eval.js +0 -157
  243. data/ext/v8/upstream/2.0.6/test/mjsunit/execScript-case-insensitive.js +0 -34
  244. data/ext/v8/upstream/2.0.6/test/mjsunit/extra-arguments.js +0 -54
  245. data/ext/v8/upstream/2.0.6/test/mjsunit/extra-commas.js +0 -46
  246. data/ext/v8/upstream/2.0.6/test/mjsunit/for-in-null-or-undefined.js +0 -33
  247. data/ext/v8/upstream/2.0.6/test/mjsunit/for-in-special-cases.js +0 -64
  248. data/ext/v8/upstream/2.0.6/test/mjsunit/for-in.js +0 -86
  249. data/ext/v8/upstream/2.0.6/test/mjsunit/fun-as-prototype.js +0 -36
  250. data/ext/v8/upstream/2.0.6/test/mjsunit/fun-name.js +0 -34
  251. data/ext/v8/upstream/2.0.6/test/mjsunit/function-arguments-null.js +0 -30
  252. data/ext/v8/upstream/2.0.6/test/mjsunit/function-caller.js +0 -48
  253. data/ext/v8/upstream/2.0.6/test/mjsunit/function-names.js +0 -133
  254. data/ext/v8/upstream/2.0.6/test/mjsunit/function-property.js +0 -29
  255. data/ext/v8/upstream/2.0.6/test/mjsunit/function-prototype.js +0 -98
  256. data/ext/v8/upstream/2.0.6/test/mjsunit/function-source.js +0 -49
  257. data/ext/v8/upstream/2.0.6/test/mjsunit/function.js +0 -83
  258. data/ext/v8/upstream/2.0.6/test/mjsunit/fuzz-accessors.js +0 -85
  259. data/ext/v8/upstream/2.0.6/test/mjsunit/fuzz-natives.js +0 -159
  260. data/ext/v8/upstream/2.0.6/test/mjsunit/get-own-property-descriptor.js +0 -51
  261. data/ext/v8/upstream/2.0.6/test/mjsunit/get-prototype-of.js +0 -68
  262. data/ext/v8/upstream/2.0.6/test/mjsunit/getter-in-prototype.js +0 -50
  263. data/ext/v8/upstream/2.0.6/test/mjsunit/getter-in-value-prototype.js +0 -35
  264. data/ext/v8/upstream/2.0.6/test/mjsunit/global-const-var-conflicts.js +0 -57
  265. data/ext/v8/upstream/2.0.6/test/mjsunit/global-deleted-property-ic.js +0 -45
  266. data/ext/v8/upstream/2.0.6/test/mjsunit/global-deleted-property-keyed.js +0 -38
  267. data/ext/v8/upstream/2.0.6/test/mjsunit/global-ic.js +0 -48
  268. data/ext/v8/upstream/2.0.6/test/mjsunit/global-load-from-eval-in-with.js +0 -59
  269. data/ext/v8/upstream/2.0.6/test/mjsunit/global-load-from-eval.js +0 -85
  270. data/ext/v8/upstream/2.0.6/test/mjsunit/global-load-from-nested-eval.js +0 -66
  271. data/ext/v8/upstream/2.0.6/test/mjsunit/global-vars-eval.js +0 -34
  272. data/ext/v8/upstream/2.0.6/test/mjsunit/global-vars-with.js +0 -43
  273. data/ext/v8/upstream/2.0.6/test/mjsunit/greedy.js +0 -60
  274. data/ext/v8/upstream/2.0.6/test/mjsunit/has-own-property.js +0 -38
  275. data/ext/v8/upstream/2.0.6/test/mjsunit/html-comments.js +0 -57
  276. data/ext/v8/upstream/2.0.6/test/mjsunit/html-string-funcs.js +0 -47
  277. data/ext/v8/upstream/2.0.6/test/mjsunit/if-in-undefined.js +0 -36
  278. data/ext/v8/upstream/2.0.6/test/mjsunit/in.js +0 -159
  279. data/ext/v8/upstream/2.0.6/test/mjsunit/indexed-accessors.js +0 -120
  280. data/ext/v8/upstream/2.0.6/test/mjsunit/instanceof.js +0 -93
  281. data/ext/v8/upstream/2.0.6/test/mjsunit/integer-to-string.js +0 -35
  282. data/ext/v8/upstream/2.0.6/test/mjsunit/invalid-lhs.js +0 -65
  283. data/ext/v8/upstream/2.0.6/test/mjsunit/invalid-source-element.js +0 -31
  284. data/ext/v8/upstream/2.0.6/test/mjsunit/json.js +0 -207
  285. data/ext/v8/upstream/2.0.6/test/mjsunit/keyed-ic.js +0 -236
  286. data/ext/v8/upstream/2.0.6/test/mjsunit/keyed-storage-extend.js +0 -55
  287. data/ext/v8/upstream/2.0.6/test/mjsunit/large-object-allocation.js +0 -300
  288. data/ext/v8/upstream/2.0.6/test/mjsunit/large-object-literal.js +0 -56
  289. data/ext/v8/upstream/2.0.6/test/mjsunit/lazy-load.js +0 -34
  290. data/ext/v8/upstream/2.0.6/test/mjsunit/leakcheck.js +0 -53
  291. data/ext/v8/upstream/2.0.6/test/mjsunit/length.js +0 -78
  292. data/ext/v8/upstream/2.0.6/test/mjsunit/local-load-from-eval.js +0 -39
  293. data/ext/v8/upstream/2.0.6/test/mjsunit/math-min-max.js +0 -105
  294. data/ext/v8/upstream/2.0.6/test/mjsunit/megamorphic-callbacks.js +0 -70
  295. data/ext/v8/upstream/2.0.6/test/mjsunit/mirror-array.js +0 -138
  296. data/ext/v8/upstream/2.0.6/test/mjsunit/mirror-boolean.js +0 -59
  297. data/ext/v8/upstream/2.0.6/test/mjsunit/mirror-date.js +0 -77
  298. data/ext/v8/upstream/2.0.6/test/mjsunit/mirror-error.js +0 -94
  299. data/ext/v8/upstream/2.0.6/test/mjsunit/mirror-function.js +0 -90
  300. data/ext/v8/upstream/2.0.6/test/mjsunit/mirror-null.js +0 -50
  301. data/ext/v8/upstream/2.0.6/test/mjsunit/mirror-number.js +0 -77
  302. data/ext/v8/upstream/2.0.6/test/mjsunit/mirror-object.js +0 -227
  303. data/ext/v8/upstream/2.0.6/test/mjsunit/mirror-regexp.js +0 -110
  304. data/ext/v8/upstream/2.0.6/test/mjsunit/mirror-script.js +0 -100
  305. data/ext/v8/upstream/2.0.6/test/mjsunit/mirror-string.js +0 -89
  306. data/ext/v8/upstream/2.0.6/test/mjsunit/mirror-undefined.js +0 -50
  307. data/ext/v8/upstream/2.0.6/test/mjsunit/mirror-unresolved-function.js +0 -81
  308. data/ext/v8/upstream/2.0.6/test/mjsunit/mjsunit.js +0 -203
  309. data/ext/v8/upstream/2.0.6/test/mjsunit/mjsunit.status +0 -66
  310. data/ext/v8/upstream/2.0.6/test/mjsunit/mul-exhaustive.js +0 -4511
  311. data/ext/v8/upstream/2.0.6/test/mjsunit/multiple-return.js +0 -62
  312. data/ext/v8/upstream/2.0.6/test/mjsunit/negate-zero.js +0 -42
  313. data/ext/v8/upstream/2.0.6/test/mjsunit/negate.js +0 -59
  314. data/ext/v8/upstream/2.0.6/test/mjsunit/new.js +0 -56
  315. data/ext/v8/upstream/2.0.6/test/mjsunit/newline-in-string.js +0 -46
  316. data/ext/v8/upstream/2.0.6/test/mjsunit/no-branch-elimination.js +0 -36
  317. data/ext/v8/upstream/2.0.6/test/mjsunit/no-octal-constants-above-256.js +0 -32
  318. data/ext/v8/upstream/2.0.6/test/mjsunit/no-semicolon.js +0 -45
  319. data/ext/v8/upstream/2.0.6/test/mjsunit/non-ascii-replace.js +0 -30
  320. data/ext/v8/upstream/2.0.6/test/mjsunit/nul-characters.js +0 -38
  321. data/ext/v8/upstream/2.0.6/test/mjsunit/number-limits.js +0 -47
  322. data/ext/v8/upstream/2.0.6/test/mjsunit/number-string-index-call.js +0 -32
  323. data/ext/v8/upstream/2.0.6/test/mjsunit/number-tostring-small.js +0 -395
  324. data/ext/v8/upstream/2.0.6/test/mjsunit/number-tostring.js +0 -338
  325. data/ext/v8/upstream/2.0.6/test/mjsunit/obj-construct.js +0 -46
  326. data/ext/v8/upstream/2.0.6/test/mjsunit/object-create.js +0 -250
  327. data/ext/v8/upstream/2.0.6/test/mjsunit/object-literal-gc.js +0 -66
  328. data/ext/v8/upstream/2.0.6/test/mjsunit/object-literal.js +0 -105
  329. data/ext/v8/upstream/2.0.6/test/mjsunit/override-read-only-property.js +0 -64
  330. data/ext/v8/upstream/2.0.6/test/mjsunit/parse-int-float.js +0 -85
  331. data/ext/v8/upstream/2.0.6/test/mjsunit/property-load-across-eval.js +0 -85
  332. data/ext/v8/upstream/2.0.6/test/mjsunit/property-object-key.js +0 -36
  333. data/ext/v8/upstream/2.0.6/test/mjsunit/proto.js +0 -33
  334. data/ext/v8/upstream/2.0.6/test/mjsunit/prototype.js +0 -93
  335. data/ext/v8/upstream/2.0.6/test/mjsunit/receiver-in-with-calls.js +0 -47
  336. data/ext/v8/upstream/2.0.6/test/mjsunit/regexp-UC16.js +0 -47
  337. data/ext/v8/upstream/2.0.6/test/mjsunit/regexp-call-as-function.js +0 -36
  338. data/ext/v8/upstream/2.0.6/test/mjsunit/regexp-capture.js +0 -57
  339. data/ext/v8/upstream/2.0.6/test/mjsunit/regexp-captures.js +0 -31
  340. data/ext/v8/upstream/2.0.6/test/mjsunit/regexp-indexof.js +0 -77
  341. data/ext/v8/upstream/2.0.6/test/mjsunit/regexp-lookahead.js +0 -166
  342. data/ext/v8/upstream/2.0.6/test/mjsunit/regexp-loop-capture.js +0 -29
  343. data/ext/v8/upstream/2.0.6/test/mjsunit/regexp-multiline-stack-trace.js +0 -116
  344. data/ext/v8/upstream/2.0.6/test/mjsunit/regexp-multiline.js +0 -112
  345. data/ext/v8/upstream/2.0.6/test/mjsunit/regexp-standalones.js +0 -78
  346. data/ext/v8/upstream/2.0.6/test/mjsunit/regexp-static.js +0 -167
  347. data/ext/v8/upstream/2.0.6/test/mjsunit/regexp-string-methods.js +0 -51
  348. data/ext/v8/upstream/2.0.6/test/mjsunit/regexp.js +0 -390
  349. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1030466.js +0 -45
  350. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1036894.js +0 -38
  351. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1039610.js +0 -29
  352. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1050043.js +0 -51
  353. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1062422.js +0 -30
  354. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1066899.js +0 -37
  355. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1081309.js +0 -110
  356. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1102760.js +0 -35
  357. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1110164.js +0 -46
  358. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1112051.js +0 -33
  359. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1114040.js +0 -58
  360. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1134697.js +0 -31
  361. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-114.js +0 -43
  362. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-116.js +0 -40
  363. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1170187.js +0 -80
  364. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1173979.js +0 -48
  365. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1175390.js +0 -30
  366. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1177518.js +0 -39
  367. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1177809.js +0 -31
  368. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1178598.js +0 -90
  369. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1182832.js +0 -38
  370. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1187524.js +0 -34
  371. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1199401.js +0 -75
  372. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1199637.js +0 -78
  373. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1200351.js +0 -2032
  374. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1201933.js +0 -40
  375. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1203459.js +0 -29
  376. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1207276.js +0 -36
  377. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1213516.js +0 -40
  378. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1213575.js +0 -41
  379. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1215653.js +0 -365
  380. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-124.js +0 -57
  381. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1254366.js +0 -38
  382. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1327557.js +0 -36
  383. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1341167.js +0 -33
  384. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1346700.js +0 -29
  385. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-137.js +0 -46
  386. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1439135.js +0 -40
  387. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-149.js +0 -28
  388. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1493017.js +0 -52
  389. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-155924.js +0 -46
  390. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-171.js +0 -41
  391. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-176.js +0 -50
  392. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-186.js +0 -72
  393. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-187.js +0 -30
  394. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-189.js +0 -36
  395. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-191.js +0 -42
  396. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1919169.js +0 -40
  397. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-192.js +0 -38
  398. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-193.js +0 -44
  399. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-20070207.js +0 -42
  400. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-201.js +0 -37
  401. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-219.js +0 -176
  402. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-220.js +0 -31
  403. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-221.js +0 -34
  404. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-2249423.js +0 -40
  405. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-225.js +0 -32
  406. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-227.js +0 -33
  407. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-231.js +0 -92
  408. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-233.js +0 -39
  409. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-244.js +0 -67
  410. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-246.js +0 -31
  411. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-253.js +0 -31
  412. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-254.js +0 -58
  413. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-259.js +0 -33
  414. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-260.js +0 -33
  415. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-263.js +0 -38
  416. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-265.js +0 -64
  417. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-267.js +0 -35
  418. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-269.js +0 -49
  419. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-279.js +0 -62
  420. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-284.js +0 -50
  421. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-286.js +0 -36
  422. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-294.js +0 -43
  423. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-312.js +0 -31
  424. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-317.js +0 -31
  425. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-318.js +0 -35
  426. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-326.js +0 -40
  427. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-334.js +0 -90
  428. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-341.js +0 -36
  429. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-345.js +0 -51
  430. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-349.js +0 -32
  431. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-35.js +0 -33
  432. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-351.js +0 -31
  433. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-386.js +0 -47
  434. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-392.js +0 -34
  435. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-394.js +0 -47
  436. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-396.js +0 -39
  437. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-397.js +0 -34
  438. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-399.js +0 -32
  439. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-406.js +0 -69
  440. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-416.js +0 -38
  441. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-475.js +0 -28
  442. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-483.js +0 -35
  443. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-485.js +0 -64
  444. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-486.js +0 -30
  445. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-490.js +0 -48
  446. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-491.js +0 -47
  447. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-492.js +0 -52
  448. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-496.js +0 -39
  449. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-502.js +0 -38
  450. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-503.js +0 -63
  451. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-515.js +0 -40
  452. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-524.js +0 -32
  453. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-526.js +0 -32
  454. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-540.js +0 -47
  455. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-545.js +0 -47
  456. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-57.js +0 -32
  457. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-580.js +0 -55
  458. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-588599.js +0 -31
  459. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-6-9-regexp.js +0 -30
  460. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-662254.js +0 -40
  461. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-666721.js +0 -53
  462. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-667061.js +0 -90
  463. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-670147.js +0 -34
  464. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-674753.js +0 -87
  465. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-676025.js +0 -31
  466. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-678525.js +0 -59
  467. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-682649.js +0 -30
  468. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-69.js +0 -43
  469. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-734862.js +0 -37
  470. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-737588.js +0 -34
  471. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-74.js +0 -41
  472. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-780423.js +0 -39
  473. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-799761.js +0 -92
  474. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-806473.js +0 -60
  475. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-842017.js +0 -60
  476. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-86.js +0 -46
  477. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-87.js +0 -58
  478. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-874178.js +0 -32
  479. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-875031.js +0 -37
  480. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-877615.js +0 -37
  481. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-892742.js +0 -50
  482. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-900055.js +0 -42
  483. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-900966.js +0 -38
  484. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-91.js +0 -38
  485. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-925537.js +0 -42
  486. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-937896.js +0 -50
  487. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-990205.js +0 -35
  488. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-992733.js +0 -35
  489. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-996542.js +0 -40
  490. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-998565.js +0 -51
  491. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-crbug-18639.js +0 -34
  492. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-r3391.js +0 -77
  493. data/ext/v8/upstream/2.0.6/test/mjsunit/scanner.js +0 -30
  494. data/ext/v8/upstream/2.0.6/test/mjsunit/short-circuit-boolean.js +0 -46
  495. data/ext/v8/upstream/2.0.6/test/mjsunit/simple-constructor.js +0 -140
  496. data/ext/v8/upstream/2.0.6/test/mjsunit/sin-cos.js +0 -45
  497. data/ext/v8/upstream/2.0.6/test/mjsunit/smi-negative-zero.js +0 -100
  498. data/ext/v8/upstream/2.0.6/test/mjsunit/smi-ops.js +0 -671
  499. data/ext/v8/upstream/2.0.6/test/mjsunit/sparse-array-reverse.js +0 -131
  500. data/ext/v8/upstream/2.0.6/test/mjsunit/sparse-array.js +0 -41
  501. data/ext/v8/upstream/2.0.6/test/mjsunit/stack-traces.js +0 -204
  502. data/ext/v8/upstream/2.0.6/test/mjsunit/str-to-num.js +0 -158
  503. data/ext/v8/upstream/2.0.6/test/mjsunit/stress-array-push.js +0 -34
  504. data/ext/v8/upstream/2.0.6/test/mjsunit/strict-equals.js +0 -90
  505. data/ext/v8/upstream/2.0.6/test/mjsunit/string-add.js +0 -195
  506. data/ext/v8/upstream/2.0.6/test/mjsunit/string-case.js +0 -28
  507. data/ext/v8/upstream/2.0.6/test/mjsunit/string-charat.js +0 -53
  508. data/ext/v8/upstream/2.0.6/test/mjsunit/string-charcodeat.js +0 -192
  509. data/ext/v8/upstream/2.0.6/test/mjsunit/string-compare-alignment.js +0 -47
  510. data/ext/v8/upstream/2.0.6/test/mjsunit/string-flatten.js +0 -37
  511. data/ext/v8/upstream/2.0.6/test/mjsunit/string-index.js +0 -154
  512. data/ext/v8/upstream/2.0.6/test/mjsunit/string-indexof-1.js +0 -99
  513. data/ext/v8/upstream/2.0.6/test/mjsunit/string-indexof-2.js +0 -68
  514. data/ext/v8/upstream/2.0.6/test/mjsunit/string-lastindexof.js +0 -88
  515. data/ext/v8/upstream/2.0.6/test/mjsunit/string-localecompare.js +0 -40
  516. data/ext/v8/upstream/2.0.6/test/mjsunit/string-match.js +0 -149
  517. data/ext/v8/upstream/2.0.6/test/mjsunit/string-replace-gc.js +0 -57
  518. data/ext/v8/upstream/2.0.6/test/mjsunit/string-replace.js +0 -182
  519. data/ext/v8/upstream/2.0.6/test/mjsunit/string-search.js +0 -30
  520. data/ext/v8/upstream/2.0.6/test/mjsunit/string-split.js +0 -126
  521. data/ext/v8/upstream/2.0.6/test/mjsunit/substr.js +0 -65
  522. data/ext/v8/upstream/2.0.6/test/mjsunit/switch.js +0 -289
  523. data/ext/v8/upstream/2.0.6/test/mjsunit/testcfg.py +0 -137
  524. data/ext/v8/upstream/2.0.6/test/mjsunit/third_party/array-isarray.js +0 -48
  525. data/ext/v8/upstream/2.0.6/test/mjsunit/third_party/array-splice-webkit.js +0 -62
  526. data/ext/v8/upstream/2.0.6/test/mjsunit/third_party/object-keys.js +0 -68
  527. data/ext/v8/upstream/2.0.6/test/mjsunit/third_party/regexp-pcre.js +0 -6603
  528. data/ext/v8/upstream/2.0.6/test/mjsunit/third_party/string-trim.js +0 -107
  529. data/ext/v8/upstream/2.0.6/test/mjsunit/this-in-callbacks.js +0 -47
  530. data/ext/v8/upstream/2.0.6/test/mjsunit/this.js +0 -46
  531. data/ext/v8/upstream/2.0.6/test/mjsunit/throw-and-catch-function.js +0 -50
  532. data/ext/v8/upstream/2.0.6/test/mjsunit/throw-exception-for-null-access.js +0 -37
  533. data/ext/v8/upstream/2.0.6/test/mjsunit/to-precision.js +0 -82
  534. data/ext/v8/upstream/2.0.6/test/mjsunit/to_number_order.js +0 -129
  535. data/ext/v8/upstream/2.0.6/test/mjsunit/tobool.js +0 -36
  536. data/ext/v8/upstream/2.0.6/test/mjsunit/toint32.js +0 -129
  537. data/ext/v8/upstream/2.0.6/test/mjsunit/tools/codemap.js +0 -180
  538. data/ext/v8/upstream/2.0.6/test/mjsunit/tools/consarray.js +0 -60
  539. data/ext/v8/upstream/2.0.6/test/mjsunit/tools/csvparser.js +0 -79
  540. data/ext/v8/upstream/2.0.6/test/mjsunit/tools/logreader.js +0 -98
  541. data/ext/v8/upstream/2.0.6/test/mjsunit/tools/profile.js +0 -348
  542. data/ext/v8/upstream/2.0.6/test/mjsunit/tools/profile_view.js +0 -95
  543. data/ext/v8/upstream/2.0.6/test/mjsunit/tools/splaytree.js +0 -166
  544. data/ext/v8/upstream/2.0.6/test/mjsunit/tools/tickprocessor-test.default +0 -55
  545. data/ext/v8/upstream/2.0.6/test/mjsunit/tools/tickprocessor-test.gc-state +0 -21
  546. data/ext/v8/upstream/2.0.6/test/mjsunit/tools/tickprocessor-test.ignore-unknown +0 -51
  547. data/ext/v8/upstream/2.0.6/test/mjsunit/tools/tickprocessor-test.separate-ic +0 -61
  548. data/ext/v8/upstream/2.0.6/test/mjsunit/tools/tickprocessor.js +0 -409
  549. data/ext/v8/upstream/2.0.6/test/mjsunit/top-level-assignments.js +0 -107
  550. data/ext/v8/upstream/2.0.6/test/mjsunit/touint32.js +0 -72
  551. data/ext/v8/upstream/2.0.6/test/mjsunit/transcendentals.js +0 -49
  552. data/ext/v8/upstream/2.0.6/test/mjsunit/try-catch-extension-object.js +0 -58
  553. data/ext/v8/upstream/2.0.6/test/mjsunit/try-catch-scopes.js +0 -42
  554. data/ext/v8/upstream/2.0.6/test/mjsunit/try-finally-nested.js +0 -46
  555. data/ext/v8/upstream/2.0.6/test/mjsunit/try.js +0 -394
  556. data/ext/v8/upstream/2.0.6/test/mjsunit/typeof.js +0 -40
  557. data/ext/v8/upstream/2.0.6/test/mjsunit/undeletable-functions.js +0 -181
  558. data/ext/v8/upstream/2.0.6/test/mjsunit/unicode-case-overoptimization.js +0 -35
  559. data/ext/v8/upstream/2.0.6/test/mjsunit/unicode-string-to-number.js +0 -46
  560. data/ext/v8/upstream/2.0.6/test/mjsunit/unicode-test.js +0 -9169
  561. data/ext/v8/upstream/2.0.6/test/mjsunit/unusual-constructor.js +0 -38
  562. data/ext/v8/upstream/2.0.6/test/mjsunit/uri.js +0 -78
  563. data/ext/v8/upstream/2.0.6/test/mjsunit/value-callic-prototype-change.js +0 -94
  564. data/ext/v8/upstream/2.0.6/test/mjsunit/var.js +0 -37
  565. data/ext/v8/upstream/2.0.6/test/mjsunit/with-function-expression.js +0 -36
  566. data/ext/v8/upstream/2.0.6/test/mjsunit/with-leave.js +0 -61
  567. data/ext/v8/upstream/2.0.6/test/mjsunit/with-parameter-access.js +0 -47
  568. data/ext/v8/upstream/2.0.6/test/mjsunit/with-prototype.js +0 -44
  569. data/ext/v8/upstream/2.0.6/test/mjsunit/with-value.js +0 -38
  570. data/ext/v8/upstream/2.0.6/test/mozilla/mozilla-shell-emulation.js +0 -37
  571. data/ext/v8/upstream/2.0.6/test/mozilla/mozilla.status +0 -815
  572. data/ext/v8/upstream/2.0.6/test/mozilla/testcfg.py +0 -138
  573. data/ext/v8/upstream/2.0.6/test/sputnik/README +0 -6
  574. data/ext/v8/upstream/2.0.6/test/sputnik/sputnik.status +0 -318
  575. data/ext/v8/upstream/2.0.6/test/sputnik/testcfg.py +0 -112
  576. data/ext/v8/upstream/2.0.6/tools/js2c.pyc +0 -0
  577. data/ext/v8/upstream/2.0.6/tools/jsmin.pyc +0 -0
  578. data/ext/v8/upstream/2.0.6/tools/utils.pyc +0 -0
  579. data/spec/redjs/README.txt +0 -8
@@ -1,671 +0,0 @@
1
- // Copyright 2008 the V8 project authors. All rights reserved.
2
- // Redistribution and use in source and binary forms, with or without
3
- // modification, are permitted provided that the following conditions are
4
- // met:
5
- //
6
- // * Redistributions of source code must retain the above copyright
7
- // notice, this list of conditions and the following disclaimer.
8
- // * Redistributions in binary form must reproduce the above
9
- // copyright notice, this list of conditions and the following
10
- // disclaimer in the documentation and/or other materials provided
11
- // with the distribution.
12
- // * Neither the name of Google Inc. nor the names of its
13
- // contributors may be used to endorse or promote products derived
14
- // from this software without specific prior written permission.
15
- //
16
- // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
17
- // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
18
- // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
19
- // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
20
- // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
21
- // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22
- // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23
- // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24
- // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25
- // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
26
- // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
-
28
- const SMI_MAX = (1 << 30) - 1;
29
- const SMI_MIN = -(1 << 30);
30
- const ONE = 1;
31
- const ONE_HUNDRED = 100;
32
-
33
- const OBJ_42 = new (function() {
34
- this.valueOf = function() { return 42; };
35
- })();
36
-
37
- assertEquals(42, OBJ_42.valueOf());
38
-
39
-
40
- function Add1(x) {
41
- return x + 1;
42
- }
43
-
44
- function Add100(x) {
45
- return x + 100;
46
- }
47
-
48
- function Add1Reversed(x) {
49
- return 1 + x;
50
- }
51
-
52
- function Add100Reversed(x) {
53
- return 100 + x;
54
- }
55
-
56
-
57
- assertEquals(1, Add1(0)); // fast case
58
- assertEquals(1, Add1Reversed(0)); // fast case
59
- assertEquals(SMI_MAX + ONE, Add1(SMI_MAX), "smimax + 1");
60
- assertEquals(SMI_MAX + ONE, Add1Reversed(SMI_MAX), "1 + smimax");
61
- assertEquals(42 + ONE, Add1(OBJ_42)); // non-smi
62
- assertEquals(42 + ONE, Add1Reversed(OBJ_42)); // non-smi
63
-
64
- assertEquals(100, Add100(0)); // fast case
65
- assertEquals(100, Add100Reversed(0)); // fast case
66
- assertEquals(SMI_MAX + ONE_HUNDRED, Add100(SMI_MAX), "smimax + 100");
67
- assertEquals(SMI_MAX + ONE_HUNDRED, Add100Reversed(SMI_MAX), " 100 + smimax");
68
- assertEquals(42 + ONE_HUNDRED, Add100(OBJ_42)); // non-smi
69
- assertEquals(42 + ONE_HUNDRED, Add100Reversed(OBJ_42)); // non-smi
70
-
71
-
72
-
73
- function Sub1(x) {
74
- return x - 1;
75
- }
76
-
77
- function Sub100(x) {
78
- return x - 100;
79
- }
80
-
81
- function Sub1Reversed(x) {
82
- return 1 - x;
83
- }
84
-
85
- function Sub100Reversed(x) {
86
- return 100 - x;
87
- }
88
-
89
-
90
- assertEquals(0, Sub1(1)); // fast case
91
- assertEquals(-1, Sub1Reversed(2)); // fast case
92
- assertEquals(SMI_MIN - ONE, Sub1(SMI_MIN)); // overflow
93
- assertEquals(ONE - SMI_MIN, Sub1Reversed(SMI_MIN)); // overflow
94
- assertEquals(42 - ONE, Sub1(OBJ_42)); // non-smi
95
- assertEquals(ONE - 42, Sub1Reversed(OBJ_42)); // non-smi
96
-
97
- assertEquals(0, Sub100(100)); // fast case
98
- assertEquals(1, Sub100Reversed(99)); // fast case
99
- assertEquals(SMI_MIN - ONE_HUNDRED, Sub100(SMI_MIN)); // overflow
100
- assertEquals(ONE_HUNDRED - SMI_MIN, Sub100Reversed(SMI_MIN)); // overflow
101
- assertEquals(42 - ONE_HUNDRED, Sub100(OBJ_42)); // non-smi
102
- assertEquals(ONE_HUNDRED - 42, Sub100Reversed(OBJ_42)); // non-smi
103
-
104
-
105
- function Shr1(x) {
106
- return x >>> 1;
107
- }
108
-
109
- function Shr100(x) {
110
- return x >>> 100;
111
- }
112
-
113
- function Shr1Reversed(x) {
114
- return 1 >>> x;
115
- }
116
-
117
- function Shr100Reversed(x) {
118
- return 100 >>> x;
119
- }
120
-
121
- function Sar1(x) {
122
- return x >> 1;
123
- }
124
-
125
- function Sar100(x) {
126
- return x >> 100;
127
- }
128
-
129
- function Sar1Reversed(x) {
130
- return 1 >> x;
131
- }
132
-
133
- function Sar100Reversed(x) {
134
- return 100 >> x;
135
- }
136
-
137
-
138
- assertEquals(0, Shr1(1));
139
- assertEquals(0, Sar1(1));
140
- assertEquals(0, Shr1Reversed(2));
141
- assertEquals(0, Sar1Reversed(2));
142
- assertEquals(1610612736, Shr1(SMI_MIN));
143
- assertEquals(-536870912, Sar1(SMI_MIN));
144
- assertEquals(1, Shr1Reversed(SMI_MIN));
145
- assertEquals(1, Sar1Reversed(SMI_MIN));
146
- assertEquals(21, Shr1(OBJ_42));
147
- assertEquals(21, Sar1(OBJ_42));
148
- assertEquals(0, Shr1Reversed(OBJ_42));
149
- assertEquals(0, Sar1Reversed(OBJ_42));
150
-
151
- assertEquals(6, Shr100(100), "100 >>> 100");
152
- assertEquals(6, Sar100(100), "100 >> 100");
153
- assertEquals(12, Shr100Reversed(99));
154
- assertEquals(12, Sar100Reversed(99));
155
- assertEquals(201326592, Shr100(SMI_MIN));
156
- assertEquals(-67108864, Sar100(SMI_MIN));
157
- assertEquals(100, Shr100Reversed(SMI_MIN));
158
- assertEquals(100, Sar100Reversed(SMI_MIN));
159
- assertEquals(2, Shr100(OBJ_42));
160
- assertEquals(2, Sar100(OBJ_42));
161
- assertEquals(0, Shr100Reversed(OBJ_42));
162
- assertEquals(0, Sar100Reversed(OBJ_42));
163
-
164
-
165
- function Xor1(x) {
166
- return x ^ 1;
167
- }
168
-
169
- function Xor100(x) {
170
- return x ^ 100;
171
- }
172
-
173
- function Xor1Reversed(x) {
174
- return 1 ^ x;
175
- }
176
-
177
- function Xor100Reversed(x) {
178
- return 100 ^ x;
179
- }
180
-
181
-
182
- assertEquals(0, Xor1(1));
183
- assertEquals(3, Xor1Reversed(2));
184
- assertEquals(SMI_MIN + 1, Xor1(SMI_MIN));
185
- assertEquals(SMI_MIN + 1, Xor1Reversed(SMI_MIN));
186
- assertEquals(43, Xor1(OBJ_42));
187
- assertEquals(43, Xor1Reversed(OBJ_42));
188
-
189
- assertEquals(0, Xor100(100));
190
- assertEquals(7, Xor100Reversed(99));
191
- assertEquals(-1073741724, Xor100(SMI_MIN));
192
- assertEquals(-1073741724, Xor100Reversed(SMI_MIN));
193
- assertEquals(78, Xor100(OBJ_42));
194
- assertEquals(78, Xor100Reversed(OBJ_42));
195
-
196
- var x = 0x23; var y = 0x35;
197
- assertEquals(0x16, x ^ y);
198
-
199
-
200
- // Bitwise not.
201
- var v = 0;
202
- assertEquals(-1, ~v);
203
- v = SMI_MIN;
204
- assertEquals(0x3fffffff, ~v, "~smimin");
205
- v = SMI_MAX;
206
- assertEquals(-0x40000000, ~v, "~smimax");
207
-
208
- // Overflowing ++ and --.
209
- v = SMI_MAX;
210
- v++;
211
- assertEquals(0x40000000, v, "smimax++");
212
- v = SMI_MIN;
213
- v--;
214
- assertEquals(-0x40000001, v, "smimin--");
215
-
216
- // Not actually Smi operations.
217
- // Check that relations on unary ops work.
218
- var v = -1.2;
219
- assertTrue(v == v);
220
- assertTrue(v === v);
221
- assertTrue(v <= v);
222
- assertTrue(v >= v);
223
- assertFalse(v < v);
224
- assertFalse(v > v);
225
- assertFalse(v != v);
226
- assertFalse(v !== v);
227
-
228
- // Right hand side of unary minus is overwritable.
229
- v = 1.5
230
- assertEquals(-2.25, -(v * v));
231
-
232
- // Smi input to bitop gives non-smi result where the rhs is a float that
233
- // can be overwritten.
234
- var x1 = 0x10000000;
235
- var x2 = 0x40000002;
236
- var x3 = 0x40000000;
237
- assertEquals(0x40000000, x1 << (x2 - x3), "0x10000000<<1(1)");
238
-
239
- // Smi input to bitop gives non-smi result where the rhs could be overwritten
240
- // if it were a float, but it isn't.
241
- x1 = 0x10000000
242
- x2 = 4
243
- x3 = 2
244
- assertEquals(0x40000000, x1 << (x2 - x3), "0x10000000<<2(2)");
245
-
246
-
247
- // Test shift operators on non-smi inputs, giving smi and non-smi results.
248
- function testShiftNonSmis() {
249
- var pos_non_smi = 2000000000;
250
- var neg_non_smi = -pos_non_smi;
251
- var pos_smi = 1000000000;
252
- var neg_smi = -pos_smi;
253
-
254
- // Begin block A
255
- assertEquals(pos_non_smi, (pos_non_smi) >> 0);
256
- assertEquals(pos_non_smi, (pos_non_smi) >>> 0);
257
- assertEquals(pos_non_smi, (pos_non_smi) << 0);
258
- assertEquals(neg_non_smi, (neg_non_smi) >> 0);
259
- assertEquals(neg_non_smi + 0x100000000, (neg_non_smi) >>> 0);
260
- assertEquals(neg_non_smi, (neg_non_smi) << 0);
261
- assertEquals(pos_smi, (pos_smi) >> 0, "possmi >> 0");
262
- assertEquals(pos_smi, (pos_smi) >>> 0, "possmi >>>0");
263
- assertEquals(pos_smi, (pos_smi) << 0, "possmi << 0");
264
- assertEquals(neg_smi, (neg_smi) >> 0, "negsmi >> 0");
265
- assertEquals(neg_smi + 0x100000000, (neg_smi) >>> 0, "negsmi >>> 0");
266
- assertEquals(neg_smi, (neg_smi) << 0), "negsmi << 0";
267
-
268
- assertEquals(pos_non_smi / 2, (pos_non_smi) >> 1);
269
- assertEquals(pos_non_smi / 2, (pos_non_smi) >>> 1);
270
- assertEquals(-0x1194D800, (pos_non_smi) << 1);
271
- assertEquals(pos_non_smi / 8, (pos_non_smi) >> 3);
272
- assertEquals(pos_non_smi / 8, (pos_non_smi) >>> 3);
273
- assertEquals(-0x46536000, (pos_non_smi) << 3);
274
- assertEquals(0x73594000, (pos_non_smi) << 4);
275
- assertEquals(pos_non_smi, (pos_non_smi + 0.5) >> 0);
276
- assertEquals(pos_non_smi, (pos_non_smi + 0.5) >>> 0);
277
- assertEquals(pos_non_smi, (pos_non_smi + 0.5) << 0);
278
- assertEquals(pos_non_smi / 2, (pos_non_smi + 0.5) >> 1);
279
- assertEquals(pos_non_smi / 2, (pos_non_smi + 0.5) >>> 1);
280
- assertEquals(-0x1194D800, (pos_non_smi + 0.5) << 1);
281
- assertEquals(pos_non_smi / 8, (pos_non_smi + 0.5) >> 3);
282
- assertEquals(pos_non_smi / 8, (pos_non_smi + 0.5) >>> 3);
283
- assertEquals(-0x46536000, (pos_non_smi + 0.5) << 3);
284
- assertEquals(0x73594000, (pos_non_smi + 0.5) << 4);
285
-
286
- assertEquals(neg_non_smi / 2, (neg_non_smi) >> 1, "negnonsmi >> 1");
287
-
288
- assertEquals(neg_non_smi / 2 + 0x100000000 / 2, (neg_non_smi) >>> 1,
289
- "negnonsmi >>> 1");
290
- assertEquals(0x1194D800, (neg_non_smi) << 1);
291
- assertEquals(neg_non_smi / 8, (neg_non_smi) >> 3);
292
- assertEquals(neg_non_smi / 8 + 0x100000000 / 8, (neg_non_smi) >>> 3);
293
- assertEquals(0x46536000, (neg_non_smi) << 3);
294
- assertEquals(-0x73594000, (neg_non_smi) << 4);
295
- assertEquals(neg_non_smi, (neg_non_smi - 0.5) >> 0);
296
- assertEquals(neg_non_smi + 0x100000000, (neg_non_smi - 0.5) >>> 0,
297
- "negnonsmi.5 >>> 0");
298
- assertEquals(neg_non_smi, (neg_non_smi - 0.5) << 0);
299
- assertEquals(neg_non_smi / 2, (neg_non_smi - 0.5) >> 1);
300
- assertEquals(neg_non_smi / 2 + 0x100000000 / 2, (neg_non_smi - 0.5) >>> 1,
301
- "negnonsmi.5 >>> 1");
302
- assertEquals(0x1194D800, (neg_non_smi - 0.5) << 1);
303
- assertEquals(neg_non_smi / 8, (neg_non_smi - 0.5) >> 3);
304
- assertEquals(neg_non_smi / 8 + 0x100000000 / 8, (neg_non_smi - 0.5) >>> 3);
305
- assertEquals(0x46536000, (neg_non_smi - 0.5) << 3);
306
- assertEquals(-0x73594000, (neg_non_smi - 0.5) << 4);
307
-
308
- assertEquals(pos_smi / 2, (pos_smi) >> 1);
309
- assertEquals(pos_smi / 2, (pos_smi) >>> 1);
310
- assertEquals(pos_non_smi, (pos_smi) << 1);
311
- assertEquals(pos_smi / 8, (pos_smi) >> 3);
312
- assertEquals(pos_smi / 8, (pos_smi) >>> 3);
313
- assertEquals(-0x2329b000, (pos_smi) << 3);
314
- assertEquals(0x73594000, (pos_smi) << 5);
315
- assertEquals(pos_smi, (pos_smi + 0.5) >> 0, "possmi.5 >> 0");
316
- assertEquals(pos_smi, (pos_smi + 0.5) >>> 0, "possmi.5 >>> 0");
317
- assertEquals(pos_smi, (pos_smi + 0.5) << 0, "possmi.5 << 0");
318
- assertEquals(pos_smi / 2, (pos_smi + 0.5) >> 1);
319
- assertEquals(pos_smi / 2, (pos_smi + 0.5) >>> 1);
320
- assertEquals(pos_non_smi, (pos_smi + 0.5) << 1);
321
- assertEquals(pos_smi / 8, (pos_smi + 0.5) >> 3);
322
- assertEquals(pos_smi / 8, (pos_smi + 0.5) >>> 3);
323
- assertEquals(-0x2329b000, (pos_smi + 0.5) << 3);
324
- assertEquals(0x73594000, (pos_smi + 0.5) << 5);
325
-
326
- assertEquals(neg_smi / 2, (neg_smi) >> 1);
327
- assertEquals(neg_smi / 2 + 0x100000000 / 2, (neg_smi) >>> 1);
328
- assertEquals(neg_non_smi, (neg_smi) << 1);
329
- assertEquals(neg_smi / 8, (neg_smi) >> 3);
330
- assertEquals(neg_smi / 8 + 0x100000000 / 8, (neg_smi) >>> 3);
331
- assertEquals(0x46536000, (neg_smi) << 4);
332
- assertEquals(-0x73594000, (neg_smi) << 5);
333
- assertEquals(neg_smi, (neg_smi - 0.5) >> 0, "negsmi.5 >> 0");
334
- assertEquals(neg_smi + 0x100000000, (neg_smi - 0.5) >>> 0, "negsmi.5 >>> 0");
335
- assertEquals(neg_smi, (neg_smi - 0.5) << 0, "negsmi.5 << 0");
336
- assertEquals(neg_smi / 2, (neg_smi - 0.5) >> 1);
337
- assertEquals(neg_smi / 2 + 0x100000000 / 2, (neg_smi - 0.5) >>> 1);
338
- assertEquals(neg_non_smi, (neg_smi - 0.5) << 1);
339
- assertEquals(neg_smi / 8, (neg_smi - 0.5) >> 3);
340
- assertEquals(neg_smi / 8 + 0x100000000 / 8, (neg_smi - 0.5) >>> 3);
341
- assertEquals(0x46536000, (neg_smi - 0.5) << 4);
342
- assertEquals(-0x73594000, (neg_smi - 0.5) << 5);
343
- // End block A
344
-
345
- // Repeat block A with 2^32 added to positive numbers and
346
- // 2^32 subtracted from negative numbers.
347
- // Begin block A repeat 1
348
- var two_32 = 0x100000000;
349
- var neg_32 = -two_32;
350
- assertEquals(pos_non_smi, (two_32 + pos_non_smi) >> 0);
351
- assertEquals(pos_non_smi, (two_32 + pos_non_smi) >>> 0);
352
- assertEquals(pos_non_smi, (two_32 + pos_non_smi) << 0);
353
- assertEquals(neg_non_smi, (neg_32 + neg_non_smi) >> 0);
354
- assertEquals(neg_non_smi + 0x100000000, (neg_32 + neg_non_smi) >>> 0);
355
- assertEquals(neg_non_smi, (neg_32 + neg_non_smi) << 0);
356
- assertEquals(pos_smi, (two_32 + pos_smi) >> 0, "2^32+possmi >> 0");
357
- assertEquals(pos_smi, (two_32 + pos_smi) >>> 0, "2^32+possmi >>> 0");
358
- assertEquals(pos_smi, (two_32 + pos_smi) << 0, "2^32+possmi << 0");
359
- assertEquals(neg_smi, (neg_32 + neg_smi) >> 0, "2^32+negsmi >> 0");
360
- assertEquals(neg_smi + 0x100000000, (neg_32 + neg_smi) >>> 0);
361
- assertEquals(neg_smi, (neg_32 + neg_smi) << 0, "2^32+negsmi << 0");
362
-
363
- assertEquals(pos_non_smi / 2, (two_32 + pos_non_smi) >> 1);
364
- assertEquals(pos_non_smi / 2, (two_32 + pos_non_smi) >>> 1);
365
- assertEquals(-0x1194D800, (two_32 + pos_non_smi) << 1);
366
- assertEquals(pos_non_smi / 8, (two_32 + pos_non_smi) >> 3);
367
- assertEquals(pos_non_smi / 8, (two_32 + pos_non_smi) >>> 3);
368
- assertEquals(-0x46536000, (two_32 + pos_non_smi) << 3);
369
- assertEquals(0x73594000, (two_32 + pos_non_smi) << 4);
370
- assertEquals(pos_non_smi, (two_32 + pos_non_smi + 0.5) >> 0);
371
- assertEquals(pos_non_smi, (two_32 + pos_non_smi + 0.5) >>> 0);
372
- assertEquals(pos_non_smi, (two_32 + pos_non_smi + 0.5) << 0);
373
- assertEquals(pos_non_smi / 2, (two_32 + pos_non_smi + 0.5) >> 1);
374
- assertEquals(pos_non_smi / 2, (two_32 + pos_non_smi + 0.5) >>> 1);
375
- assertEquals(-0x1194D800, (two_32 + pos_non_smi + 0.5) << 1);
376
- assertEquals(pos_non_smi / 8, (two_32 + pos_non_smi + 0.5) >> 3);
377
- assertEquals(pos_non_smi / 8, (two_32 + pos_non_smi + 0.5) >>> 3);
378
- assertEquals(-0x46536000, (two_32 + pos_non_smi + 0.5) << 3);
379
- assertEquals(0x73594000, (two_32 + pos_non_smi + 0.5) << 4);
380
-
381
- assertEquals(neg_non_smi / 2, (neg_32 + neg_non_smi) >> 1);
382
- assertEquals(neg_non_smi / 2 + 0x100000000 / 2, (neg_32 + neg_non_smi) >>> 1);
383
- assertEquals(0x1194D800, (neg_32 + neg_non_smi) << 1);
384
- assertEquals(neg_non_smi / 8, (neg_32 + neg_non_smi) >> 3);
385
- assertEquals(neg_non_smi / 8 + 0x100000000 / 8, (neg_32 + neg_non_smi) >>> 3);
386
- assertEquals(0x46536000, (neg_32 + neg_non_smi) << 3);
387
- assertEquals(-0x73594000, (neg_32 + neg_non_smi) << 4);
388
- assertEquals(neg_non_smi, (neg_32 + neg_non_smi - 0.5) >> 0);
389
- assertEquals(neg_non_smi + 0x100000000, (neg_32 + neg_non_smi - 0.5) >>> 0);
390
- assertEquals(neg_non_smi, (neg_32 + neg_non_smi - 0.5) << 0);
391
- assertEquals(neg_non_smi / 2, (neg_32 + neg_non_smi - 0.5) >> 1);
392
- assertEquals(neg_non_smi / 2 + 0x100000000 / 2, (neg_32 + neg_non_smi - 0.5)
393
- >>> 1);
394
- assertEquals(0x1194D800, (neg_32 + neg_non_smi - 0.5) << 1);
395
- assertEquals(neg_non_smi / 8, (neg_32 + neg_non_smi - 0.5) >> 3);
396
- assertEquals(neg_non_smi / 8 + 0x100000000 / 8, (neg_32 + neg_non_smi - 0.5)
397
- >>> 3);
398
- assertEquals(0x46536000, (neg_32 + neg_non_smi - 0.5) << 3);
399
- assertEquals(-0x73594000, (neg_32 + neg_non_smi - 0.5) << 4);
400
-
401
- assertEquals(pos_smi / 2, (two_32 + pos_smi) >> 1);
402
- assertEquals(pos_smi / 2, (two_32 + pos_smi) >>> 1);
403
- assertEquals(pos_non_smi, (two_32 + pos_smi) << 1);
404
- assertEquals(pos_smi / 8, (two_32 + pos_smi) >> 3);
405
- assertEquals(pos_smi / 8, (two_32 + pos_smi) >>> 3);
406
- assertEquals(-0x2329b000, (two_32 + pos_smi) << 3);
407
- assertEquals(0x73594000, (two_32 + pos_smi) << 5);
408
- assertEquals(pos_smi, (two_32 + pos_smi + 0.5) >> 0);
409
- assertEquals(pos_smi, (two_32 + pos_smi + 0.5) >>> 0);
410
- assertEquals(pos_smi, (two_32 + pos_smi + 0.5) << 0);
411
- assertEquals(pos_smi / 2, (two_32 + pos_smi + 0.5) >> 1);
412
- assertEquals(pos_smi / 2, (two_32 + pos_smi + 0.5) >>> 1);
413
- assertEquals(pos_non_smi, (two_32 + pos_smi + 0.5) << 1);
414
- assertEquals(pos_smi / 8, (two_32 + pos_smi + 0.5) >> 3);
415
- assertEquals(pos_smi / 8, (two_32 + pos_smi + 0.5) >>> 3);
416
- assertEquals(-0x2329b000, (two_32 + pos_smi + 0.5) << 3);
417
- assertEquals(0x73594000, (two_32 + pos_smi + 0.5) << 5);
418
-
419
- assertEquals(neg_smi / 2, (neg_32 + neg_smi) >> 1);
420
- assertEquals(neg_smi / 2 + 0x100000000 / 2, (neg_32 + neg_smi) >>> 1);
421
- assertEquals(neg_non_smi, (neg_32 + neg_smi) << 1);
422
- assertEquals(neg_smi / 8, (neg_32 + neg_smi) >> 3);
423
- assertEquals((neg_smi + 0x100000000) / 8, (neg_32 + neg_smi) >>> 3);
424
- assertEquals(0x46536000, (neg_32 + neg_smi) << 4);
425
- assertEquals(-0x73594000, (neg_32 + neg_smi) << 5);
426
- assertEquals(neg_smi, (neg_32 + neg_smi - 0.5) >> 0, "-2^32+negsmi.5 >> 0");
427
- assertEquals(neg_smi + 0x100000000, (neg_32 + neg_smi - 0.5) >>> 0);
428
- assertEquals(neg_smi, (neg_32 + neg_smi - 0.5) << 0, "-2^32+negsmi.5 << 0");
429
- assertEquals(neg_smi / 2, (neg_32 + neg_smi - 0.5) >> 1);
430
- assertEquals(neg_smi / 2 + 0x100000000 / 2, (neg_32 + neg_smi - 0.5) >>> 1);
431
- assertEquals(neg_non_smi, (neg_32 + neg_smi - 0.5) << 1);
432
- assertEquals(neg_smi / 8, (neg_32 + neg_smi - 0.5) >> 3);
433
- assertEquals(neg_smi / 8 + 0x100000000 / 8, (neg_32 + neg_smi - 0.5) >>> 3);
434
- assertEquals(0x46536000, (neg_32 + neg_smi - 0.5) << 4);
435
- assertEquals(-0x73594000, (neg_32 + neg_smi - 0.5) << 5);
436
- // End block A repeat 1
437
- // Repeat block A with shift amounts in variables intialized with
438
- // a constant.
439
- var zero = 0;
440
- var one = 1;
441
- var three = 3;
442
- var four = 4;
443
- var five = 5;
444
- // Begin block A repeat 2
445
- assertEquals(pos_non_smi, (pos_non_smi) >> zero);
446
- assertEquals(pos_non_smi, (pos_non_smi) >>> zero);
447
- assertEquals(pos_non_smi, (pos_non_smi) << zero);
448
- assertEquals(neg_non_smi, (neg_non_smi) >> zero);
449
- assertEquals(neg_non_smi + 0x100000000, (neg_non_smi) >>> zero);
450
- assertEquals(neg_non_smi, (neg_non_smi) << zero);
451
- assertEquals(pos_smi, (pos_smi) >> zero);
452
- assertEquals(pos_smi, (pos_smi) >>> zero);
453
- assertEquals(pos_smi, (pos_smi) << zero);
454
- assertEquals(neg_smi, (neg_smi) >> zero, "negsmi >> zero");
455
- assertEquals(neg_smi + 0x100000000, (neg_smi) >>> zero);
456
- assertEquals(neg_smi, (neg_smi) << zero, "negsmi << zero");
457
-
458
- assertEquals(pos_non_smi / 2, (pos_non_smi) >> one);
459
- assertEquals(pos_non_smi / 2, (pos_non_smi) >>> one);
460
- assertEquals(-0x1194D800, (pos_non_smi) << one);
461
- assertEquals(pos_non_smi / 8, (pos_non_smi) >> three);
462
- assertEquals(pos_non_smi / 8, (pos_non_smi) >>> three);
463
- assertEquals(-0x46536000, (pos_non_smi) << three);
464
- assertEquals(0x73594000, (pos_non_smi) << four);
465
- assertEquals(pos_non_smi, (pos_non_smi + 0.5) >> zero);
466
- assertEquals(pos_non_smi, (pos_non_smi + 0.5) >>> zero);
467
- assertEquals(pos_non_smi, (pos_non_smi + 0.5) << zero);
468
- assertEquals(pos_non_smi / 2, (pos_non_smi + 0.5) >> one);
469
- assertEquals(pos_non_smi / 2, (pos_non_smi + 0.5) >>> one);
470
- assertEquals(-0x1194D800, (pos_non_smi + 0.5) << one);
471
- assertEquals(pos_non_smi / 8, (pos_non_smi + 0.5) >> three);
472
- assertEquals(pos_non_smi / 8, (pos_non_smi + 0.5) >>> three);
473
- assertEquals(-0x46536000, (pos_non_smi + 0.5) << three);
474
- assertEquals(0x73594000, (pos_non_smi + 0.5) << four);
475
-
476
- assertEquals(neg_non_smi / 2, (neg_non_smi) >> one);
477
- assertEquals(neg_non_smi / 2 + 0x100000000 / 2, (neg_non_smi) >>> one);
478
- assertEquals(0x1194D800, (neg_non_smi) << one);
479
- assertEquals(neg_non_smi / 8, (neg_non_smi) >> three);
480
- assertEquals(neg_non_smi / 8 + 0x100000000 / 8, (neg_non_smi) >>> three);
481
- assertEquals(0x46536000, (neg_non_smi) << three);
482
- assertEquals(-0x73594000, (neg_non_smi) << four);
483
- assertEquals(neg_non_smi, (neg_non_smi - 0.5) >> zero);
484
- assertEquals(neg_non_smi + 0x100000000, (neg_non_smi - 0.5) >>> zero);
485
- assertEquals(neg_non_smi, (neg_non_smi - 0.5) << zero);
486
- assertEquals(neg_non_smi / 2, (neg_non_smi - 0.5) >> one);
487
- assertEquals(neg_non_smi / 2 + 0x100000000 / 2, (neg_non_smi - 0.5) >>> one);
488
- assertEquals(0x1194D800, (neg_non_smi - 0.5) << one);
489
- assertEquals(neg_non_smi / 8, (neg_non_smi - 0.5) >> three);
490
- assertEquals(neg_non_smi / 8 + 0x100000000 / 8, (neg_non_smi - 0.5)
491
- >>> three);
492
- assertEquals(0x46536000, (neg_non_smi - 0.5) << three);
493
- assertEquals(-0x73594000, (neg_non_smi - 0.5) << four);
494
-
495
- assertEquals(pos_smi / 2, (pos_smi) >> one);
496
- assertEquals(pos_smi / 2, (pos_smi) >>> one);
497
- assertEquals(pos_non_smi, (pos_smi) << one);
498
- assertEquals(pos_smi / 8, (pos_smi) >> three);
499
- assertEquals(pos_smi / 8, (pos_smi) >>> three);
500
- assertEquals(-0x2329b000, (pos_smi) << three);
501
- assertEquals(0x73594000, (pos_smi) << five);
502
- assertEquals(pos_smi, (pos_smi + 0.5) >> zero);
503
- assertEquals(pos_smi, (pos_smi + 0.5) >>> zero);
504
- assertEquals(pos_smi, (pos_smi + 0.5) << zero);
505
- assertEquals(pos_smi / 2, (pos_smi + 0.5) >> one);
506
- assertEquals(pos_smi / 2, (pos_smi + 0.5) >>> one);
507
- assertEquals(pos_non_smi, (pos_smi + 0.5) << one);
508
- assertEquals(pos_smi / 8, (pos_smi + 0.5) >> three);
509
- assertEquals(pos_smi / 8, (pos_smi + 0.5) >>> three);
510
- assertEquals(-0x2329b000, (pos_smi + 0.5) << three);
511
- assertEquals(0x73594000, (pos_smi + 0.5) << five);
512
-
513
- assertEquals(neg_smi / 2, (neg_smi) >> one);
514
- assertEquals(neg_smi / 2 + 0x100000000 / 2, (neg_smi) >>> one);
515
- assertEquals(neg_non_smi, (neg_smi) << one);
516
- assertEquals(neg_smi / 8, (neg_smi) >> three);
517
- assertEquals(neg_smi / 8 + 0x100000000 / 8, (neg_smi) >>> three);
518
- assertEquals(0x46536000, (neg_smi) << four);
519
- assertEquals(-0x73594000, (neg_smi) << five);
520
- assertEquals(neg_smi, (neg_smi - 0.5) >> zero);
521
- assertEquals(neg_smi + 0x100000000, (neg_smi - 0.5) >>> zero);
522
- assertEquals(neg_smi, (neg_smi - 0.5) << zero);
523
- assertEquals(neg_smi / 2, (neg_smi - 0.5) >> one);
524
- assertEquals(neg_smi / 2 + 0x100000000 / 2, (neg_smi - 0.5) >>> one);
525
- assertEquals(neg_non_smi, (neg_smi - 0.5) << one);
526
- assertEquals(neg_smi / 8, (neg_smi - 0.5) >> three);
527
- assertEquals(neg_smi / 8 + 0x100000000 / 8, (neg_smi - 0.5) >>> three);
528
- assertEquals(0x46536000, (neg_smi - 0.5) << four);
529
- assertEquals(-0x73594000, (neg_smi - 0.5) << five);
530
- // End block A repeat 2
531
-
532
- // Repeat previous block, with computed values in the shift variables.
533
- five = 0;
534
- while (five < 5 ) ++five;
535
- four = five - one;
536
- three = four - one;
537
- one = four - three;
538
- zero = one - one;
539
-
540
- // Begin block A repeat 3
541
- assertEquals(pos_non_smi, (pos_non_smi) >> zero);
542
- assertEquals(pos_non_smi, (pos_non_smi) >>> zero);
543
- assertEquals(pos_non_smi, (pos_non_smi) << zero);
544
- assertEquals(neg_non_smi, (neg_non_smi) >> zero);
545
- assertEquals(neg_non_smi + 0x100000000, (neg_non_smi) >>> zero);
546
- assertEquals(neg_non_smi, (neg_non_smi) << zero);
547
- assertEquals(pos_smi, (pos_smi) >> zero);
548
- assertEquals(pos_smi, (pos_smi) >>> zero);
549
- assertEquals(pos_smi, (pos_smi) << zero);
550
- assertEquals(neg_smi, (neg_smi) >> zero, "negsmi >> zero(2)");
551
- assertEquals(neg_smi + 0x100000000, (neg_smi) >>> zero);
552
- assertEquals(neg_smi, (neg_smi) << zero, "negsmi << zero(2)");
553
-
554
- assertEquals(pos_non_smi / 2, (pos_non_smi) >> one);
555
- assertEquals(pos_non_smi / 2, (pos_non_smi) >>> one);
556
- assertEquals(-0x1194D800, (pos_non_smi) << one);
557
- assertEquals(pos_non_smi / 8, (pos_non_smi) >> three);
558
- assertEquals(pos_non_smi / 8, (pos_non_smi) >>> three);
559
- assertEquals(-0x46536000, (pos_non_smi) << three);
560
- assertEquals(0x73594000, (pos_non_smi) << four);
561
- assertEquals(pos_non_smi, (pos_non_smi + 0.5) >> zero);
562
- assertEquals(pos_non_smi, (pos_non_smi + 0.5) >>> zero);
563
- assertEquals(pos_non_smi, (pos_non_smi + 0.5) << zero);
564
- assertEquals(pos_non_smi / 2, (pos_non_smi + 0.5) >> one);
565
- assertEquals(pos_non_smi / 2, (pos_non_smi + 0.5) >>> one);
566
- assertEquals(-0x1194D800, (pos_non_smi + 0.5) << one);
567
- assertEquals(pos_non_smi / 8, (pos_non_smi + 0.5) >> three);
568
- assertEquals(pos_non_smi / 8, (pos_non_smi + 0.5) >>> three);
569
- assertEquals(-0x46536000, (pos_non_smi + 0.5) << three);
570
- assertEquals(0x73594000, (pos_non_smi + 0.5) << four);
571
-
572
- assertEquals(neg_non_smi / 2, (neg_non_smi) >> one);
573
- assertEquals(neg_non_smi / 2 + 0x100000000 / 2, (neg_non_smi) >>> one);
574
- assertEquals(0x1194D800, (neg_non_smi) << one);
575
- assertEquals(neg_non_smi / 8, (neg_non_smi) >> three);
576
- assertEquals(neg_non_smi / 8 + 0x100000000 / 8, (neg_non_smi) >>> three);
577
- assertEquals(0x46536000, (neg_non_smi) << three);
578
- assertEquals(-0x73594000, (neg_non_smi) << four);
579
- assertEquals(neg_non_smi, (neg_non_smi - 0.5) >> zero);
580
- assertEquals(neg_non_smi + 0x100000000, (neg_non_smi - 0.5) >>> zero);
581
- assertEquals(neg_non_smi, (neg_non_smi - 0.5) << zero);
582
- assertEquals(neg_non_smi / 2, (neg_non_smi - 0.5) >> one);
583
- assertEquals(neg_non_smi / 2 + 0x100000000 / 2, (neg_non_smi - 0.5) >>> one);
584
- assertEquals(0x1194D800, (neg_non_smi - 0.5) << one);
585
- assertEquals(neg_non_smi / 8, (neg_non_smi - 0.5) >> three);
586
- assertEquals(neg_non_smi / 8 + 0x100000000 / 8, (neg_non_smi - 0.5)
587
- >>> three);
588
- assertEquals(0x46536000, (neg_non_smi - 0.5) << three);
589
- assertEquals(-0x73594000, (neg_non_smi - 0.5) << four);
590
-
591
- assertEquals(pos_smi / 2, (pos_smi) >> one);
592
- assertEquals(pos_smi / 2, (pos_smi) >>> one);
593
- assertEquals(pos_non_smi, (pos_smi) << one);
594
- assertEquals(pos_smi / 8, (pos_smi) >> three);
595
- assertEquals(pos_smi / 8, (pos_smi) >>> three);
596
- assertEquals(-0x2329b000, (pos_smi) << three);
597
- assertEquals(0x73594000, (pos_smi) << five);
598
- assertEquals(pos_smi, (pos_smi + 0.5) >> zero);
599
- assertEquals(pos_smi, (pos_smi + 0.5) >>> zero);
600
- assertEquals(pos_smi, (pos_smi + 0.5) << zero);
601
- assertEquals(pos_smi / 2, (pos_smi + 0.5) >> one);
602
- assertEquals(pos_smi / 2, (pos_smi + 0.5) >>> one);
603
- assertEquals(pos_non_smi, (pos_smi + 0.5) << one);
604
- assertEquals(pos_smi / 8, (pos_smi + 0.5) >> three);
605
- assertEquals(pos_smi / 8, (pos_smi + 0.5) >>> three);
606
- assertEquals(-0x2329b000, (pos_smi + 0.5) << three);
607
- assertEquals(0x73594000, (pos_smi + 0.5) << five);
608
-
609
- assertEquals(neg_smi / 2, (neg_smi) >> one);
610
- assertEquals(neg_smi / 2 + 0x100000000 / 2, (neg_smi) >>> one);
611
- assertEquals(neg_non_smi, (neg_smi) << one);
612
- assertEquals(neg_smi / 8, (neg_smi) >> three);
613
- assertEquals(neg_smi / 8 + 0x100000000 / 8, (neg_smi) >>> three);
614
- assertEquals(0x46536000, (neg_smi) << four);
615
- assertEquals(-0x73594000, (neg_smi) << five);
616
- assertEquals(neg_smi, (neg_smi - 0.5) >> zero, "negsmi.5 >> zero");
617
- assertEquals(neg_smi + 0x100000000, (neg_smi - 0.5) >>> zero);
618
- assertEquals(neg_smi, (neg_smi - 0.5) << zero, "negsmi.5 << zero");
619
- assertEquals(neg_smi / 2, (neg_smi - 0.5) >> one);
620
- assertEquals(neg_smi / 2 + 0x100000000 / 2, (neg_smi - 0.5) >>> one);
621
- assertEquals(neg_non_smi, (neg_smi - 0.5) << one);
622
- assertEquals(neg_smi / 8, (neg_smi - 0.5) >> three);
623
- assertEquals(neg_smi / 8 + 0x100000000 / 8, (neg_smi - 0.5) >>> three);
624
- assertEquals(0x46536000, (neg_smi - 0.5) << four);
625
- assertEquals(-0x73594000, (neg_smi - 0.5) << five);
626
- // End block A repeat 3
627
-
628
- // Test non-integer shift value
629
- assertEquals(5, 20.5 >> 2.4);
630
- assertEquals(5, 20.5 >> 2.7);
631
- var shift = 2.4;
632
- assertEquals(5, 20.5 >> shift);
633
- assertEquals(5, 20.5 >> shift + 0.3);
634
- shift = shift + zero;
635
- assertEquals(5, 20.5 >> shift);
636
- assertEquals(5, 20.5 >> shift + 0.3);
637
- }
638
-
639
- testShiftNonSmis();
640
-
641
- function intConversion() {
642
- function foo(x) {
643
- assertEquals(x, (x * 1.0000000001) | 0, "foo more " + x);
644
- assertEquals(x, x | 0, "foo " + x);
645
- if (x > 0) {
646
- assertEquals(x - 1, (x * 0.9999999999) | 0, "foo less " + x);
647
- } else {
648
- assertEquals(x + 1, (x * 0.9999999999) | 0, "foo less " + x);
649
- }
650
- }
651
- for (var i = 1; i < 0x80000000; i *= 2) {
652
- foo(i);
653
- foo(-i);
654
- }
655
- for (var i = 1; i < 1/0; i *= 2) {
656
- assertEquals(i | 0, (i * 1.0000000000000001) | 0, "b" + i);
657
- assertEquals(-i | 0, (i * -1.0000000000000001) | 0, "c" + i);
658
- }
659
- for (var i = 0.5; i > 0; i /= 2) {
660
- assertEquals(0, i | 0, "d" + i);
661
- assertEquals(0, -i | 0, "e" + i);
662
- }
663
- }
664
-
665
- intConversion();
666
-
667
- // Verify that we handle the (optimized) corner case of shifting by
668
- // zero even for non-smis.
669
- function shiftByZero(n) { return n << 0; }
670
-
671
- assertEquals(3, shiftByZero(3.1415));