libv8 3.3.10.4 → 3.5.10.beta1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (538) hide show
  1. data/lib/libv8/scons/CHANGES.txt +24 -231
  2. data/lib/libv8/scons/LICENSE.txt +1 -1
  3. data/lib/libv8/scons/MANIFEST +0 -1
  4. data/lib/libv8/scons/PKG-INFO +1 -1
  5. data/lib/libv8/scons/README.txt +9 -9
  6. data/lib/libv8/scons/RELEASE.txt +75 -77
  7. data/lib/libv8/scons/engine/SCons/Action.py +6 -22
  8. data/lib/libv8/scons/engine/SCons/Builder.py +2 -2
  9. data/lib/libv8/scons/engine/SCons/CacheDir.py +2 -2
  10. data/lib/libv8/scons/engine/SCons/Debug.py +2 -2
  11. data/lib/libv8/scons/engine/SCons/Defaults.py +10 -24
  12. data/lib/libv8/scons/engine/SCons/Environment.py +19 -118
  13. data/lib/libv8/scons/engine/SCons/Errors.py +2 -2
  14. data/lib/libv8/scons/engine/SCons/Executor.py +2 -2
  15. data/lib/libv8/scons/engine/SCons/Job.py +2 -2
  16. data/lib/libv8/scons/engine/SCons/Memoize.py +2 -2
  17. data/lib/libv8/scons/engine/SCons/Node/Alias.py +2 -2
  18. data/lib/libv8/scons/engine/SCons/Node/FS.py +121 -281
  19. data/lib/libv8/scons/engine/SCons/Node/Python.py +2 -2
  20. data/lib/libv8/scons/engine/SCons/Node/__init__.py +5 -6
  21. data/lib/libv8/scons/engine/SCons/Options/BoolOption.py +2 -2
  22. data/lib/libv8/scons/engine/SCons/Options/EnumOption.py +2 -2
  23. data/lib/libv8/scons/engine/SCons/Options/ListOption.py +2 -2
  24. data/lib/libv8/scons/engine/SCons/Options/PackageOption.py +2 -2
  25. data/lib/libv8/scons/engine/SCons/Options/PathOption.py +2 -2
  26. data/lib/libv8/scons/engine/SCons/Options/__init__.py +2 -2
  27. data/lib/libv8/scons/engine/SCons/PathList.py +2 -2
  28. data/lib/libv8/scons/engine/SCons/Platform/__init__.py +2 -2
  29. data/lib/libv8/scons/engine/SCons/Platform/aix.py +2 -2
  30. data/lib/libv8/scons/engine/SCons/Platform/cygwin.py +2 -2
  31. data/lib/libv8/scons/engine/SCons/Platform/darwin.py +3 -27
  32. data/lib/libv8/scons/engine/SCons/Platform/hpux.py +2 -2
  33. data/lib/libv8/scons/engine/SCons/Platform/irix.py +2 -2
  34. data/lib/libv8/scons/engine/SCons/Platform/os2.py +2 -2
  35. data/lib/libv8/scons/engine/SCons/Platform/posix.py +2 -2
  36. data/lib/libv8/scons/engine/SCons/Platform/sunos.py +2 -2
  37. data/lib/libv8/scons/engine/SCons/Platform/win32.py +2 -2
  38. data/lib/libv8/scons/engine/SCons/SConf.py +2 -2
  39. data/lib/libv8/scons/engine/SCons/SConsign.py +3 -9
  40. data/lib/libv8/scons/engine/SCons/Scanner/C.py +2 -2
  41. data/lib/libv8/scons/engine/SCons/Scanner/D.py +2 -2
  42. data/lib/libv8/scons/engine/SCons/Scanner/Dir.py +2 -2
  43. data/lib/libv8/scons/engine/SCons/Scanner/Fortran.py +2 -2
  44. data/lib/libv8/scons/engine/SCons/Scanner/IDL.py +2 -2
  45. data/lib/libv8/scons/engine/SCons/Scanner/LaTeX.py +2 -5
  46. data/lib/libv8/scons/engine/SCons/Scanner/Prog.py +2 -2
  47. data/lib/libv8/scons/engine/SCons/Scanner/RC.py +3 -3
  48. data/lib/libv8/scons/engine/SCons/Scanner/__init__.py +2 -2
  49. data/lib/libv8/scons/engine/SCons/Script/Interactive.py +2 -2
  50. data/lib/libv8/scons/engine/SCons/Script/Main.py +11 -82
  51. data/lib/libv8/scons/engine/SCons/Script/SConsOptions.py +5 -5
  52. data/lib/libv8/scons/engine/SCons/Script/SConscript.py +2 -2
  53. data/lib/libv8/scons/engine/SCons/Script/__init__.py +2 -2
  54. data/lib/libv8/scons/engine/SCons/Sig.py +2 -2
  55. data/lib/libv8/scons/engine/SCons/Subst.py +2 -2
  56. data/lib/libv8/scons/engine/SCons/Taskmaster.py +2 -10
  57. data/lib/libv8/scons/engine/SCons/Tool/386asm.py +2 -2
  58. data/lib/libv8/scons/engine/SCons/Tool/BitKeeper.py +2 -2
  59. data/lib/libv8/scons/engine/SCons/Tool/CVS.py +2 -2
  60. data/lib/libv8/scons/engine/SCons/Tool/FortranCommon.py +2 -19
  61. data/lib/libv8/scons/engine/SCons/Tool/JavaCommon.py +2 -2
  62. data/lib/libv8/scons/engine/SCons/Tool/MSCommon/__init__.py +2 -2
  63. data/lib/libv8/scons/engine/SCons/Tool/MSCommon/arch.py +2 -2
  64. data/lib/libv8/scons/engine/SCons/Tool/MSCommon/common.py +2 -2
  65. data/lib/libv8/scons/engine/SCons/Tool/MSCommon/netframework.py +2 -2
  66. data/lib/libv8/scons/engine/SCons/Tool/MSCommon/sdk.py +2 -2
  67. data/lib/libv8/scons/engine/SCons/Tool/MSCommon/vc.py +6 -9
  68. data/lib/libv8/scons/engine/SCons/Tool/MSCommon/vs.py +2 -29
  69. data/lib/libv8/scons/engine/SCons/Tool/Perforce.py +2 -2
  70. data/lib/libv8/scons/engine/SCons/Tool/PharLapCommon.py +2 -2
  71. data/lib/libv8/scons/engine/SCons/Tool/RCS.py +2 -2
  72. data/lib/libv8/scons/engine/SCons/Tool/SCCS.py +2 -2
  73. data/lib/libv8/scons/engine/SCons/Tool/Subversion.py +2 -2
  74. data/lib/libv8/scons/engine/SCons/Tool/__init__.py +3 -3
  75. data/lib/libv8/scons/engine/SCons/Tool/aixc++.py +2 -2
  76. data/lib/libv8/scons/engine/SCons/Tool/aixcc.py +2 -2
  77. data/lib/libv8/scons/engine/SCons/Tool/aixf77.py +2 -2
  78. data/lib/libv8/scons/engine/SCons/Tool/aixlink.py +2 -2
  79. data/lib/libv8/scons/engine/SCons/Tool/applelink.py +2 -2
  80. data/lib/libv8/scons/engine/SCons/Tool/ar.py +2 -2
  81. data/lib/libv8/scons/engine/SCons/Tool/as.py +2 -2
  82. data/lib/libv8/scons/engine/SCons/Tool/bcc32.py +2 -2
  83. data/lib/libv8/scons/engine/SCons/Tool/c++.py +2 -2
  84. data/lib/libv8/scons/engine/SCons/Tool/cc.py +2 -2
  85. data/lib/libv8/scons/engine/SCons/Tool/cvf.py +2 -2
  86. data/lib/libv8/scons/engine/SCons/Tool/default.py +2 -2
  87. data/lib/libv8/scons/engine/SCons/Tool/dmd.py +7 -24
  88. data/lib/libv8/scons/engine/SCons/Tool/dvi.py +2 -2
  89. data/lib/libv8/scons/engine/SCons/Tool/dvipdf.py +2 -3
  90. data/lib/libv8/scons/engine/SCons/Tool/dvips.py +2 -3
  91. data/lib/libv8/scons/engine/SCons/Tool/f77.py +2 -2
  92. data/lib/libv8/scons/engine/SCons/Tool/f90.py +2 -2
  93. data/lib/libv8/scons/engine/SCons/Tool/f95.py +2 -2
  94. data/lib/libv8/scons/engine/SCons/Tool/filesystem.py +2 -2
  95. data/lib/libv8/scons/engine/SCons/Tool/fortran.py +2 -2
  96. data/lib/libv8/scons/engine/SCons/Tool/g++.py +2 -2
  97. data/lib/libv8/scons/engine/SCons/Tool/g77.py +2 -2
  98. data/lib/libv8/scons/engine/SCons/Tool/gas.py +2 -2
  99. data/lib/libv8/scons/engine/SCons/Tool/gcc.py +2 -2
  100. data/lib/libv8/scons/engine/SCons/Tool/gfortran.py +3 -3
  101. data/lib/libv8/scons/engine/SCons/Tool/gnulink.py +3 -2
  102. data/lib/libv8/scons/engine/SCons/Tool/gs.py +2 -2
  103. data/lib/libv8/scons/engine/SCons/Tool/hpc++.py +2 -2
  104. data/lib/libv8/scons/engine/SCons/Tool/hpcc.py +2 -2
  105. data/lib/libv8/scons/engine/SCons/Tool/hplink.py +2 -2
  106. data/lib/libv8/scons/engine/SCons/Tool/icc.py +2 -2
  107. data/lib/libv8/scons/engine/SCons/Tool/icl.py +2 -2
  108. data/lib/libv8/scons/engine/SCons/Tool/ifl.py +2 -2
  109. data/lib/libv8/scons/engine/SCons/Tool/ifort.py +2 -2
  110. data/lib/libv8/scons/engine/SCons/Tool/ilink.py +2 -2
  111. data/lib/libv8/scons/engine/SCons/Tool/ilink32.py +2 -2
  112. data/lib/libv8/scons/engine/SCons/Tool/install.py +3 -57
  113. data/lib/libv8/scons/engine/SCons/Tool/intelc.py +25 -65
  114. data/lib/libv8/scons/engine/SCons/Tool/ipkg.py +2 -2
  115. data/lib/libv8/scons/engine/SCons/Tool/jar.py +3 -9
  116. data/lib/libv8/scons/engine/SCons/Tool/javac.py +2 -2
  117. data/lib/libv8/scons/engine/SCons/Tool/javah.py +2 -2
  118. data/lib/libv8/scons/engine/SCons/Tool/latex.py +2 -3
  119. data/lib/libv8/scons/engine/SCons/Tool/lex.py +2 -2
  120. data/lib/libv8/scons/engine/SCons/Tool/link.py +5 -6
  121. data/lib/libv8/scons/engine/SCons/Tool/linkloc.py +2 -2
  122. data/lib/libv8/scons/engine/SCons/Tool/m4.py +2 -2
  123. data/lib/libv8/scons/engine/SCons/Tool/masm.py +2 -2
  124. data/lib/libv8/scons/engine/SCons/Tool/midl.py +2 -2
  125. data/lib/libv8/scons/engine/SCons/Tool/mingw.py +10 -31
  126. data/lib/libv8/scons/engine/SCons/Tool/mslib.py +2 -2
  127. data/lib/libv8/scons/engine/SCons/Tool/mslink.py +9 -61
  128. data/lib/libv8/scons/engine/SCons/Tool/mssdk.py +2 -2
  129. data/lib/libv8/scons/engine/SCons/Tool/msvc.py +11 -21
  130. data/lib/libv8/scons/engine/SCons/Tool/msvs.py +59 -477
  131. data/lib/libv8/scons/engine/SCons/Tool/mwcc.py +2 -2
  132. data/lib/libv8/scons/engine/SCons/Tool/mwld.py +2 -2
  133. data/lib/libv8/scons/engine/SCons/Tool/nasm.py +2 -2
  134. data/lib/libv8/scons/engine/SCons/Tool/packaging/__init__.py +2 -2
  135. data/lib/libv8/scons/engine/SCons/Tool/packaging/ipk.py +2 -2
  136. data/lib/libv8/scons/engine/SCons/Tool/packaging/msi.py +2 -2
  137. data/lib/libv8/scons/engine/SCons/Tool/packaging/rpm.py +2 -2
  138. data/lib/libv8/scons/engine/SCons/Tool/packaging/src_tarbz2.py +2 -2
  139. data/lib/libv8/scons/engine/SCons/Tool/packaging/src_targz.py +2 -2
  140. data/lib/libv8/scons/engine/SCons/Tool/packaging/src_zip.py +2 -2
  141. data/lib/libv8/scons/engine/SCons/Tool/packaging/tarbz2.py +2 -2
  142. data/lib/libv8/scons/engine/SCons/Tool/packaging/targz.py +2 -2
  143. data/lib/libv8/scons/engine/SCons/Tool/packaging/zip.py +2 -2
  144. data/lib/libv8/scons/engine/SCons/Tool/pdf.py +2 -2
  145. data/lib/libv8/scons/engine/SCons/Tool/pdflatex.py +2 -3
  146. data/lib/libv8/scons/engine/SCons/Tool/pdftex.py +2 -3
  147. data/lib/libv8/scons/engine/SCons/Tool/qt.py +2 -2
  148. data/lib/libv8/scons/engine/SCons/Tool/rmic.py +3 -9
  149. data/lib/libv8/scons/engine/SCons/Tool/rpcgen.py +2 -2
  150. data/lib/libv8/scons/engine/SCons/Tool/rpm.py +2 -2
  151. data/lib/libv8/scons/engine/SCons/Tool/sgiar.py +2 -2
  152. data/lib/libv8/scons/engine/SCons/Tool/sgic++.py +2 -2
  153. data/lib/libv8/scons/engine/SCons/Tool/sgicc.py +2 -2
  154. data/lib/libv8/scons/engine/SCons/Tool/sgilink.py +3 -2
  155. data/lib/libv8/scons/engine/SCons/Tool/sunar.py +2 -2
  156. data/lib/libv8/scons/engine/SCons/Tool/sunc++.py +2 -2
  157. data/lib/libv8/scons/engine/SCons/Tool/suncc.py +2 -2
  158. data/lib/libv8/scons/engine/SCons/Tool/sunf77.py +2 -2
  159. data/lib/libv8/scons/engine/SCons/Tool/sunf90.py +2 -2
  160. data/lib/libv8/scons/engine/SCons/Tool/sunf95.py +2 -2
  161. data/lib/libv8/scons/engine/SCons/Tool/sunlink.py +3 -2
  162. data/lib/libv8/scons/engine/SCons/Tool/swig.py +5 -6
  163. data/lib/libv8/scons/engine/SCons/Tool/tar.py +2 -2
  164. data/lib/libv8/scons/engine/SCons/Tool/tex.py +43 -96
  165. data/lib/libv8/scons/engine/SCons/Tool/textfile.py +2 -2
  166. data/lib/libv8/scons/engine/SCons/Tool/tlib.py +2 -2
  167. data/lib/libv8/scons/engine/SCons/Tool/wix.py +2 -2
  168. data/lib/libv8/scons/engine/SCons/Tool/yacc.py +2 -12
  169. data/lib/libv8/scons/engine/SCons/Tool/zip.py +2 -2
  170. data/lib/libv8/scons/engine/SCons/Util.py +3 -3
  171. data/lib/libv8/scons/engine/SCons/Variables/BoolVariable.py +2 -2
  172. data/lib/libv8/scons/engine/SCons/Variables/EnumVariable.py +3 -3
  173. data/lib/libv8/scons/engine/SCons/Variables/ListVariable.py +2 -2
  174. data/lib/libv8/scons/engine/SCons/Variables/PackageVariable.py +2 -2
  175. data/lib/libv8/scons/engine/SCons/Variables/PathVariable.py +2 -2
  176. data/lib/libv8/scons/engine/SCons/Variables/__init__.py +2 -2
  177. data/lib/libv8/scons/engine/SCons/Warnings.py +2 -2
  178. data/lib/libv8/scons/engine/SCons/__init__.py +6 -6
  179. data/lib/libv8/scons/engine/SCons/compat/__init__.py +2 -2
  180. data/lib/libv8/scons/engine/SCons/compat/_scons_builtins.py +2 -2
  181. data/lib/libv8/scons/engine/SCons/compat/_scons_collections.py +2 -2
  182. data/lib/libv8/scons/engine/SCons/compat/_scons_dbm.py +2 -2
  183. data/lib/libv8/scons/engine/SCons/compat/_scons_hashlib.py +2 -2
  184. data/lib/libv8/scons/engine/SCons/compat/_scons_io.py +2 -2
  185. data/lib/libv8/scons/engine/SCons/cpp.py +2 -2
  186. data/lib/libv8/scons/engine/SCons/dblite.py +1 -4
  187. data/lib/libv8/scons/engine/SCons/exitfuncs.py +2 -2
  188. data/lib/libv8/scons/scons-time.1 +3 -3
  189. data/lib/libv8/scons/scons.1 +1164 -1170
  190. data/lib/libv8/scons/sconsign.1 +3 -3
  191. data/lib/libv8/scons/script/scons +22 -22
  192. data/lib/libv8/scons/script/scons-time +2 -2
  193. data/lib/libv8/scons/script/scons.bat +4 -7
  194. data/lib/libv8/scons/script/sconsign +20 -21
  195. data/lib/libv8/scons/setup.cfg +1 -0
  196. data/lib/libv8/scons/setup.py +40 -38
  197. data/lib/libv8/v8/.gitignore +1 -1
  198. data/lib/libv8/v8/AUTHORS +2 -0
  199. data/lib/libv8/v8/ChangeLog +387 -0
  200. data/lib/libv8/v8/Makefile +171 -0
  201. data/lib/libv8/v8/SConstruct +124 -51
  202. data/lib/libv8/v8/build/README.txt +31 -14
  203. data/lib/libv8/v8/build/all.gyp +11 -4
  204. data/lib/libv8/v8/build/armu.gypi +6 -2
  205. data/lib/libv8/v8/build/common.gypi +240 -94
  206. data/lib/libv8/v8/build/gyp_v8 +32 -4
  207. data/lib/libv8/v8/build/standalone.gypi +200 -0
  208. data/lib/libv8/v8/include/v8-debug.h +0 -0
  209. data/lib/libv8/v8/include/v8-profiler.h +8 -11
  210. data/lib/libv8/v8/include/v8.h +191 -108
  211. data/lib/libv8/v8/preparser/SConscript +2 -2
  212. data/lib/libv8/v8/preparser/preparser-process.cc +3 -3
  213. data/lib/libv8/v8/preparser/preparser.gyp +42 -0
  214. data/lib/libv8/v8/src/SConscript +33 -8
  215. data/lib/libv8/v8/src/accessors.cc +77 -43
  216. data/lib/libv8/v8/src/api.cc +393 -191
  217. data/lib/libv8/v8/src/api.h +4 -8
  218. data/lib/libv8/v8/src/apinatives.js +15 -3
  219. data/lib/libv8/v8/src/arguments.h +8 -0
  220. data/lib/libv8/v8/src/arm/assembler-arm.cc +120 -120
  221. data/lib/libv8/v8/src/arm/assembler-arm.h +92 -43
  222. data/lib/libv8/v8/src/arm/builtins-arm.cc +32 -39
  223. data/lib/libv8/v8/src/arm/code-stubs-arm.cc +572 -351
  224. data/lib/libv8/v8/src/arm/code-stubs-arm.h +8 -77
  225. data/lib/libv8/v8/src/arm/codegen-arm.h +0 -2
  226. data/lib/libv8/v8/src/arm/deoptimizer-arm.cc +50 -30
  227. data/lib/libv8/v8/src/arm/disasm-arm.cc +1 -1
  228. data/lib/libv8/v8/src/arm/frames-arm.h +9 -5
  229. data/lib/libv8/v8/src/arm/full-codegen-arm.cc +331 -432
  230. data/lib/libv8/v8/src/arm/ic-arm.cc +192 -124
  231. data/lib/libv8/v8/src/arm/lithium-arm.cc +216 -232
  232. data/lib/libv8/v8/src/arm/lithium-arm.h +106 -259
  233. data/lib/libv8/v8/src/arm/lithium-codegen-arm.cc +633 -642
  234. data/lib/libv8/v8/src/arm/lithium-codegen-arm.h +4 -4
  235. data/lib/libv8/v8/src/arm/lithium-gap-resolver-arm.cc +1 -3
  236. data/lib/libv8/v8/src/arm/macro-assembler-arm.cc +260 -185
  237. data/lib/libv8/v8/src/arm/macro-assembler-arm.h +45 -25
  238. data/lib/libv8/v8/src/arm/regexp-macro-assembler-arm.cc +25 -13
  239. data/lib/libv8/v8/src/arm/regexp-macro-assembler-arm.h +3 -0
  240. data/lib/libv8/v8/src/arm/stub-cache-arm.cc +413 -226
  241. data/lib/libv8/v8/src/array.js +38 -18
  242. data/lib/libv8/v8/src/assembler.cc +12 -5
  243. data/lib/libv8/v8/src/assembler.h +15 -9
  244. data/lib/libv8/v8/src/ast-inl.h +34 -25
  245. data/lib/libv8/v8/src/ast.cc +141 -72
  246. data/lib/libv8/v8/src/ast.h +255 -181
  247. data/lib/libv8/v8/src/bignum.cc +3 -4
  248. data/lib/libv8/v8/src/bootstrapper.cc +55 -11
  249. data/lib/libv8/v8/src/bootstrapper.h +3 -2
  250. data/lib/libv8/v8/src/builtins.cc +8 -2
  251. data/lib/libv8/v8/src/builtins.h +4 -0
  252. data/lib/libv8/v8/src/cached-powers.cc +8 -4
  253. data/lib/libv8/v8/src/checks.h +3 -3
  254. data/lib/libv8/v8/src/code-stubs.cc +173 -28
  255. data/lib/libv8/v8/src/code-stubs.h +104 -148
  256. data/lib/libv8/v8/src/codegen.cc +8 -8
  257. data/lib/libv8/v8/src/compilation-cache.cc +2 -47
  258. data/lib/libv8/v8/src/compilation-cache.h +0 -10
  259. data/lib/libv8/v8/src/compiler.cc +27 -16
  260. data/lib/libv8/v8/src/compiler.h +13 -18
  261. data/lib/libv8/v8/src/contexts.cc +107 -72
  262. data/lib/libv8/v8/src/contexts.h +70 -34
  263. data/lib/libv8/v8/src/conversions-inl.h +572 -14
  264. data/lib/libv8/v8/src/conversions.cc +9 -707
  265. data/lib/libv8/v8/src/conversions.h +23 -12
  266. data/lib/libv8/v8/src/cpu-profiler-inl.h +2 -19
  267. data/lib/libv8/v8/src/cpu-profiler.cc +4 -21
  268. data/lib/libv8/v8/src/cpu-profiler.h +8 -17
  269. data/lib/libv8/v8/src/d8-debug.cc +5 -3
  270. data/lib/libv8/v8/src/d8-debug.h +6 -7
  271. data/lib/libv8/v8/src/d8-posix.cc +1 -10
  272. data/lib/libv8/v8/src/d8.cc +721 -219
  273. data/lib/libv8/v8/src/d8.gyp +37 -12
  274. data/lib/libv8/v8/src/d8.h +141 -19
  275. data/lib/libv8/v8/src/d8.js +17 -8
  276. data/lib/libv8/v8/src/date.js +16 -5
  277. data/lib/libv8/v8/src/dateparser-inl.h +242 -39
  278. data/lib/libv8/v8/src/dateparser.cc +38 -4
  279. data/lib/libv8/v8/src/dateparser.h +170 -28
  280. data/lib/libv8/v8/src/debug-agent.cc +5 -3
  281. data/lib/libv8/v8/src/debug-agent.h +11 -7
  282. data/lib/libv8/v8/src/debug-debugger.js +65 -34
  283. data/lib/libv8/v8/src/debug.cc +30 -60
  284. data/lib/libv8/v8/src/debug.h +5 -3
  285. data/lib/libv8/v8/src/deoptimizer.cc +227 -10
  286. data/lib/libv8/v8/src/deoptimizer.h +133 -9
  287. data/lib/libv8/v8/src/disassembler.cc +22 -14
  288. data/lib/libv8/v8/src/diy-fp.cc +4 -3
  289. data/lib/libv8/v8/src/diy-fp.h +3 -3
  290. data/lib/libv8/v8/src/elements.cc +634 -0
  291. data/lib/libv8/v8/src/elements.h +95 -0
  292. data/lib/libv8/v8/src/execution.cc +5 -21
  293. data/lib/libv8/v8/src/extensions/experimental/break-iterator.cc +3 -1
  294. data/lib/libv8/v8/src/extensions/experimental/break-iterator.h +1 -1
  295. data/lib/libv8/v8/src/extensions/experimental/collator.cc +6 -2
  296. data/lib/libv8/v8/src/extensions/experimental/collator.h +1 -2
  297. data/lib/libv8/v8/src/extensions/experimental/datetime-format.cc +384 -0
  298. data/lib/libv8/v8/src/extensions/experimental/datetime-format.h +83 -0
  299. data/lib/libv8/v8/src/extensions/experimental/experimental.gyp +18 -7
  300. data/lib/libv8/v8/src/extensions/experimental/i18n-extension.cc +12 -16
  301. data/lib/libv8/v8/src/extensions/experimental/i18n-extension.h +1 -1
  302. data/lib/libv8/v8/src/extensions/experimental/i18n-js2c.py +126 -0
  303. data/lib/libv8/v8/src/extensions/experimental/i18n-locale.cc +3 -4
  304. data/lib/libv8/v8/src/extensions/experimental/i18n-locale.h +1 -1
  305. data/lib/libv8/v8/src/{shell.h → extensions/experimental/i18n-natives.h} +8 -20
  306. data/lib/libv8/v8/src/extensions/experimental/i18n-utils.cc +45 -1
  307. data/lib/libv8/v8/src/extensions/experimental/i18n-utils.h +21 -1
  308. data/lib/libv8/v8/src/extensions/experimental/i18n.js +211 -11
  309. data/lib/libv8/v8/src/extensions/experimental/language-matcher.cc +4 -3
  310. data/lib/libv8/v8/src/extensions/experimental/language-matcher.h +1 -1
  311. data/lib/libv8/v8/src/extensions/experimental/number-format.cc +374 -0
  312. data/lib/libv8/v8/src/extensions/experimental/number-format.h +71 -0
  313. data/lib/libv8/v8/src/factory.cc +89 -18
  314. data/lib/libv8/v8/src/factory.h +36 -8
  315. data/lib/libv8/v8/src/flag-definitions.h +11 -44
  316. data/lib/libv8/v8/src/frames-inl.h +8 -1
  317. data/lib/libv8/v8/src/frames.cc +39 -3
  318. data/lib/libv8/v8/src/frames.h +10 -3
  319. data/lib/libv8/v8/src/full-codegen.cc +311 -293
  320. data/lib/libv8/v8/src/full-codegen.h +183 -143
  321. data/lib/libv8/v8/src/func-name-inferrer.cc +29 -15
  322. data/lib/libv8/v8/src/func-name-inferrer.h +19 -9
  323. data/lib/libv8/v8/src/gdb-jit.cc +658 -55
  324. data/lib/libv8/v8/src/gdb-jit.h +6 -2
  325. data/lib/libv8/v8/src/global-handles.cc +368 -312
  326. data/lib/libv8/v8/src/global-handles.h +29 -36
  327. data/lib/libv8/v8/src/globals.h +3 -1
  328. data/lib/libv8/v8/src/handles.cc +43 -69
  329. data/lib/libv8/v8/src/handles.h +21 -16
  330. data/lib/libv8/v8/src/heap-inl.h +11 -13
  331. data/lib/libv8/v8/src/heap-profiler.cc +0 -999
  332. data/lib/libv8/v8/src/heap-profiler.h +0 -303
  333. data/lib/libv8/v8/src/heap.cc +366 -141
  334. data/lib/libv8/v8/src/heap.h +87 -26
  335. data/lib/libv8/v8/src/hydrogen-instructions.cc +192 -81
  336. data/lib/libv8/v8/src/hydrogen-instructions.h +711 -482
  337. data/lib/libv8/v8/src/hydrogen.cc +1146 -629
  338. data/lib/libv8/v8/src/hydrogen.h +100 -64
  339. data/lib/libv8/v8/src/ia32/assembler-ia32.cc +19 -0
  340. data/lib/libv8/v8/src/ia32/assembler-ia32.h +15 -2
  341. data/lib/libv8/v8/src/ia32/builtins-ia32.cc +34 -39
  342. data/lib/libv8/v8/src/ia32/code-stubs-ia32.cc +675 -377
  343. data/lib/libv8/v8/src/ia32/code-stubs-ia32.h +8 -69
  344. data/lib/libv8/v8/src/ia32/codegen-ia32.cc +1 -0
  345. data/lib/libv8/v8/src/ia32/codegen-ia32.h +0 -2
  346. data/lib/libv8/v8/src/ia32/cpu-ia32.cc +3 -2
  347. data/lib/libv8/v8/src/ia32/deoptimizer-ia32.cc +28 -3
  348. data/lib/libv8/v8/src/ia32/disasm-ia32.cc +21 -10
  349. data/lib/libv8/v8/src/ia32/frames-ia32.h +6 -5
  350. data/lib/libv8/v8/src/ia32/full-codegen-ia32.cc +459 -465
  351. data/lib/libv8/v8/src/ia32/ic-ia32.cc +196 -147
  352. data/lib/libv8/v8/src/ia32/lithium-codegen-ia32.cc +575 -650
  353. data/lib/libv8/v8/src/ia32/lithium-codegen-ia32.h +19 -21
  354. data/lib/libv8/v8/src/ia32/lithium-gap-resolver-ia32.cc +7 -2
  355. data/lib/libv8/v8/src/ia32/lithium-ia32.cc +261 -256
  356. data/lib/libv8/v8/src/ia32/lithium-ia32.h +234 -335
  357. data/lib/libv8/v8/src/ia32/macro-assembler-ia32.cc +224 -67
  358. data/lib/libv8/v8/src/ia32/macro-assembler-ia32.h +63 -19
  359. data/lib/libv8/v8/src/ia32/regexp-macro-assembler-ia32.cc +22 -8
  360. data/lib/libv8/v8/src/ia32/regexp-macro-assembler-ia32.h +3 -0
  361. data/lib/libv8/v8/src/ia32/stub-cache-ia32.cc +380 -239
  362. data/lib/libv8/v8/src/ic.cc +198 -234
  363. data/lib/libv8/v8/src/ic.h +32 -30
  364. data/lib/libv8/v8/src/interpreter-irregexp.cc +6 -4
  365. data/lib/libv8/v8/src/isolate.cc +112 -95
  366. data/lib/libv8/v8/src/isolate.h +55 -71
  367. data/lib/libv8/v8/src/json-parser.h +486 -48
  368. data/lib/libv8/v8/src/json.js +28 -23
  369. data/lib/libv8/v8/src/jsregexp.cc +163 -208
  370. data/lib/libv8/v8/src/jsregexp.h +0 -1
  371. data/lib/libv8/v8/src/lithium-allocator-inl.h +29 -27
  372. data/lib/libv8/v8/src/lithium-allocator.cc +22 -17
  373. data/lib/libv8/v8/src/lithium-allocator.h +8 -8
  374. data/lib/libv8/v8/src/lithium.cc +16 -11
  375. data/lib/libv8/v8/src/lithium.h +31 -34
  376. data/lib/libv8/v8/src/liveedit.cc +111 -15
  377. data/lib/libv8/v8/src/liveedit.h +3 -4
  378. data/lib/libv8/v8/src/liveobjectlist.cc +116 -80
  379. data/lib/libv8/v8/src/liveobjectlist.h +2 -2
  380. data/lib/libv8/v8/src/log-inl.h +0 -4
  381. data/lib/libv8/v8/src/log-utils.cc +25 -143
  382. data/lib/libv8/v8/src/log-utils.h +13 -92
  383. data/lib/libv8/v8/src/log.cc +26 -249
  384. data/lib/libv8/v8/src/log.h +6 -17
  385. data/lib/libv8/v8/src/macros.py +9 -6
  386. data/lib/libv8/v8/src/mark-compact.cc +276 -56
  387. data/lib/libv8/v8/src/mark-compact.h +20 -0
  388. data/lib/libv8/v8/src/messages.js +93 -39
  389. data/lib/libv8/v8/src/mips/assembler-mips-inl.h +9 -3
  390. data/lib/libv8/v8/src/mips/assembler-mips.cc +297 -189
  391. data/lib/libv8/v8/src/mips/assembler-mips.h +121 -54
  392. data/lib/libv8/v8/src/mips/builtins-mips.cc +23 -24
  393. data/lib/libv8/v8/src/mips/code-stubs-mips.cc +484 -263
  394. data/lib/libv8/v8/src/mips/code-stubs-mips.h +8 -83
  395. data/lib/libv8/v8/src/mips/codegen-mips.h +0 -2
  396. data/lib/libv8/v8/src/mips/constants-mips.h +37 -11
  397. data/lib/libv8/v8/src/mips/deoptimizer-mips.cc +6 -1
  398. data/lib/libv8/v8/src/mips/frames-mips.h +8 -7
  399. data/lib/libv8/v8/src/mips/full-codegen-mips.cc +258 -419
  400. data/lib/libv8/v8/src/mips/ic-mips.cc +181 -121
  401. data/lib/libv8/v8/src/mips/macro-assembler-mips.cc +640 -382
  402. data/lib/libv8/v8/src/mips/macro-assembler-mips.h +94 -89
  403. data/lib/libv8/v8/src/mips/regexp-macro-assembler-mips.cc +23 -10
  404. data/lib/libv8/v8/src/mips/regexp-macro-assembler-mips.h +6 -1
  405. data/lib/libv8/v8/src/mips/simulator-mips.cc +249 -49
  406. data/lib/libv8/v8/src/mips/simulator-mips.h +25 -1
  407. data/lib/libv8/v8/src/mips/stub-cache-mips.cc +373 -161
  408. data/lib/libv8/v8/src/mirror-debugger.js +55 -8
  409. data/lib/libv8/v8/src/misc-intrinsics.h +89 -0
  410. data/lib/libv8/v8/src/mksnapshot.cc +36 -4
  411. data/lib/libv8/v8/src/natives.h +5 -2
  412. data/lib/libv8/v8/src/objects-debug.cc +73 -6
  413. data/lib/libv8/v8/src/objects-inl.h +529 -164
  414. data/lib/libv8/v8/src/objects-printer.cc +67 -12
  415. data/lib/libv8/v8/src/objects-visiting.cc +13 -2
  416. data/lib/libv8/v8/src/objects-visiting.h +41 -1
  417. data/lib/libv8/v8/src/objects.cc +2200 -1177
  418. data/lib/libv8/v8/src/objects.h +912 -283
  419. data/lib/libv8/v8/src/parser.cc +566 -371
  420. data/lib/libv8/v8/src/parser.h +35 -33
  421. data/lib/libv8/v8/src/platform-cygwin.cc +10 -25
  422. data/lib/libv8/v8/src/platform-freebsd.cc +4 -29
  423. data/lib/libv8/v8/src/platform-linux.cc +60 -57
  424. data/lib/libv8/v8/src/platform-macos.cc +4 -27
  425. data/lib/libv8/v8/src/platform-nullos.cc +3 -16
  426. data/lib/libv8/v8/src/platform-openbsd.cc +247 -85
  427. data/lib/libv8/v8/src/platform-posix.cc +43 -1
  428. data/lib/libv8/v8/src/platform-solaris.cc +151 -112
  429. data/lib/libv8/v8/src/platform-tls.h +1 -1
  430. data/lib/libv8/v8/src/platform-win32.cc +65 -39
  431. data/lib/libv8/v8/src/platform.h +17 -14
  432. data/lib/libv8/v8/src/preparse-data-format.h +2 -2
  433. data/lib/libv8/v8/src/preparse-data.h +8 -2
  434. data/lib/libv8/v8/src/preparser-api.cc +2 -18
  435. data/lib/libv8/v8/src/preparser.cc +106 -65
  436. data/lib/libv8/v8/src/preparser.h +26 -5
  437. data/lib/libv8/v8/src/prettyprinter.cc +25 -43
  438. data/lib/libv8/v8/src/profile-generator-inl.h +0 -4
  439. data/lib/libv8/v8/src/profile-generator.cc +213 -34
  440. data/lib/libv8/v8/src/profile-generator.h +9 -9
  441. data/lib/libv8/v8/src/property.h +1 -0
  442. data/lib/libv8/v8/src/proxy.js +74 -4
  443. data/lib/libv8/v8/src/regexp-macro-assembler.cc +10 -6
  444. data/lib/libv8/v8/src/regexp.js +16 -11
  445. data/lib/libv8/v8/src/rewriter.cc +24 -133
  446. data/lib/libv8/v8/src/runtime-profiler.cc +27 -151
  447. data/lib/libv8/v8/src/runtime-profiler.h +5 -31
  448. data/lib/libv8/v8/src/runtime.cc +1450 -681
  449. data/lib/libv8/v8/src/runtime.h +47 -31
  450. data/lib/libv8/v8/src/runtime.js +2 -1
  451. data/lib/libv8/v8/src/scanner-base.cc +358 -220
  452. data/lib/libv8/v8/src/scanner-base.h +30 -138
  453. data/lib/libv8/v8/src/scanner.cc +0 -18
  454. data/lib/libv8/v8/src/scanner.h +0 -15
  455. data/lib/libv8/v8/src/scopeinfo.cc +3 -1
  456. data/lib/libv8/v8/src/scopeinfo.h +1 -6
  457. data/lib/libv8/v8/src/scopes.cc +243 -253
  458. data/lib/libv8/v8/src/scopes.h +58 -109
  459. data/lib/libv8/v8/src/serialize.cc +12 -54
  460. data/lib/libv8/v8/src/serialize.h +47 -0
  461. data/lib/libv8/v8/src/small-pointer-list.h +25 -0
  462. data/lib/libv8/v8/src/spaces-inl.h +4 -50
  463. data/lib/libv8/v8/src/spaces.cc +64 -131
  464. data/lib/libv8/v8/src/spaces.h +19 -70
  465. data/lib/libv8/v8/src/string-stream.cc +3 -1
  466. data/lib/libv8/v8/src/string.js +10 -6
  467. data/lib/libv8/v8/src/strtod.cc +7 -3
  468. data/lib/libv8/v8/src/stub-cache.cc +59 -129
  469. data/lib/libv8/v8/src/stub-cache.h +42 -54
  470. data/lib/libv8/v8/src/third_party/valgrind/valgrind.h +1447 -1339
  471. data/lib/libv8/v8/src/token.cc +4 -4
  472. data/lib/libv8/v8/src/token.h +6 -5
  473. data/lib/libv8/v8/src/type-info.cc +173 -129
  474. data/lib/libv8/v8/src/type-info.h +40 -22
  475. data/lib/libv8/v8/src/utils.cc +25 -304
  476. data/lib/libv8/v8/src/utils.h +118 -3
  477. data/lib/libv8/v8/src/v8-counters.h +3 -6
  478. data/lib/libv8/v8/src/v8.cc +34 -27
  479. data/lib/libv8/v8/src/v8.h +7 -7
  480. data/lib/libv8/v8/src/v8conversions.cc +129 -0
  481. data/lib/libv8/v8/src/v8conversions.h +60 -0
  482. data/lib/libv8/v8/src/v8globals.h +15 -6
  483. data/lib/libv8/v8/src/v8natives.js +300 -78
  484. data/lib/libv8/v8/src/v8threads.cc +14 -6
  485. data/lib/libv8/v8/src/v8threads.h +4 -1
  486. data/lib/libv8/v8/src/v8utils.cc +360 -0
  487. data/lib/libv8/v8/src/v8utils.h +17 -66
  488. data/lib/libv8/v8/src/variables.cc +7 -12
  489. data/lib/libv8/v8/src/variables.h +12 -10
  490. data/lib/libv8/v8/src/version.cc +2 -2
  491. data/lib/libv8/v8/src/vm-state-inl.h +0 -41
  492. data/lib/libv8/v8/src/vm-state.h +0 -11
  493. data/lib/libv8/v8/src/weakmap.js +103 -0
  494. data/lib/libv8/v8/src/x64/assembler-x64.h +6 -3
  495. data/lib/libv8/v8/src/x64/builtins-x64.cc +25 -22
  496. data/lib/libv8/v8/src/x64/code-stubs-x64.cc +523 -250
  497. data/lib/libv8/v8/src/x64/code-stubs-x64.h +8 -71
  498. data/lib/libv8/v8/src/x64/codegen-x64.cc +1 -0
  499. data/lib/libv8/v8/src/x64/codegen-x64.h +0 -2
  500. data/lib/libv8/v8/src/x64/cpu-x64.cc +2 -1
  501. data/lib/libv8/v8/src/x64/deoptimizer-x64.cc +40 -8
  502. data/lib/libv8/v8/src/x64/disasm-x64.cc +12 -10
  503. data/lib/libv8/v8/src/x64/frames-x64.h +7 -6
  504. data/lib/libv8/v8/src/x64/full-codegen-x64.cc +310 -415
  505. data/lib/libv8/v8/src/x64/ic-x64.cc +180 -117
  506. data/lib/libv8/v8/src/x64/lithium-codegen-x64.cc +411 -523
  507. data/lib/libv8/v8/src/x64/lithium-codegen-x64.h +11 -6
  508. data/lib/libv8/v8/src/x64/lithium-x64.cc +191 -216
  509. data/lib/libv8/v8/src/x64/lithium-x64.h +112 -263
  510. data/lib/libv8/v8/src/x64/macro-assembler-x64.cc +177 -61
  511. data/lib/libv8/v8/src/x64/macro-assembler-x64.h +23 -7
  512. data/lib/libv8/v8/src/x64/regexp-macro-assembler-x64.cc +21 -9
  513. data/lib/libv8/v8/src/x64/regexp-macro-assembler-x64.h +6 -0
  514. data/lib/libv8/v8/src/x64/stub-cache-x64.cc +273 -107
  515. data/lib/libv8/v8/src/zone.cc +31 -22
  516. data/lib/libv8/v8/src/zone.h +12 -6
  517. data/lib/libv8/v8/tools/codemap.js +8 -0
  518. data/lib/libv8/v8/tools/gcmole/Makefile +43 -0
  519. data/lib/libv8/v8/tools/gcmole/gcmole.lua +0 -2
  520. data/lib/libv8/v8/tools/gdb-v8-support.py +154 -0
  521. data/lib/libv8/v8/tools/grokdump.py +44 -35
  522. data/lib/libv8/v8/tools/gyp/v8.gyp +94 -248
  523. data/lib/libv8/v8/tools/js2c.py +83 -52
  524. data/lib/libv8/v8/tools/linux-tick-processor +4 -6
  525. data/lib/libv8/v8/tools/ll_prof.py +3 -3
  526. data/lib/libv8/v8/tools/oom_dump/README +3 -1
  527. data/lib/libv8/v8/tools/presubmit.py +11 -4
  528. data/lib/libv8/v8/tools/profile.js +46 -2
  529. data/lib/libv8/v8/tools/splaytree.js +11 -0
  530. data/lib/libv8/v8/tools/stats-viewer.py +15 -11
  531. data/lib/libv8/v8/tools/test-wrapper-gypbuild.py +227 -0
  532. data/lib/libv8/v8/tools/test.py +28 -8
  533. data/lib/libv8/v8/tools/tickprocessor.js +0 -16
  534. data/lib/libv8/version.rb +1 -1
  535. data/libv8.gemspec +2 -2
  536. metadata +31 -19
  537. data/lib/libv8/scons/engine/SCons/Tool/f03.py +0 -63
  538. data/lib/libv8/v8/src/json-parser.cc +0 -504
@@ -0,0 +1,227 @@
1
+ #!/usr/bin/env python
2
+ #
3
+ # Copyright 2011 the V8 project authors. All rights reserved.
4
+ # Redistribution and use in source and binary forms, with or without
5
+ # modification, are permitted provided that the following conditions are
6
+ # met:
7
+ #
8
+ # * Redistributions of source code must retain the above copyright
9
+ # notice, this list of conditions and the following disclaimer.
10
+ # * Redistributions in binary form must reproduce the above
11
+ # copyright notice, this list of conditions and the following
12
+ # disclaimer in the documentation and/or other materials provided
13
+ # with the distribution.
14
+ # * Neither the name of Google Inc. nor the names of its
15
+ # contributors may be used to endorse or promote products derived
16
+ # from this software without specific prior written permission.
17
+ #
18
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19
+ # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20
+ # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21
+ # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22
+ # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23
+ # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24
+ # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25
+ # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26
+ # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27
+ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28
+ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
+
30
+
31
+ # This is a convenience script to run the existing tools/test.py script
32
+ # when using the gyp/make based build.
33
+ # It is intended as a stop-gap rather than a long-term solution.
34
+
35
+
36
+ import optparse
37
+ import os
38
+ from os.path import join, dirname, abspath
39
+ import subprocess
40
+ import sys
41
+
42
+
43
+ PROGRESS_INDICATORS = ['verbose', 'dots', 'color', 'mono']
44
+
45
+
46
+ def BuildOptions():
47
+ result = optparse.OptionParser()
48
+
49
+ # Flags specific to this wrapper script:
50
+ result.add_option("--arch-and-mode",
51
+ help='Architecture and mode in the format "arch.mode"',
52
+ default=None)
53
+ result.add_option("--outdir",
54
+ help='Base output directory',
55
+ default='out')
56
+
57
+ # Flags this wrapper script handles itself:
58
+ result.add_option("-m", "--mode",
59
+ help="The test modes in which to run (comma-separated)",
60
+ default='release,debug')
61
+ result.add_option("--arch",
62
+ help='The architectures to run tests for (comma-separated)',
63
+ default='ia32,x64,arm')
64
+
65
+ # Flags that are passed on to the wrapped test.py script:
66
+ result.add_option("-v", "--verbose", help="Verbose output",
67
+ default=False, action="store_true")
68
+ result.add_option("-p", "--progress",
69
+ help="The style of progress indicator (verbose, dots, color, mono)",
70
+ choices=PROGRESS_INDICATORS, default="mono")
71
+ result.add_option("--report", help="Print a summary of the tests to be run",
72
+ default=False, action="store_true")
73
+ result.add_option("-s", "--suite", help="A test suite",
74
+ default=[], action="append")
75
+ result.add_option("-t", "--timeout", help="Timeout in seconds",
76
+ default=60, type="int")
77
+ result.add_option("--snapshot", help="Run the tests with snapshot turned on",
78
+ default=False, action="store_true")
79
+ result.add_option("--special-command", default=None)
80
+ result.add_option("--valgrind", help="Run tests through valgrind",
81
+ default=False, action="store_true")
82
+ result.add_option("--cat", help="Print the source of the tests",
83
+ default=False, action="store_true")
84
+ result.add_option("--warn-unused", help="Report unused rules",
85
+ default=False, action="store_true")
86
+ result.add_option("-j", help="The number of parallel tasks to run",
87
+ default=1, type="int")
88
+ result.add_option("--time", help="Print timing information after running",
89
+ default=False, action="store_true")
90
+ result.add_option("--suppress-dialogs", help="Suppress Windows dialogs for crashing tests",
91
+ dest="suppress_dialogs", default=True, action="store_true")
92
+ result.add_option("--no-suppress-dialogs", help="Display Windows dialogs for crashing tests",
93
+ dest="suppress_dialogs", action="store_false")
94
+ result.add_option("--isolates", help="Whether to test isolates", default=False, action="store_true")
95
+ result.add_option("--store-unexpected-output",
96
+ help="Store the temporary JS files from tests that fails",
97
+ dest="store_unexpected_output", default=True, action="store_true")
98
+ result.add_option("--no-store-unexpected-output",
99
+ help="Deletes the temporary JS files from tests that fails",
100
+ dest="store_unexpected_output", action="store_false")
101
+ result.add_option("--stress-only",
102
+ help="Only run tests with --always-opt --stress-opt",
103
+ default=False, action="store_true")
104
+ result.add_option("--nostress",
105
+ help="Don't run crankshaft --always-opt --stress-op test",
106
+ default=False, action="store_true")
107
+ result.add_option("--crankshaft",
108
+ help="Run with the --crankshaft flag",
109
+ default=False, action="store_true")
110
+ result.add_option("--shard-count",
111
+ help="Split testsuites into this number of shards",
112
+ default=1, type="int")
113
+ result.add_option("--shard-run",
114
+ help="Run this shard from the split up tests.",
115
+ default=1, type="int")
116
+ result.add_option("--noprof", help="Disable profiling support",
117
+ default=False)
118
+
119
+ # Flags present in the original test.py that are unsupported in this wrapper:
120
+ # -S [-> scons_flags] (we build with gyp/make, not scons)
121
+ # --no-build (always true)
122
+ # --build-only (always false)
123
+ # --build-system (always 'gyp')
124
+ # --simulator (always true if arch==arm, always false otherwise)
125
+ # --shell (automatically chosen depending on arch and mode)
126
+
127
+ return result
128
+
129
+
130
+ def ProcessOptions(options):
131
+ if options.arch_and_mode != None and options.arch_and_mode != "":
132
+ tokens = options.arch_and_mode.split(".")
133
+ options.arch = tokens[0]
134
+ options.mode = tokens[1]
135
+ options.mode = options.mode.split(',')
136
+ for mode in options.mode:
137
+ if not mode in ['debug', 'release']:
138
+ print "Unknown mode %s" % mode
139
+ return False
140
+ options.arch = options.arch.split(',')
141
+ for arch in options.arch:
142
+ if not arch in ['ia32', 'x64', 'arm']:
143
+ print "Unknown architecture %s" % arch
144
+ return False
145
+
146
+ return True
147
+
148
+
149
+ def PassOnOptions(options):
150
+ result = []
151
+ if options.verbose:
152
+ result += ['--verbose']
153
+ if options.progress != 'mono':
154
+ result += ['--progress=' + options.progress]
155
+ if options.report:
156
+ result += ['--report']
157
+ if options.suite != []:
158
+ for suite in options.suite:
159
+ result += ['--suite=../../test/' + suite]
160
+ if options.timeout != 60:
161
+ result += ['--timeout=%s' % options.timeout]
162
+ if options.snapshot:
163
+ result += ['--snapshot']
164
+ if options.special_command:
165
+ result += ['--special-command=' + options.special_command]
166
+ if options.valgrind:
167
+ result += ['--valgrind']
168
+ if options.cat:
169
+ result += ['--cat']
170
+ if options.warn_unused:
171
+ result += ['--warn-unused']
172
+ if options.j != 1:
173
+ result += ['-j%s' % options.j]
174
+ if options.time:
175
+ result += ['--time']
176
+ if not options.suppress_dialogs:
177
+ result += ['--no-suppress-dialogs']
178
+ if options.isolates:
179
+ result += ['--isolates']
180
+ if not options.store_unexpected_output:
181
+ result += ['--no-store-unexpected_output']
182
+ if options.stress_only:
183
+ result += ['--stress-only']
184
+ if options.nostress:
185
+ result += ['--nostress']
186
+ if options.crankshaft:
187
+ result += ['--crankshaft']
188
+ if options.shard_count != 1:
189
+ result += ['--shard_count=%s' % options.shard_count]
190
+ if options.shard_run != 1:
191
+ result += ['--shard_run=%s' % options.shard_run]
192
+ if options.noprof:
193
+ result += ['--noprof']
194
+ return result
195
+
196
+
197
+ def Main():
198
+ parser = BuildOptions()
199
+ (options, args) = parser.parse_args()
200
+ if not ProcessOptions(options):
201
+ parser.print_help()
202
+ return 1
203
+
204
+ workspace = abspath(join(dirname(sys.argv[0]), '..'))
205
+ args_for_children = [workspace + '/tools/test.py'] + PassOnOptions(options)
206
+ args_for_children += ['--no-build', '--build-system=gyp']
207
+ for arg in args:
208
+ args_for_children += [arg]
209
+ returncodes = 0
210
+
211
+ for mode in options.mode:
212
+ for arch in options.arch:
213
+ print ">>> running tests for %s.%s" % (arch, mode)
214
+ shell = workspace + '/' + options.outdir + '/' + arch + '.' + mode + "/d8"
215
+ child = subprocess.Popen(' '.join(args_for_children +
216
+ ['--arch=' + arch] +
217
+ ['--mode=' + mode] +
218
+ ['--shell=' + shell]),
219
+ shell=True,
220
+ cwd=workspace)
221
+ returncodes += child.wait()
222
+
223
+ return returncodes
224
+
225
+
226
+ if __name__ == '__main__':
227
+ sys.exit(Main())
@@ -1181,6 +1181,8 @@ def BuildOptions():
1181
1181
  default=False, action="store_true")
1182
1182
  result.add_option("--build-only", help="Only build requirements, don't run the tests",
1183
1183
  default=False, action="store_true")
1184
+ result.add_option("--build-system", help="Build system in use (scons or gyp)",
1185
+ default='scons')
1184
1186
  result.add_option("--report", help="Print a summary of the tests to be run",
1185
1187
  default=False, action="store_true")
1186
1188
  result.add_option("-s", "--suite", help="A test suite",
@@ -1208,7 +1210,7 @@ def BuildOptions():
1208
1210
  dest="suppress_dialogs", default=True, action="store_true")
1209
1211
  result.add_option("--no-suppress-dialogs", help="Display Windows dialogs for crashing tests",
1210
1212
  dest="suppress_dialogs", action="store_false")
1211
- result.add_option("--shell", help="Path to V8 shell", default="shell")
1213
+ result.add_option("--shell", help="Path to V8 shell", default="d8")
1212
1214
  result.add_option("--isolates", help="Whether to test isolates", default=False, action="store_true")
1213
1215
  result.add_option("--store-unexpected-output",
1214
1216
  help="Store the temporary JS files from tests that fails",
@@ -1271,16 +1273,30 @@ def ProcessOptions(options):
1271
1273
  if options.special_command:
1272
1274
  options.special_command += " --crankshaft"
1273
1275
  else:
1274
- options.special_command = "@--crankshaft"
1276
+ options.special_command = "@ --crankshaft"
1277
+ if options.shell.endswith("d8"):
1278
+ if options.special_command:
1279
+ options.special_command += " --test"
1280
+ else:
1281
+ options.special_command = "@ --test"
1275
1282
  if options.noprof:
1276
1283
  options.scons_flags.append("prof=off")
1277
1284
  options.scons_flags.append("profilingsupport=off")
1285
+ if options.build_system == 'gyp':
1286
+ if options.build_only:
1287
+ print "--build-only not supported for gyp, please build manually."
1288
+ options.build_only = False
1278
1289
  return True
1279
1290
 
1280
1291
 
1292
+ def DoSkip(case):
1293
+ return (SKIP in case.outcomes) or (SLOW in case.outcomes)
1294
+
1295
+
1281
1296
  REPORT_TEMPLATE = """\
1282
1297
  Total: %(total)i tests
1283
1298
  * %(skipped)4d tests will be skipped
1299
+ * %(timeout)4d tests are expected to timeout sometimes
1284
1300
  * %(nocrash)4d tests are expected to be flaky but not crash
1285
1301
  * %(pass)4d tests are expected to pass
1286
1302
  * %(fail_ok)4d tests are expected to fail that we won't fix
@@ -1292,10 +1308,11 @@ def PrintReport(cases):
1292
1308
  return (PASS in o) and (FAIL in o) and (not CRASH in o) and (not OKAY in o)
1293
1309
  def IsFailOk(o):
1294
1310
  return (len(o) == 2) and (FAIL in o) and (OKAY in o)
1295
- unskipped = [c for c in cases if not SKIP in c.outcomes]
1311
+ unskipped = [c for c in cases if not DoSkip(c)]
1296
1312
  print REPORT_TEMPLATE % {
1297
1313
  'total': len(cases),
1298
1314
  'skipped': len(cases) - len(unskipped),
1315
+ 'timeout': len([t for t in unskipped if TIMEOUT in t.outcomes]),
1299
1316
  'nocrash': len([t for t in unskipped if IsFlaky(t.outcomes)]),
1300
1317
  'pass': len([t for t in unskipped if list(t.outcomes) == [PASS]]),
1301
1318
  'fail_ok': len([t for t in unskipped if IsFailOk(t.outcomes)]),
@@ -1394,6 +1411,9 @@ def Main():
1394
1411
  run_valgrind = join(workspace, "tools", "run-valgrind.py")
1395
1412
  options.special_command = "python -u " + run_valgrind + " @"
1396
1413
 
1414
+ if options.build_system == 'gyp':
1415
+ SUFFIX['debug'] = ''
1416
+
1397
1417
  shell = abspath(options.shell)
1398
1418
  buildspace = dirname(shell)
1399
1419
 
@@ -1437,7 +1457,8 @@ def Main():
1437
1457
  'system': utils.GuessOS(),
1438
1458
  'arch': options.arch,
1439
1459
  'simulator': options.simulator,
1440
- 'crankshaft': options.crankshaft
1460
+ 'crankshaft': options.crankshaft,
1461
+ 'isolates': options.isolates
1441
1462
  }
1442
1463
  test_list = root.ListTests([], path, context, mode, [])
1443
1464
  unclassified_tests += test_list
@@ -1466,15 +1487,14 @@ def Main():
1466
1487
  for rule in globally_unused_rules:
1467
1488
  print "Rule for '%s' was not used." % '/'.join([str(s) for s in rule.path])
1468
1489
 
1490
+ if not options.isolates:
1491
+ all_cases = [c for c in all_cases if not c.TestsIsolates()]
1492
+
1469
1493
  if options.report:
1470
1494
  PrintReport(all_cases)
1471
1495
 
1472
1496
  result = None
1473
- def DoSkip(case):
1474
- return SKIP in case.outcomes or SLOW in case.outcomes
1475
1497
  cases_to_run = [ c for c in all_cases if not DoSkip(c) ]
1476
- if not options.isolates:
1477
- cases_to_run = [c for c in cases_to_run if not c.TestsIsolates()]
1478
1498
  if len(cases_to_run) == 0:
1479
1499
  print "No tests to run."
1480
1500
  return 0
@@ -169,17 +169,12 @@ function TickProcessor(
169
169
  processor: this.processHeapSampleBegin },
170
170
  'heap-sample-end': { parsers: [null, null],
171
171
  processor: this.processHeapSampleEnd },
172
- 'heap-js-prod-item': { parsers: [null, 'var-args'],
173
- processor: this.processJSProducer },
174
172
  // Ignored events.
175
173
  'profiler': null,
176
174
  'function-creation': null,
177
175
  'function-move': null,
178
176
  'function-delete': null,
179
- 'heap-sample-stats': null,
180
177
  'heap-sample-item': null,
181
- 'heap-js-cons-item': null,
182
- 'heap-js-ret-item': null,
183
178
  // Obsolete row types.
184
179
  'code-allocate': null,
185
180
  'begin-code-region': null,
@@ -401,17 +396,6 @@ TickProcessor.prototype.processHeapSampleEnd = function(space, state) {
401
396
  };
402
397
 
403
398
 
404
- TickProcessor.prototype.processJSProducer = function(constructor, stack) {
405
- if (!this.currentProducerProfile_) return;
406
- if (stack.length == 0) return;
407
- var first = stack.shift();
408
- var processedStack =
409
- this.profile_.resolveAndFilterFuncs_(this.processStack(first, 0, stack));
410
- processedStack.unshift(constructor);
411
- this.currentProducerProfile_.addPath(processedStack);
412
- };
413
-
414
-
415
399
  TickProcessor.prototype.printStatistics = function() {
416
400
  print('Statistical profiling result from ' + this.lastLogFileName_ +
417
401
  ', (' + this.ticks_.total +
@@ -1,6 +1,6 @@
1
1
  module Libv8
2
2
  version_file = File.join(File.dirname(__FILE__), 'VERSION')
3
3
  V8_VERSION = File.exist?(version_file) ? File.read(version_file).chomp : "0.0"
4
- REVISION = ".4"
4
+ REVISION = ".beta1"
5
5
  VERSION = V8_VERSION + REVISION
6
6
  end
@@ -30,7 +30,7 @@ Gem::Specification.new do |s|
30
30
 
31
31
  s.extensions = ["ext/libv8/extconf.rb"]
32
32
  s.require_paths = ["lib"]
33
-
34
- s.add_development_dependency "rake", "~> 0.9.2"
33
+
34
+ s.add_development_dependency "rake", "~> 0.8.7"
35
35
  s.add_development_dependency "bundler"
36
36
  end
metadata CHANGED
@@ -1,8 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: libv8
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.10.4
5
- prerelease:
4
+ version: 3.5.10.beta1
5
+ prerelease: 7
6
6
  platform: ruby
7
7
  authors:
8
8
  - Logan Lowell
@@ -10,22 +10,22 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2011-11-14 00:00:00.000000000Z
13
+ date: 2011-09-20 00:00:00.000000000Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rake
17
- requirement: &70255088317420 !ruby/object:Gem::Requirement
17
+ requirement: &70229641523900 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ~>
21
21
  - !ruby/object:Gem::Version
22
- version: 0.9.2
22
+ version: 0.8.7
23
23
  type: :development
24
24
  prerelease: false
25
- version_requirements: *70255088317420
25
+ version_requirements: *70229641523900
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: bundler
28
- requirement: &70255088316600 !ruby/object:Gem::Requirement
28
+ requirement: &70229641523480 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ! '>='
@@ -33,7 +33,7 @@ dependencies:
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
- version_requirements: *70255088316600
36
+ version_requirements: *70229641523480
37
37
  description: Distributes the V8 JavaScript engine in binary and source forms in order
38
38
  to support fast builds of The Ruby Racer
39
39
  email:
@@ -145,7 +145,6 @@ files:
145
145
  - lib/libv8/scons/engine/SCons/Tool/dvi.py
146
146
  - lib/libv8/scons/engine/SCons/Tool/dvipdf.py
147
147
  - lib/libv8/scons/engine/SCons/Tool/dvips.py
148
- - lib/libv8/scons/engine/SCons/Tool/f03.py
149
148
  - lib/libv8/scons/engine/SCons/Tool/f77.py
150
149
  - lib/libv8/scons/engine/SCons/Tool/f90.py
151
150
  - lib/libv8/scons/engine/SCons/Tool/f95.py
@@ -264,12 +263,14 @@ files:
264
263
  - lib/libv8/v8/LICENSE.strongtalk
265
264
  - lib/libv8/v8/LICENSE.v8
266
265
  - lib/libv8/v8/LICENSE.valgrind
266
+ - lib/libv8/v8/Makefile
267
267
  - lib/libv8/v8/SConstruct
268
268
  - lib/libv8/v8/build/README.txt
269
269
  - lib/libv8/v8/build/all.gyp
270
270
  - lib/libv8/v8/build/armu.gypi
271
271
  - lib/libv8/v8/build/common.gypi
272
272
  - lib/libv8/v8/build/gyp_v8
273
+ - lib/libv8/v8/build/standalone.gypi
273
274
  - lib/libv8/v8/include/v8-debug.h
274
275
  - lib/libv8/v8/include/v8-preparser.h
275
276
  - lib/libv8/v8/include/v8-profiler.h
@@ -278,6 +279,7 @@ files:
278
279
  - lib/libv8/v8/include/v8stdint.h
279
280
  - lib/libv8/v8/preparser/SConscript
280
281
  - lib/libv8/v8/preparser/preparser-process.cc
282
+ - lib/libv8/v8/preparser/preparser.gyp
281
283
  - lib/libv8/v8/src/SConscript
282
284
  - lib/libv8/v8/src/accessors.cc
283
285
  - lib/libv8/v8/src/accessors.h
@@ -401,22 +403,30 @@ files:
401
403
  - lib/libv8/v8/src/double.h
402
404
  - lib/libv8/v8/src/dtoa.cc
403
405
  - lib/libv8/v8/src/dtoa.h
406
+ - lib/libv8/v8/src/elements.cc
407
+ - lib/libv8/v8/src/elements.h
404
408
  - lib/libv8/v8/src/execution.cc
405
409
  - lib/libv8/v8/src/execution.h
406
410
  - lib/libv8/v8/src/extensions/experimental/break-iterator.cc
407
411
  - lib/libv8/v8/src/extensions/experimental/break-iterator.h
408
412
  - lib/libv8/v8/src/extensions/experimental/collator.cc
409
413
  - lib/libv8/v8/src/extensions/experimental/collator.h
414
+ - lib/libv8/v8/src/extensions/experimental/datetime-format.cc
415
+ - lib/libv8/v8/src/extensions/experimental/datetime-format.h
410
416
  - lib/libv8/v8/src/extensions/experimental/experimental.gyp
411
417
  - lib/libv8/v8/src/extensions/experimental/i18n-extension.cc
412
418
  - lib/libv8/v8/src/extensions/experimental/i18n-extension.h
419
+ - lib/libv8/v8/src/extensions/experimental/i18n-js2c.py
413
420
  - lib/libv8/v8/src/extensions/experimental/i18n-locale.cc
414
421
  - lib/libv8/v8/src/extensions/experimental/i18n-locale.h
422
+ - lib/libv8/v8/src/extensions/experimental/i18n-natives.h
415
423
  - lib/libv8/v8/src/extensions/experimental/i18n-utils.cc
416
424
  - lib/libv8/v8/src/extensions/experimental/i18n-utils.h
417
425
  - lib/libv8/v8/src/extensions/experimental/i18n.js
418
426
  - lib/libv8/v8/src/extensions/experimental/language-matcher.cc
419
427
  - lib/libv8/v8/src/extensions/experimental/language-matcher.h
428
+ - lib/libv8/v8/src/extensions/experimental/number-format.cc
429
+ - lib/libv8/v8/src/extensions/experimental/number-format.h
420
430
  - lib/libv8/v8/src/extensions/externalize-string-extension.cc
421
431
  - lib/libv8/v8/src/extensions/externalize-string-extension.h
422
432
  - lib/libv8/v8/src/extensions/gc-extension.cc
@@ -495,7 +505,6 @@ files:
495
505
  - lib/libv8/v8/src/isolate-inl.h
496
506
  - lib/libv8/v8/src/isolate.cc
497
507
  - lib/libv8/v8/src/isolate.h
498
- - lib/libv8/v8/src/json-parser.cc
499
508
  - lib/libv8/v8/src/json-parser.h
500
509
  - lib/libv8/v8/src/json.js
501
510
  - lib/libv8/v8/src/jsregexp.cc
@@ -554,6 +563,7 @@ files:
554
563
  - lib/libv8/v8/src/mips/simulator-mips.h
555
564
  - lib/libv8/v8/src/mips/stub-cache-mips.cc
556
565
  - lib/libv8/v8/src/mirror-debugger.js
566
+ - lib/libv8/v8/src/misc-intrinsics.h
557
567
  - lib/libv8/v8/src/mksnapshot.cc
558
568
  - lib/libv8/v8/src/natives.h
559
569
  - lib/libv8/v8/src/objects-debug.cc
@@ -621,7 +631,6 @@ files:
621
631
  - lib/libv8/v8/src/scopes.h
622
632
  - lib/libv8/v8/src/serialize.cc
623
633
  - lib/libv8/v8/src/serialize.h
624
- - lib/libv8/v8/src/shell.h
625
634
  - lib/libv8/v8/src/simulator.h
626
635
  - lib/libv8/v8/src/small-pointer-list.h
627
636
  - lib/libv8/v8/src/smart-pointer.h
@@ -661,6 +670,8 @@ files:
661
670
  - lib/libv8/v8/src/v8.cc
662
671
  - lib/libv8/v8/src/v8.h
663
672
  - lib/libv8/v8/src/v8checks.h
673
+ - lib/libv8/v8/src/v8conversions.cc
674
+ - lib/libv8/v8/src/v8conversions.h
664
675
  - lib/libv8/v8/src/v8dll-main.cc
665
676
  - lib/libv8/v8/src/v8globals.h
666
677
  - lib/libv8/v8/src/v8memory.h
@@ -668,6 +679,7 @@ files:
668
679
  - lib/libv8/v8/src/v8preparserdll-main.cc
669
680
  - lib/libv8/v8/src/v8threads.cc
670
681
  - lib/libv8/v8/src/v8threads.h
682
+ - lib/libv8/v8/src/v8utils.cc
671
683
  - lib/libv8/v8/src/v8utils.h
672
684
  - lib/libv8/v8/src/variables.cc
673
685
  - lib/libv8/v8/src/variables.h
@@ -675,6 +687,7 @@ files:
675
687
  - lib/libv8/v8/src/version.h
676
688
  - lib/libv8/v8/src/vm-state-inl.h
677
689
  - lib/libv8/v8/src/vm-state.h
690
+ - lib/libv8/v8/src/weakmap.js
678
691
  - lib/libv8/v8/src/win32-headers.h
679
692
  - lib/libv8/v8/src/x64/assembler-x64-inl.h
680
693
  - lib/libv8/v8/src/x64/assembler-x64.cc
@@ -719,6 +732,7 @@ files:
719
732
  - lib/libv8/v8/tools/gcmole/gccause.lua
720
733
  - lib/libv8/v8/tools/gcmole/gcmole.cc
721
734
  - lib/libv8/v8/tools/gcmole/gcmole.lua
735
+ - lib/libv8/v8/tools/gdb-v8-support.py
722
736
  - lib/libv8/v8/tools/generate-ten-powers.scm
723
737
  - lib/libv8/v8/tools/grokdump.py
724
738
  - lib/libv8/v8/tools/gyp/v8.gyp
@@ -739,11 +753,12 @@ files:
739
753
  - lib/libv8/v8/tools/run-valgrind.py
740
754
  - lib/libv8/v8/tools/splaytree.js
741
755
  - lib/libv8/v8/tools/stats-viewer.py
756
+ - lib/libv8/v8/tools/test-wrapper-gypbuild.py
742
757
  - lib/libv8/v8/tools/test.py
743
758
  - lib/libv8/v8/tools/tickprocessor-driver.js
744
759
  - lib/libv8/v8/tools/tickprocessor.js
745
760
  - lib/libv8/v8/tools/utils.py
746
- - lib/libv8/v8/tools/v8.xcodeproj/project.pbxproj
761
+ - lib/libv8/v8/tools/v8.xcodeproj/README.txt
747
762
  - lib/libv8/v8/tools/visual_studio/README.txt
748
763
  - lib/libv8/v8/tools/windows-tick-processor.bat
749
764
  homepage: http://github.com/fractaloop/libv8
@@ -760,19 +775,16 @@ required_ruby_version: !ruby/object:Gem::Requirement
760
775
  version: '0'
761
776
  segments:
762
777
  - 0
763
- hash: -376774599548887810
778
+ hash: 3495690939367796264
764
779
  required_rubygems_version: !ruby/object:Gem::Requirement
765
780
  none: false
766
781
  requirements:
767
- - - ! '>='
782
+ - - ! '>'
768
783
  - !ruby/object:Gem::Version
769
- version: '0'
770
- segments:
771
- - 0
772
- hash: -376774599548887810
784
+ version: 1.3.1
773
785
  requirements: []
774
786
  rubyforge_project: libv8
775
- rubygems_version: 1.8.11
787
+ rubygems_version: 1.8.5
776
788
  signing_key:
777
789
  specification_version: 3
778
790
  summary: Distribution of the V8 JavaScript engine