Skip to content
This repository
Browse code

Roll V8 back to 3.10.8.13

  • Loading branch information...
commit 46b09e419039d2fbfde4029606de3d3aaef7af25 1 parent 3116522
Isaac Z. Schlueter isaacs authored

Showing 192 changed files with 4,208 additions and 7,189 deletions. Show diff stats Hide diff stats

  1. +0 107 deps/v8/ChangeLog
  2. +0 27 deps/v8/DEPS
  3. +0 7 deps/v8/Makefile
  4. +2 15 deps/v8/SConstruct
  5. +158 129 deps/v8/build/common.gypi
  6. +25 11 deps/v8/build/gyp_v8
  7. +3 9 deps/v8/build/standalone.gypi
  8. +3 5 deps/v8/include/v8.h
  9. +0 1  deps/v8/src/SConscript
  10. +33 4 deps/v8/src/api.cc
  11. +2 2 deps/v8/src/api.h
  12. +4 5 deps/v8/src/arm/builtins-arm.cc
  13. +14 21 deps/v8/src/arm/code-stubs-arm.cc
  14. +2 2 deps/v8/src/arm/codegen-arm.cc
  15. +1 3 deps/v8/src/arm/debug-arm.cc
  16. +4 3 deps/v8/src/arm/full-codegen-arm.cc
  17. +32 29 deps/v8/src/arm/ic-arm.cc
  18. +2 3 deps/v8/src/arm/lithium-arm.cc
  19. +2 7 deps/v8/src/arm/lithium-arm.h
  20. +60 94 deps/v8/src/arm/lithium-codegen-arm.cc
  21. +39 49 deps/v8/src/arm/macro-assembler-arm.cc
  22. +4 5 deps/v8/src/arm/macro-assembler-arm.h
  23. +55 115 deps/v8/src/arm/regexp-macro-assembler-arm.cc
  24. +6 7 deps/v8/src/arm/regexp-macro-assembler-arm.h
  25. +6 6 deps/v8/src/arm/simulator-arm.h
  26. +11 39 deps/v8/src/arm/stub-cache-arm.cc
  27. +11 9 deps/v8/src/bootstrapper.cc
  28. +31 56 deps/v8/src/builtins.cc
  29. +9 23 deps/v8/src/code-stubs.cc
  30. +0 1  deps/v8/src/code-stubs.h
  31. +3 3 deps/v8/src/codegen.h
  32. +18 2 deps/v8/src/contexts.h
  33. +20 41 deps/v8/src/d8.cc
  34. +1 1  deps/v8/src/d8.h
  35. +16 16 deps/v8/src/debug-agent.cc
  36. +1 41 deps/v8/src/debug.cc
  37. +0 50 deps/v8/src/debug.h
  38. +0 134 deps/v8/src/elements-kind.cc
  39. +0 210 deps/v8/src/elements-kind.h
  40. +190 356 deps/v8/src/elements.cc
  41. +28 36 deps/v8/src/elements.h
  42. +2 3 deps/v8/src/factory.cc
  43. +7 10 deps/v8/src/factory.h
  44. +0 3  deps/v8/src/flag-definitions.h
  45. +0 3  deps/v8/src/frames.h
  46. +0 2  deps/v8/src/func-name-inferrer.h
  47. +0 3  deps/v8/src/globals.h
  48. +4 16 deps/v8/src/heap-inl.h
  49. +32 38 deps/v8/src/heap.cc
  50. +17 3 deps/v8/src/heap.h
  51. +5 28 deps/v8/src/hydrogen-instructions.cc
  52. +44 138 deps/v8/src/hydrogen-instructions.h
  53. +91 274 deps/v8/src/hydrogen.cc
  54. +0 3  deps/v8/src/hydrogen.h
  55. +0 3  deps/v8/src/ia32/assembler-ia32.h
  56. +4 5 deps/v8/src/ia32/builtins-ia32.cc
  57. +16 22 deps/v8/src/ia32/code-stubs-ia32.cc
  58. +2 2 deps/v8/src/ia32/codegen-ia32.cc
  59. +2 29 deps/v8/src/ia32/debug-ia32.cc
  60. +8 8 deps/v8/src/ia32/full-codegen-ia32.cc
  61. +17 21 deps/v8/src/ia32/ic-ia32.cc
  62. +79 110 deps/v8/src/ia32/lithium-codegen-ia32.cc
  63. +1 2  deps/v8/src/ia32/lithium-codegen-ia32.h
  64. +4 4 deps/v8/src/ia32/lithium-ia32.cc
  65. +4 8 deps/v8/src/ia32/lithium-ia32.h
  66. +40 50 deps/v8/src/ia32/macro-assembler-ia32.cc
  67. +4 5 deps/v8/src/ia32/macro-assembler-ia32.h
  68. +43 113 deps/v8/src/ia32/regexp-macro-assembler-ia32.cc
  69. +4 9 deps/v8/src/ia32/regexp-macro-assembler-ia32.h
  70. +4 4 deps/v8/src/ia32/simulator-ia32.h
  71. +6 21 deps/v8/src/ia32/stub-cache-ia32.cc
  72. +20 77 deps/v8/src/ic.cc
  73. +2 18 deps/v8/src/ic.h
  74. +5 21 deps/v8/src/incremental-marking-inl.h
  75. +8 35 deps/v8/src/incremental-marking.cc
  76. +3 12 deps/v8/src/incremental-marking.h
  77. +1 1  deps/v8/src/isolate.h
  78. +47 41 deps/v8/src/jsregexp.cc
  79. +66 40 deps/v8/src/jsregexp.h
  80. +0 8 deps/v8/src/list-inl.h
  81. +0 3  deps/v8/src/list.h
  82. +2 5 deps/v8/src/lithium.cc
  83. +5 57 deps/v8/src/liveedit.cc
  84. +11 17 deps/v8/src/mark-compact-inl.h
  85. +138 96 deps/v8/src/mark-compact.cc
  86. +20 44 deps/v8/src/mark-compact.h
  87. +99 131 deps/v8/src/messages.js
  88. +4 5 deps/v8/src/mips/builtins-mips.cc
  89. +15 23 deps/v8/src/mips/code-stubs-mips.cc
  90. +2 2 deps/v8/src/mips/codegen-mips.cc
  91. +1 3 deps/v8/src/mips/debug-mips.cc
  92. +4 4 deps/v8/src/mips/full-codegen-mips.cc
  93. +35 33 deps/v8/src/mips/ic-mips.cc
  94. +60 98 deps/v8/src/mips/lithium-codegen-mips.cc
  95. +2 3 deps/v8/src/mips/lithium-mips.cc
  96. +2 8 deps/v8/src/mips/lithium-mips.h
  97. +39 50 deps/v8/src/mips/macro-assembler-mips.cc
  98. +4 5 deps/v8/src/mips/macro-assembler-mips.h
  99. +50 110 deps/v8/src/mips/regexp-macro-assembler-mips.cc
  100. +5 6 deps/v8/src/mips/regexp-macro-assembler-mips.h
  101. +5 5 deps/v8/src/mips/simulator-mips.h
  102. +16 50 deps/v8/src/mips/stub-cache-mips.cc
  103. +6 103 deps/v8/src/objects-debug.cc
  104. +116 209 deps/v8/src/objects-inl.h
  105. +1 4 deps/v8/src/objects-printer.cc
  106. +291 524 deps/v8/src/objects.cc
  107. +94 114 deps/v8/src/objects.h
  108. +4 16 deps/v8/src/parser.cc
  109. +0 1  deps/v8/src/platform-freebsd.cc
  110. +7 28 deps/v8/src/platform-posix.cc
  111. +3 15 deps/v8/src/platform-win32.cc
  112. +1 2  deps/v8/src/platform.h
  113. +2 25 deps/v8/src/profile-generator-inl.h
  114. +822 300 deps/v8/src/profile-generator.cc
  115. +214 97 deps/v8/src/profile-generator.h
  116. +1 2  deps/v8/src/regexp-macro-assembler-irregexp.cc
  117. +2 2 deps/v8/src/regexp-macro-assembler-irregexp.h
  118. +5 6 deps/v8/src/regexp-macro-assembler-tracer.cc
  119. +1 1  deps/v8/src/regexp-macro-assembler-tracer.h
  120. +3 7 deps/v8/src/regexp-macro-assembler.cc
  121. +2 10 deps/v8/src/regexp-macro-assembler.h
  122. +0 6 deps/v8/src/regexp.js
  123. +182 265 deps/v8/src/runtime.cc
  124. +2 5 deps/v8/src/runtime.h
  125. +2 0  deps/v8/src/spaces.cc
  126. +2 2 deps/v8/src/string-stream.cc
  127. +2 0  deps/v8/src/v8-counters.h
  128. +3 6 deps/v8/src/v8utils.h
  129. +3 3 deps/v8/src/version.cc
  130. +1 2  deps/v8/src/x64/assembler-x64.h
  131. +4 5 deps/v8/src/x64/builtins-x64.cc
  132. +16 25 deps/v8/src/x64/code-stubs-x64.cc
  133. +2 2 deps/v8/src/x64/codegen-x64.cc
  134. +1 14 deps/v8/src/x64/debug-x64.cc
  135. +1 1  deps/v8/src/x64/disasm-x64.cc
  136. +10 10 deps/v8/src/x64/full-codegen-x64.cc
  137. +16 20 deps/v8/src/x64/ic-x64.cc
  138. +78 140 deps/v8/src/x64/lithium-codegen-x64.cc
  139. +1 2  deps/v8/src/x64/lithium-codegen-x64.h
  140. +2 3 deps/v8/src/x64/lithium-x64.cc
  141. +2 7 deps/v8/src/x64/lithium-x64.h
  142. +40 50 deps/v8/src/x64/macro-assembler-x64.cc
  143. +4 5 deps/v8/src/x64/macro-assembler-x64.h
  144. +51 122 deps/v8/src/x64/regexp-macro-assembler-x64.cc
  145. +8 17 deps/v8/src/x64/regexp-macro-assembler-x64.h
  146. +4 4 deps/v8/src/x64/simulator-x64.h
  147. +10 31 deps/v8/src/x64/stub-cache-x64.cc
  148. +0 1  deps/v8/test/cctest/cctest.status
  149. +0 38 deps/v8/test/cctest/test-func-name-inference.cc
  150. +77 21 deps/v8/test/cctest/test-heap-profiler.cc
  151. +3 62 deps/v8/test/cctest/test-heap.cc
  152. +0 12 deps/v8/test/cctest/test-list.cc
  153. +5 5 deps/v8/test/cctest/test-mark-compact.cc
  154. +8 14 deps/v8/test/cctest/test-regexp.cc
  155. +0 2  deps/v8/test/cctest/testcfg.py
  156. +0 176 deps/v8/test/mjsunit/accessor-map-sharing.js
  157. +3 3 deps/v8/test/mjsunit/array-construct-transition.js
  158. +10 10 deps/v8/test/mjsunit/array-literal-transitions.js
  159. +0 3  deps/v8/test/mjsunit/big-array-literal.js
  160. +2 4 deps/v8/test/mjsunit/compiler/inline-construct.js
  161. +0 88 deps/v8/test/mjsunit/debug-liveedit-stack-padding.js
  162. +4 4 deps/v8/test/mjsunit/elements-kind.js
  163. +2 2 deps/v8/test/mjsunit/elements-transition-hoisting.js
  164. +5 5 deps/v8/test/mjsunit/elements-transition.js
  165. +33 68 deps/v8/test/mjsunit/error-constructors.js
  166. +0 1  deps/v8/test/mjsunit/mjsunit.status
  167. +0 112 deps/v8/test/mjsunit/packed-elements.js
  168. +2 1  deps/v8/test/mjsunit/regexp-capture-3.js
  169. +2 0  deps/v8/test/mjsunit/regexp-capture.js
  170. +0 132 deps/v8/test/mjsunit/regexp-global.js
  171. +0 11 deps/v8/test/mjsunit/regexp.js
  172. +1 1  deps/v8/test/mjsunit/regress/regress-117409.js
  173. +0 33 deps/v8/test/mjsunit/regress/regress-128146.js
  174. +1 4 deps/v8/test/mjsunit/regress/regress-1639-2.js
  175. +8 14 deps/v8/test/mjsunit/regress/regress-1639.js
  176. +3 3 deps/v8/test/mjsunit/regress/regress-1849.js
  177. +2 2 deps/v8/test/mjsunit/regress/regress-1878.js
  178. +0 32 deps/v8/test/mjsunit/regress/regress-2153.js
  179. +4 4 deps/v8/test/mjsunit/regress/regress-crbug-122271.js
  180. +2 2 deps/v8/test/mjsunit/regress/regress-smi-only-concat.js
  181. +0 49 deps/v8/test/mjsunit/regress/regress-transcendental.js
  182. +0 14 deps/v8/test/mjsunit/stack-traces.js
  183. +3 4 deps/v8/test/mjsunit/unbox-double-arrays.js
  184. +1 6 deps/v8/test/test262/testcfg.py
  185. +3 11 deps/v8/tools/check-static-initializers.sh
  186. +0 92 deps/v8/tools/fuzz-harness.sh
  187. +39 242 deps/v8/tools/grokdump.py
  188. +39 21 deps/v8/tools/gyp/v8.gyp
  189. +3 3 deps/v8/tools/js2c.py
  190. +2 2 deps/v8/tools/jsmin.py
  191. +1 2  deps/v8/tools/presubmit.py
  192. +11 25 deps/v8/tools/test-wrapper-gypbuild.py
107 deps/v8/ChangeLog
... ... @@ -1,110 +1,3 @@
1   -2012-05-29: Version 3.11.7
2   -
3   - Get better function names in stack traces.
4   -
5   - Performance and stability improvements on all platforms.
6   -
7   -
8   -2012-05-24: Version 3.11.6
9   -
10   - Fixed RegExp.prototype.toString for incompatible receivers
11   - (issue 1981).
12   -
13   - Performance and stability improvements on all platforms.
14   -
15   -
16   -2012-05-23: Version 3.11.5
17   -
18   - Performance and stability improvements on all platforms.
19   -
20   -
21   -2012-05-22: Version 3.11.4
22   -
23   - Some cleanup to common.gypi. This fixes some host/target combinations
24   - that weren't working in the Make build on Mac.
25   -
26   - Handle EINTR in socket functions and continue incomplete sends.
27   - (issue 2098)
28   -
29   - Fixed python deprecations. (issue 1391)
30   -
31   - Made socket send and receive more robust and return 0 on failure.
32   - (Chromium issue 15719)
33   -
34   - Fixed GCC 4.7 (C++11) compilation. (issue 2136)
35   -
36   - Set '-m32' option for host and target platforms
37   -
38   - Performance and stability improvements on all platforms.
39   -
40   -
41   -2012-05-18: Version 3.11.3
42   -
43   - Disable optimization for functions that have scopes that cannot be
44   - reconstructed from the context chain. (issue 2071)
45   -
46   - Define V8_EXPORT to nothing for clients of v8. (Chromium issue 90078)
47   -
48   - Correctly check for native error objects. (Chromium issue 2138)
49   -
50   - Performance and stability improvements on all platforms.
51   -
52   -
53   -2012-05-16: Version 3.11.2
54   -
55   - Revert r11496. (Chromium issue 128146)
56   -
57   - Implement map collection for incremental marking. (issue 1465)
58   -
59   - Add toString method to CallSite (which describes a frame of the
60   - stack trace).
61   -
62   -
63   -2012-05-15: Version 3.11.1
64   -
65   - Added a readbuffer function to d8 that reads a file into an ArrayBuffer.
66   -
67   - Fix freebsd build. (V8 issue 2126)
68   -
69   - Performance and stability improvements on all platforms.
70   -
71   -
72   -2012-05-11: Version 3.11.0
73   -
74   - Fixed compose-discard crasher from r11524 (issue 2123).
75   -
76   - Activated new global semantics by default. Global variables can
77   - now shadow properties of the global object (ES5.1 erratum).
78   -
79   - Properly set ElementsKind of empty FAST_DOUBLE_ELEMENTS arrays when
80   - transitioning (Chromium issue 117409).
81   -
82   - Made Error.prototype.name writable again, as required by the spec and
83   - the web (Chromium issue 69187).
84   -
85   - Implemented map collection with incremental marking (issue 1465).
86   -
87   - Regexp: Fixed overflow in min-match-length calculation
88   - (Chromium issue 126412).
89   -
90   - MIPS: Fixed illegal instruction use on Loongson in code for
91   - Math.random() (issue 2115).
92   -
93   - Fixed crash bug in VisitChoice (Chromium issue 126272).
94   -
95   - Fixed unsigned-Smi check in MappedArgumentsLookup
96   - (Chromium issue 126414).
97   -
98   - Fixed LiveEdit for function with no locals (issue 825).
99   -
100   - Fixed register clobbering in LoadIC for interceptors
101   - (Chromium issue 125988).
102   -
103   - Implemented clearing of CompareICs (issue 2102).
104   -
105   - Performance and stability improvements on all platforms.
106   -
107   -
108 1 2012-05-03: Version 3.10.8
109 2
110 3 Enabled MIPS cross-compilation.
27 deps/v8/DEPS
... ... @@ -1,27 +0,0 @@
1   -# Note: The buildbots evaluate this file with CWD set to the parent
2   -# directory and assume that the root of the checkout is in ./v8/, so
3   -# all paths in here must match this assumption.
4   -
5   -deps = {
6   - # Remember to keep the revision in sync with the Makefile.
7   - "v8/build/gyp":
8   - "http://gyp.googlecode.com/svn/trunk@1282",
9   -}
10   -
11   -deps_os = {
12   - "win": {
13   - "v8/third_party/cygwin":
14   - "http://src.chromium.org/svn/trunk/deps/third_party/cygwin@66844",
15   -
16   - "v8/third_party/python_26":
17   - "http://src.chromium.org/svn/trunk/tools/third_party/python_26@89111",
18   - }
19   -}
20   -
21   -hooks = [
22   - {
23   - # A change to a .gyp, .gypi, or to GYP itself should run the generator.
24   - "pattern": ".",
25   - "action": ["python", "v8/build/gyp_v8"],
26   - },
27   -]
7 deps/v8/Makefile
@@ -137,12 +137,6 @@ ENVFILE = $(OUTDIR)/environment
137 137 # Target definitions. "all" is the default.
138 138 all: $(MODES)
139 139
140   -# Special target for the buildbots to use. Depends on $(OUTDIR)/Makefile
141   -# having been created before.
142   -buildbot:
143   - $(MAKE) -C "$(OUTDIR)" BUILDTYPE=$(BUILDTYPE) \
144   - builddir="$(abspath $(OUTDIR))/$(BUILDTYPE)"
145   -
146 140 # Compile targets. MODES and ARCHES are convenience targets.
147 141 .SECONDEXPANSION:
148 142 $(MODES): $(addsuffix .$$@,$(DEFAULT_ARCHES))
@@ -228,7 +222,6 @@ $(OUTDIR)/Makefile.android: $(GYPFILES) $(ENVFILE) build/android.gypi \
228 222 must-set-ANDROID_NDK_ROOT
229 223 GYP_GENERATORS=make \
230 224 CC="${ANDROID_TOOL_PREFIX}-gcc" \
231   - CXX="${ANDROID_TOOL_PREFIX}-g++" \
232 225 build/gyp/gyp --generator-output="$(OUTDIR)" build/all.gyp \
233 226 -Ibuild/standalone.gypi --depth=. -Ibuild/android.gypi \
234 227 -S.android $(GYPFLAGS)
17 deps/v8/SConstruct
@@ -101,14 +101,14 @@ LIBRARY_FLAGS = {
101 101 'os:linux': {
102 102 'CCFLAGS': ['-ansi'] + GCC_EXTRA_CCFLAGS,
103 103 'library:shared': {
104   - 'CPPDEFINES': ['V8_SHARED', 'BUILDING_V8_SHARED'],
  104 + 'CPPDEFINES': ['V8_SHARED'],
105 105 'LIBS': ['pthread']
106 106 }
107 107 },
108 108 'os:macos': {
109 109 'CCFLAGS': ['-ansi', '-mmacosx-version-min=10.4'],
110 110 'library:shared': {
111   - 'CPPDEFINES': ['V8_SHARED', 'BUILDING_V8_SHARED'],
  111 + 'CPPDEFINES': ['V8_SHARED']
112 112 }
113 113 },
114 114 'os:freebsd': {
@@ -1601,17 +1601,4 @@ except:
1601 1601 pass
1602 1602
1603 1603
1604   -def WarnAboutDeprecation():
1605   - print """
1606   -#######################################################
1607   -# WARNING: Building V8 with SCons is deprecated and #
1608   -# will not work much longer. Please switch to using #
1609   -# the GYP-based build now. Instructions are at #
1610   -# http://code.google.com/p/v8/wiki/BuildingWithGYP. #
1611   -#######################################################
1612   - """
1613   -
1614   -WarnAboutDeprecation()
1615   -import atexit
1616   -atexit.register(WarnAboutDeprecation)
1617 1604 Build()
287 deps/v8/build/common.gypi
@@ -110,117 +110,151 @@
110 110 ['v8_enable_gdbjit==1', {
111 111 'defines': ['ENABLE_GDB_JIT_INTERFACE',],
112 112 }],
113   - ['v8_target_arch=="arm"', {
114   - 'defines': [
115   - 'V8_TARGET_ARCH_ARM',
116   - ],
  113 + ['OS!="mac"', {
  114 + # TODO(mark): The OS!="mac" conditional is temporary. It can be
  115 + # removed once the Mac Chromium build stops setting target_arch to
  116 + # ia32 and instead sets it to mac. Other checks in this file for
  117 + # OS=="mac" can be removed at that time as well. This can be cleaned
  118 + # up once http://crbug.com/44205 is fixed.
117 119 'conditions': [
118   - [ 'v8_can_use_unaligned_accesses=="true"', {
  120 + ['v8_target_arch=="arm"', {
119 121 'defines': [
120   - 'CAN_USE_UNALIGNED_ACCESSES=1',
  122 + 'V8_TARGET_ARCH_ARM',
121 123 ],
122   - }],
123   - [ 'v8_can_use_unaligned_accesses=="false"', {
124   - 'defines': [
125   - 'CAN_USE_UNALIGNED_ACCESSES=0',
  124 + 'conditions': [
  125 + [ 'v8_can_use_unaligned_accesses=="true"', {
  126 + 'defines': [
  127 + 'CAN_USE_UNALIGNED_ACCESSES=1',
  128 + ],
  129 + }],
  130 + [ 'v8_can_use_unaligned_accesses=="false"', {
  131 + 'defines': [
  132 + 'CAN_USE_UNALIGNED_ACCESSES=0',
  133 + ],
  134 + }],
  135 + [ 'v8_can_use_vfp_instructions=="true"', {
  136 + 'defines': [
  137 + 'CAN_USE_VFP_INSTRUCTIONS',
  138 + ],
  139 + }],
  140 + [ 'v8_use_arm_eabi_hardfloat=="true"', {
  141 + 'defines': [
  142 + 'USE_EABI_HARDFLOAT=1',
  143 + 'CAN_USE_VFP_INSTRUCTIONS',
  144 + ],
  145 + 'target_conditions': [
  146 + ['_toolset=="target"', {
  147 + 'cflags': ['-mfloat-abi=hard',],
  148 + }],
  149 + ],
  150 + }, {
  151 + 'defines': [
  152 + 'USE_EABI_HARDFLOAT=0',
  153 + ],
  154 + }],
  155 + # The ARM assembler assumes the host is 32 bits,
  156 + # so force building 32-bit host tools.
  157 + ['host_arch=="x64" or OS=="android"', {
  158 + 'target_conditions': [
  159 + ['_toolset=="host"', {
  160 + 'cflags': ['-m32'],
  161 + 'ldflags': ['-m32'],
  162 + }],
  163 + ],
  164 + }],
126 165 ],
127 166 }],
128   - [ 'v8_can_use_vfp_instructions=="true"', {
  167 + ['v8_target_arch=="ia32"', {
129 168 'defines': [
130   - 'CAN_USE_VFP_INSTRUCTIONS',
  169 + 'V8_TARGET_ARCH_IA32',
131 170 ],
132 171 }],
133   - [ 'v8_use_arm_eabi_hardfloat=="true"', {
134   - 'defines': [
135   - 'USE_EABI_HARDFLOAT=1',
136   - 'CAN_USE_VFP_INSTRUCTIONS',
137   - ],
138   - 'target_conditions': [
139   - ['_toolset=="target"', {
140   - 'cflags': ['-mfloat-abi=hard',],
141   - }],
142   - ],
143   - }, {
  172 + ['v8_target_arch=="mips"', {
144 173 'defines': [
145   - 'USE_EABI_HARDFLOAT=0',
  174 + 'V8_TARGET_ARCH_MIPS',
146 175 ],
147   - }],
148   - ],
149   - }], # v8_target_arch=="arm"
150   - ['v8_target_arch=="ia32"', {
151   - 'defines': [
152   - 'V8_TARGET_ARCH_IA32',
153   - ],
154   - }], # v8_target_arch=="ia32"
155   - ['v8_target_arch=="mips"', {
156   - 'defines': [
157   - 'V8_TARGET_ARCH_MIPS',
158   - ],
159   - 'variables': {
160   - 'mipscompiler': '<!($(echo ${CXX:-$(which g++)}) -v 2>&1 | grep -q "^Target: mips-" && echo "yes" || echo "no")',
161   - },
162   - 'conditions': [
163   - ['mipscompiler=="yes"', {
164   - 'target_conditions': [
165   - ['_toolset=="target"', {
166   - 'cflags': ['-EL'],
167   - 'ldflags': ['-EL'],
168   - 'conditions': [
169   - [ 'v8_use_mips_abi_hardfloat=="true"', {
170   - 'cflags': ['-mhard-float'],
171   - 'ldflags': ['-mhard-float'],
172   - }, {
173   - 'cflags': ['-msoft-float'],
174   - 'ldflags': ['-msoft-float'],
175   - }],
176   - ['mips_arch_variant=="mips32r2"', {
177   - 'cflags': ['-mips32r2', '-Wa,-mips32r2'],
  176 + 'variables': {
  177 + 'mipscompiler': '<!($(echo ${CXX:-$(which g++)}) -v 2>&1 | grep -q "^Target: mips-" && echo "yes" || echo "no")',
  178 + },
  179 + 'conditions': [
  180 + ['mipscompiler=="yes"', {
  181 + 'target_conditions': [
  182 + ['_toolset=="target"', {
  183 + 'cflags': ['-EL'],
  184 + 'ldflags': ['-EL'],
  185 + 'conditions': [
  186 + [ 'v8_use_mips_abi_hardfloat=="true"', {
  187 + 'cflags': ['-mhard-float'],
  188 + 'ldflags': ['-mhard-float'],
  189 + }, {
  190 + 'cflags': ['-msoft-float'],
  191 + 'ldflags': ['-msoft-float'],
  192 + }],
  193 + ['mips_arch_variant=="mips32r2"', {
  194 + 'cflags': ['-mips32r2', '-Wa,-mips32r2'],
  195 + }],
  196 + ['mips_arch_variant=="loongson"', {
  197 + 'cflags': ['-mips3', '-Wa,-mips3'],
  198 + }, {
  199 + 'cflags': ['-mips32', '-Wa,-mips32'],
  200 + }],
  201 + ],
178 202 }],
179   - ['mips_arch_variant=="loongson"', {
180   - 'cflags': ['-mips3', '-Wa,-mips3'],
181   - }, {
182   - 'cflags': ['-mips32', '-Wa,-mips32'],
  203 + ],
  204 + }],
  205 + [ 'v8_can_use_fpu_instructions=="true"', {
  206 + 'defines': [
  207 + 'CAN_USE_FPU_INSTRUCTIONS',
  208 + ],
  209 + }],
  210 + [ 'v8_use_mips_abi_hardfloat=="true"', {
  211 + 'defines': [
  212 + '__mips_hard_float=1',
  213 + 'CAN_USE_FPU_INSTRUCTIONS',
  214 + ],
  215 + }, {
  216 + 'defines': [
  217 + '__mips_soft_float=1'
  218 + ],
  219 + }],
  220 + ['mips_arch_variant=="mips32r2"', {
  221 + 'defines': ['_MIPS_ARCH_MIPS32R2',],
  222 + }],
  223 + ['mips_arch_variant=="loongson"', {
  224 + 'defines': ['_MIPS_ARCH_LOONGSON',],
  225 + }],
  226 + # The MIPS assembler assumes the host is 32 bits,
  227 + # so force building 32-bit host tools.
  228 + ['host_arch=="x64"', {
  229 + 'target_conditions': [
  230 + ['_toolset=="host"', {
  231 + 'cflags': ['-m32'],
  232 + 'ldflags': ['-m32'],
183 233 }],
184 234 ],
185 235 }],
186 236 ],
187 237 }],
188   - [ 'v8_can_use_fpu_instructions=="true"', {
189   - 'defines': [
190   - 'CAN_USE_FPU_INSTRUCTIONS',
191   - ],
192   - }],
193   - [ 'v8_use_mips_abi_hardfloat=="true"', {
194   - 'defines': [
195   - '__mips_hard_float=1',
196   - 'CAN_USE_FPU_INSTRUCTIONS',
197   - ],
198   - }, {
  238 + ['v8_target_arch=="x64"', {
199 239 'defines': [
200   - '__mips_soft_float=1'
  240 + 'V8_TARGET_ARCH_X64',
201 241 ],
202 242 }],
203   - ['mips_arch_variant=="mips32r2"', {
204   - 'defines': ['_MIPS_ARCH_MIPS32R2',],
  243 + ],
  244 + }, { # Section for OS=="mac".
  245 + 'conditions': [
  246 + ['target_arch=="ia32"', {
  247 + 'xcode_settings': {
  248 + 'ARCHS': ['i386'],
  249 + }
205 250 }],
206   - ['mips_arch_variant=="loongson"', {
207   - 'defines': ['_MIPS_ARCH_LOONGSON',],
  251 + ['target_arch=="x64"', {
  252 + 'xcode_settings': {
  253 + 'ARCHS': ['x86_64'],
  254 + }
208 255 }],
209 256 ],
210   - }], # v8_target_arch=="mips"
211   - ['v8_target_arch=="x64"', {
212   - 'defines': [
213   - 'V8_TARGET_ARCH_X64',
214   - ],
215   - 'xcode_settings': {
216   - 'ARCHS': [ 'x86_64' ],
217   - },
218   - 'msvs_settings': {
219   - 'VCLinkerTool': {
220   - 'StackReserveSize': '2097152',
221   - },
222   - },
223   - }], # v8_target_arch=="x64"
  257 + }],
224 258 ['v8_use_liveobjectlist=="true"', {
225 259 'defines': [
226 260 'ENABLE_DEBUGGER_SUPPORT',
@@ -238,10 +272,6 @@
238 272 'defines': [
239 273 'WIN32',
240 274 ],
241   - 'msvs_configuration_attributes': {
242   - 'IntermediateDirectory': '$(OutDir)\\obj\\$(ProjectName)',
243   - 'CharacterSet': '1',
244   - },
245 275 }],
246 276 ['OS=="win" and v8_enable_prof==1', {
247 277 'msvs_settings': {
@@ -253,48 +283,21 @@
253 283 ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris" \
254 284 or OS=="netbsd"', {
255 285 'conditions': [
256   - [ 'v8_no_strict_aliasing==1', {
257   - 'cflags': [ '-fno-strict-aliasing' ],
258   - }],
259   - ], # conditions
260   - }],
261   - ['OS=="solaris"', {
262   - 'defines': [ '__C99FEATURES__=1' ], # isinf() etc.
263   - }],
264   - ['(OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris" \
265   - or OS=="netbsd" or OS=="mac" or OS=="android") and \
266   - (v8_target_arch=="arm" or v8_target_arch=="ia32" or \
267   - v8_target_arch=="mips")', {
268   - # Check whether the host compiler and target compiler support the
269   - # '-m32' option and set it if so.
270   - 'target_conditions': [
271   - ['_toolset=="host"', {
  286 + [ 'v8_target_arch!="x64"', {
  287 + # Pass -m32 to the compiler iff it understands the flag.
272 288 'variables': {
273   - 'm32flag': '<!((echo | $(echo ${CXX_host:-$(which g++)}) -m32 -E - > /dev/null 2>&1) && echo "-m32" || true)',
  289 + 'm32flag': '<!((echo | $(echo ${CXX:-$(which g++)}) -m32 -E - > /dev/null 2>&1) && echo -n "-m32" || true)',
274 290 },
275 291 'cflags': [ '<(m32flag)' ],
276 292 'ldflags': [ '<(m32flag)' ],
277   - 'xcode_settings': {
278   - 'ARCHS': [ 'i386' ],
279   - },
280 293 }],
281   - ['_toolset=="target"', {
282   - 'variables': {
283   - 'm32flag': '<!((echo | $(echo ${CXX_target:-${CXX:-$(which g++)}}) -m32 -E - > /dev/null 2>&1) && echo "-m32" || true)',
284   - },
285   - 'cflags': [ '<(m32flag)' ],
286   - 'ldflags': [ '<(m32flag)' ],
287   - 'xcode_settings': {
288   - 'ARCHS': [ 'i386' ],
289   - },
  294 + [ 'v8_no_strict_aliasing==1', {
  295 + 'cflags': [ '-fno-strict-aliasing' ],
290 296 }],
291   - ],
292   - }],
293   - ['OS=="freebsd" or OS=="openbsd"', {
294   - 'cflags': [ '-I/usr/local/include' ],
  297 + ], # conditions
295 298 }],
296   - ['OS=="netbsd"', {
297   - 'cflags': [ '-I/usr/pkg/include' ],
  299 + ['OS=="solaris"', {
  300 + 'defines': [ '__C99FEATURES__=1' ], # isinf() etc.
298 301 }],
299 302 ], # conditions
300 303 'configurations': {
@@ -319,11 +322,21 @@
319 322 },
320 323 'VCLinkerTool': {
321 324 'LinkIncremental': '2',
  325 + # For future reference, the stack size needs to be increased
  326 + # when building for Windows 64-bit, otherwise some test cases
  327 + # can cause stack overflow.
  328 + # 'StackReserveSize': '297152',
322 329 },
323 330 },
324 331 'conditions': [
  332 + ['OS=="freebsd" or OS=="openbsd"', {
  333 + 'cflags': [ '-I/usr/local/include' ],
  334 + }],
  335 + ['OS=="netbsd"', {
  336 + 'cflags': [ '-I/usr/pkg/include' ],
  337 + }],
325 338 ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="netbsd"', {
326   - 'cflags': [ '-Wno-unused-parameter',
  339 + 'cflags': [ '-Wall', '<(werror)', '-W', '-Wno-unused-parameter',
327 340 '-Wnon-virtual-dtor', '-Woverloaded-virtual' ],
328 341 }],
329 342 ],
@@ -351,6 +364,12 @@
351 364 }],
352 365 ],
353 366 }],
  367 + ['OS=="freebsd" or OS=="openbsd"', {
  368 + 'cflags': [ '-I/usr/local/include' ],
  369 + }],
  370 + ['OS=="netbsd"', {
  371 + 'cflags': [ '-I/usr/pkg/include' ],
  372 + }],
354 373 ['OS=="mac"', {
355 374 'xcode_settings': {
356 375 'GCC_OPTIMIZATION_LEVEL': '3', # -O3
@@ -363,6 +382,11 @@
363 382 },
364 383 }], # OS=="mac"
365 384 ['OS=="win"', {
  385 + 'msvs_configuration_attributes': {
  386 + 'OutputDirectory': '<(DEPTH)\\build\\$(ConfigurationName)',
  387 + 'IntermediateDirectory': '$(OutDir)\\obj\\$(ProjectName)',
  388 + 'CharacterSet': '1',
  389 + },
366 390 'msvs_settings': {
367 391 'VCCLCompilerTool': {
368 392 'Optimization': '2',
@@ -383,7 +407,12 @@
383 407 'VCLinkerTool': {
384 408 'LinkIncremental': '1',
385 409 'OptimizeReferences': '2',
  410 + 'OptimizeForWindows98': '1',
386 411 'EnableCOMDATFolding': '2',
  412 + # For future reference, the stack size needs to be
  413 + # increased when building for Windows 64-bit, otherwise
  414 + # some test cases can cause stack overflow.
  415 + # 'StackReserveSize': '297152',
387 416 },
388 417 },
389 418 }], # OS=="win"
36 deps/v8/build/gyp_v8
@@ -38,11 +38,6 @@ import sys
38 38 script_dir = os.path.dirname(__file__)
39 39 v8_root = os.path.normpath(os.path.join(script_dir, os.pardir))
40 40
41   -if __name__ == '__main__':
42   - os.chdir(v8_root)
43   - script_dir = os.path.dirname(__file__)
44   - v8_root = '.'
45   -
46 41 sys.path.insert(0, os.path.join(v8_root, 'tools'))
47 42 import utils
48 43
@@ -98,7 +93,7 @@ def additional_include_files(args=[]):
98 93 result.append(path)
99 94
100 95 # Always include standalone.gypi
101   - AddInclude(os.path.join(v8_root, 'build', 'standalone.gypi'))
  96 + AddInclude(os.path.join(script_dir, 'standalone.gypi'))
102 97
103 98 # Optionally add supplemental .gypi files if present.
104 99 supplements = glob.glob(os.path.join(v8_root, '*', 'supplement.gypi'))
@@ -140,10 +135,7 @@ if __name__ == '__main__':
140 135 # path separators even on Windows due to the use of shlex.split().
141 136 args.extend(shlex.split(gyp_file))
142 137 else:
143   - # Note that this must not start with "./" or things break.
144   - # So we rely on having done os.chdir(v8_root) above and use the
145   - # relative path.
146   - args.append(os.path.join('build', 'all.gyp'))
  138 + args.append(os.path.join(script_dir, 'all.gyp'))
147 139
148 140 args.extend(['-I' + i for i in additional_include_files(args)])
149 141
@@ -164,6 +156,28 @@ if __name__ == '__main__':
164 156
165 157 # Generate for the architectures supported on the given platform.
166 158 gyp_args = list(args)
  159 + target_arch = None
  160 + for p in gyp_args:
  161 + if p.find('-Dtarget_arch=') == 0:
  162 + target_arch = p
  163 + if target_arch is None:
  164 + gyp_args.append('-Dtarget_arch=ia32')
167 165 if utils.GuessOS() == 'linux':
168   - gyp_args.append('--generator-output=out')
  166 + gyp_args.append('-S.ia32')
169 167 run_gyp(gyp_args)
  168 +
  169 + if utils.GuessOS() == 'linux':
  170 + gyp_args = list(args)
  171 + gyp_args.append('-Dtarget_arch=x64')
  172 + gyp_args.append('-S.x64')
  173 + run_gyp(gyp_args)
  174 +
  175 + gyp_args = list(args)
  176 + gyp_args.append('-Dv8_target_arch=arm')
  177 + gyp_args.append('-S.arm')
  178 + run_gyp(gyp_args)
  179 +
  180 + gyp_args = list(args)
  181 + gyp_args.append('-Dv8_target_arch=mips')
  182 + gyp_args.append('-S.mips')
  183 + run_gyp(gyp_args)
12 deps/v8/build/standalone.gypi
@@ -37,9 +37,8 @@
37 37 'variables': {
38 38 'variables': {
39 39 'conditions': [
40   - ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or \
41   - OS=="netbsd" or OS=="mac"', {
42   - # This handles the Unix platforms we generally deal with.
  40 + ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="netbsd"', {
  41 + # This handles the Linux platforms we generally deal with.
43 42 # Anything else gets passed through, which probably won't work
44 43 # very well; such hosts should pass an explicit target_arch
45 44 # to gyp.
@@ -47,8 +46,7 @@
47 46 '<!(uname -m | sed -e "s/i.86/ia32/;\
48 47 s/x86_64/x64/;s/amd64/x64/;s/arm.*/arm/;s/mips.*/mips/")',
49 48 }, {
50   - # OS!="linux" and OS!="freebsd" and OS!="openbsd" and
51   - # OS!="netbsd" and OS!="mac"
  49 + # OS!="linux" and OS!="freebsd" and OS!="openbsd" and OS!="netbsd"
52 50 'host_arch%': 'ia32',
53 51 }],
54 52 ],
@@ -171,9 +169,6 @@
171 169 },
172 170 }], # OS=="win"
173 171 ['OS=="mac"', {
174   - 'xcode_settings': {
175   - 'SYMROOT': '<(DEPTH)/xcodebuild',
176   - },
177 172 'target_defaults': {
178 173 'xcode_settings': {
179 174 'ALWAYS_SEARCH_USER_PATHS': 'NO',
@@ -193,7 +188,6 @@
193 188 'GCC_WARN_ABOUT_MISSING_NEWLINE': 'YES', # -Wnewline-eof
194 189 'MACOSX_DEPLOYMENT_TARGET': '10.4', # -mmacosx-version-min=10.4
195 190 'PREBINDING': 'NO', # No -Wl,-prebind
196   - 'SYMROOT': '<(DEPTH)/xcodebuild',
197 191 'USE_HEADERMAP': 'NO',
198 192 'OTHER_CFLAGS': [
199 193 '-fno-strict-aliasing',
8 deps/v8/include/v8.h
@@ -62,13 +62,11 @@
62 62
63 63 #else // _WIN32
64 64
65   -// Setup for Linux shared library export.
  65 +// Setup for Linux shared library export. There is no need to distinguish
  66 +// between building or using the V8 shared library, but we should not
  67 +// export symbols when we are building a static library.
66 68 #if defined(__GNUC__) && (__GNUC__ >= 4) && defined(V8_SHARED)
67   -#ifdef BUILDING_V8_SHARED
68 69 #define V8EXPORT __attribute__ ((visibility("default")))
69   -#else
70   -#define V8EXPORT
71   -#endif
72 70 #else // defined(__GNUC__) && (__GNUC__ >= 4)
73 71 #define V8EXPORT
74 72 #endif // defined(__GNUC__) && (__GNUC__ >= 4)
1  deps/v8/src/SConscript
@@ -68,7 +68,6 @@ SOURCES = {
68 68 diy-fp.cc
69 69 dtoa.cc
70 70 elements.cc
71   - elements-kind.cc
72 71 execution.cc
73 72 factory.cc
74 73 flags.cc
37 deps/v8/src/api.cc
@@ -5040,7 +5040,7 @@ Local<Object> Array::CloneElementAt(uint32_t index) {
5040 5040 i::Isolate* isolate = Utils::OpenHandle(this)->GetIsolate();
5041 5041 ON_BAILOUT(isolate, "v8::Array::CloneElementAt()", return Local<Object>());
5042 5042 i::Handle<i::JSObject> self = Utils::OpenHandle(this);
5043   - if (!self->HasFastObjectElements()) {
  5043 + if (!self->HasFastElements()) {
5044 5044 return Local<Object>();
5045 5045 }
5046 5046 i::FixedArray* elms = i::FixedArray::cast(self->elements());
@@ -6045,6 +6045,13 @@ int HeapGraphNode::GetSelfSize() const {
6045 6045 }
6046 6046
6047 6047
  6048 +int HeapGraphNode::GetRetainedSize() const {
  6049 + i::Isolate* isolate = i::Isolate::Current();
  6050 + IsDeadCheck(isolate, "v8::HeapSnapshot::GetRetainedSize");
  6051 + return ToInternal(this)->retained_size();
  6052 +}
  6053 +
  6054 +
6048 6055 int HeapGraphNode::GetChildrenCount() const {
6049 6056 i::Isolate* isolate = i::Isolate::Current();
6050 6057 IsDeadCheck(isolate, "v8::HeapSnapshot::GetChildrenCount");
@@ -6056,7 +6063,29 @@ const HeapGraphEdge* HeapGraphNode::GetChild(int index) const {
6056 6063 i::Isolate* isolate = i::Isolate::Current();
6057 6064 IsDeadCheck(isolate, "v8::HeapSnapshot::GetChild");
6058 6065 return reinterpret_cast<const HeapGraphEdge*>(
6059   - ToInternal(this)->children()[index]);
  6066 + &ToInternal(this)->children()[index]);
  6067 +}
  6068 +
  6069 +
  6070 +int HeapGraphNode::GetRetainersCount() const {
  6071 + i::Isolate* isolate = i::Isolate::Current();
  6072 + IsDeadCheck(isolate, "v8::HeapSnapshot::GetRetainersCount");
  6073 + return ToInternal(this)->retainers().length();
  6074 +}
  6075 +
  6076 +
  6077 +const HeapGraphEdge* HeapGraphNode::GetRetainer(int index) const {
  6078 + i::Isolate* isolate = i::Isolate::Current();
  6079 + IsDeadCheck(isolate, "v8::HeapSnapshot::GetRetainer");
  6080 + return reinterpret_cast<const HeapGraphEdge*>(
  6081 + ToInternal(this)->retainers()[index]);
  6082 +}
  6083 +
  6084 +
  6085 +const HeapGraphNode* HeapGraphNode::GetDominatorNode() const {
  6086 + i::Isolate* isolate = i::Isolate::Current();
  6087 + IsDeadCheck(isolate, "v8::HeapSnapshot::GetDominatorNode");
  6088 + return reinterpret_cast<const HeapGraphNode*>(ToInternal(this)->dominator());
6060 6089 }
6061 6090
6062 6091
@@ -6128,7 +6157,7 @@ const HeapGraphNode* HeapSnapshot::GetNodeById(SnapshotObjectId id) const {
6128 6157 int HeapSnapshot::GetNodesCount() const {
6129 6158 i::Isolate* isolate = i::Isolate::Current();
6130 6159 IsDeadCheck(isolate, "v8::HeapSnapshot::GetNodesCount");
6131   - return ToInternal(this)->entries().length();
  6160 + return ToInternal(this)->entries()->length();
6132 6161 }
6133 6162
6134 6163
@@ -6136,7 +6165,7 @@ const HeapGraphNode* HeapSnapshot::GetNode(int index) const {
6136 6165 i::Isolate* isolate = i::Isolate::Current();
6137 6166 IsDeadCheck(isolate, "v8::HeapSnapshot::GetNode");
6138 6167 return reinterpret_cast<const HeapGraphNode*>(
6139   - &ToInternal(this)->entries().at(index));
  6168 + ToInternal(this)->entries()->at(index));
6140 6169 }
6141 6170
6142 6171
4 deps/v8/src/api.h
@@ -105,13 +105,13 @@ NeanderArray::NeanderArray(v8::internal::Handle<v8::internal::Object> obj)
105 105
106 106
107 107 v8::internal::Object* NeanderObject::get(int offset) {
108   - ASSERT(value()->HasFastObjectElements());
  108 + ASSERT(value()->HasFastElements());
109 109 return v8::internal::FixedArray::cast(value()->elements())->get(offset);
110 110 }
111 111
112 112
113 113 void NeanderObject::set(int offset, v8::internal::Object* value) {
114   - ASSERT(value_->HasFastObjectElements());
  114 + ASSERT(value_->HasFastElements());
115 115 v8::internal::FixedArray::cast(value_->elements())->set(offset, value);
116 116 }
117 117
9 deps/v8/src/arm/builtins-arm.cc
@@ -114,7 +114,7 @@ static void AllocateEmptyJSArray(MacroAssembler* masm,
114 114 Label* gc_required) {
115 115 const int initial_capacity = JSArray::kPreallocatedArrayElements;
116 116 STATIC_ASSERT(initial_capacity >= 0);
117   - __ LoadInitialArrayMap(array_function, scratch2, scratch1, false);
  117 + __ LoadInitialArrayMap(array_function, scratch2, scratch1);
118 118
119 119 // Allocate the JSArray object together with space for a fixed array with the
120 120 // requested elements.
@@ -208,8 +208,7 @@ static void AllocateJSArray(MacroAssembler* masm,
208 208 bool fill_with_hole,
209 209 Label* gc_required) {
210 210 // Load the initial map from the array function.
211   - __ LoadInitialArrayMap(array_function, scratch2,
212   - elements_array_storage, fill_with_hole);
  211 + __ LoadInitialArrayMap(array_function, scratch2, elements_array_storage);
213 212
214 213 if (FLAG_debug_code) { // Assert that array size is not zero.
215 214 __ tst(array_size, array_size);
@@ -441,10 +440,10 @@ static void ArrayNativeCode(MacroAssembler* masm,
441 440 __ b(call_generic_code);
442 441
443 442 __ bind(&not_double);
444   - // Transition FAST_SMI_ELEMENTS to FAST_ELEMENTS.
  443 + // Transition FAST_SMI_ONLY_ELEMENTS to FAST_ELEMENTS.
445 444 // r3: JSArray
446 445 __ ldr(r2, FieldMemOperand(r3, HeapObject::kMapOffset));
447   - __ LoadTransitionedArrayMapConditional(FAST_SMI_ELEMENTS,
  446 + __ LoadTransitionedArrayMapConditional(FAST_SMI_ONLY_ELEMENTS,
448 447 FAST_ELEMENTS,
449 448 r2,
450 449 r9,
35 deps/v8/src/arm/code-stubs-arm.cc
@@ -4824,32 +4824,27 @@ void RegExpExecStub::Generate(MacroAssembler* masm) {
4824 4824 __ IncrementCounter(isolate->counters()->regexp_entry_native(), 1, r0, r2);
4825 4825
4826 4826 // Isolates: note we add an additional parameter here (isolate pointer).
4827   - const int kRegExpExecuteArguments = 9;
  4827 + const int kRegExpExecuteArguments = 8;
4828 4828 const int kParameterRegisters = 4;
4829 4829 __ EnterExitFrame(false, kRegExpExecuteArguments - kParameterRegisters);
4830 4830
4831 4831 // Stack pointer now points to cell where return address is to be written.
4832 4832 // Arguments are before that on the stack or in registers.
4833 4833
4834   - // Argument 9 (sp[20]): Pass current isolate address.
  4834 + // Argument 8 (sp[16]): Pass current isolate address.
4835 4835 __ mov(r0, Operand(ExternalReference::isolate_address()));
4836   - __ str(r0, MemOperand(sp, 5 * kPointerSize));
  4836 + __ str(r0, MemOperand(sp, 4 * kPointerSize));
4837 4837
4838   - // Argument 8 (sp[16]): Indicate that this is a direct call from JavaScript.
  4838 + // Argument 7 (sp[12]): Indicate that this is a direct call from JavaScript.
4839 4839 __ mov(r0, Operand(1));
4840   - __ str(r0, MemOperand(sp, 4 * kPointerSize));
  4840 + __ str(r0, MemOperand(sp, 3 * kPointerSize));
4841 4841
4842   - // Argument 7 (sp[12]): Start (high end) of backtracking stack memory area.
  4842 + // Argument 6 (sp[8]): Start (high end) of backtracking stack memory area.
4843 4843 __ mov(r0, Operand(address_of_regexp_stack_memory_address));
4844 4844 __ ldr(r0, MemOperand(r0, 0));
4845 4845 __ mov(r2, Operand(address_of_regexp_stack_memory_size));
4846 4846 __ ldr(r2, MemOperand(r2, 0));
4847 4847 __ add(r0, r0, Operand(r2));
4848   - __ str(r0, MemOperand(sp, 3 * kPointerSize));
4849   -
4850   - // Argument 6: Set the number of capture registers to zero to force global
4851   - // regexps to behave as non-global. This does not affect non-global regexps.
4852   - __ mov(r0, Operand(0));
4853 4848 __ str(r0, MemOperand(sp, 2 * kPointerSize));
4854 4849
4855 4850 // Argument 5 (sp[4]): static offsets vector buffer.
@@ -4898,9 +4893,7 @@ void RegExpExecStub::Generate(MacroAssembler* masm) {
4898 4893 // Check the result.
4899 4894 Label success;
4900 4895
4901   - __ cmp(r0, Operand(1));
4902   - // We expect exactly one result since we force the called regexp to behave
4903   - // as non-global.
  4896 + __ cmp(r0, Operand(NativeRegExpMacroAssembler::SUCCESS));
4904 4897 __ b(eq, &success);
4905 4898 Label failure;
4906 4899 __ cmp(r0, Operand(NativeRegExpMacroAssembler::FAILURE));
@@ -7102,8 +7095,8 @@ static const AheadOfTimeWriteBarrierStubList kAheadOfTime[] = {
7102 7095 // KeyedStoreStubCompiler::GenerateStoreFastElement.
7103 7096 { REG(r3), REG(r2), REG(r4), EMIT_REMEMBERED_SET },
7104 7097 { REG(r2), REG(r3), REG(r4), EMIT_REMEMBERED_SET },
7105   - // ElementsTransitionGenerator::GenerateMapChangeElementTransition
7106   - // and ElementsTransitionGenerator::GenerateSmiToDouble
  7098 + // ElementsTransitionGenerator::GenerateSmiOnlyToObject
  7099 + // and ElementsTransitionGenerator::GenerateSmiOnlyToDouble
7107 7100 // and ElementsTransitionGenerator::GenerateDoubleToObject
7108 7101 { REG(r2), REG(r3), REG(r9), EMIT_REMEMBERED_SET },
7109 7102 { REG(r2), REG(r3), REG(r9), OMIT_REMEMBERED_SET },
@@ -7366,9 +7359,9 @@ void StoreArrayLiteralElementStub::Generate(MacroAssembler* masm) {
7366 7359 Label fast_elements;
7367 7360
7368 7361 __ CheckFastElements(r2, r5, &double_elements);
7369   - // FAST_*_SMI_ELEMENTS or FAST_*_ELEMENTS
  7362 + // FAST_SMI_ONLY_ELEMENTS or FAST_ELEMENTS
7370 7363 __ JumpIfSmi(r0, &smi_element);
7371   - __ CheckFastSmiElements(r2, r5, &fast_elements);
  7364 + __ CheckFastSmiOnlyElements(r2, r5, &fast_elements);
7372 7365
7373 7366 // Store into the array literal requires a elements transition. Call into
7374 7367 // the runtime.
@@ -7380,7 +7373,7 @@ void StoreArrayLiteralElementStub::Generate(MacroAssembler* masm) {
7380 7373 __ Push(r5, r4);
7381 7374 __ TailCallRuntime(Runtime::kStoreArrayLiteralElement, 5, 1);
7382 7375
7383   - // Array literal has ElementsKind of FAST_*_ELEMENTS and value is an object.
  7376 + // Array literal has ElementsKind of FAST_ELEMENTS and value is an object.
7384 7377 __ bind(&fast_elements);
7385 7378 __ ldr(r5, FieldMemOperand(r1, JSObject::kElementsOffset));
7386 7379 __ add(r6, r5, Operand(r3, LSL, kPointerSizeLog2 - kSmiTagSize));
@@ -7391,8 +7384,8 @@ void StoreArrayLiteralElementStub::Generate(MacroAssembler* masm) {
7391 7384 EMIT_REMEMBERED_SET, OMIT_SMI_CHECK);
7392 7385 __ Ret();
7393 7386
7394   - // Array literal has ElementsKind of FAST_*_SMI_ELEMENTS or FAST_*_ELEMENTS,
7395   - // and value is Smi.
  7387 + // Array literal has ElementsKind of FAST_SMI_ONLY_ELEMENTS or
  7388 + // FAST_ELEMENTS, and value is Smi.
7396 7389 __ bind(&smi_element);
7397 7390 __ ldr(r5, FieldMemOperand(r1, JSObject::kElementsOffset));
7398 7391 __ add(r6, r5, Operand(r3, LSL, kPointerSizeLog2 - kSmiTagSize));
4 deps/v8/src/arm/codegen-arm.cc
@@ -73,7 +73,7 @@ void StubRuntimeCallHelper::AfterCall(MacroAssembler* masm) const {
73 73 // -------------------------------------------------------------------------
74 74 // Code generators
75 75
76   -void ElementsTransitionGenerator::GenerateMapChangeElementsTransition(
  76 +void ElementsTransitionGenerator::GenerateSmiOnlyToObject(
77 77 MacroAssembler* masm) {
78 78 // ----------- S t a t e -------------
79 79 // -- r0 : value
@@ -96,7 +96,7 @@ void ElementsTransitionGenerator::GenerateMapChangeElementsTransition(
96 96 }
97 97
98 98
99   -void ElementsTransitionGenerator::GenerateSmiToDouble(
  99 +void ElementsTransitionGenerator::GenerateSmiOnlyToDouble(
100 100 MacroAssembler* masm, Label* fail) {
101 101 // ----------- S t a t e -------------
102 102 // -- r0 : value
4 deps/v8/src/arm/debug-arm.cc
... ... @@ -1,4 +1,4 @@
1   -// Copyright 2012 the V8 project authors. All rights reserved.
  1 +// Copyright 2011 the V8 project authors. All rights reserved.
2 2 // Redistribution and use in source and binary forms, with or without
3 3 // modification, are permitted provided that the following conditions are
4 4 // met:
@@ -125,8 +125,6 @@ void BreakLocationIterator::ClearDebugBreakAtSlot() {
125 125 Assembler::kDebugBreakSlotInstructions);
126 126 }
127 127
128   -const bool Debug::FramePaddingLayout::kIsSupported = false;
129   -
130 128
131 129 #define __ ACCESS_MASM(masm)
132 130
7 deps/v8/src/arm/full-codegen-arm.cc
@@ -1701,7 +1701,7 @@ void FullCodeGenerator::VisitArrayLiteral(ArrayLiteral* expr) {
1701 1701 ASSERT_EQ(2, constant_elements->length());
1702 1702 ElementsKind constant_elements_kind =
1703 1703 static_cast<ElementsKind>(Smi::cast(constant_elements->get(0))->value());
1704   - bool has_fast_elements = IsFastObjectElementsKind(constant_elements_kind);
  1704 + bool has_fast_elements = constant_elements_kind == FAST_ELEMENTS;
1705 1705 Handle<FixedArrayBase> constant_elements_values(
1706 1706 FixedArrayBase::cast(constant_elements->get(1)));
1707 1707
@@ -1722,7 +1722,8 @@ void FullCodeGenerator::VisitArrayLiteral(ArrayLiteral* expr) {
1722 1722 } else if (length > FastCloneShallowArrayStub::kMaximumClonedLength) {
1723 1723 __ CallRuntime(Runtime::kCreateArrayLiteralShallow, 3);
1724 1724 } else {
1725   - ASSERT(IsFastSmiOrObjectElementsKind(constant_elements_kind) ||
  1725 + ASSERT(constant_elements_kind == FAST_ELEMENTS ||
  1726 + constant_elements_kind == FAST_SMI_ONLY_ELEMENTS ||
1726 1727 FLAG_smi_only_arrays);
1727 1728 FastCloneShallowArrayStub::Mode mode = has_fast_elements
1728 1729 ? FastCloneShallowArrayStub::CLONE_ELEMENTS
@@ -1750,7 +1751,7 @@ void FullCodeGenerator::VisitArrayLiteral(ArrayLiteral* expr) {
1750 1751 }
1751 1752 VisitForAccumulatorValue(subexpr);
1752 1753
1753   - if (IsFastObjectElementsKind(constant_elements_kind)) {
  1754 + if (constant_elements_kind == FAST_ELEMENTS) {
1754 1755 int offset = FixedArray::kHeaderSize + (i * kPointerSize);
1755 1756 __ ldr(r6, MemOperand(sp)); // Copy of array literal.
1756 1757 __ ldr(r1, FieldMemOperand(r6, JSObject::kElementsOffset));
61 deps/v8/src/arm/ic-arm.cc
@@ -1249,7 +1249,7 @@ void KeyedStoreIC::GenerateTransitionElementsSmiToDouble(MacroAssembler* masm) {
1249 1249 // Must return the modified receiver in r0.
1250 1250 if (!FLAG_trace_elements_transitions) {
1251 1251 Label fail;
1252   - ElementsTransitionGenerator::GenerateSmiToDouble(masm, &fail);
  1252 + ElementsTransitionGenerator::GenerateSmiOnlyToDouble(masm, &fail);
1253 1253 __ mov(r0, r2);
1254 1254 __ Ret();
1255 1255 __ bind(&fail);
@@ -1462,27 +1462,27 @@ void KeyedStoreIC::GenerateGeneric(MacroAssembler* masm,
1462 1462 __ CompareRoot(r4, Heap::kHeapNumberMapRootIndex);
1463 1463 __ b(ne, &non_double_value);
1464 1464
1465   - // Value is a double. Transition FAST_SMI_ELEMENTS ->
  1465 + // Value is a double. Transition FAST_SMI_ONLY_ELEMENTS ->
1466 1466 // FAST_DOUBLE_ELEMENTS and complete the store.
1467   - __ LoadTransitionedArrayMapConditional(FAST_SMI_ELEMENTS,
  1467 + __ LoadTransitionedArrayMapConditional(FAST_SMI_ONLY_ELEMENTS,
1468 1468 FAST_DOUBLE_ELEMENTS,
1469 1469 receiver_map,
1470 1470 r4,
1471 1471 &slow);
1472 1472 ASSERT(receiver_map.is(r3)); // Transition code expects map in r3
1473   - ElementsTransitionGenerator::GenerateSmiToDouble(masm, &slow);
  1473 + ElementsTransitionGenerator::GenerateSmiOnlyToDouble(masm, &slow);
1474 1474 __ ldr(elements, FieldMemOperand(receiver, JSObject::kElementsOffset));
1475 1475 __ jmp(&fast_double_without_map_check);
1476 1476
1477 1477 __ bind(&non_double_value);
1478   - // Value is not a double, FAST_SMI_ELEMENTS -> FAST_ELEMENTS
1479   - __ LoadTransitionedArrayMapConditional(FAST_SMI_ELEMENTS,
  1478 + // Value is not a double, FAST_SMI_ONLY_ELEMENTS -> FAST_ELEMENTS
  1479 + __ LoadTransitionedArrayMapConditional(FAST_SMI_ONLY_ELEMENTS,
1480 1480 FAST_ELEMENTS,
1481 1481 receiver_map,
1482 1482 r4,
1483 1483 &slow);
1484 1484 ASSERT(receiver_map.is(r3)); // Transition code expects map in r3
1485   - ElementsTransitionGenerator::GenerateMapChangeElementsTransition(masm);
  1485 + ElementsTransitionGenerator::GenerateSmiOnlyToObject(masm);
1486 1486