therubyracer 0.4.7-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 (1193) hide show
  1. data/Doxyfile +1514 -0
  2. data/History.txt +39 -0
  3. data/Manifest.txt +1191 -0
  4. data/README.rdoc +157 -0
  5. data/Rakefile +49 -0
  6. data/docs/data_conversion.txt +18 -0
  7. data/ext/v8/callbacks.cpp +160 -0
  8. data/ext/v8/callbacks.h +14 -0
  9. data/ext/v8/convert_ruby.cpp +8 -0
  10. data/ext/v8/convert_ruby.h +99 -0
  11. data/ext/v8/convert_string.cpp +10 -0
  12. data/ext/v8/convert_string.h +73 -0
  13. data/ext/v8/convert_v8.cpp +9 -0
  14. data/ext/v8/convert_v8.h +121 -0
  15. data/ext/v8/converters.cpp +83 -0
  16. data/ext/v8/converters.h +23 -0
  17. data/ext/v8/extconf.rb +44 -0
  18. data/ext/v8/upstream/2.0.6/.sconsign.dblite +0 -0
  19. data/ext/v8/upstream/2.0.6/AUTHORS +23 -0
  20. data/ext/v8/upstream/2.0.6/ChangeLog +1479 -0
  21. data/ext/v8/upstream/2.0.6/LICENSE +55 -0
  22. data/ext/v8/upstream/2.0.6/SConstruct +1028 -0
  23. data/ext/v8/upstream/2.0.6/benchmarks/README.txt +63 -0
  24. data/ext/v8/upstream/2.0.6/benchmarks/base.js +264 -0
  25. data/ext/v8/upstream/2.0.6/benchmarks/crypto.js +1698 -0
  26. data/ext/v8/upstream/2.0.6/benchmarks/deltablue.js +880 -0
  27. data/ext/v8/upstream/2.0.6/benchmarks/earley-boyer.js +4684 -0
  28. data/ext/v8/upstream/2.0.6/benchmarks/raytrace.js +935 -0
  29. data/ext/v8/upstream/2.0.6/benchmarks/regexp.js +1614 -0
  30. data/ext/v8/upstream/2.0.6/benchmarks/revisions.html +86 -0
  31. data/ext/v8/upstream/2.0.6/benchmarks/richards.js +539 -0
  32. data/ext/v8/upstream/2.0.6/benchmarks/run.html +141 -0
  33. data/ext/v8/upstream/2.0.6/benchmarks/run.js +61 -0
  34. data/ext/v8/upstream/2.0.6/benchmarks/splay.js +378 -0
  35. data/ext/v8/upstream/2.0.6/benchmarks/style.css +77 -0
  36. data/ext/v8/upstream/2.0.6/benchmarks/v8-logo.png +0 -0
  37. data/ext/v8/upstream/2.0.6/include/v8-debug.h +275 -0
  38. data/ext/v8/upstream/2.0.6/include/v8.h +3236 -0
  39. data/ext/v8/upstream/2.0.6/samples/SConscript +38 -0
  40. data/ext/v8/upstream/2.0.6/samples/count-hosts.js +42 -0
  41. data/ext/v8/upstream/2.0.6/samples/process.cc +622 -0
  42. data/ext/v8/upstream/2.0.6/samples/shell.cc +303 -0
  43. data/ext/v8/upstream/2.0.6/src/SConscript +283 -0
  44. data/ext/v8/upstream/2.0.6/src/accessors.cc +695 -0
  45. data/ext/v8/upstream/2.0.6/src/accessors.h +114 -0
  46. data/ext/v8/upstream/2.0.6/src/allocation.cc +198 -0
  47. data/ext/v8/upstream/2.0.6/src/allocation.h +169 -0
  48. data/ext/v8/upstream/2.0.6/src/api.cc +3831 -0
  49. data/ext/v8/upstream/2.0.6/src/api.h +479 -0
  50. data/ext/v8/upstream/2.0.6/src/apinatives.js +110 -0
  51. data/ext/v8/upstream/2.0.6/src/apiutils.h +69 -0
  52. data/ext/v8/upstream/2.0.6/src/arguments.h +97 -0
  53. data/ext/v8/upstream/2.0.6/src/arm/assembler-arm-inl.h +277 -0
  54. data/ext/v8/upstream/2.0.6/src/arm/assembler-arm.cc +1821 -0
  55. data/ext/v8/upstream/2.0.6/src/arm/assembler-arm.h +1027 -0
  56. data/ext/v8/upstream/2.0.6/src/arm/assembler-thumb2-inl.h +267 -0
  57. data/ext/v8/upstream/2.0.6/src/arm/assembler-thumb2.cc +1821 -0
  58. data/ext/v8/upstream/2.0.6/src/arm/assembler-thumb2.h +1027 -0
  59. data/ext/v8/upstream/2.0.6/src/arm/builtins-arm.cc +1271 -0
  60. data/ext/v8/upstream/2.0.6/src/arm/codegen-arm-inl.h +74 -0
  61. data/ext/v8/upstream/2.0.6/src/arm/codegen-arm.cc +6682 -0
  62. data/ext/v8/upstream/2.0.6/src/arm/codegen-arm.h +535 -0
  63. data/ext/v8/upstream/2.0.6/src/arm/constants-arm.cc +112 -0
  64. data/ext/v8/upstream/2.0.6/src/arm/constants-arm.h +347 -0
  65. data/ext/v8/upstream/2.0.6/src/arm/cpu-arm.cc +132 -0
  66. data/ext/v8/upstream/2.0.6/src/arm/debug-arm.cc +213 -0
  67. data/ext/v8/upstream/2.0.6/src/arm/disasm-arm.cc +1166 -0
  68. data/ext/v8/upstream/2.0.6/src/arm/fast-codegen-arm.cc +1698 -0
  69. data/ext/v8/upstream/2.0.6/src/arm/frames-arm.cc +123 -0
  70. data/ext/v8/upstream/2.0.6/src/arm/frames-arm.h +162 -0
  71. data/ext/v8/upstream/2.0.6/src/arm/ic-arm.cc +849 -0
  72. data/ext/v8/upstream/2.0.6/src/arm/jump-target-arm.cc +238 -0
  73. data/ext/v8/upstream/2.0.6/src/arm/macro-assembler-arm.cc +1259 -0
  74. data/ext/v8/upstream/2.0.6/src/arm/macro-assembler-arm.h +423 -0
  75. data/ext/v8/upstream/2.0.6/src/arm/regexp-macro-assembler-arm.cc +1266 -0
  76. data/ext/v8/upstream/2.0.6/src/arm/regexp-macro-assembler-arm.h +282 -0
  77. data/ext/v8/upstream/2.0.6/src/arm/register-allocator-arm-inl.h +103 -0
  78. data/ext/v8/upstream/2.0.6/src/arm/register-allocator-arm.cc +59 -0
  79. data/ext/v8/upstream/2.0.6/src/arm/register-allocator-arm.h +43 -0
  80. data/ext/v8/upstream/2.0.6/src/arm/simulator-arm.cc +2264 -0
  81. data/ext/v8/upstream/2.0.6/src/arm/simulator-arm.h +306 -0
  82. data/ext/v8/upstream/2.0.6/src/arm/stub-cache-arm.cc +1516 -0
  83. data/ext/v8/upstream/2.0.6/src/arm/virtual-frame-arm.cc +412 -0
  84. data/ext/v8/upstream/2.0.6/src/arm/virtual-frame-arm.h +532 -0
  85. data/ext/v8/upstream/2.0.6/src/array.js +1154 -0
  86. data/ext/v8/upstream/2.0.6/src/assembler.cc +772 -0
  87. data/ext/v8/upstream/2.0.6/src/assembler.h +525 -0
  88. data/ext/v8/upstream/2.0.6/src/ast.cc +512 -0
  89. data/ext/v8/upstream/2.0.6/src/ast.h +1820 -0
  90. data/ext/v8/upstream/2.0.6/src/bootstrapper.cc +1680 -0
  91. data/ext/v8/upstream/2.0.6/src/bootstrapper.h +103 -0
  92. data/ext/v8/upstream/2.0.6/src/builtins.cc +851 -0
  93. data/ext/v8/upstream/2.0.6/src/builtins.h +245 -0
  94. data/ext/v8/upstream/2.0.6/src/bytecodes-irregexp.h +104 -0
  95. data/ext/v8/upstream/2.0.6/src/char-predicates-inl.h +86 -0
  96. data/ext/v8/upstream/2.0.6/src/char-predicates.h +65 -0
  97. data/ext/v8/upstream/2.0.6/src/checks.cc +100 -0
  98. data/ext/v8/upstream/2.0.6/src/checks.h +284 -0
  99. data/ext/v8/upstream/2.0.6/src/code-stubs.cc +164 -0
  100. data/ext/v8/upstream/2.0.6/src/code-stubs.h +164 -0
  101. data/ext/v8/upstream/2.0.6/src/code.h +68 -0
  102. data/ext/v8/upstream/2.0.6/src/codegen-inl.h +88 -0
  103. data/ext/v8/upstream/2.0.6/src/codegen.cc +504 -0
  104. data/ext/v8/upstream/2.0.6/src/codegen.h +522 -0
  105. data/ext/v8/upstream/2.0.6/src/compilation-cache.cc +490 -0
  106. data/ext/v8/upstream/2.0.6/src/compilation-cache.h +98 -0
  107. data/ext/v8/upstream/2.0.6/src/compiler.cc +1132 -0
  108. data/ext/v8/upstream/2.0.6/src/compiler.h +107 -0
  109. data/ext/v8/upstream/2.0.6/src/contexts.cc +256 -0
  110. data/ext/v8/upstream/2.0.6/src/contexts.h +345 -0
  111. data/ext/v8/upstream/2.0.6/src/conversions-inl.h +95 -0
  112. data/ext/v8/upstream/2.0.6/src/conversions.cc +709 -0
  113. data/ext/v8/upstream/2.0.6/src/conversions.h +118 -0
  114. data/ext/v8/upstream/2.0.6/src/counters.cc +78 -0
  115. data/ext/v8/upstream/2.0.6/src/counters.h +239 -0
  116. data/ext/v8/upstream/2.0.6/src/cpu.h +65 -0
  117. data/ext/v8/upstream/2.0.6/src/d8-debug.cc +345 -0
  118. data/ext/v8/upstream/2.0.6/src/d8-debug.h +155 -0
  119. data/ext/v8/upstream/2.0.6/src/d8-posix.cc +675 -0
  120. data/ext/v8/upstream/2.0.6/src/d8-readline.cc +128 -0
  121. data/ext/v8/upstream/2.0.6/src/d8-windows.cc +42 -0
  122. data/ext/v8/upstream/2.0.6/src/d8.cc +776 -0
  123. data/ext/v8/upstream/2.0.6/src/d8.h +225 -0
  124. data/ext/v8/upstream/2.0.6/src/d8.js +1625 -0
  125. data/ext/v8/upstream/2.0.6/src/date-delay.js +1138 -0
  126. data/ext/v8/upstream/2.0.6/src/dateparser-inl.h +114 -0
  127. data/ext/v8/upstream/2.0.6/src/dateparser.cc +186 -0
  128. data/ext/v8/upstream/2.0.6/src/dateparser.h +240 -0
  129. data/ext/v8/upstream/2.0.6/src/debug-agent.cc +425 -0
  130. data/ext/v8/upstream/2.0.6/src/debug-agent.h +129 -0
  131. data/ext/v8/upstream/2.0.6/src/debug-delay.js +2073 -0
  132. data/ext/v8/upstream/2.0.6/src/debug.cc +2751 -0
  133. data/ext/v8/upstream/2.0.6/src/debug.h +866 -0
  134. data/ext/v8/upstream/2.0.6/src/disasm.h +77 -0
  135. data/ext/v8/upstream/2.0.6/src/disassembler.cc +318 -0
  136. data/ext/v8/upstream/2.0.6/src/disassembler.h +56 -0
  137. data/ext/v8/upstream/2.0.6/src/dtoa-config.c +91 -0
  138. data/ext/v8/upstream/2.0.6/src/execution.cc +701 -0
  139. data/ext/v8/upstream/2.0.6/src/execution.h +312 -0
  140. data/ext/v8/upstream/2.0.6/src/factory.cc +957 -0
  141. data/ext/v8/upstream/2.0.6/src/factory.h +393 -0
  142. data/ext/v8/upstream/2.0.6/src/fast-codegen.cc +725 -0
  143. data/ext/v8/upstream/2.0.6/src/fast-codegen.h +371 -0
  144. data/ext/v8/upstream/2.0.6/src/flag-definitions.h +426 -0
  145. data/ext/v8/upstream/2.0.6/src/flags.cc +555 -0
  146. data/ext/v8/upstream/2.0.6/src/flags.h +81 -0
  147. data/ext/v8/upstream/2.0.6/src/frame-element.cc +45 -0
  148. data/ext/v8/upstream/2.0.6/src/frame-element.h +235 -0
  149. data/ext/v8/upstream/2.0.6/src/frames-inl.h +215 -0
  150. data/ext/v8/upstream/2.0.6/src/frames.cc +749 -0
  151. data/ext/v8/upstream/2.0.6/src/frames.h +659 -0
  152. data/ext/v8/upstream/2.0.6/src/func-name-inferrer.cc +76 -0
  153. data/ext/v8/upstream/2.0.6/src/func-name-inferrer.h +135 -0
  154. data/ext/v8/upstream/2.0.6/src/global-handles.cc +516 -0
  155. data/ext/v8/upstream/2.0.6/src/global-handles.h +180 -0
  156. data/ext/v8/upstream/2.0.6/src/globals.h +608 -0
  157. data/ext/v8/upstream/2.0.6/src/handles-inl.h +76 -0
  158. data/ext/v8/upstream/2.0.6/src/handles.cc +811 -0
  159. data/ext/v8/upstream/2.0.6/src/handles.h +367 -0
  160. data/ext/v8/upstream/2.0.6/src/hashmap.cc +226 -0
  161. data/ext/v8/upstream/2.0.6/src/hashmap.h +120 -0
  162. data/ext/v8/upstream/2.0.6/src/heap-inl.h +407 -0
  163. data/ext/v8/upstream/2.0.6/src/heap-profiler.cc +695 -0
  164. data/ext/v8/upstream/2.0.6/src/heap-profiler.h +277 -0
  165. data/ext/v8/upstream/2.0.6/src/heap.cc +4204 -0
  166. data/ext/v8/upstream/2.0.6/src/heap.h +1704 -0
  167. data/ext/v8/upstream/2.0.6/src/ia32/assembler-ia32-inl.h +325 -0
  168. data/ext/v8/upstream/2.0.6/src/ia32/assembler-ia32.cc +2375 -0
  169. data/ext/v8/upstream/2.0.6/src/ia32/assembler-ia32.h +914 -0
  170. data/ext/v8/upstream/2.0.6/src/ia32/builtins-ia32.cc +1222 -0
  171. data/ext/v8/upstream/2.0.6/src/ia32/codegen-ia32-inl.h +46 -0
  172. data/ext/v8/upstream/2.0.6/src/ia32/codegen-ia32.cc +9770 -0
  173. data/ext/v8/upstream/2.0.6/src/ia32/codegen-ia32.h +834 -0
  174. data/ext/v8/upstream/2.0.6/src/ia32/cpu-ia32.cc +79 -0
  175. data/ext/v8/upstream/2.0.6/src/ia32/debug-ia32.cc +208 -0
  176. data/ext/v8/upstream/2.0.6/src/ia32/disasm-ia32.cc +1357 -0
  177. data/ext/v8/upstream/2.0.6/src/ia32/fast-codegen-ia32.cc +1813 -0
  178. data/ext/v8/upstream/2.0.6/src/ia32/frames-ia32.cc +111 -0
  179. data/ext/v8/upstream/2.0.6/src/ia32/frames-ia32.h +135 -0
  180. data/ext/v8/upstream/2.0.6/src/ia32/ic-ia32.cc +1490 -0
  181. data/ext/v8/upstream/2.0.6/src/ia32/jump-target-ia32.cc +432 -0
  182. data/ext/v8/upstream/2.0.6/src/ia32/macro-assembler-ia32.cc +1517 -0
  183. data/ext/v8/upstream/2.0.6/src/ia32/macro-assembler-ia32.h +528 -0
  184. data/ext/v8/upstream/2.0.6/src/ia32/regexp-macro-assembler-ia32.cc +1219 -0
  185. data/ext/v8/upstream/2.0.6/src/ia32/regexp-macro-assembler-ia32.h +230 -0
  186. data/ext/v8/upstream/2.0.6/src/ia32/register-allocator-ia32-inl.h +82 -0
  187. data/ext/v8/upstream/2.0.6/src/ia32/register-allocator-ia32.cc +99 -0
  188. data/ext/v8/upstream/2.0.6/src/ia32/register-allocator-ia32.h +43 -0
  189. data/ext/v8/upstream/2.0.6/src/ia32/simulator-ia32.cc +30 -0
  190. data/ext/v8/upstream/2.0.6/src/ia32/simulator-ia32.h +62 -0
  191. data/ext/v8/upstream/2.0.6/src/ia32/stub-cache-ia32.cc +1961 -0
  192. data/ext/v8/upstream/2.0.6/src/ia32/virtual-frame-ia32.cc +1105 -0
  193. data/ext/v8/upstream/2.0.6/src/ia32/virtual-frame-ia32.h +580 -0
  194. data/ext/v8/upstream/2.0.6/src/ic-inl.h +93 -0
  195. data/ext/v8/upstream/2.0.6/src/ic.cc +1426 -0
  196. data/ext/v8/upstream/2.0.6/src/ic.h +443 -0
  197. data/ext/v8/upstream/2.0.6/src/interpreter-irregexp.cc +646 -0
  198. data/ext/v8/upstream/2.0.6/src/interpreter-irregexp.h +48 -0
  199. data/ext/v8/upstream/2.0.6/src/json-delay.js +254 -0
  200. data/ext/v8/upstream/2.0.6/src/jsregexp.cc +5234 -0
  201. data/ext/v8/upstream/2.0.6/src/jsregexp.h +1439 -0
  202. data/ext/v8/upstream/2.0.6/src/jump-target-inl.h +49 -0
  203. data/ext/v8/upstream/2.0.6/src/jump-target.cc +383 -0
  204. data/ext/v8/upstream/2.0.6/src/jump-target.h +280 -0
  205. data/ext/v8/upstream/2.0.6/src/list-inl.h +166 -0
  206. data/ext/v8/upstream/2.0.6/src/list.h +158 -0
  207. data/ext/v8/upstream/2.0.6/src/log-inl.h +126 -0
  208. data/ext/v8/upstream/2.0.6/src/log-utils.cc +503 -0
  209. data/ext/v8/upstream/2.0.6/src/log-utils.h +292 -0
  210. data/ext/v8/upstream/2.0.6/src/log.cc +1457 -0
  211. data/ext/v8/upstream/2.0.6/src/log.h +371 -0
  212. data/ext/v8/upstream/2.0.6/src/macro-assembler.h +93 -0
  213. data/ext/v8/upstream/2.0.6/src/macros.py +137 -0
  214. data/ext/v8/upstream/2.0.6/src/mark-compact.cc +2007 -0
  215. data/ext/v8/upstream/2.0.6/src/mark-compact.h +442 -0
  216. data/ext/v8/upstream/2.0.6/src/math.js +263 -0
  217. data/ext/v8/upstream/2.0.6/src/memory.h +74 -0
  218. data/ext/v8/upstream/2.0.6/src/messages.cc +177 -0
  219. data/ext/v8/upstream/2.0.6/src/messages.h +112 -0
  220. data/ext/v8/upstream/2.0.6/src/messages.js +937 -0
  221. data/ext/v8/upstream/2.0.6/src/mirror-delay.js +2332 -0
  222. data/ext/v8/upstream/2.0.6/src/mksnapshot.cc +169 -0
  223. data/ext/v8/upstream/2.0.6/src/natives.h +63 -0
  224. data/ext/v8/upstream/2.0.6/src/objects-debug.cc +1317 -0
  225. data/ext/v8/upstream/2.0.6/src/objects-inl.h +3044 -0
  226. data/ext/v8/upstream/2.0.6/src/objects.cc +8306 -0
  227. data/ext/v8/upstream/2.0.6/src/objects.h +4960 -0
  228. data/ext/v8/upstream/2.0.6/src/oprofile-agent.cc +116 -0
  229. data/ext/v8/upstream/2.0.6/src/oprofile-agent.h +69 -0
  230. data/ext/v8/upstream/2.0.6/src/parser.cc +4810 -0
  231. data/ext/v8/upstream/2.0.6/src/parser.h +195 -0
  232. data/ext/v8/upstream/2.0.6/src/platform-freebsd.cc +645 -0
  233. data/ext/v8/upstream/2.0.6/src/platform-linux.cc +808 -0
  234. data/ext/v8/upstream/2.0.6/src/platform-macos.cc +643 -0
  235. data/ext/v8/upstream/2.0.6/src/platform-nullos.cc +454 -0
  236. data/ext/v8/upstream/2.0.6/src/platform-openbsd.cc +597 -0
  237. data/ext/v8/upstream/2.0.6/src/platform-posix.cc +380 -0
  238. data/ext/v8/upstream/2.0.6/src/platform-win32.cc +1908 -0
  239. data/ext/v8/upstream/2.0.6/src/platform.h +556 -0
  240. data/ext/v8/upstream/2.0.6/src/prettyprinter.cc +1511 -0
  241. data/ext/v8/upstream/2.0.6/src/prettyprinter.h +219 -0
  242. data/ext/v8/upstream/2.0.6/src/property.cc +96 -0
  243. data/ext/v8/upstream/2.0.6/src/property.h +327 -0
  244. data/ext/v8/upstream/2.0.6/src/regexp-delay.js +406 -0
  245. data/ext/v8/upstream/2.0.6/src/regexp-macro-assembler-irregexp-inl.h +78 -0
  246. data/ext/v8/upstream/2.0.6/src/regexp-macro-assembler-irregexp.cc +464 -0
  247. data/ext/v8/upstream/2.0.6/src/regexp-macro-assembler-irregexp.h +141 -0
  248. data/ext/v8/upstream/2.0.6/src/regexp-macro-assembler-tracer.cc +356 -0
  249. data/ext/v8/upstream/2.0.6/src/regexp-macro-assembler-tracer.h +103 -0
  250. data/ext/v8/upstream/2.0.6/src/regexp-macro-assembler.cc +240 -0
  251. data/ext/v8/upstream/2.0.6/src/regexp-macro-assembler.h +220 -0
  252. data/ext/v8/upstream/2.0.6/src/regexp-stack.cc +103 -0
  253. data/ext/v8/upstream/2.0.6/src/regexp-stack.h +123 -0
  254. data/ext/v8/upstream/2.0.6/src/register-allocator-inl.h +74 -0
  255. data/ext/v8/upstream/2.0.6/src/register-allocator.cc +100 -0
  256. data/ext/v8/upstream/2.0.6/src/register-allocator.h +295 -0
  257. data/ext/v8/upstream/2.0.6/src/rewriter.cc +855 -0
  258. data/ext/v8/upstream/2.0.6/src/rewriter.h +54 -0
  259. data/ext/v8/upstream/2.0.6/src/runtime.cc +8163 -0
  260. data/ext/v8/upstream/2.0.6/src/runtime.h +432 -0
  261. data/ext/v8/upstream/2.0.6/src/runtime.js +626 -0
  262. data/ext/v8/upstream/2.0.6/src/scanner.cc +1098 -0
  263. data/ext/v8/upstream/2.0.6/src/scanner.h +425 -0
  264. data/ext/v8/upstream/2.0.6/src/scopeinfo.cc +649 -0
  265. data/ext/v8/upstream/2.0.6/src/scopeinfo.h +236 -0
  266. data/ext/v8/upstream/2.0.6/src/scopes.cc +963 -0
  267. data/ext/v8/upstream/2.0.6/src/scopes.h +401 -0
  268. data/ext/v8/upstream/2.0.6/src/serialize.cc +1260 -0
  269. data/ext/v8/upstream/2.0.6/src/serialize.h +404 -0
  270. data/ext/v8/upstream/2.0.6/src/shell.h +55 -0
  271. data/ext/v8/upstream/2.0.6/src/simulator.h +41 -0
  272. data/ext/v8/upstream/2.0.6/src/smart-pointer.h +109 -0
  273. data/ext/v8/upstream/2.0.6/src/snapshot-common.cc +97 -0
  274. data/ext/v8/upstream/2.0.6/src/snapshot-empty.cc +40 -0
  275. data/ext/v8/upstream/2.0.6/src/snapshot.h +59 -0
  276. data/ext/v8/upstream/2.0.6/src/spaces-inl.h +372 -0
  277. data/ext/v8/upstream/2.0.6/src/spaces.cc +2864 -0
  278. data/ext/v8/upstream/2.0.6/src/spaces.h +2072 -0
  279. data/ext/v8/upstream/2.0.6/src/string-stream.cc +584 -0
  280. data/ext/v8/upstream/2.0.6/src/string-stream.h +189 -0
  281. data/ext/v8/upstream/2.0.6/src/string.js +901 -0
  282. data/ext/v8/upstream/2.0.6/src/stub-cache.cc +1108 -0
  283. data/ext/v8/upstream/2.0.6/src/stub-cache.h +578 -0
  284. data/ext/v8/upstream/2.0.6/src/third_party/dtoa/COPYING +15 -0
  285. data/ext/v8/upstream/2.0.6/src/third_party/dtoa/dtoa.c +3330 -0
  286. data/ext/v8/upstream/2.0.6/src/third_party/valgrind/valgrind.h +3925 -0
  287. data/ext/v8/upstream/2.0.6/src/token.cc +56 -0
  288. data/ext/v8/upstream/2.0.6/src/token.h +270 -0
  289. data/ext/v8/upstream/2.0.6/src/top.cc +991 -0
  290. data/ext/v8/upstream/2.0.6/src/top.h +459 -0
  291. data/ext/v8/upstream/2.0.6/src/unicode-inl.h +238 -0
  292. data/ext/v8/upstream/2.0.6/src/unicode.cc +749 -0
  293. data/ext/v8/upstream/2.0.6/src/unicode.h +279 -0
  294. data/ext/v8/upstream/2.0.6/src/uri.js +415 -0
  295. data/ext/v8/upstream/2.0.6/src/usage-analyzer.cc +426 -0
  296. data/ext/v8/upstream/2.0.6/src/usage-analyzer.h +40 -0
  297. data/ext/v8/upstream/2.0.6/src/utils.cc +322 -0
  298. data/ext/v8/upstream/2.0.6/src/utils.h +592 -0
  299. data/ext/v8/upstream/2.0.6/src/v8-counters.cc +55 -0
  300. data/ext/v8/upstream/2.0.6/src/v8-counters.h +198 -0
  301. data/ext/v8/upstream/2.0.6/src/v8.cc +193 -0
  302. data/ext/v8/upstream/2.0.6/src/v8.h +119 -0
  303. data/ext/v8/upstream/2.0.6/src/v8natives.js +846 -0
  304. data/ext/v8/upstream/2.0.6/src/v8threads.cc +450 -0
  305. data/ext/v8/upstream/2.0.6/src/v8threads.h +144 -0
  306. data/ext/v8/upstream/2.0.6/src/variables.cc +163 -0
  307. data/ext/v8/upstream/2.0.6/src/variables.h +235 -0
  308. data/ext/v8/upstream/2.0.6/src/version.cc +88 -0
  309. data/ext/v8/upstream/2.0.6/src/version.h +64 -0
  310. data/ext/v8/upstream/2.0.6/src/virtual-frame.cc +381 -0
  311. data/ext/v8/upstream/2.0.6/src/virtual-frame.h +44 -0
  312. data/ext/v8/upstream/2.0.6/src/x64/assembler-x64-inl.h +352 -0
  313. data/ext/v8/upstream/2.0.6/src/x64/assembler-x64.cc +2539 -0
  314. data/ext/v8/upstream/2.0.6/src/x64/assembler-x64.h +1399 -0
  315. data/ext/v8/upstream/2.0.6/src/x64/builtins-x64.cc +1255 -0
  316. data/ext/v8/upstream/2.0.6/src/x64/codegen-x64-inl.h +46 -0
  317. data/ext/v8/upstream/2.0.6/src/x64/codegen-x64.cc +8223 -0
  318. data/ext/v8/upstream/2.0.6/src/x64/codegen-x64.h +785 -0
  319. data/ext/v8/upstream/2.0.6/src/x64/cpu-x64.cc +79 -0
  320. data/ext/v8/upstream/2.0.6/src/x64/debug-x64.cc +202 -0
  321. data/ext/v8/upstream/2.0.6/src/x64/disasm-x64.cc +1596 -0
  322. data/ext/v8/upstream/2.0.6/src/x64/fast-codegen-x64.cc +1820 -0
  323. data/ext/v8/upstream/2.0.6/src/x64/frames-x64.cc +109 -0
  324. data/ext/v8/upstream/2.0.6/src/x64/frames-x64.h +121 -0
  325. data/ext/v8/upstream/2.0.6/src/x64/ic-x64.cc +1392 -0
  326. data/ext/v8/upstream/2.0.6/src/x64/jump-target-x64.cc +432 -0
  327. data/ext/v8/upstream/2.0.6/src/x64/macro-assembler-x64.cc +2409 -0
  328. data/ext/v8/upstream/2.0.6/src/x64/macro-assembler-x64.h +765 -0
  329. data/ext/v8/upstream/2.0.6/src/x64/regexp-macro-assembler-x64.cc +1337 -0
  330. data/ext/v8/upstream/2.0.6/src/x64/regexp-macro-assembler-x64.h +295 -0
  331. data/ext/v8/upstream/2.0.6/src/x64/register-allocator-x64-inl.h +86 -0
  332. data/ext/v8/upstream/2.0.6/src/x64/register-allocator-x64.cc +84 -0
  333. data/ext/v8/upstream/2.0.6/src/x64/register-allocator-x64.h +43 -0
  334. data/ext/v8/upstream/2.0.6/src/x64/simulator-x64.cc +27 -0
  335. data/ext/v8/upstream/2.0.6/src/x64/simulator-x64.h +63 -0
  336. data/ext/v8/upstream/2.0.6/src/x64/stub-cache-x64.cc +1884 -0
  337. data/ext/v8/upstream/2.0.6/src/x64/virtual-frame-x64.cc +1089 -0
  338. data/ext/v8/upstream/2.0.6/src/x64/virtual-frame-x64.h +560 -0
  339. data/ext/v8/upstream/2.0.6/src/zone-inl.h +297 -0
  340. data/ext/v8/upstream/2.0.6/src/zone.cc +193 -0
  341. data/ext/v8/upstream/2.0.6/src/zone.h +305 -0
  342. data/ext/v8/upstream/2.0.6/test/cctest/SConscript +95 -0
  343. data/ext/v8/upstream/2.0.6/test/cctest/cctest.cc +126 -0
  344. data/ext/v8/upstream/2.0.6/test/cctest/cctest.h +211 -0
  345. data/ext/v8/upstream/2.0.6/test/cctest/cctest.status +54 -0
  346. data/ext/v8/upstream/2.0.6/test/cctest/test-accessors.cc +450 -0
  347. data/ext/v8/upstream/2.0.6/test/cctest/test-alloc.cc +215 -0
  348. data/ext/v8/upstream/2.0.6/test/cctest/test-api.cc +8699 -0
  349. data/ext/v8/upstream/2.0.6/test/cctest/test-assembler-arm.cc +227 -0
  350. data/ext/v8/upstream/2.0.6/test/cctest/test-assembler-ia32.cc +395 -0
  351. data/ext/v8/upstream/2.0.6/test/cctest/test-assembler-x64.cc +292 -0
  352. data/ext/v8/upstream/2.0.6/test/cctest/test-ast.cc +97 -0
  353. data/ext/v8/upstream/2.0.6/test/cctest/test-compiler.cc +318 -0
  354. data/ext/v8/upstream/2.0.6/test/cctest/test-conversions.cc +130 -0
  355. data/ext/v8/upstream/2.0.6/test/cctest/test-debug.cc +5788 -0
  356. data/ext/v8/upstream/2.0.6/test/cctest/test-decls.cc +593 -0
  357. data/ext/v8/upstream/2.0.6/test/cctest/test-disasm-arm.cc +281 -0
  358. data/ext/v8/upstream/2.0.6/test/cctest/test-disasm-ia32.cc +418 -0
  359. data/ext/v8/upstream/2.0.6/test/cctest/test-flags.cc +234 -0
  360. data/ext/v8/upstream/2.0.6/test/cctest/test-func-name-inference.cc +267 -0
  361. data/ext/v8/upstream/2.0.6/test/cctest/test-hashmap.cc +176 -0
  362. data/ext/v8/upstream/2.0.6/test/cctest/test-heap-profiler.cc +396 -0
  363. data/ext/v8/upstream/2.0.6/test/cctest/test-heap.cc +796 -0
  364. data/ext/v8/upstream/2.0.6/test/cctest/test-list.cc +101 -0
  365. data/ext/v8/upstream/2.0.6/test/cctest/test-lock.cc +63 -0
  366. data/ext/v8/upstream/2.0.6/test/cctest/test-log-stack-tracer.cc +372 -0
  367. data/ext/v8/upstream/2.0.6/test/cctest/test-log-utils.cc +310 -0
  368. data/ext/v8/upstream/2.0.6/test/cctest/test-log.cc +1081 -0
  369. data/ext/v8/upstream/2.0.6/test/cctest/test-macro-assembler-x64.cc +2104 -0
  370. data/ext/v8/upstream/2.0.6/test/cctest/test-mark-compact.cc +341 -0
  371. data/ext/v8/upstream/2.0.6/test/cctest/test-parsing.cc +129 -0
  372. data/ext/v8/upstream/2.0.6/test/cctest/test-platform-linux.cc +80 -0
  373. data/ext/v8/upstream/2.0.6/test/cctest/test-platform-macos.cc +10 -0
  374. data/ext/v8/upstream/2.0.6/test/cctest/test-platform-nullos.cc +80 -0
  375. data/ext/v8/upstream/2.0.6/test/cctest/test-platform-win32.cc +26 -0
  376. data/ext/v8/upstream/2.0.6/test/cctest/test-regexp.cc +1815 -0
  377. data/ext/v8/upstream/2.0.6/test/cctest/test-serialize.cc +438 -0
  378. data/ext/v8/upstream/2.0.6/test/cctest/test-sockets.cc +162 -0
  379. data/ext/v8/upstream/2.0.6/test/cctest/test-spaces.cc +248 -0
  380. data/ext/v8/upstream/2.0.6/test/cctest/test-strings.cc +432 -0
  381. data/ext/v8/upstream/2.0.6/test/cctest/test-thread-termination.cc +290 -0
  382. data/ext/v8/upstream/2.0.6/test/cctest/test-threads.cc +52 -0
  383. data/ext/v8/upstream/2.0.6/test/cctest/test-utils.cc +186 -0
  384. data/ext/v8/upstream/2.0.6/test/cctest/test-version.cc +89 -0
  385. data/ext/v8/upstream/2.0.6/test/cctest/testcfg.py +108 -0
  386. data/ext/v8/upstream/2.0.6/test/es5conform/README +14 -0
  387. data/ext/v8/upstream/2.0.6/test/es5conform/es5conform.status +226 -0
  388. data/ext/v8/upstream/2.0.6/test/es5conform/harness-adapt.js +74 -0
  389. data/ext/v8/upstream/2.0.6/test/es5conform/testcfg.py +108 -0
  390. data/ext/v8/upstream/2.0.6/test/message/message.status +31 -0
  391. data/ext/v8/upstream/2.0.6/test/message/overwritten-builtins.js +31 -0
  392. data/ext/v8/upstream/2.0.6/test/message/overwritten-builtins.out +30 -0
  393. data/ext/v8/upstream/2.0.6/test/message/regress/regress-73.js +33 -0
  394. data/ext/v8/upstream/2.0.6/test/message/regress/regress-73.out +30 -0
  395. data/ext/v8/upstream/2.0.6/test/message/regress/regress-75.js +32 -0
  396. data/ext/v8/upstream/2.0.6/test/message/regress/regress-75.out +30 -0
  397. data/ext/v8/upstream/2.0.6/test/message/simple-throw.js +28 -0
  398. data/ext/v8/upstream/2.0.6/test/message/simple-throw.out +30 -0
  399. data/ext/v8/upstream/2.0.6/test/message/testcfg.py +135 -0
  400. data/ext/v8/upstream/2.0.6/test/message/try-catch-finally-no-message.js +51 -0
  401. data/ext/v8/upstream/2.0.6/test/message/try-catch-finally-no-message.out +26 -0
  402. data/ext/v8/upstream/2.0.6/test/message/try-catch-finally-return-in-finally.js +39 -0
  403. data/ext/v8/upstream/2.0.6/test/message/try-catch-finally-return-in-finally.out +28 -0
  404. data/ext/v8/upstream/2.0.6/test/message/try-catch-finally-throw-in-catch-and-finally.js +34 -0
  405. data/ext/v8/upstream/2.0.6/test/message/try-catch-finally-throw-in-catch-and-finally.out +30 -0
  406. data/ext/v8/upstream/2.0.6/test/message/try-catch-finally-throw-in-catch.js +34 -0
  407. data/ext/v8/upstream/2.0.6/test/message/try-catch-finally-throw-in-catch.out +30 -0
  408. data/ext/v8/upstream/2.0.6/test/message/try-catch-finally-throw-in-finally.js +34 -0
  409. data/ext/v8/upstream/2.0.6/test/message/try-catch-finally-throw-in-finally.out +30 -0
  410. data/ext/v8/upstream/2.0.6/test/message/try-finally-return-in-finally.js +37 -0
  411. data/ext/v8/upstream/2.0.6/test/message/try-finally-return-in-finally.out +28 -0
  412. data/ext/v8/upstream/2.0.6/test/message/try-finally-throw-in-finally.js +32 -0
  413. data/ext/v8/upstream/2.0.6/test/message/try-finally-throw-in-finally.out +30 -0
  414. data/ext/v8/upstream/2.0.6/test/message/try-finally-throw-in-try-and-finally.js +32 -0
  415. data/ext/v8/upstream/2.0.6/test/message/try-finally-throw-in-try-and-finally.out +30 -0
  416. data/ext/v8/upstream/2.0.6/test/message/try-finally-throw-in-try.js +32 -0
  417. data/ext/v8/upstream/2.0.6/test/message/try-finally-throw-in-try.out +30 -0
  418. data/ext/v8/upstream/2.0.6/test/mjsunit/api-call-after-bypassed-exception.js +39 -0
  419. data/ext/v8/upstream/2.0.6/test/mjsunit/apply.js +196 -0
  420. data/ext/v8/upstream/2.0.6/test/mjsunit/arguments-apply.js +134 -0
  421. data/ext/v8/upstream/2.0.6/test/mjsunit/arguments-call-apply.js +41 -0
  422. data/ext/v8/upstream/2.0.6/test/mjsunit/arguments-enum.js +52 -0
  423. data/ext/v8/upstream/2.0.6/test/mjsunit/arguments-indirect.js +47 -0
  424. data/ext/v8/upstream/2.0.6/test/mjsunit/arguments-lazy.js +47 -0
  425. data/ext/v8/upstream/2.0.6/test/mjsunit/arguments-opt.js +130 -0
  426. data/ext/v8/upstream/2.0.6/test/mjsunit/arguments-read-and-assignment.js +164 -0
  427. data/ext/v8/upstream/2.0.6/test/mjsunit/arguments.js +97 -0
  428. data/ext/v8/upstream/2.0.6/test/mjsunit/array-concat.js +120 -0
  429. data/ext/v8/upstream/2.0.6/test/mjsunit/array-constructor.js +119 -0
  430. data/ext/v8/upstream/2.0.6/test/mjsunit/array-functions-prototype.js +159 -0
  431. data/ext/v8/upstream/2.0.6/test/mjsunit/array-indexing.js +66 -0
  432. data/ext/v8/upstream/2.0.6/test/mjsunit/array-iteration.js +228 -0
  433. data/ext/v8/upstream/2.0.6/test/mjsunit/array-join.js +45 -0
  434. data/ext/v8/upstream/2.0.6/test/mjsunit/array-length-number-conversion.js +53 -0
  435. data/ext/v8/upstream/2.0.6/test/mjsunit/array-length.js +111 -0
  436. data/ext/v8/upstream/2.0.6/test/mjsunit/array-reduce.js +514 -0
  437. data/ext/v8/upstream/2.0.6/test/mjsunit/array-sort.js +362 -0
  438. data/ext/v8/upstream/2.0.6/test/mjsunit/array-splice.js +314 -0
  439. data/ext/v8/upstream/2.0.6/test/mjsunit/ascii-regexp-subject.js +49 -0
  440. data/ext/v8/upstream/2.0.6/test/mjsunit/big-array-literal.js +111 -0
  441. data/ext/v8/upstream/2.0.6/test/mjsunit/big-object-literal.js +114 -0
  442. data/ext/v8/upstream/2.0.6/test/mjsunit/binary-operation-overwrite.js +36 -0
  443. data/ext/v8/upstream/2.0.6/test/mjsunit/bit-not.js +75 -0
  444. data/ext/v8/upstream/2.0.6/test/mjsunit/bitwise-operations-undefined.js +49 -0
  445. data/ext/v8/upstream/2.0.6/test/mjsunit/body-not-visible.js +39 -0
  446. data/ext/v8/upstream/2.0.6/test/mjsunit/bugs/bug-1344252.js +79 -0
  447. data/ext/v8/upstream/2.0.6/test/mjsunit/bugs/bug-222.js +42 -0
  448. data/ext/v8/upstream/2.0.6/test/mjsunit/bugs/bug-223.js +39 -0
  449. data/ext/v8/upstream/2.0.6/test/mjsunit/bugs/bug-900066.js +38 -0
  450. data/ext/v8/upstream/2.0.6/test/mjsunit/bugs/bug-941049.js +100 -0
  451. data/ext/v8/upstream/2.0.6/test/mjsunit/call-non-function-call.js +38 -0
  452. data/ext/v8/upstream/2.0.6/test/mjsunit/call-non-function.js +63 -0
  453. data/ext/v8/upstream/2.0.6/test/mjsunit/call.js +87 -0
  454. data/ext/v8/upstream/2.0.6/test/mjsunit/char-escape.js +53 -0
  455. data/ext/v8/upstream/2.0.6/test/mjsunit/class-of-builtins.js +50 -0
  456. data/ext/v8/upstream/2.0.6/test/mjsunit/closure.js +37 -0
  457. data/ext/v8/upstream/2.0.6/test/mjsunit/codegen-coverage.js +91 -0
  458. data/ext/v8/upstream/2.0.6/test/mjsunit/compare-character.js +50 -0
  459. data/ext/v8/upstream/2.0.6/test/mjsunit/compare-nan.js +66 -0
  460. data/ext/v8/upstream/2.0.6/test/mjsunit/compiler/countoperation.js +111 -0
  461. data/ext/v8/upstream/2.0.6/test/mjsunit/compiler/function-call.js +52 -0
  462. data/ext/v8/upstream/2.0.6/test/mjsunit/compiler/globals.js +65 -0
  463. data/ext/v8/upstream/2.0.6/test/mjsunit/compiler/jsnatives.js +33 -0
  464. data/ext/v8/upstream/2.0.6/test/mjsunit/compiler/literals-assignment.js +104 -0
  465. data/ext/v8/upstream/2.0.6/test/mjsunit/compiler/literals.js +52 -0
  466. data/ext/v8/upstream/2.0.6/test/mjsunit/compiler/loops.js +35 -0
  467. data/ext/v8/upstream/2.0.6/test/mjsunit/compiler/objectliterals.js +57 -0
  468. data/ext/v8/upstream/2.0.6/test/mjsunit/compiler/property-simple.js +39 -0
  469. data/ext/v8/upstream/2.0.6/test/mjsunit/compiler/short-circuit.js +102 -0
  470. data/ext/v8/upstream/2.0.6/test/mjsunit/compiler/thisfunction.js +35 -0
  471. data/ext/v8/upstream/2.0.6/test/mjsunit/const-declaration.js +172 -0
  472. data/ext/v8/upstream/2.0.6/test/mjsunit/const-eval-init.js +111 -0
  473. data/ext/v8/upstream/2.0.6/test/mjsunit/const-redecl.js +220 -0
  474. data/ext/v8/upstream/2.0.6/test/mjsunit/const.js +70 -0
  475. data/ext/v8/upstream/2.0.6/test/mjsunit/constant-folding.js +232 -0
  476. data/ext/v8/upstream/2.0.6/test/mjsunit/context-variable-assignments.js +37 -0
  477. data/ext/v8/upstream/2.0.6/test/mjsunit/cyclic-array-to-string.js +65 -0
  478. data/ext/v8/upstream/2.0.6/test/mjsunit/cyrillic.js +199 -0
  479. data/ext/v8/upstream/2.0.6/test/mjsunit/d8-os.js +180 -0
  480. data/ext/v8/upstream/2.0.6/test/mjsunit/date-parse.js +268 -0
  481. data/ext/v8/upstream/2.0.6/test/mjsunit/date.js +149 -0
  482. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-backtrace-text.js +122 -0
  483. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-backtrace.js +272 -0
  484. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-breakpoints.js +120 -0
  485. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-changebreakpoint.js +108 -0
  486. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-clearbreakpoint.js +101 -0
  487. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-clearbreakpointgroup.js +117 -0
  488. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-compile-event.js +126 -0
  489. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-conditional-breakpoints.js +171 -0
  490. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-constructed-by.js +60 -0
  491. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-constructor.js +78 -0
  492. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-continue.js +114 -0
  493. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-enable-disable-breakpoints.js +90 -0
  494. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-evaluate-arguments.js +93 -0
  495. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-evaluate-bool-constructor.js +80 -0
  496. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-evaluate-locals.js +132 -0
  497. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-evaluate-recursive.js +167 -0
  498. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-evaluate-with.js +77 -0
  499. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-evaluate.js +118 -0
  500. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-event-listener.js +73 -0
  501. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-handle.js +252 -0
  502. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-ignore-breakpoints.js +89 -0
  503. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-mirror-cache.js +85 -0
  504. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-multiple-breakpoints.js +105 -0
  505. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-referenced-by.js +112 -0
  506. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-references.js +118 -0
  507. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-scopes.js +761 -0
  508. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-script-breakpoints.js +112 -0
  509. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-script.js +92 -0
  510. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-scripts-request.js +108 -0
  511. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-setbreakpoint.js +165 -0
  512. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-sourceinfo.js +352 -0
  513. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-sourceslice.js +74 -0
  514. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-step-stub-callfunction.js +87 -0
  515. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-step.js +82 -0
  516. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-stepin-accessor.js +248 -0
  517. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-stepin-builtin.js +78 -0
  518. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-stepin-call-function-stub.js +115 -0
  519. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-stepin-constructor.js +78 -0
  520. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-stepin-function-call.js +149 -0
  521. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-stepnext-do-while.js +79 -0
  522. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-stepout-recursive-function.js +106 -0
  523. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-stepout-to-builtin.js +84 -0
  524. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-suspend.js +96 -0
  525. data/ext/v8/upstream/2.0.6/test/mjsunit/debug-version.js +90 -0
  526. data/ext/v8/upstream/2.0.6/test/mjsunit/declare-locally.js +43 -0
  527. data/ext/v8/upstream/2.0.6/test/mjsunit/deep-recursion.js +66 -0
  528. data/ext/v8/upstream/2.0.6/test/mjsunit/delay-syntax-error.js +41 -0
  529. data/ext/v8/upstream/2.0.6/test/mjsunit/delete-global-properties.js +37 -0
  530. data/ext/v8/upstream/2.0.6/test/mjsunit/delete-in-eval.js +32 -0
  531. data/ext/v8/upstream/2.0.6/test/mjsunit/delete-in-with.js +34 -0
  532. data/ext/v8/upstream/2.0.6/test/mjsunit/delete-vars-from-eval.js +40 -0
  533. data/ext/v8/upstream/2.0.6/test/mjsunit/delete.js +163 -0
  534. data/ext/v8/upstream/2.0.6/test/mjsunit/div-mod.js +157 -0
  535. data/ext/v8/upstream/2.0.6/test/mjsunit/do-not-strip-fc.js +31 -0
  536. data/ext/v8/upstream/2.0.6/test/mjsunit/dont-enum-array-holes.js +35 -0
  537. data/ext/v8/upstream/2.0.6/test/mjsunit/dont-reinit-global-var.js +47 -0
  538. data/ext/v8/upstream/2.0.6/test/mjsunit/double-equals.js +114 -0
  539. data/ext/v8/upstream/2.0.6/test/mjsunit/dtoa.js +32 -0
  540. data/ext/v8/upstream/2.0.6/test/mjsunit/enumeration-order.js +109 -0
  541. data/ext/v8/upstream/2.0.6/test/mjsunit/error-constructors.js +32 -0
  542. data/ext/v8/upstream/2.0.6/test/mjsunit/escape.js +118 -0
  543. data/ext/v8/upstream/2.0.6/test/mjsunit/eval-enclosing-function-name.js +76 -0
  544. data/ext/v8/upstream/2.0.6/test/mjsunit/eval-typeof-non-existing.js +35 -0
  545. data/ext/v8/upstream/2.0.6/test/mjsunit/eval.js +157 -0
  546. data/ext/v8/upstream/2.0.6/test/mjsunit/execScript-case-insensitive.js +34 -0
  547. data/ext/v8/upstream/2.0.6/test/mjsunit/extra-arguments.js +54 -0
  548. data/ext/v8/upstream/2.0.6/test/mjsunit/extra-commas.js +46 -0
  549. data/ext/v8/upstream/2.0.6/test/mjsunit/for-in-null-or-undefined.js +33 -0
  550. data/ext/v8/upstream/2.0.6/test/mjsunit/for-in-special-cases.js +64 -0
  551. data/ext/v8/upstream/2.0.6/test/mjsunit/for-in.js +86 -0
  552. data/ext/v8/upstream/2.0.6/test/mjsunit/fun-as-prototype.js +36 -0
  553. data/ext/v8/upstream/2.0.6/test/mjsunit/fun-name.js +34 -0
  554. data/ext/v8/upstream/2.0.6/test/mjsunit/function-arguments-null.js +30 -0
  555. data/ext/v8/upstream/2.0.6/test/mjsunit/function-caller.js +48 -0
  556. data/ext/v8/upstream/2.0.6/test/mjsunit/function-names.js +133 -0
  557. data/ext/v8/upstream/2.0.6/test/mjsunit/function-property.js +29 -0
  558. data/ext/v8/upstream/2.0.6/test/mjsunit/function-prototype.js +98 -0
  559. data/ext/v8/upstream/2.0.6/test/mjsunit/function-source.js +49 -0
  560. data/ext/v8/upstream/2.0.6/test/mjsunit/function.js +83 -0
  561. data/ext/v8/upstream/2.0.6/test/mjsunit/fuzz-accessors.js +85 -0
  562. data/ext/v8/upstream/2.0.6/test/mjsunit/fuzz-natives.js +159 -0
  563. data/ext/v8/upstream/2.0.6/test/mjsunit/get-own-property-descriptor.js +51 -0
  564. data/ext/v8/upstream/2.0.6/test/mjsunit/get-prototype-of.js +68 -0
  565. data/ext/v8/upstream/2.0.6/test/mjsunit/getter-in-prototype.js +50 -0
  566. data/ext/v8/upstream/2.0.6/test/mjsunit/getter-in-value-prototype.js +35 -0
  567. data/ext/v8/upstream/2.0.6/test/mjsunit/global-const-var-conflicts.js +57 -0
  568. data/ext/v8/upstream/2.0.6/test/mjsunit/global-deleted-property-ic.js +45 -0
  569. data/ext/v8/upstream/2.0.6/test/mjsunit/global-deleted-property-keyed.js +38 -0
  570. data/ext/v8/upstream/2.0.6/test/mjsunit/global-ic.js +48 -0
  571. data/ext/v8/upstream/2.0.6/test/mjsunit/global-load-from-eval-in-with.js +59 -0
  572. data/ext/v8/upstream/2.0.6/test/mjsunit/global-load-from-eval.js +85 -0
  573. data/ext/v8/upstream/2.0.6/test/mjsunit/global-load-from-nested-eval.js +66 -0
  574. data/ext/v8/upstream/2.0.6/test/mjsunit/global-vars-eval.js +34 -0
  575. data/ext/v8/upstream/2.0.6/test/mjsunit/global-vars-with.js +43 -0
  576. data/ext/v8/upstream/2.0.6/test/mjsunit/greedy.js +60 -0
  577. data/ext/v8/upstream/2.0.6/test/mjsunit/has-own-property.js +38 -0
  578. data/ext/v8/upstream/2.0.6/test/mjsunit/html-comments.js +57 -0
  579. data/ext/v8/upstream/2.0.6/test/mjsunit/html-string-funcs.js +47 -0
  580. data/ext/v8/upstream/2.0.6/test/mjsunit/if-in-undefined.js +36 -0
  581. data/ext/v8/upstream/2.0.6/test/mjsunit/in.js +159 -0
  582. data/ext/v8/upstream/2.0.6/test/mjsunit/indexed-accessors.js +120 -0
  583. data/ext/v8/upstream/2.0.6/test/mjsunit/instanceof.js +93 -0
  584. data/ext/v8/upstream/2.0.6/test/mjsunit/integer-to-string.js +35 -0
  585. data/ext/v8/upstream/2.0.6/test/mjsunit/invalid-lhs.js +65 -0
  586. data/ext/v8/upstream/2.0.6/test/mjsunit/invalid-source-element.js +31 -0
  587. data/ext/v8/upstream/2.0.6/test/mjsunit/json.js +207 -0
  588. data/ext/v8/upstream/2.0.6/test/mjsunit/keyed-ic.js +236 -0
  589. data/ext/v8/upstream/2.0.6/test/mjsunit/keyed-storage-extend.js +55 -0
  590. data/ext/v8/upstream/2.0.6/test/mjsunit/large-object-allocation.js +300 -0
  591. data/ext/v8/upstream/2.0.6/test/mjsunit/large-object-literal.js +56 -0
  592. data/ext/v8/upstream/2.0.6/test/mjsunit/lazy-load.js +34 -0
  593. data/ext/v8/upstream/2.0.6/test/mjsunit/leakcheck.js +53 -0
  594. data/ext/v8/upstream/2.0.6/test/mjsunit/length.js +78 -0
  595. data/ext/v8/upstream/2.0.6/test/mjsunit/local-load-from-eval.js +39 -0
  596. data/ext/v8/upstream/2.0.6/test/mjsunit/math-min-max.js +105 -0
  597. data/ext/v8/upstream/2.0.6/test/mjsunit/megamorphic-callbacks.js +70 -0
  598. data/ext/v8/upstream/2.0.6/test/mjsunit/mirror-array.js +138 -0
  599. data/ext/v8/upstream/2.0.6/test/mjsunit/mirror-boolean.js +59 -0
  600. data/ext/v8/upstream/2.0.6/test/mjsunit/mirror-date.js +77 -0
  601. data/ext/v8/upstream/2.0.6/test/mjsunit/mirror-error.js +94 -0
  602. data/ext/v8/upstream/2.0.6/test/mjsunit/mirror-function.js +90 -0
  603. data/ext/v8/upstream/2.0.6/test/mjsunit/mirror-null.js +50 -0
  604. data/ext/v8/upstream/2.0.6/test/mjsunit/mirror-number.js +77 -0
  605. data/ext/v8/upstream/2.0.6/test/mjsunit/mirror-object.js +227 -0
  606. data/ext/v8/upstream/2.0.6/test/mjsunit/mirror-regexp.js +110 -0
  607. data/ext/v8/upstream/2.0.6/test/mjsunit/mirror-script.js +100 -0
  608. data/ext/v8/upstream/2.0.6/test/mjsunit/mirror-string.js +89 -0
  609. data/ext/v8/upstream/2.0.6/test/mjsunit/mirror-undefined.js +50 -0
  610. data/ext/v8/upstream/2.0.6/test/mjsunit/mirror-unresolved-function.js +81 -0
  611. data/ext/v8/upstream/2.0.6/test/mjsunit/mjsunit.js +203 -0
  612. data/ext/v8/upstream/2.0.6/test/mjsunit/mjsunit.status +66 -0
  613. data/ext/v8/upstream/2.0.6/test/mjsunit/mul-exhaustive.js +4511 -0
  614. data/ext/v8/upstream/2.0.6/test/mjsunit/multiple-return.js +62 -0
  615. data/ext/v8/upstream/2.0.6/test/mjsunit/negate-zero.js +42 -0
  616. data/ext/v8/upstream/2.0.6/test/mjsunit/negate.js +59 -0
  617. data/ext/v8/upstream/2.0.6/test/mjsunit/new.js +56 -0
  618. data/ext/v8/upstream/2.0.6/test/mjsunit/newline-in-string.js +46 -0
  619. data/ext/v8/upstream/2.0.6/test/mjsunit/no-branch-elimination.js +36 -0
  620. data/ext/v8/upstream/2.0.6/test/mjsunit/no-octal-constants-above-256.js +32 -0
  621. data/ext/v8/upstream/2.0.6/test/mjsunit/no-semicolon.js +45 -0
  622. data/ext/v8/upstream/2.0.6/test/mjsunit/non-ascii-replace.js +30 -0
  623. data/ext/v8/upstream/2.0.6/test/mjsunit/nul-characters.js +38 -0
  624. data/ext/v8/upstream/2.0.6/test/mjsunit/number-limits.js +47 -0
  625. data/ext/v8/upstream/2.0.6/test/mjsunit/number-string-index-call.js +32 -0
  626. data/ext/v8/upstream/2.0.6/test/mjsunit/number-tostring-small.js +395 -0
  627. data/ext/v8/upstream/2.0.6/test/mjsunit/number-tostring.js +338 -0
  628. data/ext/v8/upstream/2.0.6/test/mjsunit/obj-construct.js +46 -0
  629. data/ext/v8/upstream/2.0.6/test/mjsunit/object-create.js +250 -0
  630. data/ext/v8/upstream/2.0.6/test/mjsunit/object-literal-gc.js +66 -0
  631. data/ext/v8/upstream/2.0.6/test/mjsunit/object-literal.js +105 -0
  632. data/ext/v8/upstream/2.0.6/test/mjsunit/override-read-only-property.js +64 -0
  633. data/ext/v8/upstream/2.0.6/test/mjsunit/parse-int-float.js +85 -0
  634. data/ext/v8/upstream/2.0.6/test/mjsunit/property-load-across-eval.js +85 -0
  635. data/ext/v8/upstream/2.0.6/test/mjsunit/property-object-key.js +36 -0
  636. data/ext/v8/upstream/2.0.6/test/mjsunit/proto.js +33 -0
  637. data/ext/v8/upstream/2.0.6/test/mjsunit/prototype.js +93 -0
  638. data/ext/v8/upstream/2.0.6/test/mjsunit/receiver-in-with-calls.js +47 -0
  639. data/ext/v8/upstream/2.0.6/test/mjsunit/regexp-UC16.js +47 -0
  640. data/ext/v8/upstream/2.0.6/test/mjsunit/regexp-call-as-function.js +36 -0
  641. data/ext/v8/upstream/2.0.6/test/mjsunit/regexp-capture.js +57 -0
  642. data/ext/v8/upstream/2.0.6/test/mjsunit/regexp-captures.js +31 -0
  643. data/ext/v8/upstream/2.0.6/test/mjsunit/regexp-indexof.js +77 -0
  644. data/ext/v8/upstream/2.0.6/test/mjsunit/regexp-lookahead.js +166 -0
  645. data/ext/v8/upstream/2.0.6/test/mjsunit/regexp-loop-capture.js +29 -0
  646. data/ext/v8/upstream/2.0.6/test/mjsunit/regexp-multiline-stack-trace.js +116 -0
  647. data/ext/v8/upstream/2.0.6/test/mjsunit/regexp-multiline.js +112 -0
  648. data/ext/v8/upstream/2.0.6/test/mjsunit/regexp-standalones.js +78 -0
  649. data/ext/v8/upstream/2.0.6/test/mjsunit/regexp-static.js +167 -0
  650. data/ext/v8/upstream/2.0.6/test/mjsunit/regexp-string-methods.js +51 -0
  651. data/ext/v8/upstream/2.0.6/test/mjsunit/regexp.js +390 -0
  652. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1030466.js +45 -0
  653. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1036894.js +38 -0
  654. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1039610.js +29 -0
  655. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1050043.js +51 -0
  656. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1062422.js +30 -0
  657. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1066899.js +37 -0
  658. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1081309.js +110 -0
  659. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1102760.js +35 -0
  660. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1110164.js +46 -0
  661. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1112051.js +33 -0
  662. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1114040.js +58 -0
  663. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1134697.js +31 -0
  664. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-114.js +43 -0
  665. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-116.js +40 -0
  666. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1170187.js +80 -0
  667. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1173979.js +48 -0
  668. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1175390.js +30 -0
  669. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1177518.js +39 -0
  670. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1177809.js +31 -0
  671. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1178598.js +90 -0
  672. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1182832.js +38 -0
  673. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1187524.js +34 -0
  674. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1199401.js +75 -0
  675. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1199637.js +78 -0
  676. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1200351.js +2032 -0
  677. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1201933.js +40 -0
  678. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1203459.js +29 -0
  679. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1207276.js +36 -0
  680. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1213516.js +40 -0
  681. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1213575.js +41 -0
  682. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1215653.js +365 -0
  683. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-124.js +57 -0
  684. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1254366.js +38 -0
  685. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1327557.js +36 -0
  686. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1341167.js +33 -0
  687. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1346700.js +29 -0
  688. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-137.js +46 -0
  689. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1439135.js +40 -0
  690. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-149.js +28 -0
  691. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1493017.js +52 -0
  692. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-155924.js +46 -0
  693. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-171.js +41 -0
  694. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-176.js +50 -0
  695. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-186.js +72 -0
  696. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-187.js +30 -0
  697. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-189.js +36 -0
  698. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-191.js +42 -0
  699. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-1919169.js +40 -0
  700. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-192.js +38 -0
  701. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-193.js +44 -0
  702. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-20070207.js +42 -0
  703. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-201.js +37 -0
  704. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-219.js +176 -0
  705. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-220.js +31 -0
  706. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-221.js +34 -0
  707. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-2249423.js +40 -0
  708. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-225.js +32 -0
  709. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-227.js +33 -0
  710. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-231.js +92 -0
  711. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-233.js +39 -0
  712. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-244.js +67 -0
  713. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-246.js +31 -0
  714. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-253.js +31 -0
  715. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-254.js +58 -0
  716. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-259.js +33 -0
  717. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-260.js +33 -0
  718. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-263.js +38 -0
  719. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-265.js +64 -0
  720. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-267.js +35 -0
  721. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-269.js +49 -0
  722. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-279.js +62 -0
  723. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-284.js +50 -0
  724. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-286.js +36 -0
  725. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-294.js +43 -0
  726. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-312.js +31 -0
  727. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-317.js +31 -0
  728. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-318.js +35 -0
  729. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-326.js +40 -0
  730. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-334.js +90 -0
  731. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-341.js +36 -0
  732. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-345.js +51 -0
  733. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-349.js +32 -0
  734. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-35.js +33 -0
  735. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-351.js +31 -0
  736. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-386.js +47 -0
  737. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-392.js +34 -0
  738. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-394.js +47 -0
  739. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-396.js +39 -0
  740. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-397.js +34 -0
  741. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-399.js +32 -0
  742. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-406.js +69 -0
  743. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-416.js +38 -0
  744. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-475.js +28 -0
  745. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-483.js +35 -0
  746. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-485.js +64 -0
  747. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-486.js +30 -0
  748. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-490.js +48 -0
  749. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-491.js +47 -0
  750. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-492.js +52 -0
  751. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-496.js +39 -0
  752. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-502.js +38 -0
  753. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-503.js +63 -0
  754. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-515.js +40 -0
  755. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-524.js +32 -0
  756. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-526.js +32 -0
  757. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-540.js +47 -0
  758. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-545.js +47 -0
  759. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-57.js +32 -0
  760. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-580.js +55 -0
  761. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-588599.js +31 -0
  762. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-6-9-regexp.js +30 -0
  763. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-662254.js +40 -0
  764. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-666721.js +53 -0
  765. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-667061.js +90 -0
  766. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-670147.js +34 -0
  767. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-674753.js +87 -0
  768. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-676025.js +31 -0
  769. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-678525.js +59 -0
  770. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-682649.js +30 -0
  771. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-69.js +43 -0
  772. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-734862.js +37 -0
  773. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-737588.js +34 -0
  774. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-74.js +41 -0
  775. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-780423.js +39 -0
  776. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-799761.js +92 -0
  777. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-806473.js +60 -0
  778. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-842017.js +60 -0
  779. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-86.js +46 -0
  780. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-87.js +58 -0
  781. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-874178.js +32 -0
  782. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-875031.js +37 -0
  783. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-877615.js +37 -0
  784. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-892742.js +50 -0
  785. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-900055.js +42 -0
  786. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-900966.js +38 -0
  787. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-91.js +38 -0
  788. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-925537.js +42 -0
  789. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-937896.js +50 -0
  790. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-990205.js +35 -0
  791. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-992733.js +35 -0
  792. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-996542.js +40 -0
  793. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-998565.js +51 -0
  794. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-crbug-18639.js +34 -0
  795. data/ext/v8/upstream/2.0.6/test/mjsunit/regress/regress-r3391.js +77 -0
  796. data/ext/v8/upstream/2.0.6/test/mjsunit/scanner.js +30 -0
  797. data/ext/v8/upstream/2.0.6/test/mjsunit/short-circuit-boolean.js +46 -0
  798. data/ext/v8/upstream/2.0.6/test/mjsunit/simple-constructor.js +140 -0
  799. data/ext/v8/upstream/2.0.6/test/mjsunit/sin-cos.js +45 -0
  800. data/ext/v8/upstream/2.0.6/test/mjsunit/smi-negative-zero.js +100 -0
  801. data/ext/v8/upstream/2.0.6/test/mjsunit/smi-ops.js +671 -0
  802. data/ext/v8/upstream/2.0.6/test/mjsunit/sparse-array-reverse.js +131 -0
  803. data/ext/v8/upstream/2.0.6/test/mjsunit/sparse-array.js +41 -0
  804. data/ext/v8/upstream/2.0.6/test/mjsunit/stack-traces.js +204 -0
  805. data/ext/v8/upstream/2.0.6/test/mjsunit/str-to-num.js +158 -0
  806. data/ext/v8/upstream/2.0.6/test/mjsunit/stress-array-push.js +34 -0
  807. data/ext/v8/upstream/2.0.6/test/mjsunit/strict-equals.js +90 -0
  808. data/ext/v8/upstream/2.0.6/test/mjsunit/string-add.js +195 -0
  809. data/ext/v8/upstream/2.0.6/test/mjsunit/string-case.js +28 -0
  810. data/ext/v8/upstream/2.0.6/test/mjsunit/string-charat.js +53 -0
  811. data/ext/v8/upstream/2.0.6/test/mjsunit/string-charcodeat.js +192 -0
  812. data/ext/v8/upstream/2.0.6/test/mjsunit/string-compare-alignment.js +47 -0
  813. data/ext/v8/upstream/2.0.6/test/mjsunit/string-flatten.js +37 -0
  814. data/ext/v8/upstream/2.0.6/test/mjsunit/string-index.js +154 -0
  815. data/ext/v8/upstream/2.0.6/test/mjsunit/string-indexof-1.js +99 -0
  816. data/ext/v8/upstream/2.0.6/test/mjsunit/string-indexof-2.js +68 -0
  817. data/ext/v8/upstream/2.0.6/test/mjsunit/string-lastindexof.js +88 -0
  818. data/ext/v8/upstream/2.0.6/test/mjsunit/string-localecompare.js +40 -0
  819. data/ext/v8/upstream/2.0.6/test/mjsunit/string-match.js +149 -0
  820. data/ext/v8/upstream/2.0.6/test/mjsunit/string-replace-gc.js +57 -0
  821. data/ext/v8/upstream/2.0.6/test/mjsunit/string-replace.js +182 -0
  822. data/ext/v8/upstream/2.0.6/test/mjsunit/string-search.js +30 -0
  823. data/ext/v8/upstream/2.0.6/test/mjsunit/string-split.js +126 -0
  824. data/ext/v8/upstream/2.0.6/test/mjsunit/substr.js +65 -0
  825. data/ext/v8/upstream/2.0.6/test/mjsunit/switch.js +289 -0
  826. data/ext/v8/upstream/2.0.6/test/mjsunit/testcfg.py +137 -0
  827. data/ext/v8/upstream/2.0.6/test/mjsunit/third_party/array-isarray.js +48 -0
  828. data/ext/v8/upstream/2.0.6/test/mjsunit/third_party/array-splice-webkit.js +62 -0
  829. data/ext/v8/upstream/2.0.6/test/mjsunit/third_party/object-keys.js +68 -0
  830. data/ext/v8/upstream/2.0.6/test/mjsunit/third_party/regexp-pcre.js +6603 -0
  831. data/ext/v8/upstream/2.0.6/test/mjsunit/third_party/string-trim.js +107 -0
  832. data/ext/v8/upstream/2.0.6/test/mjsunit/this-in-callbacks.js +47 -0
  833. data/ext/v8/upstream/2.0.6/test/mjsunit/this.js +46 -0
  834. data/ext/v8/upstream/2.0.6/test/mjsunit/throw-and-catch-function.js +50 -0
  835. data/ext/v8/upstream/2.0.6/test/mjsunit/throw-exception-for-null-access.js +37 -0
  836. data/ext/v8/upstream/2.0.6/test/mjsunit/to-precision.js +82 -0
  837. data/ext/v8/upstream/2.0.6/test/mjsunit/to_number_order.js +129 -0
  838. data/ext/v8/upstream/2.0.6/test/mjsunit/tobool.js +36 -0
  839. data/ext/v8/upstream/2.0.6/test/mjsunit/toint32.js +129 -0
  840. data/ext/v8/upstream/2.0.6/test/mjsunit/tools/codemap.js +180 -0
  841. data/ext/v8/upstream/2.0.6/test/mjsunit/tools/consarray.js +60 -0
  842. data/ext/v8/upstream/2.0.6/test/mjsunit/tools/csvparser.js +79 -0
  843. data/ext/v8/upstream/2.0.6/test/mjsunit/tools/logreader.js +98 -0
  844. data/ext/v8/upstream/2.0.6/test/mjsunit/tools/profile.js +348 -0
  845. data/ext/v8/upstream/2.0.6/test/mjsunit/tools/profile_view.js +95 -0
  846. data/ext/v8/upstream/2.0.6/test/mjsunit/tools/splaytree.js +166 -0
  847. data/ext/v8/upstream/2.0.6/test/mjsunit/tools/tickprocessor-test.default +55 -0
  848. data/ext/v8/upstream/2.0.6/test/mjsunit/tools/tickprocessor-test.gc-state +21 -0
  849. data/ext/v8/upstream/2.0.6/test/mjsunit/tools/tickprocessor-test.ignore-unknown +51 -0
  850. data/ext/v8/upstream/2.0.6/test/mjsunit/tools/tickprocessor-test.separate-ic +61 -0
  851. data/ext/v8/upstream/2.0.6/test/mjsunit/tools/tickprocessor.js +409 -0
  852. data/ext/v8/upstream/2.0.6/test/mjsunit/top-level-assignments.js +107 -0
  853. data/ext/v8/upstream/2.0.6/test/mjsunit/touint32.js +72 -0
  854. data/ext/v8/upstream/2.0.6/test/mjsunit/transcendentals.js +49 -0
  855. data/ext/v8/upstream/2.0.6/test/mjsunit/try-catch-extension-object.js +58 -0
  856. data/ext/v8/upstream/2.0.6/test/mjsunit/try-catch-scopes.js +42 -0
  857. data/ext/v8/upstream/2.0.6/test/mjsunit/try-finally-nested.js +46 -0
  858. data/ext/v8/upstream/2.0.6/test/mjsunit/try.js +394 -0
  859. data/ext/v8/upstream/2.0.6/test/mjsunit/typeof.js +40 -0
  860. data/ext/v8/upstream/2.0.6/test/mjsunit/undeletable-functions.js +181 -0
  861. data/ext/v8/upstream/2.0.6/test/mjsunit/unicode-case-overoptimization.js +35 -0
  862. data/ext/v8/upstream/2.0.6/test/mjsunit/unicode-string-to-number.js +46 -0
  863. data/ext/v8/upstream/2.0.6/test/mjsunit/unicode-test.js +9169 -0
  864. data/ext/v8/upstream/2.0.6/test/mjsunit/unusual-constructor.js +38 -0
  865. data/ext/v8/upstream/2.0.6/test/mjsunit/uri.js +78 -0
  866. data/ext/v8/upstream/2.0.6/test/mjsunit/value-callic-prototype-change.js +94 -0
  867. data/ext/v8/upstream/2.0.6/test/mjsunit/var.js +37 -0
  868. data/ext/v8/upstream/2.0.6/test/mjsunit/with-function-expression.js +36 -0
  869. data/ext/v8/upstream/2.0.6/test/mjsunit/with-leave.js +61 -0
  870. data/ext/v8/upstream/2.0.6/test/mjsunit/with-parameter-access.js +47 -0
  871. data/ext/v8/upstream/2.0.6/test/mjsunit/with-prototype.js +44 -0
  872. data/ext/v8/upstream/2.0.6/test/mjsunit/with-value.js +38 -0
  873. data/ext/v8/upstream/2.0.6/test/mozilla/mozilla-shell-emulation.js +37 -0
  874. data/ext/v8/upstream/2.0.6/test/mozilla/mozilla.status +815 -0
  875. data/ext/v8/upstream/2.0.6/test/mozilla/testcfg.py +138 -0
  876. data/ext/v8/upstream/2.0.6/test/sputnik/README +6 -0
  877. data/ext/v8/upstream/2.0.6/test/sputnik/sputnik.status +318 -0
  878. data/ext/v8/upstream/2.0.6/test/sputnik/testcfg.py +112 -0
  879. data/ext/v8/upstream/2.0.6/tools/codemap.js +258 -0
  880. data/ext/v8/upstream/2.0.6/tools/consarray.js +93 -0
  881. data/ext/v8/upstream/2.0.6/tools/csvparser.js +98 -0
  882. data/ext/v8/upstream/2.0.6/tools/gyp/v8.gyp +620 -0
  883. data/ext/v8/upstream/2.0.6/tools/js2c.py +376 -0
  884. data/ext/v8/upstream/2.0.6/tools/js2c.pyc +0 -0
  885. data/ext/v8/upstream/2.0.6/tools/jsmin.py +280 -0
  886. data/ext/v8/upstream/2.0.6/tools/jsmin.pyc +0 -0
  887. data/ext/v8/upstream/2.0.6/tools/linux-tick-processor +24 -0
  888. data/ext/v8/upstream/2.0.6/tools/linux-tick-processor.py +78 -0
  889. data/ext/v8/upstream/2.0.6/tools/logreader.js +320 -0
  890. data/ext/v8/upstream/2.0.6/tools/mac-nm +18 -0
  891. data/ext/v8/upstream/2.0.6/tools/mac-tick-processor +6 -0
  892. data/ext/v8/upstream/2.0.6/tools/oprofile/annotate +7 -0
  893. data/ext/v8/upstream/2.0.6/tools/oprofile/common +19 -0
  894. data/ext/v8/upstream/2.0.6/tools/oprofile/dump +7 -0
  895. data/ext/v8/upstream/2.0.6/tools/oprofile/report +7 -0
  896. data/ext/v8/upstream/2.0.6/tools/oprofile/reset +7 -0
  897. data/ext/v8/upstream/2.0.6/tools/oprofile/run +14 -0
  898. data/ext/v8/upstream/2.0.6/tools/oprofile/shutdown +7 -0
  899. data/ext/v8/upstream/2.0.6/tools/oprofile/start +7 -0
  900. data/ext/v8/upstream/2.0.6/tools/presubmit.py +299 -0
  901. data/ext/v8/upstream/2.0.6/tools/process-heap-prof.py +120 -0
  902. data/ext/v8/upstream/2.0.6/tools/profile.js +621 -0
  903. data/ext/v8/upstream/2.0.6/tools/profile_view.js +224 -0
  904. data/ext/v8/upstream/2.0.6/tools/run-valgrind.py +77 -0
  905. data/ext/v8/upstream/2.0.6/tools/splaytree.js +322 -0
  906. data/ext/v8/upstream/2.0.6/tools/splaytree.py +226 -0
  907. data/ext/v8/upstream/2.0.6/tools/stats-viewer.py +456 -0
  908. data/ext/v8/upstream/2.0.6/tools/test.py +1370 -0
  909. data/ext/v8/upstream/2.0.6/tools/tickprocessor-driver.js +53 -0
  910. data/ext/v8/upstream/2.0.6/tools/tickprocessor.js +731 -0
  911. data/ext/v8/upstream/2.0.6/tools/tickprocessor.py +535 -0
  912. data/ext/v8/upstream/2.0.6/tools/utils.py +82 -0
  913. data/ext/v8/upstream/2.0.6/tools/utils.pyc +0 -0
  914. data/ext/v8/upstream/2.0.6/tools/visual_studio/README.txt +71 -0
  915. data/ext/v8/upstream/2.0.6/tools/visual_studio/arm.vsprops +14 -0
  916. data/ext/v8/upstream/2.0.6/tools/visual_studio/common.vsprops +35 -0
  917. data/ext/v8/upstream/2.0.6/tools/visual_studio/d8.vcproj +199 -0
  918. data/ext/v8/upstream/2.0.6/tools/visual_studio/d8_arm.vcproj +199 -0
  919. data/ext/v8/upstream/2.0.6/tools/visual_studio/d8_x64.vcproj +201 -0
  920. data/ext/v8/upstream/2.0.6/tools/visual_studio/d8js2c.cmd +6 -0
  921. data/ext/v8/upstream/2.0.6/tools/visual_studio/debug.vsprops +17 -0
  922. data/ext/v8/upstream/2.0.6/tools/visual_studio/ia32.vsprops +13 -0
  923. data/ext/v8/upstream/2.0.6/tools/visual_studio/js2c.cmd +6 -0
  924. data/ext/v8/upstream/2.0.6/tools/visual_studio/release.vsprops +24 -0
  925. data/ext/v8/upstream/2.0.6/tools/visual_studio/v8.sln +101 -0
  926. data/ext/v8/upstream/2.0.6/tools/visual_studio/v8.vcproj +223 -0
  927. data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_arm.sln +74 -0
  928. data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_arm.vcproj +223 -0
  929. data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_base.vcproj +971 -0
  930. data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_base_arm.vcproj +983 -0
  931. data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_base_x64.vcproj +959 -0
  932. data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_cctest.vcproj +255 -0
  933. data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_cctest_arm.vcproj +243 -0
  934. data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_cctest_x64.vcproj +257 -0
  935. data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_mksnapshot.vcproj +151 -0
  936. data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_mksnapshot_x64.vcproj +151 -0
  937. data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_process_sample.vcproj +151 -0
  938. data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_process_sample_arm.vcproj +151 -0
  939. data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_process_sample_x64.vcproj +151 -0
  940. data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_shell_sample.vcproj +151 -0
  941. data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_shell_sample_arm.vcproj +151 -0
  942. data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_shell_sample_x64.vcproj +153 -0
  943. data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_snapshot.vcproj +142 -0
  944. data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_snapshot_cc.vcproj +92 -0
  945. data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_snapshot_cc_x64.vcproj +92 -0
  946. data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_snapshot_x64.vcproj +142 -0
  947. data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_x64.sln +101 -0
  948. data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_x64.vcproj +223 -0
  949. data/ext/v8/upstream/2.0.6/tools/visual_studio/x64.vsprops +13 -0
  950. data/ext/v8/upstream/2.0.6/tools/windows-tick-processor.bat +5 -0
  951. data/ext/v8/upstream/2.0.6/tools/windows-tick-processor.py +137 -0
  952. data/ext/v8/upstream/scons/CHANGES.txt +5183 -0
  953. data/ext/v8/upstream/scons/LICENSE.txt +20 -0
  954. data/ext/v8/upstream/scons/MANIFEST +202 -0
  955. data/ext/v8/upstream/scons/PKG-INFO +13 -0
  956. data/ext/v8/upstream/scons/README.txt +273 -0
  957. data/ext/v8/upstream/scons/RELEASE.txt +1040 -0
  958. data/ext/v8/upstream/scons/engine/SCons/Action.py +1256 -0
  959. data/ext/v8/upstream/scons/engine/SCons/Builder.py +868 -0
  960. data/ext/v8/upstream/scons/engine/SCons/CacheDir.py +217 -0
  961. data/ext/v8/upstream/scons/engine/SCons/Conftest.py +794 -0
  962. data/ext/v8/upstream/scons/engine/SCons/Debug.py +237 -0
  963. data/ext/v8/upstream/scons/engine/SCons/Defaults.py +485 -0
  964. data/ext/v8/upstream/scons/engine/SCons/Environment.py +2327 -0
  965. data/ext/v8/upstream/scons/engine/SCons/Errors.py +207 -0
  966. data/ext/v8/upstream/scons/engine/SCons/Executor.py +636 -0
  967. data/ext/v8/upstream/scons/engine/SCons/Job.py +435 -0
  968. data/ext/v8/upstream/scons/engine/SCons/Memoize.py +292 -0
  969. data/ext/v8/upstream/scons/engine/SCons/Node/Alias.py +153 -0
  970. data/ext/v8/upstream/scons/engine/SCons/Node/FS.py +3220 -0
  971. data/ext/v8/upstream/scons/engine/SCons/Node/Python.py +128 -0
  972. data/ext/v8/upstream/scons/engine/SCons/Node/__init__.py +1341 -0
  973. data/ext/v8/upstream/scons/engine/SCons/Options/BoolOption.py +50 -0
  974. data/ext/v8/upstream/scons/engine/SCons/Options/EnumOption.py +50 -0
  975. data/ext/v8/upstream/scons/engine/SCons/Options/ListOption.py +50 -0
  976. data/ext/v8/upstream/scons/engine/SCons/Options/PackageOption.py +50 -0
  977. data/ext/v8/upstream/scons/engine/SCons/Options/PathOption.py +76 -0
  978. data/ext/v8/upstream/scons/engine/SCons/Options/__init__.py +74 -0
  979. data/ext/v8/upstream/scons/engine/SCons/PathList.py +232 -0
  980. data/ext/v8/upstream/scons/engine/SCons/Platform/__init__.py +236 -0
  981. data/ext/v8/upstream/scons/engine/SCons/Platform/aix.py +70 -0
  982. data/ext/v8/upstream/scons/engine/SCons/Platform/cygwin.py +55 -0
  983. data/ext/v8/upstream/scons/engine/SCons/Platform/darwin.py +46 -0
  984. data/ext/v8/upstream/scons/engine/SCons/Platform/hpux.py +46 -0
  985. data/ext/v8/upstream/scons/engine/SCons/Platform/irix.py +44 -0
  986. data/ext/v8/upstream/scons/engine/SCons/Platform/os2.py +58 -0
  987. data/ext/v8/upstream/scons/engine/SCons/Platform/posix.py +264 -0
  988. data/ext/v8/upstream/scons/engine/SCons/Platform/sunos.py +50 -0
  989. data/ext/v8/upstream/scons/engine/SCons/Platform/win32.py +386 -0
  990. data/ext/v8/upstream/scons/engine/SCons/SConf.py +1038 -0
  991. data/ext/v8/upstream/scons/engine/SCons/SConsign.py +381 -0
  992. data/ext/v8/upstream/scons/engine/SCons/Scanner/C.py +132 -0
  993. data/ext/v8/upstream/scons/engine/SCons/Scanner/D.py +74 -0
  994. data/ext/v8/upstream/scons/engine/SCons/Scanner/Dir.py +111 -0
  995. data/ext/v8/upstream/scons/engine/SCons/Scanner/Fortran.py +320 -0
  996. data/ext/v8/upstream/scons/engine/SCons/Scanner/IDL.py +48 -0
  997. data/ext/v8/upstream/scons/engine/SCons/Scanner/LaTeX.py +378 -0
  998. data/ext/v8/upstream/scons/engine/SCons/Scanner/Prog.py +103 -0
  999. data/ext/v8/upstream/scons/engine/SCons/Scanner/RC.py +55 -0
  1000. data/ext/v8/upstream/scons/engine/SCons/Scanner/__init__.py +415 -0
  1001. data/ext/v8/upstream/scons/engine/SCons/Script/Interactive.py +386 -0
  1002. data/ext/v8/upstream/scons/engine/SCons/Script/Main.py +1360 -0
  1003. data/ext/v8/upstream/scons/engine/SCons/Script/SConsOptions.py +944 -0
  1004. data/ext/v8/upstream/scons/engine/SCons/Script/SConscript.py +642 -0
  1005. data/ext/v8/upstream/scons/engine/SCons/Script/__init__.py +414 -0
  1006. data/ext/v8/upstream/scons/engine/SCons/Sig.py +63 -0
  1007. data/ext/v8/upstream/scons/engine/SCons/Subst.py +911 -0
  1008. data/ext/v8/upstream/scons/engine/SCons/Taskmaster.py +1030 -0
  1009. data/ext/v8/upstream/scons/engine/SCons/Tool/386asm.py +61 -0
  1010. data/ext/v8/upstream/scons/engine/SCons/Tool/BitKeeper.py +65 -0
  1011. data/ext/v8/upstream/scons/engine/SCons/Tool/CVS.py +73 -0
  1012. data/ext/v8/upstream/scons/engine/SCons/Tool/FortranCommon.py +247 -0
  1013. data/ext/v8/upstream/scons/engine/SCons/Tool/JavaCommon.py +324 -0
  1014. data/ext/v8/upstream/scons/engine/SCons/Tool/MSCommon/__init__.py +56 -0
  1015. data/ext/v8/upstream/scons/engine/SCons/Tool/MSCommon/arch.py +61 -0
  1016. data/ext/v8/upstream/scons/engine/SCons/Tool/MSCommon/common.py +210 -0
  1017. data/ext/v8/upstream/scons/engine/SCons/Tool/MSCommon/netframework.py +84 -0
  1018. data/ext/v8/upstream/scons/engine/SCons/Tool/MSCommon/sdk.py +321 -0
  1019. data/ext/v8/upstream/scons/engine/SCons/Tool/MSCommon/vc.py +367 -0
  1020. data/ext/v8/upstream/scons/engine/SCons/Tool/MSCommon/vs.py +497 -0
  1021. data/ext/v8/upstream/scons/engine/SCons/Tool/Perforce.py +104 -0
  1022. data/ext/v8/upstream/scons/engine/SCons/Tool/PharLapCommon.py +138 -0
  1023. data/ext/v8/upstream/scons/engine/SCons/Tool/RCS.py +64 -0
  1024. data/ext/v8/upstream/scons/engine/SCons/Tool/SCCS.py +64 -0
  1025. data/ext/v8/upstream/scons/engine/SCons/Tool/Subversion.py +71 -0
  1026. data/ext/v8/upstream/scons/engine/SCons/Tool/__init__.py +675 -0
  1027. data/ext/v8/upstream/scons/engine/SCons/Tool/aixc++.py +82 -0
  1028. data/ext/v8/upstream/scons/engine/SCons/Tool/aixcc.py +74 -0
  1029. data/ext/v8/upstream/scons/engine/SCons/Tool/aixf77.py +80 -0
  1030. data/ext/v8/upstream/scons/engine/SCons/Tool/aixlink.py +76 -0
  1031. data/ext/v8/upstream/scons/engine/SCons/Tool/applelink.py +71 -0
  1032. data/ext/v8/upstream/scons/engine/SCons/Tool/ar.py +63 -0
  1033. data/ext/v8/upstream/scons/engine/SCons/Tool/as.py +78 -0
  1034. data/ext/v8/upstream/scons/engine/SCons/Tool/bcc32.py +82 -0
  1035. data/ext/v8/upstream/scons/engine/SCons/Tool/c++.py +99 -0
  1036. data/ext/v8/upstream/scons/engine/SCons/Tool/cc.py +114 -0
  1037. data/ext/v8/upstream/scons/engine/SCons/Tool/cvf.py +58 -0
  1038. data/ext/v8/upstream/scons/engine/SCons/Tool/default.py +50 -0
  1039. data/ext/v8/upstream/scons/engine/SCons/Tool/dmd.py +224 -0
  1040. data/ext/v8/upstream/scons/engine/SCons/Tool/dvi.py +64 -0
  1041. data/ext/v8/upstream/scons/engine/SCons/Tool/dvipdf.py +125 -0
  1042. data/ext/v8/upstream/scons/engine/SCons/Tool/dvips.py +94 -0
  1043. data/ext/v8/upstream/scons/engine/SCons/Tool/f77.py +62 -0
  1044. data/ext/v8/upstream/scons/engine/SCons/Tool/f90.py +62 -0
  1045. data/ext/v8/upstream/scons/engine/SCons/Tool/f95.py +63 -0
  1046. data/ext/v8/upstream/scons/engine/SCons/Tool/filesystem.py +98 -0
  1047. data/ext/v8/upstream/scons/engine/SCons/Tool/fortran.py +63 -0
  1048. data/ext/v8/upstream/scons/engine/SCons/Tool/g++.py +90 -0
  1049. data/ext/v8/upstream/scons/engine/SCons/Tool/g77.py +73 -0
  1050. data/ext/v8/upstream/scons/engine/SCons/Tool/gas.py +53 -0
  1051. data/ext/v8/upstream/scons/engine/SCons/Tool/gcc.py +80 -0
  1052. data/ext/v8/upstream/scons/engine/SCons/Tool/gfortran.py +64 -0
  1053. data/ext/v8/upstream/scons/engine/SCons/Tool/gnulink.py +63 -0
  1054. data/ext/v8/upstream/scons/engine/SCons/Tool/gs.py +81 -0
  1055. data/ext/v8/upstream/scons/engine/SCons/Tool/hpc++.py +85 -0
  1056. data/ext/v8/upstream/scons/engine/SCons/Tool/hpcc.py +53 -0
  1057. data/ext/v8/upstream/scons/engine/SCons/Tool/hplink.py +77 -0
  1058. data/ext/v8/upstream/scons/engine/SCons/Tool/icc.py +59 -0
  1059. data/ext/v8/upstream/scons/engine/SCons/Tool/icl.py +52 -0
  1060. data/ext/v8/upstream/scons/engine/SCons/Tool/ifl.py +72 -0
  1061. data/ext/v8/upstream/scons/engine/SCons/Tool/ifort.py +90 -0
  1062. data/ext/v8/upstream/scons/engine/SCons/Tool/ilink.py +59 -0
  1063. data/ext/v8/upstream/scons/engine/SCons/Tool/ilink32.py +60 -0
  1064. data/ext/v8/upstream/scons/engine/SCons/Tool/install.py +229 -0
  1065. data/ext/v8/upstream/scons/engine/SCons/Tool/intelc.py +490 -0
  1066. data/ext/v8/upstream/scons/engine/SCons/Tool/ipkg.py +71 -0
  1067. data/ext/v8/upstream/scons/engine/SCons/Tool/jar.py +110 -0
  1068. data/ext/v8/upstream/scons/engine/SCons/Tool/javac.py +234 -0
  1069. data/ext/v8/upstream/scons/engine/SCons/Tool/javah.py +138 -0
  1070. data/ext/v8/upstream/scons/engine/SCons/Tool/latex.py +79 -0
  1071. data/ext/v8/upstream/scons/engine/SCons/Tool/lex.py +99 -0
  1072. data/ext/v8/upstream/scons/engine/SCons/Tool/link.py +121 -0
  1073. data/ext/v8/upstream/scons/engine/SCons/Tool/linkloc.py +112 -0
  1074. data/ext/v8/upstream/scons/engine/SCons/Tool/m4.py +63 -0
  1075. data/ext/v8/upstream/scons/engine/SCons/Tool/masm.py +77 -0
  1076. data/ext/v8/upstream/scons/engine/SCons/Tool/midl.py +90 -0
  1077. data/ext/v8/upstream/scons/engine/SCons/Tool/mingw.py +159 -0
  1078. data/ext/v8/upstream/scons/engine/SCons/Tool/mslib.py +64 -0
  1079. data/ext/v8/upstream/scons/engine/SCons/Tool/mslink.py +266 -0
  1080. data/ext/v8/upstream/scons/engine/SCons/Tool/mssdk.py +50 -0
  1081. data/ext/v8/upstream/scons/engine/SCons/Tool/msvc.py +269 -0
  1082. data/ext/v8/upstream/scons/engine/SCons/Tool/msvs.py +1439 -0
  1083. data/ext/v8/upstream/scons/engine/SCons/Tool/mwcc.py +208 -0
  1084. data/ext/v8/upstream/scons/engine/SCons/Tool/mwld.py +107 -0
  1085. data/ext/v8/upstream/scons/engine/SCons/Tool/nasm.py +72 -0
  1086. data/ext/v8/upstream/scons/engine/SCons/Tool/packaging/__init__.py +314 -0
  1087. data/ext/v8/upstream/scons/engine/SCons/Tool/packaging/ipk.py +185 -0
  1088. data/ext/v8/upstream/scons/engine/SCons/Tool/packaging/msi.py +526 -0
  1089. data/ext/v8/upstream/scons/engine/SCons/Tool/packaging/rpm.py +367 -0
  1090. data/ext/v8/upstream/scons/engine/SCons/Tool/packaging/src_tarbz2.py +43 -0
  1091. data/ext/v8/upstream/scons/engine/SCons/Tool/packaging/src_targz.py +43 -0
  1092. data/ext/v8/upstream/scons/engine/SCons/Tool/packaging/src_zip.py +43 -0
  1093. data/ext/v8/upstream/scons/engine/SCons/Tool/packaging/tarbz2.py +44 -0
  1094. data/ext/v8/upstream/scons/engine/SCons/Tool/packaging/targz.py +44 -0
  1095. data/ext/v8/upstream/scons/engine/SCons/Tool/packaging/zip.py +44 -0
  1096. data/ext/v8/upstream/scons/engine/SCons/Tool/pdf.py +78 -0
  1097. data/ext/v8/upstream/scons/engine/SCons/Tool/pdflatex.py +83 -0
  1098. data/ext/v8/upstream/scons/engine/SCons/Tool/pdftex.py +108 -0
  1099. data/ext/v8/upstream/scons/engine/SCons/Tool/qt.py +336 -0
  1100. data/ext/v8/upstream/scons/engine/SCons/Tool/rmic.py +121 -0
  1101. data/ext/v8/upstream/scons/engine/SCons/Tool/rpcgen.py +70 -0
  1102. data/ext/v8/upstream/scons/engine/SCons/Tool/rpm.py +132 -0
  1103. data/ext/v8/upstream/scons/engine/SCons/Tool/sgiar.py +68 -0
  1104. data/ext/v8/upstream/scons/engine/SCons/Tool/sgic++.py +58 -0
  1105. data/ext/v8/upstream/scons/engine/SCons/Tool/sgicc.py +53 -0
  1106. data/ext/v8/upstream/scons/engine/SCons/Tool/sgilink.py +63 -0
  1107. data/ext/v8/upstream/scons/engine/SCons/Tool/sunar.py +67 -0
  1108. data/ext/v8/upstream/scons/engine/SCons/Tool/sunc++.py +142 -0
  1109. data/ext/v8/upstream/scons/engine/SCons/Tool/suncc.py +58 -0
  1110. data/ext/v8/upstream/scons/engine/SCons/Tool/sunf77.py +63 -0
  1111. data/ext/v8/upstream/scons/engine/SCons/Tool/sunf90.py +64 -0
  1112. data/ext/v8/upstream/scons/engine/SCons/Tool/sunf95.py +64 -0
  1113. data/ext/v8/upstream/scons/engine/SCons/Tool/sunlink.py +77 -0
  1114. data/ext/v8/upstream/scons/engine/SCons/Tool/swig.py +186 -0
  1115. data/ext/v8/upstream/scons/engine/SCons/Tool/tar.py +73 -0
  1116. data/ext/v8/upstream/scons/engine/SCons/Tool/tex.py +805 -0
  1117. data/ext/v8/upstream/scons/engine/SCons/Tool/textfile.py +175 -0
  1118. data/ext/v8/upstream/scons/engine/SCons/Tool/tlib.py +53 -0
  1119. data/ext/v8/upstream/scons/engine/SCons/Tool/wix.py +100 -0
  1120. data/ext/v8/upstream/scons/engine/SCons/Tool/yacc.py +131 -0
  1121. data/ext/v8/upstream/scons/engine/SCons/Tool/zip.py +100 -0
  1122. data/ext/v8/upstream/scons/engine/SCons/Util.py +1645 -0
  1123. data/ext/v8/upstream/scons/engine/SCons/Variables/BoolVariable.py +91 -0
  1124. data/ext/v8/upstream/scons/engine/SCons/Variables/EnumVariable.py +107 -0
  1125. data/ext/v8/upstream/scons/engine/SCons/Variables/ListVariable.py +139 -0
  1126. data/ext/v8/upstream/scons/engine/SCons/Variables/PackageVariable.py +109 -0
  1127. data/ext/v8/upstream/scons/engine/SCons/Variables/PathVariable.py +147 -0
  1128. data/ext/v8/upstream/scons/engine/SCons/Variables/__init__.py +317 -0
  1129. data/ext/v8/upstream/scons/engine/SCons/Warnings.py +228 -0
  1130. data/ext/v8/upstream/scons/engine/SCons/__init__.py +49 -0
  1131. data/ext/v8/upstream/scons/engine/SCons/compat/__init__.py +302 -0
  1132. data/ext/v8/upstream/scons/engine/SCons/compat/_scons_UserString.py +98 -0
  1133. data/ext/v8/upstream/scons/engine/SCons/compat/_scons_hashlib.py +91 -0
  1134. data/ext/v8/upstream/scons/engine/SCons/compat/_scons_itertools.py +124 -0
  1135. data/ext/v8/upstream/scons/engine/SCons/compat/_scons_optparse.py +1725 -0
  1136. data/ext/v8/upstream/scons/engine/SCons/compat/_scons_sets.py +583 -0
  1137. data/ext/v8/upstream/scons/engine/SCons/compat/_scons_sets15.py +176 -0
  1138. data/ext/v8/upstream/scons/engine/SCons/compat/_scons_shlex.py +325 -0
  1139. data/ext/v8/upstream/scons/engine/SCons/compat/_scons_subprocess.py +1296 -0
  1140. data/ext/v8/upstream/scons/engine/SCons/compat/_scons_textwrap.py +382 -0
  1141. data/ext/v8/upstream/scons/engine/SCons/compat/builtins.py +187 -0
  1142. data/ext/v8/upstream/scons/engine/SCons/cpp.py +598 -0
  1143. data/ext/v8/upstream/scons/engine/SCons/dblite.py +248 -0
  1144. data/ext/v8/upstream/scons/engine/SCons/exitfuncs.py +77 -0
  1145. data/ext/v8/upstream/scons/os_spawnv_fix.diff +83 -0
  1146. data/ext/v8/upstream/scons/scons-time.1 +1017 -0
  1147. data/ext/v8/upstream/scons/scons.1 +15179 -0
  1148. data/ext/v8/upstream/scons/sconsign.1 +208 -0
  1149. data/ext/v8/upstream/scons/script/scons +184 -0
  1150. data/ext/v8/upstream/scons/script/scons-time +1529 -0
  1151. data/ext/v8/upstream/scons/script/scons.bat +31 -0
  1152. data/ext/v8/upstream/scons/script/sconsign +508 -0
  1153. data/ext/v8/upstream/scons/setup.cfg +6 -0
  1154. data/ext/v8/upstream/scons/setup.py +427 -0
  1155. data/ext/v8/v8.cpp +81 -0
  1156. data/ext/v8/v8_cxt.cpp +92 -0
  1157. data/ext/v8/v8_cxt.h +20 -0
  1158. data/ext/v8/v8_func.cpp +10 -0
  1159. data/ext/v8/v8_func.h +11 -0
  1160. data/ext/v8/v8_msg.cpp +17 -0
  1161. data/ext/v8/v8_msg.h +10 -0
  1162. data/ext/v8/v8_obj.cpp +52 -0
  1163. data/ext/v8/v8_obj.h +13 -0
  1164. data/ext/v8/v8_ref.cpp +26 -0
  1165. data/ext/v8/v8_ref.h +31 -0
  1166. data/ext/v8/v8_script.cpp +20 -0
  1167. data/ext/v8/v8_script.h +8 -0
  1168. data/ext/v8/v8_standalone.cpp +69 -0
  1169. data/ext/v8/v8_standalone.h +31 -0
  1170. data/ext/v8/v8_str.cpp +17 -0
  1171. data/ext/v8/v8_str.h +9 -0
  1172. data/ext/v8/v8_template.cpp +53 -0
  1173. data/ext/v8/v8_template.h +13 -0
  1174. data/lib/v8.rb +10 -0
  1175. data/lib/v8/context.rb +87 -0
  1176. data/lib/v8/object.rb +38 -0
  1177. data/lib/v8/to.rb +33 -0
  1178. data/lib/v8/v8.bundle +0 -0
  1179. data/script/console +10 -0
  1180. data/script/destroy +14 -0
  1181. data/script/generate +14 -0
  1182. data/spec/ext/cxt_spec.rb +25 -0
  1183. data/spec/ext/obj_spec.rb +13 -0
  1184. data/spec/redjs/README.txt +8 -0
  1185. data/spec/redjs/jsapi_spec.rb +394 -0
  1186. data/spec/redjs/tap.rb +8 -0
  1187. data/spec/redjs_helper.rb +3 -0
  1188. data/spec/spec.opts +1 -0
  1189. data/spec/spec_helper.rb +14 -0
  1190. data/spec/v8/to_spec.rb +15 -0
  1191. data/tasks/rspec.rake +21 -0
  1192. data/therubyracer.gemspec +34 -0
  1193. metadata +1268 -0
@@ -0,0 +1,580 @@
1
+ // Copyright 2009 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
+ #ifndef V8_IA32_VIRTUAL_FRAME_IA32_H_
29
+ #define V8_IA32_VIRTUAL_FRAME_IA32_H_
30
+
31
+ #include "register-allocator.h"
32
+ #include "scopes.h"
33
+
34
+ namespace v8 {
35
+ namespace internal {
36
+
37
+ // -------------------------------------------------------------------------
38
+ // Virtual frames
39
+ //
40
+ // The virtual frame is an abstraction of the physical stack frame. It
41
+ // encapsulates the parameters, frame-allocated locals, and the expression
42
+ // stack. It supports push/pop operations on the expression stack, as well
43
+ // as random access to the expression stack elements, locals, and
44
+ // parameters.
45
+
46
+ class VirtualFrame: public ZoneObject {
47
+ public:
48
+ // A utility class to introduce a scope where the virtual frame is
49
+ // expected to remain spilled. The constructor spills the code
50
+ // generator's current frame, but no attempt is made to require it
51
+ // to stay spilled. It is intended as documentation while the code
52
+ // generator is being transformed.
53
+ class SpilledScope BASE_EMBEDDED {
54
+ public:
55
+ SpilledScope() : previous_state_(cgen()->in_spilled_code()) {
56
+ ASSERT(cgen()->has_valid_frame());
57
+ cgen()->frame()->SpillAll();
58
+ cgen()->set_in_spilled_code(true);
59
+ }
60
+
61
+ ~SpilledScope() {
62
+ cgen()->set_in_spilled_code(previous_state_);
63
+ }
64
+
65
+ private:
66
+ bool previous_state_;
67
+
68
+ CodeGenerator* cgen() {return CodeGeneratorScope::Current();}
69
+ };
70
+
71
+ // An illegal index into the virtual frame.
72
+ static const int kIllegalIndex = -1;
73
+
74
+ // Construct an initial virtual frame on entry to a JS function.
75
+ VirtualFrame();
76
+
77
+ // Construct a virtual frame as a clone of an existing one.
78
+ explicit VirtualFrame(VirtualFrame* original);
79
+
80
+ CodeGenerator* cgen() { return CodeGeneratorScope::Current(); }
81
+
82
+ MacroAssembler* masm() { return cgen()->masm(); }
83
+
84
+ // Create a duplicate of an existing valid frame element.
85
+ FrameElement CopyElementAt(int index);
86
+
87
+ // The number of elements on the virtual frame.
88
+ int element_count() { return elements_.length(); }
89
+
90
+ // The height of the virtual expression stack.
91
+ int height() { return element_count() - expression_base_index(); }
92
+
93
+ int register_location(int num) {
94
+ ASSERT(num >= 0 && num < RegisterAllocator::kNumRegisters);
95
+ return register_locations_[num];
96
+ }
97
+
98
+ int register_location(Register reg) {
99
+ return register_locations_[RegisterAllocator::ToNumber(reg)];
100
+ }
101
+
102
+ void set_register_location(Register reg, int index) {
103
+ register_locations_[RegisterAllocator::ToNumber(reg)] = index;
104
+ }
105
+
106
+ bool is_used(int num) {
107
+ ASSERT(num >= 0 && num < RegisterAllocator::kNumRegisters);
108
+ return register_locations_[num] != kIllegalIndex;
109
+ }
110
+
111
+ bool is_used(Register reg) {
112
+ return register_locations_[RegisterAllocator::ToNumber(reg)]
113
+ != kIllegalIndex;
114
+ }
115
+
116
+ // Add extra in-memory elements to the top of the frame to match an actual
117
+ // frame (eg, the frame after an exception handler is pushed). No code is
118
+ // emitted.
119
+ void Adjust(int count);
120
+
121
+ // Forget count elements from the top of the frame all in-memory
122
+ // (including synced) and adjust the stack pointer downward, to
123
+ // match an external frame effect (examples include a call removing
124
+ // its arguments, and exiting a try/catch removing an exception
125
+ // handler). No code will be emitted.
126
+ void Forget(int count) {
127
+ ASSERT(count >= 0);
128
+ ASSERT(stack_pointer_ == element_count() - 1);
129
+ stack_pointer_ -= count;
130
+ ForgetElements(count);
131
+ }
132
+
133
+ // Forget count elements from the top of the frame without adjusting
134
+ // the stack pointer downward. This is used, for example, before
135
+ // merging frames at break, continue, and return targets.
136
+ void ForgetElements(int count);
137
+
138
+ // Spill all values from the frame to memory.
139
+ void SpillAll();
140
+
141
+ // Spill all occurrences of a specific register from the frame.
142
+ void Spill(Register reg) {
143
+ if (is_used(reg)) SpillElementAt(register_location(reg));
144
+ }
145
+
146
+ // Spill all occurrences of an arbitrary register if possible. Return the
147
+ // register spilled or no_reg if it was not possible to free any register
148
+ // (ie, they all have frame-external references).
149
+ Register SpillAnyRegister();
150
+
151
+ // Sync the range of elements in [begin, end] with memory.
152
+ void SyncRange(int begin, int end);
153
+
154
+ // Make this frame so that an arbitrary frame of the same height can
155
+ // be merged to it. Copies and constants are removed from the frame.
156
+ void MakeMergable();
157
+
158
+ // Prepare this virtual frame for merging to an expected frame by
159
+ // performing some state changes that do not require generating
160
+ // code. It is guaranteed that no code will be generated.
161
+ void PrepareMergeTo(VirtualFrame* expected);
162
+
163
+ // Make this virtual frame have a state identical to an expected virtual
164
+ // frame. As a side effect, code may be emitted to make this frame match
165
+ // the expected one.
166
+ void MergeTo(VirtualFrame* expected);
167
+
168
+ // Detach a frame from its code generator, perhaps temporarily. This
169
+ // tells the register allocator that it is free to use frame-internal
170
+ // registers. Used when the code generator's frame is switched from this
171
+ // one to NULL by an unconditional jump.
172
+ void DetachFromCodeGenerator() {
173
+ RegisterAllocator* cgen_allocator = cgen()->allocator();
174
+ for (int i = 0; i < RegisterAllocator::kNumRegisters; i++) {
175
+ if (is_used(i)) cgen_allocator->Unuse(i);
176
+ }
177
+ }
178
+
179
+ // (Re)attach a frame to its code generator. This informs the register
180
+ // allocator that the frame-internal register references are active again.
181
+ // Used when a code generator's frame is switched from NULL to this one by
182
+ // binding a label.
183
+ void AttachToCodeGenerator() {
184
+ RegisterAllocator* cgen_allocator = cgen()->allocator();
185
+ for (int i = 0; i < RegisterAllocator::kNumRegisters; i++) {
186
+ if (is_used(i)) cgen_allocator->Use(i);
187
+ }
188
+ }
189
+
190
+ // Emit code for the physical JS entry and exit frame sequences. After
191
+ // calling Enter, the virtual frame is ready for use; and after calling
192
+ // Exit it should not be used. Note that Enter does not allocate space in
193
+ // the physical frame for storing frame-allocated locals.
194
+ void Enter();
195
+ void Exit();
196
+
197
+ // Prepare for returning from the frame by spilling locals. This
198
+ // avoids generating unnecessary merge code when jumping to the
199
+ // shared return site. Emits code for spills.
200
+ void PrepareForReturn();
201
+
202
+ // Number of local variables after when we use a loop for allocating.
203
+ static const int kLocalVarBound = 10;
204
+
205
+ // Allocate and initialize the frame-allocated locals.
206
+ void AllocateStackSlots();
207
+
208
+ // An element of the expression stack as an assembly operand.
209
+ Operand ElementAt(int index) const {
210
+ return Operand(esp, index * kPointerSize);
211
+ }
212
+
213
+ // Random-access store to a frame-top relative frame element. The result
214
+ // becomes owned by the frame and is invalidated.
215
+ void SetElementAt(int index, Result* value);
216
+
217
+ // Set a frame element to a constant. The index is frame-top relative.
218
+ void SetElementAt(int index, Handle<Object> value) {
219
+ Result temp(value);
220
+ SetElementAt(index, &temp);
221
+ }
222
+
223
+ void PushElementAt(int index) {
224
+ PushFrameSlotAt(element_count() - index - 1);
225
+ }
226
+
227
+ void StoreToElementAt(int index) {
228
+ StoreToFrameSlotAt(element_count() - index - 1);
229
+ }
230
+
231
+ // A frame-allocated local as an assembly operand.
232
+ Operand LocalAt(int index) {
233
+ ASSERT(0 <= index);
234
+ ASSERT(index < local_count());
235
+ return Operand(ebp, kLocal0Offset - index * kPointerSize);
236
+ }
237
+
238
+ // Push a copy of the value of a local frame slot on top of the frame.
239
+ void PushLocalAt(int index) {
240
+ PushFrameSlotAt(local0_index() + index);
241
+ }
242
+
243
+ // Push the value of a local frame slot on top of the frame and invalidate
244
+ // the local slot. The slot should be written to before trying to read
245
+ // from it again.
246
+ void TakeLocalAt(int index) {
247
+ TakeFrameSlotAt(local0_index() + index);
248
+ }
249
+
250
+ // Store the top value on the virtual frame into a local frame slot. The
251
+ // value is left in place on top of the frame.
252
+ void StoreToLocalAt(int index) {
253
+ StoreToFrameSlotAt(local0_index() + index);
254
+ }
255
+
256
+ // Push the address of the receiver slot on the frame.
257
+ void PushReceiverSlotAddress();
258
+
259
+ // Push the function on top of the frame.
260
+ void PushFunction() {
261
+ PushFrameSlotAt(function_index());
262
+ }
263
+
264
+ // Save the value of the esi register to the context frame slot.
265
+ void SaveContextRegister();
266
+
267
+ // Restore the esi register from the value of the context frame
268
+ // slot.
269
+ void RestoreContextRegister();
270
+
271
+ // A parameter as an assembly operand.
272
+ Operand ParameterAt(int index) {
273
+ ASSERT(-1 <= index); // -1 is the receiver.
274
+ ASSERT(index < parameter_count());
275
+ return Operand(ebp, (1 + parameter_count() - index) * kPointerSize);
276
+ }
277
+
278
+ // Push a copy of the value of a parameter frame slot on top of the frame.
279
+ void PushParameterAt(int index) {
280
+ PushFrameSlotAt(param0_index() + index);
281
+ }
282
+
283
+ // Push the value of a paramter frame slot on top of the frame and
284
+ // invalidate the parameter slot. The slot should be written to before
285
+ // trying to read from it again.
286
+ void TakeParameterAt(int index) {
287
+ TakeFrameSlotAt(param0_index() + index);
288
+ }
289
+
290
+ // Store the top value on the virtual frame into a parameter frame slot.
291
+ // The value is left in place on top of the frame.
292
+ void StoreToParameterAt(int index) {
293
+ StoreToFrameSlotAt(param0_index() + index);
294
+ }
295
+
296
+ // The receiver frame slot.
297
+ Operand Receiver() {
298
+ return ParameterAt(-1);
299
+ }
300
+
301
+ // Push a try-catch or try-finally handler on top of the virtual frame.
302
+ void PushTryHandler(HandlerType type);
303
+
304
+ // Call stub given the number of arguments it expects on (and
305
+ // removes from) the stack.
306
+ Result CallStub(CodeStub* stub, int arg_count) {
307
+ PrepareForCall(arg_count, arg_count);
308
+ return RawCallStub(stub);
309
+ }
310
+
311
+ // Call stub that takes a single argument passed in eax. The
312
+ // argument is given as a result which does not have to be eax or
313
+ // even a register. The argument is consumed by the call.
314
+ Result CallStub(CodeStub* stub, Result* arg);
315
+
316
+ // Call stub that takes a pair of arguments passed in edx (arg0) and
317
+ // eax (arg1). The arguments are given as results which do not have
318
+ // to be in the proper registers or even in registers. The
319
+ // arguments are consumed by the call.
320
+ Result CallStub(CodeStub* stub, Result* arg0, Result* arg1);
321
+
322
+ // Call runtime given the number of arguments expected on (and
323
+ // removed from) the stack.
324
+ Result CallRuntime(Runtime::Function* f, int arg_count);
325
+ Result CallRuntime(Runtime::FunctionId id, int arg_count);
326
+
327
+ // Invoke builtin given the number of arguments it expects on (and
328
+ // removes from) the stack.
329
+ Result InvokeBuiltin(Builtins::JavaScript id, InvokeFlag flag, int arg_count);
330
+
331
+ // Call load IC. Name and receiver are found on top of the frame.
332
+ // Receiver is not dropped.
333
+ Result CallLoadIC(RelocInfo::Mode mode);
334
+
335
+ // Call keyed load IC. Key and receiver are found on top of the
336
+ // frame. They are not dropped.
337
+ Result CallKeyedLoadIC(RelocInfo::Mode mode);
338
+
339
+ // Call store IC. Name, value, and receiver are found on top of the
340
+ // frame. Receiver is not dropped.
341
+ Result CallStoreIC();
342
+
343
+ // Call keyed store IC. Value, key, and receiver are found on top
344
+ // of the frame. Key and receiver are not dropped.
345
+ Result CallKeyedStoreIC();
346
+
347
+ // Call call IC. Function name, arguments, and receiver are found on top
348
+ // of the frame and dropped by the call. The argument count does not
349
+ // include the receiver.
350
+ Result CallCallIC(RelocInfo::Mode mode, int arg_count, int loop_nesting);
351
+
352
+ // Allocate and call JS function as constructor. Arguments,
353
+ // receiver (global object), and function are found on top of the
354
+ // frame. Function is not dropped. The argument count does not
355
+ // include the receiver.
356
+ Result CallConstructor(int arg_count);
357
+
358
+ // Drop a number of elements from the top of the expression stack. May
359
+ // emit code to affect the physical frame. Does not clobber any registers
360
+ // excepting possibly the stack pointer.
361
+ void Drop(int count);
362
+
363
+ // Drop one element.
364
+ void Drop() {
365
+ Drop(1);
366
+ }
367
+
368
+ // Duplicate the top element of the frame.
369
+ void Dup() {
370
+ PushFrameSlotAt(element_count() - 1);
371
+ }
372
+
373
+ // Pop an element from the top of the expression stack. Returns a
374
+ // Result, which may be a constant or a register.
375
+ Result Pop();
376
+
377
+ // Pop and save an element from the top of the expression stack and
378
+ // emit a corresponding pop instruction.
379
+ void EmitPop(Register reg);
380
+ void EmitPop(Operand operand);
381
+
382
+ // Push an element on top of the expression stack and emit a
383
+ // corresponding push instruction.
384
+ void EmitPush(Register reg);
385
+ void EmitPush(Operand operand);
386
+ void EmitPush(Immediate immediate);
387
+
388
+ // Push an element on the virtual frame.
389
+ void Push(Register reg);
390
+ void Push(Handle<Object> value);
391
+ void Push(Smi* value) {
392
+ Push(Handle<Object> (value));
393
+ }
394
+
395
+ // Pushing a result invalidates it (its contents become owned by the
396
+ // frame).
397
+ void Push(Result* result) {
398
+ // This assert will trigger if you try to push the same value twice.
399
+ ASSERT(result->is_valid());
400
+ if (result->is_register()) {
401
+ Push(result->reg());
402
+ } else {
403
+ ASSERT(result->is_constant());
404
+ Push(result->handle());
405
+ }
406
+ result->Unuse();
407
+ }
408
+
409
+ // Nip removes zero or more elements from immediately below the top
410
+ // of the frame, leaving the previous top-of-frame value on top of
411
+ // the frame. Nip(k) is equivalent to x = Pop(), Drop(k), Push(x).
412
+ void Nip(int num_dropped);
413
+
414
+ private:
415
+ static const int kLocal0Offset = JavaScriptFrameConstants::kLocal0Offset;
416
+ static const int kFunctionOffset = JavaScriptFrameConstants::kFunctionOffset;
417
+ static const int kContextOffset = StandardFrameConstants::kContextOffset;
418
+
419
+ static const int kHandlerSize = StackHandlerConstants::kSize / kPointerSize;
420
+ static const int kPreallocatedElements = 5 + 8; // 8 expression stack slots.
421
+
422
+ ZoneList<FrameElement> elements_;
423
+
424
+ // The index of the element that is at the processor's stack pointer
425
+ // (the esp register).
426
+ int stack_pointer_;
427
+
428
+ // The index of the register frame element using each register, or
429
+ // kIllegalIndex if a register is not on the frame.
430
+ int register_locations_[RegisterAllocator::kNumRegisters];
431
+
432
+ // The number of frame-allocated locals and parameters respectively.
433
+ int parameter_count() {
434
+ return cgen()->scope()->num_parameters();
435
+ }
436
+ int local_count() {
437
+ return cgen()->scope()->num_stack_slots();
438
+ }
439
+
440
+ // The index of the element that is at the processor's frame pointer
441
+ // (the ebp register). The parameters, receiver, and return address
442
+ // are below the frame pointer.
443
+ int frame_pointer() {
444
+ return parameter_count() + 2;
445
+ }
446
+
447
+ // The index of the first parameter. The receiver lies below the first
448
+ // parameter.
449
+ int param0_index() {
450
+ return 1;
451
+ }
452
+
453
+ // The index of the context slot in the frame. It is immediately
454
+ // above the frame pointer.
455
+ int context_index() {
456
+ return frame_pointer() + 1;
457
+ }
458
+
459
+ // The index of the function slot in the frame. It is above the frame
460
+ // pointer and the context slot.
461
+ int function_index() {
462
+ return frame_pointer() + 2;
463
+ }
464
+
465
+ // The index of the first local. Between the frame pointer and the
466
+ // locals lie the context and the function.
467
+ int local0_index() {
468
+ return frame_pointer() + 3;
469
+ }
470
+
471
+ // The index of the base of the expression stack.
472
+ int expression_base_index() {
473
+ return local0_index() + local_count();
474
+ }
475
+
476
+ // Convert a frame index into a frame pointer relative offset into the
477
+ // actual stack.
478
+ int fp_relative(int index) {
479
+ ASSERT(index < element_count());
480
+ ASSERT(frame_pointer() < element_count()); // FP is on the frame.
481
+ return (frame_pointer() - index) * kPointerSize;
482
+ }
483
+
484
+ // Record an occurrence of a register in the virtual frame. This has the
485
+ // effect of incrementing the register's external reference count and
486
+ // of updating the index of the register's location in the frame.
487
+ void Use(Register reg, int index) {
488
+ ASSERT(!is_used(reg));
489
+ set_register_location(reg, index);
490
+ cgen()->allocator()->Use(reg);
491
+ }
492
+
493
+ // Record that a register reference has been dropped from the frame. This
494
+ // decrements the register's external reference count and invalidates the
495
+ // index of the register's location in the frame.
496
+ void Unuse(Register reg) {
497
+ ASSERT(is_used(reg));
498
+ set_register_location(reg, kIllegalIndex);
499
+ cgen()->allocator()->Unuse(reg);
500
+ }
501
+
502
+ // Spill the element at a particular index---write it to memory if
503
+ // necessary, free any associated register, and forget its value if
504
+ // constant.
505
+ void SpillElementAt(int index);
506
+
507
+ // Sync the element at a particular index. If it is a register or
508
+ // constant that disagrees with the value on the stack, write it to memory.
509
+ // Keep the element type as register or constant, and clear the dirty bit.
510
+ void SyncElementAt(int index);
511
+
512
+ // Sync a single unsynced element that lies beneath or at the stack pointer.
513
+ void SyncElementBelowStackPointer(int index);
514
+
515
+ // Sync a single unsynced element that lies just above the stack pointer.
516
+ void SyncElementByPushing(int index);
517
+
518
+ // Push a copy of a frame slot (typically a local or parameter) on top of
519
+ // the frame.
520
+ void PushFrameSlotAt(int index);
521
+
522
+ // Push a the value of a frame slot (typically a local or parameter) on
523
+ // top of the frame and invalidate the slot.
524
+ void TakeFrameSlotAt(int index);
525
+
526
+ // Store the value on top of the frame to a frame slot (typically a local
527
+ // or parameter).
528
+ void StoreToFrameSlotAt(int index);
529
+
530
+ // Spill all elements in registers. Spill the top spilled_args elements
531
+ // on the frame. Sync all other frame elements.
532
+ // Then drop dropped_args elements from the virtual frame, to match
533
+ // the effect of an upcoming call that will drop them from the stack.
534
+ void PrepareForCall(int spilled_args, int dropped_args);
535
+
536
+ // Move frame elements currently in registers or constants, that
537
+ // should be in memory in the expected frame, to memory.
538
+ void MergeMoveRegistersToMemory(VirtualFrame* expected);
539
+
540
+ // Make the register-to-register moves necessary to
541
+ // merge this frame with the expected frame.
542
+ // Register to memory moves must already have been made,
543
+ // and memory to register moves must follow this call.
544
+ // This is because some new memory-to-register moves are
545
+ // created in order to break cycles of register moves.
546
+ // Used in the implementation of MergeTo().
547
+ void MergeMoveRegistersToRegisters(VirtualFrame* expected);
548
+
549
+ // Make the memory-to-register and constant-to-register moves
550
+ // needed to make this frame equal the expected frame.
551
+ // Called after all register-to-memory and register-to-register
552
+ // moves have been made. After this function returns, the frames
553
+ // should be equal.
554
+ void MergeMoveMemoryToRegisters(VirtualFrame* expected);
555
+
556
+ // Invalidates a frame slot (puts an invalid frame element in it).
557
+ // Copies on the frame are correctly handled, and if this slot was
558
+ // the backing store of copies, the index of the new backing store
559
+ // is returned. Otherwise, returns kIllegalIndex.
560
+ // Register counts are correctly updated.
561
+ int InvalidateFrameSlotAt(int index);
562
+
563
+ // Call a code stub that has already been prepared for calling (via
564
+ // PrepareForCall).
565
+ Result RawCallStub(CodeStub* stub);
566
+
567
+ // Calls a code object which has already been prepared for calling
568
+ // (via PrepareForCall).
569
+ Result RawCallCodeObject(Handle<Code> code, RelocInfo::Mode rmode);
570
+
571
+ bool Equals(VirtualFrame* other);
572
+
573
+ // Classes that need raw access to the elements_ array.
574
+ friend class DeferredCode;
575
+ friend class JumpTarget;
576
+ };
577
+
578
+ } } // namespace v8::internal
579
+
580
+ #endif // V8_IA32_VIRTUAL_FRAME_IA32_H_