libv8 3.11.8.17 → 3.16.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.travis.yml +1 -2
- data/Gemfile +1 -1
- data/Rakefile +6 -7
- data/lib/libv8/version.rb +1 -1
- data/vendor/v8/.gitignore +24 -3
- data/vendor/v8/AUTHORS +7 -0
- data/vendor/v8/ChangeLog +839 -0
- data/vendor/v8/DEPS +1 -1
- data/vendor/v8/Makefile.android +92 -0
- data/vendor/v8/OWNERS +11 -0
- data/vendor/v8/PRESUBMIT.py +71 -0
- data/vendor/v8/SConstruct +34 -39
- data/vendor/v8/build/android.gypi +56 -37
- data/vendor/v8/build/common.gypi +112 -30
- data/vendor/v8/build/gyp_v8 +1 -1
- data/vendor/v8/build/standalone.gypi +15 -11
- data/vendor/v8/include/v8-debug.h +9 -1
- data/vendor/v8/include/v8-preparser.h +4 -3
- data/vendor/v8/include/v8-profiler.h +25 -25
- data/vendor/v8/include/v8-testing.h +4 -3
- data/vendor/v8/include/v8.h +994 -540
- data/vendor/v8/preparser/preparser-process.cc +3 -3
- data/vendor/v8/samples/lineprocessor.cc +20 -27
- data/vendor/v8/samples/process.cc +18 -14
- data/vendor/v8/samples/shell.cc +16 -15
- data/vendor/v8/src/SConscript +15 -14
- data/vendor/v8/src/accessors.cc +169 -77
- data/vendor/v8/src/accessors.h +4 -0
- data/vendor/v8/src/allocation-inl.h +2 -2
- data/vendor/v8/src/allocation.h +7 -7
- data/vendor/v8/src/api.cc +810 -497
- data/vendor/v8/src/api.h +85 -60
- data/vendor/v8/src/arm/assembler-arm-inl.h +179 -22
- data/vendor/v8/src/arm/assembler-arm.cc +633 -264
- data/vendor/v8/src/arm/assembler-arm.h +264 -197
- data/vendor/v8/src/arm/builtins-arm.cc +117 -27
- data/vendor/v8/src/arm/code-stubs-arm.cc +1241 -700
- data/vendor/v8/src/arm/code-stubs-arm.h +35 -138
- data/vendor/v8/src/arm/codegen-arm.cc +285 -16
- data/vendor/v8/src/arm/codegen-arm.h +22 -0
- data/vendor/v8/src/arm/constants-arm.cc +5 -3
- data/vendor/v8/src/arm/constants-arm.h +24 -11
- data/vendor/v8/src/arm/debug-arm.cc +3 -3
- data/vendor/v8/src/arm/deoptimizer-arm.cc +382 -92
- data/vendor/v8/src/arm/disasm-arm.cc +61 -12
- data/vendor/v8/src/arm/frames-arm.h +0 -14
- data/vendor/v8/src/arm/full-codegen-arm.cc +332 -304
- data/vendor/v8/src/arm/ic-arm.cc +180 -259
- data/vendor/v8/src/arm/lithium-arm.cc +364 -316
- data/vendor/v8/src/arm/lithium-arm.h +512 -275
- data/vendor/v8/src/arm/lithium-codegen-arm.cc +1768 -809
- data/vendor/v8/src/arm/lithium-codegen-arm.h +97 -35
- data/vendor/v8/src/arm/lithium-gap-resolver-arm.cc +12 -5
- data/vendor/v8/src/arm/macro-assembler-arm.cc +439 -228
- data/vendor/v8/src/arm/macro-assembler-arm.h +116 -70
- data/vendor/v8/src/arm/regexp-macro-assembler-arm.cc +54 -44
- data/vendor/v8/src/arm/regexp-macro-assembler-arm.h +3 -10
- data/vendor/v8/src/arm/simulator-arm.cc +272 -238
- data/vendor/v8/src/arm/simulator-arm.h +38 -8
- data/vendor/v8/src/arm/stub-cache-arm.cc +522 -895
- data/vendor/v8/src/array.js +101 -70
- data/vendor/v8/src/assembler.cc +270 -19
- data/vendor/v8/src/assembler.h +110 -15
- data/vendor/v8/src/ast.cc +79 -69
- data/vendor/v8/src/ast.h +255 -301
- data/vendor/v8/src/atomicops.h +7 -1
- data/vendor/v8/src/atomicops_internals_tsan.h +335 -0
- data/vendor/v8/src/bootstrapper.cc +481 -418
- data/vendor/v8/src/bootstrapper.h +4 -4
- data/vendor/v8/src/builtins.cc +498 -311
- data/vendor/v8/src/builtins.h +75 -47
- data/vendor/v8/src/checks.cc +2 -1
- data/vendor/v8/src/checks.h +8 -0
- data/vendor/v8/src/code-stubs-hydrogen.cc +253 -0
- data/vendor/v8/src/code-stubs.cc +249 -84
- data/vendor/v8/src/code-stubs.h +501 -169
- data/vendor/v8/src/codegen.cc +36 -18
- data/vendor/v8/src/codegen.h +25 -3
- data/vendor/v8/src/collection.js +54 -17
- data/vendor/v8/src/compilation-cache.cc +24 -16
- data/vendor/v8/src/compilation-cache.h +15 -6
- data/vendor/v8/src/compiler.cc +497 -195
- data/vendor/v8/src/compiler.h +246 -38
- data/vendor/v8/src/contexts.cc +64 -24
- data/vendor/v8/src/contexts.h +60 -29
- data/vendor/v8/src/conversions-inl.h +24 -14
- data/vendor/v8/src/conversions.h +7 -4
- data/vendor/v8/src/counters.cc +21 -12
- data/vendor/v8/src/counters.h +44 -16
- data/vendor/v8/src/cpu-profiler.h +1 -1
- data/vendor/v8/src/d8-debug.cc +2 -2
- data/vendor/v8/src/d8-readline.cc +13 -2
- data/vendor/v8/src/d8.cc +681 -273
- data/vendor/v8/src/d8.gyp +4 -4
- data/vendor/v8/src/d8.h +38 -18
- data/vendor/v8/src/d8.js +0 -617
- data/vendor/v8/src/data-flow.h +55 -0
- data/vendor/v8/src/date.js +1 -42
- data/vendor/v8/src/dateparser-inl.h +5 -1
- data/vendor/v8/src/debug-agent.cc +10 -15
- data/vendor/v8/src/debug-debugger.js +147 -149
- data/vendor/v8/src/debug.cc +323 -164
- data/vendor/v8/src/debug.h +26 -14
- data/vendor/v8/src/deoptimizer.cc +765 -290
- data/vendor/v8/src/deoptimizer.h +130 -28
- data/vendor/v8/src/disassembler.cc +10 -4
- data/vendor/v8/src/elements-kind.cc +7 -2
- data/vendor/v8/src/elements-kind.h +19 -0
- data/vendor/v8/src/elements.cc +607 -285
- data/vendor/v8/src/elements.h +36 -13
- data/vendor/v8/src/execution.cc +52 -31
- data/vendor/v8/src/execution.h +4 -4
- data/vendor/v8/src/extensions/externalize-string-extension.cc +5 -4
- data/vendor/v8/src/extensions/gc-extension.cc +5 -1
- data/vendor/v8/src/extensions/statistics-extension.cc +153 -0
- data/vendor/v8/src/{inspector.h → extensions/statistics-extension.h} +12 -23
- data/vendor/v8/src/factory.cc +101 -134
- data/vendor/v8/src/factory.h +36 -31
- data/vendor/v8/src/flag-definitions.h +102 -25
- data/vendor/v8/src/flags.cc +9 -5
- data/vendor/v8/src/frames-inl.h +10 -0
- data/vendor/v8/src/frames.cc +116 -26
- data/vendor/v8/src/frames.h +96 -12
- data/vendor/v8/src/full-codegen.cc +219 -74
- data/vendor/v8/src/full-codegen.h +63 -21
- data/vendor/v8/src/func-name-inferrer.cc +8 -7
- data/vendor/v8/src/func-name-inferrer.h +5 -3
- data/vendor/v8/src/gdb-jit.cc +71 -57
- data/vendor/v8/src/global-handles.cc +230 -101
- data/vendor/v8/src/global-handles.h +26 -27
- data/vendor/v8/src/globals.h +17 -19
- data/vendor/v8/src/handles-inl.h +59 -12
- data/vendor/v8/src/handles.cc +180 -200
- data/vendor/v8/src/handles.h +80 -11
- data/vendor/v8/src/hashmap.h +60 -40
- data/vendor/v8/src/heap-inl.h +107 -45
- data/vendor/v8/src/heap-profiler.cc +38 -19
- data/vendor/v8/src/heap-profiler.h +24 -14
- data/vendor/v8/src/heap.cc +1123 -738
- data/vendor/v8/src/heap.h +385 -146
- data/vendor/v8/src/hydrogen-instructions.cc +700 -217
- data/vendor/v8/src/hydrogen-instructions.h +1158 -472
- data/vendor/v8/src/hydrogen.cc +3319 -1662
- data/vendor/v8/src/hydrogen.h +411 -170
- data/vendor/v8/src/ia32/assembler-ia32-inl.h +46 -16
- data/vendor/v8/src/ia32/assembler-ia32.cc +131 -61
- data/vendor/v8/src/ia32/assembler-ia32.h +115 -57
- data/vendor/v8/src/ia32/builtins-ia32.cc +99 -5
- data/vendor/v8/src/ia32/code-stubs-ia32.cc +787 -495
- data/vendor/v8/src/ia32/code-stubs-ia32.h +10 -100
- data/vendor/v8/src/ia32/codegen-ia32.cc +227 -23
- data/vendor/v8/src/ia32/codegen-ia32.h +14 -0
- data/vendor/v8/src/ia32/deoptimizer-ia32.cc +428 -87
- data/vendor/v8/src/ia32/disasm-ia32.cc +28 -1
- data/vendor/v8/src/ia32/frames-ia32.h +6 -16
- data/vendor/v8/src/ia32/full-codegen-ia32.cc +280 -272
- data/vendor/v8/src/ia32/ic-ia32.cc +150 -250
- data/vendor/v8/src/ia32/lithium-codegen-ia32.cc +1600 -517
- data/vendor/v8/src/ia32/lithium-codegen-ia32.h +90 -24
- data/vendor/v8/src/ia32/lithium-gap-resolver-ia32.cc +10 -6
- data/vendor/v8/src/ia32/lithium-gap-resolver-ia32.h +2 -2
- data/vendor/v8/src/ia32/lithium-ia32.cc +405 -302
- data/vendor/v8/src/ia32/lithium-ia32.h +526 -271
- data/vendor/v8/src/ia32/macro-assembler-ia32.cc +378 -119
- data/vendor/v8/src/ia32/macro-assembler-ia32.h +62 -28
- data/vendor/v8/src/ia32/regexp-macro-assembler-ia32.cc +43 -30
- data/vendor/v8/src/ia32/regexp-macro-assembler-ia32.h +2 -10
- data/vendor/v8/src/ia32/stub-cache-ia32.cc +492 -678
- data/vendor/v8/src/ic-inl.h +9 -4
- data/vendor/v8/src/ic.cc +836 -923
- data/vendor/v8/src/ic.h +228 -247
- data/vendor/v8/src/incremental-marking-inl.h +26 -30
- data/vendor/v8/src/incremental-marking.cc +276 -248
- data/vendor/v8/src/incremental-marking.h +29 -37
- data/vendor/v8/src/interface.cc +34 -25
- data/vendor/v8/src/interface.h +69 -25
- data/vendor/v8/src/interpreter-irregexp.cc +2 -2
- data/vendor/v8/src/isolate.cc +382 -76
- data/vendor/v8/src/isolate.h +109 -56
- data/vendor/v8/src/json-parser.h +217 -104
- data/vendor/v8/src/json-stringifier.h +745 -0
- data/vendor/v8/src/json.js +10 -132
- data/vendor/v8/src/jsregexp-inl.h +106 -0
- data/vendor/v8/src/jsregexp.cc +517 -285
- data/vendor/v8/src/jsregexp.h +145 -117
- data/vendor/v8/src/list-inl.h +35 -22
- data/vendor/v8/src/list.h +46 -19
- data/vendor/v8/src/lithium-allocator-inl.h +22 -2
- data/vendor/v8/src/lithium-allocator.cc +85 -70
- data/vendor/v8/src/lithium-allocator.h +21 -39
- data/vendor/v8/src/lithium.cc +259 -5
- data/vendor/v8/src/lithium.h +131 -32
- data/vendor/v8/src/liveedit-debugger.js +52 -3
- data/vendor/v8/src/liveedit.cc +393 -113
- data/vendor/v8/src/liveedit.h +7 -3
- data/vendor/v8/src/log-utils.cc +4 -2
- data/vendor/v8/src/log.cc +170 -140
- data/vendor/v8/src/log.h +62 -11
- data/vendor/v8/src/macro-assembler.h +17 -0
- data/vendor/v8/src/macros.py +2 -0
- data/vendor/v8/src/mark-compact-inl.h +3 -23
- data/vendor/v8/src/mark-compact.cc +801 -830
- data/vendor/v8/src/mark-compact.h +154 -47
- data/vendor/v8/src/marking-thread.cc +85 -0
- data/vendor/v8/src/{inspector.cc → marking-thread.h} +32 -24
- data/vendor/v8/src/math.js +12 -18
- data/vendor/v8/src/messages.cc +18 -8
- data/vendor/v8/src/messages.js +314 -261
- data/vendor/v8/src/mips/assembler-mips-inl.h +58 -6
- data/vendor/v8/src/mips/assembler-mips.cc +92 -75
- data/vendor/v8/src/mips/assembler-mips.h +54 -60
- data/vendor/v8/src/mips/builtins-mips.cc +116 -17
- data/vendor/v8/src/mips/code-stubs-mips.cc +919 -556
- data/vendor/v8/src/mips/code-stubs-mips.h +22 -131
- data/vendor/v8/src/mips/codegen-mips.cc +281 -6
- data/vendor/v8/src/mips/codegen-mips.h +22 -0
- data/vendor/v8/src/mips/constants-mips.cc +2 -0
- data/vendor/v8/src/mips/constants-mips.h +12 -2
- data/vendor/v8/src/mips/deoptimizer-mips.cc +286 -50
- data/vendor/v8/src/mips/disasm-mips.cc +13 -0
- data/vendor/v8/src/mips/full-codegen-mips.cc +297 -284
- data/vendor/v8/src/mips/ic-mips.cc +182 -263
- data/vendor/v8/src/mips/lithium-codegen-mips.cc +1208 -556
- data/vendor/v8/src/mips/lithium-codegen-mips.h +72 -19
- data/vendor/v8/src/mips/lithium-gap-resolver-mips.cc +9 -2
- data/vendor/v8/src/mips/lithium-mips.cc +290 -302
- data/vendor/v8/src/mips/lithium-mips.h +463 -266
- data/vendor/v8/src/mips/macro-assembler-mips.cc +208 -115
- data/vendor/v8/src/mips/macro-assembler-mips.h +67 -24
- data/vendor/v8/src/mips/regexp-macro-assembler-mips.cc +40 -25
- data/vendor/v8/src/mips/regexp-macro-assembler-mips.h +3 -9
- data/vendor/v8/src/mips/simulator-mips.cc +112 -40
- data/vendor/v8/src/mips/simulator-mips.h +5 -0
- data/vendor/v8/src/mips/stub-cache-mips.cc +502 -884
- data/vendor/v8/src/mirror-debugger.js +157 -30
- data/vendor/v8/src/mksnapshot.cc +88 -14
- data/vendor/v8/src/object-observe.js +235 -0
- data/vendor/v8/src/objects-debug.cc +178 -176
- data/vendor/v8/src/objects-inl.h +1333 -486
- data/vendor/v8/src/objects-printer.cc +125 -43
- data/vendor/v8/src/objects-visiting-inl.h +578 -6
- data/vendor/v8/src/objects-visiting.cc +2 -2
- data/vendor/v8/src/objects-visiting.h +172 -79
- data/vendor/v8/src/objects.cc +3533 -2885
- data/vendor/v8/src/objects.h +1352 -1131
- data/vendor/v8/src/optimizing-compiler-thread.cc +152 -0
- data/vendor/v8/src/optimizing-compiler-thread.h +111 -0
- data/vendor/v8/src/parser.cc +390 -500
- data/vendor/v8/src/parser.h +45 -33
- data/vendor/v8/src/platform-cygwin.cc +10 -21
- data/vendor/v8/src/platform-freebsd.cc +36 -41
- data/vendor/v8/src/platform-linux.cc +160 -124
- data/vendor/v8/src/platform-macos.cc +30 -27
- data/vendor/v8/src/platform-nullos.cc +17 -1
- data/vendor/v8/src/platform-openbsd.cc +19 -50
- data/vendor/v8/src/platform-posix.cc +14 -0
- data/vendor/v8/src/platform-solaris.cc +20 -53
- data/vendor/v8/src/platform-win32.cc +49 -26
- data/vendor/v8/src/platform.h +40 -1
- data/vendor/v8/src/preparser.cc +8 -5
- data/vendor/v8/src/preparser.h +2 -2
- data/vendor/v8/src/prettyprinter.cc +16 -0
- data/vendor/v8/src/prettyprinter.h +2 -0
- data/vendor/v8/src/profile-generator-inl.h +1 -0
- data/vendor/v8/src/profile-generator.cc +209 -147
- data/vendor/v8/src/profile-generator.h +15 -12
- data/vendor/v8/src/property-details.h +46 -31
- data/vendor/v8/src/property.cc +27 -46
- data/vendor/v8/src/property.h +163 -83
- data/vendor/v8/src/proxy.js +7 -2
- data/vendor/v8/src/regexp-macro-assembler-irregexp.cc +4 -13
- data/vendor/v8/src/regexp-macro-assembler-irregexp.h +1 -2
- data/vendor/v8/src/regexp-macro-assembler-tracer.cc +1 -11
- data/vendor/v8/src/regexp-macro-assembler-tracer.h +0 -1
- data/vendor/v8/src/regexp-macro-assembler.cc +31 -14
- data/vendor/v8/src/regexp-macro-assembler.h +14 -11
- data/vendor/v8/src/regexp-stack.cc +1 -0
- data/vendor/v8/src/regexp.js +9 -8
- data/vendor/v8/src/rewriter.cc +18 -7
- data/vendor/v8/src/runtime-profiler.cc +52 -43
- data/vendor/v8/src/runtime-profiler.h +0 -25
- data/vendor/v8/src/runtime.cc +2006 -2023
- data/vendor/v8/src/runtime.h +56 -49
- data/vendor/v8/src/safepoint-table.cc +12 -18
- data/vendor/v8/src/safepoint-table.h +11 -8
- data/vendor/v8/src/scanner.cc +1 -0
- data/vendor/v8/src/scanner.h +4 -10
- data/vendor/v8/src/scopeinfo.cc +35 -9
- data/vendor/v8/src/scopeinfo.h +64 -3
- data/vendor/v8/src/scopes.cc +251 -156
- data/vendor/v8/src/scopes.h +61 -27
- data/vendor/v8/src/serialize.cc +348 -396
- data/vendor/v8/src/serialize.h +125 -114
- data/vendor/v8/src/small-pointer-list.h +11 -11
- data/vendor/v8/src/{smart-array-pointer.h → smart-pointers.h} +64 -15
- data/vendor/v8/src/snapshot-common.cc +64 -15
- data/vendor/v8/src/snapshot-empty.cc +7 -1
- data/vendor/v8/src/snapshot.h +9 -2
- data/vendor/v8/src/spaces-inl.h +17 -0
- data/vendor/v8/src/spaces.cc +477 -183
- data/vendor/v8/src/spaces.h +238 -58
- data/vendor/v8/src/splay-tree-inl.h +8 -7
- data/vendor/v8/src/splay-tree.h +24 -10
- data/vendor/v8/src/store-buffer.cc +12 -5
- data/vendor/v8/src/store-buffer.h +2 -4
- data/vendor/v8/src/string-search.h +22 -6
- data/vendor/v8/src/string-stream.cc +11 -8
- data/vendor/v8/src/string.js +47 -15
- data/vendor/v8/src/stub-cache.cc +461 -224
- data/vendor/v8/src/stub-cache.h +164 -102
- data/vendor/v8/src/sweeper-thread.cc +105 -0
- data/vendor/v8/src/sweeper-thread.h +81 -0
- data/vendor/v8/src/token.h +1 -0
- data/vendor/v8/src/transitions-inl.h +220 -0
- data/vendor/v8/src/transitions.cc +160 -0
- data/vendor/v8/src/transitions.h +207 -0
- data/vendor/v8/src/type-info.cc +182 -181
- data/vendor/v8/src/type-info.h +31 -19
- data/vendor/v8/src/unicode-inl.h +62 -106
- data/vendor/v8/src/unicode.cc +57 -67
- data/vendor/v8/src/unicode.h +45 -91
- data/vendor/v8/src/uri.js +57 -29
- data/vendor/v8/src/utils.h +105 -5
- data/vendor/v8/src/v8-counters.cc +54 -11
- data/vendor/v8/src/v8-counters.h +134 -19
- data/vendor/v8/src/v8.cc +29 -29
- data/vendor/v8/src/v8.h +1 -0
- data/vendor/v8/src/v8conversions.cc +26 -22
- data/vendor/v8/src/v8globals.h +56 -43
- data/vendor/v8/src/v8natives.js +83 -30
- data/vendor/v8/src/v8threads.cc +42 -21
- data/vendor/v8/src/v8threads.h +4 -1
- data/vendor/v8/src/v8utils.cc +9 -93
- data/vendor/v8/src/v8utils.h +37 -33
- data/vendor/v8/src/variables.cc +6 -3
- data/vendor/v8/src/variables.h +6 -13
- data/vendor/v8/src/version.cc +2 -2
- data/vendor/v8/src/vm-state-inl.h +11 -0
- data/vendor/v8/src/x64/assembler-x64-inl.h +39 -8
- data/vendor/v8/src/x64/assembler-x64.cc +78 -64
- data/vendor/v8/src/x64/assembler-x64.h +38 -33
- data/vendor/v8/src/x64/builtins-x64.cc +105 -7
- data/vendor/v8/src/x64/code-stubs-x64.cc +790 -413
- data/vendor/v8/src/x64/code-stubs-x64.h +10 -106
- data/vendor/v8/src/x64/codegen-x64.cc +210 -8
- data/vendor/v8/src/x64/codegen-x64.h +20 -1
- data/vendor/v8/src/x64/deoptimizer-x64.cc +336 -75
- data/vendor/v8/src/x64/disasm-x64.cc +15 -0
- data/vendor/v8/src/x64/frames-x64.h +0 -14
- data/vendor/v8/src/x64/full-codegen-x64.cc +293 -270
- data/vendor/v8/src/x64/ic-x64.cc +153 -251
- data/vendor/v8/src/x64/lithium-codegen-x64.cc +1379 -531
- data/vendor/v8/src/x64/lithium-codegen-x64.h +67 -23
- data/vendor/v8/src/x64/lithium-gap-resolver-x64.cc +2 -2
- data/vendor/v8/src/x64/lithium-x64.cc +349 -289
- data/vendor/v8/src/x64/lithium-x64.h +460 -250
- data/vendor/v8/src/x64/macro-assembler-x64.cc +350 -177
- data/vendor/v8/src/x64/macro-assembler-x64.h +67 -49
- data/vendor/v8/src/x64/regexp-macro-assembler-x64.cc +46 -33
- data/vendor/v8/src/x64/regexp-macro-assembler-x64.h +2 -3
- data/vendor/v8/src/x64/stub-cache-x64.cc +484 -653
- data/vendor/v8/src/zone-inl.h +9 -27
- data/vendor/v8/src/zone.cc +5 -5
- data/vendor/v8/src/zone.h +53 -27
- data/vendor/v8/test/benchmarks/testcfg.py +5 -0
- data/vendor/v8/test/cctest/cctest.cc +4 -0
- data/vendor/v8/test/cctest/cctest.gyp +3 -1
- data/vendor/v8/test/cctest/cctest.h +57 -9
- data/vendor/v8/test/cctest/cctest.status +15 -15
- data/vendor/v8/test/cctest/test-accessors.cc +26 -0
- data/vendor/v8/test/cctest/test-alloc.cc +22 -30
- data/vendor/v8/test/cctest/test-api.cc +1943 -314
- data/vendor/v8/test/cctest/test-assembler-arm.cc +133 -13
- data/vendor/v8/test/cctest/test-assembler-ia32.cc +1 -1
- data/vendor/v8/test/cctest/test-assembler-mips.cc +12 -0
- data/vendor/v8/test/cctest/test-ast.cc +4 -2
- data/vendor/v8/test/cctest/test-compiler.cc +61 -29
- data/vendor/v8/test/cctest/test-dataflow.cc +2 -2
- data/vendor/v8/test/cctest/test-debug.cc +212 -33
- data/vendor/v8/test/cctest/test-decls.cc +257 -11
- data/vendor/v8/test/cctest/test-dictionary.cc +24 -10
- data/vendor/v8/test/cctest/test-disasm-arm.cc +118 -1
- data/vendor/v8/test/cctest/test-disasm-ia32.cc +3 -2
- data/vendor/v8/test/cctest/test-flags.cc +14 -1
- data/vendor/v8/test/cctest/test-func-name-inference.cc +7 -4
- data/vendor/v8/test/cctest/test-global-object.cc +51 -0
- data/vendor/v8/test/cctest/test-hashing.cc +32 -23
- data/vendor/v8/test/cctest/test-heap-profiler.cc +131 -77
- data/vendor/v8/test/cctest/test-heap.cc +1084 -143
- data/vendor/v8/test/cctest/test-list.cc +1 -1
- data/vendor/v8/test/cctest/test-liveedit.cc +3 -2
- data/vendor/v8/test/cctest/test-lockers.cc +12 -13
- data/vendor/v8/test/cctest/test-log.cc +10 -8
- data/vendor/v8/test/cctest/test-macro-assembler-x64.cc +2 -2
- data/vendor/v8/test/cctest/test-mark-compact.cc +44 -22
- data/vendor/v8/test/cctest/test-object-observe.cc +434 -0
- data/vendor/v8/test/cctest/test-parsing.cc +86 -39
- data/vendor/v8/test/cctest/test-platform-linux.cc +6 -0
- data/vendor/v8/test/cctest/test-platform-win32.cc +7 -0
- data/vendor/v8/test/cctest/test-random.cc +5 -4
- data/vendor/v8/test/cctest/test-regexp.cc +137 -101
- data/vendor/v8/test/cctest/test-serialize.cc +150 -230
- data/vendor/v8/test/cctest/test-sockets.cc +1 -1
- data/vendor/v8/test/cctest/test-spaces.cc +139 -0
- data/vendor/v8/test/cctest/test-strings.cc +736 -74
- data/vendor/v8/test/cctest/test-thread-termination.cc +10 -11
- data/vendor/v8/test/cctest/test-threads.cc +4 -4
- data/vendor/v8/test/cctest/test-utils.cc +16 -0
- data/vendor/v8/test/cctest/test-weakmaps.cc +7 -3
- data/vendor/v8/test/cctest/testcfg.py +64 -5
- data/vendor/v8/test/es5conform/testcfg.py +5 -0
- data/vendor/v8/test/message/message.status +1 -1
- data/vendor/v8/test/message/overwritten-builtins.out +3 -0
- data/vendor/v8/test/message/testcfg.py +89 -8
- data/vendor/v8/test/message/try-catch-finally-no-message.out +26 -26
- data/vendor/v8/test/mjsunit/accessor-map-sharing.js +18 -2
- data/vendor/v8/test/mjsunit/allocation-site-info.js +126 -0
- data/vendor/v8/test/mjsunit/array-bounds-check-removal.js +62 -1
- data/vendor/v8/test/mjsunit/array-iteration.js +1 -1
- data/vendor/v8/test/mjsunit/array-literal-transitions.js +2 -0
- data/vendor/v8/test/mjsunit/array-natives-elements.js +317 -0
- data/vendor/v8/test/mjsunit/array-reduce.js +8 -8
- data/vendor/v8/test/mjsunit/array-slice.js +12 -0
- data/vendor/v8/test/mjsunit/array-store-and-grow.js +4 -1
- data/vendor/v8/test/mjsunit/assert-opt-and-deopt.js +1 -1
- data/vendor/v8/test/mjsunit/bugs/bug-2337.js +53 -0
- data/vendor/v8/test/mjsunit/compare-known-objects-slow.js +69 -0
- data/vendor/v8/test/mjsunit/compiler/alloc-object-huge.js +3 -1
- data/vendor/v8/test/mjsunit/compiler/inline-accessors.js +368 -0
- data/vendor/v8/test/mjsunit/compiler/inline-arguments.js +87 -1
- data/vendor/v8/test/mjsunit/compiler/inline-closures.js +49 -0
- data/vendor/v8/test/mjsunit/compiler/inline-construct.js +55 -43
- data/vendor/v8/test/mjsunit/compiler/inline-literals.js +39 -0
- data/vendor/v8/test/mjsunit/compiler/multiply-add.js +69 -0
- data/vendor/v8/test/mjsunit/compiler/optimized-closures.js +57 -0
- data/vendor/v8/test/mjsunit/compiler/parallel-proto-change.js +44 -0
- data/vendor/v8/test/mjsunit/compiler/property-static.js +69 -0
- data/vendor/v8/test/mjsunit/compiler/proto-chain-constant.js +55 -0
- data/vendor/v8/test/mjsunit/compiler/proto-chain-load.js +44 -0
- data/vendor/v8/test/mjsunit/compiler/regress-gvn.js +3 -2
- data/vendor/v8/test/mjsunit/compiler/regress-or.js +6 -2
- data/vendor/v8/test/mjsunit/compiler/rotate.js +224 -0
- data/vendor/v8/test/mjsunit/compiler/uint32.js +173 -0
- data/vendor/v8/test/mjsunit/count-based-osr.js +2 -1
- data/vendor/v8/test/mjsunit/d8-os.js +3 -3
- data/vendor/v8/test/mjsunit/date-parse.js +3 -0
- data/vendor/v8/test/mjsunit/date.js +22 -0
- data/vendor/v8/test/mjsunit/debug-break-inline.js +1 -0
- data/vendor/v8/test/mjsunit/debug-evaluate-locals-optimized-double.js +22 -12
- data/vendor/v8/test/mjsunit/debug-evaluate-locals-optimized.js +21 -10
- data/vendor/v8/test/mjsunit/debug-liveedit-compile-error.js +60 -0
- data/vendor/v8/test/mjsunit/debug-liveedit-double-call.js +142 -0
- data/vendor/v8/test/mjsunit/debug-liveedit-literals.js +94 -0
- data/vendor/v8/test/mjsunit/debug-liveedit-restart-frame.js +153 -0
- data/vendor/v8/test/mjsunit/debug-multiple-breakpoints.js +1 -1
- data/vendor/v8/test/mjsunit/debug-script-breakpoints-closure.js +67 -0
- data/vendor/v8/test/mjsunit/debug-script-breakpoints-nested.js +82 -0
- data/vendor/v8/test/mjsunit/debug-script.js +4 -2
- data/vendor/v8/test/mjsunit/debug-set-variable-value.js +308 -0
- data/vendor/v8/test/mjsunit/debug-stepout-scope-part1.js +190 -0
- data/vendor/v8/test/mjsunit/debug-stepout-scope-part2.js +83 -0
- data/vendor/v8/test/mjsunit/debug-stepout-scope-part3.js +80 -0
- data/vendor/v8/test/mjsunit/debug-stepout-scope-part4.js +80 -0
- data/vendor/v8/test/mjsunit/debug-stepout-scope-part5.js +77 -0
- data/vendor/v8/test/mjsunit/debug-stepout-scope-part6.js +79 -0
- data/vendor/v8/test/mjsunit/debug-stepout-scope-part7.js +79 -0
- data/vendor/v8/test/mjsunit/{debug-stepout-scope.js → debug-stepout-scope-part8.js} +0 -189
- data/vendor/v8/test/mjsunit/delete-non-configurable.js +74 -0
- data/vendor/v8/test/mjsunit/deopt-minus-zero.js +56 -0
- data/vendor/v8/test/mjsunit/elements-kind.js +6 -4
- data/vendor/v8/test/mjsunit/elements-length-no-holey.js +33 -0
- data/vendor/v8/test/mjsunit/elements-transition-hoisting.js +46 -19
- data/vendor/v8/test/mjsunit/error-accessors.js +54 -0
- data/vendor/v8/test/mjsunit/error-constructors.js +1 -14
- data/vendor/v8/test/mjsunit/error-tostring.js +8 -0
- data/vendor/v8/test/mjsunit/eval-stack-trace.js +204 -0
- data/vendor/v8/test/mjsunit/external-array.js +364 -1
- data/vendor/v8/test/mjsunit/fast-array-length.js +37 -0
- data/vendor/v8/test/mjsunit/fast-non-keyed.js +113 -0
- data/vendor/v8/test/mjsunit/fast-prototype.js +117 -0
- data/vendor/v8/test/mjsunit/function-call.js +14 -18
- data/vendor/v8/test/mjsunit/fuzz-natives-part1.js +230 -0
- data/vendor/v8/test/mjsunit/fuzz-natives-part2.js +229 -0
- data/vendor/v8/test/mjsunit/fuzz-natives-part3.js +229 -0
- data/vendor/v8/test/mjsunit/{fuzz-natives.js → fuzz-natives-part4.js} +12 -2
- data/vendor/v8/test/mjsunit/generated-transition-stub.js +218 -0
- data/vendor/v8/test/mjsunit/greedy.js +1 -1
- data/vendor/v8/test/mjsunit/harmony/block-conflicts.js +2 -1
- data/vendor/v8/test/mjsunit/harmony/block-let-crankshaft.js +1 -1
- data/vendor/v8/test/mjsunit/harmony/collections.js +69 -11
- data/vendor/v8/test/mjsunit/harmony/debug-blockscopes.js +2 -2
- data/vendor/v8/test/mjsunit/harmony/module-linking.js +180 -3
- data/vendor/v8/test/mjsunit/harmony/module-parsing.js +31 -0
- data/vendor/v8/test/mjsunit/harmony/module-recompile.js +87 -0
- data/vendor/v8/test/mjsunit/harmony/module-resolution.js +15 -2
- data/vendor/v8/test/mjsunit/harmony/object-observe.js +1056 -0
- data/vendor/v8/test/mjsunit/harmony/proxies-json.js +178 -0
- data/vendor/v8/test/mjsunit/harmony/proxies.js +25 -10
- data/vendor/v8/test/mjsunit/json-parser-recursive.js +33 -0
- data/vendor/v8/test/mjsunit/json-stringify-recursive.js +52 -0
- data/vendor/v8/test/mjsunit/json.js +38 -2
- data/vendor/v8/test/mjsunit/json2.js +153 -0
- data/vendor/v8/test/mjsunit/limit-locals.js +5 -4
- data/vendor/v8/test/mjsunit/manual-parallel-recompile.js +79 -0
- data/vendor/v8/test/mjsunit/math-exp-precision.js +64 -0
- data/vendor/v8/test/mjsunit/math-floor-negative.js +59 -0
- data/vendor/v8/test/mjsunit/math-floor-of-div-minus-zero.js +41 -0
- data/vendor/v8/test/mjsunit/math-floor-of-div-nosudiv.js +288 -0
- data/vendor/v8/test/mjsunit/math-floor-of-div.js +81 -9
- data/vendor/v8/test/mjsunit/{math-floor.js → math-floor-part1.js} +1 -72
- data/vendor/v8/test/mjsunit/math-floor-part2.js +76 -0
- data/vendor/v8/test/mjsunit/math-floor-part3.js +78 -0
- data/vendor/v8/test/mjsunit/math-floor-part4.js +76 -0
- data/vendor/v8/test/mjsunit/mirror-object.js +43 -9
- data/vendor/v8/test/mjsunit/mjsunit.js +1 -1
- data/vendor/v8/test/mjsunit/mjsunit.status +52 -27
- data/vendor/v8/test/mjsunit/mul-exhaustive-part1.js +491 -0
- data/vendor/v8/test/mjsunit/mul-exhaustive-part10.js +470 -0
- data/vendor/v8/test/mjsunit/mul-exhaustive-part2.js +525 -0
- data/vendor/v8/test/mjsunit/mul-exhaustive-part3.js +532 -0
- data/vendor/v8/test/mjsunit/mul-exhaustive-part4.js +509 -0
- data/vendor/v8/test/mjsunit/mul-exhaustive-part5.js +505 -0
- data/vendor/v8/test/mjsunit/mul-exhaustive-part6.js +554 -0
- data/vendor/v8/test/mjsunit/mul-exhaustive-part7.js +497 -0
- data/vendor/v8/test/mjsunit/mul-exhaustive-part8.js +526 -0
- data/vendor/v8/test/mjsunit/mul-exhaustive-part9.js +533 -0
- data/vendor/v8/test/mjsunit/new-function.js +34 -0
- data/vendor/v8/test/mjsunit/numops-fuzz-part1.js +1172 -0
- data/vendor/v8/test/mjsunit/numops-fuzz-part2.js +1178 -0
- data/vendor/v8/test/mjsunit/numops-fuzz-part3.js +1178 -0
- data/vendor/v8/test/mjsunit/numops-fuzz-part4.js +1177 -0
- data/vendor/v8/test/mjsunit/object-define-property.js +107 -2
- data/vendor/v8/test/mjsunit/override-read-only-property.js +6 -4
- data/vendor/v8/test/mjsunit/packed-elements.js +2 -2
- data/vendor/v8/test/mjsunit/parse-int-float.js +4 -4
- data/vendor/v8/test/mjsunit/pixel-array-rounding.js +1 -1
- data/vendor/v8/test/mjsunit/readonly.js +228 -0
- data/vendor/v8/test/mjsunit/regexp-capture-3.js +16 -18
- data/vendor/v8/test/mjsunit/regexp-capture.js +2 -0
- data/vendor/v8/test/mjsunit/regexp-global.js +122 -0
- data/vendor/v8/test/mjsunit/regexp-results-cache.js +78 -0
- data/vendor/v8/test/mjsunit/regress/regress-1117.js +12 -3
- data/vendor/v8/test/mjsunit/regress/regress-1118.js +1 -1
- data/vendor/v8/test/mjsunit/regress/regress-115100.js +36 -0
- data/vendor/v8/test/mjsunit/regress/regress-1199637.js +1 -3
- data/vendor/v8/test/mjsunit/regress/regress-121407.js +1 -1
- data/vendor/v8/test/mjsunit/regress/regress-131923.js +30 -0
- data/vendor/v8/test/mjsunit/regress/regress-131994.js +70 -0
- data/vendor/v8/test/mjsunit/regress/regress-133211.js +35 -0
- data/vendor/v8/test/mjsunit/regress/regress-133211b.js +39 -0
- data/vendor/v8/test/mjsunit/regress/regress-136048.js +34 -0
- data/vendor/v8/test/mjsunit/regress/regress-137768.js +73 -0
- data/vendor/v8/test/mjsunit/regress/regress-143967.js +34 -0
- data/vendor/v8/test/mjsunit/regress/regress-145201.js +107 -0
- data/vendor/v8/test/mjsunit/regress/regress-147497.js +45 -0
- data/vendor/v8/test/mjsunit/regress/regress-148378.js +38 -0
- data/vendor/v8/test/mjsunit/regress/regress-1563.js +1 -1
- data/vendor/v8/test/mjsunit/regress/regress-1591.js +48 -0
- data/vendor/v8/test/mjsunit/regress/regress-164442.js +45 -0
- data/vendor/v8/test/mjsunit/regress/regress-165637.js +61 -0
- data/vendor/v8/test/mjsunit/regress/regress-166379.js +39 -0
- data/vendor/v8/test/mjsunit/regress/regress-166553.js +33 -0
- data/vendor/v8/test/mjsunit/regress/regress-1692.js +1 -1
- data/vendor/v8/test/mjsunit/regress/regress-171641.js +40 -0
- data/vendor/v8/test/mjsunit/regress/regress-1980.js +1 -1
- data/vendor/v8/test/mjsunit/regress/regress-2073.js +99 -0
- data/vendor/v8/test/mjsunit/regress/regress-2119.js +36 -0
- data/vendor/v8/test/mjsunit/regress/regress-2156.js +39 -0
- data/vendor/v8/test/mjsunit/regress/regress-2163.js +70 -0
- data/vendor/v8/test/mjsunit/regress/regress-2170.js +58 -0
- data/vendor/v8/test/mjsunit/regress/regress-2172.js +35 -0
- data/vendor/v8/test/mjsunit/regress/regress-2185-2.js +145 -0
- data/vendor/v8/test/mjsunit/regress/regress-2185.js +38 -0
- data/vendor/v8/test/mjsunit/regress/regress-2186.js +49 -0
- data/vendor/v8/test/mjsunit/regress/regress-2193.js +58 -0
- data/vendor/v8/test/mjsunit/regress/regress-2219.js +32 -0
- data/vendor/v8/test/mjsunit/regress/regress-2225.js +65 -0
- data/vendor/v8/test/mjsunit/regress/regress-2226.js +36 -0
- data/vendor/v8/test/mjsunit/regress/regress-2234.js +41 -0
- data/vendor/v8/test/mjsunit/regress/regress-2243.js +31 -0
- data/vendor/v8/test/mjsunit/regress/regress-2249.js +33 -0
- data/vendor/v8/test/mjsunit/regress/regress-2250.js +68 -0
- data/vendor/v8/test/mjsunit/regress/regress-2261.js +113 -0
- data/vendor/v8/test/mjsunit/regress/regress-2263.js +30 -0
- data/vendor/v8/test/mjsunit/regress/regress-2284.js +32 -0
- data/vendor/v8/test/mjsunit/regress/regress-2285.js +32 -0
- data/vendor/v8/test/mjsunit/regress/regress-2286.js +32 -0
- data/vendor/v8/test/mjsunit/regress/regress-2289.js +34 -0
- data/vendor/v8/test/mjsunit/regress/regress-2291.js +36 -0
- data/vendor/v8/test/mjsunit/regress/regress-2294.js +70 -0
- data/vendor/v8/test/mjsunit/regress/regress-2296.js +40 -0
- data/vendor/v8/test/mjsunit/regress/regress-2315.js +40 -0
- data/vendor/v8/test/mjsunit/regress/regress-2318.js +66 -0
- data/vendor/v8/test/mjsunit/regress/regress-2322.js +36 -0
- data/vendor/v8/test/mjsunit/regress/regress-2326.js +54 -0
- data/vendor/v8/test/mjsunit/regress/regress-2336.js +53 -0
- data/vendor/v8/test/mjsunit/regress/regress-2339.js +59 -0
- data/vendor/v8/test/mjsunit/regress/regress-2346.js +123 -0
- data/vendor/v8/test/mjsunit/regress/regress-2373.js +29 -0
- data/vendor/v8/test/mjsunit/regress/regress-2374.js +33 -0
- data/vendor/v8/test/mjsunit/regress/regress-2398.js +41 -0
- data/vendor/v8/test/mjsunit/regress/regress-2410.js +36 -0
- data/vendor/v8/test/mjsunit/regress/regress-2416.js +75 -0
- data/vendor/v8/test/mjsunit/regress/regress-2419.js +37 -0
- data/vendor/v8/test/mjsunit/regress/regress-2433.js +36 -0
- data/vendor/v8/test/mjsunit/regress/regress-2437.js +156 -0
- data/vendor/v8/test/mjsunit/regress/regress-2438.js +52 -0
- data/vendor/v8/test/mjsunit/regress/regress-2443.js +129 -0
- data/vendor/v8/test/mjsunit/regress/regress-2444.js +120 -0
- data/vendor/v8/test/mjsunit/regress/regress-2489.js +50 -0
- data/vendor/v8/test/mjsunit/regress/regress-2499.js +40 -0
- data/vendor/v8/test/mjsunit/regress/regress-334.js +1 -1
- data/vendor/v8/test/mjsunit/regress/regress-492.js +39 -1
- data/vendor/v8/test/mjsunit/regress/regress-builtin-array-op.js +38 -0
- data/vendor/v8/test/mjsunit/regress/regress-cnlt-elements.js +43 -0
- data/vendor/v8/test/mjsunit/regress/regress-cnlt-enum-indices.js +45 -0
- data/vendor/v8/test/mjsunit/regress/regress-cntl-descriptors-enum.js +46 -0
- data/vendor/v8/test/mjsunit/regress/regress-convert-enum.js +60 -0
- data/vendor/v8/test/mjsunit/regress/regress-convert-enum2.js +46 -0
- data/vendor/v8/test/mjsunit/regress/regress-convert-transition.js +40 -0
- data/vendor/v8/test/mjsunit/regress/regress-crbug-119926.js +3 -1
- data/vendor/v8/test/mjsunit/regress/regress-crbug-125148.js +90 -0
- data/vendor/v8/test/mjsunit/regress/regress-crbug-134055.js +63 -0
- data/vendor/v8/test/mjsunit/regress/regress-crbug-134609.js +59 -0
- data/vendor/v8/test/mjsunit/regress/regress-crbug-135008.js +45 -0
- data/vendor/v8/test/mjsunit/regress/regress-crbug-135066.js +55 -0
- data/vendor/v8/test/mjsunit/regress/regress-crbug-137689.js +47 -0
- data/vendor/v8/test/mjsunit/regress/regress-crbug-138887.js +48 -0
- data/vendor/v8/test/mjsunit/regress/regress-crbug-140083.js +44 -0
- data/vendor/v8/test/mjsunit/regress/regress-crbug-142087.js +38 -0
- data/vendor/v8/test/mjsunit/regress/regress-crbug-142218.js +44 -0
- data/vendor/v8/test/mjsunit/regress/regress-crbug-145961.js +39 -0
- data/vendor/v8/test/mjsunit/regress/regress-crbug-146910.js +33 -0
- data/vendor/v8/test/mjsunit/regress/regress-crbug-147475.js +48 -0
- data/vendor/v8/test/mjsunit/regress/regress-crbug-148376.js +35 -0
- data/vendor/v8/test/mjsunit/regress/regress-crbug-150545.js +53 -0
- data/vendor/v8/test/mjsunit/regress/regress-crbug-150729.js +39 -0
- data/vendor/v8/test/mjsunit/regress/regress-crbug-157019.js +54 -0
- data/vendor/v8/test/mjsunit/regress/regress-crbug-157520.js +38 -0
- data/vendor/v8/test/mjsunit/regress/regress-crbug-158185.js +39 -0
- data/vendor/v8/test/mjsunit/regress/regress-crbug-160010.js +35 -0
- data/vendor/v8/test/mjsunit/regress/regress-crbug-162085.js +71 -0
- data/vendor/v8/test/mjsunit/regress/regress-crbug-168545.js +34 -0
- data/vendor/v8/test/mjsunit/regress/regress-crbug-170856.js +33 -0
- data/vendor/v8/test/mjsunit/regress/regress-crbug-172345.js +34 -0
- data/vendor/v8/test/mjsunit/regress/regress-crbug-173974.js +36 -0
- data/vendor/v8/test/mjsunit/regress/regress-crbug-18639.js +9 -5
- data/vendor/v8/test/mjsunit/regress/regress-debug-code-recompilation.js +2 -1
- data/vendor/v8/test/mjsunit/regress/regress-deep-proto.js +45 -0
- data/vendor/v8/test/mjsunit/regress/regress-delete-empty-double.js +40 -0
- data/vendor/v8/test/mjsunit/regress/regress-iteration-order.js +42 -0
- data/vendor/v8/test/mjsunit/regress/regress-json-stringify-gc.js +41 -0
- data/vendor/v8/test/mjsunit/regress/regress-latin-1.js +78 -0
- data/vendor/v8/test/mjsunit/regress/regress-load-elements.js +49 -0
- data/vendor/v8/test/mjsunit/regress/regress-observe-empty-double-array.js +38 -0
- data/vendor/v8/test/mjsunit/regress/regress-undefined-store-keyed-fast-element.js +37 -0
- data/vendor/v8/test/mjsunit/shift-for-integer-div.js +59 -0
- data/vendor/v8/test/mjsunit/stack-traces-gc.js +119 -0
- data/vendor/v8/test/mjsunit/stack-traces-overflow.js +122 -0
- data/vendor/v8/test/mjsunit/stack-traces.js +39 -1
- data/vendor/v8/test/mjsunit/str-to-num.js +7 -2
- data/vendor/v8/test/mjsunit/strict-mode.js +36 -11
- data/vendor/v8/test/mjsunit/string-charcodeat.js +3 -0
- data/vendor/v8/test/mjsunit/string-natives.js +72 -0
- data/vendor/v8/test/mjsunit/string-split.js +17 -0
- data/vendor/v8/test/mjsunit/testcfg.py +76 -6
- data/vendor/v8/test/mjsunit/tools/tickprocessor.js +4 -1
- data/vendor/v8/test/mjsunit/try-finally-continue.js +72 -0
- data/vendor/v8/test/mjsunit/typed-array-slice.js +61 -0
- data/vendor/v8/test/mjsunit/unbox-double-arrays.js +2 -0
- data/vendor/v8/test/mjsunit/uri.js +12 -0
- data/vendor/v8/test/mjsunit/with-readonly.js +4 -2
- data/vendor/v8/test/mozilla/mozilla.status +19 -113
- data/vendor/v8/test/mozilla/testcfg.py +122 -3
- data/vendor/v8/test/preparser/preparser.status +5 -0
- data/vendor/v8/test/preparser/strict-identifiers.pyt +1 -1
- data/vendor/v8/test/preparser/testcfg.py +101 -5
- data/vendor/v8/test/sputnik/sputnik.status +1 -1
- data/vendor/v8/test/sputnik/testcfg.py +5 -0
- data/vendor/v8/test/test262/README +2 -2
- data/vendor/v8/test/test262/test262.status +13 -36
- data/vendor/v8/test/test262/testcfg.py +102 -8
- data/vendor/v8/tools/android-build.sh +0 -0
- data/vendor/v8/tools/android-ll-prof.sh +69 -0
- data/vendor/v8/tools/android-run.py +109 -0
- data/vendor/v8/tools/android-sync.sh +105 -0
- data/vendor/v8/tools/bash-completion.sh +0 -0
- data/vendor/v8/tools/check-static-initializers.sh +0 -0
- data/vendor/v8/tools/common-includes.sh +15 -22
- data/vendor/v8/tools/disasm.py +4 -4
- data/vendor/v8/tools/fuzz-harness.sh +0 -0
- data/vendor/v8/tools/gen-postmortem-metadata.py +6 -8
- data/vendor/v8/tools/grokdump.py +404 -129
- data/vendor/v8/tools/gyp/v8.gyp +105 -43
- data/vendor/v8/tools/linux-tick-processor +5 -5
- data/vendor/v8/tools/ll_prof.py +75 -15
- data/vendor/v8/tools/merge-to-branch.sh +2 -2
- data/vendor/v8/tools/plot-timer-events +70 -0
- data/vendor/v8/tools/plot-timer-events.js +510 -0
- data/vendor/v8/tools/presubmit.py +1 -0
- data/vendor/v8/tools/push-to-trunk.sh +14 -4
- data/vendor/v8/tools/run-llprof.sh +69 -0
- data/vendor/v8/tools/run-tests.py +372 -0
- data/vendor/v8/tools/run-valgrind.py +1 -1
- data/vendor/v8/tools/status-file-converter.py +39 -0
- data/vendor/v8/tools/test-server.py +224 -0
- data/vendor/v8/tools/test-wrapper-gypbuild.py +13 -16
- data/vendor/v8/tools/test.py +10 -19
- data/vendor/v8/tools/testrunner/README +174 -0
- data/vendor/v8/tools/testrunner/__init__.py +26 -0
- data/vendor/v8/tools/testrunner/local/__init__.py +26 -0
- data/vendor/v8/tools/testrunner/local/commands.py +153 -0
- data/vendor/v8/tools/testrunner/local/execution.py +182 -0
- data/vendor/v8/tools/testrunner/local/old_statusfile.py +460 -0
- data/vendor/v8/tools/testrunner/local/progress.py +238 -0
- data/vendor/v8/tools/testrunner/local/statusfile.py +145 -0
- data/vendor/v8/tools/testrunner/local/testsuite.py +187 -0
- data/vendor/v8/tools/testrunner/local/utils.py +108 -0
- data/vendor/v8/tools/testrunner/local/verbose.py +99 -0
- data/vendor/v8/tools/testrunner/network/__init__.py +26 -0
- data/vendor/v8/tools/testrunner/network/distro.py +90 -0
- data/vendor/v8/tools/testrunner/network/endpoint.py +124 -0
- data/vendor/v8/tools/testrunner/network/network_execution.py +253 -0
- data/vendor/v8/tools/testrunner/network/perfdata.py +120 -0
- data/vendor/v8/tools/testrunner/objects/__init__.py +26 -0
- data/vendor/v8/tools/testrunner/objects/context.py +50 -0
- data/vendor/v8/tools/testrunner/objects/output.py +60 -0
- data/vendor/v8/tools/testrunner/objects/peer.py +80 -0
- data/vendor/v8/tools/testrunner/objects/testcase.py +83 -0
- data/vendor/v8/tools/testrunner/objects/workpacket.py +90 -0
- data/vendor/v8/tools/testrunner/server/__init__.py +26 -0
- data/vendor/v8/tools/testrunner/server/compression.py +111 -0
- data/vendor/v8/tools/testrunner/server/constants.py +51 -0
- data/vendor/v8/tools/testrunner/server/daemon.py +147 -0
- data/vendor/v8/tools/testrunner/server/local_handler.py +119 -0
- data/vendor/v8/tools/testrunner/server/main.py +245 -0
- data/vendor/v8/tools/testrunner/server/presence_handler.py +120 -0
- data/vendor/v8/tools/testrunner/server/signatures.py +63 -0
- data/vendor/v8/tools/testrunner/server/status_handler.py +112 -0
- data/vendor/v8/tools/testrunner/server/work_handler.py +150 -0
- data/vendor/v8/tools/tick-processor.html +168 -0
- data/vendor/v8/tools/tickprocessor-driver.js +5 -3
- data/vendor/v8/tools/tickprocessor.js +58 -15
- metadata +534 -30
- data/patches/add-freebsd9-and-freebsd10-to-gyp-GetFlavor.patch +0 -11
- data/patches/do-not-imply-vfp3-and-armv7.patch +0 -44
- data/patches/fPIC-on-x64.patch +0 -14
- data/vendor/v8/src/liveobjectlist-inl.h +0 -126
- data/vendor/v8/src/liveobjectlist.cc +0 -2631
- data/vendor/v8/src/liveobjectlist.h +0 -319
- data/vendor/v8/test/mjsunit/mul-exhaustive.js +0 -4629
- data/vendor/v8/test/mjsunit/numops-fuzz.js +0 -4609
- data/vendor/v8/test/mjsunit/regress/regress-1969.js +0 -5045
data/vendor/v8/src/unicode.h
CHANGED
@@ -29,7 +29,7 @@
|
|
29
29
|
#define V8_UNICODE_H_
|
30
30
|
|
31
31
|
#include <sys/types.h>
|
32
|
-
|
32
|
+
#include <globals.h>
|
33
33
|
/**
|
34
34
|
* \file
|
35
35
|
* Definitions and convenience functions for working with unicode.
|
@@ -100,21 +100,6 @@ class UnicodeData {
|
|
100
100
|
static const uchar kMaxCodePoint;
|
101
101
|
};
|
102
102
|
|
103
|
-
// --- U t f 8 a n d 16 ---
|
104
|
-
|
105
|
-
template <typename Data>
|
106
|
-
class Buffer {
|
107
|
-
public:
|
108
|
-
inline Buffer(Data data, unsigned length) : data_(data), length_(length) { }
|
109
|
-
inline Buffer() : data_(0), length_(0) { }
|
110
|
-
Data data() { return data_; }
|
111
|
-
unsigned length() { return length_; }
|
112
|
-
private:
|
113
|
-
Data data_;
|
114
|
-
unsigned length_;
|
115
|
-
};
|
116
|
-
|
117
|
-
|
118
103
|
class Utf16 {
|
119
104
|
public:
|
120
105
|
static inline bool IsLeadSurrogate(int code) {
|
@@ -140,22 +125,32 @@ class Utf16 {
|
|
140
125
|
// One UTF-16 surrogate is endoded (illegally) as 3 UTF-8 bytes.
|
141
126
|
// The illegality stems from the surrogate not being part of a pair.
|
142
127
|
static const int kUtf8BytesToCodeASurrogate = 3;
|
143
|
-
static inline
|
128
|
+
static inline uint16_t LeadSurrogate(uint32_t char_code) {
|
144
129
|
return 0xd800 + (((char_code - 0x10000) >> 10) & 0x3ff);
|
145
130
|
}
|
146
|
-
static inline
|
131
|
+
static inline uint16_t TrailSurrogate(uint32_t char_code) {
|
147
132
|
return 0xdc00 + (char_code & 0x3ff);
|
148
133
|
}
|
149
134
|
};
|
150
135
|
|
136
|
+
class Latin1 {
|
137
|
+
public:
|
138
|
+
#ifndef ENABLE_LATIN_1
|
139
|
+
static const unsigned kMaxChar = 0x7f;
|
140
|
+
#else
|
141
|
+
static const unsigned kMaxChar = 0xff;
|
142
|
+
#endif
|
143
|
+
// Returns 0 if character does not convert to single latin-1 character
|
144
|
+
// or if the character doesn't not convert back to latin-1 via inverse
|
145
|
+
// operation (upper to lower, etc).
|
146
|
+
static inline uint16_t ConvertNonLatin1ToLatin1(uint16_t);
|
147
|
+
};
|
151
148
|
|
152
149
|
class Utf8 {
|
153
150
|
public:
|
154
151
|
static inline uchar Length(uchar chr, int previous);
|
155
152
|
static inline unsigned Encode(
|
156
153
|
char* out, uchar c, int previous);
|
157
|
-
static const byte* ReadBlock(Buffer<const char*> str, byte* buffer,
|
158
|
-
unsigned capacity, unsigned* chars_read, unsigned* offset);
|
159
154
|
static uchar CalculateValue(const byte* str,
|
160
155
|
unsigned length,
|
161
156
|
unsigned* cursor);
|
@@ -170,88 +165,47 @@ class Utf8 {
|
|
170
165
|
// that match are coded as a 4 byte UTF-8 sequence.
|
171
166
|
static const unsigned kBytesSavedByCombiningSurrogates = 2;
|
172
167
|
static const unsigned kSizeOfUnmatchedSurrogate = 3;
|
173
|
-
|
174
|
-
private:
|
175
|
-
template <unsigned s> friend class Utf8InputBuffer;
|
176
|
-
friend class Test;
|
177
168
|
static inline uchar ValueOf(const byte* str,
|
178
169
|
unsigned length,
|
179
170
|
unsigned* cursor);
|
180
171
|
};
|
181
172
|
|
182
|
-
// --- C h a r a c t e r S t r e a m ---
|
183
173
|
|
184
|
-
class
|
174
|
+
class Utf8DecoderBase {
|
185
175
|
public:
|
186
|
-
|
187
|
-
inline
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
static inline bool EncodeCharacter(uchar c, byte* buffer, unsigned capacity,
|
194
|
-
unsigned& offset);
|
195
|
-
static inline bool EncodeAsciiCharacter(uchar c, byte* buffer,
|
196
|
-
unsigned capacity, unsigned& offset);
|
197
|
-
static inline bool EncodeNonAsciiCharacter(uchar c, byte* buffer,
|
198
|
-
unsigned capacity, unsigned& offset);
|
199
|
-
static inline uchar DecodeCharacter(const byte* buffer, unsigned* offset);
|
200
|
-
virtual void Rewind() = 0;
|
201
|
-
|
176
|
+
// Initialization done in subclass.
|
177
|
+
inline Utf8DecoderBase();
|
178
|
+
inline Utf8DecoderBase(uint16_t* buffer,
|
179
|
+
unsigned buffer_length,
|
180
|
+
const uint8_t* stream,
|
181
|
+
unsigned stream_length);
|
182
|
+
inline unsigned Utf16Length() const { return utf16_length_; }
|
202
183
|
protected:
|
203
|
-
|
204
|
-
// The
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
const
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
* character at a time, which gives string implementations an
|
218
|
-
* opportunity to optimize the decoding.
|
219
|
-
*/
|
220
|
-
template <class Reader, class Input = Reader*, unsigned kSize = 256>
|
221
|
-
class InputBuffer : public CharacterStream {
|
222
|
-
public:
|
223
|
-
virtual void Rewind();
|
224
|
-
inline void Reset(Input input);
|
225
|
-
void Seek(unsigned position);
|
226
|
-
inline void Reset(unsigned position, Input input);
|
227
|
-
protected:
|
228
|
-
InputBuffer() { }
|
229
|
-
explicit InputBuffer(Input input) { Reset(input); }
|
230
|
-
virtual void FillBuffer();
|
231
|
-
|
232
|
-
// A custom offset that can be used by the string implementation to
|
233
|
-
// mark progress within the encoded string.
|
234
|
-
unsigned offset_;
|
235
|
-
// The input string
|
236
|
-
Input input_;
|
237
|
-
// To avoid heap allocation, we keep an internal buffer to which
|
238
|
-
// the encoded string can write its characters. The string
|
239
|
-
// implementation is free to decide whether it wants to use this
|
240
|
-
// buffer or not.
|
241
|
-
byte util_buffer_[kSize];
|
184
|
+
// This reads all characters and sets the utf16_length_.
|
185
|
+
// The first buffer_length utf16 chars are cached in the buffer.
|
186
|
+
void Reset(uint16_t* buffer,
|
187
|
+
unsigned buffer_length,
|
188
|
+
const uint8_t* stream,
|
189
|
+
unsigned stream_length);
|
190
|
+
static void WriteUtf16Slow(const uint8_t* stream,
|
191
|
+
uint16_t* data,
|
192
|
+
unsigned length);
|
193
|
+
const uint8_t* unbuffered_start_;
|
194
|
+
unsigned utf16_length_;
|
195
|
+
bool last_byte_of_buffer_unused_;
|
196
|
+
private:
|
197
|
+
DISALLOW_COPY_AND_ASSIGN(Utf8DecoderBase);
|
242
198
|
};
|
243
199
|
|
244
|
-
|
245
|
-
|
246
|
-
template <unsigned s = 256>
|
247
|
-
class Utf8InputBuffer : public InputBuffer<Utf8, Buffer<const char*>, s> {
|
200
|
+
template <unsigned kBufferSize>
|
201
|
+
class Utf8Decoder : public Utf8DecoderBase {
|
248
202
|
public:
|
249
|
-
inline
|
250
|
-
inline
|
251
|
-
inline void Reset(const char*
|
252
|
-
|
253
|
-
|
254
|
-
|
203
|
+
inline Utf8Decoder() {}
|
204
|
+
inline Utf8Decoder(const char* stream, unsigned length);
|
205
|
+
inline void Reset(const char* stream, unsigned length);
|
206
|
+
inline unsigned WriteUtf16(uint16_t* data, unsigned length) const;
|
207
|
+
private:
|
208
|
+
uint16_t buffer_[kBufferSize];
|
255
209
|
};
|
256
210
|
|
257
211
|
|
data/vendor/v8/src/uri.js
CHANGED
@@ -165,11 +165,11 @@ function URIDecodeOctets(octets, result, index) {
|
|
165
165
|
throw new $URIError("URI malformed");
|
166
166
|
}
|
167
167
|
if (value < 0x10000) {
|
168
|
-
result
|
168
|
+
%_TwoByteSeqStringSetChar(result, index++, value);
|
169
169
|
return index;
|
170
170
|
} else {
|
171
|
-
result
|
172
|
-
result
|
171
|
+
%_TwoByteSeqStringSetChar(result, index++, (value >> 10) + 0xd7c0);
|
172
|
+
%_TwoByteSeqStringSetChar(result, index++, (value & 0x3ff) + 0xdc00);
|
173
173
|
return index;
|
174
174
|
}
|
175
175
|
}
|
@@ -178,43 +178,72 @@ function URIDecodeOctets(octets, result, index) {
|
|
178
178
|
// ECMA-262, section 15.1.3
|
179
179
|
function Encode(uri, unescape) {
|
180
180
|
var uriLength = uri.length;
|
181
|
-
|
182
|
-
// which does not expect any getters/setters installed
|
183
|
-
// on the incoming array.
|
184
|
-
var result = new InternalArray(uriLength);
|
181
|
+
var array = new InternalArray(uriLength);
|
185
182
|
var index = 0;
|
186
183
|
for (var k = 0; k < uriLength; k++) {
|
187
184
|
var cc1 = uri.charCodeAt(k);
|
188
185
|
if (unescape(cc1)) {
|
189
|
-
|
186
|
+
array[index++] = cc1;
|
190
187
|
} else {
|
191
188
|
if (cc1 >= 0xDC00 && cc1 <= 0xDFFF) throw new $URIError("URI malformed");
|
192
189
|
if (cc1 < 0xD800 || cc1 > 0xDBFF) {
|
193
|
-
index = URIEncodeSingle(cc1,
|
190
|
+
index = URIEncodeSingle(cc1, array, index);
|
194
191
|
} else {
|
195
192
|
k++;
|
196
193
|
if (k == uriLength) throw new $URIError("URI malformed");
|
197
194
|
var cc2 = uri.charCodeAt(k);
|
198
195
|
if (cc2 < 0xDC00 || cc2 > 0xDFFF) throw new $URIError("URI malformed");
|
199
|
-
index = URIEncodePair(cc1, cc2,
|
196
|
+
index = URIEncodePair(cc1, cc2, array, index);
|
200
197
|
}
|
201
198
|
}
|
202
199
|
}
|
203
|
-
|
200
|
+
|
201
|
+
var result = %NewString(array.length, NEW_ONE_BYTE_STRING);
|
202
|
+
for (var i = 0; i < array.length; i++) {
|
203
|
+
%_OneByteSeqStringSetChar(result, i, array[i]);
|
204
|
+
}
|
205
|
+
return result;
|
204
206
|
}
|
205
207
|
|
206
208
|
|
207
209
|
// ECMA-262, section 15.1.3
|
208
210
|
function Decode(uri, reserved) {
|
209
211
|
var uriLength = uri.length;
|
210
|
-
|
211
|
-
// which does not expect any getters/setters installed
|
212
|
-
// on the incoming array.
|
213
|
-
var result = new InternalArray(uriLength);
|
212
|
+
var one_byte = %NewString(uriLength, NEW_ONE_BYTE_STRING);
|
214
213
|
var index = 0;
|
215
|
-
|
216
|
-
|
217
|
-
|
214
|
+
var k = 0;
|
215
|
+
|
216
|
+
// Optimistically assume ascii string.
|
217
|
+
for ( ; k < uriLength; k++) {
|
218
|
+
var code = uri.charCodeAt(k);
|
219
|
+
if (code == 37) { // '%'
|
220
|
+
if (k + 2 >= uriLength) throw new $URIError("URI malformed");
|
221
|
+
var cc = URIHexCharsToCharCode(uri.charCodeAt(k+1), uri.charCodeAt(k+2));
|
222
|
+
if (cc >> 7) break; // Assumption wrong, two byte string.
|
223
|
+
if (reserved(cc)) {
|
224
|
+
%_OneByteSeqStringSetChar(one_byte, index++, 37); // '%'.
|
225
|
+
%_OneByteSeqStringSetChar(one_byte, index++, uri.charCodeAt(k+1));
|
226
|
+
%_OneByteSeqStringSetChar(one_byte, index++, uri.charCodeAt(k+2));
|
227
|
+
} else {
|
228
|
+
%_OneByteSeqStringSetChar(one_byte, index++, cc);
|
229
|
+
}
|
230
|
+
k += 2;
|
231
|
+
} else {
|
232
|
+
if (code > 0x7f) break; // Assumption wrong, two byte string.
|
233
|
+
%_OneByteSeqStringSetChar(one_byte, index++, code);
|
234
|
+
}
|
235
|
+
}
|
236
|
+
|
237
|
+
one_byte = %TruncateString(one_byte, index);
|
238
|
+
if (k == uriLength) return one_byte;
|
239
|
+
|
240
|
+
// Write into two byte string.
|
241
|
+
var two_byte = %NewString(uriLength - k, NEW_TWO_BYTE_STRING);
|
242
|
+
index = 0;
|
243
|
+
|
244
|
+
for ( ; k < uriLength; k++) {
|
245
|
+
var code = uri.charCodeAt(k);
|
246
|
+
if (code == 37) { // '%'
|
218
247
|
if (k + 2 >= uriLength) throw new $URIError("URI malformed");
|
219
248
|
var cc = URIHexCharsToCharCode(uri.charCodeAt(++k), uri.charCodeAt(++k));
|
220
249
|
if (cc >> 7) {
|
@@ -229,22 +258,21 @@ function Decode(uri, reserved) {
|
|
229
258
|
octets[i] = URIHexCharsToCharCode(uri.charCodeAt(++k),
|
230
259
|
uri.charCodeAt(++k));
|
231
260
|
}
|
232
|
-
index = URIDecodeOctets(octets,
|
261
|
+
index = URIDecodeOctets(octets, two_byte, index);
|
262
|
+
} else if (reserved(cc)) {
|
263
|
+
%_TwoByteSeqStringSetChar(two_byte, index++, 37); // '%'.
|
264
|
+
%_TwoByteSeqStringSetChar(two_byte, index++, uri.charCodeAt(k - 1));
|
265
|
+
%_TwoByteSeqStringSetChar(two_byte, index++, uri.charCodeAt(k));
|
233
266
|
} else {
|
234
|
-
|
235
|
-
result[index++] = 37; // Char code of '%'.
|
236
|
-
result[index++] = uri.charCodeAt(k - 1);
|
237
|
-
result[index++] = uri.charCodeAt(k);
|
238
|
-
} else {
|
239
|
-
result[index++] = cc;
|
240
|
-
}
|
267
|
+
%_TwoByteSeqStringSetChar(two_byte, index++, cc);
|
241
268
|
}
|
242
269
|
} else {
|
243
|
-
|
270
|
+
%_TwoByteSeqStringSetChar(two_byte, index++, code);
|
244
271
|
}
|
245
272
|
}
|
246
|
-
|
247
|
-
|
273
|
+
|
274
|
+
two_byte = %TruncateString(two_byte, index);
|
275
|
+
return one_byte + two_byte;
|
248
276
|
}
|
249
277
|
|
250
278
|
|
data/vendor/v8/src/utils.h
CHANGED
@@ -248,6 +248,7 @@ class BitField {
|
|
248
248
|
// bitfield without compiler warnings we have to compute 2^32 without
|
249
249
|
// using a shift count of 32.
|
250
250
|
static const uint32_t kMask = ((1U << shift) << size) - (1U << shift);
|
251
|
+
static const uint32_t kShift = shift;
|
251
252
|
|
252
253
|
// Value for the field with all bits set.
|
253
254
|
static const T kMax = static_cast<T>((1U << size) - 1);
|
@@ -303,7 +304,7 @@ inline uint32_t ComputeLongHash(uint64_t key) {
|
|
303
304
|
hash = hash ^ (hash >> 11);
|
304
305
|
hash = hash + (hash << 6);
|
305
306
|
hash = hash ^ (hash >> 22);
|
306
|
-
return (
|
307
|
+
return static_cast<uint32_t>(hash);
|
307
308
|
}
|
308
309
|
|
309
310
|
|
@@ -521,11 +522,22 @@ class ScopedVector : public Vector<T> {
|
|
521
522
|
DISALLOW_IMPLICIT_CONSTRUCTORS(ScopedVector);
|
522
523
|
};
|
523
524
|
|
525
|
+
#define STATIC_ASCII_VECTOR(x) \
|
526
|
+
v8::internal::Vector<const uint8_t>(reinterpret_cast<const uint8_t*>(x), \
|
527
|
+
ARRAY_SIZE(x)-1)
|
524
528
|
|
525
529
|
inline Vector<const char> CStrVector(const char* data) {
|
526
530
|
return Vector<const char>(data, StrLength(data));
|
527
531
|
}
|
528
532
|
|
533
|
+
inline Vector<const uint8_t> OneByteVector(const char* data, int length) {
|
534
|
+
return Vector<const uint8_t>(reinterpret_cast<const uint8_t*>(data), length);
|
535
|
+
}
|
536
|
+
|
537
|
+
inline Vector<const uint8_t> OneByteVector(const char* data) {
|
538
|
+
return OneByteVector(data, StrLength(data));
|
539
|
+
}
|
540
|
+
|
529
541
|
inline Vector<char> MutableCStrVector(char* data) {
|
530
542
|
return Vector<char>(data, StrLength(data));
|
531
543
|
}
|
@@ -764,7 +776,9 @@ class SequenceCollector : public Collector<T, growth_factor, max_growth> {
|
|
764
776
|
|
765
777
|
// Compare ASCII/16bit chars to ASCII/16bit chars.
|
766
778
|
template <typename lchar, typename rchar>
|
767
|
-
inline int
|
779
|
+
inline int CompareCharsUnsigned(const lchar* lhs,
|
780
|
+
const rchar* rhs,
|
781
|
+
int chars) {
|
768
782
|
const lchar* limit = lhs + chars;
|
769
783
|
#ifdef V8_HOST_CAN_READ_UNALIGNED
|
770
784
|
if (sizeof(*lhs) == sizeof(*rhs)) {
|
@@ -789,6 +803,33 @@ inline int CompareChars(const lchar* lhs, const rchar* rhs, int chars) {
|
|
789
803
|
return 0;
|
790
804
|
}
|
791
805
|
|
806
|
+
template<typename lchar, typename rchar>
|
807
|
+
inline int CompareChars(const lchar* lhs, const rchar* rhs, int chars) {
|
808
|
+
ASSERT(sizeof(lchar) <= 2);
|
809
|
+
ASSERT(sizeof(rchar) <= 2);
|
810
|
+
if (sizeof(lchar) == 1) {
|
811
|
+
if (sizeof(rchar) == 1) {
|
812
|
+
return CompareCharsUnsigned(reinterpret_cast<const uint8_t*>(lhs),
|
813
|
+
reinterpret_cast<const uint8_t*>(rhs),
|
814
|
+
chars);
|
815
|
+
} else {
|
816
|
+
return CompareCharsUnsigned(reinterpret_cast<const uint8_t*>(lhs),
|
817
|
+
reinterpret_cast<const uint16_t*>(rhs),
|
818
|
+
chars);
|
819
|
+
}
|
820
|
+
} else {
|
821
|
+
if (sizeof(rchar) == 1) {
|
822
|
+
return CompareCharsUnsigned(reinterpret_cast<const uint16_t*>(lhs),
|
823
|
+
reinterpret_cast<const uint8_t*>(rhs),
|
824
|
+
chars);
|
825
|
+
} else {
|
826
|
+
return CompareCharsUnsigned(reinterpret_cast<const uint16_t*>(lhs),
|
827
|
+
reinterpret_cast<const uint16_t*>(rhs),
|
828
|
+
chars);
|
829
|
+
}
|
830
|
+
}
|
831
|
+
}
|
832
|
+
|
792
833
|
|
793
834
|
// Calculate 10^exponent.
|
794
835
|
inline int TenToThe(int exponent) {
|
@@ -861,7 +902,11 @@ class EmbeddedContainer {
|
|
861
902
|
public:
|
862
903
|
EmbeddedContainer() : elems_() { }
|
863
904
|
|
864
|
-
int length() { return NumElements; }
|
905
|
+
int length() const { return NumElements; }
|
906
|
+
const ElementType& operator[](int i) const {
|
907
|
+
ASSERT(i < length());
|
908
|
+
return elems_[i];
|
909
|
+
}
|
865
910
|
ElementType& operator[](int i) {
|
866
911
|
ASSERT(i < length());
|
867
912
|
return elems_[i];
|
@@ -875,7 +920,12 @@ class EmbeddedContainer {
|
|
875
920
|
template<typename ElementType>
|
876
921
|
class EmbeddedContainer<ElementType, 0> {
|
877
922
|
public:
|
878
|
-
int length() { return 0; }
|
923
|
+
int length() const { return 0; }
|
924
|
+
const ElementType& operator[](int i) const {
|
925
|
+
UNREACHABLE();
|
926
|
+
static ElementType t = 0;
|
927
|
+
return t;
|
928
|
+
}
|
879
929
|
ElementType& operator[](int i) {
|
880
930
|
UNREACHABLE();
|
881
931
|
static ElementType t = 0;
|
@@ -973,13 +1023,63 @@ class EnumSet {
|
|
973
1023
|
T Mask(E element) const {
|
974
1024
|
// The strange typing in ASSERT is necessary to avoid stupid warnings, see:
|
975
1025
|
// http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43680
|
976
|
-
ASSERT(element < static_cast<int>(sizeof(T) * CHAR_BIT));
|
1026
|
+
ASSERT(static_cast<int>(element) < static_cast<int>(sizeof(T) * CHAR_BIT));
|
977
1027
|
return 1 << element;
|
978
1028
|
}
|
979
1029
|
|
980
1030
|
T bits_;
|
981
1031
|
};
|
982
1032
|
|
1033
|
+
|
1034
|
+
class TypeFeedbackId {
|
1035
|
+
public:
|
1036
|
+
explicit TypeFeedbackId(int id) : id_(id) { }
|
1037
|
+
int ToInt() const { return id_; }
|
1038
|
+
|
1039
|
+
static TypeFeedbackId None() { return TypeFeedbackId(kNoneId); }
|
1040
|
+
bool IsNone() const { return id_ == kNoneId; }
|
1041
|
+
|
1042
|
+
private:
|
1043
|
+
static const int kNoneId = -1;
|
1044
|
+
|
1045
|
+
int id_;
|
1046
|
+
};
|
1047
|
+
|
1048
|
+
|
1049
|
+
class BailoutId {
|
1050
|
+
public:
|
1051
|
+
explicit BailoutId(int id) : id_(id) { }
|
1052
|
+
int ToInt() const { return id_; }
|
1053
|
+
|
1054
|
+
static BailoutId None() { return BailoutId(kNoneId); }
|
1055
|
+
static BailoutId FunctionEntry() { return BailoutId(kFunctionEntryId); }
|
1056
|
+
static BailoutId Declarations() { return BailoutId(kDeclarationsId); }
|
1057
|
+
static BailoutId FirstUsable() { return BailoutId(kFirstUsableId); }
|
1058
|
+
static BailoutId StubEntry() { return BailoutId(kStubEntryId); }
|
1059
|
+
|
1060
|
+
bool IsNone() const { return id_ == kNoneId; }
|
1061
|
+
bool operator==(const BailoutId& other) const { return id_ == other.id_; }
|
1062
|
+
|
1063
|
+
private:
|
1064
|
+
static const int kNoneId = -1;
|
1065
|
+
|
1066
|
+
// Using 0 could disguise errors.
|
1067
|
+
static const int kFunctionEntryId = 2;
|
1068
|
+
|
1069
|
+
// This AST id identifies the point after the declarations have been visited.
|
1070
|
+
// We need it to capture the environment effects of declarations that emit
|
1071
|
+
// code (function declarations).
|
1072
|
+
static const int kDeclarationsId = 3;
|
1073
|
+
|
1074
|
+
// Every FunctionState starts with this id.
|
1075
|
+
static const int kFirstUsableId = 4;
|
1076
|
+
|
1077
|
+
// Every compiled stub starts with this id.
|
1078
|
+
static const int kStubEntryId = 5;
|
1079
|
+
|
1080
|
+
int id_;
|
1081
|
+
};
|
1082
|
+
|
983
1083
|
} } // namespace v8::internal
|
984
1084
|
|
985
1085
|
#endif // V8_UTILS_H_
|