therubyracer 0.5.0-x86-linux → 0.11.0beta5-x86-linux

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 (721) hide show
  1. data/.gitignore +23 -11
  2. data/.travis.yml +10 -0
  3. data/Changelog.md +242 -0
  4. data/Gemfile +16 -0
  5. data/README.md +185 -0
  6. data/Rakefile +42 -51
  7. data/benchmarks.rb +217 -0
  8. data/ext/v8/accessor.cc +181 -0
  9. data/ext/v8/array.cc +26 -0
  10. data/ext/v8/backref.cc +56 -0
  11. data/ext/v8/build.rb +52 -0
  12. data/ext/v8/constants.cc +34 -0
  13. data/ext/v8/constraints.cc +52 -0
  14. data/ext/v8/context.cc +130 -0
  15. data/ext/v8/date.cc +18 -0
  16. data/ext/v8/exception.cc +38 -0
  17. data/ext/v8/extconf.rb +16 -29
  18. data/ext/v8/external.cc +43 -0
  19. data/ext/v8/function.cc +58 -0
  20. data/ext/v8/gc.cc +43 -0
  21. data/ext/v8/handles.cc +34 -0
  22. data/ext/v8/heap.cc +31 -0
  23. data/ext/v8/init.cc +39 -0
  24. data/ext/v8/init.so +0 -0
  25. data/ext/v8/invocation.cc +86 -0
  26. data/ext/v8/locker.cc +77 -0
  27. data/ext/v8/message.cc +51 -0
  28. data/ext/v8/object.cc +334 -0
  29. data/ext/v8/primitive.cc +8 -0
  30. data/ext/v8/rr.cc +83 -0
  31. data/ext/v8/rr.h +883 -0
  32. data/ext/v8/script.cc +80 -0
  33. data/ext/v8/signature.cc +18 -0
  34. data/ext/v8/stack.cc +75 -0
  35. data/ext/v8/string.cc +47 -0
  36. data/ext/v8/template.cc +175 -0
  37. data/ext/v8/trycatch.cc +86 -0
  38. data/ext/v8/v8.cc +87 -0
  39. data/ext/v8/value.cc +239 -0
  40. data/lib/v8.rb +30 -9
  41. data/lib/v8/access.rb +5 -0
  42. data/lib/v8/access/indices.rb +40 -0
  43. data/lib/v8/access/invocation.rb +47 -0
  44. data/lib/v8/access/names.rb +65 -0
  45. data/lib/v8/array.rb +26 -0
  46. data/lib/v8/context.rb +217 -75
  47. data/lib/v8/conversion.rb +35 -0
  48. data/lib/v8/conversion/array.rb +11 -0
  49. data/lib/v8/conversion/class.rb +120 -0
  50. data/lib/v8/conversion/code.rb +38 -0
  51. data/lib/v8/conversion/fundamental.rb +11 -0
  52. data/lib/v8/conversion/hash.rb +11 -0
  53. data/lib/v8/conversion/indentity.rb +31 -0
  54. data/lib/v8/conversion/method.rb +26 -0
  55. data/lib/v8/conversion/object.rb +28 -0
  56. data/lib/v8/conversion/primitive.rb +7 -0
  57. data/lib/v8/conversion/proc.rb +5 -0
  58. data/lib/v8/conversion/reference.rb +16 -0
  59. data/lib/v8/conversion/string.rb +12 -0
  60. data/lib/v8/conversion/symbol.rb +7 -0
  61. data/lib/v8/conversion/time.rb +13 -0
  62. data/lib/v8/error.rb +25 -0
  63. data/lib/v8/error/protect.rb +20 -0
  64. data/lib/v8/error/try.rb +15 -0
  65. data/lib/v8/function.rb +28 -0
  66. data/lib/v8/object.rb +69 -28
  67. data/lib/v8/util/weakcell.rb +29 -0
  68. data/lib/v8/version.rb +3 -0
  69. data/spec/c/array_spec.rb +17 -0
  70. data/spec/c/constants_spec.rb +20 -0
  71. data/spec/c/exception_spec.rb +26 -0
  72. data/spec/c/external_spec.rb +9 -0
  73. data/spec/c/function_spec.rb +46 -0
  74. data/spec/c/handles_spec.rb +35 -0
  75. data/spec/c/locker_spec.rb +38 -0
  76. data/spec/c/object_spec.rb +46 -0
  77. data/spec/c/script_spec.rb +28 -0
  78. data/spec/c/string_spec.rb +16 -0
  79. data/spec/c/template_spec.rb +30 -0
  80. data/spec/c/trycatch_spec.rb +51 -0
  81. data/spec/mem/blunt_spec.rb +42 -0
  82. data/spec/redjs_spec.rb +10 -0
  83. data/spec/spec_helper.rb +43 -12
  84. data/spec/threading_spec.rb +52 -0
  85. data/spec/v8/context_spec.rb +19 -0
  86. data/spec/v8/conversion_spec.rb +9 -0
  87. data/spec/v8/error_spec.rb +21 -0
  88. data/spec/v8/function_spec.rb +9 -0
  89. data/spec/v8/object_spec.rb +15 -0
  90. data/thefrontside.png +0 -0
  91. data/therubyracer.gemspec +15 -676
  92. metadata +146 -680
  93. data/.gitmodules +0 -3
  94. data/Doxyfile +0 -1514
  95. data/History.txt +0 -51
  96. data/README.rdoc +0 -158
  97. data/docs/data_conversion.txt +0 -18
  98. data/ext/v8/callbacks.cpp +0 -160
  99. data/ext/v8/callbacks.h +0 -14
  100. data/ext/v8/convert_ruby.cpp +0 -8
  101. data/ext/v8/convert_ruby.h +0 -99
  102. data/ext/v8/convert_string.cpp +0 -10
  103. data/ext/v8/convert_string.h +0 -73
  104. data/ext/v8/convert_v8.cpp +0 -9
  105. data/ext/v8/convert_v8.h +0 -121
  106. data/ext/v8/converters.cpp +0 -83
  107. data/ext/v8/converters.h +0 -23
  108. data/ext/v8/upstream/2.0.6/.gitignore +0 -26
  109. data/ext/v8/upstream/2.0.6/AUTHORS +0 -23
  110. data/ext/v8/upstream/2.0.6/ChangeLog +0 -1479
  111. data/ext/v8/upstream/2.0.6/LICENSE +0 -55
  112. data/ext/v8/upstream/2.0.6/SConstruct +0 -1028
  113. data/ext/v8/upstream/2.0.6/include/v8-debug.h +0 -275
  114. data/ext/v8/upstream/2.0.6/include/v8.h +0 -3236
  115. data/ext/v8/upstream/2.0.6/src/SConscript +0 -283
  116. data/ext/v8/upstream/2.0.6/src/accessors.cc +0 -695
  117. data/ext/v8/upstream/2.0.6/src/accessors.h +0 -114
  118. data/ext/v8/upstream/2.0.6/src/allocation.cc +0 -198
  119. data/ext/v8/upstream/2.0.6/src/allocation.h +0 -169
  120. data/ext/v8/upstream/2.0.6/src/api.cc +0 -3831
  121. data/ext/v8/upstream/2.0.6/src/api.h +0 -479
  122. data/ext/v8/upstream/2.0.6/src/apinatives.js +0 -110
  123. data/ext/v8/upstream/2.0.6/src/apiutils.h +0 -69
  124. data/ext/v8/upstream/2.0.6/src/arguments.h +0 -97
  125. data/ext/v8/upstream/2.0.6/src/arm/assembler-arm-inl.h +0 -277
  126. data/ext/v8/upstream/2.0.6/src/arm/assembler-arm.cc +0 -1821
  127. data/ext/v8/upstream/2.0.6/src/arm/assembler-arm.h +0 -1027
  128. data/ext/v8/upstream/2.0.6/src/arm/assembler-thumb2-inl.h +0 -267
  129. data/ext/v8/upstream/2.0.6/src/arm/assembler-thumb2.cc +0 -1821
  130. data/ext/v8/upstream/2.0.6/src/arm/assembler-thumb2.h +0 -1027
  131. data/ext/v8/upstream/2.0.6/src/arm/builtins-arm.cc +0 -1271
  132. data/ext/v8/upstream/2.0.6/src/arm/codegen-arm-inl.h +0 -74
  133. data/ext/v8/upstream/2.0.6/src/arm/codegen-arm.cc +0 -6682
  134. data/ext/v8/upstream/2.0.6/src/arm/codegen-arm.h +0 -535
  135. data/ext/v8/upstream/2.0.6/src/arm/constants-arm.cc +0 -112
  136. data/ext/v8/upstream/2.0.6/src/arm/constants-arm.h +0 -347
  137. data/ext/v8/upstream/2.0.6/src/arm/cpu-arm.cc +0 -132
  138. data/ext/v8/upstream/2.0.6/src/arm/debug-arm.cc +0 -213
  139. data/ext/v8/upstream/2.0.6/src/arm/disasm-arm.cc +0 -1166
  140. data/ext/v8/upstream/2.0.6/src/arm/fast-codegen-arm.cc +0 -1698
  141. data/ext/v8/upstream/2.0.6/src/arm/frames-arm.cc +0 -123
  142. data/ext/v8/upstream/2.0.6/src/arm/frames-arm.h +0 -162
  143. data/ext/v8/upstream/2.0.6/src/arm/ic-arm.cc +0 -849
  144. data/ext/v8/upstream/2.0.6/src/arm/jump-target-arm.cc +0 -238
  145. data/ext/v8/upstream/2.0.6/src/arm/macro-assembler-arm.cc +0 -1259
  146. data/ext/v8/upstream/2.0.6/src/arm/macro-assembler-arm.h +0 -423
  147. data/ext/v8/upstream/2.0.6/src/arm/regexp-macro-assembler-arm.cc +0 -1266
  148. data/ext/v8/upstream/2.0.6/src/arm/regexp-macro-assembler-arm.h +0 -282
  149. data/ext/v8/upstream/2.0.6/src/arm/register-allocator-arm-inl.h +0 -103
  150. data/ext/v8/upstream/2.0.6/src/arm/register-allocator-arm.cc +0 -59
  151. data/ext/v8/upstream/2.0.6/src/arm/register-allocator-arm.h +0 -43
  152. data/ext/v8/upstream/2.0.6/src/arm/simulator-arm.cc +0 -2264
  153. data/ext/v8/upstream/2.0.6/src/arm/simulator-arm.h +0 -306
  154. data/ext/v8/upstream/2.0.6/src/arm/stub-cache-arm.cc +0 -1516
  155. data/ext/v8/upstream/2.0.6/src/arm/virtual-frame-arm.cc +0 -412
  156. data/ext/v8/upstream/2.0.6/src/arm/virtual-frame-arm.h +0 -532
  157. data/ext/v8/upstream/2.0.6/src/array.js +0 -1154
  158. data/ext/v8/upstream/2.0.6/src/assembler.cc +0 -772
  159. data/ext/v8/upstream/2.0.6/src/assembler.h +0 -525
  160. data/ext/v8/upstream/2.0.6/src/ast.cc +0 -512
  161. data/ext/v8/upstream/2.0.6/src/ast.h +0 -1820
  162. data/ext/v8/upstream/2.0.6/src/bootstrapper.cc +0 -1680
  163. data/ext/v8/upstream/2.0.6/src/bootstrapper.h +0 -103
  164. data/ext/v8/upstream/2.0.6/src/builtins.cc +0 -851
  165. data/ext/v8/upstream/2.0.6/src/builtins.h +0 -245
  166. data/ext/v8/upstream/2.0.6/src/bytecodes-irregexp.h +0 -104
  167. data/ext/v8/upstream/2.0.6/src/char-predicates-inl.h +0 -86
  168. data/ext/v8/upstream/2.0.6/src/char-predicates.h +0 -65
  169. data/ext/v8/upstream/2.0.6/src/checks.cc +0 -100
  170. data/ext/v8/upstream/2.0.6/src/checks.h +0 -284
  171. data/ext/v8/upstream/2.0.6/src/code-stubs.cc +0 -164
  172. data/ext/v8/upstream/2.0.6/src/code-stubs.h +0 -164
  173. data/ext/v8/upstream/2.0.6/src/code.h +0 -68
  174. data/ext/v8/upstream/2.0.6/src/codegen-inl.h +0 -88
  175. data/ext/v8/upstream/2.0.6/src/codegen.cc +0 -504
  176. data/ext/v8/upstream/2.0.6/src/codegen.h +0 -522
  177. data/ext/v8/upstream/2.0.6/src/compilation-cache.cc +0 -490
  178. data/ext/v8/upstream/2.0.6/src/compilation-cache.h +0 -98
  179. data/ext/v8/upstream/2.0.6/src/compiler.cc +0 -1132
  180. data/ext/v8/upstream/2.0.6/src/compiler.h +0 -107
  181. data/ext/v8/upstream/2.0.6/src/contexts.cc +0 -256
  182. data/ext/v8/upstream/2.0.6/src/contexts.h +0 -345
  183. data/ext/v8/upstream/2.0.6/src/conversions-inl.h +0 -95
  184. data/ext/v8/upstream/2.0.6/src/conversions.cc +0 -709
  185. data/ext/v8/upstream/2.0.6/src/conversions.h +0 -118
  186. data/ext/v8/upstream/2.0.6/src/counters.cc +0 -78
  187. data/ext/v8/upstream/2.0.6/src/counters.h +0 -239
  188. data/ext/v8/upstream/2.0.6/src/cpu.h +0 -65
  189. data/ext/v8/upstream/2.0.6/src/d8-debug.cc +0 -345
  190. data/ext/v8/upstream/2.0.6/src/d8-debug.h +0 -155
  191. data/ext/v8/upstream/2.0.6/src/d8-posix.cc +0 -675
  192. data/ext/v8/upstream/2.0.6/src/d8-readline.cc +0 -128
  193. data/ext/v8/upstream/2.0.6/src/d8-windows.cc +0 -42
  194. data/ext/v8/upstream/2.0.6/src/d8.cc +0 -776
  195. data/ext/v8/upstream/2.0.6/src/d8.h +0 -225
  196. data/ext/v8/upstream/2.0.6/src/d8.js +0 -1625
  197. data/ext/v8/upstream/2.0.6/src/date-delay.js +0 -1138
  198. data/ext/v8/upstream/2.0.6/src/dateparser-inl.h +0 -114
  199. data/ext/v8/upstream/2.0.6/src/dateparser.cc +0 -186
  200. data/ext/v8/upstream/2.0.6/src/dateparser.h +0 -240
  201. data/ext/v8/upstream/2.0.6/src/debug-agent.cc +0 -425
  202. data/ext/v8/upstream/2.0.6/src/debug-agent.h +0 -129
  203. data/ext/v8/upstream/2.0.6/src/debug-delay.js +0 -2073
  204. data/ext/v8/upstream/2.0.6/src/debug.cc +0 -2751
  205. data/ext/v8/upstream/2.0.6/src/debug.h +0 -866
  206. data/ext/v8/upstream/2.0.6/src/disasm.h +0 -77
  207. data/ext/v8/upstream/2.0.6/src/disassembler.cc +0 -318
  208. data/ext/v8/upstream/2.0.6/src/disassembler.h +0 -56
  209. data/ext/v8/upstream/2.0.6/src/dtoa-config.c +0 -91
  210. data/ext/v8/upstream/2.0.6/src/execution.cc +0 -701
  211. data/ext/v8/upstream/2.0.6/src/execution.h +0 -312
  212. data/ext/v8/upstream/2.0.6/src/factory.cc +0 -957
  213. data/ext/v8/upstream/2.0.6/src/factory.h +0 -393
  214. data/ext/v8/upstream/2.0.6/src/fast-codegen.cc +0 -725
  215. data/ext/v8/upstream/2.0.6/src/fast-codegen.h +0 -371
  216. data/ext/v8/upstream/2.0.6/src/flag-definitions.h +0 -426
  217. data/ext/v8/upstream/2.0.6/src/flags.cc +0 -555
  218. data/ext/v8/upstream/2.0.6/src/flags.h +0 -81
  219. data/ext/v8/upstream/2.0.6/src/frame-element.cc +0 -45
  220. data/ext/v8/upstream/2.0.6/src/frame-element.h +0 -235
  221. data/ext/v8/upstream/2.0.6/src/frames-inl.h +0 -215
  222. data/ext/v8/upstream/2.0.6/src/frames.cc +0 -749
  223. data/ext/v8/upstream/2.0.6/src/frames.h +0 -659
  224. data/ext/v8/upstream/2.0.6/src/func-name-inferrer.cc +0 -76
  225. data/ext/v8/upstream/2.0.6/src/func-name-inferrer.h +0 -135
  226. data/ext/v8/upstream/2.0.6/src/global-handles.cc +0 -516
  227. data/ext/v8/upstream/2.0.6/src/global-handles.h +0 -180
  228. data/ext/v8/upstream/2.0.6/src/globals.h +0 -608
  229. data/ext/v8/upstream/2.0.6/src/handles-inl.h +0 -76
  230. data/ext/v8/upstream/2.0.6/src/handles.cc +0 -811
  231. data/ext/v8/upstream/2.0.6/src/handles.h +0 -367
  232. data/ext/v8/upstream/2.0.6/src/hashmap.cc +0 -226
  233. data/ext/v8/upstream/2.0.6/src/hashmap.h +0 -120
  234. data/ext/v8/upstream/2.0.6/src/heap-inl.h +0 -407
  235. data/ext/v8/upstream/2.0.6/src/heap-profiler.cc +0 -695
  236. data/ext/v8/upstream/2.0.6/src/heap-profiler.h +0 -277
  237. data/ext/v8/upstream/2.0.6/src/heap.cc +0 -4204
  238. data/ext/v8/upstream/2.0.6/src/heap.h +0 -1704
  239. data/ext/v8/upstream/2.0.6/src/ia32/assembler-ia32-inl.h +0 -325
  240. data/ext/v8/upstream/2.0.6/src/ia32/assembler-ia32.cc +0 -2375
  241. data/ext/v8/upstream/2.0.6/src/ia32/assembler-ia32.h +0 -914
  242. data/ext/v8/upstream/2.0.6/src/ia32/builtins-ia32.cc +0 -1222
  243. data/ext/v8/upstream/2.0.6/src/ia32/codegen-ia32-inl.h +0 -46
  244. data/ext/v8/upstream/2.0.6/src/ia32/codegen-ia32.cc +0 -9770
  245. data/ext/v8/upstream/2.0.6/src/ia32/codegen-ia32.h +0 -834
  246. data/ext/v8/upstream/2.0.6/src/ia32/cpu-ia32.cc +0 -79
  247. data/ext/v8/upstream/2.0.6/src/ia32/debug-ia32.cc +0 -208
  248. data/ext/v8/upstream/2.0.6/src/ia32/disasm-ia32.cc +0 -1357
  249. data/ext/v8/upstream/2.0.6/src/ia32/fast-codegen-ia32.cc +0 -1813
  250. data/ext/v8/upstream/2.0.6/src/ia32/frames-ia32.cc +0 -111
  251. data/ext/v8/upstream/2.0.6/src/ia32/frames-ia32.h +0 -135
  252. data/ext/v8/upstream/2.0.6/src/ia32/ic-ia32.cc +0 -1490
  253. data/ext/v8/upstream/2.0.6/src/ia32/jump-target-ia32.cc +0 -432
  254. data/ext/v8/upstream/2.0.6/src/ia32/macro-assembler-ia32.cc +0 -1517
  255. data/ext/v8/upstream/2.0.6/src/ia32/macro-assembler-ia32.h +0 -528
  256. data/ext/v8/upstream/2.0.6/src/ia32/regexp-macro-assembler-ia32.cc +0 -1219
  257. data/ext/v8/upstream/2.0.6/src/ia32/regexp-macro-assembler-ia32.h +0 -230
  258. data/ext/v8/upstream/2.0.6/src/ia32/register-allocator-ia32-inl.h +0 -82
  259. data/ext/v8/upstream/2.0.6/src/ia32/register-allocator-ia32.cc +0 -99
  260. data/ext/v8/upstream/2.0.6/src/ia32/register-allocator-ia32.h +0 -43
  261. data/ext/v8/upstream/2.0.6/src/ia32/simulator-ia32.cc +0 -30
  262. data/ext/v8/upstream/2.0.6/src/ia32/simulator-ia32.h +0 -62
  263. data/ext/v8/upstream/2.0.6/src/ia32/stub-cache-ia32.cc +0 -1961
  264. data/ext/v8/upstream/2.0.6/src/ia32/virtual-frame-ia32.cc +0 -1105
  265. data/ext/v8/upstream/2.0.6/src/ia32/virtual-frame-ia32.h +0 -580
  266. data/ext/v8/upstream/2.0.6/src/ic-inl.h +0 -93
  267. data/ext/v8/upstream/2.0.6/src/ic.cc +0 -1426
  268. data/ext/v8/upstream/2.0.6/src/ic.h +0 -443
  269. data/ext/v8/upstream/2.0.6/src/interpreter-irregexp.cc +0 -646
  270. data/ext/v8/upstream/2.0.6/src/interpreter-irregexp.h +0 -48
  271. data/ext/v8/upstream/2.0.6/src/json-delay.js +0 -254
  272. data/ext/v8/upstream/2.0.6/src/jsregexp.cc +0 -5234
  273. data/ext/v8/upstream/2.0.6/src/jsregexp.h +0 -1439
  274. data/ext/v8/upstream/2.0.6/src/jump-target-inl.h +0 -49
  275. data/ext/v8/upstream/2.0.6/src/jump-target.cc +0 -383
  276. data/ext/v8/upstream/2.0.6/src/jump-target.h +0 -280
  277. data/ext/v8/upstream/2.0.6/src/list-inl.h +0 -166
  278. data/ext/v8/upstream/2.0.6/src/list.h +0 -158
  279. data/ext/v8/upstream/2.0.6/src/log-inl.h +0 -126
  280. data/ext/v8/upstream/2.0.6/src/log-utils.cc +0 -503
  281. data/ext/v8/upstream/2.0.6/src/log-utils.h +0 -292
  282. data/ext/v8/upstream/2.0.6/src/log.cc +0 -1457
  283. data/ext/v8/upstream/2.0.6/src/log.h +0 -371
  284. data/ext/v8/upstream/2.0.6/src/macro-assembler.h +0 -93
  285. data/ext/v8/upstream/2.0.6/src/macros.py +0 -137
  286. data/ext/v8/upstream/2.0.6/src/mark-compact.cc +0 -2007
  287. data/ext/v8/upstream/2.0.6/src/mark-compact.h +0 -442
  288. data/ext/v8/upstream/2.0.6/src/math.js +0 -263
  289. data/ext/v8/upstream/2.0.6/src/memory.h +0 -74
  290. data/ext/v8/upstream/2.0.6/src/messages.cc +0 -177
  291. data/ext/v8/upstream/2.0.6/src/messages.h +0 -112
  292. data/ext/v8/upstream/2.0.6/src/messages.js +0 -937
  293. data/ext/v8/upstream/2.0.6/src/mirror-delay.js +0 -2332
  294. data/ext/v8/upstream/2.0.6/src/mksnapshot.cc +0 -169
  295. data/ext/v8/upstream/2.0.6/src/natives.h +0 -63
  296. data/ext/v8/upstream/2.0.6/src/objects-debug.cc +0 -1317
  297. data/ext/v8/upstream/2.0.6/src/objects-inl.h +0 -3044
  298. data/ext/v8/upstream/2.0.6/src/objects.cc +0 -8306
  299. data/ext/v8/upstream/2.0.6/src/objects.h +0 -4960
  300. data/ext/v8/upstream/2.0.6/src/oprofile-agent.cc +0 -116
  301. data/ext/v8/upstream/2.0.6/src/oprofile-agent.h +0 -69
  302. data/ext/v8/upstream/2.0.6/src/parser.cc +0 -4810
  303. data/ext/v8/upstream/2.0.6/src/parser.h +0 -195
  304. data/ext/v8/upstream/2.0.6/src/platform-freebsd.cc +0 -645
  305. data/ext/v8/upstream/2.0.6/src/platform-linux.cc +0 -808
  306. data/ext/v8/upstream/2.0.6/src/platform-macos.cc +0 -643
  307. data/ext/v8/upstream/2.0.6/src/platform-nullos.cc +0 -454
  308. data/ext/v8/upstream/2.0.6/src/platform-openbsd.cc +0 -597
  309. data/ext/v8/upstream/2.0.6/src/platform-posix.cc +0 -380
  310. data/ext/v8/upstream/2.0.6/src/platform-win32.cc +0 -1908
  311. data/ext/v8/upstream/2.0.6/src/platform.h +0 -556
  312. data/ext/v8/upstream/2.0.6/src/prettyprinter.cc +0 -1511
  313. data/ext/v8/upstream/2.0.6/src/prettyprinter.h +0 -219
  314. data/ext/v8/upstream/2.0.6/src/property.cc +0 -96
  315. data/ext/v8/upstream/2.0.6/src/property.h +0 -327
  316. data/ext/v8/upstream/2.0.6/src/regexp-delay.js +0 -406
  317. data/ext/v8/upstream/2.0.6/src/regexp-macro-assembler-irregexp-inl.h +0 -78
  318. data/ext/v8/upstream/2.0.6/src/regexp-macro-assembler-irregexp.cc +0 -464
  319. data/ext/v8/upstream/2.0.6/src/regexp-macro-assembler-irregexp.h +0 -141
  320. data/ext/v8/upstream/2.0.6/src/regexp-macro-assembler-tracer.cc +0 -356
  321. data/ext/v8/upstream/2.0.6/src/regexp-macro-assembler-tracer.h +0 -103
  322. data/ext/v8/upstream/2.0.6/src/regexp-macro-assembler.cc +0 -240
  323. data/ext/v8/upstream/2.0.6/src/regexp-macro-assembler.h +0 -220
  324. data/ext/v8/upstream/2.0.6/src/regexp-stack.cc +0 -103
  325. data/ext/v8/upstream/2.0.6/src/regexp-stack.h +0 -123
  326. data/ext/v8/upstream/2.0.6/src/register-allocator-inl.h +0 -74
  327. data/ext/v8/upstream/2.0.6/src/register-allocator.cc +0 -100
  328. data/ext/v8/upstream/2.0.6/src/register-allocator.h +0 -295
  329. data/ext/v8/upstream/2.0.6/src/rewriter.cc +0 -855
  330. data/ext/v8/upstream/2.0.6/src/rewriter.h +0 -54
  331. data/ext/v8/upstream/2.0.6/src/runtime.cc +0 -8163
  332. data/ext/v8/upstream/2.0.6/src/runtime.h +0 -432
  333. data/ext/v8/upstream/2.0.6/src/runtime.js +0 -626
  334. data/ext/v8/upstream/2.0.6/src/scanner.cc +0 -1098
  335. data/ext/v8/upstream/2.0.6/src/scanner.h +0 -425
  336. data/ext/v8/upstream/2.0.6/src/scopeinfo.cc +0 -649
  337. data/ext/v8/upstream/2.0.6/src/scopeinfo.h +0 -236
  338. data/ext/v8/upstream/2.0.6/src/scopes.cc +0 -963
  339. data/ext/v8/upstream/2.0.6/src/scopes.h +0 -401
  340. data/ext/v8/upstream/2.0.6/src/serialize.cc +0 -1260
  341. data/ext/v8/upstream/2.0.6/src/serialize.h +0 -404
  342. data/ext/v8/upstream/2.0.6/src/shell.h +0 -55
  343. data/ext/v8/upstream/2.0.6/src/simulator.h +0 -41
  344. data/ext/v8/upstream/2.0.6/src/smart-pointer.h +0 -109
  345. data/ext/v8/upstream/2.0.6/src/snapshot-common.cc +0 -97
  346. data/ext/v8/upstream/2.0.6/src/snapshot-empty.cc +0 -40
  347. data/ext/v8/upstream/2.0.6/src/snapshot.h +0 -59
  348. data/ext/v8/upstream/2.0.6/src/spaces-inl.h +0 -372
  349. data/ext/v8/upstream/2.0.6/src/spaces.cc +0 -2864
  350. data/ext/v8/upstream/2.0.6/src/spaces.h +0 -2072
  351. data/ext/v8/upstream/2.0.6/src/string-stream.cc +0 -584
  352. data/ext/v8/upstream/2.0.6/src/string-stream.h +0 -189
  353. data/ext/v8/upstream/2.0.6/src/string.js +0 -901
  354. data/ext/v8/upstream/2.0.6/src/stub-cache.cc +0 -1108
  355. data/ext/v8/upstream/2.0.6/src/stub-cache.h +0 -578
  356. data/ext/v8/upstream/2.0.6/src/third_party/dtoa/COPYING +0 -15
  357. data/ext/v8/upstream/2.0.6/src/third_party/dtoa/dtoa.c +0 -3330
  358. data/ext/v8/upstream/2.0.6/src/third_party/valgrind/valgrind.h +0 -3925
  359. data/ext/v8/upstream/2.0.6/src/token.cc +0 -56
  360. data/ext/v8/upstream/2.0.6/src/token.h +0 -270
  361. data/ext/v8/upstream/2.0.6/src/top.cc +0 -991
  362. data/ext/v8/upstream/2.0.6/src/top.h +0 -459
  363. data/ext/v8/upstream/2.0.6/src/unicode-inl.h +0 -238
  364. data/ext/v8/upstream/2.0.6/src/unicode.cc +0 -749
  365. data/ext/v8/upstream/2.0.6/src/unicode.h +0 -279
  366. data/ext/v8/upstream/2.0.6/src/uri.js +0 -415
  367. data/ext/v8/upstream/2.0.6/src/usage-analyzer.cc +0 -426
  368. data/ext/v8/upstream/2.0.6/src/usage-analyzer.h +0 -40
  369. data/ext/v8/upstream/2.0.6/src/utils.cc +0 -322
  370. data/ext/v8/upstream/2.0.6/src/utils.h +0 -592
  371. data/ext/v8/upstream/2.0.6/src/v8-counters.cc +0 -55
  372. data/ext/v8/upstream/2.0.6/src/v8-counters.h +0 -198
  373. data/ext/v8/upstream/2.0.6/src/v8.cc +0 -193
  374. data/ext/v8/upstream/2.0.6/src/v8.h +0 -119
  375. data/ext/v8/upstream/2.0.6/src/v8natives.js +0 -846
  376. data/ext/v8/upstream/2.0.6/src/v8threads.cc +0 -450
  377. data/ext/v8/upstream/2.0.6/src/v8threads.h +0 -144
  378. data/ext/v8/upstream/2.0.6/src/variables.cc +0 -163
  379. data/ext/v8/upstream/2.0.6/src/variables.h +0 -235
  380. data/ext/v8/upstream/2.0.6/src/version.cc +0 -88
  381. data/ext/v8/upstream/2.0.6/src/version.h +0 -64
  382. data/ext/v8/upstream/2.0.6/src/virtual-frame.cc +0 -381
  383. data/ext/v8/upstream/2.0.6/src/virtual-frame.h +0 -44
  384. data/ext/v8/upstream/2.0.6/src/x64/assembler-x64-inl.h +0 -352
  385. data/ext/v8/upstream/2.0.6/src/x64/assembler-x64.cc +0 -2539
  386. data/ext/v8/upstream/2.0.6/src/x64/assembler-x64.h +0 -1399
  387. data/ext/v8/upstream/2.0.6/src/x64/builtins-x64.cc +0 -1255
  388. data/ext/v8/upstream/2.0.6/src/x64/codegen-x64-inl.h +0 -46
  389. data/ext/v8/upstream/2.0.6/src/x64/codegen-x64.cc +0 -8223
  390. data/ext/v8/upstream/2.0.6/src/x64/codegen-x64.h +0 -785
  391. data/ext/v8/upstream/2.0.6/src/x64/cpu-x64.cc +0 -79
  392. data/ext/v8/upstream/2.0.6/src/x64/debug-x64.cc +0 -202
  393. data/ext/v8/upstream/2.0.6/src/x64/disasm-x64.cc +0 -1596
  394. data/ext/v8/upstream/2.0.6/src/x64/fast-codegen-x64.cc +0 -1820
  395. data/ext/v8/upstream/2.0.6/src/x64/frames-x64.cc +0 -109
  396. data/ext/v8/upstream/2.0.6/src/x64/frames-x64.h +0 -121
  397. data/ext/v8/upstream/2.0.6/src/x64/ic-x64.cc +0 -1392
  398. data/ext/v8/upstream/2.0.6/src/x64/jump-target-x64.cc +0 -432
  399. data/ext/v8/upstream/2.0.6/src/x64/macro-assembler-x64.cc +0 -2409
  400. data/ext/v8/upstream/2.0.6/src/x64/macro-assembler-x64.h +0 -765
  401. data/ext/v8/upstream/2.0.6/src/x64/regexp-macro-assembler-x64.cc +0 -1337
  402. data/ext/v8/upstream/2.0.6/src/x64/regexp-macro-assembler-x64.h +0 -295
  403. data/ext/v8/upstream/2.0.6/src/x64/register-allocator-x64-inl.h +0 -86
  404. data/ext/v8/upstream/2.0.6/src/x64/register-allocator-x64.cc +0 -84
  405. data/ext/v8/upstream/2.0.6/src/x64/register-allocator-x64.h +0 -43
  406. data/ext/v8/upstream/2.0.6/src/x64/simulator-x64.cc +0 -27
  407. data/ext/v8/upstream/2.0.6/src/x64/simulator-x64.h +0 -63
  408. data/ext/v8/upstream/2.0.6/src/x64/stub-cache-x64.cc +0 -1884
  409. data/ext/v8/upstream/2.0.6/src/x64/virtual-frame-x64.cc +0 -1089
  410. data/ext/v8/upstream/2.0.6/src/x64/virtual-frame-x64.h +0 -560
  411. data/ext/v8/upstream/2.0.6/src/zone-inl.h +0 -297
  412. data/ext/v8/upstream/2.0.6/src/zone.cc +0 -193
  413. data/ext/v8/upstream/2.0.6/src/zone.h +0 -305
  414. data/ext/v8/upstream/2.0.6/tools/codemap.js +0 -258
  415. data/ext/v8/upstream/2.0.6/tools/consarray.js +0 -93
  416. data/ext/v8/upstream/2.0.6/tools/csvparser.js +0 -98
  417. data/ext/v8/upstream/2.0.6/tools/gyp/v8.gyp +0 -620
  418. data/ext/v8/upstream/2.0.6/tools/js2c.py +0 -376
  419. data/ext/v8/upstream/2.0.6/tools/jsmin.py +0 -280
  420. data/ext/v8/upstream/2.0.6/tools/linux-tick-processor +0 -24
  421. data/ext/v8/upstream/2.0.6/tools/linux-tick-processor.py +0 -78
  422. data/ext/v8/upstream/2.0.6/tools/logreader.js +0 -320
  423. data/ext/v8/upstream/2.0.6/tools/mac-nm +0 -18
  424. data/ext/v8/upstream/2.0.6/tools/mac-tick-processor +0 -6
  425. data/ext/v8/upstream/2.0.6/tools/oprofile/annotate +0 -7
  426. data/ext/v8/upstream/2.0.6/tools/oprofile/common +0 -19
  427. data/ext/v8/upstream/2.0.6/tools/oprofile/dump +0 -7
  428. data/ext/v8/upstream/2.0.6/tools/oprofile/report +0 -7
  429. data/ext/v8/upstream/2.0.6/tools/oprofile/reset +0 -7
  430. data/ext/v8/upstream/2.0.6/tools/oprofile/run +0 -14
  431. data/ext/v8/upstream/2.0.6/tools/oprofile/shutdown +0 -7
  432. data/ext/v8/upstream/2.0.6/tools/oprofile/start +0 -7
  433. data/ext/v8/upstream/2.0.6/tools/presubmit.py +0 -299
  434. data/ext/v8/upstream/2.0.6/tools/process-heap-prof.py +0 -120
  435. data/ext/v8/upstream/2.0.6/tools/profile.js +0 -621
  436. data/ext/v8/upstream/2.0.6/tools/profile_view.js +0 -224
  437. data/ext/v8/upstream/2.0.6/tools/run-valgrind.py +0 -77
  438. data/ext/v8/upstream/2.0.6/tools/splaytree.js +0 -322
  439. data/ext/v8/upstream/2.0.6/tools/splaytree.py +0 -226
  440. data/ext/v8/upstream/2.0.6/tools/stats-viewer.py +0 -456
  441. data/ext/v8/upstream/2.0.6/tools/test.py +0 -1370
  442. data/ext/v8/upstream/2.0.6/tools/tickprocessor-driver.js +0 -53
  443. data/ext/v8/upstream/2.0.6/tools/tickprocessor.js +0 -731
  444. data/ext/v8/upstream/2.0.6/tools/tickprocessor.py +0 -535
  445. data/ext/v8/upstream/2.0.6/tools/utils.py +0 -82
  446. data/ext/v8/upstream/2.0.6/tools/visual_studio/README.txt +0 -71
  447. data/ext/v8/upstream/2.0.6/tools/visual_studio/arm.vsprops +0 -14
  448. data/ext/v8/upstream/2.0.6/tools/visual_studio/common.vsprops +0 -35
  449. data/ext/v8/upstream/2.0.6/tools/visual_studio/d8.vcproj +0 -199
  450. data/ext/v8/upstream/2.0.6/tools/visual_studio/d8_arm.vcproj +0 -199
  451. data/ext/v8/upstream/2.0.6/tools/visual_studio/d8_x64.vcproj +0 -201
  452. data/ext/v8/upstream/2.0.6/tools/visual_studio/d8js2c.cmd +0 -6
  453. data/ext/v8/upstream/2.0.6/tools/visual_studio/debug.vsprops +0 -17
  454. data/ext/v8/upstream/2.0.6/tools/visual_studio/ia32.vsprops +0 -13
  455. data/ext/v8/upstream/2.0.6/tools/visual_studio/js2c.cmd +0 -6
  456. data/ext/v8/upstream/2.0.6/tools/visual_studio/release.vsprops +0 -24
  457. data/ext/v8/upstream/2.0.6/tools/visual_studio/v8.sln +0 -101
  458. data/ext/v8/upstream/2.0.6/tools/visual_studio/v8.vcproj +0 -223
  459. data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_arm.sln +0 -74
  460. data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_arm.vcproj +0 -223
  461. data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_base.vcproj +0 -971
  462. data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_base_arm.vcproj +0 -983
  463. data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_base_x64.vcproj +0 -959
  464. data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_cctest.vcproj +0 -255
  465. data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_cctest_arm.vcproj +0 -243
  466. data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_cctest_x64.vcproj +0 -257
  467. data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_mksnapshot.vcproj +0 -151
  468. data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_mksnapshot_x64.vcproj +0 -151
  469. data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_process_sample.vcproj +0 -151
  470. data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_process_sample_arm.vcproj +0 -151
  471. data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_process_sample_x64.vcproj +0 -151
  472. data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_shell_sample.vcproj +0 -151
  473. data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_shell_sample_arm.vcproj +0 -151
  474. data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_shell_sample_x64.vcproj +0 -153
  475. data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_snapshot.vcproj +0 -142
  476. data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_snapshot_cc.vcproj +0 -92
  477. data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_snapshot_cc_x64.vcproj +0 -92
  478. data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_snapshot_x64.vcproj +0 -142
  479. data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_x64.sln +0 -101
  480. data/ext/v8/upstream/2.0.6/tools/visual_studio/v8_x64.vcproj +0 -223
  481. data/ext/v8/upstream/2.0.6/tools/visual_studio/x64.vsprops +0 -13
  482. data/ext/v8/upstream/2.0.6/tools/windows-tick-processor.bat +0 -5
  483. data/ext/v8/upstream/2.0.6/tools/windows-tick-processor.py +0 -137
  484. data/ext/v8/upstream/Makefile +0 -32
  485. data/ext/v8/upstream/fpic-on-linux-amd64.patch +0 -13
  486. data/ext/v8/upstream/no-strict-aliasing.patch +0 -13
  487. data/ext/v8/upstream/scons/CHANGES.txt +0 -5183
  488. data/ext/v8/upstream/scons/LICENSE.txt +0 -20
  489. data/ext/v8/upstream/scons/MANIFEST +0 -202
  490. data/ext/v8/upstream/scons/PKG-INFO +0 -13
  491. data/ext/v8/upstream/scons/README.txt +0 -273
  492. data/ext/v8/upstream/scons/RELEASE.txt +0 -1040
  493. data/ext/v8/upstream/scons/engine/SCons/Action.py +0 -1256
  494. data/ext/v8/upstream/scons/engine/SCons/Builder.py +0 -868
  495. data/ext/v8/upstream/scons/engine/SCons/CacheDir.py +0 -217
  496. data/ext/v8/upstream/scons/engine/SCons/Conftest.py +0 -794
  497. data/ext/v8/upstream/scons/engine/SCons/Debug.py +0 -237
  498. data/ext/v8/upstream/scons/engine/SCons/Defaults.py +0 -485
  499. data/ext/v8/upstream/scons/engine/SCons/Environment.py +0 -2327
  500. data/ext/v8/upstream/scons/engine/SCons/Errors.py +0 -207
  501. data/ext/v8/upstream/scons/engine/SCons/Executor.py +0 -636
  502. data/ext/v8/upstream/scons/engine/SCons/Job.py +0 -435
  503. data/ext/v8/upstream/scons/engine/SCons/Memoize.py +0 -292
  504. data/ext/v8/upstream/scons/engine/SCons/Node/Alias.py +0 -153
  505. data/ext/v8/upstream/scons/engine/SCons/Node/FS.py +0 -3220
  506. data/ext/v8/upstream/scons/engine/SCons/Node/Python.py +0 -128
  507. data/ext/v8/upstream/scons/engine/SCons/Node/__init__.py +0 -1341
  508. data/ext/v8/upstream/scons/engine/SCons/Options/BoolOption.py +0 -50
  509. data/ext/v8/upstream/scons/engine/SCons/Options/EnumOption.py +0 -50
  510. data/ext/v8/upstream/scons/engine/SCons/Options/ListOption.py +0 -50
  511. data/ext/v8/upstream/scons/engine/SCons/Options/PackageOption.py +0 -50
  512. data/ext/v8/upstream/scons/engine/SCons/Options/PathOption.py +0 -76
  513. data/ext/v8/upstream/scons/engine/SCons/Options/__init__.py +0 -74
  514. data/ext/v8/upstream/scons/engine/SCons/PathList.py +0 -232
  515. data/ext/v8/upstream/scons/engine/SCons/Platform/__init__.py +0 -236
  516. data/ext/v8/upstream/scons/engine/SCons/Platform/aix.py +0 -70
  517. data/ext/v8/upstream/scons/engine/SCons/Platform/cygwin.py +0 -55
  518. data/ext/v8/upstream/scons/engine/SCons/Platform/darwin.py +0 -46
  519. data/ext/v8/upstream/scons/engine/SCons/Platform/hpux.py +0 -46
  520. data/ext/v8/upstream/scons/engine/SCons/Platform/irix.py +0 -44
  521. data/ext/v8/upstream/scons/engine/SCons/Platform/os2.py +0 -58
  522. data/ext/v8/upstream/scons/engine/SCons/Platform/posix.py +0 -264
  523. data/ext/v8/upstream/scons/engine/SCons/Platform/sunos.py +0 -50
  524. data/ext/v8/upstream/scons/engine/SCons/Platform/win32.py +0 -386
  525. data/ext/v8/upstream/scons/engine/SCons/SConf.py +0 -1038
  526. data/ext/v8/upstream/scons/engine/SCons/SConsign.py +0 -381
  527. data/ext/v8/upstream/scons/engine/SCons/Scanner/C.py +0 -132
  528. data/ext/v8/upstream/scons/engine/SCons/Scanner/D.py +0 -74
  529. data/ext/v8/upstream/scons/engine/SCons/Scanner/Dir.py +0 -111
  530. data/ext/v8/upstream/scons/engine/SCons/Scanner/Fortran.py +0 -320
  531. data/ext/v8/upstream/scons/engine/SCons/Scanner/IDL.py +0 -48
  532. data/ext/v8/upstream/scons/engine/SCons/Scanner/LaTeX.py +0 -378
  533. data/ext/v8/upstream/scons/engine/SCons/Scanner/Prog.py +0 -103
  534. data/ext/v8/upstream/scons/engine/SCons/Scanner/RC.py +0 -55
  535. data/ext/v8/upstream/scons/engine/SCons/Scanner/__init__.py +0 -415
  536. data/ext/v8/upstream/scons/engine/SCons/Script/Interactive.py +0 -386
  537. data/ext/v8/upstream/scons/engine/SCons/Script/Main.py +0 -1360
  538. data/ext/v8/upstream/scons/engine/SCons/Script/SConsOptions.py +0 -944
  539. data/ext/v8/upstream/scons/engine/SCons/Script/SConscript.py +0 -642
  540. data/ext/v8/upstream/scons/engine/SCons/Script/__init__.py +0 -414
  541. data/ext/v8/upstream/scons/engine/SCons/Sig.py +0 -63
  542. data/ext/v8/upstream/scons/engine/SCons/Subst.py +0 -911
  543. data/ext/v8/upstream/scons/engine/SCons/Taskmaster.py +0 -1030
  544. data/ext/v8/upstream/scons/engine/SCons/Tool/386asm.py +0 -61
  545. data/ext/v8/upstream/scons/engine/SCons/Tool/BitKeeper.py +0 -65
  546. data/ext/v8/upstream/scons/engine/SCons/Tool/CVS.py +0 -73
  547. data/ext/v8/upstream/scons/engine/SCons/Tool/FortranCommon.py +0 -247
  548. data/ext/v8/upstream/scons/engine/SCons/Tool/JavaCommon.py +0 -324
  549. data/ext/v8/upstream/scons/engine/SCons/Tool/MSCommon/__init__.py +0 -56
  550. data/ext/v8/upstream/scons/engine/SCons/Tool/MSCommon/arch.py +0 -61
  551. data/ext/v8/upstream/scons/engine/SCons/Tool/MSCommon/common.py +0 -210
  552. data/ext/v8/upstream/scons/engine/SCons/Tool/MSCommon/netframework.py +0 -84
  553. data/ext/v8/upstream/scons/engine/SCons/Tool/MSCommon/sdk.py +0 -321
  554. data/ext/v8/upstream/scons/engine/SCons/Tool/MSCommon/vc.py +0 -367
  555. data/ext/v8/upstream/scons/engine/SCons/Tool/MSCommon/vs.py +0 -497
  556. data/ext/v8/upstream/scons/engine/SCons/Tool/Perforce.py +0 -104
  557. data/ext/v8/upstream/scons/engine/SCons/Tool/PharLapCommon.py +0 -138
  558. data/ext/v8/upstream/scons/engine/SCons/Tool/RCS.py +0 -64
  559. data/ext/v8/upstream/scons/engine/SCons/Tool/SCCS.py +0 -64
  560. data/ext/v8/upstream/scons/engine/SCons/Tool/Subversion.py +0 -71
  561. data/ext/v8/upstream/scons/engine/SCons/Tool/__init__.py +0 -675
  562. data/ext/v8/upstream/scons/engine/SCons/Tool/aixc++.py +0 -82
  563. data/ext/v8/upstream/scons/engine/SCons/Tool/aixcc.py +0 -74
  564. data/ext/v8/upstream/scons/engine/SCons/Tool/aixf77.py +0 -80
  565. data/ext/v8/upstream/scons/engine/SCons/Tool/aixlink.py +0 -76
  566. data/ext/v8/upstream/scons/engine/SCons/Tool/applelink.py +0 -71
  567. data/ext/v8/upstream/scons/engine/SCons/Tool/ar.py +0 -63
  568. data/ext/v8/upstream/scons/engine/SCons/Tool/as.py +0 -78
  569. data/ext/v8/upstream/scons/engine/SCons/Tool/bcc32.py +0 -82
  570. data/ext/v8/upstream/scons/engine/SCons/Tool/c++.py +0 -99
  571. data/ext/v8/upstream/scons/engine/SCons/Tool/cc.py +0 -114
  572. data/ext/v8/upstream/scons/engine/SCons/Tool/cvf.py +0 -58
  573. data/ext/v8/upstream/scons/engine/SCons/Tool/default.py +0 -50
  574. data/ext/v8/upstream/scons/engine/SCons/Tool/dmd.py +0 -224
  575. data/ext/v8/upstream/scons/engine/SCons/Tool/dvi.py +0 -64
  576. data/ext/v8/upstream/scons/engine/SCons/Tool/dvipdf.py +0 -125
  577. data/ext/v8/upstream/scons/engine/SCons/Tool/dvips.py +0 -94
  578. data/ext/v8/upstream/scons/engine/SCons/Tool/f77.py +0 -62
  579. data/ext/v8/upstream/scons/engine/SCons/Tool/f90.py +0 -62
  580. data/ext/v8/upstream/scons/engine/SCons/Tool/f95.py +0 -63
  581. data/ext/v8/upstream/scons/engine/SCons/Tool/filesystem.py +0 -98
  582. data/ext/v8/upstream/scons/engine/SCons/Tool/fortran.py +0 -63
  583. data/ext/v8/upstream/scons/engine/SCons/Tool/g++.py +0 -90
  584. data/ext/v8/upstream/scons/engine/SCons/Tool/g77.py +0 -73
  585. data/ext/v8/upstream/scons/engine/SCons/Tool/gas.py +0 -53
  586. data/ext/v8/upstream/scons/engine/SCons/Tool/gcc.py +0 -80
  587. data/ext/v8/upstream/scons/engine/SCons/Tool/gfortran.py +0 -64
  588. data/ext/v8/upstream/scons/engine/SCons/Tool/gnulink.py +0 -63
  589. data/ext/v8/upstream/scons/engine/SCons/Tool/gs.py +0 -81
  590. data/ext/v8/upstream/scons/engine/SCons/Tool/hpc++.py +0 -85
  591. data/ext/v8/upstream/scons/engine/SCons/Tool/hpcc.py +0 -53
  592. data/ext/v8/upstream/scons/engine/SCons/Tool/hplink.py +0 -77
  593. data/ext/v8/upstream/scons/engine/SCons/Tool/icc.py +0 -59
  594. data/ext/v8/upstream/scons/engine/SCons/Tool/icl.py +0 -52
  595. data/ext/v8/upstream/scons/engine/SCons/Tool/ifl.py +0 -72
  596. data/ext/v8/upstream/scons/engine/SCons/Tool/ifort.py +0 -90
  597. data/ext/v8/upstream/scons/engine/SCons/Tool/ilink.py +0 -59
  598. data/ext/v8/upstream/scons/engine/SCons/Tool/ilink32.py +0 -60
  599. data/ext/v8/upstream/scons/engine/SCons/Tool/install.py +0 -229
  600. data/ext/v8/upstream/scons/engine/SCons/Tool/intelc.py +0 -490
  601. data/ext/v8/upstream/scons/engine/SCons/Tool/ipkg.py +0 -71
  602. data/ext/v8/upstream/scons/engine/SCons/Tool/jar.py +0 -110
  603. data/ext/v8/upstream/scons/engine/SCons/Tool/javac.py +0 -234
  604. data/ext/v8/upstream/scons/engine/SCons/Tool/javah.py +0 -138
  605. data/ext/v8/upstream/scons/engine/SCons/Tool/latex.py +0 -79
  606. data/ext/v8/upstream/scons/engine/SCons/Tool/lex.py +0 -99
  607. data/ext/v8/upstream/scons/engine/SCons/Tool/link.py +0 -121
  608. data/ext/v8/upstream/scons/engine/SCons/Tool/linkloc.py +0 -112
  609. data/ext/v8/upstream/scons/engine/SCons/Tool/m4.py +0 -63
  610. data/ext/v8/upstream/scons/engine/SCons/Tool/masm.py +0 -77
  611. data/ext/v8/upstream/scons/engine/SCons/Tool/midl.py +0 -90
  612. data/ext/v8/upstream/scons/engine/SCons/Tool/mingw.py +0 -159
  613. data/ext/v8/upstream/scons/engine/SCons/Tool/mslib.py +0 -64
  614. data/ext/v8/upstream/scons/engine/SCons/Tool/mslink.py +0 -266
  615. data/ext/v8/upstream/scons/engine/SCons/Tool/mssdk.py +0 -50
  616. data/ext/v8/upstream/scons/engine/SCons/Tool/msvc.py +0 -269
  617. data/ext/v8/upstream/scons/engine/SCons/Tool/msvs.py +0 -1439
  618. data/ext/v8/upstream/scons/engine/SCons/Tool/mwcc.py +0 -208
  619. data/ext/v8/upstream/scons/engine/SCons/Tool/mwld.py +0 -107
  620. data/ext/v8/upstream/scons/engine/SCons/Tool/nasm.py +0 -72
  621. data/ext/v8/upstream/scons/engine/SCons/Tool/packaging/__init__.py +0 -314
  622. data/ext/v8/upstream/scons/engine/SCons/Tool/packaging/ipk.py +0 -185
  623. data/ext/v8/upstream/scons/engine/SCons/Tool/packaging/msi.py +0 -526
  624. data/ext/v8/upstream/scons/engine/SCons/Tool/packaging/rpm.py +0 -367
  625. data/ext/v8/upstream/scons/engine/SCons/Tool/packaging/src_tarbz2.py +0 -43
  626. data/ext/v8/upstream/scons/engine/SCons/Tool/packaging/src_targz.py +0 -43
  627. data/ext/v8/upstream/scons/engine/SCons/Tool/packaging/src_zip.py +0 -43
  628. data/ext/v8/upstream/scons/engine/SCons/Tool/packaging/tarbz2.py +0 -44
  629. data/ext/v8/upstream/scons/engine/SCons/Tool/packaging/targz.py +0 -44
  630. data/ext/v8/upstream/scons/engine/SCons/Tool/packaging/zip.py +0 -44
  631. data/ext/v8/upstream/scons/engine/SCons/Tool/pdf.py +0 -78
  632. data/ext/v8/upstream/scons/engine/SCons/Tool/pdflatex.py +0 -83
  633. data/ext/v8/upstream/scons/engine/SCons/Tool/pdftex.py +0 -108
  634. data/ext/v8/upstream/scons/engine/SCons/Tool/qt.py +0 -336
  635. data/ext/v8/upstream/scons/engine/SCons/Tool/rmic.py +0 -121
  636. data/ext/v8/upstream/scons/engine/SCons/Tool/rpcgen.py +0 -70
  637. data/ext/v8/upstream/scons/engine/SCons/Tool/rpm.py +0 -132
  638. data/ext/v8/upstream/scons/engine/SCons/Tool/sgiar.py +0 -68
  639. data/ext/v8/upstream/scons/engine/SCons/Tool/sgic++.py +0 -58
  640. data/ext/v8/upstream/scons/engine/SCons/Tool/sgicc.py +0 -53
  641. data/ext/v8/upstream/scons/engine/SCons/Tool/sgilink.py +0 -63
  642. data/ext/v8/upstream/scons/engine/SCons/Tool/sunar.py +0 -67
  643. data/ext/v8/upstream/scons/engine/SCons/Tool/sunc++.py +0 -142
  644. data/ext/v8/upstream/scons/engine/SCons/Tool/suncc.py +0 -58
  645. data/ext/v8/upstream/scons/engine/SCons/Tool/sunf77.py +0 -63
  646. data/ext/v8/upstream/scons/engine/SCons/Tool/sunf90.py +0 -64
  647. data/ext/v8/upstream/scons/engine/SCons/Tool/sunf95.py +0 -64
  648. data/ext/v8/upstream/scons/engine/SCons/Tool/sunlink.py +0 -77
  649. data/ext/v8/upstream/scons/engine/SCons/Tool/swig.py +0 -186
  650. data/ext/v8/upstream/scons/engine/SCons/Tool/tar.py +0 -73
  651. data/ext/v8/upstream/scons/engine/SCons/Tool/tex.py +0 -805
  652. data/ext/v8/upstream/scons/engine/SCons/Tool/textfile.py +0 -175
  653. data/ext/v8/upstream/scons/engine/SCons/Tool/tlib.py +0 -53
  654. data/ext/v8/upstream/scons/engine/SCons/Tool/wix.py +0 -100
  655. data/ext/v8/upstream/scons/engine/SCons/Tool/yacc.py +0 -131
  656. data/ext/v8/upstream/scons/engine/SCons/Tool/zip.py +0 -100
  657. data/ext/v8/upstream/scons/engine/SCons/Util.py +0 -1645
  658. data/ext/v8/upstream/scons/engine/SCons/Variables/BoolVariable.py +0 -91
  659. data/ext/v8/upstream/scons/engine/SCons/Variables/EnumVariable.py +0 -107
  660. data/ext/v8/upstream/scons/engine/SCons/Variables/ListVariable.py +0 -139
  661. data/ext/v8/upstream/scons/engine/SCons/Variables/PackageVariable.py +0 -109
  662. data/ext/v8/upstream/scons/engine/SCons/Variables/PathVariable.py +0 -147
  663. data/ext/v8/upstream/scons/engine/SCons/Variables/__init__.py +0 -317
  664. data/ext/v8/upstream/scons/engine/SCons/Warnings.py +0 -228
  665. data/ext/v8/upstream/scons/engine/SCons/__init__.py +0 -49
  666. data/ext/v8/upstream/scons/engine/SCons/compat/__init__.py +0 -302
  667. data/ext/v8/upstream/scons/engine/SCons/compat/_scons_UserString.py +0 -98
  668. data/ext/v8/upstream/scons/engine/SCons/compat/_scons_hashlib.py +0 -91
  669. data/ext/v8/upstream/scons/engine/SCons/compat/_scons_itertools.py +0 -124
  670. data/ext/v8/upstream/scons/engine/SCons/compat/_scons_optparse.py +0 -1725
  671. data/ext/v8/upstream/scons/engine/SCons/compat/_scons_sets.py +0 -583
  672. data/ext/v8/upstream/scons/engine/SCons/compat/_scons_sets15.py +0 -176
  673. data/ext/v8/upstream/scons/engine/SCons/compat/_scons_shlex.py +0 -325
  674. data/ext/v8/upstream/scons/engine/SCons/compat/_scons_subprocess.py +0 -1296
  675. data/ext/v8/upstream/scons/engine/SCons/compat/_scons_textwrap.py +0 -382
  676. data/ext/v8/upstream/scons/engine/SCons/compat/builtins.py +0 -187
  677. data/ext/v8/upstream/scons/engine/SCons/cpp.py +0 -598
  678. data/ext/v8/upstream/scons/engine/SCons/dblite.py +0 -248
  679. data/ext/v8/upstream/scons/engine/SCons/exitfuncs.py +0 -77
  680. data/ext/v8/upstream/scons/os_spawnv_fix.diff +0 -83
  681. data/ext/v8/upstream/scons/scons-time.1 +0 -1017
  682. data/ext/v8/upstream/scons/scons.1 +0 -15179
  683. data/ext/v8/upstream/scons/sconsign.1 +0 -208
  684. data/ext/v8/upstream/scons/script/scons +0 -184
  685. data/ext/v8/upstream/scons/script/scons-time +0 -1529
  686. data/ext/v8/upstream/scons/script/scons.bat +0 -31
  687. data/ext/v8/upstream/scons/script/sconsign +0 -508
  688. data/ext/v8/upstream/scons/setup.cfg +0 -6
  689. data/ext/v8/upstream/scons/setup.py +0 -427
  690. data/ext/v8/v8.cpp +0 -89
  691. data/ext/v8/v8_cxt.cpp +0 -92
  692. data/ext/v8/v8_cxt.h +0 -20
  693. data/ext/v8/v8_func.cpp +0 -10
  694. data/ext/v8/v8_func.h +0 -11
  695. data/ext/v8/v8_msg.cpp +0 -54
  696. data/ext/v8/v8_msg.h +0 -18
  697. data/ext/v8/v8_obj.cpp +0 -52
  698. data/ext/v8/v8_obj.h +0 -13
  699. data/ext/v8/v8_ref.cpp +0 -26
  700. data/ext/v8/v8_ref.h +0 -31
  701. data/ext/v8/v8_script.cpp +0 -20
  702. data/ext/v8/v8_script.h +0 -8
  703. data/ext/v8/v8_standalone.cpp +0 -69
  704. data/ext/v8/v8_standalone.h +0 -31
  705. data/ext/v8/v8_str.cpp +0 -17
  706. data/ext/v8/v8_str.h +0 -9
  707. data/ext/v8/v8_template.cpp +0 -53
  708. data/ext/v8/v8_template.h +0 -13
  709. data/lib/v8/to.rb +0 -33
  710. data/lib/v8/v8.so +0 -0
  711. data/script/console +0 -10
  712. data/script/destroy +0 -14
  713. data/script/generate +0 -14
  714. data/spec/ext/cxt_spec.rb +0 -25
  715. data/spec/ext/obj_spec.rb +0 -13
  716. data/spec/redjs/jsapi_spec.rb +0 -405
  717. data/spec/redjs/tap.rb +0 -8
  718. data/spec/redjs_helper.rb +0 -3
  719. data/spec/spec.opts +0 -1
  720. data/spec/v8/to_spec.rb +0 -15
  721. data/tasks/rspec.rake +0 -21
@@ -1,371 +0,0 @@
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_FAST_CODEGEN_H_
29
- #define V8_FAST_CODEGEN_H_
30
-
31
- #include "v8.h"
32
-
33
- #include "ast.h"
34
-
35
- namespace v8 {
36
- namespace internal {
37
-
38
- // -----------------------------------------------------------------------------
39
- // Fast code generator.
40
-
41
- class FastCodeGenerator: public AstVisitor {
42
- public:
43
- FastCodeGenerator(MacroAssembler* masm, Handle<Script> script, bool is_eval)
44
- : masm_(masm),
45
- function_(NULL),
46
- script_(script),
47
- is_eval_(is_eval),
48
- nesting_stack_(NULL),
49
- loop_depth_(0),
50
- location_(kStack),
51
- true_label_(NULL),
52
- false_label_(NULL) {
53
- }
54
-
55
- static Handle<Code> MakeCode(FunctionLiteral* fun,
56
- Handle<Script> script,
57
- bool is_eval);
58
-
59
- void Generate(FunctionLiteral* fun);
60
-
61
- private:
62
- class Breakable;
63
- class Iteration;
64
- class TryCatch;
65
- class TryFinally;
66
- class Finally;
67
- class ForIn;
68
-
69
- class NestedStatement BASE_EMBEDDED {
70
- public:
71
- explicit NestedStatement(FastCodeGenerator* codegen) : codegen_(codegen) {
72
- // Link into codegen's nesting stack.
73
- previous_ = codegen->nesting_stack_;
74
- codegen->nesting_stack_ = this;
75
- }
76
- virtual ~NestedStatement() {
77
- // Unlink from codegen's nesting stack.
78
- ASSERT_EQ(this, codegen_->nesting_stack_);
79
- codegen_->nesting_stack_ = previous_;
80
- }
81
-
82
- virtual Breakable* AsBreakable() { return NULL; }
83
- virtual Iteration* AsIteration() { return NULL; }
84
- virtual TryCatch* AsTryCatch() { return NULL; }
85
- virtual TryFinally* AsTryFinally() { return NULL; }
86
- virtual Finally* AsFinally() { return NULL; }
87
- virtual ForIn* AsForIn() { return NULL; }
88
-
89
- virtual bool IsContinueTarget(Statement* target) { return false; }
90
- virtual bool IsBreakTarget(Statement* target) { return false; }
91
-
92
- // Generate code to leave the nested statement. This includes
93
- // cleaning up any stack elements in use and restoring the
94
- // stack to the expectations of the surrounding statements.
95
- // Takes a number of stack elements currently on top of the
96
- // nested statement's stack, and returns a number of stack
97
- // elements left on top of the surrounding statement's stack.
98
- // The generated code must preserve the result register (which
99
- // contains the value in case of a return).
100
- virtual int Exit(int stack_depth) {
101
- // Default implementation for the case where there is
102
- // nothing to clean up.
103
- return stack_depth;
104
- }
105
- NestedStatement* outer() { return previous_; }
106
- protected:
107
- MacroAssembler* masm() { return codegen_->masm(); }
108
- private:
109
- FastCodeGenerator* codegen_;
110
- NestedStatement* previous_;
111
- DISALLOW_COPY_AND_ASSIGN(NestedStatement);
112
- };
113
-
114
- class Breakable : public NestedStatement {
115
- public:
116
- Breakable(FastCodeGenerator* codegen,
117
- BreakableStatement* break_target)
118
- : NestedStatement(codegen),
119
- target_(break_target) {}
120
- virtual ~Breakable() {}
121
- virtual Breakable* AsBreakable() { return this; }
122
- virtual bool IsBreakTarget(Statement* statement) {
123
- return target_ == statement;
124
- }
125
- BreakableStatement* statement() { return target_; }
126
- Label* break_target() { return &break_target_label_; }
127
- private:
128
- BreakableStatement* target_;
129
- Label break_target_label_;
130
- DISALLOW_COPY_AND_ASSIGN(Breakable);
131
- };
132
-
133
- class Iteration : public Breakable {
134
- public:
135
- Iteration(FastCodeGenerator* codegen,
136
- IterationStatement* iteration_statement)
137
- : Breakable(codegen, iteration_statement) {}
138
- virtual ~Iteration() {}
139
- virtual Iteration* AsIteration() { return this; }
140
- virtual bool IsContinueTarget(Statement* statement) {
141
- return this->statement() == statement;
142
- }
143
- Label* continue_target() { return &continue_target_label_; }
144
- private:
145
- Label continue_target_label_;
146
- DISALLOW_COPY_AND_ASSIGN(Iteration);
147
- };
148
-
149
- // The environment inside the try block of a try/catch statement.
150
- class TryCatch : public NestedStatement {
151
- public:
152
- explicit TryCatch(FastCodeGenerator* codegen, Label* catch_entry)
153
- : NestedStatement(codegen), catch_entry_(catch_entry) { }
154
- virtual ~TryCatch() {}
155
- virtual TryCatch* AsTryCatch() { return this; }
156
- Label* catch_entry() { return catch_entry_; }
157
- virtual int Exit(int stack_depth);
158
- private:
159
- Label* catch_entry_;
160
- DISALLOW_COPY_AND_ASSIGN(TryCatch);
161
- };
162
-
163
- // The environment inside the try block of a try/finally statement.
164
- class TryFinally : public NestedStatement {
165
- public:
166
- explicit TryFinally(FastCodeGenerator* codegen, Label* finally_entry)
167
- : NestedStatement(codegen), finally_entry_(finally_entry) { }
168
- virtual ~TryFinally() {}
169
- virtual TryFinally* AsTryFinally() { return this; }
170
- Label* finally_entry() { return finally_entry_; }
171
- virtual int Exit(int stack_depth);
172
- private:
173
- Label* finally_entry_;
174
- DISALLOW_COPY_AND_ASSIGN(TryFinally);
175
- };
176
-
177
- // A FinallyEnvironment represents being inside a finally block.
178
- // Abnormal termination of the finally block needs to clean up
179
- // the block's parameters from the stack.
180
- class Finally : public NestedStatement {
181
- public:
182
- explicit Finally(FastCodeGenerator* codegen) : NestedStatement(codegen) { }
183
- virtual ~Finally() {}
184
- virtual Finally* AsFinally() { return this; }
185
- virtual int Exit(int stack_depth) {
186
- return stack_depth + kFinallyStackElementCount;
187
- }
188
- private:
189
- // Number of extra stack slots occupied during a finally block.
190
- static const int kFinallyStackElementCount = 2;
191
- DISALLOW_COPY_AND_ASSIGN(Finally);
192
- };
193
-
194
- // A ForInEnvironment represents being inside a for-in loop.
195
- // Abnormal termination of the for-in block needs to clean up
196
- // the block's temporary storage from the stack.
197
- class ForIn : public Iteration {
198
- public:
199
- ForIn(FastCodeGenerator* codegen,
200
- ForInStatement* statement)
201
- : Iteration(codegen, statement) { }
202
- virtual ~ForIn() {}
203
- virtual ForIn* AsForIn() { return this; }
204
- virtual int Exit(int stack_depth) {
205
- return stack_depth + kForInStackElementCount;
206
- }
207
- private:
208
- // TODO(lrn): Check that this value is correct when implementing
209
- // for-in.
210
- static const int kForInStackElementCount = 5;
211
- DISALLOW_COPY_AND_ASSIGN(ForIn);
212
- };
213
-
214
- enum Location {
215
- kAccumulator,
216
- kStack
217
- };
218
-
219
- int SlotOffset(Slot* slot);
220
-
221
- // Emit code to convert a pure value (in a register, slot, as a literal,
222
- // or on top of the stack) into the result expected according to an
223
- // expression context.
224
- void Apply(Expression::Context context, Register reg);
225
- void Apply(Expression::Context context, Slot* slot);
226
- void Apply(Expression::Context context, Literal* lit);
227
- void ApplyTOS(Expression::Context context);
228
-
229
- // Emit code to discard count elements from the top of stack, then convert
230
- // a pure value into the result expected according to an expression
231
- // context.
232
- void DropAndApply(int count, Expression::Context context, Register reg);
233
-
234
- // Emit code to convert pure control flow to a pair of labels into the
235
- // result expected according to an expression context.
236
- void Apply(Expression::Context context,
237
- Label* materialize_true,
238
- Label* materialize_false);
239
-
240
- // Helper function to convert a pure value into a test context. The value
241
- // is expected on the stack or the accumulator, depending on the platform.
242
- // See the platform-specific implementation for details.
243
- void DoTest(Expression::Context context);
244
-
245
- void Move(Slot* dst, Register source, Register scratch1, Register scratch2);
246
- void Move(Register dst, Slot* source);
247
-
248
- // Return an operand used to read/write to a known (ie, non-LOOKUP) slot.
249
- // May emit code to traverse the context chain, destroying the scratch
250
- // register.
251
- MemOperand EmitSlotSearch(Slot* slot, Register scratch);
252
-
253
- void VisitForValue(Expression* expr, Location where) {
254
- ASSERT(expr->context() == Expression::kValue);
255
- Location saved_location = location_;
256
- location_ = where;
257
- Visit(expr);
258
- location_ = saved_location;
259
- }
260
-
261
- void VisitForControl(Expression* expr, Label* if_true, Label* if_false) {
262
- ASSERT(expr->context() == Expression::kTest ||
263
- expr->context() == Expression::kValueTest ||
264
- expr->context() == Expression::kTestValue);
265
- Label* saved_true = true_label_;
266
- Label* saved_false = false_label_;
267
- true_label_ = if_true;
268
- false_label_ = if_false;
269
- Visit(expr);
270
- true_label_ = saved_true;
271
- false_label_ = saved_false;
272
- }
273
-
274
- void VisitDeclarations(ZoneList<Declaration*>* declarations);
275
- void DeclareGlobals(Handle<FixedArray> pairs);
276
-
277
- // Platform-specific return sequence
278
- void EmitReturnSequence(int position);
279
-
280
- // Platform-specific code sequences for calls
281
- void EmitCallWithStub(Call* expr);
282
- void EmitCallWithIC(Call* expr, Handle<Object> name, RelocInfo::Mode mode);
283
-
284
- // Platform-specific code for loading variables.
285
- void EmitVariableLoad(Variable* expr, Expression::Context context);
286
-
287
- // Platform-specific support for compiling assignments.
288
-
289
- // Load a value from a named property.
290
- // The receiver is left on the stack by the IC.
291
- void EmitNamedPropertyLoad(Property* expr);
292
-
293
- // Load a value from a keyed property.
294
- // The receiver and the key is left on the stack by the IC.
295
- void EmitKeyedPropertyLoad(Property* expr);
296
-
297
- // Apply the compound assignment operator. Expects the left operand on top
298
- // of the stack and the right one in the accumulator.
299
- void EmitBinaryOp(Token::Value op, Expression::Context context);
300
-
301
- // Complete a variable assignment. The right-hand-side value is expected
302
- // in the accumulator.
303
- void EmitVariableAssignment(Variable* var, Expression::Context context);
304
-
305
- // Complete a named property assignment. The receiver is expected on top
306
- // of the stack and the right-hand-side value in the accumulator.
307
- void EmitNamedPropertyAssignment(Assignment* expr);
308
-
309
- // Complete a keyed property assignment. The receiver and key are
310
- // expected on top of the stack and the right-hand-side value in the
311
- // accumulator.
312
- void EmitKeyedPropertyAssignment(Assignment* expr);
313
-
314
- void SetFunctionPosition(FunctionLiteral* fun);
315
- void SetReturnPosition(FunctionLiteral* fun);
316
- void SetStatementPosition(Statement* stmt);
317
- void SetStatementPosition(int pos);
318
- void SetSourcePosition(int pos);
319
-
320
- // Non-local control flow support.
321
- void EnterFinallyBlock();
322
- void ExitFinallyBlock();
323
-
324
- // Loop nesting counter.
325
- int loop_depth() { return loop_depth_; }
326
- void increment_loop_depth() { loop_depth_++; }
327
- void decrement_loop_depth() {
328
- ASSERT(loop_depth_ > 0);
329
- loop_depth_--;
330
- }
331
-
332
- MacroAssembler* masm() { return masm_; }
333
- static Register result_register();
334
- static Register context_register();
335
-
336
- // Set fields in the stack frame. Offsets are the frame pointer relative
337
- // offsets defined in, e.g., StandardFrameConstants.
338
- void StoreToFrameField(int frame_offset, Register value);
339
-
340
- // Load a value from the current context. Indices are defined as an enum
341
- // in v8::internal::Context.
342
- void LoadContextField(Register dst, int context_index);
343
-
344
- // AST node visit functions.
345
- #define DECLARE_VISIT(type) virtual void Visit##type(type* node);
346
- AST_NODE_LIST(DECLARE_VISIT)
347
- #undef DECLARE_VISIT
348
- // Handles the shortcutted logical binary operations in VisitBinaryOperation.
349
- void EmitLogicalOperation(BinaryOperation* expr);
350
-
351
- MacroAssembler* masm_;
352
- FunctionLiteral* function_;
353
- Handle<Script> script_;
354
- bool is_eval_;
355
- Label return_label_;
356
- NestedStatement* nesting_stack_;
357
- int loop_depth_;
358
-
359
- Location location_;
360
- Label* true_label_;
361
- Label* false_label_;
362
-
363
- friend class NestedStatement;
364
-
365
- DISALLOW_COPY_AND_ASSIGN(FastCodeGenerator);
366
- };
367
-
368
-
369
- } } // namespace v8::internal
370
-
371
- #endif // V8_FAST_CODEGEN_H_
@@ -1,426 +0,0 @@
1
- // Copyright 2008 the V8 project authors. All rights reserved.
2
- // Redistribution and use in source and binary forms, with or without
3
- // modification, are permitted provided that the following conditions are
4
- // met:
5
- //
6
- // * Redistributions of source code must retain the above copyright
7
- // notice, this list of conditions and the following disclaimer.
8
- // * Redistributions in binary form must reproduce the above
9
- // copyright notice, this list of conditions and the following
10
- // disclaimer in the documentation and/or other materials provided
11
- // with the distribution.
12
- // * Neither the name of Google Inc. nor the names of its
13
- // contributors may be used to endorse or promote products derived
14
- // from this software without specific prior written permission.
15
- //
16
- // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
17
- // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
18
- // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
19
- // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
20
- // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
21
- // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22
- // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23
- // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24
- // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25
- // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
26
- // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
-
28
- // This file defines all of the flags. It is separated into different section,
29
- // for Debug, Release, Logging and Profiling, etc. To add a new flag, find the
30
- // correct section, and use one of the DEFINE_ macros, without a trailing ';'.
31
- //
32
- // This include does not have a guard, because it is a template-style include,
33
- // which can be included multiple times in different modes. It expects to have
34
- // a mode defined before it's included. The modes are FLAG_MODE_... below:
35
-
36
- // We want to declare the names of the variables for the header file. Normally
37
- // this will just be an extern declaration, but for a readonly flag we let the
38
- // compiler make better optimizations by giving it the value.
39
- #if defined(FLAG_MODE_DECLARE)
40
- #define FLAG_FULL(ftype, ctype, nam, def, cmt) \
41
- extern ctype FLAG_##nam;
42
- #define FLAG_READONLY(ftype, ctype, nam, def, cmt) \
43
- static ctype const FLAG_##nam = def;
44
-
45
- // We want to supply the actual storage and value for the flag variable in the
46
- // .cc file. We only do this for writable flags.
47
- #elif defined(FLAG_MODE_DEFINE)
48
- #define FLAG_FULL(ftype, ctype, nam, def, cmt) \
49
- ctype FLAG_##nam = def;
50
- #define FLAG_READONLY(ftype, ctype, nam, def, cmt)
51
-
52
- // We need to define all of our default values so that the Flag structure can
53
- // access them by pointer. These are just used internally inside of one .cc,
54
- // for MODE_META, so there is no impact on the flags interface.
55
- #elif defined(FLAG_MODE_DEFINE_DEFAULTS)
56
- #define FLAG_FULL(ftype, ctype, nam, def, cmt) \
57
- static ctype const FLAGDEFAULT_##nam = def;
58
- #define FLAG_READONLY(ftype, ctype, nam, def, cmt)
59
-
60
-
61
- // We want to write entries into our meta data table, for internal parsing and
62
- // printing / etc in the flag parser code. We only do this for writable flags.
63
- #elif defined(FLAG_MODE_META)
64
- #define FLAG_FULL(ftype, ctype, nam, def, cmt) \
65
- { Flag::TYPE_##ftype, #nam, &FLAG_##nam, &FLAGDEFAULT_##nam, cmt, false },
66
- #define FLAG_READONLY(ftype, ctype, nam, def, cmt)
67
-
68
- #else
69
- #error No mode supplied when including flags.defs
70
- #endif
71
-
72
- #ifdef FLAG_MODE_DECLARE
73
- // Structure used to hold a collection of arguments to the JavaScript code.
74
- struct JSArguments {
75
- public:
76
- JSArguments();
77
- JSArguments(int argc, const char** argv);
78
- int argc() const;
79
- const char** argv();
80
- const char*& operator[](int idx);
81
- JSArguments& operator=(JSArguments args);
82
- private:
83
- int argc_;
84
- const char** argv_;
85
- };
86
- #endif
87
-
88
- #define DEFINE_bool(nam, def, cmt) FLAG(BOOL, bool, nam, def, cmt)
89
- #define DEFINE_int(nam, def, cmt) FLAG(INT, int, nam, def, cmt)
90
- #define DEFINE_float(nam, def, cmt) FLAG(FLOAT, double, nam, def, cmt)
91
- #define DEFINE_string(nam, def, cmt) FLAG(STRING, const char*, nam, def, cmt)
92
- #define DEFINE_args(nam, def, cmt) FLAG(ARGS, JSArguments, nam, def, cmt)
93
-
94
- //
95
- // Flags in all modes.
96
- //
97
- #define FLAG FLAG_FULL
98
-
99
- // assembler-ia32.cc / assembler-arm.cc / assembler-x64.cc
100
- DEFINE_bool(debug_code, false,
101
- "generate extra code (comments, assertions) for debugging")
102
- DEFINE_bool(emit_branch_hints, false, "emit branch hints")
103
- DEFINE_bool(push_pop_elimination, true,
104
- "eliminate redundant push/pops in assembly code")
105
- DEFINE_bool(print_push_pop_elimination, false,
106
- "print elimination of redundant push/pops in assembly code")
107
- DEFINE_bool(enable_sse2, true,
108
- "enable use of SSE2 instructions if available")
109
- DEFINE_bool(enable_sse3, true,
110
- "enable use of SSE3 instructions if available")
111
- DEFINE_bool(enable_cmov, true,
112
- "enable use of CMOV instruction if available")
113
- DEFINE_bool(enable_rdtsc, true,
114
- "enable use of RDTSC instruction if available")
115
- DEFINE_bool(enable_sahf, true,
116
- "enable use of SAHF instruction if available (X64 only)")
117
- DEFINE_bool(enable_vfp3, true,
118
- "enable use of VFP3 instructions if available (ARM only)")
119
-
120
- // bootstrapper.cc
121
- DEFINE_string(expose_natives_as, NULL, "expose natives in global object")
122
- DEFINE_string(expose_debug_as, NULL, "expose debug in global object")
123
- DEFINE_string(natives_file, NULL, "alternative natives file")
124
- DEFINE_bool(expose_gc, false, "expose gc extension")
125
- DEFINE_int(stack_trace_limit, 10, "number of stack frames to capture")
126
-
127
- // builtins-ia32.cc
128
- DEFINE_bool(inline_new, true, "use fast inline allocation")
129
-
130
- // checks.cc
131
- DEFINE_bool(stack_trace_on_abort, true,
132
- "print a stack trace if an assertion failure occurs")
133
-
134
- // codegen-ia32.cc / codegen-arm.cc
135
- DEFINE_bool(trace, false, "trace function calls")
136
- DEFINE_bool(defer_negation, true, "defer negation operation")
137
-
138
- // codegen.cc
139
- DEFINE_bool(lazy, true, "use lazy compilation")
140
- DEFINE_bool(debug_info, true, "add debug information to compiled functions")
141
-
142
- // compiler.cc
143
- DEFINE_bool(strict, false, "strict error checking")
144
- DEFINE_int(min_preparse_length, 1024,
145
- "minimum length for automatic enable preparsing")
146
- DEFINE_bool(fast_compiler, true,
147
- "use the fast-mode compiler for some top-level code")
148
- DEFINE_bool(trace_bailout, false,
149
- "print reasons for failing to use fast compilation")
150
- DEFINE_bool(always_fast_compiler, false,
151
- "always try using the fast compiler")
152
-
153
- // compilation-cache.cc
154
- DEFINE_bool(compilation_cache, true, "enable compilation cache")
155
-
156
- // debug.cc
157
- DEFINE_bool(remote_debugging, false, "enable remote debugging")
158
- DEFINE_bool(trace_debug_json, false, "trace debugging JSON request/response")
159
- DEFINE_bool(debugger_auto_break, true,
160
- "automatically set the debug break flag when debugger commands are "
161
- "in the queue")
162
-
163
- // frames.cc
164
- DEFINE_int(max_stack_trace_source_length, 300,
165
- "maximum length of function source code printed in a stack trace.")
166
-
167
- // heap.cc
168
- DEFINE_int(max_new_space_size, 0, "max size of the new generation")
169
- DEFINE_int(max_old_space_size, 0, "max size of the old generation")
170
- DEFINE_bool(gc_global, false, "always perform global GCs")
171
- DEFINE_int(gc_interval, -1, "garbage collect after <n> allocations")
172
- DEFINE_bool(trace_gc, false,
173
- "print one trace line following each garbage collection")
174
- DEFINE_bool(trace_gc_verbose, false,
175
- "print more details following each garbage collection")
176
- DEFINE_bool(collect_maps, true,
177
- "garbage collect maps from which no objects can be reached")
178
-
179
- // v8.cc
180
- DEFINE_bool(use_idle_notification, true,
181
- "Use idle notification to reduce memory footprint.")
182
- // ic.cc
183
- DEFINE_bool(use_ic, true, "use inline caching")
184
-
185
- // macro-assembler-ia32.cc
186
- DEFINE_bool(native_code_counters, false,
187
- "generate extra code for manipulating stats counters")
188
-
189
- // mark-compact.cc
190
- DEFINE_bool(always_compact, false, "Perform compaction on every full GC")
191
- DEFINE_bool(never_compact, false,
192
- "Never perform compaction on full GC - testing only")
193
- DEFINE_bool(cleanup_ics_at_gc, true,
194
- "Flush inline caches prior to mark compact collection.")
195
- DEFINE_bool(cleanup_caches_in_maps_at_gc, true,
196
- "Flush code caches in maps during mark compact cycle.")
197
-
198
- DEFINE_bool(canonicalize_object_literal_maps, true,
199
- "Canonicalize maps for object literals.")
200
-
201
- DEFINE_bool(use_big_map_space, true,
202
- "Use big map space, but don't compact if it grew too big.")
203
-
204
- DEFINE_int(max_map_space_pages, MapSpace::kMaxMapPageIndex - 1,
205
- "Maximum number of pages in map space which still allows to encode "
206
- "forwarding pointers. That's actually a constant, but it's useful "
207
- "to control it with a flag for better testing.")
208
-
209
- // mksnapshot.cc
210
- DEFINE_bool(h, false, "print this message")
211
- DEFINE_bool(new_snapshot, true, "use new snapshot implementation")
212
-
213
- // parser.cc
214
- DEFINE_bool(allow_natives_syntax, false, "allow natives syntax")
215
-
216
- // rewriter.cc
217
- DEFINE_bool(optimize_ast, true, "optimize the ast")
218
-
219
- // simulator-arm.cc
220
- DEFINE_bool(trace_sim, false, "trace simulator execution")
221
- DEFINE_int(stop_sim_at, 0, "Simulator stop after x number of instructions")
222
-
223
- // top.cc
224
- DEFINE_bool(trace_exception, false,
225
- "print stack trace when throwing exceptions")
226
- DEFINE_bool(preallocate_message_memory, false,
227
- "preallocate some memory to build stack traces.")
228
-
229
- // usage-analyzer.cc
230
- DEFINE_bool(usage_computation, true, "compute variable usage counts")
231
-
232
- // v8.cc
233
- DEFINE_bool(preemption, false,
234
- "activate a 100ms timer that switches between V8 threads")
235
-
236
- // Regexp
237
- DEFINE_bool(trace_regexps, false, "trace regexp execution")
238
- DEFINE_bool(regexp_optimization, true, "generate optimized regexp code")
239
- DEFINE_bool(regexp_entry_native, true, "use native code to enter regexp")
240
-
241
- // Testing flags test/cctest/test-{flags,api,serialization}.cc
242
- DEFINE_bool(testing_bool_flag, true, "testing_bool_flag")
243
- DEFINE_int(testing_int_flag, 13, "testing_int_flag")
244
- DEFINE_float(testing_float_flag, 2.5, "float-flag")
245
- DEFINE_string(testing_string_flag, "Hello, world!", "string-flag")
246
- DEFINE_int(testing_prng_seed, 42, "Seed used for threading test randomness")
247
- #ifdef WIN32
248
- DEFINE_string(testing_serialization_file, "C:\\Windows\\Temp\\serdes",
249
- "file in which to testing_serialize heap")
250
- #else
251
- DEFINE_string(testing_serialization_file, "/tmp/serdes",
252
- "file in which to serialize heap")
253
- #endif
254
-
255
- //
256
- // Dev shell flags
257
- //
258
-
259
- DEFINE_bool(help, false, "Print usage message, including flags, on console")
260
- DEFINE_bool(dump_counters, false, "Dump counters on exit")
261
- DEFINE_bool(debugger, true, "Enable JavaScript debugger")
262
- DEFINE_bool(remote_debugger, false, "Connect JavaScript debugger to the "
263
- "debugger agent in another process")
264
- DEFINE_bool(debugger_agent, false, "Enable debugger agent")
265
- DEFINE_int(debugger_port, 5858, "Port to use for remote debugging")
266
- DEFINE_string(map_counters, false, "Map counters to a file")
267
- DEFINE_args(js_arguments, JSArguments(),
268
- "Pass all remaining arguments to the script. Alias for \"--\".")
269
-
270
- //
271
- // Debug only flags
272
- //
273
- #undef FLAG
274
- #ifdef DEBUG
275
- #define FLAG FLAG_FULL
276
- #else
277
- #define FLAG FLAG_READONLY
278
- #endif
279
-
280
- // checks.cc
281
- DEFINE_bool(enable_slow_asserts, false,
282
- "enable asserts that are slow to execute")
283
-
284
- // codegen-ia32.cc / codegen-arm.cc
285
- DEFINE_bool(trace_codegen, false,
286
- "print name of functions for which code is generated")
287
- DEFINE_bool(print_source, false, "pretty print source code")
288
- DEFINE_bool(print_builtin_source, false,
289
- "pretty print source code for builtins")
290
- DEFINE_bool(print_ast, false, "print source AST")
291
- DEFINE_bool(print_builtin_ast, false, "print source AST for builtins")
292
- DEFINE_bool(print_json_ast, false, "print source AST as JSON")
293
- DEFINE_bool(print_builtin_json_ast, false,
294
- "print source AST for builtins as JSON")
295
- DEFINE_bool(trace_calls, false, "trace calls")
296
- DEFINE_bool(trace_builtin_calls, false, "trace builtins calls")
297
- DEFINE_string(stop_at, "", "function name where to insert a breakpoint")
298
-
299
- // compiler.cc
300
- DEFINE_bool(print_builtin_scopes, false, "print scopes for builtins")
301
- DEFINE_bool(print_scopes, false, "print scopes")
302
-
303
- // contexts.cc
304
- DEFINE_bool(trace_contexts, false, "trace contexts operations")
305
-
306
- // heap.cc
307
- DEFINE_bool(gc_greedy, false, "perform GC prior to some allocations")
308
- DEFINE_bool(gc_verbose, false, "print stuff during garbage collection")
309
- DEFINE_bool(heap_stats, false, "report heap statistics before and after GC")
310
- DEFINE_bool(code_stats, false, "report code statistics after GC")
311
- DEFINE_bool(verify_heap, false, "verify heap pointers before and after GC")
312
- DEFINE_bool(print_handles, false, "report handles after GC")
313
- DEFINE_bool(print_global_handles, false, "report global handles after GC")
314
- DEFINE_bool(print_rset, false, "print remembered sets before GC")
315
-
316
- // ic.cc
317
- DEFINE_bool(trace_ic, false, "trace inline cache state transitions")
318
-
319
- // objects.cc
320
- DEFINE_bool(trace_normalization,
321
- false,
322
- "prints when objects are turned into dictionaries.")
323
-
324
- // runtime.cc
325
- DEFINE_bool(trace_lazy, false, "trace lazy compilation")
326
-
327
- // serialize.cc
328
- DEFINE_bool(debug_serialization, false,
329
- "write debug information into the snapshot.")
330
-
331
- // spaces.cc
332
- DEFINE_bool(collect_heap_spill_statistics, false,
333
- "report heap spill statistics along with heap_stats "
334
- "(requires heap_stats)")
335
-
336
- // Regexp
337
- DEFINE_bool(regexp_possessive_quantifier,
338
- false,
339
- "enable possessive quantifier syntax for testing")
340
- DEFINE_bool(trace_regexp_bytecodes, false, "trace regexp bytecode execution")
341
- DEFINE_bool(trace_regexp_assembler,
342
- false,
343
- "trace regexp macro assembler calls.")
344
-
345
- //
346
- // Logging and profiling only flags
347
- //
348
- #undef FLAG
349
- #ifdef ENABLE_LOGGING_AND_PROFILING
350
- #define FLAG FLAG_FULL
351
- #else
352
- #define FLAG FLAG_READONLY
353
- #endif
354
-
355
- // log.cc
356
- DEFINE_bool(log, false,
357
- "Minimal logging (no API, code, GC, suspect, or handles samples).")
358
- DEFINE_bool(log_all, false, "Log all events to the log file.")
359
- DEFINE_bool(log_runtime, false, "Activate runtime system %Log call.")
360
- DEFINE_bool(log_api, false, "Log API events to the log file.")
361
- DEFINE_bool(log_code, false,
362
- "Log code events to the log file without profiling.")
363
- DEFINE_bool(log_gc, false,
364
- "Log heap samples on garbage collection for the hp2ps tool.")
365
- DEFINE_bool(log_handles, false, "Log global handle events.")
366
- DEFINE_bool(log_state_changes, false, "Log state changes.")
367
- DEFINE_bool(log_suspect, false, "Log suspect operations.")
368
- DEFINE_bool(log_producers, false, "Log stack traces of JS objects allocations.")
369
- DEFINE_bool(compress_log, false,
370
- "Compress log to save space (makes log less human-readable).")
371
- DEFINE_bool(prof, false,
372
- "Log statistical profiling information (implies --log-code).")
373
- DEFINE_bool(prof_auto, true,
374
- "Used with --prof, starts profiling automatically")
375
- DEFINE_bool(prof_lazy, false,
376
- "Used with --prof, only does sampling and logging"
377
- " when profiler is active (implies --noprof_auto).")
378
- DEFINE_bool(log_regexp, false, "Log regular expression execution.")
379
- DEFINE_bool(sliding_state_window, false,
380
- "Update sliding state window counters.")
381
- DEFINE_string(logfile, "v8.log", "Specify the name of the log file.")
382
- DEFINE_bool(oprofile, false, "Enable JIT agent for OProfile.")
383
-
384
- //
385
- // Heap protection flags
386
- // Using heap protection requires ENABLE_LOGGING_AND_PROFILING as well.
387
- //
388
- #ifdef ENABLE_HEAP_PROTECTION
389
- #undef FLAG
390
- #define FLAG FLAG_FULL
391
-
392
- DEFINE_bool(protect_heap, false,
393
- "Protect/unprotect V8's heap when leaving/entring the VM.")
394
-
395
- #endif
396
-
397
- //
398
- // Disassembler only flags
399
- //
400
- #undef FLAG
401
- #ifdef ENABLE_DISASSEMBLER
402
- #define FLAG FLAG_FULL
403
- #else
404
- #define FLAG FLAG_READONLY
405
- #endif
406
-
407
- // code-stubs.cc
408
- DEFINE_bool(print_code_stubs, false, "print code stubs")
409
-
410
- // codegen-ia32.cc / codegen-arm.cc
411
- DEFINE_bool(print_code, false, "print generated code")
412
- DEFINE_bool(print_builtin_code, false, "print generated code for builtins")
413
-
414
- // Cleanup...
415
- #undef FLAG_FULL
416
- #undef FLAG_READONLY
417
- #undef FLAG
418
-
419
- #undef DEFINE_bool
420
- #undef DEFINE_int
421
- #undef DEFINE_string
422
-
423
- #undef FLAG_MODE_DECLARE
424
- #undef FLAG_MODE_DEFINE
425
- #undef FLAG_MODE_DEFINE_DEFAULTS
426
- #undef FLAG_MODE_META