therubyracer 0.6.3 → 0.7.0.pre

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of therubyracer might be problematic. Click here for more details.

Files changed (520) hide show
  1. data/Rakefile +10 -9
  2. data/ext/v8/callbacks.cpp +15 -8
  3. data/ext/v8/converters.cpp +7 -8
  4. data/ext/v8/converters.h +0 -2
  5. data/ext/v8/extconf.rb +2 -0
  6. data/ext/v8/rr.cpp +169 -0
  7. data/ext/v8/rr.h +34 -0
  8. data/ext/v8/upstream/{2.0.6 → 2.1.10}/AUTHORS +8 -1
  9. data/ext/v8/upstream/{2.0.6 → 2.1.10}/ChangeLog +198 -0
  10. data/ext/v8/upstream/{2.0.6 → 2.1.10}/LICENSE +0 -0
  11. data/ext/v8/upstream/{2.0.6 → 2.1.10}/SConstruct +152 -38
  12. data/ext/v8/upstream/{2.0.6 → 2.1.10}/include/v8-debug.h +52 -4
  13. data/ext/v8/upstream/2.1.10/include/v8-profiler.h +176 -0
  14. data/ext/v8/upstream/{2.0.6 → 2.1.10}/include/v8.h +227 -48
  15. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/SConscript +60 -10
  16. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/accessors.cc +5 -39
  17. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/accessors.h +0 -0
  18. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/allocation.cc +0 -0
  19. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/allocation.h +0 -0
  20. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/api.cc +477 -57
  21. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/api.h +8 -4
  22. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/apinatives.js +1 -1
  23. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/apiutils.h +0 -0
  24. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arguments.h +5 -6
  25. data/ext/v8/upstream/{2.0.6/src/arm/assembler-thumb2-inl.h → 2.1.10/src/arm/assembler-arm-inl.h} +42 -27
  26. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/assembler-arm.cc +430 -216
  27. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/assembler-arm.h +199 -110
  28. data/ext/v8/upstream/{2.0.6/src/arm/assembler-arm-inl.h → 2.1.10/src/arm/assembler-thumb2-inl.h} +4 -18
  29. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/assembler-thumb2.cc +142 -85
  30. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/assembler-thumb2.h +18 -9
  31. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/builtins-arm.cc +127 -87
  32. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/codegen-arm-inl.h +3 -5
  33. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/codegen-arm.cc +4634 -1427
  34. data/ext/v8/upstream/2.1.10/src/arm/codegen-arm.h +946 -0
  35. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/constants-arm.cc +21 -3
  36. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/constants-arm.h +39 -13
  37. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/cpu-arm.cc +9 -3
  38. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/debug-arm.cc +34 -8
  39. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/disasm-arm.cc +262 -117
  40. data/ext/v8/upstream/2.1.10/src/arm/fast-codegen-arm.cc +238 -0
  41. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/frames-arm.cc +0 -0
  42. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/frames-arm.h +0 -0
  43. data/ext/v8/upstream/{2.0.6/src/arm/fast-codegen-arm.cc → 2.1.10/src/arm/full-codegen-arm.cc} +453 -283
  44. data/ext/v8/upstream/2.1.10/src/arm/ic-arm.cc +1833 -0
  45. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/jump-target-arm.cc +3 -29
  46. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/macro-assembler-arm.cc +564 -104
  47. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/macro-assembler-arm.h +255 -46
  48. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/regexp-macro-assembler-arm.cc +78 -104
  49. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/regexp-macro-assembler-arm.h +6 -22
  50. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/register-allocator-arm-inl.h +0 -3
  51. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/register-allocator-arm.cc +0 -0
  52. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/register-allocator-arm.h +2 -1
  53. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/simulator-arm.cc +557 -180
  54. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/simulator-arm.h +52 -4
  55. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/stub-cache-arm.cc +904 -240
  56. data/ext/v8/upstream/2.1.10/src/arm/virtual-frame-arm.cc +668 -0
  57. data/ext/v8/upstream/2.1.10/src/arm/virtual-frame-arm.h +503 -0
  58. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/array.js +82 -109
  59. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/assembler.cc +49 -13
  60. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/assembler.h +27 -5
  61. data/ext/v8/upstream/2.1.10/src/ast.cc +1138 -0
  62. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ast.h +354 -53
  63. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/bootstrapper.cc +609 -501
  64. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/bootstrapper.h +27 -8
  65. data/ext/v8/upstream/2.1.10/src/builtins.cc +1512 -0
  66. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/builtins.h +41 -25
  67. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/bytecodes-irregexp.h +0 -0
  68. data/ext/v8/upstream/2.1.10/src/cached-powers.h +119 -0
  69. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/char-predicates-inl.h +0 -0
  70. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/char-predicates.h +0 -0
  71. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/checks.cc +0 -0
  72. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/checks.h +25 -1
  73. data/ext/v8/upstream/2.1.10/src/circular-queue-inl.h +101 -0
  74. data/ext/v8/upstream/2.1.10/src/circular-queue.cc +121 -0
  75. data/ext/v8/upstream/2.1.10/src/circular-queue.h +129 -0
  76. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/code-stubs.cc +23 -8
  77. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/code-stubs.h +16 -4
  78. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/code.h +0 -0
  79. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/codegen-inl.h +6 -34
  80. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/codegen.cc +73 -92
  81. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/codegen.h +164 -68
  82. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/compilation-cache.cc +117 -73
  83. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/compilation-cache.h +18 -17
  84. data/ext/v8/upstream/2.1.10/src/compiler.cc +623 -0
  85. data/ext/v8/upstream/2.1.10/src/compiler.h +299 -0
  86. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/contexts.cc +0 -0
  87. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/contexts.h +8 -11
  88. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/conversions-inl.h +28 -13
  89. data/ext/v8/upstream/2.1.10/src/conversions.cc +1105 -0
  90. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/conversions.h +9 -4
  91. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/counters.cc +0 -0
  92. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/counters.h +1 -1
  93. data/ext/v8/upstream/2.1.10/src/cpu-profiler-inl.h +99 -0
  94. data/ext/v8/upstream/2.1.10/src/cpu-profiler.cc +494 -0
  95. data/ext/v8/upstream/2.1.10/src/cpu-profiler.h +277 -0
  96. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/cpu.h +0 -0
  97. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/d8-debug.cc +15 -4
  98. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/d8-debug.h +0 -0
  99. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/d8-posix.cc +18 -0
  100. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/d8-readline.cc +2 -2
  101. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/d8-windows.cc +0 -0
  102. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/d8.cc +10 -6
  103. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/d8.h +2 -0
  104. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/d8.js +43 -38
  105. data/ext/v8/upstream/2.1.10/src/data-flow.cc +755 -0
  106. data/ext/v8/upstream/2.1.10/src/data-flow.h +278 -0
  107. data/ext/v8/upstream/{2.0.6/src/date-delay.js → 2.1.10/src/date.js} +100 -110
  108. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/dateparser-inl.h +11 -2
  109. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/dateparser.cc +24 -26
  110. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/dateparser.h +8 -4
  111. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/debug-agent.cc +3 -1
  112. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/debug-agent.h +0 -0
  113. data/ext/v8/upstream/{2.0.6/src/debug-delay.js → 2.1.10/src/debug-debugger.js} +111 -15
  114. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/debug.cc +156 -96
  115. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/debug.h +53 -5
  116. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/disasm.h +0 -0
  117. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/disassembler.cc +2 -8
  118. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/disassembler.h +0 -0
  119. data/ext/v8/upstream/2.1.10/src/diy-fp.cc +58 -0
  120. data/ext/v8/upstream/2.1.10/src/diy-fp.h +117 -0
  121. data/ext/v8/upstream/2.1.10/src/double.h +169 -0
  122. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/dtoa-config.c +4 -3
  123. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/execution.cc +22 -22
  124. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/execution.h +17 -4
  125. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/factory.cc +70 -46
  126. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/factory.h +27 -17
  127. data/ext/v8/upstream/2.1.10/src/fast-codegen.cc +746 -0
  128. data/ext/v8/upstream/2.1.10/src/fast-codegen.h +161 -0
  129. data/ext/v8/upstream/2.1.10/src/fast-dtoa.cc +512 -0
  130. data/ext/v8/upstream/2.1.10/src/fast-dtoa.h +59 -0
  131. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/flag-definitions.h +32 -11
  132. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/flags.cc +0 -0
  133. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/flags.h +0 -0
  134. data/ext/v8/upstream/2.1.10/src/flow-graph.cc +763 -0
  135. data/ext/v8/upstream/2.1.10/src/flow-graph.h +180 -0
  136. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/frame-element.cc +1 -4
  137. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/frame-element.h +49 -11
  138. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/frames-inl.h +2 -0
  139. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/frames.cc +91 -17
  140. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/frames.h +24 -2
  141. data/ext/v8/upstream/{2.0.6/src/fast-codegen.cc → 2.1.10/src/full-codegen.cc} +549 -198
  142. data/ext/v8/upstream/{2.0.6/src/fast-codegen.h → 2.1.10/src/full-codegen.h} +109 -29
  143. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/func-name-inferrer.cc +0 -0
  144. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/func-name-inferrer.h +0 -0
  145. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/global-handles.cc +0 -0
  146. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/global-handles.h +0 -0
  147. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/globals.h +67 -43
  148. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/handles-inl.h +0 -0
  149. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/handles.cc +124 -129
  150. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/handles.h +33 -15
  151. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/hashmap.cc +0 -0
  152. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/hashmap.h +0 -0
  153. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/heap-inl.h +56 -12
  154. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/heap-profiler.cc +2 -2
  155. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/heap-profiler.h +2 -0
  156. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/heap.cc +413 -221
  157. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/heap.h +192 -67
  158. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/assembler-ia32-inl.h +6 -0
  159. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/assembler-ia32.cc +187 -32
  160. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/assembler-ia32.h +31 -4
  161. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/builtins-ia32.cc +160 -133
  162. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/codegen-ia32-inl.h +0 -0
  163. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/codegen-ia32.cc +5533 -2177
  164. data/ext/v8/upstream/{2.0.6/src/x64/codegen-x64.h → 2.1.10/src/ia32/codegen-ia32.h} +453 -134
  165. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/cpu-ia32.cc +0 -0
  166. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/debug-ia32.cc +63 -8
  167. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/disasm-ia32.cc +99 -16
  168. data/ext/v8/upstream/2.1.10/src/ia32/fast-codegen-ia32.cc +950 -0
  169. data/ext/v8/upstream/2.1.10/src/ia32/fast-codegen-ia32.h +155 -0
  170. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/frames-ia32.cc +0 -0
  171. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/frames-ia32.h +0 -0
  172. data/ext/v8/upstream/{2.0.6/src/ia32/fast-codegen-ia32.cc → 2.1.10/src/ia32/full-codegen-ia32.cc} +454 -253
  173. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/ic-ia32.cc +545 -390
  174. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/jump-target-ia32.cc +1 -0
  175. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/macro-assembler-ia32.cc +330 -139
  176. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/macro-assembler-ia32.h +96 -30
  177. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/regexp-macro-assembler-ia32.cc +73 -89
  178. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/regexp-macro-assembler-ia32.h +6 -21
  179. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/register-allocator-ia32-inl.h +0 -0
  180. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/register-allocator-ia32.cc +59 -5
  181. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/register-allocator-ia32.h +0 -0
  182. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/simulator-ia32.cc +0 -0
  183. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/simulator-ia32.h +2 -2
  184. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/stub-cache-ia32.cc +745 -303
  185. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/virtual-frame-ia32.cc +278 -71
  186. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/virtual-frame-ia32.h +78 -22
  187. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ic-inl.h +0 -0
  188. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ic.cc +172 -89
  189. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ic.h +51 -20
  190. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/interpreter-irregexp.cc +0 -0
  191. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/interpreter-irregexp.h +0 -0
  192. data/ext/v8/upstream/{2.0.6/src/json-delay.js → 2.1.10/src/json.js} +26 -12
  193. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/jsregexp.cc +151 -118
  194. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/jsregexp.h +31 -7
  195. data/ext/v8/upstream/2.1.10/src/jump-target-heavy-inl.h +51 -0
  196. data/ext/v8/upstream/{2.0.6/src/jump-target.cc → 2.1.10/src/jump-target-heavy.cc} +164 -184
  197. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/jump-target-inl.h +8 -9
  198. data/ext/v8/upstream/{2.0.6/src/usage-analyzer.h → 2.1.10/src/jump-target-light-inl.h} +9 -7
  199. data/ext/v8/upstream/2.1.10/src/jump-target-light.cc +86 -0
  200. data/ext/v8/upstream/2.1.10/src/jump-target.cc +155 -0
  201. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/jump-target.h +6 -0
  202. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/list-inl.h +0 -0
  203. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/list.h +2 -1
  204. data/ext/v8/upstream/2.1.10/src/liveedit-debugger.js +944 -0
  205. data/ext/v8/upstream/2.1.10/src/liveedit.cc +1468 -0
  206. data/ext/v8/upstream/2.1.10/src/liveedit.h +170 -0
  207. data/ext/v8/upstream/2.1.10/src/log-inl.h +59 -0
  208. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/log-utils.cc +3 -9
  209. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/log-utils.h +1 -4
  210. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/log.cc +198 -95
  211. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/log.h +50 -49
  212. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/macro-assembler.h +9 -0
  213. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/macros.py +30 -11
  214. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/mark-compact.cc +464 -152
  215. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/mark-compact.h +41 -20
  216. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/math.js +9 -8
  217. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/memory.h +0 -0
  218. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/messages.cc +1 -0
  219. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/messages.h +0 -0
  220. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/messages.js +46 -9
  221. data/ext/v8/upstream/2.1.10/src/mips/assembler-mips-inl.h +215 -0
  222. data/ext/v8/upstream/2.1.10/src/mips/assembler-mips.cc +1208 -0
  223. data/ext/v8/upstream/2.1.10/src/mips/assembler-mips.h +665 -0
  224. data/ext/v8/upstream/2.1.10/src/mips/builtins-mips.cc +202 -0
  225. data/ext/v8/upstream/2.1.10/src/mips/codegen-mips-inl.h +70 -0
  226. data/ext/v8/upstream/2.1.10/src/mips/codegen-mips.cc +1428 -0
  227. data/ext/v8/upstream/{2.0.6/src/arm/codegen-arm.h → 2.1.10/src/mips/codegen-mips.h} +103 -205
  228. data/ext/v8/upstream/2.1.10/src/mips/constants-mips.cc +323 -0
  229. data/ext/v8/upstream/2.1.10/src/mips/constants-mips.h +525 -0
  230. data/ext/v8/upstream/2.1.10/src/mips/cpu-mips.cc +69 -0
  231. data/ext/v8/upstream/2.1.10/src/mips/debug-mips.cc +128 -0
  232. data/ext/v8/upstream/2.1.10/src/mips/disasm-mips.cc +784 -0
  233. data/ext/v8/upstream/2.1.10/src/mips/fast-codegen-mips.cc +74 -0
  234. data/ext/v8/upstream/2.1.10/src/mips/frames-mips.cc +99 -0
  235. data/ext/v8/upstream/2.1.10/src/mips/frames-mips.h +164 -0
  236. data/ext/v8/upstream/2.1.10/src/mips/full-codegen-mips.cc +273 -0
  237. data/ext/v8/upstream/2.1.10/src/mips/ic-mips.cc +217 -0
  238. data/ext/v8/upstream/2.1.10/src/mips/jump-target-mips.cc +172 -0
  239. data/ext/v8/upstream/2.1.10/src/mips/macro-assembler-mips.cc +1323 -0
  240. data/ext/v8/upstream/2.1.10/src/mips/macro-assembler-mips.h +461 -0
  241. data/ext/v8/upstream/2.1.10/src/mips/register-allocator-mips-inl.h +137 -0
  242. data/ext/v8/upstream/2.1.10/src/mips/register-allocator-mips.cc +60 -0
  243. data/ext/v8/upstream/2.1.10/src/mips/register-allocator-mips.h +46 -0
  244. data/ext/v8/upstream/2.1.10/src/mips/simulator-mips.cc +1648 -0
  245. data/ext/v8/upstream/2.1.10/src/mips/simulator-mips.h +311 -0
  246. data/ext/v8/upstream/2.1.10/src/mips/stub-cache-mips.cc +400 -0
  247. data/ext/v8/upstream/2.1.10/src/mips/virtual-frame-mips.cc +316 -0
  248. data/ext/v8/upstream/{2.0.6/src/arm/virtual-frame-arm.h → 2.1.10/src/mips/virtual-frame-mips.h} +87 -71
  249. data/ext/v8/upstream/{2.0.6/src/mirror-delay.js → 2.1.10/src/mirror-debugger.js} +51 -45
  250. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/mksnapshot.cc +97 -10
  251. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/natives.h +6 -6
  252. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/objects-debug.cc +47 -5
  253. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/objects-inl.h +154 -38
  254. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/objects.cc +528 -280
  255. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/objects.h +302 -95
  256. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/oprofile-agent.cc +25 -33
  257. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/oprofile-agent.h +9 -1
  258. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/parser.cc +444 -72
  259. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/parser.h +4 -2
  260. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/platform-freebsd.cc +32 -13
  261. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/platform-linux.cc +59 -25
  262. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/platform-macos.cc +30 -13
  263. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/platform-nullos.cc +0 -0
  264. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/platform-openbsd.cc +21 -2
  265. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/platform-posix.cc +0 -18
  266. data/ext/v8/upstream/2.1.10/src/platform-solaris.cc +607 -0
  267. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/platform-win32.cc +16 -17
  268. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/platform.h +25 -8
  269. data/ext/v8/upstream/2.1.10/src/powers-ten.h +2461 -0
  270. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/prettyprinter.cc +49 -29
  271. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/prettyprinter.h +3 -1
  272. data/ext/v8/upstream/2.1.10/src/profile-generator-inl.h +124 -0
  273. data/ext/v8/upstream/2.1.10/src/profile-generator.cc +583 -0
  274. data/ext/v8/upstream/2.1.10/src/profile-generator.h +364 -0
  275. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/property.cc +1 -1
  276. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/property.h +12 -24
  277. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/regexp-macro-assembler-irregexp-inl.h +2 -2
  278. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/regexp-macro-assembler-irregexp.cc +2 -2
  279. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/regexp-macro-assembler-irregexp.h +2 -2
  280. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/regexp-macro-assembler-tracer.cc +2 -2
  281. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/regexp-macro-assembler-tracer.h +0 -0
  282. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/regexp-macro-assembler.cc +33 -10
  283. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/regexp-macro-assembler.h +12 -4
  284. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/regexp-stack.cc +0 -0
  285. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/regexp-stack.h +0 -0
  286. data/ext/v8/upstream/{2.0.6/src/regexp-delay.js → 2.1.10/src/regexp.js} +180 -58
  287. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/register-allocator-inl.h +68 -1
  288. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/register-allocator.cc +5 -2
  289. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/register-allocator.h +42 -17
  290. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/rewriter.cc +110 -4
  291. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/rewriter.h +0 -0
  292. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/runtime.cc +2733 -623
  293. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/runtime.h +43 -20
  294. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/runtime.js +46 -35
  295. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/scanner.cc +278 -36
  296. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/scanner.h +97 -26
  297. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/scopeinfo.cc +3 -3
  298. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/scopeinfo.h +1 -0
  299. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/scopes.cc +11 -12
  300. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/scopes.h +0 -1
  301. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/serialize.cc +298 -175
  302. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/serialize.h +184 -40
  303. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/shell.h +0 -0
  304. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/simulator.h +2 -0
  305. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/smart-pointer.h +0 -0
  306. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/snapshot-common.cc +16 -31
  307. data/ext/v8/upstream/2.1.10/src/snapshot-empty.cc +50 -0
  308. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/snapshot.h +13 -1
  309. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/spaces-inl.h +35 -27
  310. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/spaces.cc +256 -42
  311. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/spaces.h +136 -42
  312. data/ext/v8/upstream/{2.0.6/src/zone-inl.h → 2.1.10/src/splay-tree-inl.h} +102 -89
  313. data/ext/v8/upstream/2.1.10/src/splay-tree.h +203 -0
  314. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/string-stream.cc +0 -0
  315. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/string-stream.h +0 -0
  316. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/string.js +260 -149
  317. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/stub-cache.cc +195 -69
  318. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/stub-cache.h +127 -12
  319. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/third_party/dtoa/COPYING +0 -0
  320. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/third_party/dtoa/dtoa.c +0 -0
  321. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/third_party/valgrind/valgrind.h +0 -0
  322. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/token.cc +0 -0
  323. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/token.h +0 -0
  324. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/top.cc +26 -31
  325. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/top.h +3 -4
  326. data/ext/v8/upstream/2.1.10/src/type-info.cc +53 -0
  327. data/ext/v8/upstream/2.1.10/src/type-info.h +244 -0
  328. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/unicode-inl.h +0 -0
  329. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/unicode.cc +0 -0
  330. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/unicode.h +0 -0
  331. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/uri.js +6 -6
  332. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/utils.cc +0 -37
  333. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/utils.h +121 -50
  334. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/v8-counters.cc +0 -0
  335. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/v8-counters.h +130 -98
  336. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/v8.cc +42 -11
  337. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/v8.h +4 -2
  338. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/v8natives.js +202 -37
  339. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/v8threads.cc +11 -0
  340. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/v8threads.h +15 -0
  341. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/variables.cc +7 -51
  342. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/variables.h +5 -35
  343. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/version.cc +3 -3
  344. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/version.h +0 -0
  345. data/ext/v8/upstream/2.1.10/src/virtual-frame-heavy-inl.h +152 -0
  346. data/ext/v8/upstream/{2.0.6/src/virtual-frame.cc → 2.1.10/src/virtual-frame-heavy.cc} +107 -176
  347. data/ext/v8/upstream/2.1.10/src/virtual-frame-inl.h +39 -0
  348. data/ext/v8/upstream/2.1.10/src/virtual-frame-light-inl.h +69 -0
  349. data/ext/v8/upstream/2.1.10/src/virtual-frame-light.cc +49 -0
  350. data/ext/v8/upstream/2.1.10/src/virtual-frame.cc +49 -0
  351. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/virtual-frame.h +2 -0
  352. data/ext/v8/upstream/{2.0.6/src/log-inl.h → 2.1.10/src/vm-state-inl.h} +28 -20
  353. data/ext/v8/upstream/{2.0.6/src/snapshot-empty.cc → 2.1.10/src/vm-state.cc} +5 -6
  354. data/ext/v8/upstream/2.1.10/src/vm-state.h +75 -0
  355. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/assembler-x64-inl.h +11 -0
  356. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/assembler-x64.cc +285 -93
  357. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/assembler-x64.h +81 -78
  358. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/builtins-x64.cc +130 -87
  359. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/codegen-x64-inl.h +0 -0
  360. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/codegen-x64.cc +4520 -1317
  361. data/ext/v8/upstream/{2.0.6/src/ia32/codegen-ia32.h → 2.1.10/src/x64/codegen-x64.h} +362 -141
  362. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/cpu-x64.cc +0 -0
  363. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/debug-x64.cc +20 -4
  364. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/disasm-x64.cc +121 -44
  365. data/ext/v8/upstream/2.1.10/src/x64/fast-codegen-x64.cc +246 -0
  366. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/frames-x64.cc +0 -0
  367. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/frames-x64.h +0 -0
  368. data/ext/v8/upstream/{2.0.6/src/x64/fast-codegen-x64.cc → 2.1.10/src/x64/full-codegen-x64.cc} +404 -231
  369. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/ic-x64.cc +346 -117
  370. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/jump-target-x64.cc +1 -0
  371. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/macro-assembler-x64.cc +537 -181
  372. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/macro-assembler-x64.h +140 -34
  373. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/regexp-macro-assembler-x64.cc +74 -96
  374. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/regexp-macro-assembler-x64.h +8 -25
  375. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/register-allocator-x64-inl.h +1 -1
  376. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/register-allocator-x64.cc +3 -0
  377. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/register-allocator-x64.h +0 -0
  378. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/simulator-x64.cc +0 -0
  379. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/simulator-x64.h +2 -2
  380. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/stub-cache-x64.cc +785 -288
  381. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/virtual-frame-x64.cc +128 -52
  382. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/virtual-frame-x64.h +40 -19
  383. data/ext/v8/upstream/2.1.10/src/zone-inl.h +82 -0
  384. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/zone.cc +1 -0
  385. data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/zone.h +6 -90
  386. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/codemap.js +12 -0
  387. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/consarray.js +0 -0
  388. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/csvparser.js +22 -37
  389. data/ext/v8/upstream/2.1.10/tools/generate-ten-powers.scm +286 -0
  390. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/gyp/v8.gyp +86 -24
  391. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/js2c.py +22 -22
  392. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/jsmin.py +0 -0
  393. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/linux-tick-processor +10 -1
  394. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/linux-tick-processor.py +0 -0
  395. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/logreader.js +34 -16
  396. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/mac-nm +0 -0
  397. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/mac-tick-processor +0 -0
  398. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/oprofile/annotate +0 -0
  399. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/oprofile/common +0 -0
  400. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/oprofile/dump +0 -0
  401. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/oprofile/report +0 -0
  402. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/oprofile/reset +0 -0
  403. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/oprofile/run +0 -0
  404. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/oprofile/shutdown +0 -0
  405. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/oprofile/start +0 -0
  406. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/presubmit.py +0 -0
  407. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/process-heap-prof.py +0 -0
  408. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/profile.js +70 -0
  409. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/profile_view.js +0 -0
  410. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/run-valgrind.py +0 -0
  411. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/splaytree.js +0 -0
  412. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/splaytree.py +0 -0
  413. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/stats-viewer.py +0 -0
  414. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/test.py +7 -7
  415. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/tickprocessor-driver.js +7 -1
  416. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/tickprocessor.js +140 -9
  417. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/tickprocessor.py +40 -4
  418. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/utils.py +6 -0
  419. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/README.txt +0 -0
  420. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/arm.vsprops +1 -1
  421. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/common.vsprops +1 -2
  422. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/d8.vcproj +0 -6
  423. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/d8_arm.vcproj +193 -199
  424. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/d8_x64.vcproj +16 -8
  425. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/d8js2c.cmd +0 -0
  426. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/debug.vsprops +0 -0
  427. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/ia32.vsprops +5 -1
  428. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/js2c.cmd +1 -1
  429. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/release.vsprops +0 -0
  430. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8.sln +0 -0
  431. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8.vcproj +11 -7
  432. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_arm.sln +0 -0
  433. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_arm.vcproj +227 -223
  434. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_base.vcproj +137 -5
  435. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_base_arm.vcproj +116 -4
  436. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_base_x64.vcproj +125 -4
  437. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_cctest.vcproj +12 -6
  438. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_cctest_arm.vcproj +12 -6
  439. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_cctest_x64.vcproj +11 -11
  440. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_mksnapshot.vcproj +0 -6
  441. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_mksnapshot_x64.vcproj +0 -6
  442. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_process_sample.vcproj +0 -6
  443. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_process_sample_arm.vcproj +145 -151
  444. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_process_sample_x64.vcproj +16 -6
  445. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_shell_sample.vcproj +0 -6
  446. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_shell_sample_arm.vcproj +145 -151
  447. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_shell_sample_x64.vcproj +16 -8
  448. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_snapshot.vcproj +0 -0
  449. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_snapshot_cc.vcproj +0 -0
  450. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_snapshot_cc_x64.vcproj +0 -0
  451. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_snapshot_x64.vcproj +0 -0
  452. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_x64.sln +0 -0
  453. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_x64.vcproj +11 -7
  454. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/x64.vsprops +5 -1
  455. data/ext/v8/upstream/2.1.10/tools/windows-tick-processor.bat +29 -0
  456. data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/windows-tick-processor.py +0 -0
  457. data/ext/v8/upstream/Makefile +8 -2
  458. data/ext/v8/v8.cpp +21 -73
  459. data/ext/v8/v8_array.cpp +56 -0
  460. data/ext/v8/v8_array.h +8 -0
  461. data/ext/v8/v8_callbacks.cpp +121 -0
  462. data/ext/v8/v8_callbacks.h +8 -0
  463. data/ext/v8/v8_cxt.cpp +74 -77
  464. data/ext/v8/v8_cxt.h +2 -9
  465. data/ext/v8/v8_date.cpp +26 -0
  466. data/ext/v8/v8_date.h +6 -0
  467. data/ext/v8/v8_exception.cpp +55 -0
  468. data/ext/v8/v8_exception.h +6 -0
  469. data/ext/v8/v8_external.cpp +50 -0
  470. data/ext/v8/v8_external.h +8 -0
  471. data/ext/v8/v8_func.cpp +76 -18
  472. data/ext/v8/v8_func.h +5 -4
  473. data/ext/v8/v8_msg.cpp +55 -46
  474. data/ext/v8/v8_msg.h +3 -11
  475. data/ext/v8/v8_obj.cpp +67 -36
  476. data/ext/v8/v8_obj.h +6 -8
  477. data/ext/v8/v8_ref.cpp +25 -9
  478. data/ext/v8/v8_ref.h +3 -5
  479. data/ext/v8/v8_script.cpp +17 -10
  480. data/ext/v8/v8_script.h +3 -3
  481. data/ext/v8/v8_str.cpp +34 -6
  482. data/ext/v8/v8_str.h +4 -2
  483. data/ext/v8/v8_template.cpp +195 -33
  484. data/ext/v8/v8_template.h +4 -5
  485. data/ext/v8/v8_try_catch.cpp +99 -0
  486. data/ext/v8/v8_try_catch.h +5 -0
  487. data/ext/v8/v8_value.cpp +164 -0
  488. data/ext/v8/v8_value.h +10 -0
  489. data/lib/v8.rb +3 -1
  490. data/lib/v8/access.rb +60 -0
  491. data/lib/v8/array.rb +15 -0
  492. data/lib/v8/callbacks.rb +88 -0
  493. data/lib/v8/cli.rb +1 -1
  494. data/lib/v8/context.rb +55 -66
  495. data/lib/v8/function.rb +20 -2
  496. data/lib/v8/object.rb +14 -12
  497. data/lib/v8/ruby_error.rb +3 -0
  498. data/lib/v8/to.rb +59 -7
  499. data/spec/ext/cxt_spec.rb +2 -15
  500. data/spec/ext/func_spec.rb +17 -10
  501. data/spec/ext/try_catch_spec.rb +32 -0
  502. data/spec/foo.rb +17 -0
  503. data/spec/redjs/jsapi_spec.rb +173 -96
  504. data/spec/spec_helper.rb +7 -0
  505. data/spec/v8/to_spec.rb +0 -1
  506. data/therubyracer.gemspec +6 -6
  507. metadata +493 -386
  508. data/ext/v8/upstream/2.0.6/src/arm/ic-arm.cc +0 -849
  509. data/ext/v8/upstream/2.0.6/src/arm/virtual-frame-arm.cc +0 -412
  510. data/ext/v8/upstream/2.0.6/src/ast.cc +0 -512
  511. data/ext/v8/upstream/2.0.6/src/builtins.cc +0 -851
  512. data/ext/v8/upstream/2.0.6/src/compiler.cc +0 -1132
  513. data/ext/v8/upstream/2.0.6/src/compiler.h +0 -107
  514. data/ext/v8/upstream/2.0.6/src/conversions.cc +0 -709
  515. data/ext/v8/upstream/2.0.6/src/usage-analyzer.cc +0 -426
  516. data/ext/v8/upstream/2.0.6/tools/windows-tick-processor.bat +0 -5
  517. data/ext/v8/upstream/no-strict-aliasing.patch +0 -13
  518. data/ext/v8/v8_standalone.cpp +0 -69
  519. data/ext/v8/v8_standalone.h +0 -31
  520. data/spec/ext/obj_spec.rb +0 -13
data/Rakefile CHANGED
@@ -1,15 +1,13 @@
1
1
  require 'rubygems'
2
2
 
3
3
  UPSTREAM = "ext/v8/upstream"
4
- SCONS = "#{UPSTREAM}/scons"
5
- V8_SRC = "#{UPSTREAM}/2.0.6"
6
4
 
7
5
  manifest = Rake::FileList.new("**/*")
8
- manifest.exclude "ext/**/test/*", "ext/**/test/*", "ext/**/samples/*", "ext/**/benchmarks/*", "#{UPSTREAM}/build", "tmp", "tmp/**/*", "**/*.gem"
6
+ manifest.exclude "lib/v8/*.bundle", "lib/v8/*.so", "ext/**/test/*", "ext/**/test/*", "ext/**/samples/*", "ext/**/benchmarks/*", "#{UPSTREAM}/build", "tmp", "tmp/**/*", "**/*.gem"
9
7
  Gem::Specification.new do |gemspec|
10
8
  $gemspec = gemspec
11
9
  gemspec.name = gemspec.rubyforge_project = "therubyracer"
12
- gemspec.version = "0.6.3"
10
+ gemspec.version = "0.7.0.pre"
13
11
  gemspec.summary = "Embed the V8 Javascript interpreter into Ruby"
14
12
  gemspec.description = "Call javascript code and manipulate javascript objects from ruby. Call ruby code and manipulate ruby objects from javascript."
15
13
  gemspec.email = "cowboyd@thefrontside.net"
@@ -41,11 +39,14 @@ task :clean do
41
39
  sh "rm -rf lib/v8/*.bundle lib/v8/*.so"
42
40
  end
43
41
 
44
- namespace :clean do
45
- desc "remove all built v8 objects"
46
- task "v8" => "clean" do
47
- sh "cd #{UPSTREAM} && make clean"
48
- end
42
+ desc "remove all built v8 objects"
43
+ task "v8:clean" => "clean" do
44
+ sh "cd #{UPSTREAM} && make clean"
45
+ end
46
+
47
+ desc "build v8 with debugging symbols (much slower)"
48
+ task "v8:debug" do
49
+ sh "cd #{UPSTREAM} && make debug"
49
50
  end
50
51
 
51
52
  for file in Dir['tasks/*.rake']
@@ -1,4 +1,4 @@
1
- #include <ruby.h>
1
+ #include "rr.h"
2
2
 
3
3
  #include "callbacks.h"
4
4
  #include "converters.h"
@@ -51,6 +51,7 @@ namespace {
51
51
  if (FIX2INT(rb_funcall(method, rb_intern("arity"), 0)) == 0) {
52
52
  return Racer_Call_Ruby_Method(object, name, Array::New(0));
53
53
  } else {
54
+ //causes out of memory if we use rr_rb2v8
54
55
  return RB2V8(method);
55
56
  }
56
57
  }
@@ -64,14 +65,15 @@ Handle<Value> RacerRubyInvocationCallback(const Arguments& args) {
64
65
  VALUE* arguments = new VALUE[args.Length()];
65
66
  for(int c=0;c<args.Length(); ++c) {
66
67
  Handle<Value> val = args[c];
68
+ // arguments[c] = rr_v82rb(val); // segfaults... why?
67
69
  arguments[c] = V82RB(val);
68
70
  }
69
71
 
70
72
  VALUE result = rb_funcall2(code, rb_intern("call"), args.Length(), arguments);
71
73
  delete [] arguments;
72
74
 
73
- Handle<Value> convertedResult = RB2V8(result);
74
- return convertedResult ;
75
+ Handle<Value> convertedResult = rr_rb2v8(result);
76
+ return convertedResult;
75
77
  }
76
78
  }
77
79
 
@@ -89,8 +91,10 @@ Handle<Value> RacerRubyNamedPropertyGetter(Local<String> property, const Accesso
89
91
  return Handle<Value>();
90
92
  }
91
93
  VALUE object = unwrap(info);
94
+ // VALUE camel_name = rr_v82rb(property); //segfaults. why??
92
95
  VALUE camel_name = V82RB((Local<Value>&)property);
93
- VALUE perl_name = rb_funcall(V8_To, rb_intern("perl_case"), 1, camel_name);
96
+ VALUE perl_name = rr_str_to_perl_case(camel_name);
97
+ // VALUE perl_name = rb_funcall(V8_To, rb_intern("perl_case"), 1, camel_name);
94
98
  VALUE methods = CALLABLE_METHODS(object);
95
99
 
96
100
  if (RTEST(rb_ary_includes(methods, perl_name))) {
@@ -116,7 +120,8 @@ Handle<Value> RacerRubyNamedPropertySetter(Local<String> property, Local<Value>
116
120
  Local<String> setter_name = String::New(setter.c_str());
117
121
  VALUE object = unwrap(info);
118
122
  VALUE camel_name = V82RB((Local<Value>&)setter_name);
119
- VALUE perl_name = rb_funcall(V8_To, rb_intern("perl_case"), 1, camel_name);
123
+ VALUE perl_name = rr_str_to_perl_case(camel_name);
124
+ // VALUE perl_name = rb_funcall(V8_To, rb_intern("perl_case"), 1, camel_name);
120
125
  VALUE methods = CALLABLE_METHODS(object);
121
126
  Local<Array> args = Array::New(1);
122
127
  args->Set(Integer::New(0), value);
@@ -143,7 +148,8 @@ Handle<Boolean> RacerRubyNamedPropertyQuery(Local<String> property, const Access
143
148
  VALUE object = unwrap(info);
144
149
  VALUE methods = CALLABLE_METHODS(object);
145
150
  VALUE attr_name = V82RB((Local<Value>&)property);
146
- VALUE perl_name = rb_funcall(V8_To, rb_intern("perl_case"), 1, attr_name);
151
+ // VALUE perl_name = rb_funcall(V8_To, rb_intern("perl_case"), 1, attr_name);
152
+ VALUE perl_name = rr_str_to_perl_case(attr_name);
147
153
 
148
154
  if (RTEST(rb_ary_includes(methods, attr_name)) || RTEST(rb_ary_includes(methods, perl_name))) {
149
155
  return True();
@@ -171,8 +177,9 @@ Handle<Array> RacerRubyNamedPropertyEnumerator(const AccessorInfo& info) {
171
177
  int length = RARRAY_LEN(methods);
172
178
  Local<Array> properties = Array::New(length);
173
179
  for (int i = 0; i < length; i++) {
174
- VALUE camel_name = rb_funcall(V8_To, rb_intern("camel_case"), 1, rb_ary_entry(methods, i));
175
- properties->Set(Integer::New(i), RB2V8(camel_name));
180
+ // VALUE camel_name = rb_funcall(V8_To, rb_intern("camel_case"), 1, rb_ary_entry(methods, i));
181
+ VALUE camel_name = rr_str_to_camel_case(rb_ary_entry(methods, i));
182
+ properties->Set(Integer::New(i), rr_rb2v8(camel_name));
176
183
  }
177
184
  return properties;
178
185
  }
@@ -5,6 +5,7 @@
5
5
  #include "v8_cxt.h"
6
6
  #include "v8_func.h"
7
7
  #include "v8_template.h"
8
+ #include "v8_external.h"
8
9
 
9
10
  using namespace v8;
10
11
 
@@ -12,12 +13,10 @@ namespace {
12
13
  std::string UNDEFINED_STR("undefined");
13
14
  }
14
15
 
15
- VALUE V8_To;
16
-
17
16
  VALUE V82RB(Handle<Value>& value) {
18
17
  convert_v8_to_rb_t convert;
19
18
  VALUE result;
20
- VALUE type = V8_C_Object;
19
+ VALUE type = rr_cV8_C_Object;
21
20
  if(convert(value, result)) {
22
21
  return result;
23
22
  }
@@ -33,15 +32,15 @@ VALUE V82RB(Handle<Value>& value) {
33
32
  }
34
33
 
35
34
  if (value->IsFunction()) {
36
- type = V8_C_Function;
35
+ type = rr_cV8_C_Function;
37
36
  }
38
37
 
39
38
  if (value->IsObject()) {
40
39
  Local<Object> object(Object::Cast(*value));
41
40
  Local<Value> peer = object->GetHiddenValue(String::New("TheRubyRacer::RubyObject"));
42
41
  if (peer.IsEmpty()) {
43
- VALUE context_ref = V8_Ref_Create(V8_C_Context, Context::GetCurrent());
44
- object->SetHiddenValue(String::New("TheRubyRacer::Context"), External::Wrap((void *)context_ref));
42
+ VALUE context_ref = V8_Ref_Create(V8_C_Context, Context::GetEntered());
43
+ object->SetHiddenValue(String::New("TheRubyRacer::Context"), rr_v8_external_create(context_ref));
45
44
  return V8_Ref_Create(type, value, context_ref);
46
45
  } else {
47
46
  return (VALUE)External::Unwrap(peer);
@@ -53,7 +52,7 @@ VALUE V82RB(Handle<Value>& value) {
53
52
  Local<Value> RB2V8(VALUE value) {
54
53
  VALUE valueClass = rb_class_of(value);
55
54
  if(valueClass == rb_cProc || valueClass == rb_cMethod) {
56
- Local<FunctionTemplate> t = FunctionTemplate::New(RacerRubyInvocationCallback, External::Wrap((void *)value));
55
+ Local<FunctionTemplate> t = FunctionTemplate::New(RacerRubyInvocationCallback, rr_v8_external_create(value));
57
56
  return t->GetFunction();
58
57
  }
59
58
  convert_rb_to_v8_t convert;
@@ -62,7 +61,7 @@ Local<Value> RB2V8(VALUE value) {
62
61
  return result;
63
62
  }
64
63
  Local<Object> o = Racer_Create_V8_ObjectTemplate(value)->NewInstance();
65
- o->SetHiddenValue(String::New("TheRubyRacer::RubyObject"), External::Wrap((void *) value));
64
+ o->SetHiddenValue(String::New("TheRubyRacer::RubyObject"), rr_v8_external_create(value));
66
65
  return o;
67
66
  }
68
67
 
@@ -6,8 +6,6 @@
6
6
  #include "convert_v8.h"
7
7
  #include <cstring>
8
8
 
9
- extern VALUE V8_To;
10
-
11
9
  typedef RubyValueSource<V8LocalDest, v8::Local<v8::Value> > convert_rb_to_v8_t;
12
10
  typedef V8HandleSource<RubyValueDest, VALUE> convert_v8_to_rb_t;
13
11
 
@@ -14,6 +14,8 @@ have_library('pthread')
14
14
  have_library('objc') if RUBY_PLATFORM =~ /darwin/
15
15
 
16
16
  $CPPFLAGS += " -Wall" unless $CPPFLAGS.split.include? "-Wall"
17
+ $CPPFLAGS += " -g" unless $CPPFLAGS.split.include? "-g"
18
+ $CPPFLAGS += " -rdynamic" unless $CPPFLAGS.split.include? "-rdynamic"
17
19
 
18
20
  CONFIG['LDSHARED'] = '$(CXX) -shared' unless RUBY_PLATFORM =~ /darwin/
19
21
 
@@ -0,0 +1,169 @@
1
+ #include "rr.h"
2
+ #include "v8_cxt.h"
3
+ #include "v8_value.h"
4
+ #include "v8_obj.h"
5
+ #include "v8_func.h"
6
+ #include "v8_array.h"
7
+ #include "v8_str.h"
8
+ #include "v8_date.h"
9
+ #include "v8_msg.h"
10
+
11
+ using namespace v8;
12
+
13
+ VALUE rr_define_class(const char *name, VALUE superclass) {
14
+ VALUE V8 = rb_define_module("V8");
15
+ VALUE V8_C = rb_define_module_under(V8, "C");
16
+ VALUE klass = rb_define_class_under(V8_C, name, superclass);
17
+ rb_funcall(klass, rb_intern("private_class_method"), 1, rb_str_new2("new"));
18
+ return klass;
19
+ }
20
+
21
+ VALUE rr_define_const(const char *name, VALUE value) {
22
+ VALUE V8 = rb_define_module("V8");
23
+ VALUE V8_C = rb_define_module_under(V8, "C");
24
+ rb_define_const(V8_C, name, value);
25
+ return value;
26
+ }
27
+
28
+ VALUE rr_str_to_perl_case(VALUE str) {
29
+ VALUE V8 = rb_define_module("V8");
30
+ VALUE to = rb_define_module_under(V8, "To");
31
+ return rb_funcall(to, rb_intern("perl_case"), 1, str);
32
+ }
33
+
34
+ VALUE rr_str_to_camel_case(VALUE str) {
35
+ VALUE V8 = rb_define_module("V8");
36
+ VALUE to = rb_define_module_under(V8, "To");
37
+ return rb_funcall(to, rb_intern("camel_case"), 1, str);
38
+ }
39
+
40
+ VALUE rr_v82rb(Handle<Value> value) {
41
+ if (value.IsEmpty()) {
42
+ return rr_cV8_C_Empty;
43
+ }
44
+ if (value.IsEmpty() || value->IsUndefined() || value->IsNull()) {
45
+ return Qnil;
46
+ }
47
+ if (value->IsUint32()) {
48
+ return UINT2NUM(value->Uint32Value());
49
+ }
50
+ if (value->IsInt32()) {
51
+ return INT2FIX(value->Int32Value());
52
+ }
53
+ if (value->IsBoolean()) {
54
+ return value->BooleanValue() ? Qtrue : Qfalse;
55
+ }
56
+ if (value->IsNumber()) {
57
+ return rb_float_new(value->NumberValue());
58
+ }
59
+ if (value->IsString()) {
60
+ return rr_reflect_v8_string(value);
61
+ }
62
+ if (value->IsFunction()) {
63
+ return rr_reflect_v8_function(value);
64
+ }
65
+ if (value->IsArray()) {
66
+ return rr_reflect_v8_array(value);
67
+ }
68
+ if (value->IsDate()) {
69
+ return rr_reflect_v8_date(value);
70
+ }
71
+ if (value->IsObject()) {
72
+ return rr_reflect_v8_object(value);
73
+ }
74
+ return rr_wrap_v8_value(value);
75
+ }
76
+
77
+ VALUE rr_v82rb(Handle<Context> value) {
78
+ return rr_reflect_v8_context(value);
79
+ }
80
+ VALUE rr_v82rb(Handle<Message> value) {
81
+ return rr_reflect_v8_message(value);
82
+ }
83
+ VALUE rr_v82rb(Handle<Boolean> value) {
84
+ return rr_v82rb((Handle<Value>)value);
85
+ }
86
+ VALUE rr_v82rb(Handle<Number> value) {
87
+ return rr_v82rb((Handle<Value>)value);
88
+ }
89
+ VALUE rr_v82rb(Handle<String> value) {
90
+ return rr_v82rb((Handle<Value>)value);
91
+ }
92
+ VALUE rr_v82rb(Handle<Object> value) {
93
+ return rr_v82rb((Handle<Value>)value);
94
+ }
95
+ VALUE rr_v82rb(v8::Handle<v8::Function> value) {
96
+ return rr_v82rb((Handle<Value>)value);
97
+ }
98
+ VALUE rr_v82rb(Handle<Integer> value) {
99
+ return rr_v82rb((Handle<Value>)value);
100
+ }
101
+ VALUE rr_v82rb(Handle<Uint32> value) {
102
+ return rr_v82rb((Handle<Value>)value);
103
+ }
104
+ VALUE rr_v82rb(Handle<Int32> value) {
105
+ return rr_v82rb((Handle<Value>)value);
106
+ }
107
+ VALUE rr_v82rb(bool value) {
108
+ return value ? Qtrue : Qfalse;
109
+ }
110
+ VALUE rr_v82rb(double value) {
111
+ return rb_float_new(value);
112
+ }
113
+ VALUE rr_v82rb(int64_t value) {
114
+ return INT2FIX(value);
115
+ }
116
+ VALUE rr_v82rb(uint32_t value) {
117
+ return UINT2NUM(value);
118
+ }
119
+ VALUE rr_v82rb(int32_t value) {
120
+ return INT2FIX(value);
121
+ }
122
+
123
+
124
+ Handle<Value> rr_rb2v8(VALUE value) {
125
+ switch (TYPE(value)) {
126
+ case T_FIXNUM:
127
+ return Integer::New(FIX2INT(value));
128
+ case T_FLOAT:
129
+ return Number::New(NUM2DBL(value));
130
+ case T_STRING:
131
+ return String::New(RSTRING_PTR(value), RSTRING_LEN(value));
132
+ case T_NIL:
133
+ return Null();
134
+ case T_TRUE:
135
+ return True();
136
+ case T_FALSE:
137
+ return False();
138
+ case T_DATA:
139
+ return V8_Ref_Get<Value>(value);
140
+ case T_OBJECT:
141
+ return rr_reflect_rb_object(value);
142
+ case T_CLASS:
143
+ case T_ICLASS:
144
+ case T_MODULE:
145
+ case T_REGEXP:
146
+ case T_MATCH:
147
+ case T_ARRAY:
148
+ case T_HASH:
149
+ case T_STRUCT:
150
+ case T_BIGNUM:
151
+ case T_FILE:
152
+ case T_SYMBOL:
153
+ // case T_BLKTAG: (not in 1.9)
154
+ case T_UNDEF:
155
+ // case T_VARMAP: (not in 1.9)
156
+ // case T_SCOPE: (not in 1.9)
157
+ case T_NODE:
158
+ default:
159
+ return String::New("Undefined Conversion");
160
+ }
161
+
162
+ return Undefined();
163
+ }
164
+ // VALUE rr_v82rb(v8::ScriptData *data) {
165
+ // return rr_thunk(rr_wrap_script_data(data));
166
+ // }
167
+
168
+
169
+
@@ -0,0 +1,34 @@
1
+ #ifndef _THE_RUBY_RACER_
2
+ #define _THE_RUBY_RACER_
3
+
4
+ #include <ruby.h>
5
+ #include <v8.h>
6
+
7
+ #define rr_define_method(klass, name, impl, argc) rb_define_method(klass, name, (VALUE(*)(...))impl, argc)
8
+ #define rr_define_singleton_method(object, name, impl, argc) rb_define_singleton_method(object, name, (VALUE(*)(...))impl, argc)
9
+
10
+ VALUE rr_define_class(const char *name, VALUE superclass = rb_cObject);
11
+ VALUE rr_define_const(const char *name, VALUE value);
12
+ VALUE rr_str_to_perl_case(VALUE str);
13
+ VALUE rr_str_to_camel_case(VALUE str);
14
+
15
+ VALUE rr_v82rb(v8::Handle<v8::Value> value);
16
+ VALUE rr_v82rb(v8::Handle<v8::Boolean> value);
17
+ VALUE rr_v82rb(v8::Handle<v8::Number> value);
18
+ VALUE rr_v82rb(v8::Handle<v8::String> value);
19
+ VALUE rr_v82rb(v8::Handle<v8::Object> value);
20
+ VALUE rr_v82rb(v8::Handle<v8::Function> value);
21
+ VALUE rr_v82rb(v8::Handle<v8::Integer> value);
22
+ VALUE rr_v82rb(v8::Handle<v8::Uint32> value);
23
+ VALUE rr_v82rb(v8::Handle<v8::Int32> value);
24
+ VALUE rr_v82rb(v8::Handle<v8::Context> value);
25
+ VALUE rr_v82rb(v8::Handle<v8::Message> value);
26
+ VALUE rr_v82rb(bool value);
27
+ VALUE rr_v82rb(double value);
28
+ VALUE rr_v82rb(int64_t value);
29
+ VALUE rr_v82rb(uint32_t value);
30
+ VALUE rr_v82rb(int32_t value);
31
+
32
+ v8::Handle<v8::Value> rr_rb2v8(VALUE value);
33
+
34
+ #endif
@@ -4,20 +4,27 @@
4
4
  # Name/Organization <email address>
5
5
 
6
6
  Google Inc.
7
+ Sigma Designs Inc.
8
+ ARM Ltd.
7
9
 
8
10
  Alexander Botero-Lowry <alexbl@FreeBSD.org>
9
11
  Alexandre Vassalotti <avassalotti@gmail.com>
10
12
  Craig Schlenter <craig.schlenter@gmail.com>
11
13
  Daniel Andersson <kodandersson@gmail.com>
12
14
  Daniel James <dnljms@gmail.com>
15
+ Dineel D Sule <dsule@codeaurora.org>
16
+ Erich Ocean <erich.ocean@me.com>
13
17
  Jan de Mooij <jandemooij@gmail.com>
14
18
  Jay Freeman <saurik@saurik.com>
15
19
  Joel Stanley <joel.stan@gmail.com>
16
20
  John Jozwiak <jjozwiak@codeaurora.org>
17
21
  Matt Hanselman <mjhanselman@gmail.com>
22
+ Martyn Capewell <martyn.capewell@arm.com>
18
23
  Paolo Giarrusso <p.giarrusso@gmail.com>
24
+ Patrick Gansterer <paroga@paroga.com>
19
25
  Rafal Krypa <rafal@krypa.net>
20
26
  Rene Rebe <rene@exactcode.de>
27
+ Rodolph Perfetta <rodolph.perfetta@arm.com>
21
28
  Ryan Dahl <coldredlemur@gmail.com>
22
- Patrick Gansterer <paroga@paroga.com>
23
29
  Subrato K De <subratokde@codeaurora.org>
30
+
@@ -1,3 +1,201 @@
1
+ 2010-05-05: Version 2.2.8
2
+
3
+ Performance improvements in the x64 and ARM backends.
4
+
5
+
6
+ 2010-05-03: Version 2.2.7
7
+
8
+ Added support for ES5 date time string format to Date.parse.
9
+
10
+ Performance improvements in the x64 backend.
11
+
12
+
13
+ 2010-04-28: Version 2.2.6
14
+
15
+ Added "amd64" as recognized architecture in scons build script
16
+ (by Ryan Dahl <coldredlemur@gmail.com>).
17
+
18
+ Fixed bug in String search and replace with very simple RegExps.
19
+
20
+ Fixed bug in RegExp containing "\b^".
21
+
22
+ Performance improvements on all platforms.
23
+
24
+
25
+ 2010-04-26: Version 2.2.5
26
+
27
+ Various performance improvements (especially for ARM and x64)
28
+
29
+ Fixed bug in CPU profiling (http://crbug.com/42137)
30
+
31
+ Fixed a bug with the natives cache.
32
+
33
+ Fixed two bugs in the ARM code generator that can cause
34
+ wrong calculations.
35
+
36
+ Fixed a bug that may cause a wrong result for shift operations.
37
+
38
+
39
+ 2010-04-21: Version 2.2.4
40
+
41
+ Fixed warnings on arm on newer GCC versions.
42
+
43
+ Fixed a number of minor bugs.
44
+
45
+ Performance improvements on all platforms.
46
+
47
+
48
+ 2010-04-14: Version 2.2.3
49
+
50
+ Added stack command and mem command to ARM simulator debugger.
51
+
52
+ Fixed scons snapshot and ARM build, and Windows X64 build issues.
53
+
54
+ Performance improvements on all platforms.
55
+
56
+
57
+ 2010-04-12: Version 2.2.2
58
+
59
+ Introduced new profiler API.
60
+
61
+ Fixed random number generator to produce full 32 random bits.
62
+
63
+
64
+ 2010-04-06: Version 2.2.1
65
+
66
+ Debugger improvements.
67
+
68
+ Fixed minor bugs.
69
+
70
+
71
+ 2010-03-29: Version 2.2.0
72
+
73
+ Fixed a few minor bugs.
74
+
75
+ Performance improvements for string operations.
76
+
77
+
78
+ 2010-03-26: Version 2.1.10
79
+
80
+ Fixed scons build issues.
81
+
82
+ Fixed a couple of minor bugs.
83
+
84
+
85
+ 2010-03-25: Version 2.1.9
86
+
87
+ Added API support for reattaching a global object to a context.
88
+
89
+ Extended debugger API with access to the internal debugger context.
90
+
91
+ Fixed Chromium crashes (issues http://crbug.com/39128 and
92
+ http://crbug.com/39160)
93
+
94
+
95
+ 2010-03-24: Version 2.1.8
96
+
97
+ Added fine-grained garbage collection callbacks to the API.
98
+
99
+ Performance improvements on all platforms.
100
+
101
+
102
+ 2010-03-22: Version 2.1.7
103
+
104
+ Fixed issue 650.
105
+
106
+ Fixed a bug where __proto__ was sometimes enumerated (issue 646).
107
+
108
+ Performance improvements for arithmetic operations.
109
+
110
+ Performance improvements for string operations.
111
+
112
+ Print script name and line number information in stack trace.
113
+
114
+
115
+ 2010-03-17: Version 2.1.6
116
+
117
+ Performance improvements for arithmetic operations.
118
+
119
+ Performance improvements for string operations.
120
+
121
+
122
+ 2010-03-10: Version 2.1.4
123
+
124
+ Fixed code cache lookup for keyed IC's (issue http://crbug.com/37853).
125
+
126
+ Performance improvements on all platforms.
127
+
128
+
129
+ 2010-03-10: Version 2.1.3
130
+
131
+ Added API method for context-disposal notifications.
132
+
133
+ Added API method for accessing elements by integer index.
134
+
135
+ Added missing implementation of Uint32::Value and Value::IsUint32
136
+ API methods.
137
+
138
+ Added IsExecutionTerminating API method.
139
+
140
+ Disabled strict aliasing for GCC 4.4.
141
+
142
+ Fixed string-concatenation bug (issue 636).
143
+
144
+ Performance improvements on all platforms.
145
+
146
+
147
+ 2010-02-23: Version 2.1.2
148
+
149
+ Fix a crash bug caused by wrong assert.
150
+
151
+ Fix a bug with register names on 64-bit V8 (issue 615).
152
+
153
+ Performance improvements on all platforms.
154
+
155
+
156
+ 2010-02-19: Version 2.1.1
157
+
158
+ [ES5] Implemented Object.defineProperty.
159
+
160
+ Improved profiler support.
161
+
162
+ Added SetPrototype method in the public V8 API.
163
+
164
+ Added GetScriptOrigin and GetScriptLineNumber methods to Function
165
+ objects in the API.
166
+
167
+ Performance improvements on all platforms.
168
+
169
+
170
+ 2010-02-03: Version 2.1.0
171
+
172
+ Values are now always wrapped in objects when used as a receiver.
173
+ (issue 223).
174
+
175
+ [ES5] Implemented Object.getOwnPropertyNames.
176
+
177
+ [ES5] Restrict JSON.parse to only accept strings that conforms to the
178
+ JSON grammar.
179
+
180
+ Improvement of debugger agent (issue 549 and 554).
181
+
182
+ Fixed problem with skipped stack frame in profiles (issue 553).
183
+
184
+ Solaris support by Erich Ocean <erich.ocean@me.com> and Ryan Dahl
185
+ <ry@tinyclouds.org>.
186
+
187
+ Fix a bug that Math.round() returns incorrect results for huge
188
+ integers.
189
+
190
+ Fix enumeration order for objects created from some constructor
191
+ functions (isue http://crbug.com/3867).
192
+
193
+ Fix arithmetic on some integer constants (issue 580).
194
+
195
+ Numerous performance improvements including porting of previous IA-32
196
+ optimizations to x64 and ARM architectures.
197
+
198
+
1
199
  2010-01-14: Version 2.0.6
2
200
 
3
201
  Added ES5 Object.getPrototypeOf, GetOwnPropertyDescriptor,