libv8 3.11.8.17 → 3.16.14.0

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 (754) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -2
  3. data/Gemfile +1 -1
  4. data/Rakefile +6 -7
  5. data/lib/libv8/version.rb +1 -1
  6. data/vendor/v8/.gitignore +24 -3
  7. data/vendor/v8/AUTHORS +7 -0
  8. data/vendor/v8/ChangeLog +839 -0
  9. data/vendor/v8/DEPS +1 -1
  10. data/vendor/v8/Makefile.android +92 -0
  11. data/vendor/v8/OWNERS +11 -0
  12. data/vendor/v8/PRESUBMIT.py +71 -0
  13. data/vendor/v8/SConstruct +34 -39
  14. data/vendor/v8/build/android.gypi +56 -37
  15. data/vendor/v8/build/common.gypi +112 -30
  16. data/vendor/v8/build/gyp_v8 +1 -1
  17. data/vendor/v8/build/standalone.gypi +15 -11
  18. data/vendor/v8/include/v8-debug.h +9 -1
  19. data/vendor/v8/include/v8-preparser.h +4 -3
  20. data/vendor/v8/include/v8-profiler.h +25 -25
  21. data/vendor/v8/include/v8-testing.h +4 -3
  22. data/vendor/v8/include/v8.h +994 -540
  23. data/vendor/v8/preparser/preparser-process.cc +3 -3
  24. data/vendor/v8/samples/lineprocessor.cc +20 -27
  25. data/vendor/v8/samples/process.cc +18 -14
  26. data/vendor/v8/samples/shell.cc +16 -15
  27. data/vendor/v8/src/SConscript +15 -14
  28. data/vendor/v8/src/accessors.cc +169 -77
  29. data/vendor/v8/src/accessors.h +4 -0
  30. data/vendor/v8/src/allocation-inl.h +2 -2
  31. data/vendor/v8/src/allocation.h +7 -7
  32. data/vendor/v8/src/api.cc +810 -497
  33. data/vendor/v8/src/api.h +85 -60
  34. data/vendor/v8/src/arm/assembler-arm-inl.h +179 -22
  35. data/vendor/v8/src/arm/assembler-arm.cc +633 -264
  36. data/vendor/v8/src/arm/assembler-arm.h +264 -197
  37. data/vendor/v8/src/arm/builtins-arm.cc +117 -27
  38. data/vendor/v8/src/arm/code-stubs-arm.cc +1241 -700
  39. data/vendor/v8/src/arm/code-stubs-arm.h +35 -138
  40. data/vendor/v8/src/arm/codegen-arm.cc +285 -16
  41. data/vendor/v8/src/arm/codegen-arm.h +22 -0
  42. data/vendor/v8/src/arm/constants-arm.cc +5 -3
  43. data/vendor/v8/src/arm/constants-arm.h +24 -11
  44. data/vendor/v8/src/arm/debug-arm.cc +3 -3
  45. data/vendor/v8/src/arm/deoptimizer-arm.cc +382 -92
  46. data/vendor/v8/src/arm/disasm-arm.cc +61 -12
  47. data/vendor/v8/src/arm/frames-arm.h +0 -14
  48. data/vendor/v8/src/arm/full-codegen-arm.cc +332 -304
  49. data/vendor/v8/src/arm/ic-arm.cc +180 -259
  50. data/vendor/v8/src/arm/lithium-arm.cc +364 -316
  51. data/vendor/v8/src/arm/lithium-arm.h +512 -275
  52. data/vendor/v8/src/arm/lithium-codegen-arm.cc +1768 -809
  53. data/vendor/v8/src/arm/lithium-codegen-arm.h +97 -35
  54. data/vendor/v8/src/arm/lithium-gap-resolver-arm.cc +12 -5
  55. data/vendor/v8/src/arm/macro-assembler-arm.cc +439 -228
  56. data/vendor/v8/src/arm/macro-assembler-arm.h +116 -70
  57. data/vendor/v8/src/arm/regexp-macro-assembler-arm.cc +54 -44
  58. data/vendor/v8/src/arm/regexp-macro-assembler-arm.h +3 -10
  59. data/vendor/v8/src/arm/simulator-arm.cc +272 -238
  60. data/vendor/v8/src/arm/simulator-arm.h +38 -8
  61. data/vendor/v8/src/arm/stub-cache-arm.cc +522 -895
  62. data/vendor/v8/src/array.js +101 -70
  63. data/vendor/v8/src/assembler.cc +270 -19
  64. data/vendor/v8/src/assembler.h +110 -15
  65. data/vendor/v8/src/ast.cc +79 -69
  66. data/vendor/v8/src/ast.h +255 -301
  67. data/vendor/v8/src/atomicops.h +7 -1
  68. data/vendor/v8/src/atomicops_internals_tsan.h +335 -0
  69. data/vendor/v8/src/bootstrapper.cc +481 -418
  70. data/vendor/v8/src/bootstrapper.h +4 -4
  71. data/vendor/v8/src/builtins.cc +498 -311
  72. data/vendor/v8/src/builtins.h +75 -47
  73. data/vendor/v8/src/checks.cc +2 -1
  74. data/vendor/v8/src/checks.h +8 -0
  75. data/vendor/v8/src/code-stubs-hydrogen.cc +253 -0
  76. data/vendor/v8/src/code-stubs.cc +249 -84
  77. data/vendor/v8/src/code-stubs.h +501 -169
  78. data/vendor/v8/src/codegen.cc +36 -18
  79. data/vendor/v8/src/codegen.h +25 -3
  80. data/vendor/v8/src/collection.js +54 -17
  81. data/vendor/v8/src/compilation-cache.cc +24 -16
  82. data/vendor/v8/src/compilation-cache.h +15 -6
  83. data/vendor/v8/src/compiler.cc +497 -195
  84. data/vendor/v8/src/compiler.h +246 -38
  85. data/vendor/v8/src/contexts.cc +64 -24
  86. data/vendor/v8/src/contexts.h +60 -29
  87. data/vendor/v8/src/conversions-inl.h +24 -14
  88. data/vendor/v8/src/conversions.h +7 -4
  89. data/vendor/v8/src/counters.cc +21 -12
  90. data/vendor/v8/src/counters.h +44 -16
  91. data/vendor/v8/src/cpu-profiler.h +1 -1
  92. data/vendor/v8/src/d8-debug.cc +2 -2
  93. data/vendor/v8/src/d8-readline.cc +13 -2
  94. data/vendor/v8/src/d8.cc +681 -273
  95. data/vendor/v8/src/d8.gyp +4 -4
  96. data/vendor/v8/src/d8.h +38 -18
  97. data/vendor/v8/src/d8.js +0 -617
  98. data/vendor/v8/src/data-flow.h +55 -0
  99. data/vendor/v8/src/date.js +1 -42
  100. data/vendor/v8/src/dateparser-inl.h +5 -1
  101. data/vendor/v8/src/debug-agent.cc +10 -15
  102. data/vendor/v8/src/debug-debugger.js +147 -149
  103. data/vendor/v8/src/debug.cc +323 -164
  104. data/vendor/v8/src/debug.h +26 -14
  105. data/vendor/v8/src/deoptimizer.cc +765 -290
  106. data/vendor/v8/src/deoptimizer.h +130 -28
  107. data/vendor/v8/src/disassembler.cc +10 -4
  108. data/vendor/v8/src/elements-kind.cc +7 -2
  109. data/vendor/v8/src/elements-kind.h +19 -0
  110. data/vendor/v8/src/elements.cc +607 -285
  111. data/vendor/v8/src/elements.h +36 -13
  112. data/vendor/v8/src/execution.cc +52 -31
  113. data/vendor/v8/src/execution.h +4 -4
  114. data/vendor/v8/src/extensions/externalize-string-extension.cc +5 -4
  115. data/vendor/v8/src/extensions/gc-extension.cc +5 -1
  116. data/vendor/v8/src/extensions/statistics-extension.cc +153 -0
  117. data/vendor/v8/src/{inspector.h → extensions/statistics-extension.h} +12 -23
  118. data/vendor/v8/src/factory.cc +101 -134
  119. data/vendor/v8/src/factory.h +36 -31
  120. data/vendor/v8/src/flag-definitions.h +102 -25
  121. data/vendor/v8/src/flags.cc +9 -5
  122. data/vendor/v8/src/frames-inl.h +10 -0
  123. data/vendor/v8/src/frames.cc +116 -26
  124. data/vendor/v8/src/frames.h +96 -12
  125. data/vendor/v8/src/full-codegen.cc +219 -74
  126. data/vendor/v8/src/full-codegen.h +63 -21
  127. data/vendor/v8/src/func-name-inferrer.cc +8 -7
  128. data/vendor/v8/src/func-name-inferrer.h +5 -3
  129. data/vendor/v8/src/gdb-jit.cc +71 -57
  130. data/vendor/v8/src/global-handles.cc +230 -101
  131. data/vendor/v8/src/global-handles.h +26 -27
  132. data/vendor/v8/src/globals.h +17 -19
  133. data/vendor/v8/src/handles-inl.h +59 -12
  134. data/vendor/v8/src/handles.cc +180 -200
  135. data/vendor/v8/src/handles.h +80 -11
  136. data/vendor/v8/src/hashmap.h +60 -40
  137. data/vendor/v8/src/heap-inl.h +107 -45
  138. data/vendor/v8/src/heap-profiler.cc +38 -19
  139. data/vendor/v8/src/heap-profiler.h +24 -14
  140. data/vendor/v8/src/heap.cc +1123 -738
  141. data/vendor/v8/src/heap.h +385 -146
  142. data/vendor/v8/src/hydrogen-instructions.cc +700 -217
  143. data/vendor/v8/src/hydrogen-instructions.h +1158 -472
  144. data/vendor/v8/src/hydrogen.cc +3319 -1662
  145. data/vendor/v8/src/hydrogen.h +411 -170
  146. data/vendor/v8/src/ia32/assembler-ia32-inl.h +46 -16
  147. data/vendor/v8/src/ia32/assembler-ia32.cc +131 -61
  148. data/vendor/v8/src/ia32/assembler-ia32.h +115 -57
  149. data/vendor/v8/src/ia32/builtins-ia32.cc +99 -5
  150. data/vendor/v8/src/ia32/code-stubs-ia32.cc +787 -495
  151. data/vendor/v8/src/ia32/code-stubs-ia32.h +10 -100
  152. data/vendor/v8/src/ia32/codegen-ia32.cc +227 -23
  153. data/vendor/v8/src/ia32/codegen-ia32.h +14 -0
  154. data/vendor/v8/src/ia32/deoptimizer-ia32.cc +428 -87
  155. data/vendor/v8/src/ia32/disasm-ia32.cc +28 -1
  156. data/vendor/v8/src/ia32/frames-ia32.h +6 -16
  157. data/vendor/v8/src/ia32/full-codegen-ia32.cc +280 -272
  158. data/vendor/v8/src/ia32/ic-ia32.cc +150 -250
  159. data/vendor/v8/src/ia32/lithium-codegen-ia32.cc +1600 -517
  160. data/vendor/v8/src/ia32/lithium-codegen-ia32.h +90 -24
  161. data/vendor/v8/src/ia32/lithium-gap-resolver-ia32.cc +10 -6
  162. data/vendor/v8/src/ia32/lithium-gap-resolver-ia32.h +2 -2
  163. data/vendor/v8/src/ia32/lithium-ia32.cc +405 -302
  164. data/vendor/v8/src/ia32/lithium-ia32.h +526 -271
  165. data/vendor/v8/src/ia32/macro-assembler-ia32.cc +378 -119
  166. data/vendor/v8/src/ia32/macro-assembler-ia32.h +62 -28
  167. data/vendor/v8/src/ia32/regexp-macro-assembler-ia32.cc +43 -30
  168. data/vendor/v8/src/ia32/regexp-macro-assembler-ia32.h +2 -10
  169. data/vendor/v8/src/ia32/stub-cache-ia32.cc +492 -678
  170. data/vendor/v8/src/ic-inl.h +9 -4
  171. data/vendor/v8/src/ic.cc +836 -923
  172. data/vendor/v8/src/ic.h +228 -247
  173. data/vendor/v8/src/incremental-marking-inl.h +26 -30
  174. data/vendor/v8/src/incremental-marking.cc +276 -248
  175. data/vendor/v8/src/incremental-marking.h +29 -37
  176. data/vendor/v8/src/interface.cc +34 -25
  177. data/vendor/v8/src/interface.h +69 -25
  178. data/vendor/v8/src/interpreter-irregexp.cc +2 -2
  179. data/vendor/v8/src/isolate.cc +382 -76
  180. data/vendor/v8/src/isolate.h +109 -56
  181. data/vendor/v8/src/json-parser.h +217 -104
  182. data/vendor/v8/src/json-stringifier.h +745 -0
  183. data/vendor/v8/src/json.js +10 -132
  184. data/vendor/v8/src/jsregexp-inl.h +106 -0
  185. data/vendor/v8/src/jsregexp.cc +517 -285
  186. data/vendor/v8/src/jsregexp.h +145 -117
  187. data/vendor/v8/src/list-inl.h +35 -22
  188. data/vendor/v8/src/list.h +46 -19
  189. data/vendor/v8/src/lithium-allocator-inl.h +22 -2
  190. data/vendor/v8/src/lithium-allocator.cc +85 -70
  191. data/vendor/v8/src/lithium-allocator.h +21 -39
  192. data/vendor/v8/src/lithium.cc +259 -5
  193. data/vendor/v8/src/lithium.h +131 -32
  194. data/vendor/v8/src/liveedit-debugger.js +52 -3
  195. data/vendor/v8/src/liveedit.cc +393 -113
  196. data/vendor/v8/src/liveedit.h +7 -3
  197. data/vendor/v8/src/log-utils.cc +4 -2
  198. data/vendor/v8/src/log.cc +170 -140
  199. data/vendor/v8/src/log.h +62 -11
  200. data/vendor/v8/src/macro-assembler.h +17 -0
  201. data/vendor/v8/src/macros.py +2 -0
  202. data/vendor/v8/src/mark-compact-inl.h +3 -23
  203. data/vendor/v8/src/mark-compact.cc +801 -830
  204. data/vendor/v8/src/mark-compact.h +154 -47
  205. data/vendor/v8/src/marking-thread.cc +85 -0
  206. data/vendor/v8/src/{inspector.cc → marking-thread.h} +32 -24
  207. data/vendor/v8/src/math.js +12 -18
  208. data/vendor/v8/src/messages.cc +18 -8
  209. data/vendor/v8/src/messages.js +314 -261
  210. data/vendor/v8/src/mips/assembler-mips-inl.h +58 -6
  211. data/vendor/v8/src/mips/assembler-mips.cc +92 -75
  212. data/vendor/v8/src/mips/assembler-mips.h +54 -60
  213. data/vendor/v8/src/mips/builtins-mips.cc +116 -17
  214. data/vendor/v8/src/mips/code-stubs-mips.cc +919 -556
  215. data/vendor/v8/src/mips/code-stubs-mips.h +22 -131
  216. data/vendor/v8/src/mips/codegen-mips.cc +281 -6
  217. data/vendor/v8/src/mips/codegen-mips.h +22 -0
  218. data/vendor/v8/src/mips/constants-mips.cc +2 -0
  219. data/vendor/v8/src/mips/constants-mips.h +12 -2
  220. data/vendor/v8/src/mips/deoptimizer-mips.cc +286 -50
  221. data/vendor/v8/src/mips/disasm-mips.cc +13 -0
  222. data/vendor/v8/src/mips/full-codegen-mips.cc +297 -284
  223. data/vendor/v8/src/mips/ic-mips.cc +182 -263
  224. data/vendor/v8/src/mips/lithium-codegen-mips.cc +1208 -556
  225. data/vendor/v8/src/mips/lithium-codegen-mips.h +72 -19
  226. data/vendor/v8/src/mips/lithium-gap-resolver-mips.cc +9 -2
  227. data/vendor/v8/src/mips/lithium-mips.cc +290 -302
  228. data/vendor/v8/src/mips/lithium-mips.h +463 -266
  229. data/vendor/v8/src/mips/macro-assembler-mips.cc +208 -115
  230. data/vendor/v8/src/mips/macro-assembler-mips.h +67 -24
  231. data/vendor/v8/src/mips/regexp-macro-assembler-mips.cc +40 -25
  232. data/vendor/v8/src/mips/regexp-macro-assembler-mips.h +3 -9
  233. data/vendor/v8/src/mips/simulator-mips.cc +112 -40
  234. data/vendor/v8/src/mips/simulator-mips.h +5 -0
  235. data/vendor/v8/src/mips/stub-cache-mips.cc +502 -884
  236. data/vendor/v8/src/mirror-debugger.js +157 -30
  237. data/vendor/v8/src/mksnapshot.cc +88 -14
  238. data/vendor/v8/src/object-observe.js +235 -0
  239. data/vendor/v8/src/objects-debug.cc +178 -176
  240. data/vendor/v8/src/objects-inl.h +1333 -486
  241. data/vendor/v8/src/objects-printer.cc +125 -43
  242. data/vendor/v8/src/objects-visiting-inl.h +578 -6
  243. data/vendor/v8/src/objects-visiting.cc +2 -2
  244. data/vendor/v8/src/objects-visiting.h +172 -79
  245. data/vendor/v8/src/objects.cc +3533 -2885
  246. data/vendor/v8/src/objects.h +1352 -1131
  247. data/vendor/v8/src/optimizing-compiler-thread.cc +152 -0
  248. data/vendor/v8/src/optimizing-compiler-thread.h +111 -0
  249. data/vendor/v8/src/parser.cc +390 -500
  250. data/vendor/v8/src/parser.h +45 -33
  251. data/vendor/v8/src/platform-cygwin.cc +10 -21
  252. data/vendor/v8/src/platform-freebsd.cc +36 -41
  253. data/vendor/v8/src/platform-linux.cc +160 -124
  254. data/vendor/v8/src/platform-macos.cc +30 -27
  255. data/vendor/v8/src/platform-nullos.cc +17 -1
  256. data/vendor/v8/src/platform-openbsd.cc +19 -50
  257. data/vendor/v8/src/platform-posix.cc +14 -0
  258. data/vendor/v8/src/platform-solaris.cc +20 -53
  259. data/vendor/v8/src/platform-win32.cc +49 -26
  260. data/vendor/v8/src/platform.h +40 -1
  261. data/vendor/v8/src/preparser.cc +8 -5
  262. data/vendor/v8/src/preparser.h +2 -2
  263. data/vendor/v8/src/prettyprinter.cc +16 -0
  264. data/vendor/v8/src/prettyprinter.h +2 -0
  265. data/vendor/v8/src/profile-generator-inl.h +1 -0
  266. data/vendor/v8/src/profile-generator.cc +209 -147
  267. data/vendor/v8/src/profile-generator.h +15 -12
  268. data/vendor/v8/src/property-details.h +46 -31
  269. data/vendor/v8/src/property.cc +27 -46
  270. data/vendor/v8/src/property.h +163 -83
  271. data/vendor/v8/src/proxy.js +7 -2
  272. data/vendor/v8/src/regexp-macro-assembler-irregexp.cc +4 -13
  273. data/vendor/v8/src/regexp-macro-assembler-irregexp.h +1 -2
  274. data/vendor/v8/src/regexp-macro-assembler-tracer.cc +1 -11
  275. data/vendor/v8/src/regexp-macro-assembler-tracer.h +0 -1
  276. data/vendor/v8/src/regexp-macro-assembler.cc +31 -14
  277. data/vendor/v8/src/regexp-macro-assembler.h +14 -11
  278. data/vendor/v8/src/regexp-stack.cc +1 -0
  279. data/vendor/v8/src/regexp.js +9 -8
  280. data/vendor/v8/src/rewriter.cc +18 -7
  281. data/vendor/v8/src/runtime-profiler.cc +52 -43
  282. data/vendor/v8/src/runtime-profiler.h +0 -25
  283. data/vendor/v8/src/runtime.cc +2006 -2023
  284. data/vendor/v8/src/runtime.h +56 -49
  285. data/vendor/v8/src/safepoint-table.cc +12 -18
  286. data/vendor/v8/src/safepoint-table.h +11 -8
  287. data/vendor/v8/src/scanner.cc +1 -0
  288. data/vendor/v8/src/scanner.h +4 -10
  289. data/vendor/v8/src/scopeinfo.cc +35 -9
  290. data/vendor/v8/src/scopeinfo.h +64 -3
  291. data/vendor/v8/src/scopes.cc +251 -156
  292. data/vendor/v8/src/scopes.h +61 -27
  293. data/vendor/v8/src/serialize.cc +348 -396
  294. data/vendor/v8/src/serialize.h +125 -114
  295. data/vendor/v8/src/small-pointer-list.h +11 -11
  296. data/vendor/v8/src/{smart-array-pointer.h → smart-pointers.h} +64 -15
  297. data/vendor/v8/src/snapshot-common.cc +64 -15
  298. data/vendor/v8/src/snapshot-empty.cc +7 -1
  299. data/vendor/v8/src/snapshot.h +9 -2
  300. data/vendor/v8/src/spaces-inl.h +17 -0
  301. data/vendor/v8/src/spaces.cc +477 -183
  302. data/vendor/v8/src/spaces.h +238 -58
  303. data/vendor/v8/src/splay-tree-inl.h +8 -7
  304. data/vendor/v8/src/splay-tree.h +24 -10
  305. data/vendor/v8/src/store-buffer.cc +12 -5
  306. data/vendor/v8/src/store-buffer.h +2 -4
  307. data/vendor/v8/src/string-search.h +22 -6
  308. data/vendor/v8/src/string-stream.cc +11 -8
  309. data/vendor/v8/src/string.js +47 -15
  310. data/vendor/v8/src/stub-cache.cc +461 -224
  311. data/vendor/v8/src/stub-cache.h +164 -102
  312. data/vendor/v8/src/sweeper-thread.cc +105 -0
  313. data/vendor/v8/src/sweeper-thread.h +81 -0
  314. data/vendor/v8/src/token.h +1 -0
  315. data/vendor/v8/src/transitions-inl.h +220 -0
  316. data/vendor/v8/src/transitions.cc +160 -0
  317. data/vendor/v8/src/transitions.h +207 -0
  318. data/vendor/v8/src/type-info.cc +182 -181
  319. data/vendor/v8/src/type-info.h +31 -19
  320. data/vendor/v8/src/unicode-inl.h +62 -106
  321. data/vendor/v8/src/unicode.cc +57 -67
  322. data/vendor/v8/src/unicode.h +45 -91
  323. data/vendor/v8/src/uri.js +57 -29
  324. data/vendor/v8/src/utils.h +105 -5
  325. data/vendor/v8/src/v8-counters.cc +54 -11
  326. data/vendor/v8/src/v8-counters.h +134 -19
  327. data/vendor/v8/src/v8.cc +29 -29
  328. data/vendor/v8/src/v8.h +1 -0
  329. data/vendor/v8/src/v8conversions.cc +26 -22
  330. data/vendor/v8/src/v8globals.h +56 -43
  331. data/vendor/v8/src/v8natives.js +83 -30
  332. data/vendor/v8/src/v8threads.cc +42 -21
  333. data/vendor/v8/src/v8threads.h +4 -1
  334. data/vendor/v8/src/v8utils.cc +9 -93
  335. data/vendor/v8/src/v8utils.h +37 -33
  336. data/vendor/v8/src/variables.cc +6 -3
  337. data/vendor/v8/src/variables.h +6 -13
  338. data/vendor/v8/src/version.cc +2 -2
  339. data/vendor/v8/src/vm-state-inl.h +11 -0
  340. data/vendor/v8/src/x64/assembler-x64-inl.h +39 -8
  341. data/vendor/v8/src/x64/assembler-x64.cc +78 -64
  342. data/vendor/v8/src/x64/assembler-x64.h +38 -33
  343. data/vendor/v8/src/x64/builtins-x64.cc +105 -7
  344. data/vendor/v8/src/x64/code-stubs-x64.cc +790 -413
  345. data/vendor/v8/src/x64/code-stubs-x64.h +10 -106
  346. data/vendor/v8/src/x64/codegen-x64.cc +210 -8
  347. data/vendor/v8/src/x64/codegen-x64.h +20 -1
  348. data/vendor/v8/src/x64/deoptimizer-x64.cc +336 -75
  349. data/vendor/v8/src/x64/disasm-x64.cc +15 -0
  350. data/vendor/v8/src/x64/frames-x64.h +0 -14
  351. data/vendor/v8/src/x64/full-codegen-x64.cc +293 -270
  352. data/vendor/v8/src/x64/ic-x64.cc +153 -251
  353. data/vendor/v8/src/x64/lithium-codegen-x64.cc +1379 -531
  354. data/vendor/v8/src/x64/lithium-codegen-x64.h +67 -23
  355. data/vendor/v8/src/x64/lithium-gap-resolver-x64.cc +2 -2
  356. data/vendor/v8/src/x64/lithium-x64.cc +349 -289
  357. data/vendor/v8/src/x64/lithium-x64.h +460 -250
  358. data/vendor/v8/src/x64/macro-assembler-x64.cc +350 -177
  359. data/vendor/v8/src/x64/macro-assembler-x64.h +67 -49
  360. data/vendor/v8/src/x64/regexp-macro-assembler-x64.cc +46 -33
  361. data/vendor/v8/src/x64/regexp-macro-assembler-x64.h +2 -3
  362. data/vendor/v8/src/x64/stub-cache-x64.cc +484 -653
  363. data/vendor/v8/src/zone-inl.h +9 -27
  364. data/vendor/v8/src/zone.cc +5 -5
  365. data/vendor/v8/src/zone.h +53 -27
  366. data/vendor/v8/test/benchmarks/testcfg.py +5 -0
  367. data/vendor/v8/test/cctest/cctest.cc +4 -0
  368. data/vendor/v8/test/cctest/cctest.gyp +3 -1
  369. data/vendor/v8/test/cctest/cctest.h +57 -9
  370. data/vendor/v8/test/cctest/cctest.status +15 -15
  371. data/vendor/v8/test/cctest/test-accessors.cc +26 -0
  372. data/vendor/v8/test/cctest/test-alloc.cc +22 -30
  373. data/vendor/v8/test/cctest/test-api.cc +1943 -314
  374. data/vendor/v8/test/cctest/test-assembler-arm.cc +133 -13
  375. data/vendor/v8/test/cctest/test-assembler-ia32.cc +1 -1
  376. data/vendor/v8/test/cctest/test-assembler-mips.cc +12 -0
  377. data/vendor/v8/test/cctest/test-ast.cc +4 -2
  378. data/vendor/v8/test/cctest/test-compiler.cc +61 -29
  379. data/vendor/v8/test/cctest/test-dataflow.cc +2 -2
  380. data/vendor/v8/test/cctest/test-debug.cc +212 -33
  381. data/vendor/v8/test/cctest/test-decls.cc +257 -11
  382. data/vendor/v8/test/cctest/test-dictionary.cc +24 -10
  383. data/vendor/v8/test/cctest/test-disasm-arm.cc +118 -1
  384. data/vendor/v8/test/cctest/test-disasm-ia32.cc +3 -2
  385. data/vendor/v8/test/cctest/test-flags.cc +14 -1
  386. data/vendor/v8/test/cctest/test-func-name-inference.cc +7 -4
  387. data/vendor/v8/test/cctest/test-global-object.cc +51 -0
  388. data/vendor/v8/test/cctest/test-hashing.cc +32 -23
  389. data/vendor/v8/test/cctest/test-heap-profiler.cc +131 -77
  390. data/vendor/v8/test/cctest/test-heap.cc +1084 -143
  391. data/vendor/v8/test/cctest/test-list.cc +1 -1
  392. data/vendor/v8/test/cctest/test-liveedit.cc +3 -2
  393. data/vendor/v8/test/cctest/test-lockers.cc +12 -13
  394. data/vendor/v8/test/cctest/test-log.cc +10 -8
  395. data/vendor/v8/test/cctest/test-macro-assembler-x64.cc +2 -2
  396. data/vendor/v8/test/cctest/test-mark-compact.cc +44 -22
  397. data/vendor/v8/test/cctest/test-object-observe.cc +434 -0
  398. data/vendor/v8/test/cctest/test-parsing.cc +86 -39
  399. data/vendor/v8/test/cctest/test-platform-linux.cc +6 -0
  400. data/vendor/v8/test/cctest/test-platform-win32.cc +7 -0
  401. data/vendor/v8/test/cctest/test-random.cc +5 -4
  402. data/vendor/v8/test/cctest/test-regexp.cc +137 -101
  403. data/vendor/v8/test/cctest/test-serialize.cc +150 -230
  404. data/vendor/v8/test/cctest/test-sockets.cc +1 -1
  405. data/vendor/v8/test/cctest/test-spaces.cc +139 -0
  406. data/vendor/v8/test/cctest/test-strings.cc +736 -74
  407. data/vendor/v8/test/cctest/test-thread-termination.cc +10 -11
  408. data/vendor/v8/test/cctest/test-threads.cc +4 -4
  409. data/vendor/v8/test/cctest/test-utils.cc +16 -0
  410. data/vendor/v8/test/cctest/test-weakmaps.cc +7 -3
  411. data/vendor/v8/test/cctest/testcfg.py +64 -5
  412. data/vendor/v8/test/es5conform/testcfg.py +5 -0
  413. data/vendor/v8/test/message/message.status +1 -1
  414. data/vendor/v8/test/message/overwritten-builtins.out +3 -0
  415. data/vendor/v8/test/message/testcfg.py +89 -8
  416. data/vendor/v8/test/message/try-catch-finally-no-message.out +26 -26
  417. data/vendor/v8/test/mjsunit/accessor-map-sharing.js +18 -2
  418. data/vendor/v8/test/mjsunit/allocation-site-info.js +126 -0
  419. data/vendor/v8/test/mjsunit/array-bounds-check-removal.js +62 -1
  420. data/vendor/v8/test/mjsunit/array-iteration.js +1 -1
  421. data/vendor/v8/test/mjsunit/array-literal-transitions.js +2 -0
  422. data/vendor/v8/test/mjsunit/array-natives-elements.js +317 -0
  423. data/vendor/v8/test/mjsunit/array-reduce.js +8 -8
  424. data/vendor/v8/test/mjsunit/array-slice.js +12 -0
  425. data/vendor/v8/test/mjsunit/array-store-and-grow.js +4 -1
  426. data/vendor/v8/test/mjsunit/assert-opt-and-deopt.js +1 -1
  427. data/vendor/v8/test/mjsunit/bugs/bug-2337.js +53 -0
  428. data/vendor/v8/test/mjsunit/compare-known-objects-slow.js +69 -0
  429. data/vendor/v8/test/mjsunit/compiler/alloc-object-huge.js +3 -1
  430. data/vendor/v8/test/mjsunit/compiler/inline-accessors.js +368 -0
  431. data/vendor/v8/test/mjsunit/compiler/inline-arguments.js +87 -1
  432. data/vendor/v8/test/mjsunit/compiler/inline-closures.js +49 -0
  433. data/vendor/v8/test/mjsunit/compiler/inline-construct.js +55 -43
  434. data/vendor/v8/test/mjsunit/compiler/inline-literals.js +39 -0
  435. data/vendor/v8/test/mjsunit/compiler/multiply-add.js +69 -0
  436. data/vendor/v8/test/mjsunit/compiler/optimized-closures.js +57 -0
  437. data/vendor/v8/test/mjsunit/compiler/parallel-proto-change.js +44 -0
  438. data/vendor/v8/test/mjsunit/compiler/property-static.js +69 -0
  439. data/vendor/v8/test/mjsunit/compiler/proto-chain-constant.js +55 -0
  440. data/vendor/v8/test/mjsunit/compiler/proto-chain-load.js +44 -0
  441. data/vendor/v8/test/mjsunit/compiler/regress-gvn.js +3 -2
  442. data/vendor/v8/test/mjsunit/compiler/regress-or.js +6 -2
  443. data/vendor/v8/test/mjsunit/compiler/rotate.js +224 -0
  444. data/vendor/v8/test/mjsunit/compiler/uint32.js +173 -0
  445. data/vendor/v8/test/mjsunit/count-based-osr.js +2 -1
  446. data/vendor/v8/test/mjsunit/d8-os.js +3 -3
  447. data/vendor/v8/test/mjsunit/date-parse.js +3 -0
  448. data/vendor/v8/test/mjsunit/date.js +22 -0
  449. data/vendor/v8/test/mjsunit/debug-break-inline.js +1 -0
  450. data/vendor/v8/test/mjsunit/debug-evaluate-locals-optimized-double.js +22 -12
  451. data/vendor/v8/test/mjsunit/debug-evaluate-locals-optimized.js +21 -10
  452. data/vendor/v8/test/mjsunit/debug-liveedit-compile-error.js +60 -0
  453. data/vendor/v8/test/mjsunit/debug-liveedit-double-call.js +142 -0
  454. data/vendor/v8/test/mjsunit/debug-liveedit-literals.js +94 -0
  455. data/vendor/v8/test/mjsunit/debug-liveedit-restart-frame.js +153 -0
  456. data/vendor/v8/test/mjsunit/debug-multiple-breakpoints.js +1 -1
  457. data/vendor/v8/test/mjsunit/debug-script-breakpoints-closure.js +67 -0
  458. data/vendor/v8/test/mjsunit/debug-script-breakpoints-nested.js +82 -0
  459. data/vendor/v8/test/mjsunit/debug-script.js +4 -2
  460. data/vendor/v8/test/mjsunit/debug-set-variable-value.js +308 -0
  461. data/vendor/v8/test/mjsunit/debug-stepout-scope-part1.js +190 -0
  462. data/vendor/v8/test/mjsunit/debug-stepout-scope-part2.js +83 -0
  463. data/vendor/v8/test/mjsunit/debug-stepout-scope-part3.js +80 -0
  464. data/vendor/v8/test/mjsunit/debug-stepout-scope-part4.js +80 -0
  465. data/vendor/v8/test/mjsunit/debug-stepout-scope-part5.js +77 -0
  466. data/vendor/v8/test/mjsunit/debug-stepout-scope-part6.js +79 -0
  467. data/vendor/v8/test/mjsunit/debug-stepout-scope-part7.js +79 -0
  468. data/vendor/v8/test/mjsunit/{debug-stepout-scope.js → debug-stepout-scope-part8.js} +0 -189
  469. data/vendor/v8/test/mjsunit/delete-non-configurable.js +74 -0
  470. data/vendor/v8/test/mjsunit/deopt-minus-zero.js +56 -0
  471. data/vendor/v8/test/mjsunit/elements-kind.js +6 -4
  472. data/vendor/v8/test/mjsunit/elements-length-no-holey.js +33 -0
  473. data/vendor/v8/test/mjsunit/elements-transition-hoisting.js +46 -19
  474. data/vendor/v8/test/mjsunit/error-accessors.js +54 -0
  475. data/vendor/v8/test/mjsunit/error-constructors.js +1 -14
  476. data/vendor/v8/test/mjsunit/error-tostring.js +8 -0
  477. data/vendor/v8/test/mjsunit/eval-stack-trace.js +204 -0
  478. data/vendor/v8/test/mjsunit/external-array.js +364 -1
  479. data/vendor/v8/test/mjsunit/fast-array-length.js +37 -0
  480. data/vendor/v8/test/mjsunit/fast-non-keyed.js +113 -0
  481. data/vendor/v8/test/mjsunit/fast-prototype.js +117 -0
  482. data/vendor/v8/test/mjsunit/function-call.js +14 -18
  483. data/vendor/v8/test/mjsunit/fuzz-natives-part1.js +230 -0
  484. data/vendor/v8/test/mjsunit/fuzz-natives-part2.js +229 -0
  485. data/vendor/v8/test/mjsunit/fuzz-natives-part3.js +229 -0
  486. data/vendor/v8/test/mjsunit/{fuzz-natives.js → fuzz-natives-part4.js} +12 -2
  487. data/vendor/v8/test/mjsunit/generated-transition-stub.js +218 -0
  488. data/vendor/v8/test/mjsunit/greedy.js +1 -1
  489. data/vendor/v8/test/mjsunit/harmony/block-conflicts.js +2 -1
  490. data/vendor/v8/test/mjsunit/harmony/block-let-crankshaft.js +1 -1
  491. data/vendor/v8/test/mjsunit/harmony/collections.js +69 -11
  492. data/vendor/v8/test/mjsunit/harmony/debug-blockscopes.js +2 -2
  493. data/vendor/v8/test/mjsunit/harmony/module-linking.js +180 -3
  494. data/vendor/v8/test/mjsunit/harmony/module-parsing.js +31 -0
  495. data/vendor/v8/test/mjsunit/harmony/module-recompile.js +87 -0
  496. data/vendor/v8/test/mjsunit/harmony/module-resolution.js +15 -2
  497. data/vendor/v8/test/mjsunit/harmony/object-observe.js +1056 -0
  498. data/vendor/v8/test/mjsunit/harmony/proxies-json.js +178 -0
  499. data/vendor/v8/test/mjsunit/harmony/proxies.js +25 -10
  500. data/vendor/v8/test/mjsunit/json-parser-recursive.js +33 -0
  501. data/vendor/v8/test/mjsunit/json-stringify-recursive.js +52 -0
  502. data/vendor/v8/test/mjsunit/json.js +38 -2
  503. data/vendor/v8/test/mjsunit/json2.js +153 -0
  504. data/vendor/v8/test/mjsunit/limit-locals.js +5 -4
  505. data/vendor/v8/test/mjsunit/manual-parallel-recompile.js +79 -0
  506. data/vendor/v8/test/mjsunit/math-exp-precision.js +64 -0
  507. data/vendor/v8/test/mjsunit/math-floor-negative.js +59 -0
  508. data/vendor/v8/test/mjsunit/math-floor-of-div-minus-zero.js +41 -0
  509. data/vendor/v8/test/mjsunit/math-floor-of-div-nosudiv.js +288 -0
  510. data/vendor/v8/test/mjsunit/math-floor-of-div.js +81 -9
  511. data/vendor/v8/test/mjsunit/{math-floor.js → math-floor-part1.js} +1 -72
  512. data/vendor/v8/test/mjsunit/math-floor-part2.js +76 -0
  513. data/vendor/v8/test/mjsunit/math-floor-part3.js +78 -0
  514. data/vendor/v8/test/mjsunit/math-floor-part4.js +76 -0
  515. data/vendor/v8/test/mjsunit/mirror-object.js +43 -9
  516. data/vendor/v8/test/mjsunit/mjsunit.js +1 -1
  517. data/vendor/v8/test/mjsunit/mjsunit.status +52 -27
  518. data/vendor/v8/test/mjsunit/mul-exhaustive-part1.js +491 -0
  519. data/vendor/v8/test/mjsunit/mul-exhaustive-part10.js +470 -0
  520. data/vendor/v8/test/mjsunit/mul-exhaustive-part2.js +525 -0
  521. data/vendor/v8/test/mjsunit/mul-exhaustive-part3.js +532 -0
  522. data/vendor/v8/test/mjsunit/mul-exhaustive-part4.js +509 -0
  523. data/vendor/v8/test/mjsunit/mul-exhaustive-part5.js +505 -0
  524. data/vendor/v8/test/mjsunit/mul-exhaustive-part6.js +554 -0
  525. data/vendor/v8/test/mjsunit/mul-exhaustive-part7.js +497 -0
  526. data/vendor/v8/test/mjsunit/mul-exhaustive-part8.js +526 -0
  527. data/vendor/v8/test/mjsunit/mul-exhaustive-part9.js +533 -0
  528. data/vendor/v8/test/mjsunit/new-function.js +34 -0
  529. data/vendor/v8/test/mjsunit/numops-fuzz-part1.js +1172 -0
  530. data/vendor/v8/test/mjsunit/numops-fuzz-part2.js +1178 -0
  531. data/vendor/v8/test/mjsunit/numops-fuzz-part3.js +1178 -0
  532. data/vendor/v8/test/mjsunit/numops-fuzz-part4.js +1177 -0
  533. data/vendor/v8/test/mjsunit/object-define-property.js +107 -2
  534. data/vendor/v8/test/mjsunit/override-read-only-property.js +6 -4
  535. data/vendor/v8/test/mjsunit/packed-elements.js +2 -2
  536. data/vendor/v8/test/mjsunit/parse-int-float.js +4 -4
  537. data/vendor/v8/test/mjsunit/pixel-array-rounding.js +1 -1
  538. data/vendor/v8/test/mjsunit/readonly.js +228 -0
  539. data/vendor/v8/test/mjsunit/regexp-capture-3.js +16 -18
  540. data/vendor/v8/test/mjsunit/regexp-capture.js +2 -0
  541. data/vendor/v8/test/mjsunit/regexp-global.js +122 -0
  542. data/vendor/v8/test/mjsunit/regexp-results-cache.js +78 -0
  543. data/vendor/v8/test/mjsunit/regress/regress-1117.js +12 -3
  544. data/vendor/v8/test/mjsunit/regress/regress-1118.js +1 -1
  545. data/vendor/v8/test/mjsunit/regress/regress-115100.js +36 -0
  546. data/vendor/v8/test/mjsunit/regress/regress-1199637.js +1 -3
  547. data/vendor/v8/test/mjsunit/regress/regress-121407.js +1 -1
  548. data/vendor/v8/test/mjsunit/regress/regress-131923.js +30 -0
  549. data/vendor/v8/test/mjsunit/regress/regress-131994.js +70 -0
  550. data/vendor/v8/test/mjsunit/regress/regress-133211.js +35 -0
  551. data/vendor/v8/test/mjsunit/regress/regress-133211b.js +39 -0
  552. data/vendor/v8/test/mjsunit/regress/regress-136048.js +34 -0
  553. data/vendor/v8/test/mjsunit/regress/regress-137768.js +73 -0
  554. data/vendor/v8/test/mjsunit/regress/regress-143967.js +34 -0
  555. data/vendor/v8/test/mjsunit/regress/regress-145201.js +107 -0
  556. data/vendor/v8/test/mjsunit/regress/regress-147497.js +45 -0
  557. data/vendor/v8/test/mjsunit/regress/regress-148378.js +38 -0
  558. data/vendor/v8/test/mjsunit/regress/regress-1563.js +1 -1
  559. data/vendor/v8/test/mjsunit/regress/regress-1591.js +48 -0
  560. data/vendor/v8/test/mjsunit/regress/regress-164442.js +45 -0
  561. data/vendor/v8/test/mjsunit/regress/regress-165637.js +61 -0
  562. data/vendor/v8/test/mjsunit/regress/regress-166379.js +39 -0
  563. data/vendor/v8/test/mjsunit/regress/regress-166553.js +33 -0
  564. data/vendor/v8/test/mjsunit/regress/regress-1692.js +1 -1
  565. data/vendor/v8/test/mjsunit/regress/regress-171641.js +40 -0
  566. data/vendor/v8/test/mjsunit/regress/regress-1980.js +1 -1
  567. data/vendor/v8/test/mjsunit/regress/regress-2073.js +99 -0
  568. data/vendor/v8/test/mjsunit/regress/regress-2119.js +36 -0
  569. data/vendor/v8/test/mjsunit/regress/regress-2156.js +39 -0
  570. data/vendor/v8/test/mjsunit/regress/regress-2163.js +70 -0
  571. data/vendor/v8/test/mjsunit/regress/regress-2170.js +58 -0
  572. data/vendor/v8/test/mjsunit/regress/regress-2172.js +35 -0
  573. data/vendor/v8/test/mjsunit/regress/regress-2185-2.js +145 -0
  574. data/vendor/v8/test/mjsunit/regress/regress-2185.js +38 -0
  575. data/vendor/v8/test/mjsunit/regress/regress-2186.js +49 -0
  576. data/vendor/v8/test/mjsunit/regress/regress-2193.js +58 -0
  577. data/vendor/v8/test/mjsunit/regress/regress-2219.js +32 -0
  578. data/vendor/v8/test/mjsunit/regress/regress-2225.js +65 -0
  579. data/vendor/v8/test/mjsunit/regress/regress-2226.js +36 -0
  580. data/vendor/v8/test/mjsunit/regress/regress-2234.js +41 -0
  581. data/vendor/v8/test/mjsunit/regress/regress-2243.js +31 -0
  582. data/vendor/v8/test/mjsunit/regress/regress-2249.js +33 -0
  583. data/vendor/v8/test/mjsunit/regress/regress-2250.js +68 -0
  584. data/vendor/v8/test/mjsunit/regress/regress-2261.js +113 -0
  585. data/vendor/v8/test/mjsunit/regress/regress-2263.js +30 -0
  586. data/vendor/v8/test/mjsunit/regress/regress-2284.js +32 -0
  587. data/vendor/v8/test/mjsunit/regress/regress-2285.js +32 -0
  588. data/vendor/v8/test/mjsunit/regress/regress-2286.js +32 -0
  589. data/vendor/v8/test/mjsunit/regress/regress-2289.js +34 -0
  590. data/vendor/v8/test/mjsunit/regress/regress-2291.js +36 -0
  591. data/vendor/v8/test/mjsunit/regress/regress-2294.js +70 -0
  592. data/vendor/v8/test/mjsunit/regress/regress-2296.js +40 -0
  593. data/vendor/v8/test/mjsunit/regress/regress-2315.js +40 -0
  594. data/vendor/v8/test/mjsunit/regress/regress-2318.js +66 -0
  595. data/vendor/v8/test/mjsunit/regress/regress-2322.js +36 -0
  596. data/vendor/v8/test/mjsunit/regress/regress-2326.js +54 -0
  597. data/vendor/v8/test/mjsunit/regress/regress-2336.js +53 -0
  598. data/vendor/v8/test/mjsunit/regress/regress-2339.js +59 -0
  599. data/vendor/v8/test/mjsunit/regress/regress-2346.js +123 -0
  600. data/vendor/v8/test/mjsunit/regress/regress-2373.js +29 -0
  601. data/vendor/v8/test/mjsunit/regress/regress-2374.js +33 -0
  602. data/vendor/v8/test/mjsunit/regress/regress-2398.js +41 -0
  603. data/vendor/v8/test/mjsunit/regress/regress-2410.js +36 -0
  604. data/vendor/v8/test/mjsunit/regress/regress-2416.js +75 -0
  605. data/vendor/v8/test/mjsunit/regress/regress-2419.js +37 -0
  606. data/vendor/v8/test/mjsunit/regress/regress-2433.js +36 -0
  607. data/vendor/v8/test/mjsunit/regress/regress-2437.js +156 -0
  608. data/vendor/v8/test/mjsunit/regress/regress-2438.js +52 -0
  609. data/vendor/v8/test/mjsunit/regress/regress-2443.js +129 -0
  610. data/vendor/v8/test/mjsunit/regress/regress-2444.js +120 -0
  611. data/vendor/v8/test/mjsunit/regress/regress-2489.js +50 -0
  612. data/vendor/v8/test/mjsunit/regress/regress-2499.js +40 -0
  613. data/vendor/v8/test/mjsunit/regress/regress-334.js +1 -1
  614. data/vendor/v8/test/mjsunit/regress/regress-492.js +39 -1
  615. data/vendor/v8/test/mjsunit/regress/regress-builtin-array-op.js +38 -0
  616. data/vendor/v8/test/mjsunit/regress/regress-cnlt-elements.js +43 -0
  617. data/vendor/v8/test/mjsunit/regress/regress-cnlt-enum-indices.js +45 -0
  618. data/vendor/v8/test/mjsunit/regress/regress-cntl-descriptors-enum.js +46 -0
  619. data/vendor/v8/test/mjsunit/regress/regress-convert-enum.js +60 -0
  620. data/vendor/v8/test/mjsunit/regress/regress-convert-enum2.js +46 -0
  621. data/vendor/v8/test/mjsunit/regress/regress-convert-transition.js +40 -0
  622. data/vendor/v8/test/mjsunit/regress/regress-crbug-119926.js +3 -1
  623. data/vendor/v8/test/mjsunit/regress/regress-crbug-125148.js +90 -0
  624. data/vendor/v8/test/mjsunit/regress/regress-crbug-134055.js +63 -0
  625. data/vendor/v8/test/mjsunit/regress/regress-crbug-134609.js +59 -0
  626. data/vendor/v8/test/mjsunit/regress/regress-crbug-135008.js +45 -0
  627. data/vendor/v8/test/mjsunit/regress/regress-crbug-135066.js +55 -0
  628. data/vendor/v8/test/mjsunit/regress/regress-crbug-137689.js +47 -0
  629. data/vendor/v8/test/mjsunit/regress/regress-crbug-138887.js +48 -0
  630. data/vendor/v8/test/mjsunit/regress/regress-crbug-140083.js +44 -0
  631. data/vendor/v8/test/mjsunit/regress/regress-crbug-142087.js +38 -0
  632. data/vendor/v8/test/mjsunit/regress/regress-crbug-142218.js +44 -0
  633. data/vendor/v8/test/mjsunit/regress/regress-crbug-145961.js +39 -0
  634. data/vendor/v8/test/mjsunit/regress/regress-crbug-146910.js +33 -0
  635. data/vendor/v8/test/mjsunit/regress/regress-crbug-147475.js +48 -0
  636. data/vendor/v8/test/mjsunit/regress/regress-crbug-148376.js +35 -0
  637. data/vendor/v8/test/mjsunit/regress/regress-crbug-150545.js +53 -0
  638. data/vendor/v8/test/mjsunit/regress/regress-crbug-150729.js +39 -0
  639. data/vendor/v8/test/mjsunit/regress/regress-crbug-157019.js +54 -0
  640. data/vendor/v8/test/mjsunit/regress/regress-crbug-157520.js +38 -0
  641. data/vendor/v8/test/mjsunit/regress/regress-crbug-158185.js +39 -0
  642. data/vendor/v8/test/mjsunit/regress/regress-crbug-160010.js +35 -0
  643. data/vendor/v8/test/mjsunit/regress/regress-crbug-162085.js +71 -0
  644. data/vendor/v8/test/mjsunit/regress/regress-crbug-168545.js +34 -0
  645. data/vendor/v8/test/mjsunit/regress/regress-crbug-170856.js +33 -0
  646. data/vendor/v8/test/mjsunit/regress/regress-crbug-172345.js +34 -0
  647. data/vendor/v8/test/mjsunit/regress/regress-crbug-173974.js +36 -0
  648. data/vendor/v8/test/mjsunit/regress/regress-crbug-18639.js +9 -5
  649. data/vendor/v8/test/mjsunit/regress/regress-debug-code-recompilation.js +2 -1
  650. data/vendor/v8/test/mjsunit/regress/regress-deep-proto.js +45 -0
  651. data/vendor/v8/test/mjsunit/regress/regress-delete-empty-double.js +40 -0
  652. data/vendor/v8/test/mjsunit/regress/regress-iteration-order.js +42 -0
  653. data/vendor/v8/test/mjsunit/regress/regress-json-stringify-gc.js +41 -0
  654. data/vendor/v8/test/mjsunit/regress/regress-latin-1.js +78 -0
  655. data/vendor/v8/test/mjsunit/regress/regress-load-elements.js +49 -0
  656. data/vendor/v8/test/mjsunit/regress/regress-observe-empty-double-array.js +38 -0
  657. data/vendor/v8/test/mjsunit/regress/regress-undefined-store-keyed-fast-element.js +37 -0
  658. data/vendor/v8/test/mjsunit/shift-for-integer-div.js +59 -0
  659. data/vendor/v8/test/mjsunit/stack-traces-gc.js +119 -0
  660. data/vendor/v8/test/mjsunit/stack-traces-overflow.js +122 -0
  661. data/vendor/v8/test/mjsunit/stack-traces.js +39 -1
  662. data/vendor/v8/test/mjsunit/str-to-num.js +7 -2
  663. data/vendor/v8/test/mjsunit/strict-mode.js +36 -11
  664. data/vendor/v8/test/mjsunit/string-charcodeat.js +3 -0
  665. data/vendor/v8/test/mjsunit/string-natives.js +72 -0
  666. data/vendor/v8/test/mjsunit/string-split.js +17 -0
  667. data/vendor/v8/test/mjsunit/testcfg.py +76 -6
  668. data/vendor/v8/test/mjsunit/tools/tickprocessor.js +4 -1
  669. data/vendor/v8/test/mjsunit/try-finally-continue.js +72 -0
  670. data/vendor/v8/test/mjsunit/typed-array-slice.js +61 -0
  671. data/vendor/v8/test/mjsunit/unbox-double-arrays.js +2 -0
  672. data/vendor/v8/test/mjsunit/uri.js +12 -0
  673. data/vendor/v8/test/mjsunit/with-readonly.js +4 -2
  674. data/vendor/v8/test/mozilla/mozilla.status +19 -113
  675. data/vendor/v8/test/mozilla/testcfg.py +122 -3
  676. data/vendor/v8/test/preparser/preparser.status +5 -0
  677. data/vendor/v8/test/preparser/strict-identifiers.pyt +1 -1
  678. data/vendor/v8/test/preparser/testcfg.py +101 -5
  679. data/vendor/v8/test/sputnik/sputnik.status +1 -1
  680. data/vendor/v8/test/sputnik/testcfg.py +5 -0
  681. data/vendor/v8/test/test262/README +2 -2
  682. data/vendor/v8/test/test262/test262.status +13 -36
  683. data/vendor/v8/test/test262/testcfg.py +102 -8
  684. data/vendor/v8/tools/android-build.sh +0 -0
  685. data/vendor/v8/tools/android-ll-prof.sh +69 -0
  686. data/vendor/v8/tools/android-run.py +109 -0
  687. data/vendor/v8/tools/android-sync.sh +105 -0
  688. data/vendor/v8/tools/bash-completion.sh +0 -0
  689. data/vendor/v8/tools/check-static-initializers.sh +0 -0
  690. data/vendor/v8/tools/common-includes.sh +15 -22
  691. data/vendor/v8/tools/disasm.py +4 -4
  692. data/vendor/v8/tools/fuzz-harness.sh +0 -0
  693. data/vendor/v8/tools/gen-postmortem-metadata.py +6 -8
  694. data/vendor/v8/tools/grokdump.py +404 -129
  695. data/vendor/v8/tools/gyp/v8.gyp +105 -43
  696. data/vendor/v8/tools/linux-tick-processor +5 -5
  697. data/vendor/v8/tools/ll_prof.py +75 -15
  698. data/vendor/v8/tools/merge-to-branch.sh +2 -2
  699. data/vendor/v8/tools/plot-timer-events +70 -0
  700. data/vendor/v8/tools/plot-timer-events.js +510 -0
  701. data/vendor/v8/tools/presubmit.py +1 -0
  702. data/vendor/v8/tools/push-to-trunk.sh +14 -4
  703. data/vendor/v8/tools/run-llprof.sh +69 -0
  704. data/vendor/v8/tools/run-tests.py +372 -0
  705. data/vendor/v8/tools/run-valgrind.py +1 -1
  706. data/vendor/v8/tools/status-file-converter.py +39 -0
  707. data/vendor/v8/tools/test-server.py +224 -0
  708. data/vendor/v8/tools/test-wrapper-gypbuild.py +13 -16
  709. data/vendor/v8/tools/test.py +10 -19
  710. data/vendor/v8/tools/testrunner/README +174 -0
  711. data/vendor/v8/tools/testrunner/__init__.py +26 -0
  712. data/vendor/v8/tools/testrunner/local/__init__.py +26 -0
  713. data/vendor/v8/tools/testrunner/local/commands.py +153 -0
  714. data/vendor/v8/tools/testrunner/local/execution.py +182 -0
  715. data/vendor/v8/tools/testrunner/local/old_statusfile.py +460 -0
  716. data/vendor/v8/tools/testrunner/local/progress.py +238 -0
  717. data/vendor/v8/tools/testrunner/local/statusfile.py +145 -0
  718. data/vendor/v8/tools/testrunner/local/testsuite.py +187 -0
  719. data/vendor/v8/tools/testrunner/local/utils.py +108 -0
  720. data/vendor/v8/tools/testrunner/local/verbose.py +99 -0
  721. data/vendor/v8/tools/testrunner/network/__init__.py +26 -0
  722. data/vendor/v8/tools/testrunner/network/distro.py +90 -0
  723. data/vendor/v8/tools/testrunner/network/endpoint.py +124 -0
  724. data/vendor/v8/tools/testrunner/network/network_execution.py +253 -0
  725. data/vendor/v8/tools/testrunner/network/perfdata.py +120 -0
  726. data/vendor/v8/tools/testrunner/objects/__init__.py +26 -0
  727. data/vendor/v8/tools/testrunner/objects/context.py +50 -0
  728. data/vendor/v8/tools/testrunner/objects/output.py +60 -0
  729. data/vendor/v8/tools/testrunner/objects/peer.py +80 -0
  730. data/vendor/v8/tools/testrunner/objects/testcase.py +83 -0
  731. data/vendor/v8/tools/testrunner/objects/workpacket.py +90 -0
  732. data/vendor/v8/tools/testrunner/server/__init__.py +26 -0
  733. data/vendor/v8/tools/testrunner/server/compression.py +111 -0
  734. data/vendor/v8/tools/testrunner/server/constants.py +51 -0
  735. data/vendor/v8/tools/testrunner/server/daemon.py +147 -0
  736. data/vendor/v8/tools/testrunner/server/local_handler.py +119 -0
  737. data/vendor/v8/tools/testrunner/server/main.py +245 -0
  738. data/vendor/v8/tools/testrunner/server/presence_handler.py +120 -0
  739. data/vendor/v8/tools/testrunner/server/signatures.py +63 -0
  740. data/vendor/v8/tools/testrunner/server/status_handler.py +112 -0
  741. data/vendor/v8/tools/testrunner/server/work_handler.py +150 -0
  742. data/vendor/v8/tools/tick-processor.html +168 -0
  743. data/vendor/v8/tools/tickprocessor-driver.js +5 -3
  744. data/vendor/v8/tools/tickprocessor.js +58 -15
  745. metadata +534 -30
  746. data/patches/add-freebsd9-and-freebsd10-to-gyp-GetFlavor.patch +0 -11
  747. data/patches/do-not-imply-vfp3-and-armv7.patch +0 -44
  748. data/patches/fPIC-on-x64.patch +0 -14
  749. data/vendor/v8/src/liveobjectlist-inl.h +0 -126
  750. data/vendor/v8/src/liveobjectlist.cc +0 -2631
  751. data/vendor/v8/src/liveobjectlist.h +0 -319
  752. data/vendor/v8/test/mjsunit/mul-exhaustive.js +0 -4629
  753. data/vendor/v8/test/mjsunit/numops-fuzz.js +0 -4609
  754. data/vendor/v8/test/mjsunit/regress/regress-1969.js +0 -5045
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ecdec8a05543fd13c6d6bfd0d842d47d868e2dae
4
- data.tar.gz: 7023657f628e8a42c9a99456a644c773d2a588c1
3
+ metadata.gz: 0426d0297f6c33719e10dcce7813896f7a7653bc
4
+ data.tar.gz: 5aa1266a7ce27a0bdf98abcef781d867e48756b7
5
5
  SHA512:
6
- metadata.gz: 4019c9fe72a387c9591a5c1409822d21150e5351664151a8d3738714cacdf8588368f9e7f8b6a357d4cf7e3032ee843c839acaa69c263a579531837487f222e3
7
- data.tar.gz: 86b2560391f121120dabaddf48107a7229df739a7099c9fba091aa6a210b4b0e9a05509759cbafb6051a402d829d532d960f17232bded664642a430bf8587de4
6
+ metadata.gz: a55d454190b160bb7aeb1b939978dca3179b18e61052185202a82c1efb1b23458e79d40f5c05d000c5675f18895a79025c5adac8a1a4beee2e693c9048783bbc
7
+ data.tar.gz: 70a4ce71546cb6e3d467c1f39c3c543f5f7207fc3d2f8d4dce6a510211db5eb494bb6eee1c8639171c3e9cd780db44cc2f3d59317de06a5f0c336359fb4d9fcc
data/.travis.yml CHANGED
@@ -2,11 +2,10 @@ rvm:
2
2
  - 2.0.0
3
3
  - 1.9.2
4
4
  - 1.9.3
5
- - 1.8.7
6
- - rbx-18mode
7
5
  - rbx-19mode
8
6
  notifications:
9
7
  recipients:
10
8
  - cowboyd@thefrontside.net
9
+ - bordjukov@gmail.com
11
10
  before_install:
12
11
  - sudo apt-get install subversion
data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
- source "http://rubygems.org"
1
+ source "https://rubygems.org"
2
2
 
3
3
  # Specify your gem's dependencies in libv8.gemspec
4
4
  gemspec
data/Rakefile CHANGED
@@ -23,12 +23,6 @@ task :checkout do
23
23
  sh "git checkout #{V8_Version} -f"
24
24
  sh "#{make} dependencies"
25
25
  end
26
-
27
- # Fix gyp trying to build platform-linux on FreeBSD 9 and FreeBSD 10.
28
- # Based on: https://chromiumcodereview.appspot.com/10079030/patch/1/2
29
- sh "patch -N -p0 -d vendor/v8 < patches/add-freebsd9-and-freebsd10-to-gyp-GetFlavor.patch"
30
- sh "patch -N -p1 -d vendor/v8 < patches/fPIC-on-x64.patch"
31
- sh "patch -N -p1 -d vendor/v8 < patches/do-not-imply-vfp3-and-armv7.patch"
32
26
  end
33
27
 
34
28
  desc "compile v8 via the ruby extension mechanism"
@@ -72,7 +66,12 @@ task :binary => :compile do
72
66
  gemspec.files += Dir['vendor/v8/out/**/*.a']
73
67
  FileUtils.chmod 'a+r', gemspec.files
74
68
  FileUtils.mkdir_p 'pkg'
75
- package = Gem::VERSION < '2.0.0' ? Gem::Builder.new(gemspec).build : Gem::Package.build(gemspec)
69
+ package = if Gem::VERSION < '2.0.0'
70
+ Gem::Builder.new(gempsec).build
71
+ else
72
+ require 'rubygems/package'
73
+ Gem::Package.build(gemspec)
74
+ end
76
75
  FileUtils.mv(package, 'pkg')
77
76
  end
78
77
 
data/lib/libv8/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Libv8
2
- VERSION = "3.11.8.17"
2
+ VERSION = "3.16.14.0"
3
3
  end
data/vendor/v8/.gitignore CHANGED
@@ -9,28 +9,49 @@
9
9
  *.pdb
10
10
  *.pyc
11
11
  *.scons*
12
+ *.sln
12
13
  *.so
13
14
  *.suo
14
15
  *.user
16
+ *.vcproj
15
17
  *.xcodeproj
16
18
  #*#
17
19
  *~
18
20
  .cpplint-cache
21
+ .d8_history
19
22
  d8
20
23
  d8_g
21
24
  shell
22
25
  shell_g
26
+ /build/Debug
23
27
  /build/gyp
24
- /obj/
25
- /out/
28
+ /build/Release
29
+ /obj
30
+ /out
31
+ /test/cctest/cctest.status2
26
32
  /test/es5conform/data
33
+ /test/message/message.status2
34
+ /test/mjsunit/mjsunit.status2
35
+ /test/mozilla/CHECKED_OUT_VERSION
27
36
  /test/mozilla/data
37
+ /test/mozilla/downloaded_*
38
+ /test/mozilla/mozilla.status2
39
+ /test/preparser/preparser.status2
28
40
  /test/sputnik/sputniktests
29
41
  /test/test262/data
42
+ /test/test262/test262-*
43
+ /test/test262/test262.status2
44
+ /third_party
45
+ /tools/jsfunfuzz
46
+ /tools/jsfunfuzz.zip
30
47
  /tools/oom_dump/oom_dump
31
48
  /tools/oom_dump/oom_dump.o
32
49
  /tools/visual_studio/Debug
33
50
  /tools/visual_studio/Release
34
- /xcodebuild/
51
+ /xcodebuild
35
52
  TAGS
36
53
  *.Makefile
54
+ GTAGS
55
+ GRTAGS
56
+ GSYMS
57
+ GPATH
data/vendor/v8/AUTHORS CHANGED
@@ -20,17 +20,21 @@ Burcu Dogan <burcujdogan@gmail.com>
20
20
  Craig Schlenter <craig.schlenter@gmail.com>
21
21
  Daniel Andersson <kodandersson@gmail.com>
22
22
  Daniel James <dnljms@gmail.com>
23
+ Derek J Conrod <dconrod@codeaurora.org>
23
24
  Dineel D Sule <dsule@codeaurora.org>
24
25
  Erich Ocean <erich.ocean@me.com>
25
26
  Fedor Indutny <fedor@indutny.com>
26
27
  Filipe David Manana <fdmanana@gmail.com>
28
+ Haitao Feng <haitao.feng@intel.com>
27
29
  Ioseb Dzmanashvili <ioseb.dzmanashvili@gmail.com>
28
30
  Jan de Mooij <jandemooij@gmail.com>
29
31
  Jay Freeman <saurik@saurik.com>
32
+ James Pike <g00gle@chilon.net>
30
33
  Joel Stanley <joel.stan@gmail.com>
31
34
  John Jozwiak <jjozwiak@codeaurora.org>
32
35
  Jonathan Liu <net147@gmail.com>
33
36
  Kun Zhang <zhangk@codeaurora.org>
37
+ Luis Reis <luis.m.reis@gmail.com>
34
38
  Martyn Capewell <martyn.capewell@arm.com>
35
39
  Mathias Bynens <mathias@qiwi.be>
36
40
  Matt Hanselman <mjhanselman@gmail.com>
@@ -42,14 +46,17 @@ Paolo Giarrusso <p.giarrusso@gmail.com>
42
46
  Patrick Gansterer <paroga@paroga.com>
43
47
  Peter Varga <pvarga@inf.u-szeged.hu>
44
48
  Rafal Krypa <rafal@krypa.net>
49
+ Rajeev R Krithivasan <rkrithiv@codeaurora.org>
45
50
  Rene Rebe <rene@exactcode.de>
46
51
  Robert Mustacchi <rm@fingolfin.org>
47
52
  Rodolph Perfetta <rodolph.perfetta@arm.com>
48
53
  Ryan Dahl <coldredlemur@gmail.com>
54
+ Sandro Santilli <strk@keybit.net>
49
55
  Sanjoy Das <sanjoy@playingwithpointers.com>
50
56
  Subrato K De <subratokde@codeaurora.org>
51
57
  Tobias Burnus <burnus@net-b.de>
52
58
  Vlad Burlik <vladbph@gmail.com>
59
+ Xi Qian <xi.qian@intel.com>
53
60
  Yuqiang Xian <yuqiang.xian@intel.com>
54
61
  Zaheer Ahmad <zahmad@codeaurora.org>
55
62
  Zhongping Wang <kewpie.w.zp@gmail.com>
data/vendor/v8/ChangeLog CHANGED
@@ -1,3 +1,842 @@
1
+ 2013-02-06: Version 3.16.14
2
+
3
+ Performance and stability improvements on all platforms.
4
+
5
+
6
+ 2013-02-04: Version 3.16.13
7
+
8
+ Tagged stubs that rely on instance types as MEGAMORPHIC.
9
+ (Chromium issue 173974)
10
+
11
+ Fixed clearing of dead dependent codes and verifing of weak
12
+ embedded maps on full GC. (Chromium issue 172488,172489)
13
+
14
+ Made the arm port build cleanly with Clang.
15
+
16
+ Performance and stability improvements on all platforms.
17
+
18
+
19
+ 2013-01-31: Version 3.16.12
20
+
21
+ Performance and stability improvements on all platforms.
22
+
23
+
24
+ 2013-01-30: Version 3.16.11
25
+
26
+ Put making embedded maps in optimized code weak behind a flag.
27
+ (Chromium issue 172488,172489)
28
+
29
+ Performance and stability improvements on all platforms.
30
+
31
+
32
+ 2013-01-25: Version 3.16.10
33
+
34
+ Avoid excessive memory usage during redundant phi elimination.
35
+ (issue 2510)
36
+
37
+ Fixed additional spec violations wrt RegExp.lastIndex.
38
+ (issue 2437)
39
+
40
+ Added Isolate parameter to Persistent class.
41
+ (issue 2487)
42
+
43
+ Performance and stability improvements on all platforms.
44
+
45
+
46
+ 2013-01-24: Version 3.16.9
47
+
48
+ Made embedded maps in optimized code weak.
49
+ (issue 2073)
50
+
51
+ Fixed corner case when JSFunction is evicted from flusher.
52
+ (Chromium issue 168801)
53
+
54
+ Correctly set kCanBeDivByZero flag for HMathFloorOfDiv.
55
+ (Chromium issue 171641)
56
+
57
+ Performance and stability improvements on all platforms.
58
+
59
+
60
+ 2013-01-23: Version 3.16.8
61
+
62
+ Correctly reset lastIndex in an RegExp object.
63
+ (Chromium issue 170856)
64
+
65
+ Added a workaround for Windows compilation problems related to V8EXPORT.
66
+ (issue 2507)
67
+
68
+ tools/run-tests.py: shlex.split() the value of --command-prefix
69
+ (Chromium issue 171553)
70
+
71
+ Fixed pattern detection for replacing shifts by rotation.
72
+ (Chromium issue 2499)
73
+
74
+ Performance and stability improvements on all platforms.
75
+
76
+
77
+ 2013-01-21: Version 3.16.7
78
+
79
+ Removed <(library) usage from v8.gyp.
80
+ (Chromium issue 111541)
81
+
82
+ Fixed out of bounds memory access in TestJSArrayForAllocationSiteInfo.
83
+ (Chromium issue 169928)
84
+
85
+ Performance and stability improvements on all platforms.
86
+
87
+
88
+ 2013-01-18: Version 3.16.6
89
+
90
+ Made the Isolate parameter mandatory in Locker and Unlocker classes.
91
+ (issue 2487)
92
+
93
+ Avoid pointer underflow in CopyCharsUnsigned.
94
+ (issue 2493)
95
+
96
+ Generate shim headers when using system v8.
97
+ (Chromium issue 165264)
98
+
99
+ Fixed arguments materialization for inlined apply().
100
+ (issue 2489)
101
+
102
+ Sync'ed laziness between BuildFunctionInfo and MakeFunctionInfo.
103
+ (Chromium issue 147497)
104
+
105
+ Added sanity check to CodeFlusher::AddCandidate.
106
+ (Chromium issue 169209)
107
+
108
+ Performance and stability improvements on all platforms.
109
+
110
+
111
+ 2013-01-15: Version 3.16.5
112
+
113
+ Removed deprecated functions from V8's external API.
114
+
115
+ Prepared API for WebKit use of Latin-1.
116
+
117
+ Fixed V8 issue 2486.
118
+
119
+ Fixed Chromium issue 169723.
120
+
121
+ Performance and stability improvements on all platforms.
122
+
123
+
124
+ 2013-01-11: Version 3.16.4
125
+
126
+ Fixed Chromium issues 168545 and 169209.
127
+
128
+ Performance and stability improvements on all platforms.
129
+
130
+
131
+ 2013-01-09: Version 3.16.3
132
+
133
+ Improved GC performance when moving parts of a FixedArray (issue 2452).
134
+
135
+ Enabled readline on d8 while building a shared lib (issue 1781).
136
+
137
+ Fixed missing exception check in typed array constructor
138
+ (Chromium issue 168545).
139
+
140
+ Check for read-only-ness when preparing for array sort (issue 2419).
141
+
142
+ Performance and stability improvements on all platforms.
143
+
144
+
145
+ 2013-01-04: Version 3.16.2
146
+
147
+ Added Makefile options to build for the Raspberry Pi (armv7=0,
148
+ arm_fpu=vfp2).
149
+
150
+ Performance and stability improvements on all platforms.
151
+
152
+
153
+ 2012-12-27: Version 3.16.1
154
+
155
+ Fixed x64 MathMinMax for negative untagged int32 arguments.
156
+ (Chromium issue 164442)
157
+
158
+ Fixed FloatingPointHelper::CheckSSE2OperandIsInt32.
159
+ (issue 2458)
160
+
161
+ Performance and stability improvements on all platforms.
162
+
163
+
164
+ 2012-12-21: Version 3.16.0
165
+
166
+ V8_Fatal now prints C++ stack trace in debug mode.
167
+
168
+ Added HTML-based tick processor.
169
+
170
+ Continued implementation of Object.observe (V8 issue 2409).
171
+
172
+ Fixed V8 issues 2243, 2340, 2393, 2399, 2457.
173
+
174
+ Fixed Chromium issues 125308, 165637, 166379, 166553.
175
+
176
+ Performance and stability improvements on all platforms.
177
+
178
+
179
+ 2012-12-10: Version 3.15.11
180
+
181
+ Define CAN_USE_VFP2/3_INSTRUCTIONS based on arm_neon and arm_fpu GYP
182
+ flags.
183
+
184
+ Performance and stability improvements on all platforms.
185
+
186
+
187
+ 2012-12-07: Version 3.15.10
188
+
189
+ Enabled optimisation of functions inside eval. (issue 2315)
190
+
191
+ Fixed spec violations in methods of Number.prototype. (issue 2443)
192
+
193
+ Added GCTracer metrics for a scavenger GC for DOM wrappers.
194
+
195
+ Performance and stability improvements on all platforms.
196
+
197
+
198
+ 2012-12-06: Version 3.15.9
199
+
200
+ Fixed candidate eviction in code flusher.
201
+ (Chromium issue 159140)
202
+
203
+ Iterate through all arguments for side effects in Math.min/max.
204
+ (issue 2444)
205
+
206
+ Fixed spec violations related to regexp.lastIndex
207
+ (issue 2437, issue 2438)
208
+
209
+ Performance and stability improvements on all platforms.
210
+
211
+
212
+ 2012-12-04: Version 3.15.8
213
+
214
+ Enforced stack allocation of TryCatch blocks.
215
+ (issue 2166,chromium:152389)
216
+
217
+ Fixed external exceptions in external try-catch handlers.
218
+ (issue 2166)
219
+
220
+ Activated incremental code flushing by default.
221
+
222
+ Performance and stability improvements on all platforms.
223
+
224
+
225
+ 2012-11-30: Version 3.15.7
226
+
227
+ Activated code aging by default.
228
+
229
+ Included more information in --prof log.
230
+
231
+ Removed eager sweeping for lazy swept spaces. Try to find in
232
+ SlowAllocateRaw a bounded number of times a big enough memory slot.
233
+ (issue 2194)
234
+
235
+ Performance and stability improvements on all platforms.
236
+
237
+
238
+ 2012-11-26: Version 3.15.6
239
+
240
+ Ensure double arrays are filled with holes when extended from
241
+ variations of empty arrays. (Chromium issue 162085)
242
+
243
+ Performance and stability improvements on all platforms.
244
+
245
+
246
+ 2012-11-23: Version 3.15.5
247
+
248
+ Fixed JSON.stringify for objects with interceptor handlers.
249
+ (Chromium issue 161028)
250
+
251
+ Fixed corner case in x64 compare stubs. (issue 2416)
252
+
253
+ Performance and stability improvements on all platforms.
254
+
255
+
256
+ 2012-11-16: Version 3.15.4
257
+
258
+ Fixed Array.prototype.join evaluation order. (issue 2263)
259
+
260
+ Perform CPU sampling by CPU sampling thread only iff processing thread
261
+ is not running. (issue 2364)
262
+
263
+ When using an Object as a set in Object.getOwnPropertyNames, null out
264
+ the proto. (issue 2410)
265
+
266
+ Disabled EXTRA_CHECKS in Release build.
267
+
268
+ Heap explorer: Show representation of strings.
269
+
270
+ Removed 'type' and 'arguments' properties from Error object.
271
+ (issue 2397)
272
+
273
+ Added atomics implementation for ThreadSanitizer v2.
274
+ (Chromium issue 128314)
275
+
276
+ Fixed LiveEdit crashes when object/array literal is added. (issue 2368)
277
+
278
+ Performance and stability improvements on all platforms.
279
+
280
+
281
+ 2012-11-13: Version 3.15.3
282
+
283
+ Changed sample shell to send non-JS output (e.g. errors) to stderr
284
+ instead of stdout.
285
+
286
+ Correctly check for stack overflow even when interrupt is pending.
287
+ (issue 214)
288
+
289
+ Collect stack trace on stack overflow. (issue 2394)
290
+
291
+ Performance and stability improvements on all platforms.
292
+
293
+
294
+ 2012-11-12: Version 3.15.2
295
+
296
+ Function::GetScriptOrigin supplies sourceURL when script name is
297
+ not available. (Chromium issue 159413)
298
+
299
+ Made formatting error message side-effect-free. (issue 2398)
300
+
301
+ Fixed length check in JSON.stringify. (Chromium issue 160010)
302
+
303
+ ES6: Added support for Set and Map clear method (issue 2400)
304
+
305
+ Fixed slack tracking when instance prototype changes.
306
+ (Chromium issue 157019)
307
+
308
+ Fixed disabling of code flusher while marking. (Chromium issue 159140)
309
+
310
+ Added a test case for object grouping in a scavenger GC (issue 2077)
311
+
312
+ Support shared library build of Android for v8.
313
+ (Chromium issue 158821)
314
+
315
+ ES6: Added support for size to Set and Map (issue 2395)
316
+
317
+ Performance and stability improvements on all platforms.
318
+
319
+
320
+ 2012-11-06: Version 3.15.1
321
+
322
+ Put incremental code flushing behind a flag. (Chromium issue 159140)
323
+
324
+ Performance and stability improvements on all platforms.
325
+
326
+
327
+ 2012-10-31: Version 3.15.0
328
+
329
+ Loosened aligned code target requirement on ARM (issue 2380)
330
+
331
+ Fixed JSON.parse to treat leading zeros correctly.
332
+ (Chromium issue 158185)
333
+
334
+ Performance and stability improvements on all platforms.
335
+
336
+
337
+ 2012-10-22: Version 3.14.5
338
+
339
+ Killed off the SCons based build.
340
+
341
+ Added a faster API for creating v8::Integer objects.
342
+
343
+ Speeded up function deoptimization by avoiding quadratic pass over
344
+ optimized function list. (Chromium issue 155270)
345
+
346
+ Always invoke the default Array.sort functions from builtin functions.
347
+ (issue 2372)
348
+
349
+ Reverted recent CPU profiler changes because they broke --prof.
350
+ (issue 2364)
351
+
352
+ Switched code flushing to use different JSFunction field.
353
+ (issue 1609)
354
+
355
+ Performance and stability improvements on all platforms.
356
+
357
+
358
+ 2012-10-15: Version 3.14.4
359
+
360
+ Allow evals for debugger even if they are prohibited in the debugee
361
+ context. (Chromium issue 154733)
362
+
363
+ Enabled --verify-heap in release mode (issue 2120)
364
+
365
+ Performance and stability improvements on all platforms.
366
+
367
+
368
+ 2012-10-11: Version 3.14.3
369
+
370
+ Use native context to retrieve ErrorMessageForCodeGenerationFromStrings
371
+ (Chromium issue 155076).
372
+
373
+ Bumped variable limit further to 2^17 (Chromium issue 151625).
374
+
375
+ Performance and stability improvements on all platforms.
376
+
377
+
378
+ 2012-10-10: Version 3.14.2
379
+
380
+ ARM: allowed VFP3 instructions when hardfloat is enabled.
381
+ (Chromium issue 152506)
382
+
383
+ Fixed instance_descriptors() and PushStackTraceAndDie regressions.
384
+ (Chromium issue 151749)
385
+
386
+ Made GDBJIT interface compile again. (issue 1804)
387
+
388
+ Fixed Accessors::FunctionGetPrototype's proto chain traversal.
389
+ (Chromium issue 143967)
390
+
391
+ Made sure that names of temporaries do not clash with real variables.
392
+ (issue 2322)
393
+
394
+ Rejected local module declarations. (Chromium issue 150628)
395
+
396
+ Rejected uses of lexical for-loop variable on the RHS. (issue 2322)
397
+
398
+ Fixed slot recording of code target patches.
399
+ (Chromium issue 152615,chromium:144230)
400
+
401
+ Changed the Android makefile to use GCC 4.6 instead of GCC 4.4.3.
402
+
403
+ Performance and stability improvements on all platforms.
404
+
405
+
406
+ 2012-10-01: Version 3.14.1
407
+
408
+ Don't set -m32 flag when compiling with Android ARM compiler.
409
+ (Chromium issue 143889)
410
+
411
+ Restore the descriptor array before returning allocation failure.
412
+ (Chromium issue 151750)
413
+
414
+ Lowered kMaxVirtualRegisters (v8 issue 2139, Chromium issues 123822 and
415
+ 128252).
416
+
417
+ Pull more recent gyp in 'make dependencies'.
418
+
419
+ Made sure that the generic KeyedStoreIC changes length and element_kind
420
+ atomically (issue 2346).
421
+
422
+ Bumped number of allowed variables per scope to 65535, to address GWT.
423
+ (Chromium issue 151625)
424
+
425
+ Support sourceURL for dynamically inserted scripts (issue 2342).
426
+
427
+ Performance and stability improvements on all platforms.
428
+
429
+
430
+ 2012-09-20: Version 3.14.0
431
+
432
+ Fixed missing slot recording during clearing of CallICs.
433
+ (Chromium issue 144230)
434
+
435
+ Fixed LBoundsCheck on x64 to handle (stack slot + constant) correctly.
436
+ (Chromium issue 150729)
437
+
438
+ Fixed minus zero test. (Issue 2133)
439
+
440
+ Fixed setting array length to zero for slow elements.
441
+ (Chromium issue 146910)
442
+
443
+ Fixed lost arguments dropping in HLeaveInlined.
444
+ (Chromium issue 150545)
445
+
446
+ Fixed casting error for receiver of interceptors.
447
+ (Chromium issue 149912)
448
+
449
+ Throw a more descriptive exception when blocking 'eval' via CSP.
450
+ (Chromium issue 140191)
451
+
452
+ Fixed debugger's eval when close to stack overflow. (issue 2318)
453
+
454
+ Added checks to live edit. (issue 2297)
455
+
456
+ Switched on code compaction on incremental GCs.
457
+
458
+ Fixed caching of optimized code for OSR. (issue 2326)
459
+
460
+ Not mask exception thrown by toString in String::UtfValue etc.
461
+ (issue 2317)
462
+
463
+ Fixed API check for length of external arrays. (Chromium issue 148896)
464
+
465
+ Ensure correct enumeration indices in the dict (Chromium issue 148376)
466
+
467
+ Correctly initialize regexp global cache. (Chromium issue 148378)
468
+
469
+ Fixed arguments object materialization during deopt. (issue 2261)
470
+
471
+ Introduced new API to expose external string resource regardless of
472
+ encoding.
473
+
474
+ Fixed CHECK failure in LCodeGen::DoWrapReceiver when
475
+ --deopt-every-n-times flag is present
476
+ (Chromium issue 148389)
477
+
478
+ Fixed edge case of extension with NULL as source string.
479
+ (Chromium issue 144649)
480
+
481
+ Fixed array index dehoisting. (Chromium issue 141395)
482
+
483
+ Performance and stability improvements on all platforms.
484
+
485
+
486
+ 2012-09-11: Version 3.13.7
487
+
488
+ Enable/disable LiveEdit using the (C++) debug API.
489
+
490
+ Performance and stability improvements on all platforms.
491
+
492
+
493
+ 2012-09-06: Version 3.13.6
494
+
495
+ Added validity checking to API functions and calls.
496
+
497
+ Disabled accessor inlining (Chromium issue 134609).
498
+
499
+ Fixed bug in Math.min/max in optimized code (Chromium issue 145961).
500
+
501
+ Directly use %ObjectKeys in json stringify (Chromium issue 2312).
502
+
503
+ Fixed VS2005 build (issue 2313).
504
+
505
+ Activated fixed ES5 readonly semantics by default.
506
+
507
+ Added hardfp flag to the Makefile.
508
+
509
+ Performance and stability improvements on all platforms.
510
+
511
+
512
+ 2012-08-29: Version 3.13.5
513
+
514
+ Release stack trace data after firing Error.stack accessor.
515
+ (issue 2308)
516
+
517
+ Added a new API V8::SetJitCodeEventHandler to push code name and
518
+ location to users such as profilers.
519
+
520
+ Allocate block-scoped global bindings to global context.
521
+
522
+ Performance and stability improvements on all platforms.
523
+
524
+
525
+ 2012-08-28: Version 3.13.4
526
+
527
+ Print reason for disabling optimization. Kill --trace-bailout flag.
528
+
529
+ Provided option to disable full DEBUG build on Android.
530
+
531
+ Introduced global contexts to represent lexical global scope(s).
532
+
533
+ Fixed rounding in Uint8ClampedArray setter. (issue 2294)
534
+
535
+ Performance and stability improvements on all platforms.
536
+
537
+
538
+ 2012-08-21: Version 3.13.3
539
+
540
+ Performance and stability improvements on all platforms.
541
+
542
+
543
+ 2012-08-20: Version 3.13.2
544
+
545
+ Performance and stability improvements on all platforms.
546
+
547
+
548
+ 2012-08-16: Version 3.13.1
549
+
550
+ Performance and stability improvements on all platforms.
551
+
552
+
553
+ 2012-08-10: Version 3.13.0
554
+
555
+ Added histograms for total allocated/live heap size, as well as
556
+ allocated size and percentage of total for map and cell space.
557
+
558
+ Fixed parseInt's octal parsing behavior (ECMA-262 Annex E 15.1.2.2).
559
+ (issue 1645)
560
+
561
+ Added checks for interceptors to negative lookup code in Crankshaft.
562
+ (Chromium issue 140473)
563
+
564
+ Made incremental marking clear ICs and type feedback cells.
565
+
566
+ Performance and stability improvements on all platforms.
567
+
568
+
569
+ 2012-08-01: Version 3.12.19
570
+
571
+ Performance and stability improvements on all platforms.
572
+
573
+
574
+ 2012-07-30: Version 3.12.18
575
+
576
+ Forced using bit-pattern for signed zero double. (issue 2239)
577
+
578
+ Made sure double to int conversion is correct. (issue 2260)
579
+
580
+ Performance and stability improvements on all platforms.
581
+
582
+
583
+ 2012-07-27: Version 3.12.17
584
+
585
+ Always set the callee's context when calling a function from optimized
586
+ code.
587
+ (Chromium issue 138887)
588
+
589
+ Fixed building with GCC 3.x
590
+ (issue 2016, 2017)
591
+
592
+ Improved API calls that return empty handles.
593
+ (issue 2245)
594
+
595
+ Performance and stability improvements on all platforms.
596
+
597
+
598
+ 2012-07-25: Version 3.12.16
599
+
600
+ Performance and stability improvements on all platforms.
601
+
602
+
603
+ 2012-07-24: Version 3.12.15
604
+
605
+ Added PRESERVE_ASCII_NULL option to String::WriteAscii.
606
+ (issue 2252)
607
+
608
+ Added dependency to HLoadKeyed* instructions to prevent invalid
609
+ hoisting. (Chromium issue 137768)
610
+
611
+ Enabled building d8 for Android on Mac.
612
+
613
+ Interpret negative hexadecimal literals as NaN.
614
+ (issue 2240)
615
+
616
+ Expose counters in javascript when using --track-gc-object-stats.
617
+
618
+ Enabled building and testing V8 on Android IA.
619
+
620
+ Added --trace-parse flag to parser.
621
+
622
+ Performance and stability improvements on all platforms.
623
+
624
+
625
+ 2012-07-18: Version 3.12.14
626
+
627
+ Deactivated optimization of packed arrays.
628
+ (Chromium issue 137768)
629
+
630
+ Fixed broken accessor transition.
631
+ (Chromium issue 137689)
632
+
633
+ Performance and stability improvements on all platforms.
634
+
635
+
636
+ 2012-07-17: Version 3.12.13
637
+
638
+ Fixed missing tagging of stack value in finally block.
639
+ (Chromium issue 137496)
640
+
641
+ Added more support for heap analysis.
642
+
643
+ Performance and stability improvements on all platforms.
644
+
645
+
646
+ 2012-07-16: Version 3.12.12
647
+
648
+ Added an option to the tickprocessor to specify the directory for lib
649
+ lookup.
650
+
651
+ Fixed ICs for slow objects with native accessor (Chromium issue 137002).
652
+
653
+ Fixed transcendental cache on ARM in optimized code (issue 2234).
654
+
655
+ New heap inspection tools: counters for object sizes and counts,
656
+ histograms for external fragmentation.
657
+
658
+ Incorporated constness into inferred interfaces (in preparation for
659
+ handling imports) (issue 1569).
660
+
661
+ Performance and stability improvements on all platforms.
662
+
663
+
664
+ 2012-07-12: Version 3.12.11
665
+
666
+ Renamed "mips" arch to "mipsel" in the GYP build.
667
+
668
+ Fixed computation of call targets on prototypes in Crankshaft.
669
+ (Chromium issue 125148)
670
+
671
+ Removed use of __lookupGetter__ when generating stack trace.
672
+ (issue 1591)
673
+
674
+ Turned on ES 5.2 globals semantics by default.
675
+ (issue 1991, Chromium issue 80591)
676
+
677
+ Synced preparser and parser wrt syntax error in switch..case.
678
+ (issue 2210)
679
+
680
+ Fixed reporting of octal literals in strict mode when preparsing.
681
+ (issue 2220)
682
+
683
+ Fixed inline constructors for Harmony Proxy prototypes.
684
+ (issue 2225)
685
+
686
+ Performance and stability improvements on all platforms.
687
+
688
+
689
+ 2012-07-10: Version 3.12.10
690
+
691
+ Re-enabled and fixed issue with array bounds check elimination
692
+ (Chromium issue 132114).
693
+
694
+ Fixed Debug::Break crash. (Chromium issue 131642)
695
+
696
+ Added optimizing compiler support for JavaScript getters.
697
+
698
+ Performance and stability improvements on all platforms.
699
+
700
+
701
+ 2012-07-06: Version 3.12.9
702
+
703
+ Correctly advance the scanner when scanning unicode regexp flag.
704
+ (Chromium issue 136084)
705
+
706
+ Fixed unhandlified code calling Harmony Proxy traps.
707
+ (issue 2219)
708
+
709
+ Performance and stability improvements on all platforms.
710
+
711
+
712
+ 2012-07-05: Version 3.12.8
713
+
714
+ Implemented TypedArray.set and ArrayBuffer.slice in d8.
715
+
716
+ Performance and stability improvements on all platforms.
717
+
718
+
719
+ 2012-07-03: Version 3.12.7
720
+
721
+ Fixed lazy compilation for strict eval scopes.
722
+ (Chromium issue 135066)
723
+
724
+ Made MACOSX_DEPLOYMENT_TARGET configurable in GYP.
725
+ (issue 2151)
726
+
727
+ Report "hidden properties" in heap profiler for properties case.
728
+ (issue 2212)
729
+
730
+ Activated optimization of packed arrays by default.
731
+
732
+ Performance and stability improvements on all platforms.
733
+
734
+
735
+ 2012-06-29: Version 3.12.6
736
+
737
+ Cleaned up hardfp ABI detection for ARM (V8 issue 2140).
738
+
739
+ Extended TypedArray support in d8.
740
+
741
+
742
+ 2012-06-28: Version 3.12.5
743
+
744
+ Fixed lazy parsing heuristics to respect outer scope.
745
+ (Chromium issue 135008)
746
+
747
+ Allow using test-wrapper-gypbuild.py on Windows when no python
748
+ interpreter is registered.
749
+
750
+ Performance and stability improvements on all platforms.
751
+
752
+
753
+ 2012-06-27: Version 3.12.4
754
+
755
+ Removed -fomit-frame-pointer flag from Release builds to make
756
+ the stack walkable by TCMalloc (Chromium issue 133723).
757
+
758
+ Ported r7868 (constant masking) to x64 (issue 1374).
759
+
760
+ Expose more detailed memory statistics (issue 2201).
761
+
762
+ Fixed Harmony Maps and WeakMaps for undefined values
763
+ (Chromium issue 132744).
764
+
765
+ Correctly throw reference error in strict mode with ICs disabled
766
+ (issue 2119).
767
+
768
+ Performance and stability improvements on all platforms.
769
+
770
+
771
+ 2012-06-25: Version 3.12.3
772
+
773
+ Reverted r11835 'Unify promotion and allocation limit computation' due
774
+ to V8 Splay performance regression on Mac. (Chromium issue 134183)
775
+
776
+ Fixed sharing of literal boilerplates for optimized code. (issue 2193)
777
+
778
+ Performance and stability improvements on all platforms.
779
+
780
+
781
+ 2012-06-22: Version 3.12.2
782
+
783
+ Made near-jump check more strict in LoadNamedFieldPolymorphic on
784
+ ia32/x64. (Chromium issue 134055)
785
+
786
+ Fixed lazy sweeping heuristics to prevent old-space expansion.
787
+ (issue 2194)
788
+
789
+ Performance and stability improvements on all platforms.
790
+
791
+
792
+ 2012-06-21: Version 3.12.1
793
+
794
+ Performance and stability improvements on all platforms.
795
+
796
+
797
+ 2012-06-20: Version 3.12.0
798
+
799
+ Fixed Chromium issues:
800
+ 115100, 129628, 131994, 132727, 132741, 132742, 133211
801
+
802
+ Fixed V8 issues:
803
+ 915, 1914, 2034, 2087, 2094, 2134, 2156, 2166, 2172, 2177, 2179, 2185
804
+
805
+ Added --extra-code flag to mksnapshot to load JS code into the VM
806
+ before creating the snapshot.
807
+
808
+ Support 'restart call frame' command in the debugger.
809
+
810
+ Performance and stability improvements on all platforms.
811
+
812
+
813
+ 2012-06-13: Version 3.11.10
814
+
815
+ Implemented heap profiler memory usage reporting.
816
+
817
+ Preserved error message during finally block in try..finally.
818
+ (Chromium issue 129171)
819
+
820
+ Fixed EnsureCanContainElements to properly handle double values.
821
+ (issue 2170)
822
+
823
+ Improved heuristics to keep objects in fast mode with inherited
824
+ constructors.
825
+
826
+ Performance and stability improvements on all platforms.
827
+
828
+
829
+ 2012-06-06: Version 3.11.9
830
+
831
+ Implemented ES5-conformant semantics for inherited setters and read-only
832
+ properties. Currently behind --es5_readonly flag, because it breaks
833
+ WebKit bindings.
834
+
835
+ Exposed last seen heap object id via v8 public api.
836
+
837
+ Performance and stability improvements on all platforms.
838
+
839
+
1
840
  2012-05-31: Version 3.11.8
2
841
 
3
842
  Avoid overdeep recursion in regexp where a guarded expression with a