therubyracer 0.4.8-x86-darwin-9 → 0.4.9-x86-darwin-9

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 (580) 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/spec/redjs/jsapi_spec.rb +11 -0
  18. data/therubyracer.gemspec +658 -12
  19. metadata +611 -1182
  20. data/Manifest.txt +0 -1191
  21. data/ext/v8/upstream/2.0.6/.sconsign.dblite +0 -0
  22. data/ext/v8/upstream/2.0.6/benchmarks/README.txt +0 -63
  23. data/ext/v8/upstream/2.0.6/benchmarks/base.js +0 -264
  24. data/ext/v8/upstream/2.0.6/benchmarks/crypto.js +0 -1698
  25. data/ext/v8/upstream/2.0.6/benchmarks/deltablue.js +0 -880
  26. data/ext/v8/upstream/2.0.6/benchmarks/earley-boyer.js +0 -4684
  27. data/ext/v8/upstream/2.0.6/benchmarks/raytrace.js +0 -935
  28. data/ext/v8/upstream/2.0.6/benchmarks/regexp.js +0 -1614
  29. data/ext/v8/upstream/2.0.6/benchmarks/revisions.html +0 -86
  30. data/ext/v8/upstream/2.0.6/benchmarks/richards.js +0 -539
  31. data/ext/v8/upstream/2.0.6/benchmarks/run.html +0 -141
  32. data/ext/v8/upstream/2.0.6/benchmarks/run.js +0 -61
  33. data/ext/v8/upstream/2.0.6/benchmarks/splay.js +0 -378
  34. data/ext/v8/upstream/2.0.6/benchmarks/style.css +0 -77
  35. data/ext/v8/upstream/2.0.6/benchmarks/v8-logo.png +0 -0
  36. data/ext/v8/upstream/2.0.6/samples/SConscript +0 -38
  37. data/ext/v8/upstream/2.0.6/samples/count-hosts.js +0 -42
  38. data/ext/v8/upstream/2.0.6/samples/process.cc +0 -622
  39. data/ext/v8/upstream/2.0.6/samples/shell.cc +0 -303
  40. data/ext/v8/upstream/2.0.6/test/cctest/SConscript +0 -95
  41. data/ext/v8/upstream/2.0.6/test/cctest/cctest.cc +0 -126
  42. data/ext/v8/upstream/2.0.6/test/cctest/cctest.h +0 -211
  43. data/ext/v8/upstream/2.0.6/test/cctest/cctest.status +0 -54
  44. data/ext/v8/upstream/2.0.6/test/cctest/test-accessors.cc +0 -450
  45. data/ext/v8/upstream/2.0.6/test/cctest/test-alloc.cc +0 -215
  46. data/ext/v8/upstream/2.0.6/test/cctest/test-api.cc +0 -8699
  47. data/ext/v8/upstream/2.0.6/test/cctest/test-assembler-arm.cc +0 -227
  48. data/ext/v8/upstream/2.0.6/test/cctest/test-assembler-ia32.cc +0 -395
  49. data/ext/v8/upstream/2.0.6/test/cctest/test-assembler-x64.cc +0 -292
  50. data/ext/v8/upstream/2.0.6/test/cctest/test-ast.cc +0 -97
  51. data/ext/v8/upstream/2.0.6/test/cctest/test-compiler.cc +0 -318
  52. data/ext/v8/upstream/2.0.6/test/cctest/test-conversions.cc +0 -130
  53. data/ext/v8/upstream/2.0.6/test/cctest/test-debug.cc +0 -5788
  54. data/ext/v8/upstream/2.0.6/test/cctest/test-decls.cc +0 -593
  55. data/ext/v8/upstream/2.0.6/test/cctest/test-disasm-arm.cc +0 -281
  56. data/ext/v8/upstream/2.0.6/test/cctest/test-disasm-ia32.cc +0 -418
  57. data/ext/v8/upstream/2.0.6/test/cctest/test-flags.cc +0 -234
  58. data/ext/v8/upstream/2.0.6/test/cctest/test-func-name-inference.cc +0 -267
  59. data/ext/v8/upstream/2.0.6/test/cctest/test-hashmap.cc +0 -176
  60. data/ext/v8/upstream/2.0.6/test/cctest/test-heap-profiler.cc +0 -396
  61. data/ext/v8/upstream/2.0.6/test/cctest/test-heap.cc +0 -796
  62. data/ext/v8/upstream/2.0.6/test/cctest/test-list.cc +0 -101
  63. data/ext/v8/upstream/2.0.6/test/cctest/test-lock.cc +0 -63
  64. data/ext/v8/upstream/2.0.6/test/cctest/test-log-stack-tracer.cc +0 -372
  65. data/ext/v8/upstream/2.0.6/test/cctest/test-log-utils.cc +0 -310
  66. data/ext/v8/upstream/2.0.6/test/cctest/test-log.cc +0 -1081
  67. data/ext/v8/upstream/2.0.6/test/cctest/test-macro-assembler-x64.cc +0 -2104
  68. data/ext/v8/upstream/2.0.6/test/cctest/test-mark-compact.cc +0 -341
  69. data/ext/v8/upstream/2.0.6/test/cctest/test-parsing.cc +0 -129
  70. data/ext/v8/upstream/2.0.6/test/cctest/test-platform-linux.cc +0 -80
  71. data/ext/v8/upstream/2.0.6/test/cctest/test-platform-macos.cc +0 -10
  72. data/ext/v8/upstream/2.0.6/test/cctest/test-platform-nullos.cc +0 -80
  73. data/ext/v8/upstream/2.0.6/test/cctest/test-platform-win32.cc +0 -26
  74. data/ext/v8/upstream/2.0.6/test/cctest/test-regexp.cc +0 -1815
  75. data/ext/v8/upstream/2.0.6/test/cctest/test-serialize.cc +0 -438
  76. data/ext/v8/upstream/2.0.6/test/cctest/test-sockets.cc +0 -162
  77. data/ext/v8/upstream/2.0.6/test/cctest/test-spaces.cc +0 -248
  78. data/ext/v8/upstream/2.0.6/test/cctest/test-strings.cc +0 -432
  79. data/ext/v8/upstream/2.0.6/test/cctest/test-thread-termination.cc +0 -290
  80. data/ext/v8/upstream/2.0.6/test/cctest/test-threads.cc +0 -52
  81. data/ext/v8/upstream/2.0.6/test/cctest/test-utils.cc +0 -186
  82. data/ext/v8/upstream/2.0.6/test/cctest/test-version.cc +0 -89
  83. data/ext/v8/upstream/2.0.6/test/cctest/testcfg.py +0 -108
  84. data/ext/v8/upstream/2.0.6/test/es5conform/README +0 -14
  85. data/ext/v8/upstream/2.0.6/test/es5conform/es5conform.status +0 -226
  86. data/ext/v8/upstream/2.0.6/test/es5conform/harness-adapt.js +0 -74
  87. data/ext/v8/upstream/2.0.6/test/es5conform/testcfg.py +0 -108
  88. data/ext/v8/upstream/2.0.6/test/message/message.status +0 -31
  89. data/ext/v8/upstream/2.0.6/test/message/overwritten-builtins.js +0 -31
  90. data/ext/v8/upstream/2.0.6/test/message/overwritten-builtins.out +0 -30
  91. data/ext/v8/upstream/2.0.6/test/message/regress/regress-73.js +0 -33
  92. data/ext/v8/upstream/2.0.6/test/message/regress/regress-73.out +0 -30
  93. data/ext/v8/upstream/2.0.6/test/message/regress/regress-75.js +0 -32
  94. data/ext/v8/upstream/2.0.6/test/message/regress/regress-75.out +0 -30
  95. data/ext/v8/upstream/2.0.6/test/message/simple-throw.js +0 -28
  96. data/ext/v8/upstream/2.0.6/test/message/simple-throw.out +0 -30
  97. data/ext/v8/upstream/2.0.6/test/message/testcfg.py +0 -135
  98. data/ext/v8/upstream/2.0.6/test/message/try-catch-finally-no-message.js +0 -51
  99. data/ext/v8/upstream/2.0.6/test/message/try-catch-finally-no-message.out +0 -26
  100. data/ext/v8/upstream/2.0.6/test/message/try-catch-finally-return-in-finally.js +0 -39
  101. data/ext/v8/upstream/2.0.6/test/message/try-catch-finally-return-in-finally.out +0 -28
  102. data/ext/v8/upstream/2.0.6/test/message/try-catch-finally-throw-in-catch-and-finally.js +0 -34
  103. data/ext/v8/upstream/2.0.6/test/message/try-catch-finally-throw-in-catch-and-finally.out +0 -30
  104. data/ext/v8/upstream/2.0.6/test/message/try-catch-finally-throw-in-catch.js +0 -34
  105. data/ext/v8/upstream/2.0.6/test/message/try-catch-finally-throw-in-catch.out +0 -30
  106. data/ext/v8/upstream/2.0.6/test/message/try-catch-finally-throw-in-finally.js +0 -34
  107. data/ext/v8/upstream/2.0.6/test/message/try-catch-finally-throw-in-finally.out +0 -30
  108. data/ext/v8/upstream/2.0.6/test/message/try-finally-return-in-finally.js +0 -37
  109. data/ext/v8/upstream/2.0.6/test/message/try-finally-return-in-finally.out +0 -28
  110. data/ext/v8/upstream/2.0.6/test/message/try-finally-throw-in-finally.js +0 -32
  111. data/ext/v8/upstream/2.0.6/test/message/try-finally-throw-in-finally.out +0 -30
  112. data/ext/v8/upstream/2.0.6/test/message/try-finally-throw-in-try-and-finally.js +0 -32
  113. data/ext/v8/upstream/2.0.6/test/message/try-finally-throw-in-try-and-finally.out +0 -30
  114. data/ext/v8/upstream/2.0.6/test/message/try-finally-throw-in-try.js +0 -32
  115. data/ext/v8/upstream/2.0.6/test/message/try-finally-throw-in-try.out +0 -30
  116. data/ext/v8/upstream/2.0.6/test/mjsunit/api-call-after-bypassed-exception.js +0 -39
  117. data/ext/v8/upstream/2.0.6/test/mjsunit/apply.js +0 -196
  118. data/ext/v8/upstream/2.0.6/test/mjsunit/arguments-apply.js +0 -134
  119. data/ext/v8/upstream/2.0.6/test/mjsunit/arguments-call-apply.js +0 -41
  120. data/ext/v8/upstream/2.0.6/test/mjsunit/arguments-enum.js +0 -52
  121. data/ext/v8/upstream/2.0.6/test/mjsunit/arguments-indirect.js +0 -47
  122. data/ext/v8/upstream/2.0.6/test/mjsunit/arguments-lazy.js +0 -47
  123. data/ext/v8/upstream/2.0.6/test/mjsunit/arguments-opt.js +0 -130
  124. data/ext/v8/upstream/2.0.6/test/mjsunit/arguments-read-and-assignment.js +0 -164
  125. data/ext/v8/upstream/2.0.6/test/mjsunit/arguments.js +0 -97
  126. data/ext/v8/upstream/2.0.6/test/mjsunit/array-concat.js +0 -120
  127. data/ext/v8/upstream/2.0.6/test/mjsunit/array-constructor.js +0 -119
  128. data/ext/v8/upstream/2.0.6/test/mjsunit/array-functions-prototype.js +0 -159
  129. data/ext/v8/upstream/2.0.6/test/mjsunit/array-indexing.js +0 -66
  130. data/ext/v8/upstream/2.0.6/test/mjsunit/array-iteration.js +0 -228
  131. data/ext/v8/upstream/2.0.6/test/mjsunit/array-join.js +0 -45
  132. data/ext/v8/upstream/2.0.6/test/mjsunit/array-length-number-conversion.js +0 -53
  133. data/ext/v8/upstream/2.0.6/test/mjsunit/array-length.js +0 -111
  134. data/ext/v8/upstream/2.0.6/test/mjsunit/array-reduce.js +0 -514
  135. data/ext/v8/upstream/2.0.6/test/mjsunit/array-sort.js +0 -362
  136. data/ext/v8/upstream/2.0.6/test/mjsunit/array-splice.js +0 -314
  137. data/ext/v8/upstream/2.0.6/test/mjsunit/ascii-regexp-subject.js +0 -49
  138. data/ext/v8/upstream/2.0.6/test/mjsunit/big-array-literal.js +0 -111
  139. data/ext/v8/upstream/2.0.6/test/mjsunit/big-object-literal.js +0 -114
  140. data/ext/v8/upstream/2.0.6/test/mjsunit/binary-operation-overwrite.js +0 -36
  141. data/ext/v8/upstream/2.0.6/test/mjsunit/bit-not.js +0 -75
  142. data/ext/v8/upstream/2.0.6/test/mjsunit/bitwise-operations-undefined.js +0 -49
  143. data/ext/v8/upstream/2.0.6/test/mjsunit/body-not-visible.js +0 -39
  144. data/ext/v8/upstream/2.0.6/test/mjsunit/bugs/bug-1344252.js +0 -79
  145. data/ext/v8/upstream/2.0.6/test/mjsunit/bugs/bug-222.js +0 -42
  146. data/ext/v8/upstream/2.0.6/test/mjsunit/bugs/bug-223.js +0 -39
  147. data/ext/v8/upstream/2.0.6/test/mjsunit/bugs/bug-900066.js +0 -38
  148. data/ext/v8/upstream/2.0.6/test/mjsunit/bugs/bug-941049.js +0 -100
  149. data/ext/v8/upstream/2.0.6/test/mjsunit/call-non-function-call.js +0 -38
  150. data/ext/v8/upstream/2.0.6/test/mjsunit/call-non-function.js +0 -63
  151. data/ext/v8/upstream/2.0.6/test/mjsunit/call.js +0 -87
  152. data/ext/v8/upstream/2.0.6/test/mjsunit/char-escape.js +0 -53
  153. data/ext/v8/upstream/2.0.6/test/mjsunit/class-of-builtins.js +0 -50
  154. data/ext/v8/upstream/2.0.6/test/mjsunit/closure.js +0 -37
  155. data/ext/v8/upstream/2.0.6/test/mjsunit/codegen-coverage.js +0 -91
  156. data/ext/v8/upstream/2.0.6/test/mjsunit/compare-character.js +0 -50
  157. data/ext/v8/upstream/2.0.6/test/mjsunit/compare-nan.js +0 -66
  158. data/ext/v8/upstream/2.0.6/test/mjsunit/compiler/countoperation.js +0 -111
  159. data/ext/v8/upstream/2.0.6/test/mjsunit/compiler/function-call.js +0 -52
  160. data/ext/v8/upstream/2.0.6/test/mjsunit/compiler/globals.js +0 -65
  161. data/ext/v8/upstream/2.0.6/test/mjsunit/compiler/jsnatives.js +0 -33
  162. data/ext/v8/upstream/2.0.6/test/mjsunit/compiler/literals-assignment.js +0 -104
  163. data/ext/v8/upstream/2.0.6/test/mjsunit/compiler/literals.js +0 -52
  164. data/ext/v8/upstream/2.0.6/test/mjsunit/compiler/loops.js +0 -35
  165. data/ext/v8/upstream/2.0.6/test/mjsunit/compiler/objectliterals.js +0 -57
  166. data/ext/v8/upstream/2.0.6/test/mjsunit/compiler/property-simple.js +0 -39
  167. data/ext/v8/upstream/2.0.6/test/mjsunit/compiler/short-circuit.js +0 -102
  168. data/ext/v8/upstream/2.0.6/test/mjsunit/compiler/thisfunction.js +0 -35
  169. data/ext/v8/upstream/2.0.6/test/mjsunit/const-declaration.js +0 -172
  170. data/ext/v8/upstream/2.0.6/test/mjsunit/const-eval-init.js +0 -111
  171. data/ext/v8/upstream/2.0.6/test/mjsunit/const-redecl.js +0 -220
  172. data/ext/v8/upstream/2.0.6/test/mjsunit/const.js +0 -70
  173. data/ext/v8/upstream/2.0.6/test/mjsunit/constant-folding.js +0 -232
  174. data/ext/v8/upstream/2.0.6/test/mjsunit/context-variable-assignments.js +0 -37
  175. data/ext/v8/upstream/2.0.6/test/mjsunit/cyclic-array-to-string.js +0 -65
  176. data/ext/v8/upstream/2.0.6/test/mjsunit/cyrillic.js +0 -199
  177. data/ext/v8/upstream/2.0.6/test/mjsunit/d8-os.js +0 -180
  178. data/ext/v8/upstream/2.0.6/test/mjsunit/date-parse.js +0 -268
  179. data/ext/v8/upstream/2.0.6/test/mjsunit/date.js +0 -149
  180. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-backtrace-text.js +0 -122
  181. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-backtrace.js +0 -272
  182. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-breakpoints.js +0 -120
  183. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-changebreakpoint.js +0 -108
  184. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-clearbreakpoint.js +0 -101
  185. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-clearbreakpointgroup.js +0 -117
  186. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-compile-event.js +0 -126
  187. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-conditional-breakpoints.js +0 -171
  188. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-constructed-by.js +0 -60
  189. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-constructor.js +0 -78
  190. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-continue.js +0 -114
  191. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-enable-disable-breakpoints.js +0 -90
  192. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-evaluate-arguments.js +0 -93
  193. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-evaluate-bool-constructor.js +0 -80
  194. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-evaluate-locals.js +0 -132
  195. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-evaluate-recursive.js +0 -167
  196. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-evaluate-with.js +0 -77
  197. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-evaluate.js +0 -118
  198. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-event-listener.js +0 -73
  199. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-handle.js +0 -252
  200. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-ignore-breakpoints.js +0 -89
  201. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-mirror-cache.js +0 -85
  202. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-multiple-breakpoints.js +0 -105
  203. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-referenced-by.js +0 -112
  204. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-references.js +0 -118
  205. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-scopes.js +0 -761
  206. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-script-breakpoints.js +0 -112
  207. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-script.js +0 -92
  208. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-scripts-request.js +0 -108
  209. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-setbreakpoint.js +0 -165
  210. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-sourceinfo.js +0 -352
  211. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-sourceslice.js +0 -74
  212. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-step-stub-callfunction.js +0 -87
  213. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-step.js +0 -82
  214. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-stepin-accessor.js +0 -248
  215. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-stepin-builtin.js +0 -78
  216. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-stepin-call-function-stub.js +0 -115
  217. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-stepin-constructor.js +0 -78
  218. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-stepin-function-call.js +0 -149
  219. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-stepnext-do-while.js +0 -79
  220. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-stepout-recursive-function.js +0 -106
  221. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-stepout-to-builtin.js +0 -84
  222. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-suspend.js +0 -96
  223. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-version.js +0 -90
  224. data/ext/v8/upstream/2.0.6/test/mjsunit/declare-locally.js +0 -43
  225. data/ext/v8/upstream/2.0.6/test/mjsunit/deep-recursion.js +0 -66
  226. data/ext/v8/upstream/2.0.6/test/mjsunit/delay-syntax-error.js +0 -41
  227. data/ext/v8/upstream/2.0.6/test/mjsunit/delete-global-properties.js +0 -37
  228. data/ext/v8/upstream/2.0.6/test/mjsunit/delete-in-eval.js +0 -32
  229. data/ext/v8/upstream/2.0.6/test/mjsunit/delete-in-with.js +0 -34
  230. data/ext/v8/upstream/2.0.6/test/mjsunit/delete-vars-from-eval.js +0 -40
  231. data/ext/v8/upstream/2.0.6/test/mjsunit/delete.js +0 -163
  232. data/ext/v8/upstream/2.0.6/test/mjsunit/div-mod.js +0 -157
  233. data/ext/v8/upstream/2.0.6/test/mjsunit/do-not-strip-fc.js +0 -31
  234. data/ext/v8/upstream/2.0.6/test/mjsunit/dont-enum-array-holes.js +0 -35
  235. data/ext/v8/upstream/2.0.6/test/mjsunit/dont-reinit-global-var.js +0 -47
  236. data/ext/v8/upstream/2.0.6/test/mjsunit/double-equals.js +0 -114
  237. data/ext/v8/upstream/2.0.6/test/mjsunit/dtoa.js +0 -32
  238. data/ext/v8/upstream/2.0.6/test/mjsunit/enumeration-order.js +0 -109
  239. data/ext/v8/upstream/2.0.6/test/mjsunit/error-constructors.js +0 -32
  240. data/ext/v8/upstream/2.0.6/test/mjsunit/escape.js +0 -118
  241. data/ext/v8/upstream/2.0.6/test/mjsunit/eval-enclosing-function-name.js +0 -76
  242. data/ext/v8/upstream/2.0.6/test/mjsunit/eval-typeof-non-existing.js +0 -35
  243. data/ext/v8/upstream/2.0.6/test/mjsunit/eval.js +0 -157
  244. data/ext/v8/upstream/2.0.6/test/mjsunit/execScript-case-insensitive.js +0 -34
  245. data/ext/v8/upstream/2.0.6/test/mjsunit/extra-arguments.js +0 -54
  246. data/ext/v8/upstream/2.0.6/test/mjsunit/extra-commas.js +0 -46
  247. data/ext/v8/upstream/2.0.6/test/mjsunit/for-in-null-or-undefined.js +0 -33
  248. data/ext/v8/upstream/2.0.6/test/mjsunit/for-in-special-cases.js +0 -64
  249. data/ext/v8/upstream/2.0.6/test/mjsunit/for-in.js +0 -86
  250. data/ext/v8/upstream/2.0.6/test/mjsunit/fun-as-prototype.js +0 -36
  251. data/ext/v8/upstream/2.0.6/test/mjsunit/fun-name.js +0 -34
  252. data/ext/v8/upstream/2.0.6/test/mjsunit/function-arguments-null.js +0 -30
  253. data/ext/v8/upstream/2.0.6/test/mjsunit/function-caller.js +0 -48
  254. data/ext/v8/upstream/2.0.6/test/mjsunit/function-names.js +0 -133
  255. data/ext/v8/upstream/2.0.6/test/mjsunit/function-property.js +0 -29
  256. data/ext/v8/upstream/2.0.6/test/mjsunit/function-prototype.js +0 -98
  257. data/ext/v8/upstream/2.0.6/test/mjsunit/function-source.js +0 -49
  258. data/ext/v8/upstream/2.0.6/test/mjsunit/function.js +0 -83
  259. data/ext/v8/upstream/2.0.6/test/mjsunit/fuzz-accessors.js +0 -85
  260. data/ext/v8/upstream/2.0.6/test/mjsunit/fuzz-natives.js +0 -159
  261. data/ext/v8/upstream/2.0.6/test/mjsunit/get-own-property-descriptor.js +0 -51
  262. data/ext/v8/upstream/2.0.6/test/mjsunit/get-prototype-of.js +0 -68
  263. data/ext/v8/upstream/2.0.6/test/mjsunit/getter-in-prototype.js +0 -50
  264. data/ext/v8/upstream/2.0.6/test/mjsunit/getter-in-value-prototype.js +0 -35
  265. data/ext/v8/upstream/2.0.6/test/mjsunit/global-const-var-conflicts.js +0 -57
  266. data/ext/v8/upstream/2.0.6/test/mjsunit/global-deleted-property-ic.js +0 -45
  267. data/ext/v8/upstream/2.0.6/test/mjsunit/global-deleted-property-keyed.js +0 -38
  268. data/ext/v8/upstream/2.0.6/test/mjsunit/global-ic.js +0 -48
  269. data/ext/v8/upstream/2.0.6/test/mjsunit/global-load-from-eval-in-with.js +0 -59
  270. data/ext/v8/upstream/2.0.6/test/mjsunit/global-load-from-eval.js +0 -85
  271. data/ext/v8/upstream/2.0.6/test/mjsunit/global-load-from-nested-eval.js +0 -66
  272. data/ext/v8/upstream/2.0.6/test/mjsunit/global-vars-eval.js +0 -34
  273. data/ext/v8/upstream/2.0.6/test/mjsunit/global-vars-with.js +0 -43
  274. data/ext/v8/upstream/2.0.6/test/mjsunit/greedy.js +0 -60
  275. data/ext/v8/upstream/2.0.6/test/mjsunit/has-own-property.js +0 -38
  276. data/ext/v8/upstream/2.0.6/test/mjsunit/html-comments.js +0 -57
  277. data/ext/v8/upstream/2.0.6/test/mjsunit/html-string-funcs.js +0 -47
  278. data/ext/v8/upstream/2.0.6/test/mjsunit/if-in-undefined.js +0 -36
  279. data/ext/v8/upstream/2.0.6/test/mjsunit/in.js +0 -159
  280. data/ext/v8/upstream/2.0.6/test/mjsunit/indexed-accessors.js +0 -120
  281. data/ext/v8/upstream/2.0.6/test/mjsunit/instanceof.js +0 -93
  282. data/ext/v8/upstream/2.0.6/test/mjsunit/integer-to-string.js +0 -35
  283. data/ext/v8/upstream/2.0.6/test/mjsunit/invalid-lhs.js +0 -65
  284. data/ext/v8/upstream/2.0.6/test/mjsunit/invalid-source-element.js +0 -31
  285. data/ext/v8/upstream/2.0.6/test/mjsunit/json.js +0 -207
  286. data/ext/v8/upstream/2.0.6/test/mjsunit/keyed-ic.js +0 -236
  287. data/ext/v8/upstream/2.0.6/test/mjsunit/keyed-storage-extend.js +0 -55
  288. data/ext/v8/upstream/2.0.6/test/mjsunit/large-object-allocation.js +0 -300
  289. data/ext/v8/upstream/2.0.6/test/mjsunit/large-object-literal.js +0 -56
  290. data/ext/v8/upstream/2.0.6/test/mjsunit/lazy-load.js +0 -34
  291. data/ext/v8/upstream/2.0.6/test/mjsunit/leakcheck.js +0 -53
  292. data/ext/v8/upstream/2.0.6/test/mjsunit/length.js +0 -78
  293. data/ext/v8/upstream/2.0.6/test/mjsunit/local-load-from-eval.js +0 -39
  294. data/ext/v8/upstream/2.0.6/test/mjsunit/math-min-max.js +0 -105
  295. data/ext/v8/upstream/2.0.6/test/mjsunit/megamorphic-callbacks.js +0 -70
  296. data/ext/v8/upstream/2.0.6/test/mjsunit/mirror-array.js +0 -138
  297. data/ext/v8/upstream/2.0.6/test/mjsunit/mirror-boolean.js +0 -59
  298. data/ext/v8/upstream/2.0.6/test/mjsunit/mirror-date.js +0 -77
  299. data/ext/v8/upstream/2.0.6/test/mjsunit/mirror-error.js +0 -94
  300. data/ext/v8/upstream/2.0.6/test/mjsunit/mirror-function.js +0 -90
  301. data/ext/v8/upstream/2.0.6/test/mjsunit/mirror-null.js +0 -50
  302. data/ext/v8/upstream/2.0.6/test/mjsunit/mirror-number.js +0 -77
  303. data/ext/v8/upstream/2.0.6/test/mjsunit/mirror-object.js +0 -227
  304. data/ext/v8/upstream/2.0.6/test/mjsunit/mirror-regexp.js +0 -110
  305. data/ext/v8/upstream/2.0.6/test/mjsunit/mirror-script.js +0 -100
  306. data/ext/v8/upstream/2.0.6/test/mjsunit/mirror-string.js +0 -89
  307. data/ext/v8/upstream/2.0.6/test/mjsunit/mirror-undefined.js +0 -50
  308. data/ext/v8/upstream/2.0.6/test/mjsunit/mirror-unresolved-function.js +0 -81
  309. data/ext/v8/upstream/2.0.6/test/mjsunit/mjsunit.js +0 -203
  310. data/ext/v8/upstream/2.0.6/test/mjsunit/mjsunit.status +0 -66
  311. data/ext/v8/upstream/2.0.6/test/mjsunit/mul-exhaustive.js +0 -4511
  312. data/ext/v8/upstream/2.0.6/test/mjsunit/multiple-return.js +0 -62
  313. data/ext/v8/upstream/2.0.6/test/mjsunit/negate-zero.js +0 -42
  314. data/ext/v8/upstream/2.0.6/test/mjsunit/negate.js +0 -59
  315. data/ext/v8/upstream/2.0.6/test/mjsunit/new.js +0 -56
  316. data/ext/v8/upstream/2.0.6/test/mjsunit/newline-in-string.js +0 -46
  317. data/ext/v8/upstream/2.0.6/test/mjsunit/no-branch-elimination.js +0 -36
  318. data/ext/v8/upstream/2.0.6/test/mjsunit/no-octal-constants-above-256.js +0 -32
  319. data/ext/v8/upstream/2.0.6/test/mjsunit/no-semicolon.js +0 -45
  320. data/ext/v8/upstream/2.0.6/test/mjsunit/non-ascii-replace.js +0 -30
  321. data/ext/v8/upstream/2.0.6/test/mjsunit/nul-characters.js +0 -38
  322. data/ext/v8/upstream/2.0.6/test/mjsunit/number-limits.js +0 -47
  323. data/ext/v8/upstream/2.0.6/test/mjsunit/number-string-index-call.js +0 -32
  324. data/ext/v8/upstream/2.0.6/test/mjsunit/number-tostring-small.js +0 -395
  325. data/ext/v8/upstream/2.0.6/test/mjsunit/number-tostring.js +0 -338
  326. data/ext/v8/upstream/2.0.6/test/mjsunit/obj-construct.js +0 -46
  327. data/ext/v8/upstream/2.0.6/test/mjsunit/object-create.js +0 -250
  328. data/ext/v8/upstream/2.0.6/test/mjsunit/object-literal-gc.js +0 -66
  329. data/ext/v8/upstream/2.0.6/test/mjsunit/object-literal.js +0 -105
  330. data/ext/v8/upstream/2.0.6/test/mjsunit/override-read-only-property.js +0 -64
  331. data/ext/v8/upstream/2.0.6/test/mjsunit/parse-int-float.js +0 -85
  332. data/ext/v8/upstream/2.0.6/test/mjsunit/property-load-across-eval.js +0 -85
  333. data/ext/v8/upstream/2.0.6/test/mjsunit/property-object-key.js +0 -36
  334. data/ext/v8/upstream/2.0.6/test/mjsunit/proto.js +0 -33
  335. data/ext/v8/upstream/2.0.6/test/mjsunit/prototype.js +0 -93
  336. data/ext/v8/upstream/2.0.6/test/mjsunit/receiver-in-with-calls.js +0 -47
  337. data/ext/v8/upstream/2.0.6/test/mjsunit/regexp-UC16.js +0 -47
  338. data/ext/v8/upstream/2.0.6/test/mjsunit/regexp-call-as-function.js +0 -36
  339. data/ext/v8/upstream/2.0.6/test/mjsunit/regexp-capture.js +0 -57
  340. data/ext/v8/upstream/2.0.6/test/mjsunit/regexp-captures.js +0 -31
  341. data/ext/v8/upstream/2.0.6/test/mjsunit/regexp-indexof.js +0 -77
  342. data/ext/v8/upstream/2.0.6/test/mjsunit/regexp-lookahead.js +0 -166
  343. data/ext/v8/upstream/2.0.6/test/mjsunit/regexp-loop-capture.js +0 -29
  344. data/ext/v8/upstream/2.0.6/test/mjsunit/regexp-multiline-stack-trace.js +0 -116
  345. data/ext/v8/upstream/2.0.6/test/mjsunit/regexp-multiline.js +0 -112
  346. data/ext/v8/upstream/2.0.6/test/mjsunit/regexp-standalones.js +0 -78
  347. data/ext/v8/upstream/2.0.6/test/mjsunit/regexp-static.js +0 -167
  348. data/ext/v8/upstream/2.0.6/test/mjsunit/regexp-string-methods.js +0 -51
  349. data/ext/v8/upstream/2.0.6/test/mjsunit/regexp.js +0 -390
  350. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1030466.js +0 -45
  351. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1036894.js +0 -38
  352. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1039610.js +0 -29
  353. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1050043.js +0 -51
  354. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1062422.js +0 -30
  355. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1066899.js +0 -37
  356. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1081309.js +0 -110
  357. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1102760.js +0 -35
  358. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1110164.js +0 -46
  359. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1112051.js +0 -33
  360. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1114040.js +0 -58
  361. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1134697.js +0 -31
  362. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-114.js +0 -43
  363. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-116.js +0 -40
  364. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1170187.js +0 -80
  365. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1173979.js +0 -48
  366. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1175390.js +0 -30
  367. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1177518.js +0 -39
  368. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1177809.js +0 -31
  369. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1178598.js +0 -90
  370. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1182832.js +0 -38
  371. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1187524.js +0 -34
  372. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1199401.js +0 -75
  373. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1199637.js +0 -78
  374. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1200351.js +0 -2032
  375. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1201933.js +0 -40
  376. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1203459.js +0 -29
  377. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1207276.js +0 -36
  378. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1213516.js +0 -40
  379. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1213575.js +0 -41
  380. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1215653.js +0 -365
  381. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-124.js +0 -57
  382. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1254366.js +0 -38
  383. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1327557.js +0 -36
  384. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1341167.js +0 -33
  385. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1346700.js +0 -29
  386. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-137.js +0 -46
  387. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1439135.js +0 -40
  388. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-149.js +0 -28
  389. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1493017.js +0 -52
  390. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-155924.js +0 -46
  391. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-171.js +0 -41
  392. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-176.js +0 -50
  393. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-186.js +0 -72
  394. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-187.js +0 -30
  395. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-189.js +0 -36
  396. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-191.js +0 -42
  397. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1919169.js +0 -40
  398. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-192.js +0 -38
  399. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-193.js +0 -44
  400. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-20070207.js +0 -42
  401. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-201.js +0 -37
  402. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-219.js +0 -176
  403. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-220.js +0 -31
  404. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-221.js +0 -34
  405. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-2249423.js +0 -40
  406. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-225.js +0 -32
  407. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-227.js +0 -33
  408. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-231.js +0 -92
  409. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-233.js +0 -39
  410. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-244.js +0 -67
  411. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-246.js +0 -31
  412. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-253.js +0 -31
  413. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-254.js +0 -58
  414. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-259.js +0 -33
  415. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-260.js +0 -33
  416. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-263.js +0 -38
  417. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-265.js +0 -64
  418. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-267.js +0 -35
  419. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-269.js +0 -49
  420. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-279.js +0 -62
  421. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-284.js +0 -50
  422. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-286.js +0 -36
  423. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-294.js +0 -43
  424. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-312.js +0 -31
  425. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-317.js +0 -31
  426. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-318.js +0 -35
  427. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-326.js +0 -40
  428. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-334.js +0 -90
  429. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-341.js +0 -36
  430. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-345.js +0 -51
  431. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-349.js +0 -32
  432. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-35.js +0 -33
  433. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-351.js +0 -31
  434. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-386.js +0 -47
  435. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-392.js +0 -34
  436. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-394.js +0 -47
  437. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-396.js +0 -39
  438. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-397.js +0 -34
  439. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-399.js +0 -32
  440. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-406.js +0 -69
  441. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-416.js +0 -38
  442. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-475.js +0 -28
  443. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-483.js +0 -35
  444. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-485.js +0 -64
  445. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-486.js +0 -30
  446. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-490.js +0 -48
  447. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-491.js +0 -47
  448. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-492.js +0 -52
  449. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-496.js +0 -39
  450. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-502.js +0 -38
  451. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-503.js +0 -63
  452. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-515.js +0 -40
  453. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-524.js +0 -32
  454. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-526.js +0 -32
  455. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-540.js +0 -47
  456. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-545.js +0 -47
  457. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-57.js +0 -32
  458. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-580.js +0 -55
  459. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-588599.js +0 -31
  460. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-6-9-regexp.js +0 -30
  461. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-662254.js +0 -40
  462. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-666721.js +0 -53
  463. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-667061.js +0 -90
  464. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-670147.js +0 -34
  465. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-674753.js +0 -87
  466. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-676025.js +0 -31
  467. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-678525.js +0 -59
  468. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-682649.js +0 -30
  469. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-69.js +0 -43
  470. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-734862.js +0 -37
  471. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-737588.js +0 -34
  472. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-74.js +0 -41
  473. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-780423.js +0 -39
  474. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-799761.js +0 -92
  475. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-806473.js +0 -60
  476. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-842017.js +0 -60
  477. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-86.js +0 -46
  478. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-87.js +0 -58
  479. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-874178.js +0 -32
  480. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-875031.js +0 -37
  481. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-877615.js +0 -37
  482. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-892742.js +0 -50
  483. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-900055.js +0 -42
  484. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-900966.js +0 -38
  485. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-91.js +0 -38
  486. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-925537.js +0 -42
  487. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-937896.js +0 -50
  488. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-990205.js +0 -35
  489. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-992733.js +0 -35
  490. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-996542.js +0 -40
  491. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-998565.js +0 -51
  492. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-crbug-18639.js +0 -34
  493. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-r3391.js +0 -77
  494. data/ext/v8/upstream/2.0.6/test/mjsunit/scanner.js +0 -30
  495. data/ext/v8/upstream/2.0.6/test/mjsunit/short-circuit-boolean.js +0 -46
  496. data/ext/v8/upstream/2.0.6/test/mjsunit/simple-constructor.js +0 -140
  497. data/ext/v8/upstream/2.0.6/test/mjsunit/sin-cos.js +0 -45
  498. data/ext/v8/upstream/2.0.6/test/mjsunit/smi-negative-zero.js +0 -100
  499. data/ext/v8/upstream/2.0.6/test/mjsunit/smi-ops.js +0 -671
  500. data/ext/v8/upstream/2.0.6/test/mjsunit/sparse-array-reverse.js +0 -131
  501. data/ext/v8/upstream/2.0.6/test/mjsunit/sparse-array.js +0 -41
  502. data/ext/v8/upstream/2.0.6/test/mjsunit/stack-traces.js +0 -204
  503. data/ext/v8/upstream/2.0.6/test/mjsunit/str-to-num.js +0 -158
  504. data/ext/v8/upstream/2.0.6/test/mjsunit/stress-array-push.js +0 -34
  505. data/ext/v8/upstream/2.0.6/test/mjsunit/strict-equals.js +0 -90
  506. data/ext/v8/upstream/2.0.6/test/mjsunit/string-add.js +0 -195
  507. data/ext/v8/upstream/2.0.6/test/mjsunit/string-case.js +0 -28
  508. data/ext/v8/upstream/2.0.6/test/mjsunit/string-charat.js +0 -53
  509. data/ext/v8/upstream/2.0.6/test/mjsunit/string-charcodeat.js +0 -192
  510. data/ext/v8/upstream/2.0.6/test/mjsunit/string-compare-alignment.js +0 -47
  511. data/ext/v8/upstream/2.0.6/test/mjsunit/string-flatten.js +0 -37
  512. data/ext/v8/upstream/2.0.6/test/mjsunit/string-index.js +0 -154
  513. data/ext/v8/upstream/2.0.6/test/mjsunit/string-indexof-1.js +0 -99
  514. data/ext/v8/upstream/2.0.6/test/mjsunit/string-indexof-2.js +0 -68
  515. data/ext/v8/upstream/2.0.6/test/mjsunit/string-lastindexof.js +0 -88
  516. data/ext/v8/upstream/2.0.6/test/mjsunit/string-localecompare.js +0 -40
  517. data/ext/v8/upstream/2.0.6/test/mjsunit/string-match.js +0 -149
  518. data/ext/v8/upstream/2.0.6/test/mjsunit/string-replace-gc.js +0 -57
  519. data/ext/v8/upstream/2.0.6/test/mjsunit/string-replace.js +0 -182
  520. data/ext/v8/upstream/2.0.6/test/mjsunit/string-search.js +0 -30
  521. data/ext/v8/upstream/2.0.6/test/mjsunit/string-split.js +0 -126
  522. data/ext/v8/upstream/2.0.6/test/mjsunit/substr.js +0 -65
  523. data/ext/v8/upstream/2.0.6/test/mjsunit/switch.js +0 -289
  524. data/ext/v8/upstream/2.0.6/test/mjsunit/testcfg.py +0 -137
  525. data/ext/v8/upstream/2.0.6/test/mjsunit/third_party/array-isarray.js +0 -48
  526. data/ext/v8/upstream/2.0.6/test/mjsunit/third_party/array-splice-webkit.js +0 -62
  527. data/ext/v8/upstream/2.0.6/test/mjsunit/third_party/object-keys.js +0 -68
  528. data/ext/v8/upstream/2.0.6/test/mjsunit/third_party/regexp-pcre.js +0 -6603
  529. data/ext/v8/upstream/2.0.6/test/mjsunit/third_party/string-trim.js +0 -107
  530. data/ext/v8/upstream/2.0.6/test/mjsunit/this-in-callbacks.js +0 -47
  531. data/ext/v8/upstream/2.0.6/test/mjsunit/this.js +0 -46
  532. data/ext/v8/upstream/2.0.6/test/mjsunit/throw-and-catch-function.js +0 -50
  533. data/ext/v8/upstream/2.0.6/test/mjsunit/throw-exception-for-null-access.js +0 -37
  534. data/ext/v8/upstream/2.0.6/test/mjsunit/to-precision.js +0 -82
  535. data/ext/v8/upstream/2.0.6/test/mjsunit/to_number_order.js +0 -129
  536. data/ext/v8/upstream/2.0.6/test/mjsunit/tobool.js +0 -36
  537. data/ext/v8/upstream/2.0.6/test/mjsunit/toint32.js +0 -129
  538. data/ext/v8/upstream/2.0.6/test/mjsunit/tools/codemap.js +0 -180
  539. data/ext/v8/upstream/2.0.6/test/mjsunit/tools/consarray.js +0 -60
  540. data/ext/v8/upstream/2.0.6/test/mjsunit/tools/csvparser.js +0 -79
  541. data/ext/v8/upstream/2.0.6/test/mjsunit/tools/logreader.js +0 -98
  542. data/ext/v8/upstream/2.0.6/test/mjsunit/tools/profile.js +0 -348
  543. data/ext/v8/upstream/2.0.6/test/mjsunit/tools/profile_view.js +0 -95
  544. data/ext/v8/upstream/2.0.6/test/mjsunit/tools/splaytree.js +0 -166
  545. data/ext/v8/upstream/2.0.6/test/mjsunit/tools/tickprocessor-test.default +0 -55
  546. data/ext/v8/upstream/2.0.6/test/mjsunit/tools/tickprocessor-test.gc-state +0 -21
  547. data/ext/v8/upstream/2.0.6/test/mjsunit/tools/tickprocessor-test.ignore-unknown +0 -51
  548. data/ext/v8/upstream/2.0.6/test/mjsunit/tools/tickprocessor-test.separate-ic +0 -61
  549. data/ext/v8/upstream/2.0.6/test/mjsunit/tools/tickprocessor.js +0 -409
  550. data/ext/v8/upstream/2.0.6/test/mjsunit/top-level-assignments.js +0 -107
  551. data/ext/v8/upstream/2.0.6/test/mjsunit/touint32.js +0 -72
  552. data/ext/v8/upstream/2.0.6/test/mjsunit/transcendentals.js +0 -49
  553. data/ext/v8/upstream/2.0.6/test/mjsunit/try-catch-extension-object.js +0 -58
  554. data/ext/v8/upstream/2.0.6/test/mjsunit/try-catch-scopes.js +0 -42
  555. data/ext/v8/upstream/2.0.6/test/mjsunit/try-finally-nested.js +0 -46
  556. data/ext/v8/upstream/2.0.6/test/mjsunit/try.js +0 -394
  557. data/ext/v8/upstream/2.0.6/test/mjsunit/typeof.js +0 -40
  558. data/ext/v8/upstream/2.0.6/test/mjsunit/undeletable-functions.js +0 -181
  559. data/ext/v8/upstream/2.0.6/test/mjsunit/unicode-case-overoptimization.js +0 -35
  560. data/ext/v8/upstream/2.0.6/test/mjsunit/unicode-string-to-number.js +0 -46
  561. data/ext/v8/upstream/2.0.6/test/mjsunit/unicode-test.js +0 -9169
  562. data/ext/v8/upstream/2.0.6/test/mjsunit/unusual-constructor.js +0 -38
  563. data/ext/v8/upstream/2.0.6/test/mjsunit/uri.js +0 -78
  564. data/ext/v8/upstream/2.0.6/test/mjsunit/value-callic-prototype-change.js +0 -94
  565. data/ext/v8/upstream/2.0.6/test/mjsunit/var.js +0 -37
  566. data/ext/v8/upstream/2.0.6/test/mjsunit/with-function-expression.js +0 -36
  567. data/ext/v8/upstream/2.0.6/test/mjsunit/with-leave.js +0 -61
  568. data/ext/v8/upstream/2.0.6/test/mjsunit/with-parameter-access.js +0 -47
  569. data/ext/v8/upstream/2.0.6/test/mjsunit/with-prototype.js +0 -44
  570. data/ext/v8/upstream/2.0.6/test/mjsunit/with-value.js +0 -38
  571. data/ext/v8/upstream/2.0.6/test/mozilla/mozilla-shell-emulation.js +0 -37
  572. data/ext/v8/upstream/2.0.6/test/mozilla/mozilla.status +0 -815
  573. data/ext/v8/upstream/2.0.6/test/mozilla/testcfg.py +0 -138
  574. data/ext/v8/upstream/2.0.6/test/sputnik/README +0 -6
  575. data/ext/v8/upstream/2.0.6/test/sputnik/sputnik.status +0 -318
  576. data/ext/v8/upstream/2.0.6/test/sputnik/testcfg.py +0 -112
  577. data/ext/v8/upstream/2.0.6/tools/js2c.pyc +0 -0
  578. data/ext/v8/upstream/2.0.6/tools/jsmin.pyc +0 -0
  579. data/ext/v8/upstream/2.0.6/tools/utils.pyc +0 -0
  580. data/spec/redjs/README.txt +0 -8
@@ -1,281 +0,0 @@
1
- // Copyright 2007-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
-
29
- #include <stdlib.h>
30
-
31
- #include "v8.h"
32
-
33
- #include "debug.h"
34
- #include "disasm.h"
35
- #include "disassembler.h"
36
- #include "macro-assembler.h"
37
- #include "serialize.h"
38
- #include "cctest.h"
39
-
40
- using namespace v8::internal;
41
-
42
-
43
- static v8::Persistent<v8::Context> env;
44
-
45
- static void InitializeVM() {
46
- if (env.IsEmpty()) {
47
- env = v8::Context::New();
48
- }
49
- }
50
-
51
-
52
- bool DisassembleAndCompare(byte* pc, const char* compare_string) {
53
- disasm::NameConverter converter;
54
- disasm::Disassembler disasm(converter);
55
- EmbeddedVector<char, 128> disasm_buffer;
56
-
57
- disasm.InstructionDecode(disasm_buffer, pc);
58
-
59
- if (strcmp(compare_string, disasm_buffer.start()) != 0) {
60
- fprintf(stderr,
61
- "expected: \n"
62
- "%s\n"
63
- "disassembled: \n"
64
- "%s\n\n",
65
- compare_string, disasm_buffer.start());
66
- return false;
67
- }
68
- return true;
69
- }
70
-
71
-
72
- // Setup V8 to a state where we can at least run the assembler and
73
- // disassembler. Declare the variables and allocate the data structures used
74
- // in the rest of the macros.
75
- #define SETUP() \
76
- InitializeVM(); \
77
- v8::HandleScope scope; \
78
- byte *buffer = reinterpret_cast<byte*>(malloc(4*1024)); \
79
- Assembler assm(buffer, 4*1024); \
80
- bool failure = false;
81
-
82
-
83
- // This macro assembles one instruction using the preallocated assembler and
84
- // disassembles the generated instruction, comparing the output to the expected
85
- // value. If the comparison fails an error message is printed, but the test
86
- // continues to run until the end.
87
- #define COMPARE(asm_, compare_string) \
88
- { \
89
- int pc_offset = assm.pc_offset(); \
90
- byte *pc = &buffer[pc_offset]; \
91
- assm.asm_; \
92
- if (!DisassembleAndCompare(pc, compare_string)) failure = true; \
93
- }
94
-
95
-
96
- // Verify that all invocations of the COMPARE macro passed successfully.
97
- // Exit with a failure if at least one of the tests failed.
98
- #define VERIFY_RUN() \
99
- if (failure) { \
100
- V8_Fatal(__FILE__, __LINE__, "ARM Disassembler tests failed.\n"); \
101
- }
102
-
103
-
104
- TEST(Type0) {
105
- SETUP();
106
-
107
- COMPARE(and_(r0, r1, Operand(r2)),
108
- "e0010002 and r0, r1, r2");
109
- COMPARE(and_(r1, r2, Operand(r3), LeaveCC),
110
- "e0021003 and r1, r2, r3");
111
- COMPARE(and_(r2, r3, Operand(r4), SetCC),
112
- "e0132004 ands r2, r3, r4");
113
- COMPARE(and_(r3, r4, Operand(r5), LeaveCC, eq),
114
- "00043005 andeq r3, r4, r5");
115
-
116
- COMPARE(eor(r4, r5, Operand(r6, LSL, 0)),
117
- "e0254006 eor r4, r5, r6");
118
- COMPARE(eor(r4, r5, Operand(r7, LSL, 1), SetCC),
119
- "e0354087 eors r4, r5, r7, lsl #1");
120
- COMPARE(eor(r4, r5, Operand(r8, LSL, 2), LeaveCC, ne),
121
- "10254108 eorne r4, r5, r8, lsl #2");
122
- COMPARE(eor(r4, r5, Operand(r9, LSL, 3), SetCC, cs),
123
- "20354189 eorcss r4, r5, r9, lsl #3");
124
-
125
- COMPARE(sub(r5, r6, Operand(r10, LSL, 31), LeaveCC, hs),
126
- "20465f8a subcs r5, r6, r10, lsl #31");
127
- COMPARE(sub(r5, r6, Operand(r10, LSL, 30), SetCC, cc),
128
- "30565f0a subccs r5, r6, r10, lsl #30");
129
- COMPARE(sub(r5, r6, Operand(r10, LSL, 24), LeaveCC, lo),
130
- "30465c0a subcc r5, r6, r10, lsl #24");
131
- COMPARE(sub(r5, r6, Operand(r10, LSL, 16), SetCC, mi),
132
- "4056580a submis r5, r6, r10, lsl #16");
133
-
134
- COMPARE(rsb(r6, r7, Operand(fp)),
135
- "e067600b rsb r6, r7, fp");
136
- COMPARE(rsb(r6, r7, Operand(fp, LSR, 1)),
137
- "e06760ab rsb r6, r7, fp, lsr #1");
138
- COMPARE(rsb(r6, r7, Operand(fp, LSR, 0), SetCC),
139
- "e077602b rsbs r6, r7, fp, lsr #32");
140
- COMPARE(rsb(r6, r7, Operand(fp, LSR, 31), LeaveCC, pl),
141
- "50676fab rsbpl r6, r7, fp, lsr #31");
142
-
143
- COMPARE(add(r7, r8, Operand(ip, ASR, 1)),
144
- "e08870cc add r7, r8, ip, asr #1");
145
- COMPARE(add(r7, r8, Operand(ip, ASR, 0)),
146
- "e088704c add r7, r8, ip, asr #32");
147
- COMPARE(add(r7, r8, Operand(ip), SetCC),
148
- "e098700c adds r7, r8, ip");
149
- COMPARE(add(r7, r8, Operand(ip, ASR, 31), SetCC, vs),
150
- "60987fcc addvss r7, r8, ip, asr #31");
151
-
152
- COMPARE(adc(r7, fp, Operand(ip, ASR, 5)),
153
- "e0ab72cc adc r7, fp, ip, asr #5");
154
- COMPARE(adc(r4, ip, Operand(ip, ASR, 1), LeaveCC, vc),
155
- "70ac40cc adcvc r4, ip, ip, asr #1");
156
- COMPARE(adc(r5, sp, Operand(ip), SetCC),
157
- "e0bd500c adcs r5, sp, ip");
158
- COMPARE(adc(r8, lr, Operand(ip, ASR, 31), SetCC, vc),
159
- "70be8fcc adcvcs r8, lr, ip, asr #31");
160
-
161
- COMPARE(sbc(r7, r1, Operand(ip, ROR, 1), LeaveCC, hi),
162
- "80c170ec sbchi r7, r1, ip, ror #1");
163
- COMPARE(sbc(r7, r9, Operand(ip, ROR, 4)),
164
- "e0c9726c sbc r7, r9, ip, ror #4");
165
- COMPARE(sbc(r7, r10, Operand(ip), SetCC),
166
- "e0da700c sbcs r7, r10, ip");
167
- COMPARE(sbc(r7, ip, Operand(ip, ROR, 31), SetCC, hi),
168
- "80dc7fec sbchis r7, ip, ip, ror #31");
169
-
170
- COMPARE(rsc(r7, r8, Operand(ip, LSL, r0)),
171
- "e0e8701c rsc r7, r8, ip, lsl r0");
172
- COMPARE(rsc(r7, r8, Operand(ip, LSL, r1)),
173
- "e0e8711c rsc r7, r8, ip, lsl r1");
174
- COMPARE(rsc(r7, r8, Operand(ip), SetCC),
175
- "e0f8700c rscs r7, r8, ip");
176
- COMPARE(rsc(r7, r8, Operand(ip, LSL, r3), SetCC, ls),
177
- "90f8731c rsclss r7, r8, ip, lsl r3");
178
-
179
- COMPARE(tst(r7, Operand(r5, ASR, ip), ge),
180
- "a1170c55 tstge r7, r5, asr ip");
181
- COMPARE(tst(r7, Operand(r6, ASR, sp)),
182
- "e1170d56 tst r7, r6, asr sp");
183
- COMPARE(tst(r7, Operand(r7), ge),
184
- "a1170007 tstge r7, r7");
185
- COMPARE(tst(r7, Operand(r8, ASR, fp), ge),
186
- "a1170b58 tstge r7, r8, asr fp");
187
-
188
- COMPARE(teq(r7, Operand(r5, ROR, r0), lt),
189
- "b1370075 teqlt r7, r5, ror r0");
190
- COMPARE(teq(r7, Operand(r6, ROR, lr)),
191
- "e1370e76 teq r7, r6, ror lr");
192
- COMPARE(teq(r7, Operand(r7), lt),
193
- "b1370007 teqlt r7, r7");
194
- COMPARE(teq(r7, Operand(r8, ROR, r1)),
195
- "e1370178 teq r7, r8, ror r1");
196
-
197
- COMPARE(cmp(r7, Operand(r4)),
198
- "e1570004 cmp r7, r4");
199
- COMPARE(cmp(r7, Operand(r6, LSL, 1), gt),
200
- "c1570086 cmpgt r7, r6, lsl #1");
201
- COMPARE(cmp(r7, Operand(r8, LSR, 3), gt),
202
- "c15701a8 cmpgt r7, r8, lsr #3");
203
- COMPARE(cmp(r7, Operand(r8, ASR, 19)),
204
- "e15709c8 cmp r7, r8, asr #19");
205
-
206
- COMPARE(cmn(r0, Operand(r4)),
207
- "e1700004 cmn r0, r4");
208
- COMPARE(cmn(r1, Operand(r6, ROR, 1)),
209
- "e17100e6 cmn r1, r6, ror #1");
210
- COMPARE(cmn(r2, Operand(r8)),
211
- "e1720008 cmn r2, r8");
212
- COMPARE(cmn(r3, Operand(fp), le),
213
- "d173000b cmnle r3, fp");
214
-
215
- COMPARE(orr(r7, r8, Operand(lr), LeaveCC, al),
216
- "e188700e orr r7, r8, lr");
217
- COMPARE(orr(r7, r8, Operand(fp)),
218
- "e188700b orr r7, r8, fp");
219
- COMPARE(orr(r7, r8, Operand(sp), SetCC),
220
- "e198700d orrs r7, r8, sp");
221
- COMPARE(orr(r7, r8, Operand(ip), SetCC, al),
222
- "e198700c orrs r7, r8, ip");
223
-
224
- COMPARE(mov(r0, Operand(r1), LeaveCC, eq),
225
- "01a00001 moveq r0, r1");
226
- COMPARE(mov(r0, Operand(r2)),
227
- "e1a00002 mov r0, r2");
228
- COMPARE(mov(r0, Operand(r3), SetCC),
229
- "e1b00003 movs r0, r3");
230
- COMPARE(mov(r0, Operand(r4), SetCC, pl),
231
- "51b00004 movpls r0, r4");
232
-
233
- COMPARE(bic(r0, lr, Operand(r1), LeaveCC, vs),
234
- "61ce0001 bicvs r0, lr, r1");
235
- COMPARE(bic(r0, r9, Operand(r2), LeaveCC, vc),
236
- "71c90002 bicvc r0, r9, r2");
237
- COMPARE(bic(r0, r5, Operand(r3), SetCC),
238
- "e1d50003 bics r0, r5, r3");
239
- COMPARE(bic(r0, r1, Operand(r4), SetCC, pl),
240
- "51d10004 bicpls r0, r1, r4");
241
-
242
- COMPARE(mvn(r10, Operand(r1)),
243
- "e1e0a001 mvn r10, r1");
244
- COMPARE(mvn(r9, Operand(r2)),
245
- "e1e09002 mvn r9, r2");
246
- COMPARE(mvn(r0, Operand(r3), SetCC),
247
- "e1f00003 mvns r0, r3");
248
- COMPARE(mvn(r5, Operand(r4), SetCC, cc),
249
- "31f05004 mvnccs r5, r4");
250
-
251
- VERIFY_RUN();
252
- }
253
-
254
-
255
- TEST(Type1) {
256
- SETUP();
257
-
258
- COMPARE(and_(r0, r1, Operand(0x00000000)),
259
- "e2010000 and r0, r1, #0");
260
- COMPARE(and_(r1, r2, Operand(0x00000001), LeaveCC),
261
- "e2021001 and r1, r2, #1");
262
- COMPARE(and_(r2, r3, Operand(0x00000010), SetCC),
263
- "e2132010 ands r2, r3, #16");
264
- COMPARE(and_(r3, r4, Operand(0x00000100), LeaveCC, eq),
265
- "02043c01 andeq r3, r4, #256");
266
- COMPARE(and_(r4, r5, Operand(0x00001000), SetCC, ne),
267
- "12154a01 andnes r4, r5, #4096");
268
-
269
- COMPARE(eor(r4, r5, Operand(0x00001000)),
270
- "e2254a01 eor r4, r5, #4096");
271
- COMPARE(eor(r4, r4, Operand(0x00010000), LeaveCC),
272
- "e2244801 eor r4, r4, #65536");
273
- COMPARE(eor(r4, r3, Operand(0x00100000), SetCC),
274
- "e2334601 eors r4, r3, #1048576");
275
- COMPARE(eor(r4, r2, Operand(0x01000000), LeaveCC, cs),
276
- "22224401 eorcs r4, r2, #16777216");
277
- COMPARE(eor(r4, r1, Operand(0x10000000), SetCC, cc),
278
- "32314201 eorccs r4, r1, #268435456");
279
-
280
- VERIFY_RUN();
281
- }
@@ -1,418 +0,0 @@
1
- // Copyright 2007-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
- #include <stdlib.h>
29
-
30
- #include "v8.h"
31
-
32
- #include "debug.h"
33
- #include "disasm.h"
34
- #include "disassembler.h"
35
- #include "macro-assembler.h"
36
- #include "serialize.h"
37
- #include "cctest.h"
38
-
39
- using namespace v8::internal;
40
-
41
- static v8::Persistent<v8::Context> env;
42
-
43
- static void InitializeVM() {
44
- if (env.IsEmpty()) {
45
- env = v8::Context::New();
46
- }
47
- }
48
-
49
-
50
- #define __ assm.
51
-
52
-
53
- static void DummyStaticFunction(Object* result) {
54
- }
55
-
56
-
57
- TEST(DisasmIa320) {
58
- InitializeVM();
59
- v8::HandleScope scope;
60
- v8::internal::byte buffer[2048];
61
- Assembler assm(buffer, sizeof buffer);
62
- DummyStaticFunction(NULL); // just bloody use it (DELETE; debugging)
63
-
64
- // Short immediate instructions
65
- __ adc(eax, 12345678);
66
- __ add(Operand(eax), Immediate(12345678));
67
- __ or_(eax, 12345678);
68
- __ sub(Operand(eax), Immediate(12345678));
69
- __ xor_(eax, 12345678);
70
- __ and_(eax, 12345678);
71
- Handle<FixedArray> foo = Factory::NewFixedArray(10, TENURED);
72
- __ cmp(eax, foo);
73
-
74
- // ---- This one caused crash
75
- __ mov(ebx, Operand(esp, ecx, times_2, 0)); // [esp+ecx*4]
76
-
77
- // ---- All instructions that I can think of
78
- __ add(edx, Operand(ebx));
79
- __ add(edx, Operand(12, RelocInfo::NONE));
80
- __ add(edx, Operand(ebx, 0));
81
- __ add(edx, Operand(ebx, 16));
82
- __ add(edx, Operand(ebx, 1999));
83
- __ add(edx, Operand(esp, 0));
84
- __ add(edx, Operand(esp, 16));
85
- __ add(edx, Operand(esp, 1999));
86
- __ nop();
87
- __ add(edi, Operand(ebp, ecx, times_4, 0));
88
- __ add(edi, Operand(ebp, ecx, times_4, 12));
89
- __ add(Operand(ebp, ecx, times_4, 12), Immediate(12));
90
-
91
- __ nop();
92
- __ add(Operand(ebx), Immediate(12));
93
- __ nop();
94
- __ adc(ecx, 12);
95
- __ adc(ecx, 1000);
96
- __ nop();
97
- __ and_(edx, 3);
98
- __ and_(edx, Operand(esp, 4));
99
- __ cmp(edx, 3);
100
- __ cmp(edx, Operand(esp, 4));
101
- __ cmp(Operand(ebp, ecx, times_4, 0), Immediate(1000));
102
- Handle<FixedArray> foo2 = Factory::NewFixedArray(10, TENURED);
103
- __ cmp(ebx, foo2);
104
- __ or_(edx, 3);
105
- __ xor_(edx, 3);
106
- __ nop();
107
- {
108
- CHECK(CpuFeatures::IsSupported(CPUID));
109
- CpuFeatures::Scope fscope(CPUID);
110
- __ cpuid();
111
- }
112
- {
113
- CHECK(CpuFeatures::IsSupported(RDTSC));
114
- CpuFeatures::Scope fscope(RDTSC);
115
- __ rdtsc();
116
- }
117
- __ movsx_b(edx, Operand(ecx));
118
- __ movsx_w(edx, Operand(ecx));
119
- __ movzx_b(edx, Operand(ecx));
120
- __ movzx_w(edx, Operand(ecx));
121
-
122
- __ nop();
123
- __ imul(edx, Operand(ecx));
124
- __ shld(edx, Operand(ecx));
125
- __ shrd(edx, Operand(ecx));
126
- __ bts(Operand(edx), ecx);
127
- __ bts(Operand(ebx, ecx, times_4, 0), ecx);
128
- __ nop();
129
- __ pushad();
130
- __ popad();
131
- __ pushfd();
132
- __ popfd();
133
- __ push(Immediate(12));
134
- __ push(Immediate(23456));
135
- __ push(ecx);
136
- __ push(esi);
137
- __ push(Operand(ebp, JavaScriptFrameConstants::kFunctionOffset));
138
- __ push(Operand(ebx, ecx, times_4, 0));
139
- __ push(Operand(ebx, ecx, times_4, 0));
140
- __ push(Operand(ebx, ecx, times_4, 10000));
141
- __ pop(edx);
142
- __ pop(eax);
143
- __ pop(Operand(ebx, ecx, times_4, 0));
144
- __ nop();
145
-
146
- __ add(edx, Operand(esp, 16));
147
- __ add(edx, Operand(ecx));
148
- __ mov_b(edx, Operand(ecx));
149
- __ mov_b(Operand(ecx), 6);
150
- __ mov_b(Operand(ebx, ecx, times_4, 10000), 6);
151
- __ mov_b(Operand(esp, 16), edx);
152
- __ mov_w(edx, Operand(esp, 16));
153
- __ mov_w(Operand(esp, 16), edx);
154
- __ nop();
155
- __ movsx_w(edx, Operand(esp, 12));
156
- __ movsx_b(edx, Operand(esp, 12));
157
- __ movzx_w(edx, Operand(esp, 12));
158
- __ movzx_b(edx, Operand(esp, 12));
159
- __ nop();
160
- __ mov(edx, 1234567);
161
- __ mov(edx, Operand(esp, 12));
162
- __ mov(Operand(ebx, ecx, times_4, 10000), Immediate(12345));
163
- __ mov(Operand(ebx, ecx, times_4, 10000), edx);
164
- __ nop();
165
- __ dec_b(edx);
166
- __ dec(edx);
167
- __ cdq();
168
-
169
- __ nop();
170
- __ idiv(edx);
171
- __ mul(edx);
172
- __ neg(edx);
173
- __ not_(edx);
174
- __ test(Operand(ebx, ecx, times_4, 10000), Immediate(123456));
175
-
176
- __ imul(edx, Operand(ebx, ecx, times_4, 10000));
177
- __ imul(edx, ecx, 12);
178
- __ imul(edx, ecx, 1000);
179
-
180
- __ inc(edx);
181
- __ inc(Operand(ebx, ecx, times_4, 10000));
182
- __ push(Operand(ebx, ecx, times_4, 10000));
183
- __ pop(Operand(ebx, ecx, times_4, 10000));
184
- __ call(Operand(ebx, ecx, times_4, 10000));
185
- __ jmp(Operand(ebx, ecx, times_4, 10000));
186
-
187
- __ lea(edx, Operand(ebx, ecx, times_4, 10000));
188
- __ or_(edx, 12345);
189
- __ or_(edx, Operand(ebx, ecx, times_4, 10000));
190
-
191
- __ nop();
192
-
193
- __ rcl(edx, 1);
194
- __ rcl(edx, 7);
195
- __ sar(edx, 1);
196
- __ sar(edx, 6);
197
- __ sar_cl(edx);
198
- __ sbb(edx, Operand(ebx, ecx, times_4, 10000));
199
- __ shld(edx, Operand(ebx, ecx, times_4, 10000));
200
- __ shl(edx, 1);
201
- __ shl(edx, 6);
202
- __ shl_cl(edx);
203
- __ shrd(edx, Operand(ebx, ecx, times_4, 10000));
204
- __ shr(edx, 1);
205
- __ shr(edx, 7);
206
- __ shr_cl(edx);
207
-
208
-
209
- // Immediates
210
-
211
- __ adc(edx, 12345);
212
-
213
- __ add(Operand(ebx), Immediate(12));
214
- __ add(Operand(edx, ecx, times_4, 10000), Immediate(12));
215
-
216
- __ and_(ebx, 12345);
217
-
218
- __ cmp(ebx, 12345);
219
- __ cmp(Operand(ebx), Immediate(12));
220
- __ cmp(Operand(edx, ecx, times_4, 10000), Immediate(12));
221
-
222
- __ or_(ebx, 12345);
223
-
224
- __ sub(Operand(ebx), Immediate(12));
225
- __ sub(Operand(edx, ecx, times_4, 10000), Immediate(12));
226
- __ subb(Operand(edx, ecx, times_4, 10000), 100);
227
- __ subb(Operand(eax), 100);
228
- __ subb(eax, Operand(edx, ecx, times_4, 10000));
229
-
230
- __ xor_(ebx, 12345);
231
-
232
- __ imul(edx, ecx, 12);
233
- __ imul(edx, ecx, 1000);
234
-
235
- __ rep_movs();
236
-
237
- __ sub(edx, Operand(ebx, ecx, times_4, 10000));
238
- __ sub(edx, Operand(ebx));
239
-
240
- __ test(edx, Immediate(12345));
241
- __ test(edx, Operand(ebx, ecx, times_8, 10000));
242
- __ nop();
243
-
244
- __ xor_(edx, 12345);
245
- __ xor_(edx, Operand(ebx, ecx, times_8, 10000));
246
- __ bts(Operand(ebx, ecx, times_8, 10000), edx);
247
- __ hlt();
248
- __ int3();
249
- __ ret(0);
250
- __ ret(8);
251
-
252
- // Calls
253
-
254
- Label L1, L2;
255
- __ bind(&L1);
256
- __ nop();
257
- __ call(&L1);
258
- __ call(&L2);
259
- __ nop();
260
- __ bind(&L2);
261
- __ call(Operand(ebx, ecx, times_4, 10000));
262
- __ nop();
263
- Handle<Code> ic(Builtins::builtin(Builtins::LoadIC_Initialize));
264
- __ call(ic, RelocInfo::CODE_TARGET);
265
- __ nop();
266
- __ call(FUNCTION_ADDR(DummyStaticFunction), RelocInfo::RUNTIME_ENTRY);
267
- __ nop();
268
-
269
- __ jmp(&L1);
270
- __ jmp(Operand(ebx, ecx, times_4, 10000));
271
- ExternalReference after_break_target =
272
- ExternalReference(Debug_Address::AfterBreakTarget());
273
- __ jmp(Operand::StaticVariable(after_break_target));
274
- __ jmp(ic, RelocInfo::CODE_TARGET);
275
- __ nop();
276
-
277
-
278
- Label Ljcc;
279
- __ nop();
280
- // long jumps
281
- __ j(overflow, &Ljcc);
282
- __ j(no_overflow, &Ljcc);
283
- __ j(below, &Ljcc);
284
- __ j(above_equal, &Ljcc);
285
- __ j(equal, &Ljcc);
286
- __ j(not_equal, &Ljcc);
287
- __ j(below_equal, &Ljcc);
288
- __ j(above, &Ljcc);
289
- __ j(sign, &Ljcc);
290
- __ j(not_sign, &Ljcc);
291
- __ j(parity_even, &Ljcc);
292
- __ j(parity_odd, &Ljcc);
293
- __ j(less, &Ljcc);
294
- __ j(greater_equal, &Ljcc);
295
- __ j(less_equal, &Ljcc);
296
- __ j(greater, &Ljcc);
297
- __ nop();
298
- __ bind(&Ljcc);
299
- // short jumps
300
- __ j(overflow, &Ljcc);
301
- __ j(no_overflow, &Ljcc);
302
- __ j(below, &Ljcc);
303
- __ j(above_equal, &Ljcc);
304
- __ j(equal, &Ljcc);
305
- __ j(not_equal, &Ljcc);
306
- __ j(below_equal, &Ljcc);
307
- __ j(above, &Ljcc);
308
- __ j(sign, &Ljcc);
309
- __ j(not_sign, &Ljcc);
310
- __ j(parity_even, &Ljcc);
311
- __ j(parity_odd, &Ljcc);
312
- __ j(less, &Ljcc);
313
- __ j(greater_equal, &Ljcc);
314
- __ j(less_equal, &Ljcc);
315
- __ j(greater, &Ljcc);
316
-
317
- // checking hints
318
- __ j(zero, &Ljcc, taken);
319
- __ j(zero, &Ljcc, not_taken);
320
-
321
- // __ mov(Operand::StaticVariable(Top::handler_address()), eax);
322
- // 0xD9 instructions
323
- __ nop();
324
-
325
- __ fld1();
326
- __ fldz();
327
- __ fabs();
328
- __ fchs();
329
- __ fprem();
330
- __ fprem1();
331
- __ fincstp();
332
- __ ftst();
333
- __ fxch(3);
334
- __ fld_s(Operand(ebx, ecx, times_4, 10000));
335
- __ fstp_s(Operand(ebx, ecx, times_4, 10000));
336
- __ ffree(3);
337
- __ fld_d(Operand(ebx, ecx, times_4, 10000));
338
- __ fstp_d(Operand(ebx, ecx, times_4, 10000));
339
- __ nop();
340
-
341
- __ fild_s(Operand(ebx, ecx, times_4, 10000));
342
- __ fistp_s(Operand(ebx, ecx, times_4, 10000));
343
- __ fild_d(Operand(ebx, ecx, times_4, 10000));
344
- __ fistp_d(Operand(ebx, ecx, times_4, 10000));
345
- __ fnstsw_ax();
346
- __ nop();
347
- __ fadd(3);
348
- __ fsub(3);
349
- __ fmul(3);
350
- __ fdiv(3);
351
-
352
- __ faddp(3);
353
- __ fsubp(3);
354
- __ fmulp(3);
355
- __ fdivp(3);
356
- __ fcompp();
357
- __ fwait();
358
- __ nop();
359
- {
360
- CHECK(CpuFeatures::IsSupported(SSE2));
361
- CpuFeatures::Scope fscope(SSE2);
362
- __ cvttss2si(edx, Operand(ebx, ecx, times_4, 10000));
363
- __ cvtsi2sd(xmm1, Operand(ebx, ecx, times_4, 10000));
364
- __ addsd(xmm1, xmm0);
365
- __ mulsd(xmm1, xmm0);
366
- __ subsd(xmm1, xmm0);
367
- __ divsd(xmm1, xmm0);
368
- __ movdbl(xmm1, Operand(ebx, ecx, times_4, 10000));
369
- __ movdbl(Operand(ebx, ecx, times_4, 10000), xmm1);
370
- __ comisd(xmm0, xmm1);
371
-
372
- // 128 bit move instructions.
373
- __ movdqa(xmm0, Operand(ebx, ecx, times_4, 10000));
374
- __ movdqa(Operand(ebx, ecx, times_4, 10000), xmm0);
375
- __ movdqu(xmm0, Operand(ebx, ecx, times_4, 10000));
376
- __ movdqu(Operand(ebx, ecx, times_4, 10000), xmm0);
377
- }
378
-
379
- // cmov.
380
- {
381
- CHECK(CpuFeatures::IsSupported(CMOV));
382
- CpuFeatures::Scope use_cmov(CMOV);
383
- __ cmov(overflow, eax, Operand(eax, 0));
384
- __ cmov(no_overflow, eax, Operand(eax, 1));
385
- __ cmov(below, eax, Operand(eax, 2));
386
- __ cmov(above_equal, eax, Operand(eax, 3));
387
- __ cmov(equal, eax, Operand(ebx, 0));
388
- __ cmov(not_equal, eax, Operand(ebx, 1));
389
- __ cmov(below_equal, eax, Operand(ebx, 2));
390
- __ cmov(above, eax, Operand(ebx, 3));
391
- __ cmov(sign, eax, Operand(ecx, 0));
392
- __ cmov(not_sign, eax, Operand(ecx, 1));
393
- __ cmov(parity_even, eax, Operand(ecx, 2));
394
- __ cmov(parity_odd, eax, Operand(ecx, 3));
395
- __ cmov(less, eax, Operand(edx, 0));
396
- __ cmov(greater_equal, eax, Operand(edx, 1));
397
- __ cmov(less_equal, eax, Operand(edx, 2));
398
- __ cmov(greater, eax, Operand(edx, 3));
399
- }
400
-
401
- __ ret(0);
402
-
403
- CodeDesc desc;
404
- assm.GetCode(&desc);
405
- Object* code = Heap::CreateCode(desc,
406
- NULL,
407
- Code::ComputeFlags(Code::STUB),
408
- Handle<Object>(Heap::undefined_value()));
409
- CHECK(code->IsCode());
410
- #ifdef DEBUG
411
- Code::cast(code)->Print();
412
- byte* begin = Code::cast(code)->instruction_start();
413
- byte* end = begin + Code::cast(code)->instruction_size();
414
- disasm::Disassembler::Disassemble(stdout, begin, end);
415
- #endif
416
- }
417
-
418
- #undef __