summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/v8/test/mjsunit
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/v8/test/mjsunit')
-rw-r--r--src/3rdparty/v8/test/mjsunit/accessor-map-sharing.js192
-rw-r--r--src/3rdparty/v8/test/mjsunit/accessors-on-global-object.js72
-rw-r--r--src/3rdparty/v8/test/mjsunit/allocation-site-info.js272
-rw-r--r--src/3rdparty/v8/test/mjsunit/api-call-after-bypassed-exception.js39
-rw-r--r--src/3rdparty/v8/test/mjsunit/apply-arguments-gc-safepoint.js44
-rw-r--r--src/3rdparty/v8/test/mjsunit/apply.js199
-rw-r--r--src/3rdparty/v8/test/mjsunit/argument-assigned.js133
-rw-r--r--src/3rdparty/v8/test/mjsunit/argument-named-arguments.js67
-rw-r--r--src/3rdparty/v8/test/mjsunit/arguments-apply.js134
-rw-r--r--src/3rdparty/v8/test/mjsunit/arguments-call-apply.js41
-rw-r--r--src/3rdparty/v8/test/mjsunit/arguments-enum.js52
-rw-r--r--src/3rdparty/v8/test/mjsunit/arguments-escape.js59
-rw-r--r--src/3rdparty/v8/test/mjsunit/arguments-indirect.js47
-rw-r--r--src/3rdparty/v8/test/mjsunit/arguments-lazy.js47
-rw-r--r--src/3rdparty/v8/test/mjsunit/arguments-load-across-eval.js86
-rw-r--r--src/3rdparty/v8/test/mjsunit/arguments-opt.js132
-rw-r--r--src/3rdparty/v8/test/mjsunit/arguments-read-and-assignment.js164
-rw-r--r--src/3rdparty/v8/test/mjsunit/arguments.js190
-rw-r--r--src/3rdparty/v8/test/mjsunit/array-bounds-check-removal.js203
-rw-r--r--src/3rdparty/v8/test/mjsunit/array-concat.js237
-rw-r--r--src/3rdparty/v8/test/mjsunit/array-construct-transition.js39
-rw-r--r--src/3rdparty/v8/test/mjsunit/array-constructor.js119
-rw-r--r--src/3rdparty/v8/test/mjsunit/array-elements-from-array-prototype-chain.js191
-rw-r--r--src/3rdparty/v8/test/mjsunit/array-elements-from-array-prototype.js191
-rw-r--r--src/3rdparty/v8/test/mjsunit/array-elements-from-object-prototype.js191
-rw-r--r--src/3rdparty/v8/test/mjsunit/array-functions-prototype-misc.js314
-rw-r--r--src/3rdparty/v8/test/mjsunit/array-functions-prototype.js159
-rw-r--r--src/3rdparty/v8/test/mjsunit/array-indexing.js186
-rw-r--r--src/3rdparty/v8/test/mjsunit/array-iteration.js228
-rw-r--r--src/3rdparty/v8/test/mjsunit/array-join.js93
-rw-r--r--src/3rdparty/v8/test/mjsunit/array-length-number-conversion.js53
-rw-r--r--src/3rdparty/v8/test/mjsunit/array-length.js121
-rw-r--r--src/3rdparty/v8/test/mjsunit/array-literal-transitions.js212
-rw-r--r--src/3rdparty/v8/test/mjsunit/array-natives-elements.js318
-rw-r--r--src/3rdparty/v8/test/mjsunit/array-pop.js123
-rw-r--r--src/3rdparty/v8/test/mjsunit/array-push.js115
-rwxr-xr-xsrc/3rdparty/v8/test/mjsunit/array-reduce.js523
-rw-r--r--src/3rdparty/v8/test/mjsunit/array-shift.js108
-rw-r--r--src/3rdparty/v8/test/mjsunit/array-slice.js304
-rw-r--r--src/3rdparty/v8/test/mjsunit/array-sort.js406
-rw-r--r--src/3rdparty/v8/test/mjsunit/array-splice.js382
-rw-r--r--src/3rdparty/v8/test/mjsunit/array-store-and-grow.js186
-rw-r--r--src/3rdparty/v8/test/mjsunit/array-tostring.js159
-rw-r--r--src/3rdparty/v8/test/mjsunit/array-unshift.js215
-rw-r--r--src/3rdparty/v8/test/mjsunit/ascii-regexp-subject.js49
-rw-r--r--src/3rdparty/v8/test/mjsunit/assert-opt-and-deopt.js177
-rw-r--r--src/3rdparty/v8/test/mjsunit/big-array-literal.js114
-rw-r--r--src/3rdparty/v8/test/mjsunit/big-object-literal.js114
-rw-r--r--src/3rdparty/v8/test/mjsunit/binary-op-newspace.js61
-rw-r--r--src/3rdparty/v8/test/mjsunit/binary-operation-overwrite.js36
-rw-r--r--src/3rdparty/v8/test/mjsunit/bit-not.js77
-rw-r--r--src/3rdparty/v8/test/mjsunit/bitops-info.js83
-rw-r--r--src/3rdparty/v8/test/mjsunit/bitwise-operations-undefined.js49
-rw-r--r--src/3rdparty/v8/test/mjsunit/body-not-visible.js39
-rw-r--r--src/3rdparty/v8/test/mjsunit/boolean.js74
-rw-r--r--src/3rdparty/v8/test/mjsunit/break.js76
-rw-r--r--src/3rdparty/v8/test/mjsunit/bugs/618.js86
-rw-r--r--src/3rdparty/v8/test/mjsunit/bugs/bug-1344252.js79
-rw-r--r--src/3rdparty/v8/test/mjsunit/bugs/bug-222.js42
-rw-r--r--src/3rdparty/v8/test/mjsunit/bugs/bug-2337.js53
-rw-r--r--src/3rdparty/v8/test/mjsunit/bugs/bug-617.js44
-rw-r--r--src/3rdparty/v8/test/mjsunit/bugs/bug-618.js45
-rw-r--r--src/3rdparty/v8/test/mjsunit/bugs/bug-941049.js100
-rw-r--r--src/3rdparty/v8/test/mjsunit/bugs/harmony/debug-blockscopes.js224
-rw-r--r--src/3rdparty/v8/test/mjsunit/builtins.js79
-rw-r--r--src/3rdparty/v8/test/mjsunit/call-non-function-call.js38
-rw-r--r--src/3rdparty/v8/test/mjsunit/call-non-function.js63
-rw-r--r--src/3rdparty/v8/test/mjsunit/call-stub.js66
-rw-r--r--src/3rdparty/v8/test/mjsunit/call.js87
-rw-r--r--src/3rdparty/v8/test/mjsunit/char-escape.js53
-rw-r--r--src/3rdparty/v8/test/mjsunit/class-of-builtins.js50
-rw-r--r--src/3rdparty/v8/test/mjsunit/closure.js37
-rw-r--r--src/3rdparty/v8/test/mjsunit/closures.js47
-rw-r--r--src/3rdparty/v8/test/mjsunit/codegen-coverage.js148
-rw-r--r--src/3rdparty/v8/test/mjsunit/compare-character.js50
-rw-r--r--src/3rdparty/v8/test/mjsunit/compare-known-objects-slow.js69
-rw-r--r--src/3rdparty/v8/test/mjsunit/compare-nan.js66
-rw-r--r--src/3rdparty/v8/test/mjsunit/comparison-ops-and-undefined.js128
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/alloc-number.js39
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/alloc-object-huge.js310
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/alloc-object.js90
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/array-access.js132
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/array-length.js49
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/assignment-deopt.js180
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/assignment.js283
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/binary-ops.js55
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/call-keyed.js38
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/compare.js108
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/complex-for-in.js50
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/control-flow-0.js44
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/control-flow-1.js55
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/control-flow-2.js34
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/count-deopt.js180
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/countoperation.js131
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/delete.js72
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/deopt-args.js47
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/deopt-inlined-smi.js64
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/eval-introduced-closure.js95
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/expression-trees.js107
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/for-stmt.js59
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/function-call.js52
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/global-accessors.js47
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/globals.js76
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/inline-accessors.js368
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/inline-arguments.js268
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/inline-arity-mismatch.js62
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/inline-closures.js49
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/inline-compare.js50
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/inline-conditional.js46
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/inline-construct.js166
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/inline-context-slots.js49
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/inline-function-apply.js89
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/inline-global-access.js53
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/inline-literals.js89
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/inline-param.js86
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/inline-throw.js69
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/inline-two.js101
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/jsnatives.js33
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/lazy-const-lookup.js41
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/literals-assignment.js104
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/literals-optimized.js121
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/literals.js93
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/logical-and.js70
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/logical-or.js66
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/loopcount.js92
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/loops.js61
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/math-floor-global.js161
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/math-floor-local.js161
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/multiply-add.js69
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/multiply-sub.js56
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/null-compare.js54
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/objectliterals.js57
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/optimize-bitnot.js42
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/optimized-closures.js57
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/optimized-for-in.js300
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/optimized-function-calls.js81
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/parallel-proto-change.js44
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/pic.js72
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/property-calls.js41
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/property-refs.js55
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/property-simple.js39
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/property-static.js69
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/property-stores.js51
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/proto-chain-constant.js55
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/proto-chain-load.js44
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/recursive-deopt.js45
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/regress-0.js37
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/regress-1.js35
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/regress-106351.js38
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/regress-1085.js38
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/regress-1394.js59
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/regress-2.js44
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/regress-3.js37
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/regress-3136962.js51
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/regress-3185901.js35
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/regress-3218915.js52
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/regress-3249650.js53
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/regress-3260426.js36
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/regress-4.js40
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/regress-5.js43
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/regress-6.js42
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/regress-7.js41
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/regress-8.js109
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/regress-96989.js43
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/regress-arguments.js52
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/regress-arrayliteral.js33
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/regress-closures-with-eval.js56
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/regress-const.js68
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/regress-deopt-call-as-function.js62
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/regress-funarguments.js86
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/regress-funcaller.js78
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/regress-gap.js130
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/regress-gvn.js52
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/regress-inline-callfunctionstub.js46
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/regress-intoverflow.js67
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/regress-lazy-deopt.js48
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/regress-lbranch-double.js40
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/regress-loadfield.js69
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/regress-loop-deopt.js41
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/regress-max-locals-for-osr.js43
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/regress-max.js36
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/regress-or.js61
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/regress-rep-change.js42
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/regress-serialized-slots.js61
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/regress-stacktrace-methods.js69
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/regress-stacktrace.js52
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/regress-toint32.js45
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/regress-valueof.js35
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/rotate.js224
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/safepoint.js39
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/short-circuit.js102
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/simple-bailouts.js143
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/simple-binary-op.js38
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/simple-deopt.js107
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/simple-global-access.js51
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/simple-inlining.js160
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/simple-osr.js44
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/strict-recompile.js51
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/switch-bailout.js43
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/this-property-refs.js62
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/thisfunction.js33
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/uint32.js173
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/unary-add.js67
-rw-r--r--src/3rdparty/v8/test/mjsunit/compiler/variables.js73
-rw-r--r--src/3rdparty/v8/test/mjsunit/const-declaration.js172
-rw-r--r--src/3rdparty/v8/test/mjsunit/const-eval-init.js117
-rw-r--r--src/3rdparty/v8/test/mjsunit/const-redecl.js280
-rw-r--r--src/3rdparty/v8/test/mjsunit/const.js70
-rw-r--r--src/3rdparty/v8/test/mjsunit/constant-folding-2.js258
-rw-r--r--src/3rdparty/v8/test/mjsunit/constant-folding.js232
-rw-r--r--src/3rdparty/v8/test/mjsunit/context-variable-assignments.js37
-rw-r--r--src/3rdparty/v8/test/mjsunit/copy-on-write-assert.js42
-rw-r--r--src/3rdparty/v8/test/mjsunit/count-based-osr.js39
-rw-r--r--src/3rdparty/v8/test/mjsunit/cyclic-array-to-string.js65
-rw-r--r--src/3rdparty/v8/test/mjsunit/cyrillic.js199
-rw-r--r--src/3rdparty/v8/test/mjsunit/d8-os.js188
-rw-r--r--src/3rdparty/v8/test/mjsunit/date-parse.js297
-rw-r--r--src/3rdparty/v8/test/mjsunit/date.js343
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-backtrace-text.js122
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-backtrace.js271
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-break-inline.js101
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-breakpoints.js206
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-changebreakpoint.js108
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-clearbreakpoint.js100
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-clearbreakpointgroup.js122
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-compile-event-newfunction.js68
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-compile-event.js120
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-conditional-breakpoints.js171
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-constructed-by.js60
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-constructor.js78
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-continue.js114
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-enable-disable-breakpoints.js105
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-evaluate-arguments.js93
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-evaluate-bool-constructor.js80
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-evaluate-locals-optimized-double.js237
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-evaluate-locals-optimized.js217
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-evaluate-locals.js138
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-evaluate-recursive.js167
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-evaluate-with-context.js144
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-evaluate-with.js81
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-evaluate.js155
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-event-listener.js73
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-function-scopes.js162
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-handle.js252
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-ignore-breakpoints.js89
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-listbreakpoints.js210
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-liveedit-1.js48
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-liveedit-2.js66
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-liveedit-3.js70
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-liveedit-breakpoints.js113
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-liveedit-check-stack.js141
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-liveedit-compile-error.js60
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-liveedit-diff.js113
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-liveedit-double-call.js142
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-liveedit-literals.js94
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-liveedit-newsource.js69
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-liveedit-patch-positions-replace.js83
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-liveedit-patch-positions.js126
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-liveedit-restart-frame.js153
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-liveedit-stack-padding.js88
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-liveedit-utils.js97
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-mirror-cache.js85
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-multiple-breakpoints.js105
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-receiver.js126
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-referenced-by.js112
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-references.js118
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-return-value.js163
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-scopes.js997
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-script-breakpoints-closure.js67
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-script-breakpoints-nested.js82
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-script-breakpoints.js112
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-script.js100
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-scripts-request.js110
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-set-script-source.js64
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-set-variable-value.js308
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-setbreakpoint.js217
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-setexceptionbreak.js119
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-sourceinfo.js352
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-sourceslice.js74
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-step-2.js89
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-step-3.js94
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-step-stub-callfunction.js87
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-step.js83
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-stepin-accessor.js248
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-stepin-builtin-callback.js157
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-stepin-builtin.js78
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-stepin-call-function-stub.js115
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-stepin-constructor.js78
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-stepin-function-call.js164
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-stepnext-do-while.js79
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-stepout-recursive-function.js106
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-stepout-scope-part1.js190
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-stepout-scope-part2.js83
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-stepout-scope-part3.js80
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-stepout-scope-part4.js80
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-stepout-scope-part5.js77
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-stepout-scope-part6.js79
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-stepout-scope-part7.js79
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-stepout-scope-part8.js234
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-stepout-to-builtin.js84
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-suspend.js96
-rw-r--r--src/3rdparty/v8/test/mjsunit/debug-version.js90
-rw-r--r--src/3rdparty/v8/test/mjsunit/declare-locally.js45
-rw-r--r--src/3rdparty/v8/test/mjsunit/deep-recursion.js66
-rw-r--r--src/3rdparty/v8/test/mjsunit/define-property-gc.js45
-rw-r--r--src/3rdparty/v8/test/mjsunit/delay-syntax-error.js42
-rw-r--r--src/3rdparty/v8/test/mjsunit/delete-global-properties.js48
-rw-r--r--src/3rdparty/v8/test/mjsunit/delete-in-eval.js32
-rw-r--r--src/3rdparty/v8/test/mjsunit/delete-in-with.js34
-rw-r--r--src/3rdparty/v8/test/mjsunit/delete-non-configurable.js74
-rw-r--r--src/3rdparty/v8/test/mjsunit/delete-vars-from-eval.js40
-rw-r--r--src/3rdparty/v8/test/mjsunit/delete.js180
-rw-r--r--src/3rdparty/v8/test/mjsunit/deopt-minus-zero.js56
-rw-r--r--src/3rdparty/v8/test/mjsunit/div-mod.js304
-rw-r--r--src/3rdparty/v8/test/mjsunit/do-not-strip-fc.js31
-rw-r--r--src/3rdparty/v8/test/mjsunit/dont-enum-array-holes.js35
-rw-r--r--src/3rdparty/v8/test/mjsunit/dont-reinit-global-var.js47
-rw-r--r--src/3rdparty/v8/test/mjsunit/double-equals.js236
-rw-r--r--src/3rdparty/v8/test/mjsunit/dtoa.js32
-rw-r--r--src/3rdparty/v8/test/mjsunit/elements-kind-depends.js74
-rw-r--r--src/3rdparty/v8/test/mjsunit/elements-kind.js348
-rw-r--r--src/3rdparty/v8/test/mjsunit/elements-length-no-holey.js33
-rw-r--r--src/3rdparty/v8/test/mjsunit/elements-transition-hoisting.js238
-rw-r--r--src/3rdparty/v8/test/mjsunit/elements-transition.js113
-rw-r--r--src/3rdparty/v8/test/mjsunit/enumeration-order.js109
-rw-r--r--src/3rdparty/v8/test/mjsunit/error-accessors.js54
-rw-r--r--src/3rdparty/v8/test/mjsunit/error-constructors.js104
-rw-r--r--src/3rdparty/v8/test/mjsunit/error-tostring.js93
-rw-r--r--src/3rdparty/v8/test/mjsunit/escape.js118
-rw-r--r--src/3rdparty/v8/test/mjsunit/eval-enclosing-function-name.js76
-rw-r--r--src/3rdparty/v8/test/mjsunit/eval-stack-trace.js204
-rw-r--r--src/3rdparty/v8/test/mjsunit/eval-typeof-non-existing.js35
-rw-r--r--src/3rdparty/v8/test/mjsunit/eval.js189
-rw-r--r--src/3rdparty/v8/test/mjsunit/external-array.js716
-rw-r--r--src/3rdparty/v8/test/mjsunit/extra-arguments.js54
-rw-r--r--src/3rdparty/v8/test/mjsunit/extra-commas.js46
-rw-r--r--src/3rdparty/v8/test/mjsunit/fast-array-length.js37
-rw-r--r--src/3rdparty/v8/test/mjsunit/fast-element-smi-check.js70
-rw-r--r--src/3rdparty/v8/test/mjsunit/fast-non-keyed.js113
-rw-r--r--src/3rdparty/v8/test/mjsunit/fast-prototype.js117
-rw-r--r--src/3rdparty/v8/test/mjsunit/for-in-delete.js50
-rw-r--r--src/3rdparty/v8/test/mjsunit/for-in-null-or-undefined.js33
-rw-r--r--src/3rdparty/v8/test/mjsunit/for-in-special-cases.js121
-rw-r--r--src/3rdparty/v8/test/mjsunit/for-in.js121
-rw-r--r--src/3rdparty/v8/test/mjsunit/for.js32
-rw-r--r--src/3rdparty/v8/test/mjsunit/fun-as-prototype.js36
-rw-r--r--src/3rdparty/v8/test/mjsunit/fun-name.js34
-rw-r--r--src/3rdparty/v8/test/mjsunit/function-arguments-null.js30
-rw-r--r--src/3rdparty/v8/test/mjsunit/function-bind.js296
-rw-r--r--src/3rdparty/v8/test/mjsunit/function-call.js355
-rw-r--r--src/3rdparty/v8/test/mjsunit/function-caller.js55
-rw-r--r--src/3rdparty/v8/test/mjsunit/function-named-self-reference.js45
-rw-r--r--src/3rdparty/v8/test/mjsunit/function-names.js133
-rw-r--r--src/3rdparty/v8/test/mjsunit/function-property.js29
-rw-r--r--src/3rdparty/v8/test/mjsunit/function-prototype.js98
-rw-r--r--src/3rdparty/v8/test/mjsunit/function-source.js49
-rw-r--r--src/3rdparty/v8/test/mjsunit/function-without-prototype.js54
-rw-r--r--src/3rdparty/v8/test/mjsunit/function.js83
-rw-r--r--src/3rdparty/v8/test/mjsunit/fuzz-accessors.js85
-rw-r--r--src/3rdparty/v8/test/mjsunit/fuzz-natives-part1.js230
-rw-r--r--src/3rdparty/v8/test/mjsunit/fuzz-natives-part2.js229
-rw-r--r--src/3rdparty/v8/test/mjsunit/fuzz-natives-part3.js229
-rw-r--r--src/3rdparty/v8/test/mjsunit/fuzz-natives-part4.js229
-rw-r--r--src/3rdparty/v8/test/mjsunit/generated-transition-stub.js218
-rw-r--r--src/3rdparty/v8/test/mjsunit/get-own-property-descriptor.js121
-rw-r--r--src/3rdparty/v8/test/mjsunit/get-prototype-of.js68
-rw-r--r--src/3rdparty/v8/test/mjsunit/getter-in-prototype.js78
-rw-r--r--src/3rdparty/v8/test/mjsunit/getter-in-value-prototype.js35
-rw-r--r--src/3rdparty/v8/test/mjsunit/global-accessors.js52
-rw-r--r--src/3rdparty/v8/test/mjsunit/global-const-var-conflicts.js57
-rw-r--r--src/3rdparty/v8/test/mjsunit/global-deleted-property-ic.js45
-rw-r--r--src/3rdparty/v8/test/mjsunit/global-deleted-property-keyed.js38
-rw-r--r--src/3rdparty/v8/test/mjsunit/global-ic.js48
-rw-r--r--src/3rdparty/v8/test/mjsunit/global-load-from-eval-in-with.js59
-rw-r--r--src/3rdparty/v8/test/mjsunit/global-load-from-eval.js85
-rw-r--r--src/3rdparty/v8/test/mjsunit/global-load-from-nested-eval.js66
-rw-r--r--src/3rdparty/v8/test/mjsunit/global-vars-eval.js34
-rw-r--r--src/3rdparty/v8/test/mjsunit/global-vars-with.js43
-rw-r--r--src/3rdparty/v8/test/mjsunit/greedy.js60
-rw-r--r--src/3rdparty/v8/test/mjsunit/harmony/block-conflicts.js135
-rw-r--r--src/3rdparty/v8/test/mjsunit/harmony/block-const-assign.js131
-rw-r--r--src/3rdparty/v8/test/mjsunit/harmony/block-early-errors.js55
-rw-r--r--src/3rdparty/v8/test/mjsunit/harmony/block-for.js146
-rw-r--r--src/3rdparty/v8/test/mjsunit/harmony/block-lazy-compile.js50
-rw-r--r--src/3rdparty/v8/test/mjsunit/harmony/block-leave.js227
-rw-r--r--src/3rdparty/v8/test/mjsunit/harmony/block-let-crankshaft.js262
-rw-r--r--src/3rdparty/v8/test/mjsunit/harmony/block-let-declaration.js137
-rw-r--r--src/3rdparty/v8/test/mjsunit/harmony/block-let-semantics.js190
-rw-r--r--src/3rdparty/v8/test/mjsunit/harmony/block-scoping.js265
-rw-r--r--src/3rdparty/v8/test/mjsunit/harmony/collections.js372
-rw-r--r--src/3rdparty/v8/test/mjsunit/harmony/debug-blockscopes.js470
-rw-r--r--src/3rdparty/v8/test/mjsunit/harmony/debug-evaluate-blockscopes.js70
-rw-r--r--src/3rdparty/v8/test/mjsunit/harmony/debug-function-scopes.js115
-rw-r--r--src/3rdparty/v8/test/mjsunit/harmony/module-linking.js298
-rw-r--r--src/3rdparty/v8/test/mjsunit/harmony/module-parsing.js190
-rw-r--r--src/3rdparty/v8/test/mjsunit/harmony/module-recompile.js87
-rw-r--r--src/3rdparty/v8/test/mjsunit/harmony/module-resolution.js152
-rw-r--r--src/3rdparty/v8/test/mjsunit/harmony/object-observe.js1056
-rw-r--r--src/3rdparty/v8/test/mjsunit/harmony/proxies-example-membrane.js512
-rw-r--r--src/3rdparty/v8/test/mjsunit/harmony/proxies-for.js168
-rw-r--r--src/3rdparty/v8/test/mjsunit/harmony/proxies-function.js748
-rw-r--r--src/3rdparty/v8/test/mjsunit/harmony/proxies-hash.js122
-rw-r--r--src/3rdparty/v8/test/mjsunit/harmony/proxies-json.js178
-rw-r--r--src/3rdparty/v8/test/mjsunit/harmony/proxies.js2300
-rw-r--r--src/3rdparty/v8/test/mjsunit/harmony/symbols.js127
-rw-r--r--src/3rdparty/v8/test/mjsunit/harmony/typeof.js35
-rw-r--r--src/3rdparty/v8/test/mjsunit/has-own-property.js38
-rw-r--r--src/3rdparty/v8/test/mjsunit/hex-parsing.js39
-rw-r--r--src/3rdparty/v8/test/mjsunit/html-comments.js57
-rw-r--r--src/3rdparty/v8/test/mjsunit/html-string-funcs.js47
-rw-r--r--src/3rdparty/v8/test/mjsunit/if-in-undefined.js36
-rw-r--r--src/3rdparty/v8/test/mjsunit/in.js159
-rw-r--r--src/3rdparty/v8/test/mjsunit/indexed-accessors.js108
-rw-r--r--src/3rdparty/v8/test/mjsunit/indexed-value-properties.js56
-rw-r--r--src/3rdparty/v8/test/mjsunit/instanceof-2.js329
-rw-r--r--src/3rdparty/v8/test/mjsunit/instanceof.js93
-rw-r--r--src/3rdparty/v8/test/mjsunit/int32-ops.js227
-rw-r--r--src/3rdparty/v8/test/mjsunit/integer-to-string.js35
-rw-r--r--src/3rdparty/v8/test/mjsunit/invalid-lhs.js65
-rw-r--r--src/3rdparty/v8/test/mjsunit/invalid-source-element.js31
-rw-r--r--src/3rdparty/v8/test/mjsunit/json-parser-recursive.js33
-rw-r--r--src/3rdparty/v8/test/mjsunit/json-stringify-recursive.js52
-rw-r--r--src/3rdparty/v8/test/mjsunit/json.js475
-rw-r--r--src/3rdparty/v8/test/mjsunit/json2.js153
-rw-r--r--src/3rdparty/v8/test/mjsunit/keyed-call-generic.js113
-rw-r--r--src/3rdparty/v8/test/mjsunit/keyed-call-ic.js205
-rw-r--r--src/3rdparty/v8/test/mjsunit/keyed-ic.js236
-rw-r--r--src/3rdparty/v8/test/mjsunit/keyed-storage-extend.js55
-rw-r--r--src/3rdparty/v8/test/mjsunit/keywords-and-reserved_words.js177
-rw-r--r--src/3rdparty/v8/test/mjsunit/large-object-allocation.js300
-rw-r--r--src/3rdparty/v8/test/mjsunit/large-object-literal.js56
-rw-r--r--src/3rdparty/v8/test/mjsunit/lazy-load.js34
-rw-r--r--src/3rdparty/v8/test/mjsunit/leakcheck.js53
-rw-r--r--src/3rdparty/v8/test/mjsunit/length.js78
-rw-r--r--src/3rdparty/v8/test/mjsunit/limit-locals.js47
-rw-r--r--src/3rdparty/v8/test/mjsunit/local-load-from-eval.js39
-rw-r--r--src/3rdparty/v8/test/mjsunit/logical.js49
-rw-r--r--src/3rdparty/v8/test/mjsunit/manual-parallel-recompile.js79
-rw-r--r--src/3rdparty/v8/test/mjsunit/math-abs.js111
-rw-r--r--src/3rdparty/v8/test/mjsunit/math-exp-precision.js64
-rw-r--r--src/3rdparty/v8/test/mjsunit/math-floor-negative.js59
-rw-r--r--src/3rdparty/v8/test/mjsunit/math-floor-of-div-minus-zero.js41
-rw-r--r--src/3rdparty/v8/test/mjsunit/math-floor-of-div-nosudiv.js288
-rw-r--r--src/3rdparty/v8/test/mjsunit/math-floor-of-div.js288
-rw-r--r--src/3rdparty/v8/test/mjsunit/math-floor-part1.js88
-rw-r--r--src/3rdparty/v8/test/mjsunit/math-floor-part2.js76
-rw-r--r--src/3rdparty/v8/test/mjsunit/math-floor-part3.js78
-rw-r--r--src/3rdparty/v8/test/mjsunit/math-floor-part4.js76
-rw-r--r--src/3rdparty/v8/test/mjsunit/math-min-max.js189
-rw-r--r--src/3rdparty/v8/test/mjsunit/math-pow.js173
-rw-r--r--src/3rdparty/v8/test/mjsunit/math-round.js174
-rw-r--r--src/3rdparty/v8/test/mjsunit/math-sqrt.js53
-rw-r--r--src/3rdparty/v8/test/mjsunit/megamorphic-callbacks.js70
-rw-r--r--src/3rdparty/v8/test/mjsunit/mirror-array.js138
-rw-r--r--src/3rdparty/v8/test/mjsunit/mirror-boolean.js59
-rw-r--r--src/3rdparty/v8/test/mjsunit/mirror-date.js77
-rw-r--r--src/3rdparty/v8/test/mjsunit/mirror-error.js94
-rw-r--r--src/3rdparty/v8/test/mjsunit/mirror-function.js90
-rw-r--r--src/3rdparty/v8/test/mjsunit/mirror-null.js50
-rw-r--r--src/3rdparty/v8/test/mjsunit/mirror-number.js77
-rw-r--r--src/3rdparty/v8/test/mjsunit/mirror-object.js266
-rw-r--r--src/3rdparty/v8/test/mjsunit/mirror-regexp.js110
-rw-r--r--src/3rdparty/v8/test/mjsunit/mirror-script.js98
-rw-r--r--src/3rdparty/v8/test/mjsunit/mirror-string.js89
-rw-r--r--src/3rdparty/v8/test/mjsunit/mirror-undefined.js50
-rw-r--r--src/3rdparty/v8/test/mjsunit/mirror-unresolved-function.js81
-rw-r--r--src/3rdparty/v8/test/mjsunit/mjsunit.js357
-rw-r--r--src/3rdparty/v8/test/mjsunit/mjsunit.status203
-rw-r--r--src/3rdparty/v8/test/mjsunit/mod.js53
-rw-r--r--src/3rdparty/v8/test/mjsunit/mul-exhaustive-part1.js491
-rw-r--r--src/3rdparty/v8/test/mjsunit/mul-exhaustive-part10.js470
-rw-r--r--src/3rdparty/v8/test/mjsunit/mul-exhaustive-part2.js525
-rw-r--r--src/3rdparty/v8/test/mjsunit/mul-exhaustive-part3.js532
-rw-r--r--src/3rdparty/v8/test/mjsunit/mul-exhaustive-part4.js509
-rw-r--r--src/3rdparty/v8/test/mjsunit/mul-exhaustive-part5.js505
-rw-r--r--src/3rdparty/v8/test/mjsunit/mul-exhaustive-part6.js554
-rw-r--r--src/3rdparty/v8/test/mjsunit/mul-exhaustive-part7.js497
-rw-r--r--src/3rdparty/v8/test/mjsunit/mul-exhaustive-part8.js526
-rw-r--r--src/3rdparty/v8/test/mjsunit/mul-exhaustive-part9.js533
-rw-r--r--src/3rdparty/v8/test/mjsunit/multiline.js30
-rw-r--r--src/3rdparty/v8/test/mjsunit/multiple-return.js62
-rw-r--r--src/3rdparty/v8/test/mjsunit/negate-zero.js42
-rw-r--r--src/3rdparty/v8/test/mjsunit/negate.js59
-rw-r--r--src/3rdparty/v8/test/mjsunit/new-function.js34
-rw-r--r--src/3rdparty/v8/test/mjsunit/new.js56
-rw-r--r--src/3rdparty/v8/test/mjsunit/newline-in-string.js46
-rw-r--r--src/3rdparty/v8/test/mjsunit/no-branch-elimination.js36
-rw-r--r--src/3rdparty/v8/test/mjsunit/no-octal-constants-above-256.js32
-rw-r--r--src/3rdparty/v8/test/mjsunit/no-semicolon.js45
-rw-r--r--src/3rdparty/v8/test/mjsunit/non-ascii-replace.js30
-rw-r--r--src/3rdparty/v8/test/mjsunit/not.js59
-rw-r--r--src/3rdparty/v8/test/mjsunit/nul-characters.js38
-rw-r--r--src/3rdparty/v8/test/mjsunit/number-is.js58
-rw-r--r--src/3rdparty/v8/test/mjsunit/number-limits.js47
-rw-r--r--src/3rdparty/v8/test/mjsunit/number-string-index-call.js31
-rw-r--r--src/3rdparty/v8/test/mjsunit/number-tostring-small.js395
-rw-r--r--src/3rdparty/v8/test/mjsunit/number-tostring.js340
-rw-r--r--src/3rdparty/v8/test/mjsunit/numops-fuzz-part1.js1172
-rw-r--r--src/3rdparty/v8/test/mjsunit/numops-fuzz-part2.js1178
-rw-r--r--src/3rdparty/v8/test/mjsunit/numops-fuzz-part3.js1178
-rw-r--r--src/3rdparty/v8/test/mjsunit/numops-fuzz-part4.js1177
-rw-r--r--src/3rdparty/v8/test/mjsunit/obj-construct.js46
-rw-r--r--src/3rdparty/v8/test/mjsunit/object-create.js250
-rw-r--r--src/3rdparty/v8/test/mjsunit/object-define-properties.js72
-rw-r--r--src/3rdparty/v8/test/mjsunit/object-define-property.js1192
-rw-r--r--src/3rdparty/v8/test/mjsunit/object-freeze.js193
-rw-r--r--src/3rdparty/v8/test/mjsunit/object-get-own-property-names.js106
-rw-r--r--src/3rdparty/v8/test/mjsunit/object-is.js47
-rw-r--r--src/3rdparty/v8/test/mjsunit/object-literal-conversions.js46
-rw-r--r--src/3rdparty/v8/test/mjsunit/object-literal-gc.js66
-rw-r--r--src/3rdparty/v8/test/mjsunit/object-literal-overwrite.js118
-rw-r--r--src/3rdparty/v8/test/mjsunit/object-literal.js192
-rw-r--r--src/3rdparty/v8/test/mjsunit/object-prevent-extensions.js128
-rw-r--r--src/3rdparty/v8/test/mjsunit/object-seal.js194
-rw-r--r--src/3rdparty/v8/test/mjsunit/object-toprimitive.js104
-rw-r--r--src/3rdparty/v8/test/mjsunit/optimized-typeof.js47
-rw-r--r--src/3rdparty/v8/test/mjsunit/override-read-only-property.js66
-rw-r--r--src/3rdparty/v8/test/mjsunit/packed-elements.js112
-rw-r--r--src/3rdparty/v8/test/mjsunit/parse-int-float.js116
-rwxr-xr-xsrc/3rdparty/v8/test/mjsunit/pixel-array-rounding.js44
-rw-r--r--src/3rdparty/v8/test/mjsunit/polymorph-arrays.js177
-rw-r--r--src/3rdparty/v8/test/mjsunit/property-load-across-eval.js141
-rw-r--r--src/3rdparty/v8/test/mjsunit/property-object-key.js36
-rw-r--r--src/3rdparty/v8/test/mjsunit/proto.js33
-rw-r--r--src/3rdparty/v8/test/mjsunit/prototype.js93
-rw-r--r--src/3rdparty/v8/test/mjsunit/readonly.js228
-rw-r--r--src/3rdparty/v8/test/mjsunit/receiver-in-with-calls.js47
-rw-r--r--src/3rdparty/v8/test/mjsunit/regexp-UC16.js47
-rw-r--r--src/3rdparty/v8/test/mjsunit/regexp-cache-replace.js36
-rw-r--r--src/3rdparty/v8/test/mjsunit/regexp-call-as-function.js36
-rwxr-xr-xsrc/3rdparty/v8/test/mjsunit/regexp-capture-3.js218
-rwxr-xr-xsrc/3rdparty/v8/test/mjsunit/regexp-capture.js60
-rw-r--r--src/3rdparty/v8/test/mjsunit/regexp-captures.js31
-rw-r--r--src/3rdparty/v8/test/mjsunit/regexp-compile.js42
-rw-r--r--src/3rdparty/v8/test/mjsunit/regexp-global.js254
-rw-r--r--src/3rdparty/v8/test/mjsunit/regexp-indexof.js77
-rw-r--r--src/3rdparty/v8/test/mjsunit/regexp-lookahead.js166
-rw-r--r--src/3rdparty/v8/test/mjsunit/regexp-loop-capture.js29
-rw-r--r--src/3rdparty/v8/test/mjsunit/regexp-multiline-stack-trace.js116
-rw-r--r--src/3rdparty/v8/test/mjsunit/regexp-multiline.js112
-rw-r--r--src/3rdparty/v8/test/mjsunit/regexp-results-cache.js78
-rw-r--r--src/3rdparty/v8/test/mjsunit/regexp-standalones.js78
-rw-r--r--src/3rdparty/v8/test/mjsunit/regexp-static.js161
-rw-r--r--src/3rdparty/v8/test/mjsunit/regexp-string-methods.js51
-rw-r--r--src/3rdparty/v8/test/mjsunit/regexp.js718
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/bitops-register-alias.js31
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-100409.js55
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-100702.js44
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1015.js66
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1017.js36
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1020.js32
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-102153.js57
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1030466.js45
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-103259.js36
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1036894.js38
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1039610.js29
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1050043.js51
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1060.js32
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1062422.js30
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1066899.js37
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1079.js48
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1081309.js110
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-108296.js52
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1083.js38
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-109195.js65
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1092.js35
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1099.js51
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1102760.js35
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1103.js32
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1104.js37
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-110509.js41
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1106.js56
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1107.js32
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1110.js37
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1110164.js46
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1112.js36
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1112051.js33
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1114040.js58
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1117.js44
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1118.js64
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1119.js46
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1120.js33
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1121.js34
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1122.js68
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1125.js41
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1126.js35
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1129.js44
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1130.js40
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1131.js29
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1132.js50
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1134697.js31
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-113924.js31
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-114.js43
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1145.js54
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1146.js48
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1149.js39
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1150.js33
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1151.js49
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-115100.js36
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-115452.js47
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1156.js49
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-116.js40
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1160.js41
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1166.js40
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1167.js76
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1170.js98
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1170187.js80
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1172-bis.js39
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1172.js39
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1173979.js48
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1174.js43
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-117409.js52
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1175390.js30
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1176.js33
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1177518.js39
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1177809.js31
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-117794.js57
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1178598.js90
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1181.js54
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1182832.js38
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1184.js47
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1187524.js34
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-119429.js37
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-119609.js71
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-119925.js34
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1199401.js75
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1199637.js76
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1200351.js2032
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-120099.js40
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1201933.js40
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1203459.js29
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1207.js35
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1207276.js36
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1209.js34
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1210.js52
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1213.js43
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1213516.js40
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1213575.js40
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-121407.js40
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1215.js36
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1215653.js365
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1217.js50
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1218.js29
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1229.js146
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1233.js47
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-123512.js78
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1236.js34
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1237.js41
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-123919.js47
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-124.js57
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1240.js39
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-124594.js50
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1246.js83
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1254366.js38
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-125515.js41
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1257.js58
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-126412.js33
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1278.js69
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-128018.js35
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-128146.js33
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1309.js30
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-131923.js30
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-131994.js70
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1323.js50
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1327557.js38
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-133211.js35
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-133211b.js39
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1337.js40
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1346700.js29
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1351.js42
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1355.js44
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1360.js39
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-136048.js34
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1365.js82
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1369.js31
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-137.js46
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-137768.js73
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1383.js40
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1387.js38
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1389.js42
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1401.js45
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1403.js36
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1412.js59
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1415.js42
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1419.js47
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1423.js65
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1434.js36
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1436.js79
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1439135.js40
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-143967.js34
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1447.js37
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-145201.js107
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1472.js40
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-147497.js45
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1476.js35
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-148378.js38
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-149.js28
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1491.js38
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1493017.js52
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1513.js44
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1521.js48
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1523.js69
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1528.js40
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1529.js35
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1530.js69
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1531.js49
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1546.js32
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1548.js48
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-155924.js46
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1560.js68
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1563.js44
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1582.js47
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1583.js57
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1586.js64
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1591.js48
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1592.js45
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1620.js54
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1624-strict.js140
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1624.js139
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1625.js36
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1639-2.js96
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1639.js91
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-164442.js45
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1647.js43
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1650.js60
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-165637.js61
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-166379.js39
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-166553.js33
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1692.js89
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1708.js63
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-171.js41
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1711.js38
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1713.js127
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-171641.js40
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1748.js35
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1757.js32
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-176.js50
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1790.js58
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1849.js39
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1853.js116
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-186.js72
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-187.js30
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1878.js44
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-189.js36
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1898.js37
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-191.js42
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1919169.js40
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-192.js45
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1924.js42
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-193.js44
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1945.js34
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1973.js52
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-1980.js40
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-20070207.js42
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-201.js37
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2027.js48
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2030.js53
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2032.js64
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2034.js46
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2045.js49
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2054.js34
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2055.js48
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2056.js66
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2058.js37
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2071.js79
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2073.js99
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2110.js53
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2119.js36
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2153.js32
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2156.js39
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2163.js70
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2170.js58
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2172.js35
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2185-2.js145
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2185.js38
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2186.js49
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-219.js148
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2193.js58
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-220.js31
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2219.js32
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2225.js65
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2226.js36
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2234.js41
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2243.js31
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2249.js33
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2249423.js40
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-225.js32
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2250.js68
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2261.js113
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2263.js30
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-227.js33
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2284.js32
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2285.js32
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2286.js32
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2289.js34
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2291.js36
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2294.js70
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2296.js40
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-231.js92
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2315.js40
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2318.js66
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2322.js36
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2326.js54
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-233.js39
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2336.js53
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2339.js59
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2346.js123
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2373.js29
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2374.js33
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2398.js41
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2410.js36
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2416.js75
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2419.js37
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2433.js36
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2437.js156
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2438.js52
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-244.js68
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2441.js31
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2443.js129
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2444.js120
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2451.js41
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-246.js31
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2489.js50
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2499.js40
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-253.js31
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2537.js45
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-2539.js55
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-254.js58
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-259.js33
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-260.js33
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-263.js38
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-265.js64
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-267.js35
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-269.js49
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-279.js62
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-284.js50
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-286.js36
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-294.js43
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-3006390.js33
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-312.js31
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-317.js31
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-318.js35
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-3185905.js60
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-3199913.js44
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-3218530.js39
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-3218915.js46
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-3230771.js35
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-3247124.js53
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-3252443.js45
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-326.js40
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-334.js90
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-3408144.js37
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-341.js36
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-345.js51
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-349.js32
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-35.js33
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-351.js31
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-386.js47
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-392.js34
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-394.js47
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-396.js39
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-397.js43
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-399.js32
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-406.js69
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-416.js38
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-45469.js46
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-475.js28
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-483.js35
-rwxr-xr-xsrc/3rdparty/v8/test/mjsunit/regress/regress-485.js46
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-486.js30
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-490.js48
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-491.js47
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-492.js90
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-496.js39
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-502.js38
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-503.js63
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-515.js40
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-524.js32
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-526.js32
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-52801.js69
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-540.js47
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-545.js47
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-57.js32
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-580.js55
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-58740.js35
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-588599.js31
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-6-9-regexp.js30
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-603.js64
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-612.js44
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-619.js61
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-634.js32
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-636.js36
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-641.js35
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-643.js37
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-646.js33
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-662254.js40
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-666721.js53
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-667061.js90
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-670147.js34
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-674753.js87
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-675.js61
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-676025.js31
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-678525.js59
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-681.js44
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-682649.js30
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-685.js43
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-687.js75
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-69.js43
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-696.js36
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-697.js34
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-70066.js142
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-712.js38
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-71647.js34
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-720.js36
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-728.js42
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-732.js46
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-734862.js37
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-737588.js34
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-74.js41
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-747.js56
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-752.js36
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-753.js36
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-754.js39
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-760-1.js49
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-760-2.js49
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-780423.js39
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-78270.js37
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-784.js42
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-794.js31
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-798.js108
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-799761.js92
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-806.js51
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-806473.js60
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-815.js49
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-82769.js34
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-842.js42
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-842017.js60
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-84234.js55
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-851.js32
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-85177.js65
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-857.js37
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-86.js46
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-87.js53
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-874.js37
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-874178.js32
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-875031.js37
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-877615.js37
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-88591.js42
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-88858.js65
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-892742.js48
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-900.js46
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-900055.js42
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-900966.js49
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-91.js38
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-91008.js43
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-91010.js36
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-91013.js51
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-91120.js48
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-91787.js35
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-918.js33
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-925537.js42
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-927.js33
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-931.js48
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-937896.js50
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-944.js46
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-94425.js46
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-94873.js78
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-95113.js48
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-95485.js42
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-955.js44
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-95920.js58
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-962.js57
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-96523.js37
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-969.js127
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-97116.js50
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-974.js32
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-982.js45
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-98773.js39
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-990205.js39
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-99167.js33
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-992.js43
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-992733.js35
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-995.js57
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-996542.js40
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-998565.js51
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-arguments-gc.js37
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-bind-receiver.js44
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-builtin-array-op.js38
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-cnlt-elements.js43
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-cnlt-enum-indices.js45
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-cntl-descriptors-enum.js46
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-conditional-position.js95
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-convert-enum.js60
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-convert-enum2.js46
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-convert-transition.js40
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-crbug-100859.js39
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-crbug-107996.js64
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-crbug-119926.js35
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-crbug-122271.js49
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-crbug-125148.js90
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-crbug-126414.js32
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-crbug-134055.js63
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-crbug-134609.js59
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-crbug-135008.js45
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-crbug-135066.js55
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-crbug-137689.js47
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-crbug-138887.js48
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-crbug-140083.js44
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-crbug-142087.js38
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-crbug-142218.js44
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-crbug-145961.js39
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-crbug-146910.js33
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-crbug-147475.js48
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-crbug-148376.js35
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-crbug-150545.js53
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-crbug-150729.js39
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-crbug-157019.js54
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-crbug-157520.js38
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-crbug-158185.js39
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-crbug-160010.js35
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-crbug-162085.js71
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-crbug-163530.js80
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-crbug-168545.js34
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-crbug-170856.js33
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-crbug-172345.js34
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-crbug-173907.js88
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-crbug-173974.js36
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-crbug-178790.js52
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-crbug-18639.js38
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-crbug-3184.js83
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-crbug-37853.js34
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-crbug-3867.js77
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-crbug-39160.js41
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-crbug-40931.js45
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-crbug-72736.js37
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-crbug-84186.js41
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-crbug-87478.js36
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-create-exception.js59
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-debug-code-recompilation.js48
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-deep-proto.js45
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-delete-empty-double.js40
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-deopt-gc.js49
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-fast-literal-transition.js62
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-fundecl.js44
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-inlining-function-literal-context.js53
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-iteration-order.js42
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-json-stringify-gc.js41
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-latin-1.js90
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-lazy-deopt-reloc.js52
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-load-elements.js49
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-observe-empty-double-array.js38
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-push-args-twice.js37
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-r3391.js77
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-r4998.js94
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-regexp-codeflush.js55
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-smi-only-concat.js37
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-sqrt.js47
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-swapelements.js55
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-transcendental.js49
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/regress-undefined-store-keyed-fast-element.js37
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/short-circuit.js32
-rw-r--r--src/3rdparty/v8/test/mjsunit/regress/splice-missing-wb.js56
-rw-r--r--src/3rdparty/v8/test/mjsunit/samevalue.js102
-rw-r--r--src/3rdparty/v8/test/mjsunit/scanner.js30
-rw-r--r--src/3rdparty/v8/test/mjsunit/scope-calls-eval.js65
-rw-r--r--src/3rdparty/v8/test/mjsunit/search-string-multiple.js62
-rw-r--r--src/3rdparty/v8/test/mjsunit/setter-on-constructor-prototype.js111
-rw-r--r--src/3rdparty/v8/test/mjsunit/shift-for-integer-div.js59
-rw-r--r--src/3rdparty/v8/test/mjsunit/shifts.js38
-rw-r--r--src/3rdparty/v8/test/mjsunit/short-circuit-boolean.js46
-rwxr-xr-xsrc/3rdparty/v8/test/mjsunit/simple-constructor.js140
-rw-r--r--src/3rdparty/v8/test/mjsunit/sin-cos.js50
-rw-r--r--src/3rdparty/v8/test/mjsunit/smi-negative-zero.js113
-rw-r--r--src/3rdparty/v8/test/mjsunit/smi-ops-inlined.js673
-rw-r--r--src/3rdparty/v8/test/mjsunit/smi-ops.js704
-rw-r--r--src/3rdparty/v8/test/mjsunit/sparse-array-reverse.js131
-rw-r--r--src/3rdparty/v8/test/mjsunit/sparse-array.js41
-rw-r--r--src/3rdparty/v8/test/mjsunit/stack-traces-2.js87
-rw-r--r--src/3rdparty/v8/test/mjsunit/stack-traces-gc.js119
-rw-r--r--src/3rdparty/v8/test/mjsunit/stack-traces-overflow.js122
-rw-r--r--src/3rdparty/v8/test/mjsunit/stack-traces.js329
-rw-r--r--src/3rdparty/v8/test/mjsunit/store-dictionary.js65
-rw-r--r--src/3rdparty/v8/test/mjsunit/str-to-num.js214
-rw-r--r--src/3rdparty/v8/test/mjsunit/stress-array-push.js34
-rw-r--r--src/3rdparty/v8/test/mjsunit/strict-equals.js90
-rw-r--r--src/3rdparty/v8/test/mjsunit/strict-mode-eval.js90
-rw-r--r--src/3rdparty/v8/test/mjsunit/strict-mode-implicit-receiver.js187
-rw-r--r--src/3rdparty/v8/test/mjsunit/strict-mode-opt.js103
-rw-r--r--src/3rdparty/v8/test/mjsunit/strict-mode.js1217
-rw-r--r--src/3rdparty/v8/test/mjsunit/string-add.js195
-rw-r--r--src/3rdparty/v8/test/mjsunit/string-case.js71
-rw-r--r--src/3rdparty/v8/test/mjsunit/string-charat.js255
-rw-r--r--src/3rdparty/v8/test/mjsunit/string-charcodeat.js236
-rw-r--r--src/3rdparty/v8/test/mjsunit/string-compare-alignment.js48
-rw-r--r--src/3rdparty/v8/test/mjsunit/string-external-cached.js121
-rw-r--r--src/3rdparty/v8/test/mjsunit/string-externalize.js99
-rw-r--r--src/3rdparty/v8/test/mjsunit/string-flatten.js37
-rw-r--r--src/3rdparty/v8/test/mjsunit/string-fromcharcode.js91
-rw-r--r--src/3rdparty/v8/test/mjsunit/string-index.js259
-rw-r--r--src/3rdparty/v8/test/mjsunit/string-indexof-1.js125
-rw-r--r--src/3rdparty/v8/test/mjsunit/string-indexof-2.js68
-rw-r--r--src/3rdparty/v8/test/mjsunit/string-lastindexof.js88
-rw-r--r--src/3rdparty/v8/test/mjsunit/string-localecompare.js40
-rwxr-xr-xsrc/3rdparty/v8/test/mjsunit/string-match.js149
-rw-r--r--src/3rdparty/v8/test/mjsunit/string-natives.js72
-rw-r--r--src/3rdparty/v8/test/mjsunit/string-replace-gc.js56
-rw-r--r--src/3rdparty/v8/test/mjsunit/string-replace-one-char.js92
-rw-r--r--src/3rdparty/v8/test/mjsunit/string-replace-with-empty.js69
-rw-r--r--src/3rdparty/v8/test/mjsunit/string-replace.js275
-rw-r--r--src/3rdparty/v8/test/mjsunit/string-search.js40
-rw-r--r--src/3rdparty/v8/test/mjsunit/string-slices-regexp.js76
-rwxr-xr-xsrc/3rdparty/v8/test/mjsunit/string-slices.js225
-rw-r--r--src/3rdparty/v8/test/mjsunit/string-split-cache.js40
-rw-r--r--src/3rdparty/v8/test/mjsunit/string-split.js147
-rwxr-xr-xsrc/3rdparty/v8/test/mjsunit/substr.js154
-rw-r--r--src/3rdparty/v8/test/mjsunit/sum-0-plus-undefined-is-NaN.js45
-rw-r--r--src/3rdparty/v8/test/mjsunit/switch.js462
-rw-r--r--src/3rdparty/v8/test/mjsunit/testcfg.py228
-rw-r--r--src/3rdparty/v8/test/mjsunit/third_party/array-isarray.js48
-rw-r--r--src/3rdparty/v8/test/mjsunit/third_party/array-splice-webkit.js62
-rw-r--r--src/3rdparty/v8/test/mjsunit/third_party/object-keys.js68
-rw-r--r--src/3rdparty/v8/test/mjsunit/third_party/regexp-pcre.js6603
-rw-r--r--src/3rdparty/v8/test/mjsunit/third_party/string-trim.js107
-rw-r--r--src/3rdparty/v8/test/mjsunit/this-in-callbacks.js47
-rw-r--r--src/3rdparty/v8/test/mjsunit/this-property-assignment.js41
-rw-r--r--src/3rdparty/v8/test/mjsunit/this.js46
-rw-r--r--src/3rdparty/v8/test/mjsunit/throw-and-catch-function.js50
-rw-r--r--src/3rdparty/v8/test/mjsunit/throw-exception-for-null-access.js37
-rw-r--r--src/3rdparty/v8/test/mjsunit/to-precision.js82
-rw-r--r--src/3rdparty/v8/test/mjsunit/to_number_order.js215
-rw-r--r--src/3rdparty/v8/test/mjsunit/tobool.js36
-rw-r--r--src/3rdparty/v8/test/mjsunit/toint32.js129
-rw-r--r--src/3rdparty/v8/test/mjsunit/tools/codemap.js183
-rw-r--r--src/3rdparty/v8/test/mjsunit/tools/consarray.js60
-rw-r--r--src/3rdparty/v8/test/mjsunit/tools/csvparser.js83
-rw-r--r--src/3rdparty/v8/test/mjsunit/tools/profile.js348
-rw-r--r--src/3rdparty/v8/test/mjsunit/tools/profile_view.js96
-rw-r--r--src/3rdparty/v8/test/mjsunit/tools/splaytree.js166
-rw-r--r--src/3rdparty/v8/test/mjsunit/tools/tickprocessor-test-func-info.log11
-rw-r--r--src/3rdparty/v8/test/mjsunit/tools/tickprocessor-test.default55
-rw-r--r--src/3rdparty/v8/test/mjsunit/tools/tickprocessor-test.func-info29
-rw-r--r--src/3rdparty/v8/test/mjsunit/tools/tickprocessor-test.gc-state21
-rw-r--r--src/3rdparty/v8/test/mjsunit/tools/tickprocessor-test.ignore-unknown51
-rw-r--r--src/3rdparty/v8/test/mjsunit/tools/tickprocessor-test.log25
-rw-r--r--src/3rdparty/v8/test/mjsunit/tools/tickprocessor-test.separate-ic61
-rw-r--r--src/3rdparty/v8/test/mjsunit/tools/tickprocessor.js416
-rw-r--r--src/3rdparty/v8/test/mjsunit/top-level-assignments.js107
-rw-r--r--src/3rdparty/v8/test/mjsunit/touint32.js72
-rw-r--r--src/3rdparty/v8/test/mjsunit/transcendentals.js49
-rw-r--r--src/3rdparty/v8/test/mjsunit/try-catch-extension-object.js58
-rw-r--r--src/3rdparty/v8/test/mjsunit/try-catch-scopes.js42
-rw-r--r--src/3rdparty/v8/test/mjsunit/try-finally-continue.js72
-rw-r--r--src/3rdparty/v8/test/mjsunit/try-finally-nested.js46
-rw-r--r--src/3rdparty/v8/test/mjsunit/try.js394
-rw-r--r--src/3rdparty/v8/test/mjsunit/typed-array-slice.js61
-rw-r--r--src/3rdparty/v8/test/mjsunit/typeof.js37
-rw-r--r--src/3rdparty/v8/test/mjsunit/unbox-double-arrays.js549
-rw-r--r--src/3rdparty/v8/test/mjsunit/undeletable-functions.js171
-rw-r--r--src/3rdparty/v8/test/mjsunit/unicode-case-overoptimization.js35
-rw-r--r--src/3rdparty/v8/test/mjsunit/unicode-string-to-number.js46
-rw-r--r--src/3rdparty/v8/test/mjsunit/unicode-test.js9169
-rw-r--r--src/3rdparty/v8/test/mjsunit/unicodelctest-no-optimization.js4914
-rw-r--r--src/3rdparty/v8/test/mjsunit/unicodelctest.js4912
-rw-r--r--src/3rdparty/v8/test/mjsunit/unusual-constructor.js35
-rw-r--r--src/3rdparty/v8/test/mjsunit/uri.js90
-rw-r--r--src/3rdparty/v8/test/mjsunit/value-callic-prototype-change.js94
-rw-r--r--src/3rdparty/v8/test/mjsunit/value-of.js33
-rw-r--r--src/3rdparty/v8/test/mjsunit/value-wrapper.js164
-rw-r--r--src/3rdparty/v8/test/mjsunit/var.js37
-rw-r--r--src/3rdparty/v8/test/mjsunit/with-function-expression.js36
-rw-r--r--src/3rdparty/v8/test/mjsunit/with-leave.js220
-rw-r--r--src/3rdparty/v8/test/mjsunit/with-parameter-access.js47
-rw-r--r--src/3rdparty/v8/test/mjsunit/with-prototype.js44
-rw-r--r--src/3rdparty/v8/test/mjsunit/with-readonly.js45
-rw-r--r--src/3rdparty/v8/test/mjsunit/with-value.js38
1175 files changed, 0 insertions, 141881 deletions
diff --git a/src/3rdparty/v8/test/mjsunit/accessor-map-sharing.js b/src/3rdparty/v8/test/mjsunit/accessor-map-sharing.js
deleted file mode 100644
index 3afce37..0000000
--- a/src/3rdparty/v8/test/mjsunit/accessor-map-sharing.js
+++ /dev/null
@@ -1,192 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Handy abbreviations.
-var dp = Object.defineProperty;
-var gop = Object.getOwnPropertyDescriptor;
-
-function getter() { return 111; }
-function setter(x) { print(222); }
-function anotherGetter() { return 333; }
-function anotherSetter(x) { print(444); }
-var obj1, obj2, obj3, obj4;
-
-// Two objects with the same getter.
-obj1 = {};
-dp(obj1, "alpha", { get: getter });
-obj2 = {};
-dp(obj2, "alpha", { get: getter });
-assertTrue(%HaveSameMap(obj1, obj2));
-
-// Two objects with the same getter, oldskool.
-obj1 = {};
-obj1.__defineGetter__("bravo", getter);
-assertEquals(getter, obj1.__lookupGetter__("bravo"));
-obj2 = {};
-obj2.__defineGetter__("bravo", getter);
-assertEquals(getter, obj2.__lookupGetter__("bravo"));
-assertTrue(%HaveSameMap(obj1, obj2));
-
-// Two objects with the same setter.
-obj1 = {};
-dp(obj1, "charlie", { set: setter });
-obj2 = {};
-dp(obj2, "charlie", { set: setter });
-assertTrue(%HaveSameMap(obj1, obj2));
-
-// Two objects with the same setter, oldskool.
-obj1 = {};
-obj1.__defineSetter__("delta", setter);
-assertEquals(setter, obj1.__lookupSetter__("delta"));
-obj2 = {};
-obj2.__defineSetter__("delta", setter);
-assertEquals(setter, obj2.__lookupSetter__("delta"));
-assertTrue(%HaveSameMap(obj1, obj2));
-
-// Two objects with the same getter and setter.
-obj1 = {};
-dp(obj1, "foxtrot", { get: getter, set: setter });
-obj2 = {};
-dp(obj2, "foxtrot", { get: getter, set: setter });
-assertTrue(%HaveSameMap(obj1, obj2));
-
-// Two objects with the same getter and setter, set separately.
-obj1 = {};
-dp(obj1, "golf", { get: getter, configurable: true });
-dp(obj1, "golf", { set: setter, configurable: true });
-obj2 = {};
-dp(obj2, "golf", { get: getter, configurable: true });
-dp(obj2, "golf", { set: setter, configurable: true });
-assertTrue(%HaveSameMap(obj1, obj2));
-
-// Two objects with the same getter and setter, set separately, oldskool.
-obj1 = {};
-obj1.__defineGetter__("hotel", getter);
-obj1.__defineSetter__("hotel", setter);
-obj2 = {};
-obj2.__defineGetter__("hotel", getter);
-obj2.__defineSetter__("hotel", setter);
-assertTrue(%HaveSameMap(obj1, obj2));
-
-// Attribute-only change, shouldn't affect previous descriptor properties.
-obj1 = {};
-dp(obj1, "india", { get: getter, configurable: true, enumerable: true });
-assertEquals(getter, gop(obj1, "india").get);
-assertTrue(gop(obj1, "india").configurable);
-assertTrue(gop(obj1, "india").enumerable);
-dp(obj1, "india", { enumerable: false });
-assertEquals(getter, gop(obj1, "india").get);
-assertTrue(gop(obj1, "india").configurable);
-assertFalse(gop(obj1, "india").enumerable);
-
-// Attribute-only change, shouldn't affect objects with previously shared maps.
-obj1 = {};
-dp(obj1, "juliet", { set: setter, configurable: true, enumerable: false });
-assertEquals(setter, gop(obj1, "juliet").set);
-assertTrue(gop(obj1, "juliet").configurable);
-assertFalse(gop(obj1, "juliet").enumerable);
-obj2 = {};
-dp(obj2, "juliet", { set: setter, configurable: true, enumerable: false });
-assertEquals(setter, gop(obj2, "juliet").set);
-assertTrue(gop(obj2, "juliet").configurable);
-assertFalse(gop(obj2, "juliet").enumerable);
-dp(obj1, "juliet", { set: setter, configurable: false, enumerable: true });
-assertEquals(setter, gop(obj1, "juliet").set);
-assertFalse(gop(obj1, "juliet").configurable);
-assertTrue(gop(obj1, "juliet").enumerable);
-assertEquals(setter, gop(obj2, "juliet").set);
-assertTrue(gop(obj2, "juliet").configurable);
-assertFalse(gop(obj2, "juliet").enumerable);
-
-// Two objects with the different getters.
-obj1 = {};
-dp(obj1, "kilo", { get: getter });
-obj2 = {};
-dp(obj2, "kilo", { get: anotherGetter });
-assertEquals(getter, gop(obj1, "kilo").get);
-assertEquals(anotherGetter, gop(obj2, "kilo").get);
-assertFalse(%HaveSameMap(obj1, obj2));
-
-// Two objects with the same getters and different setters.
-obj1 = {};
-dp(obj1, "lima", { get: getter, set: setter });
-obj2 = {};
-dp(obj2, "lima", { get: getter, set: anotherSetter });
-assertEquals(setter, gop(obj1, "lima").set);
-assertEquals(anotherSetter, gop(obj2, "lima").set);
-assertFalse(%HaveSameMap(obj1, obj2));
-
-// Even 'undefined' is a kind of getter.
-obj1 = {};
-dp(obj1, "mike", { get: undefined });
-assertTrue("mike" in obj1);
-assertEquals(undefined, gop(obj1, "mike").get);
-assertEquals(undefined, obj1.__lookupGetter__("mike"));
-assertEquals(undefined, gop(obj1, "mike").set);
-assertEquals(undefined, obj1.__lookupSetter__("mike"));
-
-// Even 'undefined' is a kind of setter.
-obj1 = {};
-dp(obj1, "november", { set: undefined });
-assertTrue("november" in obj1);
-assertEquals(undefined, gop(obj1, "november").get);
-assertEquals(undefined, obj1.__lookupGetter__("november"));
-assertEquals(undefined, gop(obj1, "november").set);
-assertEquals(undefined, obj1.__lookupSetter__("november"));
-
-// Redefining a data property.
-obj1 = {};
-obj1.oscar = 12345;
-dp(obj1, "oscar", { set: setter });
-assertEquals(setter, gop(obj1, "oscar").set);
-
-// Re-adding the same getter/attributes pair.
-obj1 = {};
-dp(obj1, "papa", { get: getter, configurable: true });
-dp(obj1, "papa", { get: getter, set: setter, configurable: true });
-assertEquals(getter, gop(obj1, "papa").get);
-assertEquals(setter, gop(obj1, "papa").set);
-assertTrue(gop(obj1, "papa").configurable);
-assertFalse(gop(obj1, "papa").enumerable);
-
-// Two objects with the same getter on the prototype chain.
-obj1 = {};
-dp(obj1, "quebec", { get: getter });
-obj2 = Object.create(obj1);
-obj3 = Object.create(obj2);
-obj4 = Object.create(obj2);
-assertTrue(%HaveSameMap(obj3, obj4));
-
-// Two objects with the same setter on the prototype chain.
-obj1 = {};
-dp(obj1, "romeo", { set: setter });
-obj2 = Object.create(obj1);
-obj3 = Object.create(obj2);
-obj4 = Object.create(obj2);
-assertTrue(%HaveSameMap(obj3, obj4));
diff --git a/src/3rdparty/v8/test/mjsunit/accessors-on-global-object.js b/src/3rdparty/v8/test/mjsunit/accessors-on-global-object.js
deleted file mode 100644
index dc910b7..0000000
--- a/src/3rdparty/v8/test/mjsunit/accessors-on-global-object.js
+++ /dev/null
@@ -1,72 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that installing a getter on the global object instead of a
-// normal property works.
-
-x = 0;
-
-function getX() { return x; }
-
-for (var i = 0; i < 10; i++) {
- assertEquals(i < 5 ? 0 : 42, getX());
- if (i == 4) __defineGetter__("x", function() { return 42; });
-}
-
-
-// Test that installing a setter on the global object instead of a
-// normal property works.
-
-y = 0;
-var setter_y;
-
-function setY(value) { y = value; }
-
-for (var i = 0; i < 10; i++) {
- setY(i);
- assertEquals(i < 5 ? i : 2 * i, y);
- if (i == 4) {
- __defineSetter__("y", function(value) { setter_y = 2 * value; });
- __defineGetter__("y", function() { return setter_y; });
- }
-}
-
-
-// Test that replacing a getter with a normal property works as
-// expected.
-
-__defineGetter__("z", function() { return 42; });
-
-function getZ() { return z; }
-
-for (var i = 0; i < 10; i++) {
- assertEquals(i < 5 ? 42 : 0, getZ());
- if (i == 4) {
- delete z;
- z = 0;
- }
-}
diff --git a/src/3rdparty/v8/test/mjsunit/allocation-site-info.js b/src/3rdparty/v8/test/mjsunit/allocation-site-info.js
deleted file mode 100644
index d57fd32..0000000
--- a/src/3rdparty/v8/test/mjsunit/allocation-site-info.js
+++ /dev/null
@@ -1,272 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --smi-only-arrays --expose-gc
-// Flags: --track-allocation-sites --nooptimize-constructed-arrays
-
-// TODO(mvstanton): remove --nooptimize-constructed-arrays and enable
-// the constructed array code below when the feature is turned on
-// by default.
-
-// Test element kind of objects.
-// Since --smi-only-arrays affects builtins, its default setting at compile
-// time sticks if built with snapshot. If --smi-only-arrays is deactivated
-// by default, only a no-snapshot build actually has smi-only arrays enabled
-// in this test case. Depending on whether smi-only arrays are actually
-// enabled, this test takes the appropriate code path to check smi-only arrays.
-
-support_smi_only_arrays = %HasFastSmiElements(new Array(1,2,3,4,5,6,7,8));
-optimize_constructed_arrays = false;
-
-if (support_smi_only_arrays) {
- print("Tests include smi-only arrays.");
-} else {
- print("Tests do NOT include smi-only arrays.");
-}
-
-if (optimize_constructed_arrays) {
- print("Tests include constructed array optimizations.");
-} else {
- print("Tests do NOT include constructed array optimizations.");
-}
-
-var elements_kind = {
- fast_smi_only : 'fast smi only elements',
- fast : 'fast elements',
- fast_double : 'fast double elements',
- dictionary : 'dictionary elements',
- external_byte : 'external byte elements',
- external_unsigned_byte : 'external unsigned byte elements',
- external_short : 'external short elements',
- external_unsigned_short : 'external unsigned short elements',
- external_int : 'external int elements',
- external_unsigned_int : 'external unsigned int elements',
- external_float : 'external float elements',
- external_double : 'external double elements',
- external_pixel : 'external pixel elements'
-}
-
-function getKind(obj) {
- if (%HasFastSmiElements(obj)) return elements_kind.fast_smi_only;
- if (%HasFastObjectElements(obj)) return elements_kind.fast;
- if (%HasFastDoubleElements(obj)) return elements_kind.fast_double;
- if (%HasDictionaryElements(obj)) return elements_kind.dictionary;
-}
-
-function isHoley(obj) {
- if (%HasFastHoleyElements(obj)) return true;
- return false;
-}
-
-function assertKind(expected, obj, name_opt) {
- if (!support_smi_only_arrays &&
- expected == elements_kind.fast_smi_only) {
- expected = elements_kind.fast;
- }
- assertEquals(expected, getKind(obj), name_opt);
-}
-
-function assertHoley(obj, name_opt) {
- assertEquals(true, isHoley(obj), name_opt);
-}
-
-function assertNotHoley(obj, name_opt) {
- assertEquals(false, isHoley(obj), name_opt);
-}
-
-if (support_smi_only_arrays) {
-
- obj = [];
- assertNotHoley(obj);
- assertKind(elements_kind.fast_smi_only, obj);
-
- obj = [1, 2, 3];
- assertNotHoley(obj);
- assertKind(elements_kind.fast_smi_only, obj);
-
- obj = new Array();
- assertNotHoley(obj);
- assertKind(elements_kind.fast_smi_only, obj);
-
- obj = new Array(0);
- assertNotHoley(obj);
- assertKind(elements_kind.fast_smi_only, obj);
-
- obj = new Array(2);
- assertHoley(obj);
- assertKind(elements_kind.fast_smi_only, obj);
-
- obj = new Array(1,2,3);
- assertNotHoley(obj);
- assertKind(elements_kind.fast_smi_only, obj);
-
- obj = new Array(1, "hi", 2, undefined);
- assertNotHoley(obj);
- assertKind(elements_kind.fast, obj);
-
- function fastliteralcase(literal, value) {
- literal[0] = value;
- return literal;
- }
-
- function get_standard_literal() {
- var literal = [1, 2, 3];
- return literal;
- }
-
- // Case: [1,2,3] as allocation site
- obj = fastliteralcase(get_standard_literal(), 1);
- assertKind(elements_kind.fast_smi_only, obj);
- obj = fastliteralcase(get_standard_literal(), 1.5);
- assertKind(elements_kind.fast_double, obj);
- obj = fastliteralcase(get_standard_literal(), 2);
- assertKind(elements_kind.fast_double, obj);
-
- obj = fastliteralcase([5, 3, 2], 1.5);
- assertKind(elements_kind.fast_double, obj);
- obj = fastliteralcase([3, 6, 2], 1.5);
- assertKind(elements_kind.fast_double, obj);
- obj = fastliteralcase([2, 6, 3], 2);
- assertKind(elements_kind.fast_smi_only, obj);
-
- // Verify that we will not pretransition the double->fast path.
- obj = fastliteralcase(get_standard_literal(), "elliot");
- assertKind(elements_kind.fast, obj);
- // This fails until we turn off optimistic transitions to the
- // most general elements kind seen on keyed stores. It's a goal
- // to turn it off, but for now we need it.
- // obj = fastliteralcase(3);
- // assertKind(elements_kind.fast_double, obj);
-
- function fastliteralcase_smifast(value) {
- var literal = [1, 2, 3, 4];
- literal[0] = value;
- return literal;
- }
-
- obj = fastliteralcase_smifast(1);
- assertKind(elements_kind.fast_smi_only, obj);
- obj = fastliteralcase_smifast("carter");
- assertKind(elements_kind.fast, obj);
- obj = fastliteralcase_smifast(2);
- assertKind(elements_kind.fast, obj);
-
- if (optimize_constructed_arrays) {
- function newarraycase_smidouble(value) {
- var a = new Array();
- a[0] = value;
- return a;
- }
-
- // Case: new Array() as allocation site, smi->double
- obj = newarraycase_smidouble(1);
- assertKind(elements_kind.fast_smi_only, obj);
- obj = newarraycase_smidouble(1.5);
- assertKind(elements_kind.fast_double, obj);
- obj = newarraycase_smidouble(2);
- assertKind(elements_kind.fast_double, obj);
-
- function newarraycase_smiobj(value) {
- var a = new Array();
- a[0] = value;
- return a;
- }
-
- // Case: new Array() as allocation site, smi->fast
- obj = newarraycase_smiobj(1);
- assertKind(elements_kind.fast_smi_only, obj);
- obj = newarraycase_smiobj("gloria");
- assertKind(elements_kind.fast, obj);
- obj = newarraycase_smiobj(2);
- assertKind(elements_kind.fast, obj);
-
- function newarraycase_length_smidouble(value) {
- var a = new Array(3);
- a[0] = value;
- return a;
- }
-
- // Case: new Array(length) as allocation site
- obj = newarraycase_length_smidouble(1);
- assertKind(elements_kind.fast_smi_only, obj);
- obj = newarraycase_length_smidouble(1.5);
- assertKind(elements_kind.fast_double, obj);
- obj = newarraycase_length_smidouble(2);
- assertKind(elements_kind.fast_double, obj);
-
- // Try to continue the transition to fast object, but
- // we will not pretransition from double->fast, because
- // it may hurt performance ("poisoning").
- obj = newarraycase_length_smidouble("coates");
- assertKind(elements_kind.fast, obj);
- obj = newarraycase_length_smidouble(2.5);
- // However, because of optimistic transitions, we will
- // transition to the most general kind of elements kind found,
- // therefore I can't count on this assert yet.
- // assertKind(elements_kind.fast_double, obj);
-
- function newarraycase_length_smiobj(value) {
- var a = new Array(3);
- a[0] = value;
- return a;
- }
-
- // Case: new Array(<length>) as allocation site, smi->fast
- obj = newarraycase_length_smiobj(1);
- assertKind(elements_kind.fast_smi_only, obj);
- obj = newarraycase_length_smiobj("gloria");
- assertKind(elements_kind.fast, obj);
- obj = newarraycase_length_smiobj(2);
- assertKind(elements_kind.fast, obj);
-
- function newarraycase_list_smidouble(value) {
- var a = new Array(1, 2, 3);
- a[0] = value;
- return a;
- }
-
- obj = newarraycase_list_smidouble(1);
- assertKind(elements_kind.fast_smi_only, obj);
- obj = newarraycase_list_smidouble(1.5);
- assertKind(elements_kind.fast_double, obj);
- obj = newarraycase_list_smidouble(2);
- assertKind(elements_kind.fast_double, obj);
-
- function newarraycase_list_smiobj(value) {
- var a = new Array(4, 5, 6);
- a[0] = value;
- return a;
- }
-
- obj = newarraycase_list_smiobj(1);
- assertKind(elements_kind.fast_smi_only, obj);
- obj = newarraycase_list_smiobj("coates");
- assertKind(elements_kind.fast, obj);
- obj = newarraycase_list_smiobj(2);
- assertKind(elements_kind.fast, obj);
- }
-}
diff --git a/src/3rdparty/v8/test/mjsunit/api-call-after-bypassed-exception.js b/src/3rdparty/v8/test/mjsunit/api-call-after-bypassed-exception.js
deleted file mode 100644
index 4a18558..0000000
--- a/src/3rdparty/v8/test/mjsunit/api-call-after-bypassed-exception.js
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// This is a test of making an API call after an exception thrown in JavaScript
-// has been bypassed by a return in the finally block.
-function foo() {
- try {
- throw "bar";
- } finally {
- return "baz";
- }
-}
-
-foo();
-print({});
diff --git a/src/3rdparty/v8/test/mjsunit/apply-arguments-gc-safepoint.js b/src/3rdparty/v8/test/mjsunit/apply-arguments-gc-safepoint.js
deleted file mode 100644
index 57ed8cc..0000000
--- a/src/3rdparty/v8/test/mjsunit/apply-arguments-gc-safepoint.js
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-gc
-
-// Test that safepoint tables are correctly generated for apply with
-// arguments in the case where arguments adaption is needed.
-
-function f(x, y) {
- if (x == 149999) gc();
- return x + y;
-}
-
-function g() {
- f.apply(this, arguments);
-}
-
-for (var i = 0; i < 150000; i++) {
- g(i);
-}
diff --git a/src/3rdparty/v8/test/mjsunit/apply.js b/src/3rdparty/v8/test/mjsunit/apply.js
deleted file mode 100644
index 413ee93..0000000
--- a/src/3rdparty/v8/test/mjsunit/apply.js
+++ /dev/null
@@ -1,199 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function f0() {
- return this;
-}
-
-function f1(a) {
- return a;
-}
-
-assertSame(this, f0.apply(), "1-0");
-
-assertSame(this, f0.apply(this), "2a");
-assertSame(this, f0.apply(this, new Array(1)), "2b");
-assertSame(this, f0.apply(this, new Array(2)), "2c");
-assertSame(this, f0.apply(this, new Array(4242)), "2d");
-
-assertSame(this, f0.apply(null), "3a");
-assertSame(this, f0.apply(null, new Array(1)), "3b");
-assertSame(this, f0.apply(null, new Array(2)), "3c");
-assertSame(this, f0.apply(this, new Array(4242)), "3d");
-
-assertSame(this, f0.apply(void 0), "4a");
-assertSame(this, f0.apply(void 0, new Array(1)), "4b");
-assertSame(this, f0.apply(void 0, new Array(2)), "4c");
-
-assertEquals(void 0, f1.apply(), "1-1");
-
-assertEquals(void 0, f1.apply(this), "5a");
-assertEquals(void 0, f1.apply(this, new Array(1)), "5b");
-assertEquals(void 0, f1.apply(this, new Array(2)), "5c");
-assertEquals(void 0, f1.apply(this, new Array(4242)), "5d");
-assertEquals(42, f1.apply(this, new Array(42, 43)), "5e");
-assertEquals("foo", f1.apply(this, new Array("foo", "bar", "baz", "bo")), "5f");
-
-assertEquals(void 0, f1.apply(null), "6a");
-assertEquals(void 0, f1.apply(null, new Array(1)), "6b");
-assertEquals(void 0, f1.apply(null, new Array(2)), "6c");
-assertEquals(void 0, f1.apply(null, new Array(4242)), "6d");
-assertEquals(42, f1.apply(null, new Array(42, 43)), "6e");
-assertEquals("foo", f1.apply(null, new Array("foo", "bar", "baz", "bo")), "6f");
-
-assertEquals(void 0, f1.apply(void 0), "7a");
-assertEquals(void 0, f1.apply(void 0, new Array(1)), "7b");
-assertEquals(void 0, f1.apply(void 0, new Array(2)), "7c");
-assertEquals(void 0, f1.apply(void 0, new Array(4242)), "7d");
-assertEquals(42, f1.apply(void 0, new Array(42, 43)), "7e");
-assertEquals("foo", f1.apply(void 0, new Array("foo", "bar", "ba", "b")), "7f");
-
-var arr = new Array(42, "foo", "fish", "horse");
-function j(a, b, c, d, e, f, g, h, i, j, k, l) {
- return "" + a + b + c + d + e + f + g + h + i + j + k + l;
-}
-
-
-var expect = "42foofishhorse";
-for (var i = 0; i < 8; i++)
- expect += "undefined";
-assertEquals(expect, j.apply(undefined, arr), "apply to undefined");
-
-assertThrows("f0.apply(this, 1);");
-assertThrows("f0.apply(this, 1, 2);");
-assertThrows("f0.apply(this, 1, new Array(2));");
-
-function f() {
- var doo = "";
- for (var i = 0; i < arguments.length; i++) {
- doo += arguments[i];
- }
- return doo;
-}
-
-assertEquals("42foofishhorse", f.apply(this, arr), "apply to this");
-
-function s() {
- var doo = this;
- for (var i = 0; i < arguments.length; i++) {
- doo += arguments[i];
- }
- return doo;
-}
-
-assertEquals("bar42foofishhorse", s.apply("bar", arr), "apply to string");
-
-function al() {
- assertEquals(Object(345), this);
- return arguments.length + arguments[arguments.length - 1];
-}
-
-for (var j = 1; j < 0x40000000; j <<= 1) {
- try {
- var a = new Array(j);
- a[j - 1] = 42;
- assertEquals(42 + j, al.apply(345, a));
- } catch (e) {
- assertTrue(e.toString().indexOf("Maximum call stack size exceeded") != -1);
- for (; j < 0x40000000; j <<= 1) {
- var caught = false;
- try {
- a = new Array(j);
- a[j - 1] = 42;
- al.apply(345, a);
- assertUnreachable("Apply of array with length " + a.length +
- " should have thrown");
- } catch (e) {
- assertTrue(e.toString().indexOf("Maximum call stack size exceeded") != -1);
- caught = true;
- }
- assertTrue(caught, "exception not caught");
- }
- break;
- }
-}
-
-var primes = new Array(0);
-
-function isPrime(possible_prime) {
- for (var d = 0; d < primes.length; d++) {
- var p = primes[d];
- if (possible_prime % p == 0)
- return false;
- if (p * p > possible_prime)
- return true;
- }
- return true;
-}
-
-for (var i = 2; i < 10000; i++) {
- if (isPrime(i)) {
- primes.push(i);
- }
-}
-
-assertEquals(1229, primes.length);
-
-var same_primes = Array.prototype.constructor.apply(Array, primes);
-
-for (var i = 0; i < primes.length; i++)
- assertEquals(primes[i], same_primes[i], "prime" + primes[i]);
-assertEquals(primes.length, same_primes.length, "prime-length");
-
-
-Array.prototype["1"] = "sep";
-
-var holey = new Array(3);
-holey[0] = "mor";
-holey[2] = "er";
-
-assertEquals("morseper", String.prototype.concat.apply("", holey),
- "moreseper0");
-assertEquals("morseper", String.prototype.concat.apply("", holey, 1),
- "moreseper1");
-assertEquals("morseper", String.prototype.concat.apply("", holey, 1, 2),
- "moreseper2");
-assertEquals("morseper", String.prototype.concat.apply("", holey, 1, 2, 3),
- "morseper3");
-assertEquals("morseper", String.prototype.concat.apply("", holey, 1, 2, 3, 4),
- "morseper4");
-
-primes[0] = "";
-primes[1] = holey;
-assertThrows("String.prototype.concat.apply.apply('foo', primes)");
-assertEquals("morseper",
- String.prototype.concat.apply.apply(String.prototype.concat, primes),
- "moreseper-prime");
-
-delete(Array.prototype["1"]);
-
-// Check correct handling of non-array argument lists.
-assertSame(this, f0.apply(this, {}), "non-array-1");
-assertSame(this, f0.apply(this, { length:1 }), "non-array-2");
-assertEquals(void 0, f1.apply(this, { length:1 }), "non-array-3");
-assertEquals(void 0, f1.apply(this, { 0:"foo" }), "non-array-4");
-assertEquals("foo", f1.apply(this, { length:1, 0:"foo" }), "non-array-5");
diff --git a/src/3rdparty/v8/test/mjsunit/argument-assigned.js b/src/3rdparty/v8/test/mjsunit/argument-assigned.js
deleted file mode 100644
index e30c881..0000000
--- a/src/3rdparty/v8/test/mjsunit/argument-assigned.js
+++ /dev/null
@@ -1,133 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-(function() {
- function f(x) {
- var arguments = [ 1, 2, 3 ];
- return x;
- }
- assertEquals(7, f(7));
-})();
-
-
-(function() {
- function f(x) {
- arguments[0] = 991;
- var arguments = [ 1, 2, 3 ];
- return x;
- }
- assertEquals(991, f(7));
-})();
-
-
-(function() {
- function f(x) {
- arguments[0] = 991;
- for (var i = 0; i < 10; i++) {
- if (i == 5) {
- var arguments = [ 1, 2, 3 ];
- }
- }
- return x;
- }
- assertEquals(991, f(7));
-})();
-
-
-(function() {
- function f(x, s) {
- eval(s);
- return x;
- }
- assertEquals(7, f(7, "var arguments = [ 1, 2, 3 ];"));
-})();
-
-
-(function() {
- function f(x, s) {
- var tmp = arguments[0];
- eval(s);
- return tmp;
- }
- assertEquals(7, f(7, "var arguments = [ 1, 2, 3 ];"));
-})();
-
-
-(function() {
- function f(x, s) {
- var tmp = arguments[0];
- eval(s);
- return tmp;
- }
- assertEquals(7, f(7, ""));
-})();
-
-
-(function() {
- function f(x, s) {
- var tmp = arguments[0];
- eval(s);
- return x;
- }
- assertEquals(7, f(7, "var arguments = [ 1, 2, 3 ];"));
-})();
-
-
-(function() {
- function f(x, s) {
- var tmp = arguments[0];
- eval(s);
- return x;
- }
- assertEquals(7, f(7, ""));
-})();
-
-
-(function() {
- function f(x) {
- function g(y) {
- x = y;
- }
- arguments = {};
- g(991);
- return x;
- }
- assertEquals(991, f(7));
-})();
-
-
-(function() {
- function f(x) {
- function g(y, s) {
- eval(s);
- }
- arguments = {};
- g(991, "x = y;");
- return x;
- }
- assertEquals(991, f(7));
-})();
diff --git a/src/3rdparty/v8/test/mjsunit/argument-named-arguments.js b/src/3rdparty/v8/test/mjsunit/argument-named-arguments.js
deleted file mode 100644
index 2845102..0000000
--- a/src/3rdparty/v8/test/mjsunit/argument-named-arguments.js
+++ /dev/null
@@ -1,67 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Tests to verify proper arguments handling if the arguments
-// variable is declared as a parameter or local variable.
-
-function e(a) {
- assertEquals(9, a.length);
- assertEquals("arguments", a);
-};
-
-e("arguments");
-
-
-function f(arguments) {
- assertEquals(9, arguments.length);
- assertEquals("arguments", arguments);
-};
-
-f("arguments");
-
-
-function g(x) {
- var arguments;
- assertEquals("arguments", x);
- assertEquals(1, arguments.length);
- assertEquals("[object Arguments]", '' + arguments);
-};
-
-g("arguments");
-
-
-function h(x) {
- assertEquals("arguments", x);
- assertEquals(1, arguments.length);
- assertEquals("[object Arguments]", '' + arguments);
- var arguments = "foobar";
- assertEquals("arguments", x);
- assertEquals(6, arguments.length);
- assertEquals("foobar", '' + arguments);
-};
-
-h("arguments");
diff --git a/src/3rdparty/v8/test/mjsunit/arguments-apply.js b/src/3rdparty/v8/test/mjsunit/arguments-apply.js
deleted file mode 100644
index 48c4234..0000000
--- a/src/3rdparty/v8/test/mjsunit/arguments-apply.js
+++ /dev/null
@@ -1,134 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function ReturnArguments() {
- return arguments;
-}
-
-function ReturnReceiver() {
- return this;
-}
-
-
-function Global() {
- return ReturnArguments.apply(this, arguments);
-}
-
-assertEquals(0, Global().length);
-assertEquals(1, Global(1).length);
-assertEquals(2, Global(2)[0]);
-assertEquals(2, Global(3, 4).length);
-assertEquals(3, Global(3, 4)[0]);
-assertEquals(4, Global(3, 4)[1]);
-
-
-function Local() {
- var object = { f: ReturnArguments };
- return object.f.apply(this, arguments);
-}
-
-assertEquals(0, Local().length);
-assertEquals(1, Local(1).length);
-assertEquals(2, Local(2)[0]);
-assertEquals(2, Local(3, 4).length);
-assertEquals(3, Local(3, 4)[0]);
-assertEquals(4, Local(3, 4)[1]);
-
-
-function ShadowArguments() {
- var arguments = [3, 4];
- return ReturnArguments.apply(this, arguments);
-}
-
-assertEquals(2, ShadowArguments().length);
-assertEquals(3, ShadowArguments()[0]);
-assertEquals(4, ShadowArguments()[1]);
-
-
-function NonObjectReceiver(receiver) {
- return ReturnReceiver.apply(receiver, arguments);
-}
-
-assertEquals(Object(42), NonObjectReceiver(42));
-assertEquals("object", typeof NonObjectReceiver(42));
-assertInstanceof(NonObjectReceiver(42), Number);
-assertSame(this, NonObjectReceiver(null));
-assertSame(this, NonObjectReceiver(void 0));
-
-
-function FunctionReceiver() {
- return ReturnReceiver.apply(Object, arguments);
-}
-
-assertTrue(Object === FunctionReceiver());
-
-
-function ShadowApply() {
- function f() { return 42; }
- f.apply = function() { return 87; }
- return f.apply(this, arguments);
-}
-
-assertEquals(87, ShadowApply());
-assertEquals(87, ShadowApply(1));
-assertEquals(87, ShadowApply(1, 2));
-
-
-function CallNonFunction() {
- var object = { apply: Function.prototype.apply };
- return object.apply(this, arguments);
-}
-
-assertThrows(CallNonFunction, TypeError);
-
-
-// Make sure that the stack after the apply optimization is
-// in a valid state.
-function SimpleStackCheck() {
- var sentinel = 42;
- var result = ReturnArguments.apply(this, arguments);
- assertTrue(result != null);
- assertEquals(42, sentinel);
-}
-
-SimpleStackCheck();
-
-
-function ShadowArgumentsWithConstant() {
- var arguments = null;
- return ReturnArguments.apply(this, arguments);
-}
-
-assertEquals(0, ShadowArgumentsWithConstant().length);
-assertEquals(0, ShadowArgumentsWithConstant(1).length);
-assertEquals(0, ShadowArgumentsWithConstant(1, 2).length);
-
-
-// Make sure we can deal with unfolding lots of arguments on the
-// stack even in the presence of the apply optimizations.
-var array = new Array(2048);
-assertEquals(2048, Global.apply(this, array).length);
diff --git a/src/3rdparty/v8/test/mjsunit/arguments-call-apply.js b/src/3rdparty/v8/test/mjsunit/arguments-call-apply.js
deleted file mode 100644
index a5cadf5..0000000
--- a/src/3rdparty/v8/test/mjsunit/arguments-call-apply.js
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function sum(a, b, c) {
- var result = 0;
- for (var i = 0; i < arguments.length; i++) {
- result += arguments[i];
- }
- return result;
-}
-
-// Try invoking call before sum has been compiled lazily.
-assertEquals(6, sum.call(this, 1, 2, 3), "lazy call");
-
-assertEquals(6, sum(1, 2, 3), "normal");
-assertEquals(6, sum.call(this, 1, 2, 3), "call");
-assertEquals(6, sum.apply(this, [1, 2, 3]), "apply");
diff --git a/src/3rdparty/v8/test/mjsunit/arguments-enum.js b/src/3rdparty/v8/test/mjsunit/arguments-enum.js
deleted file mode 100644
index 3aee918..0000000
--- a/src/3rdparty/v8/test/mjsunit/arguments-enum.js
+++ /dev/null
@@ -1,52 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function countArguments() {
- var count = 0;
- for (var prop in arguments)
- count++;
- return count;
-}
-
-function setArgumentCount() {
- arguments[10] = 5;
- arguments.x = 4;
- var count = 0;
- for (var prop in arguments)
- count++;
- return count;
-}
-
-assertEquals(0, countArguments());
-assertEquals(1, countArguments(1));
-assertEquals(2, countArguments(1, 2));
-assertEquals(5, countArguments(1, 2, 3, 4, 5));
-
-assertEquals(2, setArgumentCount());
-assertEquals(3, setArgumentCount(1));
-assertEquals(4, setArgumentCount(1, 2));
-assertEquals(7, setArgumentCount(1, 2, 3, 4, 5));
diff --git a/src/3rdparty/v8/test/mjsunit/arguments-escape.js b/src/3rdparty/v8/test/mjsunit/arguments-escape.js
deleted file mode 100644
index 042100c..0000000
--- a/src/3rdparty/v8/test/mjsunit/arguments-escape.js
+++ /dev/null
@@ -1,59 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function foo(x) {
- var a = arguments;
- function bar(i) {
- assertEquals(i, ++a[0]);
- assertEquals(i, x);
- };
- bar(1);
- bar(2);
- bar(3);
- return bar;
-}
-var baz = foo(0);
-baz(4);
-baz(5);
-baz(6);
-
-// Test writing a non-smi.
-function foo2(x) {
- var a = arguments;
- function bar2(i) {
- assertEquals(i, ++a[0]);
- assertEquals(i, x);
- };
- bar2(1.5);
- bar2(2.5);
- bar2(3.5);
- return bar2;
-}
-var baz2 = foo2(0.5);
-baz2(4.5);
-baz2(5.5);
-baz2(6.5);
diff --git a/src/3rdparty/v8/test/mjsunit/arguments-indirect.js b/src/3rdparty/v8/test/mjsunit/arguments-indirect.js
deleted file mode 100644
index 2d37027..0000000
--- a/src/3rdparty/v8/test/mjsunit/arguments-indirect.js
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function f1() {
- g(f1);
-}
-
-function f2(x) {
- var a = arguments;
- x++;
- g(f2);
-}
-
-
-function g(f) {
- assertEquals(3, f.arguments.length);
- assertEquals(1, f.arguments[0]);
- assertEquals(2, f.arguments[1]);
- assertEquals(3, f.arguments[2]);
-}
-
-f1(1,2,3);
-f2(0,2,3);
diff --git a/src/3rdparty/v8/test/mjsunit/arguments-lazy.js b/src/3rdparty/v8/test/mjsunit/arguments-lazy.js
deleted file mode 100644
index 794afc3..0000000
--- a/src/3rdparty/v8/test/mjsunit/arguments-lazy.js
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Make sure we don't allocate the arguments object over and
-// over again.
-function SharedLazyArguments() {
- return arguments === arguments;
-}
-
-assertTrue(SharedLazyArguments());
-
-
-// Make sure that accessing arguments doesn't clobber any
-// local variables called arguments.
-function ArgumentsOverride(x) {
- var arguments = 42;
- x = x ? x : 0;
- return x + arguments;
-}
-
-assertEquals(42, ArgumentsOverride());
-assertEquals(43, ArgumentsOverride(1));
-assertEquals(44, ArgumentsOverride(2,3));
diff --git a/src/3rdparty/v8/test/mjsunit/arguments-load-across-eval.js b/src/3rdparty/v8/test/mjsunit/arguments-load-across-eval.js
deleted file mode 100644
index e97c113..0000000
--- a/src/3rdparty/v8/test/mjsunit/arguments-load-across-eval.js
+++ /dev/null
@@ -1,86 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Tests loading of aguments across eval calls.
-
-// Test loading across an eval call that does not shadow variables.
-function testNoShadowing(x, h) {
- function f() {
- eval('1');
- assertEquals(1, x);
- assertEquals(2, h());
- function g() {
- assertEquals(1, x);
- assertEquals(2, h());
- }
- g();
- }
- f();
-}
-
-testNoShadowing(1, function() { return 2; });
-
-// Test loading across eval calls that do not shadow variables.
-function testNoShadowing2(x, h) {
- eval('1');
- function f() {
- eval('1');
- assertEquals(1, x);
- assertEquals(2, h());
- function g() {
- assertEquals(1, x);
- assertEquals(2, h());
- }
- g();
- }
- f();
-}
-
-testNoShadowing2(1, function() { return 2; });
-
-// Test loading across an eval call that shadows variables.
-function testShadowing(x, h) {
- function f() {
- assertEquals(1, x);
- assertEquals(2, h());
- eval('var x = 3; var h = function() { return 4; };');
- assertEquals(3, x);
- assertEquals(4, h());
- function g() {
- assertEquals(3, x);
- assertEquals(4, h());
- }
- g();
- }
- f();
- assertEquals(1, x);
- assertEquals(2, h());
-}
-
-testShadowing(1, function() { return 2; });
-
-
diff --git a/src/3rdparty/v8/test/mjsunit/arguments-opt.js b/src/3rdparty/v8/test/mjsunit/arguments-opt.js
deleted file mode 100644
index b8280b4..0000000
--- a/src/3rdparty/v8/test/mjsunit/arguments-opt.js
+++ /dev/null
@@ -1,132 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-function L0() {
- return %_ArgumentsLength();
-}
-
-function L1(a) {
- return %_ArgumentsLength();
-}
-
-function L5(a,b,c,d,e) {
- return %_ArgumentsLength();
-}
-
-
-assertEquals(0, L0());
-assertEquals(1, L0(1));
-assertEquals(2, L0(1,2));
-assertEquals(5, L0(1,2,3,4,5));
-
-assertEquals(0, L1());
-assertEquals(1, L1(1));
-assertEquals(2, L1(1,2));
-assertEquals(5, L1(1,2,3,4,5));
-
-assertEquals(0, L5());
-assertEquals(1, L5(1));
-assertEquals(2, L5(1,2));
-assertEquals(5, L5(1,2,3,4,5));
-
-
-function A(key) {
- return %_Arguments(key);
-}
-
-// Integer access.
-assertEquals(0, A(0));
-assertEquals(0, A(0,1));
-assertEquals(2, A(1,2));
-assertEquals(2, A(1,2,3,4,5));
-assertEquals(5, A(4,2,3,4,5));
-assertTrue(typeof A(1) == 'undefined');
-assertTrue(typeof A(3,2,1) == 'undefined');
-
-// Out-of-bounds integer access with and without argument
-// adaptor frames.
-assertTrue(typeof(A(-10000)) == 'undefined');
-assertTrue(typeof(A(-10000, 0)) == 'undefined');
-assertTrue(typeof(A(-1)) == 'undefined');
-assertTrue(typeof(A(-1, 0)) == 'undefined');
-assertTrue(typeof(A(10000)) == 'undefined');
-assertTrue(typeof(A(10000, 0)) == 'undefined');
-
-// String access.
-assertEquals('0', A('0'));
-assertEquals('0', A('0',1));
-assertEquals(2, A('1',2));
-assertEquals(2, A('1',2,3,4,5));
-assertEquals(5, A('4',2,3,4,5));
-assertEquals('undefined', typeof A('1'));
-assertEquals('undefined', typeof A('3',2,1));
-assertEquals(A, A('callee'));
-assertEquals(1, A('length'));
-assertEquals(2, A('length',2));
-assertEquals(5, A('length',2,3,4,5));
-assertEquals({}.toString, A('toString'));
-assertEquals({}.isPrototypeOf, A('isPrototypeOf'));
-assertEquals('undefined', typeof A('xxx'));
-
-// Object access.
-function O(key) {
- return { toString: function() { return key; } };
-}
-
-var O0 = O(0);
-assertSame(O0, A(O0));
-assertSame(O0, A(O0,1));
-assertEquals(2, A(O(1),2));
-assertEquals(2, A(O(1),2,3,4,5));
-assertEquals(5, A(O(4),2,3,4,5));
-assertTrue(typeof A(O(1)) == 'undefined');
-assertTrue(typeof A(O(3),2,1) == 'undefined');
-
-O0 = O('0');
-assertSame(O0, A(O0));
-assertSame(O0, A(O0,1));
-assertEquals(2, A(O('1'),2));
-assertEquals(2, A(O('1'),2,3,4,5));
-assertEquals(5, A(O('4'),2,3,4,5));
-assertTrue(typeof A(O('1')) == 'undefined');
-assertTrue(typeof A(O('3'),2,1) == 'undefined');
-assertEquals(A, A(O('callee')));
-assertEquals(1, A(O('length')));
-assertEquals(2, A(O('length'),2));
-assertEquals(5, A(O('length'),2,3,4,5));
-assertEquals({}.toString, A(O('toString')));
-assertEquals({}.isPrototypeOf, A(O('isPrototypeOf')));
-assertTrue(typeof A(O('xxx')) == 'undefined');
-
-// Make sure that out-of-bounds access do lookups in the
-// prototype chain.
-Object.prototype[5] = 42;
-assertEquals(42, A(5));
-Object.prototype[-5] = 87;
-assertEquals(87, A(-5));
diff --git a/src/3rdparty/v8/test/mjsunit/arguments-read-and-assignment.js b/src/3rdparty/v8/test/mjsunit/arguments-read-and-assignment.js
deleted file mode 100644
index c5d34bf..0000000
--- a/src/3rdparty/v8/test/mjsunit/arguments-read-and-assignment.js
+++ /dev/null
@@ -1,164 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-// Testing basic functionality of the arguments object.
-// Introduced to ensure that the fast compiler does the right thing.
-// The arguments object itself.
-assertEquals(42, function(){ return arguments;}(42)[0],
- "return arguments value");
-assertEquals(42, function(){ return arguments;}(42)[0],
- "arguments in plain value context");
-assertEquals(42, function(){ arguments;return 42}(37),
- "arguments in effect context");
-assertEquals(42, function(){ if(arguments)return 42;}(),
- "arguments in a boolean context");
-assertEquals(42, function(){ return arguments || true;}(42)[0],
- "arguments in a short-circuit boolean context - or");
-assertEquals(true, function(){ return arguments && [true];}(42)[0],
- "arguments in a short-circuit boolean context - and");
-assertEquals(42, function(){ arguments = 42; return 42;}(),
- "arguments assignment");
-// Properties of the arguments object.
-assertEquals(42, function(){ return arguments[0]; }(42),
- "args[0] value returned");
-assertEquals(42, function(){ arguments[0]; return 42}(),
- "args[0] value ignored");
-assertEquals(42, function(){ if (arguments[0]) return 42; }(37),
- "args[0] to boolean");
-assertEquals(42, function(){ return arguments[0] || "no"; }(42),
- "args[0] short-circuit boolean or true");
-assertEquals(42, function(){ return arguments[0] || 42; }(0),
- "args[0] short-circuit boolean or false");
-assertEquals(37, function(){ return arguments[0] && 37; }(42),
- "args[0] short-circuit boolean and true");
-assertEquals(0, function(){ return arguments[0] && 42; }(0),
- "args[0] short-circuit boolean and false");
-assertEquals(42, function(){ arguments[0] = 42; return arguments[0]; }(37),
- "args[0] assignment");
-// Link between arguments and parameters.
-assertEquals(42, function(a) { arguments[0] = 42; return a; }(37),
- "assign args[0]->a");
-assertEquals(42, function(a) { a = 42; return arguments[0]; }(37),
- "assign a->args[0]");
-assertEquals(54, function(a, b) { arguments[1] = 54; return b; }(42, 37),
- "assign args[1]->b:b");
-assertEquals(54, function(a, b) { b = 54; return arguments[1]; }(42, 47),
- "assign b->args[1]:b");
-assertEquals(42, function(a, b) { arguments[1] = 54; return a; }(42, 37),
- "assign args[1]->b:a");
-assertEquals(42, function(a, b) { b = 54; return arguments[0]; }(42, 47),
- "assign b->args[1]:a");
-
-// Capture parameters in nested contexts.
-assertEquals(33,
- function(a,b) {
- return a + arguments[0] +
- function(b){ return a + b + arguments[0]; }(b); }(7,6),
- "captured parameters");
-assertEquals(42, function(a) {
- arguments[0] = 42;
- return function(b){ return a; }();
- }(37),
- "capture value returned");
-assertEquals(42,
- function(a) {
- arguments[0] = 26;
- return function(b){ a; return 42; }();
- }(37),
- "capture value ignored");
-assertEquals(42,
- function(a) {
- arguments[0] = 26;
- return function(b){ if (a) return 42; }();
- }(37),
- "capture to boolean");
-assertEquals(42,
- function(a) {
- arguments[0] = 42;
- return function(b){ return a || "no"; }();
- }(37),
- "capture short-circuit boolean or true");
-assertEquals(0,
- function(a) {
- arguments[0] = 0;
- return function(b){ return a && 42; }();
- }(37),
- "capture short-circuit boolean and false");
-// Deeply nested.
-assertEquals(42,
- function(a,b) {
- return arguments[2] +
- function(){
- return b +
- function() {
- return a;
- }();
- }();
- }(7,14,21),
- "deep nested capture");
-
-// Assignment to captured parameters.
-assertEquals(42, function(a,b) {
- arguments[1] = 11;
- return a + function(){ a = b; return a; }() + a;
- }(20, 37), "captured assignment");
-
-// Inside non-function scopes.
-assertEquals(42,
- function(a) {
- arguments[0] = 20;
- with ({ b : 22 }) { return a + b; }
- }(37),
- "a in with");
-assertEquals(42,
- function(a) {
- with ({ b : 22 }) { return arguments[0] + b; }
- }(20),
- "args in with");
-assertEquals(42,
- function(a) {
- arguments[0] = 20;
- with ({ b : 22 }) {
- return function() { return a; }() + b; }
- }(37),
- "captured a in with");
-assertEquals(42,
- function(a) {
- arguments[0] = 12;
- with ({ b : 22 }) {
- return function f() {
- try { throw 8 } catch(e) { return e + a };
- }() + b;
- }
- }(37),
- "in a catch in a named function captured a in with ");
-// Escaping arguments.
-function weirdargs(a,b,c) { if (!a) return arguments;
- return [b[2],c]; }
-var args1 = weirdargs(false, null, 40);
-var res = weirdargs(true, args1, 15);
-assertEquals(40, res[0], "return old args element");
-assertEquals(15, res[1], "return own args element"); \ No newline at end of file
diff --git a/src/3rdparty/v8/test/mjsunit/arguments.js b/src/3rdparty/v8/test/mjsunit/arguments.js
deleted file mode 100644
index 78b7722..0000000
--- a/src/3rdparty/v8/test/mjsunit/arguments.js
+++ /dev/null
@@ -1,190 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function argc0() {
- return arguments.length;
-}
-
-function argc1(i) {
- return arguments.length;
-}
-
-function argc2(i, j) {
- return arguments.length;
-}
-
-assertEquals(0, argc0());
-assertEquals(1, argc0(1));
-assertEquals(2, argc0(1, 2));
-assertEquals(3, argc0(1, 2, 3));
-assertEquals(0, argc1());
-assertEquals(1, argc1(1));
-assertEquals(2, argc1(1, 2));
-assertEquals(3, argc1(1, 2, 3));
-assertEquals(0, argc2());
-assertEquals(1, argc2(1));
-assertEquals(2, argc2(1, 2));
-assertEquals(3, argc2(1, 2, 3));
-
-var index;
-
-function argv0() {
- return arguments[index];
-}
-
-function argv1(i) {
- return arguments[index];
-}
-
-function argv2(i, j) {
- return arguments[index];
-}
-
-index = 0;
-assertEquals(7, argv0(7));
-assertEquals(7, argv0(7, 8));
-assertEquals(7, argv0(7, 8, 9));
-assertEquals(7, argv1(7));
-assertEquals(7, argv1(7, 8));
-assertEquals(7, argv1(7, 8, 9));
-assertEquals(7, argv2(7));
-assertEquals(7, argv2(7, 8));
-assertEquals(7, argv2(7, 8, 9));
-
-index = 1;
-assertEquals(8, argv0(7, 8));
-assertEquals(8, argv0(7, 8));
-assertEquals(8, argv1(7, 8, 9));
-assertEquals(8, argv1(7, 8, 9));
-assertEquals(8, argv2(7, 8, 9));
-assertEquals(8, argv2(7, 8, 9));
-
-index = 2;
-assertEquals(9, argv0(7, 8, 9));
-assertEquals(9, argv1(7, 8, 9));
-assertEquals(9, argv2(7, 8, 9));
-
-
-// Test that calling a lazily compiled function with
-// an unexpected number of arguments works.
-function f(a) { return arguments.length; };
-assertEquals(3, f(1, 2, 3));
-
-function f1(x, y) {
- function g(a) {
- a[0] = "three";
- return a.length;
- }
- var l = g(arguments);
- y = 5;
- assertEquals(2, l);
- assertEquals("three", x);
- assertEquals(5, y);
-}
-f1(3, "five");
-
-
-function f2() {
- if (arguments[0] > 0) {
- return arguments.callee(arguments[0] - 1) + arguments[0];
- }
- return 0;
-}
-assertEquals(55, f2(10));
-
-
-function f3() {
- assertEquals(0, arguments.length);
-}
-f3();
-
-
-function f4() {
- var arguments = 0;
- assertEquals(void 0, arguments.length);
-}
-f4();
-
-
-function f5(x, y, z) {
- function g(a) {
- x = "two";
- y = "three";
- a[1] = "drei";
- a[2] = "fuenf";
- };
-
- g(arguments);
- assertEquals("two", x);
- assertEquals("drei", y);
- assertEquals("fuenf", z);
-}
-f5(2, 3, 5);
-
-
-function f6(x, y) {
- x = "x";
- arguments[1] = "y";
- return [arguments.length, arguments[0], y, arguments[2]];
-}
-
-assertArrayEquals([0, void 0, void 0, void 0], f6());
-assertArrayEquals([1, "x", void 0, void 0], f6(1));
-assertArrayEquals([2, "x", "y", void 0], f6(9, 17));
-assertArrayEquals([3, "x", "y", 7], f6(3, 5, 7));
-assertArrayEquals([4, "x", "y", "c"], f6("a", "b", "c", "d"));
-
-
-function list_args(a) {
- assertEquals("function", typeof a.callee);
- var result = [];
- result.push(a.length);
- for (i = 0; i < a.length; i++) result.push(a[i]);
- return result;
-}
-
-
-function f1(x, y) {
- function g(p) {
- x = p;
- }
- g(y);
- return list_args(arguments);
-}
-
-assertArrayEquals([0], f1());
-assertArrayEquals([1, void 0], f1(3));
-assertArrayEquals([2, 5, 5], f1(3, 5));
-assertArrayEquals([3, 5, 5, 7], f1(3, 5, 7));
-
-// Check out of bounds behavior.
-function arg_get(x) { return arguments[x]; }
-function arg_del(x) { return delete arguments[x]; }
-function arg_set(x) { return (arguments[x] = 117); }
-assertEquals(undefined, arg_get(0xFFFFFFFF));
-assertEquals(true, arg_del(0xFFFFFFFF));
-assertEquals(117, arg_set(0xFFFFFFFF)); \ No newline at end of file
diff --git a/src/3rdparty/v8/test/mjsunit/array-bounds-check-removal.js b/src/3rdparty/v8/test/mjsunit/array-bounds-check-removal.js
deleted file mode 100644
index 10e11f0..0000000
--- a/src/3rdparty/v8/test/mjsunit/array-bounds-check-removal.js
+++ /dev/null
@@ -1,203 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --expose-gc
-
-var a = new Int32Array(1024);
-
-// Test that we do not assert if the accessed index has not an int32 rep.
-var v = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
-function test_do_not_assert_on_non_int32(vector, base) {
- var r = 0;
- var a1 = base + 1;
- var a2 = base + 2;
- var a3 = base + 3;
- var a4 = base + 4;
- if (a1 == 2) {
- r += vector[a1];
- r += vector[a4];
- r += vector[a2];
- r += vector[a3];
- }
- return r;
-}
-test_do_not_assert_on_non_int32(v,1);
-test_do_not_assert_on_non_int32(v,1);
-test_do_not_assert_on_non_int32(v,"a");
-test_do_not_assert_on_non_int32(v,"a");
-%OptimizeFunctionOnNextCall(test_do_not_assert_on_non_int32);
-test_do_not_assert_on_non_int32(v,0);
-
-function test_base(a, base, condition) {
- a[base + 1] = 1;
- a[base + 4] = 2;
- a[base + 3] = 3;
- a[base + 2] = 4;
- a[base + 4] = base + 4;
- if (condition) {
- a[base + 1] = 1;
- a[base + 2] = 2;
- a[base + 2] = 3;
- a[base + 2] = 4;
- a[base + 4] = base + 4;
- } else {
- a[base + 6] = 1;
- a[base + 4] = 2;
- a[base + 3] = 3;
- a[base + 2] = 4;
- a[base + 4] = base - 4;
- }
-}
-
-function check_test_base(a, base, condition) {
- if (condition) {
- assertEquals(1, a[base + 1]);
- assertEquals(4, a[base + 2]);
- assertEquals(base + 4, a[base + 4]);
- } else {
- assertEquals(1, a[base + 6]);
- assertEquals(3, a[base + 3]);
- assertEquals(4, a[base + 2]);
- assertEquals(base - 4, a[base + 4]);
- }
-}
-
-
-test_base(a, 1, true);
-test_base(a, 2, true);
-test_base(a, 1, false);
-test_base(a, 2, false);
-%OptimizeFunctionOnNextCall(test_base);
-test_base(a, 3, true);
-check_test_base(a, 3, true);
-test_base(a, 3, false);
-check_test_base(a, 3, false);
-
-// Test that we deopt on failed bounds checks.
-var dictionary_map_array = new Int32Array(128);
-test_base(dictionary_map_array, 5, true);
-test_base(dictionary_map_array, 6, true);
-test_base(dictionary_map_array, 5, false);
-test_base(dictionary_map_array, 6, false);
-%OptimizeFunctionOnNextCall(test_base);
-test_base(dictionary_map_array, -2, true);
-assertTrue(%GetOptimizationStatus(test_base) != 1);
-
-// Forget about the dictionary_map_array's map.
-%ClearFunctionTypeFeedback(test_base);
-
-test_base(a, 5, true);
-test_base(a, 6, true);
-test_base(a, 5, false);
-test_base(a, 6, false);
-%OptimizeFunctionOnNextCall(test_base);
-test_base(a, 2048, true);
-assertTrue(%GetOptimizationStatus(test_base) != 1);
-
-function test_minus(base,cond) {
- a[base - 1] = 1;
- a[base - 2] = 2;
- a[base + 4] = 3;
- a[base] = 4;
- a[base + 4] = base + 4;
- if (cond) {
- a[base - 4] = 1;
- a[base + 5] = 2;
- a[base + 3] = 3;
- a[base + 2] = 4;
- a[base + 4] = base + 4;
- } else {
- a[base + 6] = 1;
- a[base + 4] = 2;
- a[base + 3] = 3;
- a[base + 2] = 4;
- a[base + 4] = base - 4;
- }
-}
-
-function check_test_minus(base,cond) {
- if (cond) {
- assertEquals(2, a[base + 5]);
- assertEquals(3, a[base + 3]);
- assertEquals(4, a[base + 2]);
- assertEquals(base + 4, a[base + 4]);
- } else {
- assertEquals(1, a[base + 6]);
- assertEquals(3, a[base + 3]);
- assertEquals(4, a[base + 2]);
- assertEquals(base - 4, a[base + 4]);
- }
-}
-
-test_minus(5,true);
-test_minus(6,true);
-%OptimizeFunctionOnNextCall(test_minus);
-test_minus(7,true);
-check_test_minus(7,true);
-test_minus(7,false);
-check_test_minus(7,false);
-
-// Specific test on negative offsets.
-var short_a = new Array(100);
-for (var i = 0; i < short_a.length; i++) short_a[i] = 0;
-function short_test(a, i) {
- a[i + 9] = 0;
- a[i - 10] = 0;
-}
-short_test(short_a, 50);
-short_test(short_a, 50);
-%OptimizeFunctionOnNextCall(short_test);
-short_a.length = 10;
-short_test(short_a, 0);
-assertTrue(%GetOptimizationStatus(short_test) != 1);
-
-
-// A test for when we would modify a phi index.
-var data_phi = [0, 1, 2, 3, 4, 5, 6, 7, 8];
-function test_phi(a, base, check) {
- var index;
- if (check) {
- index = base + 1;
- } else {
- index = base + 2;
- }
- var result = a[index];
- result += a[index + 1];
- result += a[index - 1];
- return result;
-}
-var result_phi = 0;
-result_phi = test_phi(data_phi, 3, true);
-assertEquals(12, result_phi);
-result_phi = test_phi(data_phi, 3, true);
-assertEquals(12, result_phi);
-%OptimizeFunctionOnNextCall(test_phi);
-result_phi = test_phi(data_phi, 3, true);
-assertEquals(12, result_phi);
-
-
-gc();
diff --git a/src/3rdparty/v8/test/mjsunit/array-concat.js b/src/3rdparty/v8/test/mjsunit/array-concat.js
deleted file mode 100644
index 97bd85a..0000000
--- a/src/3rdparty/v8/test/mjsunit/array-concat.js
+++ /dev/null
@@ -1,237 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-/**
- * @fileoverview Test concat on small and large arrays
- */
-
-var poses;
-
-poses = [140, 4000000000];
-while (pos = poses.shift()) {
- var a = new Array(pos);
- var array_proto = [];
- a.__proto__ = array_proto;
- assertEquals(pos, a.length);
- a.push('foo');
- assertEquals(pos + 1, a.length);
- var b = ['bar'];
- var c = a.concat(b);
- assertEquals(pos + 2, c.length);
- assertEquals("undefined", typeof(c[pos - 1]));
- assertEquals("foo", c[pos]);
- assertEquals("bar", c[pos + 1]);
-
- // Can we fool the system by putting a number in a string?
- var onetwofour = "124";
- a[onetwofour] = 'doo';
- assertEquals(a[124], 'doo');
- c = a.concat(b);
- assertEquals(c[124], 'doo');
-
- // If we put a number in the prototype, then the spec says it should be
- // copied on concat.
- array_proto["123"] = 'baz';
- assertEquals(a[123], 'baz');
-
- c = a.concat(b);
- assertEquals(pos + 2, c.length);
- assertEquals("baz", c[123]);
- assertEquals("undefined", typeof(c[pos - 1]));
- assertEquals("foo", c[pos]);
- assertEquals("bar", c[pos + 1]);
-
- // When we take the number off the prototype it disappears from a, but
- // the concat put it in c itself.
- array_proto["123"] = undefined;
- assertEquals("undefined", typeof(a[123]));
- assertEquals("baz", c[123]);
-
- // If the element of prototype is shadowed, the element on the instance
- // should be copied, but not the one on the prototype.
- array_proto[123] = 'baz';
- a[123] = 'xyz';
- assertEquals('xyz', a[123]);
- c = a.concat(b);
- assertEquals('xyz', c[123]);
-
- // Non-numeric properties on the prototype or the array shouldn't get
- // copied.
- array_proto.moe = 'joe';
- a.ben = 'jerry';
- assertEquals(a["moe"], 'joe');
- assertEquals(a["ben"], 'jerry');
- c = a.concat(b);
- // ben was not copied
- assertEquals("undefined", typeof(c.ben));
-
- // When we take moe off the prototype it disappears from all arrays.
- array_proto.moe = undefined;
- assertEquals("undefined", typeof(c.moe));
-
- // Negative indices don't get concated.
- a[-1] = 'minus1';
- assertEquals("minus1", a[-1]);
- assertEquals("undefined", typeof(a[0xffffffff]));
- c = a.concat(b);
- assertEquals("undefined", typeof(c[-1]));
- assertEquals("undefined", typeof(c[0xffffffff]));
- assertEquals(c.length, a.length + 1);
-}
-
-poses = [140, 4000000000];
-while (pos = poses.shift()) {
- var a = new Array(pos);
- assertEquals(pos, a.length);
- a.push('foo');
- assertEquals(pos + 1, a.length);
- var b = ['bar'];
- var c = a.concat(b);
- assertEquals(pos + 2, c.length);
- assertEquals("undefined", typeof(c[pos - 1]));
- assertEquals("foo", c[pos]);
- assertEquals("bar", c[pos + 1]);
-
- // Can we fool the system by putting a number in a string?
- var onetwofour = "124";
- a[onetwofour] = 'doo';
- assertEquals(a[124], 'doo');
- c = a.concat(b);
- assertEquals(c[124], 'doo');
-
- // If we put a number in the prototype, then the spec says it should be
- // copied on concat.
- Array.prototype["123"] = 'baz';
- assertEquals(a[123], 'baz');
-
- c = a.concat(b);
- assertEquals(pos + 2, c.length);
- assertEquals("baz", c[123]);
- assertEquals("undefined", typeof(c[pos - 1]));
- assertEquals("foo", c[pos]);
- assertEquals("bar", c[pos + 1]);
-
- // When we take the number off the prototype it disappears from a, but
- // the concat put it in c itself.
- Array.prototype["123"] = undefined;
- assertEquals("undefined", typeof(a[123]));
- assertEquals("baz", c[123]);
-
- // If the element of prototype is shadowed, the element on the instance
- // should be copied, but not the one on the prototype.
- Array.prototype[123] = 'baz';
- a[123] = 'xyz';
- assertEquals('xyz', a[123]);
- c = a.concat(b);
- assertEquals('xyz', c[123]);
-
- // Non-numeric properties on the prototype or the array shouldn't get
- // copied.
- Array.prototype.moe = 'joe';
- a.ben = 'jerry';
- assertEquals(a["moe"], 'joe');
- assertEquals(a["ben"], 'jerry');
- c = a.concat(b);
- // ben was not copied
- assertEquals("undefined", typeof(c.ben));
- // moe was not copied, but we can see it through the prototype
- assertEquals("joe", c.moe);
-
- // When we take moe off the prototype it disappears from all arrays.
- Array.prototype.moe = undefined;
- assertEquals("undefined", typeof(c.moe));
-
- // Negative indices don't get concated.
- a[-1] = 'minus1';
- assertEquals("minus1", a[-1]);
- assertEquals("undefined", typeof(a[0xffffffff]));
- c = a.concat(b);
- assertEquals("undefined", typeof(c[-1]));
- assertEquals("undefined", typeof(c[0xffffffff]));
- assertEquals(c.length, a.length + 1);
-
-}
-
-a = [];
-c = a.concat('Hello');
-assertEquals(1, c.length);
-assertEquals("Hello", c[0]);
-assertEquals("Hello", c.toString());
-
-// Check that concat preserves holes.
-var holey = [void 0,'a',,'c'].concat(['d',,'f',[0,,2],void 0])
-assertEquals(9, holey.length); // hole in embedded array is ignored
-for (var i = 0; i < holey.length; i++) {
- if (i == 2 || i == 5) {
- assertFalse(i in holey);
- } else {
- assertTrue(i in holey);
- }
-}
-
-// Polluted prototype from prior tests.
-delete Array.prototype[123];
-
-// Check that concat reads getters in the correct order.
-var arr1 = [,2];
-var arr2 = [1,3];
-var r1 = [].concat(arr1, arr2); // [,2,1,3]
-assertEquals([,2,1,3], r1);
-
-// Make first array change length of second array.
-Object.defineProperty(arr1, 0, {get: function() {
- arr2.push("X");
- return undefined;
- }, configurable: true})
-var r2 = [].concat(arr1, arr2); // [undefined,2,1,3,"X"]
-assertEquals([undefined,2,1,3,"X"], r2);
-
-// Make first array change length of second array massively.
-arr2.length = 2;
-Object.defineProperty(arr1, 0, {get: function() {
- arr2[500000] = "X";
- return undefined;
- }, configurable: true})
-var r3 = [].concat(arr1, arr2); // [undefined,2,1,3,"X"]
-var expected = [undefined,2,1,3];
-expected[500000 + 2] = "X";
-
-assertEquals(expected, r3);
-
-var arr3 = [];
-var trace = [];
-var expectedTrace = []
-function mkGetter(i) { return function() { trace.push(i); }; }
-arr3.length = 10000;
-for (var i = 0; i < 100; i++) {
- Object.defineProperty(arr3, i * i, {get: mkGetter(i)});
- expectedTrace[i] = i;
- expectedTrace[100 + i] = i;
-}
-var r4 = [0].concat(arr3, arr3);
-assertEquals(1 + arr3.length * 2, r4.length);
-assertEquals(expectedTrace, trace);
diff --git a/src/3rdparty/v8/test/mjsunit/array-construct-transition.js b/src/3rdparty/v8/test/mjsunit/array-construct-transition.js
deleted file mode 100644
index f8d7c83..0000000
--- a/src/3rdparty/v8/test/mjsunit/array-construct-transition.js
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --smi-only-arrays
-
-support_smi_only_arrays = %HasFastSmiElements(new Array(1,2,3,4,5,6));
-
-if (support_smi_only_arrays) {
- var a = new Array(0, 1, 2);
- assertTrue(%HasFastSmiElements(a));
- var b = new Array(0.5, 1.2, 2.3);
- assertTrue(%HasFastDoubleElements(b));
- var c = new Array(0.5, 1.2, new Object());
- assertTrue(%HasFastObjectElements(c));
-}
diff --git a/src/3rdparty/v8/test/mjsunit/array-constructor.js b/src/3rdparty/v8/test/mjsunit/array-constructor.js
deleted file mode 100644
index bf5d3d6..0000000
--- a/src/3rdparty/v8/test/mjsunit/array-constructor.js
+++ /dev/null
@@ -1,119 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-var loop_count = 5
-
-
-for (var i = 0; i < loop_count; i++) {
- var a = new Array();
- var b = Array();
- assertEquals(0, a.length);
- assertEquals(0, b.length);
- for (var k = 0; k < 10; k++) {
- assertEquals('undefined', typeof a[k]);
- assertEquals('undefined', typeof b[k]);
- }
-}
-
-
-for (var i = 0; i < loop_count; i++) {
- for (var j = 0; j < 100; j++) {
- var a = new Array(j);
- var b = Array(j);
- assertEquals(j, a.length);
- assertEquals(j, b.length);
- for (var k = 0; k < j; k++) {
- assertEquals('undefined', typeof a[k]);
- assertEquals('undefined', typeof b[k]);
- }
- }
-}
-
-
-for (var i = 0; i < loop_count; i++) {
- a = new Array(0, 1);
- assertArrayEquals([0, 1], a);
- a = new Array(0, 1, 2);
- assertArrayEquals([0, 1, 2], a);
- a = new Array(0, 1, 2, 3);
- assertArrayEquals([0, 1, 2, 3], a);
- a = new Array(0, 1, 2, 3, 4);
- assertArrayEquals([0, 1, 2, 3, 4], a);
- a = new Array(0, 1, 2, 3, 4, 5);
- assertArrayEquals([0, 1, 2, 3, 4, 5], a);
- a = new Array(0, 1, 2, 3, 4, 5, 6);
- assertArrayEquals([0, 1, 2, 3, 4, 5, 6], a);
- a = new Array(0, 1, 2, 3, 4, 5, 6, 7);
- assertArrayEquals([0, 1, 2, 3, 4, 5, 6, 7], a);
- a = new Array(0, 1, 2, 3, 4, 5, 6, 7, 8);
- assertArrayEquals([0, 1, 2, 3, 4, 5, 6, 7, 8], a);
- a = new Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
- assertArrayEquals([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], a);
-}
-
-
-function innerArrayLiteral(n) {
- var a = new Array(n);
- for (var i = 0; i < n; i++) {
- a[i] = i * 2 + 7;
- }
- return a.join();
-}
-
-
-function testConstructOfSizeSize(n) {
- var str = innerArrayLiteral(n);
- var a = eval('[' + str + ']');
- var b = eval('new Array(' + str + ')')
- var c = eval('Array(' + str + ')')
- assertEquals(n, a.length);
- assertArrayEquals(a, b);
- assertArrayEquals(a, c);
-}
-
-
-for (var i = 0; i < loop_count; i++) {
- // JSObject::kInitialMaxFastElementArray is 10000.
- for (var j = 1000; j < 12000; j += 1000) {
- testConstructOfSizeSize(j);
- }
-}
-
-
-for (var i = 0; i < loop_count; i++) {
- assertArrayEquals(['xxx'], new Array('xxx'));
- assertArrayEquals(['xxx'], Array('xxx'));
- assertArrayEquals([true], new Array(true));
- assertArrayEquals([false], Array(false));
- assertArrayEquals([{a:1}], new Array({a:1}));
- assertArrayEquals([{b:2}], Array({b:2}));
-}
-
-
-assertThrows('new Array(3.14)');
-assertThrows('Array(2.72)');
diff --git a/src/3rdparty/v8/test/mjsunit/array-elements-from-array-prototype-chain.js b/src/3rdparty/v8/test/mjsunit/array-elements-from-array-prototype-chain.js
deleted file mode 100644
index edbeb2a..0000000
--- a/src/3rdparty/v8/test/mjsunit/array-elements-from-array-prototype-chain.js
+++ /dev/null
@@ -1,191 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////
-// Tests below verify that elements set on Array.prototype's proto propagate
-// for various Array.prototype functions (like unshift, shift, etc.)
-// If add any new tests here, consider adding them to all other files:
-// array-elements-from-array-prototype.js
-// array-elements-from-array-prototype-chain.js
-// array-elements-from-object-prototype.js
-// those ideally should be identical modulo host of elements and
-// the way elements introduced.
-//
-// Note: they are put into a separate file as we need maximally clean
-// VM setup---some optimizations might be already turned off in
-// 'dirty' VM.
-////////////////////////////////////////////////////////////////////////
-
-var at3 = '@3'
-var at7 = '@7'
-
-Array.prototype.__proto__ = {3: at3};
-Array.prototype.__proto__.__proto__ = {7: at7};
-
-var a = new Array(13)
-
-assertEquals(at3, a[3])
-assertFalse(a.hasOwnProperty(3))
-
-assertEquals(at7, a[7])
-assertFalse(a.hasOwnProperty(7))
-
-assertEquals(undefined, a.shift(), 'hole should be returned as undefined')
-// Side-effects: Array.prototype[3] percolates into a[2] and Array.prototype[7[
-// into a[6], still visible at the corresponding indices.
-
-assertEquals(at3, a[2])
-assertTrue(a.hasOwnProperty(2))
-assertEquals(at3, a[3])
-assertFalse(a.hasOwnProperty(3))
-
-assertEquals(at7, a[6])
-assertTrue(a.hasOwnProperty(6))
-assertEquals(at7, a[7])
-assertFalse(a.hasOwnProperty(7))
-
-a.unshift('foo', 'bar')
-// Side-effects: Array.prototype[3] now percolates into a[5] and Array.prototype[7]
-// into a[9].
-
-assertEquals(at3, a[3])
-assertFalse(a.hasOwnProperty(3))
-assertEquals(at3, a[4])
-assertTrue(a.hasOwnProperty(4))
-assertEquals(at3, a[5])
-assertTrue(a.hasOwnProperty(5))
-
-assertEquals(undefined, a[6])
-assertFalse(a.hasOwnProperty(6))
-
-assertEquals(at7, a[7])
-assertFalse(a.hasOwnProperty(7))
-assertEquals(at7, a[8])
-assertTrue(a.hasOwnProperty(8))
-assertEquals(at7, a[9])
-assertTrue(a.hasOwnProperty(9))
-
-var sliced = a.slice(3, 10)
-// Slice must keep intact a and reify holes at indices 0--2 and 4--6.
-
-assertEquals(at3, a[3])
-assertFalse(a.hasOwnProperty(3))
-assertEquals(at3, a[4])
-assertTrue(a.hasOwnProperty(4))
-assertEquals(at3, a[5])
-assertTrue(a.hasOwnProperty(5))
-
-assertEquals(undefined, a[6])
-assertFalse(a.hasOwnProperty(6))
-
-assertEquals(at7, a[7])
-assertFalse(a.hasOwnProperty(7))
-assertEquals(at7, a[8])
-assertTrue(a.hasOwnProperty(8))
-assertEquals(at7, a[9])
-assertTrue(a.hasOwnProperty(9))
-
-assertEquals(at3, sliced[0])
-assertTrue(sliced.hasOwnProperty(0))
-assertEquals(at3, sliced[1])
-assertTrue(sliced.hasOwnProperty(1))
-assertEquals(at3, sliced[2])
-assertTrue(sliced.hasOwnProperty(2))
-
-// Note: sliced[3] comes directly from Array.prototype[3]
-assertEquals(at3, sliced[3]);
-assertFalse(sliced.hasOwnProperty(3))
-
-assertEquals(at7, sliced[4])
-assertTrue(sliced.hasOwnProperty(4))
-assertEquals(at7, sliced[5])
-assertTrue(sliced.hasOwnProperty(5))
-assertEquals(at7, sliced[6])
-assertTrue(sliced.hasOwnProperty(6))
-
-
-// Splice is too complicated the operation, start afresh.
-
-// Shrking array.
-var a0 = [0, 1, , , 4, 5, , , , 9]
-var result = a0.splice(4, 1)
-// Side-effects: everything before 4 is kept intact:
-
-assertEquals(0, a0[0])
-assertTrue(a0.hasOwnProperty(0))
-assertEquals(1, a0[1])
-assertTrue(a0.hasOwnProperty(1))
-assertEquals(undefined, a0[2])
-assertFalse(a0.hasOwnProperty(2))
-assertEquals(at3, a0[3])
-assertFalse(a0.hasOwnProperty(3))
-
-// 4 and above shifted left by one reifying at7 into a0[6] and keeping
-// a hole at a0[7]
-
-assertEquals(5, a0[4])
-assertTrue(a0.hasOwnProperty(4))
-assertEquals(undefined, a0[5])
-assertFalse(a0.hasOwnProperty(5))
-assertEquals(at7, a0[6])
-assertTrue(a0.hasOwnProperty(6))
-assertEquals(at7, a0[7])
-assertFalse(a0.hasOwnProperty(7))
-assertEquals(9, a0[8])
-assertTrue(a0.hasOwnProperty(8))
-
-// Growing array.
-var a1 = [0, 1, , , 4, 5, , , , 9]
-var result = a1.splice(4, 0, undefined)
-// Side-effects: everything before 4 is kept intact:
-
-assertEquals(0, a1[0])
-assertTrue(a1.hasOwnProperty(0))
-assertEquals(1, a1[1])
-assertTrue(a1.hasOwnProperty(1))
-assertEquals(undefined, a1[2])
-assertFalse(a1.hasOwnProperty(2))
-assertEquals(at3, a1[3])
-assertFalse(a1.hasOwnProperty(3))
-
-// Now owned undefined resides at 4 and rest is shifted right by one
-// reifying at7 into a0[8] and keeping a hole at a0[7].
-
-assertEquals(undefined, a1[4])
-assertTrue(a1.hasOwnProperty(4))
-assertEquals(4, a1[5])
-assertTrue(a1.hasOwnProperty(5))
-assertEquals(5, a1[6])
-assertTrue(a1.hasOwnProperty(6))
-assertEquals(at7, a1[7])
-assertFalse(a1.hasOwnProperty(7))
-assertEquals(at7, a1[8])
-assertTrue(a1.hasOwnProperty(8))
-assertEquals(undefined, a1[9])
-assertFalse(a1.hasOwnProperty(9))
-assertEquals(9, a1[10])
-assertTrue(a1.hasOwnProperty(10))
diff --git a/src/3rdparty/v8/test/mjsunit/array-elements-from-array-prototype.js b/src/3rdparty/v8/test/mjsunit/array-elements-from-array-prototype.js
deleted file mode 100644
index b89cdfa..0000000
--- a/src/3rdparty/v8/test/mjsunit/array-elements-from-array-prototype.js
+++ /dev/null
@@ -1,191 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////
-// Tests below verify that elements set on Array.prototype propagate
-// for various Array.prototype functions (like unshift, shift, etc.)
-// If add any new tests here, consider adding them to all other files:
-// array-elements-from-array-prototype.js
-// array-elements-from-array-prototype-chain.js
-// array-elements-from-object-prototype.js
-// those ideally should be identical modulo host of elements and
-// the way elements introduced.
-//
-// Note: they are put into a separate file as we need maximally clean
-// VM setup---some optimizations might be already turned off in
-// 'dirty' VM.
-////////////////////////////////////////////////////////////////////////
-
-var at3 = '@3'
-var at7 = '@7'
-
-Array.prototype[3] = at3
-Array.prototype[7] = at7
-
-var a = new Array(13)
-
-assertEquals(at3, a[3])
-assertFalse(a.hasOwnProperty(3))
-
-assertEquals(at7, a[7])
-assertFalse(a.hasOwnProperty(7))
-
-assertEquals(undefined, a.shift(), 'hole should be returned as undefined')
-// Side-effects: Array.prototype[3] percolates into a[2] and Array.prototype[7[
-// into a[6], still visible at the corresponding indices.
-
-assertEquals(at3, a[2])
-assertTrue(a.hasOwnProperty(2))
-assertEquals(at3, a[3])
-assertFalse(a.hasOwnProperty(3))
-
-assertEquals(at7, a[6])
-assertTrue(a.hasOwnProperty(6))
-assertEquals(at7, a[7])
-assertFalse(a.hasOwnProperty(7))
-
-a.unshift('foo', 'bar')
-// Side-effects: Array.prototype[3] now percolates into a[5] and Array.prototype[7]
-// into a[9].
-
-assertEquals(at3, a[3])
-assertFalse(a.hasOwnProperty(3))
-assertEquals(at3, a[4])
-assertTrue(a.hasOwnProperty(4))
-assertEquals(at3, a[5])
-assertTrue(a.hasOwnProperty(5))
-
-assertEquals(undefined, a[6])
-assertFalse(a.hasOwnProperty(6))
-
-assertEquals(at7, a[7])
-assertFalse(a.hasOwnProperty(7))
-assertEquals(at7, a[8])
-assertTrue(a.hasOwnProperty(8))
-assertEquals(at7, a[9])
-assertTrue(a.hasOwnProperty(9))
-
-var sliced = a.slice(3, 10)
-// Slice must keep intact a and reify holes at indices 0--2 and 4--6.
-
-assertEquals(at3, a[3])
-assertFalse(a.hasOwnProperty(3))
-assertEquals(at3, a[4])
-assertTrue(a.hasOwnProperty(4))
-assertEquals(at3, a[5])
-assertTrue(a.hasOwnProperty(5))
-
-assertEquals(undefined, a[6])
-assertFalse(a.hasOwnProperty(6))
-
-assertEquals(at7, a[7])
-assertFalse(a.hasOwnProperty(7))
-assertEquals(at7, a[8])
-assertTrue(a.hasOwnProperty(8))
-assertEquals(at7, a[9])
-assertTrue(a.hasOwnProperty(9))
-
-assertEquals(at3, sliced[0])
-assertTrue(sliced.hasOwnProperty(0))
-assertEquals(at3, sliced[1])
-assertTrue(sliced.hasOwnProperty(1))
-assertEquals(at3, sliced[2])
-assertTrue(sliced.hasOwnProperty(2))
-
-// Note: sliced[3] comes directly from Array.prototype[3]
-assertEquals(at3, sliced[3]);
-assertFalse(sliced.hasOwnProperty(3))
-
-assertEquals(at7, sliced[4])
-assertTrue(sliced.hasOwnProperty(4))
-assertEquals(at7, sliced[5])
-assertTrue(sliced.hasOwnProperty(5))
-assertEquals(at7, sliced[6])
-assertTrue(sliced.hasOwnProperty(6))
-
-
-// Splice is too complicated the operation, start afresh.
-
-// Shrking array.
-var a0 = [0, 1, , , 4, 5, , , , 9]
-var result = a0.splice(4, 1)
-// Side-effects: everything before 4 is kept intact:
-
-assertEquals(0, a0[0])
-assertTrue(a0.hasOwnProperty(0))
-assertEquals(1, a0[1])
-assertTrue(a0.hasOwnProperty(1))
-assertEquals(undefined, a0[2])
-assertFalse(a0.hasOwnProperty(2))
-assertEquals(at3, a0[3])
-assertFalse(a0.hasOwnProperty(3))
-
-// 4 and above shifted left by one reifying at7 into a0[6] and keeping
-// a hole at a0[7]
-
-assertEquals(5, a0[4])
-assertTrue(a0.hasOwnProperty(4))
-assertEquals(undefined, a0[5])
-assertFalse(a0.hasOwnProperty(5))
-assertEquals(at7, a0[6])
-assertTrue(a0.hasOwnProperty(6))
-assertEquals(at7, a0[7])
-assertFalse(a0.hasOwnProperty(7))
-assertEquals(9, a0[8])
-assertTrue(a0.hasOwnProperty(8))
-
-// Growing array.
-var a1 = [0, 1, , , 4, 5, , , , 9]
-var result = a1.splice(4, 0, undefined)
-// Side-effects: everything before 4 is kept intact:
-
-assertEquals(0, a1[0])
-assertTrue(a1.hasOwnProperty(0))
-assertEquals(1, a1[1])
-assertTrue(a1.hasOwnProperty(1))
-assertEquals(undefined, a1[2])
-assertFalse(a1.hasOwnProperty(2))
-assertEquals(at3, a1[3])
-assertFalse(a1.hasOwnProperty(3))
-
-// Now owned undefined resides at 4 and rest is shifted right by one
-// reifying at7 into a0[8] and keeping a hole at a0[7].
-
-assertEquals(undefined, a1[4])
-assertTrue(a1.hasOwnProperty(4))
-assertEquals(4, a1[5])
-assertTrue(a1.hasOwnProperty(5))
-assertEquals(5, a1[6])
-assertTrue(a1.hasOwnProperty(6))
-assertEquals(at7, a1[7])
-assertFalse(a1.hasOwnProperty(7))
-assertEquals(at7, a1[8])
-assertTrue(a1.hasOwnProperty(8))
-assertEquals(undefined, a1[9])
-assertFalse(a1.hasOwnProperty(9))
-assertEquals(9, a1[10])
-assertTrue(a1.hasOwnProperty(10))
diff --git a/src/3rdparty/v8/test/mjsunit/array-elements-from-object-prototype.js b/src/3rdparty/v8/test/mjsunit/array-elements-from-object-prototype.js
deleted file mode 100644
index a6ad0ee..0000000
--- a/src/3rdparty/v8/test/mjsunit/array-elements-from-object-prototype.js
+++ /dev/null
@@ -1,191 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-////////////////////////////////////////////////////////////////////////
-// Tests below verify that elements set on Object.prototype propagate
-// for various Array.prototype functions (like unshift, shift, etc.)
-// If add any new tests here, consider adding them to all other files:
-// array-elements-from-array-prototype.js
-// array-elements-from-array-prototype-chain.js
-// array-elements-from-object-prototype.js
-// those ideally should be identical modulo host of elements and
-// the way elements introduced.
-//
-// Note: they are put into a separate file as we need maximally clean
-// VM setup---some optimizations might be already turned off in
-// 'dirty' VM.
-////////////////////////////////////////////////////////////////////////
-
-var at3 = '@3'
-var at7 = '@7'
-
-Object.prototype[3] = at3
-Object.prototype[7] = at7
-
-var a = new Array(13)
-
-assertEquals(at3, a[3])
-assertFalse(a.hasOwnProperty(3))
-
-assertEquals(at7, a[7])
-assertFalse(a.hasOwnProperty(7))
-
-assertEquals(undefined, a.shift(), 'hole should be returned as undefined')
-// Side-effects: Array.prototype[3] percolates into a[2] and Array.prototype[7[
-// into a[6], still visible at the corresponding indices.
-
-assertEquals(at3, a[2])
-assertTrue(a.hasOwnProperty(2))
-assertEquals(at3, a[3])
-assertFalse(a.hasOwnProperty(3))
-
-assertEquals(at7, a[6])
-assertTrue(a.hasOwnProperty(6))
-assertEquals(at7, a[7])
-assertFalse(a.hasOwnProperty(7))
-
-a.unshift('foo', 'bar')
-// Side-effects: Array.prototype[3] now percolates into a[5] and Array.prototype[7]
-// into a[9].
-
-assertEquals(at3, a[3])
-assertFalse(a.hasOwnProperty(3))
-assertEquals(at3, a[4])
-assertTrue(a.hasOwnProperty(4))
-assertEquals(at3, a[5])
-assertTrue(a.hasOwnProperty(5))
-
-assertEquals(undefined, a[6])
-assertFalse(a.hasOwnProperty(6))
-
-assertEquals(at7, a[7])
-assertFalse(a.hasOwnProperty(7))
-assertEquals(at7, a[8])
-assertTrue(a.hasOwnProperty(8))
-assertEquals(at7, a[9])
-assertTrue(a.hasOwnProperty(9))
-
-var sliced = a.slice(3, 10)
-// Slice must keep intact a and reify holes at indices 0--2 and 4--6.
-
-assertEquals(at3, a[3])
-assertFalse(a.hasOwnProperty(3))
-assertEquals(at3, a[4])
-assertTrue(a.hasOwnProperty(4))
-assertEquals(at3, a[5])
-assertTrue(a.hasOwnProperty(5))
-
-assertEquals(undefined, a[6])
-assertFalse(a.hasOwnProperty(6))
-
-assertEquals(at7, a[7])
-assertFalse(a.hasOwnProperty(7))
-assertEquals(at7, a[8])
-assertTrue(a.hasOwnProperty(8))
-assertEquals(at7, a[9])
-assertTrue(a.hasOwnProperty(9))
-
-assertEquals(at3, sliced[0])
-assertTrue(sliced.hasOwnProperty(0))
-assertEquals(at3, sliced[1])
-assertTrue(sliced.hasOwnProperty(1))
-assertEquals(at3, sliced[2])
-assertTrue(sliced.hasOwnProperty(2))
-
-// Note: sliced[3] comes directly from Array.prototype[3]
-assertEquals(at3, sliced[3]);
-assertFalse(sliced.hasOwnProperty(3))
-
-assertEquals(at7, sliced[4])
-assertTrue(sliced.hasOwnProperty(4))
-assertEquals(at7, sliced[5])
-assertTrue(sliced.hasOwnProperty(5))
-assertEquals(at7, sliced[6])
-assertTrue(sliced.hasOwnProperty(6))
-
-
-// Splice is too complicated the operation, start afresh.
-
-// Shrking array.
-var a0 = [0, 1, , , 4, 5, , , , 9]
-var result = a0.splice(4, 1)
-// Side-effects: everything before 4 is kept intact:
-
-assertEquals(0, a0[0])
-assertTrue(a0.hasOwnProperty(0))
-assertEquals(1, a0[1])
-assertTrue(a0.hasOwnProperty(1))
-assertEquals(undefined, a0[2])
-assertFalse(a0.hasOwnProperty(2))
-assertEquals(at3, a0[3])
-assertFalse(a0.hasOwnProperty(3))
-
-// 4 and above shifted left by one reifying at7 into a0[6] and keeping
-// a hole at a0[7]
-
-assertEquals(5, a0[4])
-assertTrue(a0.hasOwnProperty(4))
-assertEquals(undefined, a0[5])
-assertFalse(a0.hasOwnProperty(5))
-assertEquals(at7, a0[6])
-assertTrue(a0.hasOwnProperty(6))
-assertEquals(at7, a0[7])
-assertFalse(a0.hasOwnProperty(7))
-assertEquals(9, a0[8])
-assertTrue(a0.hasOwnProperty(8))
-
-// Growing array.
-var a1 = [0, 1, , , 4, 5, , , , 9]
-var result = a1.splice(4, 0, undefined)
-// Side-effects: everything before 4 is kept intact:
-
-assertEquals(0, a1[0])
-assertTrue(a1.hasOwnProperty(0))
-assertEquals(1, a1[1])
-assertTrue(a1.hasOwnProperty(1))
-assertEquals(undefined, a1[2])
-assertFalse(a1.hasOwnProperty(2))
-assertEquals(at3, a1[3])
-assertFalse(a1.hasOwnProperty(3))
-
-// Now owned undefined resides at 4 and rest is shifted right by one
-// reifying at7 into a0[8] and keeping a hole at a0[7].
-
-assertEquals(undefined, a1[4])
-assertTrue(a1.hasOwnProperty(4))
-assertEquals(4, a1[5])
-assertTrue(a1.hasOwnProperty(5))
-assertEquals(5, a1[6])
-assertTrue(a1.hasOwnProperty(6))
-assertEquals(at7, a1[7])
-assertFalse(a1.hasOwnProperty(7))
-assertEquals(at7, a1[8])
-assertTrue(a1.hasOwnProperty(8))
-assertEquals(undefined, a1[9])
-assertFalse(a1.hasOwnProperty(9))
-assertEquals(9, a1[10])
-assertTrue(a1.hasOwnProperty(10))
diff --git a/src/3rdparty/v8/test/mjsunit/array-functions-prototype-misc.js b/src/3rdparty/v8/test/mjsunit/array-functions-prototype-misc.js
deleted file mode 100644
index 0543c32..0000000
--- a/src/3rdparty/v8/test/mjsunit/array-functions-prototype-misc.js
+++ /dev/null
@@ -1,314 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-/**
- * @fileoverview Test splice, shift, unshift, slice and join on small
- * and large arrays. Some of these methods are specified such that they
- * should work on other objects too, so we test that too.
- */
-
-var LARGE = 40000000;
-var VERYLARGE = 4000000000;
-
-// Nicer for firefox 1.5. Unless you uncomment the following two lines,
-// smjs will appear to hang on this file.
-//var LARGE = 40000;
-//var VERYLARGE = 40000;
-
-var fourhundredth = LARGE/400;
-
-function PseudoArray() {
-};
-
-for (var use_real_arrays = 0; use_real_arrays <= 1; use_real_arrays++) {
- var poses = [0, 140, 20000, VERYLARGE];
- var the_prototype;
- var new_function;
- var push_function;
- var concat_function;
- var slice_function;
- var splice_function;
- var splice_function_2;
- var unshift_function;
- var unshift_function_2;
- var shift_function;
- if (use_real_arrays) {
- new_function = function(length) {
- return new Array(length);
- };
- the_prototype = Array.prototype;
- push_function = function(array, elt) {
- return array.push(elt);
- };
- concat_function = function(array, other) {
- return array.concat(other);
- };
- slice_function = function(array, start, len) {
- return array.slice(start, len);
- };
- splice_function = function(array, start, len) {
- return array.splice(start, len);
- };
- splice_function_2 = function(array, start, len, elt) {
- return array.splice(start, len, elt);
- };
- unshift_function = function(array, elt) {
- return array.unshift(elt);
- };
- unshift_function_2 = function(array, elt1, elt2) {
- return array.unshift(elt1, elt2);
- };
- shift_function = function(array) {
- return array.shift();
- };
- } else {
- // Don't run largest size on non-arrays or we'll be here for ever.
- poses.pop();
- new_function = function(length) {
- var obj = new PseudoArray();
- obj.length = length;
- return obj;
- };
- the_prototype = PseudoArray.prototype;
- push_function = function(array, elt) {
- array[array.length] = elt;
- array.length++;
- };
- concat_function = function(array, other) {
- return Array.prototype.concat.call(array, other);
- };
- slice_function = function(array, start, len) {
- return Array.prototype.slice.call(array, start, len);
- };
- splice_function = function(array, start, len) {
- return Array.prototype.splice.call(array, start, len);
- };
- splice_function_2 = function(array, start, len, elt) {
- return Array.prototype.splice.call(array, start, len, elt);
- };
- unshift_function = function(array, elt) {
- return Array.prototype.unshift.call(array, elt);
- };
- unshift_function_2 = function(array, elt1, elt2) {
- return Array.prototype.unshift.call(array, elt1, elt2);
- };
- shift_function = function(array) {
- return Array.prototype.shift.call(array);
- };
- }
-
- for (var pos_pos = 0; pos_pos < poses.length; pos_pos++) {
- var pos = poses[pos_pos];
- if (pos > 100) {
- var a = new_function(pos);
- assertEquals(pos, a.length);
- push_function(a, 'foo');
- assertEquals(pos + 1, a.length);
- var b = ['bar'];
- // Delete a huge number of holes.
- var c = splice_function(a, 10, pos - 20);
- assertEquals(pos - 20, c.length);
- assertEquals(21, a.length);
- }
-
- // Add a numeric property to the prototype of the array class. This
- // allows us to test some borderline stuff relative to the standard.
- the_prototype["" + (pos + 1)] = 'baz';
-
- if (use_real_arrays) {
- // It seems quite clear from ECMAScript spec 15.4.4.5. Just call Get on
- // every integer in the range.
- // IE, Safari get this right.
- // FF, Opera get this wrong.
- var a = ['zero', ,'two'];
- if (pos == 0) {
- assertEquals("zero,baz,two", a.join(","));
- }
-
- // Concat only applies to real arrays, unlike most of the other methods.
- var a = new_function(pos);
- push_function(a, "con");
- assertEquals("con", a[pos]);
- assertEquals(pos + 1, a.length);
- var b = new_function(0);
- push_function(b, "cat");
- assertEquals("cat", b[0]);
- var ab = concat_function(a, b);
- assertEquals("con", ab[pos]);
- assertEquals(pos + 2, ab.length);
- assertEquals("cat", ab[pos + 1]);
- var ba = concat_function(b, a);
- assertEquals("con", ba[pos + 1]);
- assertEquals(pos + 2, ba.length);
- assertEquals("cat", ba[0]);
-
- // Join with '' as separator.
- var join = a.join('');
- assertEquals("con", join);
- join = b.join('');
- assertEquals("cat", join);
- join = ab.join('');
- assertEquals("concat", join);
- join = ba.join('');
- assertEquals("catcon", join);
-
- var sparse = [];
- sparse[pos + 1000] = 'is ';
- sparse[pos + 271828] = 'time ';
- sparse[pos + 31415] = 'the ';
- sparse[pos + 012260199] = 'all ';
- sparse[-1] = 'foo';
- sparse[pos + 22591927] = 'good ';
- sparse[pos + 1618033] = 'for ';
- sparse[pos + 91] = ': Now ';
- sparse[pos + 86720199] = 'men.';
- sparse.hest = 'fisk';
-
- assertEquals("baz: Now is the time for all good men.", sparse.join(''));
- }
-
- a = new_function(pos);
- push_function(a, 'zero');
- push_function(a, void 0);
- push_function(a, 'two');
-
- // Splice works differently from join.
- // IE, Safari get this wrong.
- // FF, Opera get this right.
- // 15.4.4.12 line 24 says the object itself has to have the property...
- var zero = splice_function(a, pos, 1);
- assertEquals("undefined", typeof(a[pos]));
- assertEquals("two", a[pos+1], "pos1:" + pos);
- assertEquals(pos + 2, a.length, "a length");
- assertEquals(1, zero.length, "zero length");
- assertEquals("zero", zero[0]);
-
- // 15.4.4.12 line 41 says the object itself has to have the property...
- a = new_function(pos);
- push_function(a, 'zero');
- push_function(a, void 0);
- push_function(a, 'two');
- var nothing = splice_function_2(a, pos, 0, 'minus1');
- assertEquals("minus1", a[pos]);
- assertEquals("zero", a[pos+1]);
- assertEquals("undefined", typeof(a[pos+2]), "toot!");
- assertEquals("two", a[pos+3], "pos3");
- assertEquals(pos + 4, a.length);
- assertEquals(1, zero.length);
- assertEquals("zero", zero[0]);
-
- // 15.4.4.12 line 10 says the object itself has to have the property...
- a = new_function(pos);
- push_function(a, 'zero');
- push_function(a, void 0);
- push_function(a, 'two');
- var one = splice_function(a, pos + 1, 1);
- assertEquals("", one.join(","));
- assertEquals(pos + 2, a.length);
- assertEquals("zero", a[pos]);
- assertEquals("two", a[pos+1]);
-
- // Set things back to the way they were.
- the_prototype[pos + 1] = undefined;
-
- // Unshift.
- var a = new_function(pos);
- push_function(a, "foo");
- assertEquals("foo", a[pos]);
- assertEquals(pos + 1, a.length);
- unshift_function(a, "bar");
- assertEquals("foo", a[pos+1]);
- assertEquals(pos + 2, a.length);
- assertEquals("bar", a[0]);
- unshift_function_2(a, "baz", "boo");
- assertEquals("foo", a[pos+3]);
- assertEquals(pos + 4, a.length);
- assertEquals("baz", a[0]);
- assertEquals("boo", a[1]);
- assertEquals("bar", a[2]);
-
- // Shift.
- var baz = shift_function(a);
- assertEquals("baz", baz);
- assertEquals("boo", a[0]);
- assertEquals(pos + 3, a.length);
- assertEquals("foo", a[pos + 2]);
-
- // Slice.
- var bar = slice_function(a, 1, 0); // don't throw an exception please.
- bar = slice_function(a, 1, 2);
- assertEquals("bar", bar[0]);
- assertEquals(1, bar.length);
- assertEquals("bar", a[1]);
-
- }
-}
-
-// Lets see if performance is reasonable.
-
-var a = new Array(LARGE + 10);
-for (var i = 0; i < a.length; i += 1000) {
- a[i] = i;
-}
-
-// Take something near the end of the array.
-for (var i = 0; i < 100; i++) {
- var top = a.splice(LARGE, 5);
- assertEquals(5, top.length);
- assertEquals(LARGE, top[0]);
- assertEquals("undefined", typeof(top[1]));
- assertEquals(LARGE + 5, a.length);
- a.splice(LARGE, 0, LARGE);
- a.length = LARGE + 10;
-}
-
-var a = new Array(LARGE + 10);
-for (var i = 0; i < a.length; i += fourhundredth) {
- a[i] = i;
-}
-
-// Take something near the middle of the array.
-for (var i = 0; i < 10; i++) {
- var top = a.splice(LARGE >> 1, 5);
- assertEquals(5, top.length);
- assertEquals(LARGE >> 1, top[0]);
- assertEquals("undefined", typeof(top[1]));
- assertEquals(LARGE + 5, a.length);
- a.splice(LARGE >> 1, 0, LARGE >> 1, void 0, void 0, void 0, void 0);
-}
-
-
-// Test http://b/issue?id=1202711
-arr = [0];
-arr.length = 2;
-Array.prototype[1] = 1;
-assertEquals(1, arr.pop());
-assertEquals(0, arr.pop());
-Array.prototype[1] = undefined;
-
-// Test http://code.google.com/p/chromium/issues/detail?id=21860
-Array.prototype.push.apply([], [1].splice(0, -(-1 % 5)));
diff --git a/src/3rdparty/v8/test/mjsunit/array-functions-prototype.js b/src/3rdparty/v8/test/mjsunit/array-functions-prototype.js
deleted file mode 100644
index b68ee73..0000000
--- a/src/3rdparty/v8/test/mjsunit/array-functions-prototype.js
+++ /dev/null
@@ -1,159 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// This file contains a number of tests of array functions and their
-// interaction with properties in the prototype chain.
-//
-// The behavior of SpiderMonkey is slightly different for arrays (see
-// below). Our behavior is consistent and matches the bahavior of
-// KJS.
-
-var proto = { length:3, 0:'zero', 1:'one', 2:'two' }
-function constructor() {};
-constructor.prototype = proto;
-
-// Set elements on the array prototype.
-Array.prototype[0] = 'zero';
-Array.prototype[1] = 'one';
-Array.prototype[2] = 'two';
-
-// ----------------------------------------------------------------------
-// Helper functions.
-// ----------------------------------------------------------------------
-function assertHasOwnProperties(object, limit) {
- for (var i = 0; i < limit; i++) {
- assertTrue(object.hasOwnProperty(i));
- }
-}
-
-
-// ----------------------------------------------------------------------
-// shift.
-// ----------------------------------------------------------------------
-
-function runTest1() {
- var nonArray = new constructor();
- var array = ['zero', , 'two'];
- // Shift away the zero.
- assertEquals('zero', array.shift());
- assertEquals('zero', Array.prototype.shift.call(nonArray));
- // Check that the local object has properties 0 and 1 with the right
- // values.
- assertEquals(2, array.length);
- assertEquals(2, nonArray.length);
- assertHasOwnProperties(array, 2);
- assertHasOwnProperties(nonArray, 2);
- // Note: Spidermonkey is inconsistent here. It treats arrays
- // differently from non-arrays. It only consults the prototype for
- // non-arrays. Therefore, array[0] is undefined in Spidermonkey and
- // 'one' in V8 and KJS.
- assertEquals('one', array[0]);
- assertEquals('one', nonArray[0]);
- assertEquals('two', array[1]);
- assertEquals('two', nonArray[1]);
- // Get index 2 from the prototype.
- assertEquals('two', array[2]);
- assertEquals('two', nonArray[2]);
-}
-
-runTest1();
-
-// ----------------------------------------------------------------------
-// unshift.
-// ----------------------------------------------------------------------
-
-runTest2 = function() {
- var nonArray = new constructor();
- var array = ['zero', , 'two'];
- // Unshift a new 'zero'.
- assertEquals(4, array.unshift('zero'));
- assertEquals(4, Array.prototype.unshift.call(nonArray, 'zero'));
- // Check that the local object has properties 0 through 3 with the
- // right values.
- assertEquals(4, array.length);
- assertEquals(4, nonArray.length);
- assertHasOwnProperties(array, 4);
- assertHasOwnProperties(nonArray, 4);
- assertEquals('zero', array[0]);
- assertEquals('zero', nonArray[0]);
- assertEquals('zero', array[1]);
- assertEquals('zero', nonArray[1]);
- // Again Spidermonkey is inconsistent. array[2] is undefined
- // instead of 'one'.
- assertEquals('one', array[2]);
- assertEquals('one', nonArray[2]);
- assertEquals('two', array[3]);
- assertEquals('two', nonArray[3]);
-}
-
-runTest2();
-
-
-// ----------------------------------------------------------------------
-// splice
-// ----------------------------------------------------------------------
-
-runTest3 = function() {
- var nonArray = new constructor();
- var array = ['zero', , 'two'];
- // Delete the first element by splicing in nothing.
- assertArrayEquals(['zero'], array.splice(0, 1));
- assertArrayEquals(['zero'], Array.prototype.splice.call(nonArray, 0, 1));
- // Check that the local object has properties 0 and 1 with the right
- // values.
- assertEquals(2, array.length);
- assertEquals(2, nonArray.length);
- assertHasOwnProperties(array, 2);
- assertHasOwnProperties(nonArray, 2);
- // Again Spidermonkey is inconsistent. array[0] is undefined
- // instead of 'one'.
- assertEquals('one', array[0]);
- assertEquals('one', nonArray[0]);
- assertEquals('two', array[1]);
- assertEquals('two', nonArray[1]);
- // Get index 2 from the prototype.
- assertEquals('two', array[2]);
- assertEquals('two', nonArray[2]);
-};
-
-runTest3();
-
-
-// ----------------------------------------------------------------------
-// slice
-// ----------------------------------------------------------------------
-
-runTest4 = function() {
- var nonArray = new constructor();
- var array = ['zero', , 'two'];
- // Again Spidermonkey is inconsistent. (array.slice(0, 3))[1] is
- // undefined instead of 'one'.
- assertArrayEquals(['zero', 'one', 'two'], array.slice(0, 3));
- assertArrayEquals(['zero', 'one', 'two'], Array.prototype.slice.call(nonArray, 0, 3));
-};
-
-runTest4();
diff --git a/src/3rdparty/v8/test/mjsunit/array-indexing.js b/src/3rdparty/v8/test/mjsunit/array-indexing.js
deleted file mode 100644
index 7276742..0000000
--- a/src/3rdparty/v8/test/mjsunit/array-indexing.js
+++ /dev/null
@@ -1,186 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var array = [1,2,3,1,2,3,1,2,3,1,2,3];
-var undef_array = [0,,2,undefined,4,,6,undefined,8,,10];
-// Sparse arrays with length 42000.
-var sparse_array = [];
-sparse_array[100] = 3;
-sparse_array[200] = undefined;
-sparse_array[300] = 4;
-sparse_array[400] = 5;
-sparse_array[500] = 6;
-sparse_array[600] = 5;
-sparse_array[700] = 4;
-sparse_array[800] = undefined;
-sparse_array[900] = 3
-sparse_array[41999] = "filler";
-
-var dense_object = { 0: 42, 1: 37, length: 2 };
-var sparse_object = { 0: 42, 100000: 37, length: 200000 };
-var funky_object = { 10:42, 100000: 42, 100001: 37, length: 50000 };
-var infinite_object = { 10: 42, 100000: 37, length: Infinity };
-
-// ----------------------------------------------------------------------
-// Array.prototype.indexOf.
-// ----------------------------------------------------------------------
-
-// Negative cases.
-assertEquals(-1, [].indexOf(1));
-assertEquals(-1, array.indexOf(4));
-assertEquals(-1, array.indexOf(3, array.length));
-
-assertEquals(2, array.indexOf(3));
-// Negative index out of range.
-assertEquals(0, array.indexOf(1, -17));
-// Negative index in rage.
-assertEquals(3, array.indexOf(1, -11));
-// Index in range.
-assertEquals(3, array.indexOf(1, 1));
-assertEquals(3, array.indexOf(1, 3));
-assertEquals(6, array.indexOf(1, 4));
-
-// Find undefined, not holes.
-assertEquals(3, undef_array.indexOf(undefined));
-assertEquals(3, undef_array.indexOf(undefined, 3));
-assertEquals(7, undef_array.indexOf(undefined, 4));
-assertEquals(7, undef_array.indexOf(undefined, 7));
-assertEquals(-1, undef_array.indexOf(undefined, 8));
-assertEquals(3, undef_array.indexOf(undefined, -11));
-assertEquals(3, undef_array.indexOf(undefined, -8));
-assertEquals(7, undef_array.indexOf(undefined, -7));
-assertEquals(7, undef_array.indexOf(undefined, -4));
-assertEquals(-1, undef_array.indexOf(undefined, -3));
-
-// Find in sparse array.
-assertEquals(100, sparse_array.indexOf(3));
-assertEquals(900, sparse_array.indexOf(3, 101));
-assertEquals(-1, sparse_array.indexOf(3, 901));
-assertEquals(100, sparse_array.indexOf(3, -42000));
-assertEquals(900, sparse_array.indexOf(3, 101 - 42000));
-assertEquals(-1, sparse_array.indexOf(3, 901 - 42000));
-
-assertEquals(300, sparse_array.indexOf(4));
-assertEquals(700, sparse_array.indexOf(4, 301));
-assertEquals(-1, sparse_array.indexOf(4, 701));
-assertEquals(300, sparse_array.indexOf(4, -42000));
-assertEquals(700, sparse_array.indexOf(4, 301 - 42000));
-assertEquals(-1, sparse_array.indexOf(4, 701 - 42000));
-
-assertEquals(200, sparse_array.indexOf(undefined));
-assertEquals(800, sparse_array.indexOf(undefined, 201));
-assertEquals(-1, sparse_array.indexOf(undefined, 801));
-assertEquals(200, sparse_array.indexOf(undefined, -42000));
-assertEquals(800, sparse_array.indexOf(undefined, 201 - 42000));
-assertEquals(-1, sparse_array.indexOf(undefined, 801 - 42000));
-
-// Find in non-arrays.
-assertEquals(0, Array.prototype.indexOf.call(dense_object, 42));
-assertEquals(1, Array.prototype.indexOf.call(dense_object, 37));
-assertEquals(-1, Array.prototype.indexOf.call(dense_object, 87));
-
-assertEquals(0, Array.prototype.indexOf.call(sparse_object, 42));
-assertEquals(100000, Array.prototype.indexOf.call(sparse_object, 37));
-assertEquals(-1, Array.prototype.indexOf.call(sparse_object, 87));
-
-assertEquals(10, Array.prototype.indexOf.call(funky_object, 42));
-assertEquals(-1, Array.prototype.indexOf.call(funky_object, 42, 15));
-assertEquals(-1, Array.prototype.indexOf.call(funky_object, 37));
-
-assertEquals(-1, Array.prototype.indexOf.call(infinite_object, 42));
-
-// ----------------------------------------------------------------------
-// Array.prototype.lastIndexOf.
-// ----------------------------------------------------------------------
-
-// Negative cases.
-assertEquals(-1, [].lastIndexOf(1));
-assertEquals(-1, array.lastIndexOf(1, -17));
-
-assertEquals(9, array.lastIndexOf(1));
-// Index out of range.
-assertEquals(9, array.lastIndexOf(1, array.length));
-// Index in range.
-assertEquals(0, array.lastIndexOf(1, 2));
-assertEquals(3, array.lastIndexOf(1, 4));
-assertEquals(3, array.lastIndexOf(1, 3));
-// Negative index in range.
-assertEquals(0, array.lastIndexOf(1, -11));
-
-// Find undefined, not holes.
-assertEquals(7, undef_array.lastIndexOf(undefined));
-assertEquals(-1, undef_array.lastIndexOf(undefined, 2));
-assertEquals(3, undef_array.lastIndexOf(undefined, 3));
-assertEquals(3, undef_array.lastIndexOf(undefined, 6));
-assertEquals(7, undef_array.lastIndexOf(undefined, 7));
-assertEquals(7, undef_array.lastIndexOf(undefined, -1));
-assertEquals(-1, undef_array.lastIndexOf(undefined, -9));
-assertEquals(3, undef_array.lastIndexOf(undefined, -8));
-assertEquals(3, undef_array.lastIndexOf(undefined, -5));
-assertEquals(7, undef_array.lastIndexOf(undefined, -4));
-
-// Find in sparse array.
-assertEquals(900, sparse_array.lastIndexOf(3));
-assertEquals(100, sparse_array.lastIndexOf(3, 899));
-assertEquals(-1, sparse_array.lastIndexOf(3, 99));
-assertEquals(900, sparse_array.lastIndexOf(3, -1));
-assertEquals(100, sparse_array.lastIndexOf(3, 899 - 42000));
-assertEquals(-1, sparse_array.lastIndexOf(3, 99 - 42000));
-
-assertEquals(700, sparse_array.lastIndexOf(4));
-assertEquals(300, sparse_array.lastIndexOf(4, 699));
-assertEquals(-1, sparse_array.lastIndexOf(4, 299));
-assertEquals(700, sparse_array.lastIndexOf(4, -1));
-assertEquals(300, sparse_array.lastIndexOf(4, 699 - 42000));
-assertEquals(-1, sparse_array.lastIndexOf(4, 299 - 42000));
-
-assertEquals(800, sparse_array.lastIndexOf(undefined));
-assertEquals(200, sparse_array.lastIndexOf(undefined, 799));
-assertEquals(-1, sparse_array.lastIndexOf(undefined, 199));
-assertEquals(800, sparse_array.lastIndexOf(undefined, -1));
-assertEquals(200, sparse_array.lastIndexOf(undefined, 799 - 42000));
-assertEquals(-1, sparse_array.lastIndexOf(undefined, 199 - 42000));
-
-assertEquals(0, Array.prototype.lastIndexOf.call(dense_object, 42));
-assertEquals(1, Array.prototype.lastIndexOf.call(dense_object, 37));
-assertEquals(0, Array.prototype.lastIndexOf.call(sparse_object, 42));
-assertEquals(100000, Array.prototype.lastIndexOf.call(sparse_object, 37));
-
-//Find in non-arrays.
-assertEquals(0, Array.prototype.lastIndexOf.call(dense_object, 42));
-assertEquals(1, Array.prototype.lastIndexOf.call(dense_object, 37));
-assertEquals(-1, Array.prototype.lastIndexOf.call(dense_object, 87));
-
-assertEquals(0, Array.prototype.lastIndexOf.call(sparse_object, 42));
-assertEquals(100000, Array.prototype.lastIndexOf.call(sparse_object, 37));
-assertEquals(-1, Array.prototype.lastIndexOf.call(sparse_object, 87));
-
-assertEquals(10, Array.prototype.lastIndexOf.call(funky_object, 42, 15));
-assertEquals(10, Array.prototype.lastIndexOf.call(funky_object, 42));
-assertEquals(-1, Array.prototype.lastIndexOf.call(funky_object, 37));
-
-assertEquals(-1, Array.prototype.lastIndexOf.call(infinite_object, 42));
diff --git a/src/3rdparty/v8/test/mjsunit/array-iteration.js b/src/3rdparty/v8/test/mjsunit/array-iteration.js
deleted file mode 100644
index 033bb54..0000000
--- a/src/3rdparty/v8/test/mjsunit/array-iteration.js
+++ /dev/null
@@ -1,228 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Tests for non-standard array iteration functions.
-//
-// See
-//
-// <http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Objects:Array>
-//
-// for an explanation of each of the functions.
-
-//
-// Array.prototype.filter
-//
-(function() {
- // Simple use.
- var a = [0,1];
- assertArrayEquals([0], a.filter(function(n) { return n == 0; }));
- assertArrayEquals([0,1], a);
-
- // Use specified object as this object when calling the function.
- var o = { value: 42 }
- a = [1,42,3,42,4];
- assertArrayEquals([42,42], a.filter(function(n) { return this.value == n }, o))
-
- // Modify original array.
- a = [1,42,3,42,4];
- assertArrayEquals([42,42], a.filter(function(n, index, array) { array[index] = 43; return 42 == n; }));
- assertArrayEquals([43,43,43,43,43], a);
-
- // Only loop through initial part of array eventhough elements are
- // added.
- a = [1,1];
- assertArrayEquals([], a.filter(function(n, index, array) { array.push(n+1); return n == 2; }));
- assertArrayEquals([1,1,2,2], a);
-
- // Respect holes.
- a = new Array(20);
- var count = 0;
- a[2] = 2;
- a[15] = 2;
- a[17] = 4;
- var a = a.filter(function(n) { count++; return n == 2; });
- assertEquals(3, count);
- for (var i in a) assertEquals(2, a[i]);
-
-})();
-
-
-//
-// Array.prototype.forEach
-//
-(function() {
- // Simple use.
- var a = [0,1];
- var count = 0;
- a.forEach(function(n) { count++; });
- assertEquals(2, count);
-
- // Use specified object as this object when calling the function.
- var o = { value: 42 }
- var result = [];
- a.forEach(function(n) { result.push(this.value); }, o);
- assertArrayEquals([42,42], result);
-
- // Modify original array.
- a = [0,1];
- count = 0;
- a.forEach(function(n, index, array) { array[index] = n + 1; count++; });
- assertEquals(2, count);
- assertArrayEquals([1,2], a);
-
- // Only loop through initial part of array eventhough elements are
- // added.
- a = [1,1];
- count = 0;
- a.forEach(function(n, index, array) { array.push(n+1); count++; });
- assertEquals(2, count);
- assertArrayEquals([1,1,2,2], a);
-
- // Respect holes.
- a = new Array(20);
- count = 0;
- a[15] = 2;
- a.forEach(function(n) { count++; });
- assertEquals(1, count);
-
-})();
-
-
-//
-// Array.prototype.every
-//
-(function() {
- // Simple use.
- var a = [0,1];
- assertFalse(a.every(function(n) { return n == 0 }));
- a = [0,0];
- assertTrue(a.every(function(n) { return n == 0 }));
- assertTrue([].every(function(n) { return n == 0}));
-
- // Use specified object as this object when calling the function.
- var o = { value: 42 }
- a = [0];
- assertFalse(a.every(function(n) { return this.value == n; }, o));
- a = [42];
- assertTrue(a.every(function(n) { return this.value == n; }, o));
-
- // Modify original array.
- a = [0,1];
- assertFalse(a.every(function(n, index, array) { array[index] = n + 1; return n == 1;}));
- assertArrayEquals([1,1], a);
-
- // Only loop through initial part of array eventhough elements are
- // added.
- a = [1,1];
- assertTrue(a.every(function(n, index, array) { array.push(n + 1); return n == 1;}));
- assertArrayEquals([1,1,2,2], a);
-
- // Respect holes.
- a = new Array(20);
- var count = 0;
- a[2] = 2;
- a[15] = 2;
- assertTrue(a.every(function(n) { count++; return n == 2; }));
- assertEquals(2, count);
-
-})();
-
-//
-// Array.prototype.map
-//
-(function() {
- var a = [0,1,2,3,4];
-
- // Simple use.
- var result = [1,2,3,4,5];
- assertArrayEquals(result, a.map(function(n) { return n + 1; }));
- assertEquals(a, a);
-
- // Use specified object as this object when calling the function.
- var o = { delta: 42 }
- result = [42,43,44,45,46];
- assertArrayEquals(result, a.map(function(n) { return this.delta + n; }, o));
-
- // Modify original array.
- a = [0,1,2,3,4];
- result = [1,2,3,4,5];
- assertArrayEquals(result, a.map(function(n, index, array) { array[index] = n + 1; return n + 1;}));
- assertArrayEquals(result, a);
-
- // Only loop through initial part of array eventhough elements are
- // added.
- a = [0,1,2,3,4];
- result = [1,2,3,4,5];
- assertArrayEquals(result, a.map(function(n, index, array) { array.push(n); return n + 1;}));
- assertArrayEquals([0,1,2,3,4,0,1,2,3,4], a);
-
- // Respect holes.
- a = new Array(20);
- a[15] = 2;
- a = a.map(function(n) { return 2*n; });
- for (var i in a) assertEquals(4, a[i]);
-
-})();
-
-//
-// Array.prototype.some
-//
-(function() {
- var a = [0,1,2,3,4];
-
- // Simple use.
- assertTrue(a.some(function(n) { return n == 3}));
- assertFalse(a.some(function(n) { return n == 5}));
-
- // Use specified object as this object when calling the function.
- var o = { element: 42 };
- a = [1,42,3];
- assertTrue(a.some(function(n) { return this.element == n; }, o));
- a = [1];
- assertFalse(a.some(function(n) { return this.element == n; }, o));
-
- // Modify original array.
- a = [0,1,2,3];
- assertTrue(a.some(function(n, index, array) { array[index] = n + 1; return n == 2; }));
- assertArrayEquals([1,2,3,3], a);
-
- // Only loop through initial part when elements are added.
- a = [0,1,2];
- assertFalse(a.some(function(n, index, array) { array.push(42); return n == 42; }));
- assertArrayEquals([0,1,2,42,42,42], a);
-
- // Respect holes.
- a = new Array(20);
- var count = 0;
- a[2] = 42;
- a[10] = 2;
- a[15] = 42;
- assertTrue(a.some(function(n) { count++; return n == 2; }));
- assertEquals(2, count);
-
-})();
-
diff --git a/src/3rdparty/v8/test/mjsunit/array-join.js b/src/3rdparty/v8/test/mjsunit/array-join.js
deleted file mode 100644
index c08c182..0000000
--- a/src/3rdparty/v8/test/mjsunit/array-join.js
+++ /dev/null
@@ -1,93 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that array join calls toString on subarrays.
-var a = [[1,2],3,4,[5,6]];
-assertEquals('1,2345,6', a.join(''));
-assertEquals('1,2*3*4*5,6', a.join('*'));
-assertEquals('1,2**3**4**5,6', a.join('**'));
-assertEquals('1,2****3****4****5,6', a.join('****'));
-assertEquals('1,2********3********4********5,6', a.join('********'));
-assertEquals('1,2**********3**********4**********5,6', a.join('**********'));
-
-// Create a cycle.
-a.push(a);
-assertEquals('1,2345,6', a.join(''));
-assertEquals('1,2*3*4*5,6*', a.join('*'));
-assertEquals('1,2**3**4**5,6**', a.join('**'));
-assertEquals('1,2****3****4****5,6****', a.join('****'));
-assertEquals('1,2********3********4********5,6********', a.join('********'));
-assertEquals('1,2**********3**********4**********5,6**********', a.join('**********'));
-
-// Replace array.prototype.toString.
-var oldToString = Array.prototype.toString;
-Array.prototype.toString = function() { return "array"; };
-assertEquals('array34arrayarray', a.join(''));
-assertEquals('array*3*4*array*array', a.join('*'));
-assertEquals('array**3**4**array**array', a.join('**'));
-assertEquals('array****3****4****array****array', a.join('****'));
-assertEquals('array********3********4********array********array', a.join('********'));
-assertEquals('array**********3**********4**********array**********array', a.join('**********'));
-
-Array.prototype.toString = function() { throw 42; };
-assertThrows("a.join('')");
-assertThrows("a.join('*')");
-assertThrows("a.join('**')");
-assertThrows("a.join('****')");
-assertThrows("a.join('********')");
-assertThrows("a.join('**********')");
-
-Array.prototype.toString = function() { return "array"; };
-assertEquals('array34arrayarray', a.join(''));
-assertEquals('array*3*4*array*array', a.join('*'));
-assertEquals('array**3**4**array**array', a.join('**'));
-assertEquals('array****3****4****array****array', a.join('****'));
-assertEquals('array********3********4********array********array', a.join('********'));
-assertEquals('array**********3**********4**********array**********array', a.join('**********'));
-
-// Restore original toString.
-delete Array.prototype.toString;
-if (Array.prototype.toString != oldToString) {
- Array.prototype.toString = oldToString;
-}
-
-var a = new Array(123123);
-assertEquals(123122, String(a).length);
-assertEquals(123122, a.join(",").length);
-assertEquals(246244, a.join("oo").length);
-
-a = new Array(Math.pow(2,32) - 1); // Max length.
-assertEquals("", a.join(""));
-a[123123123] = "o";
-a[1255215215] = "p";
-assertEquals("op", a.join(""));
-
-a = new Array(100001);
-for (var i = 0; i < a.length; i++) a[i] = undefined;
-a[5] = "ab";
-a[90000] = "cd";
-assertEquals("abcd", a.join("")); // Must not throw.
diff --git a/src/3rdparty/v8/test/mjsunit/array-length-number-conversion.js b/src/3rdparty/v8/test/mjsunit/array-length-number-conversion.js
deleted file mode 100644
index 11808af..0000000
--- a/src/3rdparty/v8/test/mjsunit/array-length-number-conversion.js
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// A reduced test case from Acid3 test 95.
-// When an object is assigned to an array length field,
-// it is converted to a number.
-
-function CheckSetArrayLength(x, expected) {
- var a = [];
- a.length = x;
-
- assertEquals("number", typeof a.length);
- assertEquals(expected, a.length);
-}
-
-CheckSetArrayLength(2147483648, 2147483648);
-CheckSetArrayLength("2147483648", 2147483648);
-CheckSetArrayLength(null, 0);
-CheckSetArrayLength(false, 0);
-CheckSetArrayLength(true, 1);
-CheckSetArrayLength({valueOf : function() { return 42; }}, 42);
-CheckSetArrayLength({toString : function() { return '42'; }}, 42);
-
-// Test invalid values
-assertThrows("var y = []; y.length = 'abc';");
-assertThrows("var y = []; y.length = undefined;");
-assertThrows("var y = []; y.length = {};");
-assertThrows("var y = []; y.length = -1;");
-assertThrows("var y = []; y.length = {valueOf:function() { throw new Error(); }};");
diff --git a/src/3rdparty/v8/test/mjsunit/array-length.js b/src/3rdparty/v8/test/mjsunit/array-length.js
deleted file mode 100644
index 16867db..0000000
--- a/src/3rdparty/v8/test/mjsunit/array-length.js
+++ /dev/null
@@ -1,121 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var a = [0,1,2,3];
-assertEquals(0, a.length = 0);
-
-assertEquals('undefined', typeof a[0]);
-assertEquals('undefined', typeof a[1]);
-assertEquals('undefined', typeof a[2]);
-assertEquals('undefined', typeof a[3]);
-
-
-var a = [0,1,2,3];
-assertEquals(2, a.length = 2);
-
-assertEquals(0, a[0]);
-assertEquals(1, a[1]);
-assertEquals('undefined', typeof a[2]);
-assertEquals('undefined', typeof a[3]);
-
-
-var a = new Array();
-a[0] = 0;
-a[1000] = 1000;
-a[1000000] = 1000000;
-a[2000000] = 2000000;
-
-assertEquals(2000001, a.length);
-assertEquals(0, a.length = 0);
-assertEquals(0, a.length);
-assertEquals('undefined', typeof a[0]);
-assertEquals('undefined', typeof a[1000]);
-assertEquals('undefined', typeof a[1000000]);
-assertEquals('undefined', typeof a[2000000]);
-
-
-var a = new Array();
-a[0] = 0;
-a[1000] = 1000;
-a[1000000] = 1000000;
-a[2000000] = 2000000;
-
-assertEquals(2000001, a.length);
-assertEquals(2000, a.length = 2000);
-assertEquals(2000, a.length);
-assertEquals(0, a[0]);
-assertEquals(1000, a[1000]);
-assertEquals('undefined', typeof a[1000000]);
-assertEquals('undefined', typeof a[2000000]);
-
-
-var a = new Array();
-a[Math.pow(2,31)-1] = 0;
-a[Math.pow(2,30)-1] = 0;
-assertEquals(Math.pow(2,31), a.length);
-
-
-var a = new Array();
-a[0] = 0;
-a[1000] = 1000;
-a[Math.pow(2,30)-1] = Math.pow(2,30)-1;
-a[Math.pow(2,31)-1] = Math.pow(2,31)-1;
-a[Math.pow(2,32)-2] = Math.pow(2,32)-2;
-
-assertEquals(Math.pow(2,30)-1, a[Math.pow(2,30)-1]);
-assertEquals(Math.pow(2,31)-1, a[Math.pow(2,31)-1]);
-assertEquals(Math.pow(2,32)-2, a[Math.pow(2,32)-2]);
-
-assertEquals(Math.pow(2,32)-1, a.length);
-assertEquals(Math.pow(2,30) + 1, a.length = Math.pow(2,30)+1); // not a smi!
-assertEquals(Math.pow(2,30)+1, a.length);
-
-assertEquals(0, a[0]);
-assertEquals(1000, a[1000]);
-assertEquals(Math.pow(2,30)-1, a[Math.pow(2,30)-1]);
-assertEquals('undefined', typeof a[Math.pow(2,31)-1]);
-assertEquals('undefined', typeof a[Math.pow(2,32)-2], "top");
-
-
-var a = new Array();
-assertEquals(Object(12), a.length = new Number(12));
-assertEquals(12, a.length);
-
-
-var o = { length: -23 };
-Array.prototype.pop.apply(o);
-assertEquals(4294967272, o.length);
-
-// Check case of compiled stubs.
-var a = [];
-for (var i = 0; i < 7; i++) {
- assertEquals(3, a.length = 3);
-
- var t = 239;
- t = a.length = 7;
- assertEquals(7, t);
-}
diff --git a/src/3rdparty/v8/test/mjsunit/array-literal-transitions.js b/src/3rdparty/v8/test/mjsunit/array-literal-transitions.js
deleted file mode 100644
index d4c0c30..0000000
--- a/src/3rdparty/v8/test/mjsunit/array-literal-transitions.js
+++ /dev/null
@@ -1,212 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --smi-only-arrays --expose-gc
-// Flags: --noparallel-recompilation
-
-// Test element kind of objects.
-// Since --smi-only-arrays affects builtins, its default setting at compile
-// time sticks if built with snapshot. If --smi-only-arrays is deactivated
-// by default, only a no-snapshot build actually has smi-only arrays enabled
-// in this test case. Depending on whether smi-only arrays are actually
-// enabled, this test takes the appropriate code path to check smi-only arrays.
-
-support_smi_only_arrays = %HasFastSmiElements([1,2,3,4,5,6,7,8,9,10]);
-
-if (support_smi_only_arrays) {
- print("Tests include smi-only arrays.");
-} else {
- print("Tests do NOT include smi-only arrays.");
-}
-
-// IC and Crankshaft support for smi-only elements in dynamic array literals.
-function get(foo) { return foo; } // Used to generate dynamic values.
-
-function array_literal_test() {
- var a0 = [1, 2, 3];
- assertTrue(%HasFastSmiElements(a0));
- var a1 = [get(1), get(2), get(3)];
- assertTrue(%HasFastSmiElements(a1));
-
- var b0 = [1, 2, get("three")];
- assertTrue(%HasFastObjectElements(b0));
- var b1 = [get(1), get(2), get("three")];
- assertTrue(%HasFastObjectElements(b1));
-
- var c0 = [1, 2, get(3.5)];
- assertTrue(%HasFastDoubleElements(c0));
- assertEquals(3.5, c0[2]);
- assertEquals(2, c0[1]);
- assertEquals(1, c0[0]);
-
- var c1 = [1, 2, 3.5];
- assertTrue(%HasFastDoubleElements(c1));
- assertEquals(3.5, c1[2]);
- assertEquals(2, c1[1]);
- assertEquals(1, c1[0]);
-
- var c2 = [get(1), get(2), get(3.5)];
- assertTrue(%HasFastDoubleElements(c2));
- assertEquals(3.5, c2[2]);
- assertEquals(2, c2[1]);
- assertEquals(1, c2[0]);
-
- var object = new Object();
- var d0 = [1, 2, object];
- assertTrue(%HasFastObjectElements(d0));
- assertEquals(object, d0[2]);
- assertEquals(2, d0[1]);
- assertEquals(1, d0[0]);
-
- var e0 = [1, 2, 3.5];
- assertTrue(%HasFastDoubleElements(e0));
- assertEquals(3.5, e0[2]);
- assertEquals(2, e0[1]);
- assertEquals(1, e0[0]);
-
- var f0 = [1, 2, [1, 2]];
- assertTrue(%HasFastObjectElements(f0));
- assertEquals([1,2], f0[2]);
- assertEquals(2, f0[1]);
- assertEquals(1, f0[0]);
-}
-
-if (support_smi_only_arrays) {
- for (var i = 0; i < 3; i++) {
- array_literal_test();
- }
- %OptimizeFunctionOnNextCall(array_literal_test);
- array_literal_test();
-
- function test_large_literal() {
-
- function d() {
- gc();
- return 2.5;
- }
-
- function o() {
- gc();
- return new Object();
- }
-
- large =
- [ 0, 1, 2, 3, 4, 5, d(), d(), d(), d(), d(), d(), o(), o(), o(), o() ];
- assertFalse(%HasDictionaryElements(large));
- assertFalse(%HasFastSmiElements(large));
- assertFalse(%HasFastDoubleElements(large));
- assertTrue(%HasFastObjectElements(large));
- assertEquals(large,
- [0, 1, 2, 3, 4, 5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5,
- new Object(), new Object(), new Object(), new Object()]);
- }
-
- for (var i = 0; i < 3; i++) {
- test_large_literal();
- }
- %OptimizeFunctionOnNextCall(test_large_literal);
- test_large_literal();
-
- function deopt_array(use_literal) {
- if (use_literal) {
- return [.5, 3, 4];
- } else {
- return new Array();
- }
- }
-
- deopt_array(false);
- deopt_array(false);
- deopt_array(false);
- %OptimizeFunctionOnNextCall(deopt_array);
- var array = deopt_array(false);
- assertTrue(2 != %GetOptimizationStatus(deopt_array));
- deopt_array(true);
- assertTrue(2 != %GetOptimizationStatus(deopt_array));
- array = deopt_array(false);
- assertTrue(2 != %GetOptimizationStatus(deopt_array));
-
- // Check that unexpected changes in the objects stored into the boilerplate
- // also force a deopt.
- function deopt_array_literal_all_smis(a) {
- return [0, 1, a];
- }
-
- deopt_array_literal_all_smis(2);
- deopt_array_literal_all_smis(3);
- deopt_array_literal_all_smis(4);
- array = deopt_array_literal_all_smis(4);
- assertEquals(0, array[0]);
- assertEquals(1, array[1]);
- assertEquals(4, array[2]);
- %OptimizeFunctionOnNextCall(deopt_array_literal_all_smis);
- array = deopt_array_literal_all_smis(5);
- array = deopt_array_literal_all_smis(6);
- assertTrue(2 != %GetOptimizationStatus(deopt_array_literal_all_smis));
- assertEquals(0, array[0]);
- assertEquals(1, array[1]);
- assertEquals(6, array[2]);
-
- array = deopt_array_literal_all_smis(.5);
- assertTrue(1 != %GetOptimizationStatus(deopt_array_literal_all_smis));
- assertEquals(0, array[0]);
- assertEquals(1, array[1]);
- assertEquals(.5, array[2]);
-
- function deopt_array_literal_all_doubles(a) {
- return [0.5, 1, a];
- }
-
- deopt_array_literal_all_doubles(.5);
- deopt_array_literal_all_doubles(.5);
- deopt_array_literal_all_doubles(.5);
- array = deopt_array_literal_all_doubles(0.5);
- assertEquals(0.5, array[0]);
- assertEquals(1, array[1]);
- assertEquals(0.5, array[2]);
- %OptimizeFunctionOnNextCall(deopt_array_literal_all_doubles);
- array = deopt_array_literal_all_doubles(5);
- array = deopt_array_literal_all_doubles(6);
- assertTrue(2 != %GetOptimizationStatus(deopt_array_literal_all_doubles));
- assertEquals(0.5, array[0]);
- assertEquals(1, array[1]);
- assertEquals(6, array[2]);
-
- var foo = new Object();
- array = deopt_array_literal_all_doubles(foo);
- assertTrue(1 != %GetOptimizationStatus(deopt_array_literal_all_doubles));
- assertEquals(0.5, array[0]);
- assertEquals(1, array[1]);
- assertEquals(foo, array[2]);
-}
-
-(function literals_after_osr() {
- var color = [0];
- // Trigger OSR.
- while (%GetOptimizationStatus(literals_after_osr) == 2) {}
- return [color[0]];
-})();
diff --git a/src/3rdparty/v8/test/mjsunit/array-natives-elements.js b/src/3rdparty/v8/test/mjsunit/array-natives-elements.js
deleted file mode 100644
index b3a7141..0000000
--- a/src/3rdparty/v8/test/mjsunit/array-natives-elements.js
+++ /dev/null
@@ -1,318 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --smi-only-arrays
-// Flags: --noparallel-recompilation
-// Flags: --notrack-allocation-sites
-
-// Test element kind of objects.
-// Since --smi-only-arrays affects builtins, its default setting at compile time
-// sticks if built with snapshot. If --smi-only-arrays is deactivated by
-// default, only a no-snapshot build actually has smi-only arrays enabled in
-// this test case. Depending on whether smi-only arrays are actually enabled,
-// this test takes the appropriate code path to check smi-only arrays.
-
-support_smi_only_arrays = %HasFastSmiElements([1,2,3,4,5,6,7,8,9,10]);
-
-if (support_smi_only_arrays) {
- print("Tests include smi-only arrays.");
-} else {
- print("Tests do NOT include smi-only arrays.");
-}
-
-// IC and Crankshaft support for smi-only elements in dynamic array literals.
-function get(foo) { return foo; } // Used to generate dynamic values.
-
-function array_natives_test() {
-
- // Ensure small array literals start in specific element kind mode.
- assertTrue(%HasFastSmiElements([]));
- assertTrue(%HasFastSmiElements([1]));
- assertTrue(%HasFastSmiElements([1,2]));
- assertTrue(%HasFastDoubleElements([1.1]));
- assertTrue(%HasFastDoubleElements([1.1,2]));
-
- // Push
- var a0 = [1, 2, 3];
- if (%HasFastSmiElements(a0)) {
- assertTrue(%HasFastSmiElements(a0));
- a0.push(4);
- assertTrue(%HasFastSmiElements(a0));
- a0.push(1.3);
- assertTrue(%HasFastDoubleElements(a0));
- a0.push(1.5);
- assertTrue(%HasFastDoubleElements(a0));
- a0.push({});
- assertTrue(%HasFastObjectElements(a0));
- a0.push({});
- assertTrue(%HasFastObjectElements(a0));
- } else {
- assertTrue(%HasFastObjectElements(a0));
- a0.push(4);
- a0.push(1.3);
- a0.push(1.5);
- a0.push({});
- a0.push({});
- assertTrue(%HasFastObjectElements(a0));
- }
- assertEquals([1,2,3,4,1.3,1.5,{},{}], a0);
-
- // Concat
- var a1;
- a1 = [1,2,3].concat([]);
- assertTrue(%HasFastSmiElements(a1));
- assertEquals([1,2,3], a1);
- a1 = [1,2,3].concat([4,5,6]);
- assertTrue(%HasFastSmiElements(a1));
- assertEquals([1,2,3,4,5,6], a1);
- a1 = [1,2,3].concat([4,5,6], [7,8,9]);
- assertTrue(%HasFastSmiElements(a1));
- assertEquals([1,2,3,4,5,6,7,8,9], a1);
- a1 = [1.1,2,3].concat([]);
- assertTrue(%HasFastDoubleElements(a1));
- assertEquals([1.1,2,3], a1);
- a1 = [1,2,3].concat([1.1, 2]);
- assertTrue(%HasFastDoubleElements(a1));
- assertEquals([1,2,3,1.1,2], a1);
- a1 = [1.1,2,3].concat([1, 2]);
- assertTrue(%HasFastDoubleElements(a1));
- assertEquals([1.1,2,3,1,2], a1);
- a1 = [1.1,2,3].concat([1.2, 2]);
- assertTrue(%HasFastDoubleElements(a1));
- assertEquals([1.1,2,3,1.2,2], a1);
-
- a1 = [1,2,3].concat([{}]);
- assertTrue(%HasFastObjectElements(a1));
- assertEquals([1,2,3,{}], a1);
- a1 = [1.1,2,3].concat([{}]);
- assertTrue(%HasFastObjectElements(a1));
- assertEquals([1.1,2,3,{}], a1);
- a1 = [{}].concat([1,2,3]);
- assertTrue(%HasFastObjectElements(a1));
- assertEquals([{},1,2,3], a1);
- a1 = [{}].concat([1.1,2,3]);
- assertTrue(%HasFastObjectElements(a1));
- assertEquals([{},1.1,2,3], a1);
-
- // Slice
- var a2 = [1,2,3];
- assertTrue(%HasFastSmiElements(a2.slice()));
- assertTrue(%HasFastSmiElements(a2.slice(1)));
- assertTrue(%HasFastSmiElements(a2.slice(1, 2)));
- assertEquals([1,2,3], a2.slice());
- assertEquals([2,3], a2.slice(1));
- assertEquals([2], a2.slice(1,2));
- a2 = [1.1,2,3];
- assertTrue(%HasFastDoubleElements(a2.slice()));
- assertTrue(%HasFastDoubleElements(a2.slice(1)));
- assertTrue(%HasFastDoubleElements(a2.slice(1, 2)));
- assertEquals([1.1,2,3], a2.slice());
- assertEquals([2,3], a2.slice(1));
- assertEquals([2], a2.slice(1,2));
- a2 = [{},2,3];
- assertTrue(%HasFastObjectElements(a2.slice()));
- assertTrue(%HasFastObjectElements(a2.slice(1)));
- assertTrue(%HasFastObjectElements(a2.slice(1, 2)));
- assertEquals([{},2,3], a2.slice());
- assertEquals([2,3], a2.slice(1));
- assertEquals([2], a2.slice(1,2));
-
- // Splice
- var a3 = [1,2,3];
- var a3r;
- a3r = a3.splice(0, 0);
- assertTrue(%HasFastSmiElements(a3r));
- assertTrue(%HasFastSmiElements(a3));
- assertEquals([], a3r);
- assertEquals([1, 2, 3], a3);
- a3 = [1,2,3];
- a3r = a3.splice(0, 1);
- assertTrue(%HasFastSmiElements(a3r));
- assertTrue(%HasFastSmiElements(a3));
- assertEquals([1], a3r);
- assertEquals([2, 3], a3);
- a3 = [1,2,3];
- a3r = a3.splice(0, 0, 2);
- assertTrue(%HasFastSmiElements(a3r));
- assertTrue(%HasFastSmiElements(a3));
- assertEquals([], a3r);
- assertEquals([2, 1, 2, 3], a3);
- a3 = [1,2,3];
- a3r = a3.splice(0, 1, 2);
- assertTrue(%HasFastSmiElements(a3r));
- assertTrue(%HasFastSmiElements(a3));
- assertEquals([1], a3r);
- assertEquals([2, 2, 3], a3);
-
- a3 = [1.1,2,3];
- a3r = a3.splice(0, 0);
- assertTrue(%HasFastDoubleElements(a3r));
- assertTrue(%HasFastDoubleElements(a3));
- assertEquals([], a3r);
- assertEquals([1.1, 2, 3], a3);
- a3 = [1.1,2,3];
- a3r = a3.splice(0, 1);
- assertTrue(%HasFastDoubleElements(a3r));
- assertTrue(%HasFastDoubleElements(a3));
- assertEquals([1.1], a3r);
- assertEquals([2, 3], a3);
- a3 = [1.1,2,3];
- a3r = a3.splice(0, 0, 2);
- // Commented out since handled in js, which takes the best fit.
- // assertTrue(%HasFastDoubleElements(a3r));
- assertTrue(%HasFastSmiElements(a3r));
- assertTrue(%HasFastDoubleElements(a3));
- assertEquals([], a3r);
- assertEquals([2, 1.1, 2, 3], a3);
- a3 = [1.1,2,3];
- a3r = a3.splice(0, 1, 2);
- assertTrue(%HasFastDoubleElements(a3r));
- assertTrue(%HasFastDoubleElements(a3));
- assertEquals([1.1], a3r);
- assertEquals([2, 2, 3], a3);
- a3 = [1.1,2,3];
- a3r = a3.splice(0, 0, 2.1);
- // Commented out since handled in js, which takes the best fit.
- // assertTrue(%HasFastDoubleElements(a3r));
- assertTrue(%HasFastSmiElements(a3r));
- assertTrue(%HasFastDoubleElements(a3));
- assertEquals([], a3r);
- assertEquals([2.1, 1.1, 2, 3], a3);
- a3 = [1.1,2,3];
- a3r = a3.splice(0, 1, 2.2);
- assertTrue(%HasFastDoubleElements(a3r));
- assertTrue(%HasFastDoubleElements(a3));
- assertEquals([1.1], a3r);
- assertEquals([2.2, 2, 3], a3);
- a3 = [1,2,3];
- a3r = a3.splice(0, 0, 2.1);
- // Commented out since handled in js, which takes the best fit.
- // assertTrue(%HasFastDoubleElements(a3r));
- assertTrue(%HasFastSmiElements(a3r));
- assertTrue(%HasFastDoubleElements(a3));
- assertEquals([], a3r);
- assertEquals([2.1, 1, 2, 3], a3);
- a3 = [1,2,3];
- a3r = a3.splice(0, 1, 2.2);
- assertTrue(%HasFastDoubleElements(a3r));
- assertTrue(%HasFastDoubleElements(a3));
- assertEquals([1], a3r);
- assertEquals([2.2, 2, 3], a3);
-
- a3 = [{},2,3];
- a3r = a3.splice(0, 0);
- assertTrue(%HasFastObjectElements(a3r));
- assertTrue(%HasFastObjectElements(a3));
- assertEquals([], a3r);
- assertEquals([{}, 2, 3], a3);
- a3 = [1,2,{}];
- a3r = a3.splice(0, 1);
- assertTrue(%HasFastObjectElements(a3r));
- assertTrue(%HasFastObjectElements(a3));
- assertEquals([1], a3r);
- assertEquals([2, {}], a3);
- a3 = [1,2,3];
- a3r = a3.splice(0, 0, {});
- assertTrue(%HasFastObjectElements(a3r));
- assertTrue(%HasFastObjectElements(a3));
- assertEquals([], a3r);
- assertEquals([{}, 1, 2, 3], a3);
- a3 = [1,2,3];
- a3r = a3.splice(0, 1, {});
- assertTrue(%HasFastObjectElements(a3r));
- assertTrue(%HasFastObjectElements(a3));
- assertEquals([1], a3r);
- assertEquals([{}, 2, 3], a3);
-
- a3 = [1.1,2,3];
- a3r = a3.splice(0, 0, {});
- assertTrue(%HasFastObjectElements(a3r));
- assertTrue(%HasFastObjectElements(a3));
- assertEquals([], a3r);
- assertEquals([{}, 1.1, 2, 3], a3);
- a3 = [1.1,2,3];
- a3r = a3.splice(0, 1, {});
- assertTrue(%HasFastObjectElements(a3r));
- assertTrue(%HasFastObjectElements(a3));
- assertEquals([1.1], a3r);
- assertEquals([{}, 2, 3], a3);
-
- // Pop
- var a4 = [1,2,3];
- assertEquals(3, a4.pop());
- assertTrue(%HasFastSmiElements(a4));
- a4 = [1.1,2,3];
- assertEquals(3, a4.pop());
- assertTrue(%HasFastDoubleElements(a4));
- a4 = [{},2,3];
- assertEquals(3, a4.pop());
- assertTrue(%HasFastObjectElements(a4));
-
- // Shift
- var a4 = [1,2,3];
- assertEquals(1, a4.shift());
- assertTrue(%HasFastSmiElements(a4));
- a4 = [1.1,2,3];
- assertEquals(1.1, a4.shift());
- assertTrue(%HasFastDoubleElements(a4));
- a4 = [{},2,3];
- assertEquals({}, a4.shift());
- assertTrue(%HasFastObjectElements(a4));
-
- // Unshift
- var a4 = [1,2,3];
- a4.unshift(1);
- assertTrue(%HasFastSmiElements(a4));
- assertEquals([1,1,2,3], a4);
- a4 = [1,2,3];
- a4.unshift(1.1);
- // TODO(verwaest): We'll want to support double unshifting as well.
- // assertTrue(%HasFastDoubleElements(a4));
- assertTrue(%HasFastObjectElements(a4));
- assertEquals([1.1,1,2,3], a4);
- a4 = [1.1,2,3];
- a4.unshift(1);
- // assertTrue(%HasFastDoubleElements(a4));
- assertTrue(%HasFastObjectElements(a4));
- assertEquals([1,1.1,2,3], a4);
- a4 = [{},2,3];
- a4.unshift(1);
- assertTrue(%HasFastObjectElements(a4));
- assertEquals([1,{},2,3], a4);
- a4 = [{},2,3];
- a4.unshift(1.1);
- assertTrue(%HasFastObjectElements(a4));
- assertEquals([1.1,{},2,3], a4);
-}
-
-if (support_smi_only_arrays) {
- for (var i = 0; i < 3; i++) {
- array_natives_test();
- }
- %OptimizeFunctionOnNextCall(array_natives_test);
- array_natives_test();
-}
diff --git a/src/3rdparty/v8/test/mjsunit/array-pop.js b/src/3rdparty/v8/test/mjsunit/array-pop.js
deleted file mode 100644
index f193f09..0000000
--- a/src/3rdparty/v8/test/mjsunit/array-pop.js
+++ /dev/null
@@ -1,123 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Check pops with various number of arguments.
-(function() {
- var a = [];
- for (var i = 0; i < 7; i++) {
- a = [7, 6, 5, 4, 3, 2, 1];
-
- assertEquals(1, a.pop(), "1st pop");
- assertEquals(6, a.length, "length 1st pop");
-
- assertEquals(2, a.pop(1), "2nd pop");
- assertEquals(5, a.length, "length 2nd pop");
-
- assertEquals(3, a.pop(1, 2), "3rd pop");
- assertEquals(4, a.length, "length 3rd pop");
-
- assertEquals(4, a.pop(1, 2, 3), "4th pop");
- assertEquals(3, a.length, "length 4th pop");
-
- assertEquals(5, a.pop(), "5th pop");
- assertEquals(2, a.length, "length 5th pop");
-
- assertEquals(6, a.pop(), "6th pop");
- assertEquals(1, a.length, "length 6th pop");
-
- assertEquals(7, a.pop(), "7th pop");
- assertEquals(0, a.length, "length 7th pop");
-
- assertEquals(undefined, a.pop(), "8th pop");
- assertEquals(0, a.length, "length 8th pop");
-
- assertEquals(undefined, a.pop(1, 2, 3), "9th pop");
- assertEquals(0, a.length, "length 9th pop");
- }
-
- // Check that pop works on inherited properties.
- for (var i = 0; i < 10 ;i++) { // Ensure ICs are stabilized.
- Array.prototype[1] = 1;
- Array.prototype[3] = 3;
- Array.prototype[5] = 5;
- Array.prototype[7] = 7;
- Array.prototype[9] = 9;
- a = [0,1,2,,4,,6,7,8,,];
- assertEquals(10, a.length, "inherit-initial-length");
- for (var j = 9; j >= 0; j--) {
- assertEquals(j + 1, a.length, "inherit-pre-length-" + j);
- assertTrue(j in a, "has property " + j);
- var own = a.hasOwnProperty(j);
- var inherited = Array.prototype.hasOwnProperty(j);
- assertEquals(j, a.pop(), "inherit-pop");
- assertEquals(j, a.length, "inherit-post-length");
- assertFalse(a.hasOwnProperty(j), "inherit-deleted-own-" + j);
- assertEquals(inherited, Array.prototype.hasOwnProperty(j),
- "inherit-not-deleted-inherited" + j);
- }
- Array.prototype.length = 0; // Clean-up.
- }
-
- // Check that pop works on inherited properties for
- // arrays with array prototype.
- for (var i = 0; i < 10 ;i++) { // Ensure ICs are stabilized.
- var array_proto = [];
- array_proto[1] = 1;
- array_proto[3] = 3;
- array_proto[5] = 5;
- array_proto[7] = 7;
- array_proto[9] = 9;
- a = [0,1,2,,4,,6,7,8,,];
- a.__proto__ = array_proto;
- assertEquals(10, a.length, "array_proto-inherit-initial-length");
- for (var j = 9; j >= 0; j--) {
- assertEquals(j + 1, a.length, "array_proto-inherit-pre-length-" + j);
- assertTrue(j in a, "array_proto-has property " + j);
- var own = a.hasOwnProperty(j);
- var inherited = array_proto.hasOwnProperty(j);
- assertEquals(j, a.pop(), "array_proto-inherit-pop");
- assertEquals(j, a.length, "array_proto-inherit-post-length");
- assertFalse(a.hasOwnProperty(j), "array_proto-inherit-deleted-own-" + j);
- assertEquals(inherited, array_proto.hasOwnProperty(j),
- "array_proto-inherit-not-deleted-inherited" + j);
- }
- }
-
- // Check that pop works on inherited properties for
- // arrays with array prototype.
-})();
-
-// Test the case of not JSArray receiver.
-// Regression test for custom call generators, see issue 684.
-(function() {
- var a = [];
- for (var i = 0; i < 100; i++) a.push(i);
- var x = {__proto__: a};
- for (var i = 0; i < 100; i++) {
- assertEquals(99 - i, x.pop(), i + 'th iteration');
- }
-})();
diff --git a/src/3rdparty/v8/test/mjsunit/array-push.js b/src/3rdparty/v8/test/mjsunit/array-push.js
deleted file mode 100644
index 2a25a9c..0000000
--- a/src/3rdparty/v8/test/mjsunit/array-push.js
+++ /dev/null
@@ -1,115 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Check pushes with various number of arguments.
-(function() {
- var a = [];
- for (var i = 0; i < 7; i++) {
- a = [];
-
- assertEquals(0, a.push());
- assertEquals([], a, "after .push()");
-
- assertEquals(1, a.push(1), "length after .push(1)");
- assertEquals([1], a, "after .push(1)");
-
- assertEquals(3, a.push(2, 3), "length after .push(2, 3)");
- assertEquals([1, 2, 3], a, "after .push(2, 3)");
-
- assertEquals(6, a.push(4, 5, 6),
- "length after .push(4, 5, 6)");
- assertEquals([1, 2, 3, 4, 5, 6], a,
- "after .push(4, 5, 5)");
-
- assertEquals(10, a.push(7, 8, 9, 10),
- "length after .push(7, 8, 9, 10)");
- assertEquals([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], a,
- "after .push(7, 8, 9, 10)");
-
- assertEquals(15, a.push(11, 12, 13, 14, 15),
- "length after .push(11, 12, 13, 14, 15)");
- assertEquals([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], a,
- "after .push(11, 12, 13, 14, 15)");
-
- assertEquals(21, a.push(16, 17, 18, 19, 20, 21),
- "length after .push(16, 17, 18, 19, 20, 21)");
- assertEquals([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], a,
- "after .push(16, 17, 18, 19, 20, 21)");
-
- assertEquals(28, a.push(22, 23, 24, 25, 26, 27, 28),
- "length hafter .push(22, 23, 24, 25, 26, 27, 28)");
- assertEquals([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28], a,
- "after .push(22, 23, 24, 25, 26, 27, 28)");
- }
-})();
-
-// Excerises various pushes to the array at the end of new space.
-(function() {
- var a = undefined;
- for (var i = 0; i < 7; i++) {
- a = [];
- assertEquals(1, a.push(1));
- assertEquals(2, a.push(2));
- assertEquals(3, a.push(3));
- assertEquals(4, a.push(4));
- assertEquals(5, a.push(5));
- assertEquals(6, a.push(6));
- assertEquals(7, a.push(7));
- assertEquals(8, a.push(8));
- assertEquals(9, a.push(9));
- assertEquals(10, a.push(10));
- assertEquals(11, a.push(11));
- assertEquals(12, a.push(12));
- assertEquals(13, a.push(13));
- assertEquals(14, a.push(14));
- assertEquals(15, a.push(15));
- assertEquals(16, a.push(16));
- assertEquals(17, a.push(17));
- assertEquals(18, a.push(18));
- assertEquals(19, a.push(19));
- assertEquals(20, a.push(20));
- assertEquals(21, a.push(21));
- assertEquals(22, a.push(22));
- assertEquals(23, a.push(23));
- assertEquals(24, a.push(24));
- assertEquals(25, a.push(25));
- assertEquals(26, a.push(26));
- assertEquals(27, a.push(27));
- assertEquals(28, a.push(28));
- assertEquals(29, a.push(29));
- }
-})();
-
-// Test the case of not JSArray receiver.
-// Regression test for custom call generators, see issue 684.
-(function() {
- var x = {__proto__: []};
- for (var i = 0; i < 100; i++) {
- x.push("a");
- assertEquals(i + 1, x.length, i + 'th iteration');
- }
-})();
diff --git a/src/3rdparty/v8/test/mjsunit/array-reduce.js b/src/3rdparty/v8/test/mjsunit/array-reduce.js
deleted file mode 100755
index 429f348..0000000
--- a/src/3rdparty/v8/test/mjsunit/array-reduce.js
+++ /dev/null
@@ -1,523 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-/**
- * @fileoverview Test reduce and reduceRight
- */
-
-function clone(v) {
- // Shallow-copies arrays, returns everything else verbatim.
- if (v instanceof Array) {
- // Shallow-copy an array.
- var newArray = new Array(v.length);
- for (var i in v) {
- newArray[i] = v[i];
- }
- return newArray;
- }
- return v;
-}
-
-
-// Creates a callback function for reduce/reduceRight that tests the number
-// of arguments and otherwise behaves as "func", but which also
-// records all calls in an array on the function (as arrays of arguments
-// followed by result).
-function makeRecorder(func, testName) {
- var record = [];
- var f = function recorder(a, b, i, s) {
- assertEquals(4, arguments.length,
- testName + "(number of arguments: " + arguments.length + ")");
- assertEquals("number", typeof(i), testName + "(index must be number)");
- assertEquals(s[i], b, testName + "(current argument is at index)");
- if (record.length > 0) {
- var prevRecord = record[record.length - 1];
- var prevResult = prevRecord[prevRecord.length - 1];
- assertEquals(prevResult, a,
- testName + "(prev result -> current input)");
- }
- var args = [clone(a), clone(b), i, clone(s)];
- var result = func.apply(this, arguments);
- args.push(clone(result));
- record.push(args);
- return result;
- };
- f.record = record;
- return f;
-}
-
-
-function testReduce(type,
- testName,
- expectedResult,
- expectedCalls,
- array,
- combine,
- init) {
- var rec = makeRecorder(combine);
- var result;
- var performsCall;
- if (arguments.length > 6) {
- result = array[type](rec, init);
- } else {
- result = array[type](rec);
- }
- var calls = rec.record;
- assertEquals(expectedCalls.length, calls.length,
- testName + " (number of calls)");
- for (var i = 0; i < expectedCalls.length; i++) {
- assertEquals(expectedCalls[i], calls[i],
- testName + " (call " + (i + 1) + ")");
- }
- assertEquals(expectedResult, result, testName + " (result)");
-}
-
-
-function sum(a, b) { return a + b; }
-function prod(a, b) { return a * b; }
-function dec(a, b, i, arr) { return a + b * Math.pow(10, arr.length - i - 1); }
-function accumulate(acc, elem, i) { acc[i] = elem; return acc; }
-
-// ---- Test Reduce[Left]
-
-var simpleArray = [2,4,6]
-
-testReduce("reduce", "SimpleReduceSum", 12,
- [[0, 2, 0, simpleArray, 2],
- [2, 4, 1, simpleArray, 6],
- [6, 6, 2, simpleArray, 12]],
- simpleArray, sum, 0);
-
-testReduce("reduce", "SimpleReduceProd", 48,
- [[1, 2, 0, simpleArray, 2],
- [2, 4, 1, simpleArray, 8],
- [8, 6, 2, simpleArray, 48]],
- simpleArray, prod, 1);
-
-testReduce("reduce", "SimpleReduceDec", 246,
- [[0, 2, 0, simpleArray, 200],
- [200, 4, 1, simpleArray, 240],
- [240, 6, 2, simpleArray, 246]],
- simpleArray, dec, 0);
-
-testReduce("reduce", "SimpleReduceAccumulate", simpleArray,
- [[[], 2, 0, simpleArray, [2]],
- [[2], 4, 1, simpleArray, [2, 4]],
- [[2,4], 6, 2, simpleArray, simpleArray]],
- simpleArray, accumulate, []);
-
-
-testReduce("reduce", "EmptyReduceSum", 0, [], [], sum, 0);
-testReduce("reduce", "EmptyReduceProd", 1, [], [], prod, 1);
-testReduce("reduce", "EmptyReduceDec", 0, [], [], dec, 0);
-testReduce("reduce", "EmptyReduceAccumulate", [], [], [], accumulate, []);
-
-testReduce("reduce", "EmptyReduceSumNoInit", 0, [], [0], sum);
-testReduce("reduce", "EmptyReduceProdNoInit", 1, [], [1], prod);
-testReduce("reduce", "EmptyReduceDecNoInit", 0, [], [0], dec);
-testReduce("reduce", "EmptyReduceAccumulateNoInit", [], [], [[]], accumulate);
-
-
-var simpleSparseArray = [,,,2,,4,,6,,];
-testReduce("reduce", "SimpleSparseReduceSum", 12,
- [[0, 2, 3, simpleSparseArray, 2],
- [2, 4, 5, simpleSparseArray, 6],
- [6, 6, 7, simpleSparseArray, 12]],
- simpleSparseArray, sum, 0);
-
-testReduce("reduce", "SimpleSparseReduceProd", 48,
- [[1, 2, 3, simpleSparseArray, 2],
- [2, 4, 5, simpleSparseArray, 8],
- [8, 6, 7, simpleSparseArray, 48]],
- simpleSparseArray, prod, 1);
-
-testReduce("reduce", "SimpleSparseReduceDec", 204060,
- [[0, 2, 3, simpleSparseArray, 200000],
- [200000, 4, 5, simpleSparseArray, 204000],
- [204000, 6, 7, simpleSparseArray, 204060]],
- simpleSparseArray, dec, 0);
-
-testReduce("reduce", "SimpleSparseReduceAccumulate", [,,,2,,4,,6],
- [[[], 2, 3, simpleSparseArray, [,,,2]],
- [[,,,2], 4, 5, simpleSparseArray, [,,,2,,4]],
- [[,,,2,,4], 6, 7, simpleSparseArray, [,,,2,,4,,6]]],
- simpleSparseArray, accumulate, []);
-
-
-testReduce("reduce", "EmptySparseReduceSumNoInit", 0, [], [,,0,,], sum);
-testReduce("reduce", "EmptySparseReduceProdNoInit", 1, [], [,,1,,], prod);
-testReduce("reduce", "EmptySparseReduceDecNoInit", 0, [], [,,0,,], dec);
-testReduce("reduce", "EmptySparseReduceAccumulateNoInit",
- [], [], [,,[],,], accumulate);
-
-
-var verySparseArray = [];
-verySparseArray.length = 10000;
-verySparseArray[2000] = 2;
-verySparseArray[5000] = 4;
-verySparseArray[9000] = 6;
-var verySparseSlice2 = verySparseArray.slice(0, 2001);
-var verySparseSlice4 = verySparseArray.slice(0, 5001);
-var verySparseSlice6 = verySparseArray.slice(0, 9001);
-
-testReduce("reduce", "VerySparseReduceSum", 12,
- [[0, 2, 2000, verySparseArray, 2],
- [2, 4, 5000, verySparseArray, 6],
- [6, 6, 9000, verySparseArray, 12]],
- verySparseArray, sum, 0);
-
-testReduce("reduce", "VerySparseReduceProd", 48,
- [[1, 2, 2000, verySparseArray, 2],
- [2, 4, 5000, verySparseArray, 8],
- [8, 6, 9000, verySparseArray, 48]],
- verySparseArray, prod, 1);
-
-testReduce("reduce", "VerySparseReduceDec", Infinity,
- [[0, 2, 2000, verySparseArray, Infinity],
- [Infinity, 4, 5000, verySparseArray, Infinity],
- [Infinity, 6, 9000, verySparseArray, Infinity]],
- verySparseArray, dec, 0);
-
-testReduce("reduce", "VerySparseReduceAccumulate",
- verySparseSlice6,
- [[[], 2, 2000, verySparseArray, verySparseSlice2],
- [verySparseSlice2, 4, 5000, verySparseArray, verySparseSlice4],
- [verySparseSlice4, 6, 9000, verySparseArray, verySparseSlice6]],
- verySparseArray, accumulate, []);
-
-
-testReduce("reduce", "VerySparseReduceSumNoInit", 12,
- [[2, 4, 5000, verySparseArray, 6],
- [6, 6, 9000, verySparseArray, 12]],
- verySparseArray, sum);
-
-testReduce("reduce", "VerySparseReduceProdNoInit", 48,
- [[2, 4, 5000, verySparseArray, 8],
- [8, 6, 9000, verySparseArray, 48]],
- verySparseArray, prod);
-
-testReduce("reduce", "VerySparseReduceDecNoInit", Infinity,
- [[2, 4, 5000, verySparseArray, Infinity],
- [Infinity, 6, 9000, verySparseArray, Infinity]],
- verySparseArray, dec);
-
-testReduce("reduce", "SimpleSparseReduceAccumulateNoInit",
- 2,
- [[2, 4, 5000, verySparseArray, 2],
- [2, 6, 9000, verySparseArray, 2]],
- verySparseArray, accumulate);
-
-
-// ---- Test ReduceRight
-
-testReduce("reduceRight", "SimpleReduceRightSum", 12,
- [[0, 6, 2, simpleArray, 6],
- [6, 4, 1, simpleArray, 10],
- [10, 2, 0, simpleArray, 12]],
- simpleArray, sum, 0);
-
-testReduce("reduceRight", "SimpleReduceRightProd", 48,
- [[1, 6, 2, simpleArray, 6],
- [6, 4, 1, simpleArray, 24],
- [24, 2, 0, simpleArray, 48]],
- simpleArray, prod, 1);
-
-testReduce("reduceRight", "SimpleReduceRightDec", 246,
- [[0, 6, 2, simpleArray, 6],
- [6, 4, 1, simpleArray, 46],
- [46, 2, 0, simpleArray, 246]],
- simpleArray, dec, 0);
-
-testReduce("reduceRight", "SimpleReduceRightAccumulate", simpleArray,
- [[[], 6, 2, simpleArray, [,,6]],
- [[,,6], 4, 1, simpleArray, [,4,6]],
- [[,4,6], 2, 0, simpleArray, simpleArray]],
- simpleArray, accumulate, []);
-
-
-testReduce("reduceRight", "EmptyReduceRightSum", 0, [], [], sum, 0);
-testReduce("reduceRight", "EmptyReduceRightProd", 1, [], [], prod, 1);
-testReduce("reduceRight", "EmptyReduceRightDec", 0, [], [], dec, 0);
-testReduce("reduceRight", "EmptyReduceRightAccumulate", [],
- [], [], accumulate, []);
-
-testReduce("reduceRight", "EmptyReduceRightSumNoInit", 0, [], [0], sum);
-testReduce("reduceRight", "EmptyReduceRightProdNoInit", 1, [], [1], prod);
-testReduce("reduceRight", "EmptyReduceRightDecNoInit", 0, [], [0], dec);
-testReduce("reduceRight", "EmptyReduceRightAccumulateNoInit",
- [], [], [[]], accumulate);
-
-
-testReduce("reduceRight", "SimpleSparseReduceRightSum", 12,
- [[0, 6, 7, simpleSparseArray, 6],
- [6, 4, 5, simpleSparseArray, 10],
- [10, 2, 3, simpleSparseArray, 12]],
- simpleSparseArray, sum, 0);
-
-testReduce("reduceRight", "SimpleSparseReduceRightProd", 48,
- [[1, 6, 7, simpleSparseArray, 6],
- [6, 4, 5, simpleSparseArray, 24],
- [24, 2, 3, simpleSparseArray, 48]],
- simpleSparseArray, prod, 1);
-
-testReduce("reduceRight", "SimpleSparseReduceRightDec", 204060,
- [[0, 6, 7, simpleSparseArray, 60],
- [60, 4, 5, simpleSparseArray, 4060],
- [4060, 2, 3, simpleSparseArray, 204060]],
- simpleSparseArray, dec, 0);
-
-testReduce("reduceRight", "SimpleSparseReduceRightAccumulate", [,,,2,,4,,6],
- [[[], 6, 7, simpleSparseArray, [,,,,,,,6]],
- [[,,,,,,,6], 4, 5, simpleSparseArray, [,,,,,4,,6]],
- [[,,,,,4,,6], 2, 3, simpleSparseArray, [,,,2,,4,,6]]],
- simpleSparseArray, accumulate, []);
-
-
-testReduce("reduceRight", "EmptySparseReduceRightSumNoInit",
- 0, [], [,,0,,], sum);
-testReduce("reduceRight", "EmptySparseReduceRightProdNoInit",
- 1, [], [,,1,,], prod);
-testReduce("reduceRight", "EmptySparseReduceRightDecNoInit",
- 0, [], [,,0,,], dec);
-testReduce("reduceRight", "EmptySparseReduceRightAccumulateNoInit",
- [], [], [,,[],,], accumulate);
-
-
-var verySparseSuffix6 = [];
-verySparseSuffix6[9000] = 6;
-var verySparseSuffix4 = [];
-verySparseSuffix4[5000] = 4;
-verySparseSuffix4[9000] = 6;
-var verySparseSuffix2 = verySparseSlice6;
-
-
-testReduce("reduceRight", "VerySparseReduceRightSum", 12,
- [[0, 6, 9000, verySparseArray, 6],
- [6, 4, 5000, verySparseArray, 10],
- [10, 2, 2000, verySparseArray, 12]],
- verySparseArray, sum, 0);
-
-testReduce("reduceRight", "VerySparseReduceRightProd", 48,
- [[1, 6, 9000, verySparseArray, 6],
- [6, 4, 5000, verySparseArray, 24],
- [24, 2, 2000, verySparseArray, 48]],
- verySparseArray, prod, 1);
-
-testReduce("reduceRight", "VerySparseReduceRightDec", Infinity,
- [[0, 6, 9000, verySparseArray, Infinity],
- [Infinity, 4, 5000, verySparseArray, Infinity],
- [Infinity, 2, 2000, verySparseArray, Infinity]],
- verySparseArray, dec, 0);
-
-testReduce("reduceRight", "VerySparseReduceRightAccumulate",
- verySparseSuffix2,
- [[[], 6, 9000, verySparseArray, verySparseSuffix6],
- [verySparseSuffix6, 4, 5000, verySparseArray, verySparseSuffix4],
- [verySparseSuffix4, 2, 2000, verySparseArray, verySparseSuffix2]],
- verySparseArray, accumulate, []);
-
-
-testReduce("reduceRight", "VerySparseReduceRightSumNoInit", 12,
- [[6, 4, 5000, verySparseArray, 10],
- [10, 2, 2000, verySparseArray, 12]],
- verySparseArray, sum);
-
-testReduce("reduceRight", "VerySparseReduceRightProdNoInit", 48,
- [[6, 4, 5000, verySparseArray, 24],
- [24, 2, 2000, verySparseArray, 48]],
- verySparseArray, prod);
-
-testReduce("reduceRight", "VerySparseReduceRightDecNoInit", Infinity,
- [[6, 4, 5000, verySparseArray, Infinity],
- [Infinity, 2, 2000, verySparseArray, Infinity]],
- verySparseArray, dec);
-
-testReduce("reduceRight", "SimpleSparseReduceRightAccumulateNoInit",
- 6,
- [[6, 4, 5000, verySparseArray, 6],
- [6, 2, 2000, verySparseArray, 6]],
- verySparseArray, accumulate);
-
-
-// undefined is an element
-var undefArray = [,,undefined,,undefined,,];
-
-testReduce("reduce", "SparseUndefinedReduceAdd", NaN,
- [[0, undefined, 2, undefArray, NaN],
- [NaN, undefined, 4, undefArray, NaN],
- ],
- undefArray, sum, 0);
-
-testReduce("reduceRight", "SparseUndefinedReduceRightAdd", NaN,
- [[0, undefined, 4, undefArray, NaN],
- [NaN, undefined, 2, undefArray, NaN],
- ], undefArray, sum, 0);
-
-testReduce("reduce", "SparseUndefinedReduceAddNoInit", NaN,
- [[undefined, undefined, 4, undefArray, NaN],
- ], undefArray, sum);
-
-testReduce("reduceRight", "SparseUndefinedReduceRightAddNoInit", NaN,
- [[undefined, undefined, 2, undefArray, NaN],
- ], undefArray, sum);
-
-
-// Ignore non-array properties:
-
-var arrayPlus = [1,2,,3];
-arrayPlus[-1] = NaN;
-arrayPlus[Math.pow(2,32)] = NaN;
-arrayPlus[NaN] = NaN;
-arrayPlus["00"] = NaN;
-arrayPlus["02"] = NaN;
-arrayPlus["-0"] = NaN;
-
-testReduce("reduce", "ArrayWithNonElementPropertiesReduce", 6,
- [[0, 1, 0, arrayPlus, 1],
- [1, 2, 1, arrayPlus, 3],
- [3, 3, 3, arrayPlus, 6],
- ], arrayPlus, sum, 0);
-
-testReduce("reduceRight", "ArrayWithNonElementPropertiesReduceRight", 6,
- [[0, 3, 3, arrayPlus, 3],
- [3, 2, 1, arrayPlus, 5],
- [5, 1, 0, arrayPlus, 6],
- ], arrayPlus, sum, 0);
-
-
-// Test error conditions:
-
-var exception = false;
-try {
- [1].reduce("not a function");
-} catch (e) {
- exception = true;
- assertTrue(e instanceof TypeError,
- "reduce callback not a function not throwing TypeError");
- assertTrue(e.message.indexOf(" is not a function") >= 0,
- "reduce non function TypeError type");
-}
-assertTrue(exception);
-
-exception = false;
-try {
- [1].reduceRight("not a function");
-} catch (e) {
- exception = true;
- assertTrue(e instanceof TypeError,
- "reduceRight callback not a function not throwing TypeError");
- assertTrue(e.message.indexOf(" is not a function") >= 0,
- "reduceRight non function TypeError type");
-}
-assertTrue(exception);
-
-exception = false;
-try {
- [].reduce(sum);
-} catch (e) {
- exception = true;
- assertTrue(e instanceof TypeError,
- "reduce no initial value not throwing TypeError");
- assertEquals("Reduce of empty array with no initial value", e.message,
- "reduce no initial TypeError type");
-}
-assertTrue(exception);
-
-exception = false;
-try {
- [].reduceRight(sum);
-} catch (e) {
- exception = true;
- assertTrue(e instanceof TypeError,
- "reduceRight no initial value not throwing TypeError");
- assertEquals("Reduce of empty array with no initial value", e.message,
- "reduceRight no initial TypeError type");
-}
-assertTrue(exception);
-
-exception = false;
-try {
- [,,,].reduce(sum);
-} catch (e) {
- exception = true;
- assertTrue(e instanceof TypeError,
- "reduce sparse no initial value not throwing TypeError");
- assertEquals("Reduce of empty array with no initial value", e.message,
- "reduce no initial TypeError type");
-}
-assertTrue(exception);
-
-exception = false;
-try {
- [,,,].reduceRight(sum);
-} catch (e) {
- exception = true;
- assertTrue(e instanceof TypeError,
- "reduceRight sparse no initial value not throwing TypeError");
- assertEquals("Reduce of empty array with no initial value", e.message,
- "reduceRight no initial TypeError type");
-}
-assertTrue(exception);
-
-
-// Array changing length
-
-function manipulator(a, b, i, s) {
- if (s.length % 2) {
- s[s.length * 3] = i;
- } else {
- s.length = s.length >> 1;
- }
- return a + b;
-}
-
-var arr = [1, 2, 3, 4];
-testReduce("reduce", "ArrayManipulationShort", 3,
- [[0, 1, 0, [1, 2, 3, 4], 1],
- [1, 2, 1, [1, 2], 3],
- ], arr, manipulator, 0);
-
-var arr = [1, 2, 3, 4, 5];
-testReduce("reduce", "ArrayManipulationLonger", 10,
- [[0, 1, 0, [1, 2, 3, 4, 5], 1],
- [1, 2, 1, [1, 2, 3, 4, 5,,,,,,,,,,, 0], 3],
- [3, 3, 2, [1, 2, 3, 4, 5,,,,], 6],
- [6, 4, 3, [1, 2, 3, 4], 10],
- ], arr, manipulator, 0);
-
-function extender(a, b, i, s) {
- s[s.length] = s.length;
- return a + b;
-}
-
-var arr = [1, 2, 3, 4];
-testReduce("reduce", "ArrayManipulationExtender", 10,
- [[0, 1, 0, [1, 2, 3, 4], 1],
- [1, 2, 1, [1, 2, 3, 4, 4], 3],
- [3, 3, 2, [1, 2, 3, 4, 4, 5], 6],
- [6, 4, 3, [1, 2, 3, 4, 4, 5, 6], 10],
- ], arr, extender, 0);
diff --git a/src/3rdparty/v8/test/mjsunit/array-shift.js b/src/3rdparty/v8/test/mjsunit/array-shift.js
deleted file mode 100644
index 3601cbb..0000000
--- a/src/3rdparty/v8/test/mjsunit/array-shift.js
+++ /dev/null
@@ -1,108 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Check that shifting array of holes keeps it as array of holes
-(function() {
- var array = new Array(10);
- array.shift();
- assertFalse(0 in array);
-})();
-
-// Now check the case with array of holes and some elements on prototype.
-(function() {
- var len = 9;
- var array = new Array(len);
- Array.prototype[3] = "@3";
- Array.prototype[7] = "@7";
-
- assertEquals(len, array.length);
- for (var i = 0; i < array.length; i++) {
- assertEquals(array[i], Array.prototype[i]);
- }
-
- array.shift();
-
- assertEquals(len - 1, array.length);
- // Note that shift copies values from prototype into the array.
- assertEquals(array[2], Array.prototype[3]);
- assertTrue(array.hasOwnProperty(2));
-
- assertEquals(array[6], Array.prototype[7]);
- assertTrue(array.hasOwnProperty(6));
-
- // ... but keeps the rest as holes:
- Array.prototype[5] = "@5";
- assertEquals(array[5], Array.prototype[5]);
- assertFalse(array.hasOwnProperty(5));
-
- assertEquals(array[3], Array.prototype[3]);
- assertFalse(array.hasOwnProperty(3));
-
- assertEquals(array[7], Array.prototype[7]);
- assertFalse(array.hasOwnProperty(7));
-
- assertTrue(delete Array.prototype[3]);
- assertTrue(delete Array.prototype[5]);
- assertTrue(delete Array.prototype[7]);
-})();
-
-// Now check the case with array of holes and some elements on prototype
-// which is an array itself.
-(function() {
- var len = 9;
- var array = new Array(len);
- var array_proto = new Array();
- array_proto[3] = "@3";
- array_proto[7] = "@7";
- array.__proto__ = array_proto;
-
- assertEquals(len, array.length);
- for (var i = 0; i < array.length; i++) {
- assertEquals(array[i], array_proto[i]);
- }
-
- array.shift();
-
- assertEquals(len - 1, array.length);
- // Note that shift copies values from prototype into the array.
- assertEquals(array[2], array_proto[3]);
- assertTrue(array.hasOwnProperty(2));
-
- assertEquals(array[6], array_proto[7]);
- assertTrue(array.hasOwnProperty(6));
-
- // ... but keeps the rest as holes:
- array_proto[5] = "@5";
- assertEquals(array[5], array_proto[5]);
- assertFalse(array.hasOwnProperty(5));
-
- assertEquals(array[3], array_proto[3]);
- assertFalse(array.hasOwnProperty(3));
-
- assertEquals(array[7], array_proto[7]);
- assertFalse(array.hasOwnProperty(7));
-})();
diff --git a/src/3rdparty/v8/test/mjsunit/array-slice.js b/src/3rdparty/v8/test/mjsunit/array-slice.js
deleted file mode 100644
index ae0e3bc..0000000
--- a/src/3rdparty/v8/test/mjsunit/array-slice.js
+++ /dev/null
@@ -1,304 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Check that slicing array of holes keeps it as array of holes
-(function() {
- var array = new Array(10);
- for (var i = 0; i < 7; i++) {
- var sliced = array.slice();
- assertEquals(array.length, sliced.length);
- assertFalse(0 in sliced);
- }
-})();
-
-
-// Check various variants of empty array's slicing.
-(function() {
- for (var i = 0; i < 7; i++) {
- assertEquals([], [].slice(0, 0));
- assertEquals([], [].slice(1, 0));
- assertEquals([], [].slice(0, 1));
- assertEquals([], [].slice(-1, 0));
- }
-})();
-
-
-// Check various forms of arguments omission.
-(function() {
- var array = new Array(7);
-
- for (var i = 0; i < 7; i++) {
- assertEquals(array, array.slice());
- assertEquals(array, array.slice(0));
- assertEquals(array, array.slice(undefined));
- assertEquals(array, array.slice("foobar"));
- assertEquals(array, array.slice(undefined, undefined));
- }
-})();
-
-
-// Check variants of negatives and positive indices.
-(function() {
- var array = new Array(7);
-
- for (var i = 0; i < 7; i++) {
- assertEquals(7, array.slice(-100).length);
- assertEquals(3, array.slice(-3).length);
- assertEquals(3, array.slice(4).length);
- assertEquals(1, array.slice(6).length);
- assertEquals(0, array.slice(7).length);
- assertEquals(0, array.slice(8).length);
- assertEquals(0, array.slice(100).length);
-
- assertEquals(0, array.slice(0, -100).length);
- assertEquals(4, array.slice(0, -3).length);
- assertEquals(4, array.slice(0, 4).length);
- assertEquals(6, array.slice(0, 6).length);
- assertEquals(7, array.slice(0, 7).length);
- assertEquals(7, array.slice(0, 8).length);
- assertEquals(7, array.slice(0, 100).length);
-
- // Some exotic cases.
-
- obj = { toString: function() { throw 'Exception'; } };
-
- // More than 2 arguments:
- assertEquals(7, array.slice(0, 7, obj, null, undefined).length);
-
- // Custom conversion:
- assertEquals(1, array.slice({valueOf: function() { return 1; }},
- {toString: function() { return 2; }}).length);
-
- // Throwing an exception in conversion:
- try {
- assertEquals(7, array.slice(0, obj).length);
- throw 'Should have thrown';
- } catch (e) {
- assertEquals('Exception', e);
- }
- }
-})();
-
-
-// Nasty: modify the array in ToInteger.
-(function() {
- var array = [];
- var expected = []
- bad_guy = { valueOf: function() { array.push(array.length); return -1; } };
-
- for (var i = 0; i < 13; i++) {
- var sliced = array.slice(bad_guy);
- expected.push(i);
- assertEquals(expected, array);
- // According to the spec (15.4.4.10), length is calculated before
- // performing ToInteger on arguments.
- if (i == 0) {
- assertEquals([], sliced); // Length was 0, nothing to get.
- } else {
- // Actually out of array [0..i] we get [i - 1] as length is i.
- assertEquals([i - 1], sliced);
- }
- }
-})();
-
-
-// Now check the case with array of holes and some elements on prototype.
-// Note: that is important that this test runs before the next one
-// as the next one tampers Array.prototype.
-(function() {
- var len = 9;
- var array = new Array(len);
-
- var at3 = "@3";
- var at7 = "@7";
-
- for (var i = 0; i < 7; i++) {
- var array_proto = [];
- array_proto[3] = at3;
- array_proto[7] = at7;
- array.__proto__ = array_proto;
-
- assertEquals(len, array.length);
- for (var i = 0; i < array.length; i++) {
- assertEquals(array[i], array_proto[i]);
- }
-
- var sliced = array.slice();
-
- assertEquals(len, sliced.length);
-
- assertTrue(delete array_proto[3]);
- assertTrue(delete array_proto[7]);
-
- // Note that slice copies values from prototype into the array.
- assertEquals(array[3], undefined);
- assertFalse(array.hasOwnProperty(3));
- assertEquals(sliced[3], at3);
- assertTrue(sliced.hasOwnProperty(3));
-
- assertEquals(array[7], undefined);
- assertFalse(array.hasOwnProperty(7));
- assertEquals(sliced[7], at7);
- assertTrue(sliced.hasOwnProperty(7));
-
- // ... but keeps the rest as holes:
- array_proto[5] = "@5";
- assertEquals(array[5], array_proto[5]);
- assertFalse(array.hasOwnProperty(5));
- }
-})();
-
-
-// Now check the case with array of holes and some elements on prototype.
-(function() {
- var len = 9;
- var array = new Array(len);
-
- var at3 = "@3";
- var at7 = "@7";
-
- for (var i = 0; i < 7; i++) {
- Array.prototype[3] = at3;
- Array.prototype[7] = at7;
-
- assertEquals(len, array.length);
- for (var i = 0; i < array.length; i++) {
- assertEquals(array[i], Array.prototype[i]);
- }
-
- var sliced = array.slice();
-
- assertEquals(len, sliced.length);
-
- assertTrue(delete Array.prototype[3]);
- assertTrue(delete Array.prototype[7]);
-
- // Note that slice copies values from prototype into the array.
- assertEquals(array[3], undefined);
- assertFalse(array.hasOwnProperty(3));
- assertEquals(sliced[3], at3);
- assertTrue(sliced.hasOwnProperty(3));
-
- assertEquals(array[7], undefined);
- assertFalse(array.hasOwnProperty(7));
- assertEquals(sliced[7], at7);
- assertTrue(sliced.hasOwnProperty(7));
-
- // ... but keeps the rest as holes:
- Array.prototype[5] = "@5";
- assertEquals(array[5], Array.prototype[5]);
- assertFalse(array.hasOwnProperty(5));
- assertEquals(sliced[5], Array.prototype[5]);
- assertFalse(sliced.hasOwnProperty(5));
-
- assertTrue(delete Array.prototype[5]);
- }
-})();
-
-// Check slicing on arguments object.
-(function() {
- function func(expected, a0, a1, a2) {
- assertEquals(expected, Array.prototype.slice.call(arguments, 1));
- }
-
- func([]);
- func(['a'], 'a');
- func(['a', 1], 'a', 1);
- func(['a', 1, undefined], 'a', 1, undefined);
- func(['a', 1, undefined, void(0)], 'a', 1, undefined, void(0));
-})();
-
-// Check slicing on arguments object when missing arguments get assigined.
-(function() {
- function func(x, y) {
- assertEquals(1, arguments.length);
- assertEquals(undefined, y);
- y = 239;
- assertEquals(1, arguments.length); // arguments length is the same.
- assertEquals([x], Array.prototype.slice.call(arguments, 0));
- }
-
- func('a');
-})();
-
-// Check slicing on arguments object when length property has been set.
-(function() {
- function func(x, y) {
- assertEquals(1, arguments.length);
- arguments.length = 7;
- assertEquals([x,,,,,,,], Array.prototype.slice.call(arguments, 0));
- }
-
- func('a');
-})();
-
-// Check slicing on arguments object when length property has been set to
-// some strange value.
-(function() {
- function func(x, y) {
- assertEquals(1, arguments.length);
- arguments.length = 'foobar';
- assertEquals([], Array.prototype.slice.call(arguments, 0));
- }
-
- func('a');
-})();
-
-// Check slicing on arguments object when extra argument has been added
-// via indexed assignment.
-(function() {
- function func(x, y) {
- assertEquals(1, arguments.length);
- arguments[3] = 239;
- assertEquals([x], Array.prototype.slice.call(arguments, 0));
- }
-
- func('a');
-})();
-
-// Check slicing on arguments object when argument has been deleted by index.
-(function() {
- function func(x, y, z) {
- assertEquals(3, arguments.length);
- delete arguments[1];
- assertEquals([x,,z], Array.prototype.slice.call(arguments, 0));
- }
-
- func('a', 'b', 'c');
-})();
-
-// Check slicing of holey objects with elements in the prototype
-(function() {
- function f() {
- delete arguments[1];
- arguments.__proto__[1] = 5;
- var result = Array.prototype.slice.call(arguments);
- delete arguments.__proto__[1];
- assertEquals([1,5,3], result);
- }
- f(1,2,3);
-})();
diff --git a/src/3rdparty/v8/test/mjsunit/array-sort.js b/src/3rdparty/v8/test/mjsunit/array-sort.js
deleted file mode 100644
index 3fa623a..0000000
--- a/src/3rdparty/v8/test/mjsunit/array-sort.js
+++ /dev/null
@@ -1,406 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test array sort.
-
-// Test counter-intuitive default number sorting.
-function TestNumberSort() {
- var a = [ 200, 45, 7 ];
-
- // Default sort converts each element to string and orders
- // lexicographically.
- a.sort();
- assertArrayEquals([ 200, 45, 7 ], a);
- // Sort numbers by value using a compare functions.
- a.sort(function(x, y) { return x - y; });
- assertArrayEquals([ 7, 45, 200 ], a);
-
- // Default sort on negative numbers.
- a = [-12345,-123,-1234,-123456];
- a.sort();
- assertArrayEquals([-123,-1234,-12345,-123456], a);
-
- // Default sort on negative and non-negative numbers.
- a = [123456,0,-12345,-123,123,1234,-1234,0,12345,-123456];
- a.sort();
- assertArrayEquals([-123,-1234,-12345,-123456,0,0,123,1234,12345,123456], a);
-
- // Tricky case avoiding integer overflow in Runtime_SmiLexicographicCompare.
- a = [9, 1000000000].sort();
- assertArrayEquals([1000000000, 9], a);
- a = [1000000000, 1].sort();
- assertArrayEquals([1, 1000000000], a);
- a = [1000000000, 0].sort();
- assertArrayEquals([0, 1000000000], a);
-
- // One string is a prefix of the other.
- a = [1230, 123].sort();
- assertArrayEquals([123, 1230], a);
- a = [1231, 123].sort();
- assertArrayEquals([123, 1231], a);
-
- // Default sort on Smis and non-Smis.
- a = [1000000000, 10000000000, 1000000001, -1000000000, -10000000000, -1000000001];
- a.sort();
- assertArrayEquals([-1000000000, -10000000000, -1000000001, 1000000000, 10000000000, 1000000001], a);
-
- // Other cases are tested implicitly in TestSmiLexicographicCompare.
-}
-
-TestNumberSort();
-
-function TestSmiLexicographicCompare() {
-
- assertFalse(%_IsSmi(2147483648), 'Update test for >32 bit Smi');
-
- // Collect a list of interesting Smis.
- var seen = {};
- var smis = [];
- function add(x) {
- if (x | 0 == x) {
- x = x | 0; // Canonicalizes to Smi if 32-bit signed and fits in Smi.
- }
- if (%_IsSmi(x) && !seen[x]) {
- seen[x] = 1;
- smis.push(x);
- }
- }
- function addSigned(x) {
- add(x);
- add(-x);
- }
-
- var BIGGER_THAN_ANY_SMI = 10 * 1000 * 1000 * 1000;
- for (var xb = 1; xb <= BIGGER_THAN_ANY_SMI; xb *= 10) {
- for (var xf = 0; xf <= 9; xf++) {
- for (var xo = -1; xo <= 1; xo++) {
- addSigned(xb * xf + xo);
- }
- }
- }
-
- for (var yb = 1; yb <= BIGGER_THAN_ANY_SMI; yb *= 2) {
- for (var yo = -2; yo <= 2; yo++) {
- addSigned(yb + yo);
- }
- }
-
- for (var i = 0; i < smis.length; i++) {
- for (var j = 0; j < smis.length; j++) {
- var x = smis[i];
- var y = smis[j];
- var lex = %SmiLexicographicCompare(x, y);
- var expected = (x == y) ? 0 : ((x + "") < (y + "") ? -1 : 1);
- assertEquals(lex, expected, x + " < " + y);
- }
- }
-}
-
-TestSmiLexicographicCompare();
-
-
-// Test lexicographical string sorting.
-function TestStringSort() {
- var a = [ "cc", "c", "aa", "a", "bb", "b", "ab", "ac" ];
- a.sort();
- assertArrayEquals([ "a", "aa", "ab", "ac", "b", "bb", "c", "cc" ], a);
-}
-
-TestStringSort();
-
-
-// Test object sorting. Calls toString on each element and sorts
-// lexicographically.
-function TestObjectSort() {
- var obj0 = { toString: function() { return "a"; } };
- var obj1 = { toString: function() { return "b"; } };
- var obj2 = { toString: function() { return "c"; } };
- var a = [ obj2, obj0, obj1 ];
- a.sort();
- assertArrayEquals([ obj0, obj1, obj2 ], a);
-}
-
-TestObjectSort();
-
-// Test array sorting with holes in the array.
-function TestArraySortingWithHoles() {
- var a = [];
- a[4] = "18";
- a[10] = "12";
- a.sort();
- assertEquals(11, a.length);
- assertEquals("12", a[0]);
- assertEquals("18", a[1]);
-}
-
-TestArraySortingWithHoles();
-
-// Test array sorting with undefined elemeents in the array.
-function TestArraySortingWithUndefined() {
- var a = [ 3, void 0, 2 ];
- a.sort();
- assertArrayEquals([ 2, 3, void 0 ], a);
-}
-
-TestArraySortingWithUndefined();
-
-// Test that sorting using an unsound comparison function still gives a
-// sane result, i.e. it terminates without error and retains the elements
-// in the array.
-function TestArraySortingWithUnsoundComparisonFunction() {
- var a = [ 3, void 0, 2 ];
- a.sort(function(x, y) { return 1; });
- a.sort();
- assertArrayEquals([ 2, 3, void 0 ], a);
-}
-
-TestArraySortingWithUnsoundComparisonFunction();
-
-
-function TestSparseNonArraySorting(length) {
- assertTrue(length > 101);
- var obj = {length: length};
- obj[0] = 42;
- obj[10] = 37;
- obj[100] = undefined;
- obj[length - 1] = null;
- Array.prototype.sort.call(obj);
- assertEquals(length, obj.length, "objsort length unaffected");
- assertEquals(37, obj[0], "objsort smallest number");
- assertEquals(42, obj[1], "objsort largest number");
- assertEquals(null, obj[2], "objsort null");
- assertEquals(undefined, obj[3], "objsort undefined");
- assertTrue(3 in obj, "objsort undefined retained");
- assertFalse(4 in obj, "objsort non-existing retained");
-}
-
-TestSparseNonArraySorting(5000);
-TestSparseNonArraySorting(500000);
-TestSparseNonArraySorting(Math.pow(2, 31) + 1);
-
-
-function TestArrayLongerLength(length) {
- var x = new Array(4);
- x[0] = 42;
- x[2] = 37;
- x.length = length;
- Array.prototype.sort.call(x);
- assertEquals(length, x.length, "longlength length");
- assertEquals(37, x[0], "longlength first");
- assertEquals(42, x[1], "longlength second");
- assertFalse(2 in x,"longlength third");
-}
-
-TestArrayLongerLength(4);
-TestArrayLongerLength(10);
-TestArrayLongerLength(1000);
-TestArrayLongerLength(500000);
-TestArrayLongerLength(Math.pow(2,32) - 1);
-
-
-function TestNonArrayLongerLength(length) {
- var x = {};
- x[0] = 42;
- x[2] = 37;
- x.length = length;
- Array.prototype.sort.call(x);
- assertEquals(length, x.length, "longlength length");
- assertEquals(37, x[0], "longlength first");
- assertEquals(42, x[1], "longlength second");
- assertFalse(2 in x,"longlength third");
-}
-
-TestNonArrayLongerLength(4);
-TestNonArrayLongerLength(10);
-TestNonArrayLongerLength(1000);
-TestNonArrayLongerLength(500000);
-TestNonArrayLongerLength(Math.pow(2,32) - 1);
-
-
-function TestNonArrayWithAccessors() {
- // Regression test for issue 346, more info at URL
- // http://code.google.com/p/v8/issues/detail?id=346
- // Reported by nth10sd, test based on this report.
- var x = {};
- x[0] = 42;
- x.__defineGetter__("1", function(){return this.foo;});
- x.__defineSetter__("1", function(val){this.foo = val;});
- x[1] = 49
- x[3] = 37;
- x.length = 4;
- Array.prototype.sort.call(x);
- // Behavior of sort with accessors is undefined. This accessor is
- // well-behaved (acts like a normal property), so it should work.
- assertEquals(4, x.length, "sortaccessors length");
- assertEquals(37, x[0], "sortaccessors first");
- assertEquals(42, x[1], "sortaccessors second");
- assertEquals(49, x[2], "sortaccessors third")
- assertFalse(3 in x, "sortaccessors fourth");
-}
-
-TestNonArrayWithAccessors();
-
-
-function TestInheritedElementSort(depth) {
- var length = depth * 2 + 3;
- var obj = {length: length};
- obj[depth * 2 + 1] = 0;
- for (var i = 0; i < depth; i++) {
- var newObj = {};
- newObj.__proto__ = obj;
- obj[i] = undefined;
- obj[i + depth + 1] = depth - i;
- obj = newObj;
- }
- // expected (inherited) object: [undef1,...undefdepth,hole,1,...,depth,0,hole]
-
- Array.prototype.sort.call(obj, function(a,b) { return (b < a) - (a < b); });
- // expected result: [0,1,...,depth,undef1,...,undefdepth,undef,hole]
- var name = "SortInherit("+depth+")-";
-
- assertEquals(length, obj.length, name+"length");
- for (var i = 0; i <= depth; i++) {
- assertTrue(obj.hasOwnProperty(i), name + "hasvalue" + i);
- assertEquals(i, obj[i], name + "value" + i);
- }
- for (var i = depth + 1; i <= depth * 2 + 1; i++) {
- assertEquals(undefined, obj[i], name + "undefined" + i);
- assertTrue(obj.hasOwnProperty(i), name + "hasundefined" + i);
- }
- assertTrue(!obj.hasOwnProperty(depth * 2 + 2), name + "hashole");
-}
-
-TestInheritedElementSort(5);
-TestInheritedElementSort(15);
-
-function TestSparseInheritedElementSort(scale) {
- var length = scale * 10;
- var x = {length: length};
- var y = {};
- y.__proto__ = x;
-
- for (var i = 0; i < 5; i++) {
- x[i * 2 * scale] = 2 * (4 - i);
- y[(i * 2 + 1) * scale] = 2 * (4 - i) + 1;
- }
-
- var name = "SparseSortInherit(" + scale + ")-";
-
- Array.prototype.sort.call(y);
-
- assertEquals(length, y.length, name +"length");
-
- for (var i = 0; i < 10; i++) {
- assertTrue(y.hasOwnProperty(i), name + "hasvalue" + i);
- assertEquals(i, y[i], name + "value" + i);
- }
- for (var i = 10; i < length; i++) {
- assertEquals(x.hasOwnProperty(i), y.hasOwnProperty(i),
- name + "hasundef" + i);
- assertEquals(undefined, y[i], name+"undefined"+i);
- if (x.hasOwnProperty(i)) {
- assertTrue(0 == i % (2 * scale), name + "new_x" + i);
- }
- }
-}
-
-TestSparseInheritedElementSort(10);
-TestSparseInheritedElementSort(100);
-TestSparseInheritedElementSort(1000);
-
-function TestSpecialCasesInheritedElementSort() {
-
- var x = {
- 1:"d1",
- 2:"c1",
- 3:"b1",
- 4: undefined,
- __proto__: {
- length: 10000,
- 1: "e2",
- 10: "a2",
- 100: "b2",
- 1000: "c2",
- 2000: undefined,
- 8000: "d2",
- 12000: "XX",
- __proto__: {
- 0: "e3",
- 1: "d3",
- 2: "c3",
- 3: "b3",
- 4: "f3",
- 5: "a3",
- 6: undefined,
- }
- }
- };
- Array.prototype.sort.call(x);
-
- var name = "SpecialInherit-";
-
- assertEquals(10000, x.length, name + "length");
- var sorted = ["a2", "a3", "b1", "b2", "c1", "c2", "d1", "d2", "e3",
- undefined, undefined, undefined];
- for (var i = 0; i < sorted.length; i++) {
- assertTrue(x.hasOwnProperty(i), name + "has" + i)
- assertEquals(sorted[i], x[i], name + i);
- }
- assertFalse(x.hasOwnProperty(sorted.length), name + "haspost");
- assertFalse(sorted.length in x, name + "haspost2");
- assertTrue(x.hasOwnProperty(10), name + "hasundefined10");
- assertEquals(undefined, x[10], name + "undefined10");
- assertTrue(x.hasOwnProperty(100), name + "hasundefined100");
- assertEquals(undefined, x[100], name + "undefined100");
- assertTrue(x.hasOwnProperty(1000), name + "hasundefined1000");
- assertEquals(undefined, x[1000], name + "undefined1000");
- assertTrue(x.hasOwnProperty(2000), name + "hasundefined2000");
- assertEquals(undefined, x[2000], name + "undefined2000");
- assertTrue(x.hasOwnProperty(8000), name + "hasundefined8000");
- assertEquals(undefined, x[8000], name + "undefined8000");
- assertFalse(x.hasOwnProperty(12000), name + "has12000");
- assertEquals("XX", x[12000], name + "XX12000");
-}
-
-TestSpecialCasesInheritedElementSort();
-
-// Test that sort calls compare function with global object as receiver,
-// and with only elements of the array as arguments.
-function o(v) {
- return {__proto__: o.prototype, val: v};
-}
-var arr = [o(1), o(2), o(4), o(8), o(16), o(32), o(64), o(128), o(256), o(-0)];
-var global = this;
-function cmpTest(a, b) {
- assertEquals(global, this);
- assertTrue(a instanceof o);
- assertTrue(b instanceof o);
- return a.val - b.val;
-}
-arr.sort(cmpTest);
diff --git a/src/3rdparty/v8/test/mjsunit/array-splice.js b/src/3rdparty/v8/test/mjsunit/array-splice.js
deleted file mode 100644
index 0e307b5..0000000
--- a/src/3rdparty/v8/test/mjsunit/array-splice.js
+++ /dev/null
@@ -1,382 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Check that splicing array of holes keeps it as array of holes
-(function() {
- for (var i = 0; i < 7; i++) {
- var array = new Array(10);
- var spliced = array.splice(1, 1, 'one', 'two');
- assertEquals(1, spliced.length);
- assertFalse(0 in spliced, "0 in spliced");
-
- assertEquals(11, array.length);
- assertFalse(0 in array, "0 in array");
- assertTrue(1 in array);
- assertTrue(2 in array);
- assertFalse(3 in array, "3 in array");
- }
-})();
-
-
-// Check various variants of empty array's splicing.
-(function() {
- for (var i = 0; i < 7; i++) {
- assertEquals([], [].splice(0, 0));
- assertEquals([], [].splice(1, 0));
- assertEquals([], [].splice(0, 1));
- assertEquals([], [].splice(-1, 0));
- }
-})();
-
-
-// Check that even if result array is empty, receiver gets sliced.
-(function() {
- for (var i = 0; i < 7; i++) {
- var a = [1, 2, 3];
- assertEquals([], a.splice(1, 0, 'a', 'b', 'c'));
- assertEquals([1, 'a', 'b', 'c', 2, 3], a);
- }
-})();
-
-
-// Check various forms of arguments omission.
-(function() {
- var array;
- for (var i = 0; i < 7; i++) {
- array = [1, 2, 3]
- assertEquals([], array.splice());
- assertEquals([1, 2, 3], array);
-
- // SpiderMonkey, TraceMonkey and JSC treat the case where no delete count is
- // given differently from when an undefined delete count is given.
- // This does not follow ECMA-262, but we do the same for
- // compatibility.
- array = [1, 2, 3]
- assertEquals([1, 2, 3], array.splice(0));
- assertEquals([], array);
-
- array = [1, 2, 3]
- assertEquals([1, 2, 3], array.splice(undefined));
- assertEquals([], array);
-
- array = [1, 2, 3]
- assertEquals([1, 2, 3], array.splice("foobar"));
- assertEquals([], array);
-
- array = [1, 2, 3]
- assertEquals([], array.splice(undefined, undefined));
- assertEquals([1, 2, 3], array);
-
- array = [1, 2, 3]
- assertEquals([], array.splice("foobar", undefined));
- assertEquals([1, 2, 3], array);
-
- array = [1, 2, 3]
- assertEquals([], array.splice(undefined, "foobar"));
- assertEquals([1, 2, 3], array);
-
- array = [1, 2, 3]
- assertEquals([], array.splice("foobar", "foobar"));
- assertEquals([1, 2, 3], array);
- }
-})();
-
-
-// Check variants of negatives and positive indices.
-(function() {
- var array, spliced;
- for (var i = 0; i < 7; i++) {
- array = [1, 2, 3, 4, 5, 6, 7];
- spliced = array.splice(-100);
- assertEquals([], array);
- assertEquals([1, 2, 3, 4, 5, 6, 7], spliced);
-
- array = [1, 2, 3, 4, 5, 6, 7];
- spliced = array.splice(-3);
- assertEquals([1, 2, 3, 4], array);
- assertEquals([5, 6, 7], spliced);
-
- array = [1, 2, 3, 4, 5, 6, 7];
- spliced = array.splice(4);
- assertEquals([1, 2, 3, 4], array);
- assertEquals([5, 6, 7], spliced);
-
- array = [1, 2, 3, 4, 5, 6, 7];
- spliced = array.splice(6);
- assertEquals([1, 2, 3, 4, 5, 6], array);
- assertEquals([7], spliced);
-
- array = [1, 2, 3, 4, 5, 6, 7];
- spliced = array.splice(7);
- assertEquals([1, 2, 3, 4, 5, 6, 7], array);
- assertEquals([], spliced);
-
- array = [1, 2, 3, 4, 5, 6, 7];
- spliced = array.splice(8);
- assertEquals([1, 2, 3, 4, 5, 6, 7], array);
- assertEquals([], spliced);
-
- array = [1, 2, 3, 4, 5, 6, 7];
- spliced = array.splice(100);
- assertEquals([1, 2, 3, 4, 5, 6, 7], array);
- assertEquals([], spliced);
-
- array = [1, 2, 3, 4, 5, 6, 7];
- spliced = array.splice(0, -100);
- assertEquals([1, 2, 3, 4, 5, 6, 7], array);
- assertEquals([], spliced);
-
- array = [1, 2, 3, 4, 5, 6, 7];
- spliced = array.splice(0, -3);
- assertEquals([1, 2, 3, 4, 5, 6, 7], array);
- assertEquals([], spliced);
-
- array = [1, 2, 3, 4, 5, 6, 7];
- spliced = array.splice(0, 4);
- assertEquals([5, 6, 7], array);
- assertEquals([1, 2, 3, 4], spliced);
-
- array = [1, 2, 3, 4, 5, 6, 7];
- spliced = array.splice(0, 6);
- assertEquals([7], array);
- assertEquals([1, 2, 3, 4, 5, 6], spliced);
-
- array = [1, 2, 3, 4, 5, 6, 7];
- spliced = array.splice(0, 7);
- assertEquals([], array);
- assertEquals([1, 2, 3, 4, 5, 6, 7], spliced);
-
- array = [1, 2, 3, 4, 5, 6, 7];
- spliced = array.splice(0, 8);
- assertEquals([], array);
- assertEquals([1, 2, 3, 4, 5, 6, 7], spliced);
-
- array = [1, 2, 3, 4, 5, 6, 7];
- spliced = array.splice(0, 100);
- assertEquals([], array);
- assertEquals([1, 2, 3, 4, 5, 6, 7], spliced);
-
- // Some exotic cases.
- obj = { toString: function() { throw 'Exception'; } };
-
- // Throwing an exception in conversion:
- try {
- [1, 2, 3].splice(obj, 3);
- throw 'Should have thrown';
- } catch (e) {
- assertEquals('Exception', e);
- }
-
- try {
- [1, 2, 3].splice(0, obj, 3);
- throw 'Should have thrown';
- } catch (e) {
- assertEquals('Exception', e);
- }
-
- array = [1, 2, 3];
- array.splice(0, 3, obj);
- assertEquals(1, array.length);
-
- // Custom conversion:
- array = [1, 2, 3];
- spliced = array.splice({valueOf: function() { return 1; }},
- {toString: function() { return 2; }},
- 'one', 'two');
- assertEquals([2, 3], spliced);
- assertEquals([1, 'one', 'two'], array);
- }
-})();
-
-
-// Nasty: modify the array in ToInteger.
-(function() {
- var array = [];
- var spliced;
-
- for (var i = 0; i < 13; i++) {
- bad_start = { valueOf: function() { array.push(2*i); return -1; } };
- bad_count = { valueOf: function() { array.push(2*i + 1); return 1; } };
- spliced = array.splice(bad_start, bad_count);
- // According to the spec (15.4.4.12), length is calculated before
- // performing ToInteger on arguments. However, v8 ignores elements
- // we add while converting, so we need corrective pushes.
- array.push(2*i); array.push(2*i + 1);
- if (i == 0) {
- assertEquals([], spliced); // Length was 0, nothing to get.
- assertEquals([0, 1], array);
- } else {
- // When we start splice, array is [0 .. 2*i - 1], so we get
- // as a result [2*i], this element is removed from the array,
- // but [2 * i, 2 * i + 1] are added.
- assertEquals([2 * i - 1], spliced);
- assertEquals(2 * i, array[i]);
- assertEquals(2 * i + 1, array[i + 1]);
- }
- }
-})();
-
-
-// Now check the case with array of holes and some elements on prototype.
-(function() {
- var len = 9;
-
- var at3 = "@3";
- var at7 = "@7";
-
- for (var i = 0; i < 7; i++) {
- var array = new Array(len);
- var array_proto = [];
- array_proto[3] = at3;
- array_proto[7] = at7;
- array.__proto__ = array_proto;
-
- var spliced = array.splice(2, 2, 'one', undefined, 'two');
-
- // Second hole (at index 3) of array turns into
- // value of Array.prototype[3] while copying.
- assertEquals([, at3], spliced);
- assertEquals([, , 'one', undefined, 'two', , , at7, at7, ,], array);
-
- // ... but array[3] and array[7] is actually a hole:
- assertTrue(delete array_proto[3]);
- assertEquals(undefined, array[3]);
- assertTrue(delete array_proto[7]);
- assertEquals(undefined, array[7]);
-
- // and now check hasOwnProperty
- assertFalse(array.hasOwnProperty(0), "array.hasOwnProperty(0)");
- assertFalse(array.hasOwnProperty(1), "array.hasOwnProperty(1)");
- assertTrue(array.hasOwnProperty(2));
- assertTrue(array.hasOwnProperty(3));
- assertTrue(array.hasOwnProperty(4));
- assertFalse(array.hasOwnProperty(5), "array.hasOwnProperty(5)");
- assertFalse(array.hasOwnProperty(6), "array.hasOwnProperty(6)");
- assertFalse(array.hasOwnProperty(7), "array.hasOwnProperty(7)");
- assertTrue(array.hasOwnProperty(8));
- assertFalse(array.hasOwnProperty(9), "array.hasOwnProperty(9)");
-
- // and now check couple of indices above length.
- assertFalse(array.hasOwnProperty(10), "array.hasOwnProperty(10)");
- assertFalse(array.hasOwnProperty(15), "array.hasOwnProperty(15)");
- assertFalse(array.hasOwnProperty(31), "array.hasOwnProperty(31)");
- assertFalse(array.hasOwnProperty(63), "array.hasOwnProperty(63)");
- assertFalse(array.hasOwnProperty(2 << 32 - 1),
- "array.hasOwnProperty(2 << 31 - 1)");
- }
-})();
-
-
-// Now check the case with array of holes and some elements on prototype.
-(function() {
- var len = 9;
-
- var at3 = "@3";
- var at7 = "@7";
-
- for (var i = 0; i < 7; i++) {
- var array = new Array(len);
- Array.prototype[3] = at3;
- Array.prototype[7] = at7;
-
- var spliced = array.splice(2, 2, 'one', undefined, 'two');
-
- // Second hole (at index 3) of array turns into
- // value of Array.prototype[3] while copying.
- assertEquals([, at3], spliced);
- assertEquals([, , 'one', undefined, 'two', , , at7, at7, ,], array);
-
- // ... but array[3] and array[7] is actually a hole:
- assertTrue(delete Array.prototype[3]);
- assertEquals(undefined, array[3]);
- assertTrue(delete Array.prototype[7]);
- assertEquals(undefined, array[7]);
-
- // and now check hasOwnProperty
- assertFalse(array.hasOwnProperty(0), "array.hasOwnProperty(0)");
- assertFalse(array.hasOwnProperty(1), "array.hasOwnProperty(1)");
- assertTrue(array.hasOwnProperty(2));
- assertTrue(array.hasOwnProperty(3));
- assertTrue(array.hasOwnProperty(4));
- assertFalse(array.hasOwnProperty(5), "array.hasOwnProperty(5)");
- assertFalse(array.hasOwnProperty(6), "array.hasOwnProperty(6)");
- assertFalse(array.hasOwnProperty(7), "array.hasOwnProperty(7)");
- assertTrue(array.hasOwnProperty(8));
- assertFalse(array.hasOwnProperty(9), "array.hasOwnProperty(9)");
-
- // and now check couple of indices above length.
- assertFalse(array.hasOwnProperty(10), "array.hasOwnProperty(10)");
- assertFalse(array.hasOwnProperty(15), "array.hasOwnProperty(15)");
- assertFalse(array.hasOwnProperty(31), "array.hasOwnProperty(31)");
- assertFalse(array.hasOwnProperty(63), "array.hasOwnProperty(63)");
- assertFalse(array.hasOwnProperty(2 << 32 - 1),
- "array.hasOwnProperty(2 << 31 - 1)");
- }
-})();
-
-
-// Check the case of JS builtin .splice()
-(function() {
- for (var i = 0; i < 7; i++) {
- var array = [1, 2, 3, 4];
- Array.prototype[3] = 'foo'; // To force JS builtin.
-
- var spliced = array.splice();
-
- assertEquals([], spliced);
- assertEquals([1, 2, 3, 4], array);
- }
-})();
-
-
-// Check the behaviour when approaching maximal values for length.
-(function() {
- for (var i = 0; i < 7; i++) {
- try {
- new Array((1 << 32) - 3).splice(-1, 0, 1, 2, 3, 4, 5);
- throw 'Should have thrown RangeError';
- } catch (e) {
- assertTrue(e instanceof RangeError);
- }
-
- // Check smi boundary
- var bigNum = (1 << 30) - 3;
- var array = new Array(bigNum);
- array.splice(-1, 0, 1, 2, 3, 4, 5, 6, 7);
- assertEquals(bigNum + 7, array.length);
- }
-})();
-
-(function() {
- for (var i = 0; i < 7; i++) {
- var a = [7, 8, 9];
- a.splice(0, 0, 1, 2, 3, 4, 5, 6);
- assertEquals([1, 2, 3, 4, 5, 6, 7, 8, 9], a);
- assertFalse(a.hasOwnProperty(10), "a.hasOwnProperty(10)");
- assertEquals(undefined, a[10]);
- }
-})();
diff --git a/src/3rdparty/v8/test/mjsunit/array-store-and-grow.js b/src/3rdparty/v8/test/mjsunit/array-store-and-grow.js
deleted file mode 100644
index 88f3db8..0000000
--- a/src/3rdparty/v8/test/mjsunit/array-store-and-grow.js
+++ /dev/null
@@ -1,186 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Verifies that the KeyedStoreIC correctly handles out-of-bounds stores
-// to an array that grow it by a single element. Test functions are
-// called twice to make sure that the IC is used, first call is handled
-// by the runtime in the miss stub.
-
-function array_store_1(a,b,c) {
- return (a[b] = c);
-}
-
-// Check handling of the empty array.
-var a = [];
-array_store_1(a, 0, 1);
-a = [];
-array_store_1(a, 0, 1);
-assertEquals(1, a[0]);
-assertEquals(1, array_store_1([], 0, 1));
-
-a = [];
-for (x=0;x<100000;++x) {
- assertEquals(x, array_store_1(a, x, x));
-}
-
-for (x=0;x<100000;++x) {
- assertEquals(x, array_store_1([], 0, x));
-}
-
-function array_store_2(a,b,c) {
- return (a[b] = c);
-}
-
-a = [];
-array_store_2(a, 0, 0.5);
-a = [];
-array_store_2(a, 0, 0.5);
-assertEquals(0.5, a[0]);
-assertEquals(0.5, array_store_2([], 0, 0.5));
-
-function array_store_3(a,b,c) {
- return (a[b] = c);
-}
-
-x = new Object();
-a = [];
-array_store_3(a, 0, x);
-a = [];
-array_store_3(a, 0, x);
-assertEquals(x, a[0]);
-assertEquals(x, array_store_3([], 0, x));
-
-// Check the handling of COW arrays
-function makeCOW() {
- return [1];
-}
-
-function array_store_4(a,b,c) {
- return (a[b] = c);
-}
-
-a = makeCOW();
-array_store_4(a, 1, 1);
-a = makeCOW();
-array_store_4(a, 1, 1);
-assertEquals(1, a[1]);
-assertEquals(1, array_store_4([], 1, 1));
-
-function array_store_5(a,b,c) {
- return (a[b] = c);
-}
-
-a = makeCOW();
-array_store_5(a, 1, 0.5);
-a = makeCOW();
-array_store_5(a, 1, 0.5);
-assertEquals(0.5, a[1]);
-a = [];
-assertEquals(0.5, array_store_5(a, 1, 0.5));
-assertEquals(undefined, a[0]);
-assertEquals(0.5, a[1]);
-
-function array_store_6(a,b,c) {
- return (a[b] = c);
-}
-
-a = makeCOW();
-array_store_6(a, 1, x);
-a = makeCOW();
-array_store_6(a, 1, x);
-assertEquals(x, a[1]);
-assertEquals(x, array_store_6([], 1, x));
-
-// Check the handling of mutable arrays.
-a = new Array(1,2,3);
-array_store_4(a, 3, 1);
-a = new Array(1,2,3);
-array_store_4(a, 3, 1);
-assertEquals(1, a[3]);
-assertEquals(1, array_store_4([], 3, 1));
-
-function array_store_5(a,b,c) {
- return (a[b] = c);
-}
-
-a = new Array(1,2,3);
-array_store_5(a, 3, 0.5);
-a = new Array(1,2,3);
-array_store_5(a, 3, 0.5);
-assertEquals(0.5, a[3]);
-assertEquals(0.5, array_store_5([], 3, 0.5));
-
-function array_store_6(a,b,c) {
- return (a[b] = c);
-}
-
-a = new Array(1,2,3);
-array_store_6(a, 3, x);
-a = new Array(1,2,3);
-array_store_6(a, 3, x);
-assertEquals(x, a[3]);
-assertEquals(x, array_store_6([], 3, x));
-
-function array_store_7(a,b,c) {
- return (a[b] = c);
-}
-
-// Check the handling of mutable arrays of doubles
-var a = new Array(0.5, 1.5);
-array_store_7(a, 2, .5);
-a = new Array(0.5, 1.5);
-array_store_7(a, 2, .5);
-assertEquals(0.5, a[2]);
-a = new Array(0.5, 1.5);
-assertEquals(0.5, array_store_7(a, 2, 0.5));
-
-for (x=0;x<100000;++x) {
- a = new Array(0.5, 1.5);
- assertEquals(x, array_store_7(a, 2, x));
-}
-
-function array_store_8(a,b,c) {
- return (a[b] = c);
-}
-
-var a = new Array(0.5, 1.5);
-array_store_8(a, 2, .5);
-a = new Array(0.5, 1.5);
-array_store_8(a, 10, .5);
-assertEquals(0.5, a[10]);
-
-// Grow the empty array with a double store.
-function array_store_9(a,b,c) {
- return (a[b] = c);
-}
-
-var a = [];
-array_store_9(a, 0, 0.5);
-a = [];
-array_store_1(a, 0, 0.5);
-assertEquals(0.5, a[0]);
-assertEquals(0.5, array_store_1([], 0, 0.5));
diff --git a/src/3rdparty/v8/test/mjsunit/array-tostring.js b/src/3rdparty/v8/test/mjsunit/array-tostring.js
deleted file mode 100644
index 6708657..0000000
--- a/src/3rdparty/v8/test/mjsunit/array-tostring.js
+++ /dev/null
@@ -1,159 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Array's toString should call the object's own join method, if one exists and
-// is callable. Otherwise, just use the original Object.toString function.
-
-var success = "[test success]";
-var expectedThis;
-function testJoin() {
- assertEquals(0, arguments.length);
- assertSame(expectedThis, this);
- return success;
-}
-
-
-// On an Array object.
-
-// Default case.
-var a1 = [1, 2, 3];
-assertEquals(a1.join(), a1.toString());
-
-// Non-standard "join" function is called correctly.
-var a2 = [1, 2, 3];
-a2.join = testJoin;
-expectedThis = a2;
-assertEquals(success, a2.toString());
-
-// Non-callable join function is ignored and Object.prototype.toString is
-// used instead.
-var a3 = [1, 2, 3];
-a3.join = "not callable";
-assertEquals("[object Array]", a3.toString());
-
-// Non-existing join function is treated same as non-callable.
-var a4 = [1, 2, 3];
-a4.__proto__ = { toString: Array.prototype.toString };
-// No join on Array.
-assertEquals("[object Array]", a4.toString());
-
-
-// On a non-Array object.
-
-// Default looks-like-an-array case.
-var o1 = {length: 3, 0: 1, 1: 2, 2: 3,
- toString: Array.prototype.toString,
- join: Array.prototype.join};
-assertEquals(o1.join(), o1.toString());
-
-
-// Non-standard join is called correctly.
-// Check that we don't read, e.g., length before calling join.
-var o2 = {toString : Array.prototype.toString,
- join: testJoin,
- get length() { assertUnreachable(); },
- get 0() { assertUnreachable(); }};
-expectedThis = o2;
-assertEquals(success, o2.toString());
-
-// Non-standard join is called even if it looks like an array.
-var o3 = {length: 3, 0: 1, 1: 2, 2: 3,
- toString: Array.prototype.toString,
- join: testJoin};
-expectedThis = o3;
-assertEquals(success, o3.toString());
-
-// Non-callable join works same as for Array.
-var o4 = {length: 3, 0: 1, 1: 2, 2: 3,
- toString: Array.prototype.toString,
- join: "not callable"};
-assertEquals("[object Object]", o4.toString());
-
-
-// Non-existing join works same as for Array.
-var o5 = {length: 3, 0: 1, 1: 2, 2: 3,
- toString: Array.prototype.toString
- /* no join */};
-assertEquals("[object Object]", o5.toString());
-
-
-// Test that ToObject is called before getting "join", so the instance
-// that "join" is read from is the same one passed as receiver later.
-var called_before = false;
-expectedThis = null;
-Object.defineProperty(Number.prototype, "join", {get: function() {
- assertFalse(called_before);
- called_before = true;
- expectedThis = this;
- return testJoin;
- }});
-Number.prototype.arrayToString = Array.prototype.toString;
-assertEquals(success, (42).arrayToString());
-
-// ----------------------------------------------------------
-// Testing Array.prototype.toLocaleString
-
-// Ensure that it never uses Array.prototype.toString for anything.
-Array.prototype.toString = function() { assertUnreachable(); };
-
-// Default case.
-var la1 = [1, [2, 3], 4];
-assertEquals("1,2,3,4", la1.toLocaleString());
-
-// Used on a string (which looks like an array of characters).
-String.prototype.toLocaleString = Array.prototype.toLocaleString;
-assertEquals("1,2,3,4", "1234".toLocaleString());
-
-// If toLocaleString of element is not callable, throw a TypeError.
-var la2 = [1, {toLocaleString: "not callable"}, 3];
-assertThrows(function() { la2.toLocaleString(); }, TypeError);
-
-// If toLocaleString of element is callable, call it.
-var la3 = [1, {toLocaleString: function() { return "XX";}}, 3];
-assertEquals("1,XX,3", la3.toLocaleString());
-
-// Omitted elements, as well as undefined and null, become empty string.
-var la4 = [1, null, 3, undefined, 5,, 7];
-assertEquals("1,,3,,5,,7", la4.toLocaleString());
-
-
-// ToObject is called first and the same object is being used for the
-// rest of the operations.
-Object.defineProperty(Number.prototype, "length", {
- get: function() {
- exptectedThis = this;
- return 3;
- }});
-for (var i = 0; i < 3; i++) {
- Object.defineProperty(Number.prototype, i, {
- get: function() {
- assertEquals(expectedThis, this);
- return +this;
- }});
-}
-Number.prototype.arrayToLocaleString = Array.prototype.toLocaleString;
-assertEquals("42,42,42", (42).arrayToLocaleString()); \ No newline at end of file
diff --git a/src/3rdparty/v8/test/mjsunit/array-unshift.js b/src/3rdparty/v8/test/mjsunit/array-unshift.js
deleted file mode 100644
index c4cc95c..0000000
--- a/src/3rdparty/v8/test/mjsunit/array-unshift.js
+++ /dev/null
@@ -1,215 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Check that unshifting array of holes keeps the original array
-// as array of holes
-(function() {
- var array = new Array(10);
- assertEquals(13, array.unshift('1st', '2ns', '3rd'));
- assertTrue(0 in array);
- assertTrue(1 in array);
- assertTrue(2 in array);
- assertFalse(3 in array);
-})();
-
-
-// Check that unshift with no args has a side-effect of
-// filling the holes with elements from the prototype
-// (if present, of course)
-(function() {
- var len = 3;
- var array = new Array(len);
-
- var at0 = '@0';
- var at2 = '@2';
-
- Array.prototype[0] = at0;
- Array.prototype[2] = at2;
-
- // array owns nothing...
- assertFalse(array.hasOwnProperty(0));
- assertFalse(array.hasOwnProperty(1));
- assertFalse(array.hasOwnProperty(2));
-
- // ... but sees values from Array.prototype
- assertEquals(array[0], at0);
- assertEquals(array[1], undefined);
- assertEquals(array[2], at2);
-
- assertEquals(len, array.unshift());
-
- assertTrue(delete Array.prototype[0]);
- assertTrue(delete Array.prototype[2]);
-
- // unshift makes array own 0 and 2...
- assertTrue(array.hasOwnProperty(0));
- assertFalse(array.hasOwnProperty(1));
- assertTrue(array.hasOwnProperty(2));
-
- // ... so they are not affected be delete.
- assertEquals(array[0], at0);
- assertEquals(array[1], undefined);
- assertEquals(array[2], at2);
-})();
-
-
-// Now check the case with array of holes and some elements on prototype.
-(function() {
- var len = 9;
- var array = new Array(len);
- Array.prototype[3] = "@3";
- Array.prototype[7] = "@7";
-
- assertEquals(len, array.length);
- for (var i = 0; i < array.length; i++) {
- assertEquals(array[i], Array.prototype[i]);
- }
-
- assertEquals(len + 1, array.unshift('head'));
-
- assertEquals(len + 1, array.length);
- // Note that unshift copies values from prototype into the array.
- assertEquals(array[4], Array.prototype[3]);
- assertTrue(array.hasOwnProperty(4));
-
- assertEquals(array[8], Array.prototype[7]);
- assertTrue(array.hasOwnProperty(8));
-
- // ... but keeps the rest as holes:
- Array.prototype[5] = "@5";
- assertEquals(array[5], Array.prototype[5]);
- assertFalse(array.hasOwnProperty(5));
-
- assertEquals(array[3], Array.prototype[3]);
- assertFalse(array.hasOwnProperty(3));
-
- assertEquals(array[7], Array.prototype[7]);
- assertFalse(array.hasOwnProperty(7));
-
- assertTrue(delete Array.prototype[3]);
- assertTrue(delete Array.prototype[5]);
- assertTrue(delete Array.prototype[7]);
-})();
-
-// Check that unshift with no args has a side-effect of
-// filling the holes with elements from the prototype
-// (if present, of course)
-(function() {
- var len = 3;
- var array = new Array(len);
-
- var at0 = '@0';
- var at2 = '@2';
-
- var array_proto = [];
- array_proto[0] = at0;
- array_proto[2] = at2;
- array.__proto__ = array_proto;
-
- // array owns nothing...
- assertFalse(array.hasOwnProperty(0));
- assertFalse(array.hasOwnProperty(1));
- assertFalse(array.hasOwnProperty(2));
-
- // ... but sees values from array_proto.
- assertEquals(array[0], at0);
- assertEquals(array[1], undefined);
- assertEquals(array[2], at2);
-
- assertEquals(len, array.unshift());
-
- // unshift makes array own 0 and 2...
- assertTrue(array.hasOwnProperty(0));
- assertFalse(array.hasOwnProperty(1));
- assertTrue(array.hasOwnProperty(2));
-
- // ... so they are not affected be delete.
- assertEquals(array[0], at0);
- assertEquals(array[1], undefined);
- assertEquals(array[2], at2);
-})();
-
-
-// Now check the case with array of holes and some elements on prototype.
-(function() {
- var len = 9;
- var array = new Array(len);
- var array_proto = []
- array_proto[3] = "@3";
- array_proto[7] = "@7";
- array.__proto__ = array_proto;
-
- assertEquals(len, array.length);
- for (var i = 0; i < array.length; i++) {
- assertEquals(array[i], array_proto[i]);
- }
-
- assertEquals(len + 1, array.unshift('head'));
-
- assertEquals(len + 1, array.length);
- // Note that unshift copies values from prototype into the array.
- assertEquals(array[4], array_proto[3]);
- assertTrue(array.hasOwnProperty(4));
-
- assertEquals(array[8], array_proto[7]);
- assertTrue(array.hasOwnProperty(8));
-
- // ... but keeps the rest as holes:
- array_proto[5] = "@5";
- assertEquals(array[5], array_proto[5]);
- assertFalse(array.hasOwnProperty(5));
-
- assertEquals(array[3], array_proto[3]);
- assertFalse(array.hasOwnProperty(3));
-
- assertEquals(array[7], array_proto[7]);
- assertFalse(array.hasOwnProperty(7));
-})();
-
-// Check the behaviour when approaching maximal values for length.
-(function() {
- for (var i = 0; i < 7; i++) {
- try {
- new Array((1 << 32) - 3).unshift(1, 2, 3, 4, 5);
- throw 'Should have thrown RangeError';
- } catch (e) {
- assertTrue(e instanceof RangeError);
- }
-
- // Check smi boundary
- var bigNum = (1 << 30) - 3;
- assertEquals(bigNum + 7, new Array(bigNum).unshift(1, 2, 3, 4, 5, 6, 7));
- }
-})();
-
-(function() {
- for (var i = 0; i < 7; i++) {
- var a = [6, 7, 8, 9];
- a.unshift(1, 2, 3, 4, 5);
- assertEquals([1, 2, 3, 4, 5, 6, 7, 8, 9], a);
- }
-})();
diff --git a/src/3rdparty/v8/test/mjsunit/ascii-regexp-subject.js b/src/3rdparty/v8/test/mjsunit/ascii-regexp-subject.js
deleted file mode 100644
index e0c2f84..0000000
--- a/src/3rdparty/v8/test/mjsunit/ascii-regexp-subject.js
+++ /dev/null
@@ -1,49 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-/**
- * @fileoverview Check that an initial ^ will result in a faster match fail.
- */
-
-
-var s = "foo";
-var i;
-
-for (i = 0; i < 18; i++) {
- s = s + s;
-}
-
-function repeatRegexp(re) {
- for (i = 0; i < 1000; i++) {
- re.test(s);
- }
-}
-
-repeatRegexp(/^bar/);
-repeatRegexp(/^foo|^bar|^baz/);
-repeatRegexp(/(^bar)/);
-repeatRegexp(/(?=^bar)\w+/);
diff --git a/src/3rdparty/v8/test/mjsunit/assert-opt-and-deopt.js b/src/3rdparty/v8/test/mjsunit/assert-opt-and-deopt.js
deleted file mode 100644
index c79d923..0000000
--- a/src/3rdparty/v8/test/mjsunit/assert-opt-and-deopt.js
+++ /dev/null
@@ -1,177 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --noparallel-recompilation
-
-/**
- * This class shows how to use %GetOptimizationCount() and
- * %GetOptimizationStatus() to infer information about opts and deopts.
- * Might be nice to put this into mjsunit.js, but that doesn't depend on
- * the --allow-natives-syntax flag so far.
- */
-function OptTracker() {
- this.opt_counts_ = {};
-}
-
-/**
- * The possible optimization states of a function. Must be in sync with the
- * return values of Runtime_GetOptimizationStatus() in runtime.cc!
- * @enum {int}
- */
-OptTracker.OptimizationState = {
- YES: 1,
- NO: 2,
- ALWAYS: 3,
- NEVER: 4
-};
-
-/**
- * Always call this at the beginning of your test, once for each function
- * that you later want to track de/optimizations for. It is necessary because
- * tests are sometimes executed several times in a row, and you want to
- * disregard counts from previous runs.
- */
-OptTracker.prototype.CheckpointOptCount = function(func) {
- this.opt_counts_[func] = %GetOptimizationCount(func);
-};
-
-OptTracker.prototype.AssertOptCount = function(func, optcount) {
- if (this.DisableAsserts_(func)) {
- return;
- }
- assertEquals(optcount, this.GetOptCount_(func));
-};
-
-OptTracker.prototype.AssertDeoptCount = function(func, deopt_count) {
- if (this.DisableAsserts_(func)) {
- return;
- }
- assertEquals(deopt_count, this.GetDeoptCount_(func));
-};
-
-OptTracker.prototype.AssertDeoptHappened = function(func, expect_deopt) {
- if (this.DisableAsserts_(func)) {
- return;
- }
- if (expect_deopt) {
- assertTrue(this.GetDeoptCount_(func) > 0);
- } else {
- assertEquals(0, this.GetDeoptCount_(func));
- }
-}
-
-OptTracker.prototype.AssertIsOptimized = function(func, expect_optimized) {
- if (this.DisableAsserts_(func)) {
- return;
- }
- var raw_optimized = %GetOptimizationStatus(func);
- if (expect_optimized) {
- assertEquals(OptTracker.OptimizationState.YES, raw_optimized);
- } else {
- assertEquals(OptTracker.OptimizationState.NO, raw_optimized);
- }
-}
-
-/**
- * @private
- */
-OptTracker.prototype.GetOptCount_ = function(func) {
- var raw_count = %GetOptimizationCount(func);
- if (func in this.opt_counts_) {
- var checkpointed_count = this.opt_counts_[func];
- return raw_count - checkpointed_count;
- }
- return raw_count;
-}
-
-/**
- * @private
- */
-OptTracker.prototype.GetDeoptCount_ = function(func) {
- var count = this.GetOptCount_(func);
- if (%GetOptimizationStatus(func) == OptTracker.OptimizationState.YES) {
- count -= 1;
- }
- return count;
-}
-
-/**
- * @private
- */
-OptTracker.prototype.DisableAsserts_ = function(func) {
- switch(%GetOptimizationStatus(func)) {
- case OptTracker.OptimizationState.YES:
- case OptTracker.OptimizationState.NO:
- return false;
- case OptTracker.OptimizationState.ALWAYS:
- case OptTracker.OptimizationState.NEVER:
- return true;
- }
- return false;
-}
-// (End of class OptTracker.)
-
-// Example function used by the test below.
-function f(a) {
- return a+1;
-}
-
-var tracker = new OptTracker();
-tracker.CheckpointOptCount(f);
-
-tracker.AssertOptCount(f, 0);
-tracker.AssertIsOptimized(f, false);
-tracker.AssertDeoptHappened(f, false);
-tracker.AssertDeoptCount(f, 0);
-
-f(1);
-
-%OptimizeFunctionOnNextCall(f);
-f(1);
-
-tracker.AssertOptCount(f, 1);
-tracker.AssertIsOptimized(f, true);
-tracker.AssertDeoptHappened(f, false);
-tracker.AssertDeoptCount(f, 0);
-
-%DeoptimizeFunction(f);
-
-tracker.AssertOptCount(f, 1);
-tracker.AssertIsOptimized(f, false);
-tracker.AssertDeoptHappened(f, true);
-tracker.AssertDeoptCount(f, 1);
-
-// Let's trigger optimization for another type.
-for (var i = 0; i < 5; i++) f("a");
-
-%OptimizeFunctionOnNextCall(f);
-f("b");
-
-tracker.AssertOptCount(f, 2);
-tracker.AssertIsOptimized(f, true);
-tracker.AssertDeoptHappened(f, true);
-tracker.AssertDeoptCount(f, 1);
diff --git a/src/3rdparty/v8/test/mjsunit/big-array-literal.js b/src/3rdparty/v8/test/mjsunit/big-array-literal.js
deleted file mode 100644
index 9f06179..0000000
--- a/src/3rdparty/v8/test/mjsunit/big-array-literal.js
+++ /dev/null
@@ -1,114 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// On MacOS X 10.7.5, this test needs a stack size of at least 788 kBytes.
-// Flags: --stack-size=800
-
-// Test that we can make large object literals that work.
-// Also test that we can attempt to make even larger object literals without
-// crashing.
-function testLiteral(size, array_in_middle) {
- print(size);
-
- var f;
-
- // Build object-literal string.
- var literal = "function f() { return ";
-
- for (var i = 0; i < size; i++) {
- literal += "[";
- }
-
- literal += array_in_middle ? " [42.2]" : "{a:42.2}";
-
- for (var i = 0; i < size; i++) {
- literal += "]";
- }
-
- literal += "; }";
-
- // Create the object literal.
- eval(literal);
-
- var x = f();
-
- // Check that the properties have the expected values.
- for (var i = 0; i < size; i++) {
- x = x[0];
- }
-
- if (array_in_middle) {
- assertEquals(42.2, x[0]), "x array in middle";
- x[0] = 41.2;
- } else {
- assertEquals(42.2, x.a, "x object in middle");
- x.a = 41.2;
- }
-
- var y = f();
- for (var i = 0; i < size; i++) {
- y = y[0];
- }
-
- if (array_in_middle) {
- assertEquals(42.2, y[0], "y array in middle");
- y[0] = 41.2;
- } else {
- assertEquals(42.2, y.a, "y object in middle");
- y.a = 41.2;
- }
-}
-
-// The sizes to test.
-var sizes = [1, 2, 100, 200, 300];
-
-// Run the test.
-for (var i = 0; i < sizes.length; i++) {
- testLiteral(sizes[i], false);
- testLiteral(sizes[i], true);
-}
-
-function testLiteralAndCatch(size) {
- var big_enough = false;
- try {
- testLiteral(size, false);
- } catch (e) {
- big_enough = true;
- }
- try {
- testLiteral(size, true);
- } catch (e) {
- big_enough = true;
- }
- return big_enough;
-}
-
-// Catch stack overflows.
-
-testLiteralAndCatch(1000) ||
-testLiteralAndCatch(20000) ||
-testLiteralAndCatch(200000);
diff --git a/src/3rdparty/v8/test/mjsunit/big-object-literal.js b/src/3rdparty/v8/test/mjsunit/big-object-literal.js
deleted file mode 100644
index c937f54..0000000
--- a/src/3rdparty/v8/test/mjsunit/big-object-literal.js
+++ /dev/null
@@ -1,114 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that we can make large object literals that work.
-// Also test that we can attempt to make even larger object literals without
-// crashing.
-function testLiteral(size, array_in_middle) {
- print(size);
-
- var f;
-
- // Build object-literal string.
- var literal = "function f() { return ";
-
- for (var i = 0; i < size; i++) {
- literal += "{a:";
- }
-
- literal += array_in_middle ? " [42.2]" : "{a:42.2}";
-
- for (var i = 0; i < size; i++) {
- literal += "}";
- if (i < size - 1) {
- literal += ", b:42, c:/asd/, x:'foo', y:[], z:new Object()";
- }
- }
-
- literal += "; }";
-
- // Create the object literal.
- eval(literal);
-
- var x = f();
-
- // Check that the properties have the expected values.
- for (var i = 0; i < size; i++) {
- x = x.a;
- }
-
- if (array_in_middle) {
- assertEquals(42.2, x[0]), "x array in middle";
- x[0] = 41.2;
- } else {
- assertEquals(42.2, x.a, "x object in middle");
- x.a = 41.2;
- }
-
- var y = f();
- for (var i = 0; i < size; i++) {
- y = y.a;
- }
-
- if (array_in_middle) {
- assertEquals(42.2, y[0], "y array in middle");
- y[0] = 41.2;
- } else {
- assertEquals(42.2, y.a, "y object in middle");
- y.a = 41.2;
- }
-}
-
-// The sizes to test.
-var sizes = [1, 2, 100, 200];
-
-// Run the test.
-for (var i = 0; i < sizes.length; i++) {
- testLiteral(sizes[i], false);
- testLiteral(sizes[i], true);
-}
-
-function testLiteralAndCatch(size) {
- var big_enough = false;
- try {
- testLiteral(size, false);
- } catch (e) {
- big_enough = true;
- }
- try {
- testLiteral(size, true);
- } catch (e) {
- big_enough = true;
- }
- return big_enough;
-}
-
-// Catch stack overflows.
-
-testLiteralAndCatch(1000) ||
-testLiteralAndCatch(20000) ||
-testLiteralAndCatch(200000);
diff --git a/src/3rdparty/v8/test/mjsunit/binary-op-newspace.js b/src/3rdparty/v8/test/mjsunit/binary-op-newspace.js
deleted file mode 100644
index e3341c4..0000000
--- a/src/3rdparty/v8/test/mjsunit/binary-op-newspace.js
+++ /dev/null
@@ -1,61 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --max-new-space-size=256 --noopt
-
-// Check that a mod where the stub code hits a failure in heap number
-// allocation still works.
-
-function f(x) {
- return x % 3;
-}
-
-function testMod() {
- for (var i = 0; i < 40000; i++) {
- assertEquals(-1 / 0, 1 / f(-3));
- }
-}
-
-testMod();
-
-
-// Check that an add where the stub code hits a failure in heap number
-// allocation still works.
-
-function g(x, y) {
- return x + y;
-}
-
-function testAdd() {
- var lhs = 17.42;
- var rhs = 42.17;
- for (var i = 0; i < 40000; i++) {
- assertEquals(59.59, g(lhs, rhs));
- }
-}
-
-testAdd();
diff --git a/src/3rdparty/v8/test/mjsunit/binary-operation-overwrite.js b/src/3rdparty/v8/test/mjsunit/binary-operation-overwrite.js
deleted file mode 100644
index 8d217c5..0000000
--- a/src/3rdparty/v8/test/mjsunit/binary-operation-overwrite.js
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Ensure that literals are not overwritten.
-function f1() { return (1.2, 3.4) + 5.6; }
-function f2() { return (1, 2) + 3; }
-function f3() { return (1.2 || 3.4) + 5.6; }
-function f4() { return (1 || 2) + 3; }
-assertTrue(f1() === f1());
-assertTrue(f2() === f2());
-assertTrue(f3() === f3());
-assertTrue(f4() === f4());
diff --git a/src/3rdparty/v8/test/mjsunit/bit-not.js b/src/3rdparty/v8/test/mjsunit/bit-not.js
deleted file mode 100644
index d0316a7..0000000
--- a/src/3rdparty/v8/test/mjsunit/bit-not.js
+++ /dev/null
@@ -1,77 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function testBitNot(x, name) {
- // The VM constant folds so we use that to check the result.
- var expected = eval("~(" + x + ")");
- var actual = ~x;
- assertEquals(expected, actual, "x: " + name);
-
- // Test the path where we can overwrite the result. Use -
- // to avoid concatenating strings.
- expected = eval("~(" + x + " - 0.01)");
- actual = ~(x - 0.01);
- assertEquals(expected, actual, "x - 0.01: " + name);
-}
-
-
-testBitNot(0, 0);
-testBitNot(1, 1);
-testBitNot(-1, 1);
-testBitNot(100, 100);
-testBitNot(0x40000000, "0x40000000");
-testBitNot(0x7fffffff, "0x7fffffff");
-testBitNot(0x80000000, "0x80000000");
-
-testBitNot(2.2, 2.2);
-testBitNot(-2.3, -2.3);
-testBitNot(Infinity, "Infinity");
-testBitNot(NaN, "NaN");
-testBitNot(-Infinity, "-Infinity");
-testBitNot(0x40000000 + 0.12345, "float1");
-testBitNot(0x40000000 - 0.12345, "float2");
-testBitNot(0x7fffffff + 0.12345, "float3");
-testBitNot(0x7fffffff - 0.12345, "float4");
-testBitNot(0x80000000 + 0.12345, "float5");
-testBitNot(0x80000000 - 0.12345, "float6");
-
-testBitNot("0", "string0");
-testBitNot("2.3", "string2.3");
-testBitNot("-9.4", "string-9.4");
-
-
-// Try to test that we can deal with allocation failures in
-// the fast path and just use the slow path instead.
-function TryToGC() {
- var x = 0x40000000;
- // Put in an eval to foil Crankshaft.
- eval("");
- for (var i = 0; i < 1000000; i++) {
- assertEquals(~0x40000000, ~x);
- }
-}
-TryToGC();
diff --git a/src/3rdparty/v8/test/mjsunit/bitops-info.js b/src/3rdparty/v8/test/mjsunit/bitops-info.js
deleted file mode 100644
index 4b114c5..0000000
--- a/src/3rdparty/v8/test/mjsunit/bitops-info.js
+++ /dev/null
@@ -1,83 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function non_int32() {
- return 2600822924; // It's not a signed Int32.
-}
-
-function hidden_smi() {
- return 46512102; // It's a Smi
-}
-
-function hidden_int32() {
- return 1600822924; // It's a signed Int32.
-}
-
-function f() {
- var x = non_int32(); // Not a constant.
- var y = hidden_smi(); // Not a constant.
- var z = hidden_int32();
- assertEquals(46512102 & 2600822924, 46512102 & x, "1");
- assertEquals(1600822924 & 2600822924, 1600822924 & x, "2");
- assertEquals(2600822924 & 2600822924, 2600822924 & x, "3");
- assertEquals(46512102 & 46512102, 46512102 & y, "4");
- assertEquals(1600822924 & 46512102, 1600822924 & y, "5");
- assertEquals(2600822924 & 46512102, 2600822924 & y, "6");
- assertEquals(46512102 & 1600822924, 46512102 & z, "7");
- assertEquals(1600822924 & 1600822924, 1600822924 & z, "8");
- assertEquals(2600822924 & 1600822924, 2600822924 & z, "9");
- assertEquals(46512102 & 2600822924, y & x, "10");
- assertEquals(1600822924 & 2600822924, z & x, "11");
-
- assertEquals(46512102 & 2600822924, x & 46512102, "1rev");
- assertEquals(1600822924 & 2600822924, x & 1600822924, "2rev");
- assertEquals(2600822924 & 2600822924, x & 2600822924, "3rev");
- assertEquals(46512102 & 46512102, y & 46512102, "4rev");
- assertEquals(1600822924 & 46512102, y & 1600822924, "5rev");
- assertEquals(2600822924 & 46512102, y & 2600822924, "6rev");
- assertEquals(46512102 & 1600822924, z & 46512102, "7rev");
- assertEquals(1600822924 & 1600822924, z & 1600822924, "8rev");
- assertEquals(2600822924 & 1600822924, z & 2600822924, "9rev");
- assertEquals(46512102 & 2600822924, x & y, "10rev");
- assertEquals(1600822924 & 2600822924, x & z, "11rev");
-
- assertEquals((46512102 & -0x20123456) | 1, (y & -0x20123456) | 1, "12");
- assertEquals((1600822924 & -0x20123456) | 1, (z & -0x20123456) | 1, "13");
- assertEquals((2600822924 & -0x20123456) | 1, (x & -0x20123456) | 1, "14");
- assertEquals((46512102 & -0x20123456) | 1, (-0x20123456 & y) | 1, "12rev");
- assertEquals((1600822924 & -0x20123456) | 1, (-0x20123456 & z) | 1, "13rev");
- assertEquals((2600822924 & -0x20123456) | 1, (-0x20123456 & x) | 1, "14rev");
-
- assertEquals(2600822924 & 2600822924, x & x, "xx");
- assertEquals(y, y & y, "yy");
- assertEquals(z, z & z, "zz");
-}
-
-
-for (var i = 0; i < 5; i++) {
- f();
-}
diff --git a/src/3rdparty/v8/test/mjsunit/bitwise-operations-undefined.js b/src/3rdparty/v8/test/mjsunit/bitwise-operations-undefined.js
deleted file mode 100644
index 716e52d..0000000
--- a/src/3rdparty/v8/test/mjsunit/bitwise-operations-undefined.js
+++ /dev/null
@@ -1,49 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test bitwise operations with undefined.
-
-function testUndefinedLeftHandSide() {
- assertEquals(undefined | 1, 1);
- assertEquals(undefined & 1, 0);
- assertEquals(undefined ^ 1, 1);
- assertEquals(undefined << 1, 0);
- assertEquals(undefined >> 1, 0);
- assertEquals(undefined >>> 1, 0);
-}
-
-function testUndefinedRightHandSide() {
- assertEquals(1 | undefined, 1);
- assertEquals(1 & undefined, 0);
- assertEquals(1 ^ undefined, 1);
- assertEquals(1 << undefined, 1);
- assertEquals(1 >> undefined, 1);
- assertEquals(1 >>> undefined, 1);
-}
-
-testUndefinedLeftHandSide();
-testUndefinedRightHandSide();
diff --git a/src/3rdparty/v8/test/mjsunit/body-not-visible.js b/src/3rdparty/v8/test/mjsunit/body-not-visible.js
deleted file mode 100644
index c681ab3..0000000
--- a/src/3rdparty/v8/test/mjsunit/body-not-visible.js
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Make sure we cannot see the local variables in NewFunction when
-// compiling functions using new Function().
-
-var caught = false;
-try {
- (new Function("return body;"))();
- assertTrue(false);
-} catch (e) {
- caught = true;
- assertTrue(e instanceof ReferenceError);
-}
-assertTrue(caught);
diff --git a/src/3rdparty/v8/test/mjsunit/boolean.js b/src/3rdparty/v8/test/mjsunit/boolean.js
deleted file mode 100644
index d955855..0000000
--- a/src/3rdparty/v8/test/mjsunit/boolean.js
+++ /dev/null
@@ -1,74 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-assertEquals(Boolean(void 0), false);
-assertEquals(Boolean(null), false);
-assertEquals(Boolean(false), false);
-assertEquals(Boolean(true), true);
-assertEquals(Boolean(0), false);
-assertEquals(Boolean(1), true);
-assertEquals(Boolean(assertEquals), true);
-assertEquals(Boolean(new Object()), true);
-assertTrue(new Boolean(false) !== false);
-assertTrue(new Boolean(false) == false);
-assertTrue(new Boolean(true) !== true);
-assertTrue(new Boolean(true) == true);
-
-assertEquals(true, !false);
-assertEquals(false, !true);
-assertEquals(true, !!true);
-assertEquals(false, !!false);
-
-assertEquals(true, true ? true : false);
-assertEquals(false, false ? true : false);
-
-assertEquals(false, true ? false : true);
-assertEquals(true, false ? false : true);
-
-
-assertEquals(true, true && true);
-assertEquals(false, true && false);
-assertEquals(false, false && true);
-assertEquals(false, false && false);
-
-// Regression.
-var t = 42;
-assertEquals(void 0, t.p);
-assertEquals(void 0, t.p && true);
-assertEquals(void 0, t.p && false);
-assertEquals(void 0, t.p && (t.p == 0));
-assertEquals(void 0, t.p && (t.p == null));
-assertEquals(void 0, t.p && (t.p == t.p));
-
-var o = new Object();
-o.p = 'foo';
-assertEquals('foo', o.p);
-assertEquals('foo', o.p || true);
-assertEquals('foo', o.p || false);
-assertEquals('foo', o.p || (o.p == 0));
-assertEquals('foo', o.p || (o.p == null));
-assertEquals('foo', o.p || (o.p == o.p));
diff --git a/src/3rdparty/v8/test/mjsunit/break.js b/src/3rdparty/v8/test/mjsunit/break.js
deleted file mode 100644
index 741263d..0000000
--- a/src/3rdparty/v8/test/mjsunit/break.js
+++ /dev/null
@@ -1,76 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function f() {
- var i = 10;
- var c = 0;
- while (i-- > 0) {
- c++;
- if (i == 5) ;
- }
- assertEquals(10, c);
-}
-f();
-
-
-function f2() {
- var i = 10;
- var c = 0;
- while (i-- > 0) {
- c++;
- if (i == 5) break;
- }
- assertEquals(5, c);
-}
-f2();
-
-
-function f3() {
- var i = 10;
- var c = 0;
- outer: while (i-- > 0) {
- var j = 10;
- inner1: inner2: inner3: while (j-- > 0) {
- c++;
- if (i == 8)
- break inner2;
- if (i == 6)
- break outer;
- }
- }
- assertEquals(22, c);
-}
-f3();
-
-outer2: {
- break outer2;
- assertUnreachable();
-}
-
-
-outer3: break outer3; // nop
-l1: l2: l3: break l2; // nop
diff --git a/src/3rdparty/v8/test/mjsunit/bugs/618.js b/src/3rdparty/v8/test/mjsunit/bugs/618.js
deleted file mode 100644
index ddc0c19..0000000
--- a/src/3rdparty/v8/test/mjsunit/bugs/618.js
+++ /dev/null
@@ -1,86 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Simple class using inline constructor.
-function C1() {
- this.x = 23;
-};
-var c1 = new C1();
-assertEquals(23, c1.x);
-assertEquals("undefined", typeof c1.y);
-
-// Add setter somewhere on the prototype chain after having constructed the
-// first instance.
-C1.prototype = { set x(value) { this.y = 23; } };
-var c1 = new C1();
-assertEquals("undefined", typeof c1.x);
-assertEquals(23, c1.y);
-
-// Simple class using inline constructor.
-function C2() {
- this.x = 23;
-};
-var c2 = new C2();
-assertEquals(23, c2.x);
-assertEquals("undefined", typeof c2.y);
-
-// Add setter somewhere on the prototype chain after having constructed the
-// first instance.
-C2.prototype.__proto__ = { set x(value) { this.y = 23; } };
-var c2 = new C2();
-assertEquals("undefined", typeof c2.x);
-assertEquals(23, c2.y);
-
-// Simple class using inline constructor.
-function C3() {
- this.x = 23;
-};
-var c3 = new C3();
-assertEquals(23, c3.x);
-assertEquals("undefined", typeof c3.y);
-
-// Add setter somewhere on the prototype chain after having constructed the
-// first instance.
-C3.prototype.__defineSetter__('x', function(value) { this.y = 23; });
-var c3 = new C3();
-assertEquals("undefined", typeof c3.x);
-assertEquals(23, c3.y);
-
-// Simple class using inline constructor.
-function C4() {
- this.x = 23;
-};
-var c4 = new C4();
-assertEquals(23, c4.x);
-assertEquals("undefined", typeof c4.y);
-
-// Add setter somewhere on the prototype chain after having constructed the
-// first instance.
-C4.prototype.__proto__.__defineSetter__('x', function(value) { this.y = 23; });
-var c4 = new C4();
-assertEquals("undefined", typeof c4.x);
-assertEquals(23, c4.y);
diff --git a/src/3rdparty/v8/test/mjsunit/bugs/bug-1344252.js b/src/3rdparty/v8/test/mjsunit/bugs/bug-1344252.js
deleted file mode 100644
index 1723834..0000000
--- a/src/3rdparty/v8/test/mjsunit/bugs/bug-1344252.js
+++ /dev/null
@@ -1,79 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that setter accessors added to the prototype chain are called
-// when setting properties.
-
-// Test that accessors added to the prototype chain are called
-// eventhough there are inline caches for setting the property
-
-function F() {
- this.x = 42;
- this.y = 87;
-}
-
-// Force the inline caches to monomorphic state.
-new F(); new F();
-
-// Add a setter for x to Object.prototype and make sure it gets
-// called.
-var result_x;
-Object.prototype.__defineSetter__('x', function(value) { result_x = value; });
-var f = new F();
-assertEquals(42, result_x);
-assertTrue(typeof f.x == 'undefined');
-
-// Add a setter for y by changing the prototype of f and make sure
-// that gets called too.
-var result_y;
-var proto = new Object();
-proto.__defineSetter__('y', function (value) { result_y = value; });
-var f = new F();
-f.y = undefined;
-f.__proto__ = proto;
-F.call(f);
-assertEquals(87, result_y);
-assertTrue(typeof f.y == 'undefined');
-
-
-// Test the same issue in the runtime system. Make sure that
-// accessors added to the prototype chain are called instead of
-// following map transitions.
-//
-// Create two objects.
-var result_z;
-var o1 = new Object();
-var o2 = new Object();
-// Add a z property to o1 to create a map transition.
-o1.z = 32;
-// Add a z accessor in the prototype chain for o1 and o2.
-Object.prototype.__defineSetter__('z', function(value) { result_z = value; });
-// The accessor should be called for o2.
-o2.z = 27;
-assertEquals(27, result_z);
-assertTrue(typeof o2.z == 'undefined');
-
diff --git a/src/3rdparty/v8/test/mjsunit/bugs/bug-222.js b/src/3rdparty/v8/test/mjsunit/bugs/bug-222.js
deleted file mode 100644
index 0df7dd6..0000000
--- a/src/3rdparty/v8/test/mjsunit/bugs/bug-222.js
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function Foo(a, b) { }
-Foo();
-var oldArgs = Foo.arguments;
-Foo();
-var newArgs = Foo.arguments
-
-assertTrue(oldArgs !== newArgs);
-
-// Don't allow arguments to be overwritten.
-Foo.arguments = oldArgs;
-assertEquals(Foo.arguments, newArgs);
-
-// Don't allow arguments to be deleted.
-assertFalse(delete Foo.arguments);
-assertEquals(Foo.arguments, newArgs);
diff --git a/src/3rdparty/v8/test/mjsunit/bugs/bug-2337.js b/src/3rdparty/v8/test/mjsunit/bugs/bug-2337.js
deleted file mode 100644
index ebf7621..0000000
--- a/src/3rdparty/v8/test/mjsunit/bugs/bug-2337.js
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug --expose-gc
-
-// If one callback causes a GC then the other callbacks don't take place.
-
-var f = eval("(function f() { return 42; })");
-var f2 = eval("(function f2() { return 43; })");
-
-Debug = debug.Debug;
-
-var called = 0;
-
-function listener(event, exec_state, event_data, data) {
- if (event == Debug.DebugEvent.ScriptCollected) {
- if (called != 2) {
- called++;
- gc();
- }
- }
-};
-
-Debug.scripts();
-Debug.setListener(listener);
-f = void 0;
-f2 = void 0;
-gc();
-assertTrue(called == 2);
diff --git a/src/3rdparty/v8/test/mjsunit/bugs/bug-617.js b/src/3rdparty/v8/test/mjsunit/bugs/bug-617.js
deleted file mode 100644
index f69d4ad..0000000
--- a/src/3rdparty/v8/test/mjsunit/bugs/bug-617.js
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// See http://code.google.com/p/v8/issues/detail?id=617 comment 5
-
-var got_here = 0;
-
-function make_sure_we_dont_get_here() {
- got_here = 1;
-}
-
-RegExp.prototype.exec = make_sure_we_dont_get_here;
-
-var re = /foo/;
-
-re.exec = make_sure_we_dont_get_here;
-
-re("foo");
-
-assertEquals(got_here, 0);
diff --git a/src/3rdparty/v8/test/mjsunit/bugs/bug-618.js b/src/3rdparty/v8/test/mjsunit/bugs/bug-618.js
deleted file mode 100644
index 0513f87..0000000
--- a/src/3rdparty/v8/test/mjsunit/bugs/bug-618.js
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// When this bug is corrected move to object-define-property and add
-// additional tests for configurable in the same manner as existing tests
-// there.
-
-function C() {
- this.x = 23;
-}
-
-// If a setter is added to the prototype chain of a simple constructor setting
-// one of the properties assigned in the constructor then this setter is
-// ignored when constructing new objects from the constructor.
-
-// This only happens if the setter is added _after_ an instance has been
-// created.
-
-assertEquals(23, new C().x);
-C.prototype.__defineSetter__('x', function(value) { this.y = 23; });
-assertEquals(void 0, new C().x);
diff --git a/src/3rdparty/v8/test/mjsunit/bugs/bug-941049.js b/src/3rdparty/v8/test/mjsunit/bugs/bug-941049.js
deleted file mode 100644
index f68c37a..0000000
--- a/src/3rdparty/v8/test/mjsunit/bugs/bug-941049.js
+++ /dev/null
@@ -1,100 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// This test fails because we copy the arguments array on indirect
-// access
-
-function g(f) {
- assertEquals(100, f.arguments = 100); // read-only
- assertEquals(3, f.arguments.length);
- assertEquals(1, f.arguments[0]);
- assertEquals(2, f.arguments[1]);
- assertEquals(3, f.arguments[2]);
- f.arguments[0] = 999;
- f.arguments.extra = 'kallevip';
-}
-
-function h(f) {
- assertEquals('kallevip', f.arguments.extra);
- return f.arguments;
-}
-
-// Test function with a materialized arguments array.
-function f0() {
- g(f0);
- var result = h(f0);
- var a = arguments;
- assertEquals(999, a[0]);
- return result;
-}
-
-
-// Test function without a materialized arguments array.
-function f1(x) {
- g(f1);
- var result = h(f1);
- assertEquals(999, x);
- return result;
-}
-
-
-function test(f) {
- assertTrue(null === f.arguments);
- var args = f(1,2,3);
- assertTrue(null === f.arguments);
-
- assertEquals(3, args.length);
- assertEquals(999, args[0]);
- assertEquals(2, args[1]);
- assertEquals(3, args[2]);
- assertEquals('kallevip', args.extra);
-}
-
-test(f0);
-test(f1);
-
-
-
-
-function w() {
- return q.arguments;
-}
-
-function q(x, y) {
- x = 2;
- var result = w();
- y = 3;
- return result;
-}
-
-var a = q(0, 1);
-// x is set locally *before* the last use of arguments before the
-// activation of q is popped from the stack.
-assertEquals(2, a[0]);
-// y is set locally *after* the last use of arguments before the
-// activation of q is popped from the stack.
-assertEquals(1, a[1]);
diff --git a/src/3rdparty/v8/test/mjsunit/bugs/harmony/debug-blockscopes.js b/src/3rdparty/v8/test/mjsunit/bugs/harmony/debug-blockscopes.js
deleted file mode 100644
index fda32eb..0000000
--- a/src/3rdparty/v8/test/mjsunit/bugs/harmony/debug-blockscopes.js
+++ /dev/null
@@ -1,224 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug --harmony-scoping
-// The functions used for testing backtraces. They are at the top to make the
-// testing of source line/column easier.
-
-
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug;
-
-var test_name;
-var listener_delegate;
-var listener_called;
-var exception;
-var begin_test_count = 0;
-var end_test_count = 0;
-var break_count = 0;
-
-
-// Debug event listener which delegates.
-function listener(event, exec_state, event_data, data) {
- try {
- if (event == Debug.DebugEvent.Break) {
- break_count++;
- listener_called = true;
- listener_delegate(exec_state);
- }
- } catch (e) {
- exception = e;
- }
-}
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-
-// Initialize for a new test.
-function BeginTest(name) {
- test_name = name;
- listener_delegate = null;
- listener_called = false;
- exception = null;
- begin_test_count++;
-}
-
-
-// Check result of a test.
-function EndTest() {
- assertTrue(listener_called, "listerner not called for " + test_name);
- assertNull(exception, test_name);
- end_test_count++;
-}
-
-
-// Check that the scope chain contains the expected types of scopes.
-function CheckScopeChain(scopes, exec_state) {
- assertEquals(scopes.length, exec_state.frame().scopeCount());
- for (var i = 0; i < scopes.length; i++) {
- var scope = exec_state.frame().scope(i);
- assertTrue(scope.isScope());
- assertEquals(scopes[i], scope.scopeType());
-
- // Check the global object when hitting the global scope.
- if (scopes[i] == debug.ScopeType.Global) {
- // Objects don't have same class (one is "global", other is "Object",
- // so just check the properties directly.
- assertPropertiesEqual(this, scope.scopeObject().value());
- }
- }
-
- // Get the debug command processor.
- var dcp = exec_state.debugCommandProcessor("unspecified_running_state");
-
- // Send a scopes request and check the result.
- var json;
- var request_json = '{"seq":0,"type":"request","command":"scopes"}';
- var response_json = dcp.processDebugJSONRequest(request_json);
- var response = JSON.parse(response_json);
- assertEquals(scopes.length, response.body.scopes.length);
- for (var i = 0; i < scopes.length; i++) {
- assertEquals(i, response.body.scopes[i].index);
- assertEquals(scopes[i], response.body.scopes[i].type);
- if (scopes[i] == debug.ScopeType.Local ||
- scopes[i] == debug.ScopeType.Closure) {
- assertTrue(response.body.scopes[i].object.ref < 0);
- } else {
- assertTrue(response.body.scopes[i].object.ref >= 0);
- }
- var found = false;
- for (var j = 0; j < response.refs.length && !found; j++) {
- found = response.refs[j].handle == response.body.scopes[i].object.ref;
- }
- assertTrue(found, "Scope object " + response.body.scopes[i].object.ref + " not found");
- }
-}
-
-// Check that the content of the scope is as expected. For functions just check
-// that there is a function.
-function CheckScopeContent(content, number, exec_state) {
- var scope = exec_state.frame().scope(number);
- var count = 0;
- for (var p in content) {
- var property_mirror = scope.scopeObject().property(p);
- if (property_mirror.isUndefined()) {
- print('property ' + p + ' not found in scope');
- }
- assertFalse(property_mirror.isUndefined(), 'property ' + p + ' not found in scope');
- if (typeof(content[p]) === 'function') {
- assertTrue(property_mirror.value().isFunction());
- } else {
- assertEquals(content[p], property_mirror.value().value(), 'property ' + p + ' has unexpected value');
- }
- count++;
- }
-
- // 'arguments' and might be exposed in the local and closure scope. Just
- // ignore this.
- var scope_size = scope.scopeObject().properties().length;
- if (!scope.scopeObject().property('arguments').isUndefined()) {
- scope_size--;
- }
- // Also ignore synthetic variable from catch block.
- if (!scope.scopeObject().property('.catch-var').isUndefined()) {
- scope_size--;
- }
- // Skip property with empty name.
- if (!scope.scopeObject().property('').isUndefined()) {
- scope_size--;
- }
- // Also ignore synthetic variable from block scopes.
- if (!scope.scopeObject().property('.block').isUndefined()) {
- scope_size--;
- }
-
- if (count != scope_size) {
- print('Names found in scope:');
- var names = scope.scopeObject().propertyNames();
- for (var i = 0; i < names.length; i++) {
- print(names[i]);
- }
- }
- assertEquals(count, scope_size);
-
- // Get the debug command processor.
- var dcp = exec_state.debugCommandProcessor("unspecified_running_state");
-
- // Send a scope request for information on a single scope and check the
- // result.
- var request_json = '{"seq":0,"type":"request","command":"scope","arguments":{"number":';
- request_json += scope.scopeIndex();
- request_json += '}}';
- var response_json = dcp.processDebugJSONRequest(request_json);
- var response = JSON.parse(response_json);
- assertEquals(scope.scopeType(), response.body.type);
- assertEquals(number, response.body.index);
- if (scope.scopeType() == debug.ScopeType.Local ||
- scope.scopeType() == debug.ScopeType.Closure) {
- assertTrue(response.body.object.ref < 0);
- } else {
- assertTrue(response.body.object.ref >= 0);
- }
- var found = false;
- for (var i = 0; i < response.refs.length && !found; i++) {
- found = response.refs[i].handle == response.body.object.ref;
- }
- assertTrue(found, "Scope object " + response.body.object.ref + " not found");
-}
-
-
-// Simple closure formed by returning an inner function referering to an outer
-// block local variable and an outer function's parameter. Due to VM
-// optimizations parts of the actual closure is missing from the debugger
-// information.
-BeginTest("Closure 1");
-
-function closure_1(a) {
- var x = 2;
- let y = 3;
- if (true) {
- let z = 4;
- function f() {
- debugger;
- return a + x + y + z;
- };
- return f;
- }
-}
-
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.Local,
- debug.ScopeType.Block,
- debug.ScopeType.Closure,
- debug.ScopeType.Global], exec_state);
- CheckScopeContent({}, 0, exec_state);
- CheckScopeContent({z:4}, 1, exec_state);
- CheckScopeContent({a:1,x:2,y:3}, 2, exec_state);
-};
-closure_1(1)();
-EndTest();
diff --git a/src/3rdparty/v8/test/mjsunit/builtins.js b/src/3rdparty/v8/test/mjsunit/builtins.js
deleted file mode 100644
index 062cfd5..0000000
--- a/src/3rdparty/v8/test/mjsunit/builtins.js
+++ /dev/null
@@ -1,79 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-natives-as=builtins
-
-// Checks that all function properties of the builtin object that are actually
-// constructors (recognized by having properties on their .prototype object),
-// have only unconfigurable properties on the prototype, and the methods
-// are also non-writable.
-
-var names = Object.getOwnPropertyNames(builtins);
-
-function isFunction(obj) {
- return typeof obj == "function";
-}
-
-function checkConstructor(func, name) {
- // A constructor is a function with a prototype and properties on the
- // prototype object besides "constructor";
- if (name.charAt(0) == "$") return;
- if (typeof func.prototype != "object") return;
- var propNames = Object.getOwnPropertyNames(func.prototype);
- if (propNames.length == 0 ||
- (propNames.length == 1 && propNames[0] == "constructor")) {
- // Not a constructor.
- return;
- }
- var proto_desc = Object.getOwnPropertyDescriptor(func, "prototype");
- assertTrue(proto_desc.hasOwnProperty("value"), name);
- assertFalse(proto_desc.writable, name);
- assertFalse(proto_desc.configurable, name);
- var prototype = proto_desc.value;
- assertEquals(null, Object.getPrototypeOf(prototype), name);
- for (var i = 0; i < propNames.length; i++) {
- var propName = propNames[i];
- if (propName == "constructor") continue;
- var testName = name + "-" + propName;
- var propDesc = Object.getOwnPropertyDescriptor(prototype, propName);
- assertTrue(propDesc.hasOwnProperty("value"), testName);
- assertFalse(propDesc.configurable, testName);
- if (isFunction(propDesc.value)) {
- assertFalse(propDesc.writable, testName);
- }
- }
-}
-
-for (var i = 0; i < names.length; i++) {
- var name = names[i];
- var desc = Object.getOwnPropertyDescriptor(builtins, name);
- assertTrue(desc.hasOwnProperty("value"));
- var value = desc.value;
- if (isFunction(value)) {
- checkConstructor(value, name);
- }
-}
diff --git a/src/3rdparty/v8/test/mjsunit/call-non-function-call.js b/src/3rdparty/v8/test/mjsunit/call-non-function-call.js
deleted file mode 100644
index 6088fc3..0000000
--- a/src/3rdparty/v8/test/mjsunit/call-non-function-call.js
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Throw exception when invoking Function.prototype.call with a
-// non-function receiver.
-var caught = false;
-try {
- Function.prototype.call.call({});
- assertTrue(false);
-} catch (e) {
- caught = true;
- assertTrue(e instanceof TypeError);
-}
-assertTrue(caught);
diff --git a/src/3rdparty/v8/test/mjsunit/call-non-function.js b/src/3rdparty/v8/test/mjsunit/call-non-function.js
deleted file mode 100644
index 9fe3b0f..0000000
--- a/src/3rdparty/v8/test/mjsunit/call-non-function.js
+++ /dev/null
@@ -1,63 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function TryCall(x) {
- var caught = [];
- try {
- x();
- } catch (e) {
- caught.push(e);
- }
-
- try {
- new x();
- } catch (e) {
- caught.push(e);
- }
-
- assertTrue(caught[0] instanceof TypeError);
- assertTrue(caught[1] instanceof TypeError);
-};
-
-
-TryCall(this);
-TryCall(Math);
-TryCall(true);
-TryCall(1234);
-TryCall("hest");
-
-
-// Make sure that calling a non-function global doesn't crash the
-// system while building the IC for it.
-var NonFunction = 42;
-function WillThrow() {
- NonFunction();
-}
-assertThrows(WillThrow);
-assertThrows(WillThrow);
-assertThrows(WillThrow);
-assertThrows(WillThrow);
diff --git a/src/3rdparty/v8/test/mjsunit/call-stub.js b/src/3rdparty/v8/test/mjsunit/call-stub.js
deleted file mode 100644
index 9d11649..0000000
--- a/src/3rdparty/v8/test/mjsunit/call-stub.js
+++ /dev/null
@@ -1,66 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function Hash() {
- for (var i = 0; i < 100; i++) {
- this['a' + i] = i;
- }
-
- delete this.a50; // Ensure it's a normal object.
-}
-
-Hash.prototype.m = function() {
- return 1;
-};
-
-var h = new Hash();
-
-for (var i = 1; i < 100; i++) {
- if (i == 50) {
- h.m = function() {
- return 2;
- };
- } else if (i == 70) {
- delete h.m;
- }
- assertEquals(i < 50 || i >= 70 ? 1 : 2, h.m());
-}
-
-
-var nonsymbol = 'wwwww '.split(' ')[0];
-Hash.prototype.wwwww = Hash.prototype.m;
-
-for (var i = 1; i < 100; i++) {
- if (i == 50) {
- h[nonsymbol] = function() {
- return 2;
- };
- } else if (i == 70) {
- delete h[nonsymbol];
- }
- assertEquals(i < 50 || i >= 70 ? 1 : 2, h.wwwww());
-}
diff --git a/src/3rdparty/v8/test/mjsunit/call.js b/src/3rdparty/v8/test/mjsunit/call.js
deleted file mode 100644
index b873d7d..0000000
--- a/src/3rdparty/v8/test/mjsunit/call.js
+++ /dev/null
@@ -1,87 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function f0() {
- return this;
-}
-
-assertTrue(this === f0.call(), "1");
-
-assertTrue(this === f0.call(this), "w");
-assertTrue(this === f0.call(this, 1), "w");
-assertTrue(this === f0.call(this, 1, 2), "w");
-
-assertTrue(this === f0.call(null), "3a");
-assertTrue(this === f0.call(null, 1), "3b");
-assertTrue(this === f0.call(null, 1, 2), "3c");
-
-assertTrue(this === f0.call(void 0), "4a");
-assertTrue(this === f0.call(void 0, 1), "4b");
-assertTrue(this === f0.call(void 0, 1, 2), "4c");
-
-var x = {};
-assertTrue(x === f0.call(x));
-assertTrue(x === f0.call(x, 1));
-assertTrue(x === f0.call(x, 1, 2));
-
-
-function f1(a) {
- a = a || 'i';
- return this[a];
-}
-
-assertEquals(1, f1.call({i:1}));
-assertEquals(42, f1.call({i:42}, 'i'));
-assertEquals(87, f1.call({j:87}, 'j', 1));
-assertEquals(99, f1.call({k:99}, 'k', 1, 2));
-
-
-function f2(a, b) {
- a = a || 'n';
- b = b || 2;
- return this[a] + b;
-}
-
-var x = {n: 1};
-assertEquals(3, f2.call(x));
-assertEquals(14, f2.call({i:12}, 'i'));
-assertEquals(42, f2.call(x, 'n', 41));
-assertEquals(87, f2.call(x, 'n', 86, 1));
-assertEquals(99, f2.call(x, 'n', 98, 1, 2));
-
-
-function fn() {
- return arguments.length;
-}
-
-assertEquals(0, fn.call());
-assertEquals(0, fn.call(this));
-assertEquals(0, fn.call(null));
-assertEquals(0, fn.call(void 0));
-assertEquals(1, fn.call(this, 1));
-assertEquals(2, fn.call(this, 1, 2));
-assertEquals(3, fn.call(this, 1, 2, 3));
diff --git a/src/3rdparty/v8/test/mjsunit/char-escape.js b/src/3rdparty/v8/test/mjsunit/char-escape.js
deleted file mode 100644
index a1b3429..0000000
--- a/src/3rdparty/v8/test/mjsunit/char-escape.js
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Check that character escapes are understood as one char
-var escapes = ["\b", "\t", "\n", "\v", "\f", "\r", "\"", "\'", "\\", "\x4a", "\u005f"];
-for (var i = 0; i < escapes.length; i++) {
- var str = escapes[i];
- assertEquals(1, str.length);
- assertEquals(str, str.charAt(0));
-}
-
-function code(str) {
- return str.charCodeAt(0);
-}
-
-// Do the single escape chars have the right value?
-assertEquals(0x08, code("\b"));
-assertEquals(0x09, code("\t"));
-assertEquals(0x0A, code("\n"));
-assertEquals(0x0B, code("\v"));
-assertEquals(0x0C, code("\f"));
-assertEquals(0x0D, code("\r"));
-assertEquals(0x22, code("\""));
-assertEquals(0x27, code("\'"));
-assertEquals(0x5c, code("\\"));
-
-// Do the hex and unicode escape chars have the right value?
-assertEquals(0x4a, code("\x4a"));
-assertEquals(0x5f, code("\u005f"));
diff --git a/src/3rdparty/v8/test/mjsunit/class-of-builtins.js b/src/3rdparty/v8/test/mjsunit/class-of-builtins.js
deleted file mode 100644
index 59fefff..0000000
--- a/src/3rdparty/v8/test/mjsunit/class-of-builtins.js
+++ /dev/null
@@ -1,50 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// The [[Class]] property of (instances of) builtin functions must be
-// correctly set.
-var funs = {
- Object: [ Object ],
- Function: [ Function ],
- Array: [ Array ],
- String: [ String ],
- Boolean: [ Boolean ],
- Number: [ Number ],
- Date: [ Date ],
- RegExp: [ RegExp ],
- Error: [ Error, TypeError, RangeError, SyntaxError, ReferenceError, EvalError, URIError ]
-}
-for (f in funs) {
- for (i in funs[f]) {
- assertEquals("[object " + f + "]",
- Object.prototype.toString.call(new funs[f][i]),
- funs[f][i]);
- assertEquals("[object Function]",
- Object.prototype.toString.call(funs[f][i]),
- funs[f][i]);
- }
-}
diff --git a/src/3rdparty/v8/test/mjsunit/closure.js b/src/3rdparty/v8/test/mjsunit/closure.js
deleted file mode 100644
index b1460d3..0000000
--- a/src/3rdparty/v8/test/mjsunit/closure.js
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// This test is lifted an old bug (ic_context_bug.js).
-
-function f(n) {
- return function () { return n; }
-}
-
-for (var i = 0; i < 10; i++) {
- var a = f(i);
- assertEquals(i, a());
-}
diff --git a/src/3rdparty/v8/test/mjsunit/closures.js b/src/3rdparty/v8/test/mjsunit/closures.js
deleted file mode 100644
index 7c11971..0000000
--- a/src/3rdparty/v8/test/mjsunit/closures.js
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-function runner(f, expected) {
- assertEquals(expected, f.call(this));
-}
-
-function test(n) {
- function MyFunction() {
- var result = n * 2 + arguments.length;
- return result;
- }
- for (var i = 0; i < 5; ++i) MyFunction();
- %OptimizeFunctionOnNextCall(MyFunction)
- runner(MyFunction, n * 2);
-}
-
-test(1);
-test(42);
-test(239);
-
diff --git a/src/3rdparty/v8/test/mjsunit/codegen-coverage.js b/src/3rdparty/v8/test/mjsunit/codegen-coverage.js
deleted file mode 100644
index cd53863..0000000
--- a/src/3rdparty/v8/test/mjsunit/codegen-coverage.js
+++ /dev/null
@@ -1,148 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test paths in the code generator where values in specific registers
-// get moved around.
-function identity(x) {
- return x;
-}
-
-function lookup(w, a) {
- // This function tests a code path in the generation of a keyed load IC
- // where the key and the value are both in the same register.
- a = a;
- w[a] = a;
-}
-
-function cover_codegen_paths() {
- var x = 1;
-
- // This test depends on the fixed order of register allocation. We try to
- // get values in specific registers (ia32, x64):
- var a; // Register eax, rax.
- var b; // Register ebx, rbx.
- var c; // Register ecx, rcx.
- var d; // Register edx, rdx.
- var di; // Register edi, rdi.
-
- while (x == 1) {
- // The call will spill registers and leave x in {eax,rax}.
- x = identity(1);
- // The add will spill x and reuse {eax,rax} for the result.
- a = x + 1;
- // A fresh register {ebx,rbx} will be allocated for x, then reused for
- // the result.
- b = x + 1;
- // Et cetera.
- c = x + 1;
- d = x + 1;
- di = x + 1;
- // Locals are in the corresponding registers here.
- assertEquals(8, c << a);
-
- x = identity(1);
- a = x + 1;
- b = x + 1;
- c = x + 1;
- d = x + 1;
- di = x + 1;
- assertEquals(8, a << c);
-
- x = identity(1);
- a = x + 1;
- b = x + 1;
- c = x + 1;
- d = x + 1;
- di = x + 1;
- c = 0; // Free register ecx.
- assertEquals(8, a << d);
-
- x = identity(1);
- a = x + 1;
- b = x + 1;
- c = x + 1;
- d = x + 1;
- di = x + 1;
- b = 0; // Free register ebx.
- assertEquals(8, a << d);
-
- // Test the non-commutative subtraction operation with a smi on the
- // left, all available registers on the right, and a non-smi result.
- x = identity(-1073741824); // Least (31-bit) smi.
- a = x + 1; // Still a smi, the greatest smi negated.
- b = x + 1;
- c = x + 1;
- d = x + 1;
- di = x + 1;
- // Subtraction should overflow the 31-bit smi range. The result
- // (1073741824) is outside the 31-bit smi range so it doesn't hit the
- // "unsafe smi" code that spills a register.
- assertEquals(1073741824, 1 - a);
-
- x = identity(-1073741824);
- a = x + 1;
- b = x + 1;
- c = x + 1;
- d = x + 1;
- di = x + 1;
- assertEquals(1073741824, 1 - b);
-
- x = identity(-1073741824);
- a = x + 1;
- b = x + 1;
- c = x + 1;
- d = x + 1;
- di = x + 1;
- assertEquals(1073741824, 1 - c);
-
- x = identity(-1073741824);
- a = x + 1;
- b = x + 1;
- c = x + 1;
- d = x + 1;
- di = x + 1;
- assertEquals(1073741824, 1 - d);
-
- x = identity(-1073741824);
- a = x + 1;
- b = x + 1;
- c = x + 1;
- d = x + 1;
- di = x + 1;
- assertEquals(1073741824, 1 - di);
-
- x = 3;
- var w = { };
- lookup(w, x);
- lookup(w, x);
- lookup(w, x);
-
- x = 3; // Terminate while loop.
- }
-}
-
-cover_codegen_paths();
diff --git a/src/3rdparty/v8/test/mjsunit/compare-character.js b/src/3rdparty/v8/test/mjsunit/compare-character.js
deleted file mode 100644
index cabe013..0000000
--- a/src/3rdparty/v8/test/mjsunit/compare-character.js
+++ /dev/null
@@ -1,50 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test the optimized implementation of comparison with single-character
-// strings.
-
-var a = ['', String.fromCharCode(0), ' ', 'e', 'erik', 'f', 'foo', 'g', 'goo',
- -1, 0, 1, 1.2, -7.9, true, false, 'foo', '0', 'NaN' ];
-for (var i in a) {
- var x = a[i];
- var f = 'f';
-
- assertEquals(x == f, x == 'f', "==" + x);
- assertEquals(x === f, x === 'f', "===" + x);
- assertEquals(x < f, x < 'f', "<" + x);
- assertEquals(x <= f, x <= 'f', "<=" + x);
- assertEquals(x > f, x > 'f', ">" + x);
- assertEquals(x >= f, x >= 'f', ">=" + x);
- assertEquals(f == x, 'f' == x, "==r" + x);
- assertEquals(f === x, 'f' === x, "===r" + x);
- assertEquals(f > x, 'f' > x, "<r" + x);
- assertEquals(f >= x, 'f' >= x, "<=r" + x);
- assertEquals(f < x, 'f' < x, ">r" + x);
- assertEquals(f <= x, 'f' <= x, ">=r" + x);
-}
-
diff --git a/src/3rdparty/v8/test/mjsunit/compare-known-objects-slow.js b/src/3rdparty/v8/test/mjsunit/compare-known-objects-slow.js
deleted file mode 100644
index afa198f..0000000
--- a/src/3rdparty/v8/test/mjsunit/compare-known-objects-slow.js
+++ /dev/null
@@ -1,69 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test CompareIC stubs for normal and strict equality comparison of known
-// objects in slow mode. These objects share the same map even though they
-// might have completely different properties.
-
-function eq(a, b) {
- return a == b;
-}
-
-function eq_strict(a, b) {
- return a === b;
-}
-
-function test(a, b) {
- // Check CompareIC for equality of known objects.
- assertTrue(eq(a, a));
- assertTrue(eq(b, b));
- assertFalse(eq(a, b));
- // Check CompareIC for strict equality of known objects.
- assertTrue(eq_strict(a, a));
- assertTrue(eq_strict(b, b));
- assertFalse(eq_strict(a, b));
-}
-
-// Prepare two objects in slow mode that have the same map.
-var obj1 = %OptimizeObjectForAddingMultipleProperties({}, 1);
-var obj2 = %OptimizeObjectForAddingMultipleProperties({}, 1);
-
-// Test original objects.
-assertTrue(%HaveSameMap(obj1, obj2));
-test(obj1, obj2);
-
-// Test after adding property to first object.
-obj1.x = 1;
-assertTrue(%HaveSameMap(obj1, obj2));
-test(obj1, obj2);
-
-// Test after adding property to second object.
-obj2.y = 2;
-assertTrue(%HaveSameMap(obj1, obj2));
-test(obj1, obj2);
diff --git a/src/3rdparty/v8/test/mjsunit/compare-nan.js b/src/3rdparty/v8/test/mjsunit/compare-nan.js
deleted file mode 100644
index c4f7817..0000000
--- a/src/3rdparty/v8/test/mjsunit/compare-nan.js
+++ /dev/null
@@ -1,66 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var a = [NaN, -1, 0, 1, 1.2, -7.9, true, false, 'foo', '0', 'NaN' ];
-for (var i in a) {
- var x = a[i];
- assertFalse(NaN == x, "NaN == " + x);
- assertFalse(NaN === x, "NaN === " + x);
- assertFalse(NaN < x, "NaN < " + x);
- assertFalse(NaN > x, "NaN > " + x);
- assertFalse(NaN <= x, "NaN <= " + x);
- assertFalse(NaN >= x, "NaN >= " + x);
-
- assertFalse(x == NaN, "" + x + " == NaN");
- assertFalse(x === NaN, "" + x + " === NaN");
- assertFalse(x < NaN, "" + x + " < NaN");
- assertFalse(x > NaN, "" + x + " > NaN");
- assertFalse(x <= NaN, "" + x + " <= NaN");
- assertFalse(x >= NaN, "" + x + " >= NaN");
-}
-
-var b = ["NaN", "-1", "0", "1", "1.2", "-7.9", "true", "false", "'foo'", "'0'",
- "'NaN'" ];
-for (var i in b) {
- var x = b[i];
- var program =
- "assertFalse(NaN == " + x + ", 'NaN == ' + " + x + ");\n" +
- "assertFalse(NaN === " + x + ", 'NaN === ' + " + x + ");\n" +
- "assertFalse(NaN < " + x + ", 'NaN < ' + " + x + ");\n" +
- "assertFalse(NaN > " + x + ", 'NaN > ' + " + x + ");\n" +
- "assertFalse(NaN <= " + x + ", 'NaN <= ' + " + x + ");\n" +
- "assertFalse(NaN >= " + x + ", 'NaN >= ' + " + x + ");\n" +
-
- "assertFalse(" + x + " == NaN, '' + " + x + " + ' == NaN');\n" +
- "assertFalse(" + x + " === NaN, '' + " + x + " + ' === NaN');\n" +
- "assertFalse(" + x + " < NaN, '' + " + x + " + ' < NaN');\n" +
- "assertFalse(" + x + " > NaN, '' + " + x + " + ' > NaN');\n" +
- "assertFalse(" + x + " <= NaN, '' + " + x + " + ' <= NaN');\n" +
- "assertFalse(" + x + " >= NaN, '' + " + x + " + ' >= NaN');\n";
- eval(program);
-}
-
diff --git a/src/3rdparty/v8/test/mjsunit/comparison-ops-and-undefined.js b/src/3rdparty/v8/test/mjsunit/comparison-ops-and-undefined.js
deleted file mode 100644
index 06db076..0000000
--- a/src/3rdparty/v8/test/mjsunit/comparison-ops-and-undefined.js
+++ /dev/null
@@ -1,128 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-function test_helper_for_ics(func, b1, b2, b3, b4) {
- assertEquals(b1, func(.5, .5));
- assertEquals(b2, func(.5, undefined));
- assertEquals(b3, func(undefined, .5));
- assertEquals(b4, func(undefined, undefined));
-}
-
-function test_helper_for_crankshaft(func, b1, b2, b3, b4) {
- assertEquals(b1, func(.5, .5));
- %OptimizeFunctionOnNextCall(func);
- assertEquals(b1, func(.5, .5));
- assertEquals(b2, func(.5, undefined));
- assertEquals(b3, func(undefined, .5));
- assertEquals(b4, func(undefined, undefined));
-}
-
-function less_1(a, b) {
- return a < b;
-}
-
-test_helper_for_ics(less_1, false, false, false, false);
-
-function less_2(a, b) {
- return a < b;
-}
-
-test_helper_for_crankshaft(less_1, false, false, false, false);
-
-function greater_1(a, b) {
- return a > b;
-}
-
-test_helper_for_ics(greater_1, false, false, false, false);
-
-function greater_2(a, b) {
- return a > b;
-}
-
-test_helper_for_crankshaft(greater_1, false, false, false, false);
-
-function less_equal_1(a, b) {
- return a <= b;
-}
-
-test_helper_for_ics(less_equal_1, true, false, false, false);
-
-function less_equal_2(a, b) {
- return a <= b;
-}
-
-test_helper_for_crankshaft(less_equal_1, true, false, false, false);
-
-function greater_equal_1(a, b) {
- return a >= b;
-}
-
-test_helper_for_ics(greater_equal_1, true, false, false, false);
-
-function greater_equal_2(a, b) {
- return a >= b;
-}
-
-test_helper_for_crankshaft(greater_equal_1, true, false, false, false);
-
-function equal_1(a, b) {
- return a == b;
-}
-
-test_helper_for_ics(equal_1, true, false, false, true);
-
-function equal_2(a, b) {
- return a == b;
-}
-
-test_helper_for_crankshaft(equal_2, true, false, false, true);
-
-function strict_equal_1(a, b) {
- return a === b;
-}
-
-test_helper_for_ics(strict_equal_1, true, false, false, true);
-
-function strict_equal_2(a, b) {
- return a === b;
-}
-
-test_helper_for_crankshaft(strict_equal_2, true, false, false, true);
-
-function not_equal_1(a, b) {
- return a != b;
-}
-
-test_helper_for_ics(not_equal_1, false, true, true, false);
-
-function not_equal_2(a, b) {
- return a != b;
-}
-
-test_helper_for_crankshaft(not_equal_2, false, true, true, false);
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/alloc-number.js b/src/3rdparty/v8/test/mjsunit/compiler/alloc-number.js
deleted file mode 100644
index 85c39de..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/alloc-number.js
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-// Try to get a GC because of a heap number allocation while we
-// have live values (o) in a register.
-function f(o) {
- var x = 1.5;
- var y = 2.5;
- for (var i = 1; i < 100000; i+=2) o.val = x + y + i;
- return o;
-}
-
-var o = { val: 0 };
-for (var i = 0; i < 100; i++) f(o);
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/alloc-object-huge.js b/src/3rdparty/v8/test/mjsunit/compiler/alloc-object-huge.js
deleted file mode 100644
index b0a981d..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/alloc-object-huge.js
+++ /dev/null
@@ -1,310 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --inline-construct
-// Flags: --max-inlined-source-size=999999 --max-inlined-nodes=999999
-// Flags: --max-inlined-nodes-cumulative=999999
-
-// Test that huge constructors (more than 256 this assignments) are
-// handled correctly.
-
-// Test huge constructor when being inlined into hydrogen.
-function test() {
- return new huge();
-}
-test();
-test();
-%OptimizeFunctionOnNextCall(test);
-var o = test();
-assertEquals(1, o.foo1);
-assertEquals(257, o.foo257);
-
-// Test huge constructor with specialized constructor stub.
-var o = new huge();
-assertEquals(1, o.foo1);
-assertEquals(257, o.foo257);
-
-// The huge constructor, nothing interesting beyond this point.
-function huge() {
- this.foo1 = 1;
- this.foo2 = 2;
- this.foo3 = 3;
- this.foo4 = 4;
- this.foo5 = 5;
- this.foo6 = 6;
- this.foo7 = 7;
- this.foo8 = 8;
- this.foo9 = 9;
- this.foo10 = 10;
- this.foo11 = 11;
- this.foo12 = 12;
- this.foo13 = 13;
- this.foo14 = 14;
- this.foo15 = 15;
- this.foo16 = 16;
- this.foo17 = 17;
- this.foo18 = 18;
- this.foo19 = 19;
- this.foo20 = 20;
- this.foo21 = 21;
- this.foo22 = 22;
- this.foo23 = 23;
- this.foo24 = 24;
- this.foo25 = 25;
- this.foo26 = 26;
- this.foo27 = 27;
- this.foo28 = 28;
- this.foo29 = 29;
- this.foo30 = 30;
- this.foo31 = 31;
- this.foo32 = 32;
- this.foo33 = 33;
- this.foo34 = 34;
- this.foo35 = 35;
- this.foo36 = 36;
- this.foo37 = 37;
- this.foo38 = 38;
- this.foo39 = 39;
- this.foo40 = 40;
- this.foo41 = 41;
- this.foo42 = 42;
- this.foo43 = 43;
- this.foo44 = 44;
- this.foo45 = 45;
- this.foo46 = 46;
- this.foo47 = 47;
- this.foo48 = 48;
- this.foo49 = 49;
- this.foo50 = 50;
- this.foo51 = 51;
- this.foo52 = 52;
- this.foo53 = 53;
- this.foo54 = 54;
- this.foo55 = 55;
- this.foo56 = 56;
- this.foo57 = 57;
- this.foo58 = 58;
- this.foo59 = 59;
- this.foo60 = 60;
- this.foo61 = 61;
- this.foo62 = 62;
- this.foo63 = 63;
- this.foo64 = 64;
- this.foo65 = 65;
- this.foo66 = 66;
- this.foo67 = 67;
- this.foo68 = 68;
- this.foo69 = 69;
- this.foo70 = 70;
- this.foo71 = 71;
- this.foo72 = 72;
- this.foo73 = 73;
- this.foo74 = 74;
- this.foo75 = 75;
- this.foo76 = 76;
- this.foo77 = 77;
- this.foo78 = 78;
- this.foo79 = 79;
- this.foo80 = 80;
- this.foo81 = 81;
- this.foo82 = 82;
- this.foo83 = 83;
- this.foo84 = 84;
- this.foo85 = 85;
- this.foo86 = 86;
- this.foo87 = 87;
- this.foo88 = 88;
- this.foo89 = 89;
- this.foo90 = 90;
- this.foo91 = 91;
- this.foo92 = 92;
- this.foo93 = 93;
- this.foo94 = 94;
- this.foo95 = 95;
- this.foo96 = 96;
- this.foo97 = 97;
- this.foo98 = 98;
- this.foo99 = 99;
- this.foo100 = 100;
- this.foo101 = 101;
- this.foo102 = 102;
- this.foo103 = 103;
- this.foo104 = 104;
- this.foo105 = 105;
- this.foo106 = 106;
- this.foo107 = 107;
- this.foo108 = 108;
- this.foo109 = 109;
- this.foo110 = 110;
- this.foo111 = 111;
- this.foo112 = 112;
- this.foo113 = 113;
- this.foo114 = 114;
- this.foo115 = 115;
- this.foo116 = 116;
- this.foo117 = 117;
- this.foo118 = 118;
- this.foo119 = 119;
- this.foo120 = 120;
- this.foo121 = 121;
- this.foo122 = 122;
- this.foo123 = 123;
- this.foo124 = 124;
- this.foo125 = 125;
- this.foo126 = 126;
- this.foo127 = 127;
- this.foo128 = 128;
- this.foo129 = 129;
- this.foo130 = 130;
- this.foo131 = 131;
- this.foo132 = 132;
- this.foo133 = 133;
- this.foo134 = 134;
- this.foo135 = 135;
- this.foo136 = 136;
- this.foo137 = 137;
- this.foo138 = 138;
- this.foo139 = 139;
- this.foo140 = 140;
- this.foo141 = 141;
- this.foo142 = 142;
- this.foo143 = 143;
- this.foo144 = 144;
- this.foo145 = 145;
- this.foo146 = 146;
- this.foo147 = 147;
- this.foo148 = 148;
- this.foo149 = 149;
- this.foo150 = 150;
- this.foo151 = 151;
- this.foo152 = 152;
- this.foo153 = 153;
- this.foo154 = 154;
- this.foo155 = 155;
- this.foo156 = 156;
- this.foo157 = 157;
- this.foo158 = 158;
- this.foo159 = 159;
- this.foo160 = 160;
- this.foo161 = 161;
- this.foo162 = 162;
- this.foo163 = 163;
- this.foo164 = 164;
- this.foo165 = 165;
- this.foo166 = 166;
- this.foo167 = 167;
- this.foo168 = 168;
- this.foo169 = 169;
- this.foo170 = 170;
- this.foo171 = 171;
- this.foo172 = 172;
- this.foo173 = 173;
- this.foo174 = 174;
- this.foo175 = 175;
- this.foo176 = 176;
- this.foo177 = 177;
- this.foo178 = 178;
- this.foo179 = 179;
- this.foo180 = 180;
- this.foo181 = 181;
- this.foo182 = 182;
- this.foo183 = 183;
- this.foo184 = 184;
- this.foo185 = 185;
- this.foo186 = 186;
- this.foo187 = 187;
- this.foo188 = 188;
- this.foo189 = 189;
- this.foo190 = 190;
- this.foo191 = 191;
- this.foo192 = 192;
- this.foo193 = 193;
- this.foo194 = 194;
- this.foo195 = 195;
- this.foo196 = 196;
- this.foo197 = 197;
- this.foo198 = 198;
- this.foo199 = 199;
- this.foo200 = 200;
- this.foo201 = 201;
- this.foo202 = 202;
- this.foo203 = 203;
- this.foo204 = 204;
- this.foo205 = 205;
- this.foo206 = 206;
- this.foo207 = 207;
- this.foo208 = 208;
- this.foo209 = 209;
- this.foo210 = 210;
- this.foo211 = 211;
- this.foo212 = 212;
- this.foo213 = 213;
- this.foo214 = 214;
- this.foo215 = 215;
- this.foo216 = 216;
- this.foo217 = 217;
- this.foo218 = 218;
- this.foo219 = 219;
- this.foo220 = 220;
- this.foo221 = 221;
- this.foo222 = 222;
- this.foo223 = 223;
- this.foo224 = 224;
- this.foo225 = 225;
- this.foo226 = 226;
- this.foo227 = 227;
- this.foo228 = 228;
- this.foo229 = 229;
- this.foo230 = 230;
- this.foo231 = 231;
- this.foo232 = 232;
- this.foo233 = 233;
- this.foo234 = 234;
- this.foo235 = 235;
- this.foo236 = 236;
- this.foo237 = 237;
- this.foo238 = 238;
- this.foo239 = 239;
- this.foo240 = 240;
- this.foo241 = 241;
- this.foo242 = 242;
- this.foo243 = 243;
- this.foo244 = 244;
- this.foo245 = 245;
- this.foo246 = 246;
- this.foo247 = 247;
- this.foo248 = 248;
- this.foo249 = 249;
- this.foo250 = 250;
- this.foo251 = 251;
- this.foo252 = 252;
- this.foo253 = 253;
- this.foo254 = 254;
- this.foo255 = 255;
- this.foo256 = 256;
- this.foo257 = 257;
-}
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/alloc-object.js b/src/3rdparty/v8/test/mjsunit/compiler/alloc-object.js
deleted file mode 100644
index 1d44efb..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/alloc-object.js
+++ /dev/null
@@ -1,90 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --expose-gc --inline-construct
-
-// Test that inlined object allocation works for different layouts of
-// objects (e.g. in object properties, slack tracking in progress or
-// changing of function prototypes)
-
-function test_helper(construct, a, b) {
- return new construct(a, b);
-}
-
-function test(construct) {
- %DeoptimizeFunction(test);
- test_helper(construct, 0, 0);
- test_helper(construct, 0, 0);
- %OptimizeFunctionOnNextCall(test_helper);
- // Test adding a new property after allocation was inlined.
- var o = test_helper(construct, 1, 2);
- o.z = 3;
- assertEquals(1, o.x);
- assertEquals(2, o.y);
- assertEquals(3, o.z);
- // Test changing the prototype after allocation was inlined.
- construct.prototype = { z:6 };
- var o = test_helper(construct, 4, 5);
- assertEquals(4, o.x);
- assertEquals(5, o.y);
- assertEquals(6, o.z);
- %DeoptimizeFunction(test_helper);
- gc(); // Makes V8 forget about type information for test_helper.
-}
-
-function finalize_slack_tracking(construct) {
- // Value chosen based on kGenerousAllocationCount = 8.
- for (var i = 0; i < 8; i++) {
- new construct(0, 0);
- }
-}
-
-
-// Both properties are pre-allocated in object properties.
-function ConstructInObjectPreAllocated(a, b) {
- this.x = a;
- this.y = b;
-}
-finalize_slack_tracking(ConstructInObjectPreAllocated);
-test(ConstructInObjectPreAllocated);
-
-
-// Both properties are unused in object properties.
-function ConstructInObjectUnused(a, b) {
- this.x = a < 0 ? 0 : a;
- this.y = b > 0 ? b : 0;
-}
-finalize_slack_tracking(ConstructInObjectUnused);
-test(ConstructInObjectUnused);
-
-
-// Test inlined allocation while slack tracking is still in progress.
-function ConstructWhileSlackTracking(a, b) {
- this.x = a;
- this.y = b;
-}
-test(ConstructWhileSlackTracking);
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/array-access.js b/src/3rdparty/v8/test/mjsunit/compiler/array-access.js
deleted file mode 100644
index 65b3c99..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/array-access.js
+++ /dev/null
@@ -1,132 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function Get0(a) {
- return a[0];
-}
-
-function GetN(a,n) {
- return a[n];
-}
-
-function GetA0(a) {
- return a[a[0]];
-}
-
-function GetAN(a,n) {
- return a[a[n]];
-}
-
-function GetAAN(a,n) {
- return a[a[a[n]]];
-}
-
-function RunGetTests() {
- var a = [2,0,1];
- assertEquals(2, Get0(a));
-
- assertEquals(2, GetN(a, 0));
- assertEquals(0, GetN(a, 1));
- assertEquals(1, GetN(a, 2));
-
- assertEquals(1, GetA0(a));
-
- assertEquals(1, GetAN(a,0));
- assertEquals(2, GetAN(a,1));
- assertEquals(0, GetAN(a,2));
-
- assertEquals(0, GetAAN(a,0));
- assertEquals(1, GetAAN(a,1));
- assertEquals(2, GetAAN(a,2));
-}
-
-
-function Set07(a) {
- a[0] = 7;
-}
-
-function Set0V(a, v) {
- a[0] = v;
-}
-
-function SetN7(a, n) {
- a[n] = 7;
-}
-
-function SetNX(a, n, x) {
- a[n] = x;
-}
-
-function RunSetTests(a) {
- Set07(a);
- assertEquals(7, a[0]);
- assertEquals(0, a[1]);
- assertEquals(0, a[2]);
-
- Set0V(a, 1);
- assertEquals(1, a[0]);
- assertEquals(0, a[1]);
- assertEquals(0, a[2]);
-
- SetN7(a, 2);
- assertEquals(1, a[0]);
- assertEquals(0, a[1]);
- assertEquals(7, a[2]);
-
- SetNX(a, 1, 5);
- assertEquals(1, a[0]);
- assertEquals(5, a[1]);
- assertEquals(7, a[2]);
-
- for (var i = 0; i < 3; i++) SetNX(a, i, 0);
- assertEquals(0, a[0]);
- assertEquals(0, a[1]);
- assertEquals(0, a[2]);
-}
-
-function RunArrayBoundsCheckTest() {
- var g = [1,2,3];
-
- function f(a, i) { a[i] = 42; }
-
- for (var i = 0; i < 100000; i++) { f(g, 0); }
-
- f(g, 4);
-
- assertEquals(42, g[0]);
- assertEquals(42, g[4]);
-}
-
-var a = [0,0,0];
-var o = {0: 0, 1: 0, 2: 0};
-for (var i = 0; i < 1000; i++) {
- RunGetTests();
- RunSetTests(a);
- RunSetTests(o);
-}
-
-RunArrayBoundsCheckTest();
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/array-length.js b/src/3rdparty/v8/test/mjsunit/compiler/array-length.js
deleted file mode 100644
index 462a1e7..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/array-length.js
+++ /dev/null
@@ -1,49 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-function ArrayLength(a) { return a.length; }
-
-function Test(a0, a2, a5) {
- assertEquals(0, ArrayLength(a0));
- assertEquals(2, ArrayLength(a2));
- assertEquals(5, ArrayLength(a5));
-}
-
-var a0 = [];
-var a2 = [1,2];
-var a5 = [1,2,3,4,5];
-for (var i = 0; i < 5; i++) Test(a0, a2, a5);
-%OptimizeFunctionOnNextCall(ArrayLength);
-%OptimizeFunctionOnNextCall(Test);
-Test(a0, a2, a5);
-assertEquals("undefined", typeof(ArrayLength(0)));
-for (var i = 0; i < 5; i++) Test(a0, a2, a5);
-%OptimizeFunctionOnNextCall(Test);
-Test(a0, a2, a5);
-assertEquals(4, ArrayLength("hest"));
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/assignment-deopt.js b/src/3rdparty/v8/test/mjsunit/compiler/assignment-deopt.js
deleted file mode 100644
index 2b00625..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/assignment-deopt.js
+++ /dev/null
@@ -1,180 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test deopt with count operation on parameter.
-var max_smi = 1073741823;
-var o = {x:0};
-
-function assign1(x) { x += 1; o.x = x; }
-assign1(max_smi);
-assertEquals(max_smi + 1, o.x);
-
-assign1(1.1);
-assertEquals(2.1, o.x);
-
-
-// Test deopt with count operation on named property.
-function assign2(p) { p.x += 1 }
-
-o.x = "42";
-assign2(o);
-assertEquals("421", o.x);
-
-var s = max_smi - 10;
-o.x = s;
-for(var i = 0; i < 20; i++) {
- assign2(o);
- if (i == 4) {
- %OptimizeFunctionOnNextCall(assign2);
- }
-}
-assertEquals(max_smi + 10, o.x);
-
-
-// Test deopt with count operation on keyed property.
-function assign3(a, b) { a[b] += 1; }
-
-o = ["42"];
-assign3(o, 0);
-assertEquals("421", o[0]);
-
-var s = max_smi - 10;
-o[0] = s;
-for(var i = 0; i < 20; i++) {
- assign3(o, 0);
- if (i == 4) {
- %OptimizeFunctionOnNextCall(assign3);
- }
-}
-assertEquals(max_smi + 10, o[0]);
-
-assign3(o, "0");
-
-assertEquals(max_smi + 11, o[0]);
-
-// Test bailout when accessing a non-existing array element.
-o[0] = 0;
-for(var i = 0; i < 5; i++) {
- assign3(o, 0);
-}
-%OptimizeFunctionOnNextCall(assign3);
-assign3(o, 0);
-assign3(o, 1);
-
-// Test bailout with count operation in a value context.
-function assign5(x,y) { return (x += 1) + y; }
-for (var i = 0; i < 5; ++i) assertEquals(4, assign5(2, 1));
-%OptimizeFunctionOnNextCall(assign5);
-assertEquals(4, assign5(2, 1));
-
-assertEquals(4.1, assign5(2, 1.1));
-assertEquals(4.1, assign5(2.1, 1));
-
-function assign7(o,y) { return (o.x += 1) + y; }
-o = {x:0};
-for (var i = 0; i < 5; ++i) {
- o.x = 42;
- assertEquals(44, assign7(o, 1));
-}
-%OptimizeFunctionOnNextCall(assign7);
-o.x = 42;
-assertEquals(44, assign7(o, 1));
-
-o.x = 42;
-assertEquals(44.1, assign7(o, 1.1));
-o.x = 42.1;
-assertEquals(44.1, assign7(o, 1));
-
-function assign9(o,y) { return (o[0] += 1) + y; }
-q = [0];
-for (var i = 0; i < 5; ++i) {
- q[0] = 42;
- assertEquals(44, assign9(q, 1));
-}
-%OptimizeFunctionOnNextCall(assign9);
-q[0] = 42;
-assertEquals(44, assign9(q, 1));
-
-q[0] = 42;
-assertEquals(44.1, assign9(q, 1.1));
-q[0] = 42.1;
-assertEquals(44.1, assign9(q, 1));
-
-// Test deopt because of a failed map check on the load.
-function assign10(p) { return p.x += 1 }
-var g1 = {x:0};
-var g2 = {y:0, x:42};
-for (var i = 0; i < 5; ++i) {
- g1.x = 42;
- assertEquals(43, assign10(g1));
- assertEquals(43, g1.x);
-}
-%OptimizeFunctionOnNextCall(assign10);
-g1.x = 42;
-assertEquals(43, assign10(g1));
-assertEquals(43, g1.x);
-
-assertEquals(43, assign10(g2));
-assertEquals(43, g2.x);
-
-// Test deopt because of a failed map check on the store.
-// The binary operation changes the map as a side effect.
-o = {x:0};
-var g3 = { valueOf: function() { o.y = "bar"; return 42; }};
-function assign11(p) { return p.x += 1; }
-
-for (var i = 0; i < 5; i++) {
- o.x = "a";
- assign11(o);
-}
-%OptimizeFunctionOnNextCall(assign11);
-o.x = "a";
-assign11(o);
-
-assertEquals("a11", assign11(o));
-o.x = g3;
-assertEquals(43, assign11(o));
-assertEquals("bar", o.y);
-
-o = [0];
-var g4 = { valueOf: function() { o.y = "bar"; return 42; }};
-function assign12(p) { return p[0] += 1; }
-
-for (var i = 0; i < 5; i++) {
- o[0] = "a";
- assign12(o);
-}
-%OptimizeFunctionOnNextCall(assign12);
-o[0] = "a";
-assign12(o);
-
-assertEquals("a11", assign12(o));
-o[0] = g4;
-assertEquals(43, assign12(o));
-assertEquals("bar", o.y);
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/assignment.js b/src/3rdparty/v8/test/mjsunit/compiler/assignment.js
deleted file mode 100644
index 1f3f282..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/assignment.js
+++ /dev/null
@@ -1,283 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Tests for compound assignments at the top level
-
-z = 2;
-z += 4;
-
-assertEquals(z, 6);
-
-a = new Array(10);
-
-a[2] += 7;
-a[2] = 15;
-a[2] += 2;
-
-assertEquals(17, a[2]);
-
-b = new Object();
-b.foo = 5;
-b.foo += 12;
-
-assertEquals(17, b.foo);
-
-// Test compound assignments in an anonymous function with local variables.
-(function () {
- var z = 2;
- z += 4;
-
- assertEquals(z, 6);
-
- var a = new Array(10);
-
- a[2] += 7;
- a[2] = 15;
- a[2] += 2;
-
- assertEquals(17, a[2]);
-
- var b = new Object();
- b.foo = 5;
- b.foo += 12;
-
- assertEquals(17, b.foo);
-})();
-
-// Test compound assignments in an anonymous function with global variables.
-(function () {
- z = 2;
- z += 4;
-
- assertEquals(z, 6);
-
- a = new Array(10);
-
- a[2] += 7;
- a[2] = 15;
- a[2] += 2;
-
- assertEquals(17, a[2]);
-
- b = new Object();
- b.foo = 5;
- b.foo += 12;
-
- assertEquals(17, b.foo);
-})();
-
-// Test compound assignments in a named function with local variables.
-function foo() {
- var z = 3;
- z += 4;
-
- assertEquals(z, 7);
-
- var a = new Array(10);
-
- a[2] += 7;
- a[2] = 15;
- a[2] += 2;
-
- assertEquals(17, a[2]);
-
- var b = new Object();
- b.foo = 5;
- b.foo += 12;
-
- assertEquals(17, b.foo);
-}
-
-foo();
-
-// Test compound assignments in a named function with global variables.
-function bar() {
- z = 2;
- z += 5;
-
- assertEquals(z, 7);
-
- a = new Array(10);
-
- a[2] += 7;
- a[2] = 15;
- a[2] += 2;
-
- assertEquals(17, a[2]);
-
- b = new Object();
- b.foo = 5;
- b.foo += 12;
-
- assertEquals(17, b.foo);
-}
-
-bar();
-
-// Entire series of tests repeated, in loops.
-// -------------------------------------------
-// Tests for compound assignments in a loop at the top level
-
-for (i = 0; i < 5; ++i) {
- z = 2;
- z += 4;
-
- assertEquals(z, 6);
-
- a = new Array(10);
-
- a[2] += 7;
- a[2] = 15;
- a[2] += 2;
-
- assertEquals(17, a[2]);
-
- b = new Object();
- b.foo = 5;
- b.foo += 12;
-
- assertEquals(17, b.foo);
-}
-
-// Test compound assignments in an anonymous function with local variables.
-(function () {
- for (var i = 0; i < 5; ++i) {
- var z = 2;
- z += 4;
-
- assertEquals(z, 6);
-
- var a = new Array(10);
-
- a[2] += 7;
- a[2] = 15;
- a[2] += 2;
-
- assertEquals(17, a[2]);
-
- var b = new Object();
- b.foo = 5;
- b.foo += 12;
-
- assertEquals(17, b.foo);
- }
-})();
-
-// Test compound assignments in an anonymous function with global variables.
-(function () {
- for (i = 0; i < 5; ++i) {
- z = 2;
- z += 4;
-
- assertEquals(z, 6);
-
- a = new Array(10);
-
- a[2] += 7;
- a[2] = 15;
- a[2] += 2;
-
- assertEquals(17, a[2]);
-
- b = new Object();
- b.foo = 5;
- b.foo += 12;
-
- assertEquals(17, b.foo);
- }
-})();
-
-// Test compound assignments in a named function with local variables.
-function foo_loop() {
- for (i = 0; i < 5; ++i) {
- var z = 3;
- z += 4;
-
- assertEquals(z, 7);
-
- var a = new Array(10);
-
- a[2] += 7;
- a[2] = 15;
- a[2] += 2;
-
- assertEquals(17, a[2]);
-
- var b = new Object();
- b.foo = 5;
- b.foo += 12;
-
- assertEquals(17, b.foo);
- }
-}
-
-foo_loop();
-
-// Test compound assignments in a named function with global variables.
-function bar_loop() {
- for (i = 0; i < 5; ++i) {
- z = 2;
- z += 5;
-
- assertEquals(z, 7);
-
- a = new Array(10);
-
- a[2] += 7;
- a[2] = 15;
- a[2] += 2;
-
- assertEquals(17, a[2]);
-
- b = new Object();
- b.foo = 5;
- b.foo += 12;
-
- assertEquals(17, b.foo);
- }
-}
-
-bar_loop();
-
-
-// Test assignment in test context.
-function test_assign(x, y) { if (x = y) return x; }
-
-assertEquals(42, test_assign(0, 42));
-
-assertEquals("undefined", typeof test_assign(42, 0));
-
-// Test for assignment using a keyed store ic:
-function store_i_in_element_i_of_object_i() {
- var i = new Object();
- i[i] = i;
-}
-
-// Run three times to exercise caches.
-store_i_in_element_i_of_object_i();
-store_i_in_element_i_of_object_i();
-store_i_in_element_i_of_object_i();
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/binary-ops.js b/src/3rdparty/v8/test/mjsunit/compiler/binary-ops.js
deleted file mode 100644
index 27745c1..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/binary-ops.js
+++ /dev/null
@@ -1,55 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Values in distinct spans.
-function or_test0(x, y) { return x | y; }
-function and_test0(x, y) { return x & y; }
-function add_test0(x, y) { return x + y; }
-
-assertEquals(3, or_test0(1, 2)); // 1 | 2
-assertEquals(2, and_test0(3, 6)); // 3 & 6
-assertEquals(5, add_test0(2, 3)); // 2 + 3
-
-
-// Values in the same span.
-function or_test1(x, y) { return x | x; }
-function and_test1(x, y) { return x & x; }
-function add_test1(x, y) { return x + x; }
-
-assertEquals(1, or_test1(1, 2)); // 1 | 1
-assertEquals(3, and_test1(3, 6)); // 3 & 3
-assertEquals(4, add_test1(2, 3)); // 2 + 2
-
-
-// Values in distinct spans that alias.
-function or_test2(x, y) { x = y; return x | y; }
-function and_test2(x, y) { x = y; return x & y; }
-function add_test2(x, y) { x = y; return x + y; }
-
-assertEquals(2, or_test2(1, 2)); // 2 | 2
-assertEquals(6, and_test2(3, 6)); // 6 & 6
-assertEquals(6, add_test2(2, 3)); // 3 + 3
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/call-keyed.js b/src/3rdparty/v8/test/mjsunit/compiler/call-keyed.js
deleted file mode 100644
index d442212..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/call-keyed.js
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-A = {}
-A.i = [];
-A.i.push(function () { });
-A.i.push(function () { });
-
-function f (event) {
- for(var i = 0, j = A.i.length; i < j; ++i)
- A.i[i]();
-}
-
-f(null);
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/compare.js b/src/3rdparty/v8/test/mjsunit/compiler/compare.js
deleted file mode 100644
index 460b0ab..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/compare.js
+++ /dev/null
@@ -1,108 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function MaxLT(x, y) {
- if (x < y) return y;
- return x;
-}
-
-function MaxLE(x, y) {
- if (x <= y) return y;
- return x;
-}
-
-function MaxGE(x, y) {
- if (x >= y) return x;
- return y;
-}
-
-function MaxGT(x, y) {
- if (x > y) return x;
- return y;
-}
-
-
-// First test primitive values.
-function TestPrimitive(max, x, y) {
- assertEquals(max, MaxLT(x, y), "MaxLT - primitive");
- assertEquals(max, MaxLE(x, y), "MaxLE - primitive");
- assertEquals(max, MaxGE(x, y), "MaxGE - primitive");
- assertEquals(max, MaxGT(x, y), "MaxGT - primitive");
-}
-
-TestPrimitive(1, 0, 1);
-TestPrimitive(1, 1, 0);
-TestPrimitive(4, 3, 4);
-TestPrimitive(4, 4, 3);
-TestPrimitive(0, -1, 0);
-TestPrimitive(0, 0, -1)
-TestPrimitive(-2, -2, -3);
-TestPrimitive(-2, -3, -2);
-
-TestPrimitive(1, 0.1, 1);
-TestPrimitive(1, 1, 0.1);
-TestPrimitive(4, 3.1, 4);
-TestPrimitive(4, 4, 3.1);
-TestPrimitive(0, -1.1, 0);
-TestPrimitive(0, 0, -1.1)
-TestPrimitive(-2, -2, -3.1);
-TestPrimitive(-2, -3.1, -2);
-
-
-// Test non-primitive values and watch for valueOf call order.
-function TestNonPrimitive(order, f) {
- var result = "";
- var x = { valueOf: function() { result += "x"; } };
- var y = { valueOf: function() { result += "y"; } };
- f(x, y);
- assertEquals(order, result);
-}
-
-TestNonPrimitive("xy", MaxLT);
-TestNonPrimitive("xy", MaxLE);
-TestNonPrimitive("xy", MaxGE);
-TestNonPrimitive("xy", MaxGT);
-
-// Test compare in case of aliased registers.
-function CmpX(x) { if (x == x) return 42; }
-assertEquals(42, CmpX(0));
-
-function CmpXY(x) { var y = x; if (x == y) return 42; }
-assertEquals(42, CmpXY(0));
-
-
-// Test compare against null.
-function CmpNullValue(x) { return x == null; }
-assertEquals(false, CmpNullValue(42));
-
-function CmpNullTest(x) { if (x == null) return 42; return 0; }
-assertEquals(42, CmpNullTest(null));
-
-var g1 = 0;
-function CmpNullEffect() { (g1 = 42) == null; }
-CmpNullEffect();
-assertEquals(42, g1);
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/complex-for-in.js b/src/3rdparty/v8/test/mjsunit/compiler/complex-for-in.js
deleted file mode 100644
index 883f20a..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/complex-for-in.js
+++ /dev/null
@@ -1,50 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function TestNamed(m) {
- var o = {};
- var result = [];
- for (o.p in m) result.push(o.p);
- return result;
-}
-
-assertArrayEquals(['x','y'], TestNamed({x:0, y:1}));
-assertArrayEquals(['0','1'], TestNamed([1,2]));
-
-
-function TestKeyed(m) {
- var a = [];
- var result = [];
- var i = 0;
- for (a[i++] in m) result.push(a[i - 1]);
- assertEquals(i, a.length);
- return result;
-}
-
-
-assertArrayEquals(['x','y'], TestKeyed({x:0, y:1}));
-assertArrayEquals(['0','1'], TestKeyed([1,2]));
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/control-flow-0.js b/src/3rdparty/v8/test/mjsunit/compiler/control-flow-0.js
deleted file mode 100644
index bcf4f2d..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/control-flow-0.js
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function f() {
- return (42 + (0 == 1 ? 1 : 2));
-}
-
-
-function g(x) {
- return (x + (0 == 1 ? 1 : 2));
-}
-
-
-function h(x) {
- return ((x + 1) + (0 == 1 ? 1 : 2));
-}
-
-assertEquals(44, f());
-assertEquals(45, g(43));
-assertEquals(47, h(44));
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/control-flow-1.js b/src/3rdparty/v8/test/mjsunit/compiler/control-flow-1.js
deleted file mode 100644
index 973d9b6..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/control-flow-1.js
+++ /dev/null
@@ -1,55 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var global = this;
-
-function f0(x) {
- assertTrue(this === global);
- return x;
-}
-
-function g0(x, y) {
- return f0(x == y);
-}
-
-assertTrue(g0(0, 0));
-assertFalse(g0(0, 1));
-
-
-var o = {};
-o.f1 = f1;
-function f1(x) {
- assertTrue(this === o);
- return x;
-}
-
-function g1(x, y) {
- return o.f1(x == y);
-}
-
-assertTrue(g1(0, 0));
-assertFalse(g1(0, 1)); \ No newline at end of file
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/control-flow-2.js b/src/3rdparty/v8/test/mjsunit/compiler/control-flow-2.js
deleted file mode 100644
index 26ed564..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/control-flow-2.js
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function f(a,b) {
- return (b < a) - (a < b);
-}
-
-assertEquals(0, f(0,0));
-assertEquals(1, f(1,0));
-assertEquals(-1, f(0,1));
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/count-deopt.js b/src/3rdparty/v8/test/mjsunit/compiler/count-deopt.js
deleted file mode 100644
index 415dadc..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/count-deopt.js
+++ /dev/null
@@ -1,180 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test deopt with count operation on parameter.
-var max_smi = 1073741823;
-var o = {x:0};
-
-function inc1(x) { x++; o.x = x; }
-inc1(max_smi);
-assertEquals(max_smi + 1, o.x);
-
-inc1(1.1);
-assertEquals(2.1, o.x);
-
-
-// Test deopt with count operation on named property.
-function inc2(p) { p.x++ }
-
-o.x = "42";
-inc2(o);
-assertEquals(43, o.x);
-
-var s = max_smi - 10;
-o.x = s;
-for(var i = 0; i < 20; i++) {
- inc2(o);
- if (i == 4) {
- %OptimizeFunctionOnNextCall(inc2);
- }
-}
-assertEquals(max_smi + 10, o.x);
-
-
-// Test deopt with count operation on keyed property.
-function inc3(a, b) { a[b]++; }
-
-o = ["42"];
-inc3(o, 0);
-assertEquals(43, o[0]);
-
-var s = max_smi - 10;
-o[0] = s;
-for(var i = 0; i < 20; i++) {
- inc3(o, 0);
- if (i == 4) {
- %OptimizeFunctionOnNextCall(inc3);
- }
-}
-assertEquals(max_smi + 10, o[0]);
-
-inc3(o,"0");
-
-assertEquals(max_smi + 11, o[0]);
-
-// Test bailout when accessing a non-existing array element.
-o[0] = 0;
-for(var i = 0; i < 5; i++) {
- inc3(o, 0);
-}
-%OptimizeFunctionOnNextCall(inc3);
-inc3(o, 0);
-inc3(o, 1);
-
-// Test bailout with count operation in a value context.
-function inc4(x,y) { return (x++) + y; }
-for (var i = 0; i < 5; ++i) assertEquals(3, inc4(2, 1));
-%OptimizeFunctionOnNextCall(inc4);
-inc4(2, 1);
-assertEquals(3.1, inc4(2, 1.1));
-
-function inc5(x,y) { return (++x) + y; }
-for (var i = 0; i < 5; ++i) assertEquals(4, inc5(2, 1));
-%OptimizeFunctionOnNextCall(inc5);
-assertEquals(4, inc5(2, 1));
-assertEquals(4.1, inc5(2, 1.1));
-assertEquals(4.1, inc5(2.1, 1));
-
-function inc6(o,y) { return (o.x++) + y; }
-o = {x:0};
-for (var i = 0; i < 5; ++i) {
- o.x = 42;
- assertEquals(43, inc6(o, 1));
-}
-%OptimizeFunctionOnNextCall(inc6);
-o.x = 42;
-assertEquals(43, inc6(o, 1));
-o.x = 42;
-assertEquals(43.1, inc6(o, 1.1));
-o.x = 42.1;
-assertEquals(43.1, inc6(o, 1));
-
-function inc7(o,y) { return (++o.x) + y; }
-o = {x:0};
-for (var i = 0; i < 5; ++i) {
- o.x = 42;
- assertEquals(44, inc7(o, 1));
-}
-%OptimizeFunctionOnNextCall(inc7);
-o.x = 42;
-assertEquals(44, inc7(o, 1));
-o.x = 42;
-assertEquals(44.1, inc7(o, 1.1));
-o.x = 42.1;
-assertEquals(44.1, inc7(o, 1));
-
-function inc8(o,y) { return (o[0]++) + y; }
-var q = [0];
-for (var i = 0; i < 5; ++i) {
- q[0] = 42;
- assertEquals(43, inc8(q, 1));
-}
-%OptimizeFunctionOnNextCall(inc8);
-q[0] = 42;
-assertEquals(43, inc8(q, 1));
-q[0] = 42;
-assertEquals(43.1, inc8(q, 1.1));
-q[0] = 42.1;
-assertEquals(43.1, inc8(q, 1));
-
-function inc9(o,y) { return (++o[0]) + y; }
-q = [0];
-for (var i = 0; i < 5; ++i) {
- q[0] = 42;
- assertEquals(44, inc9(q, 1));
-}
-%OptimizeFunctionOnNextCall(inc9);
-q[0] = 42;
-assertEquals(44, inc9(q, 1));
-q[0] = 42;
-assertEquals(44.1, inc9(q, 1.1));
-q[0] = 42.1;
-assertEquals(44.1, inc9(q, 1));
-
-// Test deopt because of a failed map check.
-function inc10(p) { return p.x++ }
-var g1 = {x:0};
-var g2 = {y:0, x:42}
-for (var i = 0; i < 5; ++i) {
- g1.x = 42;
- assertEquals(42, inc10(g1));
- assertEquals(43, g1.x);
-}
-%OptimizeFunctionOnNextCall(inc10);
-g1.x = 42;
-assertEquals(42, inc10(g1));
-assertEquals(43, g1.x);
-assertEquals(42, inc10(g2));
-assertEquals(43, g2.x);
-
-// Test deoptimization with postfix operation in a value context.
-function inc11(a) { return a[this.x++]; }
-var g3 = {x:null, f:inc11};
-var g4 = [42];
-assertEquals(42, g3.f(g4));
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/countoperation.js b/src/3rdparty/v8/test/mjsunit/compiler/countoperation.js
deleted file mode 100644
index dca4c11..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/countoperation.js
+++ /dev/null
@@ -1,131 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test pre- and postfix count operations.
-
-// Test value context.
-var a = 42;
-var b = {x:42};
-var c = "x";
-assertEquals(43, ++a);
-assertEquals(43, a);
-assertEquals(43, a++);
-assertEquals(44, a);
-assertEquals(43, ++b.x);
-assertEquals(43, b.x);
-assertEquals(43, b.x++);
-assertEquals(44, b.x);
-assertEquals(45, ++b[c]);
-assertEquals(45, b[c]);
-assertEquals(45, b[c]++);
-assertEquals(46, b[c]);
-
-// Test effect context.
-a = 42;
-b = {x:42};
-c = "x";
-assertEquals(1, eval("++a; 1"));
-assertEquals(43, a);
-assertEquals(1, eval("a++; 1"));
-assertEquals(44, a);
-assertEquals(1, eval("++b.x; 1"));
-assertEquals(43, b.x);
-assertEquals(1, eval("b.x++; 1"));
-assertEquals(44, b.x);
-assertEquals(1, eval("++b[c]; 1"));
-assertEquals(45, b[c]);
-assertEquals(1, eval("b[c]++; 1"));
-assertEquals(46, b[c]);
-
-// Test test context.
-a = 42;
-b = {x:42};
-c = "x";
-assertEquals(1, (++a) ? 1 : 0);
-assertEquals(43, a);
-assertEquals(1, (a++) ? 1 : 0);
-assertEquals(44, a);
-assertEquals(1, (++b.x) ? 1 : 0);
-assertEquals(43, b.x);
-assertEquals(1, (b.x++) ? 1 : 0);
-assertEquals(44, b.x);
-assertEquals(1, (++b[c]) ? 1 : 0);
-assertEquals(45, b[c]);
-assertEquals(1, (b[c]++) ? 1 : 0);
-assertEquals(46, b[c]);
-
-// Test value/test and test/value contexts.
-a = 42;
-b = {x:42};
-c = "x";
-assertEquals(43, ++a || 1);
-assertEquals(43, a);
-assertEquals(43, a++ || 1);
-assertEquals(44, a);
-assertEquals(43, ++b.x || 1);
-assertEquals(43, b.x);
-assertEquals(43, (b.x++) || 1);
-assertEquals(44, b.x);
-assertEquals(45, ++b[c] || 1);
-assertEquals(45, b[c]);
-assertEquals(45, b[c]++ || 1);
-assertEquals(46, b[c]);
-a = 42;
-b = {x:42};
-c = "x";
-assertEquals(1, ++a && 1);
-assertEquals(43, a);
-assertEquals(1, a++ && 1);
-assertEquals(44, a);
-assertEquals(1, ++b.x && 1);
-assertEquals(43, b.x);
-assertEquals(1, (b.x++) && 1);
-assertEquals(44, b.x);
-assertEquals(1, ++b[c] && 1);
-assertEquals(45, b[c]);
-assertEquals(1, b[c]++ && 1);
-assertEquals(46, b[c]);
-
-// Test count operations with parameters.
-function f(x) { x++; return x; }
-assertEquals(43, f(42));
-
-function g(x) { ++x; return x; }
-assertEquals(43, g(42));
-
-function h(x) { var y = x++; return y; }
-assertEquals(42, h(42));
-
-function k(x) { var y = ++x; return y; }
-assertEquals(43, k(42));
-
-// Test count operation in a test context.
-function countTestPost(i) { var k = 0; while (i--) { k++; } return k; }
-assertEquals(10, countTestPost(10));
-
-function countTestPre(i) { var k = 0; while (--i) { k++; } return k; }
-assertEquals(9, countTestPre(10));
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/delete.js b/src/3rdparty/v8/test/mjsunit/compiler/delete.js
deleted file mode 100644
index 2aaecb2..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/delete.js
+++ /dev/null
@@ -1,72 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Tests of unary delete in cases where it is always true or always false.
-
-// In an effect context, expression is always true.
-assertEquals(undefined, void (delete 0));
-// In an effect context, expression is always false.
-assertEquals(undefined, (function (x) { delete x; })(0));
-
-// In a pure test context, expression is always true.
-assertEquals(1, (delete 0) ? 1 : 2);
-// In a pure test context, expression is always false.
-assertEquals(2, (function (x) { return (delete x) ? 1 : 2; })(0));
-// In a negated test context, expression is always false.
-assertEquals(1, (function (x) { return !(delete x) ? 1 : 2; })(0));
-
-// In a hybrid test/value context, expression is always true, value
-// expected in accumulator.
-assertEquals(3, 1 + ((delete 0) && 2));
-// In a hybrid test/value context, expression is always false, value
-// expected in accumulator.
-assertEquals(false, (function (x) { return (delete x) && 2; })(0));
-// In a hybrid test/value context, expression is always true, value
-// expected on stack.
-assertEquals(3, ((delete 0) && 2) + 1);
-// In a hybrid test/value context, expression is always false, value
-// expected on stack.
-assertEquals(1, (function (x) { return ((delete x) && 2) + 1; })(0));
-
-// In a hybrid value/test context, expression is always true, value
-// expected in accumulator.
-assertEquals(2, 1 + ((delete 0) || 2));
-// In a hybrid value/test context, expression is always false, value
-// expected in accumulator.
-assertEquals(2, (function (x) { return (delete x) || 2; })(0));
-// In a hybrid value/test context, expression is always true, value
-// expected on stack.
-assertEquals(2, ((delete 0) || 2) + 1);
-// In a hybrid value/test context, expression is always false, value
-// expected on stack.
-assertEquals(3, (function (x) { return ((delete x) || 2) + 1; })(0));
-
-
-// 'this' is not a Reference so delete returns true (see section 11.4.1,
-// step 2 of ES 5.1).
-assertEquals(true, delete this);
-assertEquals(true, (function () { return delete this; })());
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/deopt-args.js b/src/3rdparty/v8/test/mjsunit/compiler/deopt-args.js
deleted file mode 100644
index 17c397c..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/deopt-args.js
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-function g(x) {
- return x.f(0,1,2);
-}
-
-function f(a,b,c) {
- return 42;
-}
-
-var object = { };
-object.f = f;
-for (var i = 0; i < 5; i++) {
- assertEquals(42, g(object));
-}
-%OptimizeFunctionOnNextCall(g);
-g(object);
-
-object.f = function(a,b,c) { return 87; };
-assertEquals(87, g(object));
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/deopt-inlined-smi.js b/src/3rdparty/v8/test/mjsunit/compiler/deopt-inlined-smi.js
deleted file mode 100644
index dda083e..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/deopt-inlined-smi.js
+++ /dev/null
@@ -1,64 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --always-opt --always-inline-smi-code
-
-// Test deoptimization into inlined smi code.
-
-function f(x) {
- return ~x;
-}
-
-f(42);
-assertEquals(~12, f(12.45));
-assertEquals(~42, f(42.87));
-
-
-var a = 1, b = 2, c = 4, d = 8;
-function g() {
- return a | (b | (c | d));
-}
-
-g();
-c = "16";
-assertEquals(1 | 2 | 16 | 8, g());
-
-
-function h() {
- return 1 | a;
-}
-a = "2";
-h();
-assertEquals(3, h());
-
-
-function k() {
- return a | 1;
-}
-a = "4";
-k();
-assertEquals(5, k());
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/eval-introduced-closure.js b/src/3rdparty/v8/test/mjsunit/compiler/eval-introduced-closure.js
deleted file mode 100644
index 550c7c3..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/eval-introduced-closure.js
+++ /dev/null
@@ -1,95 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that functions introduced by eval work both when there are
-// strict mode and non-strict mode eval in scopes.
-
-// Flags: --allow-natives-syntax
-
-var x = 27;
-
-function f() { return x; }
-
-assertEquals(27, f());
-
-function do_eval(str) {
- "use strict";
- return eval(str);
-}
-
-var eval_f = do_eval('(' + f + ')');
-for (var i = 0; i < 5; i++) assertEquals(27, eval_f());
-%OptimizeFunctionOnNextCall(eval_f);
-assertEquals(27, eval_f());
-
-function do_eval_local(str) {
- "use strict";
- var x = 42;
- return eval(str);
-}
-
-eval_f = do_eval_local('(' + f + ')');
-for (var i = 0; i < 5; i++) assertEquals(42, eval_f());
-%OptimizeFunctionOnNextCall(eval_f);
-assertEquals(42, eval_f());
-
-function do_eval_with_other_eval_call(str) {
- "use strict";
- var f = eval(str);
- eval('var x = 1');
- return f;
-}
-
-eval_f = do_eval_with_other_eval_call('(' + f + ')');
-for (var i = 0; i < 5; i++) assertEquals(27, eval_f());
-%OptimizeFunctionOnNextCall(eval_f);
-assertEquals(27, eval_f());
-
-function test_non_strict_outer_eval() {
- function strict_eval(str) { "use strict"; return eval(str); }
- var eval_f = strict_eval('(' + f + ')');
- for (var i = 0; i < 5; i++) assertEquals(27, eval_f());
- %OptimizeFunctionOnNextCall(eval_f);
- assertEquals(27, eval_f());
- eval("var x = 3");
- assertEquals(3, eval_f());
-}
-
-test_non_strict_outer_eval();
-
-function test_strict_outer_eval() {
- "use strict";
- function strict_eval(str) { "use strict"; return eval(str); }
- var eval_f = strict_eval('(' + f + ')');
- for (var i = 0; i < 5; i++) assertEquals(27, eval_f());
- %OptimizeFunctionOnNextCall(eval_f);
- assertEquals(27, eval_f());
- eval("var x = 3");
- assertEquals(27, eval_f());
-}
-
-test_non_strict_outer_eval();
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/expression-trees.js b/src/3rdparty/v8/test/mjsunit/compiler/expression-trees.js
deleted file mode 100644
index fac6b4c..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/expression-trees.js
+++ /dev/null
@@ -1,107 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --always-opt --nocompilation-cache
-
-// Given a binary operation string and an ordered array of leaf
-// strings, return an array of all binary tree strings with the leaves
-// (in order) as the fringe.
-function makeTrees(op, leaves) {
- var len = leaves.length;
- if (len == 1) {
- // One leaf is a leaf.
- return leaves;
- } else {
- // More than one leaf requires an interior node.
- var result = [];
- // Split the leaves into left and right subtrees in all possible
- // ways. For each split recursively compute all possible subtrees.
- for (var i = 1; i < len; ++i) {
- var leftTrees = makeTrees(op, leaves.slice(0, i));
- var rightTrees = makeTrees(op, leaves.slice(i, len));
- // Adjoin every possible left and right subtree.
- for (var j = 0; j < leftTrees.length; ++j) {
- for (var k = 0; k < rightTrees.length; ++k) {
- var string = "(" + leftTrees[j] + op + rightTrees[k] + ")";
- result.push(string);
- }
- }
- }
- return result;
- }
-}
-
-// All 429 possible bitwise OR trees with eight leaves.
-var identifiers = ['a','b','c','d','e','f','g','h'];
-var or_trees = makeTrees("|", identifiers);
-var and_trees = makeTrees("&", identifiers);
-
-// Set up leaf masks to set 8 least-significant bits.
-var a = 1 << 0;
-var b = 1 << 1;
-var c = 1 << 2;
-var d = 1 << 3;
-var e = 1 << 4;
-var f = 1 << 5;
-var g = 1 << 6;
-var h = 1 << 7;
-
-for (var i = 0; i < or_trees.length; ++i) {
- for (var j = 0; j < 8; ++j) {
- var or_fun = new Function("return " + or_trees[i]);
- if (j == 0) assertEquals(255, or_fun());
-
- // Set the j'th variable to a string to force a bailout.
- eval(identifiers[j] + "+= ''");
- assertEquals(255, or_fun());
- // Set it back to a number for the next iteration.
- eval(identifiers[j] + "= +" + identifiers[j]);
- }
-}
-
-// Set up leaf masks to clear 8 least-significant bits.
-a ^= 255;
-b ^= 255;
-c ^= 255;
-d ^= 255;
-e ^= 255;
-f ^= 255;
-g ^= 255;
-h ^= 255;
-
-for (i = 0; i < and_trees.length; ++i) {
- for (var j = 0; j < 8; ++j) {
- var and_fun = new Function("return " + and_trees[i]);
- if (j == 0) assertEquals(0, and_fun());
-
- // Set the j'th variable to a string to force a bailout.
- eval(identifiers[j] + "+= ''");
- assertEquals(0, and_fun());
- // Set it back to a number for the next iteration.
- eval(identifiers[j] + "= +" + identifiers[j]);
- }
-}
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/for-stmt.js b/src/3rdparty/v8/test/mjsunit/compiler/for-stmt.js
deleted file mode 100644
index c8af01c..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/for-stmt.js
+++ /dev/null
@@ -1,59 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-// Test variants of for loops.
-function f(i, p) {
- for(; i < 10; ) {
- p.x = p.x + 1;
- i = i+1;
- }
-}
-var o = {x:42};
-f(1, o);
-assertEquals(51, o.x);
-
-
-function g(i, p) {
- for(; ; ) {
- if (i == 10) return;
- p.x = p.x + 1;
- i = i+1;
- }
-}
-o = {x:42};
-g(1, o);
-assertEquals(51, o.x);
-
-
-function h(p) {
- for(; p.x < 10; p.x++) {}
-}
-
-var o = {x:0};
-h(o);
-assertEquals(10, o.x);
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/function-call.js b/src/3rdparty/v8/test/mjsunit/compiler/function-call.js
deleted file mode 100644
index b2e0702..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/function-call.js
+++ /dev/null
@@ -1,52 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test of function calls.
-
-function f(x) { return x; }
-
-var a;
-
-// Call on global object.
-a = f(8);
-assertEquals(8, a);
-
-// Call on a named property.
-var b;
-b = {x:f};
-a = b.x(9);
-assertEquals(9, a);
-
-// Call on a keyed property.
-c = "x";
-a = b[c](10);
-assertEquals(10, a);
-
-// Call on a function expression
-function g() { return f; }
-a = g()(8);
-assertEquals(8, a);
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/global-accessors.js b/src/3rdparty/v8/test/mjsunit/compiler/global-accessors.js
deleted file mode 100644
index 337424d..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/global-accessors.js
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// This test tests that no bailouts are missing by not hitting asserts in debug
-// mode.
-
-test_count_operation()
-test_compound_assignment()
-
-function f() {}
-function test_count_operation()
-{
- this.__defineSetter__('x', f);
- this.__defineGetter__('x', f);
- x = x++;
-}
-
-function test_compound_assignment()
-{
- this.__defineSetter__('y', f);
- this.__defineGetter__('y', f);
- y += y;
-}
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/globals.js b/src/3rdparty/v8/test/mjsunit/compiler/globals.js
deleted file mode 100644
index 3b778da..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/globals.js
+++ /dev/null
@@ -1,76 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test references and assignments to global variables.
-var g = 0;
-
-// Test compilation of a global variable store.
-assertEquals(1, eval('g = 1'));
-// Test that the store worked.
-assertEquals(1, g);
-
-// Test that patching the IC in the compiled code works.
-assertEquals(1, eval('g = 1'));
-assertEquals(1, g);
-assertEquals(1, eval('g = 1'));
-assertEquals(1, g);
-
-// Test a second store.
-assertEquals("2", eval('g = "2"'));
-assertEquals("2", g);
-
-// Test a load.
-assertEquals("2", eval('g'));
-
-// Test that patching the IC in the compiled code works.
-assertEquals("2", eval('g'));
-assertEquals("2", eval('g'));
-
-// Test a second load.
-g = 3;
-assertEquals(3, eval('g'));
-
-// Test postfix count operation
-var t;
-t = g++;
-assertEquals(3, t);
-assertEquals(4, g);
-
-code = "g--; 1";
-assertEquals(1, eval(code));
-assertEquals(3, g);
-
-// Test simple assignment to non-deletable and deletable globals.
-var glo1 = 0;
-function f1(x) { glo1 = x; }
-f1(42);
-assertEquals(glo1, 42);
-
-glo2 = 0;
-function f2(x) { glo2 = x; }
-f2(42);
-assertEquals(42, glo2);
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/inline-accessors.js b/src/3rdparty/v8/test/mjsunit/compiler/inline-accessors.js
deleted file mode 100644
index a4cf7ae..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/inline-accessors.js
+++ /dev/null
@@ -1,368 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --inline-accessors --max-opt-count=100
-
-var accessorCallCount, setterArgument, setterValue, obj, forceDeopt;
-
-// -----------------------------------------------------------------------------
-// Helpers for testing inlining of getters.
-
-function TestInlinedGetter(context, obj, expected) {
- forceDeopt = { deopt: 0 };
- accessorCallCount = 0;
-
- assertEquals(expected, context(obj));
- assertEquals(1, accessorCallCount);
-
- assertEquals(expected, context(obj));
- assertEquals(2, accessorCallCount);
-
- %OptimizeFunctionOnNextCall(context);
- assertEquals(expected, context(obj));
- assertEquals(3, accessorCallCount);
-
- forceDeopt = { /* empty*/ };
- assertEquals(expected, context(obj));
- assertEquals(4, accessorCallCount);
-}
-
-
-function value_context_for_getter(obj) {
- return obj.getterProperty;
-}
-
-function test_context_for_getter(obj) {
- if (obj.getterProperty) {
- return 111;
- } else {
- return 222;
- }
-}
-
-function effect_context_for_getter(obj) {
- obj.getterProperty;
- return 5678;
-}
-
-function TryGetter(context, getter, obj, expected, expectException) {
- try {
- TestInlinedGetter(context, obj, expected);
- assertFalse(expectException);
- } catch (exception) {
- assertTrue(expectException);
- assertEquals(7, exception.stack.split('\n').length);
- }
- %DeoptimizeFunction(context);
- %ClearFunctionTypeFeedback(context);
- %ClearFunctionTypeFeedback(getter);
-}
-
-function TestGetterInAllContexts(getter, obj, expected, expectException) {
- TryGetter(value_context_for_getter, getter, obj, expected, expectException);
- TryGetter(test_context_for_getter, getter, obj, expected ? 111 : 222,
- expectException);
- TryGetter(effect_context_for_getter, getter, obj, 5678, expectException);
-}
-
-// -----------------------------------------------------------------------------
-// Test getter returning something 'true'ish in all contexts.
-
-function getter1() {
- assertSame(obj, this);
- accessorCallCount++;
- forceDeopt.deopt;
- return 1234;
-}
-
-function ConstrG1() { }
-obj = Object.defineProperty(new ConstrG1(), "getterProperty", { get: getter1 });
-TestGetterInAllContexts(getter1, obj, 1234, false);
-obj = Object.create(obj);
-TestGetterInAllContexts(getter1, obj, 1234, false);
-
-// -----------------------------------------------------------------------------
-// Test getter returning false in all contexts.
-
-function getter2() {
- assertSame(obj, this);
- accessorCallCount++;
- forceDeopt.deopt;
- return false;
-}
-
-function ConstrG2() { }
-obj = Object.defineProperty(new ConstrG2(), "getterProperty", { get: getter2 });
-TestGetterInAllContexts(getter2, obj, false, false);
-obj = Object.create(obj);
-TestGetterInAllContexts(getter2, obj, false, false);
-
-// -----------------------------------------------------------------------------
-// Test getter without a return in all contexts.
-
-function getter3() {
- assertSame(obj, this);
- accessorCallCount++;
- forceDeopt.deopt;
-}
-
-function ConstrG3() { }
-obj = Object.defineProperty(new ConstrG3(), "getterProperty", { get: getter3 });
-TestGetterInAllContexts(getter3, obj, undefined, false);
-obj = Object.create(obj);
-TestGetterInAllContexts(getter3, obj, undefined, false);
-
-// -----------------------------------------------------------------------------
-// Test getter with too many arguments without a return in all contexts.
-
-function getter4(a) {
- assertSame(obj, this);
- assertEquals(undefined, a);
- accessorCallCount++;
- forceDeopt.deopt;
-}
-
-function ConstrG4() { }
-obj = Object.defineProperty(new ConstrG4(), "getterProperty", { get: getter4 });
-TestGetterInAllContexts(getter4, obj, undefined, false);
-obj = Object.create(obj);
-TestGetterInAllContexts(getter4, obj, undefined, false);
-
-// -----------------------------------------------------------------------------
-// Test getter with too many arguments with a return in all contexts.
-
-function getter5(a) {
- assertSame(obj, this);
- assertEquals(undefined, a);
- accessorCallCount++;
- forceDeopt.deopt;
- return 9876;
-}
-
-function ConstrG5() { }
-obj = Object.defineProperty(new ConstrG5(), "getterProperty", { get: getter5 });
-TestGetterInAllContexts(getter5, obj, 9876, false);
-obj = Object.create(obj);
-TestGetterInAllContexts(getter5, obj, 9876, false);
-
-// -----------------------------------------------------------------------------
-// Test getter which throws from optimized code.
-
-function getter6() {
- assertSame(obj, this);
- accessorCallCount++;
- forceDeopt.deopt;
- if (accessorCallCount == 4) { 123 in null; }
- return 13579;
-}
-
-function ConstrG6() { }
-obj = Object.defineProperty(new ConstrG6(), "getterProperty", { get: getter6 });
-TestGetterInAllContexts(getter6, obj, 13579, true);
-obj = Object.create(obj);
-TestGetterInAllContexts(getter6, obj, 13579, true);
-
-// -----------------------------------------------------------------------------
-// Helpers for testing inlining of setters.
-
-function TestInlinedSetter(context, obj, value, expected) {
- forceDeopt = { deopt: 0 };
- accessorCallCount = 0;
- setterArgument = value;
-
- assertEquals(expected, context(obj, value));
- assertEquals(value, setterValue);
- assertEquals(1, accessorCallCount);
-
- assertEquals(expected, context(obj, value));
- assertEquals(value, setterValue);
- assertEquals(2, accessorCallCount);
-
- %OptimizeFunctionOnNextCall(context);
- assertEquals(expected, context(obj, value));
- assertEquals(value, setterValue);
- assertEquals(3, accessorCallCount);
-
- forceDeopt = { /* empty*/ };
- assertEquals(expected, context(obj, value));
- assertEquals(value, setterValue);
- assertEquals(4, accessorCallCount);
-}
-
-function value_context_for_setter(obj, value) {
- return obj.setterProperty = value;
-}
-
-function test_context_for_setter(obj, value) {
- if (obj.setterProperty = value) {
- return 333;
- } else {
- return 444;
- }
-}
-
-function effect_context_for_setter(obj, value) {
- obj.setterProperty = value;
- return 666;
-}
-
-function TrySetter(context, setter, obj, expectException, value, expected) {
- try {
- TestInlinedSetter(context, obj, value, expected);
- assertFalse(expectException);
- } catch (exception) {
- assertTrue(expectException);
- assertEquals(7, exception.stack.split('\n').length);
- }
- %DeoptimizeFunction(context);
- %ClearFunctionTypeFeedback(context);
- %ClearFunctionTypeFeedback(setter);
-}
-
-function TestSetterInAllContexts(setter, obj, expectException) {
- TrySetter(value_context_for_setter, setter, obj, expectException, 111, 111);
- TrySetter(test_context_for_setter, setter, obj, expectException, true, 333);
- TrySetter(test_context_for_setter, setter, obj, expectException, false, 444);
- TrySetter(effect_context_for_setter, setter, obj, expectException, 555, 666);
-}
-
-// -----------------------------------------------------------------------------
-// Test setter without a return in all contexts.
-
-function setter1(value) {
- assertSame(obj, this);
- accessorCallCount++;
- forceDeopt.deopt;
- setterValue = value;
-}
-
-function ConstrS1() { }
-obj = Object.defineProperty(new ConstrS1(), "setterProperty", { set: setter1 });
-TestSetterInAllContexts(setter1, obj, false);
-obj = Object.create(obj);
-TestSetterInAllContexts(setter1, obj, false);
-
-// -----------------------------------------------------------------------------
-// Test setter returning something different than the RHS in all contexts.
-
-function setter2(value) {
- assertSame(obj, this);
- accessorCallCount++;
- forceDeopt.deopt;
- setterValue = value;
- return 1000000;
-}
-
-function ConstrS2() { }
-obj = Object.defineProperty(new ConstrS2(), "setterProperty", { set: setter2 });
-TestSetterInAllContexts(setter2, obj, false);
-obj = Object.create(obj);
-TestSetterInAllContexts(setter2, obj, false);
-
-// -----------------------------------------------------------------------------
-// Test setter with too few arguments without a return in all contexts.
-
-function setter3() {
- assertSame(obj, this);
- accessorCallCount++;
- forceDeopt.deopt;
- setterValue = setterArgument;
-}
-
-function ConstrS3() { }
-obj = Object.defineProperty(new ConstrS3(), "setterProperty", { set: setter3 });
-TestSetterInAllContexts(setter3, obj, false);
-obj = Object.create(obj);
-TestSetterInAllContexts(setter3, obj, false);
-
-// -----------------------------------------------------------------------------
-// Test setter with too few arguments with a return in all contexts.
-
-function setter4() {
- assertSame(obj, this);
- accessorCallCount++;
- forceDeopt.deopt;
- setterValue = setterArgument;
- return 2000000;
-}
-
-function ConstrS4() { }
-obj = Object.defineProperty(new ConstrS4(), "setterProperty", { set: setter4 });
-TestSetterInAllContexts(setter4, obj, false);
-obj = Object.create(obj);
-TestSetterInAllContexts(setter4, obj, false);
-
-// -----------------------------------------------------------------------------
-// Test setter with too many arguments without a return in all contexts.
-
-function setter5(value, foo) {
- assertSame(obj, this);
- assertEquals(undefined, foo);
- accessorCallCount++;
- forceDeopt.deopt;
- setterValue = value;
-}
-
-function ConstrS5() { }
-obj = Object.defineProperty(new ConstrS5(), "setterProperty", { set: setter5 });
-TestSetterInAllContexts(setter5, obj, false);
-obj = Object.create(obj);
-TestSetterInAllContexts(setter5, obj, false);
-
-// -----------------------------------------------------------------------------
-// Test setter with too many arguments with a return in all contexts.
-
-function setter6(value, foo) {
- assertSame(obj, this);
- assertEquals(undefined, foo);
- accessorCallCount++;
- forceDeopt.deopt;
- setterValue = value;
- return 3000000;
-}
-
-function ConstrS6() { }
-obj = Object.defineProperty(new ConstrS6(), "setterProperty", { set: setter6 });
-TestSetterInAllContexts(setter6, obj, false);
-obj = Object.create(obj);
-TestSetterInAllContexts(setter6, obj, false);
-
-// -----------------------------------------------------------------------------
-// Test setter which throws from optimized code.
-
-function setter7(value) {
- accessorCallCount++;
- forceDeopt.deopt;
- if (accessorCallCount == 4) { 123 in null; }
- setterValue = value;
-}
-
-function ConstrS7() { }
-obj = Object.defineProperty(new ConstrS7(), "setterProperty", { set: setter7 });
-TestSetterInAllContexts(setter7, obj, true);
-obj = Object.create(obj);
-TestSetterInAllContexts(setter7, obj, true);
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/inline-arguments.js b/src/3rdparty/v8/test/mjsunit/compiler/inline-arguments.js
deleted file mode 100644
index df1bd22..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/inline-arguments.js
+++ /dev/null
@@ -1,268 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --max-opt-count=100
-
-function A() {
-}
-
-A.prototype.X = function (a, b, c) {
- assertTrue(this instanceof A);
- assertEquals(1, a);
- assertEquals(2, b);
- assertEquals(3, c);
-};
-
-A.prototype.Y = function () {
- this.X.apply(this, arguments);
-};
-
-A.prototype.Z = function () {
- this.Y(1,2,3);
-};
-
-var a = new A();
-a.Z(4,5,6);
-a.Z(4,5,6);
-%OptimizeFunctionOnNextCall(a.Z);
-a.Z(4,5,6);
-A.prototype.X.apply = function (receiver, args) {
- return Function.prototype.apply.call(this, receiver, args);
-};
-a.Z(4,5,6);
-
-
-// Ensure that HArgumentsObject is inserted in a correct place
-// and dominates all uses.
-function F1() { }
-function F2() { F1.apply(this, arguments); }
-function F3(x, y) {
- if (x) {
- F2(y);
- }
-}
-
-function F31() {
- return F1.apply(this, arguments);
-}
-
-function F4() {
- F3(true, false);
- return F31(1);
-}
-
-F4(1);
-F4(1);
-F4(1);
-%OptimizeFunctionOnNextCall(F4);
-F4(1);
-
-
-// Test correct adapation of arguments.
-// Strict mode prevents arguments object from shadowing parameters.
-(function () {
- "use strict";
-
- function G2() {
- assertArrayEquals([1,2], arguments);
- }
-
- function G4() {
- assertArrayEquals([1,2,3,4], arguments);
- }
-
- function adapt2to4(a, b, c, d) {
- G2.apply(this, arguments);
- }
-
- function adapt4to2(a, b) {
- G4.apply(this, arguments);
- }
-
- function test_adaptation() {
- adapt2to4(1, 2);
- adapt4to2(1, 2, 3, 4);
- }
-
- test_adaptation();
- test_adaptation();
- %OptimizeFunctionOnNextCall(test_adaptation);
- test_adaptation();
-})();
-
-// Test arguments access from the inlined function.
-function uninlinable(v) {
- assertEquals(0, v);
- try { } catch (e) { }
- return 0;
-}
-
-function toarr_inner() {
- var a = arguments;
- var marker = a[0];
- uninlinable(uninlinable(0, 0), marker.x);
-
- var r = new Array();
- for (var i = a.length - 1; i >= 1; i--) {
- r.push(a[i]);
- }
-
- return r;
-}
-
-function toarr1(marker, a, b, c) {
- return toarr_inner(marker, a / 2, b / 2, c / 2);
-}
-
-function toarr2(marker, a, b, c) {
- var x = 0;
- return uninlinable(uninlinable(0, 0),
- x = toarr_inner(marker, a / 2, b / 2, c / 2)), x;
-}
-
-function test_toarr(toarr) {
- var marker = { x: 0 };
- assertArrayEquals([3, 2, 1], toarr(marker, 2, 4, 6));
- assertArrayEquals([3, 2, 1], toarr(marker, 2, 4, 6));
- %OptimizeFunctionOnNextCall(toarr);
- assertArrayEquals([3, 2, 1], toarr(marker, 2, 4, 6));
- delete marker.x;
- assertArrayEquals([3, 2, 1], toarr(marker, 2, 4, 6));
-}
-
-test_toarr(toarr1);
-test_toarr(toarr2);
-
-
-// Test that arguments access from inlined function uses correct values.
-(function () {
- function inner(x, y) {
- "use strict";
- x = 10;
- y = 20;
- for (var i = 0; i < 1; i++) {
- for (var j = 1; j <= arguments.length; j++) {
- return arguments[arguments.length - j];
- }
- }
- }
-
- function outer(x, y) {
- return inner(x, y);
- }
-
- %OptimizeFunctionOnNextCall(outer);
- %OptimizeFunctionOnNextCall(inner);
- assertEquals(2, outer(1, 2));
-})();
-
-
-(function () {
- function inner(x, y) {
- "use strict";
- x = 10;
- y = 20;
- for (var i = 0; i < 1; i++) {
- for (var j = 1; j <= arguments.length; j++) {
- return arguments[arguments.length - j];
- }
- }
- }
-
- function outer(x, y) {
- return inner(x, y);
- }
-
- assertEquals(2, outer(1, 2));
- assertEquals(2, outer(1, 2));
- assertEquals(2, outer(1, 2));
- %OptimizeFunctionOnNextCall(outer);
- assertEquals(2, outer(1, 2));
-})();
-
-
-// Test inlining and deoptimization of functions accessing and modifying
-// the arguments object in strict mode with mismatched arguments count.
-(function () {
- "use strict";
- function test(outerCount, middleCount, innerCount) {
- var forceDeopt = { deopt:false };
- function inner(x,y) {
- x = 0; y = 0;
- forceDeopt.deopt;
- assertSame(innerCount, arguments.length);
- for (var i = 0; i < arguments.length; i++) {
- assertSame(30 + i, arguments[i]);
- }
- }
-
- function middle(x,y) {
- x = 0; y = 0;
- if (innerCount == 1) inner(30);
- if (innerCount == 2) inner(30, 31);
- if (innerCount == 3) inner(30, 31, 32);
- assertSame(middleCount, arguments.length);
- for (var i = 0; i < arguments.length; i++) {
- assertSame(20 + i, arguments[i]);
- }
- }
-
- function outer(x,y) {
- x = 0; y = 0;
- if (middleCount == 1) middle(20);
- if (middleCount == 2) middle(20, 21);
- if (middleCount == 3) middle(20, 21, 22);
- assertSame(outerCount, arguments.length);
- for (var i = 0; i < arguments.length; i++) {
- assertSame(10 + i, arguments[i]);
- }
- }
-
- for (var step = 0; step < 4; step++) {
- if (outerCount == 1) outer(10);
- if (outerCount == 2) outer(10, 11);
- if (outerCount == 3) outer(10, 11, 12);
- if (step == 1) %OptimizeFunctionOnNextCall(outer);
- if (step == 2) delete forceDeopt.deopt;
- }
-
- %DeoptimizeFunction(outer);
- %DeoptimizeFunction(middle);
- %DeoptimizeFunction(inner);
- %ClearFunctionTypeFeedback(outer);
- %ClearFunctionTypeFeedback(middle);
- %ClearFunctionTypeFeedback(inner);
- }
-
- for (var a = 1; a <= 3; a++) {
- for (var b = 1; b <= 3; b++) {
- for (var c = 1; c <= 3; c++) {
- test(a,b,c);
- }
- }
- }
-})();
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/inline-arity-mismatch.js b/src/3rdparty/v8/test/mjsunit/compiler/inline-arity-mismatch.js
deleted file mode 100644
index 4a61fa3..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/inline-arity-mismatch.js
+++ /dev/null
@@ -1,62 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test inlining at call sites with mismatched arity.
-
-function f(a) {
- return a.x;
-}
-
-function g(a, b) {
- return a.x;
-}
-
-function h1(a, b) {
- return f(a, a) * g(b);
-}
-
-function h2(a, b) {
- return f(a, a) * g(b);
-}
-
-
-var o = {x: 2};
-
-assertEquals(4, h1(o, o));
-assertEquals(4, h1(o, o));
-assertEquals(4, h2(o, o));
-assertEquals(4, h2(o, o));
-%OptimizeFunctionOnNextCall(h1);
-%OptimizeFunctionOnNextCall(h2);
-assertEquals(4, h1(o, o));
-assertEquals(4, h2(o, o));
-
-var u = {y:0, x:1};
-assertEquals(2, h1(u, o));
-assertEquals(2, h2(o, u));
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/inline-closures.js b/src/3rdparty/v8/test/mjsunit/compiler/inline-closures.js
deleted file mode 100644
index 69161e5..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/inline-closures.js
+++ /dev/null
@@ -1,49 +0,0 @@
-// Copyright 2013 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test inlining of multiple closures derived from one shared function.
-
-function mkClosure(continuation) {
- return function(value) {
- if (continuation == 'g') return this.g(value);
- if (continuation == 'h') return this.h(value);
- return value.value;
- }
-}
-
-var object = {};
-object.f = mkClosure('g');
-object.g = mkClosure('h');
-object.h = mkClosure('x');
-
-assertSame(1, object.f({value:1}));
-assertSame(2, object.f({value:2}));
-%OptimizeFunctionOnNextCall(object.f);
-assertSame(3, object.f({value:3}));
-assertSame(undefined, object.f({}));
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/inline-compare.js b/src/3rdparty/v8/test/mjsunit/compiler/inline-compare.js
deleted file mode 100644
index d97dce2..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/inline-compare.js
+++ /dev/null
@@ -1,50 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test that we can inline a function that returns the result of
-// a compare operation.
-function TestInlineCompare(o) {
- // Effect context.
- o.f();
- // Value context.
- var x = o.f();
- assertFalse(x);
- assertFalse(o.f());
- // Test context.
- if (o.f()) {
- assertTrue(false); // Should not happen.
- }
-}
-
-var o = {};
-o.f = function() { return 0 === 1; };
-for (var i = 0; i < 5; i++) TestInlineCompare(o);
-%OptimizeFunctionOnNextCall(TestInlineCompare);
-TestInlineCompare(o);
-TestInlineCompare({f: o.f});
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/inline-conditional.js b/src/3rdparty/v8/test/mjsunit/compiler/inline-conditional.js
deleted file mode 100644
index 941f74a..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/inline-conditional.js
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that we can inline a function that returns the result of
-// a conditional operation.
-function TestInlineConditional(o) {
- // Effect context.
- o.f();
- // Value context.
- var x = o.f();
- assertEquals(87, x);
- assertEquals(87, o.f());
- // Test context.
- if (!o.f()) {
- assertTrue(false); // Should not happen.
- }
-}
-
-var o = {x:false,y:42,z:87};
-o.f = function() { return this.x ? this.y : this.z; };
-for (var i = 0; i < 10000; i++) TestInlineConditional(o);
-TestInlineConditional({x:true,y:87,z:42,f: o.f});
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/inline-construct.js b/src/3rdparty/v8/test/mjsunit/compiler/inline-construct.js
deleted file mode 100644
index fa784cf..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/inline-construct.js
+++ /dev/null
@@ -1,166 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --inline-construct
-
-// Test inlining of constructor calls.
-
-function TestInlinedConstructor(constructor, closure) {
- var result;
- var counter = { value:0 };
- var noDeopt = { deopt:0 };
- var forceDeopt = { /*empty*/ };
-
- result = closure(constructor, 11, noDeopt, counter);
- assertEquals(11, result);
- assertEquals(1, counter.value);
-
- result = closure(constructor, 23, noDeopt, counter);
- assertEquals(23, result);
- assertEquals(2, counter.value);
-
- %OptimizeFunctionOnNextCall(closure);
- result = closure(constructor, 42, noDeopt, counter);
- assertEquals(42, result);
- assertEquals(3, counter.value);
-
- result = closure(constructor, 127, forceDeopt, counter);
- assertEquals(127, result)
- assertEquals(4, counter.value);
-
- %DeoptimizeFunction(closure);
- %ClearFunctionTypeFeedback(closure);
- %ClearFunctionTypeFeedback(constructor);
-}
-
-function value_context(constructor, val, deopt, counter) {
- var obj = new constructor(val, deopt, counter);
- return obj.x;
-}
-
-function test_context(constructor, val, deopt, counter) {
- if (!new constructor(val, deopt, counter)) {
- assertUnreachable("should not happen");
- }
- return val;
-}
-
-function effect_context(constructor, val, deopt, counter) {
- new constructor(val, deopt, counter);
- return val;
-}
-
-function TestInAllContexts(constructor) {
- TestInlinedConstructor(constructor, value_context);
- TestInlinedConstructor(constructor, test_context);
- TestInlinedConstructor(constructor, effect_context);
-}
-
-
-// Test constructor returning nothing in all contexts.
-function c1(val, deopt, counter) {
- deopt.deopt;
- this.x = val;
- counter.value++;
-}
-TestInAllContexts(c1);
-
-
-// Test constructor returning an object in all contexts.
-function c2(val, deopt, counter) {
- var obj = {};
- deopt.deopt;
- obj.x = val;
- counter.value++;
- return obj;
-}
-TestInAllContexts(c2);
-
-
-// Test constructor returning a primitive value in all contexts.
-function c3(val, deopt, counter) {
- deopt.deopt;
- this.x = val;
- counter.value++;
- return "not an object";
-}
-TestInAllContexts(c3);
-
-
-// Test constructor called with too many arguments.
-function c_too_many(a, b) {
- this.x = a + b;
-}
-function f_too_many(a, b, c) {
- var obj = new c_too_many(a, b, c);
- return obj.x;
-}
-assertEquals(23, f_too_many(11, 12, 1));
-assertEquals(42, f_too_many(23, 19, 1));
-%OptimizeFunctionOnNextCall(f_too_many);
-assertEquals(43, f_too_many(1, 42, 1));
-assertEquals("foobar", f_too_many("foo", "bar", "baz"))
-
-
-// Test constructor called with too few arguments.
-function c_too_few(a, b) {
- assertSame(undefined, b);
- this.x = a + 1;
-}
-function f_too_few(a) {
- var obj = new c_too_few(a);
- return obj.x;
-}
-assertEquals(12, f_too_few(11));
-assertEquals(24, f_too_few(23));
-%OptimizeFunctionOnNextCall(f_too_few);
-assertEquals(2, f_too_few(1));
-assertEquals("foo1", f_too_few("foo"))
-
-
-// Test constructor that cannot be inlined.
-function c_unsupported_syntax(val, deopt, counter) {
- try {
- deopt.deopt;
- this.x = val;
- counter.value++;
- } catch(e) {
- throw new Error();
- }
-}
-TestInAllContexts(c_unsupported_syntax);
-
-
-// Regression test: Inlined constructors called as functions do not get their
-// implicit receiver object set to undefined, even in strict mode.
-function c_strict(val, deopt, counter) {
- "use strict";
- deopt.deopt;
- this.x = val;
- counter.value++;
-}
-TestInAllContexts(c_strict);
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/inline-context-slots.js b/src/3rdparty/v8/test/mjsunit/compiler/inline-context-slots.js
deleted file mode 100644
index d0e907b..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/inline-context-slots.js
+++ /dev/null
@@ -1,49 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test inlining of functions with context slots.
-
-// Flags: --allow-natives-syntax
-
-
-// Caller/callee without a local context.
-
-(function() {
- var X = 5;
- var Y = 10;
- function F() {}
- F.prototype.max = function() {
- return X > Y ? X : Y;
- }
- F.prototype.run = function() {
- return this.max();
- }
- var f = new F();
- for (var i=0; i<5; i++) f.run();
- %OptimizeFunctionOnNextCall(f.run);
- assertEquals(10, f.run());
-})();
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/inline-function-apply.js b/src/3rdparty/v8/test/mjsunit/compiler/inline-function-apply.js
deleted file mode 100644
index 6b761f4..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/inline-function-apply.js
+++ /dev/null
@@ -1,89 +0,0 @@
-// Copyright 2013 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test inlining and deoptimization of function.apply(this, arguments)
-// calls for which the exact number of arguments is known.
-(function () {
- "use strict";
- function test(argumentsCount) {
- var dispatcher = {};
- var deoptimize = { deopt:false };
- dispatcher["const" + argumentsCount] = 0;
- dispatcher.func = C;
-
- function A(x,y) {
- var r = "A";
- if (argumentsCount == 1) r += B(10);
- if (argumentsCount == 2) r += B(10, 11);
- if (argumentsCount == 3) r += B(10, 11, 12);
- assertSame(1, x);
- assertSame(2, y);
- return r;
- }
-
- function B(x,y) {
- x = 0; y = 0;
- var r = "B" + dispatcher.func.apply(this, arguments);
- assertSame(argumentsCount, arguments.length);
- for (var i = 0; i < arguments.length; i++) {
- assertSame(10 + i, arguments[i]);
- }
- return r;
- }
-
- function C(x,y) {
- x = 0; y = 0;
- var r = "C"
- deoptimize.deopt;
- assertSame(argumentsCount, arguments.length);
- for (var i = 0; i < arguments.length; i++) {
- assertSame(10 + i, arguments[i]);
- }
- return r;
- }
-
- assertEquals("ABC", A(1,2));
- assertEquals("ABC", A(1,2));
- %OptimizeFunctionOnNextCall(A);
- assertEquals("ABC", A(1,2));
- delete deoptimize.deopt;
- assertEquals("ABC", A(1,2));
-
- %DeoptimizeFunction(A);
- %ClearFunctionTypeFeedback(A);
- %DeoptimizeFunction(B);
- %ClearFunctionTypeFeedback(B);
- %DeoptimizeFunction(C);
- %ClearFunctionTypeFeedback(C);
- }
-
- for (var a = 1; a <= 3; a++) {
- test(a);
- }
-})();
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/inline-global-access.js b/src/3rdparty/v8/test/mjsunit/compiler/inline-global-access.js
deleted file mode 100644
index b52652a..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/inline-global-access.js
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test that we can inline a function that returns the result of a
-// global variable load.
-var GLOBAL;
-function TestInlineGlobalLoad(o) {
- // Effect context.
- GLOBAL = 42;
- o.f();
- // Value context.
- var x = o.f();
- assertEquals(42, x);
- GLOBAL = 87;
- assertEquals(87, o.f());
- // Test context.
- if (!o.f()) {
- assertTrue(false); // Should not happen.
- }
-}
-
-var o = {};
-o.f = function() { return GLOBAL; };
-for (var i = 0; i < 5; i++) TestInlineGlobalLoad(o);
-%OptimizeFunctionOnNextCall(TestInlineGlobalLoad);
-TestInlineGlobalLoad(o);
-TestInlineGlobalLoad({f: o.f});
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/inline-literals.js b/src/3rdparty/v8/test/mjsunit/compiler/inline-literals.js
deleted file mode 100644
index 1422586..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/inline-literals.js
+++ /dev/null
@@ -1,89 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test that we can inline functions containing materialized literals.
-
-function a2(b, c) {
- return [b, c, b + c];
-}
-
-function a1(a, b, c) {
- return [a, a2(b, c)];
-}
-
-function TestArrayLiteral(a, b, c) {
- var expected = [a, [b, c, b + c]];
- var result = a1(a, b, c);
- assertEquals(expected, result, "TestArrayLiteral");
-}
-
-TestArrayLiteral(1, 2, 3);
-TestArrayLiteral(1, 2, 3);
-%OptimizeFunctionOnNextCall(TestArrayLiteral);
-TestArrayLiteral(1, 2, 3);
-TestArrayLiteral('a', 'b', 'c');
-
-function o2(b, c) {
- return { 'b':b, 'c':c, 'y':b + c };
-}
-
-function o1(a, b, c) {
- return { 'a':a, 'x':o2(b, c) };
-}
-
-function TestObjectLiteral(a, b, c) {
- var expected = { 'a':a, 'x':{ 'b':b, 'c':c, 'y':b + c } };
- var result = o1(a, b, c);
- assertEquals(expected, result, "TestObjectLiteral");
-}
-
-TestObjectLiteral(1, 2, 3);
-TestObjectLiteral(1, 2, 3);
-%OptimizeFunctionOnNextCall(TestObjectLiteral);
-TestObjectLiteral(1, 2, 3);
-TestObjectLiteral('a', 'b', 'c');
-
-function r2(s, x, y) {
- return s.replace(/a/, x + y);
-}
-
-function r1(s, x, y) {
- return r2(s, x, y).replace(/b/, y + x);
-}
-
-function TestRegExpLiteral(s, x, y, expected) {
- var result = r1(s, x, y);
- assertEquals(expected, result, "TestRegExpLiteral");
-}
-
-TestRegExpLiteral("a-", "reg", "exp", "regexp-");
-TestRegExpLiteral("-b", "reg", "exp", "-expreg");
-%OptimizeFunctionOnNextCall(TestRegExpLiteral);
-TestRegExpLiteral("ab", "reg", "exp", "regexpexpreg");
-TestRegExpLiteral("ab", 12345, 54321, "6666666666");
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/inline-param.js b/src/3rdparty/v8/test/mjsunit/compiler/inline-param.js
deleted file mode 100644
index 8fa8008..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/inline-param.js
+++ /dev/null
@@ -1,86 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test that we can inline a call with a parameter.
-function TestInlineOneParam(o, p) {
- // Effect context.
- o.f(p);
- // Value context.
- var x = o.f(p);
- assertEquals(42, x);
- assertEquals(42, o.f(p));
- // Test context.
- if (!o.f(p)) {
- assertTrue(false); // Should not happen.
- }
-}
-
-var obj = {x:42};
-var o1 = {};
-o1.f = function(o) { return o.x; };
-for (var i = 0; i < 5; i++) TestInlineOneParam(o1, obj);
-%OptimizeFunctionOnNextCall(TestInlineOneParam);
-TestInlineOneParam(o1, obj);
-TestInlineOneParam({f: o1.f}, {x:42});
-
-
-function TestInlineTwoParams(o, p) {
- var y = 43;
- // Effect context.
- o.h(y, y);
- // Value context.
- var x = o.h(p, y);
- assertEquals(true, x);
- assertEquals(false, o.h(y, p));
- // Test context.
- if (!o.h(p, y)) {
- assertTrue(false); // Should not happen.
- }
-
- // Perform the same tests again, but this time with non-trivial
- // expressions as the parameters.
-
- // Effect context.
- o.h(y + 1, y + 1);
- // Value context.
- var x = o.h(p + 1, y + 1);
- assertEquals(true, x);
- assertEquals(false, o.h(y + 1, p + 1));
- // Test context.
- if (!o.h(p + 1, y + 1)) {
- assertTrue(false); // Should not happen.
- }
-}
-
-var o2 = {};
-o2.h = function(i, j) { return i < j; };
-for (var i = 0; i < 5; i++) TestInlineTwoParams(o2, 42);
-%OptimizeFunctionOnNextCall(TestInlineTwoParams);
-TestInlineTwoParams(o2, 42);
-TestInlineTwoParams({h: o2.h}, 42);
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/inline-throw.js b/src/3rdparty/v8/test/mjsunit/compiler/inline-throw.js
deleted file mode 100644
index e3aab39..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/inline-throw.js
+++ /dev/null
@@ -1,69 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test inlined functions contain throw.
-function doThrow() {
- throw "uha";
-}
-
-function f(x) {
- if (x == 42) throw doThrow();
- if (x == 43) throw "wow";
- return x == 0;
-}
-
-function g(x) {
- return f(x);
-}
-
-for (var i = 0; i < 5; i++) g(0);
-%OptimizeFunctionOnNextCall(g);
-assertEquals(true, g(0));
-
-try {
- g(42);
-} catch(e) {
- assertEquals("uha", e);
-}
-
-// Test inlining in a test context.
-function h(x) {
- return f(x) ? "yes" : "no";
-}
-
-for (var i = 0; i < 5; i++) h(0);
-%OptimizeFunctionOnNextCall(h);
-assertEquals("yes", h(0));
-
-try {
- h(43);
-} catch(e) {
- assertEquals("wow", e);
-}
-
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/inline-two.js b/src/3rdparty/v8/test/mjsunit/compiler/inline-two.js
deleted file mode 100644
index 68372a9..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/inline-two.js
+++ /dev/null
@@ -1,101 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test that we can inline a function that calls another function.
-function TestInlineX(o) {
- // Effect context.
- o.g();
- // Value context.
- var x = o.g();
- assertEquals(42, x);
- assertEquals(42, o.g());
- // Test context.
- if (!o.g()) {
- assertTrue(false); // Should not happen.
- }
-}
-
-var o2 = {};
-o2.size = function() { return 42; }
-o2.g = function() { return this.size(); };
-for (var i = 0; i < 5; i++) TestInlineX(o2);
-%OptimizeFunctionOnNextCall(TestInlineX);
-TestInlineX(o2);
-TestInlineX({g: o2.g, size:o2.size});
-
-
-// Test that we can inline a call on a non-variable receiver.
-function TestInlineX2(o) {
- // Effect context.
- o.h();
- // Value context.
- var x = o.h();
- assertEquals(42, x);
- assertEquals(42, o.h());
- // Test context.
- if (!o.h()) {
- assertTrue(false); // Should not happen.
- }
-}
-
-var obj = {}
-obj.foo = function() { return 42; }
-var o3 = {};
-o3.v = obj;
-o3.h = function() { return this.v.foo(); };
-for (var i = 0; i < 5; i++) TestInlineX2(o3);
-%OptimizeFunctionOnNextCall(TestInlineX2);
-TestInlineX2(o3);
-TestInlineX2({h: o3.h, v:obj});
-
-
-// Test that we can inline a call on a non-variable receiver.
-function TestInlineFG(o) {
- // Effect context.
- o.h();
- // Value context.
- var x = o.h();
- assertEquals(42, x);
- assertEquals(42, o.h());
- // Test context.
- if (!o.h()) {
- assertTrue(false); // Should not happen.
- }
-}
-
-var obj = {}
-obj.g = function() { return 42; }
-var o3 = {};
-o3.v = obj;
-o3.f = function() { return this.v; }
-o3.h = function() { return this.f().g(); };
-for (var i = 0; i < 5; i++) TestInlineFG(o3);
-%OptimizeFunctionOnNextCall(TestInlineFG);
-TestInlineFG(o3);
-TestInlineFG({h: o3.h, f: o3.f, v:obj});
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/jsnatives.js b/src/3rdparty/v8/test/mjsunit/compiler/jsnatives.js
deleted file mode 100644
index f5d6ac4..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/jsnatives.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test call of JS runtime functions.
-
-var a = %GlobalParseInt("21", 16);
-assertEquals(33, a);
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/lazy-const-lookup.js b/src/3rdparty/v8/test/mjsunit/compiler/lazy-const-lookup.js
deleted file mode 100644
index b4f15a1..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/lazy-const-lookup.js
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-function outer() {
- const x = 1;
- function inner() {
- return x;
- }
- inner();
- %OptimizeFunctionOnNextCall(inner);
- inner();
-}
-
-outer();
-
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/literals-assignment.js b/src/3rdparty/v8/test/mjsunit/compiler/literals-assignment.js
deleted file mode 100644
index d2996c7..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/literals-assignment.js
+++ /dev/null
@@ -1,104 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Tests for simple assignments and literals inside an anonymous function
-
-// Test simple return statement.
-assertEquals(8, eval("(function() { return 8; })()"));
-
-// Test simple assignment
-var code = "(function() {\
- var a;\
- a = 8;\
- return a;\
- })()";
-assertEquals(8, eval(code));
-
-code = "(function() {\
- var x;\
- x = 'abc';\
- return x;\
- })()";
-assertEquals("abc", eval(code));
-
-// Test assignment as an RHS expression
-
-code = "(function() {\
- var x, y;\
- x = y = 8;\
- return x;\
- })()";
-assertEquals(8, eval(code));
-
-
-code = "(function() {\
- var x, y;\
- x = y = 8;\
- return y;\
- })()";
-assertEquals(8, eval(code));
-
-
-code = "(function() {\
- var x,y,z;\
- return x = y = z = 8;\
- })()";
-assertEquals(8, eval(code));
-
-// Test object literals.
-var a, b;
-code = "a = {x:8}";
-eval(code);
-assertEquals(8, a.x);
-
-code = "b = {x:a, y:'abc'}";
-eval(code);
-assertEquals(a, b.x);
-assertEquals(8, b.x.x);
-assertEquals("abc", b.y);
-
-code = "({x:8, y:9}); 10";
-assertEquals(10, eval(code));
-
-code = "({x:8, y:9})";
-eval(code);
-assertEquals(9, eval(code+".y"));
-
-code = "a = {2:8, x:9}";
-eval(code);
-assertEquals(8, a[2]);
-assertEquals(8, a["2"]);
-assertEquals(9, a["x"]);
-
-// Test regexp literals.
-
-a = /abc/;
-
-assertEquals(/abc/, a);
-
-code = "/abc/; 8";
-assertEquals(8, eval(code));
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/literals-optimized.js b/src/3rdparty/v8/test/mjsunit/compiler/literals-optimized.js
deleted file mode 100644
index 049e21a..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/literals-optimized.js
+++ /dev/null
@@ -1,121 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test optimized versions of array and object literals.
-
-function TestOptimizedLiteral(create, verify) {
- verify(create(1, 2, 3), 1, 2, 3);
- verify(create(3, 5, 7), 3, 5, 7);
- %OptimizeFunctionOnNextCall(create);
- verify(create(11, 23, 42), 11, 23, 42);
-}
-
-
-// Test shallow array literal.
-function create_arr_shallow(a, b, c) {
- return [0, a, 0, b, 0, c];
-}
-function verify_arr_shallow(array, a, b, c) {
- assertSame(6, array.length);
- assertSame(0, array[0]);
- assertSame(a, array[1]);
- assertSame(0, array[2]);
- assertSame(b, array[3]);
- assertSame(0, array[4]);
- assertSame(c, array[5]);
-}
-TestOptimizedLiteral(create_arr_shallow, verify_arr_shallow);
-
-
-// Test nested array literal.
-function create_arr_nested(a, b, c) {
- return [[0, a], [b, c], [1, 2], 3];
-}
-function verify_arr_nested(array, a, b, c) {
- assertSame(4, array.length);
- assertSame(2, array[0].length);
- assertSame(0, array[0][0]);
- assertSame(a, array[0][1]);
- assertSame(2, array[1].length);
- assertSame(b, array[1][0]);
- assertSame(c, array[1][1]);
- assertSame(2, array[2].length);
- assertSame(1, array[2][0]);
- assertSame(2, array[2][1]);
- assertSame(3, array[3]);
-}
-TestOptimizedLiteral(create_arr_nested, verify_arr_nested);
-
-
-// Test shallow object literal.
-function create_obj_shallow(a, b, c) {
- return { x:a, y:b, z:c, v:'foo', 9:'bar' };
-}
-function verify_obj_shallow(object, a, b, c) {
- assertSame(a, object.x);
- assertSame(b, object.y);
- assertSame(c, object.z);
- assertSame('foo', object.v);
- assertSame('bar', object[9]);
-}
-TestOptimizedLiteral(create_obj_shallow, verify_obj_shallow);
-
-
-// Test nested object literal.
-function create_obj_nested(a, b, c) {
- return { x:{ v:a, w:b }, y:{ v:1, w:2 }, z:c, v:'foo', 9:'bar' };
-}
-function verify_obj_nested(object, a, b, c) {
- assertSame(a, object.x.v);
- assertSame(b, object.x.w);
- assertSame(1, object.y.v);
- assertSame(2, object.y.w);
- assertSame(c, object.z);
- assertSame('foo', object.v);
- assertSame('bar', object[9]);
-}
-TestOptimizedLiteral(create_obj_nested, verify_obj_nested);
-
-
-// Test mixed array and object literal.
-function create_mixed_nested(a, b, c) {
- return { x:[1, 2], y:[a, b], z:c, v:{ v:'foo' }, 9:'bar' };
-}
-function verify_mixed_nested(object, a, b, c) {
- assertSame(2, object.x.length);
- assertSame(1, object.x[0]);
- assertSame(2, object.x[1]);
- assertSame(2, object.y.length);
- assertSame(a, object.y[0]);
- assertSame(b, object.y[1]);
- assertSame(c, object.z);
- assertSame('foo', object.v.v);
- assertSame('bar', object[9]);
-}
-TestOptimizedLiteral(create_mixed_nested, verify_mixed_nested);
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/literals.js b/src/3rdparty/v8/test/mjsunit/compiler/literals.js
deleted file mode 100644
index 8607cd9..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/literals.js
+++ /dev/null
@@ -1,93 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test simple literals.
-assertEquals(8, eval("8"));
-
-assertEquals(null, eval("null"));
-
-assertEquals("abc", eval("'abc'"));
-
-assertEquals(8, eval("6;'abc';8"));
-
-// Characters just outside the ranges of hex-escapes.
-// "/" comes just before "0".
-assertThrows('"\\x1/"');
-assertThrows('"\\u111/"');
-assertEquals("\\x1/", RegExp("\\x1/").source);
-assertEquals("\\u111/", RegExp("\\u111/").source);
-
-// ":" comes just after "9".
-assertThrows('"\\x1:"');
-assertThrows('"\\u111:"');
-assertEquals("\\x1:", /\x1:/.source);
-assertEquals("\\u111:", /\u111:/.source);
-
-// "`" comes just before "a".
-assertThrows('"\\x1`"');
-assertThrows('"\\u111`"');
-assertEquals("\\x1`", /\x1`/.source);
-assertEquals("\\u111`", /\u111`/.source);
-
-// "g" comes just before "f".
-assertThrows('"\\x1g"');
-assertThrows('"\\u111g"');
-assertEquals("\\x1g", /\x1g/.source);
-assertEquals("\\u111g", /\u111g/.source);
-
-// "@" comes just before "A".
-assertThrows('"\\x1@"');
-assertThrows('"\\u111@"');
-assertEquals("\\x1@", /\x1@/.source);
-assertEquals("\\u111@", /\u111@/.source);
-
-// "G" comes just after "F".
-assertThrows('"\\x1G"');
-assertThrows('"\\u111G"');
-assertEquals("\\x1G", /\x1G/.source);
-assertEquals("\\u111G", /\u111G/.source);
-
-// Test some materialized array literals.
-assertEquals([1,2,3,4], eval('[1,2,3,4]'));
-assertEquals([[1,2],3,4], eval('[[1,2],3,4]'));
-assertEquals([1,[2,3,4]], eval('[1,[2,3,4]]'));
-
-assertEquals([1,2,3,4], eval('var a=1, b=2; [a,b,3,4]'))
-assertEquals([1,2,3,4], eval('var a=1, b=2, c = [a,b,3,4]; c'));
-
-function double(x) { return x + x; }
-var s = 'var a = 1, b = 2; [double(a), double(b), double(3), double(4)]';
-assertEquals([2,4,6,8], eval(s));
-
-// Test array literals in effect context.
-assertEquals(17, eval('[1,2,3,4]; 17'));
-assertEquals(19, eval('var a=1, b=2; [a,b,3,4]; 19'));
-assertEquals(23, eval('var a=1, b=2; c=23; [a,b,3,4]; c'));
-
-// Test that literals work for non-smi indices.
-// Ensure hash-map collision if using value as hash.
-var o = {"2345678901" : 42, "2345678901" : 30};
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/logical-and.js b/src/3rdparty/v8/test/mjsunit/compiler/logical-and.js
deleted file mode 100644
index 783edb6..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/logical-and.js
+++ /dev/null
@@ -1,70 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function AndBB(x,y) {
- return (x == 0) && (y == 0);
-}
-
-function AndBN(x,y) {
- return (x == 0) && y;
-}
-
-function AndNB(x,y) {
- return x && (y == 0);
-}
-
-function AndNN(x,y) {
- return x && y;
-}
-
-assertTrue(AndBB(0, 0));
-assertFalse(AndBB(1, 0));
-assertFalse(AndBB(0, 1));
-assertFalse(AndBB(1, 1));
-
-assertEquals(0, AndBN(0, 0));
-assertEquals(1, AndBN(0, 1));
-assertFalse(AndBN(1, 0));
-assertEquals(1, AndBN(0, 1));
-assertEquals(2, AndBN(0, 2));
-assertFalse(AndBN(1, 1));
-assertFalse(AndBN(1, 2));
-
-assertEquals(0, AndNB(0, 0));
-assertTrue(AndNB(1, 0));
-assertEquals(0, AndNB(0, 1));
-assertEquals("", AndNB("", 1));
-assertFalse(AndNB(1, 1));
-assertTrue(AndNB(2, 0));
-
-assertEquals(0, AndNN(0, 0));
-assertEquals(0, AndNN(1, 0));
-assertEquals(0, AndNN(2, 0));
-assertEquals(0, AndNN(0, 1));
-assertEquals(0, AndNN(0, 2));
-assertEquals(1, AndNN(1, 1));
-assertEquals(2, AndNN(3, 2));
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/logical-or.js b/src/3rdparty/v8/test/mjsunit/compiler/logical-or.js
deleted file mode 100644
index 87c630d..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/logical-or.js
+++ /dev/null
@@ -1,66 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function OrBB(x,y) {
- return (x == 0) || (y == 0);
-}
-
-function OrBN(x,y) {
- return (x == 0) || y;
-}
-
-function OrNB(x,y) {
- return x || (y == 0);
-}
-
-function OrNN(x,y) {
- return x || y;
-}
-
-assertTrue(OrBB(0, 0));
-assertTrue(OrBB(1, 0));
-assertTrue(OrBB(0, 1));
-assertFalse(OrBB(1, 1));
-
-assertTrue(OrBN(0, 0));
-assertEquals(0, OrBN(1, 0));
-assertTrue(OrBN(0, 1));
-assertEquals(1, OrBN(1, 1));
-assertEquals(2, OrBN(1, 2));
-
-assertTrue(OrNB(0, 0));
-assertEquals(1, OrNB(1, 0));
-assertFalse(OrNB(0, 1));
-assertEquals(1, OrNB(1, 1));
-assertEquals(2, OrNB(2, 1));
-
-assertEquals(0, OrNN(0, 0));
-assertEquals(1, OrNN(1, 0));
-assertEquals(2, OrNN(2, 0));
-assertEquals(1, OrNN(0, 1));
-assertEquals(2, OrNN(0, 2));
-assertEquals(1, OrNN(1, 2));
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/loopcount.js b/src/3rdparty/v8/test/mjsunit/compiler/loopcount.js
deleted file mode 100644
index 6d6918f..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/loopcount.js
+++ /dev/null
@@ -1,92 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test postfix count operations with smis.
-
-function f1() { var x = 0x3fffffff; x++; return x; }
-assertEquals(0x40000000, f1());
-
-
-function f2() { var x = -0x40000000; x--; return x; }
-assertEquals(-0x40000001, f2());
-
-
-function f3(x) { x = x & 0x3fffffff; x++; return x; }
-assertEquals(0x40000000, f3(0x3fffffff));
-
-
-function f4() {
- var i;
- for (i = 0x3ffffffe; i <= 0x3fffffff; i++) {}
- return i;
-}
-assertEquals(0x40000000, f4());
-
-
-function f5() {
- var i;
- for (i = -0x3fffffff; i >= -0x40000000; i--) {}
- return i;
-}
-assertEquals(-0x40000001, f5());
-
-
-function f6() { var x = 0x3fffffff; x++; return x+1; }
-assertEquals(0x40000001, f6());
-
-
-function f7() {
- var i;
- for (i = 0x3ffffffd; i <= 0x3ffffffe; i++) {}
- i++; i = i + 1;
- return i;
-}
-assertEquals(0x40000001, f7());
-
-
-function f8() {
- var i;
- for (i = 0x3ffffffd; i <= 0x3fffffff; i++) {}
- i++; i++;
- return i;
-}
-assertEquals(0x40000002, f8());
-
-
-function f9() {
- var i;
- for (i = 0; i < 42; i++) {
- return 42;
- }
-}
-assertEquals(42, f9());
-
-
-function f10(x) {
- for (x = 0; x < 4; x++) {}
-}
-f10(42);
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/loops.js b/src/3rdparty/v8/test/mjsunit/compiler/loops.js
deleted file mode 100644
index 2195c6c..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/loops.js
+++ /dev/null
@@ -1,61 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test compilation of loops.
-
-var n = 1;
-for (var i = 1; (6 - i); i++) {
- // Factorial!
- n = n * i;
-}
-assertEquals(120, n);
-
-// Test assignments in the loop condition.
-function f(i, n) {
- while((n = n - 1) >= 0) {
- i = n + 1;
- }
- return i;
-}
-assertEquals(1, f(0, 42));
-
-
-// Test do-while loop and continue.
-function g(a) {
- var x = 0, c = 0;
- do {
- x = x + 1;
- if (x < 5) continue;
- c = c + 1;
- } while(x < a);
- return c;
-}
-
-assertEquals(6, g(10));
-
-// Test deoptimization in the loop condition.
-assertEquals(0, g("foo"));
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/math-floor-global.js b/src/3rdparty/v8/test/mjsunit/compiler/math-floor-global.js
deleted file mode 100644
index 9ec183f..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/math-floor-global.js
+++ /dev/null
@@ -1,161 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --max-new-space-size=256 --allow-natives-syntax
-
-// Test inlining of Math.floor when assigned to a global.
-var flo = Math.floor;
-var test_id = 0;
-
-function testFloor(expect, input) {
- var test = new Function('n',
- '"' + (test_id++) + '";return flo(n)');
- assertEquals(expect, test(input));
- assertEquals(expect, test(input));
- assertEquals(expect, test(input));
- %OptimizeFunctionOnNextCall(test);
- assertEquals(expect, test(input));
-}
-
-function zero() {
- var x = 0.5;
- return (function() { return x - 0.5; })();
-}
-
-function test() {
- testFloor(0, 0);
- testFloor(0, zero());
- testFloor(-0, -0);
- testFloor(Infinity, Infinity);
- testFloor(-Infinity, -Infinity);
- testFloor(NaN, NaN);
-
- // Ensure that a negative zero coming from Math.floor is properly handled
- // by other operations.
- function ifloor(x) {
- return 1 / Math.floor(x);
- }
- assertEquals(-Infinity, ifloor(-0));
- assertEquals(-Infinity, ifloor(-0));
- assertEquals(-Infinity, ifloor(-0));
- %OptimizeFunctionOnNextCall(ifloor);
- assertEquals(-Infinity, ifloor(-0));
-
- testFloor(0, 0.1);
- testFloor(0, 0.49999999999999994);
- testFloor(0, 0.5);
- testFloor(0, 0.7);
- testFloor(-1, -0.1);
- testFloor(-1, -0.49999999999999994);
- testFloor(-1, -0.5);
- testFloor(-1, -0.7);
- testFloor(1, 1);
- testFloor(1, 1.1);
- testFloor(1, 1.5);
- testFloor(1, 1.7);
- testFloor(-1, -1);
- testFloor(-2, -1.1);
- testFloor(-2, -1.5);
- testFloor(-2, -1.7);
-
- testFloor(0, Number.MIN_VALUE);
- testFloor(-1, -Number.MIN_VALUE);
- testFloor(Number.MAX_VALUE, Number.MAX_VALUE);
- testFloor(-Number.MAX_VALUE, -Number.MAX_VALUE);
- testFloor(Infinity, Infinity);
- testFloor(-Infinity, -Infinity);
-
- // 2^30 is a smi boundary.
- var two_30 = 1 << 30;
-
- testFloor(two_30, two_30);
- testFloor(two_30, two_30 + 0.1);
- testFloor(two_30, two_30 + 0.5);
- testFloor(two_30, two_30 + 0.7);
-
- testFloor(two_30 - 1, two_30 - 1);
- testFloor(two_30 - 1, two_30 - 1 + 0.1);
- testFloor(two_30 - 1, two_30 - 1 + 0.5);
- testFloor(two_30 - 1, two_30 - 1 + 0.7);
-
- testFloor(-two_30, -two_30);
- testFloor(-two_30, -two_30 + 0.1);
- testFloor(-two_30, -two_30 + 0.5);
- testFloor(-two_30, -two_30 + 0.7);
-
- testFloor(-two_30 + 1, -two_30 + 1);
- testFloor(-two_30 + 1, -two_30 + 1 + 0.1);
- testFloor(-two_30 + 1, -two_30 + 1 + 0.5);
- testFloor(-two_30 + 1, -two_30 + 1 + 0.7);
-
- // 2^52 is a precision boundary.
- var two_52 = (1 << 30) * (1 << 22);
-
- testFloor(two_52, two_52);
- testFloor(two_52, two_52 + 0.1);
- assertEquals(two_52, two_52 + 0.5);
- testFloor(two_52, two_52 + 0.5);
- assertEquals(two_52 + 1, two_52 + 0.7);
- testFloor(two_52 + 1, two_52 + 0.7);
-
- testFloor(two_52 - 1, two_52 - 1);
- testFloor(two_52 - 1, two_52 - 1 + 0.1);
- testFloor(two_52 - 1, two_52 - 1 + 0.5);
- testFloor(two_52 - 1, two_52 - 1 + 0.7);
-
- testFloor(-two_52, -two_52);
- testFloor(-two_52, -two_52 + 0.1);
- testFloor(-two_52, -two_52 + 0.5);
- testFloor(-two_52, -two_52 + 0.7);
-
- testFloor(-two_52 + 1, -two_52 + 1);
- testFloor(-two_52 + 1, -two_52 + 1 + 0.1);
- testFloor(-two_52 + 1, -two_52 + 1 + 0.5);
- testFloor(-two_52 + 1, -two_52 + 1 + 0.7);
-}
-
-
-// Test in a loop to cover the custom IC and GC-related issues.
-for (var i = 0; i < 50; i++) {
- test();
-}
-
-
-// Regression test for a bug where a negative zero coming from Math.floor
-// was not properly handled by other operations.
-function floorsum(i, n) {
- var ret = Math.floor(n);
- while (--i > 0) {
- ret += Math.floor(n);
- }
- return ret;
-}
-assertEquals(-0, floorsum(1, -0));
-%OptimizeFunctionOnNextCall(floorsum);
-// The optimized function will deopt. Run it with enough iterations to try
-// to optimize via OSR (triggering the bug).
-assertEquals(-0, floorsum(100000, -0));
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/math-floor-local.js b/src/3rdparty/v8/test/mjsunit/compiler/math-floor-local.js
deleted file mode 100644
index e44b15c..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/math-floor-local.js
+++ /dev/null
@@ -1,161 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --max-new-space-size=256 --allow-natives-syntax
-
-// Test inlining of Math.floor when assigned to a local.
-var test_id = 0;
-
-function testFloor(expect, input) {
- var test = new Function('n',
- '"' + (test_id++) +
- '";var f = Math.floor; return f(n)');
- assertEquals(expect, test(input));
- assertEquals(expect, test(input));
- assertEquals(expect, test(input));
- %OptimizeFunctionOnNextCall(test);
- assertEquals(expect, test(input));
-}
-
-function zero() {
- var x = 0.5;
- return (function() { return x - 0.5; })();
-}
-
-function test() {
- testFloor(0, 0);
- testFloor(0, zero());
- testFloor(-0, -0);
- testFloor(Infinity, Infinity);
- testFloor(-Infinity, -Infinity);
- testFloor(NaN, NaN);
-
- // Ensure that a negative zero coming from Math.floor is properly handled
- // by other operations.
- function ifloor(x) {
- return 1 / Math.floor(x);
- }
- assertEquals(-Infinity, ifloor(-0));
- assertEquals(-Infinity, ifloor(-0));
- assertEquals(-Infinity, ifloor(-0));
- %OptimizeFunctionOnNextCall(ifloor);
- assertEquals(-Infinity, ifloor(-0));
-
- testFloor(0, 0.1);
- testFloor(0, 0.49999999999999994);
- testFloor(0, 0.5);
- testFloor(0, 0.7);
- testFloor(-1, -0.1);
- testFloor(-1, -0.49999999999999994);
- testFloor(-1, -0.5);
- testFloor(-1, -0.7);
- testFloor(1, 1);
- testFloor(1, 1.1);
- testFloor(1, 1.5);
- testFloor(1, 1.7);
- testFloor(-1, -1);
- testFloor(-2, -1.1);
- testFloor(-2, -1.5);
- testFloor(-2, -1.7);
-
- testFloor(0, Number.MIN_VALUE);
- testFloor(-1, -Number.MIN_VALUE);
- testFloor(Number.MAX_VALUE, Number.MAX_VALUE);
- testFloor(-Number.MAX_VALUE, -Number.MAX_VALUE);
- testFloor(Infinity, Infinity);
- testFloor(-Infinity, -Infinity);
-
- // 2^30 is a smi boundary.
- var two_30 = 1 << 30;
-
- testFloor(two_30, two_30);
- testFloor(two_30, two_30 + 0.1);
- testFloor(two_30, two_30 + 0.5);
- testFloor(two_30, two_30 + 0.7);
-
- testFloor(two_30 - 1, two_30 - 1);
- testFloor(two_30 - 1, two_30 - 1 + 0.1);
- testFloor(two_30 - 1, two_30 - 1 + 0.5);
- testFloor(two_30 - 1, two_30 - 1 + 0.7);
-
- testFloor(-two_30, -two_30);
- testFloor(-two_30, -two_30 + 0.1);
- testFloor(-two_30, -two_30 + 0.5);
- testFloor(-two_30, -two_30 + 0.7);
-
- testFloor(-two_30 + 1, -two_30 + 1);
- testFloor(-two_30 + 1, -two_30 + 1 + 0.1);
- testFloor(-two_30 + 1, -two_30 + 1 + 0.5);
- testFloor(-two_30 + 1, -two_30 + 1 + 0.7);
-
- // 2^52 is a precision boundary.
- var two_52 = (1 << 30) * (1 << 22);
-
- testFloor(two_52, two_52);
- testFloor(two_52, two_52 + 0.1);
- assertEquals(two_52, two_52 + 0.5);
- testFloor(two_52, two_52 + 0.5);
- assertEquals(two_52 + 1, two_52 + 0.7);
- testFloor(two_52 + 1, two_52 + 0.7);
-
- testFloor(two_52 - 1, two_52 - 1);
- testFloor(two_52 - 1, two_52 - 1 + 0.1);
- testFloor(two_52 - 1, two_52 - 1 + 0.5);
- testFloor(two_52 - 1, two_52 - 1 + 0.7);
-
- testFloor(-two_52, -two_52);
- testFloor(-two_52, -two_52 + 0.1);
- testFloor(-two_52, -two_52 + 0.5);
- testFloor(-two_52, -two_52 + 0.7);
-
- testFloor(-two_52 + 1, -two_52 + 1);
- testFloor(-two_52 + 1, -two_52 + 1 + 0.1);
- testFloor(-two_52 + 1, -two_52 + 1 + 0.5);
- testFloor(-two_52 + 1, -two_52 + 1 + 0.7);
-}
-
-
-// Test in a loop to cover the custom IC and GC-related issues.
-for (var i = 0; i < 50; i++) {
- test();
-}
-
-
-// Regression test for a bug where a negative zero coming from Math.floor
-// was not properly handled by other operations.
-function floorsum(i, n) {
- var ret = Math.floor(n);
- while (--i > 0) {
- ret += Math.floor(n);
- }
- return ret;
-}
-assertEquals(-0, floorsum(1, -0));
-%OptimizeFunctionOnNextCall(floorsum);
-// The optimized function will deopt. Run it with enough iterations to try
-// to optimize via OSR (triggering the bug).
-assertEquals(-0, floorsum(100000, -0));
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/multiply-add.js b/src/3rdparty/v8/test/mjsunit/compiler/multiply-add.js
deleted file mode 100644
index 2b4304e..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/multiply-add.js
+++ /dev/null
@@ -1,69 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-// Test expressions that can be computed with a multiply-add instruction.
-
-function f(a, b, c) {
- return a * b + c;
-}
-
-function g(a, b, c) {
- return a + b * c;
-}
-
-function h(a, b, c, d) {
- return a * b + c * d;
-}
-
-assertEquals(5, f(1, 2, 3));
-assertEquals(5, f(1, 2, 3));
-%OptimizeFunctionOnNextCall(f);
-assertEquals(5, f(1, 2, 3));
-assertEquals("2foo", f(1, 2, "foo"));
-assertEquals(5.41, f(1.1, 2.1, 3.1));
-assertEquals(5.41, f(1.1, 2.1, 3.1));
-%OptimizeFunctionOnNextCall(f);
-assertEquals(5.41, f(1.1, 2.1, 3.1));
-
-assertEquals(7, g(1, 2, 3));
-assertEquals(7, g(1, 2, 3));
-%OptimizeFunctionOnNextCall(g);
-assertEquals(7, g(1, 2, 3));
-assertEquals(8.36, g(1.1, 2.2, 3.3));
-assertEquals(8.36, g(1.1, 2.2, 3.3));
-%OptimizeFunctionOnNextCall(g);
-assertEquals(8.36, g(1.1, 2.2, 3.3));
-
-assertEquals(14, h(1, 2, 3, 4));
-assertEquals(14, h(1, 2, 3, 4));
-%OptimizeFunctionOnNextCall(h);
-assertEquals(14, h(1, 2, 3, 4));
-assertEquals(15.02, h(1.1, 2.1, 3.1, 4.1));
-assertEquals(15.02, h(1.1, 2.1, 3.1, 4.1));
-%OptimizeFunctionOnNextCall(h);
-assertEquals(15.02, h(1.1, 2.1, 3.1, 4.1));
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/multiply-sub.js b/src/3rdparty/v8/test/mjsunit/compiler/multiply-sub.js
deleted file mode 100644
index 4793181..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/multiply-sub.js
+++ /dev/null
@@ -1,56 +0,0 @@
-// Copyright 2013 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-// Test expressions that can be computed with a multiply-add instruction.
-
-function f(a, b, c) {
- return a - b * c;
-}
-
-function g(a, b, c) {
- return a * b - c;
-}
-
-function h(a, b, c, d) {
- return a * b - c * d;
-}
-
-assertEquals(-5.41, f(1.1, 2.1, 3.1));
-assertEquals(-5.41, f(1.1, 2.1, 3.1));
-%OptimizeFunctionOnNextCall(f);
-assertEquals(-5.41, f(1.1, 2.1, 3.1));
-
-assertEquals(8.36, g(2.2, 3.3, -1.1));
-assertEquals(8.36, g(2.2, 3.3, -1.1));
-%OptimizeFunctionOnNextCall(g);
-assertEquals(8.36, g(2.2, 3.3, -1.1));
-
-assertEquals(-1.5, h(1.5, 3.0, 12, 0.5));
-assertEquals(-1.5, h(1.5, 3.0, 12, 0.5));
-%OptimizeFunctionOnNextCall(h);
-assertEquals(-1.5, h(1.5, 3.0, 12, 0.5));
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/null-compare.js b/src/3rdparty/v8/test/mjsunit/compiler/null-compare.js
deleted file mode 100644
index e01b555..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/null-compare.js
+++ /dev/null
@@ -1,54 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function IsNull(x) {
- if (x == null) return true; else return false;
-}
-
-assertTrue(IsNull(null), "null == null");
-assertTrue(IsNull(void 0), "void 0 == null");
-assertFalse(IsNull(42), "42 != null");
-
-
-function IsNullStrict(x) {
- if (x === null) return true; else return false;
-}
-
-assertTrue(IsNullStrict(null), "null === null");
-assertFalse(IsNullStrict(void 0), "void 0 != null");
-assertFalse(IsNullStrict(87), "87 !== null");
-
-
-function GimmeFalse(x) {
- if ((x & 1) == null) return true;
- if ((x | 3) === null) return true;
- return false;
-}
-
-assertFalse(GimmeFalse(1), "GimmeFalse(1)");
-assertFalse(GimmeFalse(null), "GimmeFalse(null)");
-assertFalse(GimmeFalse({}), "GimmeFalse({})");
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/objectliterals.js b/src/3rdparty/v8/test/mjsunit/compiler/objectliterals.js
deleted file mode 100644
index 788acb4..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/objectliterals.js
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test object literals with getter, setter and prototype properties.
-
-var o = { x: 41, get bar() { return {x:42} } };
-
-assertEquals(41, o.x);
-assertEquals(42, o.bar.x);
-
-o = { f: function() { return 41 },
- get bar() { return this.x },
- x:0,
- set bar(t) { this.x = t },
- g: function() { return 43 }
-};
-o.bar = 7;
-assertEquals(7, o.bar);
-assertEquals(7, o.x);
-assertEquals(41, o.f());
-assertEquals(43, o.g());
-
-p = {x:42};
-o = {get foo() { return this.x; },
- f: function() { return this.foo + 1 },
- set bar(t) { this.x = t; },
- __proto__: p,
-};
-assertEquals(42, o.x);
-assertEquals(42, o.foo);
-assertEquals(43, o.f());
-o.bar = 44;
-assertEquals(44, o.foo);
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/optimize-bitnot.js b/src/3rdparty/v8/test/mjsunit/compiler/optimize-bitnot.js
deleted file mode 100644
index 28315a4..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/optimize-bitnot.js
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-function f(x) {
- return ~~x;
-}
-
-f(42);
-f(42);
-%OptimizeFunctionOnNextCall(f);
-assertEquals(42, f(42));
-assertEquals(42, f(42.5));
-assertEquals(1/0, 1/f(-0));
-assertEquals(-1, f(0xffffffff));
-assertEquals(0, f(undefined));
-assertEquals(0, f("abc"));
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/optimized-closures.js b/src/3rdparty/v8/test/mjsunit/compiler/optimized-closures.js
deleted file mode 100644
index eaf75f8..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/optimized-closures.js
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test optimized closures.
-
-var a = new Array(100);
-
-function f() {
- var x=0;
- for (var i=0; i<100; i++) {
- var g = function goo(y) {
- function h() {
- if (goo.arguments[0] == 23) return -42;
- return 42;
- }
- return x + y + h(y);
- }
- g(0);
- %OptimizeFunctionOnNextCall(g);
- a[i] = g(i);
- }
-}
-
-f();
-assertEquals(42, a[0]);
-assertEquals(49, a[7]);
-assertEquals(-19, a[23]);
-
-
-
-
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/optimized-for-in.js b/src/3rdparty/v8/test/mjsunit/compiler/optimized-for-in.js
deleted file mode 100644
index cb8c66d..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/optimized-for-in.js
+++ /dev/null
@@ -1,300 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --optimize-for-in --allow-natives-syntax
-
-// Test for-in support in Crankshaft. For simplicity this tests assumes certain
-// fixed iteration order for properties and will have to be adjusted if V8
-// stops following insertion order.
-
-
-function a(t) {
- var result = [];
- for (var i in t) {
- result.push(i + t[i]);
- }
- return result.join('');
-}
-
-// Check that we correctly deoptimize on map check.
-function b(t) {
- var result = [];
- for (var i in t) {
- result.push(i + t[i]);
- delete t[i];
- }
- return result.join('');
-}
-
-// Check that we correctly deoptimize during preparation step.
-function c(t) {
- var result = [];
- for (var i in t) {
- result.push(i + t[i]);
- }
- return result.join('');
-}
-
-// Check that we deoptimize to the place after side effect in the right state.
-function d(t) {
- var result = [];
- var o;
- for (var i in (o = t())) {
- result.push(i + o[i]);
- }
- return result.join('');
-}
-
-// Check that we correctly deoptimize on map check inserted for fused load.
-function e(t) {
- var result = [];
- for (var i in t) {
- delete t[i];
- t[i] = i;
- result.push(i + t[i]);
- }
- return result.join('');
-}
-
-// Nested for-in loops.
-function f(t) {
- var result = [];
- for (var i in t) {
- for (var j in t) {
- result.push(i + j + t[i] + t[j]);
- }
- }
- return result.join('');
-}
-
-// Deoptimization from the inner for-in loop.
-function g(t) {
- var result = [];
- for (var i in t) {
- for (var j in t) {
- result.push(i + j + t[i] + t[j]);
- var v = t[i];
- delete t[i];
- t[i] = v;
- }
- }
- return result.join('');
-}
-
-
-// Break from the inner for-in loop.
-function h(t, deopt) {
- var result = [];
- for (var i in t) {
- for (var j in t) {
- result.push(i + j + t[i] + t[j]);
- break;
- }
- }
- deopt.deopt;
- return result.join('');
-}
-
-// Continue in the inner loop.
-function j(t, deopt) {
- var result = [];
- for (var i in t) {
- for (var j in t) {
- result.push(i + j + t[i] + t[j]);
- continue;
- }
- }
- deopt.deopt;
- return result.join('');
-}
-
-// Continue of the outer loop.
-function k(t, deopt) {
- var result = [];
- outer: for (var i in t) {
- for (var j in t) {
- result.push(i + j + t[i] + t[j]);
- continue outer;
- }
- }
- deopt.deopt;
- return result.join('');
-}
-
-// Break of the outer loop.
-function l(t, deopt) {
- var result = [];
- outer: for (var i in t) {
- for (var j in t) {
- result.push(i + j + t[i] + t[j]);
- break outer;
- }
- }
- deopt.deopt;
- return result.join('');
-}
-
-// Test deoptimization from inlined frame (currently it is not inlined).
-function m0(t, deopt) {
- for (var i in t) {
- for (var j in t) {
- deopt.deopt;
- return i + j + t[i] + t[j];
- }
- }
-}
-
-function m(t, deopt) {
- return m0(t, deopt);
-}
-
-
-function tryFunction(s, mkT, f) {
- var d = {deopt: false};
- assertEquals(s, f(mkT(), d));
- assertEquals(s, f(mkT(), d));
- assertEquals(s, f(mkT(), d));
- %OptimizeFunctionOnNextCall(f);
- assertEquals(s, f(mkT(), d));
- assertEquals(s, f(mkT(), {}));
-}
-
-var s = "a1b2c3d4";
-function mkTable() { return { a: "1", b: "2", c: "3", d: "4" }; }
-
-
-tryFunction(s, mkTable, a);
-tryFunction(s, mkTable, b);
-tryFunction("0a1b2c3d", function () { return "abcd"; }, c);
-tryFunction("0a1b2c3d", function () {
- var cnt = false;
- return function () {
- cnt = true;
- return "abcd";
- }
-}, d);
-tryFunction("aabbccdd", mkTable, e);
-
-function mkSmallTable() { return { a: "1", b: "2" }; }
-
-tryFunction("aa11ab12ba21bb22", mkSmallTable, f);
-tryFunction("aa11ab12bb22ba21", mkSmallTable, g);
-tryFunction("aa11ba21", mkSmallTable, h);
-tryFunction("aa11ab12ba21bb22", mkSmallTable, j);
-tryFunction("aa11ba21", mkSmallTable, h);
-tryFunction("aa11ba21", mkSmallTable, k);
-tryFunction("aa11", mkSmallTable, l);
-tryFunction("aa11", mkSmallTable, m);
-
-// Test handling of null.
-tryFunction("", function () {
- return function () { return null; }
-}, function (t) {
- for (var i in t()) { return i; }
- return "";
-});
-
-// Test smis.
-tryFunction("", function () {
- return function () { return 11; }
-}, function (t) {
- for (var i in t()) { return i; }
- return "";
-});
-
-// Test LoadFieldByIndex for out of object properties.
-function O() { this.a = 1; }
-for (var i = 0; i < 10; i++) new O();
-tryFunction("a1b2c3d4e5f6", function () {
- var o = new O();
- o.b = 2;
- o.c = 3;
- o.d = 4;
- o.e = 5;
- o.f = 6;
- return o;
-}, function (t) {
- var r = [];
- for (var i in t) r.push(i + t[i]);
- return r.join('');
-});
-
-// Test OSR inside for-in.
-function osr_inner(t, limit) {
- var r = 1;
- for (var x in t) {
- if (t.hasOwnProperty(x)) {
- for (var i = 0; i < t[x].length; i++) {
- r += t[x][i];
- if (i === limit) {
- %OptimizeFunctionOnNextCall(osr_inner, "osr");
- }
- }
- r += x;
- }
- }
- return r;
-}
-
-function osr_outer(t, osr_after) {
- var r = 1;
- for (var x in t) {
- for (var i = 0; i < t[x].length; i++) {
- r += t[x][i];
- }
- if (x === osr_after) {
- %OptimizeFunctionOnNextCall(osr_outer, "osr");
- }
- r += x;
- }
- return r;
-}
-
-function osr_outer_and_deopt(t, osr_after) {
- var r = 1;
- for (var x in t) {
- r += x;
- if (x == osr_after) {
- %OptimizeFunctionOnNextCall(osr_outer_and_deopt, "osr");
- }
- }
- return r;
-}
-
-function test_osr() {
- with ({}) {} // Disable optimizations of this function.
- var arr = new Array(20);
- for (var i = 0; i < arr.length; i++) {
- arr[i] = i + 1;
- }
- arr.push(":"); // Force deopt at the end of the loop.
- assertEquals("211:x1234567891011121314151617181920:y", osr_inner({x: arr, y: arr}, (arr.length / 2) | 0));
- assertEquals("7x456y", osr_outer({x: [1,2,3], y: [4,5,6]}, "x"));
- assertEquals("101234567", osr_outer_and_deopt([1,2,3,4,5,6,7,8], "5"));
-}
-
-test_osr();
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/optimized-function-calls.js b/src/3rdparty/v8/test/mjsunit/compiler/optimized-function-calls.js
deleted file mode 100644
index c3e69d7..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/optimized-function-calls.js
+++ /dev/null
@@ -1,81 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --expose-gc
-
-function f() {
- gc();
- return 87;
-}
-
-
-var x = 42, y = 99;
-function g() {
- return x | f() | (y | (x | (f() | x)));
-}
-f(); // Give us a chance to optimize f.
-assertEquals(42 | 87 | 99, g());
-
-
-// Regression test for issue where we would try do an illegal
-// compile-time lookup on a null prototype.
-var object = { f: function() { return 42; }, x: 42 };
-delete object.x;
-function call_f(o) {
- return o.f();
-}
-for (var i = 0; i < 5; i++) call_f(object);
-%OptimizeFunctionOnNextCall(call_f);
-call_f(object);
-
-
-// Check that nested global function calls work.
-function f0() {
- return 42;
-}
-
-function f1(a) {
- return a;
-}
-
-function f2(a, b) {
- return a * b;
-}
-
-function f3(a, b, c) {
- return a + b - c;
-}
-
-function f4(a, b, c, d) {
- return a * b + c - d;
-}
-
-function nested() {
- return f4(f3(f2(f1(f0()),f0()),f1(f0()),f0()),f2(f1(f0()),f0()),f1(f0()),f0())
- + f4(f0(),f1(f0()),f2(f1(f0()),f0()),f3(f2(f1(f0()),f0()),f1(f0()),f0()));
-}
-assertEquals(3113460, nested());
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/parallel-proto-change.js b/src/3rdparty/v8/test/mjsunit/compiler/parallel-proto-change.js
deleted file mode 100644
index 1aa135a..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/parallel-proto-change.js
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright 2013 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-// Flags: --parallel-recompilation --manual-parallel-recompilation
-
-function f(foo) { return foo.bar(); }
-
-var o = {};
-o.__proto__ = { __proto__: { bar: function() { return 1; } } };
-
-assertEquals(1, f(o));
-assertEquals(1, f(o));
-
-%ForceParallelRecompile(f);
-// Change the prototype chain during optimization.
-o.__proto__.__proto__ = { bar: function() { return 2; } };
-%InstallRecompiledCode(f);
-
-assertEquals(2, f(o));
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/pic.js b/src/3rdparty/v8/test/mjsunit/compiler/pic.js
deleted file mode 100644
index f5b136c..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/pic.js
+++ /dev/null
@@ -1,72 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-function GetX(o) { return o.x; }
-function CallF(o) { return o.f(); }
-function SetX(o) { o.x = 42; }
-function SetXY(o,y) { return o.x = y; }
-
-
-function Test(o) {
- SetX(o);
- assertEquals(42, GetX(o));
- assertEquals(87, SetXY(o, 87));
- assertEquals(87, GetX(o));
- assertTrue(SetXY(o, o) === o);
- assertTrue(o === GetX(o), "o === GetX(o)");
- assertEquals("hest", SetXY(o, "hest"));
- assertEquals("hest", GetX(o));
- assertTrue(SetXY(o, Test) === Test);
- assertTrue(Test === GetX(o), "Test === GetX(o)");
- assertEquals(99, CallF(o));
-}
-
-// Create a bunch of objects with different layouts.
-var o1 = { x: 0, y: 1 };
-var o2 = { y: 1, x: 0 };
-var o3 = { y: 1, z: 2, x: 0 };
-o1.f = o2.f = o3.f = function() { return 99; }
-
-// Run the test until we're fairly sure we've optimized the
-// polymorphic property access.
-for (var i = 0; i < 5; i++) {
- Test(o1);
- Test(o2);
- Test(o3);
-}
-%OptimizeFunctionOnNextCall(Test);
-Test(o1);
-Test(o2);
-Test(o3);
-
-// Make sure that the following doesn't crash.
-GetX(0);
-SetX(0);
-SetXY(0, 0);
-assertThrows("CallF(0)", TypeError);
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/property-calls.js b/src/3rdparty/v8/test/mjsunit/compiler/property-calls.js
deleted file mode 100644
index ad5ca81..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/property-calls.js
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-function f(o) { return o.g(); }
-function g() { return 42; }
-
-var object = { };
-object.g = g;
-for (var i = 0; i < 5; i++) f(object);
-%OptimizeFunctionOnNextCall(f);
-f(object);
-assertEquals(42, f(object));
-
-object = { g: function() { return 87; } };
-assertEquals(87, f(object));
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/property-refs.js b/src/3rdparty/v8/test/mjsunit/compiler/property-refs.js
deleted file mode 100644
index 6f1f19f..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/property-refs.js
+++ /dev/null
@@ -1,55 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-function Load(o) {
- return o.outer.x | o.outer.inner.y;
-}
-
-function StoreXY(o, x, y) {
- o.outer.x = x;
- o.outer.inner.y = y;
-}
-
-function LoadXY(x, y) {
- var object = {
- outer: {
- x: 0,
- inner: { y: 0 }
- }
- };
- StoreXY(object, x, y);
- return Load(object);
-}
-
-for (var i = 0; i < 5; i++) LoadXY(i, i);
-%OptimizeFunctionOnNextCall(LoadXY);
-LoadXY(6, 6);
-assertEquals(42 | 87, LoadXY(42, 87));
-assertEquals(42 | 87, LoadXY(42, 87));
-assertEquals(42 | 99, LoadXY(42, "99"));
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/property-simple.js b/src/3rdparty/v8/test/mjsunit/compiler/property-simple.js
deleted file mode 100644
index b0f0ffa..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/property-simple.js
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test for property access
-
-var a;
-var b;
-
-code = "a = {x:8, y:9}; a.x";
-
-assertEquals(8, eval(code));
-
-code = "b = {z:a}; b.z.y";
-
-assertEquals(9, eval(code));
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/property-static.js b/src/3rdparty/v8/test/mjsunit/compiler/property-static.js
deleted file mode 100644
index 0702134..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/property-static.js
+++ /dev/null
@@ -1,69 +0,0 @@
-// Copyright 2013 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test usage of static type information for loads that would otherwise
-// turn into polymorphic or generic loads.
-
-// Prepare a highly polymorphic load to be used by all tests.
-Object.prototype.load = function() { return this.property; };
-Object.prototype.load.call({ A:0, property:10 });
-Object.prototype.load.call({ A:0, B:0, property:11 });
-Object.prototype.load.call({ A:0, B:0, C:0, property:12 });
-Object.prototype.load.call({ A:0, B:0, C:0, D:0, property:13 });
-Object.prototype.load.call({ A:0, B:0, C:0, D:0, E:0, property:14 });
-Object.prototype.load.call({ A:0, B:0, C:0, D:0, E:0, F:0, property:15 });
-
-// Test for object literals.
-(function() {
- function f(x) {
- var object = { property:x };
- return object.load();
- }
-
- assertSame(1, f(1));
- assertSame(2, f(2));
- %OptimizeFunctionOnNextCall(f);
- assertSame(3, f(3));
-})();
-
-// Test for inlined constructors.
-(function() {
- function c(x) {
- this.property = x;
- }
- function f(x) {
- var object = new c(x);
- return object.load();
- }
-
- assertSame(1, f(1));
- assertSame(2, f(2));
- %OptimizeFunctionOnNextCall(f);
- assertSame(3, f(3));
-})();
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/property-stores.js b/src/3rdparty/v8/test/mjsunit/compiler/property-stores.js
deleted file mode 100644
index 4ffac07..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/property-stores.js
+++ /dev/null
@@ -1,51 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-var a = 42;
-
-var obj = {x: 0,
- f: function() { this.x = 7; },
- g: function() { this.x = a | 1; },
- h: function() { this.x = a; }};
-
-var i;
-for (i = 0; i < 5; i++) { obj.f(); }
-%OptimizeFunctionOnNextCall(obj.f);
-obj.f();
-assertEquals(7, obj.x);
-
-for (i = 0; i < 5; i++) { obj.g(); }
-%OptimizeFunctionOnNextCall(obj.g);
-obj.g();
-assertEquals(43, obj.x);
-
-for (i = 0; i < 5; i++) { obj.h(); }
-%OptimizeFunctionOnNextCall(obj.h);
-obj.h();
-assertEquals(42, obj.x);
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/proto-chain-constant.js b/src/3rdparty/v8/test/mjsunit/compiler/proto-chain-constant.js
deleted file mode 100644
index 0d9e3b0..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/proto-chain-constant.js
+++ /dev/null
@@ -1,55 +0,0 @@
-// Copyright 2013 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test loading a constant function on the prototype chain.
-
-var c = Object.create;
-var obj4 = c(null, { f4: { value: function() { return 4; }, writable: true }});
-var obj3 = c(obj4, { f3: { value: function() { return 3; }, writable: true }});
-var obj2 = c(obj3, { f2: { value: function() { return 2; }, writable: true }});
-var obj1 = c(obj2, { f1: { value: function() { return 1; }, writable: true }});
-var obj0 = c(obj1, { f0: { value: function() { return 0; }, writable: true }});
-
-function get4(obj) { return obj.f4; }
-
-assertEquals(4, get4(obj0)());
-assertEquals(4, get4(obj0)());
-%OptimizeFunctionOnNextCall(get4);
-assertEquals(4, get4(obj0)());
-obj4.f4 = function() { return 5; };
-assertEquals(5, get4(obj0)());
-
-function get3(obj) { return obj.f3; }
-
-assertEquals(3, get3(obj0)());
-assertEquals(3, get3(obj0)());
-%OptimizeFunctionOnNextCall(get3);
-assertEquals(3, get3(obj0)());
-obj2.f3 = function() { return 6; };
-assertEquals(6, get3(obj0)());
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/proto-chain-load.js b/src/3rdparty/v8/test/mjsunit/compiler/proto-chain-load.js
deleted file mode 100644
index 60c6431..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/proto-chain-load.js
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test HLoadNamedField on the proto chain.
-
-var obj4 = Object.create(null, { f4: {value: 4} });
-var obj3 = Object.create(obj4, { f3: {value: 3} });
-var obj2 = Object.create(obj3, { f2: {value: 2} });
-var obj1 = Object.create(obj2, { f1: {value: 1} });
-var obj0 = Object.create(obj1, { f0: {value: 0} });
-
-function get4(obj) { return obj.f4; }
-
-assertEquals(4, get4(obj0));
-assertEquals(4, get4(obj0));
-%OptimizeFunctionOnNextCall(get4);
-assertEquals(4, get4(obj0));
-assertEquals(4, get4(obj0));
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/recursive-deopt.js b/src/3rdparty/v8/test/mjsunit/compiler/recursive-deopt.js
deleted file mode 100644
index c921ade..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/recursive-deopt.js
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-function f(n) {
- // Force deopt in both leaf case and when returning. To make
- // debugging easier, the operation that bails out (<<) is so simple
- // that it doesn't cause GCs.
- if (n == 0) return 1 << one;
- return f(n - 1) << one;
-}
-
-
-var one = 1;
-for (var i = 0; i < 5; i++) assertEquals(1 << 5, f(4));
-%OptimizeFunctionOnNextCall(f);
-assertEquals(1 << 5, f(4));
-
-var one = { valueOf: function() { return 1; } };
-assertEquals(1 << 5, f(4));
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/regress-0.js b/src/3rdparty/v8/test/mjsunit/compiler/regress-0.js
deleted file mode 100644
index df6dfee..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/regress-0.js
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function TestNestedLoops() {
- var sum = 0;
- for (var i = 0; i < 200; i = i + 1) {
- for (var j = 0; j < 200; j = j + 1) {
- sum = sum + 1;
- }
- }
- return sum;
-}
-assertEquals(200 * 200, TestNestedLoops());
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/regress-1.js b/src/3rdparty/v8/test/mjsunit/compiler/regress-1.js
deleted file mode 100644
index cbae1a8..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/regress-1.js
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function DaysInYear(y) {
- if (y % 4 != 0) return 365;
- if (y % 4 == 0 && y % 100 != 0) return 366;
- if (y % 100 == 0 && y % 400 != 0) return 365;
- if (y % 400 == 0) return 366;
-}
-assertEquals(365, DaysInYear(1999));
-assertEquals(366, DaysInYear(2000));
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/regress-106351.js b/src/3rdparty/v8/test/mjsunit/compiler/regress-106351.js
deleted file mode 100644
index 2a67a05..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/regress-106351.js
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test Math.round with the input reused in the same expression.
-function test(x) {
- var v = Math.round(x) - x;
- assertEquals(0.5, v);
-}
-
-for (var i = 0; i < 5; ++i) test(0.5);
-%OptimizeFunctionOnNextCall(test);
-test(0.5);
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/regress-1085.js b/src/3rdparty/v8/test/mjsunit/compiler/regress-1085.js
deleted file mode 100644
index cea587f..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/regress-1085.js
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test correct checks for negative zero.
-// This test relies on specific type feedback for Math.min.
-function f(x) { return 1 / Math.min(1, x); }
-
-for (var i = 0; i < 5; ++i) f(1);
-%OptimizeFunctionOnNextCall(f);
-%OptimizeFunctionOnNextCall(Math.min);
-
-assertEquals(-Infinity, f(-0));
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/regress-1394.js b/src/3rdparty/v8/test/mjsunit/compiler/regress-1394.js
deleted file mode 100644
index b1ce192..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/regress-1394.js
+++ /dev/null
@@ -1,59 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-function f(x) {
- var ret = -1;
- switch(x){
- default:
- case 0:
- ret = 0;
- break;
- case 1:
- ret = 1;
- break;
- case 2:
- ret = 2;
- break;
- case 3:
- ret = 3;
- break;
- case 4:
- ret = 4;
- break;
- }
- return ret;
-};
-
-for (var i = 0; i < 3; i++) assertEquals(i, f(i));
-
-%OptimizeFunctionOnNextCall(f);
-
-assertEquals(0, f(0));
-assertEquals(1, f(1));
-
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/regress-2.js b/src/3rdparty/v8/test/mjsunit/compiler/regress-2.js
deleted file mode 100644
index a26ef32..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/regress-2.js
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// The compilation of this function currently fails when resolving
-// control flow in the register allocator.
-function TestCreateString(n)
-{
- var l = n * 1;
- var r = 'r';
- while (r.length < n)
- {
- r = r + r;
- }
- return r;
-}
-
-assertEquals("r", TestCreateString(1));
-assertEquals("rr", TestCreateString(2));
-assertEquals("rrrr", TestCreateString(3));
-assertEquals("rrrrrrrr", TestCreateString(6));
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/regress-3.js b/src/3rdparty/v8/test/mjsunit/compiler/regress-3.js
deleted file mode 100644
index 6aa7078..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/regress-3.js
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function fib(n) {
- var f0 = 0, f1 = 1;
- for (; n > 0; n = n -1) {
- var f2 = f0 + f1;
- f0 = f1; f1 = f2;
- }
- return f0;
-}
-
-assertEquals(2111485077978050, fib(75));
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/regress-3136962.js b/src/3rdparty/v8/test/mjsunit/compiler/regress-3136962.js
deleted file mode 100644
index 147d833..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/regress-3136962.js
+++ /dev/null
@@ -1,51 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Reduced regression test for a global value numbering bug. Original
-// value of global variable height was reused even after reassignment.
-
-var height = 267;
-
-var count = 0;
-function inner() { height = 0; ++count; }
-function outer() {}
-
-function test() {
- for (var i = 0; i < height; ++i) {
- for (var j = -6; j < 7; ++j) {
- if (i + j < 0 || i + j >= height) continue;
- for (var k = -6; k < 7; ++k) {
- inner();
- }
- }
- outer();
- }
-}
-
-test();
-
-assertEquals(13, count);
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/regress-3185901.js b/src/3rdparty/v8/test/mjsunit/compiler/regress-3185901.js
deleted file mode 100644
index 1e1bbe7..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/regress-3185901.js
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Inlined function call in a test context. Should never crash even
-// with --always-opt.
-var x;
-
-function f() { if (g()) { } }
-function g() { if (x) { return true; } }
-
-f();
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/regress-3218915.js b/src/3rdparty/v8/test/mjsunit/compiler/regress-3218915.js
deleted file mode 100644
index dfce815..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/regress-3218915.js
+++ /dev/null
@@ -1,52 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Regression test for failure to deoptimize properly when the most recent
-// side effect occurred in a comma expression in an effect context.
-
-// An unoptimizable function, calling it is a side effect.
-function side_effect() { try {} finally {} return "wrong"; }
-
-// A function to observe the value of its first argument.
-function observe(x, y) { try {} finally {} return x; }
-
-// If we optimize for x a smi, then x a string will deopt. The side effect
-// immediately before the deopt is in a comma expresion in an effect context
-// (i.e., itself the left subexpression of a comma expression).
-function test(x) { return observe(this, ((0, side_effect()), x + 1)); }
-
-// Run test enough times to get it optimized.
-for (var i = 0; i < 5; ++i) test(0);
-%OptimizeFunctionOnNextCall(test);
-test(0);
-
-// Force test to deopt. If it behaves normally, it should return the global
-// object. If the value of the call to side_effect() is lingering after the
-// deopt, it will return the string "wrong".
-assertFalse(test("a") === "wrong");
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/regress-3249650.js b/src/3rdparty/v8/test/mjsunit/compiler/regress-3249650.js
deleted file mode 100644
index 289e061..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/regress-3249650.js
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Among other things, this code covers the case of deoptimization
-// after a compare expression in an effect context.
-
-function f0(x) { try { } catch (e) {}}
-function f1(x) { try { } catch (e) {}}
-function f2(x) { try { } catch (e) {}}
-function f3(x) { try { } catch (e) {}}
-
-var object = { a: "", b: false, c: {}};
-object.f = function(x) { return this; }
-
-
-function test(x) {
- f0(x);
- f1(x);
- f2(x);
- f3(x);
- x.a.b == "";
- object.f("A").b = true;
- object.f("B").a = "";
- object.f("C").c.display = "A";
- object.f("D").c.display = "A";
-}
-
-var x = {a: {b: "" }};
-for (var i = 0; i < 20000; i++) test(x);
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/regress-3260426.js b/src/3rdparty/v8/test/mjsunit/compiler/regress-3260426.js
deleted file mode 100644
index dfef424..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/regress-3260426.js
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Falling off the end of a function returns the undefined value
-// (false in a test context). This should happen even when inlined
-// (e.g., if --always-opt) and when it is the only exit from the
-// function.
-function always_false() {}
-function test() { return always_false() ? 0 : 1; }
-
-assertEquals(1, test());
-
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/regress-4.js b/src/3rdparty/v8/test/mjsunit/compiler/regress-4.js
deleted file mode 100644
index 0ec9a12..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/regress-4.js
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test deoptimization after a loop.
-function f(p) {
- var y=0;
- for (var x=0; x<10; x++) {
- if (x > 5) { y=y+p; break;}
- }
- return y+x;
-}
-
-for (var i=0; i<10000000; i++) f(42);
-
-var result = f("foo");
-assertEquals("0foo6", result);
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/regress-5.js b/src/3rdparty/v8/test/mjsunit/compiler/regress-5.js
deleted file mode 100644
index 5488d0e..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/regress-5.js
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test breaking out of labelled blocks.
-function f(y) {
- var x = 0;
-
- foo: {
- x++;
- bar: {
- if (y == 0) break bar; else break foo;
- }
- x++;
- }
- return x;
-}
-
-assertEquals(2, f(0));
-assertEquals(1, f(1));
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/regress-6.js b/src/3rdparty/v8/test/mjsunit/compiler/regress-6.js
deleted file mode 100644
index e92b0e5..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/regress-6.js
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function f(a, b, c) {
- if (a == 0 || b == 0) return a;
- return a + c;
-}
-
-assertEquals(0, f(0, 0, 0));
-assertEquals(0, f(0, 1, 0));
-assertEquals(1, f(1, 0, 0));
-assertEquals(2, f(2, 1, 0));
-
-// Force deoptimization in --always-opt mode when evaluating
-// the 'a + c' expression. Make sure this doesn't end up
-// returning 'a'.
-assertEquals(1.5, f(1, 1, 0.5));
-assertEquals(2.5, f(2, 1, 0.5));
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/regress-7.js b/src/3rdparty/v8/test/mjsunit/compiler/regress-7.js
deleted file mode 100644
index d6034f9..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/regress-7.js
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test correct truncation of tagged values.
-var G = 42;
-
-function f() {
- var v = G;
- var w = v >> 0;
- return w;
-}
-
-for(var i=0; i<10000; i++) f();
-
-assertEquals(G, f());
-G = 2000000000;
-assertEquals(G, f());
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/regress-8.js b/src/3rdparty/v8/test/mjsunit/compiler/regress-8.js
deleted file mode 100644
index 3a23885..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/regress-8.js
+++ /dev/null
@@ -1,109 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Regression test for the register allocator.
-var gp = "";
-var yE = "";
-var W = "";
-var LA = "";
-var zE = "";
-var Fp = "";
-var AE = "";
-var Gob = "";
-var Hob = "";
-var Iob = "";
-var Job = "";
-var Kob = "";
-var Lob = "";
-var Mob = "";
-var p = "";
-function O() { this.append = function(a,b,c,d,e) { return a + b + c + d + e; } }
-
-function Nob(b,a) {
- var c;
- if (b==2) {
- c=new O;
- c.append(gp,
- yE,
- W,
- LA+(a.Un+(zE+(Fp+(LA+(a.Im+(zE+(AE+(LA+(a.total+Gob))))))))),
- p);
- c=c.toString();
- } else {
- if (b==1) {
- if(a.total>=2E6) {
- c=new O;
- c.append(gp,yE,W,LA+(a.Un+(zE+(Fp+(LA+(a.Im+Hob))))),p);
- c=c.toString();
- } else {
- if(a.total>=2E5) {
- c=new O;
- c.append(gp,yE,W,LA+(a.Un+(zE+(Fp+(LA+(a.Im+Iob))))),p);
- c=c.toString();
- } else {
- if(a.total>=2E4) {
- c=new O;
- c.append(gp,yE,W,LA+(a.Un+(zE+(Fp+(LA+(a.Im+Job))))),p);
- c=c.toString();
- } else {
- if(a.total>=2E3) {
- c=new O;
- c.append(gp,yE,W,LA+(a.Un+(zE+(Fp+(LA+(a.Im+Kob))))),p);
- c=c.toString();
- } else {
- if(a.total>=200) {
- c=new O;
- c.append(gp,yE,W,LA+(a.Un+(zE+(Fp+(LA+(a.Im+Lob))))),p);
- c=c.toString();
- } else {
- c=new O;
- c.append(gp,yE,W,
- LA+(a.Un+(zE+(Fp+(LA+(a.Im+(zE+(Mob+(LA+(a.total+zE))))))))),
- p);
- c=c.toString();
- }
- c=c;
- }
- c=c;
- }
- c=c;
- }
- c=c;
- }
- c=c;
- } else {
- c=new O;
- c.append(gp,yE,W,
- LA+(a.Un+(zE+(Fp+(LA+(a.Im+(zE+(AE+(LA+(a.total+zE))))))))),
- p);
- c=c.toString();
- }
- c=c;
- }
- return c;
-}
-Nob(2, { Un: "" , Im: "" , total: 42});
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/regress-96989.js b/src/3rdparty/v8/test/mjsunit/compiler/regress-96989.js
deleted file mode 100644
index aedeb24..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/regress-96989.js
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-// Flags: --allow-natives-syntax
-
-// Test correct handling of uninitialized const.
-
-function test() {
- for (var i = 41; i < 42; i++) {
- var c = t ^ i;
- }
- const t;
- return c;
-}
-
-for (var i=0; i<10; i++) test();
-%OptimizeFunctionOnNextCall(test);
-assertEquals(41, test());
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/regress-arguments.js b/src/3rdparty/v8/test/mjsunit/compiler/regress-arguments.js
deleted file mode 100644
index ebae5a0..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/regress-arguments.js
+++ /dev/null
@@ -1,52 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test of arguments.
-
-// Test passing null or undefined as receiver.
-function f() { return this.foo; }
-
-function g() { return f.apply(null, arguments); }
-function h() { return f.apply(void 0, arguments); }
-
-var foo = 42;
-
-for (var i=0; i<1000000; i++) assertEquals(42, g());
-for (var i=0; i<1000000; i++) assertEquals(42, h());
-
-var G1 = 21;
-var G2 = 22;
-
-function u() {
- var v = G1 + G2;
- return f.apply(v, arguments);
-}
-
-Number.prototype.foo = 42;
-delete Number.prototype.foo;
-
-for (var i=0; i<100000; i++) assertEquals(void 0, u());
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/regress-arrayliteral.js b/src/3rdparty/v8/test/mjsunit/compiler/regress-arrayliteral.js
deleted file mode 100644
index 8938785..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/regress-arrayliteral.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Regression test for array literals.
-
-var G = 41;
-var H = 42;
-function f() { var v = [G,H]; return v[1]; }
-assertEquals(42, f());
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/regress-closures-with-eval.js b/src/3rdparty/v8/test/mjsunit/compiler/regress-closures-with-eval.js
deleted file mode 100644
index 57afb16..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/regress-closures-with-eval.js
+++ /dev/null
@@ -1,56 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Verifies that closures in presence of eval work fine.
-function withEval(expr, filter) {
- function walk(v) {
- for (var i in v) {
- for (var i in v) {}
- }
- %OptimizeFunctionOnNextCall(filter);
- return filter(v);
- }
-
- var o = eval(expr);
- return walk(o);
-}
-
-function makeTagInfoJSON(n) {
- var a = new Array(n);
- for (var i = 0; i < n; i++) a.push('{}');
- return a;
-}
-
-var expr = '([' + makeTagInfoJSON(128).join(', ') + '])'
-
-for (var n = 0; n < 5; n++) {
- withEval(expr, function(a) { return a; });
-}
-%OptimizeFunctionOnNextCall(withEval);
-withEval(expr, function(a) { return a; }); \ No newline at end of file
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/regress-const.js b/src/3rdparty/v8/test/mjsunit/compiler/regress-const.js
deleted file mode 100644
index aa55d0f..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/regress-const.js
+++ /dev/null
@@ -1,68 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test const initialization and assignments.
-function f() {
- var x = 42;
- while (true) {
- const y = x;
- if (--x == 0) return y;
- }
-}
-
-function g() {
- const x = 42;
- x += 1;
- return x;
-}
-
-for (var i = 0; i < 5; i++) {
- f();
- g();
-}
-
-%OptimizeFunctionOnNextCall(f);
-%OptimizeFunctionOnNextCall(g);
-
-assertEquals(42, f());
-assertEquals(42, g());
-
-
-function h(a, b) {
- var r = a + b;
- const X = 42;
- return r + X;
-}
-
-for (var i = 0; i < 5; i++) h(1,2);
-
-%OptimizeFunctionOnNextCall(h);
-
-assertEquals(45, h(1,2));
-assertEquals("foo742", h("foo", 7));
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/regress-deopt-call-as-function.js b/src/3rdparty/v8/test/mjsunit/compiler/regress-deopt-call-as-function.js
deleted file mode 100644
index c408096..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/regress-deopt-call-as-function.js
+++ /dev/null
@@ -1,62 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test deoptimization after inlined call.
-
-function bar(a, b) {try { return a; } finally { } }
-
-function test_context() {
- function foo(x) { return 42; }
- var s, t;
- for (var i = 0x7fff0000; i < 0x80000000; i++) {
- bar(t = foo(i) ? bar(42 + i - i) : bar(0), s = i + t);
- }
- return s;
-}
-assertEquals(0x7fffffff + 42, test_context());
-
-
-function value_context() {
- function foo(x) { return 42; }
- var s, t;
- for (var i = 0x7fff0000; i < 0x80000000; i++) {
- bar(t = foo(i), s = i + t);
- }
- return s;
-}
-assertEquals(0x7fffffff + 42, value_context());
-
-
-function effect_context() {
- function foo(x) { return 42; }
- var s, t;
- for (var i = 0x7fff0000; i < 0x80000000; i++) {
- bar(foo(i), s = i + 42);
- }
- return s;
-}
-assertEquals(0x7fffffff + 42, effect_context());
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/regress-funarguments.js b/src/3rdparty/v8/test/mjsunit/compiler/regress-funarguments.js
deleted file mode 100644
index c913bd9..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/regress-funarguments.js
+++ /dev/null
@@ -1,86 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test function.arguments.
-
-function A() {}
-function B() {}
-
-function fee(x, y) {
- if (x == 1) return fee["arg" + "uments"];
- if (x == 2) return gee["arg" + "uments"];
- return 42;
-}
-
-function gee(x) { return this.f(2 - x, "f"); }
-
-function foo(x, y) {
- if (x == 0) return foo["arg" + "uments"];
- if (x == 1) return goo["arg" + "uments"];
- return 42;
-}
-
-function goo(x) { return this.f(x, "f"); }
-
-A.prototype.f = fee;
-A.prototype.g = gee;
-
-B.prototype.f = foo;
-B.prototype.g = goo;
-
-var o = new A();
-
-function hej(x) {
- if (x == 0) return o.g(x, "h");
- if (x == 1) return o.g(x, "h");
- return o.g(x, "z");
-}
-
-function opt() {
- for (var k=0; k<2; k++) {
- for (var i=0; i<5; i++) o.g(i, "g");
- for (var j=0; j<5; j++) hej(j);
- }
- %OptimizeFunctionOnNextCall(o.g);
- %OptimizeFunctionOnNextCall(hej);
-}
-
-opt();
-assertArrayEquals([0, "g"], o.g(0, "g"));
-assertArrayEquals([1, "f"], o.g(1, "g"));
-assertArrayEquals([0, "h"], hej(0));
-assertArrayEquals([1, "f"], hej(1));
-
-o = new B();
-
-opt();
-assertArrayEquals([0, "f"], o.g(0, "g"));
-assertArrayEquals([1, "g"], o.g(1, "g"));
-assertArrayEquals([0, "f"], hej(0));
-assertArrayEquals([1, "h"], hej(1));
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/regress-funcaller.js b/src/3rdparty/v8/test/mjsunit/compiler/regress-funcaller.js
deleted file mode 100644
index 5c2a597..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/regress-funcaller.js
+++ /dev/null
@@ -1,78 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test function.caller.
-function A() {}
-
-function fun(x) {
- if (x == 0) return fun.caller;
- if (x == 1) return gee.caller;
- return 42;
-}
-function gee(x) { return this.f(x); }
-
-A.prototype.f = fun;
-A.prototype.g = gee;
-
-var o = new A();
-
-for (var i=0; i<5; i++) {
- o.g(i);
-}
-%OptimizeFunctionOnNextCall(o.g);
-assertEquals(gee, o.g(0));
-assertEquals(null, o.g(1));
-
-// Test when called from another function.
-function hej(x) {
- if (x == 0) return o.g(x);
- if (x == 1) return o.g(x);
- return o.g(x);
-}
-
-for (var j=0; j<5; j++) {
- hej(j);
-}
-%OptimizeFunctionOnNextCall(hej);
-assertEquals(gee, hej(0));
-assertEquals(hej, hej(1));
-
-// Test when called from eval.
-function from_eval(x) {
- if (x == 0) return eval("o.g(x);");
- if (x == 1) return eval("o.g(x);");
- return o.g(x);
-}
-
-for (var j=0; j<5; j++) {
- from_eval(j);
-}
-%OptimizeFunctionOnNextCall(from_eval);
-assertEquals(gee, from_eval(0));
-assertEquals(from_eval, from_eval(1));
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/regress-gap.js b/src/3rdparty/v8/test/mjsunit/compiler/regress-gap.js
deleted file mode 100644
index a812daa..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/regress-gap.js
+++ /dev/null
@@ -1,130 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Regression test that stresses the register allocator gap instruction.
-
-function small_select(n, v1, v2) {
- for (var i = 0; i < n; ++i) {
- var tmp = v1;
- v1 = v2;
- v2 = tmp;
- }
- return v1;
-}
-
-function select(n, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10) {
- for (var i = 0; i < n; ++i) {
- var tmp = v1;
- v1 = v2;
- v2 = v3;
- v3 = v4;
- v4 = v5;
- v5 = v6;
- v6 = v7;
- v7 = v8;
- v8 = v9;
- v9 = v10;
- v10 = tmp;
- }
- return v1;
-}
-
-function select_while(n, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10) {
- var i = 0;
- while (i < n) {
- var tmp = v1;
- v1 = v2;
- v2 = v3;
- v3 = v4;
- v4 = v5;
- v5 = v6;
- v6 = v7;
- v7 = v8;
- v8 = v9;
- v9 = v10;
- v10 = tmp;
- i++;
- }
- return v1;
-}
-
-function two_cycles(n, v1, v2, v3, v4, v5, x1, x2, x3, x4, x5) {
- for (var i = 0; i < n; ++i) {
- var tmp = v1;
- v1 = v2;
- v2 = v3;
- v3 = v4;
- v4 = v5;
- v5 = tmp;
- tmp = x1;
- x1 = x2;
- x2 = x3;
- x3 = x4;
- x4 = x5;
- x5 = tmp;
- }
- return v1 + x1;
-}
-
-function two_cycles_while(n, v1, v2, v3, v4, v5, x1, x2, x3, x4, x5) {
- var i = 0;
- while (i < n) {
- var tmp = v1;
- v1 = v2;
- v2 = v3;
- v3 = v4;
- v4 = v5;
- v5 = tmp;
- tmp = x1;
- x1 = x2;
- x2 = x3;
- x3 = x4;
- x4 = x5;
- x5 = tmp;
- i++;
- }
- return v1 + x1;
-}
-assertEquals(1, small_select(0, 1, 2));
-assertEquals(2, small_select(1, 1, 2));
-assertEquals(1, small_select(10, 1, 2));
-
-assertEquals(1, select(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10));
-assertEquals(4, select(3, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10));
-assertEquals(10, select(9, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10));
-
-assertEquals(1 + 6, two_cycles(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10));
-assertEquals(4 + 9, two_cycles(3, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10));
-assertEquals(5 + 10, two_cycles(9, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10));
-
-assertEquals(1, select_while(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10));
-assertEquals(4, select_while(3, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10));
-assertEquals(10, select_while(9, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10));
-
-assertEquals(1 + 6, two_cycles_while(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10));
-assertEquals(4 + 9, two_cycles_while(3, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10));
-assertEquals(5 + 10, two_cycles_while(9, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10));
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/regress-gvn.js b/src/3rdparty/v8/test/mjsunit/compiler/regress-gvn.js
deleted file mode 100644
index 01b1aa9..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/regress-gvn.js
+++ /dev/null
@@ -1,52 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --noalways-opt --allow-natives-syntax
-//
-// Regression test for global value numbering.
-
-function test(a) {
- var res = a[0] + a[0];
- if (res == 0) {
- a[0] = 1;
- }
- return a[0];
-}
-
-var a = new Array();
-
-var n = 100;
-
-var result = 0;
-for (var i = 0; i < n; ++i) {
- if (i == 10) %OptimizeFunctionOnNextCall(test);
- a[0] = 0;
- result += test(a);
-}
-
-
-assertEquals(n, result);
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/regress-inline-callfunctionstub.js b/src/3rdparty/v8/test/mjsunit/compiler/regress-inline-callfunctionstub.js
deleted file mode 100644
index a39d26d..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/regress-inline-callfunctionstub.js
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test inlined of calls-as-function two levels deep.
-function f() { return 42; }
-
-var o = {g : function () { return f(); } }
-function main(func) {
- var v=0;
- for (var i=0; i<1; i++) {
- if (func()) v = 42;
- }
-}
-
-main(o.g);
-main(o.g);
-main(o.g);
-%OptimizeFunctionOnNextCall(main);
-main(o.g);
-
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/regress-intoverflow.js b/src/3rdparty/v8/test/mjsunit/compiler/regress-intoverflow.js
deleted file mode 100644
index 063a376..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/regress-intoverflow.js
+++ /dev/null
@@ -1,67 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test overflow checks in optimized code.
-function testMul(a, b) {
- a *= 2;
- b *= 2;
- if (a < 1 && b < 1) {
- return a * b;
- }
-}
-
-for (var i=0; i<5; i++) testMul(0,0);
-%OptimizeFunctionOnNextCall(testMul);
-assertEquals(4611686018427388000, testMul(-0x40000000, -0x40000000));
-
-function testAdd(a, b) {
- a *= 2;
- b *= 2;
- if (a < 1 && b < 1) {
- return a + b;
- }
-}
-
-for (var i=0; i<5; i++) testAdd(0,0);
-%OptimizeFunctionOnNextCall(testAdd);
-assertEquals(-4294967296, testAdd(-0x40000000, -0x40000000));
-
-
-function testSub(a, b) {
- a *= 2;
- b *= 2;
- if (b == 2) {print(a); print(b);}
- if (a < 1 && b < 3) {
- return a - b;
- }
-}
-
-for (var i=0; i<5; i++) testSub(0,0);
-%OptimizeFunctionOnNextCall(testSub);
-assertEquals(-2147483650, testSub(-0x40000000, 1));
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/regress-lazy-deopt.js b/src/3rdparty/v8/test/mjsunit/compiler/regress-lazy-deopt.js
deleted file mode 100644
index d1c3d01..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/regress-lazy-deopt.js
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test lazy deoptimization after CallFunctionStub.
-
-function foo() { return 1; }
-
-function f(x, y) {
- var a = [0];
- if (x == 0) {
- %DeoptimizeFunction(f);
- return 1;
- }
- a[0] = %_CallFunction(null, x - 1, f);
- return x >> a[0];
-}
-
-f(42);
-f(42);
-assertEquals(42, f(42));
-%OptimizeFunctionOnNextCall(f);
-assertEquals(42, f(42));
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/regress-lbranch-double.js b/src/3rdparty/v8/test/mjsunit/compiler/regress-lbranch-double.js
deleted file mode 100644
index dca6d5b..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/regress-lbranch-double.js
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// ARM's code generator for LBranch had a bug, swapping the true/false
-// branches when the representation of the condition is a double.
-
-function foo() {
- return Math.sqrt(2.6415) ? 88 : 99;
-}
-
-assertEquals(88, foo());
-assertEquals(88, foo());
-%OptimizeFunctionOnNextCall(foo)
-assertEquals(88, foo());
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/regress-loadfield.js b/src/3rdparty/v8/test/mjsunit/compiler/regress-loadfield.js
deleted file mode 100644
index a3da156..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/regress-loadfield.js
+++ /dev/null
@@ -1,69 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Regression test for GVN on field loads.
-
-function bar() {}
-
-// Make sure there is a transition on adding "bar" inobject property.
-var b = new bar();
-b.bar = "bar";
-
-function test(a) {
- var b = new Array(10);
- for (var i = 0; i < 10; i++) {
- b[i] = new bar();
- }
-
- for (var i = 0; i < 10; i++) {
- b[i].bar = a.foo;
- }
-}
-
-// Create an object with fast backing store properties.
-var a = {};
-a.p1 = "";
-a.p2 = "";
-a.p3 = "";
-a.p4 = "";
-a.p5 = "";
-a.p6 = "";
-a.p7 = "";
-a.p8 = "";
-a.p9 = "";
-a.p10 = "";
-a.p11 = "";
-a.foo = "foo";
-for (var i = 0; i < 5; i++) {
- test(a);
-}
-%OptimizeFunctionOnNextCall(test);
-test(a);
-
-test("");
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/regress-loop-deopt.js b/src/3rdparty/v8/test/mjsunit/compiler/regress-loop-deopt.js
deleted file mode 100644
index 7906761..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/regress-loop-deopt.js
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test while loops and continue.
-function h() {
- var i = 3, j = 0;
- while(--i >= 0) {
- var x = i & 1;
- if(x > 0) {
- continue;
- }
- j++;
- }
- return j;
-}
-
-assertEquals(2, h());
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/regress-max-locals-for-osr.js b/src/3rdparty/v8/test/mjsunit/compiler/regress-max-locals-for-osr.js
deleted file mode 100644
index cc150ed..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/regress-max-locals-for-osr.js
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-var limit = %RunningInSimulator() ? 10000 : 10000000;
-
-function f() {
- var a1, a2, a3, a4, a5, a6, a7, a8, a9, a10,
- a11, a12, a13, a14, a15, a16, a17, a18, a19, a20,
- a21, a22, a23, a24, a25, a26, a27, a28, a29, a30,
- a31, a32, a33, a34, a35, a36, a37, a38, a39, a40,
- a41, a42, a43, a44, a45, a46, a47, a48, a49, a50,
- a51, a52, a53, a54, a55, a56, a57, a58, a59, a60,
- a61, a62, a63, a64;
- for (a1 = 0; a1 < limit; a1++) a2 = 23;
-}
-
-f();
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/regress-max.js b/src/3rdparty/v8/test/mjsunit/compiler/regress-max.js
deleted file mode 100644
index ee2fd58..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/regress-max.js
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test Math.max with negative zero as input.
-for (var i = 0; i < 5; i++) Math.max(0, 0);
-%OptimizeFunctionOnNextCall(Math.max);
-Math.max(0, 0);
-
-var r = Math.max(-0, -0);
-assertEquals(-Infinity, 1 / r);
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/regress-or.js b/src/3rdparty/v8/test/mjsunit/compiler/regress-or.js
deleted file mode 100644
index 939f2c3..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/regress-or.js
+++ /dev/null
@@ -1,61 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test deoptimization inside short-circuited expressions.
-function f1(x) {
- var c = "fail";
- if (!x || g1()) {
- c = ~x;
- }
- return c;
-}
-
-function g1() { try { return 1; } finally {} }
-
-for (var i = 0; i < 5; i++) f1(42);
-%OptimizeFunctionOnNextCall(f1);
-
-assertEquals(-1, f1(0));
-assertEquals(-43, f1(42));
-assertEquals(-1, f1(""));
-
-function f2(x) {
- var c = "fail";
- if (!x || !g2()) {
- c = ~x;
- }
- return c;
-}
-
-function g2() { try { return 0; } finally {} }
-
-for (var i = 0; i < 5; i++) f2(42);
-%OptimizeFunctionOnNextCall(f2);
-
-assertEquals(-1, f2(""));
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/regress-rep-change.js b/src/3rdparty/v8/test/mjsunit/compiler/regress-rep-change.js
deleted file mode 100644
index 9370999..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/regress-rep-change.js
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Regression test for the case where a phi has two input operands with
-// the same value.
-
-function test(start) {
- if (true) {
- for (var i = start; i < 10; i++) { }
- }
- for (var i = start; i < 10; i++) { }
-}
-
-var n = 5000000;
-
-for (var i = 0; i < n; ++i) {
- test(0);
-}
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/regress-serialized-slots.js b/src/3rdparty/v8/test/mjsunit/compiler/regress-serialized-slots.js
deleted file mode 100644
index 0bd7528..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/regress-serialized-slots.js
+++ /dev/null
@@ -1,61 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// The test verifies that parameters of the outer function are correctly
-// accessible from the inner closure.
-
-function runner(f, expected) {
- for (var i = 0; i < 10000; i++) { // Loop to trigger optimization.
- assertEquals(expected, f.call(this, 10));
- }
-}
-
-Function.prototype.bind = function(thisObject)
-{
- var func = this;
- var args = Array.prototype.slice.call(arguments, 1);
- function bound()
- {
- // Note outer function parameter access (|thisObject|).
- return func.apply(
- thisObject,
- args.concat(Array.prototype.slice.call(arguments, 0)));
- }
- return bound;
-}
-
-function sum(x, y) {
- return x + y;
-}
-
-function test(n) {
- runner(sum.bind(this, n), n + 10);
-}
-
-test(1);
-test(42);
-test(239);
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/regress-stacktrace-methods.js b/src/3rdparty/v8/test/mjsunit/compiler/regress-stacktrace-methods.js
deleted file mode 100644
index 4d28727..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/regress-stacktrace-methods.js
+++ /dev/null
@@ -1,69 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test stack traces with method calls.
-function Hest() {}
-function Svin() {}
-
-Svin.prototype.two = function() { /* xxxxxxx */ o.three(); }
-
-Hest.prototype.one = function(x) { x.two(); }
-
-Hest.prototype.three = function() { if (v == 42) throw new Error("urg"); }
-
-var o = new Hest();
-var s = new Svin();
-var v = 0;
-
-for (var i = 0; i < 5; i++) {
- o.one(s);
-}
-%OptimizeFunctionOnNextCall(Hest.prototype.one);
-%OptimizeFunctionOnNextCall(Hest.prototype.three);
-o.one(s);
-
-v = 42;
-
-try {
- o.one(s);
-} catch (e) {
- var stack = e.stack.toString();
- var p3 = stack.indexOf("at Hest.three");
- var p2 = stack.indexOf("at Svin.two");
- var p1 = stack.indexOf("at Hest.one");
- assertTrue(p3 != -1);
- assertTrue(p2 != -1);
- assertTrue(p1 != -1);
- assertTrue(p3 < p2);
- assertTrue(p2 < p1);
- assertTrue(stack.indexOf("38:56") != -1);
- assertTrue(stack.indexOf("34:51") != -1);
- assertTrue(stack.indexOf("36:38") != -1);
- assertTrue(stack.indexOf("54:5") != -1);
-}
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/regress-stacktrace.js b/src/3rdparty/v8/test/mjsunit/compiler/regress-stacktrace.js
deleted file mode 100644
index 843dd12..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/regress-stacktrace.js
+++ /dev/null
@@ -1,52 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test correctness of stack traces with global functions.
-eval("function two() { /* xxxxxxx */ three(); }");
-
-function one() {
- two();
-}
-
-function three() {
- throw new Error("urg");
-}
-
-try {
- one();
-} catch (e) {
- var stack = e.stack.toString();
- var p3 = stack.indexOf("at three");
- var p2 = stack.indexOf("at two");
- var p1 = stack.indexOf("at one");
- assertTrue(p3 != -1);
- assertTrue(p2 != -1);
- assertTrue(p1 != -1);
- assertTrue(p3 < p2);
- assertTrue(p2 < p1);
- print(stack);
-}
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/regress-toint32.js b/src/3rdparty/v8/test/mjsunit/compiler/regress-toint32.js
deleted file mode 100644
index 54c2f76..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/regress-toint32.js
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --noenable-sse3
-
-var a = new Int32Array(1);
-var G = 0x80000000;
-
-function f(x) {
- var v = x;
- v = v + 1;
- a[0] = v;
- v = v - 1;
- return v;
-}
-
-assertEquals(G, f(G));
-assertEquals(G, f(G));
-%OptimizeFunctionOnNextCall(f);
-assertEquals(G, f(G));
-
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/regress-valueof.js b/src/3rdparty/v8/test/mjsunit/compiler/regress-valueof.js
deleted file mode 100644
index 7b29b46..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/regress-valueof.js
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test valueof with integer input.
-function f(x) { var y = x + 1; return %_ValueOf(y); }
-
-for (var i=0; i<100000; i++) f(42);
-
-assertEquals(43, f(42));
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/rotate.js b/src/3rdparty/v8/test/mjsunit/compiler/rotate.js
deleted file mode 100644
index 14fe9da..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/rotate.js
+++ /dev/null
@@ -1,224 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --expose-gc
-
-// Test shift operations that can be replaced by rotate operation.
-
-function SideEffect() {
- with ({}) { } // not inlinable
-}
-
-function Twenty() {
- SideEffect();
- return 20;
-}
-
-function Twelve() {
- SideEffect();
- return 12;
-}
-
-
-function ROR(x, sa) {
- return (x >>> sa) | (x << (32 - sa));
-}
-
-function ROR1(x, sa) {
- return (x >>> sa) | (x << (32 - sa));
-}
-
-function ROR2(x, sa) {
- return (x >>> (32 - sa)) | (x << (sa));
-}
-
-function ROR3(x, sa) {
- return (x << (32 - sa)) | (x >>> sa);
-}
-
-function ROR4(x, sa) {
- return (x << (sa)) | (x >>> (32 - sa));
-}
-
-assertEquals(1 << ((2 % 32)), ROR(1, 30));
-assertEquals(1 << ((2 % 32)), ROR(1, 30));
-%OptimizeFunctionOnNextCall(ROR);
-assertEquals(1 << ((2 % 32)), ROR(1, 30));
-
-assertEquals(0xF0000FFF | 0, ROR1(0x0000FFFF, 4));
-assertEquals(0xF0000FFF | 0, ROR1(0x0000FFFF, 4));
-%OptimizeFunctionOnNextCall(ROR1);
-assertEquals(0xF0000FFF | 0, ROR1(0x0000FFFF, 4));
-
-assertEquals(0x0FFFF000 | 0, ROR1(0x0000FFFF, 20));
-assertEquals(0x0FFFF000 | 0, ROR1(0x0000FFFF, 20));
-%OptimizeFunctionOnNextCall(ROR1);
-assertEquals(0x0FFFF000 | 0, ROR1(0x0000FFFF, 20));
-
-assertEquals(0x0FFFF000 | 0, ROR1(0x0000FFFF, Twenty()));
-assertEquals(0x0FFFF000 | 0, ROR1(0x0000FFFF, Twenty()));
-%OptimizeFunctionOnNextCall(ROR1);
-assertEquals(0x0FFFF000 | 0, ROR1(0x0000FFFF, Twenty()));
-
-for (var i = 0; i <= 100; i++) {
- assertEquals(0xFFFFFFFF | 0, ROR1(0xFFFFFFFF, i));
- assertEquals(0xFFFFFFFF | 0, ROR1(0xFFFFFFFF, i));
- %OptimizeFunctionOnNextCall(ROR1);
- assertEquals(0xFFFFFFFF | 0, ROR1(0xFFFFFFFF, i));
-}
-
-for (var i = 0; i <= 100; i++) {
- assertEquals(-1, ROR1(-1, i));
- assertEquals(-1, ROR1(-1, i));
- %OptimizeFunctionOnNextCall(ROR1);
- assertEquals(-1, ROR1(-1, i));
-}
-
-for (var i = 0; i <= 100; i++) {
- assertEquals(1 << (32 - (i % 32)), ROR1(1, i));
- assertEquals(1 << (32 - (i % 32)), ROR1(1, i));
- %OptimizeFunctionOnNextCall(ROR1);
- assertEquals(1 << (32 - (i % 32)), ROR1(1, i));
-}
-
-for (var i = 0; i <= 100; i++) {
- assertEquals(1 << (32 - (i % 32)), ROR1(1.4, i));
- assertEquals(1 << (32 - (i % 32)), ROR1(1.4, i));
- %OptimizeFunctionOnNextCall(ROR1);
- assertEquals(1 << (32 - (i % 32)), ROR1(1.4, i));
-}
-
-
-
-assertEquals(0xF0000FFF | 0, ROR2(0x0000FFFF, 28));
-assertEquals(0xF0000FFF | 0, ROR2(0x0000FFFF, 28));
-%OptimizeFunctionOnNextCall(ROR2);
-assertEquals(0xF0000FFF | 0, ROR2(0x0000FFFF, 28));
-
-assertEquals(0x0FFFF000 | 0, ROR2(0x0000FFFF, 12));
-assertEquals(0x0FFFF000 | 0, ROR2(0x0000FFFF, 12));
-%OptimizeFunctionOnNextCall(ROR2);
-assertEquals(0x0FFFF000 | 0, ROR2(0x0000FFFF, 12));
-
-assertEquals(0x0FFFF000 | 0, ROR2(0x0000FFFF, Twelve()));
-assertEquals(0x0FFFF000 | 0, ROR2(0x0000FFFF, Twelve()));
-%OptimizeFunctionOnNextCall(ROR2);
-assertEquals(0x0FFFF000 | 0, ROR2(0x0000FFFF, Twelve()));
-
-for (var i = 0; i <= 100; i++) {
- assertEquals(0xFFFFFFFF | 0, ROR2(0xFFFFFFFF, i));
- assertEquals(0xFFFFFFFF | 0, ROR2(0xFFFFFFFF, i));
- %OptimizeFunctionOnNextCall(ROR2);
- assertEquals(0xFFFFFFFF | 0, ROR2(0xFFFFFFFF, i));
-}
-
-for (var i = 0; i <= 100; i++) {
- assertEquals(-1, ROR2(-1, i));
- assertEquals(-1, ROR2(-1, i));
- %OptimizeFunctionOnNextCall(ROR2);
- assertEquals(-1, ROR2(-1, i));
-}
-
-for (var i = 0; i <= 100; i++) {
- assertEquals(1 << ((i % 32)), ROR2(1, i));
- assertEquals(1 << ((i % 32)), ROR2(1, i));
- %OptimizeFunctionOnNextCall(ROR2);
- assertEquals(1 << ((i % 32)), ROR2(1, i));
-}
-
-assertEquals(0xF0000FFF | 0, ROR3(0x0000FFFF, 4));
-assertEquals(0xF0000FFF | 0, ROR3(0x0000FFFF, 4));
-%OptimizeFunctionOnNextCall(ROR3);
-assertEquals(0xF0000FFF | 0, ROR3(0x0000FFFF, 4));
-
-assertEquals(0x0FFFF000 | 0, ROR3(0x0000FFFF, 20));
-assertEquals(0x0FFFF000 | 0, ROR3(0x0000FFFF, 20));
-%OptimizeFunctionOnNextCall(ROR3);
-assertEquals(0x0FFFF000 | 0, ROR3(0x0000FFFF, 20));
-
-assertEquals(0x0FFFF000 | 0, ROR3(0x0000FFFF, Twenty()));
-assertEquals(0x0FFFF000 | 0, ROR3(0x0000FFFF, Twenty()));
-%OptimizeFunctionOnNextCall(ROR3);
-assertEquals(0x0FFFF000 | 0, ROR3(0x0000FFFF, Twenty()));
-
-for (var i = 0; i <= 100; i++) {
- assertEquals(0xFFFFFFFF | 0, ROR3(0xFFFFFFFF, i));
- assertEquals(0xFFFFFFFF | 0, ROR3(0xFFFFFFFF, i));
- %OptimizeFunctionOnNextCall(ROR3);
- assertEquals(0xFFFFFFFF | 0, ROR3(0xFFFFFFFF, i));
-}
-
-for (var i = 0; i <= 100; i++) {
- assertEquals(-1, ROR3(-1, i));
- assertEquals(-1, ROR3(-1, i));
- %OptimizeFunctionOnNextCall(ROR3);
- assertEquals(-1, ROR3(-1, i));
-}
-
-for (var i = 0; i <= 100; i++) {
- assertEquals(1 << (32 - (i % 32)), ROR3(1, i));
- assertEquals(1 << (32 - (i % 32)), ROR3(1, i));
- %OptimizeFunctionOnNextCall(ROR3);
- assertEquals(1 << (32 - (i % 32)), ROR3(1, i));
-}
-
-assertEquals(0xF0000FFF | 0, ROR4(0x0000FFFF, 28));
-assertEquals(0xF0000FFF | 0, ROR4(0x0000FFFF, 28));
-%OptimizeFunctionOnNextCall(ROR4);
-assertEquals(0xF0000FFF | 0, ROR4(0x0000FFFF, 28));
-
-assertEquals(0x0FFFF000 | 0, ROR4(0x0000FFFF, 12));
-assertEquals(0x0FFFF000 | 0, ROR4(0x0000FFFF, 12));
-%OptimizeFunctionOnNextCall(ROR4);
-assertEquals(0x0FFFF000 | 0, ROR4(0x0000FFFF, 12));
-
-assertEquals(0x0FFFF000 | 0, ROR4(0x0000FFFF, Twelve()));
-assertEquals(0x0FFFF000 | 0, ROR4(0x0000FFFF, Twelve()));
-%OptimizeFunctionOnNextCall(ROR4);
-assertEquals(0x0FFFF000 | 0, ROR4(0x0000FFFF, Twelve()));
-
-for (var i = 0; i <= 100; i++) {
- assertEquals(0xFFFFFFFF | 0, ROR4(0xFFFFFFFF, i));
- assertEquals(0xFFFFFFFF | 0, ROR4(0xFFFFFFFF, i));
- %OptimizeFunctionOnNextCall(ROR4);
- assertEquals(0xFFFFFFFF | 0, ROR4(0xFFFFFFFF, i));
-}
-
-for (var i = 0; i <= 100; i++) {
- assertEquals(-1, ROR4(-1, i));
- assertEquals(-1, ROR4(-1, i));
- %OptimizeFunctionOnNextCall(ROR4);
- assertEquals(-1, ROR4(-1, i));
-}
-
-for (var i = 0; i <= 100; i++) {
- assertEquals(1 << ((i % 32)), ROR4(1, i));
- assertEquals(1 << ((i % 32)), ROR4(1, i));
- %OptimizeFunctionOnNextCall(ROR4);
- assertEquals(1 << ((i % 32)), ROR4(1, i));
-}
-
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/safepoint.js b/src/3rdparty/v8/test/mjsunit/compiler/safepoint.js
deleted file mode 100644
index ee8fcf0..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/safepoint.js
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-gc
-
-function Test(o) {
- var x = o;
- var y = this;
- x.gc();
- x.gc();
- return y;
-}
-
-var o = {gc:gc};
-assertTrue(Test(o) === this);
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/short-circuit.js b/src/3rdparty/v8/test/mjsunit/compiler/short-circuit.js
deleted file mode 100644
index 42100e7..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/short-circuit.js
+++ /dev/null
@@ -1,102 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test some expression contexts involving short-circuit boolean
-// operations that did not otherwise have test coverage.
-
-
-var x = 42;
-
-// Literals in value/test context.
-assertEquals(x, function () { return 0 || x }());
-assertEquals(1, function () { return 1 || x }());
-
-// Literals in test/value context.
-assertEquals(0, function () { return 0 && x }());
-assertEquals(x, function () { return 1 && x }());
-
-// A value on top of the stack in value/test context.
-assertEquals(x, function(y) { return y++ || x }(0));
-assertEquals(1, function(y) { return y++ || x }(1));
-
-// A value on top of the stack in a test/value context.
-assertEquals(0, function(y) { return y++ && x }(0));
-assertEquals(x, function(y) { return y++ && x }(1));
-
-// An object literal in value context.
-assertEquals(0, function () { return {x: 0}}().x);
-
-// An object literal in value/test context.
-assertEquals(0, function () { return {x: 0} || this }().x);
-
-// An object literal in test/value context.
-assertEquals(x, function () { return {x: 0} && this }().x);
-
-// An array literal in value/test context.
-assertEquals(0, function () { return [0,1] || new Array(x,1) }()[0]);
-
-// An array literal in test/value context.
-assertEquals(x, function () { return [0,1] && new Array(x,1) }()[0]);
-
-// Slot assignment in value/test context.
-assertEquals(x, function (y) { return (y = 0) || x }("?"));
-assertEquals(1, function (y) { return (y = 1) || x }("?"));
-
-// Slot assignment in test/value context.
-assertEquals(0, function (y) { return (y = 0) && x }("?"));
-assertEquals(x, function (y) { return (y = 1) && x }("?"));
-
-// void in value context.
-assertEquals(void 0, function () { return void x }());
-
-// void in value/test context.
-assertEquals(x, function () { return (void x) || x }());
-
-// void in test/value context.
-assertEquals(void 0, function () { return (void x) && x }());
-
-// Unary not in value context.
-assertEquals(false, function () { return !x }());
-
-// Unary not in value/test context.
-assertEquals(true, function (y) { return !y || x }(0));
-assertEquals(x, function (y) { return !y || x }(1));
-
-// Unary not in test/value context.
-assertEquals(x, function (y) { return !y && x }(0));
-assertEquals(false, function (y) { return !y && x }(1));
-
-// Comparison in value context.
-assertEquals(false, function () { return x < x; }());
-
-// Comparison in value/test context.
-assertEquals(x, function () { return x < x || x; }());
-assertEquals(true, function () { return x <= x || x; }());
-
-// Comparison in test/value context.
-assertEquals(false, function () { return x < x && x; }());
-assertEquals(x, function () { return x <= x && x; }());
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/simple-bailouts.js b/src/3rdparty/v8/test/mjsunit/compiler/simple-bailouts.js
deleted file mode 100644
index ef7a0f4..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/simple-bailouts.js
+++ /dev/null
@@ -1,143 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function Test() {
- this.result = 0;
- this.x = 0;
- this.y = 0;
- this.z = 0;
-}
-var a = 1;
-var b = 2;
-var c = 4;
-var d = 8;
-
-// Test operations expected to stay on the fast path. Enumerate all binary
-// trees with <= 4 leaves.
-Test.prototype.test0 = function () {
- this.result = a | b;
-};
-
-Test.prototype.test1 = function() {
- this.result = (a | b) | c;
-};
-
-Test.prototype.test2 = function() {
- this.result = a | (b | c);
-};
-
-Test.prototype.test3 = function() {
- this.result = ((a | b) | c) | d;
-};
-
-Test.prototype.test4 = function() {
- this.result = (a | (b | c)) | d;
-};
-
-Test.prototype.test5 = function() {
- this.result = (a | b) | (c | d);
-};
-
-Test.prototype.test6 = function() {
- this.result = a | ((b | c) | d);
-};
-
-Test.prototype.test7 = function() {
- this.result = a | (b | (c | d));
-};
-
-// These tests should fail if we bailed out to the beginning of the full
-// code.
-Test.prototype.test8 = function () {
- // If this.x = 1 and a = 1.1:
- this.y = this.x | b; // Should be (1 | 2) == 3.
- this.x = c; // Should be 4.
- this.z = this.x | a; // Should be (4 | 1.1) == 5.
-};
-
-Test.prototype.test9 = function() {
- // If this.x = 2 and a = 1.1:
- this.z = // (14 | 1.1) == 15
- (this.x = // (6 | 8) == 14
- (this.y = // (2 | 4) == 6
- this.x // 2
- | c) // 4
- | d) // 8
- | a; // 1.1
-}
-
-Test.prototype.test10 = function() {
- this.z = (a >> b) | (c >> c);
-}
-
-Test.prototype.test11 = function(x) {
- this.z = x >> x;
-}
-
-var t = new Test();
-
-t.test0();
-assertEquals(3, t.result);
-
-t.test1();
-assertEquals(7, t.result);
-t.test2();
-assertEquals(7, t.result);
-
-t.test3();
-assertEquals(15, t.result);
-t.test4();
-assertEquals(15, t.result);
-t.test5();
-assertEquals(15, t.result);
-t.test6();
-assertEquals(15, t.result);
-t.test7();
-assertEquals(15, t.result);
-
-a = 1.1;
-t.x = 1;
-t.test8();
-assertEquals(4, t.x);
-assertEquals(3, t.y);
-assertEquals(5, t.z);
-
-t.x = 2;
-t.test9();
-assertEquals(14, t.x);
-assertEquals(6, t.y);
-assertEquals(15, t.z);
-
-a = "2";
-t.test11(a);
-assertEquals(0, t.z);
-
-a = 4;
-b = "1";
-c = 2;
-t.test10();
-assertEquals(2, t.z);
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/simple-binary-op.js b/src/3rdparty/v8/test/mjsunit/compiler/simple-binary-op.js
deleted file mode 100644
index a4e8ab5..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/simple-binary-op.js
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var a = 1;
-var b = 2;
-var c = 4;
-
-function f() { this.x = this.x | a | b | c | a | c; }
-
-var o = {x:0, g:f}
-
-o.g();
-
-assertEquals(7, o.x);
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/simple-deopt.js b/src/3rdparty/v8/test/mjsunit/compiler/simple-deopt.js
deleted file mode 100644
index 7f985ac..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/simple-deopt.js
+++ /dev/null
@@ -1,107 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-function f(x) {
- return ~x;
-}
-
-f(42);
-assertEquals(~12, f(12.45));
-assertEquals(~42, f(42.87));
-
-
-var a = 1, b = 2, c = 4, d = 8;
-function g() {
- return a | (b | (c | d));
-}
-
-g();
-c = "16";
-assertEquals(1 | 2 | 16 | 8, g());
-
-
-// Test deopt when global function changes.
-function h() {
- return g();
-}
-assertEquals(1 | 2 | 16 | 8, h());
-g = function() { return 42; };
-assertEquals(42, h());
-
-
-// Test deopt when map changes.
-var obj = {};
-obj.g = g;
-function k(o) {
- return o.g();
-}
-for (var i = 0; i < 5; i++) k(obj);
-%OptimizeFunctionOnNextCall(k);
-k(obj);
-assertEquals(42, k(obj));
-assertEquals(87, k({g: function() { return 87; }}));
-
-
-// Test deopt with assignments to parameters.
-function p(x,y) {
- x = 42;
- y = 1;
- y = y << "0";
- return x | y;
-}
-assertEquals(43, p(0,0));
-
-
-// Test deopt with literals on the expression stack.
-function LiteralToStack(x) {
- return 'lit[' + (x + ']');
-}
-
-assertEquals('lit[-87]', LiteralToStack(-87));
-assertEquals('lit[0]', LiteralToStack(0));
-assertEquals('lit[42]', LiteralToStack(42));
-
-
-// Test deopt before call.
-var str = "abc";
-var r;
-function CallCharAt(n) { return str.charAt(n); }
-for (var i = 0; i < 5; i++) {
- r = CallCharAt(0);
-}
-%OptimizeFunctionOnNextCall(CallCharAt);
-r = CallCharAt(0);
-assertEquals("a", r);
-
-
-// Test of deopt in presence of spilling.
-function add4(a,b,c,d) {
- return a+b+c+d;
-}
-assertEquals(0x40000003, add4(1,1,2,0x3fffffff));
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/simple-global-access.js b/src/3rdparty/v8/test/mjsunit/compiler/simple-global-access.js
deleted file mode 100644
index 87a641c..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/simple-global-access.js
+++ /dev/null
@@ -1,51 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test global variable loads.
-var g1 = 42;
-var g2 = 43;
-var g3 = 44;
-this.__defineGetter__("g4", function () { return 45; });
-
-function f1() { this.x = this.y = this.z = g1; }
-function f2() { this.x = g1; this.y = g2; this.z = g3; }
-function f3() { this.x = g4; }
-
-var o = { x:0, y:0, z:0, test1:f1, test2:f2, test3:f3 }
-
-o.test1();
-assertEquals(42, o.x);
-assertEquals(42, o.y);
-assertEquals(42, o.z);
-
-o.test2();
-assertEquals(42, o.x);
-assertEquals(43, o.y);
-assertEquals(44, o.z);
-
-o.test3();
-assertEquals(45, o.x);
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/simple-inlining.js b/src/3rdparty/v8/test/mjsunit/compiler/simple-inlining.js
deleted file mode 100644
index 8bd37ea..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/simple-inlining.js
+++ /dev/null
@@ -1,160 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test that we can inline a function that returns a constant.
-function TestInlineConstant(o) {
- // Effect context.
- o.f();
- // Value context.
- var x = o.f();
- assertEquals(42, x);
- assertEquals(42, o.f());
- // Test context.
- if (!o.f()) {
- assertTrue(false); // Should not happen.
- }
-}
-
-var o1 = {};
-o1.f = function() { return 42; };
-for (var i = 0; i < 5; i++) TestInlineConstant(o1);
-%OptimizeFunctionOnNextCall(TestInlineConstant);
-TestInlineConstant(o1);
-TestInlineConstant({f: o1.f});
-
-
-// Test that we can inline a function that returns 'this'.
-function TestInlineThis(o) {
- // Effect context.
- o.g();
- // Value context.
- var x = o.g();
- assertEquals(o, x);
- assertEquals(o, o.g());
- // Test context.
- if (!o.g()) {
- assertTrue(false); // Should not happen.
- }
-}
-
-var o2 = {};
-o2.g = function() { return this; };
-for (var i = 0; i < 5; i++) TestInlineThis(o2);
-%OptimizeFunctionOnNextCall(TestInlineThis);
-TestInlineThis(o2);
-TestInlineThis({g: o2.g});
-
-
-// Test that we can inline a function that returns 'this.x'.
-function TestInlineThisX(o) {
- // Effect context.
- o.h();
- // Value context.
- var x = o.h();
- assertEquals(42, x);
- assertEquals(42, o.h());
- // Test context.
- if (!o.h()) {
- assertTrue(false); // Should not happen.
- }
-}
-
-var o3 = {y:0,x:42};
-o3.h = function() { return this.x; };
-for (var i = 0; i < 5; i++) TestInlineThisX(o3);
-%OptimizeFunctionOnNextCall(TestInlineThisX);
-TestInlineThisX(o3);
-TestInlineThisX({h: o3.h, x:42});
-
-
-// Test that we can inline a function that returns 'this.x.length'.
-function TestInlineThisXLength(o) {
- // Effect context.
- o.h();
- // Value context.
- var x = o.h();
- assertEquals(3, x);
- assertEquals(3, o.h());
- // Test context.
- if (!o.h()) {
- assertTrue(false); // Should not happen.
- }
-}
-
-var o4 = {x:[1,2,3]};
-o4.h = function() { return this.x.length; };
-for (var i = 0; i < 5; i++) TestInlineThisXLength(o4);
-%OptimizeFunctionOnNextCall(TestInlineThisXLength);
-TestInlineThisXLength(o4);
-TestInlineThisXLength({h: o4.h, x:[1,2,3]});
-
-
-// Test that we can inline a function that returns 'this.x.y'.
-function TestInlineThisXY(o) {
- // Effect context.
- o.h();
- // Value context.
- var x = o.h();
- assertEquals(42, x);
- assertEquals(42, o.h());
- // Test context.
- if (!o.h()) {
- assertTrue(false); // Should not happen.
- }
-}
-
-var o6 = {y:42}
-var o5 = {e:o6};
-o5.h = function() { return this.e.y; };
-for (var i = 0; i < 5; i++) TestInlineThisXY(o5);
-%OptimizeFunctionOnNextCall(TestInlineThisXY);
-TestInlineThisXY(o5);
-TestInlineThisXY({h: o5.h, e:o6});
-
-
-// Test that we can inline a function that returns 'this.x.length'.
-function TestInlineThisX0(o) {
- // Effect context.
- o.foo();
- // Value context.
- var x = o.foo();
- assertEquals(42, x);
- assertEquals(42, o.foo());
- // Test context.
- if (!o.foo()) {
- assertTrue(false); // Should not happen.
- }
-}
-
-var o7 = {x:[42,43,44]};
-o7.foo = function() { return this.x[0]; };
-for (var i = 0; i < 5; i++) TestInlineThisX0(o7);
-%OptimizeFunctionOnNextCall(TestInlineThisX0);
-TestInlineThisX0(o7);
-TestInlineThisX0({foo: o7.foo, x:[42,0,0]});
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/simple-osr.js b/src/3rdparty/v8/test/mjsunit/compiler/simple-osr.js
deleted file mode 100644
index 8ec1b2b..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/simple-osr.js
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --use-osr
-
-function f() {
- var sum = 0;
- for (var i = 0; i < 1000000; i++) {
- var x = i + 2;
- var y = x + 5;
- var z = y + 3;
- sum += z;
- }
- return sum;
-}
-
-
-for (var i = 0; i < 2; i++) {
- assertEquals(500009500000, f());
-}
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/strict-recompile.js b/src/3rdparty/v8/test/mjsunit/compiler/strict-recompile.js
deleted file mode 100644
index 96e8bca..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/strict-recompile.js
+++ /dev/null
@@ -1,51 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-function foo() {
- try {
- var o = {};
- Object.defineProperty(o, 'x', {value: 12, writable: false});
- o.x = 13;
- } catch(e) {
- return true;
- }
- return false;
-}
-
-assertFalse(foo());
-
-function do_eval(str) {
- "use strict";
- return eval(str);
-}
-
-var eval_foo = do_eval('(' + foo + ')');
-for (var i = 0; i < 5; i++) assertTrue(eval_foo());
-%OptimizeFunctionOnNextCall(eval_foo);
-assertTrue(eval_foo());
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/switch-bailout.js b/src/3rdparty/v8/test/mjsunit/compiler/switch-bailout.js
deleted file mode 100644
index 084074e..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/switch-bailout.js
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test that bailing out of the optimized compilation doesn't mess with
-// the labels in the AST.
-function f(x) {
- switch (x) {
- case "foo": return 87;
- case "bar": return 42;
- }
- return 99;
-}
-
-for (var i = 0; i < 5; i++) f("foo");
-%OptimizeFunctionOnNextCall(f);
-f("foo");
-assertEquals(42, f("bar"));
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/this-property-refs.js b/src/3rdparty/v8/test/mjsunit/compiler/this-property-refs.js
deleted file mode 100644
index 1ee8e50..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/this-property-refs.js
+++ /dev/null
@@ -1,62 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test references to properties of this.
-function Test() {
- this.a = 0;
- this.b = 1;
- this.c = 2;
- this.d = 3;
-}
-
-Test.prototype.test0 = function () {
- this.a = this.b;
-};
-
-Test.prototype.test1 = function() {
- this.a = this.b = this.c;
-};
-
-Test.prototype.test2 = function() {
- this.c = this.d;
- this.b = this.c;
- this.a = this.b;
-};
-
-var t = new Test();
-
-t.test0();
-assertEquals(1, t.a);
-
-t.test1();
-assertEquals(2, t.a);
-assertEquals(2, t.b);
-
-t.test2();
-assertEquals(3, t.a);
-assertEquals(3, t.b);
-assertEquals(3, t.c);
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/thisfunction.js b/src/3rdparty/v8/test/mjsunit/compiler/thisfunction.js
deleted file mode 100644
index 7615561..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/thisfunction.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test reference to this-function.
-
-var g = (function f(x) {
- if (x == 1) return 42; else return f(1);
- })(0);
-assertEquals(42, g);
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/uint32.js b/src/3rdparty/v8/test/mjsunit/compiler/uint32.js
deleted file mode 100644
index abed285..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/uint32.js
+++ /dev/null
@@ -1,173 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --expose-gc
-
-// Test uint32 handing in optimized frames.
-
-var K1 = 0x7fffffff;
-var K2 = 0xffffffff;
-
-var uint32_array = new Uint32Array(2);
-uint32_array[0] = K1;
-uint32_array[1] = K2;
-
-function ChangeI2T(arr, i) {
- return uint32_array[i];
-}
-
-assertEquals(K1, ChangeI2T(uint32_array, 0));
-assertEquals(K2, ChangeI2T(uint32_array, 1));
-%OptimizeFunctionOnNextCall(ChangeI2T);
-assertEquals(K1, ChangeI2T(uint32_array, 0));
-// Loop to force inline allocation failure and a call into runtime.
-for (var i = 0; i < 80000; i++) {
- assertEquals(K2, ChangeI2T(uint32_array, 1));
-}
-
-function SideEffect() {
- with ({}) { } // not inlinable
-}
-
-function Deopt(obj, arr, i) {
- var x = arr[i];
- SideEffect(); // x will be used by HSimulate.
- obj.x;
- return x;
-}
-
-assertEquals(K1, Deopt({x: 0}, uint32_array, 0));
-assertEquals(K2, Deopt({x: 0}, uint32_array, 1));
-%OptimizeFunctionOnNextCall(Deopt);
-assertEquals(K2, Deopt({}, uint32_array, 1));
-
-function ChangeI2D(arr) {
- // This addition will have a double type feedback so ChangeI2D will
- // be generated for its operands.
- return arr[0] + arr[1];
-}
-
-assertEquals(K1 + K2, ChangeI2D(uint32_array));
-assertEquals(K1 + K2, ChangeI2D(uint32_array));
-%OptimizeFunctionOnNextCall(ChangeI2D);
-assertEquals(K1 + K2, ChangeI2D(uint32_array));
-
-function ShrShr(val) {
- return (val >>> 0) >>> 1;
-}
-
-assertEquals(K1, ShrShr(K2 | 0));
-assertEquals(K1, ShrShr(K2 | 0));
-%OptimizeFunctionOnNextCall(ShrShr);
-assertEquals(K1, ShrShr(K2 | 0));
-
-function SarShr(val) {
- return val >> (-2 >>> 0);
-}
-
-var K3 = 0x80000000;
-assertEquals(-2, SarShr(K3 | 0));
-assertEquals(-2, SarShr(K3 | 0));
-%OptimizeFunctionOnNextCall(SarShr);
-assertEquals(-2, SarShr(K3 | 0));
-
-function Uint32Phi(a, b, c) {
- var i = a ? (b >>> 0) : (c >>> 0);
- return (i | 0);
-}
-
-var K4 = 0x80000001;
-assertEquals(K3 | 0, Uint32Phi(true, K3, K4));
-assertEquals(K4 | 0, Uint32Phi(false, K3, K4));
-assertEquals(K3 | 0, Uint32Phi(true, K3, K4));
-assertEquals(K4 | 0, Uint32Phi(false, K3, K4));
-%OptimizeFunctionOnNextCall(Uint32Phi);
-assertEquals(K3 | 0, Uint32Phi(true, K3, K4));
-assertEquals(K4 | 0, Uint32Phi(false, K3, K4));
-
-function NonUint32Phi(a, b, c) {
- var i = a ? (b >>> 0) : c;
- return (i | 0);
-}
-
-assertEquals(K3 | 0, NonUint32Phi(true, K3, K4));
-assertEquals(K4 | 0, NonUint32Phi(false, K3, K4));
-assertEquals(K3 | 0, NonUint32Phi(true, K3, K4));
-assertEquals(K4 | 0, NonUint32Phi(false, K3, K4));
-%OptimizeFunctionOnNextCall(NonUint32Phi);
-assertEquals(K3 | 0, NonUint32Phi(true, K3, K4));
-assertEquals(K4 | 0, NonUint32Phi(false, K3, K4));
-
-function PhiOfPhi(x) {
- var a = (x >>> 0);
- for (var i = 0; i < 2; i++) {
- for (var j = 0; j < 2; j++) {
- a = (a >>> 0);
- }
- }
- return (a | 0);
-}
-
-assertEquals(1, PhiOfPhi(1));
-assertEquals(1, PhiOfPhi(1));
-%OptimizeFunctionOnNextCall(PhiOfPhi);
-assertEquals(K3 | 0, PhiOfPhi(K3));
-
-function PhiOfPhiUnsafe(x) {
- var a = x >>> 0;
- for (var i = 0; i < 2; i++) {
- for (var j = 0; j < 2; j++) {
- a = (a >>> 0);
- }
- }
- return a + a;
-}
-
-assertEquals(2, PhiOfPhiUnsafe(1));
-assertEquals(2, PhiOfPhiUnsafe(1));
-%OptimizeFunctionOnNextCall(PhiOfPhiUnsafe);
-assertEquals(2 * K3, PhiOfPhiUnsafe(K3));
-
-var old_array = new Array(1000);
-
-for (var i = 0; i < old_array.length; i++) old_array[i] = null;
-
-// Force promotion.
-gc();
-gc();
-
-function FillOldArrayWithHeapNumbers(N) {
- for (var i = 0; i < N; i++) {
- old_array[i] = uint32_array[1];
- }
-}
-
-FillOldArrayWithHeapNumbers(1);
-FillOldArrayWithHeapNumbers(1);
-%OptimizeFunctionOnNextCall(FillOldArrayWithHeapNumbers);
-FillOldArrayWithHeapNumbers(old_array.length);
-gc();
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/unary-add.js b/src/3rdparty/v8/test/mjsunit/compiler/unary-add.js
deleted file mode 100644
index b1fc0c2..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/unary-add.js
+++ /dev/null
@@ -1,67 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test unary addition in various contexts.
-
-// Test value context.
-assertEquals(1, +'1');
-assertEquals(1, +1);
-assertEquals(1.12, +1.12);
-assertEquals(NaN, +undefined);
-assertEquals(NaN, +{});
-
-// Test effect context.
-assertEquals(1, eval("+'1'; 1"));
-assertEquals(1, eval("+1; 1"));
-assertEquals(1, eval("+1.12; 1"));
-assertEquals(1, eval("+undefined; 1"));
-assertEquals(1, eval("+{}; 1"));
-
-// Test test context.
-assertEquals(1, (+'1') ? 1 : 2);
-assertEquals(1, (+1) ? 1 : 2);
-assertEquals(1, (+'0') ? 2 : 1);
-assertEquals(1, (+0) ? 2 : 1);
-assertEquals(1, (+1.12) ? 1 : 2);
-assertEquals(1, (+undefined) ? 2 : 1);
-assertEquals(1, (+{}) ? 2 : 1);
-
-// Test value/test context.
-assertEquals(1, +'1' || 2);
-assertEquals(1, +1 || 2);
-assertEquals(1.12, +1.12 || 2);
-assertEquals(2, +undefined || 2);
-assertEquals(2, +{} || 2);
-
-// Test test/value context.
-assertEquals(2, +'1' && 2);
-assertEquals(2, +1 && 2);
-assertEquals(0, +'0' && 2);
-assertEquals(0, +0 && 2);
-assertEquals(2, +1.12 && 2);
-assertEquals(NaN, +undefined && 2);
-assertEquals(NaN, +{} && 2);
diff --git a/src/3rdparty/v8/test/mjsunit/compiler/variables.js b/src/3rdparty/v8/test/mjsunit/compiler/variables.js
deleted file mode 100644
index fac4878..0000000
--- a/src/3rdparty/v8/test/mjsunit/compiler/variables.js
+++ /dev/null
@@ -1,73 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Simple tests of the various kinds of variable references in the
-// implementstion.
-
-// Global variables.
-var x = 0;
-function f0() { return x; }
-assertEquals(0, f0());
-
-
-// Parameters.
-function f1(x) { return x; }
-assertEquals(1, f1(1));
-
-
-// Stack-allocated locals.
-function f2() { var x = 2; return x; }
-assertEquals(2, f2());
-
-
-// Context-allocated locals. Local function forces x into f3's context.
-function f3(x) {
- function g() { return x; }
- return x;
-}
-assertEquals(3, f3(3));
-
-// Local function reads x from an outer context.
-function f4(x) {
- function g() { return x; }
- return g();
-}
-assertEquals(4, f4(4));
-
-
-// Lookup slots. 'With' forces x to be looked up at runtime.
-function f5(x) {
- with ({}) return x;
-}
-assertEquals(5, f5(5));
-
-
-// Parameters rewritten to property accesses. Using the name 'arguments'
-// (even if it shadows the arguments object) forces all parameters to be
-// rewritten to explicit property accesses.
-function f6(arguments) { return arguments; }
-assertEquals(6, f6(6));
diff --git a/src/3rdparty/v8/test/mjsunit/const-declaration.js b/src/3rdparty/v8/test/mjsunit/const-declaration.js
deleted file mode 100644
index 48c0cf2..0000000
--- a/src/3rdparty/v8/test/mjsunit/const-declaration.js
+++ /dev/null
@@ -1,172 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test handling of const variables in various settings.
-
-(function () {
- function f() {
- function g() {
- x = 42; // should be ignored
- return x; // force x into context
- }
- x = 43; // should be ignored
- assertEquals(undefined, g());
- x = 44; // should be ignored
- const x = 0;
- x = 45; // should be ignored
- assertEquals(0, g());
- }
- f();
-})();
-
-
-(function () {
- function f() {
- function g() {
- with ({foo: 0}) {
- x = 42; // should be ignored
- return x; // force x into context
- }
- }
- x = 43; // should be ignored
- assertEquals(undefined, g());
- x = 44; // should be ignored
- const x = 0;
- x = 45; // should be ignored
- assertEquals(0, g());
- }
- f();
-})();
-
-
-(function () {
- function f() {
- function g(s) {
- eval(s);
- return x; // force x into context
- }
- x = 43; // should be ignored
- assertEquals(undefined, g("x = 42;"));
- x = 44; // should be ignored
- const x = 0;
- x = 45; // should be ignored
- assertEquals(0, g("x = 46;"));
- }
- f();
-})();
-
-
-(function () {
- function f() {
- function g(s) {
- with ({foo: 0}) {
- eval(s);
- return x; // force x into context
- }
- }
- x = 43; // should be ignored
- assertEquals(undefined, g("x = 42;"));
- x = 44; // should be ignored
- const x = 0;
- x = 45; // should be ignored
- assertEquals(0, g("x = 46;"));
- }
- f();
-})();
-
-
-(function () {
- function f(s) {
- function g() {
- x = 42; // assign to global x, or to const x
- return x;
- }
- x = 43; // declare global x
- assertEquals(42, g());
- x = 44; // assign to global x
- eval(s);
- x = 45; // should be ignored (assign to const x)
- assertEquals(0, g());
- }
- f("const x = 0;");
-})();
-
-
-(function () {
- function f(s) {
- function g() {
- with ({foo: 0}) {
- x = 42; // assign to global x, or to const x
- return x;
- }
- }
- x = 43; // declare global x
- assertEquals(42, g());
- x = 44; // assign to global x
- eval(s);
- x = 45; // should be ignored (assign to const x)
- assertEquals(0, g());
- }
- f("const x = 0;");
-})();
-
-
-(function () {
- function f(s) {
- function g(s) {
- eval(s);
- return x;
- }
- x = 43; // declare global x
- assertEquals(42, g("x = 42;"));
- x = 44; // assign to global x
- eval(s);
- x = 45; // should be ignored (assign to const x)
- assertEquals(0, g("x = 46;"));
- }
- f("const x = 0;");
-})();
-
-
-(function () {
- function f(s) {
- function g(s) {
- with ({foo: 0}) {
- eval(s);
- return x;
- }
- }
- x = 43; // declare global x
- assertEquals(42, g("x = 42;"));
- x = 44; // assign to global x
- eval(s);
- x = 45; // should be ignored (assign to const x)
- assertEquals(0, g("x = 46;"));
- }
- f("const x = 0;");
-})();
-
diff --git a/src/3rdparty/v8/test/mjsunit/const-eval-init.js b/src/3rdparty/v8/test/mjsunit/const-eval-init.js
deleted file mode 100644
index d350384..0000000
--- a/src/3rdparty/v8/test/mjsunit/const-eval-init.js
+++ /dev/null
@@ -1,117 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test the handling of initialization of deleted const variables.
-// This only makes sense in local scopes since the declaration and
-// initialization of consts in the global scope happen at the same
-// time.
-
-function testIntroduceGlobal() {
- var source =
- // Deleting 'x' removes the local const property.
- "delete x;" +
- // Initialization turns into assignment to global 'x'.
- "const x = 3; assertEquals(3, x);" +
- // No constness of the global 'x'.
- "x = 4; assertEquals(4, x);";
- eval(source);
-}
-
-testIntroduceGlobal();
-assertEquals(4, x);
-
-function testAssignExistingGlobal() {
- var source =
- // Delete 'x' to remove the local const property.
- "delete x;" +
- // Initialization turns into assignment to global 'x'.
- "const x = 5; assertEquals(5, x);" +
- // No constness of the global 'x'.
- "x = 6; assertEquals(6, x);";
- eval(source);
-}
-
-testAssignExistingGlobal();
-assertEquals(6, x);
-
-function testAssignmentArgument(x) {
- function local() {
- var source = "delete x; const x = 7; assertEquals(7, x)";
- eval(source);
- }
- local();
- assertEquals(7, x);
-}
-
-for (var i = 0; i < 5; i++) {
- testAssignmentArgument();
-}
-%OptimizeFunctionOnNextCall(testAssignmentArgument);
-testAssignmentArgument();
-assertEquals(6, x);
-
-__defineSetter__('x', function() { throw 42; });
-function testAssignGlobalThrows() {
- // Initialization turns into assignment to global 'x' which
- // throws an exception.
- var source = "delete x; const x = 8";
- eval(source);
-}
-
-assertThrows("testAssignGlobalThrows()");
-
-function testInitFastCaseExtension() {
- var source = "const x = 9; assertEquals(9, x); x = 10; assertEquals(9, x)";
- eval(source);
-}
-
-testInitFastCaseExtension();
-
-function testInitSlowCaseExtension() {
- var source = "";
- // Introduce 100 properties on the context extension object to force
- // it in slow case.
- for (var i = 0; i < 100; i++) source += ("var a" + i + " = " + i + ";");
- source += "const x = 10; assertEquals(10, x); x = 11; assertEquals(10, x)";
- eval(source);
-}
-
-testInitSlowCaseExtension();
-
-function testAssignSurroundingContextSlot() {
- var x = 12;
- function local() {
- var source = "delete x; const x = 13; assertEquals(13, x)";
- eval(source);
- }
- local();
- assertEquals(13, x);
-}
-
-testAssignSurroundingContextSlot();
diff --git a/src/3rdparty/v8/test/mjsunit/const-redecl.js b/src/3rdparty/v8/test/mjsunit/const-redecl.js
deleted file mode 100644
index c0b97e6..0000000
--- a/src/3rdparty/v8/test/mjsunit/const-redecl.js
+++ /dev/null
@@ -1,280 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test for const semantics.
-
-
-function CheckException(e) {
- var string = e.toString();
- var index = string.indexOf(':');
- assertTrue(index >= 0);
- var name = string.slice(0, index);
- assertTrue(string.indexOf("has already been declared") >= 0 ||
- string.indexOf("redeclaration") >= 0);
- if (name == 'SyntaxError') return 'TypeError';
- return name;
-}
-
-
-function TestLocal(s,e) {
- try {
- return eval("(function(){" + s + ";return " + e + "})")();
- } catch (x) {
- return CheckException(x);
- }
-}
-
-
-// NOTE: TestGlobal usually only tests the given string in the context
-// of a global object in dictionary mode. This is because we use
-// delete to get rid of any added properties.
-function TestGlobal(s,e) {
- // Collect the global properties before the call.
- var properties = [];
- for (var key in this) properties.push(key);
- // Compute the result.
- var result;
- try {
- var code = s + (e ? "; $$$result=" + e : "");
- if (this.execScript) {
- execScript(code);
- } else {
- this.eval(code);
- }
- // Avoid issues if $$$result is not defined by
- // reading it through this.
- result = this.$$$result;
- } catch (x) {
- result = CheckException(x);
- }
- // Get rid of any introduced global properties before
- // returning the result.
- for (var key in this) {
- if (properties.indexOf(key) == -1) delete this[key];
- }
- return result;
-}
-
-
-function TestContext(s,e) {
- try {
- // Use a with-statement to force the system to do dynamic
- // declarations of the introduced variables or constants.
- with ({}) {
- return eval(s + ";" + e);
- }
- } catch (x) {
- return CheckException(x);
- }
-}
-
-
-function TestAll(expected,s,opt_e) {
- var e = "";
- var msg = s;
- if (opt_e) { e = opt_e; msg += "; " + opt_e; }
- assertEquals(expected, TestLocal(s,e), "local:'" + msg + "'");
- // Redeclarations of global consts do not throw, they are silently ignored.
- assertEquals(42, TestGlobal(s, 42), "global:'" + msg + "'");
- assertEquals(expected, TestContext(s,e), "context:'" + msg + "'");
-}
-
-
-function TestConflict(def0, def1) {
- // No eval.
- TestAll("TypeError", def0 +'; ' + def1);
- // Eval everything.
- TestAll("TypeError", 'eval("' + def0 + '; ' + def1 + '")');
- // Eval first definition.
- TestAll("TypeError", 'eval("' + def0 +'"); ' + def1);
- // Eval second definition.
- TestAll("TypeError", def0 + '; eval("' + def1 + '")');
- // Eval both definitions separately.
- TestAll("TypeError", 'eval("' + def0 +'"); eval("' + def1 + '")');
-}
-
-
-// Test conflicting definitions.
-TestConflict("const x", "var x");
-TestConflict("const x = 0", "var x");
-TestConflict("const x", "var x = 0");
-TestConflict("const x = 0", "var x = 0");
-
-TestConflict("var x", "const x");
-TestConflict("var x = 0", "const x");
-TestConflict("var x", "const x = 0");
-TestConflict("var x = 0", "const x = 0");
-
-TestConflict("const x = undefined", "var x");
-TestConflict("const x", "var x = undefined");
-TestConflict("const x = undefined", "var x = undefined");
-
-TestConflict("var x = undefined", "const x");
-TestConflict("var x", "const x = undefined");
-TestConflict("var x = undefined", "const x = undefined");
-
-TestConflict("const x = undefined", "var x = 0");
-TestConflict("const x = 0", "var x = undefined");
-
-TestConflict("var x = undefined", "const x = 0");
-TestConflict("var x = 0", "const x = undefined");
-
-TestConflict("const x", "function x() { }");
-TestConflict("const x = 0", "function x() { }");
-TestConflict("const x = undefined", "function x() { }");
-
-TestConflict("function x() { }", "const x");
-TestConflict("function x() { }", "const x = 0");
-TestConflict("function x() { }", "const x = undefined");
-
-TestConflict("const x, y", "var x");
-TestConflict("const x, y", "var y");
-TestConflict("const x = 0, y", "var x");
-TestConflict("const x = 0, y", "var y");
-TestConflict("const x, y = 0", "var x");
-TestConflict("const x, y = 0", "var y");
-TestConflict("const x = 0, y = 0", "var x");
-TestConflict("const x = 0, y = 0", "var y");
-
-TestConflict("var x", "const x, y");
-TestConflict("var y", "const x, y");
-TestConflict("var x", "const x = 0, y");
-TestConflict("var y", "const x = 0, y");
-TestConflict("var x", "const x, y = 0");
-TestConflict("var y", "const x, y = 0");
-TestConflict("var x", "const x = 0, y = 0");
-TestConflict("var y", "const x = 0, y = 0");
-
-
-// Test that multiple conflicts do not cause issues.
-TestConflict("var x, y", "const x, y");
-
-
-// Test that repeated const declarations throw redeclaration errors.
-TestConflict("const x", "const x");
-TestConflict("const x = 0", "const x");
-TestConflict("const x", "const x = 0");
-TestConflict("const x = 0", "const x = 0");
-
-TestConflict("const x = undefined", "const x");
-TestConflict("const x", "const x = undefined");
-TestConflict("const x = undefined", "const x = undefined");
-
-TestConflict("const x = undefined", "const x = 0");
-TestConflict("const x = 0", "const x = undefined");
-
-TestConflict("const x, y", "const x");
-TestConflict("const x, y", "const y");
-TestConflict("const x = 0, y", "const x");
-TestConflict("const x = 0, y", "const y");
-TestConflict("const x, y = 0", "const x");
-TestConflict("const x, y = 0", "const y");
-TestConflict("const x = 0, y = 0", "const x");
-TestConflict("const x = 0, y = 0", "const y");
-
-TestConflict("const x", "const x, y");
-TestConflict("const y", "const x, y");
-TestConflict("const x", "const x = 0, y");
-TestConflict("const y", "const x = 0, y");
-TestConflict("const x", "const x, y = 0");
-TestConflict("const y", "const x, y = 0");
-TestConflict("const x", "const x = 0, y = 0");
-TestConflict("const y", "const x = 0, y = 0");
-
-
-// Test that multiple const conflicts do not cause issues.
-TestConflict("const x, y", "const x, y");
-
-
-// Test that const inside loop behaves correctly.
-var loop = "for (var i = 0; i < 3; i++) { const x = i; }";
-TestAll(0, loop, "x");
-TestAll(0, "var a,b,c,d,e,f,g,h; " + loop, "x");
-
-
-// Test that const inside with behaves correctly.
-TestAll(87, "with ({x:42}) { const x = 87; }", "x");
-TestAll(undefined, "with ({x:42}) { const x; }", "x");
-
-
-// Additional tests for how various combinations of re-declarations affect
-// the values of the var/const in question.
-try {
- eval("var undefined;");
-} catch (ex) {
- assertUnreachable("undefined (1) has thrown");
-}
-
-var original_undef = undefined;
-var undefined = 1; // Should be silently ignored.
-assertEquals(original_undef, undefined, "undefined got overwritten");
-undefined = original_undef;
-
-var a; const a; const a = 1;
-assertEquals(1, a, "a has wrong value");
-a = 2;
-assertEquals(2, a, "a should be writable");
-
-var b = 1; const b = 2;
-assertEquals(2, b, "b has wrong value");
-
-var c = 1; const c = 2; const c = 3;
-assertEquals(3, c, "c has wrong value");
-
-const d = 1; const d = 2;
-assertEquals(1, d, "d has wrong value");
-
-const e = 1; var e = 2;
-assertEquals(1, e, "e has wrong value");
-
-const f = 1; const f;
-assertEquals(1, f, "f has wrong value");
-
-var g; const g = 1;
-assertEquals(1, g, "g has wrong value");
-g = 2;
-assertEquals(2, g, "g should be writable");
-
-const h; var h = 1;
-assertEquals(undefined,h, "h has wrong value");
-
-eval("Object.defineProperty(this, 'i', { writable: true });"
- + "const i = 7;"
- + "assertEquals(7, i, \"i has wrong value\");");
-
-var global = this;
-assertThrows(function() {
- Object.defineProperty(global, 'j', { writable: true })
-}, TypeError);
-const j = 2; // This is what makes the function above throw, because the
-// const declaration gets hoisted and makes the property non-configurable.
-assertEquals(2, j, "j has wrong value");
-
-var k = 1; const k;
-// You could argue about the expected result here. For now, the winning
-// argument is that "const k;" is equivalent to "const k = undefined;".
-assertEquals(undefined, k, "k has wrong value");
diff --git a/src/3rdparty/v8/test/mjsunit/const.js b/src/3rdparty/v8/test/mjsunit/const.js
deleted file mode 100644
index adb0b7a..0000000
--- a/src/3rdparty/v8/test/mjsunit/const.js
+++ /dev/null
@@ -1,70 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test const properties and pre/postfix operation.
-function f() {
- const x = 1;
- x++;
- assertEquals(1, x);
- x--;
- assertEquals(1, x);
- ++x;
- assertEquals(1, x);
- --x;
- assertEquals(1, x);
- assertEquals(1, x++);
- assertEquals(1, x--);
- assertEquals(2, ++x);
- assertEquals(0, --x);
-}
-
-f();
-
-// Test that the value is read eventhough assignment is disallowed.
-// Spidermonkey does not do this, but it seems like the right thing to
-// do so that 'o++' is equivalent to 'o = o + 1'.
-var valueOfCount = 0;
-
-function g() {
- const o = { valueOf: function() { valueOfCount++; return 42; } };
- assertEquals(42, +o);
- assertEquals(1, valueOfCount);
- o++;
- assertEquals(42, +o);
- assertEquals(3, valueOfCount);
- ++o;
- assertEquals(42, +o);
- assertEquals(5, valueOfCount);
- o--;
- assertEquals(42, +o);
- assertEquals(7, valueOfCount);
- --o;
- assertEquals(42, +o);
- assertEquals(9, valueOfCount);
-}
-
-g();
diff --git a/src/3rdparty/v8/test/mjsunit/constant-folding-2.js b/src/3rdparty/v8/test/mjsunit/constant-folding-2.js
deleted file mode 100644
index 6dbb4ab..0000000
--- a/src/3rdparty/v8/test/mjsunit/constant-folding-2.js
+++ /dev/null
@@ -1,258 +0,0 @@
-// Copyright 2013 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-// Flags: --nodead-code-elimination --fold-constants --allow-natives-syntax
-
-function test(f) {
- f();
- f();
- %OptimizeFunctionOnNextCall(f);
- f();
- // Assert that there has been no deopt.
- assertTrue(%GetOptimizationStatus(f) != 2);
-}
-
-test(function add() {
- assertEquals(2, 1 + 1);
- assertEquals(2.5, 1.25 + 1.25);
- assertEquals("Infinity", String(Infinity + Infinity));
- assertEquals("Infinity", String(Infinity + 3));
- assertEquals("NaN", String(Infinity + (-Infinity)));
- assertEquals("NaN", String(NaN + 2));
- assertEquals("-Infinity", String(1 / (-0.0 + (-0.0))));
- assertEquals("Infinity", String(1 / (-0.0 + 0.0)));
-});
-
-test(function inc() {
- var a = 1;
- var b = Infinity;
- var c = -Infinity;
- var d = NaN;
- assertEquals(2, ++a);
- assertEquals("Infinity", String(++b));
- assertEquals("-Infinity", String(++c));
- assertEquals("NaN", String(++d));
-});
-
-test(function dec() {
- var a = 1;
- var b = Infinity;
- var c = -Infinity;
- var d = NaN;
- assertEquals(0, --a);
- assertEquals("Infinity", String(--b));
- assertEquals("-Infinity", String(--c));
- assertEquals("NaN", String(--d));
-});
-
-test(function sub() {
- assertEquals(0, 1 - 1);
- assertEquals(0.5, 1.5 - 1);
- assertEquals("Infinity", String(Infinity - (-Infinity)));
- assertEquals("Infinity", String(Infinity - 3));
- assertEquals("NaN", String(Infinity - Infinity));
- assertEquals("NaN", String(NaN - 2));
- assertEquals("-Infinity", String(1 / (-0.0 - 0.0)));
- assertEquals("Infinity", String(1 / (0.0 - 0.0)));
-});
-
-test(function mul() {
- assertEquals(1, 1 * 1);
- assertEquals(2.25, 1.5 * 1.5);
- assertEquals("Infinity", String(Infinity * Infinity));
- assertEquals("-Infinity", String(Infinity * (-Infinity)));
- assertEquals("Infinity", String(Infinity * 3));
- assertEquals("-Infinity", String(Infinity * (-3)));
- assertEquals("NaN", String(NaN * 3));
- assertEquals("-Infinity", String(1 / (-0.0 * 0.0)));
- assertEquals("Infinity", String(1 / (0.0 * 0.0)));
-});
-
-test(function div() {
- assertEquals(1, 1 / 1);
- assertEquals(1.5, 2.25 / 1.5);
- assertEquals("NaN", String(Infinity / Infinity));
- assertEquals("Infinity", String(Infinity / 3));
- assertEquals("-Infinity", String(Infinity / (-3)));
- assertEquals("NaN", String(NaN / 3));
- assertEquals("-Infinity", String(1 / (-0.0)));
- assertEquals("Infinity", String(Infinity/0.0));
-});
-
-test(function mathMin() {
- assertEquals(1, Math.min(1, 10));
- assertEquals(1.5, Math.min(1.5, 2.5));
- assertEquals(0, Math.min(Infinity, 0));
- assertEquals("Infinity", String(Math.min(Infinity, Infinity)));
- assertEquals("-Infinity", String(Math.min(Infinity, -Infinity)));
- assertEquals("NaN", String(Math.min(NaN, 1)));
- assertEquals("Infinity", String(1 / Math.min(0.0, 0.0)));
- assertEquals("-Infinity", String(1 / Math.min(-0.0, -0.0)));
- assertEquals("-Infinity", String(1 / Math.min(0.0, -0.0)));
-});
-
-test(function mathMax() {
- assertEquals(10, Math.max(1, 10));
- assertEquals(2.5, Math.max(1.5, 2.5));
- assertEquals(Infinity, Math.max(Infinity, 0));
- assertEquals("-Infinity", String(Math.max(-Infinity, -Infinity)));
- assertEquals("Infinity", String(Math.max(Infinity, -Infinity)));
- assertEquals("NaN", String(Math.max(NaN, 1)));
- assertEquals("Infinity", String(1 / Math.max(0.0, 0.0)));
- assertEquals("-Infinity", String(1 / Math.max(-0.0, -0.0)));
- assertEquals("Infinity", String(1 / Math.max(0.0, -0.0)));
-});
-
-test(function mathSin() {
- assertEquals(0.0, Math.sin(0.0));
- assertTrue(0.8 < Math.sin(1) && Math.sin(1) < 0.9);
- assertEquals("NaN", String(Math.sin(Infinity)));
- assertEquals("NaN", String(Math.sin(-Infinity)));
- assertEquals("NaN", String(Math.sin(NaN)));
-});
-
-test(function mathCos() {
- assertEquals(1.0, Math.cos(0.0));
- assertTrue(0.5 < Math.cos(1) && Math.cos(1) < 0.6);
- assertEquals("NaN", String(Math.cos(Infinity)));
- assertEquals("NaN", String(Math.cos(-Infinity)));
- assertEquals("NaN", String(Math.cos(NaN)));
-});
-
-test(function mathTan() {
- assertEquals(0.0, Math.tan(0.0));
- assertTrue(1.5 < Math.tan(1) && Math.tan(1) < 1.6);
- assertEquals("NaN", String(Math.tan(Infinity)));
- assertEquals("NaN", String(Math.tan(-Infinity)));
- assertEquals("NaN", String(Math.tan(NaN)));
-});
-
-test(function mathExp() {
- assertEquals(1.0, Math.exp(0.0));
- assertTrue(2.7 < Math.exp(1) && Math.exp(1) < 2.8);
- assertEquals("Infinity", String(Math.exp(Infinity)));
- assertEquals("0", String(Math.exp(-Infinity)));
- assertEquals("NaN", String(Math.exp(NaN)));
-});
-
-test(function mathLog() {
- assertEquals(0.0, Math.log(1.0));
- assertTrue(1 < Math.log(3) && Math.log(3) < 1.5);
- assertEquals("Infinity", String(Math.log(Infinity)));
- assertEquals("NaN", String(Math.log(-Infinity)));
- assertEquals("NaN", String(Math.exp(NaN)));
-});
-
-test(function mathSqrt() {
- assertEquals(1.0, Math.sqrt(1.0));
- assertEquals("NaN", String(Math.sqrt(-1.0)));
- assertEquals("Infinity", String(Math.sqrt(Infinity)));
- assertEquals("NaN", String(Math.sqrt(-Infinity)));
- assertEquals("NaN", String(Math.sqrt(NaN)));
-});
-
-test(function mathPowHalf() {
- assertEquals(1.0, Math.pow(1.0, 0.5));
- assertEquals("NaN", String(Math.sqrt(-1.0)));
- assertEquals("Infinity", String(Math.pow(Infinity, 0.5)));
- assertEquals("NaN", String(Math.sqrt(-Infinity, 0.5)));
- assertEquals(0, Math.pow(Infinity, -0.5));
- assertEquals("NaN", String(Math.sqrt(-Infinity, -0.5)));
- assertEquals("NaN", String(Math.sqrt(NaN, 0.5)));
-});
-
-test(function mathAbs() {
- assertEquals(1.5, Math.abs(1.5));
- assertEquals(1.5, Math.abs(-1.5));
- assertEquals("Infinity", String(Math.abs(Infinity)));
- assertEquals("Infinity", String(Math.abs(-Infinity)));
- assertEquals("NaN", String(Math.abs(NaN)));
-});
-
-test(function mathRound() {
- assertEquals(2, Math.round(1.5));
- assertEquals(-1, Math.round(-1.5));
- assertEquals("Infinity", String(Math.round(Infinity)));
- assertEquals("-Infinity", String(Math.round(-Infinity)));
- assertEquals("Infinity", String(1 / Math.round(0.0)));
- assertEquals("-Infinity", String(1 / Math.round(-0.0)));
- assertEquals("NaN", String(Math.round(NaN)));
- assertEquals(Math.pow(2, 52) + 1, Math.round(Math.pow(2, 52) + 1));
-});
-
-test(function mathFloor() {
- assertEquals(1, Math.floor(1.5));
- assertEquals(-2, Math.floor(-1.5));
- assertEquals("Infinity", String(Math.floor(Infinity)));
- assertEquals("-Infinity", String(Math.floor(-Infinity)));
- assertEquals("Infinity", String(1 / Math.floor(0.0)));
- assertEquals("-Infinity", String(1 / Math.floor(-0.0)));
- assertEquals("NaN", String(Math.floor(NaN)));
- assertEquals(Math.pow(2, 52) + 1, Math.floor(Math.pow(2, 52) + 1));
-});
-
-test(function mathPow() {
- assertEquals(2.25, Math.pow(1.5, 2));
- assertTrue(1.8 < Math.pow(1.5, 1.5) && Math.pow(1.5, 1.5) < 1.9);
- assertEquals("Infinity", String(Math.pow(Infinity, 0.5)));
- assertEquals("Infinity", String(Math.pow(-Infinity, 0.5)));
- assertEquals(0, Math.pow(Infinity, -0.5));
- assertEquals(0, Math.pow(Infinity, -0.5));
- assertEquals("Infinity", String(Math.pow(Infinity, Infinity)));
- assertEquals(0, Math.pow(Infinity, -Infinity));
- assertEquals("NaN", String(Math.pow(Infinity, NaN)));
- assertEquals("NaN", String(Math.pow(NaN, 2)));
-});
-
-test(function stringAdd() {
- assertEquals("", "" + "");
- assertEquals("folded constant", "folded " + "constant");
- assertEquals("not folded constant1", "not folded constant" + 1);
-});
-
-test(function stringLength() {
- assertEquals(6, "abcdef".length);
- assertEquals(0, "".length);
- assertEquals(-5, { length: -5 }.length);
-});
-
-test(function stringCharCodeAt() {
- assertEquals(99, "abc".charCodeAt(2));
- assertEquals("NaN", String("abc".charCodeAt(-1)));
- assertEquals("NaN", String("abc".charCodeAt(4)));
- assertEquals(98, "abc".charCodeAt(1.1));
- assertEquals("NaN", String("abc".charCodeAt(4.1)));
-});
-
-test(function stringCharAt() {
- assertEquals("c", "abc".charAt(2));
- assertEquals("", "abc".charAt(-1));
- assertEquals("", "abc".charAt(4));
- assertEquals("b", "abc".charAt(1.1));
- assertEquals("", "abc".charAt(4.1));
-});
diff --git a/src/3rdparty/v8/test/mjsunit/constant-folding.js b/src/3rdparty/v8/test/mjsunit/constant-folding.js
deleted file mode 100644
index 4deb43c..0000000
--- a/src/3rdparty/v8/test/mjsunit/constant-folding.js
+++ /dev/null
@@ -1,232 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test operations that involve one or more constants.
-// The code generator now handles compile-time constants specially.
-// Test the code generated when operands are known at compile time
-
-// Test count operations involving constants
-function test_count() {
- var x = "foo";
- var y = "3";
-
- x += x++; // ++ and -- apply ToNumber to their operand, even for postfix.
- assertEquals(x, "fooNaN", "fooNaN test");
- x = "luft";
- x += ++x;
- assertEquals(x, "luftNaN", "luftNaN test");
-
- assertTrue(y++ === 3, "y++ === 3, where y = \"3\"");
- y = 3;
- assertEquals(y++, 3, "y++ == 3, where y = 3");
- y = "7.1";
- assertTrue(y++ === 7.1, "y++ === 7.1, where y = \"7.1\"");
- var z = y = x = "9";
- assertEquals( z++ + (++y) + x++, 28, "z++ + (++y) + x++ == 28");
- z = y = x = 13;
- assertEquals( z++ + (++y) + x++, 40, "z++ + (++y) + x++ == 40");
- z = y = x = -5.5;
- assertEquals( z++ + (++y) + x++, -15.5, "z++ + (++y) + x++ == -15.5");
-
- assertEquals(y, -4.5);
- z = y;
- z++;
- assertEquals(y, -4.5);
- z = y;
- y++;
- assertEquals(z, -4.5);
-
- y = 20;
- z = y;
- z++;
- assertEquals(y, 20);
- z = y;
- y++;
- assertEquals(z, 20);
-
- const w = 30;
- assertEquals(w++, 30);
- assertEquals(++w, 31);
- assertEquals(++w, 31);
-}
-
-test_count();
-
-// Test comparison operations that involve one or two constant smis.
-
-function test() {
- var i = 5;
- var j = 3;
-
- assertTrue( j < i );
- i = 5; j = 3;
- assertTrue( j <= i );
- i = 5; j = 3;
- assertTrue( i > j );
- i = 5; j = 3;
- assertTrue( i >= j );
- i = 5; j = 3;
- assertTrue( i != j );
- i = 5; j = 3;
- assertTrue( i == i );
- i = 5; j = 3;
- assertFalse( i < j );
- i = 5; j = 3;
- assertFalse( i <= j );
- i = 5; j = 3;
- assertFalse( j > i );
- i = 5; j = 3;
- assertFalse(j >= i );
- i = 5; j = 3;
- assertFalse( j == i);
- i = 5; j = 3;
- assertFalse( i != i);
-
- i = 10 * 10;
- while ( i < 107 ) {
- ++i;
- }
- j = 21;
-
- assertTrue( j < i );
- j = 21;
- assertTrue( j <= i );
- j = 21;
- assertTrue( i > j );
- j = 21;
- assertTrue( i >= j );
- j = 21;
- assertTrue( i != j );
- j = 21;
- assertTrue( i == i );
- j = 21;
- assertFalse( i < j );
- j = 21;
- assertFalse( i <= j );
- j = 21;
- assertFalse( j > i );
- j = 21;
- assertFalse(j >= i );
- j = 21;
- assertFalse( j == i);
- j = 21;
- assertFalse( i != i);
- j = 21;
- assertTrue( j == j );
- j = 21;
- assertFalse( j != j );
-
- assertTrue( 100 > 99 );
- assertTrue( 101 >= 90 );
- assertTrue( 11111 > -234 );
- assertTrue( -888 <= -20 );
-
- while ( 234 > 456 ) {
- i = i + 1;
- }
-
- switch(3) {
- case 5:
- assertUnreachable();
- break;
- case 3:
- j = 13;
- default:
- i = 2;
- case 7:
- j = 17;
- break;
- case 9:
- j = 19;
- assertUnreachable();
- break;
- }
- assertEquals(17, j, "switch with constant value");
-}
-
-
-function TrueToString() {
- return true.toString();
-}
-
-
-function FalseToString() {
- return false.toString();
-}
-
-
-function BoolTest() {
- assertEquals("true", TrueToString());
- assertEquals("true", TrueToString());
- assertEquals("true", TrueToString());
- assertEquals("false", FalseToString());
- assertEquals("false", FalseToString());
- assertEquals("false", FalseToString());
- Boolean.prototype.toString = function() { return "foo"; }
- assertEquals("foo", TrueToString());
- assertEquals("foo", FalseToString());
-}
-
-
-// Some tests of shifts that get into the corners in terms of coverage.
-// We generate different code for the case where the operand is a constant.
-function ShiftTest() {
- var x = 123;
- assertEquals(x, x >> 0);
- assertEquals(x, x << 0);
- assertEquals(x, x >>> 0);
- assertEquals(61, x >> 1);
- assertEquals(246, x << 1);
- assertEquals(61, x >>> 1);
- x = -123;
- assertEquals(x, x >> 0);
- assertEquals(x, x << 0);
- assertEquals(0x10000 * 0x10000 + x, x >>> 0);
- assertEquals(-62, x >> 1);
- assertEquals(-246, x << 1);
- assertEquals(0x10000 * 0x8000 - 62, x >>> 1);
- // Answer is non-Smi so the subtraction is not folded in the code
- // generator.
- assertEquals(-0x40000001, -0x3fffffff - 2);
-
- x = 123;
- assertEquals(0, x & 0);
-
- // Answer is non-smi and lhs of << is a temporary heap number that we can
- // overwrite.
- x = 123.0001;
- assertEquals(1073741824, (x * x) << 30);
- x = 123;
- // Answer is non-smi and lhs of << is a temporary heap number that we think
- // we can overwrite (but we can't because it's a Smi).
- assertEquals(1073741824, (x * x) << 30);
-}
-
-
-test();
-BoolTest();
-ShiftTest();
diff --git a/src/3rdparty/v8/test/mjsunit/context-variable-assignments.js b/src/3rdparty/v8/test/mjsunit/context-variable-assignments.js
deleted file mode 100644
index 930b969..0000000
--- a/src/3rdparty/v8/test/mjsunit/context-variable-assignments.js
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function foo() {
- var a, b;
- var bar = function() {
- a = b = "hello world";
- }
- bar();
- return a;
-}
-
-assertEquals("hello world", foo());
diff --git a/src/3rdparty/v8/test/mjsunit/copy-on-write-assert.js b/src/3rdparty/v8/test/mjsunit/copy-on-write-assert.js
deleted file mode 100644
index 0e78c77..0000000
--- a/src/3rdparty/v8/test/mjsunit/copy-on-write-assert.js
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function createLargeCOWArray() {
- var s = "[0";
- // The constant below depends on the max object size in new space.
- for (var i = 0; i < (128 << 10); i++) {
- s += ",0";
- }
- s += "]";
- return eval(s);
-}
-
-var large_cow_array = createLargeCOWArray();
-
-// Force copy. Because the array is large it will test the slow array
-// cloning in large object space.
-large_cow_array[17] = 42;
diff --git a/src/3rdparty/v8/test/mjsunit/count-based-osr.js b/src/3rdparty/v8/test/mjsunit/count-based-osr.js
deleted file mode 100644
index fbff91e..0000000
--- a/src/3rdparty/v8/test/mjsunit/count-based-osr.js
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --count-based-interrupts --interrupt-budget=10 --weighted-back-edges
-// Flags: --allow-natives-syntax --noparallel-recompilation
-
-// Test that OSR works properly when using count-based interrupting/profiling.
-
-function osr_this() {
- var a = 1;
- // Trigger OSR.
- while (%GetOptimizationStatus(osr_this) == 2) {}
- return a;
-}
-assertEquals(1, osr_this());
diff --git a/src/3rdparty/v8/test/mjsunit/cyclic-array-to-string.js b/src/3rdparty/v8/test/mjsunit/cyclic-array-to-string.js
deleted file mode 100644
index 0a2d6e3..0000000
--- a/src/3rdparty/v8/test/mjsunit/cyclic-array-to-string.js
+++ /dev/null
@@ -1,65 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test printing of cyclic arrays.
-
-var a1 = [1,2];
-assertEquals("1,2", a1.toString());
-assertEquals("1,2", a1.toLocaleString());
-assertEquals("1,2", a1.join());
-a1.push(a1);
-assertEquals("1,2,", a1.toString());
-assertEquals("1,2,", a1.toLocaleString());
-assertEquals("1,2,", a1.join());
-a1.push(1);
-assertEquals("1,2,,1", a1.toString());
-assertEquals("1,2,,1", a1.toLocaleString());
-assertEquals("1,2,,1", a1.join());
-a1.push(a1);
-assertEquals("1,2,,1,", a1.toString());
-assertEquals("1,2,,1,", a1.toLocaleString());
-assertEquals("1,2,,1,", a1.join());
-
-a1 = [1,2];
-var a2 = [3,4];
-a1.push(a2);
-a1.push(a2);
-assertEquals("1,2,3,4,3,4", a1.toString());
-assertEquals("1,2,3,4,3,4", a1.toLocaleString());
-assertEquals("1,2,3,4,3,4", a1.join());
-a2.push(a1);
-assertEquals("1,2,3,4,,3,4,", a1.toString());
-assertEquals("1,2,3,4,,3,4,", a1.toLocaleString());
-assertEquals("1,2,3,4,,3,4,", a1.join());
-
-a1 = [];
-a2 = [a1];
-a1.push(a2);
-assertEquals("", a1.toString());
-assertEquals("", a1.toLocaleString());
-assertEquals("", a1.join());
-
diff --git a/src/3rdparty/v8/test/mjsunit/cyrillic.js b/src/3rdparty/v8/test/mjsunit/cyrillic.js
deleted file mode 100644
index 9b21c4f..0000000
--- a/src/3rdparty/v8/test/mjsunit/cyrillic.js
+++ /dev/null
@@ -1,199 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test Unicode character ranges in regexps.
-
-
-// Cyrillic.
-var cyrillic = {
- FIRST: "\u0410", // A
- first: "\u0430", // a
- LAST: "\u042f", // YA
- last: "\u044f", // ya
- MIDDLE: "\u0427", // CHE
- middle: "\u0447", // che
- // Actually no characters are between the cases in Cyrillic.
- BetweenCases: false};
-
-var SIGMA = "\u03a3";
-var sigma = "\u03c3";
-var alternative_sigma = "\u03c2";
-
-// Greek.
-var greek = {
- FIRST: "\u0391", // ALPHA
- first: "\u03b1", // alpha
- LAST: "\u03a9", // OMEGA
- last: "\u03c9", // omega
- MIDDLE: SIGMA, // SIGMA
- middle: sigma, // sigma
- // Epsilon acute is between ALPHA-OMEGA and alpha-omega, ie it
- // is between OMEGA and alpha.
- BetweenCases: "\u03ad"};
-
-
-function Range(from, to, flags) {
- return new RegExp("[" + from + "-" + to + "]", flags);
-}
-
-// Test Cyrillic and Greek separately.
-for (var lang = 0; lang < 2; lang++) {
- var chars = (lang == 0) ? cyrillic : greek;
-
- for (var i = 0; i < 2; i++) {
- var lc = (i == 0); // Lower case.
- var first = lc ? chars.first : chars.FIRST;
- var middle = lc ? chars.middle : chars.MIDDLE;
- var last = lc ? chars.last : chars.LAST;
- var first_other_case = lc ? chars.FIRST : chars.first;
- var middle_other_case = lc ? chars.MIDDLE : chars.middle;
- var last_other_case = lc ? chars.LAST : chars.last;
-
- assertTrue(Range(first, last).test(first), 1);
- assertTrue(Range(first, last).test(middle), 2);
- assertTrue(Range(first, last).test(last), 3);
-
- assertFalse(Range(first, last).test(first_other_case), 4);
- assertFalse(Range(first, last).test(middle_other_case), 5);
- assertFalse(Range(first, last).test(last_other_case), 6);
-
- assertTrue(Range(first, last, "i").test(first), 7);
- assertTrue(Range(first, last, "i").test(middle), 8);
- assertTrue(Range(first, last, "i").test(last), 9);
-
- assertTrue(Range(first, last, "i").test(first_other_case), 10);
- assertTrue(Range(first, last, "i").test(middle_other_case), 11);
- assertTrue(Range(first, last, "i").test(last_other_case), 12);
-
- if (chars.BetweenCases) {
- assertFalse(Range(first, last).test(chars.BetweenCases), 13);
- assertFalse(Range(first, last, "i").test(chars.BetweenCases), 14);
- }
- }
- if (chars.BetweenCases) {
- assertTrue(Range(chars.FIRST, chars.last).test(chars.BetweenCases), 15);
- assertTrue(Range(chars.FIRST, chars.last, "i").test(chars.BetweenCases), 16);
- }
-}
-
-// Test range that covers both greek and cyrillic characters.
-for (key in greek) {
- assertTrue(Range(greek.FIRST, cyrillic.last).test(greek[key]), 17 + key);
- if (cyrillic[key]) {
- assertTrue(Range(greek.FIRST, cyrillic.last).test(cyrillic[key]), 18 + key);
- }
-}
-
-for (var i = 0; i < 2; i++) {
- var ignore_case = (i == 0);
- var flag = ignore_case ? "i" : "";
- assertTrue(Range(greek.first, cyrillic.LAST, flag).test(greek.first), 19);
- assertTrue(Range(greek.first, cyrillic.LAST, flag).test(greek.middle), 20);
- assertTrue(Range(greek.first, cyrillic.LAST, flag).test(greek.last), 21);
-
- assertTrue(Range(greek.first, cyrillic.LAST, flag).test(cyrillic.FIRST), 22);
- assertTrue(Range(greek.first, cyrillic.LAST, flag).test(cyrillic.MIDDLE), 23);
- assertTrue(Range(greek.first, cyrillic.LAST, flag).test(cyrillic.LAST), 24);
-
- // A range that covers the lower case greek letters and the upper case cyrillic
- // letters.
- assertEquals(ignore_case, Range(greek.first, cyrillic.LAST, flag).test(greek.FIRST), 25);
- assertEquals(ignore_case, Range(greek.first, cyrillic.LAST, flag).test(greek.MIDDLE), 26);
- assertEquals(ignore_case, Range(greek.first, cyrillic.LAST, flag).test(greek.LAST), 27);
-
- assertEquals(ignore_case, Range(greek.first, cyrillic.LAST, flag).test(cyrillic.first), 28);
- assertEquals(ignore_case, Range(greek.first, cyrillic.LAST, flag).test(cyrillic.middle), 29);
- assertEquals(ignore_case, Range(greek.first, cyrillic.LAST, flag).test(cyrillic.last), 30);
-}
-
-
-// Sigma is special because there are two lower case versions of the same upper
-// case character. JS requires that case independece means that you should
-// convert everything to upper case, so the two sigma variants are equal to each
-// other in a case independt comparison.
-for (var i = 0; i < 2; i++) {
- var simple = (i != 0);
- var name = simple ? "" : "[]";
- var regex = simple ? SIGMA : "[" + SIGMA + "]";
-
- assertFalse(new RegExp(regex).test(sigma), 31 + name);
- assertFalse(new RegExp(regex).test(alternative_sigma), 32 + name);
- assertTrue(new RegExp(regex).test(SIGMA), 33 + name);
-
- assertTrue(new RegExp(regex, "i").test(sigma), 34 + name);
- // JSC and Tracemonkey fail this one.
- assertTrue(new RegExp(regex, "i").test(alternative_sigma), 35 + name);
- assertTrue(new RegExp(regex, "i").test(SIGMA), 36 + name);
-
- regex = simple ? sigma : "[" + sigma + "]";
-
- assertTrue(new RegExp(regex).test(sigma), 41 + name);
- assertFalse(new RegExp(regex).test(alternative_sigma), 42 + name);
- assertFalse(new RegExp(regex).test(SIGMA), 43 + name);
-
- assertTrue(new RegExp(regex, "i").test(sigma), 44 + name);
- // JSC and Tracemonkey fail this one.
- assertTrue(new RegExp(regex, "i").test(alternative_sigma), 45 + name);
- assertTrue(new RegExp(regex, "i").test(SIGMA), 46 + name);
-
- regex = simple ? alternative_sigma : "[" + alternative_sigma + "]";
-
- assertFalse(new RegExp(regex).test(sigma), 51 + name);
- assertTrue(new RegExp(regex).test(alternative_sigma), 52 + name);
- assertFalse(new RegExp(regex).test(SIGMA), 53 + name);
-
- // JSC and Tracemonkey fail this one.
- assertTrue(new RegExp(regex, "i").test(sigma), 54 + name);
- assertTrue(new RegExp(regex, "i").test(alternative_sigma), 55 + name);
- // JSC and Tracemonkey fail this one.
- assertTrue(new RegExp(regex, "i").test(SIGMA), 56 + name);
-}
-
-
-for (var add_non_ascii_character_to_subject = 0;
- add_non_ascii_character_to_subject < 2;
- add_non_ascii_character_to_subject++) {
- var suffix = add_non_ascii_character_to_subject ? "\ufffe" : "";
- // A range that covers both ASCII and non-ASCII.
- for (var i = 0; i < 2; i++) {
- var full = (i != 0);
- var mixed = full ? "[a-\uffff]" : "[a-" + cyrillic.LAST + "]";
- var f = full ? "f" : "c";
- for (var j = 0; j < 2; j++) {
- var ignore_case = (j == 0);
- var flag = ignore_case ? "i" : "";
- var re = new RegExp(mixed, flag);
- var expected =
- ignore_case || (full && !!add_non_ascii_character_to_subject);
- assertEquals(expected, re.test("A" + suffix), 58 + flag + f);
- assertTrue(re.test("a" + suffix), 59 + flag + f);
- assertTrue(re.test("~" + suffix), 60 + flag + f);
- assertTrue(re.test(cyrillic.MIDDLE), 61 + flag + f);
- assertEquals(ignore_case || full, re.test(cyrillic.middle), 62 + flag + f);
- }
- }
-}
diff --git a/src/3rdparty/v8/test/mjsunit/d8-os.js b/src/3rdparty/v8/test/mjsunit/d8-os.js
deleted file mode 100644
index f6b9839..0000000
--- a/src/3rdparty/v8/test/mjsunit/d8-os.js
+++ /dev/null
@@ -1,188 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test the OS module of d8. This test only makes sense with d8. It
-// only does non-trivial work on Unix since os.system() is not currently
-// implemented on Windows, and even if it were then many of the things
-// we are calling would not be available.
-
-var TEST_DIR = "/tmp/d8-os-test-directory-" + ((Math.random() * (1<<30)) | 0);
-
-
-function arg_error(str) {
- try {
- eval(str);
- } catch (e) {
- assertTrue(/rgument/.test(e), str);
- }
-}
-
-
-function str_error(str) {
- var e = new Object();
- e.toString = function() { throw new Error("foo bar"); }
- try {
- eval(str);
- } catch (exception) {
- assertTrue(/tring conversion/.test(exception), str);
- }
-}
-
-
-if (this.os && os.system) {
- // Ensure that we have a valid working directory.
- os.chdir("/tmp");
- try {
- // Delete the dir if it is lying around from last time.
- os.system("ls", [TEST_DIR]);
- os.system("rm", ["-r", TEST_DIR]);
- } catch (e) {
- }
- os.mkdirp(TEST_DIR);
- try {
- // Check the chdir worked.
- os.system('ls', [TEST_DIR]);
- // Simple create dir.
- os.mkdirp(TEST_DIR + "/dir");
- // Create dir in dir.
- os.mkdirp(TEST_DIR + "/dir/foo");
- // Check that they are there.
- os.system('ls', [TEST_DIR + '/dir/foo']);
- // Check that we can detect when something is not there.
- assertThrows("os.system('ls', [TEST_DIR + '/dir/bar']);", "dir not there");
- // Check that mkdirp makes intermediate directories.
- os.mkdirp(TEST_DIR + "/dir2/foo");
- os.system("ls", [TEST_DIR + "/dir2/foo"]);
- // Check that mkdirp doesn't mind if the dir is already there.
- os.mkdirp(TEST_DIR + "/dir2/foo");
- os.mkdirp(TEST_DIR + "/dir2/foo/");
- // Check that mkdirp can cope with trailing /
- os.mkdirp(TEST_DIR + "/dir3/");
- os.system("ls", [TEST_DIR + "/dir3"]);
- // Check that we get an error if the name is taken by a file.
- os.system("sh", ["-c", "echo foo > " + TEST_DIR + "/file1"]);
- os.system("ls", [TEST_DIR + "/file1"]);
- assertThrows("os.mkdirp(TEST_DIR + '/file1');", "mkdir over file1");
- assertThrows("os.mkdirp(TEST_DIR + '/file1/foo');", "mkdir over file2");
- assertThrows("os.mkdirp(TEST_DIR + '/file1/');", "mkdir over file3");
- assertThrows("os.mkdirp(TEST_DIR + '/file1/foo/');", "mkdir over file4");
- // Create a dir we cannot read.
- os.mkdirp(TEST_DIR + "/dir4", 0);
- // This test fails if you are root since root can read any dir.
- assertThrows("os.chdir(TEST_DIR + '/dir4');", "chdir dir4 I");
- os.rmdir(TEST_DIR + "/dir4");
- assertThrows("os.chdir(TEST_DIR + '/dir4');", "chdir dir4 II");
-
- // Set umask. This changes the umask for the whole process and is
- // the reason why the test cannot be run multi-threaded.
- var old_umask = os.umask(0777);
- // Create a dir we cannot read.
- os.mkdirp(TEST_DIR + "/dir5");
- // This test fails if you are root since root can read any dir.
- assertThrows("os.chdir(TEST_DIR + '/dir5');", "cd dir5 I");
- os.rmdir(TEST_DIR + "/dir5");
- assertThrows("os.chdir(TEST_DIR + '/dir5');", "chdir dir5 II");
- os.umask(old_umask);
-
- os.mkdirp(TEST_DIR + "/hest/fisk/../fisk/ged");
- os.system("ls", [TEST_DIR + "/hest/fisk/ged"]);
-
- os.setenv("FOO", "bar");
- var environment = os.system("printenv");
- assertTrue(/FOO=bar/.test(environment));
-
- // Check we time out.
- var have_sleep = true;
- var have_echo = true;
- try {
- os.system("ls", ["/bin/sleep"]);
- } catch (e) {
- have_sleep = false;
- }
- try {
- os.system("ls", ["/bin/echo"]);
- } catch (e) {
- have_echo = false;
- }
- if (have_sleep) {
- assertThrows("os.system('sleep', ['2000'], 20);", "sleep 1");
-
- // Check we time out with total time.
- assertThrows("os.system('sleep', ['2000'], -1, 20);", "sleep 2");
-
- // Check that -1 means no timeout.
- os.system('sleep', ['0.1'], -1, -1);
-
- }
-
- // Check that we don't fill up the process table with zombies.
- // Disabled because it's too slow.
- if (have_echo) {
- //for (var i = 0; i < 65536; i++) {
- assertEquals("baz\n", os.system("echo", ["baz"]));
- //}
- }
-
- // Too few args.
- arg_error("os.umask();");
- arg_error("os.system();");
- arg_error("os.mkdirp();");
- arg_error("os.chdir();");
- arg_error("os.setenv();");
- arg_error("os.rmdir();");
-
- // Too many args.
- arg_error("os.setenv('FOO=bar');");
- arg_error("os.umask(0, 0);");
- arg_error("os.system('ls', [], -1, -1, -1);");
- arg_error("os.mkdirp('foo', 0, 0)");
- arg_error("os.chdir('foo', 'bar')");
- arg_error("os.rmdir('foo', 'bar');");
-
- // Wrong kind of args.
- arg_error("os.umask([]);");
- arg_error("os.system('ls', 'foo');");
- arg_error("os.system('ls', 123);");
- arg_error("os.system('ls', [], 'foo');");
- arg_error("os.system('ls', [], -1, 'foo');");
- arg_error("os.mkdirp('foo', 'bar');");
-
- // Test broken toString().
- str_error("os.system(e);");
- str_error("os.system('ls', [e]);");
- str_error("os.system('ls', ['.', e]);");
- str_error("os.system('ls', [e, '.']);");
- str_error("os.mkdirp(e);");
- str_error("os.setenv(e, 'goo');");
- str_error("os.setenv('goo', e);");
- str_error("os.chdir(e);");
- str_error("os.rmdir(e);");
-
- } finally {
- os.system("rm", ["-r", TEST_DIR]);
- }
-}
diff --git a/src/3rdparty/v8/test/mjsunit/date-parse.js b/src/3rdparty/v8/test/mjsunit/date-parse.js
deleted file mode 100644
index cb4a951..0000000
--- a/src/3rdparty/v8/test/mjsunit/date-parse.js
+++ /dev/null
@@ -1,297 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that we can parse dates in all the different formats that we
-// have to support.
-//
-// These formats are all supported by KJS but a lot of them are not
-// supported by Spidermonkey.
-
-function testDateParse(string) {
- var d = Date.parse(string);
- assertEquals(946713600000, d, "parse: " + string);
-};
-
-
-// For local time we just test that parsing returns non-NaN positive
-// number of milliseconds to make it timezone independent.
-function testDateParseLocalTime(string) {
- var d = Date.parse("parse-local-time:" + string);
- assertTrue(!isNaN(d), "parse-local-time: " + string + " is NaN.");
- assertTrue(d > 0, "parse-local-time: " + string + " <= 0.");
-};
-
-
-function testDateParseMisc(array) {
- assertEquals(2, array.length, "array [" + array + "] length != 2.");
- var string = array[0];
- var expected = array[1];
- var d = Date.parse(string);
- assertEquals(expected, d, "parse-misc: " + string);
-}
-
-
-//
-// Test all the formats in UT timezone.
-//
-var testCasesUT = [
- 'Sat, 01-Jan-2000 08:00:00 UT',
- 'Sat, 01 Jan 2000 08:00:00 UT',
- 'Jan 01 2000 08:00:00 UT',
- 'Jan 01 08:00:00 UT 2000',
- 'Saturday, 01-Jan-00 08:00:00 UT',
- '01 Jan 00 08:00 +0000',
- // Ignore weekdays.
- 'Mon, 01 Jan 2000 08:00:00 UT',
- 'Tue, 01 Jan 2000 08:00:00 UT',
- // Ignore prefix that is not part of a date.
- '[Saturday] Jan 01 08:00:00 UT 2000',
- 'Ignore all of this stuff because it is annoying 01 Jan 2000 08:00:00 UT',
- '[Saturday] Jan 01 2000 08:00:00 UT',
- 'All of this stuff is really annnoying, so it will be ignored Jan 01 2000 08:00:00 UT',
- // If the three first letters of the month is a
- // month name we are happy - ignore the rest.
- 'Sat, 01-Janisamonth-2000 08:00:00 UT',
- 'Sat, 01 Janisamonth 2000 08:00:00 UT',
- 'Janisamonth 01 2000 08:00:00 UT',
- 'Janisamonth 01 08:00:00 UT 2000',
- 'Saturday, 01-Janisamonth-00 08:00:00 UT',
- '01 Janisamonth 00 08:00 +0000',
- // Allow missing space between month and day.
- 'Janisamonthandtherestisignored01 2000 08:00:00 UT',
- 'Jan01 2000 08:00:00 UT',
- // Allow year/month/day format.
- 'Sat, 2000/01/01 08:00:00 UT',
- // Allow month/day/year format.
- 'Sat, 01/01/2000 08:00:00 UT',
- // Allow month/day year format.
- 'Sat, 01/01 2000 08:00:00 UT',
- // Allow comma instead of space after day, month and year.
- 'Sat, 01,Jan,2000,08:00:00 UT',
- // Seconds are optional.
- 'Sat, 01-Jan-2000 08:00 UT',
- 'Sat, 01 Jan 2000 08:00 UT',
- 'Jan 01 2000 08:00 UT',
- 'Jan 01 08:00 UT 2000',
- 'Saturday, 01-Jan-00 08:00 UT',
- '01 Jan 00 08:00 +0000',
- // Allow AM/PM after the time.
- 'Sat, 01-Jan-2000 08:00 AM UT',
- 'Sat, 01 Jan 2000 08:00 AM UT',
- 'Jan 01 2000 08:00 AM UT',
- 'Jan 01 08:00 AM UT 2000',
- 'Saturday, 01-Jan-00 08:00 AM UT',
- '01 Jan 00 08:00 AM +0000',
- // White space and stuff in parenthesis is
- // apparently allowed in most places where white
- // space is allowed.
- ' Sat, 01-Jan-2000 08:00:00 UT ',
- ' Sat, 01 Jan 2000 08:00:00 UT ',
- ' Saturday, 01-Jan-00 08:00:00 UT ',
- ' 01 Jan 00 08:00 +0000 ',
- ' ()(Sat, 01-Jan-2000) Sat, 01-Jan-2000 08:00:00 UT ',
- ' Sat()(Sat, 01-Jan-2000)01 Jan 2000 08:00:00 UT ',
- ' Sat,(02)01 Jan 2000 08:00:00 UT ',
- ' Sat, 01(02)Jan 2000 08:00:00 UT ',
- ' Sat, 01 Jan 2000 (2001)08:00:00 UT ',
- ' Sat, 01 Jan 2000 (01)08:00:00 UT ',
- ' Sat, 01 Jan 2000 (01:00:00)08:00:00 UT ',
- ' Sat, 01 Jan 2000 08:00:00 (CDT)UT ',
- ' Sat, 01 Jan 2000 08:00:00 UT((((CDT))))',
- ' Saturday, 01-Jan-00 ()(((asfd)))(Sat, 01-Jan-2000)08:00:00 UT ',
- ' 01 Jan 00 08:00 ()(((asdf)))(Sat, 01-Jan-2000)+0000 ',
- ' 01 Jan 00 08:00 +0000()((asfd)(Sat, 01-Jan-2000)) '];
-
-//
-// Test that we do the right correction for different time zones.
-// I'll assume that we can handle the same formats as for UT and only
-// test a few formats for each of the timezones.
-//
-
-// GMT = UT
-var testCasesGMT = [
- 'Sat, 01-Jan-2000 08:00:00 GMT',
- 'Sat, 01-Jan-2000 08:00:00 GMT+0',
- 'Sat, 01-Jan-2000 08:00:00 GMT+00',
- 'Sat, 01-Jan-2000 08:00:00 GMT+000',
- 'Sat, 01-Jan-2000 08:00:00 GMT+0000',
- 'Sat, 01-Jan-2000 08:00:00 GMT+00:00', // Interestingly, KJS cannot handle this.
- 'Sat, 01 Jan 2000 08:00:00 GMT',
- 'Saturday, 01-Jan-00 08:00:00 GMT',
- '01 Jan 00 08:00 -0000',
- '01 Jan 00 08:00 +0000'];
-
-// EST = UT minus 5 hours.
-var testCasesEST = [
- 'Sat, 01-Jan-2000 03:00:00 UTC-0500',
- 'Sat, 01-Jan-2000 03:00:00 UTC-05:00', // Interestingly, KJS cannot handle this.
- 'Sat, 01-Jan-2000 03:00:00 EST',
- 'Sat, 01 Jan 2000 03:00:00 EST',
- 'Saturday, 01-Jan-00 03:00:00 EST',
- '01 Jan 00 03:00 -0500'];
-
-// EDT = UT minus 4 hours.
-var testCasesEDT = [
- 'Sat, 01-Jan-2000 04:00:00 EDT',
- 'Sat, 01 Jan 2000 04:00:00 EDT',
- 'Saturday, 01-Jan-00 04:00:00 EDT',
- '01 Jan 00 04:00 -0400'];
-
-// CST = UT minus 6 hours.
-var testCasesCST = [
- 'Sat, 01-Jan-2000 02:00:00 CST',
- 'Sat, 01 Jan 2000 02:00:00 CST',
- 'Saturday, 01-Jan-00 02:00:00 CST',
- '01 Jan 00 02:00 -0600'];
-
-// CDT = UT minus 5 hours.
-var testCasesCDT = [
- 'Sat, 01-Jan-2000 03:00:00 CDT',
- 'Sat, 01 Jan 2000 03:00:00 CDT',
- 'Saturday, 01-Jan-00 03:00:00 CDT',
- '01 Jan 00 03:00 -0500'];
-
-// MST = UT minus 7 hours.
-var testCasesMST = [
- 'Sat, 01-Jan-2000 01:00:00 MST',
- 'Sat, 01 Jan 2000 01:00:00 MST',
- 'Saturday, 01-Jan-00 01:00:00 MST',
- '01 Jan 00 01:00 -0700'];
-
-// MDT = UT minus 6 hours.
-var testCasesMDT = [
- 'Sat, 01-Jan-2000 02:00:00 MDT',
- 'Sat, 01 Jan 2000 02:00:00 MDT',
- 'Saturday, 01-Jan-00 02:00:00 MDT',
- '01 Jan 00 02:00 -0600'];
-
-// PST = UT minus 8 hours.
-var testCasesPST = [
- 'Sat, 01-Jan-2000 00:00:00 PST',
- 'Sat, 01 Jan 2000 00:00:00 PST',
- 'Saturday, 01-Jan-00 00:00:00 PST',
- '01 Jan 00 00:00 -0800',
- // Allow missing time.
- 'Sat, 01-Jan-2000 PST'];
-
-// PDT = UT minus 7 hours.
-var testCasesPDT = [
- 'Sat, 01-Jan-2000 01:00:00 PDT',
- 'Sat, 01 Jan 2000 01:00:00 PDT',
- 'Saturday, 01-Jan-00 01:00:00 PDT',
- '01 Jan 00 01:00 -0700'];
-
-// Local time cases.
-var testCasesLocalTime = [
- // Allow timezone ommision.
- 'Sat, 01-Jan-2000 08:00:00',
- 'Sat, 01 Jan 2000 08:00:00',
- 'Jan 01 2000 08:00:00',
- 'Jan 01 08:00:00 2000',
- 'Saturday, 01-Jan-00 08:00:00',
- '01 Jan 00 08:00'];
-
-
-// Misc. test cases that result in a different time value.
-var testCasesMisc = [
- // Special handling for years in the [0, 100) range.
- ['Sat, 01 Jan 0 08:00:00 UT', 946713600000], // year 2000
- ['Sat, 01 Jan 49 08:00:00 UT', 2493100800000], // year 2049
- ['Sat, 01 Jan 50 08:00:00 UT', -631123200000], // year 1950
- ['Sat, 01 Jan 99 08:00:00 UT', 915177600000], // year 1999
- ['Sat, 01 Jan 100 08:00:00 UT', -59011430400000], // year 100
- // Test PM after time.
- ['Sat, 01-Jan-2000 08:00 PM UT', 946756800000],
- ['Sat, 01 Jan 2000 08:00 PM UT', 946756800000],
- ['Jan 01 2000 08:00 PM UT', 946756800000],
- ['Jan 01 08:00 PM UT 2000', 946756800000],
- ['Saturday, 01-Jan-00 08:00 PM UT', 946756800000],
- ['01 Jan 00 08:00 PM +0000', 946756800000]];
-
-// Test different version of the ES5 date time string format.
-var testCasesES5Misc = [
- ['2000-01-01T08:00:00.000Z', 946713600000],
- ['2000-01-01T08:00:00Z', 946713600000],
- ['2000-01-01T08:00Z', 946713600000],
- ['2000-01T08:00:00.000Z', 946713600000],
- ['2000T08:00:00.000Z', 946713600000],
- ['2000T08:00Z', 946713600000],
- ['2000-01T00:00:00.000-08:00', 946713600000],
- ['2000-01T08:00:00.001Z', 946713600001],
- ['2000-01T08:00:00.099Z', 946713600099],
- ['2000-01T08:00:00.999Z', 946713600999],
- ['2000-01T00:00:00.001-08:00', 946713600001]];
-
-var testCasesES5MiscNegative = [
- '2000-01-01TZ',
- '2000-01-01T60Z',
- '2000-01-01T60:60Z',
- '2000-01-0108:00Z',
- '2000-01-01T08Z'];
-
-
-// Run all the tests.
-testCasesUT.forEach(testDateParse);
-testCasesGMT.forEach(testDateParse);
-testCasesEST.forEach(testDateParse);
-testCasesEDT.forEach(testDateParse);
-testCasesCST.forEach(testDateParse);
-testCasesCDT.forEach(testDateParse);
-testCasesMST.forEach(testDateParse);
-testCasesMDT.forEach(testDateParse);
-testCasesPST.forEach(testDateParse);
-testCasesPDT.forEach(testDateParse);
-testCasesLocalTime.forEach(testDateParseLocalTime);
-testCasesMisc.forEach(testDateParseMisc);
-
-// ES5 date time string format compliance.
-testCasesES5Misc.forEach(testDateParseMisc);
-testCasesES5MiscNegative.forEach(function (s) {
- assertTrue(isNaN(Date.parse(s)), s + " is not NaN.");
-});
-
-
-// Test that we can parse our own date format.
-// (Dates from 1970 to ~2070 with 150h steps.)
-for (var i = 0; i < 24 * 365 * 100; i += 150) {
- var ms = i * (3600 * 1000);
- var s = (new Date(ms)).toString();
- assertEquals(ms, Date.parse(s), "parse own: " + s);
-}
-
-// Negative tests.
-var testCasesNegative = [
- 'May 25 2008 1:30 (PM)) UTC', // Bad unmatched ')' after number.
- 'May 25 2008 1:30( )AM (PM)', //
- 'a1', // Issue 126448, 53209.
- 'nasfdjklsfjoaifg1',
- 'x_2',
- 'May 25 2008 AAA (GMT)']; // Unknown word after number.
-
-testCasesNegative.forEach(function (s) {
- assertTrue(isNaN(Date.parse(s)), s + " is not NaN.");
-});
diff --git a/src/3rdparty/v8/test/mjsunit/date.js b/src/3rdparty/v8/test/mjsunit/date.js
deleted file mode 100644
index 5aaa3bb..0000000
--- a/src/3rdparty/v8/test/mjsunit/date.js
+++ /dev/null
@@ -1,343 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test date construction from other dates.
-var date0 = new Date(1111);
-var date1 = new Date(date0);
-assertEquals(1111, date0.getTime());
-assertEquals(date0.getTime(), date1.getTime());
-var date2 = new Date(date0.toString());
-assertEquals(1000, date2.getTime());
-
-// Test that dates may contain commas.
-var date0 = Date.parse("Dec 25 1995 1:30");
-var date1 = Date.parse("Dec 25, 1995 1:30");
-var date2 = Date.parse("Dec 25 1995, 1:30");
-var date3 = Date.parse("Dec 25, 1995, 1:30");
-assertEquals(date0, date1);
-assertEquals(date1, date2);
-assertEquals(date2, date3);
-
-// Test limits (+/-1e8 days from epoch)
-
-var dMax = new Date(8.64e15);
-assertEquals(8.64e15, dMax.getTime());
-assertEquals(275760, dMax.getFullYear());
-assertEquals(8, dMax.getMonth());
-assertEquals(13, dMax.getUTCDate());
-
-var dOverflow = new Date(8.64e15+1);
-assertTrue(isNaN(dOverflow.getTime()));
-
-var dMin = new Date(-8.64e15);
-assertEquals(-8.64e15, dMin.getTime());
-assertEquals(-271821, dMin.getFullYear());
-assertEquals(3, dMin.getMonth());
-assertEquals(20, dMin.getUTCDate());
-
-var dUnderflow = new Date(-8.64e15-1);
-assertTrue(isNaN(dUnderflow.getTime()));
-
-
-// Tests inspired by js1_5/Date/regress-346363.js
-
-// Year
-var a = new Date();
-a.setFullYear();
-a.setFullYear(2006);
-assertEquals(2006, a.getFullYear());
-
-var b = new Date();
-b.setUTCFullYear();
-b.setUTCFullYear(2006);
-assertEquals(2006, b.getUTCFullYear());
-
-// Month
-var c = new Date();
-c.setMonth();
-c.setMonth(2);
-assertTrue(isNaN(c.getMonth()));
-
-var d = new Date();
-d.setUTCMonth();
-d.setUTCMonth(2);
-assertTrue(isNaN(d.getUTCMonth()));
-
-// Date
-var e = new Date();
-e.setDate();
-e.setDate(2);
-assertTrue(isNaN(e.getDate()));
-
-var f = new Date();
-f.setUTCDate();
-f.setUTCDate(2);
-assertTrue(isNaN(f.getUTCDate()));
-
-// Hours
-var g = new Date();
-g.setHours();
-g.setHours(2);
-assertTrue(isNaN(g.getHours()));
-
-var h = new Date();
-h.setUTCHours();
-h.setUTCHours(2);
-assertTrue(isNaN(h.getUTCHours()));
-
-// Minutes
-var g = new Date();
-g.setMinutes();
-g.setMinutes(2);
-assertTrue(isNaN(g.getMinutes()));
-
-var h = new Date();
-h.setUTCHours();
-h.setUTCHours(2);
-assertTrue(isNaN(h.getUTCHours()));
-
-
-// Seconds
-var i = new Date();
-i.setSeconds();
-i.setSeconds(2);
-assertTrue(isNaN(i.getSeconds()));
-
-var j = new Date();
-j.setUTCSeconds();
-j.setUTCSeconds(2);
-assertTrue(isNaN(j.getUTCSeconds()));
-
-
-// Milliseconds
-var k = new Date();
-k.setMilliseconds();
-k.setMilliseconds(2);
-assertTrue(isNaN(k.getMilliseconds()));
-
-var l = new Date();
-l.setUTCMilliseconds();
-l.setUTCMilliseconds(2);
-assertTrue(isNaN(l.getUTCMilliseconds()));
-
-// Test that toLocaleTimeString only returns the time portion of the
-// date without the timezone information.
-function testToLocaleTimeString() {
- var d = new Date();
- var s = d.toLocaleTimeString();
- assertEquals(8, s.length);
-}
-
-testToLocaleTimeString();
-
-// Test that -0 is treated correctly in MakeDay.
-var d = new Date();
-assertDoesNotThrow("d.setDate(-0)");
-assertDoesNotThrow("new Date(-0, -0, -0, -0, -0, -0, -0)");
-assertDoesNotThrow("new Date(0x40000000, 0x40000000, 0x40000000," +
- "0x40000000, 0x40000000, 0x40000000, 0x40000000)")
-assertDoesNotThrow("new Date(-0x40000001, -0x40000001, -0x40000001," +
- "-0x40000001, -0x40000001, -0x40000001, -0x40000001)")
-
-
-// Modified test from WebKit
-// LayoutTests/fast/js/script-tests/date-utc-timeclip.js:
-
-assertEquals(8639999999999999, Date.UTC(275760, 8, 12, 23, 59, 59, 999));
-assertEquals(8640000000000000, Date.UTC(275760, 8, 13));
-assertTrue(isNaN(Date.UTC(275760, 8, 13, 0, 0, 0, 1)));
-assertTrue(isNaN(Date.UTC(275760, 8, 14)));
-
-assertEquals(Date.UTC(-271821, 3, 20, 0, 0, 0, 1), -8639999999999999);
-assertEquals(Date.UTC(-271821, 3, 20), -8640000000000000);
-assertTrue(isNaN(Date.UTC(-271821, 3, 19, 23, 59, 59, 999)));
-assertTrue(isNaN(Date.UTC(-271821, 3, 19)));
-
-
-// Test creation with large date values.
-d = new Date(1969, 12, 1, 99999999999);
-assertTrue(isNaN(d.getTime()));
-d = new Date(1969, 12, 1, -99999999999);
-assertTrue(isNaN(d.getTime()));
-d = new Date(1969, 12, 1, Infinity);
-assertTrue(isNaN(d.getTime()));
-d = new Date(1969, 12, 1, -Infinity);
-assertTrue(isNaN(d.getTime()));
-d = new Date(1969, 12, 1, 0);
-d.setTime(Math.pow(2, 64));
-assertTrue(isNaN(d.getTime()));
-d = new Date(1969, 12, 1, 0);
-d.setTime(Math.pow(-2, 64));
-assertTrue(isNaN(d.getTime()));
-
-
-// Test creation with obscure date values.
-assertEquals(8640000000000000, Date.UTC(1970, 0, 1 + 100000001, -24));
-assertEquals(-8640000000000000, Date.UTC(1970, 0, 1 - 100000001, 24));
-
-
-// Parsing ES5 ISO-8601 dates.
-// When TZ is omitted, it defaults to 'Z' meaning UTC.
-
-// Check epoch.
-assertEquals(0, Date.parse("1970-01-01T00:00:00.000+00:00"));
-assertEquals(0, Date.parse("1970-01-01T00:00:00.000-00:00"));
-assertEquals(0, Date.parse("1970-01-01T00:00:00.000Z"));
-assertEquals(0, Date.parse("1970-01-01T00:00:00.000"));
-assertEquals(0, Date.parse("1970-01-01T00:00:00"));
-assertEquals(0, Date.parse("1970-01-01T00:00"));
-assertEquals(0, Date.parse("1970-01-01"));
-
-assertEquals(0, Date.parse("1970-01T00:00:00.000+00:00"));
-assertEquals(0, Date.parse("1970-01T00:00:00.000-00:00"));
-assertEquals(0, Date.parse("1970-01T00:00:00.000Z"));
-assertEquals(0, Date.parse("1970-01T00:00:00.000"));
-assertEquals(0, Date.parse("1970-01T00:00:00"));
-assertEquals(0, Date.parse("1970-01T00:00"));
-assertEquals(0, Date.parse("1970-01"));
-
-assertEquals(0, Date.parse("1970T00:00:00.000+00:00"));
-assertEquals(0, Date.parse("1970T00:00:00.000-00:00"));
-assertEquals(0, Date.parse("1970T00:00:00.000Z"));
-assertEquals(0, Date.parse("1970T00:00:00.000"));
-assertEquals(0, Date.parse("1970T00:00:00"));
-assertEquals(0, Date.parse("1970T00:00"));
-assertEquals(0, Date.parse("1970"));
-
-assertEquals(0, Date.parse("+001970-01-01T00:00:00.000+00:00"));
-assertEquals(0, Date.parse("+001970-01-01T00:00:00.000-00:00"));
-assertEquals(0, Date.parse("+001970-01-01T00:00:00.000Z"));
-assertEquals(0, Date.parse("+001970-01-01T00:00:00.000"));
-assertEquals(0, Date.parse("+001970-01-01T00:00:00"));
-assertEquals(0, Date.parse("+001970-01-01T00:00"));
-assertEquals(0, Date.parse("+001970-01-01"));
-
-assertEquals(0, Date.parse("+001970-01T00:00:00.000+00:00"));
-assertEquals(0, Date.parse("+001970-01T00:00:00.000-00:00"));
-assertEquals(0, Date.parse("+001970-01T00:00:00.000Z"));
-assertEquals(0, Date.parse("+001970-01T00:00:00.000"));
-assertEquals(0, Date.parse("+001970-01T00:00:00"));
-assertEquals(0, Date.parse("+001970-01T00:00"));
-assertEquals(0, Date.parse("+001970-01"));
-
-assertEquals(0, Date.parse("+001970T00:00:00.000+00:00"));
-assertEquals(0, Date.parse("+001970T00:00:00.000-00:00"));
-assertEquals(0, Date.parse("+001970T00:00:00.000Z"));
-assertEquals(0, Date.parse("+001970T00:00:00.000"));
-assertEquals(0, Date.parse("+001970T00:00:00"));
-assertEquals(0, Date.parse("+001970T00:00"));
-assertEquals(0, Date.parse("+001970"));
-
-// Check random date.
-assertEquals(70671003500, Date.parse("1972-03-28T23:50:03.500+01:00"));
-assertEquals(70674603500, Date.parse("1972-03-28T23:50:03.500Z"));
-assertEquals(70674603500, Date.parse("1972-03-28T23:50:03.500"));
-assertEquals(70674603000, Date.parse("1972-03-28T23:50:03"));
-assertEquals(70674600000, Date.parse("1972-03-28T23:50"));
-assertEquals(70588800000, Date.parse("1972-03-28"));
-
-assertEquals(68338203500, Date.parse("1972-03T23:50:03.500+01:00"));
-assertEquals(68341803500, Date.parse("1972-03T23:50:03.500Z"));
-assertEquals(68341803500, Date.parse("1972-03T23:50:03.500"));
-assertEquals(68341803000, Date.parse("1972-03T23:50:03"));
-assertEquals(68341800000, Date.parse("1972-03T23:50"));
-assertEquals(68256000000, Date.parse("1972-03"));
-
-assertEquals(63154203500, Date.parse("1972T23:50:03.500+01:00"));
-assertEquals(63157803500, Date.parse("1972T23:50:03.500Z"));
-assertEquals(63157803500, Date.parse("1972T23:50:03.500"));
-assertEquals(63157803000, Date.parse("1972T23:50:03"));
-assertEquals(63072000000, Date.parse("1972"));
-
-assertEquals(70671003500, Date.parse("+001972-03-28T23:50:03.500+01:00"));
-assertEquals(70674603500, Date.parse("+001972-03-28T23:50:03.500Z"));
-assertEquals(70674603500, Date.parse("+001972-03-28T23:50:03.500"));
-assertEquals(70674603000, Date.parse("+001972-03-28T23:50:03"));
-assertEquals(70674600000, Date.parse("+001972-03-28T23:50"));
-assertEquals(70588800000, Date.parse("+001972-03-28"));
-
-assertEquals(68338203500, Date.parse("+001972-03T23:50:03.500+01:00"));
-assertEquals(68341803500, Date.parse("+001972-03T23:50:03.500Z"));
-assertEquals(68341803500, Date.parse("+001972-03T23:50:03.500"));
-assertEquals(68341803000, Date.parse("+001972-03T23:50:03"));
-assertEquals(68341800000, Date.parse("+001972-03T23:50"));
-assertEquals(68256000000, Date.parse("+001972-03"));
-
-assertEquals(63154203500, Date.parse("+001972T23:50:03.500+01:00"));
-assertEquals(63157803500, Date.parse("+001972T23:50:03.500Z"));
-assertEquals(63157803500, Date.parse("+001972T23:50:03.500"));
-assertEquals(63157803000, Date.parse("+001972T23:50:03"));
-assertEquals(63072000000, Date.parse("+001972"));
-
-
-// Ensure that ISO-years in the range 00-99 aren't translated to the range
-// 1950..2049.
-assertEquals(-60904915200000, Date.parse("0040-01-01"));
-assertEquals(-60273763200000, Date.parse("0060-01-01"));
-assertEquals(-62167219200000, Date.parse("0000-01-01"));
-assertEquals(-62167219200000, Date.parse("+000000-01-01"));
-
-// Test negative years.
-assertEquals(-63429523200000, Date.parse("-000040-01-01"));
-assertEquals(-64060675200000, Date.parse("-000060-01-01"));
-assertEquals(-124397510400000, Date.parse("-001972-01-01"));
-
-// Check time-zones.
-assertEquals(70674603500, Date.parse("1972-03-28T23:50:03.500Z"));
-for (var i = 0; i < 24; i++) {
- var hh = (i < 10) ? "0" + i : "" + i;
- for (var j = 0; j < 60; j += 15) {
- var mm = (j < 10) ? "0" + j : "" + j;
- var ms = (i * 60 + j) * 60000;
- var string = "1972-03-28T23:50:03.500-" + hh + ":" + mm;
- assertEquals(70674603500 + ms, Date.parse(string), string);
- string = "1972-03-28T23:50:03.500+" + hh + ":" + mm;
- assertEquals(70674603500 - ms, Date.parse(string), string);
- }
-}
-
-assertThrows('Date.prototype.setTime.call("", 1);', TypeError);
-assertThrows('Date.prototype.setYear.call("", 1);', TypeError);
-assertThrows('Date.prototype.setHours.call("", 1, 2, 3, 4);', TypeError);
-assertThrows('Date.prototype.getDate.call("");', TypeError);
-assertThrows('Date.prototype.getUTCDate.call("");', TypeError);
-
-var date = new Date();
-date.getTime();
-date.getTime();
-%OptimizeFunctionOnNextCall(Date.prototype.getTime);
-assertThrows(function() { Date.prototype.getTime.call(""); }, TypeError);
-assertTrue(%GetOptimizationStatus(Date.prototype.getTime) != 1);
-
-date.getYear();
-date.getYear();
-%OptimizeFunctionOnNextCall(Date.prototype.getYear);
-assertThrows(function() { Date.prototype.getYear.call(""); }, TypeError);
-opt_status = %GetOptimizationStatus(Date.prototype.getYear);
-assertTrue(%GetOptimizationStatus(Date.prototype.getTime) != 1); \ No newline at end of file
diff --git a/src/3rdparty/v8/test/mjsunit/debug-backtrace-text.js b/src/3rdparty/v8/test/mjsunit/debug-backtrace-text.js
deleted file mode 100644
index 61648fa..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-backtrace-text.js
+++ /dev/null
@@ -1,122 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-
-// The functions used for testing backtraces.
-function Point(x, y) {
- this.x = x;
- this.y = y;
-};
-
-Point.prototype.distanceTo = function(p) {
- debugger;
- return Math.sqrt(Math.pow(Math.abs(this.x - p.x), 2) + Math.pow(Math.abs(this.y - p.y), 2))
-}
-
-p1 = new Point(1,1);
-p2 = new Point(2,2);
-
-p1.distanceTo = function(p) {
- return p.distanceTo(this);
-}
-
-function distance(p, q) {
- return p.distanceTo(q);
-}
-
-function createPoint(x, y) {
- return new Point(x, y);
-}
-
-a=[1,2,distance];
-
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-testConstructor = false; // Flag to control which part of the test is run.
-listenerCalled = false;
-exception = false;
-
-function safeEval(code) {
- try {
- return eval('(' + code + ')');
- } catch (e) {
- return undefined;
- }
-}
-
-function listener(event, exec_state, event_data, data) {
- try {
- if (event == Debug.DebugEvent.Break)
- {
- if (!testConstructor) {
- // The expected backtrace is
- // 0: Call distance on Point where distance is a property on the prototype
- // 1: Call distance on Point where distance is a direct property
- // 2: Call on function an array element 2
- // 3: [anonymous]
- assertEquals("#<Point>.distanceTo(p=#<Point>)", exec_state.frame(0).invocationText());
- assertEquals("#<Point>.distanceTo(p=#<Point>)", exec_state.frame(1).invocationText());
- assertEquals("#<Array>[2](aka distance)(p=#<Point>, q=#<Point>)", exec_state.frame(2).invocationText());
- assertEquals("[anonymous]()", exec_state.frame(3).invocationText());
- listenerCalled = true;
- } else {
- // The expected backtrace is
- // 0: Call Point constructor
- // 1: Call on global function createPoint
- // 2: [anonymous]
- assertEquals("new Point(x=0, y=0)", exec_state.frame(0).invocationText());
- assertEquals("createPoint(x=0, y=0)", exec_state.frame(1).invocationText());
- assertEquals("[anonymous]()", exec_state.frame(2).invocationText());
- listenerCalled = true;
- }
- }
- } catch (e) {
- exception = e
- };
-};
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-// Set a break point and call to invoke the debug event listener.
-a[2](p1, p2)
-
-// Make sure that the debug event listener vas invoked.
-assertTrue(listenerCalled);
-assertFalse(exception, "exception in listener")
-
-// Set a break point and call to invoke the debug event listener.
-listenerCalled = false;
-testConstructor = true;
-Debug.setBreakPoint(Point, 0, 0);
-createPoint(0, 0);
-
-// Make sure that the debug event listener vas invoked (again).
-assertTrue(listenerCalled);
-assertFalse(exception, "exception in listener")
diff --git a/src/3rdparty/v8/test/mjsunit/debug-backtrace.js b/src/3rdparty/v8/test/mjsunit/debug-backtrace.js
deleted file mode 100644
index 3647913..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-backtrace.js
+++ /dev/null
@@ -1,271 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// The functions used for testing backtraces. They are at the top to make the
-// testing of source line/column easier.
-function f(x, y) {
- a=1;
-};
-
-var m = function() {
- new f(1);
-};
-
-function g() {
- m();
-};
-
-
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-listenerCalled = false;
-exception = false;
-
-
-function ParsedResponse(json) {
- this.response_ = eval('(' + json + ')');
- this.refs_ = [];
- if (this.response_.refs) {
- for (var i = 0; i < this.response_.refs.length; i++) {
- this.refs_[this.response_.refs[i].handle] = this.response_.refs[i];
- }
- }
-}
-
-
-ParsedResponse.prototype.response = function() {
- return this.response_;
-}
-
-
-ParsedResponse.prototype.body = function() {
- return this.response_.body;
-}
-
-
-ParsedResponse.prototype.running = function() {
- return this.response_.running;
-}
-
-
-ParsedResponse.prototype.lookup = function(handle) {
- return this.refs_[handle];
-}
-
-
-function listener(event, exec_state, event_data, data) {
- try {
- if (event == Debug.DebugEvent.Break) {
- // The expected backtrace is
- // 0: f
- // 1: m
- // 2: g
- // 3: [anonymous]
-
- var response;
- var backtrace;
- var frame;
- var source;
-
- var dcp;
- // New copy of debug command processor paused state.
- dcp = exec_state.debugCommandProcessor(false);
-
- // Get the backtrace.
- var json;
- json = '{"seq":0,"type":"request","command":"backtrace"}'
- var resp = dcp.processDebugJSONRequest(json);
- response = new ParsedResponse(resp);
- backtrace = response.body();
- assertEquals(0, backtrace.fromFrame);
- assertEquals(4, backtrace.toFrame);
- assertEquals(4, backtrace.totalFrames);
- var frames = backtrace.frames;
- assertEquals(4, frames.length);
- for (var i = 0; i < frames.length; i++) {
- assertEquals('frame', frames[i].type);
- }
- assertEquals(0, frames[0].index);
- assertEquals("f", response.lookup(frames[0].func.ref).name);
- assertEquals(1, frames[1].index);
- assertEquals("", response.lookup(frames[1].func.ref).name);
- assertEquals("m", response.lookup(frames[1].func.ref).inferredName);
- assertEquals(2, frames[2].index);
- assertEquals("g", response.lookup(frames[2].func.ref).name);
- assertEquals(3, frames[3].index);
- assertEquals("", response.lookup(frames[3].func.ref).name);
- assertFalse(response.running(), "expected not running");
-
- // Get backtrace with two frames.
- json = '{"seq":0,"type":"request","command":"backtrace","arguments":{"fromFrame":1,"toFrame":3}}'
- response = new ParsedResponse(dcp.processDebugJSONRequest(json));
- backtrace = response.body();
- assertEquals(1, backtrace.fromFrame);
- assertEquals(3, backtrace.toFrame);
- assertEquals(4, backtrace.totalFrames);
- var frames = backtrace.frames;
- assertEquals(2, frames.length);
- for (var i = 0; i < frames.length; i++) {
- assertEquals('frame', frames[i].type);
- }
- assertEquals(1, frames[0].index);
- assertEquals("", response.lookup(frames[0].func.ref).name);
- assertEquals("m", response.lookup(frames[0].func.ref).inferredName);
- assertEquals(2, frames[1].index);
- assertEquals("g", response.lookup(frames[1].func.ref).name);
-
- // Get backtrace with bottom two frames.
- json = '{"seq":0,"type":"request","command":"backtrace","arguments":{"fromFrame":0,"toFrame":2, "bottom":true}}'
- response = new ParsedResponse(dcp.processDebugJSONRequest(json));
- backtrace = response.body();
- assertEquals(2, backtrace.fromFrame);
- assertEquals(4, backtrace.toFrame);
- assertEquals(4, backtrace.totalFrames);
- var frames = backtrace.frames;
- assertEquals(2, frames.length);
- for (var i = 0; i < frames.length; i++) {
- assertEquals('frame', frames[i].type);
- }
- assertEquals(2, frames[0].index);
- assertEquals("g", response.lookup(frames[0].func.ref).name);
- assertEquals(3, frames[1].index);
- assertEquals("", response.lookup(frames[1].func.ref).name);
-
- // Get the individual frames.
- json = '{"seq":0,"type":"request","command":"frame"}'
- response = new ParsedResponse(dcp.processDebugJSONRequest(json));
- frame = response.body();
- assertEquals(0, frame.index);
- assertEquals("f", response.lookup(frame.func.ref).name);
- assertTrue(frame.constructCall);
- assertEquals(31, frame.line);
- assertEquals(3, frame.column);
- assertEquals(2, frame.arguments.length);
- assertEquals('x', frame.arguments[0].name);
- assertEquals('number', response.lookup(frame.arguments[0].value.ref).type);
- assertEquals(1, response.lookup(frame.arguments[0].value.ref).value);
- assertEquals('y', frame.arguments[1].name);
- assertEquals('undefined', response.lookup(frame.arguments[1].value.ref).type);
-
- json = '{"seq":0,"type":"request","command":"frame","arguments":{"number":0}}'
- response = new ParsedResponse(dcp.processDebugJSONRequest(json));
- frame = response.body();
- assertEquals(0, frame.index);
- assertEquals("f", response.lookup(frame.func.ref).name);
- assertEquals(31, frame.line);
- assertEquals(3, frame.column);
- assertEquals(2, frame.arguments.length);
- assertEquals('x', frame.arguments[0].name);
- assertEquals('number', response.lookup(frame.arguments[0].value.ref).type);
- assertEquals(1, response.lookup(frame.arguments[0].value.ref).value);
- assertEquals('y', frame.arguments[1].name);
- assertEquals('undefined', response.lookup(frame.arguments[1].value.ref).type);
-
- json = '{"seq":0,"type":"request","command":"frame","arguments":{"number":1}}'
- response = new ParsedResponse(dcp.processDebugJSONRequest(json));
- frame = response.body();
- assertEquals(1, frame.index);
- assertEquals("", response.lookup(frame.func.ref).name);
- assertEquals("m", response.lookup(frame.func.ref).inferredName);
- assertFalse(frame.constructCall);
- assertEquals(35, frame.line);
- assertEquals(6, frame.column);
- assertEquals(0, frame.arguments.length);
-
- json = '{"seq":0,"type":"request","command":"frame","arguments":{"number":3}}'
- response = new ParsedResponse(dcp.processDebugJSONRequest(json));
- frame = response.body();
- assertEquals(3, frame.index);
- assertEquals("", response.lookup(frame.func.ref).name);
-
- // Source slices for the individual frames (they all refer to this script).
- json = '{"seq":0,"type":"request","command":"source",' +
- '"arguments":{"frame":0,"fromLine":30,"toLine":32}}'
- response = new ParsedResponse(dcp.processDebugJSONRequest(json));
- source = response.body();
- assertEquals("function f(x, y) {", source.source.substring(0, 18));
- assertEquals(30, source.fromLine);
- assertEquals(32, source.toLine);
-
- json = '{"seq":0,"type":"request","command":"source",' +
- '"arguments":{"frame":1,"fromLine":31,"toLine":32}}'
- response = new ParsedResponse(dcp.processDebugJSONRequest(json));
- source = response.body();
- assertEquals(" a=1;", source.source.substring(0, 6));
- assertEquals(31, source.fromLine);
- assertEquals(32, source.toLine);
-
- json = '{"seq":0,"type":"request","command":"source",' +
- '"arguments":{"frame":2,"fromLine":35,"toLine":36}}'
- response = new ParsedResponse(dcp.processDebugJSONRequest(json));
- source = response.body();
- assertEquals(" new f(1);", source.source.substring(0, 11));
- assertEquals(35, source.fromLine);
- assertEquals(36, source.toLine);
-
- // Test line interval way beyond this script will result in an error.
- json = '{"seq":0,"type":"request","command":"source",' +
- '"arguments":{"frame":0,"fromLine":10000,"toLine":20000}}'
- response = new ParsedResponse(dcp.processDebugJSONRequest(json));
- assertFalse(response.response().success);
-
- // Test without arguments.
- json = '{"seq":0,"type":"request","command":"source"}'
- response = new ParsedResponse(dcp.processDebugJSONRequest(json));
- source = response.body();
- assertEquals(Debug.findScript(f).source, source.source);
-
- // New copy of debug command processor in running state.
- dcp = exec_state.debugCommandProcessor(true);
- // Get the backtrace.
- json = '{"seq":0,"type":"request","command":"backtrace"}'
- resp = dcp.processDebugJSONRequest(json);
- response = new ParsedResponse(resp);
- // It might be argueable, but we expect response to have body when
- // not suspended
- assertTrue(!!response.body(), "response should be null");
- assertTrue(response.running(), "expected running");
-
- listenerCalled = true;
- }
- } catch (e) {
- exception = e
- };
-};
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-// Set a break point and call to invoke the debug event listener.
-Debug.setBreakPoint(f, 0, 0);
-g();
-
-// Make sure that the debug event listener vas invoked.
-assertFalse(exception, "exception in listener");
-assertTrue(listenerCalled);
diff --git a/src/3rdparty/v8/test/mjsunit/debug-break-inline.js b/src/3rdparty/v8/test/mjsunit/debug-break-inline.js
deleted file mode 100644
index 464cb73..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-break-inline.js
+++ /dev/null
@@ -1,101 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug --allow-natives-syntax
-// Flags: --noparallel-recompilation
-
-// This test tests that deoptimization due to debug breaks works for
-// inlined functions where the full-code is generated before the
-// debugger is attached.
-//
-//See http://code.google.com/p/chromium/issues/detail?id=105375
-
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug;
-
-var count = 0;
-var break_count = 0;
-
-// Debug event listener which sets a breakpoint first time it is hit
-// and otherwise counts break points hit and checks that the expected
-// state is reached.
-function listener(event, exec_state, event_data, data) {
- if (event == Debug.DebugEvent.Break) {
- break_count++;
- if (break_count == 1) {
- Debug.setBreakPoint(g, 3);
-
- for (var i = 0; i < exec_state.frameCount(); i++) {
- var frame = exec_state.frame(i);
- // When function f is optimized (1 means YES, see runtime.cc) we
- // expect an optimized frame for f and g.
- if (%GetOptimizationStatus(f) == 1) {
- if (i == 1) {
- assertTrue(frame.isOptimizedFrame());
- assertTrue(frame.isInlinedFrame());
- assertEquals(4 - i, frame.inlinedFrameIndex());
- } else if (i == 2) {
- assertTrue(frame.isOptimizedFrame());
- assertFalse(frame.isInlinedFrame());
- } else {
- assertFalse(frame.isOptimizedFrame());
- assertFalse(frame.isInlinedFrame());
- }
- }
- }
- }
- }
-}
-
-function f() {
- g();
-}
-
-function g() {
- count++;
- h();
- var b = 1; // Break point is set here.
-}
-
-function h() {
- debugger;
-}
-
-f();f();f();
-%OptimizeFunctionOnNextCall(f);
-f();
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-f();
-
-assertEquals(5, count);
-assertEquals(2, break_count);
-
-// Get rid of the debug event listener.
-Debug.setListener(null);
diff --git a/src/3rdparty/v8/test/mjsunit/debug-breakpoints.js b/src/3rdparty/v8/test/mjsunit/debug-breakpoints.js
deleted file mode 100644
index 1302034..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-breakpoints.js
+++ /dev/null
@@ -1,206 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-function f() {a=1;b=2};
-function g() {
- a=1;
- b=2;
-}
-
-bp = Debug.setBreakPoint(f, 0, 0);
-assertEquals("() {[B0]a=1;b=2}", Debug.showBreakPoints(f));
-Debug.clearBreakPoint(bp);
-assertEquals("() {a=1;b=2}", Debug.showBreakPoints(f));
-bp1 = Debug.setBreakPoint(f, 0, 8);
-assertEquals("() {a=1;[B0]b=2}", Debug.showBreakPoints(f));
-bp2 = Debug.setBreakPoint(f, 0, 4);
-assertEquals("() {[B0]a=1;[B1]b=2}", Debug.showBreakPoints(f));
-bp3 = Debug.setBreakPoint(f, 0, 11);
-assertEquals("() {[B0]a=1;[B1]b=2[B2]}", Debug.showBreakPoints(f));
-Debug.clearBreakPoint(bp1);
-assertEquals("() {[B0]a=1;b=2[B1]}", Debug.showBreakPoints(f));
-Debug.clearBreakPoint(bp2);
-assertEquals("() {a=1;b=2[B0]}", Debug.showBreakPoints(f));
-Debug.clearBreakPoint(bp3);
-assertEquals("() {a=1;b=2}", Debug.showBreakPoints(f));
-
-// The following test checks that the Debug.showBreakPoints(g) produces output
-// like follows when changein breakpoints.
-//
-// function g() {
-// [BX]a=1;
-// [BX]b=2;
-// }[BX]
-
-// Test set and clear breakpoint at the first possible location (line 0,
-// position 0).
-bp = Debug.setBreakPoint(g, 0, 0);
-// function g() {
-// [B0]a=1;
-// b=2;
-// }
-assertTrue(Debug.showBreakPoints(g).indexOf("[B0]a=1;") > 0);
-Debug.clearBreakPoint(bp);
-// function g() {
-// a=1;
-// b=2;
-// }
-assertTrue(Debug.showBreakPoints(g).indexOf("[B0]") < 0);
-
-// Second test set and clear breakpoints on lines 1, 2 and 3 (position = 0).
-bp1 = Debug.setBreakPoint(g, 2, 0);
-// function g() {
-// a=1;
-// [B0]b=2;
-// }
-assertTrue(Debug.showBreakPoints(g).indexOf("[B0]b=2;") > 0);
-bp2 = Debug.setBreakPoint(g, 1, 0);
-// function g() {
-// [B0]a=1;
-// [B1]b=2;
-// }
-assertTrue(Debug.showBreakPoints(g).indexOf("[B0]a=1;") > 0);
-assertTrue(Debug.showBreakPoints(g).indexOf("[B1]b=2;") > 0);
-bp3 = Debug.setBreakPoint(g, 3, 0);
-// function g() {
-// [B0]a=1;
-// [B1]b=2;
-// }[B2]
-assertTrue(Debug.showBreakPoints(g).indexOf("[B0]a=1;") > 0);
-assertTrue(Debug.showBreakPoints(g).indexOf("[B1]b=2;") > 0);
-assertTrue(Debug.showBreakPoints(g).indexOf("[B2]}") > 0);
-Debug.clearBreakPoint(bp1);
-// function g() {
-// [B0]a=1;
-// b=2;
-// }[B1]
-assertTrue(Debug.showBreakPoints(g).indexOf("[B0]a=1;") > 0);
-assertTrue(Debug.showBreakPoints(g).indexOf("[B1]}") > 0);
-assertTrue(Debug.showBreakPoints(g).indexOf("[B2]") < 0);
-Debug.clearBreakPoint(bp2);
-// function g() {
-// a=1;
-// b=2;
-// }[B0]
-assertTrue(Debug.showBreakPoints(g).indexOf("[B0]}") > 0);
-assertTrue(Debug.showBreakPoints(g).indexOf("[B1]") < 0);
-Debug.clearBreakPoint(bp3);
-// function g() {
-// a=1;
-// b=2;
-// }
-assertTrue(Debug.showBreakPoints(g).indexOf("[B0]") < 0);
-
-
-// Tests for setting break points by script id and position.
-function setBreakpointByPosition(f, position)
-{
- var break_point = Debug.setBreakPointByScriptIdAndPosition(
- Debug.findScript(f).id,
- position + Debug.sourcePosition(f),
- "",
- true);
- return break_point.number();
-}
-
-bp = setBreakpointByPosition(f, 0);
-assertEquals("() {[B0]a=1;b=2}", Debug.showBreakPoints(f));
-Debug.clearBreakPoint(bp);
-assertEquals("() {a=1;b=2}", Debug.showBreakPoints(f));
-bp1 = setBreakpointByPosition(f, 8);
-assertEquals("() {a=1;[B0]b=2}", Debug.showBreakPoints(f));
-bp2 = setBreakpointByPosition(f, 4);
-assertEquals("() {[B0]a=1;[B1]b=2}", Debug.showBreakPoints(f));
-bp3 = setBreakpointByPosition(f, 11);
-assertEquals("() {[B0]a=1;[B1]b=2[B2]}", Debug.showBreakPoints(f));
-Debug.clearBreakPoint(bp1);
-assertEquals("() {[B0]a=1;b=2[B1]}", Debug.showBreakPoints(f));
-Debug.clearBreakPoint(bp2);
-assertEquals("() {a=1;b=2[B0]}", Debug.showBreakPoints(f));
-Debug.clearBreakPoint(bp3);
-assertEquals("() {a=1;b=2}", Debug.showBreakPoints(f));
-
-bp = setBreakpointByPosition(g, 0);
-//function g() {
-//[B0]a=1;
-//b=2;
-//}
-assertTrue(Debug.showBreakPoints(g).indexOf("[B0]a=1;") > 0);
-Debug.clearBreakPoint(bp);
-//function g() {
-//a=1;
-//b=2;
-//}
-assertTrue(Debug.showBreakPoints(g).indexOf("[B0]") < 0);
-
-//Second test set and clear breakpoints on lines 1, 2 and 3 (column = 0).
-bp1 = setBreakpointByPosition(g, 12);
-//function g() {
-//a=1;
-//[B0]b=2;
-//}
-assertTrue(Debug.showBreakPoints(g).indexOf("[B0]b=2;") > 0);
-bp2 = setBreakpointByPosition(g, 5);
-//function g() {
-//[B0]a=1;
-//[B1]b=2;
-//}
-assertTrue(Debug.showBreakPoints(g).indexOf("[B0]a=1;") > 0);
-assertTrue(Debug.showBreakPoints(g).indexOf("[B1]b=2;") > 0);
-bp3 = setBreakpointByPosition(g, 19);
-//function g() {
-//[B0]a=1;
-//[B1]b=2;
-//}[B2]
-assertTrue(Debug.showBreakPoints(g).indexOf("[B0]a=1;") > 0);
-assertTrue(Debug.showBreakPoints(g).indexOf("[B1]b=2;") > 0);
-assertTrue(Debug.showBreakPoints(g).indexOf("[B2]}") > 0);
-Debug.clearBreakPoint(bp1);
-//function g() {
-//[B0]a=1;
-//b=2;
-//}[B1]
-assertTrue(Debug.showBreakPoints(g).indexOf("[B0]a=1;") > 0);
-assertTrue(Debug.showBreakPoints(g).indexOf("[B1]}") > 0);
-assertTrue(Debug.showBreakPoints(g).indexOf("[B2]") < 0);
-Debug.clearBreakPoint(bp2);
-//function g() {
-//a=1;
-//b=2;
-//}[B0]
-assertTrue(Debug.showBreakPoints(g).indexOf("[B0]}") > 0);
-assertTrue(Debug.showBreakPoints(g).indexOf("[B1]") < 0);
-Debug.clearBreakPoint(bp3);
-//function g() {
-//a=1;
-//b=2;
-//}
-assertTrue(Debug.showBreakPoints(g).indexOf("[B0]") < 0);
diff --git a/src/3rdparty/v8/test/mjsunit/debug-changebreakpoint.js b/src/3rdparty/v8/test/mjsunit/debug-changebreakpoint.js
deleted file mode 100644
index 897c3e3..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-changebreakpoint.js
+++ /dev/null
@@ -1,108 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-// Simple function which stores the last debug event.
-listenerComplete = false;
-exception = false;
-
-var breakpoint = -1;
-var base_request = '"seq":0,"type":"request","command":"changebreakpoint"'
-
-function safeEval(code) {
- try {
- return eval('(' + code + ')');
- } catch (e) {
- assertEquals(void 0, e);
- return undefined;
- }
-}
-
-function testArguments(dcp, arguments, success) {
- var request = '{' + base_request + ',"arguments":' + arguments + '}'
- var json_response = dcp.processDebugJSONRequest(request);
- var response = safeEval(json_response);
- if (success) {
- assertTrue(response.success, json_response);
- } else {
- assertFalse(response.success, json_response);
- }
-}
-
-function listener(event, exec_state, event_data, data) {
- try {
- if (event == Debug.DebugEvent.Break) {
- // Get the debug command processor.
- var dcp = exec_state.debugCommandProcessor("unspecified_running_state");
-
- // Test some illegal clearbreakpoint requests.
- var request = '{' + base_request + '}'
- var response = safeEval(dcp.processDebugJSONRequest(request));
- assertFalse(response.success);
-
- testArguments(dcp, '{}', false);
- testArguments(dcp, '{"breakpoint":0,"condition":"false"}', false);
- testArguments(dcp, '{"breakpoint":' + (breakpoint + 1) + ',"condition":"false"}', false);
- testArguments(dcp, '{"breakpoint":"xx","condition":"false"}', false);
-
- // Test some legal clearbreakpoint requests.
- var bp_str = '"breakpoint":' + breakpoint;;
- testArguments(dcp, '{' + bp_str + '}', true);
- testArguments(dcp, '{' + bp_str + ',"enabled":"true"}', true);
- testArguments(dcp, '{' + bp_str + ',"enabled":"false"}', true);
- testArguments(dcp, '{' + bp_str + ',"condition":"1==2"}', true);
- testArguments(dcp, '{' + bp_str + ',"condition":"false"}', true);
- testArguments(dcp, '{' + bp_str + ',"ignoreCount":7}', true);
- testArguments(dcp, '{' + bp_str + ',"ignoreCount":0}', true);
- testArguments(
- dcp,
- '{' + bp_str + ',"enabled":"true","condition":"false","ignoreCount":0}',
- true);
-
- // Indicate that all was processed.
- listenerComplete = true;
- }
- } catch (e) {
- exception = e
- };
-};
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-function g() {};
-
-// Set a break point and call to invoke the debug event listener.
-breakpoint = Debug.setBreakPoint(g, 0, 0);
-g();
-
-// Make sure that the debug event listener vas invoked.
-assertTrue(listenerComplete, "listener did not run to completion");
-assertFalse(exception, "exception in listener")
diff --git a/src/3rdparty/v8/test/mjsunit/debug-clearbreakpoint.js b/src/3rdparty/v8/test/mjsunit/debug-clearbreakpoint.js
deleted file mode 100644
index 58e1531..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-clearbreakpoint.js
+++ /dev/null
@@ -1,100 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-// Simple function which stores the last debug event.
-listenerComplete = false;
-exception = false;
-
-var breakpoint = -1;
-var base_request = '"seq":0,"type":"request","command":"clearbreakpoint"'
-
-function safeEval(code) {
- try {
- return eval('(' + code + ')');
- } catch (e) {
- assertEquals(void 0, e);
- return undefined;
- }
-}
-
-function testArguments(dcp, arguments, success) {
- var request = '{' + base_request + ',"arguments":' + arguments + '}'
- var json_response = dcp.processDebugJSONRequest(request);
- var response = safeEval(json_response);
- if (success) {
- assertTrue(response.success, json_response);
- } else {
- assertFalse(response.success, json_response);
- }
-}
-
-function listener(event, exec_state, event_data, data) {
- try {
- if (event == Debug.DebugEvent.Break) {
- // Get the debug command processor.
- var dcp = exec_state.debugCommandProcessor("unspecified_running_state");
-
- // Test some illegal clearbreakpoint requests.
- var request = '{' + base_request + '}'
- var response = safeEval(dcp.processDebugJSONRequest(request));
- assertFalse(response.success);
-
- testArguments(dcp, '{}', false);
- testArguments(dcp, '{"breakpoint":0}', false);
- testArguments(dcp, '{"breakpoint":' + (breakpoint + 1)+ '}', false);
- testArguments(dcp, '{"breakpoint":"xx"}', false);
-
- // Test some legal clearbreakpoint requests.
- testArguments(dcp, '{"breakpoint":' + breakpoint + '}', true);
-
- // Cannot clear the same break point twice.
- testArguments(dcp, '{"breakpoint":' + breakpoint + '}', false);
-
- // Indicate that all was processed.
- listenerComplete = true;
- }
- } catch (e) {
- exception = e
- };
-};
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-function g() {};
-
-// Set a break point and call to invoke the debug event listener.
-breakpoint = Debug.setBreakPoint(g, 0, 0);
-g();
-
-// Make sure that the debug event listener vas invoked.
-assertTrue(listenerComplete, "listener did not run to completion");
-assertFalse(exception, "exception in listener")
diff --git a/src/3rdparty/v8/test/mjsunit/debug-clearbreakpointgroup.js b/src/3rdparty/v8/test/mjsunit/debug-clearbreakpointgroup.js
deleted file mode 100644
index 0cfc5c9..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-clearbreakpointgroup.js
+++ /dev/null
@@ -1,122 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-var Debug = debug.Debug
-
-// Simple function which stores the last debug event.
-var listenerComplete = false;
-var exception = false;
-
-var base_request = '"seq":0,"type":"request","command":"clearbreakpointgroup"';
-var scriptId = null;
-
-function safeEval(code) {
- try {
- return eval('(' + code + ')');
- } catch (e) {
- assertEquals(void 0, e);
- return undefined;
- }
-}
-
-function testArguments(dcp, arguments, success) {
- var request = '{' + base_request + ',"arguments":' + arguments + '}'
- var json_response = dcp.processDebugJSONRequest(request);
- var response = safeEval(json_response);
- if (success) {
- assertTrue(response.success, json_response);
- } else {
- assertFalse(response.success, json_response);
- }
-}
-
-function listener(event, exec_state, event_data, data) {
- try {
- if (event == Debug.DebugEvent.Break) {
- // Get the debug command processor.
- var dcp = exec_state.debugCommandProcessor("unspecified_running_state");
-
- // Clear breakpoint group 1.
- testArguments(dcp, '{"groupId":1}', true);
-
- // Indicate that all was processed.
- listenerComplete = true;
- } else if (event == Debug.DebugEvent.AfterCompile) {
- scriptId = event_data.script().id();
- assertEquals(source, event_data.script().source());
- }
- } catch (e) {
- exception = e
- };
-};
-
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-var source = 'function f(n) {\nreturn n+1;\n}\nfunction g() {return f(10);}' +
- '\nvar r = g(); g;';
-eval(source);
-
-assertNotNull(scriptId);
-
-var groupId1 = 1;
-var groupId2 = 2;
-// Set a break point and call to invoke the debug event listener.
-var bp1 = Debug.setScriptBreakPointById(scriptId, 1, null, null, groupId1);
-var bp2 = Debug.setScriptBreakPointById(scriptId, 1, null, null, groupId2);
-var bp3 = Debug.setScriptBreakPointById(scriptId, 1, null, null, null);
-var bp4 = Debug.setScriptBreakPointById(scriptId, 3, null, null, groupId1);
-var bp5 = Debug.setScriptBreakPointById(scriptId, 4, null, null, groupId2);
-
-assertEquals(5, Debug.scriptBreakPoints().length);
-
-// Call function 'g' from the compiled script to trigger breakpoint.
-g();
-
-// Make sure that the debug event listener vas invoked.
-assertTrue(listenerComplete,
- "listener did not run to completion: " + exception);
-
-var breakpoints = Debug.scriptBreakPoints();
-assertEquals(3, breakpoints.length);
-var breakpointNumbers = breakpoints.map(
- function(scriptBreakpoint) { return scriptBreakpoint.number(); },
- breakpointNumbers);
-
-// Check that all breakpoints from group 1 were deleted and all the
-// rest are preserved.
-assertEquals([bp2, bp3, bp5].sort(), breakpointNumbers.sort());
-
-assertFalse(exception, "exception in listener");
-
-// Clear all breakpoints to allow the test to run again (--stress-opt).
-Debug.clearBreakPoint(bp2);
-Debug.clearBreakPoint(bp3);
-Debug.clearBreakPoint(bp5);
diff --git a/src/3rdparty/v8/test/mjsunit/debug-compile-event-newfunction.js b/src/3rdparty/v8/test/mjsunit/debug-compile-event-newfunction.js
deleted file mode 100644
index fb43a87..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-compile-event-newfunction.js
+++ /dev/null
@@ -1,68 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-var exception = null; // Exception in debug event listener.
-
-function listener(event, exec_state, event_data, data) {
- try {
- if (event == Debug.DebugEvent.AfterCompile) {
- assertEquals(Debug.ScriptCompilationType.Eval,
- event_data.script().compilationType(),
- 'Wrong compilationType');
- var evalFromScript = event_data.script().evalFromScript();
- assertTrue(!!evalFromScript, ' evalFromScript ');
- assertFalse(evalFromScript.isUndefined(), 'evalFromScript.isUndefined()');
- assertTrue(/debug-compile-event-newfunction.js$/.test(
- evalFromScript.name()),
- 'Wrong eval from script name.');
-
- var evalFromLocation = event_data.script().evalFromLocation();
- assertTrue(!!evalFromLocation, 'evalFromLocation is undefined');
- assertEquals(63, evalFromLocation.line);
-
- // Check that the event can be serialized without exceptions.
- var json = event_data.toJSONProtocol();
- }
- } catch (e) {
- exception = e
- }
-};
-
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-// Create a function from its body text. It will lead to an eval.
-new Function('arg1', 'return arg1 + 1;');
-
-assertNull(exception, "exception in listener");
-
-Debug.setListener(null);
diff --git a/src/3rdparty/v8/test/mjsunit/debug-compile-event.js b/src/3rdparty/v8/test/mjsunit/debug-compile-event.js
deleted file mode 100644
index 94dddfa..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-compile-event.js
+++ /dev/null
@@ -1,120 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-var exception = false; // Exception in debug event listener.
-var before_compile_count = 0;
-var after_compile_count = 0;
-var current_source = ''; // Current source being compiled.
-var source_count = 0; // Total number of scources compiled.
-var host_compilations = 0; // Number of scources compiled through the API.
-var eval_compilations = 0; // Number of scources compiled through eval.
-
-
-function compileSource(source) {
- current_source = source;
- eval(current_source);
- source_count++;
-}
-
-
-function listener(event, exec_state, event_data, data) {
- try {
- if (event == Debug.DebugEvent.BeforeCompile ||
- event == Debug.DebugEvent.AfterCompile) {
- // Count the events.
- if (event == Debug.DebugEvent.BeforeCompile) {
- before_compile_count++;
- } else {
- after_compile_count++;
- switch (event_data.script().compilationType()) {
- case Debug.ScriptCompilationType.Host:
- host_compilations++;
- break;
- case Debug.ScriptCompilationType.Eval:
- eval_compilations++;
- break;
- }
- }
-
- // If the compiled source contains 'eval' there will be additional compile
- // events for the source inside eval.
- if (current_source.indexOf('eval') == 0) {
- // For source with 'eval' there will be compile events with substrings
- // as well as with with the exact source.
- assertTrue(current_source.indexOf(event_data.script().source()) >= 0);
- } else {
- // For source without 'eval' there will be a compile events with the
- // exact source.
- assertEquals(current_source, event_data.script().source());
- }
- // Check that script context is included into the event message.
- var json = event_data.toJSONProtocol();
- var msg = eval('(' + json + ')');
- assertTrue('context' in msg.body.script);
-
- // Check that we pick script name from //@ sourceURL, iff present
- assertEquals(current_source.indexOf('sourceURL') >= 0 ?
- 'myscript.js' : undefined,
- event_data.script().name());
- }
- } catch (e) {
- exception = e
- }
-};
-
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-// Compile different sources.
-compileSource('a=1');
-compileSource('(function(){})');
-compileSource('eval("a=2")');
-source_count++; // Using eval causes additional compilation event.
-compileSource('eval("eval(\'(function(){return a;})\')")');
-source_count += 2; // Using eval causes additional compilation event.
-compileSource('JSON.parse(\'{"a":1,"b":2}\')');
-// Using JSON.parse does not causes additional compilation events.
-compileSource('x=1; //@ sourceURL=myscript.js');
-
-// Make sure that the debug event listener was invoked.
-assertFalse(exception, "exception in listener")
-
-// Number of before and after compile events should be the same.
-assertEquals(before_compile_count, after_compile_count);
-
-// Check the actual number of events (no compilation through the API as all
-// source compiled through eval).
-assertEquals(source_count, after_compile_count);
-assertEquals(0, host_compilations);
-assertEquals(source_count, eval_compilations);
-
-Debug.setListener(null);
diff --git a/src/3rdparty/v8/test/mjsunit/debug-conditional-breakpoints.js b/src/3rdparty/v8/test/mjsunit/debug-conditional-breakpoints.js
deleted file mode 100644
index 6248437..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-conditional-breakpoints.js
+++ /dev/null
@@ -1,171 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-// Simple debug event handler which just counts the number of break points hit.
-var break_point_hit_count;
-
-function listener(event, exec_state, event_data, data) {
- if (event == Debug.DebugEvent.Break) {
- break_point_hit_count++;
- }
-};
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-// Test functions.
-count = 0;
-function f() {};
-function g() {h(count++)};
-function h(x) {var a=x; return a};
-
-
-// Conditional breakpoint which syntax error.
-break_point_hit_count = 0;
-bp = Debug.setBreakPoint(f, 0, 0, '{{{');
-f();
-assertEquals(0, break_point_hit_count);
-assertEquals(0, Debug.findBreakPoint(bp, false).hit_count());
-Debug.clearBreakPoint(bp);
-
-// Conditional breakpoint which evaluates to false.
-break_point_hit_count = 0;
-bp = Debug.setBreakPoint(f, 0, 0, 'false');
-f();
-assertEquals(0, break_point_hit_count);
-assertEquals(0, Debug.findBreakPoint(bp, false).hit_count());
-Debug.clearBreakPoint(bp);
-
-// Conditional breakpoint which evaluates to true.
-break_point_hit_count = 0;
-bp = Debug.setBreakPoint(f, 0, 0, 'true');
-f();
-assertEquals(1, break_point_hit_count);
-assertEquals(1, Debug.findBreakPoint(bp, false).hit_count());
-Debug.clearBreakPoint(bp);
-
-// Conditional breakpoint which different types of quotes.
-break_point_hit_count = 0;
-bp = Debug.setBreakPoint(f, 0, 0, '"a" == "a"');
-f();
-assertEquals(1, break_point_hit_count);
-assertEquals(1, Debug.findBreakPoint(bp, false).hit_count());
-Debug.clearBreakPoint(bp);
-break_point_hit_count = 0;
-bp = Debug.setBreakPoint(f, 0, 0, "'a' == 'a'");
-f();
-assertEquals(1, break_point_hit_count);
-assertEquals(1, Debug.findBreakPoint(bp, false).hit_count());
-Debug.clearBreakPoint(bp);
-
-// Changing condition.
-break_point_hit_count = 0;
-bp = Debug.setBreakPoint(f, 0, 0, '"ab".indexOf("b") > 0');
-f();
-assertEquals(1, break_point_hit_count);
-assertEquals(1, Debug.findBreakPoint(bp, false).hit_count());
-Debug.changeBreakPointCondition(bp, 'Math.sin(Math.PI/2) > 1');
-f();
-assertEquals(1, break_point_hit_count);
-assertEquals(1, Debug.findBreakPoint(bp, false).hit_count());
-Debug.changeBreakPointCondition(bp, '1==1');
-f();
-assertEquals(2, break_point_hit_count);
-assertEquals(2, Debug.findBreakPoint(bp, false).hit_count());
-Debug.clearBreakPoint(bp);
-
-// Conditional breakpoint which checks global variable.
-break_point_hit_count = 0;
-bp = Debug.setBreakPoint(f, 0, 0, 'x==1');
-f();
-assertEquals(0, break_point_hit_count);
-assertEquals(0, Debug.findBreakPoint(bp, false).hit_count());
-x=1;
-f();
-assertEquals(1, break_point_hit_count);
-assertEquals(1, Debug.findBreakPoint(bp, false).hit_count());
-Debug.clearBreakPoint(bp);
-
-// Conditional breakpoint which checks global variable.
-break_point_hit_count = 0;
-bp = Debug.setBreakPoint(g, 0, 0, 'count % 2 == 0');
-for (var i = 0; i < 10; i++) {
- g();
-}
-assertEquals(5, break_point_hit_count);
-assertEquals(5, Debug.findBreakPoint(bp, false).hit_count());
-Debug.clearBreakPoint(bp);
-
-// Conditional breakpoint which checks a parameter.
-break_point_hit_count = 0;
-bp = Debug.setBreakPoint(h, 0, 0, 'x % 2 == 0');
-for (var i = 0; i < 10; i++) {
- g();
-}
-assertEquals(5, break_point_hit_count);
-assertEquals(5, Debug.findBreakPoint(bp, false).hit_count());
-Debug.clearBreakPoint(bp);
-
-// Conditional breakpoint which checks a local variable.
-break_point_hit_count = 0;
-bp = Debug.setBreakPoint(h, 0, 22, 'a % 2 == 0');
-for (var i = 0; i < 10; i++) {
- g();
-}
-assertEquals(5, break_point_hit_count);
-assertEquals(5, Debug.findBreakPoint(bp, false).hit_count());
-Debug.clearBreakPoint(bp);
-
-// Multiple conditional breakpoint which the same condition.
-break_point_hit_count = 0;
-bp1 = Debug.setBreakPoint(h, 0, 22, 'a % 2 == 0');
-bp2 = Debug.setBreakPoint(h, 0, 22, 'a % 2 == 0');
-for (var i = 0; i < 10; i++) {
- g();
-}
-assertEquals(5, break_point_hit_count);
-assertEquals(5, Debug.findBreakPoint(bp1, false).hit_count());
-assertEquals(5, Debug.findBreakPoint(bp2, false).hit_count());
-Debug.clearBreakPoint(bp1);
-Debug.clearBreakPoint(bp2);
-
-// Multiple conditional breakpoint which different conditions.
-break_point_hit_count = 0;
-bp1 = Debug.setBreakPoint(h, 0, 22, 'a % 2 == 0');
-bp2 = Debug.setBreakPoint(h, 0, 22, '(a + 1) % 2 == 0');
-for (var i = 0; i < 10; i++) {
- g();
-}
-assertEquals(10, break_point_hit_count);
-assertEquals(5, Debug.findBreakPoint(bp1, false).hit_count());
-assertEquals(5, Debug.findBreakPoint(bp2, false).hit_count());
-Debug.clearBreakPoint(bp1);
-Debug.clearBreakPoint(bp2);
diff --git a/src/3rdparty/v8/test/mjsunit/debug-constructed-by.js b/src/3rdparty/v8/test/mjsunit/debug-constructed-by.js
deleted file mode 100644
index c904e25..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-constructed-by.js
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-// Simple constructor.
-function Point(x,y) {}
-
-// Create mirror for the constructor.
-var ctor = debug.MakeMirror(Point);
-
-// Initially no instances.
-assertEquals(0, ctor.constructedBy().length);
-assertEquals(0, ctor.constructedBy(0).length);
-assertEquals(0, ctor.constructedBy(1).length);
-assertEquals(0, ctor.constructedBy(10).length);
-
-// Create an instance.
-var p = new Point();
-assertEquals(1, ctor.constructedBy().length);
-assertEquals(1, ctor.constructedBy(0).length);
-assertEquals(1, ctor.constructedBy(1).length);
-assertEquals(1, ctor.constructedBy(10).length);
-
-
-// Create 10 more instances making for 11.
-ps = [];
-for (var i = 0; i < 10; i++) {
- ps.push(new Point());
-}
-assertEquals(11, ctor.constructedBy().length);
-assertEquals(11, ctor.constructedBy(0).length);
-assertEquals(1, ctor.constructedBy(1).length);
-assertEquals(10, ctor.constructedBy(10).length);
diff --git a/src/3rdparty/v8/test/mjsunit/debug-constructor.js b/src/3rdparty/v8/test/mjsunit/debug-constructor.js
deleted file mode 100644
index 38028aa..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-constructor.js
+++ /dev/null
@@ -1,78 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-// Simple function which collects a simple call graph.
-var call_graph = "";
-function listener(event, exec_state, event_data, data) {
- if (event == Debug.DebugEvent.Break)
- {
- call_graph += exec_state.frame().func().name();
- exec_state.prepareStep();
- }
-};
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-// Test debug event for constructor.
-function a() {
- new c();
-}
-
-function b() {
- x = 1;
- new c();
-}
-
-function c() {
- this.x = 1;
- d();
-}
-
-function d() {
-}
-
-// Break point stops on "new c()" and steps into c.
-Debug.setBreakPoint(a, 1);
-call_graph = "";
-a();
-Debug.clearStepping(); // Clear stepping as the listener leaves it on.
-assertEquals("accdca", call_graph);
-
-// Break point stops on "x = 1" and steps to "new c()" and then into c.
-Debug.setBreakPoint(b, 1);
-call_graph = "";
-b();
-Debug.clearStepping(); // Clear stepping as the listener leaves it on.
-assertEquals("bbccdcb", call_graph);
-
-// Get rid of the debug event listener.
-Debug.setListener(null); \ No newline at end of file
diff --git a/src/3rdparty/v8/test/mjsunit/debug-continue.js b/src/3rdparty/v8/test/mjsunit/debug-continue.js
deleted file mode 100644
index a501aa9..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-continue.js
+++ /dev/null
@@ -1,114 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-// Simple function which stores the last debug event.
-listenerComplete = false;
-exception = false;
-
-var base_request = '"seq":0,"type":"request","command":"continue"'
-
-function safeEval(code) {
- try {
- return eval('(' + code + ')');
- } catch (e) {
- assertEquals(void 0, e);
- return undefined;
- }
-}
-
-function testArguments(exec_state, arguments, success) {
- // Get the debug command processor in paused state.
- var dcp = exec_state.debugCommandProcessor(false);
-
- // Generate request with the supplied arguments
- var request;
- if (arguments) {
- request = '{' + base_request + ',"arguments":' + arguments + '}';
- } else {
- request = '{' + base_request + '}'
- }
- var response = safeEval(dcp.processDebugJSONRequest(request));
- if (success) {
- assertTrue(response.success, request + ' -> ' + response.message);
- assertTrue(response.running, request + ' -> expected running');
- } else {
- assertFalse(response.success, request + ' -> ' + response.message);
- assertFalse(response.running, request + ' -> expected not running');
- }
-}
-
-function listener(event, exec_state, event_data, data) {
- try {
- if (event == Debug.DebugEvent.Break) {
-
- // Test simple continue request.
- testArguments(exec_state, void 0, true);
-
- // Test some illegal continue requests.
- testArguments(exec_state, '{"stepaction":"maybe"}', false);
- testArguments(exec_state, '{"stepcount":-1}', false);
-
- // Test some legal continue requests.
- testArguments(exec_state, '{"stepaction":"in"}', true);
- testArguments(exec_state, '{"stepaction":"min"}', true);
- testArguments(exec_state, '{"stepaction":"next"}', true);
- testArguments(exec_state, '{"stepaction":"out"}', true);
- testArguments(exec_state, '{"stepcount":1}', true);
- testArguments(exec_state, '{"stepcount":10}', true);
- testArguments(exec_state, '{"stepcount":"10"}', true);
- testArguments(exec_state, '{"stepaction":"next","stepcount":10}', true);
-
- // Indicate that all was processed.
- listenerComplete = true;
- }
- } catch (e) {
- exception = e
- };
-};
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-function f() {
- a=1
-};
-
-function g() {
- f();
-};
-
-// Set a break point and call to invoke the debug event listener.
-Debug.setBreakPoint(g, 0, 0);
-g();
-
-assertFalse(exception, "exception in listener")
-// Make sure that the debug event listener vas invoked.
-assertTrue(listenerComplete, "listener did not run to completion");
diff --git a/src/3rdparty/v8/test/mjsunit/debug-enable-disable-breakpoints.js b/src/3rdparty/v8/test/mjsunit/debug-enable-disable-breakpoints.js
deleted file mode 100644
index 4592ffc..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-enable-disable-breakpoints.js
+++ /dev/null
@@ -1,105 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-// Simple debug event handler which just counts the number of break points hit.
-var break_point_hit_count;
-
-function listener(event, exec_state, event_data, data) {
- if (event == Debug.DebugEvent.Break) {
- break_point_hit_count++;
- }
-};
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-// Test function.
-function f() {a=1;b=2;};
-
-// This tests enabeling and disabling of break points including the case
-// with several break points in the same location.
-break_point_hit_count = 0;
-
-// Set a breakpoint in f.
-bp1 = Debug.setBreakPoint(f);
-f();
-assertEquals(1, break_point_hit_count);
-
-// Disable the breakpoint.
-Debug.disableBreakPoint(bp1);
-f();
-assertEquals(1, break_point_hit_count);
-
-// Enable the breakpoint.
-Debug.enableBreakPoint(bp1);
-f();
-assertEquals(2, break_point_hit_count);
-
-// Set another breakpoint in f at the same place.
-bp2 = Debug.setBreakPoint(f);
-f();
-assertEquals(3, break_point_hit_count);
-
-// Disable the second breakpoint.
-Debug.disableBreakPoint(bp2);
-f();
-assertEquals(4, break_point_hit_count);
-
-// Disable the first breakpoint.
-Debug.disableBreakPoint(bp1);
-f();
-assertEquals(4, break_point_hit_count);
-
-// Enable both breakpoints.
-Debug.enableBreakPoint(bp1);
-Debug.enableBreakPoint(bp2);
-f();
-assertEquals(5, break_point_hit_count);
-
-// Disable the first breakpoint.
-Debug.disableBreakPoint(bp1);
-f();
-assertEquals(6, break_point_hit_count);
-
-// Deactivate all breakpoints.
-Debug.debuggerFlags().breakPointsActive.setValue(false);
-f();
-assertEquals(6, break_point_hit_count);
-
-// Enable the first breakpoint.
-Debug.enableBreakPoint(bp1);
-f();
-assertEquals(6, break_point_hit_count);
-
-// Activate all breakpoints.
-Debug.debuggerFlags().breakPointsActive.setValue(true);
-f();
-assertEquals(7, break_point_hit_count);
diff --git a/src/3rdparty/v8/test/mjsunit/debug-evaluate-arguments.js b/src/3rdparty/v8/test/mjsunit/debug-evaluate-arguments.js
deleted file mode 100644
index 92b745f..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-evaluate-arguments.js
+++ /dev/null
@@ -1,93 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-listenerComplete = false;
-exception = false;
-
-function checkArguments(frame, names, values) {
- var argc = Math.max(names.length, values.length);
- assertEquals(argc, frame.argumentCount());
- for (var i = 0; i < argc; i++) {
- if (i < names.length) {
- assertEquals(names[i], frame.argumentName(i));
- } else {
- assertEquals(void 0, frame.argumentName(i));
- }
-
- if (i < values.length) {
- assertEquals(values[i], frame.argumentValue(i).value());
- } else {
- assertEquals(void 0, frame.argumentValue(i).value());
- }
- }
-}
-
-function listener(event, exec_state, event_data, data) {
- try {
- if (event == Debug.DebugEvent.Break)
- {
- // Frame 0 - called with less parameters than arguments.
- checkArguments(exec_state.frame(0), ['x', 'y'], [1]);
-
- // Frame 1 - called with more parameters than arguments.
- checkArguments(exec_state.frame(1), ['x', 'y'], [1, 2, 3]);
-
- // Frame 2 - called with same number of parameters than arguments.
- checkArguments(exec_state.frame(2), ['x', 'y', 'z'], [1, 2, 3]);
-
- // Indicate that all was processed.
- listenerComplete = true;
- }
- } catch (e) {
- exception = e
- };
-};
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-function h(x, y) {
- debugger; // Breakpoint.
-};
-
-function g(x, y) {
- h(x);
-};
-
-function f(x, y, z) {
- g.apply(null, [x, y, z]);
-};
-
-f(1, 2, 3);
-
-// Make sure that the debug event listener vas invoked.
-assertTrue(listenerComplete);
-assertFalse(exception, "exception in listener")
diff --git a/src/3rdparty/v8/test/mjsunit/debug-evaluate-bool-constructor.js b/src/3rdparty/v8/test/mjsunit/debug-evaluate-bool-constructor.js
deleted file mode 100644
index d268091..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-evaluate-bool-constructor.js
+++ /dev/null
@@ -1,80 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-var listenerComplete = false;
-var exception = false;
-
-function listener(event, exec_state, event_data, data) {
- try {
- if (event == Debug.DebugEvent.Break) {
- // Get the debug command processor.
- var dcp = exec_state.debugCommandProcessor();
-
- var request = {
- seq: 0,
- type: 'request',
- command: 'evaluate',
- arguments: {
- expression: 'a',
- frame: 0
- }
- };
- request = JSON.stringify(request);
-
- var resp = dcp.processDebugJSONRequest(request);
- var response = JSON.parse(resp);
- assertTrue(response.success, 'Command failed: ' + resp);
- assertEquals('object', response.body.type);
- assertEquals('Object', response.body.className);
-
- // Indicate that all was processed.
- listenerComplete = true;
- }
- } catch (e) {
- exception = e
- };
-};
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-function callDebugger() {
- // Add set constructor field to a non-function value.
- var a = {constructor:true};
- debugger;
-}
-
-callDebugger();
-
-
-// Make sure that the debug event listener vas invoked.
-assertFalse(exception, "exception in listener")
-assertTrue(listenerComplete, "listener did not run to completion");
diff --git a/src/3rdparty/v8/test/mjsunit/debug-evaluate-locals-optimized-double.js b/src/3rdparty/v8/test/mjsunit/debug-evaluate-locals-optimized-double.js
deleted file mode 100644
index 8d91b97..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-evaluate-locals-optimized-double.js
+++ /dev/null
@@ -1,237 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug --expose-gc --allow-natives-syntax
-// Flags: --inline-construct
-
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-var listenerComplete = false;
-var exception = false;
-
-var testingConstructCall = false;
-
-var input = [
- {a: 1, b: 2},
- {a: 3, b: 4},
- {a: 5, b: 6},
- {a: 7, b: 8},
- {a: 9, b: 10}
-];
-
-var expected = [
- { locals: {a0: 1.01, b0: 2.02},
- args: { names: ["i", "x0", "y0"], values: [0, 3.03, 4.04] } },
- { locals: {a1: 3.03, b1: 4.04},
- args: { names: ["i", "x1", "y1"], values: [1, 5.05, 6.06] } },
- { locals: {a2: 5.05, b2: 6.06},
- args: { names: ["i"], values: [2] } },
- { locals: {a3: 7.07, b3: 8.08},
- args: { names: ["i", "x3", "y3", "z3"],
- values: [3, 9.09, 10.10, undefined] } },
- { locals: {a4: 9.09, b4: 10.10},
- args: { names: ["i", "x4", "y4"], values: [4, 11.11, 12.12] } }
-];
-
-function arraySum(arr) {
- return arr.reduce(function (a, b) { return a + b; }, 0);
-}
-
-function listener(event, exec_state, event_data, data) {
- try {
- if (event == Debug.DebugEvent.Break)
- {
- assertEquals(6, exec_state.frameCount());
-
- for (var i = 0; i < exec_state.frameCount(); i++) {
- var frame = exec_state.frame(i);
- if (i < exec_state.frameCount() - 1) {
- var expected_args = expected[i].args;
- var expected_locals = expected[i].locals;
-
- // All frames except the bottom one have expected locals.
- var locals = {};
- for (var j = 0; j < frame.localCount(); j++) {
- locals[frame.localName(j)] = frame.localValue(j).value();
- }
- assertPropertiesEqual(expected_locals, locals);
-
- // All frames except the bottom one have expected arguments.
- for (var j = 0; j < expected_args.names.length; j++) {
- assertEquals(expected_args.names[j], frame.argumentName(j));
- assertEquals(expected_args.values[j],
- frame.argumentValue(j).value());
- }
-
- // All frames except the bottom one have two scopes.
- assertEquals(2, frame.scopeCount());
- assertEquals(debug.ScopeType.Local, frame.scope(0).scopeType());
- assertEquals(debug.ScopeType.Global, frame.scope(1).scopeType());
-
- Object.keys(expected_locals).forEach(function (name) {
- assertEquals(expected_locals[name],
- frame.scope(0).scopeObject().value()[name]);
- });
-
- for (var j = 0; j < expected_args.names.length; j++) {
- var arg_name = expected_args.names[j];
- var arg_value = expected_args.values[j];
- assertEquals(arg_value,
- frame.scope(0).scopeObject().value()[arg_name]);
- }
-
- // Evaluate in the inlined frame.
- Object.keys(expected_locals).forEach(function (name) {
- assertEquals(expected_locals[name], frame.evaluate(name).value());
- });
-
- for (var j = 0; j < expected_args.names.length; j++) {
- var arg_name = expected_args.names[j];
- var arg_value = expected_args.values[j];
- assertEquals(arg_value, frame.evaluate(arg_name).value());
- assertEquals(arg_value, frame.evaluate('arguments['+j+']').value());
- }
-
- var expected_args_sum = arraySum(expected_args.values);
- var expected_locals_sum =
- arraySum(Object.keys(expected_locals).
- map(function (k) { return expected_locals[k]; }));
-
- assertEquals(expected_locals_sum + expected_args_sum,
- frame.evaluate(Object.keys(expected_locals).join('+') +
- ' + ' +
- expected_args.names.join('+')).value());
-
- var arguments_sum = expected_args.names.map(function(_, idx) {
- return "arguments[" + idx + "]";
- }).join('+');
- assertEquals(expected_args_sum,
- frame.evaluate(arguments_sum).value());
- } else {
- // The bottom frame only have the global scope.
- assertEquals(1, frame.scopeCount());
- assertEquals(debug.ScopeType.Global, frame.scope(0).scopeType());
- }
-
- // Check the frame function.
- switch (i) {
- case 0: assertEquals(h, frame.func().value()); break;
- case 1: assertEquals(g3, frame.func().value()); break;
- case 2: assertEquals(g2, frame.func().value()); break;
- case 3: assertEquals(g1, frame.func().value()); break;
- case 4: assertEquals(f, frame.func().value()); break;
- case 5: break;
- default: assertUnreachable();
- }
-
- // Check for construct call.
- if (i == 4) {
- assertEquals(testingConstructCall, frame.isConstructCall());
- } else if (i == 2) {
- assertTrue(frame.isConstructCall());
- } else {
- assertFalse(frame.isConstructCall());
- }
-
- if (i > 4) {
- assertFalse(frame.isOptimizedFrame());
- assertFalse(frame.isInlinedFrame());
- }
- }
-
- // Indicate that all was processed.
- listenerComplete = true;
- }
- } catch (e) {
- exception = e.toString() + e.stack;
- };
-};
-
-for (var i = 0; i < 4; i++) f(input.length - 1, 11.11, 12.12);
-%OptimizeFunctionOnNextCall(f);
-f(input.length - 1, 11.11, 12.12);
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-function h(i, x0, y0) {
- var a0 = input[i].a;
- var b0 = input[i].b;
- a0 = a0 + a0 / 100;
- b0 = b0 + b0 / 100;
- debugger; // Breakpoint.
-};
-
-function g3(i, x1, y1) {
- var a1 = input[i].a;
- var b1 = input[i].b;
- a1 = a1 + a1 / 100;
- b1 = b1 + b1 / 100;
- h(i - 1, a1, b1);
- return a1+b1;
-};
-
-function g2(i) {
- var a2 = input[i].a;
- var b2 = input[i].b;
- a2 = a2 + a2 / 100;
- b2 = b2 + b2 / 100;
- g3(i - 1, a2, b2);
-};
-
-function g1(i, x3, y3, z3) {
- var a3 = input[i].a;
- var b3 = input[i].b;
- a3 = a3 + a3 / 100;
- b3 = b3 + b3 / 100;
- new g2(i - 1, a3, b3);
-};
-
-function f(i, x4, y4) {
- var a4 = input[i].a;
- var b4 = input[i].b;
- a4 = a4 + a4 / 100;
- b4 = b4 + b4 / 100;
- g1(i - 1, a4, b4);
-};
-
-// Test calling f normally and as a constructor.
-f(input.length - 1, 11.11, 12.12);
-f(input.length - 1, 11.11, 12.12, "");
-testingConstructCall = true;
-new f(input.length - 1, 11.11, 12.12);
-new f(input.length - 1, 11.11, 12.12, "");
-
-// Make sure that the debug event listener was invoked.
-assertFalse(exception, "exception in listener " + exception)
-assertTrue(listenerComplete);
-
-//Throw away type information for next run.
-gc();
-
-Debug.setListener(null);
diff --git a/src/3rdparty/v8/test/mjsunit/debug-evaluate-locals-optimized.js b/src/3rdparty/v8/test/mjsunit/debug-evaluate-locals-optimized.js
deleted file mode 100644
index f662912..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-evaluate-locals-optimized.js
+++ /dev/null
@@ -1,217 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug --expose-gc --allow-natives-syntax
-// Flags: --inline-construct
-
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-var listenerComplete = false;
-var exception = false;
-
-var testingConstructCall = false;
-
-var expected = [
- { locals: {a0: 1, b0: 2},
- args: { names: ["i", "x0", "y0"], values: [0, 3, 4] } },
- { locals: {a1: 3, b1: 4},
- args: { names: ["i", "x1", "y1"], values: [1, 5, 6] } },
- { locals: {a2: 5, b2: 6},
- args: { names: ["i"], values: [2] } },
- { locals: {a3: 7, b3: 8},
- args: { names: ["i", "x3", "y3", "z3"], values: [3, 9, 10, undefined] } },
- { locals: {a4: 9, b4: 10},
- args: { names: ["i", "x4", "y4"], values: [4, 11, 12] } }
-];
-
-function arraySum(arr) {
- return arr.reduce(function (a, b) { return a + b; }, 0);
-}
-
-function listener(event, exec_state, event_data, data) {
- try {
- if (event == Debug.DebugEvent.Break)
- {
- assertEquals(6, exec_state.frameCount());
-
- for (var i = 0; i < exec_state.frameCount(); i++) {
- var frame = exec_state.frame(i);
- if (i < exec_state.frameCount() - 1) {
- var expected_args = expected[i].args;
- var expected_locals = expected[i].locals;
-
- // All frames except the bottom one have expected locals.
- var locals = {};
- for (var j = 0; j < frame.localCount(); j++) {
- locals[frame.localName(j)] = frame.localValue(j).value();
- }
- assertPropertiesEqual(expected_locals, locals);
-
- // All frames except the bottom one have expected arguments.
- for (var j = 0; j < expected_args.names.length; j++) {
- assertEquals(expected_args.names[j], frame.argumentName(j));
- assertEquals(expected_args.values[j],
- frame.argumentValue(j).value());
- }
-
- // All frames except the bottom one have two scopes.
- assertEquals(2, frame.scopeCount());
- assertEquals(debug.ScopeType.Local, frame.scope(0).scopeType());
- assertEquals(debug.ScopeType.Global, frame.scope(1).scopeType());
-
- Object.keys(expected_locals).forEach(function (name) {
- assertEquals(expected_locals[name],
- frame.scope(0).scopeObject().value()[name]);
- });
-
- for (var j = 0; j < expected_args.names.length; j++) {
- var arg_name = expected_args.names[j];
- var arg_value = expected_args.values[j];
- assertEquals(arg_value,
- frame.scope(0).scopeObject().value()[arg_name]);
- }
-
- // Evaluate in the inlined frame.
- Object.keys(expected_locals).forEach(function (name) {
- assertEquals(expected_locals[name], frame.evaluate(name).value());
- });
-
- for (var j = 0; j < expected_args.names.length; j++) {
- var arg_name = expected_args.names[j];
- var arg_value = expected_args.values[j];
- assertEquals(arg_value, frame.evaluate(arg_name).value());
- assertEquals(arg_value, frame.evaluate('arguments['+j+']').value());
- }
-
- var expected_args_sum = arraySum(expected_args.values);
- var expected_locals_sum =
- arraySum(Object.keys(expected_locals).
- map(function (k) { return expected_locals[k]; }));
-
- assertEquals(expected_locals_sum + expected_args_sum,
- frame.evaluate(Object.keys(expected_locals).join('+') +
- ' + ' +
- expected_args.names.join('+')).value());
-
- var arguments_sum = expected_args.names.map(function(_, idx) {
- return "arguments[" + idx + "]";
- }).join('+');
- assertEquals(expected_args_sum,
- frame.evaluate(arguments_sum).value());
- } else {
- // The bottom frame only have the global scope.
- assertEquals(1, frame.scopeCount());
- assertEquals(debug.ScopeType.Global, frame.scope(0).scopeType());
- }
-
- // Check the frame function.
- switch (i) {
- case 0: assertEquals(h, frame.func().value()); break;
- case 1: assertEquals(g3, frame.func().value()); break;
- case 2: assertEquals(g2, frame.func().value()); break;
- case 3: assertEquals(g1, frame.func().value()); break;
- case 4: assertEquals(f, frame.func().value()); break;
- case 5: break;
- default: assertUnreachable();
- }
-
- // Check for construct call.
- if (i == 4) {
- assertEquals(testingConstructCall, frame.isConstructCall());
- } else if (i == 2) {
- assertTrue(frame.isConstructCall());
- } else {
- assertFalse(frame.isConstructCall());
- }
-
- if (i > 4) {
- assertFalse(frame.isOptimizedFrame());
- assertFalse(frame.isInlinedFrame());
- }
- }
-
- // Indicate that all was processed.
- listenerComplete = true;
- }
- } catch (e) {
- exception = e.toString() + e.stack;
- };
-};
-
-for (var i = 0; i < 4; i++) f(expected.length - 1, 11, 12);
-%OptimizeFunctionOnNextCall(f);
-f(expected.length - 1, 11, 12);
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-function h(i, x0, y0) {
- var a0 = expected[i].locals.a0;
- var b0 = expected[i].locals.b0;
- debugger; // Breakpoint.
-}
-
-function g3(i, x1, y1) {
- var a1 = expected[i].locals.a1;
- var b1 = expected[i].locals.b1;
- h(i - 1, a1, b1);
-}
-
-function g2(i) {
- var a2 = expected[i].locals.a2;
- var b2 = expected[i].locals.b2;
- g3(i - 1, a2, b2);
-}
-
-function g1(i, x3, y3, z3) {
- var a3 = expected[i].locals.a3;
- var b3 = expected[i].locals.b3;
- new g2(i - 1, a3, b3);
-}
-
-function f(i, x4, y4) {
- var a4 = expected[i].locals.a4;
- var b4 = expected[i].locals.b4;
- g1(i - 1, a4, b4);
-}
-
-// Test calling f normally and as a constructor.
-f(expected.length - 1, 11, 12);
-f(expected.length - 1, 11, 12, 0);
-testingConstructCall = true;
-new f(expected.length - 1, 11, 12);
-new f(expected.length - 1, 11, 12, 0);
-
-// Make sure that the debug event listener was invoked.
-assertFalse(exception, "exception in listener " + exception)
-assertTrue(listenerComplete);
-
-// Throw away type information for next run.
-gc();
-
-Debug.setListener(null);
diff --git a/src/3rdparty/v8/test/mjsunit/debug-evaluate-locals.js b/src/3rdparty/v8/test/mjsunit/debug-evaluate-locals.js
deleted file mode 100644
index 61b6dd9..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-evaluate-locals.js
+++ /dev/null
@@ -1,138 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-listenerComplete = false;
-exception = false;
-
-
-function h() {
- var a = 1;
- var b = 2;
- debugger; // Breakpoint.
-}
-
-function checkFrame0(frame) {
- // Frame 0 (h) has normal variables a and b.
- var count = frame.localCount();
- assertEquals(2, count);
- for (var i = 0; i < count; ++i) {
- var name = frame.localName(i);
- var value = frame.localValue(i).value();
- if (name == 'a') {
- assertEquals(1, value);
- } else {
- assertEquals('b', name);
- assertEquals(2, value);
- }
- }
-}
-
-
-function g() {
- var a = 3;
- eval("var b = 4;");
- h();
-}
-
-function checkFrame1(frame) {
- // Frame 1 (g) has normal variable a (and arguments).
- var count = frame.localCount();
- assertEquals(2, count);
- for (var i = 0; i < count; ++i) {
- var name = frame.localName(i);
- var value = frame.localValue(i).value();
- if (name == 'a') {
- assertEquals(3, value);
- } else {
- assertEquals('arguments', name);
- }
- }
-}
-
-
-function f() {
- var a = 5;
- var b = 0;
- with ({b:6}) {
- g();
- }
-}
-
-function checkFrame2(frame) {
- // Frame 2 (f) has normal variables a and b (and arguments).
- var count = frame.localCount();
- assertEquals(3, count);
- for (var i = 0; i < count; ++i) {
- var name = frame.localName(i);
- var value = frame.localValue(i).value();
- if (name == 'a') {
- assertEquals(5, value);
- } else if (name == 'b') {
- assertEquals(0, value);
- } else {
- assertEquals('arguments', name);
- }
- }
-}
-
-
-function listener(event, exec_state, event_data, data) {
- try {
- if (event == Debug.DebugEvent.Break)
- {
- checkFrame0(exec_state.frame(0));
- checkFrame1(exec_state.frame(1));
- checkFrame2(exec_state.frame(2));
-
- // Evaluating a and b on frames 0, 1 and 2 produces 1, 2, 3, 4, 5 and 6.
- assertEquals(1, exec_state.frame(0).evaluate('a').value());
- assertEquals(2, exec_state.frame(0).evaluate('b').value());
- assertEquals(3, exec_state.frame(1).evaluate('a').value());
- assertEquals(4, exec_state.frame(1).evaluate('b').value());
- assertEquals(5, exec_state.frame(2).evaluate('a').value());
- assertEquals(6, exec_state.frame(2).evaluate('b').value());
-
- // Indicate that all was processed.
- listenerComplete = true;
- }
- } catch (e) {
- exception = e
- };
-};
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-f();
-
-// Make sure that the debug event listener vas invoked.
-assertTrue(listenerComplete);
-assertFalse(exception, "exception in listener")
diff --git a/src/3rdparty/v8/test/mjsunit/debug-evaluate-recursive.js b/src/3rdparty/v8/test/mjsunit/debug-evaluate-recursive.js
deleted file mode 100644
index f34943e..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-evaluate-recursive.js
+++ /dev/null
@@ -1,167 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-listenerComplete = false;
-exception = false;
-
-// The base part of all evaluate requests.
-var base_request = '"seq":0,"type":"request","command":"evaluate"'
-
-function safeEval(code) {
- try {
- return eval('(' + code + ')');
- } catch (e) {
- assertEquals(void 0, e);
- return undefined;
- }
-}
-
-function testRequest(exec_state, arguments, success, result) {
- // Get the debug command processor in paused state.
- var dcp = exec_state.debugCommandProcessor(false);
-
- // Generate request with the supplied arguments.
- var request;
- if (arguments) {
- request = '{' + base_request + ',"arguments":' + arguments + '}';
- } else {
- request = '{' + base_request + '}'
- }
- var response = safeEval(dcp.processDebugJSONRequest(request));
- if (success) {
- assertTrue(response.success, request + ' -> ' + response.message);
- assertEquals(result, response.body.value);
- } else {
- assertFalse(response.success, request + ' -> ' + response.message);
- }
- assertFalse(response.running, request + ' -> expected not running');
-}
-
-
-// Event listener which evaluates with break disabled.
-function listener(event, exec_state, event_data, data) {
- try {
- if (event == Debug.DebugEvent.Break)
- {
- // Call functions with break using the FrameMirror directly.
- assertEquals(1, exec_state.evaluateGlobal('f()', true).value());
- assertEquals(2, exec_state.evaluateGlobal('g()', true).value());
- assertEquals(1, exec_state.frame(0).evaluate('f()', true).value());
- assertEquals(2, exec_state.frame(0).evaluate('g()', true).value());
-
- // Call functions with break using the JSON protocol. Tests that argument
- // disable_break is default true.
- testRequest(exec_state, '{"expression":"f()"}', true, 1);
- testRequest(exec_state, '{"expression":"f()","frame":0}', true, 1);
- testRequest(exec_state, '{"expression":"g()"}', true, 2);
- testRequest(exec_state, '{"expression":"g()","frame":0}', true, 2);
-
- // Call functions with break using the JSON protocol. Tests passing
- // argument disable_break is default true.
- testRequest(exec_state, '{"expression":"f()","disable_break":true}', true, 1);
- testRequest(exec_state, '{"expression":"f()","frame":0,"disable_break":true}',
- true, 1);
- testRequest(exec_state, '{"expression":"g()","disable_break":true}', true, 2);
- testRequest(exec_state, '{"expression":"g()","frame":0,"disable_break":true}',
- true, 2);
-
- // Indicate that all was processed.
- listenerComplete = true;
- }
- } catch (e) {
- exception = e
- };
-};
-
-
-// Event listener which evaluates with break enabled one time and the second
-// time evaluates with break disabled.
-var break_count = 0;
-function listener_recurse(event, exec_state, event_data, data) {
- try {
- if (event == Debug.DebugEvent.Break)
- {
- break_count++;
-
- // Call functions with break using the FrameMirror directly.
- if (break_count == 1) {
- // First break event evaluates with break enabled.
- assertEquals(1, exec_state.frame(0).evaluate('f()', false).value());
- listenerComplete = true;
- } else {
- // Second break event evaluates with break disabled.
- assertEquals(2, break_count);
- assertFalse(listenerComplete);
- assertEquals(1, exec_state.frame(0).evaluate('f()', true).value());
- }
- }
- } catch (e) {
- exception = e
- };
-};
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-// Test functions - one with break point and one with debugger statement.
-function f() {
- return 1;
-};
-
-function g() {
- debugger;
- return 2;
-};
-
-Debug.setBreakPoint(f, 2, 0);
-
-// Cause a debug break event.
-debugger;
-
-assertFalse(exception, "exception in listener")
-// Make sure that the debug event listener vas invoked.
-assertTrue(listenerComplete);
-
-// Remove the debug event listener.
-Debug.setListener(null);
-
-// Set debug event listener wich uses recursive breaks.
-Debug.setListener(listener_recurse);
-listenerComplete = false;
-
-Debug.setBreakPoint(f, 2, 0);
-
-debugger;
-
-assertFalse(exception, "exception in listener")
-// Make sure that the debug event listener vas invoked.
-assertTrue(listenerComplete);
-assertEquals(2, break_count);
diff --git a/src/3rdparty/v8/test/mjsunit/debug-evaluate-with-context.js b/src/3rdparty/v8/test/mjsunit/debug-evaluate-with-context.js
deleted file mode 100644
index 5e1c83c..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-evaluate-with-context.js
+++ /dev/null
@@ -1,144 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-var evaluate_callback;
-
-function listener(event, exec_state, event_data, data) {
- try {
- var context = { what_is_capybara: "a fish" };
- var context2 = { what_is_capybara: "a fish", what_is_parrot: "a beard" };
-
- // Try in frame's scope.
- var local_expression =
- "(what_is_capybara ? what_is_capybara : 'a beast') + '/' + what_is_parrot";
- var result = evaluate_callback.in_top_frame(exec_state, local_expression, context);
- assertEquals('a fish/a bird', result);
-
- // Try in frame's scope with overrididen local variables.
- var result = evaluate_callback.in_top_frame(exec_state, local_expression, context2);
- assertEquals('a fish/a beard', result);
-
- // Try in frame's scope, without context.
- var local_expression2 = "what_is_parrot";
- var result = evaluate_callback.in_top_frame(exec_state, local_expression2, void 0);
- assertEquals('a bird', result);
-
- // Try in global additional scope.
- var global_expression = "what_is_capybara ? what_is_capybara : 'a beast'";
- var result = evaluate_callback.globally(exec_state, global_expression, context);
- assertEquals('a fish', result);
-
- // Try in global scope with overridden global variables.
- var context_with_undefined = { undefined: 'kitten' };
- var global_expression2 = "'cat' + '/' + undefined";
- var result = evaluate_callback.globally(exec_state, global_expression2, context_with_undefined);
- assertEquals('cat/kitten', result);
-
- // Try in global scope with no overridden global variables.
- var result = evaluate_callback.globally(exec_state, global_expression2, void 0);
- assertEquals('cat/undefined', result);
-
- // Try in global scope without additional context.
- var global_expression3 = "'cat' + '/' + 'dog'";
- var result = evaluate_callback.globally(exec_state, global_expression3, void 0);
- assertEquals('cat/dog', result);
-
- listenerComplete = true;
- } catch (e) {
- exception = e
- };
-};
-
-
-function f() {
- var what_is_parrot = "a bird";
- debugger;
-};
-
-function runF() {
- exception = false;
- listenerComplete = false;
-
- Debug.setListener(listener);
-
- // Add the debug event listener.
- Debug.setListener(listener);
-
- f();
-
- assertFalse(exception, "exception in listener")
- assertTrue(listenerComplete);
-}
-
-evaluate_callback = {
- in_top_frame: function(exec_state, expression, additional_context) {
- return exec_state.frame(0).evaluate(expression, void 0, additional_context).value();
- },
- globally: function(exec_state, expression, additional_context) {
- return exec_state.evaluateGlobal(expression, void 0, additional_context).value();
- },
-};
-
-
-runF();
-
-// Now try all the same, but via debug protocol.
-
-function evaluateViaProtocol(exec_state, expression, additional_context, frame_argument_adder) {
- var dcp = exec_state.debugCommandProcessor("unspecified_running_state");
- request_json = {"seq":17,"type":"request","command":"evaluate", arguments: { "expression": expression } };
- frame_argument_adder(request_json.arguments);
- if (additional_context) {
- var context_json = [];
- for (var key in additional_context) {
- context_json.push({ name: key, handle: Debug.MakeMirror(additional_context[key]).handle() });
- }
- request_json.arguments.additional_context = context_json;
- }
- var request = JSON.stringify(request_json);
- var response_json = dcp.processDebugJSONRequest(request);
- var response = JSON.parse(response_json);
-
- assertTrue(response.success);
- var str_result = response.body.value;
- return str_result;
-}
-
-evaluate_callback = {
- in_top_frame: function(exec_state, expression, additional_context) {
- return evaluateViaProtocol(exec_state, expression, additional_context, function(args) { args.frame = 0; });
- },
- globally: function(exec_state, expression, additional_context) {
- return evaluateViaProtocol(exec_state, expression, additional_context, function(args) { args.global = true; });
- },
-};
-
-runF();
diff --git a/src/3rdparty/v8/test/mjsunit/debug-evaluate-with.js b/src/3rdparty/v8/test/mjsunit/debug-evaluate-with.js
deleted file mode 100644
index c19a707..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-evaluate-with.js
+++ /dev/null
@@ -1,81 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-listenerComplete = false;
-exception = false;
-breakPointCount = 0;
-
-function listener(event, exec_state, event_data, data) {
- try {
- if (event == Debug.DebugEvent.Break)
- {
- breakPointCount++;
- if (breakPointCount == 1) {
- // Break point in first with block.
- assertEquals(2, exec_state.frame(0).evaluate('a').value());
- assertEquals(2, exec_state.frame(0).evaluate('b').value());
- } else if (breakPointCount == 2) {
- // Break point in second with block.
- assertEquals(3, exec_state.frame(0).evaluate('a').value());
- assertEquals(1, exec_state.frame(0).evaluate('b').value());
- } else if (breakPointCount == 3) {
- // Break point in eval with block.
- assertEquals('local', exec_state.frame(0).evaluate('foo').value());
- }
- }
- } catch (e) {
- exception = e
- };
-};
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-function f() {
- var a = 1;
- var b = 2;
- with ({a:2}) {
- debugger; // Breakpoint.
- x = {a:3,b:1};
- with (x) {
- debugger; // Breakpoint.
- }
- }
-};
-
-f();
-
-var foo = "global";
-eval("with({bar:'with'}) { (function g() { var foo = 'local'; debugger; })(); }");
-
-// Make sure that the debug event listener vas invoked.
-assertEquals(3, breakPointCount);
-assertFalse(exception, "exception in listener")
diff --git a/src/3rdparty/v8/test/mjsunit/debug-evaluate.js b/src/3rdparty/v8/test/mjsunit/debug-evaluate.js
deleted file mode 100644
index accf656..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-evaluate.js
+++ /dev/null
@@ -1,155 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-listenerComplete = false;
-exception = false;
-
-// The base part of all evaluate requests.
-var base_request = '"seq":0,"type":"request","command":"evaluate"'
-
-function safeEval(code) {
- try {
- return eval('(' + code + ')');
- } catch (e) {
- assertEquals(void 0, e);
- return undefined;
- }
-}
-
-function testRequest(dcp, arguments, success, result) {
- // Generate request with the supplied arguments.
- var request;
- if (arguments) {
- request = '{' + base_request + ',"arguments":' + arguments + '}';
- } else {
- request = '{' + base_request + '}'
- }
- var response = safeEval(dcp.processDebugJSONRequest(request));
- if (success) {
- assertTrue(response.success, request + ' -> ' + response.message);
- assertEquals(result, response.body.value);
- } else {
- assertFalse(response.success, request + ' -> ' + response.message);
- }
- assertEquals(response.running, "unspecified_running_state",
- request + ' -> expected not running');
-}
-
-function listener(event, exec_state, event_data, data) {
- try {
- if (event == Debug.DebugEvent.Break) {
- // Get the debug command processor.
- var dcp = exec_state.debugCommandProcessor("unspecified_running_state");
-
- // Test some illegal evaluate requests.
- testRequest(dcp, void 0, false);
- testRequest(dcp, '{"expression":"1","global"=true}', false);
- testRequest(dcp, '{"expression":"a","frame":4}', false);
-
- // Test some legal evaluate requests.
- testRequest(dcp, '{"expression":"1+2"}', true, 3);
- testRequest(dcp, '{"expression":"a+2"}', true, 5);
- testRequest(dcp, '{"expression":"({\\"a\\":1,\\"b\\":2}).b+2"}', true, 4);
-
- // Test evaluation of a in the stack frames and the global context.
- testRequest(dcp, '{"expression":"a"}', true, 3);
- testRequest(dcp, '{"expression":"a","frame":0}', true, 3);
- testRequest(dcp, '{"expression":"a","frame":1}', true, 2);
- testRequest(dcp, '{"expression":"a","frame":2}', true, 1);
- testRequest(dcp, '{"expression":"a","global":true}', true, 1);
- testRequest(dcp, '{"expression":"this.a","global":true}', true, 1);
-
- // Test that the whole string text is returned if maxStringLength
- // parameter is passed.
- testRequest(
- dcp,
- '{"expression":"this.longString","global":true,"maxStringLength":-1}',
- true,
- longString);
- testRequest(
- dcp,
- '{"expression":"this.longString","global":true,"maxStringLength":' +
- longString.length + '}',
- true,
- longString);
- var truncatedStringSuffix = '... (length: ' + longString.length + ')';
- testRequest(
- dcp,
- '{"expression":"this.longString","global":true,"maxStringLength":0}',
- true,
- truncatedStringSuffix);
- testRequest(
- dcp,
- '{"expression":"this.longString","global":true,"maxStringLength":1}',
- true,
- longString.charAt(0) + truncatedStringSuffix);
- // Test that by default string is truncated to first 80 chars.
- testRequest(
- dcp,
- '{"expression":"this.longString","global":true}',
- true,
- longString.substring(0, 80) + truncatedStringSuffix);
-
- // Indicate that all was processed.
- listenerComplete = true;
- }
- } catch (e) {
- exception = e
- };
-};
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-function f() {
- var a = 3;
-};
-
-function g() {
- var a = 2;
- f();
-};
-
-a = 1;
-
-// String which is longer than 80 chars.
-var longString = "1234567890_";
-for (var i = 0; i < 4; i++) {
- longString += longString;
-}
-
-// Set a break point at return in f and invoke g to hit the breakpoint.
-Debug.setBreakPoint(f, 2, 0);
-g();
-
-assertFalse(exception, "exception in listener")
-// Make sure that the debug event listener vas invoked.
-assertTrue(listenerComplete, "listener did not run to completion");
diff --git a/src/3rdparty/v8/test/mjsunit/debug-event-listener.js b/src/3rdparty/v8/test/mjsunit/debug-event-listener.js
deleted file mode 100644
index a2eb5f0..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-event-listener.js
+++ /dev/null
@@ -1,73 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-// Simple function which stores the last debug event.
-lastDebugEvent = new Object();
-function listener(event, exec_state, event_data, data) {
- if (event == Debug.DebugEvent.Break ||
- event == Debug.DebugEvent.Exception)
- {
- lastDebugEvent.event = event;
- lastDebugEvent.frameFuncName = exec_state.frame().func().name();
- lastDebugEvent.event_data = event_data;
- }
-};
-
-// Add the debug event listener.
-Debug.setListener(listener);
-// Get events from handled exceptions.
-Debug.setBreakOnException();
-
-// Test debug event for handled exception.
-(function f(){
- try {
- x();
- } catch(e) {
- // Do nothing. Ignore exception.
- }
-})();
-assertTrue(lastDebugEvent.event == Debug.DebugEvent.Exception);
-assertEquals(lastDebugEvent.frameFuncName, "f");
-assertFalse(lastDebugEvent.event_data.uncaught());
-Debug.clearBreakOnException();
-
-// Test debug event for break point.
-function a() {
- x = 1;
- y = 2;
- z = 3;
-};
-Debug.setBreakPoint(a, 1);
-a();
-assertTrue(lastDebugEvent.event == Debug.DebugEvent.Break);
-assertEquals(lastDebugEvent.frameFuncName, "a");
-
-Debug.setListener(null);
diff --git a/src/3rdparty/v8/test/mjsunit/debug-function-scopes.js b/src/3rdparty/v8/test/mjsunit/debug-function-scopes.js
deleted file mode 100644
index 4262b95..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-function-scopes.js
+++ /dev/null
@@ -1,162 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-
-// Get the Debug object exposed from the debug context global object.
-var Debug = debug.Debug;
-
-function CheckScope(scope_mirror, scope_expectations, expected_scope_type) {
- assertEquals(expected_scope_type, scope_mirror.scopeType());
-
- var scope_object = scope_mirror.scopeObject().value();
-
- for (var name in scope_expectations) {
- var actual = scope_object[name];
- var expected = scope_expectations[name];
- assertEquals(expected, actual);
- }
-}
-
-// A copy of the scope types from mirror-debugger.js.
-var ScopeType = { Global: 0,
- Local: 1,
- With: 2,
- Closure: 3,
- Catch: 4,
- Block: 5 };
-
-var f1 = (function F1(x) {
- function F2(y) {
- var z = x + y;
- with ({w: 5, v: "Capybara"}) {
- var F3 = function(a, b) {
- function F4(p) {
- return p + a + b + z + w + v.length;
- }
- return F4;
- }
- return F3(4, 5);
- }
- }
- return F2(17);
-})(5);
-
-var mirror = Debug.MakeMirror(f1);
-
-assertEquals(5, mirror.scopeCount());
-
-CheckScope(mirror.scope(0), { a: 4, b: 5 }, ScopeType.Closure);
-CheckScope(mirror.scope(1), { w: 5, v: "Capybara" }, ScopeType.With);
-CheckScope(mirror.scope(2), { y: 17, z: 22 }, ScopeType.Closure);
-CheckScope(mirror.scope(3), { x: 5 }, ScopeType.Closure);
-CheckScope(mirror.scope(4), {}, ScopeType.Global);
-
-var f2 = function() { return 5; }
-
-var mirror = Debug.MakeMirror(f2);
-
-assertEquals(1, mirror.scopeCount());
-
-CheckScope(mirror.scope(0), {}, ScopeType.Global);
-
-var f3 = (function F1(invisible_parameter) {
- var invisible1 = 1;
- var visible1 = 10;
- return (function F2() {
- var invisible2 = 2;
- return (function F3() {
- var visible2 = 20;
- var invisible2 = 3;
- return (function () {return visible1 + visible2 + visible1a;});
- })();
- })();
-})(5);
-
-var mirror = Debug.MakeMirror(f3);
-
-assertEquals(3, mirror.scopeCount());
-
-CheckScope(mirror.scope(0), { visible2: 20 }, ScopeType.Closure);
-CheckScope(mirror.scope(1), { visible1: 10 }, ScopeType.Closure);
-CheckScope(mirror.scope(2), {}, ScopeType.Global);
-
-
-var f4 = (function One() {
- try {
- throw "I'm error 1";
- } catch (e1) {
- try {
- throw "I'm error 2";
- } catch (e2) {
- return function GetError() {
- return e1 + e2;
- };
- }
- }
-})();
-
-var mirror = Debug.MakeMirror(f4);
-
-assertEquals(3, mirror.scopeCount());
-
-CheckScope(mirror.scope(0), { e2: "I'm error 2" }, ScopeType.Catch);
-CheckScope(mirror.scope(1), { e1: "I'm error 1" }, ScopeType.Catch);
-CheckScope(mirror.scope(2), {}, ScopeType.Global);
-
-
-var f5 = (function Raz(p1, p2) {
- var p3 = p1 + p2;
- return (function() {
- var p4 = 20;
- var p5 = 21;
- var p6 = 22;
- return eval("(function(p7){return p1 + p4 + p6 + p7})");
- })();
-})(1,2);
-
-var mirror = Debug.MakeMirror(f5);
-
-assertEquals(3, mirror.scopeCount());
-
-CheckScope(mirror.scope(0), { p4: 20, p6: 22 }, ScopeType.Closure);
-CheckScope(mirror.scope(1), { p1: 1 }, ScopeType.Closure);
-CheckScope(mirror.scope(2), {}, ScopeType.Global);
-
-
-function CheckNoScopeVisible(f) {
- var mirror = Debug.MakeMirror(f);
- assertEquals(0, mirror.scopeCount());
-}
-
-CheckNoScopeVisible(Number);
-
-CheckNoScopeVisible(Function.toString);
-
-// This getter is known to be implemented as closure.
-CheckNoScopeVisible(new Error().__lookupGetter__("stack"));
-
diff --git a/src/3rdparty/v8/test/mjsunit/debug-handle.js b/src/3rdparty/v8/test/mjsunit/debug-handle.js
deleted file mode 100644
index 1582b9f..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-handle.js
+++ /dev/null
@@ -1,252 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-listenerComplete = false;
-exception = false;
-
-function safeEval(code) {
- try {
- return eval('(' + code + ')');
- } catch (e) {
- assertEquals(void 0, e);
- return undefined;
- }
-}
-
-
-// Send an evaluation request and return the handle of the result.
-function evaluateRequest(exec_state, arguments) {
- // Get the debug command processor.
- var dcp = exec_state.debugCommandProcessor("unspecified_running_state");
-
- // The base part of all evaluate requests.
- var base_request = '"seq":0,"type":"request","command":"evaluate"'
-
- // Generate request with the supplied arguments.
- var request;
- if (arguments) {
- request = '{' + base_request + ',"arguments":' + arguments + '}';
- } else {
- request = '{' + base_request + '}'
- }
-
- var response = safeEval(dcp.processDebugJSONRequest(request));
- assertTrue(response.success, request + ' -> ' + response.message);
-
- return response.body.handle;
-}
-
-
-// Send a lookup request and return the evaluated JSON response.
-function lookupRequest(exec_state, arguments, success) {
- // Get the debug command processor.
- var dcp = exec_state.debugCommandProcessor("unspecified_running_state");
-
- // The base part of all lookup requests.
- var base_request = '"seq":0,"type":"request","command":"lookup"'
-
- // Generate request with the supplied arguments.
- var request;
- if (arguments) {
- request = '{' + base_request + ',"arguments":' + arguments + '}';
- } else {
- request = '{' + base_request + '}'
- }
-
- var response = safeEval(dcp.processDebugJSONRequest(request));
- if (success) {
- assertTrue(response.success, request + ' -> ' + response.message);
- } else {
- assertFalse(response.success, request + ' -> ' + response.message);
- }
- assertEquals(response.running, dcp.isRunning(), request + ' -> expected not running');
-
- return response;
-}
-
-
-function listener(event, exec_state, event_data, data) {
- try {
- if (event == Debug.DebugEvent.Break) {
- // Test some illegal lookup requests.
- lookupRequest(exec_state, void 0, false);
- lookupRequest(exec_state, '{"handles":["a"]}', false);
- lookupRequest(exec_state, '{"handles":[-1]}', false);
-
- // Evaluate and get some handles.
- var handle_o = evaluateRequest(exec_state, '{"expression":"o"}');
- var handle_p = evaluateRequest(exec_state, '{"expression":"p"}');
- var handle_b = evaluateRequest(exec_state, '{"expression":"a"}');
- var handle_a = evaluateRequest(exec_state, '{"expression":"b","frame":1}');
- assertEquals(handle_o, handle_a);
- assertEquals(handle_a, handle_b);
- assertFalse(handle_o == handle_p, "o and p have he same handle");
-
- var response;
- var count;
- response = lookupRequest(exec_state, '{"handles":[' + handle_o + ']}', true);
- var obj = response.body[handle_o];
- assertTrue(!!obj, 'Object not found: ' + handle_o);
- assertEquals(handle_o, obj.handle);
- count = 0;
- for (i in obj.properties) {
- switch (obj.properties[i].name) {
- case 'o':
- obj.properties[i].ref = handle_o;
- count++;
- break;
- case 'p':
- obj.properties[i].ref = handle_p;
- count++;
- break;
- }
- }
- assertEquals(2, count, 'Either "o" or "p" not found');
- response = lookupRequest(exec_state, '{"handles":[' + handle_p + ']}', true);
- obj = response.body[handle_p];
- assertTrue(!!obj, 'Object not found: ' + handle_p);
- assertEquals(handle_p, obj.handle);
-
- // Check handles for functions on the stack.
- var handle_f = evaluateRequest(exec_state, '{"expression":"f"}');
- var handle_g = evaluateRequest(exec_state, '{"expression":"g"}');
- var handle_caller = evaluateRequest(exec_state, '{"expression":"f.caller"}');
-
- assertFalse(handle_f == handle_g, "f and g have he same handle");
- assertEquals(handle_g, handle_caller, "caller for f should be g");
-
- response = lookupRequest(exec_state, '{"handles":[' + handle_f + ']}', true);
- obj = response.body[handle_f];
- assertEquals(handle_f, obj.handle);
-
- count = 0;
- for (i in obj.properties) {
- var ref = obj.properties[i].ref;
- var arguments = '{"handles":[' + ref + ']}';
- switch (obj.properties[i].name) {
- case 'name':
- var response_name;
- response_name = lookupRequest(exec_state, arguments, true);
- assertEquals('string', response_name.body[ref].type);
- assertEquals("f", response_name.body[ref].value);
- count++;
- break;
- case 'length':
- var response_length;
- response_length = lookupRequest(exec_state, arguments, true);
- assertEquals('number', response_length.body[ref].type);
- assertEquals(1, response_length.body[ref].value);
- count++;
- break;
- case 'caller':
- assertEquals(handle_g, obj.properties[i].ref);
- count++;
- break;
- }
- }
- assertEquals(3, count, 'Either "name", "length" or "caller" not found');
-
-
- // Resolve all at once.
- var refs = [];
- for (i in obj.properties) {
- refs.push(obj.properties[i].ref);
- }
-
- var arguments = '{"handles":[' + refs.join(',') + ']}';
- response = lookupRequest(exec_state, arguments, true);
- count = 0;
- for (i in obj.properties) {
- var ref = obj.properties[i].ref;
- var val = response.body[ref];
- assertTrue(!!val, 'Failed to lookup "' + obj.properties[i].name + '"');
- switch (obj.properties[i].name) {
- case 'name':
- assertEquals('string', val.type);
- assertEquals("f", val.value);
- count++;
- break;
- case 'length':
- assertEquals('number', val.type);
- assertEquals(1, val.value);
- count++;
- break;
- case 'caller':
- assertEquals('function', val.type);
- assertEquals(handle_g, ref);
- count++;
- break;
- }
- }
- assertEquals(3, count, 'Either "name", "length" or "caller" not found');
-
- count = 0;
- for (var handle in response.body) {
- assertTrue(refs.indexOf(parseInt(handle)) != -1,
- 'Handle not in the request: ' + handle);
- count++;
- }
- assertEquals(count, obj.properties.length,
- 'Unexpected number of resolved objects');
-
-
- // Indicate that all was processed.
- listenerComplete = true;
- }
- } catch (e) {
- exception = e
- };
-};
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-function f(a) {
- debugger;
-};
-
-function g(b) {
- f(b);
-};
-
-// Set a break point at return in f and invoke g to hit the breakpoint.
-Debug.setBreakPoint(f, 2, 0);
-o = {};
-p = {}
-o.o = o;
-o.p = p;
-p.o = o;
-p.p = p;
-g(o);
-
-assertFalse(exception, "exception in listener")
-// Make sure that the debug event listener vas invoked.
-assertTrue(listenerComplete, "listener did not run to completion: " + exception);
diff --git a/src/3rdparty/v8/test/mjsunit/debug-ignore-breakpoints.js b/src/3rdparty/v8/test/mjsunit/debug-ignore-breakpoints.js
deleted file mode 100644
index 96c6044..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-ignore-breakpoints.js
+++ /dev/null
@@ -1,89 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-// Simple debug event handler which just counts the number of break points hit.
-var break_point_hit_count;
-
-function listener(event, exec_state, event_data, data) {
- if (event == Debug.DebugEvent.Break) {
- break_point_hit_count++;
- }
-};
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-// Test function.
-function f() {};
-
-// This tests ignore of break points including the case with several
-// break points in the same location.
-break_point_hit_count = 0;
-
-// Set a breakpoint in f.
-bp1 = Debug.setBreakPoint(f);
-
-// Try ignore count of 1.
-Debug.changeBreakPointIgnoreCount(bp1, 1);
-f();
-assertEquals(0, break_point_hit_count);
-f();
-assertEquals(1, break_point_hit_count);
-
-// Set another breakpoint in f at the same place.
-bp2 = Debug.setBreakPoint(f);
-f();
-assertEquals(2, break_point_hit_count);
-
-// Set different ignore counts.
-Debug.changeBreakPointIgnoreCount(bp1, 2);
-Debug.changeBreakPointIgnoreCount(bp2, 4);
-f();
-assertEquals(2, break_point_hit_count);
-f();
-assertEquals(2, break_point_hit_count);
-f();
-assertEquals(3, break_point_hit_count);
-f();
-assertEquals(4, break_point_hit_count);
-
-// Set different ignore counts (opposite).
-Debug.changeBreakPointIgnoreCount(bp1, 4);
-Debug.changeBreakPointIgnoreCount(bp2, 2);
-f();
-assertEquals(4, break_point_hit_count);
-f();
-assertEquals(4, break_point_hit_count);
-f();
-assertEquals(5, break_point_hit_count);
-f();
-assertEquals(6, break_point_hit_count);
-
diff --git a/src/3rdparty/v8/test/mjsunit/debug-listbreakpoints.js b/src/3rdparty/v8/test/mjsunit/debug-listbreakpoints.js
deleted file mode 100644
index 1d4755f..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-listbreakpoints.js
+++ /dev/null
@@ -1,210 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-// Note: the following tests only checks the debugger handling of the
-// setexceptionbreak command. It does not test whether the debugger
-// actually breaks on exceptions or not. That functionality is tested
-// in test-debug.cc instead.
-
-// Note: The following function g() is purposedly placed here so that
-// its line numbers will not change should we add more lines of test code
-// below. The test checks for these line numbers.
-
-function g() { // line 40
- var x = 5;
- var y = 6;
- var z = 7;
-};
-
-var first_lineno = 40; // Must be the line number of g() above.
- // The first line of the file is line 0.
-
-// Simple function which stores the last debug event.
-listenerComplete = false;
-exception = false;
-
-var breakpoint1 = -1;
-var base_request = '"seq":0,"type":"request","command":"listbreakpoints"'
-
-function safeEval(code) {
- try {
- return eval('(' + code + ')');
- } catch (e) {
- assertEquals(void 0, e);
- return undefined;
- }
-}
-
-
-function clearBreakpoint(dcp, breakpoint_id) {
- var base_request = '"seq":0,"type":"request","command":"clearbreakpoint"'
- var arguments = '{"breakpoint":' + breakpoint_id + '}'
- var request = '{' + base_request + ',"arguments":' + arguments + '}'
- var json_response = dcp.processDebugJSONRequest(request);
-}
-
-
-function setBreakOnException(dcp, type, enabled) {
- var base_request = '"seq":0,"type":"request","command":"setexceptionbreak"'
- var arguments = '{"type":"' + type + '","enabled":' + enabled + '}'
- var request = '{' + base_request + ',"arguments":' + arguments + '}'
- var json_response = dcp.processDebugJSONRequest(request);
-}
-
-
-function testArguments(dcp, success, breakpoint_ids, breakpoint_linenos,
- break_on_all, break_on_uncaught) {
- var request = '{' + base_request + '}'
- var json_response = dcp.processDebugJSONRequest(request);
- var response = safeEval(json_response);
- var num_breakpoints = breakpoint_ids.length;
-
- if (success) {
- assertTrue(response.success, json_response);
- assertEquals(response.body.breakpoints.length, num_breakpoints);
- if (num_breakpoints > 0) {
- var breakpoints = response.body.breakpoints;
- for (var i = 0; i < breakpoints.length; i++) {
- var id = breakpoints[i].number;
- var found = false;
- for (var j = 0; j < num_breakpoints; j++) {
- if (breakpoint_ids[j] == id) {
- assertEquals(breakpoints[i].line, breakpoint_linenos[j]);
- found = true;
- break;
- }
- }
- assertTrue(found, "found unexpected breakpoint " + id);
- }
- }
- assertEquals(response.body.breakOnExceptions, break_on_all);
- assertEquals(response.body.breakOnUncaughtExceptions, break_on_uncaught);
- } else {
- assertFalse(response.success, json_response);
- }
-}
-
-
-function listener(event, exec_state, event_data, data) {
- try {
- if (event == Debug.DebugEvent.Break) {
- // Get the debug command processor.
- var dcp = exec_state.debugCommandProcessor("unspecified_running_state");
-
- // Test with the 1 breakpoint already set:
- testArguments(dcp, true, [ breakpoint1 ], [ first_lineno ], false, false);
-
- setBreakOnException(dcp, "all", true);
- testArguments(dcp, true, [ breakpoint1 ], [ first_lineno ], true, false);
-
- setBreakOnException(dcp, "uncaught", true);
- testArguments(dcp, true, [ breakpoint1 ], [ first_lineno ], true, true);
-
- setBreakOnException(dcp, "all", false);
- testArguments(dcp, true, [ breakpoint1 ], [ first_lineno ], false, true);
-
- setBreakOnException(dcp, "uncaught", false);
- testArguments(dcp, true, [ breakpoint1 ], [ first_lineno ], false, false);
-
- // Clear the one breakpoint and retest:
- clearBreakpoint(dcp, breakpoint1);
- testArguments(dcp, true, [], [], false, false);
-
- setBreakOnException(dcp, "all", true);
- testArguments(dcp, true, [], [], true, false);
-
- setBreakOnException(dcp, "uncaught", true);
- testArguments(dcp, true, [], [], true, true);
-
- setBreakOnException(dcp, "all", false);
- testArguments(dcp, true, [], [], false, true);
-
- setBreakOnException(dcp, "uncaught", false);
- testArguments(dcp, true, [], [], false, false);
-
- // Set some more breakpoints, and clear them in various orders:
- var bp2 = Debug.setBreakPoint(g, 1, 0);
- testArguments(dcp, true, [ bp2 ],
- [ first_lineno + 1 ],
- false, false);
-
- var bp3 = Debug.setBreakPoint(g, 2, 0);
- testArguments(dcp, true, [ bp2, bp3 ],
- [ first_lineno + 1, first_lineno + 2 ],
- false, false);
-
- var bp4 = Debug.setBreakPoint(g, 3, 0);
- testArguments(dcp, true, [ bp2, bp3, bp4 ],
- [ first_lineno + 1, first_lineno + 2, first_lineno + 3 ],
- false, false);
-
- clearBreakpoint(dcp, bp3);
- testArguments(dcp, true, [ bp2, bp4 ],
- [ first_lineno + 1, first_lineno + 3 ],
- false, false);
-
- clearBreakpoint(dcp, bp4);
- testArguments(dcp, true, [ bp2 ],
- [ first_lineno + 1 ],
- false, false);
-
- var bp5 = Debug.setBreakPoint(g, 3, 0);
- testArguments(dcp, true, [ bp2, bp5 ],
- [ first_lineno + 1, first_lineno + 3 ],
- false, false);
-
- clearBreakpoint(dcp, bp2);
- testArguments(dcp, true, [ bp5 ],
- [ first_lineno + 3 ],
- false, false);
-
- clearBreakpoint(dcp, bp5);
- testArguments(dcp, true, [], [], false, false);
-
- // Indicate that all was processed.
- listenerComplete = true;
-
- }
- } catch (e) {
- exception = e
- };
-};
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-// Set a break point and call to invoke the debug event listener.
-breakpoint1 = Debug.setBreakPoint(g, 0, 0);
-g();
-
-// Make sure that the debug event listener vas invoked.
-assertFalse(exception, "exception in listener")
-assertTrue(listenerComplete, "listener did not run to completion");
diff --git a/src/3rdparty/v8/test/mjsunit/debug-liveedit-1.js b/src/3rdparty/v8/test/mjsunit/debug-liveedit-1.js
deleted file mode 100644
index 1ee7ce2..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-liveedit-1.js
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-
-Debug = debug.Debug
-
-eval("var something1 = 25; "
- + " function ChooseAnimal() { return 'Cat'; } "
- + " ChooseAnimal.Helper = function() { return 'Help!'; }");
-
-assertEquals("Cat", ChooseAnimal());
-
-var script = Debug.findScript(ChooseAnimal);
-
-var orig_animal = "Cat";
-var patch_pos = script.source.indexOf(orig_animal);
-var new_animal_patch = "Cap' + 'y' + 'bara";
-
-var change_log = new Array();
-Debug.LiveEdit.TestApi.ApplySingleChunkPatch(script, patch_pos, orig_animal.length, new_animal_patch, change_log);
-
-assertEquals("Capybara", ChooseAnimal());
diff --git a/src/3rdparty/v8/test/mjsunit/debug-liveedit-2.js b/src/3rdparty/v8/test/mjsunit/debug-liveedit-2.js
deleted file mode 100644
index 39ebf3a..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-liveedit-2.js
+++ /dev/null
@@ -1,66 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-
-
-Debug = debug.Debug
-
-eval("function ChooseAnimal(p) {\n " +
- " if (p == 7) {\n" + // Use p
- " return;\n" +
- " }\n" +
- " return function Chooser() {\n" +
- " return 'Cat';\n" +
- " };\n" +
- "}\n");
-
-var old_closure = ChooseAnimal(19);
-
-assertEquals("Cat", old_closure());
-
-var script = Debug.findScript(ChooseAnimal);
-
-var orig_animal = "'Cat'";
-var patch_pos = script.source.indexOf(orig_animal);
-var new_animal_patch = "'Capybara' + p";
-
-// We patch innermost function "Chooser".
-// However, this does not actually patch existing "Chooser" instances,
-// because old value of parameter "p" was not saved.
-// Instead it patches ChooseAnimal.
-var change_log = new Array();
-Debug.LiveEdit.TestApi.ApplySingleChunkPatch(script, patch_pos, orig_animal.length, new_animal_patch, change_log);
-print("Change log: " + JSON.stringify(change_log) + "\n");
-
-var new_closure = ChooseAnimal(19);
-// New instance of closure is patched.
-assertEquals("Capybara19", new_closure());
-
-// Old instance of closure is not patched.
-assertEquals("Cat", old_closure());
diff --git a/src/3rdparty/v8/test/mjsunit/debug-liveedit-3.js b/src/3rdparty/v8/test/mjsunit/debug-liveedit-3.js
deleted file mode 100644
index b210657..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-liveedit-3.js
+++ /dev/null
@@ -1,70 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-
-// In this test case we edit a script so that techincally function text
-// hasen't been changed. However actually function became one level more nested
-// and must be recompiled because it uses variable from outer scope.
-
-
-Debug = debug.Debug
-
-var function_z_text =
-" function Z() {\n"
-+ " return 2 + p;\n"
-+ " }\n";
-
-eval(
-"function Factory(p) {\n"
-+ "return (\n"
-+ function_z_text
-+ ");\n"
-+ "}\n"
-);
-
-var z6 = Factory(6);
-assertEquals(8, z6());
-
-var script = Debug.findScript(Factory);
-
-var new_source = script.source.replace(function_z_text, "function Intermediate() {\nreturn (\n" + function_z_text + ")\n;\n}\n");
-print("new source: " + new_source);
-
-var change_log = new Array();
-var result = Debug.LiveEdit.SetScriptSource(script, new_source, false, change_log);
-print("Result: " + JSON.stringify(result) + "\n");
-print("Change log: " + JSON.stringify(change_log) + "\n");
-
-assertEquals(8, z6());
-
-var z100 = Factory(100)();
-
-assertEquals(102, z100());
-
-
diff --git a/src/3rdparty/v8/test/mjsunit/debug-liveedit-breakpoints.js b/src/3rdparty/v8/test/mjsunit/debug-liveedit-breakpoints.js
deleted file mode 100644
index 1d28ab9..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-liveedit-breakpoints.js
+++ /dev/null
@@ -1,113 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-
-Debug = debug.Debug
-
-var function_z_text =
-" function Z() {\n"
-+ " return 'Z';\n" // Breakpoint line ( #6 )
-+ " }\n";
-
-eval(
-"function F25() {\n"
-+ " return 25;\n" // Breakpoint line ( #1 )
-+ "}\n"
-+ "function F26 () {\n"
-+ " var x = 20;\n"
-+ function_z_text // function takes exactly 3 lines
-// // Breakpoint line ( #6 )
-//
-+ " var y = 6;\n"
-+ " return x + y;\n"
-+ "}\n"
-+ "function Nested() {\n"
-+ " var a = 30;\n"
-+ " return function F27() {\n"
-+ " var b = 3;\n" // Breakpoint line ( #14 )
-+ " return a - b;\n"
-+ " }\n"
-+ "}\n"
-);
-
-
-assertEquals(25, F25());
-assertEquals(26, F26());
-
-var script = Debug.findScript(F25);
-
-assertEquals(0, Debug.scriptBreakPoints().length);
-
-Debug.setScriptBreakPoint(Debug.ScriptBreakPointType.ScriptId, script.id, 1, 1, "true || false || false");
-Debug.setScriptBreakPoint(Debug.ScriptBreakPointType.ScriptId, script.id, 6, 1, "true || false || false");
-Debug.setScriptBreakPoint(Debug.ScriptBreakPointType.ScriptId, script.id, 14, 1, "true || false || false");
-
-assertEquals(3, Debug.scriptBreakPoints().length);
-
-var new_source = script.source.replace(function_z_text, "");
-print("new source: " + new_source);
-
-var change_log = new Array();
-var result = Debug.LiveEdit.SetScriptSource(script, new_source, false, change_log);
-print("Result: " + JSON.stringify(result) + "\n");
-print("Change log: " + JSON.stringify(change_log) + "\n");
-
-var breaks = Debug.scriptBreakPoints();
-
-// One breakpoint gets duplicated in a old version of script.
-assertTrue(breaks.length > 3 + 1);
-
-var breakpoints_in_script = 0;
-var break_position_map = {};
-for (var i = 0; i < breaks.length; i++) {
- if (breaks[i].script_id() == script.id) {
- break_position_map[breaks[i].line()] = true;
- breakpoints_in_script++;
- }
-}
-
-assertEquals(3, breakpoints_in_script);
-
-// Check 2 breakpoints. The one in deleted function should have been moved somewhere.
-assertTrue(break_position_map[1]);
-assertTrue(break_position_map[11]);
-
-// Delete all breakpoints to make this test reentrant.
-var breaks = Debug.scriptBreakPoints();
-var breaks_ids = [];
-
-for (var i = 0; i < breaks.length; i++) {
- breaks_ids.push(breaks[i].number());
-}
-
-for (var i = 0; i < breaks_ids.length; i++) {
- Debug.clearBreakPoint(breaks_ids[i]);
-}
-
-assertEquals(0, Debug.scriptBreakPoints().length);
diff --git a/src/3rdparty/v8/test/mjsunit/debug-liveedit-check-stack.js b/src/3rdparty/v8/test/mjsunit/debug-liveedit-check-stack.js
deleted file mode 100644
index df9e1cf..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-liveedit-check-stack.js
+++ /dev/null
@@ -1,141 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-
-Debug = debug.Debug
-
-unique_id = 1;
-
-function TestBase(name) {
- print("TestBase constructor: " + name);
-
- this.ChooseAnimal = eval(
- "/* " + unique_id + "*/\n" +
- "(function ChooseAnimal(callback) {\n " +
- " callback();\n" +
- " return 'Cat';\n" +
- "})\n"
- );
- // Prevents eval script caching.
- unique_id++;
-
- var script = Debug.findScript(this.ChooseAnimal);
-
- var orig_animal = "'Cat'";
- var patch_pos = script.source.indexOf(orig_animal);
- var new_animal_patch = "'Capybara'";
-
- var got_exception = false;
- var successfully_changed = false;
-
- // Should be called from Debug context.
- this.ScriptChanger = function() {
- assertEquals(false, successfully_changed, "applying patch second time");
- // Runs in debugger context.
- var change_log = new Array();
- try {
- Debug.LiveEdit.TestApi.ApplySingleChunkPatch(script, patch_pos, orig_animal.length, new_animal_patch, change_log);
- } finally {
- print("Change log: " + JSON.stringify(change_log) + "\n");
- }
- successfully_changed = true;
- };
-}
-
-function Noop() {}
-
-function WrapInCatcher(f, holder) {
- return function() {
- delete holder[0];
- try {
- f();
- } catch (e) {
- if (e instanceof Debug.LiveEdit.Failure) {
- holder[0] = e;
- } else {
- throw e;
- }
- }
- };
-}
-
-function WrapInNativeCall(f) {
- return function() {
- return Debug.ExecuteInDebugContext(f, true);
- };
-}
-
-function WrapInDebuggerCall(f) {
- return function() {
- return Debug.ExecuteInDebugContext(f, false);
- };
-}
-
-function WrapInRestartProof(f) {
- var already_called = false;
- return function() {
- if (already_called) {
- return;
- }
- already_called = true;
- f();
- }
-}
-
-function WrapInConstructor(f) {
- return function() {
- return new function() {
- f();
- };
- }
-}
-
-
-// A series of tests. In each test we call ChooseAnimal function that calls
-// a callback that attempts to modify the function on the fly.
-
-test = new TestBase("First test ChooseAnimal without edit");
-assertEquals("Cat", test.ChooseAnimal(Noop));
-
-test = new TestBase("Test without function on stack");
-test.ScriptChanger();
-assertEquals("Capybara", test.ChooseAnimal(Noop));
-
-test = new TestBase("Test with function on stack");
-assertEquals("Capybara", test.ChooseAnimal(WrapInDebuggerCall(WrapInRestartProof(test.ScriptChanger))));
-
-
-test = new TestBase("Test with function on stack and with constructor frame");
-assertEquals("Capybara", test.ChooseAnimal(WrapInConstructor(WrapInDebuggerCall(WrapInRestartProof(test.ScriptChanger)))));
-
-test = new TestBase("Test with C++ frame above ChooseAnimal frame");
-exception_holder = {};
-assertEquals("Cat", test.ChooseAnimal(WrapInNativeCall(WrapInDebuggerCall(WrapInCatcher(test.ScriptChanger, exception_holder)))));
-assertTrue(!!exception_holder[0]);
-
diff --git a/src/3rdparty/v8/test/mjsunit/debug-liveedit-compile-error.js b/src/3rdparty/v8/test/mjsunit/debug-liveedit-compile-error.js
deleted file mode 100644
index 2fd6aed..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-liveedit-compile-error.js
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-
-Debug = debug.Debug
-
-eval("var something1 = 25; \n"
- + " function ChooseAnimal() { return 'Cat'; } \n"
- + " ChooseAnimal.Helper = function() { return 'Help!'; }\n");
-
-assertEquals("Cat", ChooseAnimal());
-
-var script = Debug.findScript(ChooseAnimal);
-
-var orig_animal = "Cat";
-var patch_pos = script.source.indexOf(orig_animal);
-var new_animal_patch = "Cap' + ) + 'bara";
-
-var change_log = new Array();
-var caught_exception = null;
-try {
- Debug.LiveEdit.TestApi.ApplySingleChunkPatch(script, patch_pos,
- orig_animal.length, new_animal_patch, change_log);
-} catch (e) {
- caught_exception = e;
-}
-
-assertNotNull(caught_exception);
-assertEquals("Unexpected token )",
- caught_exception.details.syntaxErrorMessage);
-
-assertEquals(2, caught_exception.details.position.start.line);
-
-
diff --git a/src/3rdparty/v8/test/mjsunit/debug-liveedit-diff.js b/src/3rdparty/v8/test/mjsunit/debug-liveedit-diff.js
deleted file mode 100644
index 0d26a30..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-liveedit-diff.js
+++ /dev/null
@@ -1,113 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-
-Debug = debug.Debug
-
-function CheckCompareOneWay(s1, s2) {
- var diff_array = Debug.LiveEdit.TestApi.CompareStrings(s1, s2);
-
- var pos1 = 0;
- var pos2 = 0;
- print("Compare:");
- print("s1='" + s1 + "'");
- print("s2='" + s2 + "'");
- print("Diff:");
- print("" + diff_array);
- for (var i = 0; i < diff_array.length; i += 3) {
- var similar_length = diff_array[i] - pos1;
- assertEquals(s1.substring(pos1, pos1 + similar_length),
- s2.substring(pos2, pos2 + similar_length));
-
- print(s1.substring(pos1, pos1 + similar_length));
- pos1 += similar_length;
- pos2 += similar_length;
- print("<<< " + pos1 + " " + diff_array[i + 1]);
- print(s1.substring(pos1, diff_array[i + 1]));
- print("===");
- print(s2.substring(pos2, diff_array[i + 2]));
- print(">>> " + pos2 + " " + diff_array[i + 2]);
- pos1 = diff_array[i + 1];
- pos2 = diff_array[i + 2];
- }
- {
- // After last change
- var similar_length = s1.length - pos1;
- assertEquals(similar_length, s2.length - pos2);
- assertEquals(s1.substring(pos1, pos1 + similar_length),
- s2.substring(pos2, pos2 + similar_length));
-
- print(s1.substring(pos1, pos1 + similar_length));
- }
- print("");
-}
-
-function CheckCompareOneWayPlayWithLF(s1, s2) {
- var s1Oneliner = s1.replace(/\n/g, ' ');
- var s2Oneliner = s2.replace(/\n/g, ' ');
- CheckCompareOneWay(s1, s2);
- CheckCompareOneWay(s1Oneliner, s2);
- CheckCompareOneWay(s1, s2Oneliner);
- CheckCompareOneWay(s1Oneliner, s2Oneliner);
-}
-
-function CheckCompare(s1, s2) {
- CheckCompareOneWayPlayWithLF(s1, s2);
- CheckCompareOneWayPlayWithLF(s2, s1);
-}
-
-CheckCompare("", "");
-
-CheckCompare("a", "b");
-
-CheckCompare(
- "yesterday\nall\nmy\ntroubles\nseemed\nso\nfar\naway",
- "yesterday\nall\nmy\ntroubles\nseem\nso\nfar\naway"
-);
-
-CheckCompare(
- "yesterday\nall\nmy\ntroubles\nseemed\nso\nfar\naway",
- "\nall\nmy\ntroubles\nseemed\nso\nfar\naway"
-);
-
-CheckCompare(
- "yesterday\nall\nmy\ntroubles\nseemed\nso\nfar\naway",
- "all\nmy\ntroubles\nseemed\nso\nfar\naway"
-);
-
-CheckCompare(
- "yesterday\nall\nmy\ntroubles\nseemed\nso\nfar\naway",
- "yesterday\nall\nmy\ntroubles\nseemed\nso\nfar\naway\n"
-);
-
-CheckCompare(
- "yesterday\nall\nmy\ntroubles\nseemed\nso\nfar\naway",
- "yesterday\nall\nmy\ntroubles\nseemed\nso\n"
-);
-
diff --git a/src/3rdparty/v8/test/mjsunit/debug-liveedit-double-call.js b/src/3rdparty/v8/test/mjsunit/debug-liveedit-double-call.js
deleted file mode 100644
index 1df806a..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-liveedit-double-call.js
+++ /dev/null
@@ -1,142 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-
-Debug = debug.Debug
-
-
-function TestCase(test_scenario, expected_output) {
- // Global variable, accessed from eval'd script.
- test_output = "";
-
- var script_text_generator = (function() {
- var variables = { a: 1, b: 1, c: 1, d: 1, e: 1, f: 1 };
-
- return {
- get: function() {
- return "(function() {\n " +
- " function A() {\n " +
- " test_output += 'a' + " + variables.a + ";\n " +
- " test_output += '=';\n " +
- " debugger;\n " +
- " return 'Capybara';\n " +
- " }\n " +
- " function B(p1, p2) {\n " +
- " test_output += 'b' + " + variables.b + ";\n " +
- " return A();\n " +
- " }\n " +
- " function C() {\n " +
- " test_output += 'c' + " + variables.c + ";\n " +
- " // Function call with argument adaptor is intentional.\n " +
- " return B();\n " +
- " }\n " +
- " function D() {\n " +
- " test_output += 'd' + " + variables.d + ";\n " +
- " // Function call with argument adaptor is intentional.\n " +
- " return C(1, 2);\n " +
- " }\n " +
- " function E() {\n " +
- " test_output += 'e' + " + variables.e + ";\n " +
- " return D();\n " +
- " }\n " +
- " function F() {\n " +
- " test_output += 'f' + " + variables.f + ";\n " +
- " return E();\n " +
- " }\n " +
- " return F();\n " +
- "})\n";
- },
- change: function(var_name) {
- variables[var_name]++;
- }
- };
- })();
-
- var test_fun = eval(script_text_generator.get());
-
- var script = Debug.findScript(test_fun);
-
- var scenario_pos = 0;
-
- function DebuggerStatementHandler() {
- while (true) {
- assertTrue(scenario_pos < test_scenario.length);
- var change_var = test_scenario[scenario_pos++];
- if (change_var == '=') {
- // Continue.
- return;
- }
- script_text_generator.change(change_var);
- try {
- Debug.LiveEdit.SetScriptSource(script, script_text_generator.get(),
- false, []);
- } catch (e) {
- print("LiveEdit exception: " + e);
- throw e;
- }
- }
- }
-
- var saved_exception = null;
-
- function listener(event, exec_state, event_data, data) {
- if (event == Debug.DebugEvent.Break) {
- try {
- DebuggerStatementHandler();
- } catch (e) {
- saved_exception = e;
- }
- } else {
- print("Other: " + event);
- }
- }
-
- Debug.setListener(listener);
- assertEquals("Capybara", test_fun());
- Debug.setListener(null);
-
- if (saved_exception) {
- print("Exception: " + saved_exception);
- assertUnreachable();
- }
-
- print(test_output);
-
- assertEquals(expected_output, test_output);
-}
-
-TestCase(['='], "f1e1d1c1b1a1=");
-
-TestCase(['c', '=', '='], "f1e1d1c1b1a1=c2b1a1=");
-
-TestCase(['b', 'c', 'd', 'e', '=', '='], "f1e1d1c1b1a1=e2d2c2b2a1=");
-
-TestCase(['b', 'c', '=', 'b', 'c', 'd', 'e', '=', '='], "f1e1d1c1b1a1=c2b2a1=e2d2c3b3a1=");
-
-TestCase(['e', 'f', '=', '='], "f1e1d1c1b1a1=f2e2d1c1b1a1=");
diff --git a/src/3rdparty/v8/test/mjsunit/debug-liveedit-literals.js b/src/3rdparty/v8/test/mjsunit/debug-liveedit-literals.js
deleted file mode 100644
index 5f9217e..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-liveedit-literals.js
+++ /dev/null
@@ -1,94 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-
-Debug = debug.Debug
-
-function Test(old_expression, new_expression) {
- // Generate several instances of function to test that we correctly fix
- // all functions in memory.
- var function_instance_number = 11;
- eval("var t1 =1;\n" +
- "ChooseAnimalArray = [];\n" +
- "for (var i = 0; i < function_instance_number; i++) {\n" +
- " ChooseAnimalArray.push(\n" +
- " function ChooseAnimal() {\n" +
- " return " + old_expression + ";\n" +
- " });\n" +
- "}\n" +
- "var t2 =1;\n");
-
- for (var i = 0; i < ChooseAnimalArray.length; i++) {
- assertEquals("Cat", ChooseAnimalArray[i]());
- }
-
- var script = Debug.findScript(ChooseAnimalArray[0]);
-
- var patch_pos = script.source.indexOf(old_expression);
- var new_animal_patch = new_expression;
-
- var change_log = new Array();
- Debug.LiveEdit.TestApi.ApplySingleChunkPatch(script, patch_pos,
- old_expression.length, new_expression, change_log);
-
- for (var i = 0; i < ChooseAnimalArray.length; i++) {
- assertEquals("Capybara", ChooseAnimalArray[i]());
- }
-}
-
-// Check that old literal boilerplate was reset.
-Test("['Cat'][0]", "['Capybara'][0]");
-Test("['Cat'][0]", "{a:'Capybara'}.a");
-
-// No literals -> 1 literal.
-Test("'Cat'", "['Capybara'][0]");
-
-// No literals -> 2 literals.
-Test("'Cat'", "['Capy'][0] + {a:'bara'}.a");
-
-// 1 literal -> no literals.
-Test("['Cat'][0]", "'Capybara'");
-
-// 2 literals -> no literals.
-Test("['Ca'][0] + {a:'t'}.a", "'Capybara'");
-
-// No literals -> regexp.
-Test("'Cat'", "(/.A.Y.A.A/i).exec('Capybara')[0]");
-
-// Array literal -> regexp.
-Test("['Cat'][0]", "(/.A.Y.A.A/i).exec('Capybara')[0]");
-
-// Regexp -> object literal.
-Test("(/.A./i).exec('Cat')[0]", "{c:'Capybara'}.c");
-
-// No literals -> regexp.
-Test("'Cat'", "(/.A.Y.A.A/i).exec('Capybara')[0]");
-
-// Regexp -> no literals.
-Test("(/.A./i).exec('Cat')[0]", "'Capybara'");
diff --git a/src/3rdparty/v8/test/mjsunit/debug-liveedit-newsource.js b/src/3rdparty/v8/test/mjsunit/debug-liveedit-newsource.js
deleted file mode 100644
index a60e69f..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-liveedit-newsource.js
+++ /dev/null
@@ -1,69 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-
-Debug = debug.Debug
-
-eval("var something1 = 25; \n"
- + "var something2 = 2010; \n"
- + "function ChooseAnimal() {\n"
- + " return 'Cat';\n"
- + "} \n"
- + "function ChooseFurniture() {\n"
- + " return 'Table';\n"
- + "} \n"
- + "function ChooseNumber() { return 17; } \n"
- + "ChooseAnimal.Factory = function Factory() {\n"
- + " return function FactoryImpl(name) {\n"
- + " return 'Help ' + name;\n"
- + " }\n"
- + "}\n");
-
-assertEquals("Cat", ChooseAnimal());
-assertEquals(25, something1);
-
-var script = Debug.findScript(ChooseAnimal);
-
-var new_source = script.source.replace("Cat", "Cap' + 'yb' + 'ara");
-var new_source = new_source.replace("25", "26");
-var new_source = new_source.replace("Help", "Hello");
-var new_source = new_source.replace("17", "18");
-print("new source: " + new_source);
-
-var change_log = new Array();
-var result = Debug.LiveEdit.SetScriptSource(script, new_source, false, change_log);
-print("Result: " + JSON.stringify(result) + "\n");
-print("Change log: " + JSON.stringify(change_log) + "\n");
-
-assertEquals("Capybara", ChooseAnimal());
-// Global variable do not get changed (without restarting script).
-assertEquals(25, something1);
-// We should support changes in oneliners.
-assertEquals(18, ChooseNumber());
-assertEquals("Hello Peter", ChooseAnimal.Factory()("Peter"));
diff --git a/src/3rdparty/v8/test/mjsunit/debug-liveedit-patch-positions-replace.js b/src/3rdparty/v8/test/mjsunit/debug-liveedit-patch-positions-replace.js
deleted file mode 100644
index 09b1b48..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-liveedit-patch-positions-replace.js
+++ /dev/null
@@ -1,83 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-
-// Scenario: a function is being changed, which causes enclosing function to
-// have its positions patched; position changing requires new instance of Code
-// object to be introduced; the function happens to be on stack at this moment;
-// later it will resume over new instance of Code.
-// Before the change 2 rinfo are 22 characters away from each other. After the
-// change they are 114 characters away from each other. New instance of Code is
-// required when those numbers cross the border value of 64 (in any direction).
-
-Debug = debug.Debug
-
-eval(
- "function BeingReplaced(changer, opt_x, opt_y) {\n" +
- " changer();\n" +
- " var res = new Object();\n" +
- " if (opt_x) { res.y = opt_y; }\n" +
- " res.a = (function() {})();\n" +
- " return res.a;\n" +
- "}"
-);
-
-var script = Debug.findScript(BeingReplaced);
-
-var orig_body = "{}";
-var patch_pos = script.source.indexOf(orig_body);
-// Line long enough to change rinfo encoding.
-var new_body_patch = "{return 'Capybara';" +
- " " +
- "}";
-
-var change_log = new Array();
-function Changer() {
- Debug.LiveEdit.TestApi.ApplySingleChunkPatch(script, patch_pos, orig_body.length, new_body_patch, change_log);
- print("Change log: " + JSON.stringify(change_log) + "\n");
-}
-
-function NoOp() {
-}
-
-function CallM(changer) {
- // We expect call IC here after several function runs.
- return BeingReplaced(changer);
-}
-
-// This several iterations should cause call IC for BeingReplaced call. This IC
-// will keep reference to code object of BeingRepalced function. This reference
-// should also be patched. Unfortunately, this is a manually checked fact (from
-// debugger or debug print) and doesn't work as an automatic test.
-CallM(NoOp);
-CallM(NoOp);
-CallM(NoOp);
-
-var res = CallM(Changer);
-assertEquals("Capybara", res);
diff --git a/src/3rdparty/v8/test/mjsunit/debug-liveedit-patch-positions.js b/src/3rdparty/v8/test/mjsunit/debug-liveedit-patch-positions.js
deleted file mode 100644
index b0d3c20..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-liveedit-patch-positions.js
+++ /dev/null
@@ -1,126 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-
-// Scenario: some function is being edited; the outer function has to have its
-// positions patched. Accoring to a special markup of function text
-// corresponding byte-code PCs should coincide before change and after it.
-
-Debug = debug.Debug
-
-eval(
- "function F1() { return 5; }\n" +
- "function ChooseAnimal(/*$*/ ) {\n" +
- "/*$*/ var x = F1(/*$*/ );\n" +
- "/*$*/ var res/*$*/ =/*$*/ (function() { return 'Cat'; } )();\n" +
- "/*$*/ var y/*$*/ = F2(/*$*/ F1()/*$*/ , F1(/*$*/ )/*$*/ );\n" +
- "/*$*/ if (/*$*/ x.toString(/*$*/ )) { /*$*/ y = 3;/*$*/ } else {/*$*/ y = 8;/*$*/ }\n" +
- "/*$*/ var z = /*$*/ x * y;\n" +
- "/*$*/ return/*$*/ res/*$*/ + z;/*$*/ }\n" +
- "function F2(x, y) { return x + y; }"
-);
-
-// Find all *$* markers in text of the function and read corresponding statement
-// PCs.
-function ReadMarkerPositions(func) {
- var text = func.toString();
- var positions = new Array();
- var match;
- var pattern = /\/\*\$\*\//g;
- while ((match = pattern.exec(text)) != null) {
- positions.push(match.index);
- }
- return positions;
-}
-
-function ReadPCMap(func, positions) {
- var res = new Array();
- for (var i = 0; i < positions.length; i++) {
- var pc = Debug.LiveEdit.GetPcFromSourcePos(func, positions[i]);
-
- if (typeof pc === 'undefined') {
- // Function was marked for recompilation and it's code was replaced with a
- // stub. This can happen at any time especially if we are running with
- // --stress-opt. There is no way to get PCs now.
- return;
- }
-
- res.push(pc);
- }
-
- return res;
-}
-
-function ApplyPatch(orig_animal, new_animal) {
- var res = ChooseAnimal();
- assertEquals(orig_animal + "15", res);
-
- var script = Debug.findScript(ChooseAnimal);
-
- var orig_string = "'" + orig_animal + "'";
- var patch_string = "'" + new_animal + "'";
- var patch_pos = script.source.indexOf(orig_string);
-
- var change_log = new Array();
-
- Debug.LiveEdit.TestApi.ApplySingleChunkPatch(script,
- patch_pos,
- orig_string.length,
- patch_string,
- change_log);
-
- print("Change log: " + JSON.stringify(change_log) + "\n");
-
- var markerPositions = ReadMarkerPositions(ChooseAnimal);
- var pcArray = ReadPCMap(ChooseAnimal, markerPositions);
-
- var res = ChooseAnimal();
- assertEquals(new_animal + "15", res);
-
- return pcArray;
-}
-
-var pcArray1 = ApplyPatch('Cat', 'Dog');
-
-// When we patched function for the first time it was deoptimized.
-// Check that after the second patch maping between sources position and
-// pcs will not change.
-
-var pcArray2 = ApplyPatch('Dog', 'Capybara');
-
-print(pcArray1);
-print(pcArray2);
-
-// Function can be marked for recompilation at any point (especially if we are
-// running with --stress-opt). When we mark function for recompilation we
-// replace it's code with stub. So there is no reliable way to get PCs for
-// function.
-if (pcArray1 && pcArray2) {
- assertArrayEquals(pcArray1, pcArray2);
-}
diff --git a/src/3rdparty/v8/test/mjsunit/debug-liveedit-restart-frame.js b/src/3rdparty/v8/test/mjsunit/debug-liveedit-restart-frame.js
deleted file mode 100644
index d978a97..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-liveedit-restart-frame.js
+++ /dev/null
@@ -1,153 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-
-Debug = debug.Debug
-
-function FindCallFrame(exec_state, frame_code) {
- var number = Number(frame_code);
- if (number >= 0) {
- return exec_state.frame(number);
- } else {
- for (var i = 0; i < exec_state.frameCount(); i++) {
- var frame = exec_state.frame(i);
- var func_mirror = frame.func();
- if (frame_code == func_mirror.name()) {
- return frame;
- }
- }
- }
- throw new Error("Failed to find function name " + function_name);
-}
-
-function TestCase(test_scenario, expected_output) {
- // Global variable, accessed from eval'd script.
- test_output = "";
-
- function TestCode() {
- function A() {
- // Extra stack variable. To make function not slim.
- // Restarter doesn't work on slim function when stopped on 'debugger'
- // statement. (There is no padding for 'debugger' statement).
- var o = {};
- test_output += 'A';
- test_output += '=';
- debugger;
- return 'Capybara';
- }
- function B(p1, p2) {
- test_output += 'B';
- return A();
- }
- function C() {
- test_output += 'C';
- // Function call with argument adaptor is intentional.
- return B();
- }
- function D() {
- test_output += 'D';
- // Function call with argument adaptor is intentional.
- return C(1, 2);
- }
- function E() {
- test_output += 'E';
- return D();
- }
- function F() {
- test_output += 'F';
- return E();
- }
- return F();
- }
-
- var scenario_pos = 0;
-
- function DebuggerStatementHandler(exec_state) {
- while (true) {
- assertTrue(scenario_pos < test_scenario.length);
- var change_code = test_scenario[scenario_pos++];
- if (change_code == '=') {
- // Continue.
- return;
- }
- var frame = FindCallFrame(exec_state, change_code);
- // Throws if fails.
- Debug.LiveEdit.RestartFrame(frame);
- }
- }
-
- var saved_exception = null;
-
- function listener(event, exec_state, event_data, data) {
- if (saved_exception != null) {
- return;
- }
- if (event == Debug.DebugEvent.Break) {
- try {
- DebuggerStatementHandler(exec_state);
- } catch (e) {
- saved_exception = e;
- }
- } else {
- print("Other: " + event);
- }
- }
-
- Debug.setListener(listener);
- assertEquals("Capybara", TestCode());
- Debug.setListener(null);
-
- if (saved_exception) {
- print("Exception: " + saved_exception);
- print("Stack: " + saved_exception.stack);
- assertUnreachable();
- }
-
- print(test_output);
-
- assertEquals(expected_output, test_output);
-}
-
-TestCase('0==', "FEDCBA=A=");
-TestCase('1==', "FEDCBA=BA=");
-TestCase('2==', "FEDCBA=CBA=");
-TestCase('3==', "FEDCBA=DCBA=");
-TestCase('4==', "FEDCBA=EDCBA=");
-TestCase('5==', "FEDCBA=FEDCBA=");
-
-TestCase('=', "FEDCBA=");
-
-TestCase('C==', "FEDCBA=CBA=");
-
-TestCase('B=C=A=D==', "FEDCBA=BA=CBA=A=DCBA=");
-
-// Successive restarts don't work now and require additional fix.
-//TestCase('BCDE==', "FEDCBA=EDCBA=");
-//TestCase('BC=BCDE==', "FEDCBA=CBA=EDCBA=");
-//TestCase('EF==', "FEDCBA=FEDCBA=");
diff --git a/src/3rdparty/v8/test/mjsunit/debug-liveedit-stack-padding.js b/src/3rdparty/v8/test/mjsunit/debug-liveedit-stack-padding.js
deleted file mode 100644
index 36de356..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-liveedit-stack-padding.js
+++ /dev/null
@@ -1,88 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-
-Debug = debug.Debug;
-
-SlimFunction = eval(
- "(function() {\n " +
- " return 'Cat';\n" +
- "})\n"
-);
-
-var script = Debug.findScript(SlimFunction);
-
-Debug.setScriptBreakPointById(script.id, 1, 0);
-
-var orig_animal = "'Cat'";
-var patch_pos = script.source.indexOf(orig_animal);
-var new_animal_patch = "'Capybara'";
-
-debugger_handler = (function() {
- var already_called = false;
- return function() {
- if (already_called) {
- return;
- }
- already_called = true;
-
- var change_log = new Array();
- try {
- Debug.LiveEdit.TestApi.ApplySingleChunkPatch(script, patch_pos,
- orig_animal.length, new_animal_patch, change_log);
- } finally {
- print("Change log: " + JSON.stringify(change_log) + "\n");
- }
- };
-})();
-
-var saved_exception = null;
-
-function listener(event, exec_state, event_data, data) {
- if (event == Debug.DebugEvent.Break) {
- try {
- debugger_handler();
- } catch (e) {
- saved_exception = e;
- }
- } else {
- print("Other: " + event);
- }
-}
-
-Debug.setListener(listener);
-
-var animal = SlimFunction();
-
-if (saved_exception) {
- print("Exception: " + saved_exception);
- assertUnreachable();
-}
-
-assertEquals("Capybara", animal);
diff --git a/src/3rdparty/v8/test/mjsunit/debug-liveedit-utils.js b/src/3rdparty/v8/test/mjsunit/debug-liveedit-utils.js
deleted file mode 100644
index c892ec9..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-liveedit-utils.js
+++ /dev/null
@@ -1,97 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-
-Debug = debug.Debug
-
-function Return2010() {
- return 2010;
-}
-
-
-// Diff it trivial: zero chunks
-var NoChunkTranslator = new Debug.LiveEdit.TestApi.PosTranslator([]);
-
-assertEquals(0, NoChunkTranslator.Translate(0));
-assertEquals(10, NoChunkTranslator.Translate(10));
-
-
-// Diff has one chunk
-var SingleChunkTranslator = new Debug.LiveEdit.TestApi.PosTranslator([20, 30, 25]);
-
-assertEquals(0, SingleChunkTranslator.Translate(0));
-assertEquals(5, SingleChunkTranslator.Translate(5));
-assertEquals(10, SingleChunkTranslator.Translate(10));
-assertEquals(19, SingleChunkTranslator.Translate(19));
-assertEquals(2010, SingleChunkTranslator.Translate(20, Return2010));
-assertEquals(25, SingleChunkTranslator.Translate(30));
-assertEquals(26, SingleChunkTranslator.Translate(31));
-assertEquals(2010, SingleChunkTranslator.Translate(26, Return2010));
-
-try {
- SingleChunkTranslator.Translate(21);
- assertTrue(false);
-} catch (ignore) {
-}
-try {
- SingleChunkTranslator.Translate(24);
- assertTrue(false);
-} catch (ignore) {
-}
-
-
-// Diff has several chunk (3). See the table below.
-
-/*
-chunks: (new <- old)
- 10 10
- 15 20
-
- 35 40
- 50 40
-
- 70 60
- 70 70
-*/
-
-var MultiChunkTranslator = new Debug.LiveEdit.TestApi.PosTranslator([10, 20, 15, 40, 40, 50, 60, 70, 70 ]);
-assertEquals(5, MultiChunkTranslator.Translate(5));
-assertEquals(9, MultiChunkTranslator.Translate(9));
-assertEquals(2010, MultiChunkTranslator.Translate(10, Return2010));
-assertEquals(15, MultiChunkTranslator.Translate(20));
-assertEquals(20, MultiChunkTranslator.Translate(25));
-assertEquals(34, MultiChunkTranslator.Translate(39));
-assertEquals(50, MultiChunkTranslator.Translate(40, Return2010));
-assertEquals(55, MultiChunkTranslator.Translate(45));
-assertEquals(69, MultiChunkTranslator.Translate(59));
-assertEquals(2010, MultiChunkTranslator.Translate(60, Return2010));
-assertEquals(70, MultiChunkTranslator.Translate(70));
-assertEquals(75, MultiChunkTranslator.Translate(75));
-
-
diff --git a/src/3rdparty/v8/test/mjsunit/debug-mirror-cache.js b/src/3rdparty/v8/test/mjsunit/debug-mirror-cache.js
deleted file mode 100644
index 5b85306..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-mirror-cache.js
+++ /dev/null
@@ -1,85 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// The functions used for testing backtraces. They are at the top to make the
-// testing of source line/column easier.
-function f(x, y) {
- a=1;
-};
-
-function g() {
- new f(1);
-};
-
-
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-listenerCallCount = 0;
-listenerExceptions = [];
-
-
-function listener(event, exec_state, event_data, data) {
- try {
- if (event == Debug.DebugEvent.Break)
- {
- listenerCallCount++;
-
- // Check that mirror cache is cleared when entering debugger.
- assertEquals(0, debug.next_handle_, "Mirror cache not cleared");
- assertEquals(0, debug.mirror_cache_.length, "Mirror cache not cleared");
-
- // Get the debug command processor in paused state.
- var dcp = exec_state.debugCommandProcessor(false);
-
- // Make a backtrace request to create some mirrors.
- var json;
- json = '{"seq":0,"type":"request","command":"backtrace"}'
- dcp.processDebugJSONRequest(json);
-
- // Some mirrors where cached.
- assertFalse(debug.next_handle_ == 0, "Mirror cache not used");
- assertFalse(debug.mirror_cache_.length == 0, "Mirror cache not used");
- }
- } catch (e) {
- print(e);
- listenerExceptions.push(e);
- };
-};
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-// Enter the debugger twice.
-debugger;
-debugger;
-
-assertEquals([], listenerExceptions, "Exception in listener");
-// Make sure that the debug event listener vas invoked.
-assertEquals(2, listenerCallCount, "Listener not called");
-
diff --git a/src/3rdparty/v8/test/mjsunit/debug-multiple-breakpoints.js b/src/3rdparty/v8/test/mjsunit/debug-multiple-breakpoints.js
deleted file mode 100644
index d8b1d94..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-multiple-breakpoints.js
+++ /dev/null
@@ -1,105 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-// Simple debug event handler which just counts the number of break points hit.
-var break_point_hit_count;
-
-function listener(event, exec_state, event_data, data) {
- if (event == Debug.DebugEvent.Break) {
- break_point_hit_count++;
- }
-};
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-// Test functions
-function f() {a=1;b=2;};
-function g() {f();}
-function h() {}
-
-// This test sets several break points at the same place and checks that
-// several break points at the same place only makes one debug break event
-// and that when the last break point is removed no more debug break events
-// occours.
-break_point_hit_count = 0;
-
-// Set a breakpoint in f.
-bp1 = Debug.setBreakPoint(f);
-f();
-assertEquals(1, break_point_hit_count);
-
-// Set another breakpoint in f at the same place.
-bp2 = Debug.setBreakPoint(f);
-f();
-assertEquals(2, break_point_hit_count);
-
-// Remove one of the break points.
-Debug.clearBreakPoint(bp1);
-f();
-assertEquals(3, break_point_hit_count);
-
-// Remove the second break point.
-Debug.clearBreakPoint(bp2);
-f();
-assertEquals(3, break_point_hit_count);
-
-// Perform the same test using function g (this time removing the break points
-// in the another order).
-break_point_hit_count = 0;
-bp1 = Debug.setBreakPoint(g);
-g();
-assertEquals(1, break_point_hit_count);
-bp2 = Debug.setBreakPoint(g);
-g();
-assertEquals(2, break_point_hit_count);
-Debug.clearBreakPoint(bp2);
-g();
-assertEquals(3, break_point_hit_count);
-Debug.clearBreakPoint(bp1);
-g();
-assertEquals(3, break_point_hit_count);
-
-// Finally test with many break points.
-test_count = 10;
-bps = new Array(test_count);
-break_point_hit_count = 0;
-for (var i = 0; i < test_count; i++) {
- bps[i] = Debug.setBreakPoint(h);
- h();
-}
-for (var i = 0; i < test_count; i++) {
- h();
- Debug.clearBreakPoint(bps[i]);
-}
-assertEquals(test_count * 2, break_point_hit_count);
-h();
-assertEquals(test_count * 2, break_point_hit_count);
diff --git a/src/3rdparty/v8/test/mjsunit/debug-receiver.js b/src/3rdparty/v8/test/mjsunit/debug-receiver.js
deleted file mode 100644
index 21cdde8..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-receiver.js
+++ /dev/null
@@ -1,126 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug;
-
-var test_name;
-var listener_delegate;
-var listener_called;
-var exception;
-var expected_receiver;
-var begin_test_count = 0;
-var end_test_count = 0;
-var break_count = 0;
-
-// Debug event listener which delegates. Exceptions have to be
-// explictly caught here and checked later because exception in the
-// listener are not propagated to the surrounding JavaScript code.
-function listener(event, exec_state, event_data, data) {
- try {
- if (event == Debug.DebugEvent.Break) {
- break_count++;
- listener_called = true;
- listener_delegate(exec_state);
- }
- } catch (e) {
- exception = e;
- }
-}
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-
-// Initialize for a new test.
-function BeginTest(name) {
- test_name = name;
- listener_called = false;
- exception = null;
- begin_test_count++;
-}
-
-
-// Check result of a test.
-function EndTest() {
- assertTrue(listener_called, "listerner not called for " + test_name);
- assertNull(exception, test_name);
- end_test_count++;
-}
-
-
-// Check that the debugger correctly reflects that the receiver is not
-// converted to object for strict mode functions.
-function Strict() { "use strict"; debugger; }
-function TestStrict(receiver) {
- expected_receiver = receiver;
- Strict.call(receiver);
-}
-
-listener_delegate = function(exec_state) {
- var receiver = exec_state.frame().receiver();
- assertTrue(!receiver.isObject());
- assertEquals(expected_receiver, receiver.value())
-}
-
-BeginTest("strict: undefined"); TestStrict(undefined); EndTest();
-BeginTest("strict: null"); TestStrict(null); EndTest();
-BeginTest("strict: 1"); TestStrict(1); EndTest();
-BeginTest("strict: 1.2"); TestStrict(1.2); EndTest();
-BeginTest("strict: 'asdf'"); TestStrict('asdf'); EndTest();
-BeginTest("strict: true"); TestStrict(true); EndTest();
-
-
-// Check that the debugger correctly reflects the object conversion of
-// the receiver for non-strict mode functions.
-function NonStrict() { debugger; }
-function TestNonStrict(receiver) {
- // null and undefined should be transformed to the global object and
- // primitives should be wrapped.
- expected_receiver = (receiver == null) ? this : Object(receiver);
- NonStrict.call(receiver);
-}
-
-listener_delegate = function(exec_state) {
- var receiver = exec_state.frame().receiver();
- assertTrue(receiver.isObject());
- assertEquals(expected_receiver, receiver.value());
-}
-
-BeginTest("non-strict: undefined"); TestNonStrict(undefined); EndTest();
-BeginTest("non-strict: null"); TestNonStrict(null); EndTest();
-BeginTest("non-strict: 1"); TestNonStrict(1); EndTest();
-BeginTest("non-strict: 1.2"); TestNonStrict(1.2); EndTest();
-BeginTest("non-strict: 'asdf'"); TestNonStrict('asdf'); EndTest();
-BeginTest("non-strict: true"); TestNonStrict(true); EndTest();
-
-
-assertEquals(begin_test_count, break_count,
- 'one or more tests did not enter the debugger');
-assertEquals(begin_test_count, end_test_count,
- 'one or more tests did not have its result checked');
diff --git a/src/3rdparty/v8/test/mjsunit/debug-referenced-by.js b/src/3rdparty/v8/test/mjsunit/debug-referenced-by.js
deleted file mode 100644
index 915a0c7..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-referenced-by.js
+++ /dev/null
@@ -1,112 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-// Simple object.
-var a = {};
-
-// Create mirror for the object.
-var mirror = debug.MakeMirror(a);
-
-// Initially one reference from the global object.
-assertEquals(1, mirror.referencedBy().length);
-assertEquals(1, mirror.referencedBy(0).length);
-assertEquals(1, mirror.referencedBy(1).length);
-assertEquals(1, mirror.referencedBy(10).length);
-
-// Add some more references from simple objects and arrays.
-var b = {}
-b.a = a;
-assertEquals(2, mirror.referencedBy().length);
-var c = {}
-c.a = a;
-c.aa = a;
-c.aaa = a;
-assertEquals(3, mirror.referencedBy().length);
-function d(){};
-d.a = a
-assertEquals(4, mirror.referencedBy().length);
-e = [a,b,c,d];
-assertEquals(5, mirror.referencedBy().length);
-
-
-// Simple closure.
-function closure_simple(p) {
- return function() { p = null; };
-}
-
-// This adds a reference (function context).
-f = closure_simple(a);
-assertEquals(6, mirror.referencedBy().length);
-// This clears the reference (in function context).
-f()
-assertEquals(5, mirror.referencedBy().length);
-
-// Use closure with eval - creates arguments array.
-function closure_eval(p, s) {
- if (s) {
- eval(s);
- }
- return function e(s) { eval(s); };
-}
-
-// This adds a references (function context).
-g = closure_eval(a);
-assertEquals(6, mirror.referencedBy().length);
-
-// Dynamically create a variable. This should create a context extension.
-h = closure_eval(null, "var x_");
-assertEquals(6, mirror.referencedBy().length);
-// Adds a reference when set.
-h("x_ = a");
-var x = mirror.referencedBy();
-assertEquals(7, mirror.referencedBy().length);
-// Removes a reference when cleared.
-h("x_ = null");
-assertEquals(6, mirror.referencedBy().length);
-
-// Check circular references.
-x = {}
-mirror = debug.MakeMirror(x);
-assertEquals(1, mirror.referencedBy().length);
-x.x = x;
-assertEquals(2, mirror.referencedBy().length);
-x = null;
-assertEquals(0, mirror.referencedBy().length);
-
-// Check many references.
-y = {}
-mirror = debug.MakeMirror(y);
-refs = [];
-for (var i = 0; i < 200; i++) {
- refs[i] = {'y': y};
-}
-y = null;
-assertEquals(200, mirror.referencedBy().length);
diff --git a/src/3rdparty/v8/test/mjsunit/debug-references.js b/src/3rdparty/v8/test/mjsunit/debug-references.js
deleted file mode 100644
index 763e354..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-references.js
+++ /dev/null
@@ -1,118 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-listenerComplete = false;
-exception = false;
-
-// The base part of all evaluate requests.
-var base_request = '"seq":0,"type":"request","command":"references"'
-
-function safeEval(code) {
- try {
- return eval('(' + code + ')');
- } catch (e) {
- assertEquals(void 0, e);
- return undefined;
- }
-}
-
-function testRequest(dcp, arguments, success, count) {
- // Generate request with the supplied arguments.
- var request;
- if (arguments) {
- request = '{' + base_request + ',"arguments":' + arguments + '}';
- } else {
- request = '{' + base_request + '}'
- }
-
- // Process the request and check expectation.
- var response = safeEval(dcp.processDebugJSONRequest(request));
- if (success) {
- assertTrue(response.success, request + ' -> ' + response.message);
- assertTrue(response.body instanceof Array);
- if (count) {
- assertEquals(count, response.body.length);
- } else {
- assertTrue(response.body.length > 0);
- }
- } else {
- assertFalse(response.success, request + ' -> ' + response.message);
- }
- assertEquals(response.running, dcp.isRunning(), request + ' -> expected not running');
-}
-
-function listener(event, exec_state, event_data, data) {
- try {
- if (event == Debug.DebugEvent.Break) {
- // Get the debug command processor.
- var dcp = exec_state.debugCommandProcessor("unspecified_running_state");
-
- // Test some illegal references requests.
- testRequest(dcp, void 0, false);
- testRequest(dcp, '{"handle":"a"}', false);
- testRequest(dcp, '{"handle":1}', false);
- testRequest(dcp, '{"type":"referencedBy"}', false);
- testRequest(dcp, '{"type":"constructedBy"}', false);
-
- // Evaluate Point.
- var evaluate_point = '{"seq":0,"type":"request","command":"evaluate",' +
- '"arguments":{"expression":"Point"}}';
- var response = safeEval(dcp.processDebugJSONRequest(evaluate_point));
- assertTrue(response.success, "Evaluation of Point failed");
- var handle = response.body.handle;
-
- // Test some legal references requests.
- testRequest(dcp, '{"handle":' + handle + ',"type":"referencedBy"}', true);
- testRequest(dcp, '{"handle":' + handle + ',"type":"constructedBy"}',
- true, 2);
-
- // Indicate that all was processed.
- listenerComplete = true;
- }
- } catch (e) {
- exception = e
- };
-};
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-// Test constructor and objects.
-function Point(x, y) { this.x_ = x; this.y_ = y;}
-p = new Point(0,0);
-q = new Point(1,2);
-
-// Enter debugger causing the event listener to be called.
-debugger;
-
-// Make sure that the debug event listener was invoked.
-assertFalse(exception, "exception in listener")
-assertTrue(listenerComplete, "listener did not run to completion");
diff --git a/src/3rdparty/v8/test/mjsunit/debug-return-value.js b/src/3rdparty/v8/test/mjsunit/debug-return-value.js
deleted file mode 100644
index 02d6a7c..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-return-value.js
+++ /dev/null
@@ -1,163 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-
-function ParsedResponse(json) {
- this.response_ = eval('(' + json + ')');
- this.refs_ = [];
- if (this.response_.refs) {
- for (var i = 0; i < this.response_.refs.length; i++) {
- this.refs_[this.response_.refs[i].handle] = this.response_.refs[i];
- }
- }
-}
-
-
-ParsedResponse.prototype.response = function() {
- return this.response_;
-}
-
-
-ParsedResponse.prototype.body = function() {
- return this.response_.body;
-}
-
-
-ParsedResponse.prototype.running = function() {
- return this.response_.running;
-}
-
-
-ParsedResponse.prototype.lookup = function(handle) {
- return this.refs_[handle];
-}
-
-
-listener_complete = false;
-exception = false;
-break_count = 0;
-expected_return_value = 0;
-debugger_source_position = 0;
-
-// Listener which expects to do four steps to reach returning from the function.
-function listener(event, exec_state, event_data, data) {
- try {
- if (event == Debug.DebugEvent.Break)
- {
- break_count++;
- if (break_count < 4) {
- assertFalse(exec_state.frame(0).isAtReturn())
- switch (break_count) {
- case 1:
- // Collect the position of the debugger statement.
- debugger_source_position = exec_state.frame(0).sourcePosition();
- break;
- case 2:
- // Position now at the if statement.
- assertEquals(debugger_source_position + 10,
- exec_state.frame(0).sourcePosition());
- break;
- case 3:
- // Position now at either of the returns.
- if (expected_return_value == 1) {
- assertEquals(debugger_source_position + 19,
- exec_state.frame(0).sourcePosition());
- } else {
- assertEquals(debugger_source_position + 38,
- exec_state.frame(0).sourcePosition());
- }
- break;
- default:
- fail("Unexpected");
- }
- exec_state.prepareStep(Debug.StepAction.StepIn, 1);
- } else {
- // Position at the end of the function.
- assertEquals(debugger_source_position + 50,
- exec_state.frame(0).sourcePosition());
-
- // Just about to return from the function.
- assertTrue(exec_state.frame(0).isAtReturn())
- assertEquals(expected_return_value,
- exec_state.frame(0).returnValue().value());
-
- // Check the same using the JSON commands.
- var dcp = exec_state.debugCommandProcessor(false);
- var request = '{"seq":0,"type":"request","command":"backtrace"}';
- var resp = dcp.processDebugJSONRequest(request);
- response = new ParsedResponse(resp);
- frames = response.body().frames;
- assertTrue(frames[0].atReturn);
- assertEquals(expected_return_value,
- response.lookup(frames[0].returnValue.ref).value);
-
- listener_complete = true;
- }
- }
- } catch (e) {
- exception = e
- };
-};
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-// Four steps from the debugger statement in this function will position us at
-// the function return.
-// 0 1 2 3 4 5
-// 0123456789012345678901234567890123456789012345678901
-
-function f(x) {debugger; if (x) { return 1; } else { return 2; } };
-
-// Call f expecting different return values.
-break_count = 0;
-expected_return_value = 2;
-listener_complete = false;
-f();
-assertFalse(exception, "exception in listener")
-assertTrue(listener_complete);
-assertEquals(4, break_count);
-
-break_count = 0;
-expected_return_value = 1;
-listener_complete = false;
-f(true);
-assertFalse(exception, "exception in listener")
-assertTrue(listener_complete);
-assertEquals(4, break_count);
-
-break_count = 0;
-expected_return_value = 2;
-listener_complete = false;
-f(false);
-assertFalse(exception, "exception in listener")
-assertTrue(listener_complete);
-assertEquals(4, break_count);
diff --git a/src/3rdparty/v8/test/mjsunit/debug-scopes.js b/src/3rdparty/v8/test/mjsunit/debug-scopes.js
deleted file mode 100644
index 942bd2b..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-scopes.js
+++ /dev/null
@@ -1,997 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug --allow-natives-syntax
-// The functions used for testing backtraces. They are at the top to make the
-// testing of source line/column easier.
-
-// Get the Debug object exposed from the debug context global object.
-var Debug = debug.Debug;
-
-var test_name;
-var listener_delegate;
-var listener_called;
-var exception;
-var begin_test_count = 0;
-var end_test_count = 0;
-var break_count = 0;
-
-
-// Debug event listener which delegates.
-function listener(event, exec_state, event_data, data) {
- try {
- if (event == Debug.DebugEvent.Break) {
- break_count++;
- listener_called = true;
- listener_delegate(exec_state);
- }
- } catch (e) {
- exception = e;
- }
-}
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-
-// Initialize for a new test.
-function BeginTest(name) {
- test_name = name;
- listener_delegate = null;
- listener_called = false;
- exception = null;
- begin_test_count++;
-}
-
-
-// Check result of a test.
-function EndTest() {
- assertTrue(listener_called, "listerner not called for " + test_name);
- assertNull(exception, test_name);
- end_test_count++;
-}
-
-
-// Check that the scope chain contains the expected types of scopes.
-function CheckScopeChain(scopes, exec_state) {
- assertEquals(scopes.length, exec_state.frame().scopeCount());
- for (var i = 0; i < scopes.length; i++) {
- var scope = exec_state.frame().scope(i);
- assertTrue(scope.isScope());
- assertEquals(scopes[i], scope.scopeType());
-
- // Check the global object when hitting the global scope.
- if (scopes[i] == debug.ScopeType.Global) {
- // Objects don't have same class (one is "global", other is "Object",
- // so just check the properties directly.
- assertPropertiesEqual(this, scope.scopeObject().value());
- }
- }
-
- // Get the debug command processor.
- var dcp = exec_state.debugCommandProcessor("unspecified_running_state");
-
- // Send a scopes request and check the result.
- var json;
- var request_json = '{"seq":0,"type":"request","command":"scopes"}';
- var response_json = dcp.processDebugJSONRequest(request_json);
- var response = JSON.parse(response_json);
- assertEquals(scopes.length, response.body.scopes.length);
- for (var i = 0; i < scopes.length; i++) {
- assertEquals(i, response.body.scopes[i].index);
- assertEquals(scopes[i], response.body.scopes[i].type);
- if (scopes[i] == debug.ScopeType.Local ||
- scopes[i] == debug.ScopeType.Closure) {
- assertTrue(response.body.scopes[i].object.ref < 0);
- } else {
- assertTrue(response.body.scopes[i].object.ref >= 0);
- }
- var found = false;
- for (var j = 0; j < response.refs.length && !found; j++) {
- found = response.refs[j].handle == response.body.scopes[i].object.ref;
- }
- assertTrue(found, "Scope object " + response.body.scopes[i].object.ref + " not found");
- }
-}
-
-
-// Check that the content of the scope is as expected. For functions just check
-// that there is a function.
-function CheckScopeContent(content, number, exec_state) {
- var scope = exec_state.frame().scope(number);
- var count = 0;
- for (var p in content) {
- var property_mirror = scope.scopeObject().property(p);
- assertFalse(property_mirror.isUndefined(), 'property ' + p + ' not found in scope');
- if (typeof(content[p]) === 'function') {
- assertTrue(property_mirror.value().isFunction());
- } else {
- assertEquals(content[p], property_mirror.value().value(), 'property ' + p + ' has unexpected value');
- }
- count++;
- }
-
- // 'arguments' and might be exposed in the local and closure scope. Just
- // ignore this.
- var scope_size = scope.scopeObject().properties().length;
- if (!scope.scopeObject().property('arguments').isUndefined()) {
- scope_size--;
- }
- // Also ignore synthetic variable from catch block.
- if (!scope.scopeObject().property('.catch-var').isUndefined()) {
- scope_size--;
- }
- // Skip property with empty name.
- if (!scope.scopeObject().property('').isUndefined()) {
- scope_size--;
- }
-
- if (count != scope_size) {
- print('Names found in scope:');
- var names = scope.scopeObject().propertyNames();
- for (var i = 0; i < names.length; i++) {
- print(names[i]);
- }
- }
- assertEquals(count, scope_size);
-
- // Get the debug command processor.
- var dcp = exec_state.debugCommandProcessor("unspecified_running_state");
-
- // Send a scope request for information on a single scope and check the
- // result.
- var request_json = '{"seq":0,"type":"request","command":"scope","arguments":{"number":';
- request_json += scope.scopeIndex();
- request_json += '}}';
- var response_json = dcp.processDebugJSONRequest(request_json);
- var response = JSON.parse(response_json);
- assertEquals(scope.scopeType(), response.body.type);
- assertEquals(number, response.body.index);
- if (scope.scopeType() == debug.ScopeType.Local ||
- scope.scopeType() == debug.ScopeType.Closure) {
- assertTrue(response.body.object.ref < 0);
- } else {
- assertTrue(response.body.object.ref >= 0);
- }
- var found = false;
- for (var i = 0; i < response.refs.length && !found; i++) {
- found = response.refs[i].handle == response.body.object.ref;
- }
- assertTrue(found, "Scope object " + response.body.object.ref + " not found");
-}
-
-
-// Simple empty local scope.
-BeginTest("Local 1");
-
-function local_1() {
- debugger;
-}
-
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.Local,
- debug.ScopeType.Global], exec_state);
- CheckScopeContent({}, 0, exec_state);
-};
-local_1();
-EndTest();
-
-
-// Local scope with a parameter.
-BeginTest("Local 2");
-
-function local_2(a) {
- debugger;
-}
-
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.Local,
- debug.ScopeType.Global], exec_state);
- CheckScopeContent({a:1}, 0, exec_state);
-};
-local_2(1);
-EndTest();
-
-
-// Local scope with a parameter and a local variable.
-BeginTest("Local 3");
-
-function local_3(a) {
- var x = 3;
- debugger;
-}
-
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.Local,
- debug.ScopeType.Global], exec_state);
- CheckScopeContent({a:1,x:3}, 0, exec_state);
-};
-local_3(1);
-EndTest();
-
-
-// Local scope with parameters and local variables.
-BeginTest("Local 4");
-
-function local_4(a, b) {
- var x = 3;
- var y = 4;
- debugger;
-}
-
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.Local,
- debug.ScopeType.Global], exec_state);
- CheckScopeContent({a:1,b:2,x:3,y:4}, 0, exec_state);
-};
-local_4(1, 2);
-EndTest();
-
-
-// Empty local scope with use of eval.
-BeginTest("Local 5");
-
-function local_5() {
- eval('');
- debugger;
-}
-
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.Local,
- debug.ScopeType.Global], exec_state);
- CheckScopeContent({}, 0, exec_state);
-};
-local_5();
-EndTest();
-
-
-// Local introducing local variable using eval.
-BeginTest("Local 6");
-
-function local_6() {
- eval('var i = 5');
- debugger;
-}
-
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.Local,
- debug.ScopeType.Global], exec_state);
- CheckScopeContent({i:5}, 0, exec_state);
-};
-local_6();
-EndTest();
-
-
-// Local scope with parameters, local variables and local variable introduced
-// using eval.
-BeginTest("Local 7");
-
-function local_7(a, b) {
- var x = 3;
- var y = 4;
- eval('var i = 5');
- eval('var j = 6');
- debugger;
-}
-
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.Local,
- debug.ScopeType.Global], exec_state);
- CheckScopeContent({a:1,b:2,x:3,y:4,i:5,j:6}, 0, exec_state);
-};
-local_7(1, 2);
-EndTest();
-
-
-// Single empty with block.
-BeginTest("With 1");
-
-function with_1() {
- with({}) {
- debugger;
- }
-}
-
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.With,
- debug.ScopeType.Local,
- debug.ScopeType.Global], exec_state);
- CheckScopeContent({}, 0, exec_state);
-};
-with_1();
-EndTest();
-
-
-// Nested empty with blocks.
-BeginTest("With 2");
-
-function with_2() {
- with({}) {
- with({}) {
- debugger;
- }
- }
-}
-
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.With,
- debug.ScopeType.With,
- debug.ScopeType.Local,
- debug.ScopeType.Global], exec_state);
- CheckScopeContent({}, 0, exec_state);
- CheckScopeContent({}, 1, exec_state);
-};
-with_2();
-EndTest();
-
-
-// With block using an in-place object literal.
-BeginTest("With 3");
-
-function with_3() {
- with({a:1,b:2}) {
- debugger;
- }
-}
-
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.With,
- debug.ScopeType.Local,
- debug.ScopeType.Global], exec_state);
- CheckScopeContent({a:1,b:2}, 0, exec_state);
-};
-with_3();
-EndTest();
-
-
-// Nested with blocks using in-place object literals.
-BeginTest("With 4");
-
-function with_4() {
- with({a:1,b:2}) {
- with({a:2,b:1}) {
- debugger;
- }
- }
-}
-
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.With,
- debug.ScopeType.With,
- debug.ScopeType.Local,
- debug.ScopeType.Global], exec_state);
- CheckScopeContent({a:2,b:1}, 0, exec_state);
- CheckScopeContent({a:1,b:2}, 1, exec_state);
-};
-with_4();
-EndTest();
-
-
-// Nested with blocks using existing object.
-BeginTest("With 5");
-
-var with_object = {c:3,d:4};
-function with_5() {
- with(with_object) {
- with(with_object) {
- debugger;
- }
- }
-}
-
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.With,
- debug.ScopeType.With,
- debug.ScopeType.Local,
- debug.ScopeType.Global], exec_state);
- CheckScopeContent(with_object, 0, exec_state);
- CheckScopeContent(with_object, 1, exec_state);
- assertEquals(exec_state.frame().scope(0).scopeObject(), exec_state.frame().scope(1).scopeObject());
- assertEquals(with_object, exec_state.frame().scope(1).scopeObject().value());
-};
-with_5();
-EndTest();
-
-
-// Nested with blocks using existing object in global code.
-BeginTest("With 6");
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.With,
- debug.ScopeType.With,
- debug.ScopeType.Global], exec_state);
- CheckScopeContent(with_object, 0, exec_state);
- CheckScopeContent(with_object, 1, exec_state);
- assertEquals(exec_state.frame().scope(0).scopeObject(), exec_state.frame().scope(1).scopeObject());
- assertEquals(with_object, exec_state.frame().scope(1).scopeObject().value());
-};
-
-var with_object = {c:3,d:4};
-with(with_object) {
- with(with_object) {
- debugger;
- }
-}
-EndTest();
-
-
-// With block in function that is marked for optimization while being executed.
-BeginTest("With 7");
-
-function with_7() {
- with({}) {
- %OptimizeFunctionOnNextCall(with_7);
- debugger;
- }
-}
-
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.With,
- debug.ScopeType.Local,
- debug.ScopeType.Global], exec_state);
- CheckScopeContent({}, 0, exec_state);
-};
-with_7();
-EndTest();
-
-
-// Simple closure formed by returning an inner function referering the outer
-// functions arguments.
-BeginTest("Closure 1");
-
-function closure_1(a) {
- function f() {
- debugger;
- return a;
- };
- return f;
-}
-
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.Local,
- debug.ScopeType.Closure,
- debug.ScopeType.Global], exec_state);
- CheckScopeContent({a:1}, 1, exec_state);
-};
-closure_1(1)();
-EndTest();
-
-
-// Simple closure formed by returning an inner function referering the outer
-// functions arguments. Due to VM optimizations parts of the actual closure is
-// missing from the debugger information.
-BeginTest("Closure 2");
-
-function closure_2(a, b) {
- var x = a + 2;
- var y = b + 2;
- function f() {
- debugger;
- return a + x;
- };
- return f;
-}
-
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.Local,
- debug.ScopeType.Closure,
- debug.ScopeType.Global], exec_state);
- CheckScopeContent({a:1,x:3}, 1, exec_state);
-};
-closure_2(1, 2)();
-EndTest();
-
-
-// Simple closure formed by returning an inner function referering the outer
-// functions arguments. Using all arguments and locals from the outer function
-// in the inner function makes these part of the debugger information on the
-// closure.
-BeginTest("Closure 3");
-
-function closure_3(a, b) {
- var x = a + 2;
- var y = b + 2;
- function f() {
- debugger;
- return a + b + x + y;
- };
- return f;
-}
-
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.Local,
- debug.ScopeType.Closure,
- debug.ScopeType.Global], exec_state);
- CheckScopeContent({a:1,b:2,x:3,y:4}, 1, exec_state);
-};
-closure_3(1, 2)();
-EndTest();
-
-
-
-// Simple closure formed by returning an inner function referering the outer
-// functions arguments. Using all arguments and locals from the outer function
-// in the inner function makes these part of the debugger information on the
-// closure. Use the inner function as well...
-BeginTest("Closure 4");
-
-function closure_4(a, b) {
- var x = a + 2;
- var y = b + 2;
- function f() {
- debugger;
- if (f) {
- return a + b + x + y;
- }
- };
- return f;
-}
-
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.Local,
- debug.ScopeType.Closure,
- debug.ScopeType.Global], exec_state);
- CheckScopeContent({a:1,b:2,x:3,y:4,f:function(){}}, 1, exec_state);
-};
-closure_4(1, 2)();
-EndTest();
-
-
-
-// Simple closure formed by returning an inner function referering the outer
-// functions arguments. In the presence of eval all arguments and locals
-// (including the inner function itself) from the outer function becomes part of
-// the debugger infformation on the closure.
-BeginTest("Closure 5");
-
-function closure_5(a, b) {
- var x = 3;
- var y = 4;
- function f() {
- eval('');
- debugger;
- return 1;
- };
- return f;
-}
-
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.Local,
- debug.ScopeType.Closure,
- debug.ScopeType.Global], exec_state);
- CheckScopeContent({a:1,b:2,x:3,y:4,f:function(){}}, 1, exec_state);
-};
-closure_5(1, 2)();
-EndTest();
-
-
-// Two closures. Due to optimizations only the parts actually used are provided
-// through the debugger information.
-BeginTest("Closure 6");
-function closure_6(a, b) {
- function f(a, b) {
- var x = 3;
- var y = 4;
- return function() {
- var x = 3;
- var y = 4;
- debugger;
- some_global = a;
- return f;
- };
- }
- return f(a, b);
-}
-
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.Local,
- debug.ScopeType.Closure,
- debug.ScopeType.Closure,
- debug.ScopeType.Global], exec_state);
- CheckScopeContent({a:1}, 1, exec_state);
- CheckScopeContent({f:function(){}}, 2, exec_state);
-};
-closure_6(1, 2)();
-EndTest();
-
-
-// Two closures. In the presence of eval all information is provided as the
-// compiler cannot determine which parts are used.
-BeginTest("Closure 7");
-function closure_7(a, b) {
- var x = 3;
- var y = 4;
- eval('var i = 5');
- eval('var j = 6');
- function f(a, b) {
- var x = 3;
- var y = 4;
- eval('var i = 5');
- eval('var j = 6');
- return function() {
- debugger;
- some_global = a;
- return f;
- };
- }
- return f(a, b);
-}
-
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.Local,
- debug.ScopeType.Closure,
- debug.ScopeType.Closure,
- debug.ScopeType.Global], exec_state);
- CheckScopeContent({}, 0, exec_state);
- CheckScopeContent({a:1,b:2,x:3,y:4,i:5,j:6}, 1, exec_state);
- CheckScopeContent({a:1,b:2,x:3,y:4,i:5,j:6,f:function(){}}, 2, exec_state);
-};
-closure_7(1, 2)();
-EndTest();
-
-
-// Closure that may be optimized out.
-BeginTest("Closure 8");
-function closure_8() {
- (function inner(x) {
- debugger;
- })(2);
-}
-
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.Local,
- debug.ScopeType.Global], exec_state);
- CheckScopeContent({x: 2}, 0, exec_state);
-};
-closure_8();
-EndTest();
-
-
-BeginTest("Closure 9");
-function closure_9() {
- eval("var y = 1;");
- eval("var z = 1;");
- (function inner(x) {
- y++;
- z++;
- debugger;
- })(2);
-}
-
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.Local,
- debug.ScopeType.Closure,
- debug.ScopeType.Global], exec_state);
-};
-closure_9();
-EndTest();
-
-
-// Test a mixture of scopes.
-BeginTest("The full monty");
-function the_full_monty(a, b) {
- var x = 3;
- var y = 4;
- eval('var i = 5');
- eval('var j = 6');
- function f(a, b) {
- var x = 9;
- var y = 10;
- eval('var i = 11');
- eval('var j = 12');
- with ({j:13}){
- return function() {
- var x = 14;
- with ({a:15}) {
- with ({b:16}) {
- debugger;
- some_global = a;
- return f;
- }
- }
- };
- }
- }
- return f(a, b);
-}
-
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.With,
- debug.ScopeType.With,
- debug.ScopeType.Local,
- debug.ScopeType.With,
- debug.ScopeType.Closure,
- debug.ScopeType.Closure,
- debug.ScopeType.Global], exec_state);
- CheckScopeContent({b:16}, 0, exec_state);
- CheckScopeContent({a:15}, 1, exec_state);
- CheckScopeContent({x:14}, 2, exec_state);
- CheckScopeContent({j:13}, 3, exec_state);
- CheckScopeContent({a:1,b:2,x:9,y:10,i:11,j:12}, 4, exec_state);
- CheckScopeContent({a:1,b:2,x:3,y:4,i:5,j:6,f:function(){}}, 5, exec_state);
-};
-the_full_monty(1, 2)();
-EndTest();
-
-
-BeginTest("Closure inside With 1");
-function closure_in_with_1() {
- with({x:1}) {
- (function inner(x) {
- debugger;
- })(2);
- }
-}
-
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.Local,
- debug.ScopeType.With,
- debug.ScopeType.Closure,
- debug.ScopeType.Global], exec_state);
- CheckScopeContent({x: 2}, 0, exec_state);
-};
-closure_in_with_1();
-EndTest();
-
-
-BeginTest("Closure inside With 2");
-function closure_in_with_2() {
- with({x:1}) {
- (function inner(x) {
- with({x:3}) {
- debugger;
- }
- })(2);
- }
-}
-
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.With,
- debug.ScopeType.Local,
- debug.ScopeType.With,
- debug.ScopeType.Closure,
- debug.ScopeType.Global], exec_state);
- CheckScopeContent({x: 3}, 0, exec_state);
- CheckScopeContent({x: 2}, 1, exec_state);
- CheckScopeContent({x: 1}, 2, exec_state);
-};
-closure_in_with_2();
-EndTest();
-
-
-BeginTest("Closure inside With 3");
-function createClosure(a) {
- var b = a + 1;
- return function closure() {
- var c = b;
- (function inner(x) {
- with({x:c}) {
- debugger;
- }
- })(2);
- };
-}
-
-function closure_in_with_3() {
- var f = createClosure(0);
- f();
-}
-
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.With,
- debug.ScopeType.Local,
- debug.ScopeType.Closure,
- debug.ScopeType.Closure,
- debug.ScopeType.Global], exec_state);
-}
-closure_in_with_3();
-EndTest();
-
-
-BeginTest("Closure inside With 4");
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.Local,
- debug.ScopeType.With,
- debug.ScopeType.Global], exec_state);
- CheckScopeContent({x: 2}, 0, exec_state);
- CheckScopeContent({x: 1}, 1, exec_state);
-};
-
-with({x:1}) {
- (function(x) {
- debugger;
- })(2);
-}
-EndTest();
-
-
-// Test global scope.
-BeginTest("Global");
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.Global], exec_state);
-};
-debugger;
-EndTest();
-
-
-BeginTest("Catch block 1");
-function catch_block_1() {
- try {
- throw 'Exception';
- } catch (e) {
- debugger;
- }
-};
-
-
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.Catch,
- debug.ScopeType.Local,
- debug.ScopeType.Global], exec_state);
- CheckScopeContent({e:'Exception'}, 0, exec_state);
-};
-catch_block_1();
-EndTest();
-
-
-BeginTest("Catch block 2");
-function catch_block_2() {
- try {
- throw 'Exception';
- } catch (e) {
- with({n:10}) {
- debugger;
- }
- }
-};
-
-
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.With,
- debug.ScopeType.Catch,
- debug.ScopeType.Local,
- debug.ScopeType.Global], exec_state);
- CheckScopeContent({n:10}, 0, exec_state);
- CheckScopeContent({e:'Exception'}, 1, exec_state);
-};
-catch_block_2();
-EndTest();
-
-
-BeginTest("Catch block 3");
-function catch_block_3() {
- // Do eval to dynamically declare a local variable so that the context's
- // extension slot is initialized with JSContextExtensionObject.
- eval("var y = 78;");
- try {
- throw 'Exception';
- } catch (e) {
- debugger;
- }
-};
-
-
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.Catch,
- debug.ScopeType.Local,
- debug.ScopeType.Global], exec_state);
- CheckScopeContent({e:'Exception'}, 0, exec_state);
- CheckScopeContent({y:78}, 1, exec_state);
-};
-catch_block_3();
-EndTest();
-
-
-BeginTest("Catch block 4");
-function catch_block_4() {
- // Do eval to dynamically declare a local variable so that the context's
- // extension slot is initialized with JSContextExtensionObject.
- eval("var y = 98;");
- try {
- throw 'Exception';
- } catch (e) {
- with({n:10}) {
- debugger;
- }
- }
-};
-
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.With,
- debug.ScopeType.Catch,
- debug.ScopeType.Local,
- debug.ScopeType.Global], exec_state);
- CheckScopeContent({n:10}, 0, exec_state);
- CheckScopeContent({e:'Exception'}, 1, exec_state);
- CheckScopeContent({y:98}, 2, exec_state);
-};
-catch_block_4();
-EndTest();
-
-
-// Test catch in global scope.
-BeginTest("Catch block 5");
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.Catch,
- debug.ScopeType.Global], exec_state);
- CheckScopeContent({e:'Exception'}, 0, exec_state);
-};
-
-try {
- throw 'Exception';
-} catch (e) {
- debugger;
-}
-
-EndTest();
-
-
-// Closure inside catch in global code.
-BeginTest("Catch block 6");
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.Local,
- debug.ScopeType.Catch,
- debug.ScopeType.Global], exec_state);
- CheckScopeContent({x: 2}, 0, exec_state);
- CheckScopeContent({e:'Exception'}, 1, exec_state);
-};
-
-try {
- throw 'Exception';
-} catch (e) {
- (function(x) {
- debugger;
- })(2);
-}
-EndTest();
-
-
-// Catch block in function that is marked for optimization while being executed.
-BeginTest("Catch block 7");
-function catch_block_7() {
- %OptimizeFunctionOnNextCall(catch_block_7);
- try {
- throw 'Exception';
- } catch (e) {
- debugger;
- }
-};
-
-
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.Catch,
- debug.ScopeType.Local,
- debug.ScopeType.Global], exec_state);
- CheckScopeContent({e:'Exception'}, 0, exec_state);
-};
-catch_block_7();
-EndTest();
-
-
-assertEquals(begin_test_count, break_count,
- 'one or more tests did not enter the debugger');
-assertEquals(begin_test_count, end_test_count,
- 'one or more tests did not have its result checked');
diff --git a/src/3rdparty/v8/test/mjsunit/debug-script-breakpoints-closure.js b/src/3rdparty/v8/test/mjsunit/debug-script-breakpoints-closure.js
deleted file mode 100644
index 7c89718..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-script-breakpoints-closure.js
+++ /dev/null
@@ -1,67 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-// Simple debug event handler which just counts the number of break points hit.
-var break_point_hit_count = 0;
-
-function listener(event, exec_state, event_data, data) {
- if (event == Debug.DebugEvent.Break) {
- break_point_hit_count++;
- }
-};
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-function makeClosure() {
- var x;
- return function() {
- return x; // Breakpoint line ( #47 )
- };
-}
-
-// Create closure before break point is set.
-var closure = makeClosure();
-
-// The debugger triggers re-compilation.
-assertEquals(0, Debug.scriptBreakPoints().length);
-var scr = Debug.findScript(makeClosure);
-var sbp = Debug.setScriptBreakPointById(scr.id, 47);
-assertEquals(1, Debug.scriptBreakPoints().length);
-
-// Ensure the closure actually triggers a break point hit.
-closure();
-assertEquals(1, break_point_hit_count);
-
-// Remove script break point.
-assertEquals(1, Debug.scriptBreakPoints().length);
-Debug.clearBreakPoint(sbp);
-assertEquals(0, Debug.scriptBreakPoints().length);
diff --git a/src/3rdparty/v8/test/mjsunit/debug-script-breakpoints-nested.js b/src/3rdparty/v8/test/mjsunit/debug-script-breakpoints-nested.js
deleted file mode 100644
index ce25c17..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-script-breakpoints-nested.js
+++ /dev/null
@@ -1,82 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-// Simple debug event handler which just counts the number of break points hit.
-var break_point_hit_count = 0;
-
-function listener(event, exec_state, event_data, data) {
- if (event == Debug.DebugEvent.Break) {
- break_point_hit_count++;
- }
-};
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-eval(
- "var inner;\n" +
- "function outer() {\n" + // Non-trivial outer closure.
- " var x = 5;\n" +
- " function a() {\n" +
- " var foo = 0, y = 7;\n" +
- " function b() {\n" +
- " var bar = 0, baz = 0, z = 11;\n" +
- " function c() {\n" +
- " return x + y + z;\n" + // Breakpoint line ( #8 )
- " }\n" +
- " inner = c;\n" +
- " return c();\n" +
- " }\n" +
- " return b();\n" +
- " }\n" +
- " return a();\n" +
- "}"
-);
-
-var script = Debug.findScript(outer);
-
-// The debugger triggers compilation of inner closures.
-assertEquals(0, Debug.scriptBreakPoints().length);
-var sbp = Debug.setScriptBreakPointById(script.id, 8);
-assertEquals(1, Debug.scriptBreakPoints().length);
-
-// The compiled outer closure should behave correctly.
-assertEquals(23, outer());
-assertEquals(1, break_point_hit_count);
-
-// The compiled inner closure should behave correctly.
-assertEquals(23, inner());
-assertEquals(2, break_point_hit_count);
-
-// Remove script break point.
-assertEquals(1, Debug.scriptBreakPoints().length);
-Debug.clearBreakPoint(sbp);
-assertEquals(0, Debug.scriptBreakPoints().length);
diff --git a/src/3rdparty/v8/test/mjsunit/debug-script-breakpoints.js b/src/3rdparty/v8/test/mjsunit/debug-script-breakpoints.js
deleted file mode 100644
index ec9656c..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-script-breakpoints.js
+++ /dev/null
@@ -1,112 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-// Set and remove a script break point for a named script.
-var sbp = Debug.setScriptBreakPointByName("1", 2, 3);
-assertEquals(1, Debug.scriptBreakPoints().length);
-assertEquals("1", Debug.scriptBreakPoints()[0].script_name());
-assertEquals(2, Debug.scriptBreakPoints()[0].line());
-assertEquals(3, Debug.scriptBreakPoints()[0].column());
-Debug.clearBreakPoint(sbp);
-assertEquals(0, Debug.scriptBreakPoints().length);
-
-// Set three script break points for named scripts.
-var sbp1 = Debug.setScriptBreakPointByName("1", 2, 3);
-var sbp2 = Debug.setScriptBreakPointByName("2", 3, 4);
-var sbp3 = Debug.setScriptBreakPointByName("3", 4, 5);
-
-// Check the content of the script break points.
-assertEquals(3, Debug.scriptBreakPoints().length);
-for (var i = 0; i < Debug.scriptBreakPoints().length; i++) {
- var x = Debug.scriptBreakPoints()[i];
- if ("1" == x.script_name()) {
- assertEquals(2, x.line());
- assertEquals(3, x.column());
- } else if ("2" == x.script_name()) {
- assertEquals(3, x.line());
- assertEquals(4, x.column());
- } else if ("3" == x.script_name()) {
- assertEquals(4, x.line());
- assertEquals(5, x.column());
- } else {
- assertUnreachable("unecpected script_name " + x.script_name());
- }
-}
-
-// Remove script break points (in another order than they where added).
-assertEquals(3, Debug.scriptBreakPoints().length);
-Debug.clearBreakPoint(sbp1);
-assertEquals(2, Debug.scriptBreakPoints().length);
-Debug.clearBreakPoint(sbp3);
-assertEquals(1, Debug.scriptBreakPoints().length);
-Debug.clearBreakPoint(sbp2);
-assertEquals(0, Debug.scriptBreakPoints().length);
-
-// Set and remove a script break point for a script id.
-var sbp = Debug.setScriptBreakPointById(1, 2, 3);
-assertEquals(1, Debug.scriptBreakPoints().length);
-assertEquals(1, Debug.scriptBreakPoints()[0].script_id());
-assertEquals(2, Debug.scriptBreakPoints()[0].line());
-assertEquals(3, Debug.scriptBreakPoints()[0].column());
-Debug.clearBreakPoint(sbp);
-assertEquals(0, Debug.scriptBreakPoints().length);
-
-// Set three script break points for script ids.
-var sbp1 = Debug.setScriptBreakPointById(1, 2, 3);
-var sbp2 = Debug.setScriptBreakPointById(2, 3, 4);
-var sbp3 = Debug.setScriptBreakPointById(3, 4, 5);
-
-// Check the content of the script break points.
-assertEquals(3, Debug.scriptBreakPoints().length);
-for (var i = 0; i < Debug.scriptBreakPoints().length; i++) {
- var x = Debug.scriptBreakPoints()[i];
- if (1 == x.script_id()) {
- assertEquals(2, x.line());
- assertEquals(3, x.column());
- } else if (2 == x.script_id()) {
- assertEquals(3, x.line());
- assertEquals(4, x.column());
- } else if (3 == x.script_id()) {
- assertEquals(4, x.line());
- assertEquals(5, x.column());
- } else {
- assertUnreachable("unecpected script_id " + x.script_id());
- }
-}
-
-// Remove script break points (in another order than they where added).
-assertEquals(3, Debug.scriptBreakPoints().length);
-Debug.clearBreakPoint(sbp1);
-assertEquals(2, Debug.scriptBreakPoints().length);
-Debug.clearBreakPoint(sbp3);
-assertEquals(1, Debug.scriptBreakPoints().length);
-Debug.clearBreakPoint(sbp2);
-assertEquals(0, Debug.scriptBreakPoints().length);
diff --git a/src/3rdparty/v8/test/mjsunit/debug-script.js b/src/3rdparty/v8/test/mjsunit/debug-script.js
deleted file mode 100644
index b9dbc07..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-script.js
+++ /dev/null
@@ -1,100 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug --expose-gc --noparallel-recompilation
-// Flags: --send-idle-notification
-
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug;
-
-Date();
-RegExp();
-
-// Count script types.
-var named_native_count = 0;
-var named_native_names = {};
-var extension_count = 0;
-var normal_count = 0;
-var scripts = Debug.scripts();
-for (i = 0; i < scripts.length; i++) {
- if (scripts[i].type == Debug.ScriptType.Native) {
- if (scripts[i].name) {
- // TODO(1641): Remove check for equally named native scripts once the
- // underlying issue is fixed.
- if (!named_native_names[scripts[i].name]) {
- named_native_names[scripts[i].name] = true;
- named_native_count++;
- }
- }
- } else if (scripts[i].type == Debug.ScriptType.Extension) {
- extension_count++;
- } else if (scripts[i].type == Debug.ScriptType.Normal) {
- normal_count++;
- } else {
- assertUnreachable('Unexpected type ' + scripts[i].type);
- }
-}
-
-// This has to be updated if the number of native scripts change.
-assertEquals(14, named_native_count);
-// If no snapshot is used, only the 'gc' extension is loaded.
-// If snapshot is used, all extensions are cached in the snapshot.
-assertTrue(extension_count == 1 || extension_count == 5);
-// This script and mjsunit.js has been loaded. If using d8, d8 loads
-// a normal script during startup too.
-assertTrue(normal_count == 2 || normal_count == 3);
-
-// Test a builtins script.
-var math_script = Debug.findScript('native math.js');
-assertEquals('native math.js', math_script.name);
-assertEquals(Debug.ScriptType.Native, math_script.type);
-
-// Test a builtins delay loaded script.
-var date_delay_script = Debug.findScript('native date.js');
-assertEquals('native date.js', date_delay_script.name);
-assertEquals(Debug.ScriptType.Native, date_delay_script.type);
-
-// Test a debugger script.
-var debug_delay_script = Debug.findScript('native debug.js');
-assertEquals('native debug.js', debug_delay_script.name);
-assertEquals(Debug.ScriptType.Native, debug_delay_script.type);
-
-// Test an extension script.
-var extension_gc_script = Debug.findScript('v8/gc');
-if (extension_gc_script) {
- assertEquals('v8/gc', extension_gc_script.name);
- assertEquals(Debug.ScriptType.Extension, extension_gc_script.type);
-}
-
-// Test a normal script.
-var mjsunit_js_script = Debug.findScript(/mjsunit.js/);
-assertTrue(/mjsunit.js/.test(mjsunit_js_script.name));
-assertEquals(Debug.ScriptType.Normal, mjsunit_js_script.type);
-
-// Check a nonexistent script.
-var dummy_script = Debug.findScript('dummy.js');
-assertTrue(typeof dummy_script == 'undefined');
diff --git a/src/3rdparty/v8/test/mjsunit/debug-scripts-request.js b/src/3rdparty/v8/test/mjsunit/debug-scripts-request.js
deleted file mode 100644
index e027563..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-scripts-request.js
+++ /dev/null
@@ -1,110 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-// State to check that the listener code was invoked and that no exceptions
-// occoured.
-listenerComplete = false;
-exception = false;
-
-var base_request = '"seq":0,"type":"request","command":"scripts"'
-
-function safeEval(code) {
- try {
- return eval('(' + code + ')');
- } catch (e) {
- assertEquals(void 0, e);
- return undefined;
- }
-}
-
-function testArguments(dcp, arguments, success) {
- var request = '{' + base_request + ',"arguments":' + arguments + '}'
- var json_response = dcp.processDebugJSONRequest(request);
- var response = safeEval(json_response);
- if (success) {
- assertTrue(response.success, json_response);
- } else {
- assertFalse(response.success, json_response);
- }
-}
-
-function listener(event, exec_state, event_data, data) {
- try {
- if (event == Debug.DebugEvent.Break) {
- // Get the debug command processor.
- var dcp = exec_state.debugCommandProcessor("unspecified_running_state");
-
- // Test illegal scripts requests.
- testArguments(dcp, '{"types":"xx"}', false);
-
- // Test legal scripts requests.
- testArguments(dcp, '{}', true);
- testArguments(dcp, '{"types":1}', true);
- testArguments(dcp, '{"types":2}', true);
- testArguments(dcp, '{"types":4}', true);
- testArguments(dcp, '{"types":7}', true);
- testArguments(dcp, '{"types":255}', true);
-
- // Test request for all scripts.
- var request = '{' + base_request + '}'
- var response = safeEval(dcp.processDebugJSONRequest(request));
- assertTrue(response.success);
-
- // Test filtering by id. We have to get at least one script back, but
- // the exact number depends on the timing of GC.
- assertTrue(response.body.length >= 1);
-
- var script = response.body[0];
- var request = '{' + base_request + ',"arguments":{"ids":[' +
- script.id + ']}}';
- var response = safeEval(dcp.processDebugJSONRequest(request));
- assertTrue(response.success);
- assertEquals(1, response.body.length);
- assertEquals(script.id, response.body[0].id);
-
- // Indicate that all was processed.
- listenerComplete = true;
- }
- } catch (e) {
- exception = e
- };
-};
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-// Call debugger to invoke the debug event listener.
-debugger;
-
-// Make sure that the debug event listener vas invoked with no exceptions.
-assertTrue(listenerComplete,
- "listener did not run to completion, exception: " + exception);
-assertFalse(exception, "exception in listener")
diff --git a/src/3rdparty/v8/test/mjsunit/debug-set-script-source.js b/src/3rdparty/v8/test/mjsunit/debug-set-script-source.js
deleted file mode 100644
index 34ae848..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-set-script-source.js
+++ /dev/null
@@ -1,64 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-var script_number = 0;
-var script_names = [];
-var exception = null;
-
-function listener(event, exec_state, event_data, data) {
- if (event == Debug.DebugEvent.BeforeCompile) {
- event_data.script().setSource(event_data.script().source() +
- " //@ sourceURL=proper_location_" + (++script_number));
- } else if (event == Debug.DebugEvent.AfterCompile) {
- try {
- event_data.script().setSource("a=1 //@ sourceURL=wrong_location");
- } catch(e) {
- exception = e;
- }
- script_names.push(event_data.script().name());
- }
-};
-
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-// Compile different sources.
-eval('a=1');
-eval('(function(){})');
-
-assertEquals(2, script_names.length);
-assertEquals("proper_location_1", script_names[0]);
-assertEquals("proper_location_2", script_names[1]);
-
-assertEquals("illegal access", exception);
-
-Debug.setListener(null);
diff --git a/src/3rdparty/v8/test/mjsunit/debug-set-variable-value.js b/src/3rdparty/v8/test/mjsunit/debug-set-variable-value.js
deleted file mode 100644
index 4667a71..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-set-variable-value.js
+++ /dev/null
@@ -1,308 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-
-// Get the Debug object exposed from the debug context global object.
-var Debug = debug.Debug;
-
-// Accepts a function/closure 'fun' that must have a debugger statement inside.
-// A variable 'variable_name' must be initialized before debugger statement
-// and returned after the statement. The test will alter variable value when
-// on debugger statement and check that returned value reflects the change.
-function RunPauseTest(scope_number, expected_old_result, variable_name,
- new_value, expected_new_result, fun) {
- var actual_old_result = fun();
- assertEquals(expected_old_result, actual_old_result);
-
- var listener_delegate;
- var listener_called = false;
- var exception = null;
-
- function listener_delegate(exec_state) {
- var scope = exec_state.frame(0).scope(scope_number);
- scope.setVariableValue(variable_name, new_value);
- }
-
- function listener(event, exec_state, event_data, data) {
- try {
- if (event == Debug.DebugEvent.Break) {
- listener_called = true;
- listener_delegate(exec_state);
- }
- } catch (e) {
- exception = e;
- }
- }
-
- // Add the debug event listener.
- Debug.setListener(listener);
-
- var actual_new_value;
- try {
- actual_new_result = fun();
- } finally {
- Debug.setListener(null);
- }
-
- if (exception != null) {
- assertUnreachable("Exception in listener\n" + exception.stack);
- }
- assertTrue(listener_called);
-
- assertEquals(expected_new_result, actual_new_result);
-}
-
-// Accepts a closure 'fun' that returns a variable from it's outer scope.
-// The test changes the value of variable via the handle to function and checks
-// that the return value changed accordingly.
-function RunClosureTest(scope_number, expected_old_result, variable_name,
- new_value, expected_new_result, fun) {
- var actual_old_result = fun();
- assertEquals(expected_old_result, actual_old_result);
-
- var fun_mirror = Debug.MakeMirror(fun);
-
- var scope = fun_mirror.scope(scope_number);
- scope.setVariableValue(variable_name, new_value);
-
- var actual_new_result = fun();
-
- assertEquals(expected_new_result, actual_new_result);
-}
-
-
-function ClosureTestCase(scope_index, old_result, variable_name, new_value,
- new_result, success_expected, factory) {
- this.scope_index_ = scope_index;
- this.old_result_ = old_result;
- this.variable_name_ = variable_name;
- this.new_value_ = new_value;
- this.new_result_ = new_result;
- this.success_expected_ = success_expected;
- this.factory_ = factory;
-}
-
-ClosureTestCase.prototype.run_pause_test = function() {
- var th = this;
- var fun = this.factory_(true);
- this.run_and_catch_(function() {
- RunPauseTest(th.scope_index_ + 1, th.old_result_, th.variable_name_,
- th.new_value_, th.new_result_, fun);
- });
-}
-
-ClosureTestCase.prototype.run_closure_test = function() {
- var th = this;
- var fun = this.factory_(false);
- this.run_and_catch_(function() {
- RunClosureTest(th.scope_index_, th.old_result_, th.variable_name_,
- th.new_value_, th.new_result_, fun);
- });
-}
-
-ClosureTestCase.prototype.run_and_catch_ = function(runnable) {
- if (this.success_expected_) {
- runnable();
- } else {
- assertThrows(runnable);
- }
-}
-
-
-// Test scopes visible from closures.
-
-var closure_test_cases = [
- new ClosureTestCase(0, 'cat', 'v1', 5, 5, true,
- function Factory(debug_stop) {
- var v1 = 'cat';
- return function() {
- if (debug_stop) debugger;
- return v1;
- }
- }),
-
- new ClosureTestCase(0, 4, 't', 7, 9, true, function Factory(debug_stop) {
- var t = 2;
- var r = eval("t");
- return function() {
- if (debug_stop) debugger;
- return r + t;
- }
- }),
-
- new ClosureTestCase(0, 6, 't', 10, 13, true, function Factory(debug_stop) {
- var t = 2;
- var r = eval("t = 3");
- return function() {
- if (debug_stop) debugger;
- return r + t;
- }
- }),
-
- new ClosureTestCase(0, 17, 's', 'Bird', 'Bird', true,
- function Factory(debug_stop) {
- eval("var s = 17");
- return function() {
- if (debug_stop) debugger;
- return s;
- }
- }),
-
- new ClosureTestCase(2, 'capybara', 'foo', 77, 77, true,
- function Factory(debug_stop) {
- var foo = "capybara";
- return (function() {
- var bar = "fish";
- try {
- throw {name: "test exception"};
- } catch (e) {
- return function() {
- if (debug_stop) debugger;
- bar = "beast";
- return foo;
- }
- }
- })();
- }),
-
- new ClosureTestCase(0, 'AlphaBeta', 'eee', 5, '5Beta', true,
- function Factory(debug_stop) {
- var foo = "Beta";
- return (function() {
- var bar = "fish";
- try {
- throw "Alpha";
- } catch (eee) {
- return function() {
- if (debug_stop) debugger;
- return eee + foo;
- }
- }
- })();
- })
-];
-
-for (var i = 0; i < closure_test_cases.length; i++) {
- closure_test_cases[i].run_pause_test();
-}
-
-for (var i = 0; i < closure_test_cases.length; i++) {
- closure_test_cases[i].run_closure_test();
-}
-
-
-// Test local scope.
-
-RunPauseTest(0, 'HelloYou', 'u', 'We', 'HelloWe', (function Factory() {
- return function() {
- var u = "You";
- var v = "Hello";
- debugger;
- return v + u;
- }
-})());
-
-RunPauseTest(0, 'Helloworld', 'p', 'GoodBye', 'HelloGoodBye',
- (function Factory() {
- function H(p) {
- var v = "Hello";
- debugger;
- return v + p;
- }
- return function() {
- return H("world");
- }
-})());
-
-RunPauseTest(0, 'mouse', 'v1', 'dog', 'dog', (function Factory() {
- return function() {
- var v1 = 'cat';
- eval("v1 = 'mouse'");
- debugger;
- return v1;
- }
-})());
-
-RunPauseTest(0, 'mouse', 'v1', 'dog', 'dog', (function Factory() {
- return function() {
- eval("var v1 = 'mouse'");
- debugger;
- return v1;
- }
-})());
-
-
-// Check that we correctly update local variable that
-// is referenced from an inner closure.
-RunPauseTest(0, 'Blue', 'v', 'Green', 'Green', (function Factory() {
- return function() {
- function A() {
- var v = "Blue";
- function Inner() {
- return void v;
- }
- debugger;
- return v;
- }
- return A();
- }
-})());
-
-// Check that we correctly update parameter, that is known to be stored
-// both on stack and in heap.
-RunPauseTest(0, 5, 'p', 2012, 2012, (function Factory() {
- return function() {
- function A(p) {
- function Inner() {
- return void p;
- }
- debugger;
- return p;
- }
- return A(5);
- }
-})());
-
-
-// Test value description protocol JSON
-
-assertEquals(true, Debug.TestApi.CommandProcessorResolveValue({value: true}));
-
-assertSame(null, Debug.TestApi.CommandProcessorResolveValue({type: "null"}));
-assertSame(undefined,
- Debug.TestApi.CommandProcessorResolveValue({type: "undefined"}));
-
-assertSame("123", Debug.TestApi.CommandProcessorResolveValue(
- {type: "string", stringDescription: "123"}));
-assertSame(123, Debug.TestApi.CommandProcessorResolveValue(
- {type: "number", stringDescription: "123"}));
-
-assertSame(Number, Debug.TestApi.CommandProcessorResolveValue(
- {handle: Debug.MakeMirror(Number).handle()}));
-assertSame(RunClosureTest, Debug.TestApi.CommandProcessorResolveValue(
- {handle: Debug.MakeMirror(RunClosureTest).handle()}));
diff --git a/src/3rdparty/v8/test/mjsunit/debug-setbreakpoint.js b/src/3rdparty/v8/test/mjsunit/debug-setbreakpoint.js
deleted file mode 100644
index 90dfcd1..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-setbreakpoint.js
+++ /dev/null
@@ -1,217 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-// Simple function which stores the last debug event.
-var listenerComplete = false;
-var exception = false;
-var f_script_id = 0;
-var g_script_id = 0;
-var h_script_id = 0;
-var f_line = 0;
-var g_line = 0;
-
-var base_request = '"seq":0,"type":"request","command":"setbreakpoint"'
-
-function safeEval(code) {
- try {
- return eval('(' + code + ')');
- } catch (e) {
- assertEquals(void 0, e);
- return undefined;
- }
-}
-
-function testArguments(dcp, arguments, success, is_script) {
- var request = '{' + base_request + ',"arguments":' + arguments + '}'
- var json_response = dcp.processDebugJSONRequest(request);
- var response = safeEval(json_response);
- if (success) {
- assertTrue(response.success, request + ' -> ' + json_response);
- if (is_script) {
- assertEquals('scriptName', response.body.type, request + ' -> ' + json_response);
- } else {
- assertEquals('scriptId', response.body.type, request + ' -> ' + json_response);
- }
- } else {
- assertFalse(response.success, request + ' -> ' + json_response);
- }
- return response;
-}
-
-function listener(event, exec_state, event_data, data) {
- try {
- if (event == Debug.DebugEvent.Break) {
- // Get the debug command processor.
- var dcp = exec_state.debugCommandProcessor("unspecified_running_state");
-
- // Test some illegal setbreakpoint requests.
- var request = '{' + base_request + '}'
- var response = safeEval(dcp.processDebugJSONRequest(request));
- assertFalse(response.success);
-
- var mirror;
-
- testArguments(dcp, '{}', false);
- testArguments(dcp, '{"type":"xx"}', false);
- testArguments(dcp, '{"type":"function"}', false);
- testArguments(dcp, '{"type":"script"}', false);
- testArguments(dcp, '{"target":"f"}', false);
- testArguments(dcp, '{"type":"xx","target":"xx"}', false);
- testArguments(dcp, '{"type":"function","target":1}', false);
- testArguments(dcp, '{"type":"function","target":"f","line":-1}', false);
- testArguments(dcp, '{"type":"function","target":"f","column":-1}', false);
- testArguments(dcp, '{"type":"function","target":"f","ignoreCount":-1}', false);
- testArguments(dcp, '{"type":"handle","target":"-1"}', false);
- mirror = debug.MakeMirror(o);
- testArguments(dcp, '{"type":"handle","target":' + mirror.handle() + '}', false);
-
- // Test some legal setbreakpoint requests.
- testArguments(dcp, '{"type":"function","target":"f"}', true, false);
- testArguments(dcp, '{"type":"function","target":"h"}', true, false);
- testArguments(dcp, '{"type":"function","target":"f","line":1}', true, false);
- testArguments(dcp, '{"type":"function","target":"f","position":1}', true, false);
- testArguments(dcp, '{"type":"function","target":"f","condition":"i == 1"}', true, false);
- testArguments(dcp, '{"type":"function","target":"f","enabled":true}', true, false);
- testArguments(dcp, '{"type":"function","target":"f","enabled":false}', true, false);
- testArguments(dcp, '{"type":"function","target":"f","ignoreCount":7}', true, false);
-
- testArguments(dcp, '{"type":"script","target":"test"}', true, true);
- testArguments(dcp, '{"type":"script","target":"test"}', true, true);
- testArguments(dcp, '{"type":"script","target":"test","line":1}', true, true);
- testArguments(dcp, '{"type":"script","target":"test","column":1}', true, true);
-
- testArguments(dcp, '{"type":"scriptId","target":' + f_script_id + ',"line":' + f_line + '}', true, false);
- testArguments(dcp, '{"type":"scriptId","target":' + g_script_id + ',"line":' + g_line + '}', true, false);
- testArguments(dcp, '{"type":"scriptId","target":' + h_script_id + ',"line":' + h_line + '}', true, false);
-
- mirror = debug.MakeMirror(f);
- testArguments(dcp, '{"type":"handle","target":' + mirror.handle() + '}', true, false);
- mirror = debug.MakeMirror(o.a);
- testArguments(dcp, '{"type":"handle","target":' + mirror.handle() + '}', true, false);
-
- testArguments(dcp, '{"type":"script","target":"sourceUrlScript","line":0}', true, true);
-
- // Set a break point on a line with the comment, and check that actual position
- // is the next line after the comment.
- request = '{"type":"scriptId","target":' + g_script_id + ',"line":' + (g_line + 1) + '}';
- response = testArguments(dcp, request, true, false);
- assertEquals(g_line + 2, response.body.actual_locations[0].line);
-
- // Indicate that all was processed.
- listenerComplete = true;
- }
- } catch (e) {
- exception = e
- };
-};
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-function f() {
- a=1
-};
-
-function g() {
- // Comment.
- f();
-};
-
-eval('function h(){}');
-eval('function sourceUrlFunc() { a = 2; }\n//@ sourceURL=sourceUrlScript');
-
-o = {a:function(){},b:function(){}}
-
-// Check the script ids for the test functions.
-f_script_id = Debug.findScript(f).id;
-g_script_id = Debug.findScript(g).id;
-h_script_id = Debug.findScript(h).id;
-sourceURL_script_id = Debug.findScript(sourceUrlFunc).id;
-
-assertTrue(f_script_id > 0, "invalid script id for f");
-assertTrue(g_script_id > 0, "invalid script id for g");
-assertTrue(h_script_id > 0, "invalid script id for h");
-assertTrue(sourceURL_script_id > 0, "invalid script id for sourceUrlFunc");
-assertEquals(f_script_id, g_script_id);
-
-// Get the source line for the test functions.
-f_line = Debug.findFunctionSourceLocation(f).line;
-g_line = Debug.findFunctionSourceLocation(g).line;
-h_line = Debug.findFunctionSourceLocation(h).line;
-assertTrue(f_line > 0, "invalid line for f");
-assertTrue(g_line > 0, "invalid line for g");
-assertTrue(f_line < g_line);
-assertEquals(h_line, 0, "invalid line for h");
-
-// Set a break point and call to invoke the debug event listener.
-Debug.setBreakPoint(g, 0, 0);
-g();
-
-// Make sure that the debug event listener was invoked.
-assertTrue(listenerComplete, "listener did not run to completion: " + exception);
-
-// Try setting breakpoint by url specified in sourceURL
-
-var breakListenerCalled = false;
-
-function breakListener(event) {
- if (event == Debug.DebugEvent.Break)
- breakListenerCalled = true;
-}
-
-Debug.setListener(breakListener);
-
-sourceUrlFunc();
-
-assertTrue(breakListenerCalled, "Break listener not called on breakpoint set by sourceURL");
-
-
-// Breakpoint in a script with no statements test case. If breakpoint is set
-// to the script body, its actual position is taken from the nearest statement
-// below or like in this case is reset to the very end of the script.
-// Unless some precautions made, this position becomes out-of-range and
-// we get an exception.
-
-// Gets a script of 'i1' function and sets the breakpoint at line #4 which
-// should be empty.
-function SetBreakpointInI1Script() {
- var i_script = Debug.findScript(i1);
- assertTrue(!!i_script, "invalid script for i1");
- Debug.setScriptBreakPoint(Debug.ScriptBreakPointType.ScriptId,
- i_script.id, 4);
-}
-
-// Creates the eval script and tries to set the breakpoint.
-// The tricky part is that the script function must be strongly reachable at the
-// moment. Since there's no way of simply getting the pointer to the function,
-// we run this code while the script function is being activated on stack.
-eval('SetBreakpointInI1Script()\nfunction i1(){}\n\n\n\nfunction i2(){}\n');
-
diff --git a/src/3rdparty/v8/test/mjsunit/debug-setexceptionbreak.js b/src/3rdparty/v8/test/mjsunit/debug-setexceptionbreak.js
deleted file mode 100644
index 3dc27dd..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-setexceptionbreak.js
+++ /dev/null
@@ -1,119 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-// Note: the following tests only checks the debugger handling of the
-// setexceptionbreak command. It does not test whether the debugger
-// actually breaks on exceptions or not. That functionality is tested
-// in test-debug.cc instead.
-
-// Simple function which stores the last debug event.
-listenerComplete = false;
-exception = false;
-
-var breakpoint = -1;
-var base_request = '"seq":0,"type":"request","command":"setexceptionbreak"'
-
-function safeEval(code) {
- try {
- return eval('(' + code + ')');
- } catch (e) {
- assertEquals(void 0, e);
- return undefined;
- }
-}
-
-function testArguments(dcp, arguments, success, type, enabled) {
- var request = '{' + base_request + ',"arguments":' + arguments + '}'
- var json_response = dcp.processDebugJSONRequest(request);
- var response = safeEval(json_response);
- if (success) {
- assertTrue(response.success, json_response);
- assertEquals(response.body.type, type);
- assertEquals(response.body.enabled, enabled);
- } else {
- assertFalse(response.success, json_response);
- }
-}
-
-function listener(event, exec_state, event_data, data) {
- try {
- if (event == Debug.DebugEvent.Break) {
- // Get the debug command processor.
- var dcp = exec_state.debugCommandProcessor("unspecified_running_state");
-
- // Test some illegal setexceptionbreak requests.
- var request = '{' + base_request + '}'
- var response = safeEval(dcp.processDebugJSONRequest(request));
- assertFalse(response.success);
-
- testArguments(dcp, '{}', false);
- testArguments(dcp, '{"type":0}', false);
-
- // Test some legal setexceptionbreak requests with default.
- // Note: by default, break on exceptions should be disabled. Hence,
- // the first time, we send the command with no enabled arg, the debugger
- // should toggle it on. The second time, it should toggle it off.
- testArguments(dcp, '{"type":"all"}', true, "all", true);
- testArguments(dcp, '{"type":"all"}', true, "all", false);
- testArguments(dcp, '{"type":"uncaught"}', true, "uncaught", true);
- testArguments(dcp, '{"type":"uncaught"}', true, "uncaught", false);
-
- // Test some legal setexceptionbreak requests with explicit enabled arg.
- testArguments(dcp, '{"type":"all","enabled":true}', true, "all", true);
- testArguments(dcp, '{"type":"all","enabled":false}', true, "all", false);
-
- testArguments(dcp, '{"type":"uncaught","enabled":true}', true,
- "uncaught", true);
- testArguments(dcp, '{"type":"uncaught","enabled":false}', true,
- "uncaught", false);
-
- // Indicate that all was processed.
- listenerComplete = true;
-
- }
- } catch (e) {
- exception = e
- };
-};
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-function g() {};
-
-
-// Set a break point and call to invoke the debug event listener.
-breakpoint = Debug.setBreakPoint(g, 0, 0);
-g();
-
-// Make sure that the debug event listener vas invoked.
-assertFalse(exception, "exception in listener")
-assertTrue(listenerComplete, "listener did not run to completion");
diff --git a/src/3rdparty/v8/test/mjsunit/debug-sourceinfo.js b/src/3rdparty/v8/test/mjsunit/debug-sourceinfo.js
deleted file mode 100644
index ddf80dc..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-sourceinfo.js
+++ /dev/null
@@ -1,352 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// For this test to work this file MUST have CR LF line endings.
-function a() { b(); };
-function b() {
- c(true);
-};
- function c(x) {
- if (x) {
- return 1;
- } else {
- return 1;
- }
- };
-function d(x) {
- x = 1 ;
- x = 2 ;
- x = 3 ;
- x = 4 ;
- x = 5 ;
- x = 6 ;
- x = 7 ;
- x = 8 ;
- x = 9 ;
- x = 10;
- x = 11;
- x = 12;
- x = 13;
- x = 14;
- x = 15;
-}
-
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-// This is the number of comment lines above the first test function.
-var comment_lines = 29;
-
-// This is the last position in the entire file (note: this equals
-// file size of <debug-sourceinfo.js> - 1, since starting at 0).
-var last_position = 14312;
-// This is the last line of entire file (note: starting at 0).
-var last_line = 351;
-// This is the last column of last line (note: starting at 0 and +2, due
-// to trailing <CR><LF>).
-var last_column = 2;
-
-// This magic number is the length or the first line comment (actually number
-// of characters before 'function a(...'.
-var comment_line_length = 1726;
-var start_a = 10 + comment_line_length;
-var start_b = 37 + comment_line_length;
-var start_c = 71 + comment_line_length;
-var start_d = 163 + comment_line_length;
-
-// The position of the first line of d(), i.e. "x = 1 ;".
-var start_code_d = start_d + 7;
-// The line # of the first line of d() (note: starting at 0).
-var start_line_d = 41;
-var line_length_d = 11;
-var num_lines_d = 15;
-
-assertEquals(start_a, Debug.sourcePosition(a));
-assertEquals(start_b, Debug.sourcePosition(b));
-assertEquals(start_c, Debug.sourcePosition(c));
-assertEquals(start_d, Debug.sourcePosition(d));
-
-var script = Debug.findScript(a);
-assertTrue(script.data === Debug.findScript(b).data);
-assertTrue(script.data === Debug.findScript(c).data);
-assertTrue(script.data === Debug.findScript(d).data);
-assertTrue(script.source === Debug.findScript(b).source);
-assertTrue(script.source === Debug.findScript(c).source);
-assertTrue(script.source === Debug.findScript(d).source);
-
-// Test that when running through source positions the position, line and
-// column progresses as expected.
-var position;
-var line;
-var column;
-for (var p = 0; p < 100; p++) {
- var location = script.locationFromPosition(p);
- if (p > 0) {
- assertEquals(position + 1, location.position);
- if (line == location.line) {
- assertEquals(column + 1, location.column);
- } else {
- assertEquals(line + 1, location.line);
- assertEquals(0, location.column);
- }
- } else {
- assertEquals(0, location.position);
- assertEquals(0, location.line);
- assertEquals(0, location.column);
- }
-
- // Remember the location.
- position = location.position;
- line = location.line;
- column = location.column;
-}
-
-// Every line of d() is the same length. Verify we can loop through all
-// positions and find the right line # for each.
-var p = start_code_d;
-for (line = 0; line < num_lines_d; line++) {
- for (column = 0; column < line_length_d; column++) {
- var location = script.locationFromPosition(p);
- assertEquals(p, location.position);
- assertEquals(start_line_d + line, location.line);
- assertEquals(column, location.column);
- p++;
- }
-}
-
-// Test first position.
-assertEquals(0, script.locationFromPosition(0).position);
-assertEquals(0, script.locationFromPosition(0).line);
-assertEquals(0, script.locationFromPosition(0).column);
-
-// Test second position.
-assertEquals(1, script.locationFromPosition(1).position);
-assertEquals(0, script.locationFromPosition(1).line);
-assertEquals(1, script.locationFromPosition(1).column);
-
-// Test first position in function a().
-assertEquals(start_a, script.locationFromPosition(start_a).position);
-assertEquals(0, script.locationFromPosition(start_a).line - comment_lines);
-assertEquals(10, script.locationFromPosition(start_a).column);
-
-// Test first position in function b().
-assertEquals(start_b, script.locationFromPosition(start_b).position);
-assertEquals(1, script.locationFromPosition(start_b).line - comment_lines);
-assertEquals(13, script.locationFromPosition(start_b).column);
-
-// Test first position in function c().
-assertEquals(start_c, script.locationFromPosition(start_c).position);
-assertEquals(4, script.locationFromPosition(start_c).line - comment_lines);
-assertEquals(12, script.locationFromPosition(start_c).column);
-
-// Test first position in function d().
-assertEquals(start_d, script.locationFromPosition(start_d).position);
-assertEquals(11, script.locationFromPosition(start_d).line - comment_lines);
-assertEquals(10, script.locationFromPosition(start_d).column);
-
-// Test first line.
-assertEquals(0, script.locationFromLine().position);
-assertEquals(0, script.locationFromLine().line);
-assertEquals(0, script.locationFromLine().column);
-assertEquals(0, script.locationFromLine(0).position);
-assertEquals(0, script.locationFromLine(0).line);
-assertEquals(0, script.locationFromLine(0).column);
-
-// Test first line column 1.
-assertEquals(1, script.locationFromLine(0, 1).position);
-assertEquals(0, script.locationFromLine(0, 1).line);
-assertEquals(1, script.locationFromLine(0, 1).column);
-
-// Test first line offset 1.
-assertEquals(1, script.locationFromLine(0, 0, 1).position);
-assertEquals(0, script.locationFromLine(0, 0, 1).line);
-assertEquals(1, script.locationFromLine(0, 0, 1).column);
-
-// Test offset function a().
-assertEquals(start_a, script.locationFromLine(void 0, void 0, start_a).position);
-assertEquals(0, script.locationFromLine(void 0, void 0, start_a).line - comment_lines);
-assertEquals(10, script.locationFromLine(void 0, void 0, start_a).column);
-assertEquals(start_a, script.locationFromLine(0, void 0, start_a).position);
-assertEquals(0, script.locationFromLine(0, void 0, start_a).line - comment_lines);
-assertEquals(10, script.locationFromLine(0, void 0, start_a).column);
-assertEquals(start_a, script.locationFromLine(0, 0, start_a).position);
-assertEquals(0, script.locationFromLine(0, 0, start_a).line - comment_lines);
-assertEquals(10, script.locationFromLine(0, 0, start_a).column);
-
-// Test second line offset function a().
-assertEquals(start_a + 14, script.locationFromLine(1, 0, start_a).position);
-assertEquals(1, script.locationFromLine(1, 0, start_a).line - comment_lines);
-assertEquals(0, script.locationFromLine(1, 0, start_a).column);
-
-// Test second line column 2 offset function a().
-assertEquals(start_a + 14 + 2, script.locationFromLine(1, 2, start_a).position);
-assertEquals(1, script.locationFromLine(1, 2, start_a).line - comment_lines);
-assertEquals(2, script.locationFromLine(1, 2, start_a).column);
-
-// Test offset function b().
-assertEquals(start_b, script.locationFromLine(0, 0, start_b).position);
-assertEquals(1, script.locationFromLine(0, 0, start_b).line - comment_lines);
-assertEquals(13, script.locationFromLine(0, 0, start_b).column);
-
-// Test second line offset function b().
-assertEquals(start_b + 6, script.locationFromLine(1, 0, start_b).position);
-assertEquals(2, script.locationFromLine(1, 0, start_b).line - comment_lines);
-assertEquals(0, script.locationFromLine(1, 0, start_b).column);
-
-// Test second line column 11 offset function b().
-assertEquals(start_b + 6 + 11, script.locationFromLine(1, 11, start_b).position);
-assertEquals(2, script.locationFromLine(1, 11, start_b).line - comment_lines);
-assertEquals(11, script.locationFromLine(1, 11, start_b).column);
-
-// Test second line column 12 offset function b. Second line in b is 11 long
-// using column 12 wraps to next line.
-assertEquals(start_b + 6 + 12, script.locationFromLine(1, 12, start_b).position);
-assertEquals(3, script.locationFromLine(1, 12, start_b).line - comment_lines);
-assertEquals(0, script.locationFromLine(1, 12, start_b).column);
-
-// Test the Debug.findSourcePosition which wraps SourceManager.
-assertEquals(0 + start_a, Debug.findFunctionSourceLocation(a, 0, 0).position);
-assertEquals(0 + start_b, Debug.findFunctionSourceLocation(b, 0, 0).position);
-assertEquals(6 + start_b, Debug.findFunctionSourceLocation(b, 1, 0).position);
-assertEquals(8 + start_b, Debug.findFunctionSourceLocation(b, 1, 2).position);
-assertEquals(18 + start_b, Debug.findFunctionSourceLocation(b, 2, 0).position);
-assertEquals(0 + start_c, Debug.findFunctionSourceLocation(c, 0, 0).position);
-assertEquals(7 + start_c, Debug.findFunctionSourceLocation(c, 1, 0).position);
-assertEquals(21 + start_c, Debug.findFunctionSourceLocation(c, 2, 0).position);
-assertEquals(38 + start_c, Debug.findFunctionSourceLocation(c, 3, 0).position);
-assertEquals(52 + start_c, Debug.findFunctionSourceLocation(c, 4, 0).position);
-assertEquals(69 + start_c, Debug.findFunctionSourceLocation(c, 5, 0).position);
-assertEquals(76 + start_c, Debug.findFunctionSourceLocation(c, 6, 0).position);
-assertEquals(0 + start_d, Debug.findFunctionSourceLocation(d, 0, 0).position);
-assertEquals(7 + start_d, Debug.findFunctionSourceLocation(d, 1, 0).position);
-for (i = 1; i <= num_lines_d; i++) {
- assertEquals(7 + (i * line_length_d) + start_d, Debug.findFunctionSourceLocation(d, (i + 1), 0).position);
-}
-assertEquals(175 + start_d, Debug.findFunctionSourceLocation(d, 17, 0).position);
-
-// Make sure invalid inputs work properly.
-assertEquals(0, script.locationFromPosition(-1).line);
-assertEquals(null, script.locationFromPosition(last_position + 1));
-
-// Test last position.
-assertEquals(last_position, script.locationFromPosition(last_position).position);
-assertEquals(last_line, script.locationFromPosition(last_position).line);
-assertEquals(last_column, script.locationFromPosition(last_position).column);
-
-// Test source line and restriction. All the following tests start from line 1
-// column 2 in function b, which is the call to c.
-// c(true);
-// ^
-
-var location;
-
-location = script.locationFromLine(1, 0, start_b);
-assertEquals(' c(true);', location.sourceText());
-
-result = ['c', ' c', ' c(', ' c(', ' c(t']
-for (var i = 1; i <= 5; i++) {
- location = script.locationFromLine(1, 2, start_b);
- location.restrict(i);
- assertEquals(result[i - 1], location.sourceText());
-}
-
-location = script.locationFromLine(1, 2, start_b);
-location.restrict(1, 0);
-assertEquals('c', location.sourceText());
-
-location = script.locationFromLine(1, 2, start_b);
-location.restrict(2, 0);
-assertEquals('c(', location.sourceText());
-
-location = script.locationFromLine(1, 2, start_b);
-location.restrict(2, 1);
-assertEquals(' c', location.sourceText());
-
-location = script.locationFromLine(1, 2, start_b);
-location.restrict(2, 2);
-assertEquals(' c', location.sourceText());
-
-location = script.locationFromLine(1, 2, start_b);
-location.restrict(2, 3);
-assertEquals(' c', location.sourceText());
-
-location = script.locationFromLine(1, 2, start_b);
-location.restrict(3, 1);
-assertEquals(' c(', location.sourceText());
-
-location = script.locationFromLine(1, 2, start_b);
-location.restrict(5, 0);
-assertEquals('c(tru', location.sourceText());
-
-location = script.locationFromLine(1, 2, start_b);
-location.restrict(5, 2);
-assertEquals(' c(t', location.sourceText());
-
-location = script.locationFromLine(1, 2, start_b);
-location.restrict(5, 4);
-assertEquals(' c(t', location.sourceText());
-
-// All the following tests start from line 1 column 10 in function b, which is
-// the final character.
-// c(true);
-// ^
-
-location = script.locationFromLine(1, 10, start_b);
-location.restrict(5, 0);
-assertEquals('rue);', location.sourceText());
-
-location = script.locationFromLine(1, 10, start_b);
-location.restrict(7, 0);
-assertEquals('(true);', location.sourceText());
-
-// All the following tests start from line 1 column 0 in function b, which is
-// the first character.
-// c(true);
-//^
-
-location = script.locationFromLine(1, 0, start_b);
-location.restrict(5, 0);
-assertEquals(' c(t', location.sourceText());
-
-location = script.locationFromLine(1, 0, start_b);
-location.restrict(5, 4);
-assertEquals(' c(t', location.sourceText());
-
-location = script.locationFromLine(1, 0, start_b);
-location.restrict(7, 0);
-assertEquals(' c(tru', location.sourceText());
-
-location = script.locationFromLine(1, 0, start_b);
-location.restrict(7, 6);
-assertEquals(' c(tru', location.sourceText());
-
-// Test that script.sourceLine(line) works.
-for (line = 0; line < num_lines_d; line++) {
- var line_content_regexp = new RegExp(" x = " + (line + 1));
- assertTrue(line_content_regexp.test(script.sourceLine(start_line_d + line)));
-}
diff --git a/src/3rdparty/v8/test/mjsunit/debug-sourceslice.js b/src/3rdparty/v8/test/mjsunit/debug-sourceslice.js
deleted file mode 100644
index db9a3e7..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-sourceslice.js
+++ /dev/null
@@ -1,74 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Source lines for test.
-var lines = [ 'function a() { b(); };\n',
- 'function b() {\n',
- ' c(true);\n',
- '};\n',
- ' function c(x) {\n',
- ' if (x) {\n',
- ' return 1;\n',
- ' } else {\n',
- ' return 1;\n',
- ' }\n',
- ' };\n' ];
-
-// Build source by putting all lines together
-var source = '';
-for (var i = 0; i < lines.length; i++) {
- source += lines[i];
-}
-eval(source);
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-// Get the script object from one of the functions in the source.
-var script = Debug.findScript(a);
-
-// Make sure that the source is as expected.
-assertEquals(source, script.source);
-assertEquals(source, script.sourceSlice().sourceText());
-
-// Try all possible line interval slices.
-for (var slice_size = 0; slice_size < lines.length; slice_size++) {
- for (var n = 0; n < lines.length - slice_size; n++) {
- var slice = script.sourceSlice(n, n + slice_size);
- assertEquals(n, slice.from_line);
- assertEquals(n + slice_size, slice.to_line);
-
- var text = slice.sourceText();
- var expected = '';
- for (var i = 0; i < slice_size; i++) {
- expected += lines[n + i];
- }
- assertEquals(expected, text);
- }
-}
diff --git a/src/3rdparty/v8/test/mjsunit/debug-step-2.js b/src/3rdparty/v8/test/mjsunit/debug-step-2.js
deleted file mode 100644
index 502b426..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-step-2.js
+++ /dev/null
@@ -1,89 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-
-// This test tests that full code compiled without debug break slots
-// is recompiled with debug break slots when debugging is started.
-
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-var bp;
-var done = false;
-var step_count = 0;
-
-// Debug event listener which steps until the global variable done is true.
-function listener(event, exec_state, event_data, data) {
- if (event == Debug.DebugEvent.Break) {
- if (!done) exec_state.prepareStep(Debug.StepAction.StepNext);
- step_count++;
- }
-};
-
-// Set the global variables state to prpare the stepping test.
-function prepare_step_test() {
- done = false;
- step_count = 0;
-}
-
-// Test function to step through.
-function f() {
- var i = 1;
- var j = 2;
- done = true;
-};
-
-prepare_step_test();
-f();
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-bp = Debug.setBreakPoint(f, 1);
-
-prepare_step_test();
-f();
-assertEquals(4, step_count);
-Debug.clearBreakPoint(bp);
-
-// Set a breakpoint on the first var statement (line 1).
-bp = Debug.setBreakPoint(f, 1);
-
-// Step through the function ensuring that the var statements are hit as well.
-prepare_step_test();
-f();
-assertEquals(4, step_count);
-
-// Clear the breakpoint and check that no stepping happens.
-Debug.clearBreakPoint(bp);
-prepare_step_test();
-f();
-assertEquals(0, step_count);
-
-// Get rid of the debug event listener.
-Debug.setListener(null);
diff --git a/src/3rdparty/v8/test/mjsunit/debug-step-3.js b/src/3rdparty/v8/test/mjsunit/debug-step-3.js
deleted file mode 100644
index 9cac0f5..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-step-3.js
+++ /dev/null
@@ -1,94 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-
-// This test tests that full code compiled without debug break slots
-// is recompiled with debug break slots when debugging is started.
-
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-var bp;
-var done = false;
-var step_count = 0;
-var set_bp = false
-
-// Debug event listener which steps until the global variable done is true.
-function listener(event, exec_state, event_data, data) {
- if (event == Debug.DebugEvent.Break) {
- if (!done) exec_state.prepareStep(Debug.StepAction.StepNext);
- step_count++;
- }
-};
-
-// Set the global variables state to prpare the stepping test.
-function prepare_step_test() {
- done = false;
- step_count = 0;
-}
-
-// Test function to step through.
-function f() {
- var a = 0;
- if (set_bp) { bp = Debug.setBreakPoint(f, 3); }
- var i = 1;
- var j = 2;
- done = true;
-};
-
-prepare_step_test();
-f();
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-// Make f set a breakpoint with an activation on the stack.
-prepare_step_test();
-set_bp = true;
-f();
-// TODO(1782): Fix issue to bring back this assert.
-//assertEquals(4, step_count);
-Debug.clearBreakPoint(bp);
-
-// Set a breakpoint on the first var statement (line 1).
-set_bp = false;
-bp = Debug.setBreakPoint(f, 3);
-
-// Step through the function ensuring that the var statements are hit as well.
-prepare_step_test();
-f();
-assertEquals(4, step_count);
-
-// Clear the breakpoint and check that no stepping happens.
-Debug.clearBreakPoint(bp);
-prepare_step_test();
-f();
-assertEquals(0, step_count);
-
-// Get rid of the debug event listener.
-Debug.setListener(null);
diff --git a/src/3rdparty/v8/test/mjsunit/debug-step-stub-callfunction.js b/src/3rdparty/v8/test/mjsunit/debug-step-stub-callfunction.js
deleted file mode 100644
index 50d095b..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-step-stub-callfunction.js
+++ /dev/null
@@ -1,87 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-// Simple debug event handler which counts the number of breaks hit and steps.
-var break_break_point_hit_count = 0;
-function listener(event, exec_state, event_data, data) {
- if (event == Debug.DebugEvent.Break) {
- break_break_point_hit_count++;
- // Continue stepping until returned to bottom frame.
- if (exec_state.frameCount() > 1) {
- exec_state.prepareStep(Debug.StepAction.StepIn);
- }
- }
-};
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-// Use 'eval' to ensure that the call to print is through CodeStub CallFunction.
-// See Ia32CodeGenerator::VisitCall and Ia32CodeGenerator::CallWithArguments.
-function f() {
- debugger;
- eval('');
- print('Hello, world!');
-};
-
-break_break_point_hit_count = 0;
-f();
-assertEquals(6, break_break_point_hit_count);
-
-// Use an inner function to ensure that the function call is through CodeStub
-// CallFunction see Ia32CodeGenerator::VisitCall and
-// Ia32CodeGenerator::CallWithArguments.
-function g() {
- function h() {}
- debugger;
- h();
-};
-
-break_break_point_hit_count = 0;
-g();
-assertEquals(5, break_break_point_hit_count);
-
-
-// Use an inner function to ensure that the function call is through CodeStub
-// CallFunction.
-function testCallInExpreesion() {
- function h() {}
- debugger;
- var x = 's' + h(10, 20);
-};
-
-break_break_point_hit_count = 0;
-testCallInExpreesion();
-assertEquals(5, break_break_point_hit_count);
-
-
-// Get rid of the debug event listener.
-Debug.setListener(null);
diff --git a/src/3rdparty/v8/test/mjsunit/debug-step.js b/src/3rdparty/v8/test/mjsunit/debug-step.js
deleted file mode 100644
index 2233e36..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-step.js
+++ /dev/null
@@ -1,83 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-// Simple debug event handler which first time hit will perform 1000 steps and
-// second time hit will evaluate and store the value of "i". If requires that
-// the global property "state" is initially zero.
-
-var bp1, bp2;
-
-function listener(event, exec_state, event_data, data) {
- if (event == Debug.DebugEvent.Break) {
- if (state == 0) {
- exec_state.prepareStep(Debug.StepAction.StepIn, 1000);
- state = 1;
- } else if (state == 1) {
- result = exec_state.frame().evaluate("i").value();
- // Clear the break point on line 2 if set.
- if (bp2) {
- Debug.clearBreakPoint(bp2);
- }
- }
- }
-};
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-// Test debug event for break point.
-function f() {
- var i; // Line 1.
- for (i = 0; i < 1000; i++) { // Line 2.
- x = 1; // Line 3.
- }
-};
-
-// Set a breakpoint on the for statement (line 1).
-bp1 = Debug.setBreakPoint(f, 1);
-
-// Check that performing 1000 steps will make i 499.
-state = 0;
-result = -1;
-f();
-assertEquals(499, result);
-
-// Check that performing 1000 steps with a break point on the statement in the
-// for loop (line 2) will only make i 0 as a real break point breaks even when
-// multiple steps have been requested.
-state = 0;
-result = -1;
-bp2 = Debug.setBreakPoint(f, 3);
-f();
-assertEquals(0, result);
-
-// Get rid of the debug event listener.
-Debug.setListener(null);
diff --git a/src/3rdparty/v8/test/mjsunit/debug-stepin-accessor.js b/src/3rdparty/v8/test/mjsunit/debug-stepin-accessor.js
deleted file mode 100644
index 70acd5e..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-stepin-accessor.js
+++ /dev/null
@@ -1,248 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-var exception = null;
-var state = 1;
-var expected_source_line_text = null;
-var expected_function_name = null;
-
-// Simple debug event handler which first time will cause 'step in' action
-// to get into g.call and than check that execution is stopped inside
-// function 'g'.
-function listener(event, exec_state, event_data, data) {
- try {
- if (event == Debug.DebugEvent.Break) {
- if (state == 1) {
- exec_state.prepareStep(Debug.StepAction.StepIn, 2);
- state = 2;
- } else if (state == 2) {
- assertEquals(expected_source_line_text,
- event_data.sourceLineText());
- assertEquals(expected_function_name, event_data.func().name());
- state = 3;
- }
- }
- } catch(e) {
- exception = e;
- }
-};
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-
-var c = {
- name: 'name ',
- get getter1() {
- return this.name; // getter 1
- },
- get getter2() {
- return { // getter 2
- 'a': c.name
- };
- },
- set setter1(n) {
- this.name = n; // setter 1
- }
-};
-
-c.__defineGetter__('y', function getterY() {
- return this.name; // getter y
-});
-
-c.__defineGetter__(3, function getter3() {
- return this.name; // getter 3
-});
-
-c.__defineSetter__('y', function setterY(n) {
- this.name = n; // setter y
-});
-
-c.__defineSetter__(3, function setter3(n) {
- this.name = n; // setter 3
-});
-
-var d = {
- 'c': c,
-};
-
-function testGetter1_1() {
- expected_function_name = 'getter1';
- expected_source_line_text = ' return this.name; // getter 1';
- debugger;
- var x = c.getter1;
-}
-
-function testGetter1_2() {
- expected_function_name = 'getter1';
- expected_source_line_text = ' return this.name; // getter 1';
- debugger;
- var x = c['getter1'];
-}
-
-function testGetter1_3() {
- expected_function_name = 'getter1';
- expected_source_line_text = ' return this.name; // getter 1';
- for (var i = 1; i < 2; i++) {
- debugger;
- var x = c['getter' + i];
- }
-}
-
-function testGetter1_4() {
- expected_function_name = 'getter1';
- expected_source_line_text = ' return this.name; // getter 1';
- debugger;
- var x = d.c.getter1;
-}
-
-function testGetter1_5() {
- expected_function_name = 'getter1';
- expected_source_line_text = ' return this.name; // getter 1';
- for (var i = 2; i != 1; i--);
- debugger;
- var x = d.c['getter' + i];
-}
-
-function testGetter2_1() {
- expected_function_name = 'getter2';
- expected_source_line_text = ' return { // getter 2';
- for (var i = 2; i != 1; i--);
- debugger;
- var t = d.c.getter2.name;
-}
-
-
-function testGetterY_1() {
- expected_function_name = 'getterY';
- expected_source_line_text = ' return this.name; // getter y';
- debugger;
- var t = d.c.y;
-}
-
-function testIndexedGetter3_1() {
- expected_function_name = 'getter3';
- expected_source_line_text = ' return this.name; // getter 3';
- debugger;
- var r = d.c[3];
-}
-
-function testSetterY_1() {
- expected_function_name = 'setterY';
- expected_source_line_text = ' this.name = n; // setter y';
- debugger;
- d.c.y = 'www';
-}
-
-function testIndexedSetter3_1() {
- expected_function_name = 'setter3';
- expected_source_line_text = ' this.name = n; // setter 3';
- var i = 3
- debugger;
- d.c[3] = 'www';
-}
-
-function testSetter1_1() {
- expected_function_name = 'setter1';
- expected_source_line_text = ' this.name = n; // setter 1';
- debugger;
- d.c.setter1 = 'aa';
-}
-
-function testSetter1_2() {
- expected_function_name = 'setter1';
- expected_source_line_text = ' this.name = n; // setter 1';
- debugger;
- d.c['setter1'] = 'bb';
-}
-
-function testSetter1_3() {
- expected_function_name = 'setter1';
- expected_source_line_text = ' this.name = n; // setter 1';
- for (var i = 2; i != 1; i--);
- debugger;
- d.c['setter' + i] = i;
-}
-
-var e = {
- name: 'e'
-};
-e.__proto__ = c;
-
-function testProtoGetter1_1() {
- expected_function_name = 'getter1';
- expected_source_line_text = ' return this.name; // getter 1';
- debugger;
- var x = e.getter1;
-}
-
-function testProtoSetter1_1() {
- expected_function_name = 'setter1';
- expected_source_line_text = ' this.name = n; // setter 1';
- debugger;
- e.setter1 = 'aa';
-}
-
-function testProtoIndexedGetter3_1() {
- expected_function_name = 'getter3';
- expected_source_line_text = ' return this.name; // getter 3';
- debugger;
- var x = e[3];
-}
-
-function testProtoIndexedSetter3_1() {
- expected_function_name = 'setter3';
- expected_source_line_text = ' this.name = n; // setter 3';
- debugger;
- e[3] = 'new val';
-}
-
-function testProtoSetter1_2() {
- expected_function_name = 'setter1';
- expected_source_line_text = ' this.name = n; // setter 1';
- for (var i = 2; i != 1; i--);
- debugger;
- e['setter' + i] = 'aa';
-}
-
-for (var n in this) {
- if (n.substr(0, 4) != 'test') {
- continue;
- }
- state = 1;
- this[n]();
- assertNull(exception);
- assertEquals(3, state);
-}
-
-// Get rid of the debug event listener.
-Debug.setListener(null);
diff --git a/src/3rdparty/v8/test/mjsunit/debug-stepin-builtin-callback.js b/src/3rdparty/v8/test/mjsunit/debug-stepin-builtin-callback.js
deleted file mode 100644
index 223159d..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-stepin-builtin-callback.js
+++ /dev/null
@@ -1,157 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-
-// Test stepping into callbacks passed to builtin functions.
-
-Debug = debug.Debug
-
-var exception = false;
-
-function array_listener(event, exec_state, event_data, data) {
- try {
- if (event == Debug.DebugEvent.Break) {
- if (breaks == 0) {
- exec_state.prepareStep(Debug.StepAction.StepIn, 2);
- breaks = 1;
- } else if (breaks <= 3) {
- breaks++;
- // Check whether we break at the expected line.
- print(event_data.sourceLineText());
- assertTrue(event_data.sourceLineText().indexOf("Expected to step") > 0);
- exec_state.prepareStep(Debug.StepAction.StepIn, 3);
- }
- }
- } catch (e) {
- exception = true;
- }
-};
-
-function cb_false(num) {
- print("element " + num); // Expected to step to this point.
- return false;
-}
-
-function cb_true(num) {
- print("element " + num); // Expected to step to this point.
- return true;
-}
-
-function cb_reduce(a, b) {
- print("elements " + a + " and " + b); // Expected to step to this point.
- return a + b;
-}
-
-var a = [1, 2, 3, 4];
-
-Debug.setListener(array_listener);
-
-var breaks = 0;
-debugger;
-a.forEach(cb_true);
-assertFalse(exception);
-assertEquals(4, breaks);
-
-breaks = 0;
-debugger;
-a.some(cb_false);
-assertFalse(exception);
-assertEquals(4, breaks);
-
-breaks = 0;
-debugger;
-a.every(cb_true);
-assertEquals(4, breaks);
-assertFalse(exception);
-
-breaks = 0;
-debugger;
-a.map(cb_true);
-assertFalse(exception);
-assertEquals(4, breaks);
-
-breaks = 0;
-debugger;
-a.filter(cb_true);
-assertFalse(exception);
-assertEquals(4, breaks);
-
-breaks = 0;
-debugger;
-a.reduce(cb_reduce);
-assertFalse(exception);
-assertEquals(4, breaks);
-
-breaks = 0;
-debugger;
-a.reduceRight(cb_reduce);
-assertFalse(exception);
-assertEquals(4, breaks);
-
-Debug.setListener(null);
-
-
-// Test two levels of builtin callbacks:
-// Array.forEach calls a callback function, which by itself uses
-// Array.forEach with another callback function.
-
-function second_level_listener(event, exec_state, event_data, data) {
- try {
- if (event == Debug.DebugEvent.Break) {
- if (breaks == 0) {
- exec_state.prepareStep(Debug.StepAction.StepIn, 3);
- breaks = 1;
- } else if (breaks <= 16) {
- breaks++;
- // Check whether we break at the expected line.
- assertTrue(event_data.sourceLineText().indexOf("Expected to step") > 0);
- // Step two steps further every four breaks to skip the
- // forEach call in the first level of recurision.
- var step = (breaks % 4 == 1) ? 6 : 3;
- exec_state.prepareStep(Debug.StepAction.StepIn, step);
- }
- }
- } catch (e) {
- exception = true;
- }
-};
-
-function cb_foreach(num) {
- a.forEach(cb_true);
- print("back to the first level of recursion.");
-}
-
-Debug.setListener(second_level_listener);
-
-breaks = 0;
-debugger;
-a.forEach(cb_foreach);
-assertFalse(exception);
-assertEquals(17, breaks);
-
-Debug.setListener(null);
diff --git a/src/3rdparty/v8/test/mjsunit/debug-stepin-builtin.js b/src/3rdparty/v8/test/mjsunit/debug-stepin-builtin.js
deleted file mode 100644
index d9c6061..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-stepin-builtin.js
+++ /dev/null
@@ -1,78 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-var exception = null;
-var state = 1;
-var expected_source_line_text = null;
-var expected_function_name = null;
-
-// Simple debug event handler which first time will cause 'step in' action
-// and than check that execution is paused inside function
-// expected_function_name.
-function listener(event, exec_state, event_data, data) {
- try {
- if (event == Debug.DebugEvent.Break) {
- if (state == 1) {
- exec_state.prepareStep(Debug.StepAction.StepIn, 2);
- state = 2;
- } else if (state == 2) {
- assertEquals(expected_function_name, event_data.func().name());
- assertEquals(expected_source_line_text,
- event_data.sourceLineText());
- state = 3;
- }
- }
- } catch(e) {
- exception = e;
- }
-};
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-var a = [1,2,3,4,5];
-
-// Test step into function call from a function without local variables.
-function testStepInArraySlice() {
- expected_function_name = 'testStepInArraySlice';
- expected_source_line_text = '} // expected line';
- debugger;
- var s = Array.prototype.slice.call(a, 2,3);
-} // expected line
-
-state = 1;
-testStepInArraySlice();
-assertNull(exception);
-assertEquals(3, state);
-
-// Get rid of the debug event listener.
-Debug.setListener(null);
diff --git a/src/3rdparty/v8/test/mjsunit/debug-stepin-call-function-stub.js b/src/3rdparty/v8/test/mjsunit/debug-stepin-call-function-stub.js
deleted file mode 100644
index 053b8bf..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-stepin-call-function-stub.js
+++ /dev/null
@@ -1,115 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-var exception = null;
-var state = 0;
-var expected_function_name = null;
-var expected_source_line_text = null;
-var expected_caller_source_line = null;
-var step_in_count = 2;
-
-// Simple debug event handler which first time will cause 'step in' action
-// to get into g.call and than check that execution is pauesed inside
-// function 'g'.
-function listener(event, exec_state, event_data, data) {
- try {
- if (event == Debug.DebugEvent.Break) {
- if (state == 0) {
- // Step into f().
- exec_state.prepareStep(Debug.StepAction.StepIn, step_in_count);
- state = 2;
- } else if (state == 2) {
- assertEquals(expected_source_line_text,
- event_data.sourceLineText());
- assertEquals(expected_function_name, event_data.func().name());
- state = 3;
- }
- }
- } catch(e) {
- exception = e;
- }
-};
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-
-function g() {
- return "s"; // expected line
-}
-
-function testFunction() {
- var f = g;
- var s = 1 +f(10);
-}
-
-function g2() {
- return "s2"; // expected line
-}
-
-function testFunction2() {
- var f = g2;
- var s = 1 +f(10, 20);
-}
-
-// Run three times. First time the function will be compiled lazily,
-// second time cached version will be used.
-for (var i = 0; i < 3; i++) {
- state = 0;
- expected_function_name = 'g';
- expected_source_line_text = ' return "s"; // expected line';
- step_in_count = 2;
- // Set a break point and call to invoke the debug event listener.
- Debug.setBreakPoint(testFunction, 1, 0);
- testFunction();
- assertNull(exception);
- assertEquals(3, state);
-}
-
-// Test stepping into function call when a breakpoint is set at the place
-// of call. Use different pair of functions so that g2 is compiled lazily.
-// Run twice: first time function will be compiled lazily, second time
-// cached version will be used.
-for (var i = 0; i < 3; i++) {
- state = 0;
- expected_function_name = 'g2';
- expected_source_line_text = ' return "s2"; // expected line';
- step_in_count = 1;
- // Set a break point and call to invoke the debug event listener.
- Debug.setBreakPoint(testFunction2, 2, 0);
- testFunction2();
- assertNull(exception);
- assertEquals(3, state);
-}
-
-
-// Get rid of the debug event listener.
-Debug.setListener(null);
diff --git a/src/3rdparty/v8/test/mjsunit/debug-stepin-constructor.js b/src/3rdparty/v8/test/mjsunit/debug-stepin-constructor.js
deleted file mode 100644
index 5549814..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-stepin-constructor.js
+++ /dev/null
@@ -1,78 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-// Simple debug event handler which counts the number of breaks hit and steps.
-var break_break_point_hit_count = 0;
-function listener(event, exec_state, event_data, data) {
- if (event == Debug.DebugEvent.Break) {
- break_break_point_hit_count++;
- // Continue stepping until returned to bottom frame.
- if (exec_state.frameCount() > 1) {
- exec_state.prepareStep(Debug.StepAction.StepIn);
- }
-
- // Test that there is a script.
- assertTrue(typeof(event_data.func().script()) == 'object');
- }
-};
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-// Test step into constructor with simple constructor.
-function X() {
-}
-
-function f() {
- debugger;
- new X();
-};
-
-break_break_point_hit_count = 0;
-f();
-assertEquals(5, break_break_point_hit_count);
-f();
-assertEquals(10, break_break_point_hit_count);
-f();
-assertEquals(15, break_break_point_hit_count);
-
-// Test step into constructor with builtin constructor.
-function g() {
- debugger;
- new Date();
-};
-
-break_break_point_hit_count = 0;
-g();
-assertEquals(4, break_break_point_hit_count);
-
-// Get rid of the debug event listener.
-Debug.setListener(null);
diff --git a/src/3rdparty/v8/test/mjsunit/debug-stepin-function-call.js b/src/3rdparty/v8/test/mjsunit/debug-stepin-function-call.js
deleted file mode 100644
index 3b5240c..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-stepin-function-call.js
+++ /dev/null
@@ -1,164 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-var exception = null;
-var state = 0;
-
-// Simple debug event handler which first time will cause 'step in' action
-// to get into g.call and than check that execution is pauesed inside
-// function 'g'.
-function listener(event, exec_state, event_data, data) {
- try {
- if (event == Debug.DebugEvent.Break) {
- if (state == 0) {
- // Step into f2.call:
- exec_state.prepareStep(Debug.StepAction.StepIn, 2);
- state = 2;
- } else if (state == 2) {
- assertEquals('g', event_data.func().name());
- assertEquals(' return t + 1; // expected line',
- event_data.sourceLineText());
- state = 3;
- }
- }
- } catch(e) {
- exception = e;
- }
-};
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-
-// Sample functions.
-function g(t) {
- return t + 1; // expected line
-}
-
-// Test step into function call from a function without local variables.
-function call1() {
- debugger;
- g.call(null, 3);
-}
-
-
-// Test step into function call from a function with some local variables.
-function call2() {
- var aLocalVar = 'test';
- var anotherLocalVar = g(aLocalVar) + 's';
- var yetAnotherLocal = 10;
- debugger;
- g.call(null, 3);
-}
-
-// Test step into function call which is a part of an expression.
-function call3() {
- var alias = g;
- debugger;
- var r = 10 + alias.call(null, 3);
- var aLocalVar = 'test';
- var anotherLocalVar = g(aLocalVar) + 's';
- var yetAnotherLocal = 10;
-}
-
-// Test step into function call from a function with some local variables.
-function call4() {
- var alias = g;
- debugger;
- alias.call(null, 3);
- var aLocalVar = 'test';
- var anotherLocalVar = g(aLocalVar) + 's';
- var yetAnotherLocal = 10;
-}
-
-// Test step into function apply from a function without local variables.
-function apply1() {
- debugger;
- g.apply(null, [3]);
-}
-
-
-// Test step into function apply from a function with some local variables.
-function apply2() {
- var aLocalVar = 'test';
- var anotherLocalVar = g(aLocalVar) + 's';
- var yetAnotherLocal = 10;
- debugger;
- g.apply(null, [3, 4]);
-}
-
-// Test step into function apply which is a part of an expression.
-function apply3() {
- var alias = g;
- debugger;
- var r = 10 + alias.apply(null, [3, 'unused arg']);
- var aLocalVar = 'test';
- var anotherLocalVar = g(aLocalVar) + 's';
- var yetAnotherLocal = 10;
-}
-
-// Test step into function apply from a function with some local variables.
-function apply4() {
- var alias = g;
- debugger;
- alias.apply(null, [3]);
- var aLocalVar = 'test';
- var anotherLocalVar = g(aLocalVar) + 's';
- var yetAnotherLocal = 10;
-}
-
-// Test step into bound function.
-function bind1() {
- var bound = g.bind(null, 3);
- debugger;
- bound();
-}
-
-var testFunctions =
- [call1, call2, call3, call4, apply1, apply2, apply3, apply4, bind1];
-
-for (var i = 0; i < testFunctions.length; i++) {
- state = 0;
- testFunctions[i]();
- assertNull(exception);
- assertEquals(3, state);
-}
-
-// Test global bound function.
-state = 0;
-var globalBound = g.bind(null, 3);
-debugger;
-globalBound();
-assertNull(exception);
-assertEquals(3, state);
-
-// Get rid of the debug event listener.
-Debug.setListener(null); \ No newline at end of file
diff --git a/src/3rdparty/v8/test/mjsunit/debug-stepnext-do-while.js b/src/3rdparty/v8/test/mjsunit/debug-stepnext-do-while.js
deleted file mode 100644
index bbb18bc..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-stepnext-do-while.js
+++ /dev/null
@@ -1,79 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-var exception = null;
-var break_break_point_hit_count = 0;
-
-function listener(event, exec_state, event_data, data) {
- try {
- if (event == Debug.DebugEvent.Break) {
- if (break_break_point_hit_count == 0) {
- assertEquals(' debugger;',
- event_data.sourceLineText());
- assertEquals('runDoWhile', event_data.func().name());
- } else if (break_break_point_hit_count == 1) {
- assertEquals(' } while(condition());',
- event_data.sourceLineText());
- assertEquals('runDoWhile', event_data.func().name());
- }
-
- break_break_point_hit_count++;
- // Continue stepping until returned to bottom frame.
- if (exec_state.frameCount() > 1) {
- exec_state.prepareStep(Debug.StepAction.StepNext);
- }
-
- }
- } catch(e) {
- exception = e;
- }
-};
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-function condition() {
- return false;
-}
-
-function runDoWhile() {
- do {
- debugger;
- } while(condition());
-};
-
-break_break_point_hit_count = 0;
-runDoWhile();
-assertNull(exception);
-assertEquals(4, break_break_point_hit_count);
-
-// Get rid of the debug event listener.
-Debug.setListener(null);
diff --git a/src/3rdparty/v8/test/mjsunit/debug-stepout-recursive-function.js b/src/3rdparty/v8/test/mjsunit/debug-stepout-recursive-function.js
deleted file mode 100644
index 3741f26..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-stepout-recursive-function.js
+++ /dev/null
@@ -1,106 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-var exception = null;
-var step_out_count = 1;
-
-// Simple debug event handler which counts the number of breaks hit and steps.
-var break_point_hit_count = 0;
-function listener(event, exec_state, event_data, data) {
- try {
- if (event == Debug.DebugEvent.Break) {
- break_point_hit_count++;
- // Continue stepping until returned to bottom frame.
- if (exec_state.frameCount() > 1) {
- exec_state.prepareStep(Debug.StepAction.StepOut, step_out_count);
- }
-
- }
- } catch(e) {
- exception = e;
- }
-
-};
-
-function BeginTest(name) {
- test_name = name;
- break_point_hit_count = 0;
- exception = null;
-}
-
-function EndTest(expected_break_point_hit_count) {
- assertEquals(expected_break_point_hit_count, break_point_hit_count, test_name);
- assertNull(exception, test_name);
- test_name = null;
-}
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-
-var shouldBreak = null;
-function fact(x) {
- if (shouldBreak(x)) {
- debugger;
- }
- if (x < 2) {
- return 1;
- } else {
- return x*fact(x-1);
- }
-}
-
-BeginTest('Test 1');
-shouldBreak = function(x) { return x == 3; };
-step_out_count = 1;
-fact(3);
-EndTest(2);
-
-BeginTest('Test 2');
-shouldBreak = function(x) { return x == 2; };
-step_out_count = 1;
-fact(3);
-EndTest(3);
-
-BeginTest('Test 3');
-shouldBreak = function(x) { return x == 1; };
-step_out_count = 2;
-fact(3);
-EndTest(2);
-
-BeginTest('Test 4');
-shouldBreak = function(x) { return x == 1 || x == 3; };
-step_out_count = 2;
-fact(3);
-EndTest(3);
-
-// Get rid of the debug event listener.
-Debug.setListener(null);
diff --git a/src/3rdparty/v8/test/mjsunit/debug-stepout-scope-part1.js b/src/3rdparty/v8/test/mjsunit/debug-stepout-scope-part1.js
deleted file mode 100644
index f2f9d91..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-stepout-scope-part1.js
+++ /dev/null
@@ -1,190 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug --expose-natives-as=builtins
-
-// Check that the ScopeIterator can properly recreate the scope at
-// every point when stepping through functions.
-
-var Debug = debug.Debug;
-
-function listener(event, exec_state, event_data, data) {
- if (event == Debug.DebugEvent.Break) {
- // Access scope details.
- var scope_count = exec_state.frame().scopeCount();
- for (var i = 0; i < scope_count; i++) {
- var scope = exec_state.frame().scope(i);
- // assertTrue(scope.isScope());
- scope.scopeType();
- scope.scopeObject();
- }
-
- // Do steps until we reach the global scope again.
- if (true) {
- exec_state.prepareStep(Debug.StepAction.StepInMin, 1);
- }
- }
-}
-
-Debug.setListener(listener);
-
-
-function test1() {
- debugger;
- with ({x:1}) {
- x = 2;
- }
-}
-test1();
-
-
-function test2() {
- if (true) {
- with ({}) {
- debugger;
- }
- } else {
- with ({}) {
- return 10;
- }
- }
-}
-test2();
-
-
-function test3() {
- if (true) {
- debugger;
- } else {
- with ({}) {
- return 10;
- }
- }
-}
-test3();
-
-
-function test4() {
- debugger;
- with ({x:1}) x = 1
-}
-test4();
-
-
-function test5() {
- debugger;
- var dummy = 1;
- with ({}) {
- with ({}) {
- dummy = 2;
- }
- }
- dummy = 3;
-}
-test5();
-
-
-function test6() {
- debugger;
- try {
- throw 'stuff';
- } catch (e) {
- e = 1;
- }
-}
-test6();
-
-
-function test7() {
- debugger;
- function foo() {}
-}
-test7();
-
-
-function test8() {
- debugger;
- (function foo() {})();
-}
-test8();
-
-
-function test10() {
- debugger;
- with ({}) {
- return 10;
- }
-}
-test10();
-
-
-function test11() {
- debugger;
- try {
- throw 'stuff';
- } catch (e) {
- return 10;
- }
-}
-test11();
-
-
-var prefixes = [
- "debugger; ",
- "if (false) { try { throw 0; } catch(x) { return x; } }; debugger; " ];
-
-
-// Return from function constructed with Function constructor.
-var anon = 12;
-for (var i = 0; i < prefixes.length; ++i) {
- var pre = prefixes[i];
- Function(pre + "return 42")();
- Function(pre + "return 42 ")();
- Function(pre + "return 42;")();
- Function(pre + "return 42; ")();
- Function(pre + "return anon")();
- Function(pre + "return anon ")();
- Function(pre + "return anon;")();
- Function(pre + "return anon; ")();
-}
-
-
-try {
- with({}) {
- debugger;
- eval("{}$%:^");
- }
-} catch(e) {
- nop();
-}
-
-
-function nop() {}
-
-
-// With block as the last(!) statement in global code.
-with ({}) { debugger; } \ No newline at end of file
diff --git a/src/3rdparty/v8/test/mjsunit/debug-stepout-scope-part2.js b/src/3rdparty/v8/test/mjsunit/debug-stepout-scope-part2.js
deleted file mode 100644
index 121c7b7..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-stepout-scope-part2.js
+++ /dev/null
@@ -1,83 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug --expose-natives-as=builtins
-
-// Check that the ScopeIterator can properly recreate the scope at
-// every point when stepping through functions.
-
-var Debug = debug.Debug;
-
-function listener(event, exec_state, event_data, data) {
- if (event == Debug.DebugEvent.Break) {
- // Access scope details.
- var scope_count = exec_state.frame().scopeCount();
- for (var i = 0; i < scope_count; i++) {
- var scope = exec_state.frame().scope(i);
- // assertTrue(scope.isScope());
- scope.scopeType();
- scope.scopeObject();
- }
-
- // Do steps until we reach the global scope again.
- if (true) {
- exec_state.prepareStep(Debug.StepAction.StepInMin, 1);
- }
- }
-}
-
-Debug.setListener(listener);
-
-var q = 42;
-var prefixes = [ "debugger; ",
- "if (false) { try { throw 0; } catch(x) { return x; } }; debugger; " ];
-var bodies = [ "1",
- "1 ",
- "1;",
- "1; ",
- "q",
- "q ",
- "q;",
- "q; ",
- "try { throw 'stuff' } catch (e) { e = 1; }",
- "try { throw 'stuff' } catch (e) { e = 1; } ",
- "try { throw 'stuff' } catch (e) { e = 1; };",
- "try { throw 'stuff' } catch (e) { e = 1; }; " ];
-
-
-function test9() {
- debugger;
- for (var i = 0; i < prefixes.length; ++i) {
- var pre = prefixes[i];
- for (var j = 0; j < bodies.length; ++j) {
- var body = bodies[j];
- eval(pre + body);
- eval("'use strict'; " + pre + body);
- }
- }
-}
-test9();
diff --git a/src/3rdparty/v8/test/mjsunit/debug-stepout-scope-part3.js b/src/3rdparty/v8/test/mjsunit/debug-stepout-scope-part3.js
deleted file mode 100644
index 16b085e..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-stepout-scope-part3.js
+++ /dev/null
@@ -1,80 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug --expose-natives-as=builtins
-
-// Check that the ScopeIterator can properly recreate the scope at
-// every point when stepping through functions.
-
-var Debug = debug.Debug;
-
-function listener(event, exec_state, event_data, data) {
- if (event == Debug.DebugEvent.Break) {
- // Access scope details.
- var scope_count = exec_state.frame().scopeCount();
- for (var i = 0; i < scope_count; i++) {
- var scope = exec_state.frame().scope(i);
- // assertTrue(scope.isScope());
- scope.scopeType();
- scope.scopeObject();
- }
-
- // Do steps until we reach the global scope again.
- if (true) {
- exec_state.prepareStep(Debug.StepAction.StepInMin, 1);
- }
- }
-}
-
-Debug.setListener(listener);
-
-var q = 42;
-var prefixes = [
- "debugger; ",
- "if (false) { try { throw 0; } catch(x) { return x; } }; debugger; " ];
-var with_bodies = [ "with ({}) {}",
- "with ({x:1}) x",
- "with ({x:1}) x = 1",
- "with ({x:1}) x ",
- "with ({x:1}) x = 1 ",
- "with ({x:1}) x;",
- "with ({x:1}) x = 1;",
- "with ({x:1}) x; ",
- "with ({x:1}) x = 1; " ];
-
-
-function test9() {
- debugger;
- for (var i = 0; i < prefixes.length; ++i) {
- var pre = prefixes[i];
- for (var j = 0; j < with_bodies.length; ++j) {
- var body = with_bodies[j];
- eval(pre + body);
- }
- }
-}
-test9();
diff --git a/src/3rdparty/v8/test/mjsunit/debug-stepout-scope-part4.js b/src/3rdparty/v8/test/mjsunit/debug-stepout-scope-part4.js
deleted file mode 100644
index 48f4347..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-stepout-scope-part4.js
+++ /dev/null
@@ -1,80 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug --expose-natives-as=builtins
-
-// Check that the ScopeIterator can properly recreate the scope at
-// every point when stepping through functions.
-
-var Debug = debug.Debug;
-
-function listener(event, exec_state, event_data, data) {
- if (event == Debug.DebugEvent.Break) {
- // Access scope details.
- var scope_count = exec_state.frame().scopeCount();
- for (var i = 0; i < scope_count; i++) {
- var scope = exec_state.frame().scope(i);
- // assertTrue(scope.isScope());
- scope.scopeType();
- scope.scopeObject();
- }
-
- // Do steps until we reach the global scope again.
- if (true) {
- exec_state.prepareStep(Debug.StepAction.StepInMin, 1);
- }
- }
-}
-
-Debug.setListener(listener);
-
-var q = 42;
-var prefixes = [
- "debugger; ",
- "if (false) { try { throw 0; } catch(x) { return x; } }; debugger; " ];
-var bodies = [ "1",
- "1 ",
- "1;",
- "1; ",
- "q",
- "q ",
- "q;",
- "q; ",
- "try { throw 'stuff' } catch (e) { e = 1; }",
- "try { throw 'stuff' } catch (e) { e = 1; } ",
- "try { throw 'stuff' } catch (e) { e = 1; };",
- "try { throw 'stuff' } catch (e) { e = 1; }; " ];
-
-
-// Test global eval and function constructor.
-for (var i = 0; i < prefixes.length; ++i) {
- var pre = prefixes[i];
- for (var j = 0; j < bodies.length; ++j) {
- var body = bodies[j];
- eval(pre + body);
- }
-}
diff --git a/src/3rdparty/v8/test/mjsunit/debug-stepout-scope-part5.js b/src/3rdparty/v8/test/mjsunit/debug-stepout-scope-part5.js
deleted file mode 100644
index f060ec3..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-stepout-scope-part5.js
+++ /dev/null
@@ -1,77 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug --expose-natives-as=builtins
-
-// Check that the ScopeIterator can properly recreate the scope at
-// every point when stepping through functions.
-
-var Debug = debug.Debug;
-
-function listener(event, exec_state, event_data, data) {
- if (event == Debug.DebugEvent.Break) {
- // Access scope details.
- var scope_count = exec_state.frame().scopeCount();
- for (var i = 0; i < scope_count; i++) {
- var scope = exec_state.frame().scope(i);
- // assertTrue(scope.isScope());
- scope.scopeType();
- scope.scopeObject();
- }
-
- // Do steps until we reach the global scope again.
- if (true) {
- exec_state.prepareStep(Debug.StepAction.StepInMin, 1);
- }
- }
-}
-
-Debug.setListener(listener);
-
-var q = 42;
-var prefixes = [ "debugger; ",
- "if (false) { try { throw 0; } catch(x) { return x; } }; debugger; " ];
-var with_bodies = [ "with ({}) {}",
- "with ({x:1}) x",
- "with ({x:1}) x = 1",
- "with ({x:1}) x ",
- "with ({x:1}) x = 1 ",
- "with ({x:1}) x;",
- "with ({x:1}) x = 1;",
- "with ({x:1}) x; ",
- "with ({x:1}) x = 1; " ];
-
-
-// Test global eval and function constructor.
-for (var i = 0; i < prefixes.length; ++i) {
- var pre = prefixes[i];
- for (var j = 0; j < with_bodies.length; ++j) {
- var body = with_bodies[j];
- eval(pre + body);
- Function(pre + body)();
- }
-}
diff --git a/src/3rdparty/v8/test/mjsunit/debug-stepout-scope-part6.js b/src/3rdparty/v8/test/mjsunit/debug-stepout-scope-part6.js
deleted file mode 100644
index f7c8df0..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-stepout-scope-part6.js
+++ /dev/null
@@ -1,79 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug --expose-natives-as=builtins
-
-// Check that the ScopeIterator can properly recreate the scope at
-// every point when stepping through functions.
-
-var Debug = debug.Debug;
-
-function listener(event, exec_state, event_data, data) {
- if (event == Debug.DebugEvent.Break) {
- // Access scope details.
- var scope_count = exec_state.frame().scopeCount();
- for (var i = 0; i < scope_count; i++) {
- var scope = exec_state.frame().scope(i);
- // assertTrue(scope.isScope());
- scope.scopeType();
- scope.scopeObject();
- }
-
- // Do steps until we reach the global scope again.
- if (true) {
- exec_state.prepareStep(Debug.StepAction.StepInMin, 1);
- }
- }
-}
-
-Debug.setListener(listener);
-
-var q = 42;
-var prefixes = [ "debugger; ",
- "if (false) { try { throw 0; } catch(x) { return x; } }; debugger; " ];
-var bodies = [ "1",
- "1 ",
- "1;",
- "1; ",
- "q",
- "q ",
- "q;",
- "q; ",
- "try { throw 'stuff' } catch (e) { e = 1; }",
- "try { throw 'stuff' } catch (e) { e = 1; } ",
- "try { throw 'stuff' } catch (e) { e = 1; };",
- "try { throw 'stuff' } catch (e) { e = 1; }; " ];
-
-
-// Test global eval and function constructor.
-for (var i = 0; i < prefixes.length; ++i) {
- var pre = prefixes[i];
- for (var j = 0; j < bodies.length; ++j) {
- var body = bodies[j];
- eval("'use strict'; " + pre + body);
- }
-}
diff --git a/src/3rdparty/v8/test/mjsunit/debug-stepout-scope-part7.js b/src/3rdparty/v8/test/mjsunit/debug-stepout-scope-part7.js
deleted file mode 100644
index 4f0c066..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-stepout-scope-part7.js
+++ /dev/null
@@ -1,79 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug --expose-natives-as=builtins
-
-// Check that the ScopeIterator can properly recreate the scope at
-// every point when stepping through functions.
-
-var Debug = debug.Debug;
-
-function listener(event, exec_state, event_data, data) {
- if (event == Debug.DebugEvent.Break) {
- // Access scope details.
- var scope_count = exec_state.frame().scopeCount();
- for (var i = 0; i < scope_count; i++) {
- var scope = exec_state.frame().scope(i);
- // assertTrue(scope.isScope());
- scope.scopeType();
- scope.scopeObject();
- }
-
- // Do steps until we reach the global scope again.
- if (true) {
- exec_state.prepareStep(Debug.StepAction.StepInMin, 1);
- }
- }
-}
-
-Debug.setListener(listener);
-
-var q = 42;
-var prefixes = [ "debugger; ",
- "if (false) { try { throw 0; } catch(x) { return x; } }; debugger; " ];
-var bodies = [ "1",
- "1 ",
- "1;",
- "1; ",
- "q",
- "q ",
- "q;",
- "q; ",
- "try { throw 'stuff' } catch (e) { e = 1; }",
- "try { throw 'stuff' } catch (e) { e = 1; } ",
- "try { throw 'stuff' } catch (e) { e = 1; };",
- "try { throw 'stuff' } catch (e) { e = 1; }; " ];
-
-
-// Test global eval and function constructor.
-for (var i = 0; i < prefixes.length; ++i) {
- var pre = prefixes[i];
- for (var j = 0; j < bodies.length; ++j) {
- var body = bodies[j];
- Function(pre + body)();
- }
-}
diff --git a/src/3rdparty/v8/test/mjsunit/debug-stepout-scope-part8.js b/src/3rdparty/v8/test/mjsunit/debug-stepout-scope-part8.js
deleted file mode 100644
index f91fab5..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-stepout-scope-part8.js
+++ /dev/null
@@ -1,234 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug --expose-natives-as=builtins
-
-// Check that the ScopeIterator can properly recreate the scope at
-// every point when stepping through functions.
-
-var Debug = debug.Debug;
-
-function listener(event, exec_state, event_data, data) {
- if (event == Debug.DebugEvent.Break) {
- // Access scope details.
- var scope_count = exec_state.frame().scopeCount();
- for (var i = 0; i < scope_count; i++) {
- var scope = exec_state.frame().scope(i);
- // assertTrue(scope.isScope());
- scope.scopeType();
- scope.scopeObject();
- }
-
- // Do steps until we reach the global scope again.
- if (true) {
- exec_state.prepareStep(Debug.StepAction.StepInMin, 1);
- }
- }
-}
-
-Debug.setListener(listener);
-
-
-function nop() {}
-
-
-function stress() {
- debugger;
-
- L: with ({x:12}) {
- break L;
- }
-
-
- with ({x: 'outer'}) {
- label: {
- with ({x: 'inner'}) {
- break label;
- }
- }
- }
-
-
- with ({x: 'outer'}) {
- label: {
- with ({x: 'inner'}) {
- break label;
- }
- }
- nop();
- }
-
-
- with ({x: 'outer'}) {
- label: {
- with ({x: 'middle'}) {
- with ({x: 'inner'}) {
- break label;
- }
- }
- }
- }
-
-
- with ({x: 'outer'}) {
- label: {
- with ({x: 'middle'}) {
- with ({x: 'inner'}) {
- break label;
- }
- }
- }
- nop();
- }
-
-
- with ({x: 'outer'}) {
- for (var i = 0; i < 3; ++i) {
- with ({x: 'inner' + i}) {
- continue;
- }
- }
- }
-
-
- with ({x: 'outer'}) {
- label: for (var i = 0; i < 3; ++i) {
- with ({x: 'middle' + i}) {
- for (var j = 0; j < 3; ++j) {
- with ({x: 'inner' + j}) {
- continue label;
- }
- }
- }
- }
- }
-
-
- with ({x: 'outer'}) {
- try {
- with ({x: 'inner'}) {
- throw 0;
- }
- } catch (e) {
- }
- }
-
-
- with ({x: 'outer'}) {
- try {
- with ({x: 'inner'}) {
- throw 0;
- }
- } catch (e) {
- nop();
- }
- }
-
-
- with ({x: 'outer'}) {
- try {
- with ({x: 'middle'}) {
- with ({x: 'inner'}) {
- throw 0;
- }
- }
- } catch (e) {
- }
- }
-
-
- try {
- with ({x: 'outer'}) {
- try {
- with ({x: 'inner'}) {
- throw 0;
- }
- } finally {
- }
- }
- } catch (e) {
- }
-
-
- try {
- with ({x: 'outer'}) {
- try {
- with ({x: 'inner'}) {
- throw 0;
- }
- } finally {
- nop();
- }
- }
- } catch (e) {
- }
-
-
- function stress1() {
- with ({x:12}) {
- return x;
- }
- }
- stress1();
-
-
- function stress2() {
- with ({x: 'outer'}) {
- with ({x: 'inner'}) {
- return x;
- }
- }
- }
- stress2();
-
- function stress3() {
- try {
- with ({x: 'inner'}) {
- throw 0;
- }
- } catch (e) {
- return e;
- }
- }
- stress3();
-
-
- function stress4() {
- try {
- with ({x: 'inner'}) {
- throw 0;
- }
- } catch (e) {
- with ({x: 'inner'}) {
- return e;
- }
- }
- }
- stress4();
-
-}
-stress();
diff --git a/src/3rdparty/v8/test/mjsunit/debug-stepout-to-builtin.js b/src/3rdparty/v8/test/mjsunit/debug-stepout-to-builtin.js
deleted file mode 100644
index 772fb4b..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-stepout-to-builtin.js
+++ /dev/null
@@ -1,84 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-var exception = null;
-var state = 1;
-var expected_source_line_text = null;
-var expected_function_name = null;
-
-// Simple debug event handler which first time will cause 'step out' action
-// and than check that execution is paused inside function
-// expected_function_name.
-function listener(event, exec_state, event_data, data) {
- try {
- if (event == Debug.DebugEvent.Break) {
- if (state == 1) {
- exec_state.prepareStep(Debug.StepAction.StepOut, 2);
- state = 2;
- } else if (state == 2) {
- assertEquals(expected_function_name, event_data.func().name());
- assertEquals(expected_source_line_text,
- event_data.sourceLineText());
- state = 3;
- }
- }
- } catch(e) {
- exception = e;
- }
-};
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-var obj = {key:10};
-
-function replacer(key, value) {
- if (key == 'key') {
- debugger;
- }
- return value;
-}
-
-// Test step into function call from a function without local variables.
-function testStepOutToBuiltIn() {
- expected_function_name = 'testStepOutToBuiltIn';
- expected_source_line_text = '} // expected line';
- JSON.stringify(obj, replacer);
-} // expected line
-
-state = 1;
-testStepOutToBuiltIn();
-assertNull(exception);
-assertEquals(3, state);
-
-// Get rid of the debug event listener.
-Debug.setListener(null);
diff --git a/src/3rdparty/v8/test/mjsunit/debug-suspend.js b/src/3rdparty/v8/test/mjsunit/debug-suspend.js
deleted file mode 100644
index 73a2e8c..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-suspend.js
+++ /dev/null
@@ -1,96 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-// Simple function which stores the last debug event.
-listenerComplete = false;
-exception = false;
-
-var base_backtrace_request = '"seq":0,"type":"request","command":"backtrace"'
-var base_suspend_request = '"seq":0,"type":"request","command":"suspend"'
-
-function safeEval(code) {
- try {
- return eval('(' + code + ')');
- } catch (e) {
- assertEquals(void 0, e);
- return undefined;
- }
-}
-
-function testArguments(exec_state) {
- // Get the debug command processor in running state.
- var dcp = exec_state.debugCommandProcessor(true);
-
- assertTrue(dcp.isRunning());
-
- var backtrace_request = '{' + base_backtrace_request + '}'
- var backtrace_response = safeEval(dcp.processDebugJSONRequest(backtrace_request));
-
- assertTrue(backtrace_response.success);
-
- assertTrue(backtrace_response.running, backtrace_request + ' -> expected running');
-
- assertTrue(dcp.isRunning());
-
- var suspend_request = '{' + base_suspend_request + '}'
- var suspend_response = safeEval(dcp.processDebugJSONRequest(suspend_request));
-
- assertTrue(suspend_response.success);
-
- assertFalse(suspend_response.running, suspend_request + ' -> expected not running');
-
- assertFalse(dcp.isRunning());
-}
-
-function listener(event, exec_state, event_data, data) {
- try {
- if (event == Debug.DebugEvent.Break) {
-
- // Test simple suspend request.
- testArguments(exec_state);
-
- // Indicate that all was processed.
- listenerComplete = true;
- }
- } catch (e) {
- exception = e
- };
-};
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-// Stop debugger and check that suspend command changes running flag.
-debugger;
-
-assertFalse(exception, "exception in listener")
-// Make sure that the debug event listener vas invoked.
-assertTrue(listenerComplete, "listener did not run to completion");
diff --git a/src/3rdparty/v8/test/mjsunit/debug-version.js b/src/3rdparty/v8/test/mjsunit/debug-version.js
deleted file mode 100644
index b1bc1e8..0000000
--- a/src/3rdparty/v8/test/mjsunit/debug-version.js
+++ /dev/null
@@ -1,90 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-// Simple function which stores the last debug event.
-listenerComplete = false;
-exception = false;
-
-var base_version_request = '"seq":0,"type":"request","command":"version"'
-
-function safeEval(code) {
- try {
- return eval('(' + code + ')');
- } catch (e) {
- assertEquals(void 0, e);
- return undefined;
- }
-}
-
-function testArguments(exec_state) {
- // Get the debug command processor in running state.
- var dcp = exec_state.debugCommandProcessor(true);
-
- assertTrue(dcp.isRunning());
-
- var version_request = '{' + base_version_request + '}'
- var version_response = safeEval(dcp.processDebugJSONRequest(version_request));
-
- assertTrue(version_response.success);
-
- var version_string = version_response.body.V8Version;
-
- assertTrue(!!version_string, version_request + ' -> expected version string');
-
- var version_pattern = /^\d*\.\d*\.\d*/;
-
- assertTrue(!!(version_string.match(version_pattern)), "unexpected format of version: " + version_string);
-}
-
-function listener(event, exec_state, event_data, data) {
- try {
- if (event == Debug.DebugEvent.Break) {
-
- // Test simple suspend request.
- testArguments(exec_state);
-
- // Indicate that all was processed.
- listenerComplete = true;
- }
- } catch (e) {
- exception = e
- };
-};
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-// Stop debugger and check that suspend command changes running flag.
-debugger;
-
-assertFalse(exception, "exception in listener")
-// Make sure that the debug event listener vas invoked.
-assertTrue(listenerComplete, "listener did not run to completion");
diff --git a/src/3rdparty/v8/test/mjsunit/declare-locally.js b/src/3rdparty/v8/test/mjsunit/declare-locally.js
deleted file mode 100644
index 20bfe6d..0000000
--- a/src/3rdparty/v8/test/mjsunit/declare-locally.js
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Make sure that we're not overwriting global
-// properties defined in the prototype chain too
-// early when shadowing them with var/const
-// declarations.
-
-// This exercises the code in runtime.cc in
-// DeclareGlobal...Locally().
-
-// Flags: --es52_globals
-
-this.__proto__.foo = 42;
-this.__proto__.bar = 87;
-
-eval("assertEquals(undefined, foo); var foo = 87;");
-assertEquals(87, foo);
-
-eval("assertEquals(undefined, bar); const bar = 42;");
-assertEquals(42, bar);
diff --git a/src/3rdparty/v8/test/mjsunit/deep-recursion.js b/src/3rdparty/v8/test/mjsunit/deep-recursion.js
deleted file mode 100644
index 588b5d6..0000000
--- a/src/3rdparty/v8/test/mjsunit/deep-recursion.js
+++ /dev/null
@@ -1,66 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-/**
- * @fileoverview Check that flattening deep trees of cons strings does not
- * cause stack overflows.
- */
-
-function newdeep(start, depth) {
- var d = start;
- for (var i = 0; i < depth; i++) {
- d = d + "f";
- }
- return d;
-}
-
-var default_depth = 110000;
-
-var deep = newdeep("foo", default_depth);
-assertEquals('f', deep[0]);
-
-var cmp1 = newdeep("a", default_depth);
-var cmp2 = newdeep("b", default_depth);
-
-assertEquals(-1, cmp1.localeCompare(cmp2), "ab");
-
-var cmp2empty = newdeep("c", default_depth);
-assertTrue(cmp2empty.localeCompare("") > 0, "c");
-
-var cmp3empty = newdeep("d", default_depth);
-assertTrue("".localeCompare(cmp3empty) < 0), "d";
-
-var slicer_depth = 1100;
-
-var slicer = newdeep("slice", slicer_depth);
-
-for (i = 0; i < slicer_depth + 4; i += 2) {
- slicer = slicer.slice(1, -1);
-}
-
-assertEquals("f", slicer[0]);
-assertEquals(1, slicer.length);
diff --git a/src/3rdparty/v8/test/mjsunit/define-property-gc.js b/src/3rdparty/v8/test/mjsunit/define-property-gc.js
deleted file mode 100644
index b38164d..0000000
--- a/src/3rdparty/v8/test/mjsunit/define-property-gc.js
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Tests the handling of GC issues in the defineProperty method.
-// Flags: --max-new-space-size=256
-
-function Regular() {
- this[0] = 0;
- this[1] = 1;
-}
-
-
-function foo() {
- var descElementNonWritable = { value: 'foofoo', writable: false };
- for (var i = 0; i < 1000; i++) {
- var regular = new Regular();
- Object.defineProperty(regular, '1', descElementNonWritable);
- }
-}
-
-foo();
diff --git a/src/3rdparty/v8/test/mjsunit/delay-syntax-error.js b/src/3rdparty/v8/test/mjsunit/delay-syntax-error.js
deleted file mode 100644
index 64cc142..0000000
--- a/src/3rdparty/v8/test/mjsunit/delay-syntax-error.js
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// To be compatible with JSC syntax errors for illegal returns should be delayed
-// to runtime.
-// Invalid continue and break statements are caught at compile time.
-
-// Do not throw syntax errors for illegal return at compile time.
-assertDoesNotThrow("if (false) return;");
-
-// Throw syntax errors for illegal break and continue at compile time.
-assertThrows("if (false) break;");
-assertThrows("if (false) continue;");
-
-// Throw syntax errors for illegal return, break and continue at runtime.
-assertThrows("return;");
-assertThrows("break;");
-assertThrows("continue;");
diff --git a/src/3rdparty/v8/test/mjsunit/delete-global-properties.js b/src/3rdparty/v8/test/mjsunit/delete-global-properties.js
deleted file mode 100644
index 2acf591..0000000
--- a/src/3rdparty/v8/test/mjsunit/delete-global-properties.js
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Global properties declared with 'var' or 'function' should not be
-// deleteable.
-var tmp;
-assertFalse(delete tmp); // should be DONT_DELETE
-assertTrue("tmp" in this);
-function f() { return 1; }
-assertFalse(delete f); // should be DONT_DELETE
-assertEquals(1, f());
-
-// Check that deleting and reintroducing global variables works.
-// Get into the IC case for storing to a deletable global property.
-function introduce_x() { x = 42; }
-for (var i = 0; i < 10; i++) introduce_x();
-// Check that the property has been introduced.
-assertTrue(this.hasOwnProperty('x'));
-// Check that deletion works.
-delete x;
-assertFalse(this.hasOwnProperty('x'));
-// Check that reintroduction works.
-introduce_x();
-assertTrue(this.hasOwnProperty('x'));
diff --git a/src/3rdparty/v8/test/mjsunit/delete-in-eval.js b/src/3rdparty/v8/test/mjsunit/delete-in-eval.js
deleted file mode 100644
index 9278013..0000000
--- a/src/3rdparty/v8/test/mjsunit/delete-in-eval.js
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Should be able to delete properties in the context through eval().
-tmp = 0;
-assertTrue(eval("delete XXX")); // non-existing
-assertTrue(eval("delete tmp")); // existing
-assertFalse("tmp" in this);
diff --git a/src/3rdparty/v8/test/mjsunit/delete-in-with.js b/src/3rdparty/v8/test/mjsunit/delete-in-with.js
deleted file mode 100644
index cbcfe99..0000000
--- a/src/3rdparty/v8/test/mjsunit/delete-in-with.js
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// It should be possible to delete properties of 'with' context
-// objects from within 'with' statements.
-(function(){
- var tmp = { x: 12 };
- with (tmp) { assertTrue(delete x); }
- assertFalse("x" in tmp);
-})();
diff --git a/src/3rdparty/v8/test/mjsunit/delete-non-configurable.js b/src/3rdparty/v8/test/mjsunit/delete-non-configurable.js
deleted file mode 100644
index 8991f43..0000000
--- a/src/3rdparty/v8/test/mjsunit/delete-non-configurable.js
+++ /dev/null
@@ -1,74 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Delete elements of a String object.
-var TIPLI = "tipli"
-var so = new String(TIPLI);
-var length = so.length;
-
-for (var i = 0; i < length; i++) {
- assertFalse(delete so[i]);
- assertThrows("'use strict'; delete so[i];", TypeError);
- assertFalse(delete so[i.toString()]);
- assertThrows("'use strict'; delete so[i.toString()];", TypeError);
-}
-
-assertEquals(length, so.length);
-assertEquals(new String(TIPLI), so);
-
-// Delete elements of an Array.
-var arr = new Array(length);
-
-for (var i = 0; i < length; i++) {
- arr[i] = i;
- Object.defineProperty(arr, i, { configurable: false });
-}
-
-for (var i = 0; i < length; i++) {
- assertFalse(delete arr[i]);
- assertThrows("'use strict'; delete arr[i];", TypeError);
- assertFalse(delete arr[i.toString()]);
- assertThrows("'use strict'; delete arr[i.toString()];", TypeError);
- assertEquals(i, arr[i]);
-}
-
-assertEquals(length, arr.length);
-assertTrue(delete arr[length]);
-
-// Delete an element of an Object.
-var INDEX = 28;
-var obj = new Object();
-
-obj[INDEX] = TIPLI;
-Object.defineProperty(obj, INDEX, { configurable: false });
-
-assertFalse(delete obj[INDEX]);
-assertThrows("'use strict'; delete obj[INDEX];", TypeError);
-assertFalse(delete obj[INDEX.toString()]);
-assertThrows("'use strict'; delete obj[INDEX.toString()];", TypeError);
-assertEquals(TIPLI, obj[INDEX]);
-assertTrue(delete arr[INDEX+1]);
diff --git a/src/3rdparty/v8/test/mjsunit/delete-vars-from-eval.js b/src/3rdparty/v8/test/mjsunit/delete-vars-from-eval.js
deleted file mode 100644
index a457466..0000000
--- a/src/3rdparty/v8/test/mjsunit/delete-vars-from-eval.js
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Variable declarations in eval() must introduce delete-able vars;
-// even when they are local to a function.
-(function() {
- eval("var tmp0 = 0");
- assertEquals(0, tmp0);
- assertTrue(delete tmp0);
- assertTrue(typeof(tmp0) == 'undefined');
-})();
-
-eval("var tmp1 = 1");
-assertEquals(1, tmp1);
-assertTrue(delete tmp1);
-assertTrue(typeof(tmp1) == 'undefined');
diff --git a/src/3rdparty/v8/test/mjsunit/delete.js b/src/3rdparty/v8/test/mjsunit/delete.js
deleted file mode 100644
index 8d4636a..0000000
--- a/src/3rdparty/v8/test/mjsunit/delete.js
+++ /dev/null
@@ -1,180 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// We use the has() function to avoid relying on a functioning
-// implementation of 'in'.
-function has(o, k) { return typeof o[k] !== 'undefined'; }
-
-assertTrue(delete null);
-assertTrue(delete 2);
-assertTrue(delete 'foo');
-assertTrue(delete Number(7));
-assertTrue(delete new Number(8));
-
-assertTrue(delete {}.x);
-assertTrue(delete {}.y);
-assertTrue(delete {}.toString);
-
-x = 42;
-assertEquals(42, x);
-assertTrue(delete x);
-assertTrue(typeof x === 'undefined', "x is gone");
-
-var y = 87; // should have DontDelete attribute
-assertEquals(87, y);
-assertFalse(delete y, "don't delete");
-assertFalse(typeof y === 'undefined');
-assertEquals(87, y);
-
-var o = { x: 42, y: 87 };
-assertTrue(has(o, 'x'));
-assertTrue(has(o, 'y'));
-assertTrue(delete o.x);
-assertFalse(has(o, 'x'));
-assertTrue(has(o, 'y'));
-assertTrue(delete o['y']);
-assertFalse(has(o, 'x'));
-assertFalse(has(o, 'y'));
-
-
-var o = {};
-for (var i = 0x0020; i < 0x02ff; i+=2) {
- o[String.fromCharCode(i)] = i;
- o[String.fromCharCode(i+1)] = i+1;
-}
-for (var i = 0x0020; i < 0x02ff; i+=2) {
- assertTrue(delete o[String.fromCharCode(i)]);
-}
-for (var i = 0x0020; i < 0x02ff; i+=2) {
- assertFalse(has(o, String.fromCharCode(i)), "deleted (" + i + ")");
- assertTrue(has(o, String.fromCharCode(i+1)), "still here (" + i + ")");
-}
-
-
-var a = [0,1,2];
-assertTrue(has(a, 0));
-assertTrue(delete a[0]);
-assertFalse(has(a, 0), "delete 0");
-assertEquals(1, a[1]);
-assertEquals(2, a[2]);
-assertTrue(delete a[100], "delete 100");
-assertTrue(delete a[Math.pow(2,31)-1], "delete 2^31-1");
-assertFalse(has(a, 0), "delete 0");
-assertEquals(1, a[1]);
-assertEquals(2, a[2]);
-
-
-var a = [0,1,2];
-assertEquals(3, a.length);
-assertTrue(delete a[2]);
-assertEquals(3, a.length);
-assertTrue(delete a[0]);
-assertEquals(3, a.length);
-assertTrue(delete a[1]);
-assertEquals(3, a.length);
-
-
-var o = {};
-o[Math.pow(2,30)-1] = 0;
-o[Math.pow(2,31)-1] = 0;
-o[1] = 0;
-assertTrue(delete o[0]);
-assertTrue(delete o[Math.pow(2,30)]);
-assertFalse(has(o, 0), "delete 0");
-assertFalse(has(o, Math.pow(2,30)));
-assertTrue(has(o, 1));
-assertTrue(has(o, Math.pow(2,30)-1));
-assertTrue(has(o, Math.pow(2,31)-1));
-
-assertTrue(delete o[Math.pow(2,30)-1]);
-assertTrue(has(o, 1));
-assertFalse(has(o, Math.pow(2,30)-1), "delete 2^30-1");
-assertTrue(has(o, Math.pow(2,31)-1));
-
-assertTrue(delete o[1]);
-assertFalse(has(o, 1), "delete 1");
-assertFalse(has(o, Math.pow(2,30)-1), "delete 2^30-1");
-assertTrue(has(o, Math.pow(2,31)-1));
-
-assertTrue(delete o[Math.pow(2,31)-1]);
-assertFalse(has(o, 1), "delete 1");
-assertFalse(has(o, Math.pow(2,30)-1), "delete 2^30-1");
-assertFalse(has(o, Math.pow(2,31)-1), "delete 2^31-1");
-
-
-var a = [];
-a[Math.pow(2,30)-1] = 0;
-a[Math.pow(2,31)-1] = 0;
-a[1] = 0;
-assertTrue(delete a[0]);
-assertTrue(delete a[Math.pow(2,30)]);
-assertFalse(has(a, 0), "delete 0");
-assertFalse(has(a, Math.pow(2,30)), "delete 2^30");
-assertTrue(has(a, 1));
-assertTrue(has(a, Math.pow(2,30)-1));
-assertTrue(has(a, Math.pow(2,31)-1));
-assertEquals(Math.pow(2,31), a.length);
-
-assertTrue(delete a[Math.pow(2,30)-1]);
-assertTrue(has(a, 1));
-assertFalse(has(a, Math.pow(2,30)-1), "delete 2^30-1");
-assertTrue(has(a, Math.pow(2,31)-1));
-assertEquals(Math.pow(2,31), a.length);
-
-assertTrue(delete a[1]);
-assertFalse(has(a, 1), "delete 1");
-assertFalse(has(a, Math.pow(2,30)-1), "delete 2^30-1");
-assertTrue(has(a, Math.pow(2,31)-1));
-assertEquals(Math.pow(2,31), a.length);
-
-assertTrue(delete a[Math.pow(2,31)-1]);
-assertFalse(has(a, 1), "delete 1");
-assertFalse(has(a, Math.pow(2,30)-1), "delete 2^30-1");
-assertFalse(has(a, Math.pow(2,31)-1), "delete 2^31-1");
-assertEquals(Math.pow(2,31), a.length);
-
-// Check that a LoadIC for a dictionary field works, even
-// when the dictionary probe misses.
-function load_deleted_property_using_IC() {
- var x = new Object();
- x.a = 3;
- x.b = 4;
- x.c = 5;
-
- delete x.c;
- assertEquals(3, load_a(x));
- assertEquals(3, load_a(x));
- delete x.a;
- assertTrue(typeof load_a(x) === 'undefined', "x.a is gone");
- assertTrue(typeof load_a(x) === 'undefined', "x.a is gone");
-}
-
-function load_a(x) {
- return x.a;
-}
-
-load_deleted_property_using_IC();
diff --git a/src/3rdparty/v8/test/mjsunit/deopt-minus-zero.js b/src/3rdparty/v8/test/mjsunit/deopt-minus-zero.js
deleted file mode 100644
index ee09831..0000000
--- a/src/3rdparty/v8/test/mjsunit/deopt-minus-zero.js
+++ /dev/null
@@ -1,56 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --expose-gc
-
-/**
- * The possible optimization states of a function. Must be in sync with the
- * return values of Runtime_GetOptimizationStatus() in runtime.cc!
- */
-var OptimizationState = {
- YES: 1,
- NO: 2,
- ALWAYS: 3,
- NEVER: 4
-};
-
-function mul (a, b) {
- return a * b;
-}
-
-mul(-1, -1);
-mul(0x80000001|0, -1);
-mul(0x80000001|0, -1);
-%OptimizeFunctionOnNextCall(mul);
-mul(0, -1);
-%OptimizeFunctionOnNextCall(mul);
-mul(0, -1);
-
-var raw_optimized = %GetOptimizationStatus(mul);
-assertFalse(raw_optimized == OptimizationState.NO);
-gc();
-
diff --git a/src/3rdparty/v8/test/mjsunit/div-mod.js b/src/3rdparty/v8/test/mjsunit/div-mod.js
deleted file mode 100644
index c314495..0000000
--- a/src/3rdparty/v8/test/mjsunit/div-mod.js
+++ /dev/null
@@ -1,304 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test fast div and mod.
-
-function divmod(div_func, mod_func, x, y) {
- var div_answer = (div_func)(x);
- assertEquals(x / y, div_answer, x + "/" + y);
- var mod_answer = (mod_func)(x);
- assertEquals(x % y, mod_answer, x + "%" + y);
- var minus_div_answer = (div_func)(-x);
- assertEquals(-x / y, minus_div_answer, "-" + x + "/" + y);
- var minus_mod_answer = (mod_func)(-x);
- assertEquals(-x % y, minus_mod_answer, "-" + x + "%" + y);
-}
-
-
-function run_tests_for(divisor) {
- print("(function(left) { return left / " + divisor + "; })");
- var div_func = this.eval("(function(left) { return left / " + divisor + "; })");
- var mod_func = this.eval("(function(left) { return left % " + divisor + "; })");
- var exp;
- // Strange number test.
- divmod(div_func, mod_func, 0, divisor);
- divmod(div_func, mod_func, 1 / 0, divisor);
- // Floating point number test.
- for (exp = -1024; exp <= 1024; exp += 8) {
- divmod(div_func, mod_func, Math.pow(2, exp), divisor);
- divmod(div_func, mod_func, 0.9999999 * Math.pow(2, exp), divisor);
- divmod(div_func, mod_func, 1.0000001 * Math.pow(2, exp), divisor);
- }
- // Integer number test.
- for (exp = 0; exp <= 32; exp++) {
- divmod(div_func, mod_func, 1 << exp, divisor);
- divmod(div_func, mod_func, (1 << exp) + 1, divisor);
- divmod(div_func, mod_func, (1 << exp) - 1, divisor);
- }
- divmod(div_func, mod_func, Math.floor(0x1fffffff / 3), divisor);
- divmod(div_func, mod_func, Math.floor(-0x20000000 / 3), divisor);
-}
-
-
-var divisors = [
- 0,
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 0x1000000,
- 0x40000000,
- 12,
- 60,
- 100,
- 1000 * 60 * 60 * 24];
-
-for (var i = 0; i < divisors.length; i++) {
- run_tests_for(divisors[i]);
-}
-
-// Test extreme corner cases of modulo.
-
-// Computes the modulo by slow but lossless operations.
-function compute_mod(dividend, divisor) {
- // Return NaN if either operand is NaN, if divisor is 0 or
- // dividend is an infinity. Return dividend if divisor is an infinity.
- if (isNaN(dividend) || isNaN(divisor) || divisor == 0) { return NaN; }
- var sign = 1;
- if (dividend < 0) { dividend = -dividend; sign = -1; }
- if (dividend == Infinity) { return NaN; }
- if (divisor < 0) { divisor = -divisor; }
- if (divisor == Infinity) { return sign * dividend; }
- function rec_mod(a, b) {
- // Subtracts maximal possible multiplum of b from a.
- if (a >= b) {
- a = rec_mod(a, 2 * b);
- if (a >= b) { a -= b; }
- }
- return a;
- }
- return sign * rec_mod(dividend, divisor);
-}
-
-(function () {
- var large_non_smi = 1234567891234.12245;
- var small_non_smi = 43.2367243;
- var repeating_decimal = 0.3;
- var finite_decimal = 0.5;
- var smi = 43;
- var power_of_two = 64;
- var min_normal = Number.MIN_VALUE * Math.pow(2, 52);
- var max_denormal = Number.MIN_VALUE * (Math.pow(2, 52) - 1);
-
- // All combinations of NaN, Infinity, normal, denormal and zero.
- var example_numbers = [
- NaN,
- 0,
- Number.MIN_VALUE,
- 3 * Number.MIN_VALUE,
- max_denormal,
- min_normal,
- repeating_decimal,
- finite_decimal,
- smi,
- power_of_two,
- small_non_smi,
- large_non_smi,
- Number.MAX_VALUE,
- Infinity
- ];
-
- function doTest(a, b) {
- var exp = compute_mod(a, b);
- var act = a % b;
- assertEquals(exp, act, a + " % " + b);
- }
-
- for (var i = 0; i < example_numbers.length; i++) {
- for (var j = 0; j < example_numbers.length; j++) {
- var a = example_numbers[i];
- var b = example_numbers[j];
- doTest(a,b);
- doTest(-a,b);
- doTest(a,-b);
- doTest(-a,-b);
- }
- }
-})();
-
-
-(function () {
- // Edge cases
- var zero = 0;
- var minsmi32 = -0x40000000;
- var minsmi64 = -0x80000000;
- var somenum = 3532;
- assertEquals(-0, zero / -1, "0 / -1");
- assertEquals(1, minsmi32 / -0x40000000, "minsmi/minsmi-32");
- assertEquals(1, minsmi64 / -0x80000000, "minsmi/minsmi-64");
- assertEquals(somenum, somenum % -0x40000000, "%minsmi-32");
- assertEquals(somenum, somenum % -0x80000000, "%minsmi-64");
-})();
-
-
-// Side-effect-free expressions containing bit operations use
-// an optimized compiler with int32 values. Ensure that modulus
-// produces negative zeros correctly.
-function negative_zero_modulus_test() {
- var x = 4;
- var y = -4;
- x = x + x - x;
- y = y + y - y;
- var z = (y | y | y | y) % x;
- assertEquals(-1 / 0, 1 / z);
- z = (x | x | x | x) % x;
- assertEquals(1 / 0, 1 / z);
- z = (y | y | y | y) % y;
- assertEquals(-1 / 0, 1 / z);
- z = (x | x | x | x) % y;
- assertEquals(1 / 0, 1 / z);
-}
-
-negative_zero_modulus_test();
-
-
-function lithium_integer_mod() {
- var left_operands = [
- 0,
- 305419896, // 0x12345678
- ];
-
- // Test the standard lithium code for modulo opeartions.
- var mod_func;
- for (var i = 0; i < left_operands.length; i++) {
- for (var j = 0; j < divisors.length; j++) {
- mod_func = this.eval("(function(left) { return left % " + divisors[j]+ "; })");
- assertEquals((mod_func)(left_operands[i]), left_operands[i] % divisors[j]);
- assertEquals((mod_func)(-left_operands[i]), -left_operands[i] % divisors[j]);
- }
- }
-
- var results_powers_of_two = [
- // 0
- [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
- // 305419896 == 0x12345678
- [0, 0, 0, 8, 24, 56, 120, 120, 120, 632, 1656, 1656, 5752, 5752, 22136, 22136, 22136, 22136, 284280, 284280, 1332856, 3430008, 3430008, 3430008, 3430008, 36984440, 36984440, 36984440, 305419896, 305419896, 305419896],
- ];
-
- // Test the lithium code for modulo operations with a variable power of two
- // right hand side operand.
- for (var i = 0; i < left_operands.length; i++) {
- for (var j = 0; j < 31; j++) {
- assertEquals(results_powers_of_two[i][j], left_operands[i] % (2 << j));
- assertEquals(results_powers_of_two[i][j], left_operands[i] % -(2 << j));
- assertEquals(-results_powers_of_two[i][j], -left_operands[i] % (2 << j));
- assertEquals(-results_powers_of_two[i][j], -left_operands[i] % -(2 << j));
- }
- }
-
- // Test the lithium code for modulo operations with a constant power of two
- // right hand side operand.
- for (var i = 0; i < left_operands.length; i++) {
- // With positive left hand side operand.
- assertEquals(results_powers_of_two[i][0], left_operands[i] % -(2 << 0));
- assertEquals(results_powers_of_two[i][1], left_operands[i] % (2 << 1));
- assertEquals(results_powers_of_two[i][2], left_operands[i] % -(2 << 2));
- assertEquals(results_powers_of_two[i][3], left_operands[i] % (2 << 3));
- assertEquals(results_powers_of_two[i][4], left_operands[i] % -(2 << 4));
- assertEquals(results_powers_of_two[i][5], left_operands[i] % (2 << 5));
- assertEquals(results_powers_of_two[i][6], left_operands[i] % -(2 << 6));
- assertEquals(results_powers_of_two[i][7], left_operands[i] % (2 << 7));
- assertEquals(results_powers_of_two[i][8], left_operands[i] % -(2 << 8));
- assertEquals(results_powers_of_two[i][9], left_operands[i] % (2 << 9));
- assertEquals(results_powers_of_two[i][10], left_operands[i] % -(2 << 10));
- assertEquals(results_powers_of_two[i][11], left_operands[i] % (2 << 11));
- assertEquals(results_powers_of_two[i][12], left_operands[i] % -(2 << 12));
- assertEquals(results_powers_of_two[i][13], left_operands[i] % (2 << 13));
- assertEquals(results_powers_of_two[i][14], left_operands[i] % -(2 << 14));
- assertEquals(results_powers_of_two[i][15], left_operands[i] % (2 << 15));
- assertEquals(results_powers_of_two[i][16], left_operands[i] % -(2 << 16));
- assertEquals(results_powers_of_two[i][17], left_operands[i] % (2 << 17));
- assertEquals(results_powers_of_two[i][18], left_operands[i] % -(2 << 18));
- assertEquals(results_powers_of_two[i][19], left_operands[i] % (2 << 19));
- assertEquals(results_powers_of_two[i][20], left_operands[i] % -(2 << 20));
- assertEquals(results_powers_of_two[i][21], left_operands[i] % (2 << 21));
- assertEquals(results_powers_of_two[i][22], left_operands[i] % -(2 << 22));
- assertEquals(results_powers_of_two[i][23], left_operands[i] % (2 << 23));
- assertEquals(results_powers_of_two[i][24], left_operands[i] % -(2 << 24));
- assertEquals(results_powers_of_two[i][25], left_operands[i] % (2 << 25));
- assertEquals(results_powers_of_two[i][26], left_operands[i] % -(2 << 26));
- assertEquals(results_powers_of_two[i][27], left_operands[i] % (2 << 27));
- assertEquals(results_powers_of_two[i][28], left_operands[i] % -(2 << 28));
- assertEquals(results_powers_of_two[i][29], left_operands[i] % (2 << 29));
- assertEquals(results_powers_of_two[i][30], left_operands[i] % -(2 << 30));
- // With negative left hand side operand.
- assertEquals(-results_powers_of_two[i][0], -left_operands[i] % -(2 << 0));
- assertEquals(-results_powers_of_two[i][1], -left_operands[i] % (2 << 1));
- assertEquals(-results_powers_of_two[i][2], -left_operands[i] % -(2 << 2));
- assertEquals(-results_powers_of_two[i][3], -left_operands[i] % (2 << 3));
- assertEquals(-results_powers_of_two[i][4], -left_operands[i] % -(2 << 4));
- assertEquals(-results_powers_of_two[i][5], -left_operands[i] % (2 << 5));
- assertEquals(-results_powers_of_two[i][6], -left_operands[i] % -(2 << 6));
- assertEquals(-results_powers_of_two[i][7], -left_operands[i] % (2 << 7));
- assertEquals(-results_powers_of_two[i][8], -left_operands[i] % -(2 << 8));
- assertEquals(-results_powers_of_two[i][9], -left_operands[i] % (2 << 9));
- assertEquals(-results_powers_of_two[i][10], -left_operands[i] % -(2 << 10));
- assertEquals(-results_powers_of_two[i][11], -left_operands[i] % (2 << 11));
- assertEquals(-results_powers_of_two[i][12], -left_operands[i] % -(2 << 12));
- assertEquals(-results_powers_of_two[i][13], -left_operands[i] % (2 << 13));
- assertEquals(-results_powers_of_two[i][14], -left_operands[i] % -(2 << 14));
- assertEquals(-results_powers_of_two[i][15], -left_operands[i] % (2 << 15));
- assertEquals(-results_powers_of_two[i][16], -left_operands[i] % -(2 << 16));
- assertEquals(-results_powers_of_two[i][17], -left_operands[i] % (2 << 17));
- assertEquals(-results_powers_of_two[i][18], -left_operands[i] % -(2 << 18));
- assertEquals(-results_powers_of_two[i][19], -left_operands[i] % (2 << 19));
- assertEquals(-results_powers_of_two[i][20], -left_operands[i] % -(2 << 20));
- assertEquals(-results_powers_of_two[i][21], -left_operands[i] % (2 << 21));
- assertEquals(-results_powers_of_two[i][22], -left_operands[i] % -(2 << 22));
- assertEquals(-results_powers_of_two[i][23], -left_operands[i] % (2 << 23));
- assertEquals(-results_powers_of_two[i][24], -left_operands[i] % -(2 << 24));
- assertEquals(-results_powers_of_two[i][25], -left_operands[i] % (2 << 25));
- assertEquals(-results_powers_of_two[i][26], -left_operands[i] % -(2 << 26));
- assertEquals(-results_powers_of_two[i][27], -left_operands[i] % (2 << 27));
- assertEquals(-results_powers_of_two[i][28], -left_operands[i] % -(2 << 28));
- assertEquals(-results_powers_of_two[i][29], -left_operands[i] % (2 << 29));
- assertEquals(-results_powers_of_two[i][30], -left_operands[i] % -(2 << 30));
- }
-
-}
-
-lithium_integer_mod();
-%OptimizeFunctionOnNextCall(lithium_integer_mod)
-lithium_integer_mod();
diff --git a/src/3rdparty/v8/test/mjsunit/do-not-strip-fc.js b/src/3rdparty/v8/test/mjsunit/do-not-strip-fc.js
deleted file mode 100644
index 1aef28c..0000000
--- a/src/3rdparty/v8/test/mjsunit/do-not-strip-fc.js
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Make sure we do not remove unicode format-control characters
-// from string literals.
-assertEquals(7, eval("'foo\u200dbar'").length);
-assertEquals(7, eval("'foo\u200cbar'").length);
diff --git a/src/3rdparty/v8/test/mjsunit/dont-enum-array-holes.js b/src/3rdparty/v8/test/mjsunit/dont-enum-array-holes.js
deleted file mode 100644
index 4761dc4..0000000
--- a/src/3rdparty/v8/test/mjsunit/dont-enum-array-holes.js
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Do not enum holes in arrays.
-var count = 0;
-for (var i in [,1,,3]) count++;
-assertEquals(2, count);
-
-count = 0;
-for (var i in new Array(10)) count++;
-assertEquals(0, count);
diff --git a/src/3rdparty/v8/test/mjsunit/dont-reinit-global-var.js b/src/3rdparty/v8/test/mjsunit/dont-reinit-global-var.js
deleted file mode 100644
index 1e3c1a0..0000000
--- a/src/3rdparty/v8/test/mjsunit/dont-reinit-global-var.js
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var foo = 'fisk';
-assertEquals('fisk', foo);
-var foo;
-assertEquals('fisk', foo);
-var foo = 'hest';
-assertEquals('hest', foo);
-
-this.bar = 'fisk';
-assertEquals('fisk', bar);
-var bar;
-assertEquals('fisk', bar);
-var bar = 'hest';
-assertEquals('hest', bar);
-
-this.baz = 'fisk';
-assertEquals('fisk', baz);
-eval('var baz;');
-assertEquals('fisk', baz);
-eval('var baz = "hest";');
-assertEquals('hest', baz);
diff --git a/src/3rdparty/v8/test/mjsunit/double-equals.js b/src/3rdparty/v8/test/mjsunit/double-equals.js
deleted file mode 100644
index 5ebf92c..0000000
--- a/src/3rdparty/v8/test/mjsunit/double-equals.js
+++ /dev/null
@@ -1,236 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-/**
- * This test uses assert{True,False}(... == ...) instead of
- * assertEquals(..., ...) to not rely on the details of the
- * implementation of assertEquals.
- */
-
-function testEqual(a, b) {
- assertTrue(a == b);
- assertTrue(b == a);
- assertFalse(a != b);
- assertFalse(b != a);
-}
-
-function testNotEqual(a, b) {
- assertFalse(a == b);
- assertFalse(b == a);
- assertTrue(a != b);
- assertTrue(b != a);
-}
-
-// Object where ToPrimitive returns value.
-function Wrapper(value) {
- this.value = value;
- this.valueOf = function () { return this.value; };
-}
-
-// Object where ToPrimitive returns value by failover to toString when
-// valueOf isn't a function.
-function Wrapper2(value) {
- this.value = value;
- this.valueOf = null;
- this.toString = function () { return this.value; };
-}
-
-
-// Compare values of same type.
-
-// Numbers are equal if same, unless NaN, which isn't equal to anything, and
-// +/-0 being equal.
-
-testNotEqual(NaN, NaN);
-testNotEqual(NaN, 0);
-testNotEqual(NaN, Infinity);
-
-testEqual(Number.MAX_VALUE, Number.MAX_VALUE);
-testEqual(Number.MIN_VALUE, Number.MIN_VALUE);
-testEqual(Infinity, Infinity);
-testEqual(-Infinity, -Infinity);
-
-testEqual(0, 0);
-testEqual(0, -0);
-testEqual(-0, -0);
-
-testNotEqual(0.9, 1);
-testNotEqual(0.999999, 1);
-testNotEqual(0.9999999999, 1);
-testNotEqual(0.9999999999999, 1);
-
-// Strings are equal if containing the same code points.
-
-testEqual('hello', 'hello');
-testEqual('hello', 'hel' + 'lo');
-testEqual('', '');
-testEqual('\u0020\x20', ' '); // Escapes are not part of the value.
-
-// Booleans are equal if they are the same.
-
-testEqual(true, true);
-testEqual(false, false);
-testNotEqual(true, false);
-
-// Null and undefined are equal to themselves.
-
-testEqual(null, null);
-testEqual(undefined, undefined);
-
-// Objects are equal if they are the same object only.
-
-testEqual(Math, Math);
-testEqual(Object.prototype, Object.prototype);
-
-
-(function () {
- var x = new Wrapper(null);
- var y = x, z = x;
- testEqual(y, x);
-})();
-
-(function () {
- var x = new Boolean(true);
- var y = x, z = x;
- testEqual(y, x);
-})();
-
-(function () {
- var x = new Boolean(false);
- var y = x, z = x;
- testEqual(y, x);
-})();
-
-// Test comparing values of different types.
-
-// Null and undefined are equal to each-other, and to nothing else.
-testEqual(null, undefined);
-testEqual(undefined, null);
-
-testNotEqual(null, new Wrapper(null));
-testNotEqual(null, 0);
-testNotEqual(null, false);
-testNotEqual(null, "");
-testNotEqual(null, new Object());
-testNotEqual(undefined, new Wrapper(undefined));
-testNotEqual(undefined, 0);
-testNotEqual(undefined, false);
-testNotEqual(undefined, "");
-testNotEqual(undefined, new Object());
-
-// Numbers compared to Strings will convert the string to a number using
-// the internal ToNumber conversion.
-
-testEqual(1, '1');
-testEqual(255, '0xff');
-testEqual(0, '\r'); // ToNumber ignores tailing and trailing whitespace.
-testEqual(1e19, '1e19');
-testEqual(Infinity, "Infinity");
-
-// Booleans compared to anything else will be converted to numbers.
-testEqual(false, 0);
-testEqual(true, 1);
-testEqual(false, "0"); // String also converted to number.
-testEqual(true, "1");
-
-// Objects compared to Number or String (or Boolean, since that's converted
-// to Number too) is converted to primitive using ToPrimitive with NO HINT.
-// Having no hint means Date gets a string hint, and everything else gets
-// a number hint.
-
-testEqual(new Boolean(true), true);
-testEqual(new Boolean(true), 1); // First to primtive boolean, then to number.
-testEqual(new Boolean(false), false);
-testEqual(new Boolean(false), 0);
-
-testEqual(new Wrapper(true), true);
-testEqual(new Wrapper(true), 1);
-testEqual(new Wrapper(false), false);
-testEqual(new Wrapper(false), 0);
-
-testEqual(new Wrapper2(true), true);
-testEqual(new Wrapper2(true), 1);
-testEqual(new Wrapper2(false), false);
-testEqual(new Wrapper2(false), 0);
-
-testEqual(new Number(1), true);
-testEqual(new Number(1), 1);
-testEqual(new Number(0), false);
-testEqual(new Number(0), 0);
-
-// Date objects convert to string, not number (and the string does not
-// convert to the number).
-testEqual(new Date(42), String(new Date(42)));
-testNotEqual(new Date(42), Number(new Date(42)));
-var dnow = new Date();
-testEqual(dnow, dnow);
-testEqual(dnow, String(dnow));
-testNotEqual(dnow, Number(dnow));
-
-// Doesn't just call toString, but uses ToPrimitive which tries toString first
-// and valueOf second.
-dnow.toString = null;
-testEqual(dnow, Number(dnow));
-dnow.valueOf = function () { return "42"; };
-testEqual(dnow, 42);
-dnow.toString = function () { return "1"; };
-testEqual(dnow, true);
-
-
-// Objects compared to other objects, or to null and undefined, are not
-// converted to primitive.
-testNotEqual(new Wrapper(null), new Wrapper(null));
-testNotEqual(new Boolean(true), new Boolean(true));
-testNotEqual(new Boolean(false), new Boolean(false));
-testNotEqual(new String("a"), new String("a"));
-testNotEqual(new Number(42), new Number(42));
-testNotEqual(new Date(42), new Date(42));
-testNotEqual(new Array(42), new Array(42));
-testNotEqual(new Object(), new Object());
-
-// Object that can't be converted to primitive.
-var badObject = {
- valueOf: null,
- toString: function() {
- return this; // Not primitive.
- }
-};
-
-testEqual(badObject, badObject);
-testNotEqual(badObject, {});
-testNotEqual(badObject, null);
-testNotEqual(badObject, undefined);
-// Forcing conversion will throw.
-function testBadConversion(value) {
- assertThrows(function() { return badObject == value; });
- assertThrows(function() { return badObject != value; });
- assertThrows(function() { return value == badObject; });
- assertThrows(function() { return value != badObject; });
-}
-testBadConversion(0);
-testBadConversion("string");
-testBadConversion(true);
diff --git a/src/3rdparty/v8/test/mjsunit/dtoa.js b/src/3rdparty/v8/test/mjsunit/dtoa.js
deleted file mode 100644
index 80167b7..0000000
--- a/src/3rdparty/v8/test/mjsunit/dtoa.js
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// dtoa.c used to contain a bogus assertions that got triggered when
-// passed very small numbers. This test therefore used to fail in
-// debug mode.
-
-assertEquals(0, 1e-500);
diff --git a/src/3rdparty/v8/test/mjsunit/elements-kind-depends.js b/src/3rdparty/v8/test/mjsunit/elements-kind-depends.js
deleted file mode 100644
index 82f188b..0000000
--- a/src/3rdparty/v8/test/mjsunit/elements-kind-depends.js
+++ /dev/null
@@ -1,74 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --smi-only-arrays
-
-function burn() {
- var a = new Array(3);
- a[0] = 10;
- a[1] = 15.5;
- a[2] = 20;
- return a;
-}
-
-function check(a) {
- assertEquals(10, a[0]);
- assertEquals(15.5, a[1]);
- assertEquals(20, a[2]);
-}
-
-var b;
-for (var i = 0; i < 3; ++i) {
- b = burn();
- check(b); // all OK
-}
-%OptimizeFunctionOnNextCall(burn);
-b = burn();
-check(b); // fails
-
-
-function loop_test(x) {
- for (i=0;i<3;i++) {
- x[i] = (i+1) * 0.5;
- }
-}
-
-function check2(b) {
- assertEquals(0.5, b[0]);
- assertEquals(1.0, b[1]);
- assertEquals(1.5, b[2]);
-}
-
-for (var i = 0; i < 3; ++i) {
- b = [0,1,2];
- loop_test(b);
- check2(b);
-}
-%OptimizeFunctionOnNextCall(loop_test);
-b = [0,1,2];
-loop_test(b);
-check2(b);
diff --git a/src/3rdparty/v8/test/mjsunit/elements-kind.js b/src/3rdparty/v8/test/mjsunit/elements-kind.js
deleted file mode 100644
index 92bdac7..0000000
--- a/src/3rdparty/v8/test/mjsunit/elements-kind.js
+++ /dev/null
@@ -1,348 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --smi-only-arrays --expose-gc
-// Flags: --notrack_allocation_sites
-
-// Test element kind of objects.
-// Since --smi-only-arrays affects builtins, its default setting at compile
-// time sticks if built with snapshot. If --smi-only-arrays is deactivated
-// by default, only a no-snapshot build actually has smi-only arrays enabled
-// in this test case. Depending on whether smi-only arrays are actually
-// enabled, this test takes the appropriate code path to check smi-only arrays.
-
-support_smi_only_arrays = %HasFastSmiElements(new Array(1,2,3,4,5,6,7,8));
-
-if (support_smi_only_arrays) {
- print("Tests include smi-only arrays.");
-} else {
- print("Tests do NOT include smi-only arrays.");
-}
-
-var elements_kind = {
- fast_smi_only : 'fast smi only elements',
- fast : 'fast elements',
- fast_double : 'fast double elements',
- dictionary : 'dictionary elements',
- external_byte : 'external byte elements',
- external_unsigned_byte : 'external unsigned byte elements',
- external_short : 'external short elements',
- external_unsigned_short : 'external unsigned short elements',
- external_int : 'external int elements',
- external_unsigned_int : 'external unsigned int elements',
- external_float : 'external float elements',
- external_double : 'external double elements',
- external_pixel : 'external pixel elements'
-}
-
-function getKind(obj) {
- if (%HasFastSmiElements(obj)) return elements_kind.fast_smi_only;
- if (%HasFastObjectElements(obj)) return elements_kind.fast;
- if (%HasFastDoubleElements(obj)) return elements_kind.fast_double;
- if (%HasDictionaryElements(obj)) return elements_kind.dictionary;
- // Every external kind is also an external array.
- assertTrue(%HasExternalArrayElements(obj));
- if (%HasExternalByteElements(obj)) {
- return elements_kind.external_byte;
- }
- if (%HasExternalUnsignedByteElements(obj)) {
- return elements_kind.external_unsigned_byte;
- }
- if (%HasExternalShortElements(obj)) {
- return elements_kind.external_short;
- }
- if (%HasExternalUnsignedShortElements(obj)) {
- return elements_kind.external_unsigned_short;
- }
- if (%HasExternalIntElements(obj)) {
- return elements_kind.external_int;
- }
- if (%HasExternalUnsignedIntElements(obj)) {
- return elements_kind.external_unsigned_int;
- }
- if (%HasExternalFloatElements(obj)) {
- return elements_kind.external_float;
- }
- if (%HasExternalDoubleElements(obj)) {
- return elements_kind.external_double;
- }
- if (%HasExternalPixelElements(obj)) {
- return elements_kind.external_pixel;
- }
-}
-
-function assertKind(expected, obj, name_opt) {
- if (!support_smi_only_arrays &&
- expected == elements_kind.fast_smi_only) {
- expected = elements_kind.fast;
- }
- assertEquals(expected, getKind(obj), name_opt);
-}
-
-var me = {};
-assertKind(elements_kind.fast, me);
-me.dance = 0xD15C0;
-me.drink = 0xC0C0A;
-assertKind(elements_kind.fast, me);
-
-if (support_smi_only_arrays) {
- var too = [1,2,3];
- assertKind(elements_kind.fast_smi_only, too);
- too.dance = 0xD15C0;
- too.drink = 0xC0C0A;
- assertKind(elements_kind.fast_smi_only, too);
-}
-
-// Make sure the element kind transitions from smi when a non-smi is stored.
-var you = new Array();
-assertKind(elements_kind.fast_smi_only, you);
-for (var i = 0; i < 1337; i++) {
- var val = i;
- if (i == 1336) {
- assertKind(elements_kind.fast_smi_only, you);
- val = new Object();
- }
- you[i] = val;
-}
-assertKind(elements_kind.fast, you);
-
-assertKind(elements_kind.dictionary, new Array(0xDECAF));
-
-var fast_double_array = new Array(0xDECAF);
-for (var i = 0; i < 0xDECAF; i++) fast_double_array[i] = i / 2;
-assertKind(elements_kind.fast_double, fast_double_array);
-
-assertKind(elements_kind.external_byte, new Int8Array(9001));
-assertKind(elements_kind.external_unsigned_byte, new Uint8Array(007));
-assertKind(elements_kind.external_short, new Int16Array(666));
-assertKind(elements_kind.external_unsigned_short, new Uint16Array(42));
-assertKind(elements_kind.external_int, new Int32Array(0xF));
-assertKind(elements_kind.external_unsigned_int, new Uint32Array(23));
-assertKind(elements_kind.external_float, new Float32Array(7));
-assertKind(elements_kind.external_double, new Float64Array(0));
-assertKind(elements_kind.external_pixel, new Uint8ClampedArray(512));
-
-// Crankshaft support for smi-only array elements.
-function monomorphic(array) {
- assertKind(elements_kind.fast_smi_only, array);
- for (var i = 0; i < 3; i++) {
- array[i] = i + 10;
- }
- assertKind(elements_kind.fast_smi_only, array);
- for (var i = 0; i < 3; i++) {
- var a = array[i];
- assertEquals(i + 10, a);
- }
-}
-var smi_only = new Array(1, 2, 3);
-assertKind(elements_kind.fast_smi_only, smi_only);
-for (var i = 0; i < 3; i++) monomorphic(smi_only);
-%OptimizeFunctionOnNextCall(monomorphic);
-monomorphic(smi_only);
-
-if (support_smi_only_arrays) {
- function construct_smis() {
- var a = [0, 0, 0];
- a[0] = 0; // Send the COW array map to the steak house.
- assertKind(elements_kind.fast_smi_only, a);
- return a;
- }
- function construct_doubles() {
- var a = construct_smis();
- a[0] = 1.5;
- assertKind(elements_kind.fast_double, a);
- return a;
- }
- function construct_objects() {
- var a = construct_smis();
- a[0] = "one";
- assertKind(elements_kind.fast, a);
- return a;
- }
-
- // Test crankshafted transition SMI->DOUBLE.
- function convert_to_double(array) {
- array[1] = 2.5;
- assertKind(elements_kind.fast_double, array);
- assertEquals(2.5, array[1]);
- }
- var smis = construct_smis();
- for (var i = 0; i < 3; i++) convert_to_double(smis);
- %OptimizeFunctionOnNextCall(convert_to_double);
- smis = construct_smis();
- convert_to_double(smis);
- // Test crankshafted transitions SMI->FAST and DOUBLE->FAST.
- function convert_to_fast(array) {
- array[1] = "two";
- assertKind(elements_kind.fast, array);
- assertEquals("two", array[1]);
- }
- smis = construct_smis();
- for (var i = 0; i < 3; i++) convert_to_fast(smis);
- var doubles = construct_doubles();
- for (var i = 0; i < 3; i++) convert_to_fast(doubles);
- smis = construct_smis();
- doubles = construct_doubles();
- %OptimizeFunctionOnNextCall(convert_to_fast);
- convert_to_fast(smis);
- convert_to_fast(doubles);
- // Test transition chain SMI->DOUBLE->FAST (crankshafted function will
- // transition to FAST directly).
- function convert_mixed(array, value, kind) {
- array[1] = value;
- assertKind(kind, array);
- assertEquals(value, array[1]);
- }
- smis = construct_smis();
- for (var i = 0; i < 3; i++) {
- convert_mixed(smis, 1.5, elements_kind.fast_double);
- }
- doubles = construct_doubles();
- for (var i = 0; i < 3; i++) {
- convert_mixed(doubles, "three", elements_kind.fast);
- }
- convert_mixed(construct_smis(), "three", elements_kind.fast);
- convert_mixed(construct_doubles(), "three", elements_kind.fast);
- %OptimizeFunctionOnNextCall(convert_mixed);
- smis = construct_smis();
- doubles = construct_doubles();
- convert_mixed(smis, 1, elements_kind.fast);
- convert_mixed(doubles, 1, elements_kind.fast);
- assertTrue(%HaveSameMap(smis, doubles));
-}
-
-// Crankshaft support for smi-only elements in dynamic array literals.
-function get(foo) { return foo; } // Used to generate dynamic values.
-
-function crankshaft_test() {
- if (support_smi_only_arrays) {
- var a1 = [get(1), get(2), get(3)];
- assertKind(elements_kind.fast_smi_only, a1);
- }
- var a2 = new Array(get(1), get(2), get(3));
- assertKind(elements_kind.fast_smi_only, a2);
- var b = [get(1), get(2), get("three")];
- assertKind(elements_kind.fast, b);
- var c = [get(1), get(2), get(3.5)];
- if (support_smi_only_arrays) {
- assertKind(elements_kind.fast_double, c);
- }
-}
-for (var i = 0; i < 3; i++) {
- crankshaft_test();
-}
-%OptimizeFunctionOnNextCall(crankshaft_test);
-crankshaft_test();
-
-// Elements_kind transitions for arrays.
-
-// A map can have three different elements_kind transitions: SMI->DOUBLE,
-// DOUBLE->OBJECT, and SMI->OBJECT. No matter in which order these three are
-// created, they must always end up with the same FAST map.
-
-// This test is meaningless without FAST_SMI_ONLY_ELEMENTS.
-if (support_smi_only_arrays) {
- // Preparation: create one pair of identical objects for each case.
- var a = [1, 2, 3];
- var b = [1, 2, 3];
- assertTrue(%HaveSameMap(a, b));
- assertKind(elements_kind.fast_smi_only, a);
- var c = [1, 2, 3];
- c["case2"] = true;
- var d = [1, 2, 3];
- d["case2"] = true;
- assertTrue(%HaveSameMap(c, d));
- assertFalse(%HaveSameMap(a, c));
- assertKind(elements_kind.fast_smi_only, c);
- var e = [1, 2, 3];
- e["case3"] = true;
- var f = [1, 2, 3];
- f["case3"] = true;
- assertTrue(%HaveSameMap(e, f));
- assertFalse(%HaveSameMap(a, e));
- assertFalse(%HaveSameMap(c, e));
- assertKind(elements_kind.fast_smi_only, e);
- // Case 1: SMI->DOUBLE, DOUBLE->OBJECT, SMI->OBJECT.
- a[0] = 1.5;
- assertKind(elements_kind.fast_double, a);
- a[0] = "foo";
- assertKind(elements_kind.fast, a);
- b[0] = "bar";
- assertTrue(%HaveSameMap(a, b));
- // Case 2: SMI->DOUBLE, SMI->OBJECT, DOUBLE->OBJECT.
- c[0] = 1.5;
- assertKind(elements_kind.fast_double, c);
- assertFalse(%HaveSameMap(c, d));
- d[0] = "foo";
- assertKind(elements_kind.fast, d);
- assertFalse(%HaveSameMap(c, d));
- c[0] = "bar";
- assertTrue(%HaveSameMap(c, d));
- // Case 3: SMI->OBJECT, SMI->DOUBLE, DOUBLE->OBJECT.
- e[0] = "foo";
- assertKind(elements_kind.fast, e);
- assertFalse(%HaveSameMap(e, f));
- f[0] = 1.5;
- assertKind(elements_kind.fast_double, f);
- assertFalse(%HaveSameMap(e, f));
- f[0] = "bar";
- assertKind(elements_kind.fast, f);
- assertTrue(%HaveSameMap(e, f));
-}
-
-// Test if Array.concat() works correctly with DOUBLE elements.
-if (support_smi_only_arrays) {
- var a = [1, 2];
- assertKind(elements_kind.fast_smi_only, a);
- var b = [4.5, 5.5];
- assertKind(elements_kind.fast_double, b);
- var c = a.concat(b);
- assertEquals([1, 2, 4.5, 5.5], c);
- assertKind(elements_kind.fast_double, c);
-}
-
-// Test that Array.push() correctly handles SMI elements.
-if (support_smi_only_arrays) {
- var a = [1, 2];
- assertKind(elements_kind.fast_smi_only, a);
- a.push(3, 4, 5);
- assertKind(elements_kind.fast_smi_only, a);
- assertEquals([1, 2, 3, 4, 5], a);
-}
-
-// Test that Array.splice() and Array.slice() return correct ElementsKinds.
-if (support_smi_only_arrays) {
- var a = ["foo", "bar"];
- assertKind(elements_kind.fast, a);
- var b = a.splice(0, 1);
- assertKind(elements_kind.fast, b);
- var c = a.slice(0, 1);
- assertKind(elements_kind.fast, c);
-}
-
-// Throw away type information in the ICs for next stress run.
-gc();
diff --git a/src/3rdparty/v8/test/mjsunit/elements-length-no-holey.js b/src/3rdparty/v8/test/mjsunit/elements-length-no-holey.js
deleted file mode 100644
index 5bac296..0000000
--- a/src/3rdparty/v8/test/mjsunit/elements-length-no-holey.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-a = [1,2,3];
-a.length = 1;
-assertFalse(%HasFastHoleyElements(a));
-assertTrue(%HasFastSmiElements(a));
diff --git a/src/3rdparty/v8/test/mjsunit/elements-transition-hoisting.js b/src/3rdparty/v8/test/mjsunit/elements-transition-hoisting.js
deleted file mode 100644
index 017e7ec..0000000
--- a/src/3rdparty/v8/test/mjsunit/elements-transition-hoisting.js
+++ /dev/null
@@ -1,238 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --smi-only-arrays --noparallel-recompilation
-
-// Ensure that ElementsKind transitions in various situations are hoisted (or
-// not hoisted) correctly, don't change the semantics programs and don't trigger
-// deopt through hoisting in important situations.
-
-support_smi_only_arrays = %HasFastSmiElements(new Array(1,2,3,4,5,6));
-
-if (support_smi_only_arrays) {
- print("Tests include smi-only arrays.");
-} else {
- print("Tests do NOT include smi-only arrays.");
-}
-
-if (support_smi_only_arrays) {
- // Make sure that a simple elements array transitions inside a loop before
- // stores to an array gets hoisted in a way that doesn't generate a deopt in
- // simple cases.}
- function testDoubleConversion4(a) {
- var object = new Object();
- a[0] = 0;
- var count = 3;
- do {
- a[0] = object;
- } while (--count > 0);
- }
-
- testDoubleConversion4(new Array(5));
- testDoubleConversion4(new Array(5)); // Call twice to make sure that second
- // store is a transition and not
- // optimistically MONOMORPHIC
- %OptimizeFunctionOnNextCall(testDoubleConversion4);
- testDoubleConversion4(new Array(5));
- testDoubleConversion4(new Array(5));
- assertTrue(2 != %GetOptimizationStatus(testDoubleConversion4));
- %ClearFunctionTypeFeedback(testDoubleConversion4);
-
- // Make sure that non-element related map checks that are not preceded by
- // transitions in a loop still get hoisted in a way that doesn't generate a
- // deopt in simple cases.
- function testExactMapHoisting(a) {
- var object = new Object();
- a.foo = 0;
- a[0] = 0;
- a[1] = 1;
- var count = 3;
- do {
- a.foo = object; // This map check should be hoistable
- a[1] = object;
- result = a.foo == object && a[1] == object;
- } while (--count > 0);
- }
-
- testExactMapHoisting(new Array(5));
- testExactMapHoisting(new Array(5)); // Call twice to make sure that second
- // store is a transition and not
- // optimistically MONOMORPHIC
- %OptimizeFunctionOnNextCall(testExactMapHoisting);
- testExactMapHoisting(new Array(5));
- testExactMapHoisting(new Array(5));
- assertTrue(2 != %GetOptimizationStatus(testExactMapHoisting));
- %ClearFunctionTypeFeedback(testExactMapHoisting);
-
- // Make sure that non-element related map checks do NOT get hoisted if they
- // depend on an elements transition before them and it's not possible to hoist
- // that transition.
- function testExactMapHoisting2(a) {
- var object = new Object();
- a.foo = 0;
- a[0] = 0;
- a[1] = 1;
- var count = 3;
- do {
- if (a.bar === undefined) {
- a[1] = 2.5;
- }
- a.foo = object; // This map check should NOT be hoistable because it
- // includes a check for the FAST_ELEMENTS map as well as
- // the FAST_DOUBLE_ELEMENTS map, which depends on the
- // double transition above in the if, which cannot be
- // hoisted.
- } while (--count > 0);
- }
-
- testExactMapHoisting2(new Array(5));
- testExactMapHoisting2(new Array(5)); // Call twice to make sure that second
- // store is a transition and not
- // optimistically MONOMORPHIC
- %OptimizeFunctionOnNextCall(testExactMapHoisting2);
- testExactMapHoisting2(new Array(5));
- testExactMapHoisting2(new Array(5));
- // Temporarily disabled - see bug 2176.
- // assertTrue(2 != %GetOptimizationStatus(testExactMapHoisting2));
- %ClearFunctionTypeFeedback(testExactMapHoisting2);
-
- // Make sure that non-element related map checks do get hoisted if they use
- // the transitioned map for the check and all transitions that they depend
- // upon can hoisted, too.
- function testExactMapHoisting3(a) {
- var object = new Object();
- a.foo = 0;
- a[0] = 0;
- a[1] = 1;
- var count = 3;
- do {
- a[1] = 2.5;
- a.foo = object; // This map check should be hoistable because all elements
- // transitions in the loop can also be hoisted.
- } while (--count > 0);
- }
-
- var add_transition = new Array(5);
- add_transition.foo = 0;
- add_transition[0] = new Object(); // For FAST_ELEMENT transition to be created
- testExactMapHoisting3(new Array(5));
- testExactMapHoisting3(new Array(5)); // Call twice to make sure that second
- // store is a transition and not
- // optimistically MONOMORPHIC
- %OptimizeFunctionOnNextCall(testExactMapHoisting3);
- testExactMapHoisting3(new Array(5));
- testExactMapHoisting3(new Array(5));
- assertTrue(2 != %GetOptimizationStatus(testExactMapHoisting3));
- %ClearFunctionTypeFeedback(testExactMapHoisting3);
-
- function testDominatingTransitionHoisting1(a) {
- var object = new Object();
- a[0] = 0;
- var count = 3;
- do {
- if (a.baz != true) {
- a[1] = 2.5;
- }
- a[0] = object;
- } while (--count > 3);
- }
-
- /*
- testDominatingTransitionHoisting1(new Array(5));
- testDominatingTransitionHoisting1(new Array(5)); // Call twice to make sure
- // that second store is a
- // transition and not
- // optimistically MONOMORPHIC
- %OptimizeFunctionOnNextCall(testDominatingTransitionHoisting1);
- testDominatingTransitionHoisting1(new Array(5));
- testDominatingTransitionHoisting1(new Array(5));
- // TODO(verwaest) With current changes the elements transition gets hoisted
- // above the access, causing a deopt. We should update the type of access
- // rather than forbid hoisting the transition.
- assertTrue(2 != %GetOptimizationStatus(testDominatingTransitionHoisting1));
- %ClearFunctionTypeFeedback(testDominatingTransitionHoisting1);
- */
-
- function testHoistingWithSideEffect(a) {
- var object = new Object();
- a[0] = 0;
- var count = 3;
- do {
- assertTrue(true);
- a[0] = object;
- } while (--count > 3);
- }
-
- testHoistingWithSideEffect(new Array(5));
- testHoistingWithSideEffect(new Array(5)); // Call twice to make sure that
- // second store is a transition and
- // not optimistically MONOMORPHIC
- %OptimizeFunctionOnNextCall(testHoistingWithSideEffect);
- testHoistingWithSideEffect(new Array(5));
- testHoistingWithSideEffect(new Array(5));
- assertTrue(2 != %GetOptimizationStatus(testHoistingWithSideEffect));
- %ClearFunctionTypeFeedback(testHoistingWithSideEffect);
-
- function testStraightLineDupeElinination(a,b,c,d,e,f) {
- var count = 3;
- do {
- assertTrue(true);
- a[0] = b;
- a[1] = c;
- a[2] = d;
- assertTrue(true);
- a[3] = e; // TransitionElementsKind should be eliminated despite call.
- a[4] = f;
- } while (--count > 3);
- }
-
- testStraightLineDupeElinination(new Array(0, 0, 0, 0, 0),0,0,0,0,.5);
- testStraightLineDupeElinination(new Array(0, 0, 0, 0, 0),0,0,0,.5,0);
- testStraightLineDupeElinination(new Array(0, 0, 0, 0, 0),0,0,.5,0,0);
- testStraightLineDupeElinination(new Array(0, 0, 0, 0, 0),0,.5,0,0,0);
- testStraightLineDupeElinination(new Array(0, 0, 0, 0, 0),.5,0,0,0,0);
- testStraightLineDupeElinination(new Array(.1,.1,.1,.1,.1),0,0,0,0,.5);
- testStraightLineDupeElinination(new Array(.1,.1,.1,.1,.1),0,0,0,.5,0);
- testStraightLineDupeElinination(new Array(.1,.1,.1,.1,.1),0,0,.5,0,0);
- testStraightLineDupeElinination(new Array(.1,.1,.1,.1,.1),0,.5,0,0,0);
- testStraightLineDupeElinination(new Array(.1,.1,.1,.1,.1),.5,0,0,0,0);
- testStraightLineDupeElinination(new Array(5),.5,0,0,0,0);
- testStraightLineDupeElinination(new Array(5),0,.5,0,0,0);
- testStraightLineDupeElinination(new Array(5),0,0,.5,0,0);
- testStraightLineDupeElinination(new Array(5),0,0,0,.5,0);
- testStraightLineDupeElinination(new Array(5),0,0,0,0,.5);
- testStraightLineDupeElinination(new Array(5),.5,0,0,0,0);
- testStraightLineDupeElinination(new Array(5),0,.5,0,0,0);
- testStraightLineDupeElinination(new Array(5),0,0,.5,0,0);
- testStraightLineDupeElinination(new Array(5),0,0,0,.5,0);
- testStraightLineDupeElinination(new Array(5),0,0,0,0,.5);
- %OptimizeFunctionOnNextCall(testStraightLineDupeElinination);
- testStraightLineDupeElinination(new Array(5),0,0,0,0,0);
- testStraightLineDupeElinination(new Array(5),0,0,0,0,0);
- assertTrue(2 != %GetOptimizationStatus(testStraightLineDupeElinination));
- %ClearFunctionTypeFeedback(testStraightLineDupeElinination);
-}
diff --git a/src/3rdparty/v8/test/mjsunit/elements-transition.js b/src/3rdparty/v8/test/mjsunit/elements-transition.js
deleted file mode 100644
index e28f3c3..0000000
--- a/src/3rdparty/v8/test/mjsunit/elements-transition.js
+++ /dev/null
@@ -1,113 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --smi-only-arrays --notrack-allocation-sites
-
-support_smi_only_arrays = %HasFastSmiElements(new Array(1,2,3,4,5,6,7,8));
-
-if (support_smi_only_arrays) {
- print("Tests include smi-only arrays.");
-} else {
- print("Tests do NOT include smi-only arrays.");
-}
-
-if (support_smi_only_arrays) {
- function test(test_double, test_object, set, length) {
- // We apply the same operations to two identical arrays. The first array
- // triggers an IC miss, upon which the conversion stub is generated, but the
- // actual conversion is done in runtime. The second array, arriving at
- // the previously patched IC, is then converted using the conversion stub.
- var array_1 = new Array(length);
- var array_2 = new Array(length);
-
- assertTrue(%HasFastSmiElements(array_1));
- assertTrue(%HasFastSmiElements(array_2));
- for (var i = 0; i < length; i++) {
- if (i == length - 5 && test_double) {
- // Trigger conversion to fast double elements at length-5.
- set(array_1, i, 0.5);
- set(array_2, i, 0.5);
- assertTrue(%HasFastDoubleElements(array_1));
- assertTrue(%HasFastDoubleElements(array_2));
- } else if (i == length - 3 && test_object) {
- // Trigger conversion to fast object elements at length-3.
- set(array_1, i, 'object');
- set(array_2, i, 'object');
- assertTrue(%HasFastObjectElements(array_1));
- assertTrue(%HasFastObjectElements(array_2));
- } else if (i != length - 7) {
- // Set the element to an integer but leave a hole at length-7.
- set(array_1, i, 2*i+1);
- set(array_2, i, 2*i+1);
- }
- }
-
- for (var i = 0; i < length; i++) {
- if (i == length - 5 && test_double) {
- assertEquals(0.5, array_1[i]);
- assertEquals(0.5, array_2[i]);
- } else if (i == length - 3 && test_object) {
- assertEquals('object', array_1[i]);
- assertEquals('object', array_2[i]);
- } else if (i != length - 7) {
- assertEquals(2*i+1, array_1[i]);
- assertEquals(2*i+1, array_2[i]);
- } else {
- assertEquals(undefined, array_1[i]);
- assertEquals(undefined, array_2[i]);
- }
- }
-
- assertEquals(length, array_1.length);
- assertEquals(length, array_2.length);
- }
-
- test(false, false, function(a,i,v){ a[i] = v; }, 20);
- test(true, false, function(a,i,v){ a[i] = v; }, 20);
- test(false, true, function(a,i,v){ a[i] = v; }, 20);
- test(true, true, function(a,i,v){ a[i] = v; }, 20);
-
- test(false, false, function(a,i,v){ a[i] = v; }, 10000);
- test(true, false, function(a,i,v){ a[i] = v; }, 10000);
- test(false, true, function(a,i,v){ a[i] = v; }, 10000);
- test(true, true, function(a,i,v){ a[i] = v; }, 10000);
-
- // Check COW arrays
- function get_cow() { return [1, 2, 3]; }
-
- function transition(x) { x[0] = 1.5; }
-
- var ignore = get_cow();
- transition(ignore); // Handled by runtime.
- var a = get_cow();
- var b = get_cow();
- transition(a); // Handled by IC.
- assertEquals(1.5, a[0]);
- assertEquals(1, b[0]);
-} else {
- print("Test skipped because smi only arrays are not supported.");
-}
diff --git a/src/3rdparty/v8/test/mjsunit/enumeration-order.js b/src/3rdparty/v8/test/mjsunit/enumeration-order.js
deleted file mode 100644
index a328121..0000000
--- a/src/3rdparty/v8/test/mjsunit/enumeration-order.js
+++ /dev/null
@@ -1,109 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function check_enumeration_order(obj) {
- var value = 0;
- for (var name in obj) assertTrue(value < obj[name]);
- value = obj[name];
-}
-
-function make_object(size) {
- var a = new Object();
-
- for (var i = 0; i < size; i++) a["a_" + i] = i + 1;
- check_enumeration_order(a);
-
- for (var i = 0; i < size; i +=3) delete a["a_" + i];
- check_enumeration_order(a);
-}
-
-// Validate the enumeration order for object up to 100 named properties.
-for (var j = 1; j< 100; j++) make_object(j);
-
-
-function make_literal_object(size) {
- var code = "{ ";
- for (var i = 0; i < size-1; i++) code += " a_" + i + " : " + (i + 1) + ", ";
- code += "a_" + (size - 1) + " : " + size;
- code += " }";
- eval("var a = " + code);
- check_enumeration_order(a);
-}
-
-// Validate the enumeration order for object literals up to 100 named
-// properties.
-for (var j = 1; j< 100; j++) make_literal_object(j);
-
-// We enumerate indexed properties in numerical order followed by
-// named properties in insertion order, followed by indexed properties
-// of the prototype object in numerical order, followed by named
-// properties of the prototype object in insertion order, and so on.
-//
-// This enumeration order is not required by the specification, so
-// this just documents our choice.
-var proto2 = {};
-proto2[140000] = 0;
-proto2.a = 0;
-proto2[2] = 0;
-proto2[3] = 0; // also on the 'proto1' object
-proto2.b = 0;
-proto2[4294967295] = 0;
-proto2.c = 0;
-proto2[4294967296] = 0;
-
-var proto1 = {};
-proto1[5] = 0;
-proto1.d = 0;
-proto1[3] = 0;
-proto1.e = 0;
-proto1.f = 0; // also on the 'o' object
-
-var o = {};
-o[-23] = 0;
-o[300000000000] = 0;
-o[23] = 0;
-o.f = 0;
-o.g = 0;
-o[-4] = 0;
-o[42] = 0;
-
-o.__proto__ = proto1;
-proto1.__proto__ = proto2;
-
-var expected = ['23', '42', // indexed from 'o'
- '-23', '300000000000', 'f', 'g', '-4', // named from 'o'
- '3', '5', // indexed from 'proto1'
- 'd', 'e', // named from 'proto1'
- '2', '140000', '4294967295', // indexed from 'proto2'
- 'a', 'b', 'c', '4294967296']; // named from 'proto2'
-var actual = [];
-for (var p in o) actual.push(p);
-assertArrayEquals(expected, actual);
-
-
-
-
diff --git a/src/3rdparty/v8/test/mjsunit/error-accessors.js b/src/3rdparty/v8/test/mjsunit/error-accessors.js
deleted file mode 100644
index 9581050..0000000
--- a/src/3rdparty/v8/test/mjsunit/error-accessors.js
+++ /dev/null
@@ -1,54 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that the message property of error objects is a data property.
-
-var o;
-
-// message is constructed using the constructor.
-var error1 = new Error("custom message");
-o = {};
-o.__proto__ = error1;
-
-assertEquals("custom message",
- Object.getOwnPropertyDescriptor(error1, "message").value);
-o.message = "another message";
-assertEquals("another message", o.message);
-assertEquals("custom message", error1.message);
-
-// message is constructed by the runtime.
-var error2;
-try { x.x } catch (e) { error2 = e; }
-o = {};
-o.__proto__ = error2;
-
-assertEquals("x is not defined",
- Object.getOwnPropertyDescriptor(error2, "message").value);
-o.message = "another message";
-assertEquals("another message", o.message);
-assertEquals("x is not defined", error2.message);
-
diff --git a/src/3rdparty/v8/test/mjsunit/error-constructors.js b/src/3rdparty/v8/test/mjsunit/error-constructors.js
deleted file mode 100644
index 84c6bbf..0000000
--- a/src/3rdparty/v8/test/mjsunit/error-constructors.js
+++ /dev/null
@@ -1,104 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Check that message and name are not enumerable on Error objects.
-var desc = Object.getOwnPropertyDescriptor(Error.prototype, 'name');
-assertFalse(desc['enumerable']);
-desc = Object.getOwnPropertyDescriptor(Error.prototype, 'message');
-assertFalse(desc['enumerable']);
-
-var e = new Error("foobar");
-desc = Object.getOwnPropertyDescriptor(e, 'message');
-assertFalse(desc['enumerable']);
-desc = Object.getOwnPropertyDescriptor(e, 'stack');
-assertFalse(desc['enumerable']);
-
-var e = new Error();
-assertFalse(e.hasOwnProperty('message'));
-
-// name is not tested above, but in addition we should have no enumerable
-// properties, so we simply assert that.
-for (var v in e) {
- assertUnreachable();
-}
-
-// Check that error construction does not call setters for the
-// properties on error objects in prototypes.
-function fail() { assertUnreachable(); };
-ReferenceError.prototype.__defineSetter__('name', fail);
-ReferenceError.prototype.__defineSetter__('message', fail);
-ReferenceError.prototype.__defineSetter__('stack', fail);
-
-var e = new ReferenceError();
-assertTrue(e.hasOwnProperty('stack'));
-
-var e = new ReferenceError('123');
-assertTrue(e.hasOwnProperty('message'));
-assertTrue(e.hasOwnProperty('stack'));
-
-var e = %MakeReferenceError("my_test_error", [0, 1]);
-assertTrue(e.hasOwnProperty('stack'));
-
-// Check that intercepting property access from toString is prevented for
-// compiler errors. This is not specified, but allowing interception
-// through a getter can leak error objects from different
-// script tags in the same context in a browser setting.
-var errors = [SyntaxError, ReferenceError, TypeError];
-for (var i in errors) {
- var name = errors[i].prototype.toString();
- // Monkey-patch prototype.
- var props = ["name", "message", "stack"];
- for (var j in props) {
- errors[i].prototype.__defineGetter__(props[j], fail);
- }
- // String conversion should not invoke monkey-patched getters on prototype.
- var e = new errors[i];
- assertEquals(name, e.toString());
- // Custom getters in actual objects are welcome.
- e.__defineGetter__("name", function() { return "mine"; });
- assertEquals("mine", e.toString());
-}
-
-// Monkey-patching non-static errors should still be observable.
-function MyError() {}
-MyError.prototype = new Error;
-var errors = [Error, RangeError, EvalError, URIError, MyError];
-for (var i in errors) {
- errors[i].prototype.__defineGetter__("name", function() { return "my"; });
- errors[i].prototype.__defineGetter__("message", function() { return "moo"; });
- var e = new errors[i];
- assertEquals("my: moo", e.toString());
-}
-
-
-Error.prototype.toString = Object.prototype.toString;
-assertEquals("[object Error]", Error.prototype.toString());
-assertEquals(Object.prototype, Error.prototype.__proto__);
-var e = new Error("foo");
-assertEquals("[object Error]", e.toString());
diff --git a/src/3rdparty/v8/test/mjsunit/error-tostring.js b/src/3rdparty/v8/test/mjsunit/error-tostring.js
deleted file mode 100644
index 8a8a969..0000000
--- a/src/3rdparty/v8/test/mjsunit/error-tostring.js
+++ /dev/null
@@ -1,93 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-// Test default string representation of an Error object.
-
-var e = new Error();
-assertEquals('Error', e.toString());
-
-
-// Test printing of cyclic errors which return the empty string for
-// compatibility with Safari and Firefox.
-
-e = new Error();
-e.name = e;
-e.message = e;
-e.stack = "Does not occur in output";
-e.arguments = "Does not occur in output";
-e.type = "Does not occur in output";
-assertEquals('', e.toString());
-
-e = new Error();
-e.name = [ e ];
-e.message = [ e ];
-e.stack = "Does not occur in output";
-e.arguments = "Does not occur in output";
-e.type = "Does not occur in output";
-assertEquals('', e.toString());
-
-
-// Test the sequence in which getters and toString operations are called
-// on a given Error object. Verify the produced string representation.
-
-function testErrorToString(nameValue, messageValue) {
- var seq = [];
- var e = {
- get name() {
- seq.push(1);
- return (nameValue === undefined) ? nameValue : {
- toString: function() { seq.push(2); return nameValue; }
- };
- },
- get message() {
- seq.push(3);
- return (messageValue === undefined) ? messageValue : {
- toString: function() { seq.push(4); return messageValue; }
- };
- }
- };
- var string = Error.prototype.toString.call(e);
- return [string,seq];
-}
-
-assertEquals(["Error",[1,3]], testErrorToString(undefined, undefined));
-assertEquals(["e1",[1,2,3]], testErrorToString("e1", undefined));
-assertEquals(["e1: null",[1,2,3,4]], testErrorToString("e1", null));
-assertEquals(["e1",[1,2,3,4]], testErrorToString("e1", ""));
-assertEquals(["Error: e2",[1,3,4]], testErrorToString(undefined, "e2"));
-assertEquals(["null: e2",[1,2,3,4]], testErrorToString(null, "e2"));
-assertEquals(["e2",[1,2,3,4]], testErrorToString("", "e2"));
-assertEquals(["e1: e2",[1,2,3,4]], testErrorToString("e1", "e2"));
-
-var obj = {
- get constructor () {
- assertUnreachable();
- }
-};
-
-assertThrows(function() { obj.x(); });
diff --git a/src/3rdparty/v8/test/mjsunit/escape.js b/src/3rdparty/v8/test/mjsunit/escape.js
deleted file mode 100644
index 5732ce3..0000000
--- a/src/3rdparty/v8/test/mjsunit/escape.js
+++ /dev/null
@@ -1,118 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-/**
- * @fileoverview Check that the global escape and unescape functions work
- * right.
- */
-
-// Section B.2.1 of ECMAScript 3
-var unescaped = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789@*_+-./";
-
-// Check the unescape chars are not escaped
-assertEquals(unescaped, escape(unescaped));
-// Check spaces are escaped
-assertEquals("%20/%20", escape(" / "));
-// Check that null chars are escaped and do not terminate the string
-assertEquals("%000", escape("\0" + "0"));
-// Check a unicode escape
-assertEquals("A%20B%u1234%00%20C", escape(String.fromCharCode(0x41, 0x20, 0x42, 0x1234, 0, 0x20, 0x43)));
-// Check unicode escapes have a leading zero to pad to 4 digits
-assertEquals("%u0123", escape(String.fromCharCode(0x123)));
-// Check escapes are upper case
-assertEquals("%uABCD", escape(String.fromCharCode(0xabcd)));
-assertEquals("%AB", escape(String.fromCharCode(0xab)));
-assertEquals("%0A", escape("\n"));
-
-// Check first 1000 chars individually for escaped/not escaped
-for (var i = 0; i < 1000; i++) {
- var s = String.fromCharCode(i);
- if (unescaped.indexOf(s, 0) == -1) {
- assertFalse(s == escape(s));
- } else {
- assertTrue(s == escape(s));
- }
-}
-
-// Check all chars up to 1000 in groups of 10 using unescape as a check
-for (var i = 0; i < 1000; i += 10) {
- var s = String.fromCharCode(i, i+1, i+2, i+3, i+4, i+5, i+6, i+7, i+8, i+9);
- assertEquals(s, unescape(escape(s)));
-}
-
-// Benchmark
-var example = "Now is the time for all good men to come to the aid of the party.";
-example = example + String.fromCharCode(267, 0x1234, 0x6667, 0xabcd);
-example = example + " The quick brown fox jumps over the lazy dog."
-example = example + String.fromCharCode(171, 172, 173, 174, 175, 176, 178, 179);
-
-for (var i = 0; i < 3000; i++) {
- assertEquals(example, unescape(escape(example)));
-}
-
-// Check unescape can cope with upper and lower case
-assertEquals(unescape("%41%4A%4a"), "AJJ");
-
-// Check upper case U
-assertEquals("%U1234", unescape("%U1234"));
-
-// Check malformed unescapes
-assertEquals("%", unescape("%"));
-assertEquals("%4", unescape("%4"));
-assertEquals("%u", unescape("%u"));
-assertEquals("%u4", unescape("%u4"));
-assertEquals("%u44", unescape("%u44"));
-assertEquals("%u444", unescape("%u444"));
-assertEquals("%4z", unescape("%4z"));
-assertEquals("%uzzzz", unescape("%uzzzz"));
-assertEquals("%u4zzz", unescape("%u4zzz"));
-assertEquals("%u44zz", unescape("%u44zz"));
-assertEquals("%u444z", unescape("%u444z"));
-assertEquals("%4<", unescape("%4<"));
-assertEquals("%u<<<<", unescape("%u<<<<"));
-assertEquals("%u4<<<", unescape("%u4<<<"));
-assertEquals("%u44<<", unescape("%u44<<"));
-assertEquals("%u444<", unescape("%u444<"));
-assertEquals("foo%4<", unescape("foo%4<"));
-assertEquals("foo%u<<<<", unescape("foo%u<<<<"));
-assertEquals("foo%u4<<<", unescape("foo%u4<<<"));
-assertEquals("foo%u44<<", unescape("foo%u44<<"));
-assertEquals("foo%u444<", unescape("foo%u444<"));
-assertEquals("foo%4<bar", unescape("foo%4<bar"));
-assertEquals("foo%u<<<<bar", unescape("foo%u<<<<bar"));
-assertEquals("foo%u4<<<bar", unescape("foo%u4<<<bar"));
-assertEquals("foo%u44<<bar", unescape("foo%u44<<bar"));
-assertEquals("foo%u444<bar", unescape("foo%u444<bar"));
-assertEquals("% ", unescape("%%20"));
-assertEquals("%% ", unescape("%%%20"));
-
-// Unescape stress
-var eexample = escape(example);
-
-for (var i = 1; i < 3000; i++) {
- assertEquals(example, unescape(eexample));
-}
diff --git a/src/3rdparty/v8/test/mjsunit/eval-enclosing-function-name.js b/src/3rdparty/v8/test/mjsunit/eval-enclosing-function-name.js
deleted file mode 100644
index 422f03f..0000000
--- a/src/3rdparty/v8/test/mjsunit/eval-enclosing-function-name.js
+++ /dev/null
@@ -1,76 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// From within 'eval', the name of the enclosing function should be
-// visible.
-
-var f = function y() { return typeof y; };
-assertEquals("function", f());
-
-
-f = function y() { return eval('typeof y'); };
-assertEquals("function", f());
-
-
-f = function y() { y = 3; return typeof y; };
-assertEquals("function", f());
-
-
-f = function y() { y += 3; return typeof y; };
-assertEquals("function", f());
-
-
-f = function y() { y &= y; return typeof y; };
-assertEquals("function", f());
-
-
-f = function y() { y = 3; return eval('typeof y'); }
-assertEquals("function", f());
-
-
-f = function y() { var y = 3; return typeof y; }
-assertEquals("number", f());
-
-
-f = function y() { var y = 3; return eval('typeof y'); }
-assertEquals("number", f());
-
-
-f = function y() { eval('y = 3'); return typeof y; }
-assertEquals("function", f());
-
-
-f = function y() { eval('y = 3'); return eval('typeof y'); }
-assertEquals("function", f());
-
-
-f = function y() { eval('var y = 3'); return typeof y; }
-assertEquals("number", f());
-
-
-f = function y() { eval('var y = 3'); return eval('typeof y'); }
-assertEquals("number", f());
diff --git a/src/3rdparty/v8/test/mjsunit/eval-stack-trace.js b/src/3rdparty/v8/test/mjsunit/eval-stack-trace.js
deleted file mode 100644
index d83b84c..0000000
--- a/src/3rdparty/v8/test/mjsunit/eval-stack-trace.js
+++ /dev/null
@@ -1,204 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Return the stack frames of an Error object.
-
-Error.prepareStackTrace = function(error, frames) {
- return frames;
-}
-
-Error.prototype.getFrames = function() {
- var frames = this.stack;
- return frames;
-}
-
-String.prototype.contains = function(pattern) {
- return this.indexOf(pattern) > -1;
-}
-
-// Check for every frame that a certain method returns the
-// expected value for every frame.
-Array.prototype.verifyEquals = function(frames, func_name) {
- this.forEach(
- function(element, index) {
- var frame = frames[index];
- if (element === null) return;
- assertEquals(element, (frame[func_name])());
- }
- );
-}
-
-// Check for every frame that a certain method has a return value
-// that contains the expected pattern for every frame.
-Array.prototype.verifyContains = function(frames, func_name) {
- this.forEach(
- function(element, index) {
- var frame = frames[index];
- if (element === null) return;
- assertTrue((frame[func_name])().contains(element));
- }
- );
-}
-
-// Check for every frame that a certain method returns undefined
-// when expected.
-Array.prototype.verifyUndefined = function(frames, func_name) {
- this.forEach(
- function(element, index) {
- var frame = frames[index];
- if (element === null) return;
- assertEquals(element, (frame[func_name])() === undefined);
- }
- );
-}
-
-
-// Simple eval.
-var code1 = "function f() { \n" +
- " throw new Error(3); \n" + // Line 2
- "} \n" +
- "f(); \n"; // Line 4
-
-function g() {
- eval(code1);
-}
-
-try {
- g();
-} catch (e) {
- // We expect something like
- // f (eval at g (eval-stack.js:87:8), <anonymous>:2:9)
- // eval (eval at g (eval-stack.js:87:8), <anonymous>:4:1)
- // g (eval-stack.js:87:3)
- // eval-stack.js:94:3
- var frames = e.getFrames();
- assertEquals(4, frames.length);
- ["f", "eval", "g"]
- .verifyEquals(frames, "getFunctionName");
- [2, 4]
- .verifyEquals(frames, "getLineNumber");
- ["<anonymous>:2:", "<anonymous>:4:"]
- .verifyContains(frames, "toString");
- [true, true, false, false]
- .verifyUndefined(frames, "getFileName");
- ["eval at g", "eval at g"]
- .verifyContains(frames, "getEvalOrigin");
-}
-
-
-// Nested eval.
-var code2 = "function h() { \n" +
- " // Empty \n" +
- " eval(code1); \n" + // Line 3
- "} \n" +
- "h(); \n"; // Line 5
-
-try {
- eval(code2);
-} catch (e) {
- // We expect something like
- // f (eval at h (eval at <anonymous> (eval-stack.js:116:8)),
- // <anonymous>:2:9)
- // eval (eval at h (eval at <anonymous> (eval-stack.js:116:8)),
- // <anonymous>:4:1)
- // h (eval at <anonymous> (eval-stack.js:116:8), <anonymous>:3:3)
- // eval (eval at <anonymous> (eval-stack.js:116:8), <anonymous>:5:1)
- // eval-stack.js:116:3
- var frames = e.getFrames();
- assertEquals(5, frames.length);
- ["f", "eval", "h", "eval"]
- .verifyEquals(frames, "getFunctionName");
- [2, 4, 3, 5]
- .verifyEquals(frames, "getLineNumber");
- ["<anonymous>:2:", "<anonymous>:4:", "<anonymous>:3:", "<anonymous>:5:"]
- .verifyContains(frames, "toString");
- [true, true, true, true, false]
- .verifyUndefined(frames, "getFileName");
- ["eval at h (eval at <anonymous> (",
- "eval at h (eval at <anonymous> (",
- "eval at <anonymous> (",
- "eval at <anonymous> ("]
- .verifyContains(frames, "getEvalOrigin");
-}
-
-
-// Nested eval calling through non-eval defined function.
-var code3 = "function h() { \n" +
- " // Empty \n" +
- " g(); \n" + // Line 3
- "} \n" +
- "h(); \n"; // Line 5
-
-try {
- eval(code3);
-} catch (e) {
- // We expect something like
- // f (eval at g (test.js:83:8), <anonymous>:2:9)
- // eval (eval at g (test.js:83:8), <anonymous>:4:1)
- // g (test.js:83:3)
- // h (eval at <anonymous> (test.js:149:8), <anonymous>:3:3)
- // eval (eval at <anonymous> (test.js:149:8), <anonymous>:5:1)
- // test.js:149:3
- var frames = e.getFrames();
- assertEquals(6, frames.length);
- ["f", "eval", "g", "h", "eval"]
- .verifyEquals(frames, "getFunctionName");
- [2, 4, null, 3, 5]
- .verifyEquals(frames, "getLineNumber");
- ["<anonymous>:2:", "<anonymous>:4:", null, "<anonymous>:3:", "<anonymous>:5:"]
- .verifyContains(frames, "toString");
- [true, true, false, true, true, false]
- .verifyUndefined(frames, "getFileName");
- ["eval at g (",
- "eval at g (",
- null,
- "eval at <anonymous> (",
- "eval at <anonymous> ("]
- .verifyContains(frames, "getEvalOrigin");
-}
-
-
-// Calling function defined in eval.
-eval("function f() { \n" +
- " throw new Error(3); \n" +
- "} \n");
-
-try {
- f();
-} catch (e) {
- // We expect something like
- // f (eval at <anonymous> (test.js:182:40), <anonymous>:2:9)
- // test.js:186:3
- var frames = e.getFrames();
- assertEquals(2, frames.length);
- ["f"].verifyEquals(frames, "getFunctionName");
- [2].verifyEquals(frames, "getLineNumber");
- ["<anonymous>:2:"].verifyContains(frames, "toString");
- [true, false].verifyUndefined(frames, "getFileName");
- ["eval at <anonymous> ("].verifyContains(frames, "getEvalOrigin");
-}
-
diff --git a/src/3rdparty/v8/test/mjsunit/eval-typeof-non-existing.js b/src/3rdparty/v8/test/mjsunit/eval-typeof-non-existing.js
deleted file mode 100644
index 8cc6d0b..0000000
--- a/src/3rdparty/v8/test/mjsunit/eval-typeof-non-existing.js
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Typeof expression must resolve to 'undefined' when it used on a
-// non-existing property. It is *not* allowed to throw a
-// ReferenceError.
-assertEquals('undefined', typeof xxx);
-assertEquals('undefined', eval('typeof xxx'));
-
-assertThrows('typeof(true ? xxx : yyy)', ReferenceError);
-assertThrows('with ({}) { typeof(true ? xxx : yyy) }', ReferenceError);
diff --git a/src/3rdparty/v8/test/mjsunit/eval.js b/src/3rdparty/v8/test/mjsunit/eval.js
deleted file mode 100644
index 100f216..0000000
--- a/src/3rdparty/v8/test/mjsunit/eval.js
+++ /dev/null
@@ -1,189 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-assertEquals(void 0, eval());
-assertEquals(4, eval(4));
-
-function f() { return 'The f function'; };
-assertTrue(f === eval(f));
-
-function g(x, y) { return 4; };
-
-count = 0;
-assertEquals(4, eval('2 + 2', count++));
-assertEquals(1, count);
-
-try {
- eval('hest 7 &*^*&^');
- assertUnreachable('Did not throw on syntax error.');
-} catch (e) {
- assertEquals('SyntaxError', e.name);
-}
-
-
-// eval has special evaluation order for consistency with other browsers.
-global_eval = eval;
-assertEquals(void 0, eval(eval("var eval = function f(x) { return 'hest';}")))
-eval = global_eval;
-
-// Test eval with different number of parameters.
-global_eval = eval;
-eval = function(x, y) { return x + y; };
-assertEquals(4, eval(2, 2));
-eval = global_eval;
-
-// Test that un-aliased eval reads from local context.
-foo = 0;
-result =
- (function() {
- var foo = 2;
- return eval('foo');
- })();
-assertEquals(2, result);
-
-// Test that un-aliased eval writes to local context.
-foo = 0;
-result =
- (function() {
- var foo = 1;
- eval('foo = 2');
- return foo;
- })();
-assertEquals(2, result);
-assertEquals(0, foo);
-
-// Test that un-aliased eval has right receiver.
-function MyObject() { this.self = eval('this'); }
-var o = new MyObject();
-assertTrue(o === o.self);
-
-// Test that aliased eval reads from global context.
-var e = eval;
-foo = 0;
-result =
- (function() {
- var foo = 2;
- return e('foo');
- })();
-assertEquals(0, result);
-
-// Test that aliased eval writes to global context.
-var e = eval;
-foo = 0;
-(function() { e('var foo = 2;'); })();
-assertEquals(2, foo);
-
-// Test that aliased eval has right receiver.
-function MyOtherObject() { this.self = e('this'); }
-var o = new MyOtherObject();
-assertTrue(this === o.self);
-
-// Try to cheat the 'aliased eval' detection.
-var x = this;
-foo = 0;
-result =
- (function() {
- var foo = 2;
- // Should be non-direct call.
- return x.eval('foo');
- })();
-assertEquals(0, result);
-
-foo = 0;
-result =
- (function() {
- var foo = 2;
- // Should be non-direct call.
- return (1,eval)('foo');
- })();
-assertEquals(0, result);
-
-foo = 0;
-result =
- (function() {
- var eval = function(x) { return x; };
- var foo = eval(2);
- // Should be non-direct call.
- return e('foo');
- })();
-assertEquals(0, result);
-
-foo = 0;
-result =
- (function() {
- var foo = 2;
- // Should be direct call.
- with ({ eval : e }) {
- return eval('foo');
- }
- })();
-assertEquals(2, result);
-
-result =
- (function() {
- var eval = function(x) { return 2 * x; };
- return (function() { return eval(2); })();
- })();
-assertEquals(4, result);
-
-result =
- (function() {
- eval("var eval = function(s) { return this; }");
- return eval("42"); // Should return the global object
- })();
-assertEquals(this, result);
-
-(function() {
- var obj = { f: function(eval) { return eval("this"); } };
- result = obj.f(eval);
- assertEquals(obj, result);
-})();
-
-(function() {
- var obj = { f: function(eval) { arguments; return eval("this"); } };
- result = obj.f(eval);
- assertEquals(obj, result);
-})();
-
-eval = function(x) { return 2 * x; };
-result =
- (function() {
- return (function() { return eval(2); })();
- })();
-assertEquals(4, result);
-
-
-
-
-// Regression test: calling a function named eval found in a context that is
-// not the global context should get the global object as receiver.
-result =
- (function () {
- var eval = function (x) { return this; };
- with ({}) { return eval('ignore'); }
- })();
-assertEquals(this, result);
diff --git a/src/3rdparty/v8/test/mjsunit/external-array.js b/src/3rdparty/v8/test/mjsunit/external-array.js
deleted file mode 100644
index 85a8cc5..0000000
--- a/src/3rdparty/v8/test/mjsunit/external-array.js
+++ /dev/null
@@ -1,716 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --expose-gc
-
-// Helper
-function assertInstance(o, f) {
- assertSame(o.constructor, f);
- assertInstanceof(o, f);
-}
-
-// This is a regression test for overlapping key and value registers.
-function f(a) {
- a[0] = 0;
- a[1] = 0;
-}
-
-var a = new Int32Array(2);
-for (var i = 0; i < 5; i++) {
- f(a);
-}
-%OptimizeFunctionOnNextCall(f);
-f(a);
-
-assertEquals(0, a[0]);
-assertEquals(0, a[1]);
-
-// No-parameter constructor should fail right now.
-function abfunc1() {
- return new ArrayBuffer();
-}
-assertThrows(abfunc1);
-
-// Test derivation from an ArrayBuffer
-var ab = new ArrayBuffer(12);
-assertInstance(ab, ArrayBuffer);
-var derived_uint8 = new Uint8Array(ab);
-assertInstance(derived_uint8, Uint8Array);
-assertSame(ab, derived_uint8.buffer);
-assertEquals(12, derived_uint8.length);
-assertEquals(12, derived_uint8.byteLength);
-assertEquals(0, derived_uint8.byteOffset);
-assertEquals(1, derived_uint8.BYTES_PER_ELEMENT);
-var derived_uint8_2 = new Uint8Array(ab,7);
-assertInstance(derived_uint8_2, Uint8Array);
-assertSame(ab, derived_uint8_2.buffer);
-assertEquals(5, derived_uint8_2.length);
-assertEquals(5, derived_uint8_2.byteLength);
-assertEquals(7, derived_uint8_2.byteOffset);
-assertEquals(1, derived_uint8_2.BYTES_PER_ELEMENT);
-var derived_int16 = new Int16Array(ab);
-assertInstance(derived_int16, Int16Array);
-assertSame(ab, derived_int16.buffer);
-assertEquals(6, derived_int16.length);
-assertEquals(12, derived_int16.byteLength);
-assertEquals(0, derived_int16.byteOffset);
-assertEquals(2, derived_int16.BYTES_PER_ELEMENT);
-var derived_int16_2 = new Int16Array(ab,6);
-assertInstance(derived_int16_2, Int16Array);
-assertSame(ab, derived_int16_2.buffer);
-assertEquals(3, derived_int16_2.length);
-assertEquals(6, derived_int16_2.byteLength);
-assertEquals(6, derived_int16_2.byteOffset);
-assertEquals(2, derived_int16_2.BYTES_PER_ELEMENT);
-var derived_uint32 = new Uint32Array(ab);
-assertInstance(derived_uint32, Uint32Array);
-assertSame(ab, derived_uint32.buffer);
-assertEquals(3, derived_uint32.length);
-assertEquals(12, derived_uint32.byteLength);
-assertEquals(0, derived_uint32.byteOffset);
-assertEquals(4, derived_uint32.BYTES_PER_ELEMENT);
-var derived_uint32_2 = new Uint32Array(ab,4);
-assertInstance(derived_uint32_2, Uint32Array);
-assertSame(ab, derived_uint32_2.buffer);
-assertEquals(2, derived_uint32_2.length);
-assertEquals(8, derived_uint32_2.byteLength);
-assertEquals(4, derived_uint32_2.byteOffset);
-assertEquals(4, derived_uint32_2.BYTES_PER_ELEMENT);
-var derived_uint32_3 = new Uint32Array(ab,4,1);
-assertInstance(derived_uint32_3, Uint32Array);
-assertSame(ab, derived_uint32_3.buffer);
-assertEquals(1, derived_uint32_3.length);
-assertEquals(4, derived_uint32_3.byteLength);
-assertEquals(4, derived_uint32_3.byteOffset);
-assertEquals(4, derived_uint32_3.BYTES_PER_ELEMENT);
-var derived_float64 = new Float64Array(ab,0,1);
-assertInstance(derived_float64, Float64Array);
-assertSame(ab, derived_float64.buffer);
-assertEquals(1, derived_float64.length);
-assertEquals(8, derived_float64.byteLength);
-assertEquals(0, derived_float64.byteOffset);
-assertEquals(8, derived_float64.BYTES_PER_ELEMENT);
-
-// If a given byteOffset and length references an area beyond the end of the
-// ArrayBuffer an exception is raised.
-function abfunc3() {
- new Uint32Array(ab,4,3);
-}
-assertThrows(abfunc3);
-function abfunc4() {
- new Uint32Array(ab,16);
-}
-assertThrows(abfunc4);
-
-// The given byteOffset must be a multiple of the element size of the specific
-// type, otherwise an exception is raised.
-function abfunc5() {
- new Uint32Array(ab,5);
-}
-assertThrows(abfunc5);
-
-// If length is not explicitly specified, the length of the ArrayBuffer minus
-// the byteOffset must be a multiple of the element size of the specific type,
-// or an exception is raised.
-var ab2 = new ArrayBuffer(13);
-function abfunc6() {
- new Uint32Array(ab2,4);
-}
-assertThrows(abfunc6);
-
-// Test that an array constructed without an array buffer creates one properly.
-a = new Uint8Array(31);
-assertEquals(a.byteLength, a.buffer.byteLength);
-assertEquals(a.length, a.buffer.byteLength);
-assertEquals(a.length * a.BYTES_PER_ELEMENT, a.buffer.byteLength);
-a = new Int16Array(5);
-assertEquals(a.byteLength, a.buffer.byteLength);
-assertEquals(a.length * a.BYTES_PER_ELEMENT, a.buffer.byteLength);
-a = new Float64Array(7);
-assertEquals(a.byteLength, a.buffer.byteLength);
-assertEquals(a.length * a.BYTES_PER_ELEMENT, a.buffer.byteLength);
-
-// Test that an implicitly created buffer is a valid buffer.
-a = new Float64Array(7);
-assertSame(a.buffer, (new Uint16Array(a.buffer)).buffer);
-assertSame(a.buffer, (new Float32Array(a.buffer,4)).buffer);
-assertSame(a.buffer, (new Int8Array(a.buffer,3,51)).buffer);
-assertInstance(a.buffer, ArrayBuffer);
-
-// Test the correct behavior of the |BYTES_PER_ELEMENT| property (which is
-// "constant", but not read-only).
-a = new Int32Array(2);
-assertEquals(4, a.BYTES_PER_ELEMENT);
-a.BYTES_PER_ELEMENT = 42;
-assertEquals(42, a.BYTES_PER_ELEMENT);
-a = new Uint8Array(2);
-assertEquals(1, a.BYTES_PER_ELEMENT);
-a = new Int16Array(2);
-assertEquals(2, a.BYTES_PER_ELEMENT);
-
-// Test Float64Arrays.
-function get(a, index) {
- return a[index];
-}
-function set(a, index, value) {
- a[index] = value;
-}
-function temp() {
-var array = new Float64Array(2);
-for (var i = 0; i < 5; i++) {
- set(array, 0, 2.5);
- assertEquals(2.5, array[0]);
-}
-%OptimizeFunctionOnNextCall(set);
-set(array, 0, 2.5);
-assertEquals(2.5, array[0]);
-set(array, 1, 3.5);
-assertEquals(3.5, array[1]);
-for (var i = 0; i < 5; i++) {
- assertEquals(2.5, get(array, 0));
- assertEquals(3.5, array[1]);
-}
-%OptimizeFunctionOnNextCall(get);
-assertEquals(2.5, get(array, 0));
-assertEquals(3.5, get(array, 1));
-}
-
-// Test non-number parameters.
-var array_with_length_from_non_number = new Int32Array("2");
-assertEquals(2, array_with_length_from_non_number.length);
-array_with_length_from_non_number = new Int32Array(undefined);
-assertEquals(0, array_with_length_from_non_number.length);
-var foo = { valueOf: function() { return 3; } };
-array_with_length_from_non_number = new Int32Array(foo);
-assertEquals(3, array_with_length_from_non_number.length);
-foo = { toString: function() { return "4"; } };
-array_with_length_from_non_number = new Int32Array(foo);
-assertEquals(4, array_with_length_from_non_number.length);
-
-
-// Test loads and stores.
-types = [Array, Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array,
- Uint32Array, Uint8ClampedArray, Float32Array, Float64Array];
-
-test_result_nan = [NaN, 0, 0, 0, 0, 0, 0, 0, NaN, NaN];
-test_result_low_int = [-1, -1, 255, -1, 65535, -1, 0xFFFFFFFF, 0, -1, -1];
-test_result_low_double = [-1.25, -1, 255, -1, 65535, -1, 0xFFFFFFFF, 0, -1.25, -1.25];
-test_result_middle = [253.75, -3, 253, 253, 253, 253, 253, 254, 253.75, 253.75];
-test_result_high_int = [256, 0, 0, 256, 256, 256, 256, 255, 256, 256];
-test_result_high_double = [256.25, 0, 0, 256, 256, 256, 256, 255, 256.25, 256.25];
-
-const kElementCount = 40;
-
-function test_load(array, sum) {
- for (var i = 0; i < kElementCount; i++) {
- sum += array[i];
- }
- return sum;
-}
-
-function test_load_const_key(array, sum) {
- sum += array[0];
- sum += array[1];
- sum += array[2];
- return sum;
-}
-
-function test_store(array, sum) {
- for (var i = 0; i < kElementCount; i++) {
- sum += array[i] = i+1;
- }
- return sum;
-}
-
-function test_store_const_key(array, sum) {
- sum += array[0] = 1;
- sum += array[1] = 2;
- sum += array[2] = 3;
- return sum;
-}
-
-function zero() {
- return 0.0;
-}
-
-function test_store_middle_tagged(array, sum) {
- array[0] = 253.75;
- return array[0];
-}
-
-function test_store_high_tagged(array, sum) {
- array[0] = 256.25;
- return array[0];
-}
-
-function test_store_middle_double(array, sum) {
- array[0] = 253.75 + zero(); // + forces double type feedback
- return array[0];
-}
-
-function test_store_high_double(array, sum) {
- array[0] = 256.25 + zero(); // + forces double type feedback
- return array[0];
-}
-
-function test_store_high_double(array, sum) {
- array[0] = 256.25;
- return array[0];
-}
-
-function test_store_low_int(array, sum) {
- array[0] = -1;
- return array[0];
-}
-
-function test_store_low_tagged(array, sum) {
- array[0] = -1.25;
- return array[0];
-}
-
-function test_store_low_double(array, sum) {
- array[0] = -1.25 + zero(); // + forces double type feedback
- return array[0];
-}
-
-function test_store_high_int(array, sum) {
- array[0] = 256;
- return array[0];
-}
-
-function test_store_nan(array, sum) {
- array[0] = NaN;
- return array[0];
-}
-
-const kRuns = 10;
-
-function run_test(test_func, array, expected_result) {
- for (var i = 0; i < 5; i++) test_func(array, 0);
- %OptimizeFunctionOnNextCall(test_func);
- var sum = 0;
- for (var i = 0; i < kRuns; i++) {
- sum = test_func(array, sum);
- }
- assertEquals(expected_result, sum);
- %DeoptimizeFunction(test_func);
- gc(); // Makes V8 forget about type information for test_func.
-}
-
-function run_bounds_test(test_func, array, expected_result) {
- assertEquals(undefined, a[kElementCount]);
- a[kElementCount] = 456;
- assertEquals(undefined, a[kElementCount]);
- assertEquals(undefined, a[kElementCount+1]);
- a[kElementCount+1] = 456;
- assertEquals(undefined, a[kElementCount+1]);
-}
-
-for (var t = 0; t < types.length; t++) {
- var type = types[t];
- var a = new type(kElementCount);
-
- for (var i = 0; i < kElementCount; i++) {
- a[i] = i;
- }
-
- // Run test functions defined above.
- run_test(test_load, a, 780 * kRuns);
- run_test(test_load_const_key, a, 3 * kRuns);
- run_test(test_store, a, 820 * kRuns);
- run_test(test_store_const_key, a, 6 * kRuns);
- run_test(test_store_low_int, a, test_result_low_int[t]);
- run_test(test_store_low_double, a, test_result_low_double[t]);
- run_test(test_store_low_tagged, a, test_result_low_double[t]);
- run_test(test_store_high_int, a, test_result_high_int[t]);
- run_test(test_store_nan, a, test_result_nan[t]);
- run_test(test_store_middle_double, a, test_result_middle[t]);
- run_test(test_store_middle_tagged, a, test_result_middle[t]);
- run_test(test_store_high_double, a, test_result_high_double[t]);
- run_test(test_store_high_tagged, a, test_result_high_double[t]);
-
- // Test the correct behavior of the |length| property (which is read-only).
- if (t != 0) {
- assertEquals(kElementCount, a.length);
- a.length = 2;
- assertEquals(kElementCount, a.length);
- assertTrue(delete a.length);
- a.length = 2;
- assertEquals(2, a.length);
-
- // Make sure bounds checks are handled correctly for external arrays.
- run_bounds_test(a);
- run_bounds_test(a);
- run_bounds_test(a);
- %OptimizeFunctionOnNextCall(run_bounds_test);
- run_bounds_test(a);
- %DeoptimizeFunction(run_bounds_test);
- gc(); // Makes V8 forget about type information for test_func.
-
- }
-
- function array_load_set_smi_check(a) {
- return a[0] = a[0] = 1;
- }
-
- array_load_set_smi_check(a);
- array_load_set_smi_check(0);
-
- function array_load_set_smi_check2(a) {
- return a[0] = a[0] = 1;
- }
-
- array_load_set_smi_check2(a);
- %OptimizeFunctionOnNextCall(array_load_set_smi_check2);
- array_load_set_smi_check2(a);
- array_load_set_smi_check2(0);
- %DeoptimizeFunction(array_load_set_smi_check2);
- gc(); // Makes V8 forget about type information for array_load_set_smi_check.
-}
-
-// Check handling of undefined in 32- and 64-bit external float arrays.
-
-function store_float32_undefined(ext_array) {
- ext_array[0] = undefined;
-}
-
-var float32_array = new Float32Array(1);
-// Make sure runtime does it right
-store_float32_undefined(float32_array);
-assertTrue(isNaN(float32_array[0]));
-// Make sure the ICs do it right
-store_float32_undefined(float32_array);
-assertTrue(isNaN(float32_array[0]));
-// Make sure that Cranskshft does it right.
-%OptimizeFunctionOnNextCall(store_float32_undefined);
-store_float32_undefined(float32_array);
-assertTrue(isNaN(float32_array[0]));
-
-function store_float64_undefined(ext_array) {
- ext_array[0] = undefined;
-}
-
-var float64_array = new Float64Array(1);
-// Make sure runtime does it right
-store_float64_undefined(float64_array);
-assertTrue(isNaN(float64_array[0]));
-// Make sure the ICs do it right
-store_float64_undefined(float64_array);
-assertTrue(isNaN(float64_array[0]));
-// Make sure that Cranskshft does it right.
-%OptimizeFunctionOnNextCall(store_float64_undefined);
-store_float64_undefined(float64_array);
-assertTrue(isNaN(float64_array[0]));
-
-
-// Check handling of 0-sized buffers and arrays.
-ab = new ArrayBuffer(0);
-assertInstance(ab, ArrayBuffer);
-assertEquals(0, ab.byteLength);
-a = new Int8Array(ab);
-assertInstance(a, Int8Array);
-assertEquals(0, a.byteLength);
-assertEquals(0, a.length);
-a[0] = 1;
-assertEquals(undefined, a[0]);
-ab = new ArrayBuffer(16);
-assertInstance(ab, ArrayBuffer);
-a = new Float32Array(ab,4,0);
-assertInstance(a, Float32Array);
-assertEquals(0, a.byteLength);
-assertEquals(0, a.length);
-a[0] = 1;
-assertEquals(undefined, a[0]);
-a = new Uint16Array(0);
-assertInstance(a, Uint16Array);
-assertEquals(0, a.byteLength);
-assertEquals(0, a.length);
-a[0] = 1;
-assertEquals(undefined, a[0]);
-
-
-// Check construction from arrays.
-a = new Uint32Array([]);
-assertInstance(a, Uint32Array);
-assertEquals(0, a.length);
-assertEquals(0, a.byteLength);
-assertEquals(0, a.buffer.byteLength);
-assertEquals(4, a.BYTES_PER_ELEMENT);
-assertInstance(a.buffer, ArrayBuffer);
-a = new Uint16Array([1,2,3]);
-assertInstance(a, Uint16Array);
-assertEquals(3, a.length);
-assertEquals(6, a.byteLength);
-assertEquals(6, a.buffer.byteLength);
-assertEquals(2, a.BYTES_PER_ELEMENT);
-assertEquals(1, a[0]);
-assertEquals(3, a[2]);
-assertInstance(a.buffer, ArrayBuffer);
-a = new Uint32Array(a);
-assertInstance(a, Uint32Array);
-assertEquals(3, a.length);
-assertEquals(12, a.byteLength);
-assertEquals(12, a.buffer.byteLength);
-assertEquals(4, a.BYTES_PER_ELEMENT);
-assertEquals(1, a[0]);
-assertEquals(3, a[2]);
-assertInstance(a.buffer, ArrayBuffer);
-
-// Check subarrays.
-a = new Uint16Array([1,2,3,4,5,6]);
-aa = a.subarray(3);
-assertInstance(aa, Uint16Array);
-assertEquals(3, aa.length);
-assertEquals(6, aa.byteLength);
-assertEquals(2, aa.BYTES_PER_ELEMENT);
-assertSame(a.buffer, aa.buffer);
-aa = a.subarray(3,5);
-assertInstance(aa, Uint16Array);
-assertEquals(2, aa.length);
-assertEquals(4, aa.byteLength);
-assertEquals(2, aa.BYTES_PER_ELEMENT);
-assertSame(a.buffer, aa.buffer);
-aa = a.subarray(4,8);
-assertInstance(aa, Uint16Array);
-assertEquals(2, aa.length);
-assertEquals(4, aa.byteLength);
-assertEquals(2, aa.BYTES_PER_ELEMENT);
-assertSame(a.buffer, aa.buffer);
-aa = a.subarray(9);
-assertInstance(aa, Uint16Array);
-assertEquals(0, aa.length);
-assertEquals(0, aa.byteLength);
-assertEquals(2, aa.BYTES_PER_ELEMENT);
-assertSame(a.buffer, aa.buffer);
-aa = a.subarray(-4);
-assertInstance(aa, Uint16Array);
-assertEquals(4, aa.length);
-assertEquals(8, aa.byteLength);
-assertEquals(2, aa.BYTES_PER_ELEMENT);
-assertSame(a.buffer, aa.buffer);
-aa = a.subarray(-3,-1);
-assertInstance(aa, Uint16Array);
-assertEquals(2, aa.length);
-assertEquals(4, aa.byteLength);
-assertEquals(2, aa.BYTES_PER_ELEMENT);
-assertSame(a.buffer, aa.buffer);
-aa = a.subarray(3,2);
-assertInstance(aa, Uint16Array);
-assertEquals(0, aa.length);
-assertEquals(0, aa.byteLength);
-assertEquals(2, aa.BYTES_PER_ELEMENT);
-assertSame(a.buffer, aa.buffer);
-aa = a.subarray(-3,-4);
-assertInstance(aa, Uint16Array);
-assertEquals(0, aa.length);
-assertEquals(0, aa.byteLength);
-assertEquals(2, aa.BYTES_PER_ELEMENT);
-assertSame(a.buffer, aa.buffer);
-aa = a.subarray(0,-8);
-assertInstance(aa, Uint16Array);
-assertEquals(0, aa.length);
-assertEquals(0, aa.byteLength);
-assertEquals(2, aa.BYTES_PER_ELEMENT);
-assertSame(a.buffer, aa.buffer);
-
-assertThrows(function(){ a.subarray.call({}, 0) });
-assertThrows(function(){ a.subarray.call([], 0) });
-assertThrows(function(){ a.subarray.call(a) });
-
-
-// Call constructors directly as functions, and through .call and .apply
-
-b = ArrayBuffer(100)
-a = Int8Array(b, 5, 77)
-assertInstance(b, ArrayBuffer)
-assertInstance(a, Int8Array)
-assertSame(b, a.buffer)
-assertEquals(5, a.byteOffset)
-assertEquals(77, a.byteLength)
-b = ArrayBuffer.call(null, 10)
-a = Uint16Array.call(null, b, 2, 4)
-assertInstance(b, ArrayBuffer)
-assertInstance(a, Uint16Array)
-assertSame(b, a.buffer)
-assertEquals(2, a.byteOffset)
-assertEquals(8, a.byteLength)
-b = ArrayBuffer.apply(null, [1000])
-a = Float32Array.apply(null, [b, 128, 1])
-assertInstance(b, ArrayBuffer)
-assertInstance(a, Float32Array)
-assertSame(b, a.buffer)
-assertEquals(128, a.byteOffset)
-assertEquals(4, a.byteLength)
-
-
-// Test array.set in different combinations.
-
-function assertArrayPrefix(expected, array) {
- for (var i = 0; i < expected.length; ++i) {
- assertEquals(expected[i], array[i]);
- }
-}
-
-var a11 = new Int16Array([1, 2, 3, 4, 0, -1])
-var a12 = new Uint16Array(15)
-a12.set(a11, 3)
-assertArrayPrefix([0, 0, 0, 1, 2, 3, 4, 0, 0xffff, 0, 0], a12)
-assertThrows(function(){ a11.set(a12) })
-
-var a21 = [1, undefined, 10, NaN, 0, -1, {valueOf: function() {return 3}}]
-var a22 = new Int32Array(12)
-a22.set(a21, 2)
-assertArrayPrefix([0, 0, 1, 0, 10, 0, 0, -1, 3, 0], a22)
-
-var a31 = new Float32Array([2, 4, 6, 8, 11, NaN, 1/0, -3])
-var a32 = a31.subarray(2, 6)
-a31.set(a32, 4)
-assertArrayPrefix([2, 4, 6, 8, 6, 8, 11, NaN], a31)
-assertArrayPrefix([6, 8, 6, 8], a32)
-
-var a4 = new Uint8ClampedArray([3,2,5,6])
-a4.set(a4)
-assertArrayPrefix([3, 2, 5, 6], a4)
-
-// Cases with overlapping backing store but different element sizes.
-var b = new ArrayBuffer(4)
-var a5 = new Int16Array(b)
-var a50 = new Int8Array(b)
-var a51 = new Int8Array(b, 0, 2)
-var a52 = new Int8Array(b, 1, 2)
-var a53 = new Int8Array(b, 2, 2)
-
-a5.set([0x5050, 0x0a0a])
-assertArrayPrefix([0x50, 0x50, 0x0a, 0x0a], a50)
-assertArrayPrefix([0x50, 0x50], a51)
-assertArrayPrefix([0x50, 0x0a], a52)
-assertArrayPrefix([0x0a, 0x0a], a53)
-
-a50.set([0x50, 0x50, 0x0a, 0x0a])
-a51.set(a5)
-assertArrayPrefix([0x50, 0x0a, 0x0a, 0x0a], a50)
-
-a50.set([0x50, 0x50, 0x0a, 0x0a])
-a52.set(a5)
-assertArrayPrefix([0x50, 0x50, 0x0a, 0x0a], a50)
-
-a50.set([0x50, 0x50, 0x0a, 0x0a])
-a53.set(a5)
-assertArrayPrefix([0x50, 0x50, 0x50, 0x0a], a50)
-
-a50.set([0x50, 0x51, 0x0a, 0x0b])
-a5.set(a51)
-assertArrayPrefix([0x0050, 0x0051], a5)
-
-a50.set([0x50, 0x51, 0x0a, 0x0b])
-a5.set(a52)
-assertArrayPrefix([0x0051, 0x000a], a5)
-
-a50.set([0x50, 0x51, 0x0a, 0x0b])
-a5.set(a53)
-assertArrayPrefix([0x000a, 0x000b], a5)
-
-// Mixed types of same size.
-var a61 = new Float32Array([1.2, 12.3])
-var a62 = new Int32Array(2)
-a62.set(a61)
-assertArrayPrefix([1, 12], a62)
-a61.set(a62)
-assertArrayPrefix([1, 12], a61)
-
-// Invalid source
-assertThrows(function() { a.set(0) })
-assertThrows(function() { a.set({}) })
-
-
-// Test arraybuffer.slice
-
-var a0 = new Int8Array([1, 2, 3, 4, 5, 6])
-var b0 = a0.buffer
-
-var b1 = b0.slice(0)
-assertEquals(b0.byteLength, b1.byteLength)
-assertArrayPrefix([1, 2, 3, 4, 5, 6], Int8Array(b1))
-
-var b2 = b0.slice(3)
-assertEquals(b0.byteLength - 3, b2.byteLength)
-assertArrayPrefix([4, 5, 6], Int8Array(b2))
-
-var b3 = b0.slice(2, 4)
-assertEquals(2, b3.byteLength)
-assertArrayPrefix([3, 4], Int8Array(b3))
-
-function goo(a, i) {
- return a[i];
-}
-
-function boo(a, i, v) {
- return a[i] = v;
-}
-
-function do_tagged_index_external_array_test(constructor) {
- var t_array = new constructor([1, 2, 3, 4, 5, 6]);
- assertEquals(1, goo(t_array, 0));
- assertEquals(1, goo(t_array, 0));
- boo(t_array, 0, 13);
- assertEquals(13, goo(t_array, 0));
- %OptimizeFunctionOnNextCall(goo);
- %OptimizeFunctionOnNextCall(boo);
- boo(t_array, 0, 15);
- assertEquals(15, goo(t_array, 0));
- %ClearFunctionTypeFeedback(goo);
- %ClearFunctionTypeFeedback(boo);
-}
-
-do_tagged_index_external_array_test(Int8Array);
-do_tagged_index_external_array_test(Uint8Array);
-do_tagged_index_external_array_test(Int16Array);
-do_tagged_index_external_array_test(Uint16Array);
-do_tagged_index_external_array_test(Int32Array);
-do_tagged_index_external_array_test(Uint32Array);
-do_tagged_index_external_array_test(Float32Array);
-do_tagged_index_external_array_test(Float64Array);
-
-var built_in_array = new Array(1, 2, 3, 4, 5, 6);
-assertEquals(1, goo(built_in_array, 0));
-assertEquals(1, goo(built_in_array, 0));
-%OptimizeFunctionOnNextCall(goo);
-%OptimizeFunctionOnNextCall(boo);
-boo(built_in_array, 0, 11);
-assertEquals(11, goo(built_in_array, 0));
-%ClearFunctionTypeFeedback(goo);
-%ClearFunctionTypeFeedback(boo);
-
-built_in_array = new Array(1.5, 2, 3, 4, 5, 6);
-assertEquals(1.5, goo(built_in_array, 0));
-assertEquals(1.5, goo(built_in_array, 0));
-%OptimizeFunctionOnNextCall(goo);
-%OptimizeFunctionOnNextCall(boo);
-boo(built_in_array, 0, 2.5);
-assertEquals(2.5, goo(built_in_array, 0));
-%ClearFunctionTypeFeedback(goo);
-%ClearFunctionTypeFeedback(boo);
diff --git a/src/3rdparty/v8/test/mjsunit/extra-arguments.js b/src/3rdparty/v8/test/mjsunit/extra-arguments.js
deleted file mode 100644
index 186277a..0000000
--- a/src/3rdparty/v8/test/mjsunit/extra-arguments.js
+++ /dev/null
@@ -1,54 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function f() {
- return g();
-};
-
-function g() {
- var result = 0;
- var array = f.arguments;
- for (var i = 0; i < array.length; i++) {
- result += array[i];
- }
- return result;
-};
-
-
-// Make sure we can pass any number of arguments to f and read them
-// from g.
-for (var i = 0; i < 25; i++) {
- var array = new Array(i);
- var expected = 0;
- for (var j = 0; j < i; j++) {
- expected += j;
- array[j] = j;
- }
- assertEquals(expected, f.apply(null, array), String(i));
-}
-
-
diff --git a/src/3rdparty/v8/test/mjsunit/extra-commas.js b/src/3rdparty/v8/test/mjsunit/extra-commas.js
deleted file mode 100644
index 6fed04c..0000000
--- a/src/3rdparty/v8/test/mjsunit/extra-commas.js
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function assertSyntaxError(x) {
- var caught = false;
- try {
- eval(x);
- } catch (e) {
- caught = true;
- assertTrue(e instanceof SyntaxError, "is syntax error");
- }
- assertTrue(caught, "throws exception");
-};
-
-
-assertSyntaxError("f(,)");
-assertSyntaxError("f(1,)");
-assertSyntaxError("f(1,2,)");
-
-assertSyntaxError("function f(,) {}");
-assertSyntaxError("function f(1,) {}");
-assertSyntaxError("function f(1,2,) {}");
diff --git a/src/3rdparty/v8/test/mjsunit/fast-array-length.js b/src/3rdparty/v8/test/mjsunit/fast-array-length.js
deleted file mode 100644
index 42f2c38..0000000
--- a/src/3rdparty/v8/test/mjsunit/fast-array-length.js
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// This is a regression test for overlapping key and value registers.
-
-
-var a = [0, 1, 2, 3, 4, 5];
-assertTrue(%HasFastSmiElements(a));
-a.length = (1 << 30);
-assertFalse(%HasFastSmiElements(a));
-
diff --git a/src/3rdparty/v8/test/mjsunit/fast-element-smi-check.js b/src/3rdparty/v8/test/mjsunit/fast-element-smi-check.js
deleted file mode 100644
index d0c45fe..0000000
--- a/src/3rdparty/v8/test/mjsunit/fast-element-smi-check.js
+++ /dev/null
@@ -1,70 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --expose-gc
-
-var a = new Array(10);
-
-function test_load_set_smi(a) {
- return a[0] = a[0] = 1;
-}
-
-test_load_set_smi(a);
-test_load_set_smi(a);
-test_load_set_smi(123);
-
-function test_load_set_smi_2(a) {
- return a[0] = a[0] = 1;
-}
-
-test_load_set_smi_2(a);
-%OptimizeFunctionOnNextCall(test_load_set_smi_2);
-test_load_set_smi_2(a);
-test_load_set_smi_2(0);
-%DeoptimizeFunction(test_load_set_smi_2);
-gc(); // Makes V8 forget about type information for test_load_set_smi.
-
-var b = new Object();
-
-function test_load_set_smi_3(b) {
- return b[0] = b[0] = 1;
-}
-
-test_load_set_smi_3(b);
-test_load_set_smi_3(b);
-test_load_set_smi_3(123);
-
-function test_load_set_smi_4(b) {
- return b[0] = b[0] = 1;
-}
-
-test_load_set_smi_4(b);
-%OptimizeFunctionOnNextCall(test_load_set_smi_4);
-test_load_set_smi_4(b);
-test_load_set_smi_4(0);
-%DeoptimizeFunction(test_load_set_smi_4);
-gc(); // Makes V8 forget about type information for test_load_set_smi.
diff --git a/src/3rdparty/v8/test/mjsunit/fast-non-keyed.js b/src/3rdparty/v8/test/mjsunit/fast-non-keyed.js
deleted file mode 100644
index c2f7fc7..0000000
--- a/src/3rdparty/v8/test/mjsunit/fast-non-keyed.js
+++ /dev/null
@@ -1,113 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Check that keyed stores make things go dict mode faster than non-keyed
-// stores.
-
-function AddProps(obj) {
- for (var i = 0; i < 26; i++) {
- obj["x" + i] = 0;
- }
-}
-
-
-function AddPropsNonKeyed(obj) {
- obj.x0 = 0;
- obj.x1 = 0;
- obj.x2 = 0;
- obj.x3 = 0;
- obj.x4 = 0;
- obj.x5 = 0;
- obj.x6 = 0;
- obj.x7 = 0;
- obj.x8 = 0;
- obj.x9 = 0;
- obj.x10 = 0;
- obj.x11 = 0;
- obj.x12 = 0;
- obj.x13 = 0;
- obj.x14 = 0;
- obj.x15 = 0;
- obj.x16 = 0;
- obj.x17 = 0;
- obj.x18 = 0;
- obj.x19 = 0;
- obj.x20 = 0;
- obj.x21 = 0;
- obj.x22 = 0;
- obj.x23 = 0;
- obj.x24 = 0;
- obj.x25 = 0;
-}
-
-function AddProps3(obj) {
- obj["x0"] = 0;
- obj["x1"] = 0;
- obj["x2"] = 0;
- obj["x3"] = 0;
- obj["x4"] = 0;
- obj["x5"] = 0;
- obj["x6"] = 0;
- obj["x7"] = 0;
- obj["x8"] = 0;
- obj["x9"] = 0;
- obj["x10"] = 0;
- obj["x11"] = 0;
- obj["x12"] = 0;
- obj["x13"] = 0;
- obj["x14"] = 0;
- obj["x15"] = 0;
- obj["x16"] = 0;
- obj["x17"] = 0;
- obj["x18"] = 0;
- obj["x19"] = 0;
- obj["x20"] = 0;
- obj["x21"] = 0;
- obj["x22"] = 0;
- obj["x23"] = 0;
- obj["x24"] = 0;
- obj["x25"] = 0;
-}
-
-
-var keyed = {};
-AddProps(keyed);
-assertFalse(%HasFastProperties(keyed));
-
-var non_keyed = {};
-AddPropsNonKeyed(non_keyed);
-assertTrue(%HasFastProperties(non_keyed));
-
-var obj3 = {};
-AddProps3(obj3);
-assertTrue(%HasFastProperties(obj3));
-
-var bad_name = {};
-bad_name[".foo"] = 0;
-assertFalse(%HasFastProperties(bad_name));
diff --git a/src/3rdparty/v8/test/mjsunit/fast-prototype.js b/src/3rdparty/v8/test/mjsunit/fast-prototype.js
deleted file mode 100644
index 83bcffe..0000000
--- a/src/3rdparty/v8/test/mjsunit/fast-prototype.js
+++ /dev/null
@@ -1,117 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// TODO(mstarzinger): This test does not succeed when GCs happen in
-// between prototype transitions, we disable GC stress for now.
-// Flags: --noincremental-marking
-
-// Check that objects that are used for prototypes are in the fast mode.
-
-function Super() {
-}
-
-
-function Sub() {
-}
-
-
-function AddProps(obj) {
- for (var i = 0; i < 26; i++) {
- obj["x" + i] = 0;
- }
-}
-
-
-function DoProtoMagic(proto, set__proto__) {
- if (set__proto__) {
- (new Sub()).__proto__ = proto;
- } else {
- Sub.prototype = proto;
- }
-}
-
-
-function test(use_new, add_first, set__proto__, same_map_as) {
- var proto = use_new ? new Super() : {};
-
- // New object is fast.
- assertTrue(%HasFastProperties(proto));
-
- if (add_first) {
- AddProps(proto);
- // Adding this many properties makes it slow.
- assertFalse(%HasFastProperties(proto));
- DoProtoMagic(proto, set__proto__);
- // Making it a prototype makes it fast again.
- assertTrue(%HasFastProperties(proto));
- } else {
- DoProtoMagic(proto, set__proto__);
- // Still fast
- assertTrue(%HasFastProperties(proto));
- AddProps(proto);
- // After we add all those properties it went slow mode again :-(
- assertFalse(%HasFastProperties(proto));
- }
- if (same_map_as && !add_first) {
- assertTrue(%HaveSameMap(same_map_as, proto));
- }
- return proto;
-}
-
-
-for (var i = 0; i < 4; i++) {
- var set__proto__ = ((i & 1) != 0);
- var use_new = ((i & 2) != 0);
-
- test(use_new, true, set__proto__);
-
- var last = test(use_new, false, set__proto__);
- test(use_new, false, set__proto__, last);
-}
-
-
-var x = {a: 1, b: 2, c: 3};
-var o = { __proto__: x };
-assertTrue(%HasFastProperties(x));
-for (key in x) {
- assertTrue(key == 'a');
- break;
-}
-delete x.b;
-for (key in x) {
- assertTrue(key == 'a');
- break;
-}
-assertFalse(%HasFastProperties(x));
-x.d = 4;
-assertFalse(%HasFastProperties(x));
-for (key in x) {
- assertTrue(key == 'a');
- break;
-}
diff --git a/src/3rdparty/v8/test/mjsunit/for-in-delete.js b/src/3rdparty/v8/test/mjsunit/for-in-delete.js
deleted file mode 100644
index e9fc060..0000000
--- a/src/3rdparty/v8/test/mjsunit/for-in-delete.js
+++ /dev/null
@@ -1,50 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that properties deleted during a for-in iteration do not show up in
-// the for-in.
-
-function f(o, expected, del) {
- var index = 0;
- for (p in o) {
- if (del) delete o[del];
- assertEquals(expected[index], p);
- index++;
- }
- assertEquals(expected.length, index);
-}
-
-var o = {}
-o.a = 1;
-o.b = 2;
-o.c = 3;
-o.d = 3;
-
-f(o, ['a', 'b', 'c', 'd']);
-f(o, ['a', 'b', 'c', 'd']);
-f(o, ['a', 'c', 'd'], 'b');
-f(o, ['a', 'c'], 'd');
diff --git a/src/3rdparty/v8/test/mjsunit/for-in-null-or-undefined.js b/src/3rdparty/v8/test/mjsunit/for-in-null-or-undefined.js
deleted file mode 100644
index b12d1b0..0000000
--- a/src/3rdparty/v8/test/mjsunit/for-in-null-or-undefined.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// At least Spidermonkey and IE allow for-in iteration over null and
-// undefined. They never executed the statement block.
-var count = 0;
-for (var p in null) { count++; }
-for (var p in void 0) { count++; }
-assertEquals(0, count);
diff --git a/src/3rdparty/v8/test/mjsunit/for-in-special-cases.js b/src/3rdparty/v8/test/mjsunit/for-in-special-cases.js
deleted file mode 100644
index b592ad2..0000000
--- a/src/3rdparty/v8/test/mjsunit/for-in-special-cases.js
+++ /dev/null
@@ -1,121 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-gc
-
-function for_in_null() {
- try {
- for (var x in null) {
- return false;
- }
- } catch(e) {
- return false;
- }
- return true;
-}
-
-function for_in_undefined() {
- try {
- for (var x in undefined) {
- return false;
- }
- } catch(e) {
- return false;
- }
- return true;
-}
-
-for (var i = 0; i < 10; ++i) {
- assertTrue(for_in_null());
- gc();
-}
-
-for (var j = 0; j < 10; ++j) {
- assertTrue(for_in_undefined());
- gc();
-}
-
-assertEquals(10, i);
-assertEquals(10, j);
-
-
-function Accumulate(x) {
- var accumulator = "";
- for (var i in x) {
- accumulator += i;
- }
- return accumulator;
-}
-
-for (var i = 0; i < 3; ++i) {
- var elements = Accumulate("abcd");
- // We do not assume that for-in enumerates elements in order.
- assertTrue(-1 != elements.indexOf("0"));
- assertTrue(-1 != elements.indexOf("1"));
- assertTrue(-1 != elements.indexOf("2"));
- assertTrue(-1 != elements.indexOf("3"));
- assertEquals(4, elements.length);
-}
-
-function for_in_string_prototype() {
-
- var x = new String("abc");
- x.foo = 19;
- function B() {
- this.bar = 5;
- this[7] = 4;
- }
- B.prototype = x;
-
- var y = new B();
- y.gub = 13;
-
- var elements = Accumulate(y);
- var elements1 = Accumulate(y);
- // If for-in returns elements in a different order on multiple calls, this
- // assert will fail. If that happens, consider if that behavior is OK.
- assertEquals(elements, elements1, "For-in elements not the same both times.");
- // We do not assume that for-in enumerates elements in order.
- assertTrue(-1 != elements.indexOf("0"));
- assertTrue(-1 != elements.indexOf("1"));
- assertTrue(-1 != elements.indexOf("2"));
- assertTrue(-1 != elements.indexOf("7"));
- assertTrue(-1 != elements.indexOf("foo"));
- assertTrue(-1 != elements.indexOf("bar"));
- assertTrue(-1 != elements.indexOf("gub"));
- assertEquals(13, elements.length);
-
- elements = Accumulate(x);
- assertTrue(-1 != elements.indexOf("0"));
- assertTrue(-1 != elements.indexOf("1"));
- assertTrue(-1 != elements.indexOf("2"));
- assertTrue(-1 != elements.indexOf("foo"));
- assertEquals(6, elements.length);
-}
-
-for_in_string_prototype();
-for_in_string_prototype();
diff --git a/src/3rdparty/v8/test/mjsunit/for-in.js b/src/3rdparty/v8/test/mjsunit/for-in.js
deleted file mode 100644
index ab35e95..0000000
--- a/src/3rdparty/v8/test/mjsunit/for-in.js
+++ /dev/null
@@ -1,121 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function props(x) {
- var array = [];
- for (var p in x) array.push(p);
- return array.sort();
-}
-
-assertEquals(0, props({}).length, "olen0");
-assertEquals(1, props({x:1}).length, "olen1");
-assertEquals(2, props({x:1, y:2}).length, "olen2");
-
-assertArrayEquals(["x"], props({x:1}), "x");
-assertArrayEquals(["x", "y"], props({x:1, y:2}), "xy");
-assertArrayEquals(["x", "y", "zoom"], props({x:1, y:2, zoom:3}), "xyzoom");
-
-assertEquals(0, props([]).length, "alen0");
-assertEquals(1, props([1]).length, "alen1");
-assertEquals(2, props([1,2]).length, "alen2");
-
-assertArrayEquals(["0"], props([1]), "0");
-assertArrayEquals(["0", "1"], props([1,2]), "01");
-assertArrayEquals(["0", "1", "2"], props([1,2,3]), "012");
-
-var o = {};
-var a = [];
-for (var i = 0x0020; i < 0x01ff; i+=2) {
- var s = 'char:' + String.fromCharCode(i);
- a.push(s);
- o[s] = i;
-}
-assertArrayEquals(a, props(o), "charcodes");
-
-var a = [];
-assertEquals(0, props(a).length, "proplen0");
-a[Math.pow(2,30)-1] = 0;
-assertEquals(1, props(a).length, "proplen1");
-a[Math.pow(2,31)-1] = 0;
-assertEquals(2, props(a).length, "proplen2");
-a[1] = 0;
-assertEquals(3, props(a).length, "proplen3");
-
-for (var hest = 'hest' in {}) { }
-assertEquals('hest', hest, "empty-no-override");
-
-var result = '';
-for (var p in {a : [0], b : 1}) { result += p; }
-assertEquals('ab', result, "ab");
-
-var result = '';
-for (var p in {a : {v:1}, b : 1}) { result += p; }
-assertEquals('ab', result, "ab-nodeep");
-
-var result = '';
-for (var p in { get a() {}, b : 1}) { result += p; }
-assertEquals('ab', result, "abget");
-
-var result = '';
-for (var p in { get a() {}, set a(x) {}, b : 1}) { result += p; }
-assertEquals('ab', result, "abgetset");
-
-
-// Test that for-in in the global scope works with a keyed property as "each".
-// Test outside a loop and in a loop for multiple iterations.
-a = [1,2,3,4];
-x = {foo:5, bar:6, zip:7, glep:9, 10:11};
-delete x.bar;
-y = {}
-
-for (a[2] in x) {
- y[a[2]] = x[a[2]];
-}
-
-assertEquals(5, y.foo, "y.foo");
-assertEquals("undefined", typeof y.bar, "y.bar");
-assertEquals(7, y.zip, "y.zip");
-assertEquals(9, y.glep, "y.glep");
-assertEquals(11, y[10], "y[10]");
-assertEquals("undefined", typeof y[2], "y[2]");
-assertEquals("undefined", typeof y[0], "y[0]");
-
-for (i=0 ; i < 3; ++i) {
- y = {}
-
- for (a[2] in x) {
- y[a[2]] = x[a[2]];
- }
-
- assertEquals(5, y.foo, "y.foo");
- assertEquals("undefined", typeof y.bar, "y.bar");
- assertEquals(7, y.zip, "y.zip");
- assertEquals(9, y.glep, "y.glep");
- assertEquals(11, y[10], "y[10]");
- assertEquals("undefined", typeof y[2], "y[2]");
- assertEquals("undefined", typeof y[0], "y[0]");
-}
diff --git a/src/3rdparty/v8/test/mjsunit/for.js b/src/3rdparty/v8/test/mjsunit/for.js
deleted file mode 100644
index 0b71580..0000000
--- a/src/3rdparty/v8/test/mjsunit/for.js
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test missing condition in for loop.
-for (var i = 0; ; i++) {
- if (i > 100) break;
-}
-assertEquals(101, i);
diff --git a/src/3rdparty/v8/test/mjsunit/fun-as-prototype.js b/src/3rdparty/v8/test/mjsunit/fun-as-prototype.js
deleted file mode 100644
index fbe995a..0000000
--- a/src/3rdparty/v8/test/mjsunit/fun-as-prototype.js
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var x = 0;
-function Funky(a, b, c) { return 7; }
-Number.prototype.__proto__ = Funky;
-assertEquals(3, x.length);
-assertEquals("Funky", x.name);
-assertEquals(Funky.prototype, x.prototype);
-
-Number.prototype.__proto__ = [1, 2, 3];
-assertEquals(3, x.length);
diff --git a/src/3rdparty/v8/test/mjsunit/fun-name.js b/src/3rdparty/v8/test/mjsunit/fun-name.js
deleted file mode 100644
index 676daaa..0000000
--- a/src/3rdparty/v8/test/mjsunit/fun-name.js
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function strip(s) {
- return s.replace(/\s/g, '');
-}
-
-assertEquals('function(){}', strip((function () { }).toString()));
-assertEquals('functionanonymous(){}', strip(new Function().toString()));
-
diff --git a/src/3rdparty/v8/test/mjsunit/function-arguments-null.js b/src/3rdparty/v8/test/mjsunit/function-arguments-null.js
deleted file mode 100644
index 21e542f..0000000
--- a/src/3rdparty/v8/test/mjsunit/function-arguments-null.js
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// The arguments property of functions should be null when not
-// executing inside the function.
-assertTrue(toString.arguments === null);
diff --git a/src/3rdparty/v8/test/mjsunit/function-bind.js b/src/3rdparty/v8/test/mjsunit/function-bind.js
deleted file mode 100644
index 4a8f2d2..0000000
--- a/src/3rdparty/v8/test/mjsunit/function-bind.js
+++ /dev/null
@@ -1,296 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Tests the Function.prototype.bind (ES 15.3.4.5) method.
-
-// Simple tests.
-function foo(x, y, z) {
- return [this, arguments.length, x];
-}
-
-assertEquals(3, foo.length);
-
-var f = foo.bind(foo);
-assertEquals([foo, 3, 1], f(1, 2, 3));
-assertEquals(3, f.length);
-
-f = foo.bind(foo, 1);
-assertEquals([foo, 3, 1], f(2, 3));
-assertEquals(2, f.length);
-
-f = foo.bind(foo, 1, 2);
-assertEquals([foo, 3, 1], f(3));
-assertEquals(1, f.length);
-
-f = foo.bind(foo, 1, 2, 3);
-assertEquals([foo, 3, 1], f());
-assertEquals(0, f.length);
-
-// Test that length works correctly even if more than the actual number
-// of arguments are given when binding.
-f = foo.bind(foo, 1, 2, 3, 4, 5, 6, 7, 8, 9);
-assertEquals([foo, 9, 1], f());
-assertEquals(0, f.length);
-
-// Use a different bound object.
-var obj = {x: 42, y: 43};
-// Values that would normally be in "this" when calling f_bound_this.
-var x = 42;
-var y = 44;
-
-function f_bound_this(z) {
- return z + this.y - this.x;
-}
-
-assertEquals(3, f_bound_this(1))
-f = f_bound_this.bind(obj);
-assertEquals(2, f(1));
-assertEquals(1, f.length);
-
-f = f_bound_this.bind(obj, 2);
-assertEquals(3, f());
-assertEquals(0, f.length);
-
-// Test chained binds.
-
-// When only giving the thisArg, any number of binds should have
-// the same effect.
-f = foo.bind(foo);
-assertEquals([foo, 3, 1], f(1, 2, 3));
-
-var not_foo = {};
-f = foo.bind(foo).bind(not_foo).bind(not_foo).bind(not_foo);
-assertEquals([foo, 3, 1], f(1, 2, 3));
-assertEquals(3, f.length);
-
-// Giving bound parameters should work at any place in the chain.
-f = foo.bind(foo, 1).bind(not_foo).bind(not_foo).bind(not_foo);
-assertEquals([foo, 3, 1], f(2, 3));
-assertEquals(2, f.length);
-
-f = foo.bind(foo).bind(not_foo, 1).bind(not_foo).bind(not_foo);
-assertEquals([foo, 3, 1], f(2, 3));
-assertEquals(2, f.length);
-
-f = foo.bind(foo).bind(not_foo).bind(not_foo,1 ).bind(not_foo);
-assertEquals([foo, 3, 1], f(2, 3));
-assertEquals(2, f.length);
-
-f = foo.bind(foo).bind(not_foo).bind(not_foo).bind(not_foo, 1);
-assertEquals([foo, 3, 1], f(2, 3));
-assertEquals(2, f.length);
-
-// Several parameters can be given, and given in different bind invocations.
-f = foo.bind(foo, 1, 2).bind(not_foo).bind(not_foo).bind(not_foo);
-assertEquals([foo, 3, 1], f(3));
-assertEquals(1, f.length);
-
-f = foo.bind(foo).bind(not_foo, 1, 2).bind(not_foo).bind(not_foo);
-assertEquals([foo, 3, 1], f(1));
-assertEquals(1, f.length);
-
-f = foo.bind(foo).bind(not_foo, 1, 2).bind(not_foo).bind(not_foo);
-assertEquals([foo, 3, 1], f(3));
-assertEquals(1, f.length);
-
-f = foo.bind(foo).bind(not_foo).bind(not_foo, 1, 2).bind(not_foo);
-assertEquals([foo, 3, 1], f(1));
-assertEquals(1, f.length);
-
-f = foo.bind(foo).bind(not_foo).bind(not_foo).bind(not_foo, 1, 2);
-assertEquals([foo, 3, 1], f(3));
-assertEquals(1, f.length);
-
-f = foo.bind(foo, 1).bind(not_foo, 2).bind(not_foo).bind(not_foo);
-assertEquals([foo, 3, 1], f(3));
-assertEquals(1, f.length);
-
-f = foo.bind(foo, 1).bind(not_foo).bind(not_foo, 2).bind(not_foo);
-assertEquals([foo, 3, 1], f(3));
-assertEquals(1, f.length);
-
-f = foo.bind(foo, 1).bind(not_foo).bind(not_foo).bind(not_foo, 2);
-assertEquals([foo, 3, 1], f(3));
-assertEquals(1, f.length);
-
-f = foo.bind(foo).bind(not_foo, 1).bind(not_foo).bind(not_foo, 2);
-assertEquals([foo, 3, 1], f(3));
-assertEquals(1, f.length);
-
-// The wrong number of arguments can be given to bound functions too.
-f = foo.bind(foo);
-assertEquals(3, f.length);
-assertEquals([foo, 0, undefined], f());
-assertEquals([foo, 1, 1], f(1));
-assertEquals([foo, 2, 1], f(1, 2));
-assertEquals([foo, 3, 1], f(1, 2, 3));
-assertEquals([foo, 4, 1], f(1, 2, 3, 4));
-
-f = foo.bind(foo, 1);
-assertEquals(2, f.length);
-assertEquals([foo, 1, 1], f());
-assertEquals([foo, 2, 1], f(2));
-assertEquals([foo, 3, 1], f(2, 3));
-assertEquals([foo, 4, 1], f(2, 3, 4));
-
-f = foo.bind(foo, 1, 2);
-assertEquals(1, f.length);
-assertEquals([foo, 2, 1], f());
-assertEquals([foo, 3, 1], f(3));
-assertEquals([foo, 4, 1], f(3, 4));
-
-f = foo.bind(foo, 1, 2, 3);
-assertEquals(0, f.length);
-assertEquals([foo, 3, 1], f());
-assertEquals([foo, 4, 1], f(4));
-
-f = foo.bind(foo, 1, 2, 3, 4);
-assertEquals(0, f.length);
-assertEquals([foo, 4, 1], f());
-
-// Test constructor calls.
-
-function bar(x, y, z) {
- this.x = x;
- this.y = y;
- this.z = z;
-}
-
-f = bar.bind(bar);
-var obj2 = new f(1,2,3);
-assertEquals(1, obj2.x);
-assertEquals(2, obj2.y);
-assertEquals(3, obj2.z);
-
-f = bar.bind(bar, 1);
-obj2 = new f(2,3);
-assertEquals(1, obj2.x);
-assertEquals(2, obj2.y);
-assertEquals(3, obj2.z);
-
-f = bar.bind(bar, 1, 2);
-obj2 = new f(3);
-assertEquals(1, obj2.x);
-assertEquals(2, obj2.y);
-assertEquals(3, obj2.z);
-
-f = bar.bind(bar, 1, 2, 3);
-obj2 = new f();
-assertEquals(1, obj2.x);
-assertEquals(2, obj2.y);
-assertEquals(3, obj2.z);
-
-
-// Test bind chains when used as a constructor.
-f = bar.bind(bar, 1).bind(bar, 2).bind(bar, 3);
-obj2 = new f();
-assertEquals(1, obj2.x);
-assertEquals(2, obj2.y);
-assertEquals(3, obj2.z);
-
-// Test obj2 is instanceof both bar and f.
-assertTrue(obj2 instanceof bar);
-assertTrue(obj2 instanceof f);
-
-// This-args are not relevant to instanceof.
-f = bar.bind(foo.prototype, 1).
- bind(String.prototype, 2).
- bind(Function.prototype, 3);
-var obj3 = new f();
-assertTrue(obj3 instanceof bar);
-assertTrue(obj3 instanceof f);
-assertFalse(obj3 instanceof foo);
-assertFalse(obj3 instanceof Function);
-assertFalse(obj3 instanceof String);
-
-// thisArg is converted to object.
-f = foo.bind(undefined);
-assertEquals([this, 0, undefined], f());
-
-f = foo.bind(null);
-assertEquals([this, 0, undefined], f());
-
-f = foo.bind(42);
-assertEquals([Object(42), 0, undefined], f());
-
-f = foo.bind("foo");
-assertEquals([Object("foo"), 0, undefined], f());
-
-f = foo.bind(true);
-assertEquals([Object(true), 0, undefined], f());
-
-// Strict functions don't convert thisArg.
-function soo(x, y, z) {
- "use strict";
- return [this, arguments.length, x];
-}
-
-var s = soo.bind(undefined);
-assertEquals([undefined, 0, undefined], s());
-
-s = soo.bind(null);
-assertEquals([null, 0, undefined], s());
-
-s = soo.bind(42);
-assertEquals([42, 0, undefined], s());
-
-s = soo.bind("foo");
-assertEquals(["foo", 0, undefined], s());
-
-s = soo.bind(true);
-assertEquals([true, 0, undefined], s());
-
-// Test that .arguments and .caller are poisoned according to the ES5 spec.
-
-// Check that property descriptors are correct (unconfigurable, unenumerable,
-// and both get and set is the ThrowTypeError function).
-var cdesc = Object.getOwnPropertyDescriptor(f, "caller");
-var adesc = Object.getOwnPropertyDescriptor(f, "arguments");
-
-assertFalse(cdesc.enumerable);
-assertFalse(cdesc.configurable);
-
-assertFalse(adesc.enumerable);
-assertFalse(adesc.configurable);
-
-assertSame(cdesc.get, cdesc.set);
-assertSame(cdesc.get, adesc.get);
-assertSame(cdesc.get, adesc.set);
-
-assertTrue(cdesc.get instanceof Function);
-assertEquals(0, cdesc.get.length);
-assertThrows(cdesc.get, TypeError);
-
-assertThrows(function() { return f.caller; }, TypeError);
-assertThrows(function() { f.caller = 42; }, TypeError);
-assertThrows(function() { return f.arguments; }, TypeError);
-assertThrows(function() { f.arguments = 42; }, TypeError);
-
-// Shouldn't throw. Accessing the functions caller must throw if
-// the caller is strict and the callee isn't. A bound function is built-in,
-// but not considered strict.
-(function foo() { return foo.caller; }).bind()();
diff --git a/src/3rdparty/v8/test/mjsunit/function-call.js b/src/3rdparty/v8/test/mjsunit/function-call.js
deleted file mode 100644
index 92792ac..0000000
--- a/src/3rdparty/v8/test/mjsunit/function-call.js
+++ /dev/null
@@ -1,355 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-var should_throw_on_null_and_undefined =
- [Object.prototype.toLocaleString,
- Object.prototype.valueOf,
- Object.prototype.hasOwnProperty,
- Object.prototype.isPrototypeOf,
- Object.prototype.propertyIsEnumerable,
- Array.prototype.concat,
- Array.prototype.join,
- Array.prototype.pop,
- Array.prototype.push,
- Array.prototype.reverse,
- Array.prototype.shift,
- Array.prototype.slice,
- Array.prototype.sort,
- Array.prototype.splice,
- Array.prototype.unshift,
- Array.prototype.indexOf,
- Array.prototype.lastIndexOf,
- Array.prototype.every,
- Array.prototype.some,
- Array.prototype.forEach,
- Array.prototype.map,
- Array.prototype.filter,
- Array.prototype.reduce,
- Array.prototype.reduceRight,
- String.prototype.charAt,
- String.prototype.charCodeAt,
- String.prototype.concat,
- String.prototype.indexOf,
- String.prototype.lastIndexOf,
- String.prototype.localeCompare,
- String.prototype.match,
- String.prototype.replace,
- String.prototype.search,
- String.prototype.slice,
- String.prototype.split,
- String.prototype.substring,
- String.prototype.toLowerCase,
- String.prototype.toLocaleLowerCase,
- String.prototype.toUpperCase,
- String.prototype.toLocaleUpperCase,
- String.prototype.trim];
-
-// Non generic natives do not work on any input other than the specific
-// type, but since this change will allow call to be invoked with undefined
-// or null as this we still explicitly test that we throw on these here.
-var non_generic =
- [Array.prototype.toString,
- Array.prototype.toLocaleString,
- Function.prototype.toString,
- Function.prototype.call,
- Function.prototype.apply,
- String.prototype.toString,
- String.prototype.valueOf,
- Boolean.prototype.toString,
- Boolean.prototype.valueOf,
- Number.prototype.toString,
- Number.prototype.valueOf,
- Number.prototype.toFixed,
- Number.prototype.toExponential,
- Number.prototype.toPrecision,
- Date.prototype.toString,
- Date.prototype.toDateString,
- Date.prototype.toTimeString,
- Date.prototype.toLocaleString,
- Date.prototype.toLocaleDateString,
- Date.prototype.toLocaleTimeString,
- Date.prototype.valueOf,
- Date.prototype.getTime,
- Date.prototype.getFullYear,
- Date.prototype.getUTCFullYear,
- Date.prototype.getMonth,
- Date.prototype.getUTCMonth,
- Date.prototype.getDate,
- Date.prototype.getUTCDate,
- Date.prototype.getDay,
- Date.prototype.getUTCDay,
- Date.prototype.getHours,
- Date.prototype.getUTCHours,
- Date.prototype.getMinutes,
- Date.prototype.getUTCMinutes,
- Date.prototype.getSeconds,
- Date.prototype.getUTCSeconds,
- Date.prototype.getMilliseconds,
- Date.prototype.getUTCMilliseconds,
- Date.prototype.getTimezoneOffset,
- Date.prototype.setTime,
- Date.prototype.setMilliseconds,
- Date.prototype.setUTCMilliseconds,
- Date.prototype.setSeconds,
- Date.prototype.setUTCSeconds,
- Date.prototype.setMinutes,
- Date.prototype.setUTCMinutes,
- Date.prototype.setHours,
- Date.prototype.setUTCHours,
- Date.prototype.setDate,
- Date.prototype.setUTCDate,
- Date.prototype.setMonth,
- Date.prototype.setUTCMonth,
- Date.prototype.setFullYear,
- Date.prototype.setUTCFullYear,
- Date.prototype.toUTCString,
- Date.prototype.toISOString,
- Date.prototype.toJSON,
- RegExp.prototype.exec,
- RegExp.prototype.test,
- RegExp.prototype.toString,
- Error.prototype.toString];
-
-
-// Mapping functions.
-var mapping_functions =
- [Array.prototype.every,
- Array.prototype.some,
- Array.prototype.forEach,
- Array.prototype.map,
- Array.prototype.filter];
-
-// Reduce functions.
-var reducing_functions =
- [Array.prototype.reduce,
- Array.prototype.reduceRight];
-
-function checkExpectedMessage(e) {
- assertTrue(e.message.indexOf("called on null or undefined") >= 0 ||
- e.message.indexOf("Cannot convert null to object") >= 0);
-}
-
-// Test that all natives using the ToObject call throw the right exception.
-for (var i = 0; i < should_throw_on_null_and_undefined.length; i++) {
- // Sanity check that all functions are correct
- assertEquals(typeof(should_throw_on_null_and_undefined[i]), "function");
-
- var exception = false;
- try {
- // We call all functions with no parameters, which means that essential
- // parameters will have the undefined value.
- // The test for whether the "this" value is null or undefined is always
- // performed before access to the other parameters, so even if the
- // undefined value is an invalid argument value, it mustn't change
- // the result of the test.
- should_throw_on_null_and_undefined[i].call(null);
- } catch (e) {
- exception = true;
- checkExpectedMessage(e);
- }
- assertTrue(exception);
-
- exception = false;
- try {
- should_throw_on_null_and_undefined[i].call(undefined);
- } catch (e) {
- exception = true;
- checkExpectedMessage(e);
- }
- assertTrue(exception);
-
- exception = false;
- try {
- should_throw_on_null_and_undefined[i].apply(null);
- } catch (e) {
- exception = true;
- checkExpectedMessage(e);
- }
- assertTrue(exception);
-
- exception = false;
- try {
- should_throw_on_null_and_undefined[i].apply(undefined);
- } catch (e) {
- exception = true;
- checkExpectedMessage(e);
- }
- assertTrue(exception);
-}
-
-// Test that all natives that are non generic throw on null and undefined.
-for (var i = 0; i < non_generic.length; i++) {
- // Sanity check that all functions are correct
- assertEquals(typeof(non_generic[i]), "function");
-
- exception = false;
- try {
- non_generic[i].call(null);
- } catch (e) {
- exception = true;
- assertTrue(e instanceof TypeError);
- }
- assertTrue(exception);
-
- exception = false;
- try {
- non_generic[i].call(null);
- } catch (e) {
- exception = true;
- assertTrue(e instanceof TypeError);
- }
- assertTrue(exception);
-
- exception = false;
- try {
- non_generic[i].apply(null);
- } catch (e) {
- exception = true;
- assertTrue(e instanceof TypeError);
- }
- assertTrue(exception);
-
- exception = false;
- try {
- non_generic[i].apply(null);
- } catch (e) {
- exception = true;
- assertTrue(e instanceof TypeError);
- }
- assertTrue(exception);
-}
-
-
-// Test that we still throw when calling with thisArg null or undefined
-// through an array mapping function.
-var array = [1,2,3,4,5];
-for (var j = 0; j < mapping_functions.length; j++) {
- for (var i = 0; i < should_throw_on_null_and_undefined.length; i++) {
- exception = false;
- try {
- mapping_functions[j].call(array,
- should_throw_on_null_and_undefined[i],
- null);
- } catch (e) {
- exception = true;
- checkExpectedMessage(e);
- }
- assertTrue(exception);
-
- exception = false;
- try {
- mapping_functions[j].call(array,
- should_throw_on_null_and_undefined[i],
- undefined);
- } catch (e) {
- exception = true;
- checkExpectedMessage(e);
- }
- assertTrue(exception);
- }
-}
-
-for (var j = 0; j < mapping_functions.length; j++) {
- for (var i = 0; i < non_generic.length; i++) {
- exception = false;
- try {
- mapping_functions[j].call(array,
- non_generic[i],
- null);
- } catch (e) {
- exception = true;
- assertTrue(e instanceof TypeError);
- }
- assertTrue(exception);
-
- exception = false;
- try {
- mapping_functions[j].call(array,
- non_generic[i],
- undefined);
- } catch (e) {
- exception = true;
- assertTrue(e instanceof TypeError);
- }
- assertTrue(exception);
- }
-}
-
-
-// Reduce functions do a call with null as this argument.
-for (var j = 0; j < reducing_functions.length; j++) {
- for (var i = 0; i < should_throw_on_null_and_undefined.length; i++) {
- exception = false;
- try {
- reducing_functions[j].call(array, should_throw_on_null_and_undefined[i]);
- } catch (e) {
- exception = true;
- checkExpectedMessage(e);
- }
- assertTrue(exception);
-
- exception = false;
- try {
- reducing_functions[j].call(array, should_throw_on_null_and_undefined[i]);
- } catch (e) {
- exception = true;
- checkExpectedMessage(e);
- }
- assertTrue(exception);
- }
-}
-
-for (var j = 0; j < reducing_functions.length; j++) {
- for (var i = 0; i < non_generic.length; i++) {
- exception = false;
- try {
- reducing_functions[j].call(array, non_generic[i]);
- } catch (e) {
- exception = true;
- assertTrue(e instanceof TypeError);
- }
- assertTrue(exception);
-
- exception = false;
- try {
- reducing_functions[j].call(array, non_generic[i]);
- } catch (e) {
- exception = true;
- assertTrue(e instanceof TypeError);
- }
- assertTrue(exception);
- }
-}
-
-
-// Object.prototype.toString()
-assertEquals(Object.prototype.toString.call(null),
- '[object Null]')
-
-assertEquals(Object.prototype.toString.call(undefined),
- '[object Undefined]')
diff --git a/src/3rdparty/v8/test/mjsunit/function-caller.js b/src/3rdparty/v8/test/mjsunit/function-caller.js
deleted file mode 100644
index bc01750..0000000
--- a/src/3rdparty/v8/test/mjsunit/function-caller.js
+++ /dev/null
@@ -1,55 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function f(match) {
- g(match);
-}
-
-function g(match) {
- assertEquals(f, g.caller);
- assertEquals(match, f.caller);
-}
-
-// Check called from function.
-function h() {
- f(h);
-}
-h();
-
-// Check called from top-level.
-f(null);
-
-// Check called from eval.
-eval('f(null)');
-
-// Check called from builtin functions. Only show the initially called
-// (publicly exposed) builtin function, not it's internal helper functions.
-[Array.prototype.sort, Array.prototype.sort].sort(f);
-
-"abel".replace(/b/g, function h() {
- assertEquals(String.prototype.replace, h.caller);
-});
diff --git a/src/3rdparty/v8/test/mjsunit/function-named-self-reference.js b/src/3rdparty/v8/test/mjsunit/function-named-self-reference.js
deleted file mode 100644
index 5b03b09..0000000
--- a/src/3rdparty/v8/test/mjsunit/function-named-self-reference.js
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-var fn = function fn(val) {
- if (val) return val;
-
- %OptimizeFunctionOnNextCall(fn);
-
- function run(val) {
- var res = fn((val + 1) << 1);
-
- return res;
- }
-
- return run(0);
-}
-
-var res = fn();
-assertEquals(res, 2);
diff --git a/src/3rdparty/v8/test/mjsunit/function-names.js b/src/3rdparty/v8/test/mjsunit/function-names.js
deleted file mode 100644
index 5ed0b79..0000000
--- a/src/3rdparty/v8/test/mjsunit/function-names.js
+++ /dev/null
@@ -1,133 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-function TestFunctionNames(object, names) {
- for (var i = 0; i < names.length; i++) {
- assertEquals(names[i], object[names[i]].name);
- }
-}
-
-
-// Array.prototype functions.
-var arrayPrototypeFunctions = [
- "toString", "toLocaleString", "join", "pop", "push", "concat", "reverse",
- "shift", "unshift", "slice", "splice", "sort", "filter", "forEach",
- "some", "every", "map", "indexOf", "lastIndexOf"];
-
-TestFunctionNames(Array.prototype, arrayPrototypeFunctions);
-
-
-// Boolean prototype functions.
-var booleanPrototypeFunctions = [ "toString", "valueOf" ];
-
-TestFunctionNames(Boolean.prototype, booleanPrototypeFunctions);
-
-
-// Date functions.
-var dateFunctions = ["UTC", "parse", "now"];
-
-TestFunctionNames(Date, dateFunctions);
-
-
-// Date.prototype functions.
-var datePrototypeFunctions = [
- "toString", "toDateString", "toTimeString", "toLocaleString",
- "toLocaleDateString", "toLocaleTimeString", "valueOf", "getTime",
- "getFullYear", "getUTCFullYear", "getMonth", "getUTCMonth",
- "getDate", "getUTCDate", "getDay", "getUTCDay", "getHours",
- "getUTCHours", "getMinutes", "getUTCMinutes", "getSeconds",
- "getUTCSeconds", "getMilliseconds", "getUTCMilliseconds",
- "getTimezoneOffset", "setTime", "setMilliseconds",
- "setUTCMilliseconds", "setSeconds", "setUTCSeconds", "setMinutes",
- "setUTCMinutes", "setHours", "setUTCHours", "setDate", "setUTCDate",
- "setMonth", "setUTCMonth", "setFullYear", "setUTCFullYear", "toGMTString",
- "toUTCString", "getYear", "setYear"];
-
-TestFunctionNames(Date.prototype, datePrototypeFunctions);
-
-
-// Function.prototype functions.
-var functionPrototypeFunctions = [ "toString", "apply", "call" ];
-
-TestFunctionNames(Function.prototype, functionPrototypeFunctions);
-
-// Math functions.
-var mathFunctions = [
- "random", "abs", "acos", "asin", "atan", "ceil", "cos", "exp", "floor",
- "log", "round", "sin", "sqrt", "tan", "atan2", "pow", "max", "min"];
-
-TestFunctionNames(Math, mathFunctions);
-
-
-// Number.prototype functions.
-var numberPrototypeFunctions = [
- "toString", "toLocaleString", "valueOf", "toFixed", "toExponential",
- "toPrecision"];
-
-TestFunctionNames(Number.prototype, numberPrototypeFunctions);
-
-// Object.prototype functions.
-var objectPrototypeFunctions = [
- "toString", "toLocaleString", "valueOf", "hasOwnProperty", "isPrototypeOf",
- "propertyIsEnumerable", "__defineGetter__", "__lookupGetter__",
- "__defineSetter__", "__lookupSetter__"];
-
-TestFunctionNames(Object.prototype, objectPrototypeFunctions);
-
-// RegExp.prototype functions.
-var regExpPrototypeFunctions = ["exec", "test", "toString", "compile"];
-
-TestFunctionNames(RegExp.prototype, regExpPrototypeFunctions);
-
-// String functions.
-var stringFunctions = ["fromCharCode"];
-
-TestFunctionNames(String, stringFunctions);
-
-
-// String.prototype functions.
-var stringPrototypeFunctions = [
- "toString", "valueOf", "charAt", "charCodeAt", "concat", "indexOf",
- "lastIndexOf", "localeCompare", "match", "replace", "search", "slice",
- "split", "substring", "substr", "toLowerCase", "toLocaleLowerCase",
- "toUpperCase", "toLocaleUpperCase", "link", "anchor", "fontcolor",
- "fontsize", "big", "blink", "bold", "fixed", "italics", "small",
- "strike", "sub", "sup"];
-
-TestFunctionNames(String.prototype, stringPrototypeFunctions);
-
-
-// Global functions.
-var globalFunctions = [
- "escape", "unescape", "decodeURI", "decodeURIComponent",
- "encodeURI", "encodeURIComponent", "Error", "TypeError",
- "RangeError", "SyntaxError", "ReferenceError", "EvalError",
- "URIError", "isNaN", "isFinite", "parseInt", "parseFloat",
- "eval"];
-
-TestFunctionNames(this, globalFunctions);
diff --git a/src/3rdparty/v8/test/mjsunit/function-property.js b/src/3rdparty/v8/test/mjsunit/function-property.js
deleted file mode 100644
index a657f64..0000000
--- a/src/3rdparty/v8/test/mjsunit/function-property.js
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function f() { };
-assertEquals(5, f = 5);
diff --git a/src/3rdparty/v8/test/mjsunit/function-prototype.js b/src/3rdparty/v8/test/mjsunit/function-prototype.js
deleted file mode 100644
index c5a5487..0000000
--- a/src/3rdparty/v8/test/mjsunit/function-prototype.js
+++ /dev/null
@@ -1,98 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that we can set function prototypes to non-object values. The
-// prototype used for instances in that case should be the initial
-// object prototype. ECMA-262 13.2.2.
-function TestNonObjectPrototype(value) {
- function F() {};
- F.prototype = value;
- var f = new F();
- assertEquals(value, F.prototype);
- assertEquals(Object.prototype, f.__proto__);
-}
-
-var values = [123, "asdf", true];
-
-values.forEach(TestNonObjectPrototype);
-
-
-// Test moving between non-object and object values.
-function F() {};
-var f = new F();
-assertEquals(f.__proto__, F.prototype);
-F.prototype = 42;
-f = new F();
-assertEquals(Object.prototype, f.__proto__);
-assertEquals(42, F.prototype);
-F.prototype = { a: 42 };
-f = new F();
-assertEquals(42, F.prototype.a);
-assertEquals(f.__proto__, F.prototype);
-
-
-// Test that the fast case optimizations can handle non-functions,
-// functions with no prototypes (yet), non-object prototypes,
-// functions without initial maps, and the fully initialized
-// functions.
-function GetPrototypeOf(f) {
- return f.prototype;
-};
-
-// Seed the GetPrototypeOf function to enable the fast case
-// optimizations.
-var p = GetPrototypeOf(GetPrototypeOf);
-
-// Check that getting the prototype of a tagged integer works.
-assertTrue(typeof GetPrototypeOf(1) == 'undefined');
-
-function NoPrototypeYet() { }
-var p = GetPrototypeOf(NoPrototypeYet);
-assertEquals(NoPrototypeYet.prototype, p);
-
-function NonObjectPrototype() { }
-NonObjectPrototype.prototype = 42;
-assertEquals(42, GetPrototypeOf(NonObjectPrototype));
-
-function NoInitialMap() { }
-var p = NoInitialMap.prototype;
-assertEquals(p, GetPrototypeOf(NoInitialMap));
-
-// Check the standard fast case.
-assertEquals(F.prototype, GetPrototypeOf(F));
-
-// Check that getting the prototype of a non-function works. This must
-// be the last thing we do because this will clobber the optimizations
-// in GetPrototypeOf and go to a monomorphic IC load instead.
-assertEquals(87, GetPrototypeOf({prototype:87}));
-
-// Check the prototype is not enumerable, for compatibility with
-// safari. This is deliberately incompatible with ECMA262, 15.3.5.2.
-var foo = new Function("return x");
-var result = ""
-for (var n in foo) result += n;
-assertEquals(result, "");
diff --git a/src/3rdparty/v8/test/mjsunit/function-source.js b/src/3rdparty/v8/test/mjsunit/function-source.js
deleted file mode 100644
index 8f2fc22..0000000
--- a/src/3rdparty/v8/test/mjsunit/function-source.js
+++ /dev/null
@@ -1,49 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-// Check that the script source for all functions in a script is the same.
-function f() {
- function h() {
- assertEquals(Debug.scriptSource(f), Debug.scriptSource(h));
- }
- h();
-}
-
-function g() {
- function h() {
- assertEquals(Debug.scriptSource(f), Debug.scriptSource(h));
- }
- h();
-}
-
-assertEquals(Debug.scriptSource(f), Debug.scriptSource(g));
-f();
-g();
diff --git a/src/3rdparty/v8/test/mjsunit/function-without-prototype.js b/src/3rdparty/v8/test/mjsunit/function-without-prototype.js
deleted file mode 100644
index 9018086..0000000
--- a/src/3rdparty/v8/test/mjsunit/function-without-prototype.js
+++ /dev/null
@@ -1,54 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Tests that function does not have prototype.
-function testPrototype(f) {
- assertFalse('prototype' in f);
- assertEquals(undefined, f.prototype);
- f.prototype = 42;
- assertEquals(42, f.prototype);
- assertTrue('prototype' in f);
-}
-
-// Tests that construction from function throws.
-function testConstruction(name) {
- assertThrows("new " + name + "()");
- eval(name + ".prototype = 42;");
- assertThrows("new " + name + "()");
-}
-
-testPrototype(eval);
-testPrototype(Array.prototype.push);
-testPrototype(Function.prototype.call);
-testPrototype(String.fromCharCode);
-var date = new Date();
-testPrototype(date.toString);
-
-testConstruction("parseInt");
-testConstruction("Function.prototype.apply");
-var regexp = /abc/g;
-testConstruction("regexp.test");
diff --git a/src/3rdparty/v8/test/mjsunit/function.js b/src/3rdparty/v8/test/mjsunit/function.js
deleted file mode 100644
index b5e83db..0000000
--- a/src/3rdparty/v8/test/mjsunit/function.js
+++ /dev/null
@@ -1,83 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var f = Function();
-assertTrue(typeof f() == 'undefined');
-f = new Function();
-assertTrue(typeof f() == 'undefined');
-
-f = Function('return 1');
-assertEquals(1, f());
-f = new Function('return 1');
-assertEquals(1, f());
-
-f = Function('return true');
-assertTrue(f());
-f = new Function('return true');
-assertTrue(f());
-
-f = Function('x', 'return x');
-assertEquals(1, f(1));
-assertEquals('bar', f('bar'));
-assertTrue(typeof f() == 'undefined');
-var x = {};
-assertTrue(x === f(x));
-
-f = Function('x', 'return x // comment');
-assertEquals(1, f(1));
-
-f = Function('return typeof anonymous');
-assertEquals('undefined', f());
-
-var anonymous = 42;
-f = Function('return anonymous;');
-assertEquals(42, f());
-
-f = new Function('x', 'return x')
-assertEquals(1, f(1));
-assertEquals('bar', f('bar'));
-assertTrue(typeof f() == 'undefined');
-var x = {};
-assertTrue(x === f(x));
-
-f = Function('x', 'y', 'return x+y');
-assertEquals(5, f(2, 3));
-assertEquals('foobar', f('foo', 'bar'));
-f = new Function('x', 'y', 'return x+y');
-assertEquals(5, f(2, 3));
-assertEquals('foobar', f('foo', 'bar'));
-
-var x = {}; x.toString = function() { return 'x'; };
-var y = {}; y.toString = function() { return 'y'; };
-var z = {}; z.toString = function() { return 'return x*y'; }
-var f = Function(x, y, z);
-assertEquals(25, f(5, 5));
-assertEquals(42, f(2, 21));
-f = new Function(x, y, z);
-assertEquals(25, f(5, 5));
-assertEquals(42, f(2, 21));
-
diff --git a/src/3rdparty/v8/test/mjsunit/fuzz-accessors.js b/src/3rdparty/v8/test/mjsunit/fuzz-accessors.js
deleted file mode 100644
index f3602cc..0000000
--- a/src/3rdparty/v8/test/mjsunit/fuzz-accessors.js
+++ /dev/null
@@ -1,85 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var builtInPropertyNames = [
- 'prototype', 'length', 'caller', 0, 1, '$1', 'arguments', 'name', 'message', 'constructor'
-];
-
-function getAnException() {
- try {
- ("str")();
- } catch (e) {
- return e;
- }
-}
-
-function getSpecialObjects() {
- return [
- function () { },
- [1, 2, 3],
- /xxx/,
- RegExp,
- "blah",
- 9,
- new Date(),
- getAnException()
- ];
-}
-
-var object = { };
-var fun = function () { };
-var someException = getAnException();
-var someDate = new Date();
-
-var objects = [
- [1, Number.prototype],
- ["foo", String.prototype],
- [true, Boolean.prototype],
- [object, object],
- [fun, fun],
- [someException, someException],
- [someDate, someDate]
-];
-
-function runTest(fun) {
- for (var i in objects) {
- var obj = objects[i][0];
- var chain = objects[i][1];
- var specialObjects = getSpecialObjects();
- for (var j in specialObjects) {
- var special = specialObjects[j];
- chain.__proto__ = special;
- for (var k in builtInPropertyNames) {
- var propertyName = builtInPropertyNames[k];
- fun(obj, propertyName);
- }
- }
- }
-}
-
-runTest(function (obj, name) { return obj[name]; });
-runTest(function (obj, name) { return obj[name] = { }; });
diff --git a/src/3rdparty/v8/test/mjsunit/fuzz-natives-part1.js b/src/3rdparty/v8/test/mjsunit/fuzz-natives-part1.js
deleted file mode 100644
index 596af97..0000000
--- a/src/3rdparty/v8/test/mjsunit/fuzz-natives-part1.js
+++ /dev/null
@@ -1,230 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-var RUN_WITH_ALL_ARGUMENT_ENTRIES = false;
-var kOnManyArgumentsRemove = 5;
-
-function makeArguments() {
- var result = [ ];
- result.push(17);
- result.push(-31);
- result.push(new Array(100));
- result.push(new Array(100003));
- result.push(Number.MIN_VALUE);
- result.push("whoops");
- result.push("x");
- result.push({"x": 1, "y": 2});
- var slowCaseObj = {"a": 3, "b": 4, "c": 5};
- delete slowCaseObj.c;
- result.push(slowCaseObj);
- result.push(function () { return 8; });
- return result;
-}
-
-var kArgObjects = makeArguments().length;
-
-function makeFunction(name, argc) {
- var args = [];
- for (var i = 0; i < argc; i++)
- args.push("x" + i);
- var argsStr = args.join(", ");
- return new Function(args.join(", "), "return %" + name + "(" + argsStr + ");");
-}
-
-function testArgumentCount(name, argc) {
- for (var i = 0; i < 10; i++) {
- var func = null;
- try {
- func = makeFunction(name, i);
- } catch (e) {
- if (e != "SyntaxError: Illegal access") throw e;
- }
- if (func === null && i == argc) {
- throw "unexpected exception";
- }
- var args = [ ];
- for (var j = 0; j < i; j++)
- args.push(0);
- try {
- func.apply(void 0, args);
- } catch (e) {
- // we don't care what happens as long as we don't crash
- }
- }
-}
-
-function testArgumentTypes(name, argc) {
- var type = 0;
- var hasMore = true;
- var func = makeFunction(name, argc);
- while (hasMore) {
- var argPool = makeArguments();
- // When we have 5 or more arguments we lower the amount of tests cases
- // by randomly removing kOnManyArgumentsRemove entries
- var numArguments = RUN_WITH_ALL_ARGUMENT_ENTRIES ?
- kArgObjects : kArgObjects-kOnManyArgumentsRemove;
- if (argc >= 5 && !RUN_WITH_ALL_ARGUMENT_ENTRIES) {
- for (var i = 0; i < kOnManyArgumentsRemove; i++) {
- var rand = Math.floor(Math.random() * (kArgObjects - i));
- argPool.splice(rand,1);
- }
- }
- var current = type;
- var hasMore = false;
- var argList = [ ];
- for (var i = 0; i < argc; i++) {
- var index = current % numArguments;
- current = (current / numArguments) << 0;
- if (index != (numArguments - 1))
- hasMore = true;
- argList.push(argPool[index]);
- }
- try {
- func.apply(void 0, argList);
- } catch (e) {
- // we don't care what happens as long as we don't crash
- }
- type++;
- }
-}
-
-var knownProblems = {
- "Abort": true,
-
- // Avoid calling the concat operation, because weird lengths
- // may lead to out-of-memory. Ditto for StringBuilderJoin.
- "StringBuilderConcat": true,
- "StringBuilderJoin": true,
-
- // These functions use pseudo-stack-pointers and are not robust
- // to unexpected integer values.
- "DebugEvaluate": true,
-
- // These functions do nontrivial error checking in recursive calls,
- // which means that we have to propagate errors back.
- "SetFunctionBreakPoint": true,
- "SetScriptBreakPoint": true,
- "PrepareStep": true,
-
- // Too slow.
- "DebugReferencedBy": true,
-
- // Calling disable/enable access checks may interfere with the
- // the rest of the tests.
- "DisableAccessChecks": true,
- "EnableAccessChecks": true,
-
- // These functions should not be callable as runtime functions.
- "NewFunctionContext": true,
- "NewArgumentsFast": true,
- "NewStrictArgumentsFast": true,
- "PushWithContext": true,
- "PushCatchContext": true,
- "PushBlockContext": true,
- "PushModuleContext": true,
- "LazyCompile": true,
- "LazyRecompile": true,
- "ParallelRecompile": true,
- "NotifyDeoptimized": true,
- "NotifyStubFailure": true,
- "NotifyOSR": true,
- "CreateObjectLiteralBoilerplate": true,
- "CloneLiteralBoilerplate": true,
- "CloneShallowLiteralBoilerplate": true,
- "CreateArrayLiteralBoilerplate": true,
- "IS_VAR": true,
- "ResolvePossiblyDirectEval": true,
- "Log": true,
- "DeclareGlobals": true,
-
- "PromoteScheduledException": true,
- "DeleteHandleScopeExtensions": true,
-
- // Vararg with minimum number > 0.
- "Call": true,
-
- // Requires integer arguments to be non-negative.
- "Apply": true,
-
- // That can only be invoked on Array.prototype.
- "FinishArrayPrototypeSetup": true,
-
- "_SwapElements": true,
-
- // Performance critical functions which cannot afford type checks.
- "_IsNativeOrStrictMode": true,
- "_CallFunction": true,
-
- // Tries to allocate based on argument, and (correctly) throws
- // out-of-memory if the request is too large. In practice, the
- // size will be the number of captures of a RegExp.
- "RegExpConstructResult": true,
- "_RegExpConstructResult": true,
-
- // This functions perform some checks compile time (they require one of their
- // arguments to be a compile time smi).
- "_DateField": true,
- "_GetFromCache": true,
-
- // This function expects its first argument to be a non-smi.
- "_IsStringWrapperSafeForDefaultValueOf" : true,
-
- // Only applicable to strings.
- "_HasCachedArrayIndex": true,
- "_GetCachedArrayIndex": true,
- "_OneByteSeqStringSetChar": true,
- "_TwoByteSeqStringSetChar": true,
-
- // Only for debugging parallel recompilation.
- "InstallRecompiledCode": true,
- "ForceParallelRecompile": true
-};
-
-var currentlyUncallable = {
- // We need to find a way to test this without breaking the system.
- "SystemBreak": true
-};
-
-function testNatives() {
- var allNatives = %ListNatives();
- var start = 0;
- var stop = (allNatives.length >> 2);
- for (var i = start; i < stop; i++) {
- var nativeInfo = allNatives[i];
- var name = nativeInfo[0];
- if (name in knownProblems || name in currentlyUncallable)
- continue;
- print(name);
- var argc = nativeInfo[1];
- testArgumentCount(name, argc);
- testArgumentTypes(name, argc);
- }
-}
-
-testNatives();
diff --git a/src/3rdparty/v8/test/mjsunit/fuzz-natives-part2.js b/src/3rdparty/v8/test/mjsunit/fuzz-natives-part2.js
deleted file mode 100644
index 2faad1d..0000000
--- a/src/3rdparty/v8/test/mjsunit/fuzz-natives-part2.js
+++ /dev/null
@@ -1,229 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-var RUN_WITH_ALL_ARGUMENT_ENTRIES = false;
-var kOnManyArgumentsRemove = 5;
-
-function makeArguments() {
- var result = [ ];
- result.push(17);
- result.push(-31);
- result.push(new Array(100));
- result.push(new Array(100003));
- result.push(Number.MIN_VALUE);
- result.push("whoops");
- result.push("x");
- result.push({"x": 1, "y": 2});
- var slowCaseObj = {"a": 3, "b": 4, "c": 5};
- delete slowCaseObj.c;
- result.push(slowCaseObj);
- result.push(function () { return 8; });
- return result;
-}
-
-var kArgObjects = makeArguments().length;
-
-function makeFunction(name, argc) {
- var args = [];
- for (var i = 0; i < argc; i++)
- args.push("x" + i);
- var argsStr = args.join(", ");
- return new Function(args.join(", "), "return %" + name + "(" + argsStr + ");");
-}
-
-function testArgumentCount(name, argc) {
- for (var i = 0; i < 10; i++) {
- var func = null;
- try {
- func = makeFunction(name, i);
- } catch (e) {
- if (e != "SyntaxError: Illegal access") throw e;
- }
- if (func === null && i == argc) {
- throw "unexpected exception";
- }
- var args = [ ];
- for (var j = 0; j < i; j++)
- args.push(0);
- try {
- func.apply(void 0, args);
- } catch (e) {
- // we don't care what happens as long as we don't crash
- }
- }
-}
-
-function testArgumentTypes(name, argc) {
- var type = 0;
- var hasMore = true;
- var func = makeFunction(name, argc);
- while (hasMore) {
- var argPool = makeArguments();
- // When we have 5 or more arguments we lower the amount of tests cases
- // by randomly removing kOnManyArgumentsRemove entries
- var numArguments = RUN_WITH_ALL_ARGUMENT_ENTRIES ?
- kArgObjects : kArgObjects-kOnManyArgumentsRemove;
- if (argc >= 5 && !RUN_WITH_ALL_ARGUMENT_ENTRIES) {
- for (var i = 0; i < kOnManyArgumentsRemove; i++) {
- var rand = Math.floor(Math.random() * (kArgObjects - i));
- argPool.splice(rand,1);
- }
- }
- var current = type;
- var hasMore = false;
- var argList = [ ];
- for (var i = 0; i < argc; i++) {
- var index = current % numArguments;
- current = (current / numArguments) << 0;
- if (index != (numArguments - 1))
- hasMore = true;
- argList.push(argPool[index]);
- }
- try {
- func.apply(void 0, argList);
- } catch (e) {
- // we don't care what happens as long as we don't crash
- }
- type++;
- }
-}
-
-var knownProblems = {
- "Abort": true,
-
- // Avoid calling the concat operation, because weird lengths
- // may lead to out-of-memory. Ditto for StringBuilderJoin.
- "StringBuilderConcat": true,
- "StringBuilderJoin": true,
-
- // These functions use pseudo-stack-pointers and are not robust
- // to unexpected integer values.
- "DebugEvaluate": true,
-
- // These functions do nontrivial error checking in recursive calls,
- // which means that we have to propagate errors back.
- "SetFunctionBreakPoint": true,
- "SetScriptBreakPoint": true,
- "PrepareStep": true,
-
- // Too slow.
- "DebugReferencedBy": true,
-
- // Calling disable/enable access checks may interfere with the
- // the rest of the tests.
- "DisableAccessChecks": true,
- "EnableAccessChecks": true,
-
- // These functions should not be callable as runtime functions.
- "NewFunctionContext": true,
- "NewArgumentsFast": true,
- "NewStrictArgumentsFast": true,
- "PushWithContext": true,
- "PushCatchContext": true,
- "PushBlockContext": true,
- "PushModuleContext": true,
- "LazyCompile": true,
- "LazyRecompile": true,
- "ParallelRecompile": true,
- "NotifyDeoptimized": true,
- "NotifyOSR": true,
- "CreateObjectLiteralBoilerplate": true,
- "CloneLiteralBoilerplate": true,
- "CloneShallowLiteralBoilerplate": true,
- "CreateArrayLiteralBoilerplate": true,
- "IS_VAR": true,
- "ResolvePossiblyDirectEval": true,
- "Log": true,
- "DeclareGlobals": true,
-
- "PromoteScheduledException": true,
- "DeleteHandleScopeExtensions": true,
-
- // Vararg with minimum number > 0.
- "Call": true,
-
- // Requires integer arguments to be non-negative.
- "Apply": true,
-
- // That can only be invoked on Array.prototype.
- "FinishArrayPrototypeSetup": true,
-
- "_SwapElements": true,
-
- // Performance critical functions which cannot afford type checks.
- "_IsNativeOrStrictMode": true,
- "_CallFunction": true,
-
- // Tries to allocate based on argument, and (correctly) throws
- // out-of-memory if the request is too large. In practice, the
- // size will be the number of captures of a RegExp.
- "RegExpConstructResult": true,
- "_RegExpConstructResult": true,
-
- // This functions perform some checks compile time (they require one of their
- // arguments to be a compile time smi).
- "_DateField": true,
- "_GetFromCache": true,
-
- // This function expects its first argument to be a non-smi.
- "_IsStringWrapperSafeForDefaultValueOf" : true,
-
- // Only applicable to strings.
- "_HasCachedArrayIndex": true,
- "_GetCachedArrayIndex": true,
- "_OneByteSeqStringSetChar": true,
- "_TwoByteSeqStringSetChar": true,
-
- // Only for debugging parallel recompilation.
- "InstallRecompiledCode": true,
- "ForceParallelRecompile": true
-};
-
-var currentlyUncallable = {
- // We need to find a way to test this without breaking the system.
- "SystemBreak": true
-};
-
-function testNatives() {
- var allNatives = %ListNatives();
- var start = allNatives.length >> 2;
- var stop = (allNatives.length >> 2)*2;
- for (var i = start; i < stop; i++) {
- var nativeInfo = allNatives[i];
- var name = nativeInfo[0];
- if (name in knownProblems || name in currentlyUncallable)
- continue;
- print(name);
- var argc = nativeInfo[1];
- testArgumentCount(name, argc);
- testArgumentTypes(name, argc);
- }
-}
-
-testNatives();
diff --git a/src/3rdparty/v8/test/mjsunit/fuzz-natives-part3.js b/src/3rdparty/v8/test/mjsunit/fuzz-natives-part3.js
deleted file mode 100644
index ed71d33..0000000
--- a/src/3rdparty/v8/test/mjsunit/fuzz-natives-part3.js
+++ /dev/null
@@ -1,229 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-var RUN_WITH_ALL_ARGUMENT_ENTRIES = false;
-var kOnManyArgumentsRemove = 5;
-
-function makeArguments() {
- var result = [ ];
- result.push(17);
- result.push(-31);
- result.push(new Array(100));
- result.push(new Array(100003));
- result.push(Number.MIN_VALUE);
- result.push("whoops");
- result.push("x");
- result.push({"x": 1, "y": 2});
- var slowCaseObj = {"a": 3, "b": 4, "c": 5};
- delete slowCaseObj.c;
- result.push(slowCaseObj);
- result.push(function () { return 8; });
- return result;
-}
-
-var kArgObjects = makeArguments().length;
-
-function makeFunction(name, argc) {
- var args = [];
- for (var i = 0; i < argc; i++)
- args.push("x" + i);
- var argsStr = args.join(", ");
- return new Function(args.join(", "), "return %" + name + "(" + argsStr + ");");
-}
-
-function testArgumentCount(name, argc) {
- for (var i = 0; i < 10; i++) {
- var func = null;
- try {
- func = makeFunction(name, i);
- } catch (e) {
- if (e != "SyntaxError: Illegal access") throw e;
- }
- if (func === null && i == argc) {
- throw "unexpected exception";
- }
- var args = [ ];
- for (var j = 0; j < i; j++)
- args.push(0);
- try {
- func.apply(void 0, args);
- } catch (e) {
- // we don't care what happens as long as we don't crash
- }
- }
-}
-
-function testArgumentTypes(name, argc) {
- var type = 0;
- var hasMore = true;
- var func = makeFunction(name, argc);
- while (hasMore) {
- var argPool = makeArguments();
- // When we have 5 or more arguments we lower the amount of tests cases
- // by randomly removing kOnManyArgumentsRemove entries
- var numArguments = RUN_WITH_ALL_ARGUMENT_ENTRIES ?
- kArgObjects : kArgObjects-kOnManyArgumentsRemove;
- if (argc >= 5 && !RUN_WITH_ALL_ARGUMENT_ENTRIES) {
- for (var i = 0; i < kOnManyArgumentsRemove; i++) {
- var rand = Math.floor(Math.random() * (kArgObjects - i));
- argPool.splice(rand,1);
- }
- }
- var current = type;
- var hasMore = false;
- var argList = [ ];
- for (var i = 0; i < argc; i++) {
- var index = current % numArguments;
- current = (current / numArguments) << 0;
- if (index != (numArguments - 1))
- hasMore = true;
- argList.push(argPool[index]);
- }
- try {
- func.apply(void 0, argList);
- } catch (e) {
- // we don't care what happens as long as we don't crash
- }
- type++;
- }
-}
-
-var knownProblems = {
- "Abort": true,
-
- // Avoid calling the concat operation, because weird lengths
- // may lead to out-of-memory. Ditto for StringBuilderJoin.
- "StringBuilderConcat": true,
- "StringBuilderJoin": true,
-
- // These functions use pseudo-stack-pointers and are not robust
- // to unexpected integer values.
- "DebugEvaluate": true,
-
- // These functions do nontrivial error checking in recursive calls,
- // which means that we have to propagate errors back.
- "SetFunctionBreakPoint": true,
- "SetScriptBreakPoint": true,
- "PrepareStep": true,
-
- // Too slow.
- "DebugReferencedBy": true,
-
- // Calling disable/enable access checks may interfere with the
- // the rest of the tests.
- "DisableAccessChecks": true,
- "EnableAccessChecks": true,
-
- // These functions should not be callable as runtime functions.
- "NewFunctionContext": true,
- "NewArgumentsFast": true,
- "NewStrictArgumentsFast": true,
- "PushWithContext": true,
- "PushCatchContext": true,
- "PushBlockContext": true,
- "PushModuleContext": true,
- "LazyCompile": true,
- "LazyRecompile": true,
- "ParallelRecompile": true,
- "NotifyDeoptimized": true,
- "NotifyOSR": true,
- "CreateObjectLiteralBoilerplate": true,
- "CloneLiteralBoilerplate": true,
- "CloneShallowLiteralBoilerplate": true,
- "CreateArrayLiteralBoilerplate": true,
- "IS_VAR": true,
- "ResolvePossiblyDirectEval": true,
- "Log": true,
- "DeclareGlobals": true,
-
- "PromoteScheduledException": true,
- "DeleteHandleScopeExtensions": true,
-
- // Vararg with minimum number > 0.
- "Call": true,
-
- // Requires integer arguments to be non-negative.
- "Apply": true,
-
- // That can only be invoked on Array.prototype.
- "FinishArrayPrototypeSetup": true,
-
- "_SwapElements": true,
-
- // Performance critical functions which cannot afford type checks.
- "_IsNativeOrStrictMode": true,
- "_CallFunction": true,
-
- // Tries to allocate based on argument, and (correctly) throws
- // out-of-memory if the request is too large. In practice, the
- // size will be the number of captures of a RegExp.
- "RegExpConstructResult": true,
- "_RegExpConstructResult": true,
-
- // This functions perform some checks compile time (they require one of their
- // arguments to be a compile time smi).
- "_DateField": true,
- "_GetFromCache": true,
-
- // This function expects its first argument to be a non-smi.
- "_IsStringWrapperSafeForDefaultValueOf" : true,
-
- // Only applicable to strings.
- "_HasCachedArrayIndex": true,
- "_GetCachedArrayIndex": true,
- "_OneByteSeqStringSetChar": true,
- "_TwoByteSeqStringSetChar": true,
-
- // Only for debugging parallel recompilation.
- "InstallRecompiledCode": true,
- "ForceParallelRecompile": true
-};
-
-var currentlyUncallable = {
- // We need to find a way to test this without breaking the system.
- "SystemBreak": true
-};
-
-function testNatives() {
- var allNatives = %ListNatives();
- var start = (allNatives.length >> 2)*2;
- var stop = (allNatives.length >> 2)*3;
- for (var i = start; i < stop; i++) {
- var nativeInfo = allNatives[i];
- var name = nativeInfo[0];
- if (name in knownProblems || name in currentlyUncallable)
- continue;
- print(name);
- var argc = nativeInfo[1];
- testArgumentCount(name, argc);
- testArgumentTypes(name, argc);
- }
-}
-
-testNatives();
diff --git a/src/3rdparty/v8/test/mjsunit/fuzz-natives-part4.js b/src/3rdparty/v8/test/mjsunit/fuzz-natives-part4.js
deleted file mode 100644
index 1b128d5..0000000
--- a/src/3rdparty/v8/test/mjsunit/fuzz-natives-part4.js
+++ /dev/null
@@ -1,229 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-var RUN_WITH_ALL_ARGUMENT_ENTRIES = false;
-var kOnManyArgumentsRemove = 5;
-
-function makeArguments() {
- var result = [ ];
- result.push(17);
- result.push(-31);
- result.push(new Array(100));
- result.push(new Array(100003));
- result.push(Number.MIN_VALUE);
- result.push("whoops");
- result.push("x");
- result.push({"x": 1, "y": 2});
- var slowCaseObj = {"a": 3, "b": 4, "c": 5};
- delete slowCaseObj.c;
- result.push(slowCaseObj);
- result.push(function () { return 8; });
- return result;
-}
-
-var kArgObjects = makeArguments().length;
-
-function makeFunction(name, argc) {
- var args = [];
- for (var i = 0; i < argc; i++)
- args.push("x" + i);
- var argsStr = args.join(", ");
- return new Function(args.join(", "), "return %" + name + "(" + argsStr + ");");
-}
-
-function testArgumentCount(name, argc) {
- for (var i = 0; i < 10; i++) {
- var func = null;
- try {
- func = makeFunction(name, i);
- } catch (e) {
- if (e != "SyntaxError: Illegal access") throw e;
- }
- if (func === null && i == argc) {
- throw "unexpected exception";
- }
- var args = [ ];
- for (var j = 0; j < i; j++)
- args.push(0);
- try {
- func.apply(void 0, args);
- } catch (e) {
- // we don't care what happens as long as we don't crash
- }
- }
-}
-
-function testArgumentTypes(name, argc) {
- var type = 0;
- var hasMore = true;
- var func = makeFunction(name, argc);
- while (hasMore) {
- var argPool = makeArguments();
- // When we have 5 or more arguments we lower the amount of tests cases
- // by randomly removing kOnManyArgumentsRemove entries
- var numArguments = RUN_WITH_ALL_ARGUMENT_ENTRIES ?
- kArgObjects : kArgObjects-kOnManyArgumentsRemove;
- if (argc >= 5 && !RUN_WITH_ALL_ARGUMENT_ENTRIES) {
- for (var i = 0; i < kOnManyArgumentsRemove; i++) {
- var rand = Math.floor(Math.random() * (kArgObjects - i));
- argPool.splice(rand,1);
- }
- }
- var current = type;
- var hasMore = false;
- var argList = [ ];
- for (var i = 0; i < argc; i++) {
- var index = current % numArguments;
- current = (current / numArguments) << 0;
- if (index != (numArguments - 1))
- hasMore = true;
- argList.push(argPool[index]);
- }
- try {
- func.apply(void 0, argList);
- } catch (e) {
- // we don't care what happens as long as we don't crash
- }
- type++;
- }
-}
-
-var knownProblems = {
- "Abort": true,
-
- // Avoid calling the concat operation, because weird lengths
- // may lead to out-of-memory. Ditto for StringBuilderJoin.
- "StringBuilderConcat": true,
- "StringBuilderJoin": true,
-
- // These functions use pseudo-stack-pointers and are not robust
- // to unexpected integer values.
- "DebugEvaluate": true,
-
- // These functions do nontrivial error checking in recursive calls,
- // which means that we have to propagate errors back.
- "SetFunctionBreakPoint": true,
- "SetScriptBreakPoint": true,
- "PrepareStep": true,
-
- // Too slow.
- "DebugReferencedBy": true,
-
- // Calling disable/enable access checks may interfere with the
- // the rest of the tests.
- "DisableAccessChecks": true,
- "EnableAccessChecks": true,
-
- // These functions should not be callable as runtime functions.
- "NewFunctionContext": true,
- "NewArgumentsFast": true,
- "NewStrictArgumentsFast": true,
- "PushWithContext": true,
- "PushCatchContext": true,
- "PushBlockContext": true,
- "PushModuleContext": true,
- "LazyCompile": true,
- "LazyRecompile": true,
- "ParallelRecompile": true,
- "NotifyDeoptimized": true,
- "NotifyOSR": true,
- "CreateObjectLiteralBoilerplate": true,
- "CloneLiteralBoilerplate": true,
- "CloneShallowLiteralBoilerplate": true,
- "CreateArrayLiteralBoilerplate": true,
- "IS_VAR": true,
- "ResolvePossiblyDirectEval": true,
- "Log": true,
- "DeclareGlobals": true,
-
- "PromoteScheduledException": true,
- "DeleteHandleScopeExtensions": true,
-
- // Vararg with minimum number > 0.
- "Call": true,
-
- // Requires integer arguments to be non-negative.
- "Apply": true,
-
- // That can only be invoked on Array.prototype.
- "FinishArrayPrototypeSetup": true,
-
- "_SwapElements": true,
-
- // Performance critical functions which cannot afford type checks.
- "_IsNativeOrStrictMode": true,
- "_CallFunction": true,
-
- // Tries to allocate based on argument, and (correctly) throws
- // out-of-memory if the request is too large. In practice, the
- // size will be the number of captures of a RegExp.
- "RegExpConstructResult": true,
- "_RegExpConstructResult": true,
-
- // This functions perform some checks compile time (they require one of their
- // arguments to be a compile time smi).
- "_DateField": true,
- "_GetFromCache": true,
-
- // This function expects its first argument to be a non-smi.
- "_IsStringWrapperSafeForDefaultValueOf" : true,
-
- // Only applicable to strings.
- "_HasCachedArrayIndex": true,
- "_GetCachedArrayIndex": true,
- "_OneByteSeqStringSetChar": true,
- "_TwoByteSeqStringSetChar": true,
-
- // Only for debugging parallel recompilation.
- "InstallRecompiledCode": true,
- "ForceParallelRecompile": true
-};
-
-var currentlyUncallable = {
- // We need to find a way to test this without breaking the system.
- "SystemBreak": true
-};
-
-function testNatives() {
- var allNatives = %ListNatives();
- var start = (allNatives.length >> 2)*3;
- var stop = allNatives.length;
- for (var i = start; i < stop; i++) {
- var nativeInfo = allNatives[i];
- var name = nativeInfo[0];
- if (name in knownProblems || name in currentlyUncallable)
- continue;
- print(name);
- var argc = nativeInfo[1];
- testArgumentCount(name, argc);
- testArgumentTypes(name, argc);
- }
-}
-
-testNatives();
diff --git a/src/3rdparty/v8/test/mjsunit/generated-transition-stub.js b/src/3rdparty/v8/test/mjsunit/generated-transition-stub.js
deleted file mode 100644
index dd1043b..0000000
--- a/src/3rdparty/v8/test/mjsunit/generated-transition-stub.js
+++ /dev/null
@@ -1,218 +0,0 @@
-// Copyright 2013 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --compiled_transitions
-
-try {} catch (e) {}
-
-var iteration_count = 1;
-
-function transition1(a, i, v) {
- a[i] = v;
-}
-
-//
-// Test PACKED SMI -> PACKED DOUBLE
-//
-
-var a1 = [0, 1, 2, 3, 4];
-transition1(a1, 0, 2.5);
-var a2 = [0, 1, 2, 3, 4];
-transition1(a2, 0, 2.5);
-assertFalse(%HasFastHoleyElements(a2));
-%OptimizeFunctionOnNextCall(transition1);
-
-var a3 = [0, 1, 2, 3, 4];
-assertTrue(%HasFastSmiElements(a3));
-transition1(a3, 0, 2.5);
-assertFalse(%HasFastHoleyElements(a3));
-assertEquals(4, a3[4]);
-assertEquals(2.5, a3[0]);
-
-// Test handling of hole.
-var a4 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
-a4.length = 7;
-assertTrue(%HasFastSmiElements(a4));
-transition1(a4, 0, 2.5);
-assertFalse(%HasFastHoleyElements(a4));
-assertEquals(2.5, a4[0]);
-assertEquals(undefined, a4[8]);
-
-// Large array should deopt to runtimea
-for (j = 0; j < iteration_count; ++j) {
- a5 = new Array();
- for (i = 0; i < 0x40000; ++i) {
- a5[i] = 0;
- }
- assertTrue(%HasFastSmiElements(a5));
- transition1(a5, 0, 2.5);
- assertEquals(2.5, a5[0]);
-}
-
-//
-// Test HOLEY SMI -> HOLEY DOUBLE
-//
-
-function transition2(a, i, v) {
- a[i] = v;
-}
-
-var b1 = [0, 1, 2, , 4];
-transition2(b1, 0, 2.5);
-var b2 = [0, 1, 2, , 4];
-transition2(b2, 0, 2.5);
-assertTrue(%HasFastHoleyElements(b2));
-%OptimizeFunctionOnNextCall(transition2);
-
-var b3 = [0, 1, 2, , 4];
-assertTrue(%HasFastSmiElements(b3));
-assertTrue(%HasFastHoleyElements(b3));
-transition2(b3, 0, 2.5);
-assertTrue(%HasFastHoleyElements(b3));
-assertEquals(4, b3[4]);
-assertEquals(2.5, b3[0]);
-
-// Large array should deopt to runtime
-for (j = 0; j < iteration_count; ++j) {
- b4 = [0, ,0];
- for (i = 3; i < 0x40000; ++i) {
- b4[i] = 0;
- }
- assertTrue(%HasFastSmiElements(b4));
- transition2(b4, 0, 2.5);
- assertEquals(2.5, b4[0]);
-}
-
-//
-// Test PACKED DOUBLE -> PACKED OBJECT
-//
-
-function transition3(a, i, v) {
- a[i] = v;
-}
-
-var c1 = [0, 1, 2, 3.5, 4];
-transition3(c1, 0, new Object());
-var c2 = [0, 1, 2, 3.5, 4];
-transition3(c2, 0, new Object());
-assertTrue(%HasFastObjectElements(c2));
-assertTrue(!%HasFastHoleyElements(c2));
-%OptimizeFunctionOnNextCall(transition3);
-
-var c3 = [0, 1, 2, 3.5, 4];
-assertTrue(%HasFastDoubleElements(c3));
-assertTrue(!%HasFastHoleyElements(c3));
-transition3(c3, 0, new Array());
-assertTrue(!%HasFastHoleyElements(c3));
-assertTrue(%HasFastObjectElements(c3));
-assertEquals(4, c3[4]);
-assertEquals(0, c3[0].length);
-
-// Large array under the deopt threshold should be able to trigger GC without
-// causing crashes.
-for (j = 0; j < iteration_count; ++j) {
- c4 = [0, 2.5, 0];
- for (i = 3; i < 0xa000; ++i) {
- c4[i] = 0;
- }
- assertTrue(%HasFastDoubleElements(c4));
- assertTrue(!%HasFastHoleyElements(c4));
- transition3(c4, 0, new Array(5));
- assertTrue(!%HasFastHoleyElements(c4));
- assertTrue(%HasFastObjectElements(c4));
- assertEquals(5, c4[0].length);
-}
-
-// Large array should deopt to runtime
-for (j = 0; j < iteration_count; ++j) {
- c5 = [0, 2.5, 0];
- for (i = 3; i < 0x40000; ++i) {
- c5[i] = 0;
- }
- assertTrue(%HasFastDoubleElements(c5));
- assertTrue(!%HasFastHoleyElements(c5));
- transition3(c5, 0, new Array(5));
- assertTrue(!%HasFastHoleyElements(c5));
- assertTrue(%HasFastObjectElements(c5));
- assertEquals(5, c5[0].length);
-}
-
-//
-// Test HOLEY DOUBLE -> HOLEY OBJECT
-//
-
-function transition4(a, i, v) {
- a[i] = v;
-}
-
-var d1 = [0, 1, , 3.5, 4];
-transition4(d1, 0, new Object());
-var d2 = [0, 1, , 3.5, 4];
-transition4(d2, 0, new Object());
-assertTrue(%HasFastObjectElements(d2));
-assertTrue(%HasFastHoleyElements(d2));
-%OptimizeFunctionOnNextCall(transition4);
-
-var d3 = [0, 1, , 3.5, 4];
-assertTrue(%HasFastDoubleElements(d3));
-assertTrue(%HasFastHoleyElements(d3));
-transition4(d3, 0, new Array());
-assertTrue(%HasFastHoleyElements(d3));
-assertTrue(%HasFastObjectElements(d3));
-assertEquals(4, d3[4]);
-assertEquals(0, d3[0].length);
-
-// Large array under the deopt threshold should be able to trigger GC without
-// causing crashes.
-for (j = 0; j < iteration_count; ++j) {
- d4 = [, 2.5, ,];
- for (i = 3; i < 0xa000; ++i) {
- d4[i] = 0;
- }
- assertTrue(%HasFastDoubleElements(d4));
- assertTrue(%HasFastHoleyElements(d4));
- transition4(d4, 0, new Array(5));
- assertTrue(%HasFastHoleyElements(d4));
- assertTrue(%HasFastObjectElements(d4));
- assertEquals(5, d4[0].length);
- assertEquals(undefined, d4[2]);
-}
-
-// Large array should deopt to runtime
-for (j = 0; j < iteration_count; ++j) {
- d5 = [, 2.5, ,];
- for (i = 3; i < 0x40000; ++i) {
- d5[i] = 0;
- }
- assertTrue(%HasFastDoubleElements(d5));
- assertTrue(%HasFastHoleyElements(d5));
- transition4(d5, 0, new Array(5));
- assertTrue(%HasFastHoleyElements(d5));
- assertTrue(%HasFastObjectElements(d5));
- assertEquals(5, d5[0].length);
- assertEquals(undefined, d5[2]);
-}
diff --git a/src/3rdparty/v8/test/mjsunit/get-own-property-descriptor.js b/src/3rdparty/v8/test/mjsunit/get-own-property-descriptor.js
deleted file mode 100644
index 159c63b..0000000
--- a/src/3rdparty/v8/test/mjsunit/get-own-property-descriptor.js
+++ /dev/null
@@ -1,121 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// This file only tests very simple descriptors that always have
-// configurable, enumerable, and writable set to true.
-// A range of more elaborate tests are performed in
-// object-define-property.js
-
-function get() { return x; }
-function set(x) { this.x = x; }
-
-var obj = {x: 1};
-obj.__defineGetter__("accessor", get);
-obj.__defineSetter__("accessor", set);
-var a = new Array();
-a[1] = 42;
-obj[1] = 42;
-
-var descIsData = Object.getOwnPropertyDescriptor(obj, 'x');
-assertTrue(descIsData.enumerable);
-assertTrue(descIsData.writable);
-assertTrue(descIsData.configurable);
-
-var descIsAccessor = Object.getOwnPropertyDescriptor(obj, 'accessor');
-assertTrue(descIsAccessor.enumerable);
-assertTrue(descIsAccessor.configurable);
-assertTrue(descIsAccessor.get == get);
-assertTrue(descIsAccessor.set == set);
-
-var descIsNotData = Object.getOwnPropertyDescriptor(obj, 'not-x');
-assertTrue(descIsNotData == undefined);
-
-var descIsNotAccessor = Object.getOwnPropertyDescriptor(obj, 'not-accessor');
-assertTrue(descIsNotAccessor == undefined);
-
-var descArray = Object.getOwnPropertyDescriptor(a, '1');
-assertTrue(descArray.enumerable);
-assertTrue(descArray.configurable);
-assertTrue(descArray.writable);
-assertEquals(descArray.value, 42);
-
-var descObjectElement = Object.getOwnPropertyDescriptor(obj, '1');
-assertTrue(descObjectElement.enumerable);
-assertTrue(descObjectElement.configurable);
-assertTrue(descObjectElement.writable);
-assertEquals(descObjectElement.value, 42);
-
-// String objects.
-var a = new String('foobar');
-for (var i = 0; i < a.length; i++) {
- var descStringObject = Object.getOwnPropertyDescriptor(a, i);
- assertTrue(descStringObject.enumerable);
- assertFalse(descStringObject.configurable);
- assertFalse(descStringObject.writable);
- assertEquals(descStringObject.value, a.substring(i, i+1));
-}
-
-// Support for additional attributes on string objects.
-a.x = 42;
-a[10] = 'foo';
-var descStringProperty = Object.getOwnPropertyDescriptor(a, 'x');
-assertTrue(descStringProperty.enumerable);
-assertTrue(descStringProperty.configurable);
-assertTrue(descStringProperty.writable);
-assertEquals(descStringProperty.value, 42);
-
-var descStringElement = Object.getOwnPropertyDescriptor(a, '10');
-assertTrue(descStringElement.enumerable);
-assertTrue(descStringElement.configurable);
-assertTrue(descStringElement.writable);
-assertEquals(descStringElement.value, 'foo');
-
-// Test that elements in the prototype chain is not returned.
-var proto = {};
-proto[10] = 42;
-
-var objWithProto = new Array();
-objWithProto.prototype = proto;
-objWithProto[0] = 'bar';
-var descWithProto = Object.getOwnPropertyDescriptor(objWithProto, '10');
-assertEquals(undefined, descWithProto);
-
-// Test elements on global proxy object.
-var global = (function() { return this; })();
-
-global[42] = 42;
-
-function el_getter() { return 239; };
-function el_setter() {};
-Object.defineProperty(global, '239', {get: el_getter, set: el_setter});
-
-var descRegularElement = Object.getOwnPropertyDescriptor(global, '42');
-assertEquals(42, descRegularElement.value);
-
-var descAccessorElement = Object.getOwnPropertyDescriptor(global, '239');
-assertEquals(el_getter, descAccessorElement.get);
-assertEquals(el_setter, descAccessorElement.set);
diff --git a/src/3rdparty/v8/test/mjsunit/get-prototype-of.js b/src/3rdparty/v8/test/mjsunit/get-prototype-of.js
deleted file mode 100644
index 6475bde..0000000
--- a/src/3rdparty/v8/test/mjsunit/get-prototype-of.js
+++ /dev/null
@@ -1,68 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-function TryGetPrototypeOfNonObject(x) {
- var caught = 0;
- try {
- Object.getPrototypeOf(x);
- } catch (e) {
- caught = e;
- }
-
- assertTrue(caught instanceof TypeError);
-};
-
-function GetPrototypeOfObject(x) {
- assertDoesNotThrow(Object.getPrototypeOf(x));
- assertNotNull(Object.getPrototypeOf(x));
- assertEquals(Object.getPrototypeOf(x), x.__proto__);
-}
-
-function F(){};
-
-// Non object
-var x = 10;
-
-// Object
-var y = new F();
-
-// Make sure that TypeError exceptions are thrown when non-objects are passed
-// as argument
-TryGetPrototypeOfNonObject(0);
-TryGetPrototypeOfNonObject(null);
-TryGetPrototypeOfNonObject('Testing');
-TryGetPrototypeOfNonObject(x);
-
-// Make sure the real objects have this method and that it returns the
-// actual prototype object. Also test for Functions and RegExp.
-GetPrototypeOfObject(this);
-GetPrototypeOfObject(y);
-GetPrototypeOfObject({x:5});
-GetPrototypeOfObject(F);
-GetPrototypeOfObject(RegExp);
-
diff --git a/src/3rdparty/v8/test/mjsunit/getter-in-prototype.js b/src/3rdparty/v8/test/mjsunit/getter-in-prototype.js
deleted file mode 100644
index 01a3473..0000000
--- a/src/3rdparty/v8/test/mjsunit/getter-in-prototype.js
+++ /dev/null
@@ -1,78 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that exceptions are not thrown when setting properties on object
-// that have only a getter in a prototype object, except when we are in strict
-// mode where exceptsions should be thrown.
-
-var o = {};
-var p = {};
-p.__defineGetter__('x', function(){});
-p.__defineGetter__(0, function(){});
-o.__proto__ = p;
-
-assertDoesNotThrow("o.x = 42");
-assertDoesNotThrow("o[0] = 42");
-
-assertThrows(function() { 'use strict'; o.x = 42; });
-assertThrows(function() { 'use strict'; o[0] = 42; });
-
-function f() {
- with(o) {
- x = 42;
- }
-}
-
-assertDoesNotThrow(f);
-
-__proto__ = p;
-function g() {
- eval('1');
- x = 42;
-}
-
-function g_strict() {
- 'use strict';
- eval('1');
- x = 42;
-}
-
-assertDoesNotThrow(g);
-assertThrows(g_strict);
-
-__proto__ = p;
-function g2() {
- this[0] = 42;
-}
-
-function g2_strict() {
- 'use strict';
- this[0] = 42;
-}
-
-assertDoesNotThrow(g2);
-assertThrows(g2_strict);
diff --git a/src/3rdparty/v8/test/mjsunit/getter-in-value-prototype.js b/src/3rdparty/v8/test/mjsunit/getter-in-value-prototype.js
deleted file mode 100644
index abe2cb1..0000000
--- a/src/3rdparty/v8/test/mjsunit/getter-in-value-prototype.js
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that getters can be defined and called on value prototypes.
-//
-// This used to fail because of an invalid cast of the receiver to a
-// JSObject.
-
-String.prototype.__defineGetter__('x', function() { return this; });
-assertEquals(Object('asdf'), 'asdf'.x);
-
diff --git a/src/3rdparty/v8/test/mjsunit/global-accessors.js b/src/3rdparty/v8/test/mjsunit/global-accessors.js
deleted file mode 100644
index 47f4328..0000000
--- a/src/3rdparty/v8/test/mjsunit/global-accessors.js
+++ /dev/null
@@ -1,52 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test accessors on the global object.
-
-var x_ = 0;
-
-__defineSetter__('x', function(x) { x_ = x; });
-__defineGetter__('x', function() { return x_; });
-
-__defineSetter__('y', function(x) { });
-__defineGetter__('y', function() { return 7; });
-
-function f(a) {
- x = x + a;
- return x;
-}
-
-function g(a) {
- y = y + a;
- return y;
-}
-
-assertEquals(1, f(1));
-assertEquals(3, f(2));
-
-assertEquals(7, g(1));
-assertEquals(7, g(2));
diff --git a/src/3rdparty/v8/test/mjsunit/global-const-var-conflicts.js b/src/3rdparty/v8/test/mjsunit/global-const-var-conflicts.js
deleted file mode 100644
index 2fca96f..0000000
--- a/src/3rdparty/v8/test/mjsunit/global-const-var-conflicts.js
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Check that dynamically introducing conflicting consts/vars
-// is silently ignored (and does not lead to exceptions).
-
-var caught = 0;
-
-eval("const a");
-try { eval("var a"); } catch (e) { caught++; assertTrue(e instanceof TypeError); }
-assertTrue(typeof a == 'undefined');
-try { eval("var a = 1"); } catch (e) { caught++; assertTrue(e instanceof TypeError); }
-assertTrue(typeof a == 'undefined');
-
-eval("const b = 0");
-try { eval("var b"); } catch (e) { caught++; assertTrue(e instanceof TypeError); }
-assertEquals(0, b);
-try { eval("var b = 1"); } catch (e) { caught++; assertTrue(e instanceof TypeError); }
-assertEquals(0, b);
-
-eval("var c");
-try { eval("const c"); } catch (e) { caught++; assertTrue(e instanceof TypeError); }
-assertTrue(typeof c == 'undefined');
-try { eval("const c = 1"); } catch (e) { caught++; assertTrue(e instanceof TypeError); }
-assertEquals(1, c);
-
-eval("var d = 0");
-try { eval("const d"); } catch (e) { caught++; assertTrue(e instanceof TypeError); }
-assertEquals(undefined, d);
-try { eval("const d = 1"); } catch (e) { caught++; assertTrue(e instanceof TypeError); }
-assertEquals(1, d);
-
-assertEquals(0, caught);
diff --git a/src/3rdparty/v8/test/mjsunit/global-deleted-property-ic.js b/src/3rdparty/v8/test/mjsunit/global-deleted-property-ic.js
deleted file mode 100644
index b90fc79..0000000
--- a/src/3rdparty/v8/test/mjsunit/global-deleted-property-ic.js
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function LoadX(obj) { return obj.x; }
-
-// Load x from the prototype of this. Make sure to initialize the IC.
-this.__proto__ = { x: 42 };
-for (var i = 0; i < 3; i++) assertEquals(42, LoadX(this));
-
-// Introduce a global variable and make sure we load that from LoadX.
-this.x = 87;
-for (var i = 0; i < 3; i++) assertEquals(87, LoadX(this));
-
-// Delete the global variable and make sure we get back to loading from
-// the prototype.
-delete this.x;
-for (var i = 0; i < 3; i++) assertEquals(42, LoadX(this));
-
-// ... and go back again to loading directly from the object.
-this.x = 99;
-for (var i = 0; i < 3; i++) assertEquals(99, LoadX(this));
diff --git a/src/3rdparty/v8/test/mjsunit/global-deleted-property-keyed.js b/src/3rdparty/v8/test/mjsunit/global-deleted-property-keyed.js
deleted file mode 100644
index dba3a4d..0000000
--- a/src/3rdparty/v8/test/mjsunit/global-deleted-property-keyed.js
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-// Flags: --expose-natives_as natives
-// Test keyed access to deleted property in a global object without access checks.
-// Regression test that exposed the_hole value from Runtime_KeyedGetPoperty.
-
-var name = "fisk";
-natives[name] = name;
-function foo() { natives[name] + 12; }
-for(var i = 0; i < 3; i++) foo();
-delete natives[name];
-for(var i = 0; i < 3; i++) foo();
diff --git a/src/3rdparty/v8/test/mjsunit/global-ic.js b/src/3rdparty/v8/test/mjsunit/global-ic.js
deleted file mode 100644
index 22c49ab..0000000
--- a/src/3rdparty/v8/test/mjsunit/global-ic.js
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function f() {
- return 87;
-}
-
-function LoadFromGlobal(global) { return global.x; }
-function StoreToGlobal(global, value) { global.x = value; }
-function CallOnGlobal(global) { return global.f(); }
-
-// Initialize the ICs in the functions.
-for (var i = 0; i < 3; i++) {
- StoreToGlobal(this, 42 + i);
- assertEquals(42 + i, LoadFromGlobal(this));
- assertEquals(87, CallOnGlobal(this));
-}
-
-// Try the ICs with a smi. This should not crash.
-for (var i = 0; i < 3; i++) {
- StoreToGlobal(i, 42 + i);
- assertTrue(typeof LoadFromGlobal(i) == "undefined");
- assertThrows("CallOnGlobal(" + i + ")");
-}
diff --git a/src/3rdparty/v8/test/mjsunit/global-load-from-eval-in-with.js b/src/3rdparty/v8/test/mjsunit/global-load-from-eval-in-with.js
deleted file mode 100644
index d733f6c..0000000
--- a/src/3rdparty/v8/test/mjsunit/global-load-from-eval-in-with.js
+++ /dev/null
@@ -1,59 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Tests global loads from eval inside of a with statement.
-
-var x = 27;
-
-function test(obj, source) {
- with (obj) {
- eval(source);
- }
-}
-
-// Test shadowing in eval scope.
-test({ x: 42 }, "assertEquals(42, x)");
-test({ y: 42 }, "assertEquals(27, x)");
-
-// Test shadowing in local scope inside an eval scope.
-test({ x: 42 }, "function f() { assertEquals(42, x) }; f();");
-test({ y: 42 }, "function f() { assertEquals(27, x) }; f();");
-
-// Test shadowing in local scope inside an eval scope. Deeper nesting
-// this time.
-test({ x: 42 }, "function f() { function g() { assertEquals(42, x) }; g() }; f();");
-test({ y: 42 }, "function f() { function g() { assertEquals(27, x) }; g() }; f();");
-
-// Test shadowing in local scope inside an eval scope with eval calls in the eval scopes.
-test({ x: 42 }, "function f() { eval('1'); assertEquals(42, x) }; f();");
-test({ y: 42 }, "function f() { eval('1'); assertEquals(27, x) }; f();");
-
-// Test shadowing in local scope inside an eval scope with eval calls
-// in the eval scopes. Deeper nesting this time.
-test({ x: 42 }, "function f() { function g() { eval('1'); assertEquals(42, x) }; g() }; f();");
-test({ y: 42 }, "function f() { function g() { eval('1'); assertEquals(27, x) }; g() }; f();");
-
diff --git a/src/3rdparty/v8/test/mjsunit/global-load-from-eval.js b/src/3rdparty/v8/test/mjsunit/global-load-from-eval.js
deleted file mode 100644
index ad40932..0000000
--- a/src/3rdparty/v8/test/mjsunit/global-load-from-eval.js
+++ /dev/null
@@ -1,85 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Tests global loads from eval.
-
-var x = 27;
-
-function test() {
- function g() {
- assertEquals(27, eval('x'));
- function h() {
- // Shadow with local variable.
- var x = 22;
- assertEquals(22, eval('x'));
- function i(x) {
- // Shadow with parameter.
- assertEquals(44, eval('x'));
- function j() {
- assertEquals(x, eval('x'));
- // Shadow with function name.
- function x() {
- assertEquals(x, eval('x'));
- }
- x();
- }
- j();
- }
- i(44);
- }
- h();
- }
- g();
-}
-
-test();
-
-// Test loading of globals from deeply nested eval. This code is a
-// bit complicated, but the complication is needed to check that the
-// code that loads the global variable accounts for the fact that the
-// global variable becomes shadowed by an eval-introduced variable.
-var result = 0;
-function testDeep(source, load, test) {
- eval(source);
- function f() {
- var y = 23;
- function g() {
- var z = 25;
- function h() {
- eval(load);
- eval(test);
- }
- h();
- }
- g();
- }
- f();
-}
-testDeep('1', 'result = x', 'assertEquals(27, result)');
-// Because of the eval-cache, the 'result = x' code gets reused. This
-// time in a context where the 'x' variable has been shadowed.
-testDeep('var x = 1', 'result = x', 'assertEquals(1, result)');
diff --git a/src/3rdparty/v8/test/mjsunit/global-load-from-nested-eval.js b/src/3rdparty/v8/test/mjsunit/global-load-from-nested-eval.js
deleted file mode 100644
index 3c7ff75..0000000
--- a/src/3rdparty/v8/test/mjsunit/global-load-from-nested-eval.js
+++ /dev/null
@@ -1,66 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Tests global loads from nested eval.
-
-var x = 42;
-
-// Load the global.
-function test(source) {
- eval('eval(' + source +')');
-}
-test('assertEquals(42, x)');
-
-// Shadow variable with a with statement.
-function testWith(source) {
- with ({ x: 1 }) {
- eval('eval(' + source +')');
- }
-}
-testWith('assertEquals(1, x)');
-
-// Shadow variable with an eval-introduced variable.
-function testEval(source) {
- eval('var x = 1');
- function f() {
- eval('eval('+ source + ')');
- }
- f();
-}
-testEval('assertEquals(1, x)');
-
-// Eval that does not shadow.
-function testEvalDontShadow(source) {
- eval('1');
- eval('eval(' + source +')');
-}
-testEvalDontShadow('assertEquals(42, x)');
-
-
-
-
-
diff --git a/src/3rdparty/v8/test/mjsunit/global-vars-eval.js b/src/3rdparty/v8/test/mjsunit/global-vars-eval.js
deleted file mode 100644
index 900f7be..0000000
--- a/src/3rdparty/v8/test/mjsunit/global-vars-eval.js
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-eval("" + "");
-this.bar = 'fisk';
-assertEquals('fisk', bar, "1");
-var bar;
-assertEquals('fisk', bar, "2");
-var bar = 'hest';
-assertEquals('hest', bar, "3");
diff --git a/src/3rdparty/v8/test/mjsunit/global-vars-with.js b/src/3rdparty/v8/test/mjsunit/global-vars-with.js
deleted file mode 100644
index 05ca6b6..0000000
--- a/src/3rdparty/v8/test/mjsunit/global-vars-with.js
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-with ({}) { }
-this.bar = 'fisk';
-assertEquals('fisk', bar);
-var bar;
-assertEquals('fisk', bar);
-var bar = 'hest';
-assertEquals('hest', bar);
-
-with ({}) {
- this.baz = 'fisk';
- assertEquals('fisk', baz);
- var baz;
- assertEquals('fisk', baz);
- var baz = 'hest';
- assertEquals('hest', baz);
-}
diff --git a/src/3rdparty/v8/test/mjsunit/greedy.js b/src/3rdparty/v8/test/mjsunit/greedy.js
deleted file mode 100644
index 8c49e41..0000000
--- a/src/3rdparty/v8/test/mjsunit/greedy.js
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --gc-greedy --noverify-heap
-
-function IterativeFib(n) {
- var f0 = 0, f1 = 1;
- for (; n > 0; --n) {
- var f2 = f0 + f1;
- f0 = f1; f1 = f2;
- }
- return f0;
-}
-
-function RecursiveFib(n) {
- if (n <= 1) return n;
- return RecursiveFib(n - 1) + RecursiveFib(n - 2);
-}
-
-function Check(n, expected) {
- var i = IterativeFib(n);
- var r = RecursiveFib(n);
- assertEquals(i, expected);
- assertEquals(r, expected);
-}
-
-Check(0, 0);
-Check(1, 1);
-Check(2, 1);
-Check(3, 1 + 1);
-Check(4, 2 + 1);
-Check(5, 3 + 2);
-Check(10, 55);
-Check(15, 610);
-Check(20, 6765);
-assertEquals(IterativeFib(75), 2111485077978050);
diff --git a/src/3rdparty/v8/test/mjsunit/harmony/block-conflicts.js b/src/3rdparty/v8/test/mjsunit/harmony/block-conflicts.js
deleted file mode 100644
index 3aa9d22..0000000
--- a/src/3rdparty/v8/test/mjsunit/harmony/block-conflicts.js
+++ /dev/null
@@ -1,135 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --harmony-scoping
-
-// Test for conflicting variable bindings.
-
-// TODO(ES6): properly activate extended mode
-"use strict";
-
-function CheckException(e) {
- var string = e.toString();
- assertTrue(string.indexOf("has already been declared") >= 0 ||
- string.indexOf("redeclaration") >= 0);
- return 'Conflict';
-}
-
-
-function TestFunction(s,e) {
- try {
- return eval("(function(){" + s + ";return " + e + "})")();
- } catch (x) {
- return CheckException(x);
- }
-}
-
-
-function TestBlock(s,e) {
- try {
- return eval("(function(){ if (true) { " + s + "; }; return " + e + "})")();
- } catch (x) {
- return CheckException(x);
- }
-}
-
-function TestAll(expected,s,opt_e) {
- var e = "";
- var msg = s;
- if (opt_e) { e = opt_e; msg += "; " + opt_e; }
- assertEquals(expected, TestFunction(s,e), "function:'" + msg + "'");
- assertEquals(expected, TestBlock(s,e), "block:'" + msg + "'");
-}
-
-
-function TestConflict(s) {
- TestAll('Conflict', s);
- TestAll('Conflict', 'eval("' + s + '")');
-}
-
-
-function TestNoConflict(s) {
- TestAll('NoConflict', s, "'NoConflict'");
- TestAll('NoConflict', 'eval("' + s + '")', "'NoConflict'");
-}
-
-var letbinds = [ "let x",
- "let x = 0",
- "let x = undefined",
- "function x() { }",
- "let x = function() {}",
- "let x, y",
- "let y, x",
- "const x = 0",
- "const x = undefined",
- "const x = function() {}",
- "const x = 2, y = 3",
- "const y = 4, x = 5",
- ];
-var varbinds = [ "var x",
- "var x = 0",
- "var x = undefined",
- "var x = function() {}",
- "var x, y",
- "var y, x",
- ];
-
-
-for (var l = 0; l < letbinds.length; ++l) {
- // Test conflicting let/var bindings.
- for (var v = 0; v < varbinds.length; ++v) {
- // Same level.
- TestConflict(letbinds[l] +'; ' + varbinds[v]);
- TestConflict(varbinds[v] +'; ' + letbinds[l]);
- // Different level.
- TestConflict(letbinds[l] +'; {' + varbinds[v] + '; }');
- TestConflict('{ ' + varbinds[v] +'; }' + letbinds[l]);
- }
-
- // Test conflicting let/let bindings.
- for (var k = 0; k < letbinds.length; ++k) {
- // Same level.
- TestConflict(letbinds[l] +'; ' + letbinds[k]);
- TestConflict(letbinds[k] +'; ' + letbinds[l]);
- // Different level.
- TestNoConflict(letbinds[l] +'; { ' + letbinds[k] + '; }');
- TestNoConflict('{ ' + letbinds[k] +'; } ' + letbinds[l]);
- }
-
- // Test conflicting parameter/let bindings.
- TestConflict('(function (x) { ' + letbinds[l] + '; })()');
-}
-
-// Test conflicting catch/var bindings.
-for (var v = 0; v < varbinds.length; ++v) {
- TestConflict('try {} catch (x) { ' + varbinds[v] + '; }');
-}
-
-// Test conflicting parameter/var bindings.
-for (var v = 0; v < varbinds.length; ++v) {
- TestNoConflict('(function (x) { ' + varbinds[v] + '; })()');
-}
diff --git a/src/3rdparty/v8/test/mjsunit/harmony/block-const-assign.js b/src/3rdparty/v8/test/mjsunit/harmony/block-const-assign.js
deleted file mode 100644
index 8297a55..0000000
--- a/src/3rdparty/v8/test/mjsunit/harmony/block-const-assign.js
+++ /dev/null
@@ -1,131 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --harmony-scoping
-
-// Test that we throw early syntax errors in harmony mode
-// when using an immutable binding in an assigment or with
-// prefix/postfix decrement/increment operators.
-// TODO(ES6): properly activate extended mode
-"use strict";
-
-
-// Function local const.
-function constDecl0(use) {
- return "(function() { const constvar = 1; " + use + "; });";
-}
-
-
-function constDecl1(use) {
- return "(function() { " + use + "; const constvar = 1; });";
-}
-
-
-// Function local const, assign from eval.
-function constDecl2(use) {
- use = "eval('(function() { " + use + " })')";
- return "(function() { const constvar = 1; " + use + "; })();";
-}
-
-
-function constDecl3(use) {
- use = "eval('(function() { " + use + " })')";
- return "(function() { " + use + "; const constvar = 1; })();";
-}
-
-
-// Block local const.
-function constDecl4(use) {
- return "(function() { { const constvar = 1; " + use + "; } });";
-}
-
-
-function constDecl5(use) {
- return "(function() { { " + use + "; const constvar = 1; } });";
-}
-
-
-// Block local const, assign from eval.
-function constDecl6(use) {
- use = "eval('(function() {" + use + "})')";
- return "(function() { { const constvar = 1; " + use + "; } })();";
-}
-
-
-function constDecl7(use) {
- use = "eval('(function() {" + use + "})')";
- return "(function() { { " + use + "; const constvar = 1; } })();";
-}
-
-
-// Function expression name.
-function constDecl8(use) {
- return "(function constvar() { " + use + "; });";
-}
-
-
-// Function expression name, assign from eval.
-function constDecl9(use) {
- use = "eval('(function(){" + use + "})')";
- return "(function constvar() { " + use + "; })();";
-}
-
-let decls = [ constDecl0,
- constDecl1,
- constDecl2,
- constDecl3,
- constDecl4,
- constDecl5,
- constDecl6,
- constDecl7,
- constDecl8,
- constDecl9
- ];
-let uses = [ 'constvar = 1;',
- 'constvar += 1;',
- '++constvar;',
- 'constvar++;'
- ];
-
-function Test(d,u) {
- 'use strict';
- try {
- print(d(u));
- eval(d(u));
- } catch (e) {
- assertInstanceof(e, SyntaxError);
- assertTrue(e.toString().indexOf("Assignment to constant variable") >= 0);
- return;
- }
- assertUnreachable();
-}
-
-for (var d = 0; d < decls.length; ++d) {
- for (var u = 0; u < uses.length; ++u) {
- Test(decls[d], uses[u]);
- }
-}
diff --git a/src/3rdparty/v8/test/mjsunit/harmony/block-early-errors.js b/src/3rdparty/v8/test/mjsunit/harmony/block-early-errors.js
deleted file mode 100644
index 791f001..0000000
--- a/src/3rdparty/v8/test/mjsunit/harmony/block-early-errors.js
+++ /dev/null
@@ -1,55 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --harmony-scoping
-
-function CheckException(e) {
- var string = e.toString();
- assertInstanceof(e, SyntaxError);
- assertTrue(string.indexOf("Illegal let") >= 0);
-}
-
-function Check(str) {
- try {
- eval("(function () { " + str + " })");
- assertUnreachable();
- } catch (e) {
- CheckException(e);
- }
- try {
- eval("(function () { { " + str + " } })");
- assertUnreachable();
- } catch (e) {
- CheckException(e);
- }
-}
-
-// Check for early syntax errors when using let
-// declarations outside of extended mode.
-Check("let x;");
-Check("let x = 1;");
-Check("let x, y;");
diff --git a/src/3rdparty/v8/test/mjsunit/harmony/block-for.js b/src/3rdparty/v8/test/mjsunit/harmony/block-for.js
deleted file mode 100644
index e84f0d2..0000000
--- a/src/3rdparty/v8/test/mjsunit/harmony/block-for.js
+++ /dev/null
@@ -1,146 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --harmony-scoping
-
-// TODO(ES6): properly activate extended mode
-"use strict";
-
-function props(x) {
- var array = [];
- for (let p in x) array.push(p);
- return array.sort();
-}
-
-assertEquals(0, props({}).length);
-assertEquals(1, props({x:1}).length);
-assertEquals(2, props({x:1, y:2}).length);
-
-assertArrayEquals(["x"], props({x:1}));
-assertArrayEquals(["x", "y"], props({x:1, y:2}));
-assertArrayEquals(["x", "y", "zoom"], props({x:1, y:2, zoom:3}));
-
-assertEquals(0, props([]).length);
-assertEquals(1, props([1]).length);
-assertEquals(2, props([1,2]).length);
-
-assertArrayEquals(["0"], props([1]));
-assertArrayEquals(["0", "1"], props([1,2]));
-assertArrayEquals(["0", "1", "2"], props([1,2,3]));
-
-var o = {};
-var a = [];
-let i = "outer_i";
-let s = "outer_s";
-for (let i = 0x0020; i < 0x01ff; i+=2) {
- let s = 'char:' + String.fromCharCode(i);
- a.push(s);
- o[s] = i;
-}
-assertArrayEquals(a, props(o));
-assertEquals(i, "outer_i");
-assertEquals(s, "outer_s");
-
-var a = [];
-assertEquals(0, props(a).length);
-a[Math.pow(2,30)-1] = 0;
-assertEquals(1, props(a).length);
-a[Math.pow(2,31)-1] = 0;
-assertEquals(2, props(a).length);
-a[1] = 0;
-assertEquals(3, props(a).length);
-
-var result = '';
-for (let p in {a : [0], b : 1}) { result += p; }
-assertEquals('ab', result);
-
-var result = '';
-for (let p in {a : {v:1}, b : 1}) { result += p; }
-assertEquals('ab', result);
-
-var result = '';
-for (let p in { get a() {}, b : 1}) { result += p; }
-assertEquals('ab', result);
-
-var result = '';
-for (let p in { get a() {}, set a(x) {}, b : 1}) { result += p; }
-assertEquals('ab', result);
-
-
-// Check that there is exactly one variable without initializer
-// in a for-in statement with let variables.
-// TODO(ES6): properly activate extended mode
-assertThrows("function foo() { 'use strict'; for (let in {}) { } }", SyntaxError);
-assertThrows("function foo() { 'use strict'; for (let x = 3 in {}) { } }", SyntaxError);
-assertThrows("function foo() { 'use strict'; for (let x, y in {}) { } }", SyntaxError);
-assertThrows("function foo() { 'use strict'; for (let x = 3, y in {}) { } }", SyntaxError);
-assertThrows("function foo() { 'use strict'; for (let x, y = 4 in {}) { } }", SyntaxError);
-assertThrows("function foo() { 'use strict'; for (let x = 3, y = 4 in {}) { } }", SyntaxError);
-
-
-// In a normal for statement the iteration variable is not
-// freshly allocated for each iteration.
-function closures1() {
- let a = [];
- for (let i = 0; i < 5; ++i) {
- a.push(function () { return i; });
- }
- for (let j = 0; j < 5; ++j) {
- assertEquals(5, a[j]());
- }
-}
-closures1();
-
-
-function closures2() {
- let a = [], b = [];
- for (let i = 0, j = 10; i < 5; ++i, ++j) {
- a.push(function () { return i; });
- b.push(function () { return j; });
- }
- for (let k = 0; k < 5; ++k) {
- assertEquals(5, a[k]());
- assertEquals(15, b[k]());
- }
-}
-closures2();
-
-
-// In a for-in statement the iteration variable is fresh
-// for earch iteration.
-function closures3(x) {
- let a = [];
- for (let p in x) {
- a.push(function () { return p; });
- }
- let k = 0;
- for (let q in x) {
- assertEquals(q, a[k]());
- ++k;
- }
-}
-closures3({a : [0], b : 1, c : {v : 1}, get d() {}, set e(x) {}});
diff --git a/src/3rdparty/v8/test/mjsunit/harmony/block-lazy-compile.js b/src/3rdparty/v8/test/mjsunit/harmony/block-lazy-compile.js
deleted file mode 100644
index a6efcbf..0000000
--- a/src/3rdparty/v8/test/mjsunit/harmony/block-lazy-compile.js
+++ /dev/null
@@ -1,50 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-// Test deserialization of block contexts during lazy compilation
-// of closures.
-
-function f() {
- var g;
- {
- // TODO(keuchel): introduce let
- var x = 0;
- g = function () {
- x = x + 1;
- return x;
- }
- }
- return g;
-}
-
-var o = f();
-assertEquals(1, o());
-assertEquals(2, o());
-assertEquals(3, o());
-%OptimizeFunctionOnNextCall(o);
-assertEquals(4, o());
diff --git a/src/3rdparty/v8/test/mjsunit/harmony/block-leave.js b/src/3rdparty/v8/test/mjsunit/harmony/block-leave.js
deleted file mode 100644
index a7f6b69..0000000
--- a/src/3rdparty/v8/test/mjsunit/harmony/block-leave.js
+++ /dev/null
@@ -1,227 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --harmony-scoping
-
-// TODO(ES6): properly activate extended mode
-"use strict";
-
-// We want to test the context chain shape. In each of the tests cases
-// below, the outer with is to force a runtime lookup of the identifier 'x'
-// to actually verify that the inner context has been discarded. A static
-// lookup of 'x' might accidentally succeed.
-
-{
- let x = 2;
- L: {
- let x = 3;
- assertEquals(3, x);
- break L;
- assertTrue(false);
- }
- assertEquals(2, x);
-}
-
-do {
- let x = 4;
- assertEquals(4,x);
- {
- let x = 5;
- assertEquals(5, x);
- continue;
- assertTrue(false);
- }
-} while (false);
-
-var caught = false;
-try {
- {
- let xx = 18;
- throw 25;
- assertTrue(false);
- }
-} catch (e) {
- caught = true;
- assertEquals(25, e);
- (function () {
- try {
- // NOTE: This checks that the block scope containing xx has been
- // removed from the context chain.
- eval('xx');
- assertTrue(false); // should not reach here
- } catch (e2) {
- assertTrue(e2 instanceof ReferenceError);
- }
- })();
-}
-assertTrue(caught);
-
-
-(function(x) {
- label: {
- let x = 'inner';
- break label;
- }
- assertEquals('outer', eval('x'));
-})('outer');
-
-
-(function(x) {
- label: {
- let x = 'middle';
- {
- let x = 'inner';
- break label;
- }
- }
- assertEquals('outer', eval('x'));
-})('outer');
-
-
-(function(x) {
- for (var i = 0; i < 10; ++i) {
- let x = 'inner' + i;
- continue;
- }
- assertEquals('outer', eval('x'));
-})('outer');
-
-
-(function(x) {
- label: for (var i = 0; i < 10; ++i) {
- let x = 'middle' + i;
- for (var j = 0; j < 10; ++j) {
- let x = 'inner' + j;
- continue label;
- }
- }
- assertEquals('outer', eval('x'));
-})('outer');
-
-
-(function(x) {
- try {
- let x = 'inner';
- throw 0;
- } catch (e) {
- assertEquals('outer', eval('x'));
- }
-})('outer');
-
-
-(function(x) {
- try {
- let x = 'middle';
- {
- let x = 'inner';
- throw 0;
- }
- } catch (e) {
- assertEquals('outer', eval('x'));
- }
-})('outer');
-
-
-try {
- (function(x) {
- try {
- let x = 'inner';
- throw 0;
- } finally {
- assertEquals('outer', eval('x'));
- }
- })('outer');
-} catch (e) {
- if (e instanceof MjsUnitAssertionError) throw e;
-}
-
-
-try {
- (function(x) {
- try {
- let x = 'middle';
- {
- let x = 'inner';
- throw 0;
- }
- } finally {
- assertEquals('outer', eval('x'));
- }
- })('outer');
-} catch (e) {
- if (e instanceof MjsUnitAssertionError) throw e;
-}
-
-
-// Verify that the context is correctly set in the stack frame after exiting
-// from with.
-function f() {}
-
-(function(x) {
- label: {
- let x = 'inner';
- break label;
- }
- f(); // The context could be restored from the stack after the call.
- assertEquals('outer', eval('x'));
-})('outer');
-
-
-(function(x) {
- for (var i = 0; i < 10; ++i) {
- let x = 'inner';
- continue;
- }
- f();
- assertEquals('outer', eval('x'));
-})('outer');
-
-
-(function(x) {
- try {
- let x = 'inner';
- throw 0;
- } catch (e) {
- f();
- assertEquals('outer', eval('x'));
- }
-})('outer');
-
-
-try {
- (function(x) {
- try {
- let x = 'inner';
- throw 0;
- } finally {
- f();
- assertEquals('outer', eval('x'));
- }
- })('outer');
-} catch (e) {
- if (e instanceof MjsUnitAssertionError) throw e;
-}
diff --git a/src/3rdparty/v8/test/mjsunit/harmony/block-let-crankshaft.js b/src/3rdparty/v8/test/mjsunit/harmony/block-let-crankshaft.js
deleted file mode 100644
index d01e5c0..0000000
--- a/src/3rdparty/v8/test/mjsunit/harmony/block-let-crankshaft.js
+++ /dev/null
@@ -1,262 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --harmony-scoping --allow-natives-syntax --noparallel-recompilation
-
-// TODO(ES6): properly activate extended mode
-"use strict";
-
-// Check that the following functions are optimizable.
-var functions = [ f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14,
- f15, f16, f17, f18, f19, f20, f21, f22, f23 ];
-
-for (var i = 0; i < functions.length; ++i) {
- var func = functions[i];
- print("Testing:");
- print(func);
- for (var j = 0; j < 10; ++j) {
- func(12);
- }
- %OptimizeFunctionOnNextCall(func);
- func(12);
- assertTrue(%GetOptimizationStatus(func) != 2);
-}
-
-function f1() { }
-
-function f2(x) { }
-
-function f3() {
- let x;
-}
-
-function f4() {
- function foo() {
- }
-}
-
-function f5() {
- let x = 1;
-}
-
-function f6() {
- const x = 1;
-}
-
-function f7(x) {
- return x;
-}
-
-function f8() {
- let x;
- return x;
-}
-
-function f9() {
- function x() {
- }
- return x;
-}
-
-function f10(x) {
- x = 1;
-}
-
-function f11() {
- let x;
- x = 1;
-}
-
-function f12() {
- function x() {};
- x = 1;
-}
-
-function f13(x) {
- (function() { x; });
-}
-
-function f14() {
- let x;
- (function() { x; });
-}
-
-function f15() {
- function x() {
- }
- (function() { x; });
-}
-
-function f16() {
- let x = 1;
- (function() { x; });
-}
-
-function f17() {
- const x = 1;
- (function() { x; });
-}
-
-function f18(x) {
- return x;
- (function() { x; });
-}
-
-function f19() {
- let x;
- return x;
- (function() { x; });
-}
-
-function f20() {
- function x() {
- }
- return x;
- (function() { x; });
-}
-
-function f21(x) {
- x = 1;
- (function() { x; });
-}
-
-function f22() {
- let x;
- x = 1;
- (function() { x; });
-}
-
-function f23() {
- function x() { }
- x = 1;
- (function() { x; });
-}
-
-
-// Test that temporal dead zone semantics for function and block scoped
-// let bindings are handled by the optimizing compiler.
-
-function TestFunctionLocal(s) {
- 'use strict';
- var func = eval("(function baz(){" + s + "; })");
- print("Testing:");
- print(func);
- for (var i = 0; i < 5; ++i) {
- try {
- func();
- assertUnreachable();
- } catch (e) {
- assertInstanceof(e, ReferenceError);
- }
- }
- %OptimizeFunctionOnNextCall(func);
- try {
- func();
- assertUnreachable();
- } catch (e) {
- assertInstanceof(e, ReferenceError);
- }
-}
-
-function TestFunctionContext(s) {
- 'use strict';
- var func = eval("(function baz(){ " + s + "; (function() { x; }); })");
- print("Testing:");
- print(func);
- for (var i = 0; i < 5; ++i) {
- print(i);
- try {
- func();
- assertUnreachable();
- } catch (e) {
- assertInstanceof(e, ReferenceError);
- }
- }
- print("optimize");
- %OptimizeFunctionOnNextCall(func);
- try {
- print("call");
- func();
- assertUnreachable();
- } catch (e) {
- print("catch");
- assertInstanceof(e, ReferenceError);
- }
-}
-
-function TestAll(s) {
- TestFunctionLocal(s);
- TestFunctionContext(s);
-}
-
-// Use before initialization in declaration statement.
-TestAll('let x = x + 1');
-TestAll('let x = x += 1');
-TestAll('let x = x++');
-TestAll('let x = ++x');
-TestAll('const x = x + 1');
-
-// Use before initialization in prior statement.
-TestAll('x + 1; let x;');
-TestAll('x = 1; let x;');
-TestAll('x += 1; let x;');
-TestAll('++x; let x;');
-TestAll('x++; let x;');
-TestAll('let y = x; const x = 1;');
-
-
-function f(x, b) {
- let y = (b ? y : x) + 42;
- return y;
-}
-
-function g(x, b) {
- {
- let y = (b ? y : x) + 42;
- return y;
- }
-}
-
-for (var i=0; i<10; i++) {
- f(i, false);
- g(i, false);
-}
-
-%OptimizeFunctionOnNextCall(f);
-%OptimizeFunctionOnNextCall(g);
-
-try {
- f(42, true);
-} catch (e) {
- assertInstanceof(e, ReferenceError);
-}
-
-try {
- g(42, true);
-} catch (e) {
- assertInstanceof(e, ReferenceError);
-}
diff --git a/src/3rdparty/v8/test/mjsunit/harmony/block-let-declaration.js b/src/3rdparty/v8/test/mjsunit/harmony/block-let-declaration.js
deleted file mode 100644
index 480e033..0000000
--- a/src/3rdparty/v8/test/mjsunit/harmony/block-let-declaration.js
+++ /dev/null
@@ -1,137 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --harmony-scoping
-
-// Test let declarations in various settings.
-// TODO(ES6): properly activate extended mode
-"use strict";
-
-// Global
-let x;
-let y = 2;
-const z = 4;
-
-// Block local
-{
- let y;
- let x = 3;
- const z = 5;
-}
-
-assertEquals(undefined, x);
-assertEquals(2,y);
-assertEquals(4,z);
-
-if (true) {
- let y;
- assertEquals(undefined, y);
-}
-
-// Invalid declarations are early errors in harmony mode and thus should trigger
-// an exception in eval code during parsing, before even compiling or executing
-// the code. Thus the generated function is not called here.
-function TestLocalThrows(str, expect) {
- assertThrows("(function(){ 'use strict'; " + str + "})", expect);
-}
-
-function TestLocalDoesNotThrow(str) {
- assertDoesNotThrow("(function(){ 'use strict'; " + str + "})()");
-}
-
-// Test let declarations in statement positions.
-TestLocalThrows("if (true) let x;", SyntaxError);
-TestLocalThrows("if (true) {} else let x;", SyntaxError);
-TestLocalThrows("do let x; while (false)", SyntaxError);
-TestLocalThrows("while (false) let x;", SyntaxError);
-TestLocalThrows("label: let x;", SyntaxError);
-TestLocalThrows("for (;false;) let x;", SyntaxError);
-TestLocalThrows("switch (true) { case true: let x; }", SyntaxError);
-TestLocalThrows("switch (true) { default: let x; }", SyntaxError);
-
-// Test const declarations with initialisers in statement positions.
-TestLocalThrows("if (true) const x = 1;", SyntaxError);
-TestLocalThrows("if (true) {} else const x = 1;", SyntaxError);
-TestLocalThrows("do const x = 1; while (false)", SyntaxError);
-TestLocalThrows("while (false) const x = 1;", SyntaxError);
-TestLocalThrows("label: const x = 1;", SyntaxError);
-TestLocalThrows("for (;false;) const x = 1;", SyntaxError);
-TestLocalThrows("switch (true) { case true: const x = 1; }", SyntaxError);
-TestLocalThrows("switch (true) { default: const x = 1; }", SyntaxError);
-
-// Test const declarations without initialisers.
-TestLocalThrows("const x;", SyntaxError);
-TestLocalThrows("const x = 1, y;", SyntaxError);
-TestLocalThrows("const x, y = 1;", SyntaxError);
-
-// Test const declarations without initialisers in statement positions.
-TestLocalThrows("if (true) const x;", SyntaxError);
-TestLocalThrows("if (true) {} else const x;", SyntaxError);
-TestLocalThrows("do const x; while (false)", SyntaxError);
-TestLocalThrows("while (false) const x;", SyntaxError);
-TestLocalThrows("label: const x;", SyntaxError);
-TestLocalThrows("for (;false;) const x;", SyntaxError);
-TestLocalThrows("switch (true) { case true: const x; }", SyntaxError);
-TestLocalThrows("switch (true) { default: const x; }", SyntaxError);
-
-// Test var declarations in statement positions.
-TestLocalDoesNotThrow("if (true) var x;");
-TestLocalDoesNotThrow("if (true) {} else var x;");
-TestLocalDoesNotThrow("do var x; while (false)");
-TestLocalDoesNotThrow("while (false) var x;");
-TestLocalDoesNotThrow("label: var x;");
-TestLocalDoesNotThrow("for (;false;) var x;");
-TestLocalDoesNotThrow("switch (true) { case true: var x; }");
-TestLocalDoesNotThrow("switch (true) { default: var x; }");
-
-// Test function declarations in source element and
-// non-strict statement positions.
-function f() {
- // Non-strict source element positions.
- function g0() {
- "use strict";
- // Strict source element positions.
- function h() { }
- {
- function h1() { }
- }
- }
- {
- function g1() { }
- }
-}
-f();
-
-// Test function declarations in statement position in strict mode.
-TestLocalThrows("function f() { if (true) function g() {}", SyntaxError);
-TestLocalThrows("function f() { if (true) {} else function g() {}", SyntaxError);
-TestLocalThrows("function f() { do function g() {} while (false)", SyntaxError);
-TestLocalThrows("function f() { while (false) function g() {}", SyntaxError);
-TestLocalThrows("function f() { label: function g() {}", SyntaxError);
-TestLocalThrows("function f() { for (;false;) function g() {}", SyntaxError);
-TestLocalThrows("function f() { switch (true) { case true: function g() {} }", SyntaxError);
-TestLocalThrows("function f() { switch (true) { default: function g() {} }", SyntaxError);
diff --git a/src/3rdparty/v8/test/mjsunit/harmony/block-let-semantics.js b/src/3rdparty/v8/test/mjsunit/harmony/block-let-semantics.js
deleted file mode 100644
index d14e7cd..0000000
--- a/src/3rdparty/v8/test/mjsunit/harmony/block-let-semantics.js
+++ /dev/null
@@ -1,190 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --harmony-scoping
-
-// TODO(ES6): properly activate extended mode
-"use strict";
-
-// Test temporal dead zone semantics of let bound variables in
-// function and block scopes.
-
-function TestFunctionLocal(s) {
- try {
- eval("(function(){" + s + "; })")();
- } catch (e) {
- assertInstanceof(e, ReferenceError);
- return;
- }
- assertUnreachable();
-}
-
-function TestBlockLocal(s,e) {
- try {
- eval("(function(){ {" + s + ";} })")();
- } catch (e) {
- assertInstanceof(e, ReferenceError);
- return;
- }
- assertUnreachable();
-}
-
-
-function TestAll(s) {
- TestBlockLocal(s);
- TestFunctionLocal(s);
-}
-
-// Use before initialization in declaration statement.
-TestAll('let x = x + 1');
-TestAll('let x = x += 1');
-TestAll('let x = x++');
-TestAll('let x = ++x');
-TestAll('const x = x + 1');
-
-// Use before initialization in prior statement.
-TestAll('x + 1; let x;');
-TestAll('x = 1; let x;');
-TestAll('x += 1; let x;');
-TestAll('++x; let x;');
-TestAll('x++; let x;');
-TestAll('let y = x; const x = 1;');
-
-TestAll('f(); let x; function f() { return x + 1; }');
-TestAll('f(); let x; function f() { x = 1; }');
-TestAll('f(); let x; function f() { x += 1; }');
-TestAll('f(); let x; function f() { ++x; }');
-TestAll('f(); let x; function f() { x++; }');
-TestAll('f(); const x = 1; function f() { return x; }');
-
-TestAll('f()(); let x; function f() { return function() { return x + 1; } }');
-TestAll('f()(); let x; function f() { return function() { x = 1; } }');
-TestAll('f()(); let x; function f() { return function() { x += 1; } }');
-TestAll('f()(); let x; function f() { return function() { ++x; } }');
-TestAll('f()(); let x; function f() { return function() { x++; } }');
-TestAll('f()(); const x = 1; function f() { return function() { return x; } }');
-
-// Use before initialization with a dynamic lookup.
-TestAll('eval("x + 1;"); let x;');
-TestAll('eval("x = 1;"); let x;');
-TestAll('eval("x += 1;"); let x;');
-TestAll('eval("++x;"); let x;');
-TestAll('eval("x++;"); let x;');
-TestAll('eval("x"); const x = 1;');
-
-// Use before initialization with check for eval-shadowed bindings.
-TestAll('function f() { eval("var y = 2;"); x + 1; }; f(); let x;');
-TestAll('function f() { eval("var y = 2;"); x = 1; }; f(); let x;');
-TestAll('function f() { eval("var y = 2;"); x += 1; }; f(); let x;');
-TestAll('function f() { eval("var y = 2;"); ++x; }; f(); let x;');
-TestAll('function f() { eval("var y = 2;"); x++; }; f(); let x;');
-
-// Test that variables introduced by function declarations are created and
-// initialized upon entering a function / block scope.
-function f() {
- {
- assertEquals(2, g1());
- assertEquals(2, eval("g1()"));
-
- // block scoped function declaration
- function g1() {
- return 2;
- }
- }
-
- assertEquals(3, g2());
- assertEquals(3, eval("g2()"));
- // function scoped function declaration
- function g2() {
- return 3;
- }
-}
-f();
-
-// Test that a function declaration introduces a block scoped variable.
-TestAll('{ function k() { return 0; } }; k(); ');
-
-// Test that a function declaration sees the scope it resides in.
-function f2() {
- let m, n, o, p;
- {
- m = g;
- function g() {
- return a;
- }
- let a = 1;
- }
- assertEquals(1, m());
-
- try {
- throw 2;
- } catch(b) {
- n = h;
- function h() {
- return b + c;
- }
- let c = 3;
- }
- assertEquals(5, n());
-
- {
- o = i;
- function i() {
- return d;
- }
- let d = 4;
- }
- assertEquals(4, o());
-
- try {
- throw 5;
- } catch(e) {
- p = j;
- function j() {
- return e + f;
- }
- let f = 6;
- }
- assertEquals(11, p());
-}
-f2();
-
-// Test that resolution of let bound variables works with scopes that call eval.
-function outer() {
- function middle() {
- function inner() {
- return x;
- }
- eval("1 + 1");
- return x + inner();
- }
-
- let x = 1;
- return middle();
-}
-
-assertEquals(2, outer());
diff --git a/src/3rdparty/v8/test/mjsunit/harmony/block-scoping.js b/src/3rdparty/v8/test/mjsunit/harmony/block-scoping.js
deleted file mode 100644
index 31194d9..0000000
--- a/src/3rdparty/v8/test/mjsunit/harmony/block-scoping.js
+++ /dev/null
@@ -1,265 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --harmony-scoping
-// Test functionality of block scopes.
-
-// TODO(ES6): properly activate extended mode
-"use strict";
-
-// Hoisting of var declarations.
-function f1() {
- {
- var x = 1;
- var y;
- }
- assertEquals(1, x)
- assertEquals(undefined, y)
-}
-f1();
-
-
-// Dynamic lookup in and through block contexts.
-function f2(one) {
- var x = one + 1;
- let y = one + 2;
- const u = one + 4;
- {
- let z = one + 3;
- const v = one + 5;
- assertEquals(1, eval('one'));
- assertEquals(2, eval('x'));
- assertEquals(3, eval('y'));
- assertEquals(4, eval('z'));
- assertEquals(5, eval('u'));
- assertEquals(6, eval('v'));
- }
-}
-f2(1);
-
-
-// Lookup in and through block contexts.
-function f3(one) {
- var x = one + 1;
- let y = one + 2;
- const u = one + 4;
- {
- let z = one + 3;
- const v = one + 5;
- assertEquals(1, one);
- assertEquals(2, x);
- assertEquals(3, y);
- assertEquals(4, z);
- assertEquals(5, u);
- assertEquals(6, v);
-
- }
-}
-f3(1);
-
-
-// Dynamic lookup from closure.
-function f4(one) {
- var x = one + 1;
- let y = one + 2;
- const u = one + 4;
- {
- let z = one + 3;
- const v = one + 5;
- function f() {
- assertEquals(1, eval('one'));
- assertEquals(2, eval('x'));
- assertEquals(3, eval('y'));
- assertEquals(4, eval('z'));
- assertEquals(5, eval('u'));
- assertEquals(6, eval('v'));
- };
- }
-}
-f4(1);
-
-
-// Lookup from closure.
-function f5(one) {
- var x = one + 1;
- let y = one + 2;
- const u = one + 4;
- {
- let z = one + 3;
- const v = one + 5;
- function f() {
- assertEquals(1, one);
- assertEquals(2, x);
- assertEquals(3, y);
- assertEquals(4, z);
- assertEquals(5, u);
- assertEquals(6, v);
- };
- }
-}
-f5(1);
-
-
-// Return from block.
-function f6() {
- let x = 1;
- const u = 3;
- {
- let y = 2;
- const v = 4;
- return x + y;
- }
-}
-assertEquals(3, f6(6));
-
-
-// Variable shadowing and lookup.
-function f7(a) {
- let b = 1;
- var c = 1;
- var d = 1;
- const e = 1;
- { // let variables shadowing argument, let, const and var variables
- let a = 2;
- let b = 2;
- let c = 2;
- let e = 2;
- assertEquals(2,a);
- assertEquals(2,b);
- assertEquals(2,c);
- assertEquals(2,e);
- }
- { // const variables shadowing argument, let, const and var variables
- const a = 2;
- const b = 2;
- const c = 2;
- const e = 2;
- assertEquals(2,a);
- assertEquals(2,b);
- assertEquals(2,c);
- assertEquals(2,e);
- }
- try {
- throw 'stuff1';
- } catch (a) {
- assertEquals('stuff1',a);
- // catch variable shadowing argument
- a = 2;
- assertEquals(2,a);
- {
- // let variable shadowing catch variable
- let a = 3;
- assertEquals(3,a);
- try {
- throw 'stuff2';
- } catch (a) {
- assertEquals('stuff2',a);
- // catch variable shadowing let variable
- a = 4;
- assertEquals(4,a);
- }
- assertEquals(3,a);
- }
- assertEquals(2,a);
- }
- try {
- throw 'stuff3';
- } catch (c) {
- // catch variable shadowing var variable
- assertEquals('stuff3',c);
- {
- // const variable shadowing catch variable
- const c = 3;
- assertEquals(3,c);
- }
- assertEquals('stuff3',c);
- try {
- throw 'stuff4';
- } catch(c) {
- assertEquals('stuff4',c);
- // catch variable shadowing catch variable
- c = 3;
- assertEquals(3,c);
- }
- (function(c) {
- // argument shadowing catch variable
- c = 3;
- assertEquals(3,c);
- })();
- assertEquals('stuff3', c);
- (function() {
- // var variable shadowing catch variable
- var c = 3;
- })();
- assertEquals('stuff3', c);
- c = 2;
- }
- assertEquals(1,c);
- (function(a,b,c,e) {
- // arguments shadowing argument, let, const and var variable
- a = 2;
- b = 2;
- c = 2;
- e = 2;
- assertEquals(2,a);
- assertEquals(2,b);
- assertEquals(2,c);
- assertEquals(2,e);
- // var variable shadowing var variable
- var d = 2;
- })(1,1);
- assertEquals(1,a);
- assertEquals(1,b);
- assertEquals(1,c);
- assertEquals(1,d);
- assertEquals(1,e);
-}
-f7(1);
-
-
-// Ensure let and const variables are block local
-// and var variables function local.
-function f8() {
- var let_accessors = [];
- var var_accessors = [];
- var const_accessors = [];
- for (var i = 0; i < 10; i++) {
- let x = i;
- var y = i;
- const z = i;
- let_accessors[i] = function() { return x; }
- var_accessors[i] = function() { return y; }
- const_accessors[i] = function() { return z; }
- }
- for (var j = 0; j < 10; j++) {
- y = j + 10;
- assertEquals(j, let_accessors[j]());
- assertEquals(y, var_accessors[j]());
- assertEquals(j, const_accessors[j]());
- }
-}
-f8();
diff --git a/src/3rdparty/v8/test/mjsunit/harmony/collections.js b/src/3rdparty/v8/test/mjsunit/harmony/collections.js
deleted file mode 100644
index 0219f39..0000000
--- a/src/3rdparty/v8/test/mjsunit/harmony/collections.js
+++ /dev/null
@@ -1,372 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --harmony-collections --expose-gc
-
-
-// Test valid getter and setter calls on Sets.
-function TestValidSetCalls(m) {
- assertDoesNotThrow(function () { m.add(new Object) });
- assertDoesNotThrow(function () { m.has(new Object) });
- assertDoesNotThrow(function () { m.delete(new Object) });
-}
-TestValidSetCalls(new Set);
-
-
-// Test valid getter and setter calls on Maps and WeakMaps
-function TestValidMapCalls(m) {
- assertDoesNotThrow(function () { m.get(new Object) });
- assertDoesNotThrow(function () { m.set(new Object) });
- assertDoesNotThrow(function () { m.has(new Object) });
- assertDoesNotThrow(function () { m.delete(new Object) });
-}
-TestValidMapCalls(new Map);
-TestValidMapCalls(new WeakMap);
-
-
-// Test invalid getter and setter calls for WeakMap only
-function TestInvalidCalls(m) {
- assertThrows(function () { m.get(undefined) }, TypeError);
- assertThrows(function () { m.set(undefined, 0) }, TypeError);
- assertThrows(function () { m.get(null) }, TypeError);
- assertThrows(function () { m.set(null, 0) }, TypeError);
- assertThrows(function () { m.get(0) }, TypeError);
- assertThrows(function () { m.set(0, 0) }, TypeError);
- assertThrows(function () { m.get('a-key') }, TypeError);
- assertThrows(function () { m.set('a-key', 0) }, TypeError);
-}
-TestInvalidCalls(new WeakMap);
-
-
-// Test expected behavior for Sets
-function TestSet(set, key) {
- assertFalse(set.has(key));
- assertSame(undefined, set.add(key));
- assertTrue(set.has(key));
- assertTrue(set.delete(key));
- assertFalse(set.has(key));
- assertFalse(set.delete(key));
- assertFalse(set.has(key));
-}
-function TestSetBehavior(set) {
- for (var i = 0; i < 20; i++) {
- TestSet(set, new Object);
- TestSet(set, i);
- TestSet(set, i / 100);
- TestSet(set, 'key-' + i);
- }
- var keys = [ +0, -0, +Infinity, -Infinity, true, false, null, undefined ];
- for (var i = 0; i < keys.length; i++) {
- TestSet(set, keys[i]);
- }
-}
-TestSetBehavior(new Set);
-
-
-// Test expected mapping behavior for Maps and WeakMaps
-function TestMapping(map, key, value) {
- assertSame(undefined, map.set(key, value));
- assertSame(value, map.get(key));
-}
-function TestMapBehavior1(m) {
- TestMapping(m, new Object, 23);
- TestMapping(m, new Object, 'the-value');
- TestMapping(m, new Object, new Object);
-}
-TestMapBehavior1(new Map);
-TestMapBehavior1(new WeakMap);
-
-
-// Test expected mapping behavior for Maps only
-function TestMapBehavior2(m) {
- for (var i = 0; i < 20; i++) {
- TestMapping(m, i, new Object);
- TestMapping(m, i / 10, new Object);
- TestMapping(m, 'key-' + i, new Object);
- }
- var keys = [ +0, -0, +Infinity, -Infinity, true, false, null, undefined ];
- for (var i = 0; i < keys.length; i++) {
- TestMapping(m, keys[i], new Object);
- }
-}
-TestMapBehavior2(new Map);
-
-
-// Test expected querying behavior of Maps and WeakMaps
-function TestQuery(m) {
- var key = new Object;
- var values = [ 'x', 0, +Infinity, -Infinity, true, false, null, undefined ];
- for (var i = 0; i < values.length; i++) {
- TestMapping(m, key, values[i]);
- assertTrue(m.has(key));
- assertFalse(m.has(new Object));
- }
-}
-TestQuery(new Map);
-TestQuery(new WeakMap);
-
-
-// Test expected deletion behavior of Maps and WeakMaps
-function TestDelete(m) {
- var key = new Object;
- TestMapping(m, key, 'to-be-deleted');
- assertTrue(m.delete(key));
- assertFalse(m.delete(key));
- assertFalse(m.delete(new Object));
- assertSame(m.get(key), undefined);
-}
-TestDelete(new Map);
-TestDelete(new WeakMap);
-
-
-// Test GC of Maps and WeakMaps with entry
-function TestGC1(m) {
- var key = new Object;
- m.set(key, 'not-collected');
- gc();
- assertSame('not-collected', m.get(key));
-}
-TestGC1(new Map);
-TestGC1(new WeakMap);
-
-
-// Test GC of Maps and WeakMaps with chained entries
-function TestGC2(m) {
- var head = new Object;
- for (key = head, i = 0; i < 10; i++, key = m.get(key)) {
- m.set(key, new Object);
- }
- gc();
- var count = 0;
- for (key = head; key != undefined; key = m.get(key)) {
- count++;
- }
- assertEquals(11, count);
-}
-TestGC2(new Map);
-TestGC2(new WeakMap);
-
-
-// Test property attribute [[Enumerable]]
-function TestEnumerable(func) {
- function props(x) {
- var array = [];
- for (var p in x) array.push(p);
- return array.sort();
- }
- assertArrayEquals([], props(func));
- assertArrayEquals([], props(func.prototype));
- assertArrayEquals([], props(new func()));
-}
-TestEnumerable(Set);
-TestEnumerable(Map);
-TestEnumerable(WeakMap);
-
-
-// Test arbitrary properties on Maps and WeakMaps
-function TestArbitrary(m) {
- function TestProperty(map, property, value) {
- map[property] = value;
- assertEquals(value, map[property]);
- }
- for (var i = 0; i < 20; i++) {
- TestProperty(m, i, 'val' + i);
- TestProperty(m, 'foo' + i, 'bar' + i);
- }
- TestMapping(m, new Object, 'foobar');
-}
-TestArbitrary(new Map);
-TestArbitrary(new WeakMap);
-
-
-// Test direct constructor call
-assertTrue(Set() instanceof Set);
-assertTrue(Map() instanceof Map);
-assertTrue(WeakMap() instanceof WeakMap);
-
-
-// Test whether NaN values as keys are treated correctly.
-var s = new Set;
-assertFalse(s.has(NaN));
-assertFalse(s.has(NaN + 1));
-assertFalse(s.has(23));
-s.add(NaN);
-assertTrue(s.has(NaN));
-assertTrue(s.has(NaN + 1));
-assertFalse(s.has(23));
-var m = new Map;
-assertFalse(m.has(NaN));
-assertFalse(m.has(NaN + 1));
-assertFalse(m.has(23));
-m.set(NaN, 'a-value');
-assertTrue(m.has(NaN));
-assertTrue(m.has(NaN + 1));
-assertFalse(m.has(23));
-
-
-// Test some common JavaScript idioms for Sets
-var s = new Set;
-assertTrue(s instanceof Set);
-assertTrue(Set.prototype.add instanceof Function)
-assertTrue(Set.prototype.has instanceof Function)
-assertTrue(Set.prototype.delete instanceof Function)
-
-
-// Test some common JavaScript idioms for Maps
-var m = new Map;
-assertTrue(m instanceof Map);
-assertTrue(Map.prototype.set instanceof Function)
-assertTrue(Map.prototype.get instanceof Function)
-assertTrue(Map.prototype.has instanceof Function)
-assertTrue(Map.prototype.delete instanceof Function)
-
-
-// Test some common JavaScript idioms for WeakMaps
-var m = new WeakMap;
-assertTrue(m instanceof WeakMap);
-assertTrue(WeakMap.prototype.set instanceof Function)
-assertTrue(WeakMap.prototype.get instanceof Function)
-assertTrue(WeakMap.prototype.has instanceof Function)
-assertTrue(WeakMap.prototype.delete instanceof Function)
-
-
-// Regression test for WeakMap prototype.
-assertTrue(WeakMap.prototype.constructor === WeakMap)
-assertTrue(Object.getPrototypeOf(WeakMap.prototype) === Object.prototype)
-
-
-// Regression test for issue 1617: The prototype of the WeakMap constructor
-// needs to be unique (i.e. different from the one of the Object constructor).
-assertFalse(WeakMap.prototype === Object.prototype);
-var o = Object.create({});
-assertFalse("get" in o);
-assertFalse("set" in o);
-assertEquals(undefined, o.get);
-assertEquals(undefined, o.set);
-var o = Object.create({}, { myValue: {
- value: 10,
- enumerable: false,
- configurable: true,
- writable: true
-}});
-assertEquals(10, o.myValue);
-
-
-// Regression test for issue 1884: Invoking any of the methods for Harmony
-// maps, sets, or weak maps, with a wrong type of receiver should be throwing
-// a proper TypeError.
-var alwaysBogus = [ undefined, null, true, "x", 23, {} ];
-var bogusReceiversTestSet = [
- { proto: Set.prototype,
- funcs: [ 'add', 'has', 'delete' ],
- receivers: alwaysBogus.concat([ new Map, new WeakMap ]),
- },
- { proto: Map.prototype,
- funcs: [ 'get', 'set', 'has', 'delete' ],
- receivers: alwaysBogus.concat([ new Set, new WeakMap ]),
- },
- { proto: WeakMap.prototype,
- funcs: [ 'get', 'set', 'has', 'delete' ],
- receivers: alwaysBogus.concat([ new Set, new Map ]),
- },
-];
-function TestBogusReceivers(testSet) {
- for (var i = 0; i < testSet.length; i++) {
- var proto = testSet[i].proto;
- var funcs = testSet[i].funcs;
- var receivers = testSet[i].receivers;
- for (var j = 0; j < funcs.length; j++) {
- var func = proto[funcs[j]];
- for (var k = 0; k < receivers.length; k++) {
- assertThrows(function () { func.call(receivers[k], {}) }, TypeError);
- }
- }
- }
-}
-TestBogusReceivers(bogusReceiversTestSet);
-
-
-// Stress Test
-// There is a proposed stress-test available at the es-discuss mailing list
-// which cannot be reasonably automated. Check it out by hand if you like:
-// https://mail.mozilla.org/pipermail/es-discuss/2011-May/014096.html
-
-
-// Set and Map size getters
-var setSizeDescriptor = Object.getOwnPropertyDescriptor(Set.prototype, 'size');
-assertEquals(undefined, setSizeDescriptor.value);
-assertEquals(undefined, setSizeDescriptor.set);
-assertTrue(setSizeDescriptor.get instanceof Function);
-assertEquals(undefined, setSizeDescriptor.get.prototype);
-assertFalse(setSizeDescriptor.enumerable);
-assertTrue(setSizeDescriptor.configurable);
-
-var s = new Set();
-assertFalse(s.hasOwnProperty('size'));
-for (var i = 0; i < 10; i++) {
- assertEquals(i, s.size);
- s.add(i);
-}
-for (var i = 9; i >= 0; i--) {
- s.delete(i);
- assertEquals(i, s.size);
-}
-
-
-var mapSizeDescriptor = Object.getOwnPropertyDescriptor(Map.prototype, 'size');
-assertEquals(undefined, mapSizeDescriptor.value);
-assertEquals(undefined, mapSizeDescriptor.set);
-assertTrue(mapSizeDescriptor.get instanceof Function);
-assertEquals(undefined, mapSizeDescriptor.get.prototype);
-assertFalse(mapSizeDescriptor.enumerable);
-assertTrue(mapSizeDescriptor.configurable);
-
-var m = new Map();
-assertFalse(m.hasOwnProperty('size'));
-for (var i = 0; i < 10; i++) {
- assertEquals(i, m.size);
- m.set(i, i);
-}
-for (var i = 9; i >= 0; i--) {
- m.delete(i);
- assertEquals(i, m.size);
-}
-
-// Test clear
-var a = new Set();
-s.add(42);
-assertTrue(s.has(42));
-s.clear();
-assertFalse(s.has(42));
-assertEquals(0, s.size);
-
-var m = new Map();
-m.set(42, true);
-assertTrue(m.has(42));
-m.clear();
-assertFalse(m.has(42));
-assertEquals(0, m.size);
diff --git a/src/3rdparty/v8/test/mjsunit/harmony/debug-blockscopes.js b/src/3rdparty/v8/test/mjsunit/harmony/debug-blockscopes.js
deleted file mode 100644
index ca2ab9e..0000000
--- a/src/3rdparty/v8/test/mjsunit/harmony/debug-blockscopes.js
+++ /dev/null
@@ -1,470 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug --harmony-scoping
-// The functions used for testing backtraces. They are at the top to make the
-// testing of source line/column easier.
-
-// TODO(ES6): properly activate extended mode
-"use strict";
-
-// Get the Debug object exposed from the debug context global object.
-var Debug = debug.Debug;
-
-var test_name;
-var listener_delegate;
-var listener_called;
-var exception;
-var begin_test_count = 0;
-var end_test_count = 0;
-var break_count = 0;
-
-
-// Debug event listener which delegates.
-function listener(event, exec_state, event_data, data) {
- try {
- if (event == Debug.DebugEvent.Break) {
- break_count++;
- listener_called = true;
- listener_delegate(exec_state);
- }
- } catch (e) {
- exception = e;
- }
-}
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-
-// Initialize for a new test.
-function BeginTest(name) {
- test_name = name;
- listener_delegate = null;
- listener_called = false;
- exception = null;
- begin_test_count++;
-}
-
-
-// Check result of a test.
-function EndTest() {
- assertTrue(listener_called, "listerner not called for " + test_name);
- assertNull(exception, test_name);
- end_test_count++;
-}
-
-var global_object = this;
-
-// Check that the scope chain contains the expected types of scopes.
-function CheckScopeChain(scopes, exec_state) {
- assertEquals(scopes.length, exec_state.frame().scopeCount());
- for (var i = 0; i < scopes.length; i++) {
- var scope = exec_state.frame().scope(i);
- assertTrue(scope.isScope());
- assertEquals(scopes[i], scope.scopeType());
-
- // Check the global object when hitting the global scope.
- if (scopes[i] == debug.ScopeType.Global) {
- // Objects don't have same class (one is "global", other is "Object",
- // so just check the properties directly.
- assertPropertiesEqual(global_object, scope.scopeObject().value());
- }
- }
-
- // Get the debug command processor.
- var dcp = exec_state.debugCommandProcessor("unspecified_running_state");
-
- // Send a scopes request and check the result.
- var json;
- var request_json = '{"seq":0,"type":"request","command":"scopes"}';
- var response_json = dcp.processDebugJSONRequest(request_json);
- var response = JSON.parse(response_json);
- assertEquals(scopes.length, response.body.scopes.length);
- for (var i = 0; i < scopes.length; i++) {
- assertEquals(i, response.body.scopes[i].index);
- assertEquals(scopes[i], response.body.scopes[i].type);
- if (scopes[i] == debug.ScopeType.Local ||
- scopes[i] == debug.ScopeType.Closure) {
- assertTrue(response.body.scopes[i].object.ref < 0);
- } else {
- assertTrue(response.body.scopes[i].object.ref >= 0);
- }
- var found = false;
- for (var j = 0; j < response.refs.length && !found; j++) {
- found = response.refs[j].handle == response.body.scopes[i].object.ref;
- }
- assertTrue(found, "Scope object " + response.body.scopes[i].object.ref + " not found");
- }
-}
-
-// Check that the content of the scope is as expected. For functions just check
-// that there is a function.
-function CheckScopeContent(content, number, exec_state) {
- var scope = exec_state.frame().scope(number);
- var count = 0;
- for (var p in content) {
- var property_mirror = scope.scopeObject().property(p);
- if (property_mirror.isUndefined()) {
- print('property ' + p + ' not found in scope');
- }
- assertFalse(property_mirror.isUndefined(), 'property ' + p + ' not found in scope');
- if (typeof(content[p]) === 'function') {
- assertTrue(property_mirror.value().isFunction());
- } else {
- assertEquals(content[p], property_mirror.value().value(), 'property ' + p + ' has unexpected value');
- }
- count++;
- }
-
- // 'arguments' and might be exposed in the local and closure scope. Just
- // ignore this.
- var scope_size = scope.scopeObject().properties().length;
- if (!scope.scopeObject().property('arguments').isUndefined()) {
- scope_size--;
- }
- // Also ignore synthetic variable from catch block.
- if (!scope.scopeObject().property('.catch-var').isUndefined()) {
- scope_size--;
- }
- // Skip property with empty name.
- if (!scope.scopeObject().property('').isUndefined()) {
- scope_size--;
- }
- // Also ignore synthetic variable from block scopes.
- if (!scope.scopeObject().property('.block').isUndefined()) {
- scope_size--;
- }
-
- if (count != scope_size) {
- print('Names found in scope:');
- var names = scope.scopeObject().propertyNames();
- for (var i = 0; i < names.length; i++) {
- print(names[i]);
- }
- }
- assertEquals(count, scope_size);
-
- // Get the debug command processor.
- var dcp = exec_state.debugCommandProcessor("unspecified_running_state");
-
- // Send a scope request for information on a single scope and check the
- // result.
- var request_json = '{"seq":0,"type":"request","command":"scope","arguments":{"number":';
- request_json += scope.scopeIndex();
- request_json += '}}';
- var response_json = dcp.processDebugJSONRequest(request_json);
- var response = JSON.parse(response_json);
- assertEquals(scope.scopeType(), response.body.type);
- assertEquals(number, response.body.index);
- if (scope.scopeType() == debug.ScopeType.Local ||
- scope.scopeType() == debug.ScopeType.Closure) {
- assertTrue(response.body.object.ref < 0);
- } else {
- assertTrue(response.body.object.ref >= 0);
- }
- var found = false;
- for (var i = 0; i < response.refs.length && !found; i++) {
- found = response.refs[i].handle == response.body.object.ref;
- }
- assertTrue(found, "Scope object " + response.body.object.ref + " not found");
-}
-
-
-// Simple empty block scope in local scope.
-BeginTest("Local block 1");
-
-function local_block_1() {
- {
- debugger;
- }
-}
-
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.Local,
- debug.ScopeType.Global], exec_state);
- CheckScopeContent({}, 0, exec_state);
-};
-local_block_1();
-EndTest();
-
-
-// Simple empty block scope in local scope with a parameter.
-BeginTest("Local 2");
-
-function local_2(a) {
- {
- debugger;
- }
-}
-
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.Local,
- debug.ScopeType.Global], exec_state);
- CheckScopeContent({a:1}, 0, exec_state);
-};
-local_2(1);
-EndTest();
-
-
-// Local scope with a parameter and a local variable.
-BeginTest("Local 3");
-
-function local_3(a) {
- let x = 3;
- debugger;
-}
-
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.Local,
- debug.ScopeType.Global], exec_state);
- CheckScopeContent({a:1,x:3}, 0, exec_state);
-};
-local_3(1);
-EndTest();
-
-
-// Local scope with parameters and local variables.
-BeginTest("Local 4");
-
-function local_4(a, b) {
- let x = 3;
- let y = 4;
- debugger;
-}
-
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.Local,
- debug.ScopeType.Global], exec_state);
- CheckScopeContent({a:1,b:2,x:3,y:4}, 0, exec_state);
-};
-local_4(1, 2);
-EndTest();
-
-
-// Single variable in a block scope.
-BeginTest("Local 5");
-
-function local_5(a) {
- {
- let x = 5;
- debugger;
- }
-}
-
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.Block,
- debug.ScopeType.Local,
- debug.ScopeType.Global], exec_state);
- CheckScopeContent({x:5}, 0, exec_state);
- CheckScopeContent({a:1}, 1, exec_state);
-};
-local_5(1);
-EndTest();
-
-
-// Two variables in a block scope.
-BeginTest("Local 6");
-
-function local_6(a) {
- {
- let x = 6;
- let y = 7;
- debugger;
- }
-}
-
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.Block,
- debug.ScopeType.Local,
- debug.ScopeType.Global], exec_state);
- CheckScopeContent({x:6,y:7}, 0, exec_state);
- CheckScopeContent({a:1}, 1, exec_state);
-};
-local_6(1);
-EndTest();
-
-
-// Two variables in a block scope.
-BeginTest("Local 7");
-
-function local_7(a) {
- {
- {
- let x = 8;
- debugger;
- }
- }
-}
-
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.Block,
- debug.ScopeType.Local,
- debug.ScopeType.Global], exec_state);
- CheckScopeContent({x:8}, 0, exec_state);
- CheckScopeContent({a:1}, 1, exec_state);
-};
-local_7(1);
-EndTest();
-
-
-// Simple closure formed by returning an inner function referering to an outer
-// block local variable and an outer function's parameter.
-BeginTest("Closure 1");
-
-function closure_1(a) {
- var x = 2;
- let y = 3;
- if (true) {
- let z = 4;
- function f() {
- debugger;
- return a + x + y + z;
- };
- return f;
- }
-}
-
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.Local,
- debug.ScopeType.Block,
- debug.ScopeType.Closure,
- debug.ScopeType.Global], exec_state);
- CheckScopeContent({}, 0, exec_state);
- CheckScopeContent({a:1,x:2,y:3}, 2, exec_state);
-};
-closure_1(1)();
-EndTest();
-
-
-// Simple for-in loop over the keys of an object.
-BeginTest("For loop 1");
-
-function for_loop_1() {
- for (let x in {y:undefined}) {
- debugger;
- }
-}
-
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.Block,
- debug.ScopeType.Local,
- debug.ScopeType.Global], exec_state);
- CheckScopeContent({x:'y'}, 0, exec_state);
- // The function scope contains a temporary iteration variable.
- CheckScopeContent({'.for.x':'y'}, 1, exec_state);
-};
-for_loop_1();
-EndTest();
-
-
-// For-in loop over the keys of an object with a block scoped let variable
-// shadowing the iteration variable.
-BeginTest("For loop 2");
-
-function for_loop_2() {
- for (let x in {y:undefined}) {
- let x = 3;
- debugger;
- }
-}
-
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.Block,
- debug.ScopeType.Block,
- debug.ScopeType.Local,
- debug.ScopeType.Global], exec_state);
- CheckScopeContent({x:3}, 0, exec_state);
- CheckScopeContent({x:'y'}, 1, exec_state);
- // The function scope contains a temporary iteration variable.
- CheckScopeContent({'.for.x':'y'}, 2, exec_state);
-};
-for_loop_2();
-EndTest();
-
-
-// Simple for loop.
-BeginTest("For loop 3");
-
-function for_loop_3() {
- for (let x = 3; x < 4; ++x) {
- debugger;
- }
-}
-
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.Block,
- debug.ScopeType.Local,
- debug.ScopeType.Global], exec_state);
- CheckScopeContent({x:3}, 0, exec_state);
- CheckScopeContent({}, 1, exec_state);
-};
-for_loop_3();
-EndTest();
-
-
-// For loop with a block scoped let variable shadowing the iteration variable.
-BeginTest("For loop 4");
-
-function for_loop_4() {
- for (let x = 3; x < 4; ++x) {
- let x = 5;
- debugger;
- }
-}
-
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.Block,
- debug.ScopeType.Block,
- debug.ScopeType.Local,
- debug.ScopeType.Global], exec_state);
- CheckScopeContent({x:5}, 0, exec_state);
- CheckScopeContent({x:3}, 1, exec_state);
- CheckScopeContent({}, 2, exec_state);
-};
-for_loop_4();
-EndTest();
-
-
-// For loop with two variable declarations.
-BeginTest("For loop 5");
-
-function for_loop_5() {
- for (let x = 3, y = 5; x < 4; ++x) {
- debugger;
- }
-}
-
-listener_delegate = function(exec_state) {
- CheckScopeChain([debug.ScopeType.Block,
- debug.ScopeType.Local,
- debug.ScopeType.Global], exec_state);
- CheckScopeContent({x:3,y:5}, 0, exec_state);
- CheckScopeContent({}, 1, exec_state);
-};
-for_loop_5();
-EndTest();
diff --git a/src/3rdparty/v8/test/mjsunit/harmony/debug-evaluate-blockscopes.js b/src/3rdparty/v8/test/mjsunit/harmony/debug-evaluate-blockscopes.js
deleted file mode 100644
index d6ce8b2..0000000
--- a/src/3rdparty/v8/test/mjsunit/harmony/debug-evaluate-blockscopes.js
+++ /dev/null
@@ -1,70 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug --harmony-scoping
-
-// Test debug evaluation for functions without local context, but with
-// nested catch contexts.
-
-// TODO(ES6): properly activate extended mode
-"use strict";
-
-var x;
-var result;
-
-function f() {
- { // Line 1.
- let i = 1; // Line 2.
- try { // Line 3.
- throw 'stuff'; // Line 4.
- } catch (e) { // Line 5.
- x = 2; // Line 6.
- }
- }
-};
-
-// Get the Debug object exposed from the debug context global object.
-var Debug = debug.Debug
-// Set breakpoint on line 6.
-var bp = Debug.setBreakPoint(f, 6);
-
-function listener(event, exec_state, event_data, data) {
- if (event == Debug.DebugEvent.Break) {
- result = exec_state.frame().evaluate("i").value();
- }
-};
-
-// Add the debug event listener.
-Debug.setListener(listener);
-result = -1;
-f();
-assertEquals(1, result);
-
-// Clear breakpoint.
-Debug.clearBreakPoint(bp);
-// Get rid of the debug event listener.
-Debug.setListener(null);
diff --git a/src/3rdparty/v8/test/mjsunit/harmony/debug-function-scopes.js b/src/3rdparty/v8/test/mjsunit/harmony/debug-function-scopes.js
deleted file mode 100644
index 0113be6..0000000
--- a/src/3rdparty/v8/test/mjsunit/harmony/debug-function-scopes.js
+++ /dev/null
@@ -1,115 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug --harmony-scoping
-
-"use strict";
-
-// Get the Debug object exposed from the debug context global object.
-var Debug = debug.Debug;
-
-function CheckScope(scope_mirror, scope_expectations, expected_scope_type) {
- assertEquals(expected_scope_type, scope_mirror.scopeType());
-
- var scope_object = scope_mirror.scopeObject().value();
-
- for (let name in scope_expectations) {
- let actual = scope_object[name];
- let expected = scope_expectations[name];
- assertEquals(expected, actual);
- }
-}
-
-// A copy of the scope types from mirror-debugger.js.
-var ScopeType = { Global: 0,
- Local: 1,
- With: 2,
- Closure: 3,
- Catch: 4,
- Block: 5 };
-
-var f1 = (function F1(x) {
- function F2(y) {
- var z = x + y;
- {
- var w = 5;
- var v = "Capybara";
- var F3 = function(a, b) {
- function F4(p) {
- return p + a + b + z + w + v.length;
- }
- return F4;
- }
- return F3(4, 5);
- }
- }
- return F2(17);
-})(5);
-
-var mirror = Debug.MakeMirror(f1);
-
-assertEquals(4, mirror.scopeCount());
-
-CheckScope(mirror.scope(0), { a: 4, b: 5 }, ScopeType.Closure);
-CheckScope(mirror.scope(1), { z: 22, w: 5, v: "Capybara" }, ScopeType.Closure);
-CheckScope(mirror.scope(2), { x: 5 }, ScopeType.Closure);
-CheckScope(mirror.scope(3), {}, ScopeType.Global);
-
-var f2 = (function() {
- var v1 = 3;
- var v2 = 4;
- let l0 = 0;
- {
- var v3 = 5;
- let l1 = 6;
- let l2 = 7;
- {
- var v4 = 8;
- let l3 = 9;
- {
- var v5 = "Cat";
- let l4 = 11;
- var v6 = l4;
- return function() {
- return l0 + v1 + v3 + l2 + l3 + v6;
- };
- }
- }
- }
-})();
-
-var mirror = Debug.MakeMirror(f2);
-
-assertEquals(5, mirror.scopeCount());
-
-// Implementation artifact: l4 isn't used in closure, but still it is saved.
-CheckScope(mirror.scope(0), { l4: 11 }, ScopeType.Block);
-
-CheckScope(mirror.scope(1), { l3: 9 }, ScopeType.Block);
-CheckScope(mirror.scope(2), { l1: 6, l2: 7 }, ScopeType.Block);
-CheckScope(mirror.scope(3), { v1:3, l0: 0, v3: 5, v6: 11 }, ScopeType.Closure);
-CheckScope(mirror.scope(4), {}, ScopeType.Global);
diff --git a/src/3rdparty/v8/test/mjsunit/harmony/module-linking.js b/src/3rdparty/v8/test/mjsunit/harmony/module-linking.js
deleted file mode 100644
index 3c0f18c..0000000
--- a/src/3rdparty/v8/test/mjsunit/harmony/module-linking.js
+++ /dev/null
@@ -1,298 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --harmony-modules --harmony-scoping
-
-// Test basic module linking and initialization.
-
-"use strict";
-
-module R {
- // At this point, only functions and modules are initialized.
- assertEquals(undefined, v)
- assertEquals(undefined, vv)
- assertEquals(undefined, R.v)
- assertEquals(undefined, M.v)
- assertEquals(undefined, MM.v)
- assertEquals(undefined, F.v)
- assertEquals(undefined, G.v)
- assertThrows(function() { l }, ReferenceError)
- assertThrows(function() { ll }, ReferenceError)
- assertThrows(function() { R.l }, ReferenceError)
- assertThrows(function() { M.l }, ReferenceError)
- assertThrows(function() { MM.l }, ReferenceError)
- assertThrows(function() { F.l }, ReferenceError)
- assertThrows(function() { G.l }, ReferenceError)
- assertThrows(function() { c }, ReferenceError)
- assertThrows(function() { cc }, ReferenceError)
- assertThrows(function() { R.c }, ReferenceError)
- assertThrows(function() { M.c }, ReferenceError)
- assertThrows(function() { MM.c }, ReferenceError)
- assertThrows(function() { F.c }, ReferenceError)
- assertThrows(function() { G.c }, ReferenceError)
- assertEquals(4, f())
- assertEquals(24, ff())
- assertEquals(4, R.f())
- assertEquals(14, M.f())
- assertEquals(34, MM.f())
- assertEquals(44, F.f())
- assertEquals(14, G.f())
-
- // All properties should already exist on the instance objects, though.
- assertTrue("v" in R)
- assertTrue("v" in RR)
- assertTrue("v" in M)
- assertTrue("v" in MM)
- assertTrue("v" in F)
- assertTrue("v" in G)
- assertTrue("l" in R)
- assertTrue("l" in RR)
- assertTrue("l" in M)
- assertTrue("l" in MM)
- assertTrue("l" in F)
- assertTrue("l" in G)
- assertTrue("c" in R)
- assertTrue("c" in RR)
- assertTrue("c" in M)
- assertTrue("c" in MM)
- assertTrue("c" in F)
- assertTrue("c" in G)
- assertTrue("f" in R)
- assertTrue("f" in RR)
- assertTrue("f" in M)
- assertTrue("f" in MM)
- assertTrue("f" in F)
- assertTrue("f" in G)
- assertTrue("M" in R)
- assertTrue("M" in RR)
- assertTrue("RR" in R)
- assertTrue("RR" in RR)
-
- // And aliases should be identical.
- assertSame(R, RR)
- assertSame(R, R.RR)
- assertSame(M, R.M)
- assertSame(M, G)
-
- // We can only assign to var.
- assertEquals(-1, v = -1)
- assertEquals(-2, R.v = -2)
- assertEquals(-2, v)
- assertEquals(-2, R.v)
-
- assertThrows(function() { l = -1 }, ReferenceError)
- assertThrows(function() { R.l = -2 }, ReferenceError)
- assertThrows(function() { l }, ReferenceError)
- assertThrows(function() { R.l }, ReferenceError)
-
- assertThrows(function() { eval("c = -1") }, SyntaxError)
- assertThrows(function() { R.c = -2 }, TypeError)
-
- // Initialize first bunch of variables.
- export var v = 1
- export let l = 2
- export const c = 3
- export function f() { return 4 }
-
- assertEquals(1, v)
- assertEquals(1, R.v)
- assertEquals(2, l)
- assertEquals(2, R.l)
- assertEquals(3, c)
- assertEquals(3, R.c)
-
- assertEquals(-3, v = -3)
- assertEquals(-4, R.v = -4)
- assertEquals(-3, l = -3)
- assertEquals(-4, R.l = -4)
- assertThrows(function() { eval("c = -3") }, SyntaxError)
- assertThrows(function() { R.c = -4 }, TypeError)
-
- assertEquals(-4, v)
- assertEquals(-4, R.v)
- assertEquals(-4, l)
- assertEquals(-4, R.l)
- assertEquals(3, c)
- assertEquals(3, R.c)
-
- // Initialize nested module.
- export module M {
- export var v = 11
- export let l = 12
- export const c = 13
- export function f() { return 14 }
- }
-
- assertEquals(11, M.v)
- assertEquals(11, G.v)
- assertEquals(12, M.l)
- assertEquals(12, G.l)
- assertEquals(13, M.c)
- assertEquals(13, G.c)
-
- // Initialize non-exported variables.
- var vv = 21
- let ll = 22
- const cc = 23
- function ff() { return 24 }
-
- assertEquals(21, vv)
- assertEquals(22, ll)
- assertEquals(23, cc)
-
- // Initialize non-exported module.
- module MM {
- export var v = 31
- export let l = 32
- export const c = 33
- export function f() { return 34 }
- }
-
- assertEquals(31, MM.v)
- assertEquals(32, MM.l)
- assertEquals(33, MM.c)
-
- // Recursive self reference.
- export module RR = R
-}
-
-// Initialize sibling module that was forward-used.
-module F {
- assertEquals(undefined, v)
- assertEquals(undefined, F.v)
- assertThrows(function() { l }, ReferenceError)
- assertThrows(function() { F.l }, ReferenceError)
- assertThrows(function() { c }, ReferenceError)
- assertThrows(function() { F.c }, ReferenceError)
-
- export var v = 41
- export let l = 42
- export const c = 43
- export function f() { return 44 }
-
- assertEquals(41, v)
- assertEquals(41, F.v)
- assertEquals(42, l)
- assertEquals(42, F.l)
- assertEquals(43, c)
- assertEquals(43, F.c)
-}
-
-// Define recursive module alias.
-module G = R.M
-
-
-
-// Second test with side effects and more module nesting.
-
-let log = "";
-
-export let x = (log += "1");
-
-export module B = A.B
-
-export module A {
- export let x = (log += "2");
- let y = (log += "3");
- export function f() { log += "5" };
- export module B {
- module BB = B;
- export BB, x;
- let x = (log += "4");
- f();
- let y = (log += "6");
- }
- export let z = (log += "7");
- export module C {
- export let z = (log += "8");
- export module D = B
- export module C = A.C
- }
- module D {}
-}
-
-export module M1 {
- export module A2 = M2;
- export let x = (log += "9");
-}
-export module M2 {
- export module A1 = M1;
- export let x = (log += "0");
-}
-
-assertEquals("object", typeof A);
-assertTrue('x' in A);
-assertFalse('y' in A);
-assertTrue('f' in A);
-assertTrue('B' in A);
-assertTrue('z' in A);
-assertTrue('C' in A);
-assertFalse('D' in A);
-
-assertEquals("object", typeof B);
-assertTrue('BB' in B);
-assertTrue('x' in B);
-assertFalse('y' in B);
-
-assertEquals("object", typeof A.B);
-assertTrue('BB' in A.B);
-assertTrue('x' in A.B);
-assertFalse('y' in A.B);
-
-assertEquals("object", typeof A.B.BB);
-assertTrue('BB' in A.B.BB);
-assertTrue('x' in A.B.BB);
-assertFalse('y' in A.B.BB);
-
-assertEquals("object", typeof A.C);
-assertTrue('z' in A.C);
-assertTrue('D' in A.C);
-assertTrue('C' in A.C);
-
-assertEquals("object", typeof M1);
-assertEquals("object", typeof M2);
-assertTrue('A2' in M1);
-assertTrue('A1' in M2);
-assertEquals("object", typeof M1.A2);
-assertEquals("object", typeof M2.A1);
-assertTrue('A1' in M1.A2);
-assertTrue('A2' in M2.A1);
-assertEquals("object", typeof M1.A2.A1);
-assertEquals("object", typeof M2.A1.A2);
-
-assertSame(B, A.B);
-assertSame(B, B.BB);
-assertSame(B, A.C.D);
-assertSame(A.C, A.C.C);
-assertFalse(A.D === A.C.D);
-
-assertSame(M1, M2.A1);
-assertSame(M2, M1.A2);
-assertSame(M1, M1.A2.A1);
-assertSame(M2, M2.A1.A2);
-
-assertEquals("1234567890", log);
diff --git a/src/3rdparty/v8/test/mjsunit/harmony/module-parsing.js b/src/3rdparty/v8/test/mjsunit/harmony/module-parsing.js
deleted file mode 100644
index 8a9103d..0000000
--- a/src/3rdparty/v8/test/mjsunit/harmony/module-parsing.js
+++ /dev/null
@@ -1,190 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --harmony-modules
-
-// Test basic module syntax, with and without automatic semicolon insertion.
-
-module A {}
-
-module A1 = A
-module A2 = A;
-module A3 = A2
-
-module B {
- export vx
- export vy, lz, c, f
-
- var vx
- var vx, vy;
- var vx = 0, vy
- let lx, ly
- let lz = 1
- const c = 9
- function f() {}
-
- module C0 {}
-
- export module C {
- let x
- export module D { export let x }
- let y
- }
-
- let zz = ""
-
- export var x0
- export var x1, x2 = 6, x3
- export let y0
- export let y1 = 0, y2
- export const z0 = 0
- export const z1 = 2, z2 = 3
- export function f0() {}
- export module M1 {}
- export module M2 = C.D
- export module M3 at "http://where"
-
- import i0 from I
- import i1, i2, i3, M from I
- //import i4, i5 from "http://where"
-}
-
-module I {
- export let i0, i1, i2, i3;
- export module M {}
-}
-
-module C1 = B.C;
-module D1 = B.C.D
-module D2 = C1.D
-module D3 = D2
-
-module E1 at "http://where"
-module E2 at "http://where";
-module E3 = E1
-
-// Check that ASI does not interfere.
-
-module X
-{
-let x
-}
-
-module Y
-=
-X
-
-module Z
-at
-"file://local"
-
-import
-vx
-,
-vy
-from
-B
-
-
-module Wrap {
-export
-x
-,
-y
-
-var
-x
-,
-y
-
-export
-var
-v1 = 1
-
-export
-let
-v2 = 2
-
-export
-const
-v3 = 3
-
-export
-function
-f
-(
-)
-{
-}
-
-export
-module V
-{
-}
-}
-
-export A, A1, A2, A3, B, I, C1, D1, D2, D3, E1, E2, E3, X, Y, Z, Wrap, x, y, UU
-
-
-
-// Check that 'module' still works as an identifier.
-
-var module
-module = {}
-module["a"] = 6
-function module() {}
-function f(module) { return module }
-try {} catch (module) {}
-
-module
-v = 20
-
-
-
-// Check that module declarations are rejected in eval or local scope.
-
-module M { export let x; }
-
-assertThrows("export x;", SyntaxError); // It's using eval, so should throw.
-assertThrows("export let x;", SyntaxError);
-assertThrows("import x from M;", SyntaxError);
-assertThrows("module M {};", SyntaxError);
-
-assertThrows("{ export x; }", SyntaxError);
-assertThrows("{ export let x; }", SyntaxError);
-assertThrows("{ import x from M; }", SyntaxError);
-assertThrows("{ module M {}; }", SyntaxError);
-
-assertThrows("function f() { export x; }", SyntaxError);
-assertThrows("function f() { export let x; }", SyntaxError);
-assertThrows("function f() { import x from M; }", SyntaxError);
-assertThrows("function f() { module M {}; }", SyntaxError);
-
-assertThrows("function f() { { export x; } }", SyntaxError);
-assertThrows("function f() { { export let x; } }", SyntaxError);
-assertThrows("function f() { { import x from M; } }", SyntaxError);
-assertThrows("function f() { { module M {}; } }", SyntaxError);
diff --git a/src/3rdparty/v8/test/mjsunit/harmony/module-recompile.js b/src/3rdparty/v8/test/mjsunit/harmony/module-recompile.js
deleted file mode 100644
index 23f5bfc..0000000
--- a/src/3rdparty/v8/test/mjsunit/harmony/module-recompile.js
+++ /dev/null
@@ -1,87 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --harmony-modules
-
-// Test that potential recompilation of the global scope does not screw up.
-
-"use strict";
-
-var N = 1e5; // Number of loop iterations that trigger optimization.
-
-module A {
- export var x = 1
- export function f() { return x }
-}
-var f = A.f
-
-assertEquals(1, A.x)
-assertEquals(1, A.f())
-assertEquals(1, f())
-
-A.x = 2
-
-assertEquals(2, A.x)
-assertEquals(2, A.f())
-assertEquals(2, f())
-
-for (var i = 0; i < N; i++) {
- if (i > N) print("impossible");
-}
-
-assertEquals(2, A.x)
-assertEquals(2, A.f())
-assertEquals(2, f())
-
-
-// Same test with loop inside a module.
-
-module B {
- module A {
- export var x = 1
- export function f() { return x }
- }
- var f = A.f
-
- assertEquals(1, A.x)
- assertEquals(1, A.f())
- assertEquals(1, f())
-
- A.x = 2
-
- assertEquals(2, A.x)
- assertEquals(2, A.f())
- assertEquals(2, f())
-
- for (var i = 0; i < N; i++) {
- if (i > N) print("impossible");
- }
-
- assertEquals(2, A.x)
- assertEquals(2, A.f())
- assertEquals(2, f())
-}
diff --git a/src/3rdparty/v8/test/mjsunit/harmony/module-resolution.js b/src/3rdparty/v8/test/mjsunit/harmony/module-resolution.js
deleted file mode 100644
index 1a95347..0000000
--- a/src/3rdparty/v8/test/mjsunit/harmony/module-resolution.js
+++ /dev/null
@@ -1,152 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --harmony-modules --harmony-scoping
-
-// Test basic module interface inference.
-
-"use strict";
-
-print("begin.")
-
-
-export let x = print("0")
-
-export module B = A.B
-
-export module A {
- export let x = print("1")
- export let f = function() { return B.x }
- export module B {
- module BB = B
- export BB, x
- let x = print("2")
- var y = print("3")
- let Ax = A.x
- try { A.y } catch (e) {} // throws
- let Az = A.z // undefined
- let Az2 = z // undefined
- A.g() // hoisted
- g() // hoisted
- let ABx = A.B.x
- let ABy = A.B.y
- let Bx = B.x
- let By = B.y
- let BBx = BB.x
- let BBy = BB.y
- let Af = A.f
- function f(x,y) { return x }
- }
- export let y = print("4")
- export var z = print("4.1")
- export function g() {}
- let Ax = A.x
- let Bx = B.x
- let ABx = A.B.x
- module C {
- export let z = print("5")
- export module D = B
- // TODO(rossberg): turn these into proper negative test cases once we have
- // suitable error messages.
- // import C.z // multiple declarations
- import x from B
- }
- module D {
- // TODO(rossberg): Handle import *.
- // import A.* // invalid forward import
- }
- module M {}
- // TODO(rossberg): Handle import *.
- // import M.* // invalid forward import
- let Cz = C.z
- let CDx = C.D.x
-}
-
-export module Imports {
- module A1 {
- export module A2 {}
- }
- module B {
- // TODO(rossberg): Handle import *.
- // import A1.*
- // import A2.* // unbound variable A2
- }
-}
-
-export module E {
- export let xx = x
- export y, B
- let Bx = B.x
- // TODO(rossberg): Handle import *.
- // import A.*
- module B = A.B
- let y = A.y
-}
-
-export module M1 {
- export module A2 = M2
-}
-export module M2 {
- export module A1 = M1
-}
-
-// TODO(rossberg): turn these into proper negative test cases once we have
-// suitable error messages.
-// module W1 = W2.W
-// module W2 = { export module W = W3 }
-// module W3 = W1 // cyclic module definition
-
-// module W1 = W2.W3
-// module W2 = {
-// export module W3 = W4
-// export module W4 = W1
-// } // cyclic module definition
-
-// TODO(rossberg): Handle import *.
-//module M3B = M3.B
-//export module M3 {
-// export module B { export let x = "" }
-// module C1 = { import M3.* }
-// module C2 = { import M3.B.* }
-// module C3 = { import M3B.* }
-// module C4 = { export x import B.* }
-//// TODO(rossberg): turn these into proper negative test cases once we have
-//// suitable error messages.
-//// export module C5 = { import C5.* } // invalid forward import
-//// export module C6 = { import M3.C6.* } // invalid forward import
-//}
-
-export module External at "external.js"
-export module External1 = External
-//export module ExternalA = External.A
-export module InnerExternal {
- export module E at "external.js"
-}
-export module External2 = InnerExternal.E
-//export let xxx = InnerExternal.E.A.x
-
-print("end.")
diff --git a/src/3rdparty/v8/test/mjsunit/harmony/object-observe.js b/src/3rdparty/v8/test/mjsunit/harmony/object-observe.js
deleted file mode 100644
index 584d9e8..0000000
--- a/src/3rdparty/v8/test/mjsunit/harmony/object-observe.js
+++ /dev/null
@@ -1,1056 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --harmony-observation --harmony-proxies --harmony-collections
-// Flags: --allow-natives-syntax
-
-var allObservers = [];
-function reset() {
- allObservers.forEach(function(observer) { observer.reset(); });
-}
-
-function stringifyNoThrow(arg) {
- try {
- return JSON.stringify(arg);
- } catch (e) {
- return '{<circular reference>}';
- }
-}
-
-function createObserver() {
- "use strict"; // So that |this| in callback can be undefined.
-
- var observer = {
- records: undefined,
- callbackCount: 0,
- reset: function() {
- this.records = undefined;
- this.callbackCount = 0;
- },
- assertNotCalled: function() {
- assertEquals(undefined, this.records);
- assertEquals(0, this.callbackCount);
- },
- assertCalled: function() {
- assertEquals(1, this.callbackCount);
- },
- assertRecordCount: function(count) {
- this.assertCalled();
- assertEquals(count, this.records.length);
- },
- assertCallbackRecords: function(recs) {
- this.assertRecordCount(recs.length);
- for (var i = 0; i < recs.length; i++) {
- if ('name' in recs[i]) recs[i].name = String(recs[i].name);
- print(i, stringifyNoThrow(this.records[i]), stringifyNoThrow(recs[i]));
- assertSame(this.records[i].object, recs[i].object);
- assertEquals('string', typeof recs[i].type);
- assertPropertiesEqual(this.records[i], recs[i]);
- }
- }
- };
-
- observer.callback = function(r) {
- assertEquals(undefined, this);
- assertEquals('object', typeof r);
- assertTrue(r instanceof Array)
- observer.records = r;
- observer.callbackCount++;
- };
-
- observer.reset();
- allObservers.push(observer);
- return observer;
-}
-
-var observer = createObserver();
-assertEquals("function", typeof observer.callback);
-var obj = {};
-
-function frozenFunction() {}
-Object.freeze(frozenFunction);
-var nonFunction = {};
-var changeRecordWithAccessor = { type: 'foo' };
-var recordCreated = false;
-Object.defineProperty(changeRecordWithAccessor, 'name', {
- get: function() {
- recordCreated = true;
- return "bar";
- },
- enumerable: true
-})
-
-
-// Object.observe
-assertThrows(function() { Object.observe("non-object", observer.callback); }, TypeError);
-assertThrows(function() { Object.observe(obj, nonFunction); }, TypeError);
-assertThrows(function() { Object.observe(obj, frozenFunction); }, TypeError);
-assertEquals(obj, Object.observe(obj, observer.callback));
-
-
-// Object.unobserve
-assertThrows(function() { Object.unobserve(4, observer.callback); }, TypeError);
-assertThrows(function() { Object.unobserve(obj, nonFunction); }, TypeError);
-assertEquals(obj, Object.unobserve(obj, observer.callback));
-
-
-// Object.getNotifier
-var notifier = Object.getNotifier(obj);
-assertSame(notifier, Object.getNotifier(obj));
-assertEquals(null, Object.getNotifier(Object.freeze({})));
-assertFalse(notifier.hasOwnProperty('notify'));
-assertEquals([], Object.keys(notifier));
-var notifyDesc = Object.getOwnPropertyDescriptor(notifier.__proto__, 'notify');
-assertTrue(notifyDesc.configurable);
-assertTrue(notifyDesc.writable);
-assertFalse(notifyDesc.enumerable);
-assertThrows(function() { notifier.notify({}); }, TypeError);
-assertThrows(function() { notifier.notify({ type: 4 }); }, TypeError);
-var notify = notifier.notify;
-assertThrows(function() { notify.call(undefined, { type: 'a' }); }, TypeError);
-assertThrows(function() { notify.call(null, { type: 'a' }); }, TypeError);
-assertThrows(function() { notify.call(5, { type: 'a' }); }, TypeError);
-assertThrows(function() { notify.call('hello', { type: 'a' }); }, TypeError);
-assertThrows(function() { notify.call(false, { type: 'a' }); }, TypeError);
-assertThrows(function() { notify.call({}, { type: 'a' }); }, TypeError);
-assertFalse(recordCreated);
-notifier.notify(changeRecordWithAccessor);
-assertFalse(recordCreated); // not observed yet
-
-
-// Object.deliverChangeRecords
-assertThrows(function() { Object.deliverChangeRecords(nonFunction); }, TypeError);
-
-Object.observe(obj, observer.callback);
-
-
-// notify uses to [[CreateOwnProperty]] to create changeRecord;
-reset();
-var protoExpandoAccessed = false;
-Object.defineProperty(Object.prototype, 'protoExpando',
- {
- configurable: true,
- set: function() { protoExpandoAccessed = true; }
- }
-);
-notifier.notify({ type: 'foo', protoExpando: 'val'});
-assertFalse(protoExpandoAccessed);
-delete Object.prototype.protoExpando;
-Object.deliverChangeRecords(observer.callback);
-
-
-// Multiple records are delivered.
-reset();
-notifier.notify({
- type: 'updated',
- name: 'foo',
- expando: 1
-});
-
-notifier.notify({
- object: notifier, // object property is ignored
- type: 'deleted',
- name: 'bar',
- expando2: 'str'
-});
-Object.deliverChangeRecords(observer.callback);
-observer.assertCallbackRecords([
- { object: obj, name: 'foo', type: 'updated', expando: 1 },
- { object: obj, name: 'bar', type: 'deleted', expando2: 'str' }
-]);
-
-
-// No delivery takes place if no records are pending
-reset();
-Object.deliverChangeRecords(observer.callback);
-observer.assertNotCalled();
-
-
-// Multiple observation has no effect.
-reset();
-Object.observe(obj, observer.callback);
-Object.observe(obj, observer.callback);
-Object.getNotifier(obj).notify({
- type: 'foo',
-});
-Object.deliverChangeRecords(observer.callback);
-observer.assertCalled();
-
-
-// Observation can be stopped.
-reset();
-Object.unobserve(obj, observer.callback);
-Object.getNotifier(obj).notify({
- type: 'foo',
-});
-Object.deliverChangeRecords(observer.callback);
-observer.assertNotCalled();
-
-
-// Multiple unobservation has no effect
-reset();
-Object.unobserve(obj, observer.callback);
-Object.unobserve(obj, observer.callback);
-Object.getNotifier(obj).notify({
- type: 'foo',
-});
-Object.deliverChangeRecords(observer.callback);
-observer.assertNotCalled();
-
-
-// Re-observation works and only includes changeRecords after of call.
-reset();
-Object.getNotifier(obj).notify({
- type: 'foo',
-});
-Object.observe(obj, observer.callback);
-Object.getNotifier(obj).notify({
- type: 'foo',
-});
-records = undefined;
-Object.deliverChangeRecords(observer.callback);
-observer.assertRecordCount(1);
-
-
-// Observing a continuous stream of changes, while itermittantly unobserving.
-reset();
-Object.observe(obj, observer.callback);
-Object.getNotifier(obj).notify({
- type: 'foo',
- val: 1
-});
-
-Object.unobserve(obj, observer.callback);
-Object.getNotifier(obj).notify({
- type: 'foo',
- val: 2
-});
-
-Object.observe(obj, observer.callback);
-Object.getNotifier(obj).notify({
- type: 'foo',
- val: 3
-});
-
-Object.unobserve(obj, observer.callback);
-Object.getNotifier(obj).notify({
- type: 'foo',
- val: 4
-});
-
-Object.observe(obj, observer.callback);
-Object.getNotifier(obj).notify({
- type: 'foo',
- val: 5
-});
-
-Object.unobserve(obj, observer.callback);
-Object.deliverChangeRecords(observer.callback);
-observer.assertCallbackRecords([
- { object: obj, type: 'foo', val: 1 },
- { object: obj, type: 'foo', val: 3 },
- { object: obj, type: 'foo', val: 5 }
-]);
-
-
-// Observing multiple objects; records appear in order.
-reset();
-var obj2 = {};
-var obj3 = {}
-Object.observe(obj, observer.callback);
-Object.observe(obj3, observer.callback);
-Object.observe(obj2, observer.callback);
-Object.getNotifier(obj).notify({
- type: 'foo1',
-});
-Object.getNotifier(obj2).notify({
- type: 'foo2',
-});
-Object.getNotifier(obj3).notify({
- type: 'foo3',
-});
-Object.observe(obj3, observer.callback);
-Object.deliverChangeRecords(observer.callback);
-observer.assertCallbackRecords([
- { object: obj, type: 'foo1' },
- { object: obj2, type: 'foo2' },
- { object: obj3, type: 'foo3' }
-]);
-
-
-// Recursive observation.
-var obj = {a: 1};
-var callbackCount = 0;
-function recursiveObserver(r) {
- assertEquals(1, r.length);
- ++callbackCount;
- if (r[0].oldValue < 100) ++obj[r[0].name];
-}
-Object.observe(obj, recursiveObserver);
-++obj.a;
-Object.deliverChangeRecords(recursiveObserver);
-assertEquals(100, callbackCount);
-
-var obj1 = {a: 1};
-var obj2 = {a: 1};
-var recordCount = 0;
-function recursiveObserver2(r) {
- recordCount += r.length;
- if (r[0].oldValue < 100) {
- ++obj1.a;
- ++obj2.a;
- }
-}
-Object.observe(obj1, recursiveObserver2);
-Object.observe(obj2, recursiveObserver2);
-++obj1.a;
-Object.deliverChangeRecords(recursiveObserver2);
-assertEquals(199, recordCount);
-
-
-// Observing named properties.
-reset();
-var obj = {a: 1}
-Object.observe(obj, observer.callback);
-obj.a = 2;
-obj["a"] = 3;
-delete obj.a;
-obj.a = 4;
-obj.a = 4; // ignored
-obj.a = 5;
-Object.defineProperty(obj, "a", {value: 6});
-Object.defineProperty(obj, "a", {writable: false});
-obj.a = 7; // ignored
-Object.defineProperty(obj, "a", {value: 8});
-Object.defineProperty(obj, "a", {value: 7, writable: true});
-Object.defineProperty(obj, "a", {get: function() {}});
-Object.defineProperty(obj, "a", {get: frozenFunction});
-Object.defineProperty(obj, "a", {get: frozenFunction}); // ignored
-Object.defineProperty(obj, "a", {get: frozenFunction, set: frozenFunction});
-Object.defineProperty(obj, "a", {set: frozenFunction}); // ignored
-Object.defineProperty(obj, "a", {get: undefined, set: frozenFunction});
-delete obj.a;
-delete obj.a;
-Object.defineProperty(obj, "a", {get: function() {}, configurable: true});
-Object.defineProperty(obj, "a", {value: 9, writable: true});
-obj.a = 10;
-++obj.a;
-obj.a++;
-obj.a *= 3;
-delete obj.a;
-Object.defineProperty(obj, "a", {value: 11, configurable: true});
-Object.deliverChangeRecords(observer.callback);
-observer.assertCallbackRecords([
- { object: obj, name: "a", type: "updated", oldValue: 1 },
- { object: obj, name: "a", type: "updated", oldValue: 2 },
- { object: obj, name: "a", type: "deleted", oldValue: 3 },
- { object: obj, name: "a", type: "new" },
- { object: obj, name: "a", type: "updated", oldValue: 4 },
- { object: obj, name: "a", type: "updated", oldValue: 5 },
- { object: obj, name: "a", type: "reconfigured" },
- { object: obj, name: "a", type: "updated", oldValue: 6 },
- { object: obj, name: "a", type: "reconfigured", oldValue: 8 },
- { object: obj, name: "a", type: "reconfigured", oldValue: 7 },
- { object: obj, name: "a", type: "reconfigured" },
- { object: obj, name: "a", type: "reconfigured" },
- { object: obj, name: "a", type: "reconfigured" },
- { object: obj, name: "a", type: "deleted" },
- { object: obj, name: "a", type: "new" },
- { object: obj, name: "a", type: "reconfigured" },
- { object: obj, name: "a", type: "updated", oldValue: 9 },
- { object: obj, name: "a", type: "updated", oldValue: 10 },
- { object: obj, name: "a", type: "updated", oldValue: 11 },
- { object: obj, name: "a", type: "updated", oldValue: 12 },
- { object: obj, name: "a", type: "deleted", oldValue: 36 },
- { object: obj, name: "a", type: "new" },
-]);
-
-
-// Observing indexed properties.
-reset();
-var obj = {'1': 1}
-Object.observe(obj, observer.callback);
-obj[1] = 2;
-obj[1] = 3;
-delete obj[1];
-obj[1] = 4;
-obj[1] = 4; // ignored
-obj[1] = 5;
-Object.defineProperty(obj, "1", {value: 6});
-Object.defineProperty(obj, "1", {writable: false});
-obj[1] = 7; // ignored
-Object.defineProperty(obj, "1", {value: 8});
-Object.defineProperty(obj, "1", {value: 7, writable: true});
-Object.defineProperty(obj, "1", {get: function() {}});
-Object.defineProperty(obj, "1", {get: frozenFunction});
-Object.defineProperty(obj, "1", {get: frozenFunction}); // ignored
-Object.defineProperty(obj, "1", {get: frozenFunction, set: frozenFunction});
-Object.defineProperty(obj, "1", {set: frozenFunction}); // ignored
-Object.defineProperty(obj, "1", {get: undefined, set: frozenFunction});
-delete obj[1];
-delete obj[1];
-Object.defineProperty(obj, "1", {get: function() {}, configurable: true});
-Object.defineProperty(obj, "1", {value: 9, writable: true});
-obj[1] = 10;
-++obj[1];
-obj[1]++;
-obj[1] *= 3;
-delete obj[1];
-Object.defineProperty(obj, "1", {value: 11, configurable: true});
-Object.deliverChangeRecords(observer.callback);
-observer.assertCallbackRecords([
- { object: obj, name: "1", type: "updated", oldValue: 1 },
- { object: obj, name: "1", type: "updated", oldValue: 2 },
- { object: obj, name: "1", type: "deleted", oldValue: 3 },
- { object: obj, name: "1", type: "new" },
- { object: obj, name: "1", type: "updated", oldValue: 4 },
- { object: obj, name: "1", type: "updated", oldValue: 5 },
- { object: obj, name: "1", type: "reconfigured" },
- { object: obj, name: "1", type: "updated", oldValue: 6 },
- { object: obj, name: "1", type: "reconfigured", oldValue: 8 },
- { object: obj, name: "1", type: "reconfigured", oldValue: 7 },
- { object: obj, name: "1", type: "reconfigured" },
- { object: obj, name: "1", type: "reconfigured" },
- { object: obj, name: "1", type: "reconfigured" },
- { object: obj, name: "1", type: "deleted" },
- { object: obj, name: "1", type: "new" },
- { object: obj, name: "1", type: "reconfigured" },
- { object: obj, name: "1", type: "updated", oldValue: 9 },
- { object: obj, name: "1", type: "updated", oldValue: 10 },
- { object: obj, name: "1", type: "updated", oldValue: 11 },
- { object: obj, name: "1", type: "updated", oldValue: 12 },
- { object: obj, name: "1", type: "deleted", oldValue: 36 },
- { object: obj, name: "1", type: "new" },
-]);
-
-
-// Test all kinds of objects generically.
-function TestObserveConfigurable(obj, prop) {
- reset();
- obj[prop] = 1;
- Object.observe(obj, observer.callback);
- obj[prop] = 2;
- obj[prop] = 3;
- delete obj[prop];
- obj[prop] = 4;
- obj[prop] = 4; // ignored
- obj[prop] = 5;
- Object.defineProperty(obj, prop, {value: 6});
- Object.defineProperty(obj, prop, {writable: false});
- obj[prop] = 7; // ignored
- Object.defineProperty(obj, prop, {value: 8});
- Object.defineProperty(obj, prop, {value: 7, writable: true});
- Object.defineProperty(obj, prop, {get: function() {}});
- Object.defineProperty(obj, prop, {get: frozenFunction});
- Object.defineProperty(obj, prop, {get: frozenFunction}); // ignored
- Object.defineProperty(obj, prop, {get: frozenFunction, set: frozenFunction});
- Object.defineProperty(obj, prop, {set: frozenFunction}); // ignored
- Object.defineProperty(obj, prop, {get: undefined, set: frozenFunction});
- obj.__defineSetter__(prop, frozenFunction); // ignored
- obj.__defineSetter__(prop, function() {});
- obj.__defineGetter__(prop, function() {});
- delete obj[prop];
- delete obj[prop]; // ignored
- obj.__defineGetter__(prop, function() {});
- delete obj[prop];
- Object.defineProperty(obj, prop, {get: function() {}, configurable: true});
- Object.defineProperty(obj, prop, {value: 9, writable: true});
- obj[prop] = 10;
- ++obj[prop];
- obj[prop]++;
- obj[prop] *= 3;
- delete obj[prop];
- Object.defineProperty(obj, prop, {value: 11, configurable: true});
- Object.deliverChangeRecords(observer.callback);
- observer.assertCallbackRecords([
- { object: obj, name: prop, type: "updated", oldValue: 1 },
- { object: obj, name: prop, type: "updated", oldValue: 2 },
- { object: obj, name: prop, type: "deleted", oldValue: 3 },
- { object: obj, name: prop, type: "new" },
- { object: obj, name: prop, type: "updated", oldValue: 4 },
- { object: obj, name: prop, type: "updated", oldValue: 5 },
- { object: obj, name: prop, type: "reconfigured" },
- { object: obj, name: prop, type: "updated", oldValue: 6 },
- { object: obj, name: prop, type: "reconfigured", oldValue: 8 },
- { object: obj, name: prop, type: "reconfigured", oldValue: 7 },
- { object: obj, name: prop, type: "reconfigured" },
- { object: obj, name: prop, type: "reconfigured" },
- { object: obj, name: prop, type: "reconfigured" },
- { object: obj, name: prop, type: "reconfigured" },
- { object: obj, name: prop, type: "reconfigured" },
- { object: obj, name: prop, type: "deleted" },
- { object: obj, name: prop, type: "new" },
- { object: obj, name: prop, type: "deleted" },
- { object: obj, name: prop, type: "new" },
- { object: obj, name: prop, type: "reconfigured" },
- { object: obj, name: prop, type: "updated", oldValue: 9 },
- { object: obj, name: prop, type: "updated", oldValue: 10 },
- { object: obj, name: prop, type: "updated", oldValue: 11 },
- { object: obj, name: prop, type: "updated", oldValue: 12 },
- { object: obj, name: prop, type: "deleted", oldValue: 36 },
- { object: obj, name: prop, type: "new" },
- ]);
- Object.unobserve(obj, observer.callback);
- delete obj[prop];
-}
-
-function TestObserveNonConfigurable(obj, prop, desc) {
- reset();
- obj[prop] = 1;
- Object.observe(obj, observer.callback);
- obj[prop] = 4;
- obj[prop] = 4; // ignored
- obj[prop] = 5;
- Object.defineProperty(obj, prop, {value: 6});
- Object.defineProperty(obj, prop, {value: 6}); // ignored
- Object.defineProperty(obj, prop, {value: 7});
- Object.defineProperty(obj, prop, {enumerable: desc.enumerable}); // ignored
- Object.defineProperty(obj, prop, {writable: false});
- obj[prop] = 7; // ignored
- Object.deliverChangeRecords(observer.callback);
- observer.assertCallbackRecords([
- { object: obj, name: prop, type: "updated", oldValue: 1 },
- { object: obj, name: prop, type: "updated", oldValue: 4 },
- { object: obj, name: prop, type: "updated", oldValue: 5 },
- { object: obj, name: prop, type: "updated", oldValue: 6 },
- { object: obj, name: prop, type: "reconfigured" },
- ]);
- Object.unobserve(obj, observer.callback);
-}
-
-function createProxy(create, x) {
- var handler = {
- getPropertyDescriptor: function(k) {
- for (var o = this.target; o; o = Object.getPrototypeOf(o)) {
- var desc = Object.getOwnPropertyDescriptor(o, k);
- if (desc) return desc;
- }
- return undefined;
- },
- getOwnPropertyDescriptor: function(k) {
- return Object.getOwnPropertyDescriptor(this.target, k);
- },
- defineProperty: function(k, desc) {
- var x = Object.defineProperty(this.target, k, desc);
- Object.deliverChangeRecords(this.callback);
- return x;
- },
- delete: function(k) {
- var x = delete this.target[k];
- Object.deliverChangeRecords(this.callback);
- return x;
- },
- getPropertyNames: function() {
- return Object.getOwnPropertyNames(this.target);
- },
- target: {isProxy: true},
- callback: function(changeRecords) {
- print("callback", stringifyNoThrow(handler.proxy), stringifyNoThrow(got));
- for (var i in changeRecords) {
- var got = changeRecords[i];
- var change = {object: handler.proxy, name: got.name, type: got.type};
- if ("oldValue" in got) change.oldValue = got.oldValue;
- Object.getNotifier(handler.proxy).notify(change);
- }
- },
- };
- Object.observe(handler.target, handler.callback);
- return handler.proxy = create(handler, x);
-}
-
-var objects = [
- {},
- [],
- this, // global object
- function(){},
- (function(){ return arguments })(),
- (function(){ "use strict"; return arguments })(),
- Object(1), Object(true), Object("bla"),
- new Date(),
- Object, Function, Date, RegExp,
- new Set, new Map, new WeakMap,
- new ArrayBuffer(10), new Int32Array(5),
- createProxy(Proxy.create, null),
- createProxy(Proxy.createFunction, function(){}),
-];
-var properties = ["a", "1", 1, "length", "prototype", "name", "caller"];
-
-// Cases that yield non-standard results.
-function blacklisted(obj, prop) {
- return (obj instanceof Int32Array && prop == 1) ||
- (obj instanceof Int32Array && prop === "length") ||
- (obj instanceof ArrayBuffer && prop == 1)
-}
-
-for (var i in objects) for (var j in properties) {
- var obj = objects[i];
- var prop = properties[j];
- if (blacklisted(obj, prop)) continue;
- var desc = Object.getOwnPropertyDescriptor(obj, prop);
- print("***", typeof obj, stringifyNoThrow(obj), prop);
- if (!desc || desc.configurable)
- TestObserveConfigurable(obj, prop);
- else if (desc.writable)
- TestObserveNonConfigurable(obj, prop, desc);
-}
-
-
-// Observing array length (including truncation)
-reset();
-var arr = ['a', 'b', 'c', 'd'];
-var arr2 = ['alpha', 'beta'];
-var arr3 = ['hello'];
-arr3[2] = 'goodbye';
-arr3.length = 6;
-var slow_arr = new Array(1000000000);
-slow_arr[500000000] = 'hello';
-Object.defineProperty(arr, '0', {configurable: false});
-Object.defineProperty(arr, '2', {get: function(){}});
-Object.defineProperty(arr2, '0', {get: function(){}, configurable: false});
-Object.observe(arr, observer.callback);
-Object.observe(arr2, observer.callback);
-Object.observe(arr3, observer.callback);
-Object.observe(slow_arr, observer.callback);
-arr.length = 2;
-arr.length = 0;
-arr.length = 10;
-Object.defineProperty(arr, 'length', {writable: false});
-arr2.length = 0;
-arr2.length = 1; // no change expected
-Object.defineProperty(arr2, 'length', {value: 1, writable: false});
-arr3.length = 0;
-++arr3.length;
-arr3.length++;
-arr3.length /= 2;
-Object.defineProperty(arr3, 'length', {value: 5});
-Object.defineProperty(arr3, 'length', {value: 10, writable: false});
-slow_arr.length = 100;
-Object.deliverChangeRecords(observer.callback);
-observer.assertCallbackRecords([
- { object: arr, name: '3', type: 'deleted', oldValue: 'd' },
- { object: arr, name: '2', type: 'deleted' },
- { object: arr, name: 'length', type: 'updated', oldValue: 4 },
- { object: arr, name: '1', type: 'deleted', oldValue: 'b' },
- { object: arr, name: 'length', type: 'updated', oldValue: 2 },
- { object: arr, name: 'length', type: 'updated', oldValue: 1 },
- { object: arr, name: 'length', type: 'reconfigured' },
- { object: arr2, name: '1', type: 'deleted', oldValue: 'beta' },
- { object: arr2, name: 'length', type: 'updated', oldValue: 2 },
- { object: arr2, name: 'length', type: 'reconfigured', oldValue: 1 },
- { object: arr3, name: '2', type: 'deleted', oldValue: 'goodbye' },
- { object: arr3, name: '0', type: 'deleted', oldValue: 'hello' },
- { object: arr3, name: 'length', type: 'updated', oldValue: 6 },
- { object: arr3, name: 'length', type: 'updated', oldValue: 0 },
- { object: arr3, name: 'length', type: 'updated', oldValue: 1 },
- { object: arr3, name: 'length', type: 'updated', oldValue: 2 },
- { object: arr3, name: 'length', type: 'updated', oldValue: 1 },
- { object: arr3, name: 'length', type: 'reconfigured', oldValue: 5 },
- { object: slow_arr, name: '500000000', type: 'deleted', oldValue: 'hello' },
- { object: slow_arr, name: 'length', type: 'updated', oldValue: 1000000000 },
-]);
-
-
-// Assignments in loops (checking different IC states).
-reset();
-var obj = {};
-Object.observe(obj, observer.callback);
-for (var i = 0; i < 5; i++) {
- obj["a" + i] = i;
-}
-Object.deliverChangeRecords(observer.callback);
-observer.assertCallbackRecords([
- { object: obj, name: "a0", type: "new" },
- { object: obj, name: "a1", type: "new" },
- { object: obj, name: "a2", type: "new" },
- { object: obj, name: "a3", type: "new" },
- { object: obj, name: "a4", type: "new" },
-]);
-
-reset();
-var obj = {};
-Object.observe(obj, observer.callback);
-for (var i = 0; i < 5; i++) {
- obj[i] = i;
-}
-Object.deliverChangeRecords(observer.callback);
-observer.assertCallbackRecords([
- { object: obj, name: "0", type: "new" },
- { object: obj, name: "1", type: "new" },
- { object: obj, name: "2", type: "new" },
- { object: obj, name: "3", type: "new" },
- { object: obj, name: "4", type: "new" },
-]);
-
-
-// Adding elements past the end of an array should notify on length
-reset();
-var arr = [1, 2, 3];
-Object.observe(arr, observer.callback);
-arr[3] = 10;
-arr[100] = 20;
-Object.defineProperty(arr, '200', {value: 7});
-Object.defineProperty(arr, '400', {get: function(){}});
-arr[50] = 30; // no length change expected
-Object.deliverChangeRecords(observer.callback);
-observer.assertCallbackRecords([
- { object: arr, name: '3', type: 'new' },
- { object: arr, name: 'length', type: 'updated', oldValue: 3 },
- { object: arr, name: '100', type: 'new' },
- { object: arr, name: 'length', type: 'updated', oldValue: 4 },
- { object: arr, name: '200', type: 'new' },
- { object: arr, name: 'length', type: 'updated', oldValue: 101 },
- { object: arr, name: '400', type: 'new' },
- { object: arr, name: 'length', type: 'updated', oldValue: 201 },
- { object: arr, name: '50', type: 'new' },
-]);
-
-
-// Tests for array methods, first on arrays and then on plain objects
-//
-// === ARRAYS ===
-//
-// Push
-reset();
-var array = [1, 2];
-Object.observe(array, observer.callback);
-array.push(3, 4);
-Object.deliverChangeRecords(observer.callback);
-observer.assertCallbackRecords([
- { object: array, name: '2', type: 'new' },
- { object: array, name: 'length', type: 'updated', oldValue: 2 },
- { object: array, name: '3', type: 'new' },
- { object: array, name: 'length', type: 'updated', oldValue: 3 },
-]);
-
-// Pop
-reset();
-var array = [1, 2];
-Object.observe(array, observer.callback);
-array.pop();
-array.pop();
-Object.deliverChangeRecords(observer.callback);
-observer.assertCallbackRecords([
- { object: array, name: '1', type: 'deleted', oldValue: 2 },
- { object: array, name: 'length', type: 'updated', oldValue: 2 },
- { object: array, name: '0', type: 'deleted', oldValue: 1 },
- { object: array, name: 'length', type: 'updated', oldValue: 1 },
-]);
-
-// Shift
-reset();
-var array = [1, 2];
-Object.observe(array, observer.callback);
-array.shift();
-array.shift();
-Object.deliverChangeRecords(observer.callback);
-observer.assertCallbackRecords([
- { object: array, name: '0', type: 'updated', oldValue: 1 },
- { object: array, name: '1', type: 'deleted', oldValue: 2 },
- { object: array, name: 'length', type: 'updated', oldValue: 2 },
- { object: array, name: '0', type: 'deleted', oldValue: 2 },
- { object: array, name: 'length', type: 'updated', oldValue: 1 },
-]);
-
-// Unshift
-reset();
-var array = [1, 2];
-Object.observe(array, observer.callback);
-array.unshift(3, 4);
-Object.deliverChangeRecords(observer.callback);
-observer.assertCallbackRecords([
- { object: array, name: '3', type: 'new' },
- { object: array, name: 'length', type: 'updated', oldValue: 2 },
- { object: array, name: '2', type: 'new' },
- { object: array, name: '0', type: 'updated', oldValue: 1 },
- { object: array, name: '1', type: 'updated', oldValue: 2 },
-]);
-
-// Splice
-reset();
-var array = [1, 2, 3];
-Object.observe(array, observer.callback);
-array.splice(1, 1, 4, 5);
-Object.deliverChangeRecords(observer.callback);
-observer.assertCallbackRecords([
- { object: array, name: '3', type: 'new' },
- { object: array, name: 'length', type: 'updated', oldValue: 3 },
- { object: array, name: '1', type: 'updated', oldValue: 2 },
- { object: array, name: '2', type: 'updated', oldValue: 3 },
-]);
-
-
-//
-// === PLAIN OBJECTS ===
-//
-// Push
-reset()
-var array = {0: 1, 1: 2, length: 2}
-Object.observe(array, observer.callback);
-Array.prototype.push.call(array, 3, 4);
-Object.deliverChangeRecords(observer.callback);
-observer.assertCallbackRecords([
- { object: array, name: '2', type: 'new' },
- { object: array, name: '3', type: 'new' },
- { object: array, name: 'length', type: 'updated', oldValue: 2 },
-]);
-
-// Pop
-reset()
-var array = {0: 1, 1: 2, length: 2};
-Object.observe(array, observer.callback);
-Array.prototype.pop.call(array);
-Array.prototype.pop.call(array);
-Object.deliverChangeRecords(observer.callback);
-observer.assertCallbackRecords([
- { object: array, name: '1', type: 'deleted', oldValue: 2 },
- { object: array, name: 'length', type: 'updated', oldValue: 2 },
- { object: array, name: '0', type: 'deleted', oldValue: 1 },
- { object: array, name: 'length', type: 'updated', oldValue: 1 },
-]);
-
-// Shift
-reset()
-var array = {0: 1, 1: 2, length: 2};
-Object.observe(array, observer.callback);
-Array.prototype.shift.call(array);
-Array.prototype.shift.call(array);
-Object.deliverChangeRecords(observer.callback);
-observer.assertCallbackRecords([
- { object: array, name: '0', type: 'updated', oldValue: 1 },
- { object: array, name: '1', type: 'deleted', oldValue: 2 },
- { object: array, name: 'length', type: 'updated', oldValue: 2 },
- { object: array, name: '0', type: 'deleted', oldValue: 2 },
- { object: array, name: 'length', type: 'updated', oldValue: 1 },
-]);
-
-// Unshift
-reset()
-var array = {0: 1, 1: 2, length: 2};
-Object.observe(array, observer.callback);
-Array.prototype.unshift.call(array, 3, 4);
-Object.deliverChangeRecords(observer.callback);
-observer.assertCallbackRecords([
- { object: array, name: '3', type: 'new' },
- { object: array, name: '2', type: 'new' },
- { object: array, name: '0', type: 'updated', oldValue: 1 },
- { object: array, name: '1', type: 'updated', oldValue: 2 },
- { object: array, name: 'length', type: 'updated', oldValue: 2 },
-]);
-
-// Splice
-reset()
-var array = {0: 1, 1: 2, 2: 3, length: 3};
-Object.observe(array, observer.callback);
-Array.prototype.splice.call(array, 1, 1, 4, 5);
-Object.deliverChangeRecords(observer.callback);
-observer.assertCallbackRecords([
- { object: array, name: '3', type: 'new' },
- { object: array, name: '1', type: 'updated', oldValue: 2 },
- { object: array, name: '2', type: 'updated', oldValue: 3 },
- { object: array, name: 'length', type: 'updated', oldValue: 3 },
-]);
-
-// Exercise StoreIC_ArrayLength
-reset();
-var dummy = {};
-Object.observe(dummy, observer.callback);
-Object.unobserve(dummy, observer.callback);
-var array = [0];
-Object.observe(array, observer.callback);
-array.splice(0, 1);
-Object.deliverChangeRecords(observer.callback);
-observer.assertCallbackRecords([
- { object: array, name: '0', type: 'deleted', oldValue: 0 },
- { object: array, name: 'length', type: 'updated', oldValue: 1},
-]);
-
-
-// __proto__
-reset();
-var obj = {};
-Object.observe(obj, observer.callback);
-var p = {foo: 'yes'};
-var q = {bar: 'no'};
-obj.__proto__ = p;
-obj.__proto__ = p; // ignored
-obj.__proto__ = null;
-obj.__proto__ = q; // the __proto__ accessor is gone
-// TODO(adamk): Add tests for objects with hidden prototypes
-// once we support observing the global object.
-Object.deliverChangeRecords(observer.callback);
-observer.assertCallbackRecords([
- { object: obj, name: '__proto__', type: 'prototype',
- oldValue: Object.prototype },
- { object: obj, name: '__proto__', type: 'prototype', oldValue: p },
- { object: obj, name: '__proto__', type: 'new' },
-]);
-
-
-// Function.prototype
-reset();
-var fun = function(){};
-Object.observe(fun, observer.callback);
-var myproto = {foo: 'bar'};
-fun.prototype = myproto;
-fun.prototype = 7;
-fun.prototype = 7; // ignored
-Object.defineProperty(fun, 'prototype', {value: 8});
-Object.deliverChangeRecords(observer.callback);
-observer.assertRecordCount(3);
-// Manually examine the first record in order to test
-// lazy creation of oldValue
-assertSame(fun, observer.records[0].object);
-assertEquals('prototype', observer.records[0].name);
-assertEquals('updated', observer.records[0].type);
-// The only existing reference to the oldValue object is in this
-// record, so to test that lazy creation happened correctly
-// we compare its constructor to our function (one of the invariants
-// ensured when creating an object via AllocateFunctionPrototype).
-assertSame(fun, observer.records[0].oldValue.constructor);
-observer.records.splice(0, 1);
-observer.assertCallbackRecords([
- { object: fun, name: 'prototype', type: 'updated', oldValue: myproto },
- { object: fun, name: 'prototype', type: 'updated', oldValue: 7 },
-]);
-
-// Function.prototype should not be observable except on the object itself
-reset();
-var fun = function(){};
-var obj = { __proto__: fun };
-Object.observe(obj, observer.callback);
-obj.prototype = 7;
-Object.deliverChangeRecords(observer.callback);
-observer.assertNotCalled();
-
-
-// Check that changes in observation status are detected in all IC states and
-// in optimized code, especially in cases usually using fast elements.
-var mutation = [
- "a[i] = v",
- "a[i] ? ++a[i] : a[i] = v",
- "a[i] ? a[i]++ : a[i] = v",
- "a[i] ? a[i] += 1 : a[i] = v",
- "a[i] ? a[i] -= -1 : a[i] = v",
-];
-
-var props = [1, "1", "a"];
-
-function TestFastElements(prop, mutation, prepopulate, polymorphic, optimize) {
- var setElement = eval(
- "(function setElement(a, i, v) { " + mutation + "; " +
- "/* " + [].join.call(arguments, " ") + " */" +
- "})"
- );
- print("TestFastElements:", setElement);
-
- var arr = prepopulate ? [1, 2, 3, 4, 5] : [0];
- if (prepopulate) arr[prop] = 2; // for non-element case
- setElement(arr, prop, 3);
- setElement(arr, prop, 4);
- if (polymorphic) setElement(["M", "i", "l", "n", "e", "r"], 0, "m");
- if (optimize) %OptimizeFunctionOnNextCall(setElement);
- setElement(arr, prop, 5);
-
- reset();
- Object.observe(arr, observer.callback);
- setElement(arr, prop, 989898);
- Object.deliverChangeRecords(observer.callback);
- observer.assertCallbackRecords([
- { object: arr, name: "" + prop, type: 'updated', oldValue: 5 }
- ]);
-}
-
-for (var b1 = 0; b1 < 2; ++b1)
- for (var b2 = 0; b2 < 2; ++b2)
- for (var b3 = 0; b3 < 2; ++b3)
- for (var i in props)
- for (var j in mutation)
- TestFastElements(props[i], mutation[j], b1 != 0, b2 != 0, b3 != 0);
-
-
-var mutation = [
- "a.length = v",
- "a.length += newSize - oldSize",
- "a.length -= oldSize - newSize",
-];
-
-var mutationByIncr = [
- "++a.length",
- "a.length++",
-];
-
-function TestFastElementsLength(
- mutation, polymorphic, optimize, oldSize, newSize) {
- var setLength = eval(
- "(function setLength(a, v) { " + mutation + "; " +
- "/* " + [].join.call(arguments, " ") + " */"
- + "})"
- );
- print("TestFastElementsLength:", setLength);
-
- function array(n) {
- var arr = new Array(n);
- for (var i = 0; i < n; ++i) arr[i] = i;
- return arr;
- }
-
- setLength(array(oldSize), newSize);
- setLength(array(oldSize), newSize);
- if (polymorphic) setLength(array(oldSize).map(isNaN), newSize);
- if (optimize) %OptimizeFunctionOnNextCall(setLength);
- setLength(array(oldSize), newSize);
-
- reset();
- var arr = array(oldSize);
- Object.observe(arr, observer.callback);
- setLength(arr, newSize);
- Object.deliverChangeRecords(observer.callback);
- if (oldSize === newSize) {
- observer.assertNotCalled();
- } else {
- var count = oldSize > newSize ? oldSize - newSize : 0;
- observer.assertRecordCount(count + 1);
- var lengthRecord = observer.records[count];
- assertSame(arr, lengthRecord.object);
- assertEquals('length', lengthRecord.name);
- assertEquals('updated', lengthRecord.type);
- assertSame(oldSize, lengthRecord.oldValue);
- }
-}
-
-for (var b1 = 0; b1 < 2; ++b1)
- for (var b2 = 0; b2 < 2; ++b2)
- for (var n1 = 0; n1 < 3; ++n1)
- for (var n2 = 0; n2 < 3; ++n2)
- for (var i in mutation)
- TestFastElementsLength(mutation[i], b1 != 0, b2 != 0, 20*n1, 20*n2);
-
-for (var b1 = 0; b1 < 2; ++b1)
- for (var b2 = 0; b2 < 2; ++b2)
- for (var n = 0; n < 3; ++n)
- for (var i in mutationByIncr)
- TestFastElementsLength(mutationByIncr[i], b1 != 0, b2 != 0, 7*n, 7*n+1);
diff --git a/src/3rdparty/v8/test/mjsunit/harmony/proxies-example-membrane.js b/src/3rdparty/v8/test/mjsunit/harmony/proxies-example-membrane.js
deleted file mode 100644
index c6e7f9f..0000000
--- a/src/3rdparty/v8/test/mjsunit/harmony/proxies-example-membrane.js
+++ /dev/null
@@ -1,512 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --harmony
-
-
-// A simple no-op handler. Adapted from:
-// http://wiki.ecmascript.org/doku.php?id=harmony:proxies#examplea_no-op_forwarding_proxy
-
-function createHandler(obj) {
- return {
- getOwnPropertyDescriptor: function(name) {
- var desc = Object.getOwnPropertyDescriptor(obj, name);
- if (desc !== undefined) desc.configurable = true;
- return desc;
- },
- getPropertyDescriptor: function(name) {
- var desc = Object.getOwnPropertyDescriptor(obj, name);
- //var desc = Object.getPropertyDescriptor(obj, name); // not in ES5
- if (desc !== undefined) desc.configurable = true;
- return desc;
- },
- getOwnPropertyNames: function() {
- return Object.getOwnPropertyNames(obj);
- },
- getPropertyNames: function() {
- return Object.getOwnPropertyNames(obj);
- //return Object.getPropertyNames(obj); // not in ES5
- },
- defineProperty: function(name, desc) {
- Object.defineProperty(obj, name, desc);
- },
- delete: function(name) {
- return delete obj[name];
- },
- fix: function() {
- if (Object.isFrozen(obj)) {
- var result = {};
- Object.getOwnPropertyNames(obj).forEach(function(name) {
- result[name] = Object.getOwnPropertyDescriptor(obj, name);
- });
- return result;
- }
- // As long as obj is not frozen, the proxy won't allow itself to be fixed
- return undefined; // will cause a TypeError to be thrown
- },
- has: function(name) { return name in obj; },
- hasOwn: function(name) { return ({}).hasOwnProperty.call(obj, name); },
- get: function(receiver, name) { return obj[name]; },
- set: function(receiver, name, val) {
- obj[name] = val; // bad behavior when set fails in non-strict mode
- return true;
- },
- enumerate: function() {
- var result = [];
- for (var name in obj) { result.push(name); };
- return result;
- },
- keys: function() { return Object.keys(obj); }
- };
-}
-
-
-
-// Auxiliary definitions enabling tracking of object identity in output.
-
-var objectMap = new WeakMap;
-var objectCounter = 0;
-
-function registerObject(x, s) {
- if (x === Object(x) && !objectMap.has(x))
- objectMap.set(x, ++objectCounter + (s == undefined ? "" : ":" + s));
-}
-
-registerObject(this, "global");
-registerObject(Object.prototype, "Object.prototype");
-
-function str(x) {
- if (x === Object(x)) return "[" + typeof x + " " + objectMap.get(x) + "]";
- if (typeof x == "string") return "\"" + x + "\"";
- return "" + x;
-}
-
-
-
-// A simple membrane. Adapted from:
-// http://wiki.ecmascript.org/doku.php?id=harmony:proxies#a_simple_membrane
-
-function createSimpleMembrane(target) {
- var enabled = true;
-
- function wrap(obj) {
- registerObject(obj);
- print("wrap enter", str(obj));
- try {
- var x = wrap2(obj);
- registerObject(x, "wrapped");
- print("wrap exit", str(obj), "as", str(x));
- return x;
- } catch(e) {
- print("wrap exception", str(e));
- throw e;
- }
- }
-
- function wrap2(obj) {
- if (obj !== Object(obj)) {
- return obj;
- }
-
- function wrapCall(fun, that, args) {
- registerObject(that);
- print("wrapCall enter", fun, str(that));
- try {
- var x = wrapCall2(fun, that, args);
- print("wrapCall exit", fun, str(that), "returning", str(x));
- return x;
- } catch(e) {
- print("wrapCall exception", fun, str(that), str(e));
- throw e;
- }
- }
-
- function wrapCall2(fun, that, args) {
- if (!enabled) { throw new Error("disabled"); }
- try {
- return wrap(fun.apply(that, Array.prototype.map.call(args, wrap)));
- } catch (e) {
- throw wrap(e);
- }
- }
-
- var baseHandler = createHandler(obj);
- var handler = Proxy.create(Object.freeze({
- get: function(receiver, name) {
- return function() {
- var arg = (name === "get" || name == "set") ? arguments[1] : "";
- print("handler enter", name, arg);
- var x = wrapCall(baseHandler[name], baseHandler, arguments);
- print("handler exit", name, arg, "returning", str(x));
- return x;
- }
- }
- }));
- registerObject(baseHandler, "basehandler");
- registerObject(handler, "handler");
-
- if (typeof obj === "function") {
- function callTrap() {
- print("call trap enter", str(obj), str(this));
- var x = wrapCall(obj, wrap(this), arguments);
- print("call trap exit", str(obj), str(this), "returning", str(x));
- return x;
- }
- function constructTrap() {
- if (!enabled) { throw new Error("disabled"); }
- try {
- function forward(args) { return obj.apply(this, args) }
- return wrap(new forward(Array.prototype.map.call(arguments, wrap)));
- } catch (e) {
- throw wrap(e);
- }
- }
- return Proxy.createFunction(handler, callTrap, constructTrap);
- } else {
- var prototype = wrap(Object.getPrototypeOf(obj));
- return Proxy.create(handler, prototype);
- }
- }
-
- var gate = Object.freeze({
- enable: function() { enabled = true; },
- disable: function() { enabled = false; }
- });
-
- return Object.freeze({
- wrapper: wrap(target),
- gate: gate
- });
-}
-
-
-var o = {
- a: 6,
- b: {bb: 8},
- f: function(x) { return x },
- g: function(x) { return x.a },
- h: function(x) { this.q = x }
-};
-o[2] = {c: 7};
-var m = createSimpleMembrane(o);
-var w = m.wrapper;
-print("o =", str(o))
-print("w =", str(w));
-
-var f = w.f;
-var x = f(66);
-var x = f({a: 1});
-var x = w.f({a: 1});
-var a = x.a;
-assertEquals(6, w.a);
-assertEquals(8, w.b.bb);
-assertEquals(7, w[2]["c"]);
-assertEquals(undefined, w.c);
-assertEquals(1, w.f(1));
-assertEquals(1, w.f({a: 1}).a);
-assertEquals(2, w.g({a: 2}));
-assertEquals(3, (w.r = {a: 3}).a);
-assertEquals(3, w.r.a);
-assertEquals(3, o.r.a);
-w.h(3);
-assertEquals(3, w.q);
-assertEquals(3, o.q);
-assertEquals(4, (new w.h(4)).q);
-
-var wb = w.b;
-var wr = w.r;
-var wf = w.f;
-var wf3 = w.f(3);
-var wfx = w.f({a: 6});
-var wgx = w.g({a: {aa: 7}});
-var wh4 = new w.h(4);
-m.gate.disable();
-assertEquals(3, wf3);
-assertThrows(function() { w.a }, Error);
-assertThrows(function() { w.r }, Error);
-assertThrows(function() { w.r = {a: 4} }, Error);
-assertThrows(function() { o.r.a }, Error);
-assertEquals("object", typeof o.r);
-assertEquals(5, (o.r = {a: 5}).a);
-assertEquals(5, o.r.a);
-assertThrows(function() { w[1] }, Error);
-assertThrows(function() { w.c }, Error);
-assertThrows(function() { wb.bb }, Error);
-assertThrows(function() { wr.a }, Error);
-assertThrows(function() { wf(4) }, Error);
-assertThrows(function() { wfx.a }, Error);
-assertThrows(function() { wgx.aa }, Error);
-assertThrows(function() { wh4.q }, Error);
-
-m.gate.enable();
-assertEquals(6, w.a);
-assertEquals(5, w.r.a);
-assertEquals(5, o.r.a);
-assertEquals(7, w.r = 7);
-assertEquals(7, w.r);
-assertEquals(7, o.r);
-assertEquals(8, w.b.bb);
-assertEquals(7, w[2]["c"]);
-assertEquals(undefined, w.c);
-assertEquals(8, wb.bb);
-assertEquals(3, wr.a);
-assertEquals(4, wf(4));
-assertEquals(3, wf3);
-assertEquals(6, wfx.a);
-assertEquals(7, wgx.aa);
-assertEquals(4, wh4.q);
-
-
-// An identity-preserving membrane. Adapted from:
-// http://wiki.ecmascript.org/doku.php?id=harmony:proxies#an_identity-preserving_membrane
-
-function createMembrane(wetTarget) {
- var wet2dry = WeakMap();
- var dry2wet = WeakMap();
-
- function asDry(obj) {
- registerObject(obj)
- print("asDry enter", str(obj))
- try {
- var x = asDry2(obj);
- registerObject(x, "dry");
- print("asDry exit", str(obj), "as", str(x));
- return x;
- } catch(e) {
- print("asDry exception", str(e));
- throw e;
- }
- }
- function asDry2(wet) {
- if (wet !== Object(wet)) {
- // primitives provide only irrevocable knowledge, so don't
- // bother wrapping it.
- return wet;
- }
- var dryResult = wet2dry.get(wet);
- if (dryResult) { return dryResult; }
-
- var wetHandler = createHandler(wet);
- var dryRevokeHandler = Proxy.create(Object.freeze({
- get: function(receiver, name) {
- return function() {
- var arg = (name === "get" || name == "set") ? arguments[1] : "";
- print("dry handler enter", name, arg);
- var optWetHandler = dry2wet.get(dryRevokeHandler);
- try {
- var x = asDry(optWetHandler[name].apply(
- optWetHandler, Array.prototype.map.call(arguments, asWet)));
- print("dry handler exit", name, arg, "returning", str(x));
- return x;
- } catch (eWet) {
- var x = asDry(eWet);
- print("dry handler exception", name, arg, "throwing", str(x));
- throw x;
- }
- };
- }
- }));
- dry2wet.set(dryRevokeHandler, wetHandler);
-
- if (typeof wet === "function") {
- function callTrap() {
- print("dry call trap enter", str(this));
- var x = asDry(wet.apply(
- asWet(this), Array.prototype.map.call(arguments, asWet)));
- print("dry call trap exit", str(this), "returning", str(x));
- return x;
- }
- function constructTrap() {
- function forward(args) { return wet.apply(this, args) }
- return asDry(new forward(Array.prototype.map.call(arguments, asWet)));
- }
- dryResult =
- Proxy.createFunction(dryRevokeHandler, callTrap, constructTrap);
- } else {
- dryResult =
- Proxy.create(dryRevokeHandler, asDry(Object.getPrototypeOf(wet)));
- }
- wet2dry.set(wet, dryResult);
- dry2wet.set(dryResult, wet);
- return dryResult;
- }
-
- function asWet(obj) {
- registerObject(obj)
- print("asWet enter", str(obj))
- try {
- var x = asWet2(obj)
- registerObject(x, "wet")
- print("asWet exit", str(obj), "as", str(x))
- return x
- } catch(e) {
- print("asWet exception", str(e))
- throw e
- }
- }
- function asWet2(dry) {
- if (dry !== Object(dry)) {
- // primitives provide only irrevocable knowledge, so don't
- // bother wrapping it.
- return dry;
- }
- var wetResult = dry2wet.get(dry);
- if (wetResult) { return wetResult; }
-
- var dryHandler = createHandler(dry);
- var wetRevokeHandler = Proxy.create(Object.freeze({
- get: function(receiver, name) {
- return function() {
- var arg = (name === "get" || name == "set") ? arguments[1] : "";
- print("wet handler enter", name, arg);
- var optDryHandler = wet2dry.get(wetRevokeHandler);
- try {
- var x = asWet(optDryHandler[name].apply(
- optDryHandler, Array.prototype.map.call(arguments, asDry)));
- print("wet handler exit", name, arg, "returning", str(x));
- return x;
- } catch (eDry) {
- var x = asWet(eDry);
- print("wet handler exception", name, arg, "throwing", str(x));
- throw x;
- }
- };
- }
- }));
- wet2dry.set(wetRevokeHandler, dryHandler);
-
- if (typeof dry === "function") {
- function callTrap() {
- print("wet call trap enter", str(this));
- var x = asWet(dry.apply(
- asDry(this), Array.prototype.map.call(arguments, asDry)));
- print("wet call trap exit", str(this), "returning", str(x));
- return x;
- }
- function constructTrap() {
- function forward(args) { return dry.apply(this, args) }
- return asWet(new forward(Array.prototype.map.call(arguments, asDry)));
- }
- wetResult =
- Proxy.createFunction(wetRevokeHandler, callTrap, constructTrap);
- } else {
- wetResult =
- Proxy.create(wetRevokeHandler, asWet(Object.getPrototypeOf(dry)));
- }
- dry2wet.set(dry, wetResult);
- wet2dry.set(wetResult, dry);
- return wetResult;
- }
-
- var gate = Object.freeze({
- revoke: function() {
- dry2wet = wet2dry = Object.freeze({
- get: function(key) { throw new Error("revoked"); },
- set: function(key, val) { throw new Error("revoked"); }
- });
- }
- });
-
- return Object.freeze({ wrapper: asDry(wetTarget), gate: gate });
-}
-
-
-var receiver
-var argument
-var o = {
- a: 6,
- b: {bb: 8},
- f: function(x) { receiver = this; argument = x; return x },
- g: function(x) { receiver = this; argument = x; return x.a },
- h: function(x) { receiver = this; argument = x; this.q = x },
- s: function(x) { receiver = this; argument = x; this.x = {y: x}; return this }
-}
-o[2] = {c: 7}
-var m = createMembrane(o)
-var w = m.wrapper
-print("o =", str(o))
-print("w =", str(w))
-
-var f = w.f
-var x = f(66)
-var x = f({a: 1})
-var x = w.f({a: 1})
-var a = x.a
-assertEquals(6, w.a)
-assertEquals(8, w.b.bb)
-assertEquals(7, w[2]["c"])
-assertEquals(undefined, w.c)
-assertEquals(1, w.f(1))
-assertSame(o, receiver)
-assertEquals(1, w.f({a: 1}).a)
-assertSame(o, receiver)
-assertEquals(2, w.g({a: 2}))
-assertSame(o, receiver)
-assertSame(w, w.f(w))
-assertSame(o, receiver)
-assertSame(o, argument)
-assertSame(o, w.f(o))
-assertSame(o, receiver)
-// Note that argument !== o, since o isn't dry, so gets wrapped wet again.
-assertEquals(3, (w.r = {a: 3}).a)
-assertEquals(3, w.r.a)
-assertEquals(3, o.r.a)
-w.h(3)
-assertEquals(3, w.q)
-assertEquals(3, o.q)
-assertEquals(4, (new w.h(4)).q)
-assertEquals(5, w.s(5).x.y)
-assertSame(o, receiver)
-
-var wb = w.b
-var wr = w.r
-var wf = w.f
-var wf3 = w.f(3)
-var wfx = w.f({a: 6})
-var wgx = w.g({a: {aa: 7}})
-var wh4 = new w.h(4)
-var ws5 = w.s(5)
-var ws5x = ws5.x
-m.gate.revoke()
-assertEquals(3, wf3)
-assertThrows(function() { w.a }, Error)
-assertThrows(function() { w.r }, Error)
-assertThrows(function() { w.r = {a: 4} }, Error)
-assertThrows(function() { o.r.a }, Error)
-assertEquals("object", typeof o.r)
-assertEquals(5, (o.r = {a: 5}).a)
-assertEquals(5, o.r.a)
-assertThrows(function() { w[1] }, Error)
-assertThrows(function() { w.c }, Error)
-assertThrows(function() { wb.bb }, Error)
-assertEquals(3, wr.a)
-assertThrows(function() { wf(4) }, Error)
-assertEquals(6, wfx.a)
-assertEquals(7, wgx.aa)
-assertThrows(function() { wh4.q }, Error)
-assertThrows(function() { ws5.x }, Error)
-assertThrows(function() { ws5x.y }, Error)
diff --git a/src/3rdparty/v8/test/mjsunit/harmony/proxies-for.js b/src/3rdparty/v8/test/mjsunit/harmony/proxies-for.js
deleted file mode 100644
index 3d419c6..0000000
--- a/src/3rdparty/v8/test/mjsunit/harmony/proxies-for.js
+++ /dev/null
@@ -1,168 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --harmony-proxies
-
-
-// Helper.
-
-function TestWithProxies(test, x, y, z) {
- test(Proxy.create, x, y, z)
- test(function(h) {return Proxy.createFunction(h, function() {})}, x, y, z)
-}
-
-
-// Iterate over a proxy.
-
-function TestForIn(properties, handler) {
- TestWithProxies(TestForIn2, properties, handler)
-}
-
-function TestForIn2(create, properties, handler) {
- var p = create(handler)
- var found = []
- for (var x in p) found.push(x)
- assertArrayEquals(properties, found)
-}
-
-TestForIn(["0", "a"], {
- enumerate: function() { return [0, "a"] }
-})
-
-TestForIn(["null", "a"], {
- enumerate: function() { return this.enumerate2() },
- enumerate2: function() { return [null, "a"] }
-})
-
-TestForIn(["b", "d"], {
- getPropertyNames: function() { return ["a", "b", "c", "d", "e"] },
- getPropertyDescriptor: function(k) {
- switch (k) {
- case "a": return {enumerable: false, value: "3"};
- case "b": return {enumerable: true, get get() {}};
- case "c": return {value: 4};
- case "d": return {get enumerable() { return true }};
- default: return undefined;
- }
- }
-})
-
-TestForIn(["b", "a", "0", "c"], Proxy.create({
- get: function(pr, pk) {
- return function() { return ["b", "a", 0, "c"] }
- }
-}))
-
-
-
-// Iterate over an object with a proxy prototype.
-
-function TestForInDerived(properties, handler) {
- TestWithProxies(TestForInDerived2, properties, handler)
-}
-
-function TestForInDerived2(create, properties, handler) {
- var p = create(handler)
- var o = Object.create(p)
- o.z = 0
- var found = []
- for (var x in o) found.push(x)
- assertArrayEquals(["z"].concat(properties), found)
-
- var oo = Object.create(o)
- oo.y = 0
- var found = []
- for (var x in oo) found.push(x)
- assertArrayEquals(["y", "z"].concat(properties), found)
-}
-
-TestForInDerived(["0", "a"], {
- enumerate: function() { return [0, "a"] },
- getPropertyDescriptor: function(k) {
- return k == "0" || k == "a" ? {} : undefined
- }
-})
-
-TestForInDerived(["null", "a"], {
- enumerate: function() { return this.enumerate2() },
- enumerate2: function() { return [null, "a"] },
- getPropertyDescriptor: function(k) {
- return k == "null" || k == "a" ? {} : undefined
- }
-})
-
-TestForInDerived(["b", "d"], {
- getPropertyNames: function() { return ["a", "b", "c", "d", "e"] },
- getPropertyDescriptor: function(k) {
- switch (k) {
- case "a": return {enumerable: false, value: "3"};
- case "b": return {enumerable: true, get get() {}};
- case "c": return {value: 4};
- case "d": return {get enumerable() { return true }};
- default: return undefined;
- }
- }
-})
-
-
-
-// Throw exception in enumerate trap.
-
-function TestForInThrow(handler) {
- TestWithProxies(TestForInThrow2, handler)
-}
-
-function TestForInThrow2(create, handler) {
- var p = create(handler)
- var o = Object.create(p)
- assertThrows(function(){ for (var x in p) {} }, "myexn")
- assertThrows(function(){ for (var x in o) {} }, "myexn")
-}
-
-TestForInThrow({
- enumerate: function() { throw "myexn" }
-})
-
-TestForInThrow({
- enumerate: function() { return this.enumerate2() },
- enumerate2: function() { throw "myexn" }
-})
-
-TestForInThrow({
- getPropertyNames: function() { throw "myexn" }
-})
-
-TestForInThrow({
- getPropertyNames: function() { return ["a"] },
- getPropertyDescriptor: function() { throw "myexn" }
-})
-
-TestForInThrow(Proxy.create({
- get: function(pr, pk) {
- return function() { throw "myexn" }
- }
-}))
diff --git a/src/3rdparty/v8/test/mjsunit/harmony/proxies-function.js b/src/3rdparty/v8/test/mjsunit/harmony/proxies-function.js
deleted file mode 100644
index 6b8d098..0000000
--- a/src/3rdparty/v8/test/mjsunit/harmony/proxies-function.js
+++ /dev/null
@@ -1,748 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --harmony-proxies --allow-natives-syntax
-
-
-// Helper.
-
-function CreateFrozen(handler, callTrap, constructTrap) {
- if (handler.fix === undefined) handler.fix = function() { return {} }
- var f = Proxy.createFunction(handler, callTrap, constructTrap)
- Object.freeze(f)
- return f
-}
-
-
-// Ensures that checking the "length" property of a function proxy doesn't
-// crash due to lack of a [[Get]] method.
-var handler = {
- get : function(r, n) { return n == "length" ? 2 : undefined }
-}
-
-
-// Calling (call, Function.prototype.call, Function.prototype.apply,
-// Function.prototype.bind).
-
-var global_object = this
-var receiver
-
-function TestCall(isStrict, callTrap) {
- assertEquals(42, callTrap(5, 37))
- // TODO(rossberg): strict mode seems to be broken on x64...
- // assertSame(isStrict ? undefined : global_object, receiver)
-
- var handler = {
- get: function(r, k) {
- return k == "length" ? 2 : Function.prototype[k]
- }
- }
- var f = Proxy.createFunction(handler, callTrap)
- var o = {f: f}
- global_object.f = f
-
- receiver = 333
- assertEquals(42, f(11, 31))
- // TODO(rossberg): strict mode seems to be broken on x64...
- // assertSame(isStrict ? undefined : global_object, receiver)
- receiver = 333
- assertEquals(42, o.f(10, 32))
- assertSame(o, receiver)
- receiver = 333
- assertEquals(42, o["f"](9, 33))
- assertSame(o, receiver)
- receiver = 333
- assertEquals(42, (1, o).f(8, 34))
- assertSame(o, receiver)
- receiver = 333
- assertEquals(42, (1, o)["f"](7, 35))
- assertSame(o, receiver)
- receiver = 333
- assertEquals(42, f.call(o, 32, 10))
- assertSame(o, receiver)
- receiver = 333
- assertEquals(42, f.call(undefined, 33, 9))
- assertSame(isStrict ? undefined : global_object, receiver)
- receiver = 333
- assertEquals(42, f.call(null, 33, 9))
- assertSame(isStrict ? null : global_object, receiver)
- receiver = 333
- assertEquals(44, f.call(2, 21, 23))
- assertSame(2, receiver.valueOf())
- receiver = 333
- assertEquals(42, Function.prototype.call.call(f, o, 20, 22))
- assertSame(o, receiver)
- receiver = 333
- assertEquals(43, Function.prototype.call.call(f, null, 20, 23))
- assertSame(isStrict ? null : global_object, receiver)
- assertEquals(44, Function.prototype.call.call(f, 2, 21, 23))
- assertEquals(2, receiver.valueOf())
- receiver = 333
- assertEquals(32, f.apply(o, [16, 16]))
- assertSame(o, receiver)
- receiver = 333
- assertEquals(32, Function.prototype.apply.call(f, o, [17, 15]))
- assertSame(o, receiver)
- receiver = 333
- assertEquals(42, %Call(o, 11, 31, f))
- assertSame(o, receiver)
- receiver = 333
- assertEquals(42, %Call(null, 11, 31, f))
- assertSame(isStrict ? null : global_object, receiver)
- receiver = 333
- assertEquals(42, %Apply(f, o, [11, 31], 0, 2))
- assertSame(o, receiver)
- receiver = 333
- assertEquals(42, %Apply(f, null, [11, 31], 0, 2))
- assertSame(isStrict ? null : global_object, receiver)
- receiver = 333
- assertEquals(42, %_CallFunction(o, 11, 31, f))
- assertSame(o, receiver)
- receiver = 333
- assertEquals(42, %_CallFunction(null, 11, 31, f))
- assertSame(isStrict ? null : global_object, receiver)
-
- var ff = Function.prototype.bind.call(f, o, 12)
- assertTrue(ff.length <= 1) // TODO(rossberg): Not spec'ed yet, be lax.
- receiver = 333
- assertEquals(42, ff(30))
- assertSame(o, receiver)
- receiver = 333
- assertEquals(33, Function.prototype.call.call(ff, {}, 21))
- assertSame(o, receiver)
- receiver = 333
- assertEquals(32, Function.prototype.apply.call(ff, {}, [20]))
- assertSame(o, receiver)
- receiver = 333
- assertEquals(23, %Call({}, 11, ff))
- assertSame(o, receiver)
- receiver = 333
- assertEquals(23, %Call({}, 11, 3, ff))
- assertSame(o, receiver)
- receiver = 333
- assertEquals(24, %Apply(ff, {}, [12, 13], 0, 1))
- assertSame(o, receiver)
- receiver = 333
- assertEquals(24, %Apply(ff, {}, [12, 13], 0, 2))
- assertSame(o, receiver)
- receiver = 333
- assertEquals(34, %_CallFunction({}, 22, ff))
- assertSame(o, receiver)
- receiver = 333
- assertEquals(34, %_CallFunction({}, 22, 3, ff))
- assertSame(o, receiver)
-
- var fff = Function.prototype.bind.call(ff, o, 30)
- assertEquals(0, fff.length)
- receiver = 333
- assertEquals(42, fff())
- assertSame(o, receiver)
- receiver = 333
- assertEquals(42, Function.prototype.call.call(fff, {}))
- assertSame(o, receiver)
- receiver = 333
- assertEquals(42, Function.prototype.apply.call(fff, {}))
- assertSame(o, receiver)
- receiver = 333
- assertEquals(42, %Call({}, fff))
- assertSame(o, receiver)
- receiver = 333
- assertEquals(42, %Call({}, 11, 3, fff))
- assertSame(o, receiver)
- receiver = 333
- assertEquals(42, %Apply(fff, {}, [], 0, 0))
- assertSame(o, receiver)
- receiver = 333
- assertEquals(42, %Apply(fff, {}, [12, 13], 0, 0))
- assertSame(o, receiver)
- receiver = 333
- assertEquals(42, %Apply(fff, {}, [12, 13], 0, 2))
- assertSame(o, receiver)
- receiver = 333
- assertEquals(42, %_CallFunction({}, fff))
- assertSame(o, receiver)
- receiver = 333
- assertEquals(42, %_CallFunction({}, 3, 4, 5, fff))
- assertSame(o, receiver)
-
- var f = CreateFrozen({}, callTrap)
- receiver = 333
- assertEquals(42, f(11, 31))
- assertSame(isStrict ? undefined : global_object, receiver)
- var o = {f: f}
- receiver = 333
- assertEquals(42, o.f(10, 32))
- assertSame(o, receiver)
- receiver = 333
- assertEquals(42, o["f"](9, 33))
- assertSame(o, receiver)
- receiver = 333
- assertEquals(42, (1, o).f(8, 34))
- assertSame(o, receiver)
- receiver = 333
- assertEquals(42, (1, o)["f"](7, 35))
- assertSame(o, receiver)
- receiver = 333
- assertEquals(42, Function.prototype.call.call(f, o, 20, 22))
- assertSame(o, receiver)
- receiver = 333
- assertEquals(32, Function.prototype.apply.call(f, o, [17, 15]))
- assertSame(o, receiver)
- receiver = 333
- assertEquals(23, %Call(o, 11, 12, f))
- assertSame(o, receiver)
- receiver = 333
- assertEquals(27, %Apply(f, o, [12, 13, 14], 1, 2))
- assertSame(o, receiver)
- receiver = 333
- assertEquals(42, %_CallFunction(o, 18, 24, f))
- assertSame(o, receiver)
-}
-
-TestCall(false, function(x, y) {
- receiver = this
- return x + y
-})
-
-TestCall(true, function(x, y) {
- "use strict"
- receiver = this
- return x + y
-})
-
-TestCall(false, function() {
- receiver = this
- return arguments[0] + arguments[1]
-})
-
-TestCall(false, Proxy.createFunction(handler, function(x, y) {
- receiver = this
- return x + y
-}))
-
-TestCall(true, Proxy.createFunction(handler, function(x, y) {
- "use strict"
- receiver = this
- return x + y
-}))
-
-TestCall(false, CreateFrozen(handler, function(x, y) {
- receiver = this
- return x + y
-}))
-
-
-
-// Using intrinsics as call traps.
-
-function TestCallIntrinsic(type, callTrap) {
- var f = Proxy.createFunction({}, callTrap)
- var x = f()
- assertTrue(typeof x == type)
-}
-
-TestCallIntrinsic("boolean", Boolean)
-TestCallIntrinsic("number", Number)
-TestCallIntrinsic("string", String)
-TestCallIntrinsic("object", Object)
-TestCallIntrinsic("function", Function)
-
-
-
-// Throwing from call trap.
-
-function TestCallThrow(callTrap) {
- var f = Proxy.createFunction({}, callTrap)
- assertThrows(function(){ f(11) }, "myexn")
- assertThrows(function(){ ({x: f}).x(11) }, "myexn")
- assertThrows(function(){ ({x: f})["x"](11) }, "myexn")
- assertThrows(function(){ Function.prototype.call.call(f, {}, 2) }, "myexn")
- assertThrows(function(){ Function.prototype.apply.call(f, {}, [1]) }, "myexn")
- assertThrows(function(){ %Call({}, f) }, "myexn")
- assertThrows(function(){ %Call({}, 1, 2, f) }, "myexn")
- assertThrows(function(){ %Apply({}, f, [], 3, 0) }, "myexn")
- assertThrows(function(){ %Apply({}, f, [3, 4], 0, 1) }, "myexn")
- assertThrows(function(){ %_CallFunction({}, f) }, "myexn")
- assertThrows(function(){ %_CallFunction({}, 1, 2, f) }, "myexn")
-
- var f = CreateFrozen({}, callTrap)
- assertThrows(function(){ f(11) }, "myexn")
- assertThrows(function(){ ({x: f}).x(11) }, "myexn")
- assertThrows(function(){ ({x: f})["x"](11) }, "myexn")
- assertThrows(function(){ Function.prototype.call.call(f, {}, 2) }, "myexn")
- assertThrows(function(){ Function.prototype.apply.call(f, {}, [1]) }, "myexn")
- assertThrows(function(){ %Call({}, f) }, "myexn")
- assertThrows(function(){ %Call({}, 1, 2, f) }, "myexn")
- assertThrows(function(){ %Apply({}, f, [], 3, 0) }, "myexn")
- assertThrows(function(){ %Apply({}, f, [3, 4], 0, 1) }, "myexn")
- assertThrows(function(){ %_CallFunction({}, f) }, "myexn")
- assertThrows(function(){ %_CallFunction({}, 1, 2, f) }, "myexn")
-}
-
-TestCallThrow(function() { throw "myexn" })
-TestCallThrow(Proxy.createFunction({}, function() { throw "myexn" }))
-TestCallThrow(CreateFrozen({}, function() { throw "myexn" }))
-
-
-
-// Construction (new).
-
-var prototype = {myprop: 0}
-var receiver
-
-var handlerWithPrototype = {
- fix: function() { return { prototype: { value: prototype } }; },
- get: function(r, n) {
- if (n == "length") return 2;
- assertEquals("prototype", n);
- return prototype;
- }
-}
-
-var handlerSansPrototype = {
- fix: function() { return { length: { value: 2 } } },
- get: function(r, n) {
- if (n == "length") return 2;
- assertEquals("prototype", n);
- return undefined;
- }
-}
-
-function ReturnUndef(x, y) {
- "use strict";
- receiver = this;
- this.sum = x + y;
-}
-
-function ReturnThis(x, y) {
- "use strict";
- receiver = this;
- this.sum = x + y;
- return this;
-}
-
-function ReturnNew(x, y) {
- "use strict";
- receiver = this;
- return {sum: x + y};
-}
-
-function ReturnNewWithProto(x, y) {
- "use strict";
- receiver = this;
- var result = Object.create(prototype);
- result.sum = x + y;
- return result;
-}
-
-function TestConstruct(proto, constructTrap) {
- TestConstruct2(proto, constructTrap, handlerWithPrototype)
- TestConstruct2(proto, constructTrap, handlerSansPrototype)
-}
-
-function TestConstruct2(proto, constructTrap, handler) {
- var f = Proxy.createFunction(handler, function() {}, constructTrap)
- var o = new f(11, 31)
- assertEquals(undefined, receiver)
- assertEquals(42, o.sum)
- assertSame(proto, Object.getPrototypeOf(o))
-
- var f = CreateFrozen(handler, function() {}, constructTrap)
- var o = new f(11, 32)
- assertEquals(undefined, receiver)
- assertEquals(43, o.sum)
- assertSame(proto, Object.getPrototypeOf(o))
-}
-
-TestConstruct(Object.prototype, ReturnNew)
-TestConstruct(prototype, ReturnNewWithProto)
-
-TestConstruct(Object.prototype, Proxy.createFunction(handler, ReturnNew))
-TestConstruct(prototype, Proxy.createFunction(handler, ReturnNewWithProto))
-
-TestConstruct(Object.prototype, CreateFrozen(handler, ReturnNew))
-TestConstruct(prototype, CreateFrozen(handler, ReturnNewWithProto))
-
-
-
-// Construction with derived construct trap.
-
-function TestConstructFromCall(proto, returnsThis, callTrap) {
- TestConstructFromCall2(prototype, returnsThis, callTrap, handlerWithPrototype)
- TestConstructFromCall2(proto, returnsThis, callTrap, handlerSansPrototype)
-}
-
-function TestConstructFromCall2(proto, returnsThis, callTrap, handler) {
- // TODO(rossberg): handling of prototype for derived construct trap will be
- // fixed in a separate change. Commenting out checks below for now.
- var f = Proxy.createFunction(handler, callTrap)
- var o = new f(11, 31)
- if (returnsThis) assertEquals(o, receiver)
- assertEquals(42, o.sum)
- // assertSame(proto, Object.getPrototypeOf(o))
-
- var g = CreateFrozen(handler, callTrap)
- // assertSame(f.prototype, g.prototype)
- var o = new g(11, 32)
- if (returnsThis) assertEquals(o, receiver)
- assertEquals(43, o.sum)
- // assertSame(proto, Object.getPrototypeOf(o))
-}
-
-TestConstructFromCall(Object.prototype, true, ReturnUndef)
-TestConstructFromCall(Object.prototype, true, ReturnThis)
-TestConstructFromCall(Object.prototype, false, ReturnNew)
-TestConstructFromCall(prototype, false, ReturnNewWithProto)
-
-TestConstructFromCall(Object.prototype, true,
- Proxy.createFunction(handler, ReturnUndef))
-TestConstructFromCall(Object.prototype, true,
- Proxy.createFunction(handler, ReturnThis))
-TestConstructFromCall(Object.prototype, false,
- Proxy.createFunction(handler, ReturnNew))
-TestConstructFromCall(prototype, false,
- Proxy.createFunction(handler, ReturnNewWithProto))
-
-TestConstructFromCall(Object.prototype, true, CreateFrozen({}, ReturnUndef))
-TestConstructFromCall(Object.prototype, true, CreateFrozen({}, ReturnThis))
-TestConstructFromCall(Object.prototype, false, CreateFrozen({}, ReturnNew))
-TestConstructFromCall(prototype, false, CreateFrozen({}, ReturnNewWithProto))
-
-ReturnUndef.prototype = prototype
-ReturnThis.prototype = prototype
-ReturnNew.prototype = prototype
-ReturnNewWithProto.prototype = prototype
-
-TestConstructFromCall(prototype, true, ReturnUndef)
-TestConstructFromCall(prototype, true, ReturnThis)
-TestConstructFromCall(Object.prototype, false, ReturnNew)
-TestConstructFromCall(prototype, false, ReturnNewWithProto)
-
-TestConstructFromCall(Object.prototype, true,
- Proxy.createFunction(handler, ReturnUndef))
-TestConstructFromCall(Object.prototype, true,
- Proxy.createFunction(handler, ReturnThis))
-TestConstructFromCall(Object.prototype, false,
- Proxy.createFunction(handler, ReturnNew))
-TestConstructFromCall(prototype, false,
- Proxy.createFunction(handler, ReturnNewWithProto))
-
-TestConstructFromCall(prototype, true,
- Proxy.createFunction(handlerWithPrototype, ReturnUndef))
-TestConstructFromCall(prototype, true,
- Proxy.createFunction(handlerWithPrototype, ReturnThis))
-TestConstructFromCall(Object.prototype, false,
- Proxy.createFunction(handlerWithPrototype, ReturnNew))
-TestConstructFromCall(prototype, false,
- Proxy.createFunction(handlerWithPrototype,
- ReturnNewWithProto))
-
-TestConstructFromCall(prototype, true,
- CreateFrozen(handlerWithPrototype, ReturnUndef))
-TestConstructFromCall(prototype, true,
- CreateFrozen(handlerWithPrototype, ReturnThis))
-TestConstructFromCall(Object.prototype, false,
- CreateFrozen(handlerWithPrototype, ReturnNew))
-TestConstructFromCall(prototype, false,
- CreateFrozen(handlerWithPrototype, ReturnNewWithProto))
-
-
-
-// Throwing from the construct trap.
-
-function TestConstructThrow(trap) {
- TestConstructThrow2(Proxy.createFunction({ fix: function() {return {};} },
- trap))
- TestConstructThrow2(Proxy.createFunction({ fix: function() {return {};} },
- function() {},
- trap))
-}
-
-function TestConstructThrow2(f) {
- assertThrows(function(){ new f(11) }, "myexn")
- Object.freeze(f)
- assertThrows(function(){ new f(11) }, "myexn")
-}
-
-TestConstructThrow(function() { throw "myexn" })
-TestConstructThrow(Proxy.createFunction({}, function() { throw "myexn" }))
-TestConstructThrow(CreateFrozen({}, function() { throw "myexn" }))
-
-
-
-// Using function proxies as getters and setters.
-
-var value
-var receiver
-
-function TestAccessorCall(getterCallTrap, setterCallTrap) {
- var handler = { fix: function() { return {} } }
- var pgetter = Proxy.createFunction(handler, getterCallTrap)
- var psetter = Proxy.createFunction(handler, setterCallTrap)
-
- var o = {}
- var oo = Object.create(o)
- Object.defineProperty(o, "a", {get: pgetter, set: psetter})
- Object.defineProperty(o, "b", {get: pgetter})
- Object.defineProperty(o, "c", {set: psetter})
- Object.defineProperty(o, "3", {get: pgetter, set: psetter})
- Object.defineProperty(oo, "a", {value: 43})
-
- receiver = ""
- assertEquals(42, o.a)
- assertSame(o, receiver)
- receiver = ""
- assertEquals(42, o.b)
- assertSame(o, receiver)
- receiver = ""
- assertEquals(undefined, o.c)
- assertEquals("", receiver)
- receiver = ""
- assertEquals(42, o["a"])
- assertSame(o, receiver)
- receiver = ""
- assertEquals(42, o[3])
- assertSame(o, receiver)
-
- receiver = ""
- assertEquals(43, oo.a)
- assertEquals("", receiver)
- receiver = ""
- assertEquals(42, oo.b)
- assertSame(oo, receiver)
- receiver = ""
- assertEquals(undefined, oo.c)
- assertEquals("", receiver)
- receiver = ""
- assertEquals(43, oo["a"])
- assertEquals("", receiver)
- receiver = ""
- assertEquals(42, oo[3])
- assertSame(oo, receiver)
-
- receiver = ""
- assertEquals(50, o.a = 50)
- assertSame(o, receiver)
- assertEquals(50, value)
- receiver = ""
- assertEquals(51, o.b = 51)
- assertEquals("", receiver)
- assertEquals(50, value) // no setter
- assertThrows(function() { "use strict"; o.b = 51 }, TypeError)
- receiver = ""
- assertEquals(52, o.c = 52)
- assertSame(o, receiver)
- assertEquals(52, value)
- receiver = ""
- assertEquals(53, o["a"] = 53)
- assertSame(o, receiver)
- assertEquals(53, value)
- receiver = ""
- assertEquals(54, o[3] = 54)
- assertSame(o, receiver)
- assertEquals(54, value)
-
- value = 0
- receiver = ""
- assertEquals(60, oo.a = 60)
- assertEquals("", receiver)
- assertEquals(0, value) // oo has own 'a'
- assertEquals(61, oo.b = 61)
- assertSame("", receiver)
- assertEquals(0, value) // no setter
- assertThrows(function() { "use strict"; oo.b = 61 }, TypeError)
- receiver = ""
- assertEquals(62, oo.c = 62)
- assertSame(oo, receiver)
- assertEquals(62, value)
- receiver = ""
- assertEquals(63, oo["c"] = 63)
- assertSame(oo, receiver)
- assertEquals(63, value)
- receiver = ""
- assertEquals(64, oo[3] = 64)
- assertSame(oo, receiver)
- assertEquals(64, value)
-}
-
-TestAccessorCall(
- function() { receiver = this; return 42 },
- function(x) { receiver = this; value = x }
-)
-
-TestAccessorCall(
- function() { "use strict"; receiver = this; return 42 },
- function(x) { "use strict"; receiver = this; value = x }
-)
-
-TestAccessorCall(
- Proxy.createFunction({}, function() { receiver = this; return 42 }),
- Proxy.createFunction({}, function(x) { receiver = this; value = x })
-)
-
-TestAccessorCall(
- CreateFrozen({}, function() { receiver = this; return 42 }),
- CreateFrozen({}, function(x) { receiver = this; value = x })
-)
-
-
-
-// Passing a proxy function to higher-order library functions.
-
-function TestHigherOrder(f) {
- assertEquals(6, [6, 2].map(f)[0])
- assertEquals(4, [5, 2].reduce(f, 4))
- assertTrue([1, 2].some(f))
- assertEquals("a.b.c", "a.b.c".replace(".", f))
-}
-
-TestHigherOrder(function(x) { return x })
-TestHigherOrder(function(x) { "use strict"; return x })
-TestHigherOrder(Proxy.createFunction({}, function(x) { return x }))
-TestHigherOrder(CreateFrozen({}, function(x) { return x }))
-
-
-
-// TODO(rossberg): Ultimately, I want to have the following test function
-// run through, but it currently fails on so many cases (some not even
-// involving proxies), that I leave that for later...
-/*
-function TestCalls() {
- var handler = {
- get: function(r, k) {
- return k == "length" ? 2 : Function.prototype[k]
- }
- }
- var bind = Function.prototype.bind
- var o = {}
-
- var traps = [
- function(x, y) {
- return {receiver: this, result: x + y, strict: false}
- },
- function(x, y) { "use strict";
- return {receiver: this, result: x + y, strict: true}
- },
- function() {
- var x = arguments[0], y = arguments[1]
- return {receiver: this, result: x + y, strict: false}
- },
- Proxy.createFunction(handler, function(x, y) {
- return {receiver: this, result: x + y, strict: false}
- }),
- Proxy.createFunction(handler, function() {
- var x = arguments[0], y = arguments[1]
- return {receiver: this, result: x + y, strict: false}
- }),
- Proxy.createFunction(handler, function(x, y) { "use strict"
- return {receiver: this, result: x + y, strict: true}
- }),
- CreateFrozen(handler, function(x, y) {
- return {receiver: this, result: x + y, strict: false}
- }),
- CreateFrozen(handler, function(x, y) { "use strict"
- return {receiver: this, result: x + y, strict: true}
- }),
- ]
- var creates = [
- function(trap) { return trap },
- function(trap) { return CreateFrozen({}, callTrap) },
- function(trap) { return Proxy.createFunction(handler, callTrap) },
- function(trap) {
- return Proxy.createFunction(handler, CreateFrozen({}, callTrap))
- },
- function(trap) {
- return Proxy.createFunction(handler, Proxy.createFunction(handler, callTrap))
- },
- ]
- var binds = [
- function(f, o, x, y) { return f },
- function(f, o, x, y) { return bind.call(f, o) },
- function(f, o, x, y) { return bind.call(f, o, x) },
- function(f, o, x, y) { return bind.call(f, o, x, y) },
- function(f, o, x, y) { return bind.call(f, o, x, y, 5) },
- function(f, o, x, y) { return bind.call(bind.call(f, o), {}, x, y) },
- function(f, o, x, y) { return bind.call(bind.call(f, o, x), {}, y) },
- function(f, o, x, y) { return bind.call(bind.call(f, o, x, y), {}, 5) },
- ]
- var calls = [
- function(f, x, y) { return f(x, y) },
- function(f, x, y) { var g = f; return g(x, y) },
- function(f, x, y) { with ({}) return f(x, y) },
- function(f, x, y) { var g = f; with ({}) return g(x, y) },
- function(f, x, y, o) { with (o) return f(x, y) },
- function(f, x, y, o) { return f.call(o, x, y) },
- function(f, x, y, o) { return f.apply(o, [x, y]) },
- function(f, x, y, o) { return Function.prototype.call.call(f, o, x, y) },
- function(f, x, y, o) { return Function.prototype.apply.call(f, o, [x, y]) },
- function(f, x, y, o) { return %_CallFunction(o, x, y, f) },
- function(f, x, y, o) { return %Call(o, x, y, f) },
- function(f, x, y, o) { return %Apply(f, o, [null, x, y, null], 1, 2) },
- function(f, x, y, o) { return %Apply(f, o, arguments, 2, 2) },
- function(f, x, y, o) { if (typeof o == "object") return o.f(x, y) },
- function(f, x, y, o) { if (typeof o == "object") return o["f"](x, y) },
- function(f, x, y, o) { if (typeof o == "object") return (1, o).f(x, y) },
- function(f, x, y, o) { if (typeof o == "object") return (1, o)["f"](x, y) },
- ]
- var receivers = [o, global_object, undefined, null, 2, "bla", true]
- var expectedNonStricts = [o, global_object, global_object, global_object]
-
- for (var t = 0; t < traps.length; ++t) {
- for (var i = 0; i < creates.length; ++i) {
- for (var j = 0; j < binds.length; ++j) {
- for (var k = 0; k < calls.length; ++k) {
- for (var m = 0; m < receivers.length; ++m) {
- for (var n = 0; n < receivers.length; ++n) {
- var bound = receivers[m]
- var receiver = receivers[n]
- var func = binds[j](creates[i](traps[t]), bound, 31, 11)
- var expected = j > 0 ? bound : receiver
- var expectedNonStrict = expectedNonStricts[j > 0 ? m : n]
- o.f = func
- global_object.f = func
- var x = calls[k](func, 11, 31, receiver)
- if (x !== undefined) {
- assertEquals(42, x.result)
- if (calls[k].length < 4)
- assertSame(x.strict ? undefined : global_object, x.receiver)
- else if (x.strict)
- assertSame(expected, x.receiver)
- else if (expectedNonStrict === undefined)
- assertSame(expected, x.receiver.valueOf())
- else
- assertSame(expectedNonStrict, x.receiver)
- }
- }
- }
- }
- }
- }
- }
-}
-
-TestCalls()
-*/
diff --git a/src/3rdparty/v8/test/mjsunit/harmony/proxies-hash.js b/src/3rdparty/v8/test/mjsunit/harmony/proxies-hash.js
deleted file mode 100644
index abfc0f5..0000000
--- a/src/3rdparty/v8/test/mjsunit/harmony/proxies-hash.js
+++ /dev/null
@@ -1,122 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --harmony-proxies --harmony-collections
-
-
-// Helper.
-
-function TestWithProxies(test, construct, handler) {
- test(construct, handler, Proxy.create)
- test(construct, handler, function(h) {
- return Proxy.createFunction(h, function() {})
- })
-}
-
-
-// Sets.
-
-function TestSet(construct, fix) {
- TestWithProxies(TestSet2, construct, fix)
-}
-
-function TestSet2(construct, fix, create) {
- var handler = {fix: function() { return {} }}
- var p1 = create(handler)
- var p2 = create(handler)
- var p3 = create(handler)
- fix(p3)
-
- var s = construct();
- s.add(p1);
- s.add(p2);
- assertTrue(s.has(p1));
- assertTrue(s.has(p2));
- assertFalse(s.has(p3));
-
- fix(p1)
- fix(p2)
- assertTrue(s.has(p1));
- assertTrue(s.has(p2));
- assertFalse(s.has(p3));
-
- s.delete(p2);
- assertTrue(s.has(p1));
- assertFalse(s.has(p2));
- assertFalse(s.has(p3));
-}
-
-TestSet(Set, Object.seal)
-TestSet(Set, Object.freeze)
-TestSet(Set, Object.preventExtensions)
-
-
-// Maps and weak maps.
-
-function TestMap(construct, fix) {
- TestWithProxies(TestMap2, construct, fix)
-}
-
-function TestMap2(construct, fix, create) {
- var handler = {fix: function() { return {} }}
- var p1 = create(handler)
- var p2 = create(handler)
- var p3 = create(handler)
- fix(p3)
-
- var m = construct();
- m.set(p1, 123);
- m.set(p2, 321);
- assertTrue(m.has(p1));
- assertTrue(m.has(p2));
- assertFalse(m.has(p3));
- assertSame(123, m.get(p1));
- assertSame(321, m.get(p2));
-
- fix(p1)
- fix(p2)
- assertTrue(m.has(p1));
- assertTrue(m.has(p2));
- assertFalse(m.has(p3));
- assertSame(123, m.get(p1));
- assertSame(321, m.get(p2));
-
- m.delete(p2);
- assertTrue(m.has(p1));
- assertFalse(m.has(p2));
- assertFalse(m.has(p3));
- assertSame(123, m.get(p1));
- assertSame(undefined, m.get(p2));
-}
-
-TestMap(Map, Object.seal)
-TestMap(Map, Object.freeze)
-TestMap(Map, Object.preventExtensions)
-
-TestMap(WeakMap, Object.seal)
-TestMap(WeakMap, Object.freeze)
-TestMap(WeakMap, Object.preventExtensions)
diff --git a/src/3rdparty/v8/test/mjsunit/harmony/proxies-json.js b/src/3rdparty/v8/test/mjsunit/harmony/proxies-json.js
deleted file mode 100644
index 539c5a8..0000000
--- a/src/3rdparty/v8/test/mjsunit/harmony/proxies-json.js
+++ /dev/null
@@ -1,178 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --harmony
-
-function testStringify(expected, object) {
- // Test fast case that bails out to slow case.
- assertEquals(expected, JSON.stringify(object));
- // Test slow case.
- assertEquals(expected, JSON.stringify(object, undefined, 0));
-}
-
-// Test serializing a proxy, function proxy and objects that contain them.
-var handler1 = {
- get: function(target, name) {
- return name.toUpperCase();
- },
- enumerate: function(target) {
- return ['a', 'b', 'c'];
- },
- getOwnPropertyDescriptor: function(target, name) {
- return { enumerable: true };
- }
-}
-
-var proxy1 = Proxy.create(handler1);
-testStringify('{"a":"A","b":"B","c":"C"}', proxy1);
-
-var proxy_fun = Proxy.createFunction(handler1, function() { return 1; });
-testStringify(undefined, proxy_fun);
-testStringify('[1,null]', [1, proxy_fun]);
-
-var parent1a = { b: proxy1 };
-testStringify('{"b":{"a":"A","b":"B","c":"C"}}', parent1a);
-
-var parent1b = { a: 123, b: proxy1, c: true };
-testStringify('{"a":123,"b":{"a":"A","b":"B","c":"C"},"c":true}', parent1b);
-
-var parent1c = [123, proxy1, true];
-testStringify('[123,{"a":"A","b":"B","c":"C"},true]', parent1c);
-
-// Proxy with side effect.
-var handler2 = {
- get: function(target, name) {
- delete parent2.c;
- return name.toUpperCase();
- },
- enumerate: function(target) {
- return ['a', 'b', 'c'];
- },
- getOwnPropertyDescriptor: function(target, name) {
- return { enumerable: true };
- }
-}
-
-var proxy2 = Proxy.create(handler2);
-var parent2 = { a: "delete", b: proxy2, c: "remove" };
-var expected2 = '{"a":"delete","b":{"a":"A","b":"B","c":"C"}}';
-assertEquals(expected2, JSON.stringify(parent2));
-parent2.c = "remove"; // Revert side effect.
-assertEquals(expected2, JSON.stringify(parent2, undefined, 0));
-
-// Proxy with a get function that uses the first argument.
-var handler3 = {
- get: function(target, name) {
- if (name == 'valueOf') return function() { return "proxy" };
- return name + "(" + target + ")";
- },
- enumerate: function(target) {
- return ['a', 'b', 'c'];
- },
- getOwnPropertyDescriptor: function(target, name) {
- return { enumerable: true };
- }
-}
-
-var proxy3 = Proxy.create(handler3);
-var parent3 = { x: 123, y: proxy3 }
-testStringify('{"x":123,"y":{"a":"a(proxy)","b":"b(proxy)","c":"c(proxy)"}}',
- parent3);
-
-// Empty proxy.
-var handler4 = {
- get: function(target, name) {
- return 0;
- },
- enumerate: function(target) {
- return [];
- },
- getOwnPropertyDescriptor: function(target, name) {
- return { enumerable: false };
- }
-}
-
-var proxy4 = Proxy.create(handler4);
-testStringify('{}', proxy4);
-testStringify('{"a":{}}', { a: proxy4 });
-
-// Proxy that provides a toJSON function that uses this.
-var handler5 = {
- get: function(target, name) {
- if (name == 'z') return 97000;
- return function(key) { return key.charCodeAt(0) + this.z; };
- },
- enumerate: function(target) {
- return ['toJSON', 'z'];
- },
- getOwnPropertyDescriptor: function(target, name) {
- return { enumerable: true };
- }
-}
-
-var proxy5 = Proxy.create(handler5);
-testStringify('{"a":97097}', { a: proxy5 });
-
-// Proxy that provides a toJSON function that returns undefined.
-var handler6 = {
- get: function(target, name) {
- return function(key) { return undefined; };
- },
- enumerate: function(target) {
- return ['toJSON'];
- },
- getOwnPropertyDescriptor: function(target, name) {
- return { enumerable: true };
- }
-}
-
-var proxy6 = Proxy.create(handler6);
-testStringify('[1,null,true]', [1, proxy6, true]);
-testStringify('{"a":1,"c":true}', {a: 1, b: proxy6, c: true});
-
-// Object containing a proxy that changes the parent's properties.
-var handler7 = {
- get: function(target, name) {
- delete parent7.a;
- delete parent7.c;
- parent7.e = "5";
- return name.toUpperCase();
- },
- enumerate: function(target) {
- return ['a', 'b', 'c'];
- },
- getOwnPropertyDescriptor: function(target, name) {
- return { enumerable: true };
- }
-}
-
-var proxy7 = Proxy.create(handler7);
-var parent7 = { a: "1", b: proxy7, c: "3", d: "4" };
-assertEquals('{"a":"1","b":{"a":"A","b":"B","c":"C"},"d":"4"}',
- JSON.stringify(parent7));
-assertEquals('{"b":{"a":"A","b":"B","c":"C"},"d":"4","e":"5"}',
- JSON.stringify(parent7));
diff --git a/src/3rdparty/v8/test/mjsunit/harmony/proxies.js b/src/3rdparty/v8/test/mjsunit/harmony/proxies.js
deleted file mode 100644
index f68e3bd..0000000
--- a/src/3rdparty/v8/test/mjsunit/harmony/proxies.js
+++ /dev/null
@@ -1,2300 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --harmony-proxies
-
-
-// Helper.
-
-function TestWithProxies(test, x, y, z) {
- test(Proxy.create, x, y, z)
- test(function(h) {return Proxy.createFunction(h, function() {})}, x, y, z)
-}
-
-
-
-// Getting property descriptors (Object.getOwnPropertyDescriptor).
-
-var key
-
-function TestGetOwnProperty(handler) {
- TestWithProxies(TestGetOwnProperty2, handler)
-}
-
-function TestGetOwnProperty2(create, handler) {
- var p = create(handler)
- assertEquals(42, Object.getOwnPropertyDescriptor(p, "a").value)
- assertEquals("a", key)
- assertEquals(42, Object.getOwnPropertyDescriptor(p, 99).value)
- assertEquals("99", key)
-}
-
-TestGetOwnProperty({
- getOwnPropertyDescriptor: function(k) {
- key = k
- return {value: 42, configurable: true}
- }
-})
-
-TestGetOwnProperty({
- getOwnPropertyDescriptor: function(k) {
- return this.getOwnPropertyDescriptor2(k)
- },
- getOwnPropertyDescriptor2: function(k) {
- key = k
- return {value: 42, configurable: true}
- }
-})
-
-TestGetOwnProperty({
- getOwnPropertyDescriptor: function(k) {
- key = k
- return {get value() { return 42 }, get configurable() { return true }}
- }
-})
-
-TestGetOwnProperty(Proxy.create({
- get: function(pr, pk) {
- return function(k) { key = k; return {value: 42, configurable: true} }
- }
-}))
-
-
-function TestGetOwnPropertyThrow(handler) {
- TestWithProxies(TestGetOwnPropertyThrow2, handler)
-}
-
-function TestGetOwnPropertyThrow2(create, handler) {
- var p = create(handler)
- assertThrows(function(){ Object.getOwnPropertyDescriptor(p, "a") }, "myexn")
- assertThrows(function(){ Object.getOwnPropertyDescriptor(p, 77) }, "myexn")
-}
-
-TestGetOwnPropertyThrow({
- getOwnPropertyDescriptor: function(k) { throw "myexn" }
-})
-
-TestGetOwnPropertyThrow({
- getOwnPropertyDescriptor: function(k) {
- return this.getPropertyDescriptor2(k)
- },
- getOwnPropertyDescriptor2: function(k) { throw "myexn" }
-})
-
-TestGetOwnPropertyThrow({
- getOwnPropertyDescriptor: function(k) {
- return {get value() { throw "myexn" }}
- }
-})
-
-TestGetOwnPropertyThrow(Proxy.create({
- get: function(pr, pk) {
- return function(k) { throw "myexn" }
- }
-}))
-
-
-
-// Getters (dot, brackets).
-
-var key
-
-function TestGet(handler) {
- TestWithProxies(TestGet2, handler)
-}
-
-function TestGet2(create, handler) {
- var p = create(handler)
- assertEquals(42, p.a)
- assertEquals("a", key)
- assertEquals(42, p["b"])
- assertEquals("b", key)
- assertEquals(42, p[99])
- assertEquals("99", key)
- assertEquals(42, (function(n) { return p[n] })("c"))
- assertEquals("c", key)
- assertEquals(42, (function(n) { return p[n] })(101))
- assertEquals("101", key)
-
- var o = Object.create(p, {x: {value: 88}})
- assertEquals(42, o.a)
- assertEquals("a", key)
- assertEquals(42, o["b"])
- assertEquals("b", key)
- assertEquals(42, o[99])
- assertEquals("99", key)
- assertEquals(88, o.x)
- assertEquals(88, o["x"])
- assertEquals(42, (function(n) { return o[n] })("c"))
- assertEquals("c", key)
- assertEquals(42, (function(n) { return o[n] })(101))
- assertEquals("101", key)
- assertEquals(88, (function(n) { return o[n] })("x"))
-}
-
-TestGet({
- get: function(r, k) { key = k; return 42 }
-})
-
-TestGet({
- get: function(r, k) { return this.get2(r, k) },
- get2: function(r, k) { key = k; return 42 }
-})
-
-TestGet({
- getPropertyDescriptor: function(k) { key = k; return {value: 42} }
-})
-
-TestGet({
- getPropertyDescriptor: function(k) { return this.getPropertyDescriptor2(k) },
- getPropertyDescriptor2: function(k) { key = k; return {value: 42} }
-})
-
-TestGet({
- getPropertyDescriptor: function(k) {
- key = k;
- return {get value() { return 42 }}
- }
-})
-
-TestGet({
- get: undefined,
- getPropertyDescriptor: function(k) { key = k; return {value: 42} }
-})
-
-TestGet(Proxy.create({
- get: function(pr, pk) {
- return function(r, k) { key = k; return 42 }
- }
-}))
-
-
-function TestGetCall(handler) {
- TestWithProxies(TestGetCall2, handler)
-}
-
-function TestGetCall2(create, handler) {
- var p = create(handler)
- assertEquals(55, p.f())
- assertEquals(55, p["f"]())
- assertEquals(55, p.f("unused", "arguments"))
- assertEquals(55, p.f.call(p))
- assertEquals(55, p["f"].call(p))
- assertEquals(55, p[101].call(p))
- assertEquals(55, p.withargs(45, 5))
- assertEquals(55, p.withargs.call(p, 11, 22))
- assertEquals(55, (function(n) { return p[n]() })("f"))
- assertEquals(55, (function(n) { return p[n].call(p) })("f"))
- assertEquals(55, (function(n) { return p[n](15, 20) })("withargs"))
- assertEquals(55, (function(n) { return p[n].call(p, 13, 21) })("withargs"))
- assertEquals("6655", "66" + p) // calls p.toString
-
- var o = Object.create(p, {g: {value: function(x) { return x + 88 }}})
- assertEquals(55, o.f())
- assertEquals(55, o["f"]())
- assertEquals(55, o.f("unused", "arguments"))
- assertEquals(55, o.f.call(o))
- assertEquals(55, o.f.call(p))
- assertEquals(55, o["f"].call(p))
- assertEquals(55, o[101].call(p))
- assertEquals(55, o.withargs(45, 5))
- assertEquals(55, o.withargs.call(p, 11, 22))
- assertEquals(90, o.g(2))
- assertEquals(91, o.g.call(o, 3))
- assertEquals(92, o.g.call(p, 4))
- assertEquals(55, (function(n) { return o[n]() })("f"))
- assertEquals(55, (function(n) { return o[n].call(o) })("f"))
- assertEquals(55, (function(n) { return o[n](15, 20) })("withargs"))
- assertEquals(55, (function(n) { return o[n].call(o, 13, 21) })("withargs"))
- assertEquals(93, (function(n) { return o[n](5) })("g"))
- assertEquals(94, (function(n) { return o[n].call(o, 6) })("g"))
- assertEquals(95, (function(n) { return o[n].call(p, 7) })("g"))
- assertEquals("6655", "66" + o) // calls o.toString
-}
-
-TestGetCall({
- get: function(r, k) { return function() { return 55 } }
-})
-
-TestGetCall({
- get: function(r, k) { return this.get2(r, k) },
- get2: function(r, k) { return function() { return 55 } }
-})
-
-TestGetCall({
- getPropertyDescriptor: function(k) {
- return {value: function() { return 55 }}
- }
-})
-
-TestGetCall({
- getPropertyDescriptor: function(k) { return this.getPropertyDescriptor2(k) },
- getPropertyDescriptor2: function(k) {
- return {value: function() { return 55 }}
- }
-})
-
-TestGetCall({
- getPropertyDescriptor: function(k) {
- return {get value() { return function() { return 55 } }}
- }
-})
-
-TestGetCall({
- get: undefined,
- getPropertyDescriptor: function(k) {
- return {value: function() { return 55 }}
- }
-})
-
-TestGetCall({
- get: function(r, k) {
- if (k == "gg") {
- return function() { return 55 }
- } else if (k == "withargs") {
- return function(n, m) { return n + m * 2 }
- } else {
- return function() { return this.gg() }
- }
- }
-})
-
-TestGetCall(Proxy.create({
- get: function(pr, pk) {
- return function(r, k) { return function() { return 55 } }
- }
-}))
-
-
-function TestGetThrow(handler) {
- TestWithProxies(TestGetThrow2, handler)
-}
-
-function TestGetThrow2(create, handler) {
- var p = create(handler)
- assertThrows(function(){ p.a }, "myexn")
- assertThrows(function(){ p["b"] }, "myexn")
- assertThrows(function(){ p[3] }, "myexn")
- assertThrows(function(){ (function(n) { p[n] })("c") }, "myexn")
- assertThrows(function(){ (function(n) { p[n] })(99) }, "myexn")
-
- var o = Object.create(p, {x: {value: 88}, '4': {value: 89}})
- assertThrows(function(){ o.a }, "myexn")
- assertThrows(function(){ o["b"] }, "myexn")
- assertThrows(function(){ o[3] }, "myexn")
- assertThrows(function(){ (function(n) { o[n] })("c") }, "myexn")
- assertThrows(function(){ (function(n) { o[n] })(99) }, "myexn")
-}
-
-TestGetThrow({
- get: function(r, k) { throw "myexn" }
-})
-
-TestGetThrow({
- get: function(r, k) { return this.get2(r, k) },
- get2: function(r, k) { throw "myexn" }
-})
-
-TestGetThrow({
- getPropertyDescriptor: function(k) { throw "myexn" }
-})
-
-TestGetThrow({
- getPropertyDescriptor: function(k) { return this.getPropertyDescriptor2(k) },
- getPropertyDescriptor2: function(k) { throw "myexn" }
-})
-
-TestGetThrow({
- getPropertyDescriptor: function(k) {
- return {get value() { throw "myexn" }}
- }
-})
-
-TestGetThrow({
- get: undefined,
- getPropertyDescriptor: function(k) { throw "myexn" }
-})
-
-TestGetThrow(Proxy.create({
- get: function(pr, pk) { throw "myexn" }
-}))
-
-TestGetThrow(Proxy.create({
- get: function(pr, pk) {
- return function(r, k) { throw "myexn" }
- }
-}))
-
-
-
-// Setters.
-
-var key
-var val
-
-function TestSet(handler) {
- TestWithProxies(TestSet2, handler)
-}
-
-function TestSet2(create, handler) {
- var p = create(handler)
- assertEquals(42, p.a = 42)
- assertEquals("a", key)
- assertEquals(42, val)
- assertEquals(43, p["b"] = 43)
- assertEquals("b", key)
- assertEquals(43, val)
- assertEquals(44, p[77] = 44)
- assertEquals("77", key)
- assertEquals(44, val)
-
- assertEquals(45, (function(n) { return p[n] = 45 })("c"))
- assertEquals("c", key)
- assertEquals(45, val)
- assertEquals(46, (function(n) { return p[n] = 46 })(99))
- assertEquals("99", key)
- assertEquals(46, val)
-}
-
-TestSet({
- set: function(r, k, v) { key = k; val = v; return true }
-})
-
-TestSet({
- set: function(r, k, v) { return this.set2(r, k, v) },
- set2: function(r, k, v) { key = k; val = v; return true }
-})
-
-TestSet({
- getOwnPropertyDescriptor: function(k) { return {writable: true} },
- defineProperty: function(k, desc) { key = k; val = desc.value }
-})
-
-TestSet({
- getOwnPropertyDescriptor: function(k) {
- return this.getOwnPropertyDescriptor2(k)
- },
- getOwnPropertyDescriptor2: function(k) { return {writable: true} },
- defineProperty: function(k, desc) { this.defineProperty2(k, desc) },
- defineProperty2: function(k, desc) { key = k; val = desc.value }
-})
-
-TestSet({
- getOwnPropertyDescriptor: function(k) {
- return {get writable() { return true }}
- },
- defineProperty: function(k, desc) { key = k; val = desc.value }
-})
-
-TestSet({
- getOwnPropertyDescriptor: function(k) {
- return {set: function(v) { key = k; val = v }}
- }
-})
-
-TestSet({
- getOwnPropertyDescriptor: function(k) { return null },
- getPropertyDescriptor: function(k) { return {writable: true} },
- defineProperty: function(k, desc) { key = k; val = desc.value }
-})
-
-TestSet({
- getOwnPropertyDescriptor: function(k) { return null },
- getPropertyDescriptor: function(k) {
- return {get writable() { return true }}
- },
- defineProperty: function(k, desc) { key = k; val = desc.value }
-})
-
-TestSet({
- getOwnPropertyDescriptor: function(k) { return null },
- getPropertyDescriptor: function(k) {
- return {set: function(v) { key = k; val = v }}
- }
-})
-
-TestSet({
- getOwnPropertyDescriptor: function(k) { return null },
- getPropertyDescriptor: function(k) { return null },
- defineProperty: function(k, desc) { key = k, val = desc.value }
-})
-
-TestSet(Proxy.create({
- get: function(pr, pk) {
- return function(r, k, v) { key = k; val = v; return true }
- }
-}))
-
-
-function TestSetThrow(handler) {
- TestWithProxies(TestSetThrow2, handler)
-}
-
-function TestSetThrow2(create, handler) {
- var p = create(handler)
- assertThrows(function(){ p.a = 42 }, "myexn")
- assertThrows(function(){ p["b"] = 42 }, "myexn")
- assertThrows(function(){ p[22] = 42 }, "myexn")
- assertThrows(function(){ (function(n) { p[n] = 45 })("c") }, "myexn")
- assertThrows(function(){ (function(n) { p[n] = 46 })(99) }, "myexn")
-}
-
-TestSetThrow({
- set: function(r, k, v) { throw "myexn" }
-})
-
-TestSetThrow({
- set: function(r, k, v) { return this.set2(r, k, v) },
- set2: function(r, k, v) { throw "myexn" }
-})
-
-TestSetThrow({
- getOwnPropertyDescriptor: function(k) { throw "myexn" },
- defineProperty: function(k, desc) { key = k; val = desc.value }
-})
-
-TestSetThrow({
- getOwnPropertyDescriptor: function(k) { return {writable: true} },
- defineProperty: function(k, desc) { throw "myexn" }
-})
-
-TestSetThrow({
- getOwnPropertyDescriptor: function(k) {
- return this.getOwnPropertyDescriptor2(k)
- },
- getOwnPropertyDescriptor2: function(k) { throw "myexn" },
- defineProperty: function(k, desc) { this.defineProperty2(k, desc) },
- defineProperty2: function(k, desc) { key = k; val = desc.value }
-})
-
-TestSetThrow({
- getOwnPropertyDescriptor: function(k) {
- return this.getOwnPropertyDescriptor2(k)
- },
- getOwnPropertyDescriptor2: function(k) { return {writable: true} },
- defineProperty: function(k, desc) { this.defineProperty2(k, desc) },
- defineProperty2: function(k, desc) { throw "myexn" }
-})
-
-TestSetThrow({
- getOwnPropertyDescriptor: function(k) { throw "myexn" },
- defineProperty: function(k, desc) { key = k; val = desc.value }
-})
-
-TestSetThrow({
- getOwnPropertyDescriptor: function(k) {
- return {get writable() { return true }}
- },
- defineProperty: function(k, desc) { throw "myexn" }
-})
-
-TestSetThrow({
- getOwnPropertyDescriptor: function(k) { throw "myexn" }
-})
-
-TestSetThrow({
- getOwnPropertyDescriptor: function(k) {
- return {set: function(v) { throw "myexn" }}
- }
-})
-
-TestSetThrow({
- getOwnPropertyDescriptor: function(k) { throw "myexn" },
- getPropertyDescriptor: function(k) { return {writable: true} },
- defineProperty: function(k, desc) { key = k; val = desc.value }
-})
-
-TestSetThrow({
- getOwnPropertyDescriptor: function(k) { return null },
- getPropertyDescriptor: function(k) { throw "myexn" },
- defineProperty: function(k, desc) { key = k; val = desc.value }
-})
-
-TestSetThrow({
- getOwnPropertyDescriptor: function(k) { return null },
- getPropertyDescriptor: function(k) { return {writable: true} },
- defineProperty: function(k, desc) { throw "myexn" }
-})
-
-TestSetThrow({
- getOwnPropertyDescriptor: function(k) { return null },
- getPropertyDescriptor: function(k) {
- return {get writable() { throw "myexn" }}
- },
- defineProperty: function(k, desc) { key = k; val = desc.value }
-})
-
-TestSetThrow({
- getOwnPropertyDescriptor: function(k) { return null },
- getPropertyDescriptor: function(k) {
- return {set: function(v) { throw "myexn" }}
- }
-})
-
-TestSetThrow({
- getOwnPropertyDescriptor: function(k) { return null },
- getPropertyDescriptor: function(k) { return null },
- defineProperty: function(k, desc) { throw "myexn" }
-})
-
-TestSetThrow(Proxy.create({
- get: function(pr, pk) { throw "myexn" }
-}))
-
-TestSetThrow(Proxy.create({
- get: function(pr, pk) {
- return function(r, k, v) { throw "myexn" }
- }
-}))
-
-
-var rec
-var key
-var val
-
-function TestSetForDerived(trap) {
- TestWithProxies(TestSetForDerived2, trap)
-}
-
-function TestSetForDerived2(create, trap) {
- var p = create({getPropertyDescriptor: trap, getOwnPropertyDescriptor: trap})
- var o = Object.create(p, {x: {value: 88, writable: true},
- '1': {value: 89, writable: true}})
-
- key = ""
- assertEquals(48, o.x = 48)
- assertEquals("", key) // trap not invoked
- assertEquals(48, o.x)
-
- assertEquals(47, o[1] = 47)
- assertEquals("", key) // trap not invoked
- assertEquals(47, o[1])
-
- assertEquals(49, o.y = 49)
- assertEquals("y", key)
- assertEquals(49, o.y)
-
- assertEquals(50, o[2] = 50)
- assertEquals("2", key)
- assertEquals(50, o[2])
-
- assertEquals(44, o.p_writable = 44)
- assertEquals("p_writable", key)
- assertEquals(44, o.p_writable)
-
- assertEquals(45, o.p_nonwritable = 45)
- assertEquals("p_nonwritable", key)
- assertFalse(Object.prototype.hasOwnProperty.call(o, "p_nonwritable"))
-
- assertThrows(function(){ "use strict"; o.p_nonwritable = 45 }, TypeError)
- assertEquals("p_nonwritable", key)
- assertFalse(Object.prototype.hasOwnProperty.call(o, "p_nonwritable"))
-
- val = ""
- assertEquals(46, o.p_setter = 46)
- assertEquals("p_setter", key)
- assertSame(o, rec)
- assertEquals(46, val) // written to parent
- assertFalse(Object.prototype.hasOwnProperty.call(o, "p_setter"))
-
- val = ""
- assertEquals(47, o.p_nosetter = 47)
- assertEquals("p_nosetter", key)
- assertEquals("", val) // not written at all
- assertFalse(Object.prototype.hasOwnProperty.call(o, "p_nosetter"));
-
- key = ""
- assertThrows(function(){ "use strict"; o.p_nosetter = 50 }, TypeError)
- assertEquals("p_nosetter", key)
- assertEquals("", val) // not written at all
- assertFalse(Object.prototype.hasOwnProperty.call(o, "p_nosetter"));
-
- assertThrows(function(){ o.p_nonconf = 53 }, TypeError)
- assertEquals("p_nonconf", key)
- assertFalse(Object.prototype.hasOwnProperty.call(o, "p_nonconf"));
-
- assertThrows(function(){ o.p_throw = 51 }, "myexn")
- assertEquals("p_throw", key)
- assertFalse(Object.prototype.hasOwnProperty.call(o, "p_throw"));
-
- assertThrows(function(){ o.p_setterthrow = 52 }, "myexn")
- assertEquals("p_setterthrow", key)
- assertFalse(Object.prototype.hasOwnProperty.call(o, "p_setterthrow"));
-}
-
-
-TestSetForDerived(
- function(k) {
- // TODO(yangguo): issue 2398 - throwing an error causes formatting of
- // the message string, which can be observable through this handler.
- // We ignore keys that occur when formatting the message string.
- if (k == "toString" || k == "valueOf") return;
-
- key = k;
- switch (k) {
- case "p_writable": return {writable: true, configurable: true}
- case "p_nonwritable": return {writable: false, configurable: true}
- case "p_setter": return {
- set: function(x) { rec = this; val = x },
- configurable: true
- }
- case "p_nosetter": return {
- get: function() { return 1 },
- configurable: true
- }
- case "p_nonconf": return {}
- case "p_throw": throw "myexn"
- case "p_setterthrow": return {set: function(x) { throw "myexn" }}
- default: return undefined
- }
- }
-)
-
-
-// Evil proxy-induced side-effects shouldn't crash.
-// TODO(rossberg): proper behaviour isn't really spec'ed yet, so ignore results.
-
-TestWithProxies(function(create) {
- var calls = 0
- var handler = {
- getPropertyDescriptor: function() {
- ++calls
- return (calls % 2 == 1)
- ? {get: function() { return 5 }, configurable: true}
- : {set: function() { return false }, configurable: true}
- }
- }
- var p = create(handler)
- var o = Object.create(p)
- // Make proxy prototype property read-only after CanPut check.
- try { o.x = 4 } catch (e) { assertInstanceof(e, Error) }
-})
-
-TestWithProxies(function(create) {
- var handler = {
- getPropertyDescriptor: function() {
- Object.defineProperty(o, "x", {get: function() { return 5 }});
- return {set: function() {}}
- }
- }
- var p = create(handler)
- var o = Object.create(p)
- // Make object property read-only after CanPut check.
- try { o.x = 4 } catch (e) { assertInstanceof(e, Error) }
-})
-
-
-
-// TODO(rossberg): TestSetReject, returning false
-// TODO(rossberg): TestGetProperty, TestSetProperty
-
-
-
-// Property definition (Object.defineProperty and Object.defineProperties).
-
-var key
-var desc
-
-function TestDefine(handler) {
- TestWithProxies(TestDefine2, handler)
-}
-
-function TestDefine2(create, handler) {
- var p = create(handler)
- assertEquals(p, Object.defineProperty(p, "a", {value: 44}))
- assertEquals("a", key)
- assertEquals(1, Object.getOwnPropertyNames(desc).length)
- assertEquals(44, desc.value)
-
- assertEquals(p, Object.defineProperty(p, "b", {value: 45, writable: false}))
- assertEquals("b", key)
- assertEquals(2, Object.getOwnPropertyNames(desc).length)
- assertEquals(45, desc.value)
- assertEquals(false, desc.writable)
-
- assertEquals(p, Object.defineProperty(p, "c", {value: 46, enumerable: false}))
- assertEquals("c", key)
- assertEquals(2, Object.getOwnPropertyNames(desc).length)
- assertEquals(46, desc.value)
- assertEquals(false, desc.enumerable)
-
- assertEquals(p, Object.defineProperty(p, 101, {value: 47, enumerable: false}))
- assertEquals("101", key)
- assertEquals(2, Object.getOwnPropertyNames(desc).length)
- assertEquals(47, desc.value)
- assertEquals(false, desc.enumerable)
-
- var attributes = {configurable: true, mine: 66, minetoo: 23}
- assertEquals(p, Object.defineProperty(p, "d", attributes))
- assertEquals("d", key)
- // Modifying the attributes object after the fact should have no effect.
- attributes.configurable = false
- attributes.mine = 77
- delete attributes.minetoo
- assertEquals(3, Object.getOwnPropertyNames(desc).length)
- assertEquals(true, desc.configurable)
- assertEquals(66, desc.mine)
- assertEquals(23, desc.minetoo)
-
- assertEquals(p, Object.defineProperty(p, "e", {get: function(){ return 5 }}))
- assertEquals("e", key)
- assertEquals(1, Object.getOwnPropertyNames(desc).length)
- assertEquals(5, desc.get())
-
- assertEquals(p, Object.defineProperty(p, "zzz", {}))
- assertEquals("zzz", key)
- assertEquals(0, Object.getOwnPropertyNames(desc).length)
-
- var d = create({
- get: function(r, k) { return (k === "value") ? 77 : void 0 },
- getOwnPropertyNames: function() { return ["value"] },
- enumerate: function() { return ["value"] }
- })
- assertEquals(1, Object.getOwnPropertyNames(d).length)
- assertEquals(77, d.value)
- assertEquals(p, Object.defineProperty(p, "p", d))
- assertEquals("p", key)
- assertEquals(1, Object.getOwnPropertyNames(desc).length)
- assertEquals(77, desc.value)
-
- var props = {
- '11': {},
- blub: {get: function() { return true }},
- '': {get value() { return 20 }},
- last: {value: 21, configurable: true, mine: "eyes"}
- }
- Object.defineProperty(props, "hidden", {value: "hidden", enumerable: false})
- assertEquals(p, Object.defineProperties(p, props))
- assertEquals("last", key)
- assertEquals(2, Object.getOwnPropertyNames(desc).length)
- assertEquals(21, desc.value)
- assertEquals(true, desc.configurable)
- assertEquals(undefined, desc.mine) // Arguably a bug in the spec...
-
- var props = {bla: {get value() { throw "myexn" }}}
- assertThrows(function(){ Object.defineProperties(p, props) }, "myexn")
-}
-
-TestDefine({
- defineProperty: function(k, d) { key = k; desc = d; return true }
-})
-
-TestDefine({
- defineProperty: function(k, d) { return this.defineProperty2(k, d) },
- defineProperty2: function(k, d) { key = k; desc = d; return true }
-})
-
-TestDefine(Proxy.create({
- get: function(pr, pk) {
- return function(k, d) { key = k; desc = d; return true }
- }
-}))
-
-
-function TestDefineThrow(handler) {
- TestWithProxies(TestDefineThrow2, handler)
-}
-
-function TestDefineThrow2(create, handler) {
- var p = create(handler)
- assertThrows(function(){ Object.defineProperty(p, "a", {value: 44})}, "myexn")
- assertThrows(function(){ Object.defineProperty(p, 0, {value: 44})}, "myexn")
-
- var d1 = create({
- get: function(r, k) { throw "myexn" },
- getOwnPropertyNames: function() { return ["value"] }
- })
- assertThrows(function(){ Object.defineProperty(p, "p", d1) }, "myexn")
- var d2 = create({
- get: function(r, k) { return 77 },
- getOwnPropertyNames: function() { throw "myexn" }
- })
- assertThrows(function(){ Object.defineProperty(p, "p", d2) }, "myexn")
-
- var props = {bla: {get value() { throw "otherexn" }}}
- assertThrows(function(){ Object.defineProperties(p, props) }, "otherexn")
-}
-
-TestDefineThrow({
- defineProperty: function(k, d) { throw "myexn" }
-})
-
-TestDefineThrow({
- defineProperty: function(k, d) { return this.defineProperty2(k, d) },
- defineProperty2: function(k, d) { throw "myexn" }
-})
-
-TestDefineThrow(Proxy.create({
- get: function(pr, pk) { throw "myexn" }
-}))
-
-TestDefineThrow(Proxy.create({
- get: function(pr, pk) {
- return function(k, d) { throw "myexn" }
- }
-}))
-
-
-
-// Property deletion (delete).
-
-var key
-
-function TestDelete(handler) {
- TestWithProxies(TestDelete2, handler)
-}
-
-function TestDelete2(create, handler) {
- var p = create(handler)
- assertEquals(true, delete p.a)
- assertEquals("a", key)
- assertEquals(true, delete p["b"])
- assertEquals("b", key)
- assertEquals(true, delete p[1])
- assertEquals("1", key)
-
- assertEquals(false, delete p.z1)
- assertEquals("z1", key)
- assertEquals(false, delete p["z2"])
- assertEquals("z2", key);
-
- (function() {
- "use strict"
- assertEquals(true, delete p.c)
- assertEquals("c", key)
- assertEquals(true, delete p["d"])
- assertEquals("d", key)
- assertEquals(true, delete p[2])
- assertEquals("2", key)
-
- assertThrows(function(){ delete p.z3 }, TypeError)
- assertEquals("z3", key)
- assertThrows(function(){ delete p["z4"] }, TypeError)
- assertEquals("z4", key)
- })()
-}
-
-TestDelete({
- delete: function(k) { key = k; return k < "z" }
-})
-
-TestDelete({
- delete: function(k) { return this.delete2(k) },
- delete2: function(k) { key = k; return k < "z" }
-})
-
-TestDelete(Proxy.create({
- get: function(pr, pk) {
- return function(k) { key = k; return k < "z" }
- }
-}))
-
-
-function TestDeleteThrow(handler) {
- TestWithProxies(TestDeleteThrow2, handler)
-}
-
-function TestDeleteThrow2(create, handler) {
- var p = create(handler)
- assertThrows(function(){ delete p.a }, "myexn")
- assertThrows(function(){ delete p["b"] }, "myexn");
- assertThrows(function(){ delete p[3] }, "myexn");
-
- (function() {
- "use strict"
- assertThrows(function(){ delete p.c }, "myexn")
- assertThrows(function(){ delete p["d"] }, "myexn")
- assertThrows(function(){ delete p[4] }, "myexn");
- })()
-}
-
-TestDeleteThrow({
- delete: function(k) { throw "myexn" }
-})
-
-TestDeleteThrow({
- delete: function(k) { return this.delete2(k) },
- delete2: function(k) { throw "myexn" }
-})
-
-TestDeleteThrow(Proxy.create({
- get: function(pr, pk) { throw "myexn" }
-}))
-
-TestDeleteThrow(Proxy.create({
- get: function(pr, pk) {
- return function(k) { throw "myexn" }
- }
-}))
-
-
-
-// Property descriptors (Object.getOwnPropertyDescriptor).
-
-function TestDescriptor(handler) {
- TestWithProxies(TestDescriptor2, handler)
-}
-
-function TestDescriptor2(create, handler) {
- var p = create(handler)
- var descs = [
- {configurable: true},
- {value: 34, enumerable: true, configurable: true},
- {value: 3, writable: false, mine: "eyes", configurable: true},
- {get value() { return 20 }, get configurable() { return true }},
- {get: function() { "get" }, set: function() { "set" }, configurable: true}
- ]
- for (var i = 0; i < descs.length; ++i) {
- assertEquals(p, Object.defineProperty(p, i, descs[i]))
- var desc = Object.getOwnPropertyDescriptor(p, i)
- for (prop in descs[i]) {
- // TODO(rossberg): Ignore user attributes as long as the spec isn't
- // fixed suitably.
- if (prop != "mine") assertEquals(descs[i][prop], desc[prop])
- }
- assertEquals(undefined, Object.getOwnPropertyDescriptor(p, "absent"))
- }
-}
-
-TestDescriptor({
- defineProperty: function(k, d) { this["__" + k] = d; return true },
- getOwnPropertyDescriptor: function(k) { return this["__" + k] }
-})
-
-TestDescriptor({
- defineProperty: function(k, d) { this["__" + k] = d; return true },
- getOwnPropertyDescriptor: function(k) {
- return this.getOwnPropertyDescriptor2(k)
- },
- getOwnPropertyDescriptor2: function(k) { return this["__" + k] }
-})
-
-
-function TestDescriptorThrow(handler) {
- TestWithProxies(TestDescriptorThrow2, handler)
-}
-
-function TestDescriptorThrow2(create, handler) {
- var p = create(handler)
- assertThrows(function(){ Object.getOwnPropertyDescriptor(p, "a") }, "myexn")
-}
-
-TestDescriptorThrow({
- getOwnPropertyDescriptor: function(k) { throw "myexn" }
-})
-
-TestDescriptorThrow({
- getOwnPropertyDescriptor: function(k) {
- return this.getOwnPropertyDescriptor2(k)
- },
- getOwnPropertyDescriptor2: function(k) { throw "myexn" }
-})
-
-
-
-// Comparison.
-
-function TestComparison(eq) {
- TestWithProxies(TestComparison2, eq)
-}
-
-function TestComparison2(create, eq) {
- var p1 = create({})
- var p2 = create({})
-
- assertTrue(eq(p1, p1))
- assertTrue(eq(p2, p2))
- assertTrue(!eq(p1, p2))
- assertTrue(!eq(p1, {}))
- assertTrue(!eq({}, p2))
- assertTrue(!eq({}, {}))
-}
-
-TestComparison(function(o1, o2) { return o1 == o2 })
-TestComparison(function(o1, o2) { return o1 === o2 })
-TestComparison(function(o1, o2) { return !(o1 != o2) })
-TestComparison(function(o1, o2) { return !(o1 !== o2) })
-
-
-
-// Type (typeof).
-
-function TestTypeof() {
- assertEquals("object", typeof Proxy.create({}))
- assertTrue(typeof Proxy.create({}) == "object")
- assertTrue("object" == typeof Proxy.create({}))
-
- assertEquals("function", typeof Proxy.createFunction({}, function() {}))
- assertTrue(typeof Proxy.createFunction({}, function() {}) == "function")
- assertTrue("function" == typeof Proxy.createFunction({}, function() {}))
-}
-
-TestTypeof()
-
-
-
-// Membership test (in).
-
-var key
-
-function TestIn(handler) {
- TestWithProxies(TestIn2, handler)
-}
-
-function TestIn2(create, handler) {
- var p = create(handler)
- assertTrue("a" in p)
- assertEquals("a", key)
- assertTrue(99 in p)
- assertEquals("99", key)
- assertFalse("z" in p)
- assertEquals("z", key)
-
- assertEquals(2, ("a" in p) ? 2 : 0)
- assertEquals(0, !("a" in p) ? 2 : 0)
- assertEquals(0, ("zzz" in p) ? 2 : 0)
- assertEquals(2, !("zzz" in p) ? 2 : 0)
-
- // Test compilation in conditionals.
- if ("b" in p) {
- } else {
- assertTrue(false)
- }
- assertEquals("b", key)
-
- if ("zz" in p) {
- assertTrue(false)
- }
- assertEquals("zz", key)
-
- if (!("c" in p)) {
- assertTrue(false)
- }
- assertEquals("c", key)
-
- if (!("zzz" in p)) {
- } else {
- assertTrue(false)
- }
- assertEquals("zzz", key)
-}
-
-TestIn({
- has: function(k) { key = k; return k < "z" }
-})
-
-TestIn({
- has: function(k) { return this.has2(k) },
- has2: function(k) { key = k; return k < "z" }
-})
-
-TestIn({
- getPropertyDescriptor: function(k) {
- key = k; return k < "z" ? {value: 42} : void 0
- }
-})
-
-TestIn({
- getPropertyDescriptor: function(k) { return this.getPropertyDescriptor2(k) },
- getPropertyDescriptor2: function(k) {
- key = k; return k < "z" ? {value: 42} : void 0
- }
-})
-
-TestIn({
- getPropertyDescriptor: function(k) {
- key = k; return k < "z" ? {get value() { return 42 }} : void 0
- }
-})
-
-TestIn({
- has: undefined,
- getPropertyDescriptor: function(k) {
- key = k; return k < "z" ? {value: 42} : void 0
- }
-})
-
-TestIn(Proxy.create({
- get: function(pr, pk) {
- return function(k) { key = k; return k < "z" }
- }
-}))
-
-
-function TestInThrow(handler) {
- TestWithProxies(TestInThrow2, handler)
-}
-
-function TestInThrow2(create, handler) {
- var p = create(handler)
- assertThrows(function(){ return "a" in o }, "myexn")
- assertThrows(function(){ return 99 in o }, "myexn")
- assertThrows(function(){ return !("a" in o) }, "myexn")
- assertThrows(function(){ return ("a" in o) ? 2 : 3 }, "myexn")
- assertThrows(function(){ if ("b" in o) {} }, "myexn")
- assertThrows(function(){ if (!("b" in o)) {} }, "myexn")
- assertThrows(function(){ if ("zzz" in o) {} }, "myexn")
-}
-
-TestInThrow({
- has: function(k) { throw "myexn" }
-})
-
-TestInThrow({
- has: function(k) { return this.has2(k) },
- has2: function(k) { throw "myexn" }
-})
-
-TestInThrow({
- getPropertyDescriptor: function(k) { throw "myexn" }
-})
-
-TestInThrow({
- getPropertyDescriptor: function(k) { return this.getPropertyDescriptor2(k) },
- getPropertyDescriptor2: function(k) { throw "myexn" }
-})
-
-TestInThrow({
- has: undefined,
- getPropertyDescriptor: function(k) { throw "myexn" }
-})
-
-TestInThrow(Proxy.create({
- get: function(pr, pk) { throw "myexn" }
-}))
-
-TestInThrow(Proxy.create({
- get: function(pr, pk) {
- return function(k) { throw "myexn" }
- }
-}))
-
-
-function TestInForDerived(handler) {
- TestWithProxies(TestInForDerived2, handler)
-}
-
-function TestInForDerived2(create, handler) {
- var p = create(handler)
- var o = Object.create(p)
-
- assertTrue("a" in o)
- assertEquals("a", key)
- assertTrue(99 in o)
- assertEquals("99", key)
- assertFalse("z" in o)
- assertEquals("z", key)
-
- assertEquals(2, ("a" in o) ? 2 : 0)
- assertEquals(0, !("a" in o) ? 2 : 0)
- assertEquals(0, ("zzz" in o) ? 2 : 0)
- assertEquals(2, !("zzz" in o) ? 2 : 0)
-
- if ("b" in o) {
- } else {
- assertTrue(false)
- }
- assertEquals("b", key)
-
- if ("zz" in o) {
- assertTrue(false)
- }
- assertEquals("zz", key)
-
- if (!("c" in o)) {
- assertTrue(false)
- }
- assertEquals("c", key)
-
- if (!("zzz" in o)) {
- } else {
- assertTrue(false)
- }
- assertEquals("zzz", key)
-}
-
-TestInForDerived({
- getPropertyDescriptor: function(k) {
- key = k; return k < "z" ? {value: 42, configurable: true} : void 0
- }
-})
-
-TestInForDerived({
- getPropertyDescriptor: function(k) { return this.getPropertyDescriptor2(k) },
- getPropertyDescriptor2: function(k) {
- key = k; return k < "z" ? {value: 42, configurable: true} : void 0
- }
-})
-
-TestInForDerived({
- getPropertyDescriptor: function(k) {
- key = k;
- return k < "z" ? {get value() { return 42 }, configurable: true} : void 0
- }
-})
-
-/* TODO(rossberg): this will work once we implement the newest proposal
- * regarding default traps for getPropertyDescriptor.
-TestInForDerived({
- getOwnPropertyDescriptor: function(k) {
- key = k; return k < "z" ? {value: 42, configurable: true} : void 0
- }
-})
-
-TestInForDerived({
- getOwnPropertyDescriptor: function(k) {
- return this.getOwnPropertyDescriptor2(k)
- },
- getOwnPropertyDescriptor2: function(k) {
- key = k; return k < "z" ? {value: 42, configurable: true} : void 0
- }
-})
-
-TestInForDerived({
- getOwnPropertyDescriptor: function(k) {
- key = k;
- return k < "z" ? {get value() { return 42 }, configurable: true} : void 0
- }
-})
-*/
-
-TestInForDerived(Proxy.create({
- get: function(pr, pk) {
- return function(k) {
- key = k; return k < "z" ? {value: 42, configurable: true} : void 0
- }
- }
-}))
-
-
-
-// Property descriptor conversion.
-
-var descget
-
-function TestDescriptorGetOrder(handler) {
- var p = Proxy.create(handler)
- var o = Object.create(p, {b: {value: 0}})
- TestDescriptorGetOrder2(function(n) { return p[n] }, "vV")
- TestDescriptorGetOrder2(function(n) { return n in p }, "")
- TestDescriptorGetOrder2(function(n) { return o[n] }, "vV")
- TestDescriptorGetOrder2(function(n) { return n in o }, "eEcCvVwWgs")
-}
-
-function TestDescriptorGetOrder2(f, access) {
- descget = ""
- assertTrue(f("a"))
- assertEquals(access, descget)
- descget = ""
- assertTrue(f(99))
- assertEquals(access, descget)
- descget = ""
- assertFalse(!!f("z"))
- assertEquals("", descget)
-}
-
-TestDescriptorGetOrder({
- getPropertyDescriptor: function(k) {
- if (k >= "z") return void 0
- // Return a proxy as property descriptor, so that we can log accesses.
- return Proxy.create({
- get: function(r, attr) {
- descget += attr[0].toUpperCase()
- return true
- },
- has: function(attr) {
- descget += attr[0]
- switch (attr) {
- case "writable":
- case "enumerable":
- case "configurable":
- case "value":
- return true
- case "get":
- case "set":
- return false
- default:
- assertUnreachable()
- }
- }
- })
- }
-})
-
-
-
-// Own Properties (Object.prototype.hasOwnProperty).
-
-var key
-
-function TestHasOwn(handler) {
- TestWithProxies(TestHasOwn2, handler)
-}
-
-function TestHasOwn2(create, handler) {
- var p = create(handler)
- assertTrue(Object.prototype.hasOwnProperty.call(p, "a"))
- assertEquals("a", key)
- assertTrue(Object.prototype.hasOwnProperty.call(p, 99))
- assertEquals("99", key)
- assertFalse(Object.prototype.hasOwnProperty.call(p, "z"))
- assertEquals("z", key)
-}
-
-TestHasOwn({
- hasOwn: function(k) { key = k; return k < "z" }
-})
-
-TestHasOwn({
- hasOwn: function(k) { return this.hasOwn2(k) },
- hasOwn2: function(k) { key = k; return k < "z" }
-})
-
-TestHasOwn({
- getOwnPropertyDescriptor: function(k) {
- key = k; return k < "z" ? {value: 42} : void 0
- }
-})
-
-TestHasOwn({
- getOwnPropertyDescriptor: function(k) {
- return this.getOwnPropertyDescriptor2(k)
- },
- getOwnPropertyDescriptor2: function(k) {
- key = k; return k < "z" ? {value: 42} : void 0
- }
-})
-
-TestHasOwn({
- getOwnPropertyDescriptor: function(k) {
- key = k; return k < "z" ? {get value() { return 42 }} : void 0
- }
-})
-
-TestHasOwn({
- hasOwn: undefined,
- getOwnPropertyDescriptor: function(k) {
- key = k; return k < "z" ? {value: 42} : void 0
- }
-})
-
-TestHasOwn(Proxy.create({
- get: function(pr, pk) {
- return function(k) { key = k; return k < "z" }
- }
-}))
-
-
-function TestHasOwnThrow(handler) {
- TestWithProxies(TestHasOwnThrow2, handler)
-}
-
-function TestHasOwnThrow2(create, handler) {
- var p = create(handler)
- assertThrows(function(){ Object.prototype.hasOwnProperty.call(p, "a")},
- "myexn")
- assertThrows(function(){ Object.prototype.hasOwnProperty.call(p, 99)},
- "myexn")
-}
-
-TestHasOwnThrow({
- hasOwn: function(k) { throw "myexn" }
-})
-
-TestHasOwnThrow({
- hasOwn: function(k) { return this.hasOwn2(k) },
- hasOwn2: function(k) { throw "myexn" }
-})
-
-TestHasOwnThrow({
- getOwnPropertyDescriptor: function(k) { throw "myexn" }
-})
-
-TestHasOwnThrow({
- getOwnPropertyDescriptor: function(k) {
- return this.getOwnPropertyDescriptor2(k)
- },
- getOwnPropertyDescriptor2: function(k) { throw "myexn" }
-})
-
-TestHasOwnThrow({
- hasOwn: undefined,
- getOwnPropertyDescriptor: function(k) { throw "myexn" }
-})
-
-TestHasOwnThrow(Proxy.create({
- get: function(pr, pk) { throw "myexn" }
-}))
-
-TestHasOwnThrow(Proxy.create({
- get: function(pr, pk) {
- return function(k) { throw "myexn" }
- }
-}))
-
-
-
-// Instanceof (instanceof)
-
-function TestProxyInstanceof() {
- var o1 = {}
- var p1 = Proxy.create({})
- var p2 = Proxy.create({}, o1)
- var p3 = Proxy.create({}, p2)
- var o2 = Object.create(p2)
-
- var f0 = function() {}
- f0.prototype = o1
- var f1 = function() {}
- f1.prototype = p1
- var f2 = function() {}
- f2.prototype = p2
- var f3 = function() {}
- f3.prototype = o2
-
- assertTrue(o1 instanceof Object)
- assertFalse(o1 instanceof f0)
- assertFalse(o1 instanceof f1)
- assertFalse(o1 instanceof f2)
- assertFalse(o1 instanceof f3)
- assertFalse(p1 instanceof Object)
- assertFalse(p1 instanceof f0)
- assertFalse(p1 instanceof f1)
- assertFalse(p1 instanceof f2)
- assertFalse(p1 instanceof f3)
- assertTrue(p2 instanceof Object)
- assertTrue(p2 instanceof f0)
- assertFalse(p2 instanceof f1)
- assertFalse(p2 instanceof f2)
- assertFalse(p2 instanceof f3)
- assertTrue(p3 instanceof Object)
- assertTrue(p3 instanceof f0)
- assertFalse(p3 instanceof f1)
- assertTrue(p3 instanceof f2)
- assertFalse(p3 instanceof f3)
- assertTrue(o2 instanceof Object)
- assertTrue(o2 instanceof f0)
- assertFalse(o2 instanceof f1)
- assertTrue(o2 instanceof f2)
- assertFalse(o2 instanceof f3)
-
- var f = Proxy.createFunction({}, function() {})
- assertTrue(f instanceof Function)
-}
-
-TestProxyInstanceof()
-
-
-function TestInstanceofProxy() {
- var o0 = Object.create(null)
- var o1 = {}
- var o2 = Object.create(o0)
- var o3 = Object.create(o1)
- var o4 = Object.create(o2)
- var o5 = Object.create(o3)
-
- function handler(o) { return {get: function() { return o } } }
- var f0 = Proxy.createFunction(handler(o0), function() {})
- var f1 = Proxy.createFunction(handler(o1), function() {})
- var f2 = Proxy.createFunction(handler(o2), function() {})
- var f3 = Proxy.createFunction(handler(o3), function() {})
- var f4 = Proxy.createFunction(handler(o4), function() {})
- var f5 = Proxy.createFunction(handler(o4), function() {})
-
- assertFalse(null instanceof f0)
- assertFalse(o0 instanceof f0)
- assertFalse(o0 instanceof f1)
- assertFalse(o0 instanceof f2)
- assertFalse(o0 instanceof f3)
- assertFalse(o0 instanceof f4)
- assertFalse(o0 instanceof f5)
- assertFalse(o1 instanceof f0)
- assertFalse(o1 instanceof f1)
- assertFalse(o1 instanceof f2)
- assertFalse(o1 instanceof f3)
- assertFalse(o1 instanceof f4)
- assertFalse(o1 instanceof f5)
- assertTrue(o2 instanceof f0)
- assertFalse(o2 instanceof f1)
- assertFalse(o2 instanceof f2)
- assertFalse(o2 instanceof f3)
- assertFalse(o2 instanceof f4)
- assertFalse(o2 instanceof f5)
- assertFalse(o3 instanceof f0)
- assertTrue(o3 instanceof f1)
- assertFalse(o3 instanceof f2)
- assertFalse(o3 instanceof f3)
- assertFalse(o3 instanceof f4)
- assertFalse(o3 instanceof f5)
- assertTrue(o4 instanceof f0)
- assertFalse(o4 instanceof f1)
- assertTrue(o4 instanceof f2)
- assertFalse(o4 instanceof f3)
- assertFalse(o4 instanceof f4)
- assertFalse(o4 instanceof f5)
- assertFalse(o5 instanceof f0)
- assertTrue(o5 instanceof f1)
- assertFalse(o5 instanceof f2)
- assertTrue(o5 instanceof f3)
- assertFalse(o5 instanceof f4)
- assertFalse(o5 instanceof f5)
-
- var f = Proxy.createFunction({}, function() {})
- var ff = Proxy.createFunction(handler(Function), function() {})
- assertTrue(f instanceof Function)
- assertFalse(f instanceof ff)
-}
-
-TestInstanceofProxy()
-
-
-
-// Prototype (Object.getPrototypeOf, Object.prototype.isPrototypeOf).
-
-function TestPrototype() {
- var o1 = {}
- var p1 = Proxy.create({})
- var p2 = Proxy.create({}, o1)
- var p3 = Proxy.create({}, p2)
- var p4 = Proxy.create({}, null)
- var o2 = Object.create(p3)
-
- assertSame(Object.getPrototypeOf(o1), Object.prototype)
- assertSame(Object.getPrototypeOf(p1), null)
- assertSame(Object.getPrototypeOf(p2), o1)
- assertSame(Object.getPrototypeOf(p3), p2)
- assertSame(Object.getPrototypeOf(p4), null)
- assertSame(Object.getPrototypeOf(o2), p3)
-
- assertTrue(Object.prototype.isPrototypeOf(o1))
- assertFalse(Object.prototype.isPrototypeOf(p1))
- assertTrue(Object.prototype.isPrototypeOf(p2))
- assertTrue(Object.prototype.isPrototypeOf(p3))
- assertFalse(Object.prototype.isPrototypeOf(p4))
- assertTrue(Object.prototype.isPrototypeOf(o2))
- assertTrue(Object.prototype.isPrototypeOf.call(Object.prototype, o1))
- assertFalse(Object.prototype.isPrototypeOf.call(Object.prototype, p1))
- assertTrue(Object.prototype.isPrototypeOf.call(Object.prototype, p2))
- assertTrue(Object.prototype.isPrototypeOf.call(Object.prototype, p3))
- assertFalse(Object.prototype.isPrototypeOf.call(Object.prototype, p4))
- assertTrue(Object.prototype.isPrototypeOf.call(Object.prototype, o2))
- assertFalse(Object.prototype.isPrototypeOf.call(o1, o1))
- assertFalse(Object.prototype.isPrototypeOf.call(o1, p1))
- assertTrue(Object.prototype.isPrototypeOf.call(o1, p2))
- assertTrue(Object.prototype.isPrototypeOf.call(o1, p3))
- assertFalse(Object.prototype.isPrototypeOf.call(o1, p4))
- assertTrue(Object.prototype.isPrototypeOf.call(o1, o2))
- assertFalse(Object.prototype.isPrototypeOf.call(p1, p1))
- assertFalse(Object.prototype.isPrototypeOf.call(p1, o1))
- assertFalse(Object.prototype.isPrototypeOf.call(p1, p2))
- assertFalse(Object.prototype.isPrototypeOf.call(p1, p3))
- assertFalse(Object.prototype.isPrototypeOf.call(p1, p4))
- assertFalse(Object.prototype.isPrototypeOf.call(p1, o2))
- assertFalse(Object.prototype.isPrototypeOf.call(p2, p1))
- assertFalse(Object.prototype.isPrototypeOf.call(p2, p2))
- assertTrue(Object.prototype.isPrototypeOf.call(p2, p3))
- assertFalse(Object.prototype.isPrototypeOf.call(p2, p4))
- assertTrue(Object.prototype.isPrototypeOf.call(p2, o2))
- assertFalse(Object.prototype.isPrototypeOf.call(p3, p2))
- assertTrue(Object.prototype.isPrototypeOf.call(p3, o2))
- assertFalse(Object.prototype.isPrototypeOf.call(o2, o1))
- assertFalse(Object.prototype.isPrototypeOf.call(o2, p1))
- assertFalse(Object.prototype.isPrototypeOf.call(o2, p2))
- assertFalse(Object.prototype.isPrototypeOf.call(o2, p3))
- assertFalse(Object.prototype.isPrototypeOf.call(o2, p4))
- assertFalse(Object.prototype.isPrototypeOf.call(o2, o2))
-
- var f = Proxy.createFunction({}, function() {})
- assertSame(Object.getPrototypeOf(f), Function.prototype)
- assertTrue(Object.prototype.isPrototypeOf(f))
- assertTrue(Object.prototype.isPrototypeOf.call(Function.prototype, f))
-}
-
-TestPrototype()
-
-
-
-// Property names (Object.getOwnPropertyNames, Object.keys).
-
-function TestPropertyNames(names, handler) {
- TestWithProxies(TestPropertyNames2, handler, names)
-}
-
-function TestPropertyNames2(create, handler, names) {
- var p = create(handler)
- assertArrayEquals(names, Object.getOwnPropertyNames(p))
-}
-
-TestPropertyNames([], {
- getOwnPropertyNames: function() { return [] }
-})
-
-TestPropertyNames(["a", "zz", " ", "0", "toString"], {
- getOwnPropertyNames: function() { return ["a", "zz", " ", 0, "toString"] }
-})
-
-TestPropertyNames(["throw", "function "], {
- getOwnPropertyNames: function() { return this.getOwnPropertyNames2() },
- getOwnPropertyNames2: function() { return ["throw", "function "] }
-})
-
-TestPropertyNames(["[object Object]"], {
- get getOwnPropertyNames() {
- return function() { return [{}] }
- }
-})
-
-
-function TestPropertyNamesThrow(handler) {
- TestWithProxies(TestPropertyNamesThrow2, handler)
-}
-
-function TestPropertyNamesThrow2(create, handler) {
- var p = create(handler)
- assertThrows(function(){ Object.getOwnPropertyNames(p) }, "myexn")
-}
-
-TestPropertyNamesThrow({
- getOwnPropertyNames: function() { throw "myexn" }
-})
-
-TestPropertyNamesThrow({
- getOwnPropertyNames: function() { return this.getOwnPropertyNames2() },
- getOwnPropertyNames2: function() { throw "myexn" }
-})
-
-
-function TestKeys(names, handler) {
- TestWithProxies(TestKeys2, handler, names)
-}
-
-function TestKeys2(create, handler, names) {
- var p = create(handler)
- assertArrayEquals(names, Object.keys(p))
-}
-
-TestKeys([], {
- keys: function() { return [] }
-})
-
-TestKeys(["a", "zz", " ", "0", "toString"], {
- keys: function() { return ["a", "zz", " ", 0, "toString"] }
-})
-
-TestKeys(["throw", "function "], {
- keys: function() { return this.keys2() },
- keys2: function() { return ["throw", "function "] }
-})
-
-TestKeys(["[object Object]"], {
- get keys() {
- return function() { return [{}] }
- }
-})
-
-TestKeys(["a", "0"], {
- getOwnPropertyNames: function() { return ["a", 23, "zz", "", 0] },
- getOwnPropertyDescriptor: function(k) {
- return k == "" ? undefined : {enumerable: k.length == 1}
- }
-})
-
-TestKeys(["23", "zz", ""], {
- getOwnPropertyNames: function() { return this.getOwnPropertyNames2() },
- getOwnPropertyNames2: function() { return ["a", 23, "zz", "", 0] },
- getOwnPropertyDescriptor: function(k) {
- return this.getOwnPropertyDescriptor2(k)
- },
- getOwnPropertyDescriptor2: function(k) { return {enumerable: k.length != 1} }
-})
-
-TestKeys(["a", "b", "c", "5"], {
- get getOwnPropertyNames() {
- return function() { return ["0", 4, "a", "b", "c", 5, "ety"] }
- },
- get getOwnPropertyDescriptor() {
- return function(k) {
- return k == "ety" ? undefined : {enumerable: k >= "44"}
- }
- }
-})
-
-TestKeys([], {
- get getOwnPropertyNames() {
- return function() { return ["a", "b", "c"] }
- },
- getOwnPropertyDescriptor: function(k) { return {} }
-})
-
-
-function TestKeysThrow(handler) {
- TestWithProxies(TestKeysThrow2, handler)
-}
-
-function TestKeysThrow2(create, handler) {
- var p = create(handler)
- assertThrows(function(){ Object.keys(p) }, "myexn")
-}
-
-TestKeysThrow({
- keys: function() { throw "myexn" }
-})
-
-TestKeysThrow({
- keys: function() { return this.keys2() },
- keys2: function() { throw "myexn" }
-})
-
-TestKeysThrow({
- getOwnPropertyNames: function() { throw "myexn" },
- getOwnPropertyDescriptor: function(k) { return true }
-})
-
-TestKeysThrow({
- getOwnPropertyNames: function() { return [1, 2] },
- getOwnPropertyDescriptor: function(k) { throw "myexn" }
-})
-
-TestKeysThrow({
- getOwnPropertyNames: function() { return this.getOwnPropertyNames2() },
- getOwnPropertyNames2: function() { throw "myexn" },
-})
-
-TestKeysThrow({
- getOwnPropertyNames: function() { return this.getOwnPropertyNames2() },
- getOwnPropertyNames2: function() { return [1, 2] },
- getOwnPropertyDescriptor: function(k) {
- return this.getOwnPropertyDescriptor2(k)
- },
- getOwnPropertyDescriptor2: function(k) { throw "myexn" }
-})
-
-TestKeysThrow({
- get getOwnPropertyNames() { throw "myexn" }
-})
-
-TestKeysThrow({
- get getOwnPropertyNames() {
- return function() { throw "myexn" }
- },
-})
-
-TestKeysThrow([], {
- get getOwnPropertyNames() {
- return function() { return [1, 2] }
- },
- getOwnPropertyDescriptor: function(k) { throw "myexn" }
-})
-
-
-
-// Fixing (Object.freeze, Object.seal, Object.preventExtensions,
-// Object.isFrozen, Object.isSealed, Object.isExtensible)
-
-function TestFix(names, handler) {
- var proto = {p: 77}
- var assertFixing = function(o, s, f, e) {
- assertEquals(s, Object.isSealed(o))
- assertEquals(f, Object.isFrozen(o))
- assertEquals(e, Object.isExtensible(o))
- }
-
- var p1 = Proxy.create(handler, proto)
- assertFixing(p1, false, false, true)
- Object.seal(p1)
- assertFixing(p1, true, names.length === 0, false)
- assertArrayEquals(names.sort(), Object.getOwnPropertyNames(p1).sort())
- assertArrayEquals(names.filter(function(x) {return x < "z"}).sort(),
- Object.keys(p1).sort())
- assertEquals(proto, Object.getPrototypeOf(p1))
- assertEquals(77, p1.p)
- for (var n in p1) {
- var desc = Object.getOwnPropertyDescriptor(p1, n)
- if (desc !== undefined) assertFalse(desc.configurable)
- }
-
- var p2 = Proxy.create(handler, proto)
- assertFixing(p2, false, false, true)
- Object.freeze(p2)
- assertFixing(p2, true, true, false)
- assertArrayEquals(names.sort(), Object.getOwnPropertyNames(p2).sort())
- assertArrayEquals(names.filter(function(x) {return x < "z"}).sort(),
- Object.keys(p2).sort())
- assertEquals(proto, Object.getPrototypeOf(p2))
- assertEquals(77, p2.p)
- for (var n in p2) {
- var desc = Object.getOwnPropertyDescriptor(p2, n)
- if (desc !== undefined) assertFalse(desc.writable)
- if (desc !== undefined) assertFalse(desc.configurable)
- }
-
- var p3 = Proxy.create(handler, proto)
- assertFixing(p3, false, false, true)
- Object.preventExtensions(p3)
- assertFixing(p3, names.length === 0, names.length === 0, false)
- assertArrayEquals(names.sort(), Object.getOwnPropertyNames(p3).sort())
- assertArrayEquals(names.filter(function(x) {return x < "z"}).sort(),
- Object.keys(p3).sort())
- assertEquals(proto, Object.getPrototypeOf(p3))
- assertEquals(77, p3.p)
-
- var p = Proxy.create(handler, proto)
- var o = Object.create(p)
- assertFixing(p, false, false, true)
- assertFixing(o, false, false, true)
- Object.freeze(o)
- assertFixing(p, false, false, true)
- assertFixing(o, true, true, false)
-}
-
-TestFix([], {
- fix: function() { return {} }
-})
-
-TestFix(["a", "b", "c", "3", "zz"], {
- fix: function() {
- return {
- a: {value: "a", writable: true, configurable: false, enumerable: true},
- b: {value: 33, writable: false, configurable: false, enumerable: true},
- c: {value: 0, writable: true, configurable: true, enumerable: true},
- '3': {value: true, writable: false, configurable: true, enumerable: true},
- zz: {value: 0, enumerable: false}
- }
- }
-})
-
-TestFix(["a"], {
- fix: function() { return this.fix2() },
- fix2: function() {
- return {a: {value: 4, writable: true, configurable: true, enumerable: true}}
- }
-})
-
-TestFix(["b"], {
- get fix() {
- return function() {
- return {b: {configurable: true, writable: true, enumerable: true}}
- }
- }
-})
-
-
-function TestFixFunction(fix) {
- var f1 = Proxy.createFunction({
- fix: function() { return {} }
- }, function() {})
- fix(f1)
- assertEquals(0, f1.length)
-
- var f2 = Proxy.createFunction({
- fix: function() { return {length: {value: 3}} }
- }, function() {})
- fix(f2)
- assertEquals(3, f2.length)
-
- var f3 = Proxy.createFunction({
- fix: function() { return {length: {value: "huh"}} }
- }, function() {})
- fix(f3)
- assertEquals(0, f1.length)
-}
-
-TestFixFunction(Object.seal)
-TestFixFunction(Object.freeze)
-TestFixFunction(Object.preventExtensions)
-
-
-function TestFixThrow(handler) {
- TestWithProxies(TestFixThrow2, handler)
-}
-
-function TestFixThrow2(create, handler) {
- var p = create(handler, {})
- assertThrows(function(){ Object.seal(p) }, "myexn")
- assertThrows(function(){ Object.freeze(p) }, "myexn")
- assertThrows(function(){ Object.preventExtensions(p) }, "myexn")
-}
-
-TestFixThrow({
- fix: function() { throw "myexn" }
-})
-
-TestFixThrow({
- fix: function() { return this.fix2() },
- fix2: function() { throw "myexn" }
-})
-
-TestFixThrow({
- get fix() { throw "myexn" }
-})
-
-TestFixThrow({
- get fix() {
- return function() { throw "myexn" }
- }
-})
-
-
-// Freeze a proxy in the middle of operations on it.
-// TODO(rossberg): actual behaviour not specified consistently at the moment,
-// just make sure that we do not crash.
-function TestReentrantFix(f) {
- TestWithProxies(f, Object.freeze)
- TestWithProxies(f, Object.seal)
- TestWithProxies(f, Object.preventExtensions)
-}
-
-TestReentrantFix(function(create, freeze) {
- var handler = {
- get get() { freeze(p); return undefined },
- fix: function() { return {} }
- }
- var p = create(handler)
- // Freeze while getting get trap.
- try { p.x } catch (e) { assertInstanceof(e, Error) }
-})
-
-TestReentrantFix(function(create, freeze) {
- var handler = {
- get: function() { freeze(p); return 3 },
- fix: function() { return {} }
- }
- var p = create(handler)
- // Freeze while executing get trap.
- try { p.x } catch (e) { assertInstanceof(e, Error) }
-})
-
-TestReentrantFix(function(create, freeze) {
- var handler = {
- getPropertyDescriptor: function() { freeze(p); return undefined },
- fix: function() { return {} }
- }
- var p = create(handler)
- // Freeze while executing default get trap.
- try { p.x } catch (e) { assertInstanceof(e, Error) }
-})
-
-TestReentrantFix(function(create, freeze) {
- var handler = {
- getPropertyDescriptor: function() { freeze(p); return {get: function(){}} },
- fix: function() { return {} }
- }
- var p = create(handler)
- var o = Object.create(p)
- // Freeze while getting a property from prototype.
- try { o.x } catch (e) { assertInstanceof(e, Error) }
-})
-
-TestReentrantFix(function(create, freeze) {
- var handler = {
- get set() { freeze(p); return undefined },
- fix: function() { return {} }
- }
- var p = create(handler)
- // Freeze while getting set trap.
- try { p.x = 4 } catch (e) { assertInstanceof(e, Error) }
-})
-
-TestReentrantFix(function(create, freeze) {
- var handler = {
- set: function() { freeze(p); return true },
- fix: function() { return {} }
- }
- var p = create(handler)
- // Freeze while executing set trap.
- try { p.x = 4 } catch (e) { assertInstanceof(e, Error) }
-})
-
-TestReentrantFix(function(create, freeze) {
- var handler = {
- getOwnPropertyDescriptor: function() { freeze(p); return undefined },
- fix: function() { return {} }
- }
- var p = create(handler)
- // Freeze while executing default set trap.
- try { p.x } catch (e) { assertInstanceof(e, Error) }
-})
-
-TestReentrantFix(function(create, freeze) {
- var handler = {
- getPropertyDescriptor: function() { freeze(p); return {set: function(){}} },
- fix: function() { return {} }
- }
- var p = create(handler)
- var o = Object.create(p)
- // Freeze while setting a property in prototype, dropping the property!
- try { o.x = 4 } catch (e) { assertInstanceof(e, Error) }
-})
-
-TestReentrantFix(function(create, freeze) {
- var handler = {
- getPropertyDescriptor: function() { freeze(p); return {set: function(){}} },
- fix: function() { return {x: {get: function(){}}} }
- }
- var p = create(handler)
- var o = Object.create(p)
- // Freeze while setting a property in prototype, making it read-only!
- try { o.x = 4 } catch (e) { assertInstanceof(e, Error) }
-})
-
-TestReentrantFix(function(create, freeze) {
- var handler = {
- get fix() { freeze(p); return function(){} }
- }
- var p = create(handler)
- // Freeze while getting fix trap.
- try { Object.freeze(p) } catch (e) { assertInstanceof(e, Error) }
- p = create(handler)
- try { Object.seal(p) } catch (e) { assertInstanceof(e, Error) }
- p = create(handler)
- try { Object.preventExtensions(p) } catch (e) { assertInstanceof(e, Error) }
-})
-
-TestReentrantFix(function(create, freeze) {
- var handler = {
- fix: function() { freeze(p); return {} }
- }
- var p = create(handler)
- // Freeze while executing fix trap.
- try { Object.freeze(p) } catch (e) { assertInstanceof(e, Error) }
- p = create(handler)
- try { Object.seal(p) } catch (e) { assertInstanceof(e, Error) }
- p = create(handler)
- try { Object.preventExtensions(p) } catch (e) { assertInstanceof(e, Error) }
-})
-
-
-
-// String conversion (Object.prototype.toString,
-// Object.prototype.toLocaleString,
-// Function.prototype.toString)
-
-var key
-
-function TestToString(handler) {
- var p = Proxy.create(handler)
- key = ""
- assertEquals("[object Object]", Object.prototype.toString.call(p))
- assertEquals("", key)
- assertEquals("my_proxy", Object.prototype.toLocaleString.call(p))
- assertEquals("toString", key)
-
- var f = Proxy.createFunction(handler, function() {})
- key = ""
- assertEquals("[object Function]", Object.prototype.toString.call(f))
- assertEquals("", key)
- assertEquals("my_proxy", Object.prototype.toLocaleString.call(f))
- assertEquals("toString", key)
- assertDoesNotThrow(function(){ Function.prototype.toString.call(f) })
-
- var o = Object.create(p)
- key = ""
- assertEquals("[object Object]", Object.prototype.toString.call(o))
- assertEquals("", key)
- assertEquals("my_proxy", Object.prototype.toLocaleString.call(o))
- assertEquals("toString", key)
-}
-
-TestToString({
- get: function(r, k) { key = k; return function() { return "my_proxy" } }
-})
-
-TestToString({
- get: function(r, k) { return this.get2(r, k) },
- get2: function(r, k) { key = k; return function() { return "my_proxy" } }
-})
-
-TestToString(Proxy.create({
- get: function(pr, pk) {
- return function(r, k) { key = k; return function() { return "my_proxy" } }
- }
-}))
-
-
-function TestToStringThrow(handler) {
- var p = Proxy.create(handler)
- assertEquals("[object Object]", Object.prototype.toString.call(p))
- assertThrows(function(){ Object.prototype.toLocaleString.call(p) }, "myexn")
-
- var f = Proxy.createFunction(handler, function() {})
- assertEquals("[object Function]", Object.prototype.toString.call(f))
- assertThrows(function(){ Object.prototype.toLocaleString.call(f) }, "myexn")
-
- var o = Object.create(p)
- assertEquals("[object Object]", Object.prototype.toString.call(o))
- assertThrows(function(){ Object.prototype.toLocaleString.call(o) }, "myexn")
-}
-
-TestToStringThrow({
- get: function(r, k) { throw "myexn" }
-})
-
-TestToStringThrow({
- get: function(r, k) { return function() { throw "myexn" } }
-})
-
-TestToStringThrow({
- get: function(r, k) { return this.get2(r, k) },
- get2: function(r, k) { throw "myexn" }
-})
-
-TestToStringThrow(Proxy.create({
- get: function(pr, pk) { throw "myexn" }
-}))
-
-TestToStringThrow(Proxy.create({
- get: function(pr, pk) {
- return function(r, k) { throw "myexn" }
- }
-}))
-
-
-
-// Value conversion (Object.prototype.toValue)
-
-function TestValueOf(handler) {
- TestWithProxies(TestValueOf2, handler)
-}
-
-function TestValueOf2(create, handler) {
- var p = create(handler)
- assertSame(p, Object.prototype.valueOf.call(p))
-}
-
-TestValueOf({})
-
-
-
-// Enumerability (Object.prototype.propertyIsEnumerable)
-
-var key
-
-function TestIsEnumerable(handler) {
- TestWithProxies(TestIsEnumerable2, handler)
-}
-
-function TestIsEnumerable2(create, handler) {
- var p = create(handler)
- assertTrue(Object.prototype.propertyIsEnumerable.call(p, "a"))
- assertEquals("a", key)
- assertTrue(Object.prototype.propertyIsEnumerable.call(p, 2))
- assertEquals("2", key)
- assertFalse(Object.prototype.propertyIsEnumerable.call(p, "z"))
- assertEquals("z", key)
-
- var o = Object.create(p)
- key = ""
- assertFalse(Object.prototype.propertyIsEnumerable.call(o, "a"))
- assertEquals("", key) // trap not invoked
-}
-
-TestIsEnumerable({
- getOwnPropertyDescriptor: function(k) {
- key = k; return {enumerable: k < "z", configurable: true}
- },
-})
-
-TestIsEnumerable({
- getOwnPropertyDescriptor: function(k) {
- return this.getOwnPropertyDescriptor2(k)
- },
- getOwnPropertyDescriptor2: function(k) {
- key = k; return {enumerable: k < "z", configurable: true}
- },
-})
-
-TestIsEnumerable({
- getOwnPropertyDescriptor: function(k) {
- key = k; return {get enumerable() { return k < "z" }, configurable: true}
- },
-})
-
-TestIsEnumerable(Proxy.create({
- get: function(pr, pk) {
- return function(k) {
- key = k; return {enumerable: k < "z", configurable: true}
- }
- }
-}))
-
-
-function TestIsEnumerableThrow(handler) {
- TestWithProxies(TestIsEnumerableThrow2, handler)
-}
-
-function TestIsEnumerableThrow2(create, handler) {
- var p = create(handler)
- assertThrows(function(){ Object.prototype.propertyIsEnumerable.call(p, "a") },
- "myexn")
- assertThrows(function(){ Object.prototype.propertyIsEnumerable.call(p, 11) },
- "myexn")
-}
-
-TestIsEnumerableThrow({
- getOwnPropertyDescriptor: function(k) { throw "myexn" }
-})
-
-TestIsEnumerableThrow({
- getOwnPropertyDescriptor: function(k) {
- return this.getOwnPropertyDescriptor2(k)
- },
- getOwnPropertyDescriptor2: function(k) { throw "myexn" }
-})
-
-TestIsEnumerableThrow({
- getOwnPropertyDescriptor: function(k) {
- return {get enumerable() { throw "myexn" }, configurable: true}
- },
-})
-
-TestIsEnumerableThrow(Proxy.create({
- get: function(pr, pk) { throw "myexn" }
-}))
-
-TestIsEnumerableThrow(Proxy.create({
- get: function(pr, pk) {
- return function(k) { throw "myexn" }
- }
-}))
-
-
-
-// Constructor functions with proxy prototypes.
-
-function TestConstructorWithProxyPrototype() {
- TestWithProxies(TestConstructorWithProxyPrototype2, {})
-}
-
-function TestConstructorWithProxyPrototype2(create, handler) {
- function C() {};
- C.prototype = create(handler);
-
- var o = new C;
- assertSame(C.prototype, Object.getPrototypeOf(o));
-}
-
-TestConstructorWithProxyPrototype();
diff --git a/src/3rdparty/v8/test/mjsunit/harmony/symbols.js b/src/3rdparty/v8/test/mjsunit/harmony/symbols.js
deleted file mode 100644
index baec514..0000000
--- a/src/3rdparty/v8/test/mjsunit/harmony/symbols.js
+++ /dev/null
@@ -1,127 +0,0 @@
-// Copyright 2013 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --harmony-symbols --harmony-collections
-// Flags: --expose-gc --allow-natives-syntax
-
-var symbols = []
-
-// Test different forms of constructor calls, all equivalent.
-function TestNew() {
- function IndirectSymbol() { return new Symbol }
- function indirect() { return new IndirectSymbol() }
- for (var i = 0; i < 10; ++i) {
- symbols.push(new Symbol)
- symbols.push(new Symbol())
- symbols.push(Symbol())
- symbols.push(indirect())
- }
- %OptimizeFunctionOnNextCall(indirect)
- indirect() // Call once before GC throws away type feedback.
- gc() // Promote existing symbols and then allocate some more.
- for (var i = 0; i < 10; ++i) {
- symbols.push(new Symbol)
- symbols.push(new Symbol())
- symbols.push(Symbol())
- symbols.push(indirect())
- }
-}
-TestNew()
-
-
-function TestType() {
- for (var i in symbols) {
- assertTrue(%_IsSymbol(symbols[i]))
- assertEquals("object", typeof symbols[i])
- assertTrue(typeof symbols[i] === "object")
- assertEquals("[object Symbol]", Object.prototype.toString.call(symbols[i]))
- }
-}
-TestType()
-
-
-function TestEquality() {
- // Every symbol should equal itself.
- for (var i in symbols) {
- assertSame(symbols[i], symbols[i])
- assertEquals(symbols[i], symbols[i])
- assertTrue(Object.is(symbols[i], symbols[i]))
- assertTrue(symbols[i] === symbols[i])
- assertTrue(symbols[i] == symbols[i])
- }
-
- // All symbols should be distinct.
- for (var i = 0; i < symbols.length; ++i) {
- for (var j = i + 1; j < symbols.length; ++j) {
- assertFalse(Object.is(symbols[i], symbols[j]))
- assertFalse(symbols[i] === symbols[j])
- assertFalse(symbols[i] == symbols[j])
- }
- }
-}
-TestEquality()
-
-
-function TestGet() {
- for (var i in symbols) {
- assertEquals("[object Symbol]", symbols[i].toString())
- assertEquals(undefined, symbols[i].valueOf)
- assertEquals(undefined, symbols[i].a)
- assertEquals(undefined, symbols[i]["a" + "b"])
- assertEquals(undefined, symbols[i]["" + "1"])
- assertEquals(undefined, symbols[i][62])
- }
-}
-TestGet()
-
-
-function TestSet() {
- for (var i in symbols) {
- symbols[i].toString = 0
- assertEquals("[object Symbol]", symbols[i].toString())
- symbols[i].a = 0
- assertEquals(undefined, symbols[i].a)
- symbols[i]["a" + "b"] = 0
- assertEquals(undefined, symbols[i]["a" + "b"])
- symbols[i][62] = 0
- assertEquals(undefined, symbols[i][62])
- }
-}
-TestSet()
-
-
-function TestMap() {
- var map = new Map;
- for (var i in symbols) {
- map.set(symbols[i], i)
- }
- for (var i in symbols) {
- assertTrue(map.has(symbols[i]))
- assertEquals(i, map.get(symbols[i]))
- }
-}
-TestMap()
diff --git a/src/3rdparty/v8/test/mjsunit/harmony/typeof.js b/src/3rdparty/v8/test/mjsunit/harmony/typeof.js
deleted file mode 100644
index acde977..0000000
--- a/src/3rdparty/v8/test/mjsunit/harmony/typeof.js
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --harmony-typeof
-
-assertFalse(typeof null == 'object')
-assertFalse(typeof null === 'object')
-assertTrue(typeof null == 'null')
-assertTrue(typeof null === 'null')
-assertEquals("null", typeof null)
-assertSame("null", typeof null)
diff --git a/src/3rdparty/v8/test/mjsunit/has-own-property.js b/src/3rdparty/v8/test/mjsunit/has-own-property.js
deleted file mode 100644
index 5ff8db5..0000000
--- a/src/3rdparty/v8/test/mjsunit/has-own-property.js
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Check for objects.
-assertTrue({x:12}.hasOwnProperty('x'));
-assertFalse({x:12}.hasOwnProperty('y'));
-
-// Check for strings.
-assertTrue(''.hasOwnProperty('length'));
-assertTrue(Object.prototype.hasOwnProperty.call('', 'length'));
-
-// Check for numbers.
-assertFalse((123).hasOwnProperty('length'));
-assertFalse(Object.prototype.hasOwnProperty.call(123, 'length'));
diff --git a/src/3rdparty/v8/test/mjsunit/hex-parsing.js b/src/3rdparty/v8/test/mjsunit/hex-parsing.js
deleted file mode 100644
index 6a42f49..0000000
--- a/src/3rdparty/v8/test/mjsunit/hex-parsing.js
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var k = 0x1000000000000081;
-assertEquals(1152921504606847200, k);
-k = 0x1000000000000281;
-assertEquals(1152921504606847700, k);
-k = 0x10000000000002810;
-assertEquals(18446744073709564000, k);
-k = 0x10000000000002810000;
-assertEquals(7.555786372591437e+22, k);
-k = 0xffffffffffffffff;
-assertEquals(18446744073709552000, k);
-k = 0xffffffffffffffffffff;
-assertEquals(1.2089258196146292e+24, k);
diff --git a/src/3rdparty/v8/test/mjsunit/html-comments.js b/src/3rdparty/v8/test/mjsunit/html-comments.js
deleted file mode 100644
index cc2315b..0000000
--- a/src/3rdparty/v8/test/mjsunit/html-comments.js
+++ /dev/null
@@ -1,57 +0,0 @@
---> must work at beginning of file!
-
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var x = 1;
---> this must be ignored...
- --> so must this...
- --> and this.
-x-->0;
-assertEquals(0, x, 'a');
-
-
-var x = 0; x <!-- x
-assertEquals(0, x, 'b');
-
-var x = 1; x <!--x
-assertEquals(1, x, 'c');
-
-var x = 2; x <!-- x; x = 42;
-assertEquals(2, x, 'd');
-
-var x = 1; x <! x--;
-assertEquals(0, x, 'e');
-
-var x = 1; x <!- x--;
-assertEquals(0, x, 'f');
-
-var b = true <! true;
-assertFalse(b, 'g');
-
-var b = true <!- true;
-assertFalse(b, 'h');
diff --git a/src/3rdparty/v8/test/mjsunit/html-string-funcs.js b/src/3rdparty/v8/test/mjsunit/html-string-funcs.js
deleted file mode 100644
index b640639..0000000
--- a/src/3rdparty/v8/test/mjsunit/html-string-funcs.js
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Spidermonkey and IE has some string functions useable for building
-// HTML.
-function CheckSimple(f, tag) {
- assertEquals('<' + tag + '>foo</' + tag + '>',
- "foo"[f]().toLowerCase());
-};
-var simple = { big: 'big', blink: 'blink', bold: 'b',
- fixed: 'tt', italics: 'i', small: 'small',
- strike: 'strike', sub: 'sub', sup: 'sup' };
-for (var i in simple) CheckSimple(i, simple[i]);
-
-
-function CheckCompound(f, tag, att) {
- assertEquals('<' + tag + ' ' + att + '="bar">foo</' + tag + '>',
- "foo"[f]("bar").toLowerCase());
-};
-CheckCompound('anchor', 'a', 'name');
-CheckCompound('link', 'a', 'href');
-CheckCompound('fontcolor', 'font', 'color');
-CheckCompound('fontsize', 'font', 'size');
diff --git a/src/3rdparty/v8/test/mjsunit/if-in-undefined.js b/src/3rdparty/v8/test/mjsunit/if-in-undefined.js
deleted file mode 100644
index 5bfa42e..0000000
--- a/src/3rdparty/v8/test/mjsunit/if-in-undefined.js
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// ECMA-252 11.8.7
-//
-// If the ShiftExpression is not an object, should throw an TypeError.
-// Should throw an exception, but not crash VM.
-
-assertThrows("if ('p' in undefined) { }");
-assertThrows("if ('p' in null) { }")
-assertThrows("if ('p' in true) { }");
-assertThrows("if ('p' in 5) { }");
diff --git a/src/3rdparty/v8/test/mjsunit/in.js b/src/3rdparty/v8/test/mjsunit/in.js
deleted file mode 100644
index cca6187..0000000
--- a/src/3rdparty/v8/test/mjsunit/in.js
+++ /dev/null
@@ -1,159 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// ----------------
-// Check fast objects
-
-var o = { };
-assertFalse(0 in o);
-assertFalse('x' in o);
-assertFalse('y' in o);
-assertTrue('toString' in o, "toString");
-
-var o = { x: 12 };
-assertFalse(0 in o);
-assertTrue('x' in o);
-assertFalse('y' in o);
-assertTrue('toString' in o, "toString");
-
-var o = { x: 12, y: 15 };
-assertFalse(0 in o);
-assertTrue('x' in o);
-assertTrue('y' in o);
-assertTrue('toString' in o, "toString");
-
-
-// ----------------
-// Check dense arrays
-
-var a = [ ];
-assertFalse(0 in a);
-assertFalse(1 in a);
-assertFalse('0' in a);
-assertFalse('1' in a);
-assertTrue('toString' in a, "toString");
-
-var a = [ 1 ];
-assertTrue(0 in a);
-assertFalse(1 in a);
-assertTrue('0' in a);
-assertFalse('1' in a);
-assertTrue('toString' in a, "toString");
-
-var a = [ 1, 2 ];
-assertTrue(0 in a);
-assertTrue(1 in a);
-assertTrue('0' in a);
-assertTrue('1' in a);
-assertTrue('toString' in a, "toString");
-
-var a = [ 1, 2 ];
-assertFalse(0.001 in a);
-assertTrue(-0 in a);
-assertTrue(+0 in a);
-assertFalse('0.0' in a);
-assertFalse('1.0' in a);
-assertFalse(NaN in a);
-assertFalse(Infinity in a);
-assertFalse(-Infinity in a);
-
-var a = [];
-a[1] = 2;
-assertFalse(0 in a);
-assertTrue(1 in a);
-assertFalse(2 in a);
-assertFalse('0' in a);
-assertTrue('1' in a);
-assertFalse('2' in a);
-assertTrue('toString' in a, "toString");
-
-
-// ----------------
-// Check dictionary ("normalized") objects
-
-var o = {};
-for (var i = 0x0020; i < 0x02ff; i += 2) {
- o['char:' + String.fromCharCode(i)] = i;
-}
-for (var i = 0x0020; i < 0x02ff; i += 2) {
- assertTrue('char:' + String.fromCharCode(i) in o);
- assertFalse('char:' + String.fromCharCode(i + 1) in o);
-}
-assertTrue('toString' in o, "toString");
-
-var o = {};
-o[Math.pow(2,30)-1] = 0;
-o[Math.pow(2,31)-1] = 0;
-o[1] = 0;
-assertFalse(0 in o);
-assertTrue(1 in o);
-assertFalse(2 in o);
-assertFalse(Math.pow(2,30)-2 in o);
-assertTrue(Math.pow(2,30)-1 in o);
-assertFalse(Math.pow(2,30)-0 in o);
-assertTrue(Math.pow(2,31)-1 in o);
-assertFalse(0.001 in o);
-assertFalse('0.0' in o);
-assertFalse('1.0' in o);
-assertFalse(NaN in o);
-assertFalse(Infinity in o);
-assertFalse(-Infinity in o);
-assertFalse(-0 in o);
-assertFalse(+0 in o);
-assertTrue('toString' in o, "toString");
-
-
-// ----------------
-// Check sparse arrays
-
-var a = [];
-a[Math.pow(2,30)-1] = 0;
-a[Math.pow(2,31)-1] = 0;
-a[1] = 0;
-assertFalse(0 in a, "0 in a");
-assertTrue(1 in a, "1 in a");
-assertFalse(2 in a, "2 in a");
-assertFalse(Math.pow(2,30)-2 in a, "Math.pow(2,30)-2 in a");
-assertTrue(Math.pow(2,30)-1 in a, "Math.pow(2,30)-1 in a");
-assertFalse(Math.pow(2,30)-0 in a, "Math.pow(2,30)-0 in a");
-assertTrue(Math.pow(2,31)-1 in a, "Math.pow(2,31)-1 in a");
-assertFalse(0.001 in a, "0.001 in a");
-assertFalse('0.0' in a,"'0.0' in a");
-assertFalse('1.0' in a,"'1.0' in a");
-assertFalse(NaN in a,"NaN in a");
-assertFalse(Infinity in a,"Infinity in a");
-assertFalse(-Infinity in a,"-Infinity in a");
-assertFalse(-0 in a,"-0 in a");
-assertFalse(+0 in a,"+0 in a");
-assertTrue('toString' in a, "toString");
-
-// -------------
-// Check negative indices in arrays.
-var a = [];
-assertFalse(-1 in a);
-a[-1] = 43;
-assertTrue(-1 in a);
diff --git a/src/3rdparty/v8/test/mjsunit/indexed-accessors.js b/src/3rdparty/v8/test/mjsunit/indexed-accessors.js
deleted file mode 100644
index b69695a..0000000
--- a/src/3rdparty/v8/test/mjsunit/indexed-accessors.js
+++ /dev/null
@@ -1,108 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that getters can be defined and called with an index as a parameter.
-
-var o = {};
-o.x = 42;
-o.__defineGetter__('0', function() { return o.x; });
-assertEquals(o.x, o[0]);
-assertEquals(o.x, o.__lookupGetter__('0')());
-
-o.__defineSetter__('0', function(y) { o.x = y; });
-assertEquals(o.x, o[0]);
-assertEquals(o.x, o.__lookupGetter__('0')());
-o[0] = 21;
-assertEquals(21, o.x);
-o.__lookupSetter__(0)(7);
-assertEquals(7, o.x);
-
-function Pair(x, y) {
- this.x = x;
- this.y = y;
-};
-Pair.prototype.__defineGetter__('0', function() { return this.x; });
-Pair.prototype.__defineGetter__('1', function() { return this.y; });
-Pair.prototype.__defineSetter__('0', function(x) { this.x = x; });
-Pair.prototype.__defineSetter__('1', function(y) { this.y = y; });
-
-var p = new Pair(2, 3);
-assertEquals(2, p[0]);
-assertEquals(3, p[1]);
-p.x = 7;
-p[1] = 8;
-assertEquals(7, p[0]);
-assertEquals(7, p.x);
-assertEquals(8, p[1]);
-assertEquals(8, p.y);
-
-
-// Testing that a defined getter doesn't get lost due to inline caching.
-var expected = {};
-var actual = {};
-for (var i = 0; i < 10; i++) {
- expected[i] = actual[i] = i;
-}
-function testArray() {
- for (var i = 0; i < 10; i++) {
- assertEquals(expected[i], actual[i]);
- }
-}
-actual[1000000] = -1;
-testArray();
-testArray();
-actual.__defineGetter__('0', function() { return expected[0]; });
-expected[0] = 42;
-testArray();
-expected[0] = 111;
-testArray();
-
-// Using a setter where only a getter is defined does not throw an exception,
-// unless we are in strict mode.
-var q = {};
-q.__defineGetter__('0', function() { return 42; });
-assertDoesNotThrow('q[0] = 7');
-
-// Using a getter where only a setter is defined returns undefined.
-var q1 = {};
-q1.__defineSetter__('0', function() {q1.b = 17;});
-assertEquals(q1[0], undefined);
-// Setter works
-q1[0] = 3;
-assertEquals(q1[0], undefined);
-assertEquals(q1.b, 17);
-
-// Complex case of using an undefined getter.
-// From http://code.google.com/p/v8/issues/detail?id=298
-// Reported by nth10sd.
-
-a = function() {};
-__defineSetter__("0", function() {});
-if (a |= '') {};
-assertThrows('this[a].__parent__');
-assertEquals(a, 0);
-assertEquals(this[a], undefined);
diff --git a/src/3rdparty/v8/test/mjsunit/indexed-value-properties.js b/src/3rdparty/v8/test/mjsunit/indexed-value-properties.js
deleted file mode 100644
index 92bb896..0000000
--- a/src/3rdparty/v8/test/mjsunit/indexed-value-properties.js
+++ /dev/null
@@ -1,56 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that the Number, String and Boolean prototypes are searched
-// for indexed properties on value objects.
-
-function return_one() { return 1; };
-
-function test(value) {
- for (var i = 0; i < 10; i++) {
- assertEquals(0, (value)[0]);
- assertEquals(0, (value)["0"]);
- assertEquals(return_one, (value)[1]);
- assertEquals(return_one, (value)["1"]);
- assertEquals(1, (value)[1]());
- assertEquals(1, (value)["1"]());
- }
-}
-
-Number.prototype[0] = 0;
-Number.prototype[1] = return_one;
-test(0);
-test(0.1);
-
-String.prototype[0] = 0;
-String.prototype[1] = return_one;
-test("");
-
-Boolean.prototype[0] = 0;
-Boolean.prototype[1] = return_one;
-test(true);
-test(false);
diff --git a/src/3rdparty/v8/test/mjsunit/instanceof-2.js b/src/3rdparty/v8/test/mjsunit/instanceof-2.js
deleted file mode 100644
index fd6874d..0000000
--- a/src/3rdparty/v8/test/mjsunit/instanceof-2.js
+++ /dev/null
@@ -1,329 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var except = "exception";
-
-var correct_answer_index = 0;
-var correct_answers = [
- false, false, true, true, false, false, true, true,
- true, false, false, true, true, false, false, true,
- false, true, true, false, false, true, true, false,
- true, true, false, false, true, true, false, false,
-except, except, true, true, except, except, true, true,
-except, except, false, true, except, except, false, true,
-except, except, true, false, except, except, true, false,
-except, except, false, false, except, except, false, false,
- false, false, except, except, false, false, except, except,
- true, false, except, except, true, false, except, except,
- false, true, except, except, false, true, except, except,
- true, true, except, except, true, true, except, except,
-except, except, except, except, except, except, except, except,
-except, except, except, except, except, except, except, except,
-except, except, except, except, except, except, except, except,
-except, except, except, except, except, except, except, except,
- false, false, true, true, false, false, true, true,
- true, false, false, true, false, false, true, true,
- false, true, true, false, false, true, true, false,
- true, true, false, false, false, true, true, false,
-except, except, true, true, except, except, true, true,
-except, except, false, true, except, except, true, true,
-except, except, true, false, except, except, true, false,
-except, except, false, false, except, except, true, false,
- false, false, except, except, false, false, except, except,
- true, false, except, except, true, false, except, except,
- false, true, except, except, false, true, except, except,
- true, true, except, except, true, true, except, except,
-except, except, except, except, except, except, except, except,
-except, except, except, except, except, except, except, except,
-except, except, except, except, except, except, except, except,
-except, except, except, except, except, except, except, except,
- false, false, true, true, false, true, true, false,
- true, false, false, true, true, true, false, false,
- false, true, true, false, false, true, true, false,
- true, true, false, false, true, true, false, false,
-except, except, true, true, except, except, true, true,
-except, except, false, true, except, except, false, true,
-except, except, true, false, except, except, true, false,
-except, except, false, false, except, except, false, false,
- false, false, except, except, false, true, except, except,
- true, false, except, except, true, true, except, except,
- false, true, except, except, false, true, except, except,
- true, true, except, except, true, true, except, except,
-except, except, except, except, except, except, except, except,
-except, except, except, except, except, except, except, except,
-except, except, except, except, except, except, except, except,
-except, except, except, except, except, except, except, except,
- false, false, true, true, false, true, true, false,
- true, false, false, true, false, true, true, false,
- false, true, true, false, false, true, true, false,
- true, true, false, false, false, true, true, false,
-except, except, true, true, except, except, true, true,
-except, except, false, true, except, except, true, true,
-except, except, true, false, except, except, true, false,
-except, except, false, false, except, except, true, false,
- false, false, except, except, false, true, except, except,
- true, false, except, except, true, true, except, except,
- false, true, except, except, false, true, except, except,
- true, true, except, except, true, true, except, except,
-except, except, except, except, except, except, except, except,
-except, except, except, except, except, except, except, except,
-except, except, except, except, except, except, except, except,
-except, except, except, except, except, except, except, except,
- false, false, true, true, false, false, true, true,
- true, false, false, true, false, false, true, true,
- false, true, true, false, true, true, false, false,
- true, true, false, false, true, true, false, false,
-except, except, true, true, except, except, true, true,
-except, except, false, true, except, except, true, true,
-except, except, true, false, except, except, false, false,
-except, except, false, false, except, except, false, false,
- false, false, except, except, false, false, except, except,
- true, false, except, except, false, false, except, except,
- false, true, except, except, true, true, except, except,
- true, true, except, except, true, true, except, except,
-except, except, except, except, except, except, except, except,
-except, except, except, except, except, except, except, except,
-except, except, except, except, except, except, except, except,
-except, except, except, except, except, except, except, except,
- false, false, true, true, false, false, true, true,
- true, false, false, true, false, false, true, true,
- false, true, true, false, true, true, false, false,
- true, true, false, false, true, true, false, false,
-except, except, true, true, except, except, true, true,
-except, except, false, true, except, except, true, true,
-except, except, true, false, except, except, false, false,
-except, except, false, false, except, except, false, false,
- false, false, except, except, false, false, except, except,
- true, false, except, except, false, false, except, except,
- false, true, except, except, true, true, except, except,
- true, true, except, except, true, true, except, except,
-except, except, except, except, except, except, except, except,
-except, except, except, except, except, except, except, except,
-except, except, except, except, except, except, except, except,
-except, except, except, except, except, except, except, except,
- false, false, true, true, true, true, false, false,
- true, false, false, true, true, true, false, false,
- false, true, true, false, true, true, false, false,
- true, true, false, false, true, true, false, false,
-except, except, true, true, except, except, true, true,
-except, except, false, true, except, except, true, true,
-except, except, true, false, except, except, false, false,
-except, except, false, false, except, except, false, false,
- false, false, except, except, true, true, except, except,
- true, false, except, except, true, true, except, except,
- false, true, except, except, true, true, except, except,
- true, true, except, except, true, true, except, except,
-except, except, except, except, except, except, except, except,
-except, except, except, except, except, except, except, except,
-except, except, except, except, except, except, except, except,
-except, except, except, except, except, except, except, except,
- false, false, true, true, true, true, false, false,
- true, false, false, true, true, true, false, false,
- false, true, true, false, true, true, false, false,
- true, true, false, false, true, true, false, false,
-except, except, true, true, except, except, true, true,
-except, except, false, true, except, except, true, true,
-except, except, true, false, except, except, false, false,
-except, except, false, false, except, except, false, false,
- false, false, except, except, true, true, except, except,
- true, false, except, except, true, true, except, except,
- false, true, except, except, true, true, except, except,
- true, true, except, except, true, true, except, except,
-except, except, except, except, except, except, except, except,
-except, except, except, except, except, except, except, except,
-except, except, except, except, except, except, except, except,
-except, except, except, except, except, except, except, except,
- false, false, true, true, false, false, true, true,
- true, false, false, true, true, true, false, false,
- false, true, true, false, false, false, true, true,
- true, true, false, false, true, true, false, false,
-except, except, true, true, except, except, true, true,
-except, except, false, true, except, except, false, false,
-except, except, true, false, except, except, true, true,
-except, except, false, false, except, except, false, false,
- false, false, except, except, false, false, except, except,
- true, false, except, except, true, true, except, except,
- false, true, except, except, false, false, except, except,
- true, true, except, except, true, true, except, except,
-except, except, except, except, except, except, except, except,
-except, except, except, except, except, except, except, except,
-except, except, except, except, except, except, except, except,
-except, except, except, except, except, except, except, except,
- false, false, true, true, false, false, true, true,
- true, false, false, true, false, false, true, true,
- false, true, true, false, false, false, true, true,
- true, true, false, false, false, false, true, true,
-except, except, true, true, except, except, true, true,
-except, except, false, true, except, except, true, true,
-except, except, true, false, except, except, true, true,
-except, except, false, false, except, except, true, true,
- false, false, except, except, false, false, except, except,
- true, false, except, except, true, true, except, except,
- false, true, except, except, false, false, except, except,
- true, true, except, except, true, true, except, except,
-except, except, except, except, except, except, except, except,
-except, except, except, except, except, except, except, except,
-except, except, except, except, except, except, except, except,
-except, except, except, except, except, except, except, except,
- false, false, true, true, false, false, true, true,
- true, false, false, true, true, true, false, false,
- false, true, true, false, false, false, true, true,
- true, true, false, false, true, true, false, false,
-except, except, true, true, except, except, true, true,
-except, except, false, true, except, except, false, false,
-except, except, true, false, except, except, true, true,
-except, except, false, false, except, except, false, false,
- false, false, except, except, false, false, except, except,
- true, false, except, except, true, true, except, except,
- false, true, except, except, false, false, except, except,
- true, true, except, except, true, true, except, except,
-except, except, except, except, except, except, except, except,
-except, except, except, except, except, except, except, except,
-except, except, except, except, except, except, except, except,
-except, except, except, except, except, except, except, except,
- false, false, true, true, false, false, true, true,
- true, false, false, true, false, false, true, true,
- false, true, true, false, false, false, true, true,
- true, true, false, false, false, false, true, true,
-except, except, true, true, except, except, true, true,
-except, except, false, true, except, except, true, true,
-except, except, true, false, except, except, true, true,
-except, except, false, false, except, except, true, true,
- false, false, except, except, false, false, except, except,
- true, false, except, except, true, true, except, except,
- false, true, except, except, false, false, except, except,
- true, true, except, except, true, true, except, except,
-except, except, except, except, except, except, except, except,
-except, except, except, except, except, except, except, except,
-except, except, except, except, except, except, except, except,
-except, except, except, except, except, except, except, except,
- false, false, true, true, false, false, true, true,
- true, false, false, true, false, false, true, true,
- false, true, true, false, true, true, false, false,
- true, true, false, false, true, true, false, false,
-except, except, true, true, except, except, true, true,
-except, except, false, true, except, except, true, true,
-except, except, true, false, except, except, false, false,
-except, except, false, false, except, except, false, false,
- false, false, except, except, false, false, except, except,
- true, false, except, except, false, false, except, except,
- false, true, except, except, true, true, except, except,
- true, true, except, except, true, true, except, except,
-except, except, except, except, except, except, except, except,
-except, except, except, except, except, except, except, except,
-except, except, except, except, except, except, except, except,
-except, except, except, except, except, except, except, except,
- false, false, true, true, false, false, true, true,
- true, false, false, true, false, false, true, true,
- false, true, true, false, true, true, false, false,
- true, true, false, false, true, true, false, false,
-except, except, true, true, except, except, true, true,
-except, except, false, true, except, except, true, true,
-except, except, true, false, except, except, false, false,
-except, except, false, false, except, except, false, false,
- false, false, except, except, false, false, except, except,
- true, false, except, except, false, false, except, except,
- false, true, except, except, true, true, except, except,
- true, true, except, except, true, true, except, except,
-except, except, except, except, except, except, except, except,
-except, except, except, except, except, except, except, except,
-except, except, except, except, except, except, except, except,
-except, except, except, except, except, except, except, except,
- false, false, true, true, true, true, false, false,
- true, false, false, true, true, true, false, false,
- false, true, true, false, true, true, false, false,
- true, true, false, false, true, true, false, false,
-except, except, true, true, except, except, true, true,
-except, except, false, true, except, except, true, true,
-except, except, true, false, except, except, false, false,
-except, except, false, false, except, except, false, false,
- false, false, except, except, true, true, except, except,
- true, false, except, except, true, true, except, except,
- false, true, except, except, true, true, except, except,
- true, true, except, except, true, true, except, except,
-except, except, except, except, except, except, except, except,
-except, except, except, except, except, except, except, except,
-except, except, except, except, except, except, except, except,
-except, except, except, except, except, except, except, except,
- false, false, true, true, true, true, false, false,
- true, false, false, true, true, true, false, false,
- false, true, true, false, true, true, false, false,
- true, true, false, false, true, true, false, false,
-except, except, true, true, except, except, true, true,
-except, except, false, true, except, except, true, true,
-except, except, true, false, except, except, false, false,
-except, except, false, false, except, except, false, false,
- false, false, except, except, true, true, except, except,
- true, false, except, except, true, true, except, except,
- false, true, except, except, true, true, except, except,
- true, true, except, except, true, true, except, except,
-except, except, except, except, except, except, except, except,
-except, except, except, except, except, except, except, except,
-except, except, except, except, except, except, except, except,
-except, except, except, except, except, except, except, except];
-
-for (var i = 0; i < 256; i++) {
- Test(i & 1, i & 2, i & 4, i & 8, i & 0x10, i & 0x20, i & 0x40, i & 0x80);
-}
-
-
-function InstanceTest(x, func) {
- try {
- var answer = (x instanceof func);
- assertEquals(correct_answers[correct_answer_index], answer);
- } catch (e) {
- assertTrue(/prototype/.test(e));
- assertEquals(correct_answers[correct_answer_index], except);
- }
- correct_answer_index++;
-}
-
-
-function Test(a, b, c, d, e, f, g, h) {
- var Foo = function() { }
- var Bar = function() { }
-
- if (c) Foo.prototype = 12;
- if (d) Bar.prototype = 13;
- var x = a ? new Foo() : new Bar();
- var y = b ? new Foo() : new Bar();
- InstanceTest(x, Foo);
- InstanceTest(y, Foo);
- InstanceTest(x, Bar);
- InstanceTest(y, Bar);
- if (e) x.__proto__ = Bar.prototype;
- if (f) y.__proto__ = Foo.prototype;
- if (g) {
- x.__proto__ = y;
- } else {
- if (h) y.__proto__ = x
- }
- InstanceTest(x, Foo);
- InstanceTest(y, Foo);
- InstanceTest(x, Bar);
- InstanceTest(y, Bar);
-}
diff --git a/src/3rdparty/v8/test/mjsunit/instanceof.js b/src/3rdparty/v8/test/mjsunit/instanceof.js
deleted file mode 100644
index 050ef2d..0000000
--- a/src/3rdparty/v8/test/mjsunit/instanceof.js
+++ /dev/null
@@ -1,93 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-assertTrue({} instanceof Object);
-assertTrue([] instanceof Object);
-
-assertFalse({} instanceof Array);
-assertTrue([] instanceof Array);
-
-function TestChains() {
- var A = {};
- var B = {};
- var C = {};
- B.__proto__ = A;
- C.__proto__ = B;
-
- function F() { }
- F.prototype = A;
- assertTrue(C instanceof F);
- assertTrue(B instanceof F);
- assertFalse(A instanceof F);
-
- F.prototype = B;
- assertTrue(C instanceof F);
- assertFalse(B instanceof F);
- assertFalse(A instanceof F);
-
- F.prototype = C;
- assertFalse(C instanceof F);
- assertFalse(B instanceof F);
- assertFalse(A instanceof F);
-}
-
-TestChains();
-
-
-function TestExceptions() {
- function F() { }
- var items = [ 1, new Number(42),
- true,
- 'string', new String('hest'),
- {}, [],
- F, new F(),
- Object, String ];
-
- var exceptions = 0;
- var instanceofs = 0;
-
- for (var i = 0; i < items.length; i++) {
- for (var j = 0; j < items.length; j++) {
- try {
- if (items[i] instanceof items[j]) instanceofs++;
- } catch (e) {
- assertTrue(e instanceof TypeError);
- exceptions++;
- }
- }
- }
- assertEquals(10, instanceofs);
- assertEquals(88, exceptions);
-
- // Make sure to throw an exception if the function prototype
- // isn't a proper JavaScript object.
- function G() { }
- G.prototype = undefined;
- assertThrows("({} instanceof G)");
-}
-
-TestExceptions();
diff --git a/src/3rdparty/v8/test/mjsunit/int32-ops.js b/src/3rdparty/v8/test/mjsunit/int32-ops.js
deleted file mode 100644
index 1883926..0000000
--- a/src/3rdparty/v8/test/mjsunit/int32-ops.js
+++ /dev/null
@@ -1,227 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Repeat most the tests in smi-ops.js that use SMI_MIN and SMI_MAX, but
-// with SMI_MIN and SMI_MAX from the 64-bit platform, which represents all
-// signed 32-bit integer values as smis.
-
-const SMI_MAX = (1 << 30) - 1 + (1 << 30); // Create without overflowing.
-const SMI_MIN = -SMI_MAX - 1; // Create without overflowing.
-const ONE = 1;
-const ONE_HUNDRED = 100;
-
-const OBJ_42 = new (function() {
- this.valueOf = function() { return 42; };
-})();
-
-assertEquals(42, OBJ_42.valueOf());
-
-
-function Add1(x) {
- return x + 1;
-}
-
-function Add100(x) {
- return x + 100;
-}
-
-function Add1Reversed(x) {
- return 1 + x;
-}
-
-function Add100Reversed(x) {
- return 100 + x;
-}
-
-
-assertEquals(1, Add1(0)); // fast case
-assertEquals(1, Add1Reversed(0)); // fast case
-assertEquals(SMI_MAX + ONE, Add1(SMI_MAX), "smimax + 1");
-assertEquals(SMI_MAX + ONE, Add1Reversed(SMI_MAX), "1 + smimax");
-assertEquals(42 + ONE, Add1(OBJ_42)); // non-smi
-assertEquals(42 + ONE, Add1Reversed(OBJ_42)); // non-smi
-
-assertEquals(100, Add100(0)); // fast case
-assertEquals(100, Add100Reversed(0)); // fast case
-assertEquals(SMI_MAX + ONE_HUNDRED, Add100(SMI_MAX), "smimax + 100");
-assertEquals(SMI_MAX + ONE_HUNDRED, Add100Reversed(SMI_MAX), " 100 + smimax");
-assertEquals(42 + ONE_HUNDRED, Add100(OBJ_42)); // non-smi
-assertEquals(42 + ONE_HUNDRED, Add100Reversed(OBJ_42)); // non-smi
-
-
-
-function Sub1(x) {
- return x - 1;
-}
-
-function Sub100(x) {
- return x - 100;
-}
-
-function Sub1Reversed(x) {
- return 1 - x;
-}
-
-function Sub100Reversed(x) {
- return 100 - x;
-}
-
-
-assertEquals(0, Sub1(1)); // fast case
-assertEquals(-1, Sub1Reversed(2)); // fast case
-assertEquals(SMI_MIN - ONE, Sub1(SMI_MIN)); // overflow
-assertEquals(ONE - SMI_MIN, Sub1Reversed(SMI_MIN)); // overflow
-assertEquals(42 - ONE, Sub1(OBJ_42)); // non-smi
-assertEquals(ONE - 42, Sub1Reversed(OBJ_42)); // non-smi
-
-assertEquals(0, Sub100(100)); // fast case
-assertEquals(1, Sub100Reversed(99)); // fast case
-assertEquals(SMI_MIN - ONE_HUNDRED, Sub100(SMI_MIN)); // overflow
-assertEquals(ONE_HUNDRED - SMI_MIN, Sub100Reversed(SMI_MIN)); // overflow
-assertEquals(42 - ONE_HUNDRED, Sub100(OBJ_42)); // non-smi
-assertEquals(ONE_HUNDRED - 42, Sub100Reversed(OBJ_42)); // non-smi
-
-
-function Shr1(x) {
- return x >>> 1;
-}
-
-function Shr100(x) {
- return x >>> 100;
-}
-
-function Shr1Reversed(x) {
- return 1 >>> x;
-}
-
-function Shr100Reversed(x) {
- return 100 >>> x;
-}
-
-function Sar1(x) {
- return x >> 1;
-}
-
-function Sar100(x) {
- return x >> 100;
-}
-
-function Sar1Reversed(x) {
- return 1 >> x;
-}
-
-function Sar100Reversed(x) {
- return 100 >> x;
-}
-
-
-assertEquals(0, Shr1(1));
-assertEquals(0, Sar1(1));
-assertEquals(0, Shr1Reversed(2));
-assertEquals(0, Sar1Reversed(2));
-assertEquals(1073741824, Shr1(SMI_MIN));
-assertEquals(-1073741824, Sar1(SMI_MIN));
-assertEquals(1, Shr1Reversed(SMI_MIN));
-assertEquals(1, Sar1Reversed(SMI_MIN));
-assertEquals(21, Shr1(OBJ_42));
-assertEquals(21, Sar1(OBJ_42));
-assertEquals(0, Shr1Reversed(OBJ_42));
-assertEquals(0, Sar1Reversed(OBJ_42));
-
-assertEquals(6, Shr100(100), "100 >>> 100");
-assertEquals(6, Sar100(100), "100 >> 100");
-assertEquals(12, Shr100Reversed(99));
-assertEquals(12, Sar100Reversed(99));
-assertEquals(134217728, Shr100(SMI_MIN));
-assertEquals(-134217728, Sar100(SMI_MIN));
-assertEquals(100, Shr100Reversed(SMI_MIN));
-assertEquals(100, Sar100Reversed(SMI_MIN));
-assertEquals(2, Shr100(OBJ_42));
-assertEquals(2, Sar100(OBJ_42));
-assertEquals(0, Shr100Reversed(OBJ_42));
-assertEquals(0, Sar100Reversed(OBJ_42));
-
-
-function Xor1(x) {
- return x ^ 1;
-}
-
-function Xor100(x) {
- return x ^ 100;
-}
-
-function Xor1Reversed(x) {
- return 1 ^ x;
-}
-
-function Xor100Reversed(x) {
- return 100 ^ x;
-}
-
-
-assertEquals(0, Xor1(1));
-assertEquals(3, Xor1Reversed(2));
-assertEquals(SMI_MIN + 1, Xor1(SMI_MIN));
-assertEquals(SMI_MIN + 1, Xor1Reversed(SMI_MIN));
-assertEquals(43, Xor1(OBJ_42));
-assertEquals(43, Xor1Reversed(OBJ_42));
-
-assertEquals(0, Xor100(100));
-assertEquals(7, Xor100Reversed(99));
-assertEquals(-2147483548, Xor100(SMI_MIN));
-assertEquals(-2147483548, Xor100Reversed(SMI_MIN));
-assertEquals(78, Xor100(OBJ_42));
-assertEquals(78, Xor100Reversed(OBJ_42));
-
-var x = 0x23; var y = 0x35;
-assertEquals(0x16, x ^ y);
-
-
-// Bitwise not.
-var v = 0;
-assertEquals(-1, ~v);
-v = SMI_MIN;
-assertEquals(0x7fffffff, ~v, "~smimin");
-v = SMI_MAX;
-assertEquals(-0x80000000, ~v, "~smimax");
-
-// Overflowing ++ and --.
-v = SMI_MAX;
-v++;
-assertEquals(0x80000000, v, "smimax++");
-v = SMI_MIN;
-v--;
-assertEquals(-0x80000001, v, "smimin--");
-
-// Check that comparisons of numbers separated by MIN_SMI work.
-assertFalse(SMI_MIN > 0);
-assertFalse(SMI_MIN + 1 > 1);
-assertFalse(SMI_MIN + 1 > 2);
-assertFalse(SMI_MIN + 2 > 1);
-assertFalse(0 < SMI_MIN);
-assertTrue(-1 < SMI_MAX);
-assertFalse(SMI_MAX < -1);
diff --git a/src/3rdparty/v8/test/mjsunit/integer-to-string.js b/src/3rdparty/v8/test/mjsunit/integer-to-string.js
deleted file mode 100644
index 3076bc4..0000000
--- a/src/3rdparty/v8/test/mjsunit/integer-to-string.js
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function TestIntToString() {
- for (var i = -1000; i < 1000; i++)
- assertEquals(i, parseInt(""+i));
- for (var i = -5e9; i < 5e9; i += (1e6 - 1))
- assertEquals(i, parseInt(""+i));
-}
-
-TestIntToString();
diff --git a/src/3rdparty/v8/test/mjsunit/invalid-lhs.js b/src/3rdparty/v8/test/mjsunit/invalid-lhs.js
deleted file mode 100644
index ef63add..0000000
--- a/src/3rdparty/v8/test/mjsunit/invalid-lhs.js
+++ /dev/null
@@ -1,65 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that we get exceptions for invalid left-hand sides. The
-// exceptions are delayed until runtime.
-
-// Normal assignments:
-assertThrows("12 = 12");
-assertThrows("x++ = 12");
-assertThrows("eval('var x') = 12");
-assertDoesNotThrow("if (false) eval('var x') = 12");
-
-// Pre- and post-fix operations:
-assertThrows("12++");
-assertThrows("12--");
-assertThrows("--12");
-assertThrows("++12");
-assertThrows("++(eval('12'))");
-assertThrows("(eval('12'))++");
-assertDoesNotThrow("if (false) ++(eval('12'))");
-assertDoesNotThrow("if (false) (eval('12'))++");
-
-// For in:
-assertThrows("for (12 in [1]) print(12);");
-assertThrows("for (eval('var x') in [1]) print(12);");
-assertDoesNotThrow("if (false) for (eval('var x') in [1]) print(12);");
-
-// For:
-assertThrows("for (12 = 1;;) print(12);");
-assertThrows("for (eval('var x') = 1;;) print(12);");
-assertDoesNotThrow("if (false) for (eval('var x') = 1;;) print(12);");
-
-// Assignments to 'this'.
-assertThrows("this = 42");
-assertDoesNotThrow("function f() { this = 12; }");
-assertThrows("for (this in {x:3, y:4, z:5}) ;");
-assertThrows("for (this = 0;;) ;");
-assertThrows("this++");
-assertThrows("++this");
-assertThrows("this--");
-assertThrows("--this");
diff --git a/src/3rdparty/v8/test/mjsunit/invalid-source-element.js b/src/3rdparty/v8/test/mjsunit/invalid-source-element.js
deleted file mode 100644
index fb012e2..0000000
--- a/src/3rdparty/v8/test/mjsunit/invalid-source-element.js
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-// A function expression with no parenthesis around it is not a valid
-// expression statement.
-assertThrows("eval('function() {}')");
diff --git a/src/3rdparty/v8/test/mjsunit/json-parser-recursive.js b/src/3rdparty/v8/test/mjsunit/json-parser-recursive.js
deleted file mode 100644
index 1e00c83..0000000
--- a/src/3rdparty/v8/test/mjsunit/json-parser-recursive.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var str = "[1]";
-for (var i = 0; i < 100000; i++) {
- str = "[1," + str + "]";
-}
-
-assertThrows(function() { JSON.parse(str); }, RangeError);
diff --git a/src/3rdparty/v8/test/mjsunit/json-stringify-recursive.js b/src/3rdparty/v8/test/mjsunit/json-stringify-recursive.js
deleted file mode 100644
index 31aa002..0000000
--- a/src/3rdparty/v8/test/mjsunit/json-stringify-recursive.js
+++ /dev/null
@@ -1,52 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var a = {};
-for (i = 0; i < 10000; i++) {
- var current = {};
- current.a = a;
- a = current;
-}
-
-function rec(a,b,c,d,e,f,g,h,i,j,k,l,m,n) {
- JSON.stringify(a);
- rec(a,b,c,d,e,f,g,h,i,j,k,l,m,n);
-}
-
-assertThrows(function() { rec(1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4) },
- RangeError);
-
-
-var depth = 10000;
-var deepArray = [];
-for (var i = 0; i < depth; i++) deepArray = [deepArray];
-assertThrows(function() { JSON.stringify(deepArray); }, RangeError);
-
-
-var deepObject = {};
-for (var i = 0; i < depth; i++) deepObject = { next: deepObject };
-assertThrows(function() { JSON.stringify(deepObject); }, RangeError);
diff --git a/src/3rdparty/v8/test/mjsunit/json.js b/src/3rdparty/v8/test/mjsunit/json.js
deleted file mode 100644
index 79826db..0000000
--- a/src/3rdparty/v8/test/mjsunit/json.js
+++ /dev/null
@@ -1,475 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Date toJSON
-assertEquals("1970-01-01T00:00:00.000Z", new Date(0).toJSON());
-assertEquals("1979-01-11T08:00:00.000Z", new Date("1979-01-11 08:00 GMT").toJSON());
-assertEquals("2005-05-05T05:05:05.000Z", new Date("2005-05-05 05:05:05 GMT").toJSON());
-var n1 = new Date(10000);
-n1.toISOString = function () { return "foo"; };
-assertEquals("foo", n1.toJSON());
-var n2 = new Date(10001);
-n2.toISOString = null;
-assertThrows(function () { n2.toJSON(); }, TypeError);
-var n4 = new Date(10003);
-n4.toISOString = function () {
- assertEquals(0, arguments.length);
- assertEquals(this, n4);
- return null;
-};
-assertEquals(null, n4.toJSON());
-
-assertTrue(Object.prototype === JSON.__proto__);
-assertEquals("[object JSON]", Object.prototype.toString.call(JSON));
-
-//Test Date.prototype.toJSON as generic function.
-var d1 = {toJSON: Date.prototype.toJSON,
- toISOString: function() { return 42; }};
-assertEquals(42, d1.toJSON());
-
-var d2 = {toJSON: Date.prototype.toJSON,
- valueOf: function() { return Infinity; },
- toISOString: function() { return 42; }};
-assertEquals(null, d2.toJSON());
-
-var d3 = {toJSON: Date.prototype.toJSON,
- valueOf: "not callable",
- toString: function() { return Infinity; },
- toISOString: function() { return 42; }};
-
-assertEquals(null, d3.toJSON());
-
-var d4 = {toJSON: Date.prototype.toJSON,
- valueOf: "not callable",
- toString: "not callable either",
- toISOString: function() { return 42; }};
-assertThrows("d4.toJSON()", TypeError); // ToPrimitive throws.
-
-var d5 = {toJSON: Date.prototype.toJSON,
- valueOf: "not callable",
- toString: function() { return "Infinity"; },
- toISOString: function() { return 42; }};
-assertEquals(42, d5.toJSON());
-
-var d6 = {toJSON: Date.prototype.toJSON,
- toISOString: function() { return ["not primitive"]; }};
-assertEquals(["not primitive"], d6.toJSON());
-
-var d7 = {toJSON: Date.prototype.toJSON,
- ISOString: "not callable"};
-assertThrows("d7.toJSON()", TypeError);
-
-// DontEnum
-for (var p in this) {
- assertFalse(p == "JSON");
-}
-
-// Parse
-assertEquals({}, JSON.parse("{}"));
-assertEquals({42:37}, JSON.parse('{"42":37}'));
-assertEquals(null, JSON.parse("null"));
-assertEquals(true, JSON.parse("true"));
-assertEquals(false, JSON.parse("false"));
-assertEquals("foo", JSON.parse('"foo"'));
-assertEquals("f\no", JSON.parse('"f\\no"'));
-assertEquals("\b\f\n\r\t\"\u2028\/\\",
- JSON.parse('"\\b\\f\\n\\r\\t\\"\\u2028\\/\\\\"'));
-assertEquals([1.1], JSON.parse("[1.1]"));
-assertEquals([1], JSON.parse("[1.0]"));
-
-assertEquals(0, JSON.parse("0"));
-assertEquals(1, JSON.parse("1"));
-assertEquals(0.1, JSON.parse("0.1"));
-assertEquals(1.1, JSON.parse("1.1"));
-assertEquals(1.1, JSON.parse("1.100000"));
-assertEquals(1.111111, JSON.parse("1.111111"));
-assertEquals(-0, JSON.parse("-0"));
-assertEquals(-1, JSON.parse("-1"));
-assertEquals(-0.1, JSON.parse("-0.1"));
-assertEquals(-1.1, JSON.parse("-1.1"));
-assertEquals(-1.1, JSON.parse("-1.100000"));
-assertEquals(-1.111111, JSON.parse("-1.111111"));
-assertEquals(11, JSON.parse("1.1e1"));
-assertEquals(11, JSON.parse("1.1e+1"));
-assertEquals(0.11, JSON.parse("1.1e-1"));
-assertEquals(11, JSON.parse("1.1E1"));
-assertEquals(11, JSON.parse("1.1E+1"));
-assertEquals(0.11, JSON.parse("1.1E-1"));
-
-assertEquals([], JSON.parse("[]"));
-assertEquals([1], JSON.parse("[1]"));
-assertEquals([1, "2", true, null], JSON.parse('[1, "2", true, null]'));
-
-assertEquals("", JSON.parse('""'));
-assertEquals(["", "", -0, ""], JSON.parse('[ "" , "" , -0, ""]'));
-assertEquals("", JSON.parse('""'));
-
-
-function GetFilter(name) {
- function Filter(key, value) {
- return (key == name) ? undefined : value;
- }
- return Filter;
-}
-
-var pointJson = '{"x": 1, "y": 2}';
-assertEquals({'x': 1, 'y': 2}, JSON.parse(pointJson));
-assertEquals({'x': 1}, JSON.parse(pointJson, GetFilter('y')));
-assertEquals({'y': 2}, JSON.parse(pointJson, GetFilter('x')));
-assertEquals([1, 2, 3], JSON.parse("[1, 2, 3]"));
-assertEquals([1, undefined, 3], JSON.parse("[1, 2, 3]", GetFilter(1)));
-assertEquals([1, 2, undefined], JSON.parse("[1, 2, 3]", GetFilter(2)));
-
-function DoubleNumbers(key, value) {
- return (typeof value == 'number') ? 2 * value : value;
-}
-
-var deepObject = '{"a": {"b": 1, "c": 2}, "d": {"e": {"f": 3}}}';
-assertEquals({"a": {"b": 1, "c": 2}, "d": {"e": {"f": 3}}},
- JSON.parse(deepObject));
-assertEquals({"a": {"b": 2, "c": 4}, "d": {"e": {"f": 6}}},
- JSON.parse(deepObject, DoubleNumbers));
-
-function TestInvalid(str) {
- assertThrows(function () { JSON.parse(str); }, SyntaxError);
-}
-
-TestInvalid('abcdef');
-TestInvalid('isNaN()');
-TestInvalid('{"x": [1, 2, deepObject]}');
-TestInvalid('[1, [2, [deepObject], 3], 4]');
-TestInvalid('function () { return 0; }');
-
-TestInvalid("[1, 2");
-TestInvalid('{"x": 3');
-
-// JavaScript number literals not valid in JSON.
-TestInvalid('[01]');
-TestInvalid('[.1]');
-TestInvalid('[1.]');
-TestInvalid('[1.e1]');
-TestInvalid('[-.1]');
-TestInvalid('[-1.]');
-
-// Plain invalid number literals.
-TestInvalid('-');
-TestInvalid('--1');
-TestInvalid('-1e');
-TestInvalid('1e--1]');
-TestInvalid('1e+-1');
-TestInvalid('1e-+1');
-TestInvalid('1e++1');
-
-// JavaScript string literals not valid in JSON.
-TestInvalid("'single quote'"); // Valid JavaScript
-TestInvalid('"\\a invalid escape"');
-TestInvalid('"\\v invalid escape"'); // Valid JavaScript
-TestInvalid('"\\\' invalid escape"'); // Valid JavaScript
-TestInvalid('"\\x42 invalid escape"'); // Valid JavaScript
-TestInvalid('"\\u202 invalid escape"');
-TestInvalid('"\\012 invalid escape"');
-TestInvalid('"Unterminated string');
-TestInvalid('"Unterminated string\\"');
-TestInvalid('"Unterminated string\\\\\\"');
-
-// Test bad JSON that would be good JavaScript (ES5).
-TestInvalid("{true:42}");
-TestInvalid("{false:42}");
-TestInvalid("{null:42}");
-TestInvalid("{'foo':42}");
-TestInvalid("{42:42}");
-TestInvalid("{0:42}");
-TestInvalid("{-1:42}");
-
-// Test for trailing garbage detection.
-TestInvalid('42 px');
-TestInvalid('42 .2');
-TestInvalid('42 2');
-TestInvalid('42 e1');
-TestInvalid('"42" ""');
-TestInvalid('"42" ""');
-TestInvalid('"" ""');
-TestInvalid('true ""');
-TestInvalid('false ""');
-TestInvalid('null ""');
-TestInvalid('null ""');
-TestInvalid('[] ""');
-TestInvalid('[true] ""');
-TestInvalid('{} ""');
-TestInvalid('{"x":true} ""');
-TestInvalid('"Garbage""After string"');
-
-// Stringify
-
-assertEquals("true", JSON.stringify(true));
-assertEquals("false", JSON.stringify(false));
-assertEquals("null", JSON.stringify(null));
-assertEquals("false", JSON.stringify({toJSON: function () { return false; }}));
-assertEquals("4", JSON.stringify(4));
-assertEquals('"foo"', JSON.stringify("foo"));
-assertEquals("null", JSON.stringify(Infinity));
-assertEquals("null", JSON.stringify(-Infinity));
-assertEquals("null", JSON.stringify(NaN));
-assertEquals("4", JSON.stringify(new Number(4)));
-assertEquals('"bar"', JSON.stringify(new String("bar")));
-
-assertEquals('"foo\\u0000bar"', JSON.stringify("foo\0bar"));
-assertEquals('"f\\"o\'o\\\\b\\ba\\fr\\nb\\ra\\tz"',
- JSON.stringify("f\"o\'o\\b\ba\fr\nb\ra\tz"));
-
-assertEquals("[1,2,3]", JSON.stringify([1, 2, 3]));
-assertEquals("[\n 1,\n 2,\n 3\n]", JSON.stringify([1, 2, 3], null, 1));
-assertEquals("[\n 1,\n 2,\n 3\n]", JSON.stringify([1, 2, 3], null, 2));
-assertEquals("[\n 1,\n 2,\n 3\n]",
- JSON.stringify([1, 2, 3], null, new Number(2)));
-assertEquals("[\n^1,\n^2,\n^3\n]", JSON.stringify([1, 2, 3], null, "^"));
-assertEquals("[\n^1,\n^2,\n^3\n]",
- JSON.stringify([1, 2, 3], null, new String("^")));
-assertEquals("[\n 1,\n 2,\n [\n 3,\n [\n 4\n ],\n 5\n ],\n 6,\n 7\n]",
- JSON.stringify([1, 2, [3, [4], 5], 6, 7], null, 1));
-assertEquals("[]", JSON.stringify([], null, 1));
-assertEquals("[1,2,[3,[4],5],6,7]",
- JSON.stringify([1, 2, [3, [4], 5], 6, 7], null));
-assertEquals("[2,4,[6,[8],10],12,14]",
- JSON.stringify([1, 2, [3, [4], 5], 6, 7], DoubleNumbers));
-assertEquals('["a","ab","abc"]', JSON.stringify(["a","ab","abc"]));
-assertEquals('{"a":1,"c":true}',
- JSON.stringify({ a : 1,
- b : function() { 1 },
- c : true,
- d : function() { 2 } }));
-assertEquals('[1,null,true,null]',
- JSON.stringify([1, function() { 1 }, true, function() { 2 }]));
-assertEquals('"toJSON 123"',
- JSON.stringify({ toJSON : function() { return 'toJSON 123'; } }));
-assertEquals('{"a":321}',
- JSON.stringify({ a : { toJSON : function() { return 321; } } }));
-var counter = 0;
-assertEquals('{"getter":123}',
- JSON.stringify({ get getter() { counter++; return 123; } }));
-assertEquals(1, counter);
-assertEquals('{"a":"abc","b":"\u1234bc"}',
- JSON.stringify({ a : "abc", b : "\u1234bc" }));
-
-
-var a = { a : 1, b : 2 };
-delete a.a;
-assertEquals('{"b":2}', JSON.stringify(a));
-
-var b = {};
-b.__proto__ = { toJSON : function() { return 321;} };
-assertEquals("321", JSON.stringify(b));
-
-var array = [""];
-var expected = '""';
-for (var i = 0; i < 10000; i++) {
- array.push("");
- expected = '"",' + expected;
-}
-expected = '[' + expected + ']';
-assertEquals(expected, JSON.stringify(array));
-
-
-var circular = [1, 2, 3];
-circular[2] = circular;
-assertThrows(function () { JSON.stringify(circular); }, TypeError);
-
-var singleton = [];
-var multiOccurrence = [singleton, singleton, singleton];
-assertEquals("[[],[],[]]", JSON.stringify(multiOccurrence));
-
-assertEquals('{"x":5,"y":6}', JSON.stringify({x:5,y:6}));
-assertEquals('{"x":5}', JSON.stringify({x:5,y:6}, ['x']));
-assertEquals('{\n "a": "b",\n "c": "d"\n}',
- JSON.stringify({a:"b",c:"d"}, null, 1));
-assertEquals('{"y":6,"x":5}', JSON.stringify({x:5,y:6}, ['y', 'x']));
-
-// toJSON get string keys.
-var checker = {};
-var array = [checker];
-checker.toJSON = function(key) { return 1 + key; };
-assertEquals('["10"]', JSON.stringify(array));
-
-// The gap is capped at ten characters if specified as string.
-assertEquals('{\n "a": "b",\n "c": "d"\n}',
- JSON.stringify({a:"b",c:"d"}, null,
- " /*characters after 10th*/"));
-
-//The gap is capped at ten characters if specified as number.
-assertEquals('{\n "a": "b",\n "c": "d"\n}',
- JSON.stringify({a:"b",c:"d"}, null, 15));
-
-// Replaced wrapped primitives are unwrapped.
-function newx(k, v) { return (k == "x") ? new v(42) : v; }
-assertEquals('{"x":"42"}', JSON.stringify({x: String}, newx));
-assertEquals('{"x":42}', JSON.stringify({x: Number}, newx));
-assertEquals('{"x":true}', JSON.stringify({x: Boolean}, newx));
-
-assertEquals(undefined, JSON.stringify(undefined));
-assertEquals(undefined, JSON.stringify(function () { }));
-// Arrays with missing, undefined or function elements have those elements
-// replaced by null.
-assertEquals("[null,null,null]",
- JSON.stringify([undefined,,function(){}]));
-
-// Objects with undefined or function properties (including replaced properties)
-// have those properties ignored.
-assertEquals('{}',
- JSON.stringify({a: undefined, b: function(){}, c: 42, d: 42},
- function(k, v) { if (k == "c") return undefined;
- if (k == "d") return function(){};
- return v; }));
-
-TestInvalid('1); throw "foo"; (1');
-
-var x = 0;
-eval("(1); x++; (1)");
-TestInvalid('1); x++; (1');
-
-// Test string conversion of argument.
-var o = { toString: function() { return "42"; } };
-assertEquals(42, JSON.parse(o));
-
-
-for (var i = 0; i < 65536; i++) {
- var string = String.fromCharCode(i);
- var encoded = JSON.stringify(string);
- var expected = "uninitialized";
- // Following the ES5 specification of the abstraction function Quote.
- if (string == '"' || string == '\\') {
- // Step 2.a
- expected = '\\' + string;
- } else if ("\b\t\n\r\f".indexOf(string) >= 0) {
- // Step 2.b
- if (string == '\b') expected = '\\b';
- else if (string == '\t') expected = '\\t';
- else if (string == '\n') expected = '\\n';
- else if (string == '\f') expected = '\\f';
- else if (string == '\r') expected = '\\r';
- } else if (i < 32) {
- // Step 2.c
- if (i < 16) {
- expected = "\\u000" + i.toString(16);
- } else {
- expected = "\\u00" + i.toString(16);
- }
- } else {
- expected = string;
- }
- assertEquals('"' + expected + '"', encoded, "Codepoint " + i);
-}
-
-
-// Ensure that wrappers and callables are handled correctly.
-var num37 = new Number(42);
-num37.valueOf = function() { return 37; };
-
-var numFoo = new Number(42);
-numFoo.valueOf = "not callable";
-numFoo.toString = function() { return "foo"; };
-
-var numTrue = new Number(42);
-numTrue.valueOf = function() { return true; }
-
-var strFoo = new String("bar");
-strFoo.toString = function() { return "foo"; };
-
-var str37 = new String("bar");
-str37.toString = "not callable";
-str37.valueOf = function() { return 37; };
-
-var strTrue = new String("bar");
-strTrue.toString = function() { return true; }
-
-var func = function() { /* Is callable */ };
-
-var funcJSON = function() { /* Is callable */ };
-funcJSON.toJSON = function() { return "has toJSON"; };
-
-var re = /Is callable/;
-
-var reJSON = /Is callable/;
-reJSON.toJSON = function() { return "has toJSON"; };
-
-assertEquals(
- '[37,null,1,"foo","37","true",null,"has toJSON",{},"has toJSON"]',
- JSON.stringify([num37, numFoo, numTrue,
- strFoo, str37, strTrue,
- func, funcJSON, re, reJSON]));
-
-
-var oddball = Object(42);
-oddball.__proto__ = { __proto__: null, toString: function() { return true; } };
-assertEquals('1', JSON.stringify(oddball));
-
-var getCount = 0;
-var callCount = 0;
-var counter = { get toJSON() { getCount++;
- return function() { callCount++;
- return 42; }; } };
-
-// RegExps are not callable, so they are stringified as objects.
-assertEquals('{}', JSON.stringify(/regexp/));
-assertEquals('42', JSON.stringify(counter));
-assertEquals(1, getCount);
-assertEquals(1, callCount);
-
-var oddball2 = Object(42);
-var oddball3 = Object("foo");
-oddball3.__proto__ = { __proto__: null,
- toString: "not callable",
- valueOf: function() { return true; } };
-oddball2.__proto__ = { __proto__: null,
- toJSON: function () { return oddball3; } }
-assertEquals('"true"', JSON.stringify(oddball2));
-
-
-var falseNum = Object("37");
-falseNum.__proto__ = Number.prototype;
-falseNum.toString = function() { return 42; };
-assertEquals('"42"', JSON.stringify(falseNum));
-
-// Parse an object value as __proto__.
-var o1 = JSON.parse('{"__proto__":[]}');
-assertEquals([], o1.__proto__);
-assertEquals(["__proto__"], Object.keys(o1));
-assertEquals([], Object.getOwnPropertyDescriptor(o1, "__proto__").value);
-assertEquals(["__proto__"], Object.getOwnPropertyNames(o1));
-assertTrue(o1.hasOwnProperty("__proto__"));
-assertTrue(Object.prototype.isPrototypeOf(o1));
-
-// Parse a non-object value as __proto__.
-var o2 = JSON.parse('{"__proto__":5}');
-assertEquals(5, o2.__proto__);
-assertEquals(["__proto__"], Object.keys(o2));
-assertEquals(5, Object.getOwnPropertyDescriptor(o2, "__proto__").value);
-assertEquals(["__proto__"], Object.getOwnPropertyNames(o2));
-assertTrue(o2.hasOwnProperty("__proto__"));
-assertTrue(Object.prototype.isPrototypeOf(o2));
-
-var json = '{"stuff before slash\\\\stuff after slash":"whatever"}';
-assertEquals(json, JSON.stringify(JSON.parse(json)));
diff --git a/src/3rdparty/v8/test/mjsunit/json2.js b/src/3rdparty/v8/test/mjsunit/json2.js
deleted file mode 100644
index 4c0b8f5..0000000
--- a/src/3rdparty/v8/test/mjsunit/json2.js
+++ /dev/null
@@ -1,153 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test JSON.stringify on the global object.
-var a = 12345;
-assertTrue(JSON.stringify(this).indexOf('"a":12345') > 0);
-
-// Test JSON.stringify of array in dictionary mode.
-var array_1 = [];
-var array_2 = [];
-array_1[100000] = 1;
-array_2[100000] = function() { return 1; };
-var nulls = "";
-for (var i = 0; i < 100000; i++) {
- nulls += 'null,';
-}
-expected_1 = '[' + nulls + '1]';
-expected_2 = '[' + nulls + 'null]';
-assertEquals(expected_1, JSON.stringify(array_1));
-assertEquals(expected_2, JSON.stringify(array_2));
-
-// Test JSValue with custom prototype.
-var num_wrapper = Object(42);
-num_wrapper.__proto__ = { __proto__: null,
- toString: function() { return true; } };
-assertEquals('1', JSON.stringify(num_wrapper));
-
-var str_wrapper = Object('2');
-str_wrapper.__proto__ = { __proto__: null,
- toString: function() { return true; } };
-assertEquals('"true"', JSON.stringify(str_wrapper));
-
-var bool_wrapper = Object(false);
-bool_wrapper.__proto__ = { __proto__: null,
- toString: function() { return true; } };
-// Note that toString function is not evaluated here!
-assertEquals('false', JSON.stringify(bool_wrapper));
-
-// Test getters.
-var counter = 0;
-var getter_obj = { get getter() {
- counter++;
- return 123;
- } };
-assertEquals('{"getter":123}', JSON.stringify(getter_obj));
-assertEquals(1, counter);
-
-// Test toJSON function.
-var tojson_obj = { toJSON: function() {
- counter++;
- return [1, 2];
- },
- a: 1};
-assertEquals('[1,2]', JSON.stringify(tojson_obj));
-assertEquals(2, counter);
-
-// Test that we don't recursively look for the toJSON function.
-var tojson_proto_obj = { a: 'fail' };
-tojson_proto_obj.__proto__ = { toJSON: function() {
- counter++;
- return tojson_obj;
- } };
-assertEquals('{"a":1}', JSON.stringify(tojson_proto_obj));
-
-// Test toJSON produced by a getter.
-var tojson_via_getter = { get toJSON() {
- return function(x) {
- counter++;
- return 321;
- };
- },
- a: 1 };
-assertEquals('321', JSON.stringify(tojson_via_getter));
-
-// Test toJSON with key.
-tojson_obj = { toJSON: function(key) { return key + key; } };
-var tojson_with_key_1 = { a: tojson_obj, b: tojson_obj };
-assertEquals('{"a":"aa","b":"bb"}', JSON.stringify(tojson_with_key_1));
-var tojson_with_key_2 = [ tojson_obj, tojson_obj ];
-assertEquals('["00","11"]', JSON.stringify(tojson_with_key_2));
-
-// Test toJSON with exception.
-var tojson_ex = { toJSON: function(key) { throw "123" } };
-assertThrows(function() { JSON.stringify(tojson_ex); });
-
-// Test toJSON with access to this.
-var obj = { toJSON: function(key) { return this.a + key; }, a: "x" };
-assertEquals('{"y":"xy"}', JSON.stringify({y: obj}));
-
-// Test holes in arrays.
-var fast_smi = [1, 2, 3, 4];
-fast_smi.__proto__ = [7, 7, 7, 7];
-delete fast_smi[2];
-assertTrue(%HasFastSmiElements(fast_smi));
-assertEquals("[1,2,7,4]", JSON.stringify(fast_smi));
-
-var fast_double = [1.1, 2, 3, 4];
-fast_double.__proto__ = [7, 7, 7, 7];
-
-delete fast_double[2];
-assertTrue(%HasFastDoubleElements(fast_double));
-assertEquals("[1.1,2,7,4]", JSON.stringify(fast_double));
-
-var fast_obj = [1, 2, {}, {}];
-fast_obj.__proto__ = [7, 7, 7, 7];
-
-delete fast_obj[2];
-assertTrue(%HasFastObjectElements(fast_obj));
-assertEquals("[1,2,7,{}]", JSON.stringify(fast_obj));
-
-var getter_side_effect = { a: 1,
- get b() {
- delete this.a;
- delete this.c;
- this.e = 5;
- return 2;
- },
- c: 3,
- d: 4 };
-assertEquals('{"a":1,"b":2,"d":4}', JSON.stringify(getter_side_effect));
-assertEquals('{"b":2,"d":4,"e":5}', JSON.stringify(getter_side_effect));
-
-var non_enum = {};
-non_enum.a = 1;
-Object.defineProperty(non_enum, "b", { value: 2, enumerable: false });
-non_enum.c = 3;
-assertEquals('{"a":1,"c":3}', JSON.stringify(non_enum));
diff --git a/src/3rdparty/v8/test/mjsunit/keyed-call-generic.js b/src/3rdparty/v8/test/mjsunit/keyed-call-generic.js
deleted file mode 100644
index 0314698..0000000
--- a/src/3rdparty/v8/test/mjsunit/keyed-call-generic.js
+++ /dev/null
@@ -1,113 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// 'AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// A test for keyed call ICs with a mix of smi and string keys.
-
-function testOne(receiver, key, result) {
- for(var i = 0; i != 10; i++ ) {
- assertEquals(result, receiver[key]());
- }
-}
-
-function testMany(receiver, keys, results) {
- for (var i = 0; i != 10; i++) {
- for (var k = 0; k != keys.length; k++) {
- assertEquals(results[k], receiver[keys[k]]());
- }
- }
-}
-
-var toStringNonSymbol = 'to';
-toStringNonSymbol += 'String';
-
-function TypeOfThis() { return typeof this; }
-
-Number.prototype.square = function() { return this * this; }
-Number.prototype.power4 = function() { return this.square().square(); }
-
-Number.prototype.type = TypeOfThis;
-String.prototype.type = TypeOfThis;
-Boolean.prototype.type = TypeOfThis;
-
-// Use a non-symbol key to force inline cache to generic case.
-testOne(0, toStringNonSymbol, '0');
-
-testOne(1, 'toString', '1');
-testOne('1', 'toString', '1');
-testOne(1.0, 'toString', '1');
-
-testOne(1, 'type', 'object');
-testOne(2.3, 'type', 'object');
-testOne('x', 'type', 'object');
-testOne(true, 'type', 'object');
-testOne(false, 'type', 'object');
-
-testOne(2, 'square', 4);
-testOne(2, 'power4', 16);
-
-function zero () { return 0; }
-function one () { return 1; }
-function two () { return 2; }
-
-var fixed_array = [zero, one, two];
-
-var dict_array = [ zero, one, two ];
-dict_array[100000] = 1;
-
-var fast_prop = { zero: zero, one: one, two: two };
-
-var normal_prop = { zero: zero, one: one, two: two };
-normal_prop.x = 0;
-delete normal_prop.x;
-
-var first3num = [0, 1, 2];
-var first3str = ['zero', 'one', 'two'];
-
-// Use a non-symbol key to force inline cache to generic case.
-testMany('123', [toStringNonSymbol, 'charAt', 'charCodeAt'], ['123', '1', 49]);
-
-testMany(fixed_array, first3num, first3num);
-testMany(dict_array, first3num, first3num);
-testMany(fast_prop, first3str, first3num);
-testMany(normal_prop, first3str, first3num);
-
-
-function testException(receiver, keys, exceptions) {
- for (var i = 0; i != 10; i++) {
- for (var k = 0; k != keys.length; k++) {
- var thrown = false;
- try {
- var result = receiver[keys[k]]();
- } catch (e) {
- thrown = true;
- }
- assertEquals(exceptions[k], thrown);
- }
- }
-}
-
-testException([zero, one, /* hole */ ], [0, 1, 2], [false, false, true]);
diff --git a/src/3rdparty/v8/test/mjsunit/keyed-call-ic.js b/src/3rdparty/v8/test/mjsunit/keyed-call-ic.js
deleted file mode 100644
index 9d82965..0000000
--- a/src/3rdparty/v8/test/mjsunit/keyed-call-ic.js
+++ /dev/null
@@ -1,205 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// A test for keyed call ICs.
-
-var toStringName = 'toString';
-var global = this;
-
-function globalFunction1() {
- return 'function1';
-}
-
-function globalFunction2() {
- return 'function2';
-}
-
-assertEquals("[object global]", this[toStringName]());
-assertEquals("[object global]", global[toStringName]());
-
-function testGlobals() {
- assertEquals("[object global]", this[toStringName]());
- assertEquals("[object global]", global[toStringName]());
-}
-
-testGlobals();
-
-
-function F() {}
-
-F.prototype.one = function() {return 'one'; }
-F.prototype.two = function() {return 'two'; }
-F.prototype.three = function() {return 'three'; }
-
-var keys =
- ['one', 'one', 'one', 'one', 'two', 'two', 'one', 'three', 'one', 'two'];
-
-function testKeyTransitions() {
- var i, key, result, message;
-
- var f = new F();
-
- // Custom call generators
- var array = [];
- for (i = 0; i != 10; i++) {
- key = (i < 8) ? 'push' : 'pop';
- array[key](i);
- }
-
- assertEquals(6, array.length);
- for (i = 0; i != array.length; i++) {
- assertEquals(i, array[i]);
- }
-
- for (i = 0; i != 10; i++) {
- key = (i < 3) ? 'pop' : 'push';
- array[key](i);
- }
-
- assertEquals(10, array.length);
- for (i = 0; i != array.length; i++) {
- assertEquals(i, array[i]);
- }
-
- var string = 'ABCDEFGHIJ';
- for (i = 0; i != 10; i++) {
- key = ((i < 5) ? 'charAt' : 'charCodeAt');
- result = string[key](i);
- message = '\'' + string + '\'[\'' + key + '\'](' + i + ')';
- if (i < 5) {
- assertEquals(string.charAt(i), result, message);
- } else {
- assertEquals(string.charCodeAt(i), result, message);
- }
- }
-
- for (i = 0; i != 10; i++) {
- key = ((i < 5) ? 'charCodeAt' : 'charAt');
- result = string[key](i);
- message = '\'' + string + '\'[\'' + key + '\'](' + i + ')';
- if (i < 5) {
- assertEquals(string.charCodeAt(i), result, message);
- } else {
- assertEquals(string.charAt(i), result, message);
- }
- }
-
- // Function is a constant property
- key = 'one';
- for (i = 0; i != 10; i++) {
- assertEquals(key, f[key]());
- if (i == 5) {
- key = 'two'; // the name change should case a miss
- }
- }
-
- // Function is a fast property
- f.field = function() { return 'field'; }
- key = 'field';
- for (i = 0; i != 10; i++) {
- assertEquals(key, f[key]());
- if (i == 5) {
- key = 'two'; // the name change should case a miss
- }
- }
-
- // Calling on slow case object
- f.prop = 0;
- delete f.prop; // force the object to the slow case
- f.four = function() { return 'four'; }
- f.five = function() { return 'five'; }
-
- key = 'four';
- for (i = 0; i != 10; i++) {
- assertEquals(key, f[key]());
- if (i == 5) {
- key = 'five';
- }
- }
-
- // Calling on global object
- key = 'globalFunction1';
- var expect = 'function1';
- for (i = 0; i != 10; i++) {
- assertEquals(expect, global[key]());
- if (i == 5) {
- key = 'globalFunction2';
- expect = 'function2';
- }
- }
-}
-
-testKeyTransitions();
-
-function testTypeTransitions() {
- var f = new F();
- var s = '';
- var m = 'one';
- var i;
-
- s = '';
- for (i = 0; i != 10; i++) {
- if (i == 5) { F.prototype.one = function() { return '1'; } }
- s += f[m]();
- }
- assertEquals("oneoneoneoneone11111", s);
-
- s = '';
- for (i = 0; i != 10; i++) {
- if (i == 5) { f.__proto__ = { one: function() { return 'I'; } } }
- s += f[m]();
- }
- assertEquals("11111IIIII", s);
-
- s = '';
- for (i = 0; i != 10; i++) {
- if (i == 5) { f.one = function() { return 'ONE'; } }
- s += f[m]();
- }
- assertEquals("IIIIIONEONEONEONEONE", s);
-
- m = 'toString';
-
- s = '';
- var obj = { toString: function() { return '2'; } };
- for (i = 0; i != 10; i++) {
- if (i == 5) { obj = "TWO"; }
- s += obj[m]();
- }
- assertEquals("22222TWOTWOTWOTWOTWO", s);
-
- s = '';
- obj = { toString: function() { return 'ONE'; } };
- m = 'toString';
- for (i = 0; i != 10; i++) {
- if (i == 5) { obj = 1; }
- s += obj[m]();
- }
- assertEquals("ONEONEONEONEONE11111", s);
-}
-
-testTypeTransitions();
diff --git a/src/3rdparty/v8/test/mjsunit/keyed-ic.js b/src/3rdparty/v8/test/mjsunit/keyed-ic.js
deleted file mode 100644
index a6726ed..0000000
--- a/src/3rdparty/v8/test/mjsunit/keyed-ic.js
+++ /dev/null
@@ -1,236 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// This test attempts to test the inline caching for keyed access.
-
-// ----------------------------------------------------------------------
-// Prototype accessor.
-// ----------------------------------------------------------------------
-var runTest = function() {
- var initial_P = 'prototype';
- var P = initial_P;
- var H = 'hasOwnProperty';
-
- var f = function() {};
-
- function prototypeTest(change_index) {
- for (var i = 0; i < 10; i++) {
- var property = f[P];
- if (i <= change_index) {
- assertEquals(f.prototype, property);
- } else {
- assertEquals(f.hasOwnProperty, property);
- }
- if (i == change_index) P = H;
- }
- P = initial_P;
- }
-
- for (var i = 0; i < 10; i++) prototypeTest(i);
-
- f.prototype = 43;
-
- for (var i = 0; i < 10; i++) prototypeTest(i);
-}
-
-runTest();
-
-// ----------------------------------------------------------------------
-// Array length accessor.
-// ----------------------------------------------------------------------
-runTest = function() {
- var initial_L = 'length';
- var L = initial_L;
- var zero = '0';
-
- var a = new Array(10);
-
- function arrayLengthTest(change_index) {
- for (var i = 0; i < 10; i++) {
- var l = a[L];
- if (i <= change_index) {
- assertEquals(10, l);
- } else {
- assertEquals(undefined, l);
- }
- if (i == change_index) L = zero;
- }
- L = initial_L;
- }
-
- for (var i = 0; i < 10; i++) arrayLengthTest(i);
-}
-
-runTest();
-
-// ----------------------------------------------------------------------
-// String length accessor.
-// ----------------------------------------------------------------------
-runTest = function() {
- var initial_L = 'length';
- var L = initial_L;
- var zero = '0';
-
- var s = "asdf"
-
- function stringLengthTest(change_index) {
- for (var i = 0; i < 10; i++) {
- var l = s[L];
- if (i <= change_index) {
- assertEquals(4, l);
- } else {
- assertEquals('a', l);
- }
- if (i == change_index) L = zero;
- }
- L = initial_L;
- }
-
- for (var i = 0; i < 10; i++) stringLengthTest(i);
-}
-
-runTest();
-
-// ----------------------------------------------------------------------
-// Field access.
-// ----------------------------------------------------------------------
-runTest = function() {
- var o = { x: 42, y: 43 }
-
- var initial_X = 'x';
- var X = initial_X;
- var Y = 'y';
-
- function fieldTest(change_index) {
- for (var i = 0; i < 10; i++) {
- var property = o[X];
- if (i <= change_index) {
- assertEquals(42, property);
- } else {
- assertEquals(43, property);
- }
- if (i == change_index) X = Y;
- }
- X = initial_X;
- };
-
- for (var i = 0; i < 10; i++) fieldTest(i);
-}
-
-runTest();
-
-
-// ----------------------------------------------------------------------
-// Indexed access.
-// ----------------------------------------------------------------------
-runTest = function() {
- var o = [ 42, 43 ];
-
- var initial_X = 0;
- var X = initial_X;
- var Y = 1;
-
- function fieldTest(change_index) {
- for (var i = 0; i < 10; i++) {
- var property = o[X];
- if (i <= change_index) {
- assertEquals(42, property);
- } else {
- assertEquals(43, property);
- }
- if (i == change_index) X = Y;
- }
- X = initial_X;
- };
-
- for (var i = 0; i < 10; i++) fieldTest(i);
-}
-
-runTest();
-
-
-// ----------------------------------------------------------------------
-// Constant function access.
-// ----------------------------------------------------------------------
-runTest = function() {
- function fun() { };
-
- var o = new Object();
- o.f = fun;
- o.x = 42;
-
- var initial_F = 'f';
- var F = initial_F;
- var X = 'x'
-
- function constantFunctionTest(change_index) {
- for (var i = 0; i < 10; i++) {
- var property = o[F];
- if (i <= change_index) {
- assertEquals(fun, property);
- } else {
- assertEquals(42, property);
- }
- if (i == change_index) F = X;
- }
- F = initial_F;
- };
-
- for (var i = 0; i < 10; i++) constantFunctionTest(i);
-}
-
-runTest();
-
-// ----------------------------------------------------------------------
-// Keyed store field.
-// ----------------------------------------------------------------------
-
-runTest = function() {
- var o = { x: 42, y: 43 }
-
- var initial_X = 'x';
- var X = initial_X;
- var Y = 'y';
-
- function fieldTest(change_index) {
- for (var i = 0; i < 10; i++) {
- o[X] = X;
- var property = o[X];
- if (i <= change_index) {
- assertEquals('x', property);
- } else {
- assertEquals('y', property);
- }
- if (i == change_index) X = Y;
- }
- X = initial_X;
- };
-
- for (var i = 0; i < 10; i++) fieldTest(i);
-}
-
-runTest();
diff --git a/src/3rdparty/v8/test/mjsunit/keyed-storage-extend.js b/src/3rdparty/v8/test/mjsunit/keyed-storage-extend.js
deleted file mode 100644
index d7e157b..0000000
--- a/src/3rdparty/v8/test/mjsunit/keyed-storage-extend.js
+++ /dev/null
@@ -1,55 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function F() { }
-
-function GrowNamed(o) {
- o.a = 1;
- o.b = 2;
- o.c = 3;
- o.d = 4;
- o.e = 5;
- o.f = 6;
-}
-
-function GrowKeyed(o) {
- var names = ['a','b','c','d','e','f'];
- var i = 0;
- o[names[i++]] = i;
- o[names[i++]] = i;
- o[names[i++]] = i;
- o[names[i++]] = i;
- o[names[i++]] = i;
- o[names[i++]] = i;
-}
-
-GrowNamed(new F());
-GrowNamed(new F());
-GrowNamed(new F());
-GrowKeyed(new F());
-GrowKeyed(new F());
-GrowKeyed(new F());
diff --git a/src/3rdparty/v8/test/mjsunit/keywords-and-reserved_words.js b/src/3rdparty/v8/test/mjsunit/keywords-and-reserved_words.js
deleted file mode 100644
index ade4329..0000000
--- a/src/3rdparty/v8/test/mjsunit/keywords-and-reserved_words.js
+++ /dev/null
@@ -1,177 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test proper handling of keywords, future reserved words and
-// future reserved words in strict mode as specific by 7.6.1 and 7.6.2
-// in ECMA-262.
-
-// This code is based on:
-// http://trac.webkit.org/export/89109/trunk/LayoutTests/fast/js/script-tests/keywords-and-reserved_words.js
-
-function isKeyword(x)
-{
- try {
- eval("var " + x + ";");
- } catch(e) {
- return true;
- }
-
- return false;
-}
-
-function isStrictKeyword(x)
-{
- try {
- eval("'use strict'; var "+x+";");
- } catch(e) {
- return true;
- }
-
- return false;
-}
-
-function classifyIdentifier(x)
-{
- if (isKeyword(x)) {
- // All non-strict keywords are also keywords in strict code.
- if (!isStrictKeyword(x)) {
- return "ERROR";
- }
- return "keyword";
- }
-
- // Check for strict mode future reserved words.
- if (isStrictKeyword(x)) {
- return "strict";
- }
-
- return "identifier";
-}
-
-function testKeyword(word) {
- // Classify word
- assertEquals("keyword", classifyIdentifier(word));
-
- // Simple use of a keyword
- assertThrows("var " + word + " = 1;", SyntaxError);
- if (word != "this") {
- assertThrows("typeof (" + word + ");", SyntaxError);
- }
-
- // object literal properties
- eval("var x = { " + word + " : 42 };");
- eval("var x = { get " + word + " () {} };");
- eval("var x = { set " + word + " (value) {} };");
-
- // object literal with string literal property names
- eval("var x = { '" + word + "' : 42 };");
- eval("var x = { get '" + word + "' () { } };");
- eval("var x = { set '" + word + "' (value) { } };");
-
- // Function names and arguments
- assertThrows("function " + word + " () { }", SyntaxError);
- assertThrows("function foo (" + word + ") {}", SyntaxError);
- assertThrows("function foo (a, " + word + ") { }", SyntaxError);
- assertThrows("function foo (" + word + ", a) { }", SyntaxError);
- assertThrows("function foo (a, " + word + ", b) { }", SyntaxError);
- assertThrows("var foo = function (" + word + ") { }", SyntaxError);
-
- // setter parameter
- assertThrows("var x = { set foo(" + word + ") { } };", SyntaxError);
-}
-
-// Not keywords - these are all just identifiers.
-var identifiers = [
- "x", "keyword",
- "id", "strict",
- "identifier", "use",
- // The following are reserved in ES3 but not in ES5.
- "abstract", "int",
- "boolean", "long",
- "byte", "native",
- "char", "short",
- "double", "synchronized",
- "final", "throws",
- "float", "transient",
- "goto", "volatile" ];
-
-for (var i = 0; i < identifiers.length; i++) {
- assertEquals ("identifier", classifyIdentifier(identifiers[i]));
-}
-
-// 7.6.1.1 Keywords
-var keywords = [
- "break", "in",
- "case", "instanceof",
- "catch", "new",
- "continue", "return",
- "debugger", "switch",
- "default", "this",
- "delete", "throw",
- "do", "try",
- "else", "typeof",
- "finally", "var",
- "for", "void",
- "function", "while",
- "if", "with",
- // In ES5 "const" is a "future reserved word" but we treat it as a keyword.
- "const" ];
-
-for (var i = 0; i < keywords.length; i++) {
- testKeyword(keywords[i]);
-}
-
-// 7.6.1.2 Future Reserved Words (without "const")
-var future_reserved_words = [
- "class",
- "enum",
- "export",
- "extends",
- "import",
- "super" ];
-
-for (var i = 0; i < future_reserved_words.length; i++) {
- testKeyword(future_reserved_words[i]);
-}
-
-// 7.6.1.2 Future Reserved Words, in strict mode only.
-var future_strict_reserved_words = [
- "implements",
- "interface",
- "let",
- "package",
- "private",
- "protected",
- "public",
- "static",
- "yield" ];
-
-for (var i = 0; i < future_strict_reserved_words.length; i++) {
- assertEquals ("strict", classifyIdentifier(future_strict_reserved_words[i]));
-}
-
-// More strict mode specific tests can be found in mjsunit/strict-mode.js.
diff --git a/src/3rdparty/v8/test/mjsunit/large-object-allocation.js b/src/3rdparty/v8/test/mjsunit/large-object-allocation.js
deleted file mode 100644
index c2b717c..0000000
--- a/src/3rdparty/v8/test/mjsunit/large-object-allocation.js
+++ /dev/null
@@ -1,300 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Allocate a very large object that is guaranteed to overflow the
-// instance_size field in the map resulting in an object that is smaller
-// than what was called for.
-function LargeObject(i) {
- this.a = i;
- this.b = i;
- this.c = i;
- this.d = i;
- this.e = i;
- this.f = i;
- this.g = i;
- this.h = i;
- this.i = i;
- this.j = i;
- this.k = i;
- this.l = i;
- this.m = i;
- this.n = i;
- this.o = i;
- this.p = i;
- this.q = i;
- this.r = i;
- this.s = i;
- this.t = i;
- this.u = i;
- this.v = i;
- this.w = i;
- this.x = i;
- this.y = i;
- this.z = i;
- this.a1 = i;
- this.b1 = i;
- this.c1 = i;
- this.d1 = i;
- this.e1 = i;
- this.f1 = i;
- this.g1 = i;
- this.h1 = i;
- this.i1 = i;
- this.j1 = i;
- this.k1 = i;
- this.l1 = i;
- this.m1 = i;
- this.n1 = i;
- this.o1 = i;
- this.p1 = i;
- this.q1 = i;
- this.r1 = i;
- this.s1 = i;
- this.t1 = i;
- this.u1 = i;
- this.v1 = i;
- this.w1 = i;
- this.x1 = i;
- this.y1 = i;
- this.z1 = i;
- this.a2 = i;
- this.b2 = i;
- this.c2 = i;
- this.d2 = i;
- this.e2 = i;
- this.f2 = i;
- this.g2 = i;
- this.h2 = i;
- this.i2 = i;
- this.j2 = i;
- this.k2 = i;
- this.l2 = i;
- this.m2 = i;
- this.n2 = i;
- this.o2 = i;
- this.p2 = i;
- this.q2 = i;
- this.r2 = i;
- this.s2 = i;
- this.t2 = i;
- this.u2 = i;
- this.v2 = i;
- this.w2 = i;
- this.x2 = i;
- this.y2 = i;
- this.z2 = i;
- this.a3 = i;
- this.b3 = i;
- this.c3 = i;
- this.d3 = i;
- this.e3 = i;
- this.f3 = i;
- this.g3 = i;
- this.h3 = i;
- this.i3 = i;
- this.j3 = i;
- this.k3 = i;
- this.l3 = i;
- this.m3 = i;
- this.n3 = i;
- this.o3 = i;
- this.p3 = i;
- this.q3 = i;
- this.r3 = i;
- this.s3 = i;
- this.t3 = i;
- this.u3 = i;
- this.v3 = i;
- this.w3 = i;
- this.x3 = i;
- this.y3 = i;
- this.z3 = i;
- this.a4 = i;
- this.b4 = i;
- this.c4 = i;
- this.d4 = i;
- this.e4 = i;
- this.f4 = i;
- this.g4 = i;
- this.h4 = i;
- this.i4 = i;
- this.j4 = i;
- this.k4 = i;
- this.l4 = i;
- this.m4 = i;
- this.n4 = i;
- this.o4 = i;
- this.p4 = i;
- this.q4 = i;
- this.r4 = i;
- this.s4 = i;
- this.t4 = i;
- this.u4 = i;
- this.v4 = i;
- this.w4 = i;
- this.x4 = i;
- this.y4 = i;
- this.z4 = i;
- this.a5 = i;
- this.b5 = i;
- this.c5 = i;
- this.d5 = i;
- this.e5 = i;
- this.f5 = i;
- this.g5 = i;
- this.h5 = i;
- this.i5 = i;
- this.j5 = i;
- this.k5 = i;
- this.l5 = i;
- this.m5 = i;
- this.n5 = i;
- this.o5 = i;
- this.p5 = i;
- this.q5 = i;
- this.r5 = i;
- this.s5 = i;
- this.t5 = i;
- this.u5 = i;
- this.v5 = i;
- this.w5 = i;
- this.x5 = i;
- this.y5 = i;
- this.z5 = i;
- this.a6 = i;
- this.b6 = i;
- this.c6 = i;
- this.d6 = i;
- this.e6 = i;
- this.f6 = i;
- this.g6 = i;
- this.h6 = i;
- this.i6 = i;
- this.j6 = i;
- this.k6 = i;
- this.l6 = i;
- this.m6 = i;
- this.n6 = i;
- this.o6 = i;
- this.p6 = i;
- this.q6 = i;
- this.r6 = i;
- this.s6 = i;
- this.t6 = i;
- this.u6 = i;
- this.v6 = i;
- this.w6 = i;
- this.x6 = i;
- this.y6 = i;
- this.z6 = i;
- this.a7 = i;
- this.b7 = i;
- this.c7 = i;
- this.d7 = i;
- this.e7 = i;
- this.f7 = i;
- this.g7 = i;
- this.h7 = i;
- this.i7 = i;
- this.j7 = i;
- this.k7 = i;
- this.l7 = i;
- this.m7 = i;
- this.n7 = i;
- this.o7 = i;
- this.p7 = i;
- this.q7 = i;
- this.r7 = i;
- this.s7 = i;
- this.t7 = i;
- this.u7 = i;
- this.v7 = i;
- this.w7 = i;
- this.x7 = i;
- this.y7 = i;
- this.z7 = i;
- this.a8 = i;
- this.b8 = i;
- this.c8 = i;
- this.d8 = i;
- this.e8 = i;
- this.f8 = i;
- this.g8 = i;
- this.h8 = i;
- this.i8 = i;
- this.j8 = i;
- this.k8 = i;
- this.l8 = i;
- this.m8 = i;
- this.n8 = i;
- this.o8 = i;
- this.p8 = i;
- this.q8 = i;
- this.r8 = i;
- this.s8 = i;
- this.t8 = i;
- this.u8 = i;
- this.v8 = i;
- this.w8 = i;
- this.x8 = i;
- this.y8 = i;
- this.z8 = i;
- this.a9 = i;
- this.b9 = i;
- this.c9 = i;
- this.d9 = i;
- this.e9 = i;
- this.f9 = i;
- this.g9 = i;
- this.h9 = i;
- this.i9 = i;
- this.j9 = i;
- this.k9 = i;
- this.l9 = i;
- this.m9 = i;
- this.n9 = i;
- this.o9 = i;
- this.p9 = i;
- this.q9 = i;
- // With this number of properties the object perfectly wraps around if the
- // instance size is not checked when allocating the initial map for MultiProp.
- // Meaning that the instance will be smaller than a minimal JSObject and we
- // will suffer a bus error in the release build or an assertion in the debug
- // build.
-}
-
-function ExpectAllFields(o, val) {
- for (var x in o) {
- assertEquals(o[x], val);
- }
-}
-
-var a = new LargeObject(1);
-var b = new LargeObject(2);
-
-ExpectAllFields(a, 1);
-ExpectAllFields(b, 2);
diff --git a/src/3rdparty/v8/test/mjsunit/large-object-literal.js b/src/3rdparty/v8/test/mjsunit/large-object-literal.js
deleted file mode 100644
index 70a2769..0000000
--- a/src/3rdparty/v8/test/mjsunit/large-object-literal.js
+++ /dev/null
@@ -1,56 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that we can create object literals of various sizes.
-function testLiteral(size) {
-
- // Build object-literal string.
- var literal = "var o = { ";
-
- for (var i = 0; i < size; i++) {
- if (i > 0) literal += ",";
- literal += ("a" + i + ":" + i);
- }
- literal += "}";
-
- // Create the object literal.
- eval(literal);
-
- // Check that the properties have the expected values.
- for (var i = 0; i < size; i++) {
- assertEquals(i, o["a"+i]);
- }
-}
-
-// The sizes to test.
-var sizes = [0, 1, 2, 100, 200, 400, 1000];
-
-// Run the test.
-for (var i = 0; i < sizes.length; i++) {
- testLiteral(sizes[i]);
-}
-
diff --git a/src/3rdparty/v8/test/mjsunit/lazy-load.js b/src/3rdparty/v8/test/mjsunit/lazy-load.js
deleted file mode 100644
index c384331..0000000
--- a/src/3rdparty/v8/test/mjsunit/lazy-load.js
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test unusual way of accessing Date.
-var date0 = new this["Date"](1111);
-assertEquals(1111, date0.getTime());
-
-// Check that regexp literals use original RegExp (non-ECMA-262).
-RegExp = 42;
-var re = /test/;
diff --git a/src/3rdparty/v8/test/mjsunit/leakcheck.js b/src/3rdparty/v8/test/mjsunit/leakcheck.js
deleted file mode 100644
index 7cbb2e5..0000000
--- a/src/3rdparty/v8/test/mjsunit/leakcheck.js
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-/**
- * This test is run with leak detection when running special tests.
- * Don't do too much work here or running it will take forever.
- */
-
-function fac(n) {
- if (n > 0) return fac(n - 1) * n;
- else return 1;
-}
-
-function testFac() {
- if (fac(6) != 720) throw "Error";
-}
-
-function testRegExp() {
- var input = "123456789";
- var result = input.replace(/[4-6]+/g, "xxx");
- if (result != "123xxx789") throw "Error";
-}
-
-function main() {
- testFac();
- testRegExp();
-}
-
-main();
diff --git a/src/3rdparty/v8/test/mjsunit/length.js b/src/3rdparty/v8/test/mjsunit/length.js
deleted file mode 100644
index 3331564..0000000
--- a/src/3rdparty/v8/test/mjsunit/length.js
+++ /dev/null
@@ -1,78 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-/**
- * @fileoverview Assert we match ES3 and Safari.
- */
-
-assertEquals(0, Array.prototype.length, "Array.prototype.length");
-assertEquals(1, Array.length, "Array.length");
-assertEquals(1, Array.prototype.concat.length, "Array.prototype.concat.length");
-assertEquals(1, Array.prototype.join.length, "Array.prototype.join.length");
-assertEquals(1, Array.prototype.push.length, "Array.prototype.push.length");
-assertEquals(1, Array.prototype.unshift.length, "Array.prototype.unshift.length");
-assertEquals(1, Boolean.length, "Boolean.length");
-assertEquals(1, Error.length, "Error.length");
-assertEquals(1, EvalError.length, "EvalError.length");
-assertEquals(1, Function.length, "Function.length");
-assertEquals(1, Function.prototype.call.length, "Function.prototype.call.length");
-assertEquals(1, Number.length, "Number.length");
-assertEquals(1, Number.prototype.toExponential.length, "Number.prototype.toExponential.length");
-assertEquals(1, Number.prototype.toFixed.length, "Number.prototype.toFixed.length");
-assertEquals(1, Number.prototype.toPrecision.length, "Number.prototype.toPrecision.length");
-assertEquals(1, Object.length, "Object.length");
-assertEquals(1, RangeError.length, "RangeError.length");
-assertEquals(1, ReferenceError.length, "ReferenceError.length");
-assertEquals(1, String.fromCharCode.length, "String.fromCharCode.length");
-assertEquals(1, String.length, "String.length");
-assertEquals(1, String.prototype.concat.length, "String.prototype.concat.length");
-assertEquals(1, String.prototype.indexOf.length, "String.prototype.indexOf.length");
-assertEquals(1, String.prototype.lastIndexOf.length, "String.prototype.lastIndexOf.length");
-assertEquals(1, SyntaxError.length, "SyntaxError.length");
-assertEquals(1, TypeError.length, "TypeError.length");
-assertEquals(2, Array.prototype.slice.length, "Array.prototype.slice.length");
-assertEquals(2, Array.prototype.splice.length, "Array.prototype.splice.length");
-assertEquals(2, Date.prototype.setMonth.length, "Date.prototype.setMonth.length");
-assertEquals(2, Date.prototype.setSeconds.length, "Date.prototype.setSeconds.length");
-assertEquals(2, Date.prototype.setUTCMonth.length, "Date.prototype.setUTCMonth.length");
-assertEquals(2, Date.prototype.setUTCSeconds.length, "Date.prototype.setUTCSeconds.length");
-assertEquals(2, Function.prototype.apply.length, "Function.prototype.apply.length");
-assertEquals(2, Math.max.length, "Math.max.length");
-assertEquals(2, Math.min.length, "Math.min.length");
-assertEquals(2, RegExp.length, "RegExp.length");
-assertEquals(2, String.prototype.slice.length, "String.prototype.slice.length");
-assertEquals(2, String.prototype.split.length, "String.prototype.split.length");
-assertEquals(2, String.prototype.substr.length, "String.prototype.substr.length");
-assertEquals(2, String.prototype.substring.length, "String.prototype.substring.length");
-assertEquals(3, Date.prototype.setFullYear.length, "Date.prototype.setFullYear.length");
-assertEquals(3, Date.prototype.setMinutes.length, "Date.prototype.setMinutes.length");
-assertEquals(3, Date.prototype.setUTCFullYear.length, "Date.prototype.setUTCFullYear.length");
-assertEquals(3, Date.prototype.setUTCMinutes.length, "Date.prototype.setUTCMinutes.length");
-assertEquals(4, Date.prototype.setHours.length, "Date.prototype.setHours.length");
-assertEquals(4, Date.prototype.setUTCHours.length, "Date.prototype.setUTCHours.length");
-assertEquals(7, Date.UTC.length, "Date.UTC.length");
-assertEquals(7, Date.length, "Date.length");
diff --git a/src/3rdparty/v8/test/mjsunit/limit-locals.js b/src/3rdparty/v8/test/mjsunit/limit-locals.js
deleted file mode 100644
index a166f30..0000000
--- a/src/3rdparty/v8/test/mjsunit/limit-locals.js
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that there is a limit of 131071 locals.
-
-// Flags: --stack-size=1200
-
-function function_with_n_locals(n) {
- test_prefix = "prefix ";
- test_suffix = " suffix";
- var src = "test_prefix + (function () {"
- for (var i = 1; i <= n; i++) {
- src += "var x" + i + ";";
- }
- src += "return " + n + ";})() + test_suffix";
- return eval(src);
-}
-
-assertEquals("prefix 0 suffix", function_with_n_locals(0));
-assertEquals("prefix 16000 suffix", function_with_n_locals(16000));
-assertEquals("prefix 131071 suffix", function_with_n_locals(131071));
-
-assertThrows("function_with_n_locals(131072)");
diff --git a/src/3rdparty/v8/test/mjsunit/local-load-from-eval.js b/src/3rdparty/v8/test/mjsunit/local-load-from-eval.js
deleted file mode 100644
index 0fdac9a..0000000
--- a/src/3rdparty/v8/test/mjsunit/local-load-from-eval.js
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Tests loads of local properties from eval.
-
-function test(source) {
- var x = 27;
- eval(source);
-}
-
-test("assertEquals(27, x);");
-test("(function() { assertEquals(27, x) })();");
-test("(function() { var y = 42; eval('1'); assertEquals(42, y); })();");
-test("(function() { var y = 42; eval('var y = 2; var z = 2;'); assertEquals(2, y); })();");
-
diff --git a/src/3rdparty/v8/test/mjsunit/logical.js b/src/3rdparty/v8/test/mjsunit/logical.js
deleted file mode 100644
index 23c5390..0000000
--- a/src/3rdparty/v8/test/mjsunit/logical.js
+++ /dev/null
@@ -1,49 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var undef = void 0;
-
-assertEquals(1, 1 || 0);
-assertEquals(2, 0 || 2);
-assertEquals('foo', 0 || 'foo');
-assertEquals(undef, undef || undef);
-assertEquals('foo', 'foo' || 'bar');
-assertEquals('bar', undef || 'bar');
-assertEquals('bar', undef || 'bar' || 'baz');
-assertEquals('baz', undef || undef || 'baz');
-
-assertEquals(0, 1 && 0);
-assertEquals(0, 0 && 2);
-assertEquals(0, 0 && 'foo');
-assertEquals(undef, undef && undef);
-assertEquals('bar', 'foo' && 'bar');
-assertEquals(undef, undef && 'bar');
-assertEquals('baz', 'foo' && 'bar' && 'baz');
-assertEquals(undef, 'foo' && undef && 'baz');
-
-assertEquals(0, undef && undef || 0);
-assertEquals('bar', undef && 0 || 'bar');
diff --git a/src/3rdparty/v8/test/mjsunit/manual-parallel-recompile.js b/src/3rdparty/v8/test/mjsunit/manual-parallel-recompile.js
deleted file mode 100644
index 26b1605..0000000
--- a/src/3rdparty/v8/test/mjsunit/manual-parallel-recompile.js
+++ /dev/null
@@ -1,79 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --expose-gc
-// Flags: --parallel-recompilation --manual-parallel-recompilation
-
-function assertOptimized(fun) {
- // This assertion takes --always-opt and --nocrankshaft flags into account.
- assertTrue(%GetOptimizationStatus(fun) != 2);
-}
-
-function assertUnoptimized(fun) {
- assertTrue(%GetOptimizationStatus(fun) != 1);
-}
-
-function f(x) {
- var xx = x * x;
- var xxstr = xx.toString();
- return xxstr.length;
-}
-
-function g(x) {
- var xxx = Math.sqrt(x) | 0;
- var xxxstr = xxx.toString();
- return xxxstr.length;
-}
-
-function k(x) {
- return x * x;
-}
-
-f(g(1));
-f(g(2));
-assertUnoptimized(f);
-assertUnoptimized(g);
-
-%ForceParallelRecompile(f);
-%ForceParallelRecompile(g);
-assertUnoptimized(f);
-assertUnoptimized(g);
-
-var sum = 0;
-for (var i = 0; i < 10000; i++) sum += f(i) + g(i);
-gc();
-
-assertEquals(95274, sum);
-assertUnoptimized(f);
-assertUnoptimized(g);
-
-%InstallRecompiledCode(f);
-assertOptimized(f);
-assertUnoptimized(g);
-
-%InstallRecompiledCode(g);
-assertOptimized(g);
diff --git a/src/3rdparty/v8/test/mjsunit/math-abs.js b/src/3rdparty/v8/test/mjsunit/math-abs.js
deleted file mode 100644
index 2b07954..0000000
--- a/src/3rdparty/v8/test/mjsunit/math-abs.js
+++ /dev/null
@@ -1,111 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --max-new-space-size=256 --allow-natives-syntax
-
-function zero() {
- var x = 0.5;
- return (function() { return x - 0.5; })();
-}
-
-function test() {
- assertEquals(0, Math.abs(0));
- assertEquals(0, Math.abs(zero()));
- assertEquals(0, Math.abs(-0));
- assertEquals(Infinity, Math.abs(Infinity));
- assertEquals(Infinity, Math.abs(-Infinity));
- assertEquals(NaN, Math.abs(NaN));
- assertEquals(NaN, Math.abs(-NaN));
- assertEquals('Infinity', Math.abs(Number('+Infinity')).toString());
- assertEquals('Infinity', Math.abs(Number('-Infinity')).toString());
- assertEquals('NaN', Math.abs(NaN).toString());
- assertEquals('NaN', Math.abs(-NaN).toString());
-
- assertEquals(0.1, Math.abs(0.1));
- assertEquals(0.5, Math.abs(0.5));
- assertEquals(0.1, Math.abs(-0.1));
- assertEquals(0.5, Math.abs(-0.5));
- assertEquals(1, Math.abs(1));
- assertEquals(1.1, Math.abs(1.1));
- assertEquals(1.5, Math.abs(1.5));
- assertEquals(1, Math.abs(-1));
- assertEquals(1.1, Math.abs(-1.1));
- assertEquals(1.5, Math.abs(-1.5));
-
- assertEquals(Number.MIN_VALUE, Math.abs(Number.MIN_VALUE));
- assertEquals(Number.MIN_VALUE, Math.abs(-Number.MIN_VALUE));
- assertEquals(Number.MAX_VALUE, Math.abs(Number.MAX_VALUE));
- assertEquals(Number.MAX_VALUE, Math.abs(-Number.MAX_VALUE));
-
- // 2^30 is a smi boundary on arm and ia32.
- var two_30 = 1 << 30;
-
- assertEquals(two_30, Math.abs(two_30));
- assertEquals(two_30, Math.abs(-two_30));
-
- assertEquals(two_30 + 1, Math.abs(two_30 + 1));
- assertEquals(two_30 + 1, Math.abs(-two_30 - 1));
-
- assertEquals(two_30 - 1, Math.abs(two_30 - 1));
- assertEquals(two_30 - 1, Math.abs(-two_30 + 1));
-
- // 2^31 is a smi boundary on x64.
- var two_31 = 2 * two_30;
-
- assertEquals(two_31, Math.abs(two_31));
- assertEquals(two_31, Math.abs(-two_31));
-
- assertEquals(two_31 + 1, Math.abs(two_31 + 1));
- assertEquals(two_31 + 1, Math.abs(-two_31 - 1));
-
- assertEquals(two_31 - 1, Math.abs(two_31 - 1));
- assertEquals(two_31 - 1, Math.abs(-two_31 + 1));
-
- assertEquals(NaN, Math.abs("not a number"));
- assertEquals(NaN, Math.abs([1, 2, 3]));
- assertEquals(42, Math.abs({valueOf: function() { return 42; } }));
- assertEquals(42, Math.abs({valueOf: function() { return -42; } }));
-}
-
-
-// Test in a loop to cover the custom IC and GC-related issues.
-for (var i = 0; i < 500; i++) {
- test();
-}
-
-// Regression test for optimized version of Math.abs, see:
-// http://codereview.chromium.org/6875002.
-function foo(x) {
- return Math.abs(x);
-}
-// Get some smi type feedback.
-for(var i = 0; i < 1000; i++) {
- foo(-i);
-}
-assertEquals(42, foo(-42));
-%OptimizeFunctionOnNextCall(foo)
-assertEquals(42, foo(-42));
diff --git a/src/3rdparty/v8/test/mjsunit/math-exp-precision.js b/src/3rdparty/v8/test/mjsunit/math-exp-precision.js
deleted file mode 100644
index ace7edc..0000000
--- a/src/3rdparty/v8/test/mjsunit/math-exp-precision.js
+++ /dev/null
@@ -1,64 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Tests that the --fast-math implementation of Math.exp() has
-// reasonable precision.
-
-function exp(x) {
- return Math.exp(x);
-}
-
-var first_call_result = exp(Math.PI);
-var second_call_result = exp(Math.PI);
-
-function assertAlmostEquals(expected, actual, x) {
- if (expected == 0 && actual == 0) return; // OK
- if (expected == Number.POSITIVE_INFINITY &&
- actual == Number.POSITIVE_INFINITY) {
- return; // OK
- }
- relative_diff = Math.abs(expected/actual - 1);
- assertTrue(relative_diff < 1e-12, "relative difference of " + relative_diff +
- " for input " + x);
-}
-
-var increment = Math.PI / 35; // Roughly 0.1, but we want to try many
- // different mantissae.
-for (var x = -708; x < 710; x += increment) {
- var ex = exp(x);
- var reference = Math.pow(Math.E, x);
- assertAlmostEquals(reference, ex, x);
- if (ex > 0 && isFinite(ex)) {
- var back = Math.log(ex);
- assertAlmostEquals(x, back, x + " (backwards)");
- }
-}
-
-// Make sure optimizing the function does not alter the result.
-var last_call_result = exp(Math.PI);
-assertEquals(first_call_result, second_call_result);
-assertEquals(first_call_result, last_call_result);
diff --git a/src/3rdparty/v8/test/mjsunit/math-floor-negative.js b/src/3rdparty/v8/test/mjsunit/math-floor-negative.js
deleted file mode 100644
index 4cabff5..0000000
--- a/src/3rdparty/v8/test/mjsunit/math-floor-negative.js
+++ /dev/null
@@ -1,59 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --noenable_sse4_1 --allow-natives-syntax
-
-function test1() {
- // Trigger overflow when converting/truncating double to integer.
- // Divide by 10 to avoid overflow when smi-tagging at the end.
- return Math.floor(-100000000000.5) / 10;
-}
-
-function test2() {
- // Trigger no overflow.
- return Math.floor(-100.2);
-}
-
-function test3() {
- // Trigger overflow when compensating by subtracting after compare.
- // Divide by 10 to avoid overflow when smi-tagging at the end.
- return Math.floor(-2147483648.1) / 10;
-}
-
-test1();
-test1();
-%OptimizeFunctionOnNextCall(test1);
-test2();
-test2();
-%OptimizeFunctionOnNextCall(test2);
-test3();
-test3();
-%OptimizeFunctionOnNextCall(test3);
-
-assertEquals(-10000000000.1, test1());
-assertEquals(-101, test2());
-assertEquals(-214748364.9, test3());
diff --git a/src/3rdparty/v8/test/mjsunit/math-floor-of-div-minus-zero.js b/src/3rdparty/v8/test/mjsunit/math-floor-of-div-minus-zero.js
deleted file mode 100644
index 7349165..0000000
--- a/src/3rdparty/v8/test/mjsunit/math-floor-of-div-minus-zero.js
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --nouse_inlining --noparallel-recompilation
-
-// Test for negative zero that doesn't need bail out
-
-function test_div_no_deopt_minus_zero() {
- var zero_in_array = [0];
- assertTrue(0 === (Math.floor((zero_in_array[0] | 0) / -1) | 0));
-}
-
-test_div_no_deopt_minus_zero();
-test_div_no_deopt_minus_zero();
-%OptimizeFunctionOnNextCall(test_div_no_deopt_minus_zero);
-test_div_no_deopt_minus_zero();
-assertTrue(2 != %GetOptimizationStatus(test_div_no_deopt_minus_zero));
diff --git a/src/3rdparty/v8/test/mjsunit/math-floor-of-div-nosudiv.js b/src/3rdparty/v8/test/mjsunit/math-floor-of-div-nosudiv.js
deleted file mode 100644
index 5baed2d..0000000
--- a/src/3rdparty/v8/test/mjsunit/math-floor-of-div-nosudiv.js
+++ /dev/null
@@ -1,288 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --nouse_inlining --noenable_sudiv
-
-// Use this function as reference. Make sure it is not inlined.
-function div(a, b) {
- return a / b;
-}
-
-var limit = 0x1000000;
-var exhaustive_limit = 100;
-var step = 10;
-var values = [0x10000001,
- 0x12345678,
- -0x789abcdf, // 0x87654321
- 0x01234567,
- 0x76543210,
- -0x80000000, // 0x80000000
- 0x7fffffff,
- -0x0fffffff, // 0xf0000001
- 0x00000010,
- -0x01000000 // 0xff000000
- ];
-
-function test_div() {
- var c = 0;
- for (var k = 0; k <= limit; k++) {
- if (k > exhaustive_limit) { c += step; k += c; }
- assertEquals(Math.floor(div(k, 1)), Math.floor(k / 1));
- assertEquals(Math.floor(div(k, -1)), Math.floor(k / -1));
- assertEquals(Math.floor(div(k, 2)), Math.floor(k / 2));
- assertEquals(Math.floor(div(k, -2)), Math.floor(k / -2));
- assertEquals(Math.floor(div(k, 3)), Math.floor(k / 3));
- assertEquals(Math.floor(div(k, -3)), Math.floor(k / -3));
- assertEquals(Math.floor(div(k, 4)), Math.floor(k / 4));
- assertEquals(Math.floor(div(k, -4)), Math.floor(k / -4));
- assertEquals(Math.floor(div(k, 5)), Math.floor(k / 5));
- assertEquals(Math.floor(div(k, -5)), Math.floor(k / -5));
- assertEquals(Math.floor(div(k, 6)), Math.floor(k / 6));
- assertEquals(Math.floor(div(k, -6)), Math.floor(k / -6));
- assertEquals(Math.floor(div(k, 7)), Math.floor(k / 7));
- assertEquals(Math.floor(div(k, -7)), Math.floor(k / -7));
- assertEquals(Math.floor(div(k, 8)), Math.floor(k / 8));
- assertEquals(Math.floor(div(k, -8)), Math.floor(k / -8));
- assertEquals(Math.floor(div(k, 9)), Math.floor(k / 9));
- assertEquals(Math.floor(div(k, -9)), Math.floor(k / -9));
- assertEquals(Math.floor(div(k, 10)), Math.floor(k / 10));
- assertEquals(Math.floor(div(k, -10)), Math.floor(k / -10));
- assertEquals(Math.floor(div(k, 11)), Math.floor(k / 11));
- assertEquals(Math.floor(div(k, -11)), Math.floor(k / -11));
- assertEquals(Math.floor(div(k, 12)), Math.floor(k / 12));
- assertEquals(Math.floor(div(k, -12)), Math.floor(k / -12));
- assertEquals(Math.floor(div(k, 13)), Math.floor(k / 13));
- assertEquals(Math.floor(div(k, -13)), Math.floor(k / -13));
- assertEquals(Math.floor(div(k, 14)), Math.floor(k / 14));
- assertEquals(Math.floor(div(k, -14)), Math.floor(k / -14));
- assertEquals(Math.floor(div(k, 15)), Math.floor(k / 15));
- assertEquals(Math.floor(div(k, -15)), Math.floor(k / -15));
- assertEquals(Math.floor(div(k, 16)), Math.floor(k / 16));
- assertEquals(Math.floor(div(k, -16)), Math.floor(k / -16));
- assertEquals(Math.floor(div(k, 17)), Math.floor(k / 17));
- assertEquals(Math.floor(div(k, -17)), Math.floor(k / -17));
- assertEquals(Math.floor(div(k, 18)), Math.floor(k / 18));
- assertEquals(Math.floor(div(k, -18)), Math.floor(k / -18));
- assertEquals(Math.floor(div(k, 19)), Math.floor(k / 19));
- assertEquals(Math.floor(div(k, -19)), Math.floor(k / -19));
- assertEquals(Math.floor(div(k, 20)), Math.floor(k / 20));
- assertEquals(Math.floor(div(k, -20)), Math.floor(k / -20));
- assertEquals(Math.floor(div(k, 21)), Math.floor(k / 21));
- assertEquals(Math.floor(div(k, -21)), Math.floor(k / -21));
- assertEquals(Math.floor(div(k, 22)), Math.floor(k / 22));
- assertEquals(Math.floor(div(k, -22)), Math.floor(k / -22));
- assertEquals(Math.floor(div(k, 23)), Math.floor(k / 23));
- assertEquals(Math.floor(div(k, -23)), Math.floor(k / -23));
- assertEquals(Math.floor(div(k, 24)), Math.floor(k / 24));
- assertEquals(Math.floor(div(k, -24)), Math.floor(k / -24));
- assertEquals(Math.floor(div(k, 25)), Math.floor(k / 25));
- assertEquals(Math.floor(div(k, -25)), Math.floor(k / -25));
- assertEquals(Math.floor(div(k, 125)), Math.floor(k / 125));
- assertEquals(Math.floor(div(k, -125)), Math.floor(k / -125));
- assertEquals(Math.floor(div(k, 625)), Math.floor(k / 625));
- assertEquals(Math.floor(div(k, -625)), Math.floor(k / -625));
- }
- c = 0;
- for (var k = 0; k <= limit; k++) {
- if (k > exhaustive_limit) { c += step; k += c; }
- assertEquals(Math.floor(div(-k, 1)), Math.floor(-k / 1));
- assertEquals(Math.floor(div(-k, -1)), Math.floor(-k / -1));
- assertEquals(Math.floor(div(-k, 2)), Math.floor(-k / 2));
- assertEquals(Math.floor(div(-k, -2)), Math.floor(-k / -2));
- assertEquals(Math.floor(div(-k, 3)), Math.floor(-k / 3));
- assertEquals(Math.floor(div(-k, -3)), Math.floor(-k / -3));
- assertEquals(Math.floor(div(-k, 4)), Math.floor(-k / 4));
- assertEquals(Math.floor(div(-k, -4)), Math.floor(-k / -4));
- assertEquals(Math.floor(div(-k, 5)), Math.floor(-k / 5));
- assertEquals(Math.floor(div(-k, -5)), Math.floor(-k / -5));
- assertEquals(Math.floor(div(-k, 6)), Math.floor(-k / 6));
- assertEquals(Math.floor(div(-k, -6)), Math.floor(-k / -6));
- assertEquals(Math.floor(div(-k, 7)), Math.floor(-k / 7));
- assertEquals(Math.floor(div(-k, -7)), Math.floor(-k / -7));
- assertEquals(Math.floor(div(-k, 8)), Math.floor(-k / 8));
- assertEquals(Math.floor(div(-k, -8)), Math.floor(-k / -8));
- assertEquals(Math.floor(div(-k, 9)), Math.floor(-k / 9));
- assertEquals(Math.floor(div(-k, -9)), Math.floor(-k / -9));
- assertEquals(Math.floor(div(-k, 10)), Math.floor(-k / 10));
- assertEquals(Math.floor(div(-k, -10)), Math.floor(-k / -10));
- assertEquals(Math.floor(div(-k, 11)), Math.floor(-k / 11));
- assertEquals(Math.floor(div(-k, -11)), Math.floor(-k / -11));
- assertEquals(Math.floor(div(-k, 12)), Math.floor(-k / 12));
- assertEquals(Math.floor(div(-k, -12)), Math.floor(-k / -12));
- assertEquals(Math.floor(div(-k, 13)), Math.floor(-k / 13));
- assertEquals(Math.floor(div(-k, -13)), Math.floor(-k / -13));
- assertEquals(Math.floor(div(-k, 14)), Math.floor(-k / 14));
- assertEquals(Math.floor(div(-k, -14)), Math.floor(-k / -14));
- assertEquals(Math.floor(div(-k, 15)), Math.floor(-k / 15));
- assertEquals(Math.floor(div(-k, -15)), Math.floor(-k / -15));
- assertEquals(Math.floor(div(-k, 16)), Math.floor(-k / 16));
- assertEquals(Math.floor(div(-k, -16)), Math.floor(-k / -16));
- assertEquals(Math.floor(div(-k, 17)), Math.floor(-k / 17));
- assertEquals(Math.floor(div(-k, -17)), Math.floor(-k / -17));
- assertEquals(Math.floor(div(-k, 18)), Math.floor(-k / 18));
- assertEquals(Math.floor(div(-k, -18)), Math.floor(-k / -18));
- assertEquals(Math.floor(div(-k, 19)), Math.floor(-k / 19));
- assertEquals(Math.floor(div(-k, -19)), Math.floor(-k / -19));
- assertEquals(Math.floor(div(-k, 20)), Math.floor(-k / 20));
- assertEquals(Math.floor(div(-k, -20)), Math.floor(-k / -20));
- assertEquals(Math.floor(div(-k, 21)), Math.floor(-k / 21));
- assertEquals(Math.floor(div(-k, -21)), Math.floor(-k / -21));
- assertEquals(Math.floor(div(-k, 22)), Math.floor(-k / 22));
- assertEquals(Math.floor(div(-k, -22)), Math.floor(-k / -22));
- assertEquals(Math.floor(div(-k, 23)), Math.floor(-k / 23));
- assertEquals(Math.floor(div(-k, -23)), Math.floor(-k / -23));
- assertEquals(Math.floor(div(-k, 24)), Math.floor(-k / 24));
- assertEquals(Math.floor(div(-k, -24)), Math.floor(-k / -24));
- assertEquals(Math.floor(div(-k, 25)), Math.floor(-k / 25));
- assertEquals(Math.floor(div(-k, -25)), Math.floor(-k / -25));
- assertEquals(Math.floor(div(-k, 125)), Math.floor(-k / 125));
- assertEquals(Math.floor(div(-k, -125)), Math.floor(-k / -125));
- assertEquals(Math.floor(div(-k, 625)), Math.floor(-k / 625));
- assertEquals(Math.floor(div(-k, -625)), Math.floor(-k / -625));
- }
- // Test for edge cases.
- // Use (values[key] | 0) to force the integer type.
- for (var i = 0; i < values.length; i++) {
- for (var j = 0; j < values.length; j++) {
- assertEquals(Math.floor(div((values[i] | 0), (values[j] | 0))),
- Math.floor((values[i] | 0) / (values[j] | 0)));
- assertEquals(Math.floor(div(-(values[i] | 0), (values[j] | 0))),
- Math.floor(-(values[i] | 0) / (values[j] | 0)));
- assertEquals(Math.floor(div((values[i] | 0), -(values[j] | 0))),
- Math.floor((values[i] | 0) / -(values[j] | 0)));
- assertEquals(Math.floor(div(-(values[i] | 0), -(values[j] | 0))),
- Math.floor(-(values[i] | 0) / -(values[j] | 0)));
- }
- }
-}
-
-test_div();
-%OptimizeFunctionOnNextCall(test_div);
-test_div();
-
-// Test for ia32/x64 flooring correctness.
-var values2 = [1, 3, 10, 99, 100, 101, 0x7fffffff];
-function test_div2() {
- for (var i = 0; i < values2.length; i++) {
- for (var j = 0; j < values2.length; j++) {
- assertEquals(Math.floor(div((values2[i] | 0), (values2[j] | 0))),
- Math.floor((values2[i] | 0) / (values2[j] | 0)));
- assertEquals(Math.floor(div(-(values2[i] | 0), (values2[j] | 0))),
- Math.floor(-(values2[i] | 0) / (values2[j] | 0)));
- assertEquals(Math.floor(div((values2[i] | 0), -(values2[j] | 0))),
- Math.floor((values2[i] | 0) / -(values2[j] | 0)));
- assertEquals(Math.floor(div(-(values2[i] | 0), -(values2[j] | 0))),
- Math.floor(-(values2[i] | 0) / -(values2[j] | 0)));
- }
- }
-}
-
-test_div2();
-%OptimizeFunctionOnNextCall(test_div2);
-test_div2();
-
-
-// Test for negative zero, overflow and division by 0.
-// Separate the tests to prevent deoptimizations from making the other optimized
-// test unreachable.
-
-// We box the value in an array to avoid constant propagation.
-var neg_one_in_array = [-1];
-var zero_in_array = [0];
-var min_int_in_array = [-2147483648];
-
-// Test for dividing by constant.
-function IsNegativeZero(x) {
- assertTrue(x == 0); // Is 0 or -0.
- var y = 1 / x;
- assertFalse(isFinite(y));
- return y < 0;
-}
-
-function test_div_deopt_minus_zero() {
- for (var i = 0; i < 2; ++i) {
- assertTrue(IsNegativeZero(Math.floor((zero_in_array[0] | 0) / -1)));
- }
-}
-
-function test_div_deopt_overflow() {
- for (var i = 0; i < 2; ++i) {
- // We use '| 0' to force the representation to int32.
- assertEquals(-min_int_in_array[0],
- Math.floor((min_int_in_array[0] | 0) / -1));
- }
-}
-
-function test_div_deopt_div_by_zero() {
- for (var i = 0; i < 2; ++i) {
- assertEquals(div(i, 0),
- Math.floor(i / 0));
- }
-}
-
-test_div_deopt_minus_zero();
-test_div_deopt_overflow();
-test_div_deopt_div_by_zero();
-%OptimizeFunctionOnNextCall(test_div_deopt_minus_zero);
-%OptimizeFunctionOnNextCall(test_div_deopt_overflow);
-%OptimizeFunctionOnNextCall(test_div_deopt_div_by_zero);
-test_div_deopt_minus_zero();
-test_div_deopt_overflow();
-test_div_deopt_div_by_zero();
-
-// Test for dividing by variable.
-function test_div_deopt_minus_zero_v() {
- for (var i = 0; i < 2; ++i) {
- assertTrue(IsNegativeZero(Math.floor((zero_in_array[0] | 0) /
- neg_one_in_array[0])));
- }
-}
-
-function test_div_deopt_overflow_v() {
- for (var i = 0; i < 2; ++i) {
- // We use '| 0' to force the representation to int32.
- assertEquals(-min_int_in_array[0],
- Math.floor((min_int_in_array[0] | 0) / neg_one_in_array[0]));
- }
-}
-
-function test_div_deopt_div_by_zero_v() {
- for (var i = 0; i < 2; ++i) {
- assertEquals(div(i, 0),
- Math.floor(i / zero_in_array[0]));
- }
-}
-
-test_div_deopt_minus_zero_v();
-test_div_deopt_overflow_v();
-test_div_deopt_div_by_zero_v();
-%OptimizeFunctionOnNextCall(test_div_deopt_minus_zero_v);
-%OptimizeFunctionOnNextCall(test_div_deopt_overflow_v);
-%OptimizeFunctionOnNextCall(test_div_deopt_div_by_zero_v);
-test_div_deopt_minus_zero_v();
-test_div_deopt_overflow_v();
-test_div_deopt_div_by_zero_v();
diff --git a/src/3rdparty/v8/test/mjsunit/math-floor-of-div.js b/src/3rdparty/v8/test/mjsunit/math-floor-of-div.js
deleted file mode 100644
index c7ef289..0000000
--- a/src/3rdparty/v8/test/mjsunit/math-floor-of-div.js
+++ /dev/null
@@ -1,288 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --nouse_inlining --enable_sudiv
-
-// Use this function as reference. Make sure it is not inlined.
-function div(a, b) {
- return a / b;
-}
-
-var limit = 0x1000000;
-var exhaustive_limit = 100;
-var step = 10;
-var values = [0x10000001,
- 0x12345678,
- -0x789abcdf, // 0x87654321
- 0x01234567,
- 0x76543210,
- -0x80000000, // 0x80000000
- 0x7fffffff,
- -0x0fffffff, // 0xf0000001
- 0x00000010,
- -0x01000000 // 0xff000000
- ];
-
-function test_div() {
- var c = 0;
- for (var k = 0; k <= limit; k++) {
- if (k > exhaustive_limit) { c += step; k += c; }
- assertEquals(Math.floor(div(k, 1)), Math.floor(k / 1));
- assertEquals(Math.floor(div(k, -1)), Math.floor(k / -1));
- assertEquals(Math.floor(div(k, 2)), Math.floor(k / 2));
- assertEquals(Math.floor(div(k, -2)), Math.floor(k / -2));
- assertEquals(Math.floor(div(k, 3)), Math.floor(k / 3));
- assertEquals(Math.floor(div(k, -3)), Math.floor(k / -3));
- assertEquals(Math.floor(div(k, 4)), Math.floor(k / 4));
- assertEquals(Math.floor(div(k, -4)), Math.floor(k / -4));
- assertEquals(Math.floor(div(k, 5)), Math.floor(k / 5));
- assertEquals(Math.floor(div(k, -5)), Math.floor(k / -5));
- assertEquals(Math.floor(div(k, 6)), Math.floor(k / 6));
- assertEquals(Math.floor(div(k, -6)), Math.floor(k / -6));
- assertEquals(Math.floor(div(k, 7)), Math.floor(k / 7));
- assertEquals(Math.floor(div(k, -7)), Math.floor(k / -7));
- assertEquals(Math.floor(div(k, 8)), Math.floor(k / 8));
- assertEquals(Math.floor(div(k, -8)), Math.floor(k / -8));
- assertEquals(Math.floor(div(k, 9)), Math.floor(k / 9));
- assertEquals(Math.floor(div(k, -9)), Math.floor(k / -9));
- assertEquals(Math.floor(div(k, 10)), Math.floor(k / 10));
- assertEquals(Math.floor(div(k, -10)), Math.floor(k / -10));
- assertEquals(Math.floor(div(k, 11)), Math.floor(k / 11));
- assertEquals(Math.floor(div(k, -11)), Math.floor(k / -11));
- assertEquals(Math.floor(div(k, 12)), Math.floor(k / 12));
- assertEquals(Math.floor(div(k, -12)), Math.floor(k / -12));
- assertEquals(Math.floor(div(k, 13)), Math.floor(k / 13));
- assertEquals(Math.floor(div(k, -13)), Math.floor(k / -13));
- assertEquals(Math.floor(div(k, 14)), Math.floor(k / 14));
- assertEquals(Math.floor(div(k, -14)), Math.floor(k / -14));
- assertEquals(Math.floor(div(k, 15)), Math.floor(k / 15));
- assertEquals(Math.floor(div(k, -15)), Math.floor(k / -15));
- assertEquals(Math.floor(div(k, 16)), Math.floor(k / 16));
- assertEquals(Math.floor(div(k, -16)), Math.floor(k / -16));
- assertEquals(Math.floor(div(k, 17)), Math.floor(k / 17));
- assertEquals(Math.floor(div(k, -17)), Math.floor(k / -17));
- assertEquals(Math.floor(div(k, 18)), Math.floor(k / 18));
- assertEquals(Math.floor(div(k, -18)), Math.floor(k / -18));
- assertEquals(Math.floor(div(k, 19)), Math.floor(k / 19));
- assertEquals(Math.floor(div(k, -19)), Math.floor(k / -19));
- assertEquals(Math.floor(div(k, 20)), Math.floor(k / 20));
- assertEquals(Math.floor(div(k, -20)), Math.floor(k / -20));
- assertEquals(Math.floor(div(k, 21)), Math.floor(k / 21));
- assertEquals(Math.floor(div(k, -21)), Math.floor(k / -21));
- assertEquals(Math.floor(div(k, 22)), Math.floor(k / 22));
- assertEquals(Math.floor(div(k, -22)), Math.floor(k / -22));
- assertEquals(Math.floor(div(k, 23)), Math.floor(k / 23));
- assertEquals(Math.floor(div(k, -23)), Math.floor(k / -23));
- assertEquals(Math.floor(div(k, 24)), Math.floor(k / 24));
- assertEquals(Math.floor(div(k, -24)), Math.floor(k / -24));
- assertEquals(Math.floor(div(k, 25)), Math.floor(k / 25));
- assertEquals(Math.floor(div(k, -25)), Math.floor(k / -25));
- assertEquals(Math.floor(div(k, 125)), Math.floor(k / 125));
- assertEquals(Math.floor(div(k, -125)), Math.floor(k / -125));
- assertEquals(Math.floor(div(k, 625)), Math.floor(k / 625));
- assertEquals(Math.floor(div(k, -625)), Math.floor(k / -625));
- }
- c = 0;
- for (var k = 0; k <= limit; k++) {
- if (k > exhaustive_limit) { c += step; k += c; }
- assertEquals(Math.floor(div(-k, 1)), Math.floor(-k / 1));
- assertEquals(Math.floor(div(-k, -1)), Math.floor(-k / -1));
- assertEquals(Math.floor(div(-k, 2)), Math.floor(-k / 2));
- assertEquals(Math.floor(div(-k, -2)), Math.floor(-k / -2));
- assertEquals(Math.floor(div(-k, 3)), Math.floor(-k / 3));
- assertEquals(Math.floor(div(-k, -3)), Math.floor(-k / -3));
- assertEquals(Math.floor(div(-k, 4)), Math.floor(-k / 4));
- assertEquals(Math.floor(div(-k, -4)), Math.floor(-k / -4));
- assertEquals(Math.floor(div(-k, 5)), Math.floor(-k / 5));
- assertEquals(Math.floor(div(-k, -5)), Math.floor(-k / -5));
- assertEquals(Math.floor(div(-k, 6)), Math.floor(-k / 6));
- assertEquals(Math.floor(div(-k, -6)), Math.floor(-k / -6));
- assertEquals(Math.floor(div(-k, 7)), Math.floor(-k / 7));
- assertEquals(Math.floor(div(-k, -7)), Math.floor(-k / -7));
- assertEquals(Math.floor(div(-k, 8)), Math.floor(-k / 8));
- assertEquals(Math.floor(div(-k, -8)), Math.floor(-k / -8));
- assertEquals(Math.floor(div(-k, 9)), Math.floor(-k / 9));
- assertEquals(Math.floor(div(-k, -9)), Math.floor(-k / -9));
- assertEquals(Math.floor(div(-k, 10)), Math.floor(-k / 10));
- assertEquals(Math.floor(div(-k, -10)), Math.floor(-k / -10));
- assertEquals(Math.floor(div(-k, 11)), Math.floor(-k / 11));
- assertEquals(Math.floor(div(-k, -11)), Math.floor(-k / -11));
- assertEquals(Math.floor(div(-k, 12)), Math.floor(-k / 12));
- assertEquals(Math.floor(div(-k, -12)), Math.floor(-k / -12));
- assertEquals(Math.floor(div(-k, 13)), Math.floor(-k / 13));
- assertEquals(Math.floor(div(-k, -13)), Math.floor(-k / -13));
- assertEquals(Math.floor(div(-k, 14)), Math.floor(-k / 14));
- assertEquals(Math.floor(div(-k, -14)), Math.floor(-k / -14));
- assertEquals(Math.floor(div(-k, 15)), Math.floor(-k / 15));
- assertEquals(Math.floor(div(-k, -15)), Math.floor(-k / -15));
- assertEquals(Math.floor(div(-k, 16)), Math.floor(-k / 16));
- assertEquals(Math.floor(div(-k, -16)), Math.floor(-k / -16));
- assertEquals(Math.floor(div(-k, 17)), Math.floor(-k / 17));
- assertEquals(Math.floor(div(-k, -17)), Math.floor(-k / -17));
- assertEquals(Math.floor(div(-k, 18)), Math.floor(-k / 18));
- assertEquals(Math.floor(div(-k, -18)), Math.floor(-k / -18));
- assertEquals(Math.floor(div(-k, 19)), Math.floor(-k / 19));
- assertEquals(Math.floor(div(-k, -19)), Math.floor(-k / -19));
- assertEquals(Math.floor(div(-k, 20)), Math.floor(-k / 20));
- assertEquals(Math.floor(div(-k, -20)), Math.floor(-k / -20));
- assertEquals(Math.floor(div(-k, 21)), Math.floor(-k / 21));
- assertEquals(Math.floor(div(-k, -21)), Math.floor(-k / -21));
- assertEquals(Math.floor(div(-k, 22)), Math.floor(-k / 22));
- assertEquals(Math.floor(div(-k, -22)), Math.floor(-k / -22));
- assertEquals(Math.floor(div(-k, 23)), Math.floor(-k / 23));
- assertEquals(Math.floor(div(-k, -23)), Math.floor(-k / -23));
- assertEquals(Math.floor(div(-k, 24)), Math.floor(-k / 24));
- assertEquals(Math.floor(div(-k, -24)), Math.floor(-k / -24));
- assertEquals(Math.floor(div(-k, 25)), Math.floor(-k / 25));
- assertEquals(Math.floor(div(-k, -25)), Math.floor(-k / -25));
- assertEquals(Math.floor(div(-k, 125)), Math.floor(-k / 125));
- assertEquals(Math.floor(div(-k, -125)), Math.floor(-k / -125));
- assertEquals(Math.floor(div(-k, 625)), Math.floor(-k / 625));
- assertEquals(Math.floor(div(-k, -625)), Math.floor(-k / -625));
- }
- // Test for edge cases.
- // Use (values[key] | 0) to force the integer type.
- for (var i = 0; i < values.length; i++) {
- for (var j = 0; j < values.length; j++) {
- assertEquals(Math.floor(div((values[i] | 0), (values[j] | 0))),
- Math.floor((values[i] | 0) / (values[j] | 0)));
- assertEquals(Math.floor(div(-(values[i] | 0), (values[j] | 0))),
- Math.floor(-(values[i] | 0) / (values[j] | 0)));
- assertEquals(Math.floor(div((values[i] | 0), -(values[j] | 0))),
- Math.floor((values[i] | 0) / -(values[j] | 0)));
- assertEquals(Math.floor(div(-(values[i] | 0), -(values[j] | 0))),
- Math.floor(-(values[i] | 0) / -(values[j] | 0)));
- }
- }
-}
-
-test_div();
-%OptimizeFunctionOnNextCall(test_div);
-test_div();
-
-// Test for ia32/x64 flooring correctness.
-var values2 = [1, 3, 10, 99, 100, 101, 0x7fffffff];
-function test_div2() {
- for (var i = 0; i < values2.length; i++) {
- for (var j = 0; j < values2.length; j++) {
- assertEquals(Math.floor(div((values2[i] | 0), (values2[j] | 0))),
- Math.floor((values2[i] | 0) / (values2[j] | 0)));
- assertEquals(Math.floor(div(-(values2[i] | 0), (values2[j] | 0))),
- Math.floor(-(values2[i] | 0) / (values2[j] | 0)));
- assertEquals(Math.floor(div((values2[i] | 0), -(values2[j] | 0))),
- Math.floor((values2[i] | 0) / -(values2[j] | 0)));
- assertEquals(Math.floor(div(-(values2[i] | 0), -(values2[j] | 0))),
- Math.floor(-(values2[i] | 0) / -(values2[j] | 0)));
- }
- }
-}
-
-test_div2();
-%OptimizeFunctionOnNextCall(test_div2);
-test_div2();
-
-
-// Test for negative zero, overflow and division by 0.
-// Separate the tests to prevent deoptimizations from making the other optimized
-// test unreachable.
-
-// We box the value in an array to avoid constant propagation.
-var neg_one_in_array = [-1];
-var zero_in_array = [0];
-var min_int_in_array = [-2147483648];
-
-// Test for dividing by constant.
-function IsNegativeZero(x) {
- assertTrue(x == 0); // Is 0 or -0.
- var y = 1 / x;
- assertFalse(isFinite(y));
- return y < 0;
-}
-
-function test_div_deopt_minus_zero() {
- for (var i = 0; i < 2; ++i) {
- assertTrue(IsNegativeZero(Math.floor((zero_in_array[0] | 0) / -1)));
- }
-}
-
-function test_div_deopt_overflow() {
- for (var i = 0; i < 2; ++i) {
- // We use '| 0' to force the representation to int32.
- assertEquals(-min_int_in_array[0],
- Math.floor((min_int_in_array[0] | 0) / -1));
- }
-}
-
-function test_div_deopt_div_by_zero() {
- for (var i = 0; i < 2; ++i) {
- assertEquals(div(i, 0),
- Math.floor(i / 0));
- }
-}
-
-test_div_deopt_minus_zero();
-test_div_deopt_overflow();
-test_div_deopt_div_by_zero();
-%OptimizeFunctionOnNextCall(test_div_deopt_minus_zero);
-%OptimizeFunctionOnNextCall(test_div_deopt_overflow);
-%OptimizeFunctionOnNextCall(test_div_deopt_div_by_zero);
-test_div_deopt_minus_zero();
-test_div_deopt_overflow();
-test_div_deopt_div_by_zero();
-
-// Test for dividing by variable.
-function test_div_deopt_minus_zero_v() {
- for (var i = 0; i < 2; ++i) {
- assertTrue(IsNegativeZero(Math.floor((zero_in_array[0] | 0) /
- neg_one_in_array[0])));
- }
-}
-
-function test_div_deopt_overflow_v() {
- for (var i = 0; i < 2; ++i) {
- // We use '| 0' to force the representation to int32.
- assertEquals(-min_int_in_array[0],
- Math.floor((min_int_in_array[0] | 0) / neg_one_in_array[0]));
- }
-}
-
-function test_div_deopt_div_by_zero_v() {
- for (var i = 0; i < 2; ++i) {
- assertEquals(div(i, 0),
- Math.floor(i / zero_in_array[0]));
- }
-}
-
-test_div_deopt_minus_zero_v();
-test_div_deopt_overflow_v();
-test_div_deopt_div_by_zero_v();
-%OptimizeFunctionOnNextCall(test_div_deopt_minus_zero_v);
-%OptimizeFunctionOnNextCall(test_div_deopt_overflow_v);
-%OptimizeFunctionOnNextCall(test_div_deopt_div_by_zero_v);
-test_div_deopt_minus_zero_v();
-test_div_deopt_overflow_v();
-test_div_deopt_div_by_zero_v();
diff --git a/src/3rdparty/v8/test/mjsunit/math-floor-part1.js b/src/3rdparty/v8/test/mjsunit/math-floor-part1.js
deleted file mode 100644
index 313f272..0000000
--- a/src/3rdparty/v8/test/mjsunit/math-floor-part1.js
+++ /dev/null
@@ -1,88 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --max-new-space-size=256 --allow-natives-syntax
-
-var test_id = 0;
-
-function testFloor(expect, input) {
- var test = new Function('n',
- '"' + (test_id++) + '";return Math.floor(n)');
- assertEquals(expect, test(input));
- assertEquals(expect, test(input));
- assertEquals(expect, test(input));
- %OptimizeFunctionOnNextCall(test);
- assertEquals(expect, test(input));
-}
-
-function zero() {
- var x = 0.5;
- return (function() { return x - 0.5; })();
-}
-
-function test() {
- // Ensure that a negative zero coming from Math.floor is properly handled
- // by other operations.
- function ifloor(x) {
- return 1 / Math.floor(x);
- }
- assertEquals(-Infinity, ifloor(-0));
- assertEquals(-Infinity, ifloor(-0));
- assertEquals(-Infinity, ifloor(-0));
- %OptimizeFunctionOnNextCall(ifloor);
- assertEquals(-Infinity, ifloor(-0));
-
- testFloor(0, 0.1);
- testFloor(0, 0.49999999999999994);
- testFloor(0, 0.5);
- testFloor(0, 0.7);
- testFloor(-1, -0.1);
- testFloor(-1, -0.49999999999999994);
- testFloor(-1, -0.5);
- testFloor(-1, -0.7);
- testFloor(1, 1);
- testFloor(1, 1.1);
- testFloor(1, 1.5);
- testFloor(1, 1.7);
- testFloor(-1, -1);
- testFloor(-2, -1.1);
- testFloor(-2, -1.5);
- testFloor(-2, -1.7);
-
- testFloor(0, Number.MIN_VALUE);
- testFloor(-1, -Number.MIN_VALUE);
- testFloor(Number.MAX_VALUE, Number.MAX_VALUE);
- testFloor(-Number.MAX_VALUE, -Number.MAX_VALUE);
- testFloor(Infinity, Infinity);
- testFloor(-Infinity, -Infinity);
-}
-
-
-// Test in a loop to cover the custom IC and GC-related issues.
-for (var i = 0; i < 100; i++) {
- test();
-}
diff --git a/src/3rdparty/v8/test/mjsunit/math-floor-part2.js b/src/3rdparty/v8/test/mjsunit/math-floor-part2.js
deleted file mode 100644
index b6d51b2..0000000
--- a/src/3rdparty/v8/test/mjsunit/math-floor-part2.js
+++ /dev/null
@@ -1,76 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --max-new-space-size=256 --allow-natives-syntax
-
-var test_id = 0;
-
-function testFloor(expect, input) {
- var test = new Function('n',
- '"' + (test_id++) + '";return Math.floor(n)');
- assertEquals(expect, test(input));
- assertEquals(expect, test(input));
- assertEquals(expect, test(input));
- %OptimizeFunctionOnNextCall(test);
- assertEquals(expect, test(input));
-}
-
-function zero() {
- var x = 0.5;
- return (function() { return x - 0.5; })();
-}
-
-function test() {
- // 2^30 is a smi boundary.
- var two_30 = 1 << 30;
-
- testFloor(two_30, two_30);
- testFloor(two_30, two_30 + 0.1);
- testFloor(two_30, two_30 + 0.5);
- testFloor(two_30, two_30 + 0.7);
-
- testFloor(two_30 - 1, two_30 - 1);
- testFloor(two_30 - 1, two_30 - 1 + 0.1);
- testFloor(two_30 - 1, two_30 - 1 + 0.5);
- testFloor(two_30 - 1, two_30 - 1 + 0.7);
-
- testFloor(-two_30, -two_30);
- testFloor(-two_30, -two_30 + 0.1);
- testFloor(-two_30, -two_30 + 0.5);
- testFloor(-two_30, -two_30 + 0.7);
-
- testFloor(-two_30 + 1, -two_30 + 1);
- testFloor(-two_30 + 1, -two_30 + 1 + 0.1);
- testFloor(-two_30 + 1, -two_30 + 1 + 0.5);
- testFloor(-two_30 + 1, -two_30 + 1 + 0.7);
-}
-
-
-// Test in a loop to cover the custom IC and GC-related issues.
-for (var i = 0; i < 100; i++) {
- test();
-}
diff --git a/src/3rdparty/v8/test/mjsunit/math-floor-part3.js b/src/3rdparty/v8/test/mjsunit/math-floor-part3.js
deleted file mode 100644
index db25923..0000000
--- a/src/3rdparty/v8/test/mjsunit/math-floor-part3.js
+++ /dev/null
@@ -1,78 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --max-new-space-size=256 --allow-natives-syntax
-
-var test_id = 0;
-
-function testFloor(expect, input) {
- var test = new Function('n',
- '"' + (test_id++) + '";return Math.floor(n)');
- assertEquals(expect, test(input));
- assertEquals(expect, test(input));
- assertEquals(expect, test(input));
- %OptimizeFunctionOnNextCall(test);
- assertEquals(expect, test(input));
-}
-
-function zero() {
- var x = 0.5;
- return (function() { return x - 0.5; })();
-}
-
-function test() {
- // 2^52 is a precision boundary.
- var two_52 = (1 << 30) * (1 << 22);
-
- testFloor(two_52, two_52);
- testFloor(two_52, two_52 + 0.1);
- assertEquals(two_52, two_52 + 0.5);
- testFloor(two_52, two_52 + 0.5);
- assertEquals(two_52 + 1, two_52 + 0.7);
- testFloor(two_52 + 1, two_52 + 0.7);
-
- testFloor(two_52 - 1, two_52 - 1);
- testFloor(two_52 - 1, two_52 - 1 + 0.1);
- testFloor(two_52 - 1, two_52 - 1 + 0.5);
- testFloor(two_52 - 1, two_52 - 1 + 0.7);
-
- testFloor(-two_52, -two_52);
- testFloor(-two_52, -two_52 + 0.1);
- testFloor(-two_52, -two_52 + 0.5);
- testFloor(-two_52, -two_52 + 0.7);
-
- testFloor(-two_52 + 1, -two_52 + 1);
- testFloor(-two_52 + 1, -two_52 + 1 + 0.1);
- testFloor(-two_52 + 1, -two_52 + 1 + 0.5);
- testFloor(-two_52 + 1, -two_52 + 1 + 0.7);
-}
-
-
-// Test in a loop to cover the custom IC and GC-related issues.
-for (var i = 0; i < 100; i++) {
- test();
-}
diff --git a/src/3rdparty/v8/test/mjsunit/math-floor-part4.js b/src/3rdparty/v8/test/mjsunit/math-floor-part4.js
deleted file mode 100644
index c633623..0000000
--- a/src/3rdparty/v8/test/mjsunit/math-floor-part4.js
+++ /dev/null
@@ -1,76 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --max-new-space-size=256 --allow-natives-syntax
-
-var test_id = 0;
-
-function testFloor(expect, input) {
- var test = new Function('n',
- '"' + (test_id++) + '";return Math.floor(n)');
- assertEquals(expect, test(input));
- assertEquals(expect, test(input));
- assertEquals(expect, test(input));
- %OptimizeFunctionOnNextCall(test);
- assertEquals(expect, test(input));
-}
-
-function zero() {
- var x = 0.5;
- return (function() { return x - 0.5; })();
-}
-
-function test() {
- testFloor(0, 0);
- testFloor(0, zero());
- testFloor(-0, -0);
- testFloor(Infinity, Infinity);
- testFloor(-Infinity, -Infinity);
- testFloor(NaN, NaN);
-}
-
-
-// Test in a loop to cover the custom IC and GC-related issues.
-for (var i = 0; i < 100; i++) {
- test();
-}
-
-
-// Regression test for a bug where a negative zero coming from Math.floor
-// was not properly handled by other operations.
-function floorsum(i, n) {
- var ret = Math.floor(n);
- while (--i > 0) {
- ret += Math.floor(n);
- }
- return ret;
-}
-assertEquals(-0, floorsum(1, -0));
-%OptimizeFunctionOnNextCall(floorsum);
-// The optimized function will deopt. Run it with enough iterations to try
-// to optimize via OSR (triggering the bug).
-assertEquals(-0, floorsum(100000, -0));
diff --git a/src/3rdparty/v8/test/mjsunit/math-min-max.js b/src/3rdparty/v8/test/mjsunit/math-min-max.js
deleted file mode 100644
index e4fd313..0000000
--- a/src/3rdparty/v8/test/mjsunit/math-min-max.js
+++ /dev/null
@@ -1,189 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test Math.min().
-
-assertEquals(Infinity, Math.min());
-assertEquals(1, Math.min(1));
-assertEquals(1, Math.min(1, 2));
-assertEquals(1, Math.min(2, 1));
-assertEquals(1, Math.min(1, 2, 3));
-assertEquals(1, Math.min(3, 2, 1));
-assertEquals(1, Math.min(2, 3, 1));
-assertEquals(1.1, Math.min(1.1, 2.2, 3.3));
-assertEquals(1.1, Math.min(3.3, 2.2, 1.1));
-assertEquals(1.1, Math.min(2.2, 3.3, 1.1));
-
-// Prepare a non-Smi zero value.
-function returnsNonSmi(){ return 0.25; }
-var ZERO = (function() {
- var z;
- // We have to have a loop here because the first time we get a Smi from the
- // runtime system. After a while the binary op IC settles down and we get
- // a non-Smi from the generated code.
- for (var i = 0; i < 10; i++) {
- z = returnsNonSmi() - returnsNonSmi();
- }
- return z;
-})();
-assertEquals(0, ZERO);
-assertEquals(Infinity, 1/ZERO);
-assertEquals(-Infinity, 1/-ZERO);
-// Here we would like to have assertFalse(%_IsSmi(ZERO)); This is, however,
-// unreliable, since a new space exhaustion at a critical moment could send
-// us into the runtime system, which would quite legitimately put a Smi zero
-// here.
-assertFalse(%_IsSmi(-ZERO));
-
-var o = {};
-o.valueOf = function() { return 1; };
-assertEquals(1, Math.min(2, 3, '1'));
-assertEquals(1, Math.min(3, o, 2));
-assertEquals(1, Math.min(o, 2));
-assertEquals(-Infinity, Infinity / Math.min(-0, +0));
-assertEquals(-Infinity, Infinity / Math.min(+0, -0));
-assertEquals(-Infinity, Infinity / Math.min(+0, -0, 1));
-assertEquals(-Infinity, Infinity / Math.min(-0, ZERO));
-assertEquals(-Infinity, Infinity / Math.min(ZERO, -0));
-assertEquals(-Infinity, Infinity / Math.min(ZERO, -0, 1));
-assertEquals(-1, Math.min(+0, -0, -1));
-assertEquals(-1, Math.min(-1, +0, -0));
-assertEquals(-1, Math.min(+0, -1, -0));
-assertEquals(-1, Math.min(-0, -1, +0));
-assertEquals(NaN, Math.min('oxen'));
-assertEquals(NaN, Math.min('oxen', 1));
-assertEquals(NaN, Math.min(1, 'oxen'));
-
-
-// Test Math.max().
-
-assertEquals(Number.NEGATIVE_INFINITY, Math.max());
-assertEquals(1, Math.max(1));
-assertEquals(2, Math.max(1, 2));
-assertEquals(2, Math.max(2, 1));
-assertEquals(3, Math.max(1, 2, 3));
-assertEquals(3, Math.max(3, 2, 1));
-assertEquals(3, Math.max(2, 3, 1));
-assertEquals(3.3, Math.max(1.1, 2.2, 3.3));
-assertEquals(3.3, Math.max(3.3, 2.2, 1.1));
-assertEquals(3.3, Math.max(2.2, 3.3, 1.1));
-
-var o = {};
-o.valueOf = function() { return 3; };
-assertEquals(3, Math.max(2, '3', 1));
-assertEquals(3, Math.max(1, o, 2));
-assertEquals(3, Math.max(o, 1));
-assertEquals(Infinity, Infinity / Math.max(-0, +0));
-assertEquals(Infinity, Infinity / Math.max(+0, -0));
-assertEquals(Infinity, Infinity / Math.max(+0, -0, -1));
-assertEquals(Infinity, Infinity / Math.max(-0, ZERO));
-assertEquals(Infinity, Infinity / Math.max(ZERO, -0));
-assertEquals(Infinity, Infinity / Math.max(ZERO, -0, -1));
-assertEquals(1, Math.max(+0, -0, +1));
-assertEquals(1, Math.max(+1, +0, -0));
-assertEquals(1, Math.max(+0, +1, -0));
-assertEquals(1, Math.max(-0, +1, +0));
-assertEquals(NaN, Math.max('oxen'));
-assertEquals(NaN, Math.max('oxen', 1));
-assertEquals(NaN, Math.max(1, 'oxen'));
-
-assertEquals(Infinity, 1/Math.max(ZERO, -0));
-assertEquals(Infinity, 1/Math.max(-0, ZERO));
-
-function run(crankshaft_test) {
- crankshaft_test(1);
- crankshaft_test(1);
- %OptimizeFunctionOnNextCall(crankshaft_test);
- crankshaft_test(-0);
-}
-
-function crankshaft_test_1(arg) {
- var v1 = 1;
- var v2 = 5;
- var v3 = 1.5;
- var v4 = 5.5;
- var v5 = 2;
- var v6 = 6;
- var v7 = 0;
- var v8 = -0;
-
- var v9 = 9.9;
- var v0 = 10.1;
- // Integer32 representation.
- assertEquals(v2, Math.max(v1++, v2++));
- assertEquals(v1, Math.min(v1++, v2++));
- // Tagged representation.
- assertEquals(v4, Math.max(v3, v4));
- assertEquals(v3, Math.min(v3, v4));
- assertEquals(v6, Math.max(v5, v6));
- assertEquals(v5, Math.min(v5, v6));
- // Double representation.
- assertEquals(v0, Math.max(v0++, v9++));
- assertEquals(v9, Math.min(v0++, v9++));
- // Mixed representation.
- assertEquals(v1, Math.min(v1++, v9++)); // int32, double
- assertEquals(v0, Math.max(v0++, v2++)); // double, int32
- assertEquals(v1, Math.min(v1++, v6)); // int32, tagged
- assertEquals(v2, Math.max(v5, v2++)); // tagged, int32
- assertEquals(v6, Math.min(v6, v9++)); // tagged, double
- assertEquals(v0, Math.max(v0++, v5)); // double, tagged
-
- // Minus zero.
- assertEquals(Infinity, 1/Math.max(v7, v8));
- assertEquals(-Infinity, 1/Math.min(v7, v8));
- // NaN.
- assertEquals(NaN, Math.max(NaN, v8));
- assertEquals(NaN, Math.min(NaN, v9));
- assertEquals(NaN, Math.max(v8, NaN));
- assertEquals(NaN, Math.min(v9, NaN));
- // Minus zero as Integer32.
- assertEquals((arg === -0) ? -Infinity : 1, 1/Math.min(arg, v2));
-}
-
-run(crankshaft_test_1);
-
-function crankshaft_test_2() {
- var v9 = {};
- v9.valueOf = function() { return 6; }
- // Deopt expected due to non-heapnumber objects.
- assertEquals(6, Math.min(v9, 12));
-}
-
-run(crankshaft_test_2);
-
-// Test overriding Math.min and Math.max
-Math.min = function(a, b) { return a + b; }
-Math.max = function(a, b) { return a - b; }
-
-function crankshaft_test_3() {
- assertEquals(8, Math.min(3, 5));
- assertEquals(3, Math.max(5, 2));
-}
-
-run(crankshaft_test_3);
diff --git a/src/3rdparty/v8/test/mjsunit/math-pow.js b/src/3rdparty/v8/test/mjsunit/math-pow.js
deleted file mode 100644
index fb5f8a1..0000000
--- a/src/3rdparty/v8/test/mjsunit/math-pow.js
+++ /dev/null
@@ -1,173 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-// Tests the special cases specified by ES 15.8.2.13
-
-function test() {
- // Simple sanity check
- assertEquals(4, Math.pow(2, 2));
- assertEquals(2147483648, Math.pow(2, 31));
- assertEquals(0.25, Math.pow(2, -2));
- assertEquals(0.0625, Math.pow(2, -4));
- assertEquals(1, Math.pow(1, 100));
- assertEquals(0, Math.pow(0, 1000));
-
- // Spec tests
- assertEquals(NaN, Math.pow(2, NaN));
- assertEquals(NaN, Math.pow(+0, NaN));
- assertEquals(NaN, Math.pow(-0, NaN));
- assertEquals(NaN, Math.pow(Infinity, NaN));
- assertEquals(NaN, Math.pow(-Infinity, NaN));
-
- assertEquals(1, Math.pow(NaN, +0));
- assertEquals(1, Math.pow(NaN, -0));
-
- assertEquals(NaN, Math.pow(NaN, NaN));
- assertEquals(NaN, Math.pow(NaN, 2.2));
- assertEquals(NaN, Math.pow(NaN, 1));
- assertEquals(NaN, Math.pow(NaN, -1));
- assertEquals(NaN, Math.pow(NaN, -2.2));
- assertEquals(NaN, Math.pow(NaN, Infinity));
- assertEquals(NaN, Math.pow(NaN, -Infinity));
-
- assertEquals(Infinity, Math.pow(1.1, Infinity));
- assertEquals(Infinity, Math.pow(-1.1, Infinity));
- assertEquals(Infinity, Math.pow(2, Infinity));
- assertEquals(Infinity, Math.pow(-2, Infinity));
-
- // Because +0 == -0, we need to compare 1/{+,-}0 to {+,-}Infinity
- assertEquals(+Infinity, 1/Math.pow(1.1, -Infinity));
- assertEquals(+Infinity, 1/Math.pow(-1.1, -Infinity));
- assertEquals(+Infinity, 1/Math.pow(2, -Infinity));
- assertEquals(+Infinity, 1/Math.pow(-2, -Infinity));
-
- assertEquals(NaN, Math.pow(1, Infinity));
- assertEquals(NaN, Math.pow(1, -Infinity));
- assertEquals(NaN, Math.pow(-1, Infinity));
- assertEquals(NaN, Math.pow(-1, -Infinity));
-
- assertEquals(+0, Math.pow(0.1, Infinity));
- assertEquals(+0, Math.pow(-0.1, Infinity));
- assertEquals(+0, Math.pow(0.999, Infinity));
- assertEquals(+0, Math.pow(-0.999, Infinity));
-
- assertEquals(Infinity, Math.pow(0.1, -Infinity));
- assertEquals(Infinity, Math.pow(-0.1, -Infinity));
- assertEquals(Infinity, Math.pow(0.999, -Infinity));
- assertEquals(Infinity, Math.pow(-0.999, -Infinity));
-
- assertEquals(Infinity, Math.pow(Infinity, 0.1));
- assertEquals(Infinity, Math.pow(Infinity, 2));
-
- assertEquals(+Infinity, 1/Math.pow(Infinity, -0.1));
- assertEquals(+Infinity, 1/Math.pow(Infinity, -2));
-
- assertEquals(-Infinity, Math.pow(-Infinity, 3));
- assertEquals(-Infinity, Math.pow(-Infinity, 13));
-
- assertEquals(Infinity, Math.pow(-Infinity, 3.1));
- assertEquals(Infinity, Math.pow(-Infinity, 2));
-
- assertEquals(-Infinity, 1/Math.pow(-Infinity, -3));
- assertEquals(-Infinity, 1/Math.pow(-Infinity, -13));
-
- assertEquals(+Infinity, 1/Math.pow(-Infinity, -3.1));
- assertEquals(+Infinity, 1/Math.pow(-Infinity, -2));
-
- assertEquals(+Infinity, 1/Math.pow(+0, 1.1));
- assertEquals(+Infinity, 1/Math.pow(+0, 2));
-
- assertEquals(Infinity, Math.pow(+0, -1.1));
- assertEquals(Infinity, Math.pow(+0, -2));
-
- assertEquals(-Infinity, 1/Math.pow(-0, 3));
- assertEquals(-Infinity, 1/Math.pow(-0, 13));
-
- assertEquals(+Infinity, 1/Math.pow(-0, 3.1));
- assertEquals(+Infinity, 1/Math.pow(-0, 2));
-
- assertEquals(-Infinity, Math.pow(-0, -3));
- assertEquals(-Infinity, Math.pow(-0, -13));
-
- assertEquals(Infinity, Math.pow(-0, -3.1));
- assertEquals(Infinity, Math.pow(-0, -2));
-
- assertEquals(NaN, Math.pow(-0.00001, 1.1));
- assertEquals(NaN, Math.pow(-0.00001, -1.1));
- assertEquals(NaN, Math.pow(-1.1, 1.1));
- assertEquals(NaN, Math.pow(-1.1, -1.1));
- assertEquals(NaN, Math.pow(-2, 1.1));
- assertEquals(NaN, Math.pow(-2, -1.1));
- assertEquals(NaN, Math.pow(-1000, 1.1));
- assertEquals(NaN, Math.pow(-1000, -1.1));
-
- assertEquals(+Infinity, 1/Math.pow(-0, 0.5));
- assertEquals(+Infinity, 1/Math.pow(-0, 0.6));
- assertEquals(-Infinity, 1/Math.pow(-0, 1));
- assertEquals(-Infinity, 1/Math.pow(-0, 10000000001));
-
- assertEquals(+Infinity, Math.pow(-0, -0.5));
- assertEquals(+Infinity, Math.pow(-0, -0.6));
- assertEquals(-Infinity, Math.pow(-0, -1));
- assertEquals(-Infinity, Math.pow(-0, -10000000001));
-
- assertEquals(4, Math.pow(16, 0.5));
- assertEquals(NaN, Math.pow(-16, 0.5));
- assertEquals(0.25, Math.pow(16, -0.5));
- assertEquals(NaN, Math.pow(-16, -0.5));
-
- // Test detecting and converting integer value as double.
- assertEquals(8, Math.pow(2, Math.sqrt(9)));
-
- // Tests from Mozilla 15.8.2.13.
- assertEquals(2, Math.pow.length);
- assertEquals(NaN, Math.pow());
- assertEquals(1, Math.pow(null, null));
- assertEquals(NaN, Math.pow(void 0, void 0));
- assertEquals(1, Math.pow(true, false));
- assertEquals(0, Math.pow(false, true));
- assertEquals(Infinity, Math.pow(-Infinity, Infinity));
- assertEquals(0, Math.pow(-Infinity, -Infinity));
- assertEquals(1, Math.pow(0, 0));
- assertEquals(0, Math.pow(0, Infinity));
- assertEquals(NaN, Math.pow(NaN, 0.5));
- assertEquals(NaN, Math.pow(NaN, -0.5));
-
- // Tests from Sputnik S8.5_A13_T1.
- assertTrue(
- (1*((Math.pow(2,53))-1)*(Math.pow(2,-1074))) === 4.4501477170144023e-308);
- assertTrue(
- (1*(Math.pow(2,52))*(Math.pow(2,-1074))) === 2.2250738585072014e-308);
- assertTrue(
- (-1*(Math.pow(2,52))*(Math.pow(2,-1074))) === -2.2250738585072014e-308);
-}
-
-test();
-test();
-%OptimizeFunctionOnNextCall(test);
-test(); \ No newline at end of file
diff --git a/src/3rdparty/v8/test/mjsunit/math-round.js b/src/3rdparty/v8/test/mjsunit/math-round.js
deleted file mode 100644
index 102c970..0000000
--- a/src/3rdparty/v8/test/mjsunit/math-round.js
+++ /dev/null
@@ -1,174 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-var test_id = 0;
-function testRound(expect, input) {
- // Make source code different on each invocation to make
- // sure it gets optimized each time.
- var doRound = new Function('input',
- '"' + (test_id++) + '";return Math.round(input)');
- assertEquals(expect, doRound(input));
- assertEquals(expect, doRound(input));
- assertEquals(expect, doRound(input));
- %OptimizeFunctionOnNextCall(doRound);
- assertEquals(expect, doRound(input));
-}
-
-testRound(0, 0);
-testRound(-0, -0);
-testRound(Infinity, Infinity);
-testRound(-Infinity, -Infinity);
-testRound(NaN, NaN);
-
-// Regression test for a bug where a negative zero coming from Math.round
-// was not properly handled by other operations.
-function roundsum(i, n) {
- var ret = Math.round(n);
- while (--i > 0) {
- ret += Math.round(n);
- }
- return ret;
-}
-assertEquals(-0, roundsum(1, -0));
-%OptimizeFunctionOnNextCall(roundsum);
-// The optimized function will deopt. Run it with enough iterations to try
-// to optimize via OSR (triggering the bug).
-assertEquals(-0, roundsum(100000, -0));
-
-testRound(1, 0.5);
-testRound(1, 0.7);
-testRound(1, 1);
-testRound(1, 1.1);
-testRound(1, 1.49999);
-testRound(-0, -0.5);
-testRound(-1, -0.5000000000000001);
-testRound(-1, -0.7);
-testRound(-1, -1);
-testRound(-1, -1.1);
-testRound(-1, -1.49999);
-testRound(-1, -1.5);
-
-testRound(9007199254740990, 9007199254740990);
-testRound(9007199254740991, 9007199254740991);
-testRound(-9007199254740990, -9007199254740990);
-testRound(-9007199254740991, -9007199254740991);
-testRound(Number.MAX_VALUE, Number.MAX_VALUE);
-testRound(-Number.MAX_VALUE, -Number.MAX_VALUE);
-
-testRound(536870911, 536870910.5);
-testRound(536870911, 536870911);
-testRound(536870911, 536870911.4);
-testRound(536870912, 536870911.5);
-testRound(536870912, 536870912);
-testRound(536870912, 536870912.4);
-testRound(536870913, 536870912.5);
-testRound(536870913, 536870913);
-testRound(536870913, 536870913.4);
-testRound(1073741823, 1073741822.5);
-testRound(1073741823, 1073741823);
-testRound(1073741823, 1073741823.4);
-testRound(1073741824, 1073741823.5);
-testRound(1073741824, 1073741824);
-testRound(1073741824, 1073741824.4);
-testRound(1073741825, 1073741824.5);
-testRound(2147483647, 2147483646.5);
-testRound(2147483647, 2147483647);
-testRound(2147483647, 2147483647.4);
-testRound(2147483648, 2147483647.5);
-testRound(2147483648, 2147483648);
-testRound(2147483648, 2147483648.4);
-testRound(2147483649, 2147483648.5);
-
-// Tests based on WebKit LayoutTests
-
-testRound(0, 0.4);
-testRound(-0, -0.4);
-testRound(-0, -0.5);
-testRound(1, 0.6);
-testRound(-1, -0.6);
-testRound(2, 1.5);
-testRound(2, 1.6);
-testRound(-2, -1.6);
-testRound(8640000000000000, 8640000000000000);
-testRound(8640000000000001, 8640000000000001);
-testRound(8640000000000002, 8640000000000002);
-testRound(9007199254740990, 9007199254740990);
-testRound(9007199254740991, 9007199254740991);
-testRound(1.7976931348623157e+308, 1.7976931348623157e+308);
-testRound(-8640000000000000, -8640000000000000);
-testRound(-8640000000000001, -8640000000000001);
-testRound(-8640000000000002, -8640000000000002);
-testRound(-9007199254740990, -9007199254740990);
-testRound(-9007199254740991, -9007199254740991);
-testRound(-1.7976931348623157e+308, -1.7976931348623157e+308);
-testRound(Infinity, Infinity);
-testRound(-Infinity, -Infinity);
-
- // Some special double number cases.
-var ulp = Math.pow(2, -1022 - 52);
-var max_denormal = (Math.pow(2, 52) - 1) * ulp;
-var min_normal = Math.pow(2, -1022);
-var max_fraction = Math.pow(2, 52) - 0.5;
-var min_nonfraction = Math.pow(2, 52);
-var max_non_infinite = Number.MAX_VALUE;
-
-var max_smi31 = Math.pow(2,30) - 1;
-var min_smi31 = -Math.pow(2,30);
-var max_smi32 = Math.pow(2,31) - 1;
-var min_smi32 = -Math.pow(2,31);
-
-testRound(0, ulp);
-testRound(0, max_denormal);
-testRound(0, min_normal);
-testRound(0, 0.49999999999999994);
-testRound(1, 0.5);
-testRound(Math.pow(2,52), max_fraction);
-testRound(min_nonfraction, min_nonfraction);
-testRound(max_non_infinite, max_non_infinite);
-
-testRound(max_smi31, max_smi31 - 0.5);
-testRound(max_smi31 + 1, max_smi31 + 0.5);
-testRound(max_smi32, max_smi32 - 0.5);
-testRound(max_smi32 + 1, max_smi32 + 0.5);
-
-testRound(-0, -ulp);
-testRound(-0, -max_denormal);
-testRound(-0, -min_normal);
-testRound(-0, -0.49999999999999994);
-testRound(-0, -0.5);
-testRound(-Math.pow(2,52)+1, -max_fraction);
-testRound(-min_nonfraction, -min_nonfraction);
-testRound(-max_non_infinite, -max_non_infinite);
-
-testRound(min_smi31, min_smi31 - 0.5);
-testRound(min_smi31 + 1, min_smi31 + 0.5);
-testRound(min_smi32, min_smi32 - 0.5);
-testRound(min_smi32 + 1, min_smi32 + 0.5);
-
-
diff --git a/src/3rdparty/v8/test/mjsunit/math-sqrt.js b/src/3rdparty/v8/test/mjsunit/math-sqrt.js
deleted file mode 100644
index 43fbf6b..0000000
--- a/src/3rdparty/v8/test/mjsunit/math-sqrt.js
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Tests the special cases specified by ES 15.8.2.17
-
-function test(expected_sqrt, value) {
- assertEquals(expected_sqrt, Math.sqrt(value));
- if (isFinite(value)) {
- if (value === 0 && (1 / value) == -Infinity) {
- // Math.pow(-0, 0.5) must be zero, but Math.sqrt(-0) is -0.
- expected_sqrt = 0;
- }
- assertEquals(expected_sqrt, Math.pow(value, 0.5));
- }
-}
-
-// Simple sanity check
-test(2, 4);
-test(0.1, 0.01);
-
-// Spec tests
-test(NaN, NaN);
-test(NaN, -1);
-test(+0, +0);
-test(-0, -0);
-test(Infinity, Infinity);
-// -Infinity is smaller than 0 so it should return NaN
-test(NaN, -Infinity);
-
diff --git a/src/3rdparty/v8/test/mjsunit/megamorphic-callbacks.js b/src/3rdparty/v8/test/mjsunit/megamorphic-callbacks.js
deleted file mode 100644
index 8829df0..0000000
--- a/src/3rdparty/v8/test/mjsunit/megamorphic-callbacks.js
+++ /dev/null
@@ -1,70 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function load(o) {
- return o.x;
-};
-
-function store(o) {
- o.y = 42;
-};
-
-function call(o) {
- return o.f();
-};
-
-// Create a slow-case object (with hashed properties).
-var o = { x: 42, f: function() { }, z: 100 };
-delete o.z;
-
-// Initialize IC stubs.
-load(o);
-store(o);
-call(o);
-
-
-// Create a new slow-case object (with hashed properties) and add
-// setter and getter properties to the object.
-var o = { z: 100 };
-delete o.z;
-o.__defineGetter__("x", function() { return 100; });
-o.__defineSetter__("y", function(value) { this.y_mirror = value; });
-o.__defineGetter__("f", function() { return function() { return 300; }});
-
-// Perform the load checks.
-assertEquals(100, o.x, "normal load");
-assertEquals(100, load(o), "ic load");
-
-// Perform the store checks.
-o.y = 200;
-assertEquals(200, o.y_mirror, "normal store");
-store(o);
-assertEquals(42, o.y_mirror, "ic store");
-
-// Perform the call checks.
-assertEquals(300, o.f(), "normal call");
-assertEquals(300, call(o), "ic call");
diff --git a/src/3rdparty/v8/test/mjsunit/mirror-array.js b/src/3rdparty/v8/test/mjsunit/mirror-array.js
deleted file mode 100644
index 92e3913..0000000
--- a/src/3rdparty/v8/test/mjsunit/mirror-array.js
+++ /dev/null
@@ -1,138 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Test the mirror object for objects
-
-function MirrorRefCache(json_refs) {
- var tmp = eval('(' + json_refs + ')');
- this.refs_ = [];
- for (var i = 0; i < tmp.length; i++) {
- this.refs_[tmp[i].handle] = tmp[i];
- }
-}
-
-MirrorRefCache.prototype.lookup = function(handle) {
- return this.refs_[handle];
-}
-
-function testArrayMirror(a, names) {
- // Create mirror and JSON representation.
- var mirror = debug.MakeMirror(a);
- var serializer = debug.MakeMirrorSerializer();
- var json = JSON.stringify(serializer.serializeValue(mirror));
- var refs = new MirrorRefCache(
- JSON.stringify(serializer.serializeReferencedObjects()));
-
- // Check the mirror hierachy.
- assertTrue(mirror instanceof debug.Mirror, 'Unexpected mirror hierachy');
- assertTrue(mirror instanceof debug.ValueMirror, 'Unexpected mirror hierachy');
- assertTrue(mirror instanceof debug.ObjectMirror, 'Unexpected mirror hierachy');
- assertTrue(mirror instanceof debug.ArrayMirror, 'Unexpected mirror hierachy');
-
- // Check the mirror properties.
- assertTrue(mirror.isArray(), 'Unexpected mirror');
- assertEquals('object', mirror.type(), 'Unexpected mirror type');
- assertFalse(mirror.isPrimitive(), 'Unexpected primitive mirror');
- assertEquals('Array', mirror.className(), 'Unexpected mirror class name');
- assertTrue(mirror.constructorFunction() instanceof debug.ObjectMirror, 'Unexpected mirror hierachy');
- assertEquals('Array', mirror.constructorFunction().name(), 'Unexpected constructor function name');
- assertTrue(mirror.protoObject() instanceof debug.Mirror, 'Unexpected mirror hierachy');
- assertTrue(mirror.prototypeObject() instanceof debug.Mirror, 'Unexpected mirror hierachy');
- assertEquals(mirror.length(), a.length, "Length mismatch");
-
- var indexedProperties = mirror.indexedPropertiesFromRange();
- assertEquals(indexedProperties.length, a.length);
- for (var i = 0; i < indexedProperties.length; i++) {
- assertTrue(indexedProperties[i] instanceof debug.Mirror, 'Unexpected mirror hierachy');
- assertTrue(indexedProperties[i] instanceof debug.PropertyMirror, 'Unexpected mirror hierachy');
- }
-
- // Parse JSON representation and check.
- var fromJSON = eval('(' + json + ')');
- assertEquals('object', fromJSON.type, 'Unexpected mirror type in JSON');
- assertEquals('Array', fromJSON.className, 'Unexpected mirror class name in JSON');
- assertEquals(mirror.constructorFunction().handle(), fromJSON.constructorFunction.ref, 'Unexpected constructor function handle in JSON');
- assertEquals('function', refs.lookup(fromJSON.constructorFunction.ref).type, 'Unexpected constructor function type in JSON');
- assertEquals('Array', refs.lookup(fromJSON.constructorFunction.ref).name, 'Unexpected constructor function name in JSON');
- assertEquals(void 0, fromJSON.namedInterceptor, 'No named interceptor expected in JSON');
- assertEquals(void 0, fromJSON.indexedInterceptor, 'No indexed interceptor expected in JSON');
-
- // Check that the serialization contains all indexed properties and the length property.
- var length_found = false;
- for (var i = 0; i < fromJSON.properties.length; i++) {
- if (fromJSON.properties[i].name == 'length') {
- length_found = true;
- assertEquals('number', refs.lookup(fromJSON.properties[i].ref).type, "Unexpected type of the length property");
- assertEquals(a.length, refs.lookup(fromJSON.properties[i].ref).value, "Length mismatch in parsed JSON");
- } else {
- var index = parseInt(fromJSON.properties[i].name);
- print(index);
- if (!isNaN(index)) {
- print(index);
- // This test assumes that the order of the indexeed properties is in the
- // same order in the serialization as returned from
- // indexedPropertiesFromRange()
- assertEquals(indexedProperties[index].name(), index);
- assertEquals(indexedProperties[index].value().type(), refs.lookup(fromJSON.properties[i].ref).type, 'Unexpected serialized type');
- }
- }
- }
- assertTrue(length_found, 'Property length not found');
-
- // Check that the serialization contains all names properties.
- if (names) {
- for (var i = 0; i < names.length; i++) {
- var found = false;
- for (var j = 0; j < fromJSON.properties.length; j++) {
- if (names[i] == fromJSON.properties[j].name) {
- found = true;
- }
- }
- assertTrue(found, names[i])
- }
- }
-}
-
-
-// Test a number of different arrays.
-testArrayMirror([]);
-testArrayMirror([1]);
-testArrayMirror([1,2]);
-testArrayMirror(["a", function(){}, [1,2], 2, /[ab]/]);
-
-a=[1];
-a[100]=7;
-testArrayMirror(a);
-
-a=[1,2,3];
-a.x=2.2;
-a.y=function(){return null;}
-testArrayMirror(a, ['x','y']);
-
-var a = []; a.push(a);
-testArrayMirror(a);
diff --git a/src/3rdparty/v8/test/mjsunit/mirror-boolean.js b/src/3rdparty/v8/test/mjsunit/mirror-boolean.js
deleted file mode 100644
index 311c781..0000000
--- a/src/3rdparty/v8/test/mjsunit/mirror-boolean.js
+++ /dev/null
@@ -1,59 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Test the mirror object for boolean values
-
-function testBooleanMirror(b) {
- // Create mirror and JSON representation.
- var mirror = debug.MakeMirror(b);
- var serializer = debug.MakeMirrorSerializer();
- var json = JSON.stringify(serializer.serializeValue(mirror));
-
- // Check the mirror hierachy.
- assertTrue(mirror instanceof debug.Mirror);
- assertTrue(mirror instanceof debug.ValueMirror);
- assertTrue(mirror instanceof debug.BooleanMirror);
-
- // Check the mirror properties.
- assertTrue(mirror.isBoolean());
- assertEquals('boolean', mirror.type());
- assertTrue(mirror.isPrimitive());
-
- // Test text representation
- assertEquals(b ? 'true' : 'false', mirror.toText());
-
- // Parse JSON representation and check.
- var fromJSON = eval('(' + json + ')');
- assertEquals('boolean', fromJSON.type, json);
- assertEquals(b, fromJSON.value, json);
-}
-
-
-// Test all boolean values.
-testBooleanMirror(true);
-testBooleanMirror(false); \ No newline at end of file
diff --git a/src/3rdparty/v8/test/mjsunit/mirror-date.js b/src/3rdparty/v8/test/mjsunit/mirror-date.js
deleted file mode 100644
index 5c113de..0000000
--- a/src/3rdparty/v8/test/mjsunit/mirror-date.js
+++ /dev/null
@@ -1,77 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Test the mirror object for boolean values
-
-function testDateMirror(d, iso8601) {
- // Create mirror and JSON representation.
- var mirror = debug.MakeMirror(d);
- var serializer = debug.MakeMirrorSerializer();
- var json = JSON.stringify(serializer.serializeValue(mirror));
-
- // Check the mirror hierachy.
- assertTrue(mirror instanceof debug.Mirror);
- assertTrue(mirror instanceof debug.ValueMirror);
- assertTrue(mirror instanceof debug.ObjectMirror);
- assertTrue(mirror instanceof debug.DateMirror);
-
- // Check the mirror properties.
- assertTrue(mirror.isDate());
- assertEquals('object', mirror.type());
- assertFalse(mirror.isPrimitive());
-
- // Test text representation
- assertEquals(iso8601, mirror.toText());
-
- // Parse JSON representation and check.
- var fromJSON = eval('(' + json + ')');
- assertEquals('object', fromJSON.type);
- assertEquals('Date', fromJSON.className);
- assertEquals(iso8601, fromJSON.value);
-}
-
-// Test Date values.
-testDateMirror(new Date(Date.parse("Dec 25, 1995 1:30 UTC")),
- "1995-12-25T01:30:00.000Z");
-d = new Date();
-d.setUTCFullYear(1967);
-d.setUTCMonth(0); // January.
-d.setUTCDate(17);
-d.setUTCHours(9);
-d.setUTCMinutes(22);
-d.setUTCSeconds(59);
-d.setUTCMilliseconds(0);
-testDateMirror(d, "1967-01-17T09:22:59.000Z");
-d.setUTCMilliseconds(1);
-testDateMirror(d, "1967-01-17T09:22:59.001Z");
-d.setUTCSeconds(12);
-testDateMirror(d, "1967-01-17T09:22:12.001Z");
-d.setUTCSeconds(36);
-testDateMirror(d, "1967-01-17T09:22:36.001Z");
-d.setUTCMilliseconds(136);
-testDateMirror(d, "1967-01-17T09:22:36.136Z");
diff --git a/src/3rdparty/v8/test/mjsunit/mirror-error.js b/src/3rdparty/v8/test/mjsunit/mirror-error.js
deleted file mode 100644
index 9fea17c..0000000
--- a/src/3rdparty/v8/test/mjsunit/mirror-error.js
+++ /dev/null
@@ -1,94 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Test the mirror object for regular error objects
-
-function MirrorRefCache(json_refs) {
- var tmp = eval('(' + json_refs + ')');
- this.refs_ = [];
- for (var i = 0; i < tmp.length; i++) {
- this.refs_[tmp[i].handle] = tmp[i];
- }
-}
-
-MirrorRefCache.prototype.lookup = function(handle) {
- return this.refs_[handle];
-}
-
-function testErrorMirror(e) {
- // Create mirror and JSON representation.
- var mirror = debug.MakeMirror(e);
- var serializer = debug.MakeMirrorSerializer();
- var json = JSON.stringify(serializer.serializeValue(mirror));
- var refs = new MirrorRefCache(
- JSON.stringify(serializer.serializeReferencedObjects()));
-
- // Check the mirror hierachy.
- assertTrue(mirror instanceof debug.Mirror);
- assertTrue(mirror instanceof debug.ValueMirror);
- assertTrue(mirror instanceof debug.ObjectMirror);
- assertTrue(mirror instanceof debug.ErrorMirror);
-
- // Check the mirror properties.
- assertTrue(mirror.isError());
- assertEquals('error', mirror.type());
- assertFalse(mirror.isPrimitive());
- assertEquals(mirror.message(), e.message, 'source');
-
- // Parse JSON representation and check.
- var fromJSON = eval('(' + json + ')');
- assertEquals('error', fromJSON.type);
- assertEquals('Error', fromJSON.className);
- if (e.message) {
- var found_message = false;
- for (var i in fromJSON.properties) {
- var p = fromJSON.properties[i];
- print(p.name);
- if (p.name == 'message') {
- assertEquals(e.message, refs.lookup(p.ref).value);
- found_message = true;
- }
- }
- assertTrue(found_message, 'Property message not found');
- }
-
- // Check the formatted text (regress 1231579).
- assertEquals(fromJSON.text, e.toString(), 'toString');
-}
-
-
-// Test Date values.
-testErrorMirror(new Error());
-testErrorMirror(new Error('This does not work'));
-testErrorMirror(new Error(123+456));
-testErrorMirror(new EvalError('EvalError'));
-testErrorMirror(new RangeError('RangeError'));
-testErrorMirror(new ReferenceError('ReferenceError'));
-testErrorMirror(new SyntaxError('SyntaxError'));
-testErrorMirror(new TypeError('TypeError'));
-testErrorMirror(new URIError('URIError'));
diff --git a/src/3rdparty/v8/test/mjsunit/mirror-function.js b/src/3rdparty/v8/test/mjsunit/mirror-function.js
deleted file mode 100644
index cda815d..0000000
--- a/src/3rdparty/v8/test/mjsunit/mirror-function.js
+++ /dev/null
@@ -1,90 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Test the mirror object for functions.
-
-function MirrorRefCache(json_refs) {
- var tmp = eval('(' + json_refs + ')');
- this.refs_ = [];
- for (var i = 0; i < tmp.length; i++) {
- this.refs_[tmp[i].handle] = tmp[i];
- }
-}
-
-MirrorRefCache.prototype.lookup = function(handle) {
- return this.refs_[handle];
-}
-
-function testFunctionMirror(f) {
- // Create mirror and JSON representation.
- var mirror = debug.MakeMirror(f);
- var serializer = debug.MakeMirrorSerializer();
- var json = JSON.stringify(serializer.serializeValue(mirror));
- var refs = new MirrorRefCache(
- JSON.stringify(serializer.serializeReferencedObjects()));
-
- // Check the mirror hierachy.
- assertTrue(mirror instanceof debug.Mirror);
- assertTrue(mirror instanceof debug.ValueMirror);
- assertTrue(mirror instanceof debug.ObjectMirror);
- assertTrue(mirror instanceof debug.FunctionMirror);
-
- // Check the mirror properties.
- assertTrue(mirror.isFunction());
- assertEquals('function', mirror.type());
- assertFalse(mirror.isPrimitive());
- assertEquals("Function", mirror.className());
- assertEquals(f.name, mirror.name());
- assertTrue(mirror.resolved());
- assertEquals(f.toString(), mirror.source());
- assertTrue(mirror.constructorFunction() instanceof debug.ObjectMirror);
- assertTrue(mirror.protoObject() instanceof debug.Mirror);
- assertTrue(mirror.prototypeObject() instanceof debug.Mirror);
-
- // Test text representation
- assertEquals(f.toString(), mirror.toText());
-
- // Parse JSON representation and check.
- var fromJSON = eval('(' + json + ')');
- assertEquals('function', fromJSON.type);
- assertEquals('Function', fromJSON.className);
- assertEquals('function', refs.lookup(fromJSON.constructorFunction.ref).type);
- assertEquals('Function', refs.lookup(fromJSON.constructorFunction.ref).name);
- assertTrue(fromJSON.resolved);
- assertEquals(f.name, fromJSON.name);
- assertEquals(f.toString(), fromJSON.source);
-
- // Check the formatted text (regress 1142074).
- assertEquals(f.toString(), fromJSON.text);
-}
-
-
-// Test a number of different functions.
-testFunctionMirror(function(){});
-testFunctionMirror(function a(){return 1;});
-testFunctionMirror(Math.sin);
diff --git a/src/3rdparty/v8/test/mjsunit/mirror-null.js b/src/3rdparty/v8/test/mjsunit/mirror-null.js
deleted file mode 100644
index 1ee555b..0000000
--- a/src/3rdparty/v8/test/mjsunit/mirror-null.js
+++ /dev/null
@@ -1,50 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Test the mirror object for null
-
-// Create mirror and JSON representation.
-var mirror = debug.MakeMirror(null);
-var serializer = debug.MakeMirrorSerializer();
-var json = JSON.stringify(serializer.serializeValue(mirror));
-
-// Check the mirror hierachy.
-assertTrue(mirror instanceof debug.Mirror);
-assertTrue(mirror instanceof debug.NullMirror);
-
-// Check the mirror properties.
-assertTrue(mirror.isNull());
-assertEquals('null', mirror.type());
-assertTrue(mirror.isPrimitive());
-
-// Test text representation
-assertEquals('null', mirror.toText());
-
-// Parse JSON representation and check.
-var fromJSON = eval('(' + json + ')');
-assertEquals('null', fromJSON.type);
diff --git a/src/3rdparty/v8/test/mjsunit/mirror-number.js b/src/3rdparty/v8/test/mjsunit/mirror-number.js
deleted file mode 100644
index fc71c12..0000000
--- a/src/3rdparty/v8/test/mjsunit/mirror-number.js
+++ /dev/null
@@ -1,77 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Test the mirror object for number values
-
-function testNumberMirror(n) {
- // Create mirror and JSON representation.
- var mirror = debug.MakeMirror(n);
- var serializer = debug.MakeMirrorSerializer();
- var json = JSON.stringify(serializer.serializeValue(mirror));
-
- // Check the mirror hierachy.
- assertTrue(mirror instanceof debug.Mirror);
- assertTrue(mirror instanceof debug.ValueMirror);
- assertTrue(mirror instanceof debug.NumberMirror);
-
- // Check the mirror properties.
- assertTrue(mirror.isNumber());
- assertEquals('number', mirror.type());
- assertTrue(mirror.isPrimitive());
-
- // Test text representation
- assertEquals(String(n), mirror.toText());
-
- // Parse JSON representation and check.
- var fromJSON = eval('(' + json + ')');
- assertEquals('number', fromJSON.type);
- if (isFinite(n)) {
- assertEquals(n, fromJSON.value);
- } else {
- // NaN and Infinity values are encoded as strings.
- assertTrue(typeof fromJSON.value == 'string');
- if (n === Infinity) {
- assertEquals('Infinity', fromJSON.value);
- } else if (n === -Infinity) {
- assertEquals('-Infinity', fromJSON.value);
- } else {
- assertEquals('NaN', fromJSON.value);
- }
- }
-}
-
-
-// Test a number of different numbers.
-testNumberMirror(-7);
-testNumberMirror(-6.5);
-testNumberMirror(0);
-testNumberMirror(42);
-testNumberMirror(100.0002);
-testNumberMirror(Infinity);
-testNumberMirror(-Infinity);
-testNumberMirror(NaN);
diff --git a/src/3rdparty/v8/test/mjsunit/mirror-object.js b/src/3rdparty/v8/test/mjsunit/mirror-object.js
deleted file mode 100644
index 8bf8a2d..0000000
--- a/src/3rdparty/v8/test/mjsunit/mirror-object.js
+++ /dev/null
@@ -1,266 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Test the mirror object for objects
-
-function MirrorRefCache(json_refs) {
- var tmp = eval('(' + json_refs + ')');
- this.refs_ = [];
- for (var i = 0; i < tmp.length; i++) {
- this.refs_[tmp[i].handle] = tmp[i];
- }
-}
-
-MirrorRefCache.prototype.lookup = function(handle) {
- return this.refs_[handle];
-};
-
-function testObjectMirror(obj, cls_name, ctor_name, hasSpecialProperties) {
- // Create mirror and JSON representation.
- var mirror = debug.MakeMirror(obj);
- var serializer = debug.MakeMirrorSerializer();
- var json = JSON.stringify(serializer.serializeValue(mirror));
- var refs = new MirrorRefCache(
- JSON.stringify(serializer.serializeReferencedObjects()));
-
- // Check the mirror hierachy.
- assertTrue(mirror instanceof debug.Mirror, 'Unexpected mirror hierarchy');
- assertTrue(mirror instanceof debug.ValueMirror, 'Unexpected mirror hierarchy');
- assertTrue(mirror instanceof debug.ObjectMirror, 'Unexpected mirror hierarchy');
-
- // Check the mirror properties.
- assertTrue(mirror.isObject(), 'Unexpected mirror');
- assertEquals('object', mirror.type(), 'Unexpected mirror type');
- assertFalse(mirror.isPrimitive(), 'Unexpected primitive mirror');
- assertEquals(cls_name, mirror.className(), 'Unexpected mirror class name');
- assertTrue(mirror.constructorFunction() instanceof debug.ObjectMirror, 'Unexpected mirror hierarchy');
- assertEquals(ctor_name, mirror.constructorFunction().name(), 'Unexpected constructor function name');
- assertTrue(mirror.protoObject() instanceof debug.Mirror, 'Unexpected mirror hierarchy');
- assertTrue(mirror.prototypeObject() instanceof debug.Mirror, 'Unexpected mirror hierarchy');
- assertFalse(mirror.hasNamedInterceptor(), 'No named interceptor expected');
- assertFalse(mirror.hasIndexedInterceptor(), 'No indexed interceptor expected');
-
- var names = mirror.propertyNames();
- var properties = mirror.properties();
- assertEquals(names.length, properties.length);
- for (var i = 0; i < properties.length; i++) {
- assertTrue(properties[i] instanceof debug.Mirror, 'Unexpected mirror hierarchy');
- assertTrue(properties[i] instanceof debug.PropertyMirror, 'Unexpected mirror hierarchy');
- assertEquals('property', properties[i].type(), 'Unexpected mirror type');
- assertEquals(names[i], properties[i].name(), 'Unexpected property name');
- }
-
- var internalProperties = mirror.internalProperties();
- for (var i = 0; i < internalProperties.length; i++) {
- assertTrue(internalProperties[i] instanceof debug.Mirror, 'Unexpected mirror hierarchy');
- assertTrue(internalProperties[i] instanceof debug.InternalPropertyMirror, 'Unexpected mirror hierarchy');
- assertEquals('internalProperty', internalProperties[i].type(), 'Unexpected mirror type');
- }
-
- for (var p in obj) {
- var property_mirror = mirror.property(p);
- assertTrue(property_mirror instanceof debug.PropertyMirror);
- assertEquals(p, property_mirror.name());
- // If the object has some special properties don't test for these.
- if (!hasSpecialProperties) {
- assertEquals(0, property_mirror.attributes(), property_mirror.name());
- assertFalse(property_mirror.isReadOnly());
- assertTrue(property_mirror.isEnum());
- assertTrue(property_mirror.canDelete());
- }
- }
-
- // Parse JSON representation and check.
- var fromJSON = eval('(' + json + ')');
- assertEquals('object', fromJSON.type, 'Unexpected mirror type in JSON');
- assertEquals(cls_name, fromJSON.className, 'Unexpected mirror class name in JSON');
- assertEquals(mirror.constructorFunction().handle(), fromJSON.constructorFunction.ref, 'Unexpected constructor function handle in JSON');
- assertEquals('function', refs.lookup(fromJSON.constructorFunction.ref).type, 'Unexpected constructor function type in JSON');
- assertEquals(ctor_name, refs.lookup(fromJSON.constructorFunction.ref).name, 'Unexpected constructor function name in JSON');
- assertEquals(mirror.protoObject().handle(), fromJSON.protoObject.ref, 'Unexpected proto object handle in JSON');
- assertEquals(mirror.protoObject().type(), refs.lookup(fromJSON.protoObject.ref).type, 'Unexpected proto object type in JSON');
- assertEquals(mirror.prototypeObject().handle(), fromJSON.prototypeObject.ref, 'Unexpected prototype object handle in JSON');
- assertEquals(mirror.prototypeObject().type(), refs.lookup(fromJSON.prototypeObject.ref).type, 'Unexpected prototype object type in JSON');
- assertEquals(void 0, fromJSON.namedInterceptor, 'No named interceptor expected in JSON');
- assertEquals(void 0, fromJSON.indexedInterceptor, 'No indexed interceptor expected in JSON');
-
- // Check that the serialization contains all properties.
- assertEquals(names.length, fromJSON.properties.length, 'Some properties missing in JSON');
- for (var i = 0; i < fromJSON.properties.length; i++) {
- var name = fromJSON.properties[i].name;
- if (typeof name == 'undefined') name = fromJSON.properties[i].index;
- var found = false;
- for (var j = 0; j < names.length; j++) {
- if (names[j] == name) {
- // Check that serialized handle is correct.
- assertEquals(properties[i].value().handle(), fromJSON.properties[i].ref, 'Unexpected serialized handle');
-
- // Check that serialized name is correct.
- assertEquals(properties[i].name(), fromJSON.properties[i].name, 'Unexpected serialized name');
-
- // If property type is normal property type is not serialized.
- if (properties[i].propertyType() != debug.PropertyType.Normal) {
- assertEquals(properties[i].propertyType(), fromJSON.properties[i].propertyType, 'Unexpected serialized property type');
- } else {
- assertTrue(typeof(fromJSON.properties[i].propertyType) === 'undefined', 'Unexpected serialized property type');
- }
-
- // If there are no attributes attributes are not serialized.
- if (properties[i].attributes() != debug.PropertyAttribute.None) {
- assertEquals(properties[i].attributes(), fromJSON.properties[i].attributes, 'Unexpected serialized attributes');
- } else {
- assertTrue(typeof(fromJSON.properties[i].attributes) === 'undefined', 'Unexpected serialized attributes');
- }
-
- // Lookup the serialized object from the handle reference.
- var o = refs.lookup(fromJSON.properties[i].ref);
- assertTrue(o != void 0, 'Referenced object is not serialized');
-
- assertEquals(properties[i].value().type(), o.type, 'Unexpected serialized property type for ' + name);
- if (properties[i].value().isPrimitive()) {
- if (properties[i].value().type() == "null" ||
- properties[i].value().type() == "undefined") {
- // Null and undefined has no value property.
- assertFalse("value" in o, 'Unexpected value property for ' + name);
- } else if (properties[i].value().type() == "number" &&
- !isFinite(properties[i].value().value())) {
- assertEquals(String(properties[i].value().value()), o.value,
- 'Unexpected serialized property value for ' + name);
- } else {
- assertEquals(properties[i].value().value(), o.value, 'Unexpected serialized property value for ' + name);
- }
- } else if (properties[i].value().isFunction()) {
- assertEquals(properties[i].value().source(), o.source, 'Unexpected serialized property value for ' + name);
- }
- found = true;
- }
- }
- assertTrue(found, '"' + name + '" not found (' + json + ')');
- }
-}
-
-
-function Point(x,y) {
- this.x_ = x;
- this.y_ = y;
-}
-
-// Test a number of different objects.
-testObjectMirror({}, 'Object', 'Object');
-testObjectMirror({'a':1,'b':2}, 'Object', 'Object');
-testObjectMirror({'1':void 0,'2':null,'f':function pow(x,y){return Math.pow(x,y);}}, 'Object', 'Object');
-testObjectMirror(new Point(-1.2,2.003), 'Object', 'Point');
-testObjectMirror(this, 'global', '', true); // Global object has special properties
-testObjectMirror(this.__proto__, 'Object', '');
-testObjectMirror([], 'Array', 'Array');
-testObjectMirror([1,2], 'Array', 'Array');
-testObjectMirror(Object(17), 'Number', 'Number');
-
-// Test circular references.
-o = {};
-o.o = o;
-testObjectMirror(o, 'Object', 'Object');
-
-// Test that non enumerable properties are part of the mirror
-global_mirror = debug.MakeMirror(this);
-assertEquals('property', global_mirror.property("Math").type());
-assertFalse(global_mirror.property("Math").isEnum(), "Math is enumerable" + global_mirror.property("Math").attributes());
-
-math_mirror = global_mirror.property("Math").value();
-assertEquals('property', math_mirror.property("E").type());
-assertFalse(math_mirror.property("E").isEnum(), "Math.E is enumerable");
-assertTrue(math_mirror.property("E").isReadOnly());
-assertFalse(math_mirror.property("E").canDelete());
-
-// Test objects with JavaScript accessors.
-o = {}
-o.__defineGetter__('a', function(){return 'a';});
-o.__defineSetter__('b', function(){});
-o.__defineGetter__('c', function(){throw 'c';});
-o.__defineSetter__('c', function(){throw 'c';});
-testObjectMirror(o, 'Object', 'Object');
-mirror = debug.MakeMirror(o);
-// a has getter but no setter.
-assertTrue(mirror.property('a').hasGetter());
-assertFalse(mirror.property('a').hasSetter());
-assertEquals(debug.PropertyType.Callbacks, mirror.property('a').propertyType());
-assertEquals('function', mirror.property('a').getter().type());
-assertEquals('undefined', mirror.property('a').setter().type());
-assertEquals('function (){return \'a\';}', mirror.property('a').getter().source());
-// b has setter but no getter.
-assertFalse(mirror.property('b').hasGetter());
-assertTrue(mirror.property('b').hasSetter());
-assertEquals(debug.PropertyType.Callbacks, mirror.property('b').propertyType());
-assertEquals('undefined', mirror.property('b').getter().type());
-assertEquals('function', mirror.property('b').setter().type());
-assertEquals('function (){}', mirror.property('b').setter().source());
-assertFalse(mirror.property('b').isException());
-// c has both getter and setter. The getter throws an exception.
-assertTrue(mirror.property('c').hasGetter());
-assertTrue(mirror.property('c').hasSetter());
-assertEquals(debug.PropertyType.Callbacks, mirror.property('c').propertyType());
-assertEquals('function', mirror.property('c').getter().type());
-assertEquals('function', mirror.property('c').setter().type());
-assertEquals('function (){throw \'c\';}', mirror.property('c').getter().source());
-assertEquals('function (){throw \'c\';}', mirror.property('c').setter().source());
-
-// Test objects with native accessors.
-mirror = debug.MakeMirror(new String('abc'));
-assertTrue(mirror instanceof debug.ObjectMirror);
-assertFalse(mirror.property('length').hasGetter());
-assertFalse(mirror.property('length').hasSetter());
-assertTrue(mirror.property('length').isNative());
-assertEquals('a', mirror.property(0).value().value());
-assertEquals('b', mirror.property(1).value().value());
-assertEquals('c', mirror.property(2).value().value());
-
-// Test value wrapper internal properties.
-mirror = debug.MakeMirror(Object("Capybara"));
-var ip = mirror.internalProperties();
-assertEquals(1, ip.length);
-assertEquals("[[PrimitiveValue]]", ip[0].name());
-assertEquals("string", ip[0].value().type());
-assertEquals("Capybara", ip[0].value().value());
-
-// Test bound function internal properties.
-mirror = debug.MakeMirror(Number.bind(Array, 2));
-ip = mirror.internalProperties();
-assertEquals(3, ip.length);
-var property_map = {};
-for (var i = 0; i < ip.length; i++) {
- property_map[ip[i].name()] = ip[i];
-}
-assertTrue("[[BoundThis]]" in property_map);
-assertEquals("function", property_map["[[BoundThis]]"].value().type());
-assertEquals(Array, property_map["[[BoundThis]]"].value().value());
-assertTrue("[[TargetFunction]]" in property_map);
-assertEquals("function", property_map["[[TargetFunction]]"].value().type());
-assertEquals(Number, property_map["[[TargetFunction]]"].value().value());
-assertTrue("[[BoundArgs]]" in property_map);
-assertEquals("object", property_map["[[BoundArgs]]"].value().type());
-assertEquals(1, property_map["[[BoundArgs]]"].value().value().length);
diff --git a/src/3rdparty/v8/test/mjsunit/mirror-regexp.js b/src/3rdparty/v8/test/mjsunit/mirror-regexp.js
deleted file mode 100644
index d6a9d71..0000000
--- a/src/3rdparty/v8/test/mjsunit/mirror-regexp.js
+++ /dev/null
@@ -1,110 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Test the mirror object for regular expression values
-
-var all_attributes = debug.PropertyAttribute.ReadOnly |
- debug.PropertyAttribute.DontEnum |
- debug.PropertyAttribute.DontDelete;
-var expected_attributes = {
- 'source': all_attributes,
- 'global': all_attributes,
- 'ignoreCase': all_attributes,
- 'multiline': all_attributes,
- 'lastIndex': debug.PropertyAttribute.DontEnum | debug.PropertyAttribute.DontDelete
-};
-
-function MirrorRefCache(json_refs) {
- var tmp = eval('(' + json_refs + ')');
- this.refs_ = [];
- for (var i = 0; i < tmp.length; i++) {
- this.refs_[tmp[i].handle] = tmp[i];
- }
-}
-
-MirrorRefCache.prototype.lookup = function(handle) {
- return this.refs_[handle];
-}
-
-function testRegExpMirror(r) {
- // Create mirror and JSON representation.
- var mirror = debug.MakeMirror(r);
- var serializer = debug.MakeMirrorSerializer();
- var json = JSON.stringify(serializer.serializeValue(mirror));
- var refs = new MirrorRefCache(
- JSON.stringify(serializer.serializeReferencedObjects()));
-
- // Check the mirror hierachy.
- assertTrue(mirror instanceof debug.Mirror);
- assertTrue(mirror instanceof debug.ValueMirror);
- assertTrue(mirror instanceof debug.ObjectMirror);
- assertTrue(mirror instanceof debug.RegExpMirror);
-
- // Check the mirror properties.
- assertTrue(mirror.isRegExp());
- assertEquals('regexp', mirror.type());
- assertFalse(mirror.isPrimitive());
- for (var p in expected_attributes) {
- assertEquals(expected_attributes[p],
- mirror.property(p).attributes(),
- p + ' attributes');
- }
-
- // Test text representation
- assertEquals('/' + r.source + '/', mirror.toText());
-
- // Parse JSON representation and check.
- var fromJSON = eval('(' + json + ')');
- assertEquals('regexp', fromJSON.type);
- assertEquals('RegExp', fromJSON.className);
- for (var p in expected_attributes) {
- for (var i = 0; i < fromJSON.properties.length; i++) {
- if (fromJSON.properties[i].name == p) {
- assertEquals(expected_attributes[p],
- fromJSON.properties[i].attributes,
- 'Unexpected value for ' + p + ' attributes');
- assertEquals(mirror.property(p).propertyType(),
- fromJSON.properties[i].propertyType,
- 'Unexpected value for ' + p + ' propertyType');
- assertEquals(mirror.property(p).value().handle(),
- fromJSON.properties[i].ref,
- 'Unexpected handle for ' + p);
- assertEquals(mirror.property(p).value().value(),
- refs.lookup(fromJSON.properties[i].ref).value,
- 'Unexpected value for ' + p);
- }
- }
- }
-}
-
-
-// Test Date values.
-testRegExpMirror(/x/);
-testRegExpMirror(/[abc]/);
-testRegExpMirror(/[\r\n]/g);
-testRegExpMirror(/a*b/gmi);
diff --git a/src/3rdparty/v8/test/mjsunit/mirror-script.js b/src/3rdparty/v8/test/mjsunit/mirror-script.js
deleted file mode 100644
index 1d64ac2..0000000
--- a/src/3rdparty/v8/test/mjsunit/mirror-script.js
+++ /dev/null
@@ -1,98 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug --allow-natives-syntax
-// Test the mirror object for scripts.
-
-function testScriptMirror(f, file_name, file_lines, type, compilation_type,
- source, eval_from_line) {
- // Create mirror and JSON representation.
- var mirror = debug.MakeMirror(f).script();
- var serializer = debug.MakeMirrorSerializer();
- var json = JSON.stringify(serializer.serializeValue(mirror));
-
- // Check the mirror hierachy.
- assertTrue(mirror instanceof debug.Mirror);
- assertFalse(mirror instanceof debug.ValueMirror);
- assertTrue(mirror instanceof debug.ScriptMirror);
-
- // Check the mirror properties.
- assertTrue(mirror.isScript());
- assertEquals('script', mirror.type());
- var name = mirror.name();
- if (name) {
- assertEquals(file_name, name.substring(name.length - file_name.length));
- } else {
- assertTrue(file_name === null);
- }
- assertEquals(0, mirror.lineOffset());
- assertEquals(0, mirror.columnOffset());
- if (file_lines > 0) {
- assertEquals(file_lines, mirror.lineCount());
- }
- assertEquals(type, mirror.scriptType());
- assertEquals(compilation_type, mirror.compilationType(), "compilation type");
- if (source) {
- assertEquals(source, mirror.source());
- }
- if (eval_from_line) {
- assertEquals(eval_from_line, mirror.evalFromLocation().line);
- }
-
- // Parse JSON representation and check.
- var fromJSON = JSON.parse(json);
- assertEquals('script', fromJSON.type);
- name = fromJSON.name;
- if (name) {
- assertEquals(file_name, name.substring(name.length - file_name.length));
- } else {
- assertTrue(file_name === null);
- }
- assertEquals(0, fromJSON.lineOffset);
- assertEquals(0, fromJSON.columnOffset);
- if (file_lines > 0) {
- assertEquals(file_lines, fromJSON.lineCount);
- }
- assertEquals(type, fromJSON.scriptType);
- assertEquals(compilation_type, fromJSON.compilationType);
-}
-
-
-// Test the script mirror for different functions.
-testScriptMirror(function(){}, 'mirror-script.js', 98, 2, 0);
-testScriptMirror(Math.sin, 'native math.js', -1, 0, 0);
-testScriptMirror(eval('(function(){})'), null, 1, 2, 1, '(function(){})', 87);
-testScriptMirror(eval('(function(){\n })'), null, 2, 2, 1, '(function(){\n })', 88);
-
-// Test taking slices of source.
-var mirror = debug.MakeMirror(eval('(function(){\n 1;\n})')).script();
-assertEquals('(function(){\n', mirror.sourceSlice(0, 1).sourceText());
-assertEquals(' 1;\n', mirror.sourceSlice(1, 2).sourceText());
-assertEquals('})', mirror.sourceSlice(2, 3).sourceText());
-assertEquals('(function(){\n 1;\n', mirror.sourceSlice(0, 2).sourceText());
-assertEquals(' 1;\n})', mirror.sourceSlice(1, 3).sourceText());
-assertEquals('(function(){\n 1;\n})', mirror.sourceSlice(0, 3).sourceText());
diff --git a/src/3rdparty/v8/test/mjsunit/mirror-string.js b/src/3rdparty/v8/test/mjsunit/mirror-string.js
deleted file mode 100644
index c241849..0000000
--- a/src/3rdparty/v8/test/mjsunit/mirror-string.js
+++ /dev/null
@@ -1,89 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Test the mirror object for string values
-
-const kMaxProtocolStringLength = 80; // Constant from mirror-delay.js
-
-function testStringMirror(s) {
- // Create mirror and JSON representation.
- var mirror = debug.MakeMirror(s);
- var serializer = debug.MakeMirrorSerializer();
- var json = JSON.stringify(serializer.serializeValue(mirror));
-
- // Check the mirror hierachy.
- assertTrue(mirror instanceof debug.Mirror);
- assertTrue(mirror instanceof debug.ValueMirror);
- assertTrue(mirror instanceof debug.StringMirror);
-
- // Check the mirror properties.
- assertTrue(mirror.isString());
- assertEquals('string', mirror.type());
- assertTrue(mirror.isPrimitive());
-
- // Test text representation
- if (s.length <= kMaxProtocolStringLength) {
- assertEquals(s, mirror.toText());
- } else {
- assertEquals(s.substring(0, kMaxProtocolStringLength),
- mirror.toText().substring(0, kMaxProtocolStringLength));
- }
-
- // Parse JSON representation and check.
- var fromJSON = eval('(' + json + ')');
- assertEquals('string', fromJSON.type);
- if (s.length <= kMaxProtocolStringLength) {
- assertEquals(s, fromJSON.value);
- } else {
- assertEquals(s.substring(0, kMaxProtocolStringLength),
- fromJSON.value.substring(0, kMaxProtocolStringLength));
- assertEquals(fromJSON.fromIndex, 0);
- assertEquals(fromJSON.toIndex, kMaxProtocolStringLength);
- }
-}
-
-// Test a number of different strings.
-testStringMirror('');
-testStringMirror('abcdABCD');
-testStringMirror('1234');
-testStringMirror('"');
-testStringMirror('"""');
-testStringMirror("'");
-testStringMirror("'''");
-testStringMirror("'\"'");
-testStringMirror('\\');
-testStringMirror('\b\t\n\f\r');
-testStringMirror('\u0001\u0002\u001E\u001F');
-testStringMirror('"a":1,"b":2');
-
-var s = "1234567890"
-s = s + s + s + s + s + s + s + s;
-assertEquals(kMaxProtocolStringLength, s.length);
-testStringMirror(s);
-s = s + 'X';
-testStringMirror(s);
diff --git a/src/3rdparty/v8/test/mjsunit/mirror-undefined.js b/src/3rdparty/v8/test/mjsunit/mirror-undefined.js
deleted file mode 100644
index 7f63239..0000000
--- a/src/3rdparty/v8/test/mjsunit/mirror-undefined.js
+++ /dev/null
@@ -1,50 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Test the mirror object for undefined
-
-// Create mirror and JSON representation.
-var mirror = debug.MakeMirror(void 0);
-var serializer = debug.MakeMirrorSerializer();
-var json = JSON.stringify(serializer.serializeValue(mirror));
-
-// Check the mirror hierachy.
-assertTrue(mirror instanceof debug.Mirror);
-assertTrue(mirror instanceof debug.UndefinedMirror);
-
-// Check the mirror properties.
-assertTrue(mirror.isUndefined());
-assertEquals('undefined', mirror.type());
-assertTrue(mirror.isPrimitive());
-
-// Test text representation
-assertEquals('undefined', mirror.toText());
-
-// Parse JSON representation and check.
-var fromJSON = eval('(' + json + ')');
-assertEquals('undefined', fromJSON.type); \ No newline at end of file
diff --git a/src/3rdparty/v8/test/mjsunit/mirror-unresolved-function.js b/src/3rdparty/v8/test/mjsunit/mirror-unresolved-function.js
deleted file mode 100644
index 46f22a0..0000000
--- a/src/3rdparty/v8/test/mjsunit/mirror-unresolved-function.js
+++ /dev/null
@@ -1,81 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Test the mirror object for unresolved functions.
-
-function MirrorRefCache(json_refs) {
- var tmp = eval('(' + json_refs + ')');
- this.refs_ = [];
- for (var i = 0; i < tmp.length; i++) {
- this.refs_[tmp[i].handle] = tmp[i];
- }
-}
-
-MirrorRefCache.prototype.lookup = function(handle) {
- return this.refs_[handle];
-}
-
-var mirror = new debug.UnresolvedFunctionMirror("f");
-var serializer = debug.MakeMirrorSerializer();
-var json = JSON.stringify(serializer.serializeValue(mirror));
-var refs = new MirrorRefCache(
- JSON.stringify(serializer.serializeReferencedObjects()));
-
-// Check the mirror hierachy for unresolved functions.
-assertTrue(mirror instanceof debug.Mirror);
-assertTrue(mirror instanceof debug.ValueMirror);
-assertTrue(mirror instanceof debug.ObjectMirror);
-assertTrue(mirror instanceof debug.FunctionMirror);
-
-// Check the mirror properties for unresolved functions.
-assertTrue(mirror.isUnresolvedFunction());
-assertEquals('function', mirror.type());
-assertFalse(mirror.isPrimitive());
-assertEquals("Function", mirror.className());
-assertEquals("f", mirror.name());
-assertEquals('undefined', typeof mirror.inferredName());
-assertFalse(mirror.resolved());
-assertEquals(void 0, mirror.source());
-assertEquals('undefined', mirror.constructorFunction().type());
-assertEquals('undefined', mirror.protoObject().type());
-assertEquals('undefined', mirror.prototypeObject().type());
-
-// Parse JSON representation of unresolved functions and check.
-var fromJSON = eval('(' + json + ')');
-assertEquals('function', fromJSON.type, 'Unexpected mirror type in JSON');
-assertEquals('Function', fromJSON.className, 'Unexpected mirror class name in JSON');
-assertEquals(mirror.constructorFunction().handle(), fromJSON.constructorFunction.ref, 'Unexpected constructor function handle in JSON');
-assertEquals('undefined', refs.lookup(fromJSON.constructorFunction.ref).type, 'Unexpected constructor function type in JSON');
-assertEquals(mirror.protoObject().handle(), fromJSON.protoObject.ref, 'Unexpected proto object handle in JSON');
-assertEquals('undefined', refs.lookup(fromJSON.protoObject.ref).type, 'Unexpected proto object type in JSON');
-assertEquals(mirror.prototypeObject().handle(), fromJSON.prototypeObject.ref, 'Unexpected prototype object handle in JSON');
-assertEquals('undefined', refs.lookup(fromJSON.prototypeObject.ref).type, 'Unexpected prototype object type in JSON');
-assertFalse(fromJSON.resolved);
-assertEquals("f", fromJSON.name);
-assertFalse('inferredName' in fromJSON);
-assertEquals(void 0, fromJSON.source);
diff --git a/src/3rdparty/v8/test/mjsunit/mjsunit.js b/src/3rdparty/v8/test/mjsunit/mjsunit.js
deleted file mode 100644
index 25d7c00..0000000
--- a/src/3rdparty/v8/test/mjsunit/mjsunit.js
+++ /dev/null
@@ -1,357 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function MjsUnitAssertionError(message) {
- this.message = message;
- // This allows fetching the stack trace using TryCatch::StackTrace.
- this.stack = new Error("").stack;
-}
-
-/*
- * This file is included in all mini jsunit test cases. The test
- * framework expects lines that signal failed tests to start with
- * the f-word and ignore all other lines.
- */
-
-
-MjsUnitAssertionError.prototype.toString = function () {
- return this.message;
-};
-
-
-// Expected and found values the same objects, or the same primitive
-// values.
-// For known primitive values, please use assertEquals.
-var assertSame;
-
-// Expected and found values are identical primitive values or functions
-// or similarly structured objects (checking internal properties
-// of, e.g., Number and Date objects, the elements of arrays
-// and the properties of non-Array objects).
-var assertEquals;
-
-// The found object is an Array with the same length and elements
-// as the expected object. The expected object doesn't need to be an Array,
-// as long as it's "array-ish".
-var assertArrayEquals;
-
-// The found object must have the same enumerable properties as the
-// expected object. The type of object isn't checked.
-var assertPropertiesEqual;
-
-// Assert that the string conversion of the found value is equal to
-// the expected string. Only kept for backwards compatability, please
-// check the real structure of the found value.
-var assertToStringEquals;
-
-// Checks that the found value is true. Use with boolean expressions
-// for tests that doesn't have their own assertXXX function.
-var assertTrue;
-
-// Checks that the found value is false.
-var assertFalse;
-
-// Checks that the found value is null. Kept for historical compatibility,
-// please just use assertEquals(null, expected).
-var assertNull;
-
-// Checks that the found value is *not* null.
-var assertNotNull;
-
-// Assert that the passed function or eval code throws an exception.
-// The optional second argument is an exception constructor that the
-// thrown exception is checked against with "instanceof".
-// The optional third argument is a message type string that is compared
-// to the type property on the thrown exception.
-var assertThrows;
-
-// Assert that the passed function or eval code does not throw an exception.
-var assertDoesNotThrow;
-
-// Asserts that the found value is an instance of the constructor passed
-// as the second argument.
-var assertInstanceof;
-
-// Assert that this code is never executed (i.e., always fails if executed).
-var assertUnreachable;
-
-(function () { // Scope for utility functions.
-
- function classOf(object) {
- // Argument must not be null or undefined.
- var string = Object.prototype.toString.call(object);
- // String has format [object <ClassName>].
- return string.substring(8, string.length - 1);
- }
-
-
- function PrettyPrint(value) {
- switch (typeof value) {
- case "string":
- return JSON.stringify(value);
- case "number":
- if (value === 0 && (1 / value) < 0) return "-0";
- // FALLTHROUGH.
- case "boolean":
- case "undefined":
- case "function":
- return String(value);
- case "object":
- if (value === null) return "null";
- var objectClass = classOf(value);
- switch (objectClass) {
- case "Number":
- case "String":
- case "Boolean":
- case "Date":
- return objectClass + "(" + PrettyPrint(value.valueOf()) + ")";
- case "RegExp":
- return value.toString();
- case "Array":
- return "[" + value.map(PrettyPrintArrayElement).join(",") + "]";
- case "Object":
- break;
- default:
- return objectClass + "()";
- }
- // [[Class]] is "Object".
- var name = value.constructor.name;
- if (name) return name + "()";
- return "Object()";
- default:
- return "-- unknown value --";
- }
- }
-
-
- function PrettyPrintArrayElement(value, index, array) {
- if (value === undefined && !(index in array)) return "";
- return PrettyPrint(value);
- }
-
-
- function fail(expectedText, found, name_opt) {
- var message = "Fail" + "ure";
- if (name_opt) {
- // Fix this when we ditch the old test runner.
- message += " (" + name_opt + ")";
- }
-
- message += ": expected <" + expectedText +
- "> found <" + PrettyPrint(found) + ">";
- throw new MjsUnitAssertionError(message);
- }
-
-
- function deepObjectEquals(a, b) {
- var aProps = Object.keys(a);
- aProps.sort();
- var bProps = Object.keys(b);
- bProps.sort();
- if (!deepEquals(aProps, bProps)) {
- return false;
- }
- for (var i = 0; i < aProps.length; i++) {
- if (!deepEquals(a[aProps[i]], b[aProps[i]])) {
- return false;
- }
- }
- return true;
- }
-
-
- function deepEquals(a, b) {
- if (a === b) {
- // Check for -0.
- if (a === 0) return (1 / a) === (1 / b);
- return true;
- }
- if (typeof a != typeof b) return false;
- if (typeof a == "number") return isNaN(a) && isNaN(b);
- if (typeof a !== "object" && typeof a !== "function") return false;
- // Neither a nor b is primitive.
- var objectClass = classOf(a);
- if (objectClass !== classOf(b)) return false;
- if (objectClass === "RegExp") {
- // For RegExp, just compare pattern and flags using its toString.
- return (a.toString() === b.toString());
- }
- // Functions are only identical to themselves.
- if (objectClass === "Function") return false;
- if (objectClass === "Array") {
- var elementCount = 0;
- if (a.length != b.length) {
- return false;
- }
- for (var i = 0; i < a.length; i++) {
- if (!deepEquals(a[i], b[i])) return false;
- }
- return true;
- }
- if (objectClass == "String" || objectClass == "Number" ||
- objectClass == "Boolean" || objectClass == "Date") {
- if (a.valueOf() !== b.valueOf()) return false;
- }
- return deepObjectEquals(a, b);
- }
-
-
- assertSame = function assertSame(expected, found, name_opt) {
- // TODO(mstarzinger): We should think about using Harmony's egal operator
- // or the function equivalent Object.is() here.
- if (found === expected) {
- if (expected !== 0 || (1 / expected) == (1 / found)) return;
- } else if ((expected !== expected) && (found !== found)) {
- return;
- }
- fail(PrettyPrint(expected), found, name_opt);
- };
-
-
- assertEquals = function assertEquals(expected, found, name_opt) {
- if (!deepEquals(found, expected)) {
- fail(PrettyPrint(expected), found, name_opt);
- }
- };
-
-
- assertArrayEquals = function assertArrayEquals(expected, found, name_opt) {
- var start = "";
- if (name_opt) {
- start = name_opt + " - ";
- }
- assertEquals(expected.length, found.length, start + "array length");
- if (expected.length == found.length) {
- for (var i = 0; i < expected.length; ++i) {
- assertEquals(expected[i], found[i],
- start + "array element at index " + i);
- }
- }
- };
-
-
- assertPropertiesEqual = function assertPropertiesEqual(expected, found,
- name_opt) {
- // Check properties only.
- if (!deepObjectEquals(expected, found)) {
- fail(expected, found, name_opt);
- }
- };
-
-
- assertToStringEquals = function assertToStringEquals(expected, found,
- name_opt) {
- if (expected != String(found)) {
- fail(expected, found, name_opt);
- }
- };
-
-
- assertTrue = function assertTrue(value, name_opt) {
- assertEquals(true, value, name_opt);
- };
-
-
- assertFalse = function assertFalse(value, name_opt) {
- assertEquals(false, value, name_opt);
- };
-
-
- assertNull = function assertNull(value, name_opt) {
- if (value !== null) {
- fail("null", value, name_opt);
- }
- };
-
-
- assertNotNull = function assertNotNull(value, name_opt) {
- if (value === null) {
- fail("not null", value, name_opt);
- }
- };
-
-
- assertThrows = function assertThrows(code, type_opt, cause_opt) {
- var threwException = true;
- try {
- if (typeof code == 'function') {
- code();
- } else {
- eval(code);
- }
- threwException = false;
- } catch (e) {
- if (typeof type_opt == 'function') {
- assertInstanceof(e, type_opt);
- }
- if (arguments.length >= 3) {
- assertEquals(e.type, cause_opt);
- }
- // Success.
- return;
- }
- throw new MjsUnitAssertionError("Did not throw exception");
- };
-
-
- assertInstanceof = function assertInstanceof(obj, type) {
- if (!(obj instanceof type)) {
- var actualTypeName = null;
- var actualConstructor = Object.getPrototypeOf(obj).constructor;
- if (typeof actualConstructor == "function") {
- actualTypeName = actualConstructor.name || String(actualConstructor);
- }
- fail("Object <" + PrettyPrint(obj) + "> is not an instance of <" +
- (type.name || type) + ">" +
- (actualTypeName ? " but of < " + actualTypeName + ">" : ""));
- }
- };
-
-
- assertDoesNotThrow = function assertDoesNotThrow(code, name_opt) {
- try {
- if (typeof code == 'function') {
- code();
- } else {
- eval(code);
- }
- } catch (e) {
- fail("threw an exception: ", e.message || e, name_opt);
- }
- };
-
- assertUnreachable = function assertUnreachable(name_opt) {
- // Fix this when we ditch the old test runner.
- var message = "Fail" + "ure: unreachable";
- if (name_opt) {
- message += " - " + name_opt;
- }
- throw new MjsUnitAssertionError(message);
- };
-
-})();
-
diff --git a/src/3rdparty/v8/test/mjsunit/mjsunit.status b/src/3rdparty/v8/test/mjsunit/mjsunit.status
deleted file mode 100644
index 26c8359..0000000
--- a/src/3rdparty/v8/test/mjsunit/mjsunit.status
+++ /dev/null
@@ -1,203 +0,0 @@
-# Copyright 2012 the V8 project authors. All rights reserved.
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following
-# disclaimer in the documentation and/or other materials provided
-# with the distribution.
-# * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived
-# from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-prefix mjsunit
-
-# All tests in the bug directory are expected to fail.
-bugs/*: FAIL
-
-##############################################################################
-# Fails.
-regress/regress-1119: FAIL
-
-# Issue 1719: Slow to collect arrays over several contexts.
-regress/regress-524: SKIP
-# When that bug is fixed, revert the expectation to:
-# Skip long running test in debug and allow it to timeout in release mode.
-# regress/regress-524: (PASS || TIMEOUT), SKIP if $mode == debug
-
-# Deferred stack trace formatting is temporarily disabled.
-stack-traces-gc: PASS || FAIL
-
-##############################################################################
-# Too slow in debug mode with --stress-opt
-compiler/regress-stacktrace-methods: PASS, SKIP if $mode == debug
-compiler/regress-funcaller: PASS, SKIP if $mode == debug
-regress/regress-2318: PASS, SKIP if $mode == debug
-regress/regress-create-exception: PASS, SKIP if $mode == debug
-
-##############################################################################
-# These use a built-in that's only present in debug mode. They take
-# too long to run in debug mode on ARM and MIPS.
-fuzz-natives-part*: PASS, SKIP if ($mode == release || $arch == arm || $arch == android_arm || $arch == mipsel)
-
-big-object-literal: PASS, SKIP if ($arch == arm || $arch == android_arm)
-
-# Issue 488: this test sometimes times out.
-array-constructor: PASS || TIMEOUT
-
-# Very slow on ARM and MIPS, contains no architecture dependent code.
-unicode-case-overoptimization: PASS, TIMEOUT if ($arch == arm || $arch == android_arm || $arch == mipsel)
-
-##############################################################################
-# This test expects to reach a certain recursion depth, which may not work
-# for debug mode.
-json-recursive: PASS, (PASS || FAIL) if $mode == debug
-
-##############################################################################
-# Skip long running test that times out in debug mode or goes OOM on android.
-regress/regress-crbug-160010: PASS, SKIP if ($mode == debug || $arch == android_arm)
-generated-transition-stub: PASS, SKIP if $mode == debug
-
-##############################################################################
-# This test sets the umask on a per-process basis and hence cannot be
-# used in multi-threaded runs.
-# On android there is no /tmp directory.
-d8-os: PASS, SKIP if ($isolates || $arch == android_arm || $arch == android_ia32)
-tools/tickprocessor: PASS, SKIP if ($arch == android_arm || $arch == android_ia32)
-
-##############################################################################
-# This test is the same as math-floor-of-div for non ARM architectures.
-math-floor-of-div-nosudiv: PASS, SKIP if ($arch != arm && $arch != android_arm)
-
-##############################################################################
-# Long running test that reproduces memory leak and should be run manually.
-regress/regress-2073: SKIP
-
-##############################################################################
-[ $arch == arm || $arch == android_arm ]
-
-# Slow tests which times out in debug mode.
-try: PASS, SKIP if $mode == debug
-debug-scripts-request: PASS, SKIP if $mode == debug
-array-constructor: PASS, SKIP if $mode == debug
-regress/regress-1122: PASS, SKIP if ($mode == debug && $arch == android_arm)
-
-# Flaky test that can hit compilation-time stack overflow in debug mode.
-unicode-test: PASS, (PASS || FAIL) if $mode == debug
-
-# Times out often in release mode on ARM.
-compiler/regress-stacktrace-methods: PASS, PASS || TIMEOUT if $mode == release
-array-splice: PASS || TIMEOUT
-
-# Long running test.
-string-indexof-2: PASS || TIMEOUT
-mirror-object: PASS || TIMEOUT
-
-# BUG(3251035): Timeouts in long looping crankshaft optimization
-# tests. Skipping because having them timeout takes too long on the
-# buildbot.
-compiler/alloc-number: SKIP
-compiler/array-length: SKIP
-compiler/assignment-deopt: SKIP
-compiler/deopt-args: SKIP
-compiler/inline-compare: SKIP
-compiler/inline-global-access: SKIP
-compiler/optimized-function-calls: SKIP
-compiler/pic: SKIP
-compiler/property-calls: SKIP
-compiler/recursive-deopt: SKIP
-compiler/regress-4: SKIP
-compiler/regress-funcaller: SKIP
-compiler/regress-rep-change: SKIP
-compiler/regress-arguments: SKIP
-compiler/regress-funarguments: SKIP
-compiler/regress-3249650: SKIP
-compiler/simple-deopt: SKIP
-regress/regress-490: SKIP
-regress/regress-634: SKIP
-regress/regress-create-exception: SKIP
-regress/regress-3218915: SKIP
-regress/regress-3247124: SKIP
-
-# Requires bigger stack size in the Genesis and if stack size is increased,
-# the test requires too much time to run. However, the problem test covers
-# should be platform-independent.
-regress/regress-1132: SKIP
-
-# Stack manipulations in LiveEdit is not implemented for this arch.
-debug-liveedit-check-stack: SKIP
-debug-liveedit-stack-padding: SKIP
-debug-liveedit-restart-frame: SKIP
-debug-liveedit-double-call: SKIP
-
-# Currently always deopt on minus zero
-math-floor-of-div-minus-zero: SKIP
-
-##############################################################################
-[ $arch == mipsel ]
-
-# Slow tests which times out in debug mode.
-try: PASS, SKIP if $mode == debug
-debug-scripts-request: PASS, SKIP if $mode == debug
-array-constructor: PASS, SKIP if $mode == debug
-
-# Times out often in release mode on MIPS.
-compiler/regress-stacktrace-methods: PASS, PASS || TIMEOUT if $mode == release
-array-splice: PASS || TIMEOUT
-
-# Long running test.
-mirror-object: PASS || TIMEOUT
-string-indexof-2: PASS || TIMEOUT
-
-# BUG(3251035): Timeouts in long looping crankshaft optimization
-# tests. Skipping because having them timeout takes too long on the
-# buildbot.
-compiler/alloc-number: SKIP
-compiler/array-length: SKIP
-compiler/assignment-deopt: SKIP
-compiler/deopt-args: SKIP
-compiler/inline-compare: SKIP
-compiler/inline-global-access: SKIP
-compiler/optimized-function-calls: SKIP
-compiler/pic: SKIP
-compiler/property-calls: SKIP
-compiler/recursive-deopt: SKIP
-compiler/regress-4: SKIP
-compiler/regress-funcaller: SKIP
-compiler/regress-rep-change: SKIP
-compiler/regress-arguments: SKIP
-compiler/regress-funarguments: SKIP
-compiler/regress-3249650: SKIP
-compiler/simple-deopt: SKIP
-regress/regress-490: SKIP
-regress/regress-634: SKIP
-regress/regress-create-exception: SKIP
-regress/regress-3218915: SKIP
-regress/regress-3247124: SKIP
-
-# Requires bigger stack size in the Genesis and if stack size is increased,
-# the test requires too much time to run. However, the problem test covers
-# should be platform-independent.
-regress/regress-1132: SKIP
-
-# Stack manipulations in LiveEdit is not implemented for this arch.
-debug-liveedit-check-stack: SKIP
-debug-liveedit-stack-padding: SKIP
-debug-liveedit-restart-frame: SKIP
-debug-liveedit-double-call: SKIP
-
diff --git a/src/3rdparty/v8/test/mjsunit/mod.js b/src/3rdparty/v8/test/mjsunit/mod.js
deleted file mode 100644
index 8ad98fa..0000000
--- a/src/3rdparty/v8/test/mjsunit/mod.js
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function foo() {
- for (var i = 1; i < 100; i++) {
- var answer = 1;
- for (var j = 1; j < 100; j++) {
- if (answer == i) answer = 0;
- // Positive case.
- print(j + " % " + i + " = " + answer);
- m = j % i;
- assertEquals(answer, m, j + " % " + i);
- m = j % (-i);
- assertEquals(answer, m, j + " % -" + i);
- // Negative case.
- m = (-j) % i;
- assertEquals(-answer, m, j + " % " + i);
- // Check for negative zero.
- if (answer == 0) assertEquals(-Infinity, 1/m);
- m = (-j) % (-i);
- assertEquals(-answer, m, j + " % -" + i);
- // Check for negative zero.
- if (answer == 0) assertEquals(-Infinity, 1/m);
- answer++;
- }
- }
-}
-
-foo();
diff --git a/src/3rdparty/v8/test/mjsunit/mul-exhaustive-part1.js b/src/3rdparty/v8/test/mjsunit/mul-exhaustive-part1.js
deleted file mode 100644
index 7902cc2..0000000
--- a/src/3rdparty/v8/test/mjsunit/mul-exhaustive-part1.js
+++ /dev/null
@@ -1,491 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var x;
-
-// Converts a number to string respecting -0.
-function stringify(n) {
- if ((1 / n) === -Infinity) return "-0";
- return String(n);
-}
-
-function f(expected, y) {
- function testEval(string, x, y) {
- var mulFunction = Function("x, y", "return " + string);
- return mulFunction(x, y);
- }
- function mulTest(expected, x, y) {
- assertEquals(expected, x * y);
- assertEquals(expected, testEval(stringify(x) + " * y", x, y));
- assertEquals(expected, testEval("x * " + stringify(y), x, y));
- assertEquals(expected, testEval(stringify(x) + " * " + stringify(y), x, y));
- }
- mulTest(expected, x, y);
- mulTest(-expected, -x, y);
- mulTest(-expected, x, -y);
- mulTest(expected, -x, -y);
- if (x === y) return; // Symmetric cases not necessary.
- mulTest(expected, y, x);
- mulTest(-expected, -y, x);
- mulTest(-expected, y, -x);
- mulTest(expected, -y, -x);
-}
-
-x = 0;
-f(0, 0);
-x = 1;
-f(0, 0);
-f(1, 1);
-x = 2;
-f(0, 0);
-f(2, 1);
-f(4, 2);
-x = 3;
-f(0, 0);
-f(3, 1);
-f(6, 2);
-f(9, 3);
-x = 4;
-f(0, 0);
-f(4, 1);
-f(8, 2);
-f(12, 3);
-f(16, 4);
-x = 5;
-f(0, 0);
-f(5, 1);
-f(10, 2);
-f(15, 3);
-f(20, 4);
-f(25, 5);
-x = 7;
-f(0, 0);
-f(7, 1);
-f(14, 2);
-f(21, 3);
-f(28, 4);
-f(35, 5);
-f(49, 7);
-x = 8;
-f(0, 0);
-f(8, 1);
-f(16, 2);
-f(24, 3);
-f(32, 4);
-f(40, 5);
-f(56, 7);
-f(64, 8);
-x = 9;
-f(0, 0);
-f(9, 1);
-f(18, 2);
-f(27, 3);
-f(36, 4);
-f(45, 5);
-f(63, 7);
-f(72, 8);
-f(81, 9);
-x = 15;
-f(0, 0);
-f(15, 1);
-f(30, 2);
-f(45, 3);
-f(60, 4);
-f(75, 5);
-f(105, 7);
-f(120, 8);
-f(135, 9);
-f(225, 15);
-x = 16;
-f(0, 0);
-f(16, 1);
-f(32, 2);
-f(48, 3);
-f(64, 4);
-f(80, 5);
-f(112, 7);
-f(128, 8);
-f(144, 9);
-f(240, 15);
-f(256, 16);
-x = 17;
-f(0, 0);
-f(17, 1);
-f(34, 2);
-f(51, 3);
-f(68, 4);
-f(85, 5);
-f(119, 7);
-f(136, 8);
-f(153, 9);
-f(255, 15);
-f(272, 16);
-f(289, 17);
-x = 31;
-f(0, 0);
-f(31, 1);
-f(62, 2);
-f(93, 3);
-f(124, 4);
-f(155, 5);
-f(217, 7);
-f(248, 8);
-f(279, 9);
-f(465, 15);
-f(496, 16);
-f(527, 17);
-f(961, 31);
-x = 32;
-f(0, 0);
-f(32, 1);
-f(64, 2);
-f(96, 3);
-f(128, 4);
-f(160, 5);
-f(224, 7);
-f(256, 8);
-f(288, 9);
-f(480, 15);
-f(512, 16);
-f(544, 17);
-f(992, 31);
-f(1024, 32);
-x = 33;
-f(0, 0);
-f(33, 1);
-f(66, 2);
-f(99, 3);
-f(132, 4);
-f(165, 5);
-f(231, 7);
-f(264, 8);
-f(297, 9);
-f(495, 15);
-f(528, 16);
-f(561, 17);
-f(1023, 31);
-f(1056, 32);
-f(1089, 33);
-x = 63;
-f(0, 0);
-f(63, 1);
-f(126, 2);
-f(189, 3);
-f(252, 4);
-f(315, 5);
-f(441, 7);
-f(504, 8);
-f(567, 9);
-f(945, 15);
-f(1008, 16);
-f(1071, 17);
-f(1953, 31);
-f(2016, 32);
-f(2079, 33);
-f(3969, 63);
-x = 64;
-f(0, 0);
-f(64, 1);
-f(128, 2);
-f(192, 3);
-f(256, 4);
-f(320, 5);
-f(448, 7);
-f(512, 8);
-f(576, 9);
-f(960, 15);
-f(1024, 16);
-f(1088, 17);
-f(1984, 31);
-f(2048, 32);
-f(2112, 33);
-f(4032, 63);
-f(4096, 64);
-x = 65;
-f(0, 0);
-f(65, 1);
-f(130, 2);
-f(195, 3);
-f(260, 4);
-f(325, 5);
-f(455, 7);
-f(520, 8);
-f(585, 9);
-f(975, 15);
-f(1040, 16);
-f(1105, 17);
-f(2015, 31);
-f(2080, 32);
-f(2145, 33);
-f(4095, 63);
-f(4160, 64);
-f(4225, 65);
-x = 127;
-f(0, 0);
-f(127, 1);
-f(254, 2);
-f(381, 3);
-f(508, 4);
-f(635, 5);
-f(889, 7);
-f(1016, 8);
-f(1143, 9);
-f(1905, 15);
-f(2032, 16);
-f(2159, 17);
-f(3937, 31);
-f(4064, 32);
-f(4191, 33);
-f(8001, 63);
-f(8128, 64);
-f(8255, 65);
-f(16129, 127);
-x = 128;
-f(0, 0);
-f(128, 1);
-f(256, 2);
-f(384, 3);
-f(512, 4);
-f(640, 5);
-f(896, 7);
-f(1024, 8);
-f(1152, 9);
-f(1920, 15);
-f(2048, 16);
-f(2176, 17);
-f(3968, 31);
-f(4096, 32);
-f(4224, 33);
-f(8064, 63);
-f(8192, 64);
-f(8320, 65);
-f(16256, 127);
-f(16384, 128);
-x = 129;
-f(0, 0);
-f(129, 1);
-f(258, 2);
-f(387, 3);
-f(516, 4);
-f(645, 5);
-f(903, 7);
-f(1032, 8);
-f(1161, 9);
-f(1935, 15);
-f(2064, 16);
-f(2193, 17);
-f(3999, 31);
-f(4128, 32);
-f(4257, 33);
-f(8127, 63);
-f(8256, 64);
-f(8385, 65);
-f(16383, 127);
-f(16512, 128);
-f(16641, 129);
-x = 255;
-f(0, 0);
-f(255, 1);
-f(510, 2);
-f(765, 3);
-f(1020, 4);
-f(1275, 5);
-f(1785, 7);
-f(2040, 8);
-f(2295, 9);
-f(3825, 15);
-f(4080, 16);
-f(4335, 17);
-f(7905, 31);
-f(8160, 32);
-f(8415, 33);
-f(16065, 63);
-f(16320, 64);
-f(16575, 65);
-f(32385, 127);
-f(32640, 128);
-f(32895, 129);
-f(65025, 255);
-x = 256;
-f(0, 0);
-f(256, 1);
-f(512, 2);
-f(768, 3);
-f(1024, 4);
-f(1280, 5);
-f(1792, 7);
-f(2048, 8);
-f(2304, 9);
-f(3840, 15);
-f(4096, 16);
-f(4352, 17);
-f(7936, 31);
-f(8192, 32);
-f(8448, 33);
-f(16128, 63);
-f(16384, 64);
-f(16640, 65);
-f(32512, 127);
-f(32768, 128);
-f(33024, 129);
-f(65280, 255);
-f(65536, 256);
-x = 257;
-f(0, 0);
-f(257, 1);
-f(514, 2);
-f(771, 3);
-f(1028, 4);
-f(1285, 5);
-f(1799, 7);
-f(2056, 8);
-f(2313, 9);
-f(3855, 15);
-f(4112, 16);
-f(4369, 17);
-f(7967, 31);
-f(8224, 32);
-f(8481, 33);
-f(16191, 63);
-f(16448, 64);
-f(16705, 65);
-f(32639, 127);
-f(32896, 128);
-f(33153, 129);
-f(65535, 255);
-f(65792, 256);
-f(66049, 257);
-x = 511;
-f(0, 0);
-f(511, 1);
-f(1022, 2);
-f(1533, 3);
-f(2044, 4);
-f(2555, 5);
-f(3577, 7);
-f(4088, 8);
-f(4599, 9);
-f(7665, 15);
-f(8176, 16);
-f(8687, 17);
-f(15841, 31);
-f(16352, 32);
-f(16863, 33);
-f(32193, 63);
-f(32704, 64);
-f(33215, 65);
-f(64897, 127);
-f(65408, 128);
-f(65919, 129);
-f(130305, 255);
-f(130816, 256);
-f(131327, 257);
-f(261121, 511);
-x = 512;
-f(0, 0);
-f(512, 1);
-f(1024, 2);
-f(1536, 3);
-f(2048, 4);
-f(2560, 5);
-f(3584, 7);
-f(4096, 8);
-f(4608, 9);
-f(7680, 15);
-f(8192, 16);
-f(8704, 17);
-f(15872, 31);
-f(16384, 32);
-f(16896, 33);
-f(32256, 63);
-f(32768, 64);
-f(33280, 65);
-f(65024, 127);
-f(65536, 128);
-f(66048, 129);
-f(130560, 255);
-f(131072, 256);
-f(131584, 257);
-f(261632, 511);
-f(262144, 512);
-x = 513;
-f(0, 0);
-f(513, 1);
-f(1026, 2);
-f(1539, 3);
-f(2052, 4);
-f(2565, 5);
-f(3591, 7);
-f(4104, 8);
-f(4617, 9);
-f(7695, 15);
-f(8208, 16);
-f(8721, 17);
-f(15903, 31);
-f(16416, 32);
-f(16929, 33);
-f(32319, 63);
-f(32832, 64);
-f(33345, 65);
-f(65151, 127);
-f(65664, 128);
-f(66177, 129);
-f(130815, 255);
-f(131328, 256);
-f(131841, 257);
-f(262143, 511);
-f(262656, 512);
-f(263169, 513);
-x = 1023;
-f(0, 0);
-f(1023, 1);
-f(2046, 2);
-f(3069, 3);
-f(4092, 4);
-f(5115, 5);
-f(7161, 7);
-f(8184, 8);
-f(9207, 9);
-f(15345, 15);
-f(16368, 16);
-f(17391, 17);
-f(31713, 31);
-f(32736, 32);
-f(33759, 33);
-f(64449, 63);
-f(65472, 64);
-f(66495, 65);
-f(129921, 127);
-f(130944, 128);
-f(131967, 129);
-f(260865, 255);
-f(261888, 256);
-f(262911, 257);
-f(522753, 511);
-f(523776, 512);
-f(524799, 513);
-f(1046529, 1023);
diff --git a/src/3rdparty/v8/test/mjsunit/mul-exhaustive-part10.js b/src/3rdparty/v8/test/mjsunit/mul-exhaustive-part10.js
deleted file mode 100644
index 166ec52..0000000
--- a/src/3rdparty/v8/test/mjsunit/mul-exhaustive-part10.js
+++ /dev/null
@@ -1,470 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var x;
-
-// Converts a number to string respecting -0.
-function stringify(n) {
- if ((1 / n) === -Infinity) return "-0";
- return String(n);
-}
-
-function f(expected, y) {
- function testEval(string, x, y) {
- var mulFunction = Function("x, y", "return " + string);
- return mulFunction(x, y);
- }
- function mulTest(expected, x, y) {
- assertEquals(expected, x * y);
- assertEquals(expected, testEval(stringify(x) + " * y", x, y));
- assertEquals(expected, testEval("x * " + stringify(y), x, y));
- assertEquals(expected, testEval(stringify(x) + " * " + stringify(y), x, y));
- }
- mulTest(expected, x, y);
- mulTest(-expected, -x, y);
- mulTest(-expected, x, -y);
- mulTest(expected, -x, -y);
- if (x === y) return; // Symmetric cases not necessary.
- mulTest(expected, y, x);
- mulTest(-expected, -y, x);
- mulTest(-expected, y, -x);
- mulTest(expected, -y, -x);
-}
-
-x = 4294967296;
-f(0, 0);
-f(4294967296, 1);
-f(8589934592, 2);
-f(12884901888, 3);
-f(17179869184, 4);
-f(21474836480, 5);
-f(30064771072, 7);
-f(34359738368, 8);
-f(38654705664, 9);
-f(64424509440, 15);
-f(68719476736, 16);
-f(73014444032, 17);
-f(133143986176, 31);
-f(137438953472, 32);
-f(141733920768, 33);
-f(270582939648, 63);
-f(274877906944, 64);
-f(279172874240, 65);
-f(545460846592, 127);
-f(549755813888, 128);
-f(554050781184, 129);
-f(1095216660480, 255);
-f(1099511627776, 256);
-f(1103806595072, 257);
-f(2194728288256, 511);
-f(2199023255552, 512);
-f(2203318222848, 513);
-f(4393751543808, 1023);
-f(4398046511104, 1024);
-f(4402341478400, 1025);
-f(8791798054912, 2047);
-f(8796093022208, 2048);
-f(8800387989504, 2049);
-f(17587891077120, 4095);
-f(17592186044416, 4096);
-f(17596481011712, 4097);
-f(35180077121536, 8191);
-f(35184372088832, 8192);
-f(35188667056128, 8193);
-f(70364449210368, 16383);
-f(70368744177664, 16384);
-f(70373039144960, 16385);
-f(140733193388032, 32767);
-f(140737488355328, 32768);
-f(140741783322624, 32769);
-f(281470681743360, 65535);
-f(281474976710656, 65536);
-f(281479271677952, 65537);
-f(562945658454016, 131071);
-f(562949953421312, 131072);
-f(562954248388608, 131073);
-f(1125895611875328, 262143);
-f(1125899906842624, 262144);
-f(1125904201809920, 262145);
-x = 4294967297;
-f(0, 0);
-f(4294967297, 1);
-f(8589934594, 2);
-f(12884901891, 3);
-f(17179869188, 4);
-f(21474836485, 5);
-f(30064771079, 7);
-f(34359738376, 8);
-f(38654705673, 9);
-f(64424509455, 15);
-f(68719476752, 16);
-f(73014444049, 17);
-f(133143986207, 31);
-f(137438953504, 32);
-f(141733920801, 33);
-f(270582939711, 63);
-f(274877907008, 64);
-f(279172874305, 65);
-f(545460846719, 127);
-f(549755814016, 128);
-f(554050781313, 129);
-f(1095216660735, 255);
-f(1099511628032, 256);
-f(1103806595329, 257);
-f(2194728288767, 511);
-f(2199023256064, 512);
-f(2203318223361, 513);
-f(4393751544831, 1023);
-f(4398046512128, 1024);
-f(4402341479425, 1025);
-f(8791798056959, 2047);
-f(8796093024256, 2048);
-f(8800387991553, 2049);
-f(17587891081215, 4095);
-f(17592186048512, 4096);
-f(17596481015809, 4097);
-f(35180077129727, 8191);
-f(35184372097024, 8192);
-f(35188667064321, 8193);
-f(70364449226751, 16383);
-f(70368744194048, 16384);
-f(70373039161345, 16385);
-f(140733193420799, 32767);
-f(140737488388096, 32768);
-f(140741783355393, 32769);
-f(281470681808895, 65535);
-f(281474976776192, 65536);
-f(281479271743489, 65537);
-f(562945658585087, 131071);
-f(562949953552384, 131072);
-f(562954248519681, 131073);
-f(1125895612137471, 262143);
-f(1125899907104768, 262144);
-f(1125904202072065, 262145);
-x = 8589934591;
-f(0, 0);
-f(8589934591, 1);
-f(17179869182, 2);
-f(25769803773, 3);
-f(34359738364, 4);
-f(42949672955, 5);
-f(60129542137, 7);
-f(68719476728, 8);
-f(77309411319, 9);
-f(128849018865, 15);
-f(137438953456, 16);
-f(146028888047, 17);
-f(266287972321, 31);
-f(274877906912, 32);
-f(283467841503, 33);
-f(541165879233, 63);
-f(549755813824, 64);
-f(558345748415, 65);
-f(1090921693057, 127);
-f(1099511627648, 128);
-f(1108101562239, 129);
-f(2190433320705, 255);
-f(2199023255296, 256);
-f(2207613189887, 257);
-f(4389456576001, 511);
-f(4398046510592, 512);
-f(4406636445183, 513);
-f(8787503086593, 1023);
-f(8796093021184, 1024);
-f(8804682955775, 1025);
-f(17583596107777, 2047);
-f(17592186042368, 2048);
-f(17600775976959, 2049);
-f(35175782150145, 4095);
-f(35184372084736, 4096);
-f(35192962019327, 4097);
-f(70360154234881, 8191);
-f(70368744169472, 8192);
-f(70377334104063, 8193);
-f(140728898404353, 16383);
-f(140737488338944, 16384);
-f(140746078273535, 16385);
-f(281466386743297, 32767);
-f(281474976677888, 32768);
-f(281483566612479, 32769);
-f(562941363421185, 65535);
-f(562949953355776, 65536);
-f(562958543290367, 65537);
-f(1125891316776961, 131071);
-f(1125899906711552, 131072);
-f(1125908496646143, 131073);
-x = 8589934592;
-f(0, 0);
-f(8589934592, 1);
-f(17179869184, 2);
-f(25769803776, 3);
-f(34359738368, 4);
-f(42949672960, 5);
-f(60129542144, 7);
-f(68719476736, 8);
-f(77309411328, 9);
-f(128849018880, 15);
-f(137438953472, 16);
-f(146028888064, 17);
-f(266287972352, 31);
-f(274877906944, 32);
-f(283467841536, 33);
-f(541165879296, 63);
-f(549755813888, 64);
-f(558345748480, 65);
-f(1090921693184, 127);
-f(1099511627776, 128);
-f(1108101562368, 129);
-f(2190433320960, 255);
-f(2199023255552, 256);
-f(2207613190144, 257);
-f(4389456576512, 511);
-f(4398046511104, 512);
-f(4406636445696, 513);
-f(8787503087616, 1023);
-f(8796093022208, 1024);
-f(8804682956800, 1025);
-f(17583596109824, 2047);
-f(17592186044416, 2048);
-f(17600775979008, 2049);
-f(35175782154240, 4095);
-f(35184372088832, 4096);
-f(35192962023424, 4097);
-f(70360154243072, 8191);
-f(70368744177664, 8192);
-f(70377334112256, 8193);
-f(140728898420736, 16383);
-f(140737488355328, 16384);
-f(140746078289920, 16385);
-f(281466386776064, 32767);
-f(281474976710656, 32768);
-f(281483566645248, 32769);
-f(562941363486720, 65535);
-f(562949953421312, 65536);
-f(562958543355904, 65537);
-f(1125891316908032, 131071);
-f(1125899906842624, 131072);
-f(1125908496777216, 131073);
-x = 8589934593;
-f(0, 0);
-f(8589934593, 1);
-f(17179869186, 2);
-f(25769803779, 3);
-f(34359738372, 4);
-f(42949672965, 5);
-f(60129542151, 7);
-f(68719476744, 8);
-f(77309411337, 9);
-f(128849018895, 15);
-f(137438953488, 16);
-f(146028888081, 17);
-f(266287972383, 31);
-f(274877906976, 32);
-f(283467841569, 33);
-f(541165879359, 63);
-f(549755813952, 64);
-f(558345748545, 65);
-f(1090921693311, 127);
-f(1099511627904, 128);
-f(1108101562497, 129);
-f(2190433321215, 255);
-f(2199023255808, 256);
-f(2207613190401, 257);
-f(4389456577023, 511);
-f(4398046511616, 512);
-f(4406636446209, 513);
-f(8787503088639, 1023);
-f(8796093023232, 1024);
-f(8804682957825, 1025);
-f(17583596111871, 2047);
-f(17592186046464, 2048);
-f(17600775981057, 2049);
-f(35175782158335, 4095);
-f(35184372092928, 4096);
-f(35192962027521, 4097);
-f(70360154251263, 8191);
-f(70368744185856, 8192);
-f(70377334120449, 8193);
-f(140728898437119, 16383);
-f(140737488371712, 16384);
-f(140746078306305, 16385);
-f(281466386808831, 32767);
-f(281474976743424, 32768);
-f(281483566678017, 32769);
-f(562941363552255, 65535);
-f(562949953486848, 65536);
-f(562958543421441, 65537);
-f(1125891317039103, 131071);
-f(1125899906973696, 131072);
-f(1125908496908289, 131073);
-x = 17179869183;
-f(0, 0);
-f(17179869183, 1);
-f(34359738366, 2);
-f(51539607549, 3);
-f(68719476732, 4);
-f(85899345915, 5);
-f(120259084281, 7);
-f(137438953464, 8);
-f(154618822647, 9);
-f(257698037745, 15);
-f(274877906928, 16);
-f(292057776111, 17);
-f(532575944673, 31);
-f(549755813856, 32);
-f(566935683039, 33);
-f(1082331758529, 63);
-f(1099511627712, 64);
-f(1116691496895, 65);
-f(2181843386241, 127);
-f(2199023255424, 128);
-f(2216203124607, 129);
-f(4380866641665, 255);
-f(4398046510848, 256);
-f(4415226380031, 257);
-f(8778913152513, 511);
-f(8796093021696, 512);
-f(8813272890879, 513);
-f(17575006174209, 1023);
-f(17592186043392, 1024);
-f(17609365912575, 1025);
-f(35167192217601, 2047);
-f(35184372086784, 2048);
-f(35201551955967, 2049);
-f(70351564304385, 4095);
-f(70368744173568, 4096);
-f(70385924042751, 4097);
-f(140720308477953, 8191);
-f(140737488347136, 8192);
-f(140754668216319, 8193);
-f(281457796825089, 16383);
-f(281474976694272, 16384);
-f(281492156563455, 16385);
-f(562932773519361, 32767);
-f(562949953388544, 32768);
-f(562967133257727, 32769);
-f(1125882726907905, 65535);
-f(1125899906777088, 65536);
-f(1125917086646271, 65537);
-x = 17179869184;
-f(0, 0);
-f(17179869184, 1);
-f(34359738368, 2);
-f(51539607552, 3);
-f(68719476736, 4);
-f(85899345920, 5);
-f(120259084288, 7);
-f(137438953472, 8);
-f(154618822656, 9);
-f(257698037760, 15);
-f(274877906944, 16);
-f(292057776128, 17);
-f(532575944704, 31);
-f(549755813888, 32);
-f(566935683072, 33);
-f(1082331758592, 63);
-f(1099511627776, 64);
-f(1116691496960, 65);
-f(2181843386368, 127);
-f(2199023255552, 128);
-f(2216203124736, 129);
-f(4380866641920, 255);
-f(4398046511104, 256);
-f(4415226380288, 257);
-f(8778913153024, 511);
-f(8796093022208, 512);
-f(8813272891392, 513);
-f(17575006175232, 1023);
-f(17592186044416, 1024);
-f(17609365913600, 1025);
-f(35167192219648, 2047);
-f(35184372088832, 2048);
-f(35201551958016, 2049);
-f(70351564308480, 4095);
-f(70368744177664, 4096);
-f(70385924046848, 4097);
-f(140720308486144, 8191);
-f(140737488355328, 8192);
-f(140754668224512, 8193);
-f(281457796841472, 16383);
-f(281474976710656, 16384);
-f(281492156579840, 16385);
-f(562932773552128, 32767);
-f(562949953421312, 32768);
-f(562967133290496, 32769);
-f(1125882726973440, 65535);
-f(1125899906842624, 65536);
-f(1125917086711808, 65537);
-x = 17179869185;
-f(0, 0);
-f(17179869185, 1);
-f(34359738370, 2);
-f(51539607555, 3);
-f(68719476740, 4);
-f(85899345925, 5);
-f(120259084295, 7);
-f(137438953480, 8);
-f(154618822665, 9);
-f(257698037775, 15);
-f(274877906960, 16);
-f(292057776145, 17);
-f(532575944735, 31);
-f(549755813920, 32);
-f(566935683105, 33);
-f(1082331758655, 63);
-f(1099511627840, 64);
-f(1116691497025, 65);
-f(2181843386495, 127);
-f(2199023255680, 128);
-f(2216203124865, 129);
-f(4380866642175, 255);
-f(4398046511360, 256);
-f(4415226380545, 257);
-f(8778913153535, 511);
-f(8796093022720, 512);
-f(8813272891905, 513);
-f(17575006176255, 1023);
-f(17592186045440, 1024);
-f(17609365914625, 1025);
-f(35167192221695, 2047);
-f(35184372090880, 2048);
-f(35201551960065, 2049);
-f(70351564312575, 4095);
-f(70368744181760, 4096);
-f(70385924050945, 4097);
-f(140720308494335, 8191);
-f(140737488363520, 8192);
-f(140754668232705, 8193);
-f(281457796857855, 16383);
-f(281474976727040, 16384);
-f(281492156596225, 16385);
-f(562932773584895, 32767);
-f(562949953454080, 32768);
-f(562967133323265, 32769);
-f(1125882727038975, 65535);
-f(1125899906908160, 65536);
-f(1125917086777345, 65537);
diff --git a/src/3rdparty/v8/test/mjsunit/mul-exhaustive-part2.js b/src/3rdparty/v8/test/mjsunit/mul-exhaustive-part2.js
deleted file mode 100644
index 4c4a123..0000000
--- a/src/3rdparty/v8/test/mjsunit/mul-exhaustive-part2.js
+++ /dev/null
@@ -1,525 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var x;
-
-// Converts a number to string respecting -0.
-function stringify(n) {
- if ((1 / n) === -Infinity) return "-0";
- return String(n);
-}
-
-function f(expected, y) {
- function testEval(string, x, y) {
- var mulFunction = Function("x, y", "return " + string);
- return mulFunction(x, y);
- }
- function mulTest(expected, x, y) {
- assertEquals(expected, x * y);
- assertEquals(expected, testEval(stringify(x) + " * y", x, y));
- assertEquals(expected, testEval("x * " + stringify(y), x, y));
- assertEquals(expected, testEval(stringify(x) + " * " + stringify(y), x, y));
- }
- mulTest(expected, x, y);
- mulTest(-expected, -x, y);
- mulTest(-expected, x, -y);
- mulTest(expected, -x, -y);
- if (x === y) return; // Symmetric cases not necessary.
- mulTest(expected, y, x);
- mulTest(-expected, -y, x);
- mulTest(-expected, y, -x);
- mulTest(expected, -y, -x);
-}
-
-x = 1024;
-f(0, 0);
-f(1024, 1);
-f(2048, 2);
-f(3072, 3);
-f(4096, 4);
-f(5120, 5);
-f(7168, 7);
-f(8192, 8);
-f(9216, 9);
-f(15360, 15);
-f(16384, 16);
-f(17408, 17);
-f(31744, 31);
-f(32768, 32);
-f(33792, 33);
-f(64512, 63);
-f(65536, 64);
-f(66560, 65);
-f(130048, 127);
-f(131072, 128);
-f(132096, 129);
-f(261120, 255);
-f(262144, 256);
-f(263168, 257);
-f(523264, 511);
-f(524288, 512);
-f(525312, 513);
-f(1047552, 1023);
-f(1048576, 1024);
-x = 1025;
-f(0, 0);
-f(1025, 1);
-f(2050, 2);
-f(3075, 3);
-f(4100, 4);
-f(5125, 5);
-f(7175, 7);
-f(8200, 8);
-f(9225, 9);
-f(15375, 15);
-f(16400, 16);
-f(17425, 17);
-f(31775, 31);
-f(32800, 32);
-f(33825, 33);
-f(64575, 63);
-f(65600, 64);
-f(66625, 65);
-f(130175, 127);
-f(131200, 128);
-f(132225, 129);
-f(261375, 255);
-f(262400, 256);
-f(263425, 257);
-f(523775, 511);
-f(524800, 512);
-f(525825, 513);
-f(1048575, 1023);
-f(1049600, 1024);
-f(1050625, 1025);
-x = 2047;
-f(0, 0);
-f(2047, 1);
-f(4094, 2);
-f(6141, 3);
-f(8188, 4);
-f(10235, 5);
-f(14329, 7);
-f(16376, 8);
-f(18423, 9);
-f(30705, 15);
-f(32752, 16);
-f(34799, 17);
-f(63457, 31);
-f(65504, 32);
-f(67551, 33);
-f(128961, 63);
-f(131008, 64);
-f(133055, 65);
-f(259969, 127);
-f(262016, 128);
-f(264063, 129);
-f(521985, 255);
-f(524032, 256);
-f(526079, 257);
-f(1046017, 511);
-f(1048064, 512);
-f(1050111, 513);
-f(2094081, 1023);
-f(2096128, 1024);
-f(2098175, 1025);
-f(4190209, 2047);
-x = 2048;
-f(0, 0);
-f(2048, 1);
-f(4096, 2);
-f(6144, 3);
-f(8192, 4);
-f(10240, 5);
-f(14336, 7);
-f(16384, 8);
-f(18432, 9);
-f(30720, 15);
-f(32768, 16);
-f(34816, 17);
-f(63488, 31);
-f(65536, 32);
-f(67584, 33);
-f(129024, 63);
-f(131072, 64);
-f(133120, 65);
-f(260096, 127);
-f(262144, 128);
-f(264192, 129);
-f(522240, 255);
-f(524288, 256);
-f(526336, 257);
-f(1046528, 511);
-f(1048576, 512);
-f(1050624, 513);
-f(2095104, 1023);
-f(2097152, 1024);
-f(2099200, 1025);
-f(4192256, 2047);
-f(4194304, 2048);
-x = 2049;
-f(0, 0);
-f(2049, 1);
-f(4098, 2);
-f(6147, 3);
-f(8196, 4);
-f(10245, 5);
-f(14343, 7);
-f(16392, 8);
-f(18441, 9);
-f(30735, 15);
-f(32784, 16);
-f(34833, 17);
-f(63519, 31);
-f(65568, 32);
-f(67617, 33);
-f(129087, 63);
-f(131136, 64);
-f(133185, 65);
-f(260223, 127);
-f(262272, 128);
-f(264321, 129);
-f(522495, 255);
-f(524544, 256);
-f(526593, 257);
-f(1047039, 511);
-f(1049088, 512);
-f(1051137, 513);
-f(2096127, 1023);
-f(2098176, 1024);
-f(2100225, 1025);
-f(4194303, 2047);
-f(4196352, 2048);
-f(4198401, 2049);
-x = 4095;
-f(0, 0);
-f(4095, 1);
-f(8190, 2);
-f(12285, 3);
-f(16380, 4);
-f(20475, 5);
-f(28665, 7);
-f(32760, 8);
-f(36855, 9);
-f(61425, 15);
-f(65520, 16);
-f(69615, 17);
-f(126945, 31);
-f(131040, 32);
-f(135135, 33);
-f(257985, 63);
-f(262080, 64);
-f(266175, 65);
-f(520065, 127);
-f(524160, 128);
-f(528255, 129);
-f(1044225, 255);
-f(1048320, 256);
-f(1052415, 257);
-f(2092545, 511);
-f(2096640, 512);
-f(2100735, 513);
-f(4189185, 1023);
-f(4193280, 1024);
-f(4197375, 1025);
-f(8382465, 2047);
-f(8386560, 2048);
-f(8390655, 2049);
-f(16769025, 4095);
-x = 4096;
-f(0, 0);
-f(4096, 1);
-f(8192, 2);
-f(12288, 3);
-f(16384, 4);
-f(20480, 5);
-f(28672, 7);
-f(32768, 8);
-f(36864, 9);
-f(61440, 15);
-f(65536, 16);
-f(69632, 17);
-f(126976, 31);
-f(131072, 32);
-f(135168, 33);
-f(258048, 63);
-f(262144, 64);
-f(266240, 65);
-f(520192, 127);
-f(524288, 128);
-f(528384, 129);
-f(1044480, 255);
-f(1048576, 256);
-f(1052672, 257);
-f(2093056, 511);
-f(2097152, 512);
-f(2101248, 513);
-f(4190208, 1023);
-f(4194304, 1024);
-f(4198400, 1025);
-f(8384512, 2047);
-f(8388608, 2048);
-f(8392704, 2049);
-f(16773120, 4095);
-f(16777216, 4096);
-x = 4097;
-f(0, 0);
-f(4097, 1);
-f(8194, 2);
-f(12291, 3);
-f(16388, 4);
-f(20485, 5);
-f(28679, 7);
-f(32776, 8);
-f(36873, 9);
-f(61455, 15);
-f(65552, 16);
-f(69649, 17);
-f(127007, 31);
-f(131104, 32);
-f(135201, 33);
-f(258111, 63);
-f(262208, 64);
-f(266305, 65);
-f(520319, 127);
-f(524416, 128);
-f(528513, 129);
-f(1044735, 255);
-f(1048832, 256);
-f(1052929, 257);
-f(2093567, 511);
-f(2097664, 512);
-f(2101761, 513);
-f(4191231, 1023);
-f(4195328, 1024);
-f(4199425, 1025);
-f(8386559, 2047);
-f(8390656, 2048);
-f(8394753, 2049);
-f(16777215, 4095);
-f(16781312, 4096);
-f(16785409, 4097);
-x = 8191;
-f(0, 0);
-f(8191, 1);
-f(16382, 2);
-f(24573, 3);
-f(32764, 4);
-f(40955, 5);
-f(57337, 7);
-f(65528, 8);
-f(73719, 9);
-f(122865, 15);
-f(131056, 16);
-f(139247, 17);
-f(253921, 31);
-f(262112, 32);
-f(270303, 33);
-f(516033, 63);
-f(524224, 64);
-f(532415, 65);
-f(1040257, 127);
-f(1048448, 128);
-f(1056639, 129);
-f(2088705, 255);
-f(2096896, 256);
-f(2105087, 257);
-f(4185601, 511);
-f(4193792, 512);
-f(4201983, 513);
-f(8379393, 1023);
-f(8387584, 1024);
-f(8395775, 1025);
-f(16766977, 2047);
-f(16775168, 2048);
-f(16783359, 2049);
-f(33542145, 4095);
-f(33550336, 4096);
-f(33558527, 4097);
-f(67092481, 8191);
-x = 8192;
-f(0, 0);
-f(8192, 1);
-f(16384, 2);
-f(24576, 3);
-f(32768, 4);
-f(40960, 5);
-f(57344, 7);
-f(65536, 8);
-f(73728, 9);
-f(122880, 15);
-f(131072, 16);
-f(139264, 17);
-f(253952, 31);
-f(262144, 32);
-f(270336, 33);
-f(516096, 63);
-f(524288, 64);
-f(532480, 65);
-f(1040384, 127);
-f(1048576, 128);
-f(1056768, 129);
-f(2088960, 255);
-f(2097152, 256);
-f(2105344, 257);
-f(4186112, 511);
-f(4194304, 512);
-f(4202496, 513);
-f(8380416, 1023);
-f(8388608, 1024);
-f(8396800, 1025);
-f(16769024, 2047);
-f(16777216, 2048);
-f(16785408, 2049);
-f(33546240, 4095);
-f(33554432, 4096);
-f(33562624, 4097);
-f(67100672, 8191);
-f(67108864, 8192);
-x = 8193;
-f(0, 0);
-f(8193, 1);
-f(16386, 2);
-f(24579, 3);
-f(32772, 4);
-f(40965, 5);
-f(57351, 7);
-f(65544, 8);
-f(73737, 9);
-f(122895, 15);
-f(131088, 16);
-f(139281, 17);
-f(253983, 31);
-f(262176, 32);
-f(270369, 33);
-f(516159, 63);
-f(524352, 64);
-f(532545, 65);
-f(1040511, 127);
-f(1048704, 128);
-f(1056897, 129);
-f(2089215, 255);
-f(2097408, 256);
-f(2105601, 257);
-f(4186623, 511);
-f(4194816, 512);
-f(4203009, 513);
-f(8381439, 1023);
-f(8389632, 1024);
-f(8397825, 1025);
-f(16771071, 2047);
-f(16779264, 2048);
-f(16787457, 2049);
-f(33550335, 4095);
-f(33558528, 4096);
-f(33566721, 4097);
-f(67108863, 8191);
-f(67117056, 8192);
-f(67125249, 8193);
-x = 16383;
-f(0, 0);
-f(16383, 1);
-f(32766, 2);
-f(49149, 3);
-f(65532, 4);
-f(81915, 5);
-f(114681, 7);
-f(131064, 8);
-f(147447, 9);
-f(245745, 15);
-f(262128, 16);
-f(278511, 17);
-f(507873, 31);
-f(524256, 32);
-f(540639, 33);
-f(1032129, 63);
-f(1048512, 64);
-f(1064895, 65);
-f(2080641, 127);
-f(2097024, 128);
-f(2113407, 129);
-f(4177665, 255);
-f(4194048, 256);
-f(4210431, 257);
-f(8371713, 511);
-f(8388096, 512);
-f(8404479, 513);
-f(16759809, 1023);
-f(16776192, 1024);
-f(16792575, 1025);
-f(33536001, 2047);
-f(33552384, 2048);
-f(33568767, 2049);
-f(67088385, 4095);
-f(67104768, 4096);
-f(67121151, 4097);
-f(134193153, 8191);
-f(134209536, 8192);
-f(134225919, 8193);
-f(268402689, 16383);
-x = 16384;
-f(0, 0);
-f(16384, 1);
-f(32768, 2);
-f(49152, 3);
-f(65536, 4);
-f(81920, 5);
-f(114688, 7);
-f(131072, 8);
-f(147456, 9);
-f(245760, 15);
-f(262144, 16);
-f(278528, 17);
-f(507904, 31);
-f(524288, 32);
-f(540672, 33);
-f(1032192, 63);
-f(1048576, 64);
-f(1064960, 65);
-f(2080768, 127);
-f(2097152, 128);
-f(2113536, 129);
-f(4177920, 255);
-f(4194304, 256);
-f(4210688, 257);
-f(8372224, 511);
-f(8388608, 512);
-f(8404992, 513);
-f(16760832, 1023);
-f(16777216, 1024);
-f(16793600, 1025);
-f(33538048, 2047);
-f(33554432, 2048);
-f(33570816, 2049);
-f(67092480, 4095);
-f(67108864, 4096);
-f(67125248, 4097);
-f(134201344, 8191);
-f(134217728, 8192);
-f(134234112, 8193);
-f(268419072, 16383);
-f(268435456, 16384);
diff --git a/src/3rdparty/v8/test/mjsunit/mul-exhaustive-part3.js b/src/3rdparty/v8/test/mjsunit/mul-exhaustive-part3.js
deleted file mode 100644
index 06e41a1..0000000
--- a/src/3rdparty/v8/test/mjsunit/mul-exhaustive-part3.js
+++ /dev/null
@@ -1,532 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var x;
-
-// Converts a number to string respecting -0.
-function stringify(n) {
- if ((1 / n) === -Infinity) return "-0";
- return String(n);
-}
-
-function f(expected, y) {
- function testEval(string, x, y) {
- var mulFunction = Function("x, y", "return " + string);
- return mulFunction(x, y);
- }
- function mulTest(expected, x, y) {
- assertEquals(expected, x * y);
- assertEquals(expected, testEval(stringify(x) + " * y", x, y));
- assertEquals(expected, testEval("x * " + stringify(y), x, y));
- assertEquals(expected, testEval(stringify(x) + " * " + stringify(y), x, y));
- }
- mulTest(expected, x, y);
- mulTest(-expected, -x, y);
- mulTest(-expected, x, -y);
- mulTest(expected, -x, -y);
- if (x === y) return; // Symmetric cases not necessary.
- mulTest(expected, y, x);
- mulTest(-expected, -y, x);
- mulTest(-expected, y, -x);
- mulTest(expected, -y, -x);
-}
-
-x = 16385;
-f(0, 0);
-f(16385, 1);
-f(32770, 2);
-f(49155, 3);
-f(65540, 4);
-f(81925, 5);
-f(114695, 7);
-f(131080, 8);
-f(147465, 9);
-f(245775, 15);
-f(262160, 16);
-f(278545, 17);
-f(507935, 31);
-f(524320, 32);
-f(540705, 33);
-f(1032255, 63);
-f(1048640, 64);
-f(1065025, 65);
-f(2080895, 127);
-f(2097280, 128);
-f(2113665, 129);
-f(4178175, 255);
-f(4194560, 256);
-f(4210945, 257);
-f(8372735, 511);
-f(8389120, 512);
-f(8405505, 513);
-f(16761855, 1023);
-f(16778240, 1024);
-f(16794625, 1025);
-f(33540095, 2047);
-f(33556480, 2048);
-f(33572865, 2049);
-f(67096575, 4095);
-f(67112960, 4096);
-f(67129345, 4097);
-f(134209535, 8191);
-f(134225920, 8192);
-f(134242305, 8193);
-f(268435455, 16383);
-f(268451840, 16384);
-f(268468225, 16385);
-x = 32767;
-f(0, 0);
-f(32767, 1);
-f(65534, 2);
-f(98301, 3);
-f(131068, 4);
-f(163835, 5);
-f(229369, 7);
-f(262136, 8);
-f(294903, 9);
-f(491505, 15);
-f(524272, 16);
-f(557039, 17);
-f(1015777, 31);
-f(1048544, 32);
-f(1081311, 33);
-f(2064321, 63);
-f(2097088, 64);
-f(2129855, 65);
-f(4161409, 127);
-f(4194176, 128);
-f(4226943, 129);
-f(8355585, 255);
-f(8388352, 256);
-f(8421119, 257);
-f(16743937, 511);
-f(16776704, 512);
-f(16809471, 513);
-f(33520641, 1023);
-f(33553408, 1024);
-f(33586175, 1025);
-f(67074049, 2047);
-f(67106816, 2048);
-f(67139583, 2049);
-f(134180865, 4095);
-f(134213632, 4096);
-f(134246399, 4097);
-f(268394497, 8191);
-f(268427264, 8192);
-f(268460031, 8193);
-f(536821761, 16383);
-f(536854528, 16384);
-f(536887295, 16385);
-f(1073676289, 32767);
-x = 32768;
-f(0, 0);
-f(32768, 1);
-f(65536, 2);
-f(98304, 3);
-f(131072, 4);
-f(163840, 5);
-f(229376, 7);
-f(262144, 8);
-f(294912, 9);
-f(491520, 15);
-f(524288, 16);
-f(557056, 17);
-f(1015808, 31);
-f(1048576, 32);
-f(1081344, 33);
-f(2064384, 63);
-f(2097152, 64);
-f(2129920, 65);
-f(4161536, 127);
-f(4194304, 128);
-f(4227072, 129);
-f(8355840, 255);
-f(8388608, 256);
-f(8421376, 257);
-f(16744448, 511);
-f(16777216, 512);
-f(16809984, 513);
-f(33521664, 1023);
-f(33554432, 1024);
-f(33587200, 1025);
-f(67076096, 2047);
-f(67108864, 2048);
-f(67141632, 2049);
-f(134184960, 4095);
-f(134217728, 4096);
-f(134250496, 4097);
-f(268402688, 8191);
-f(268435456, 8192);
-f(268468224, 8193);
-f(536838144, 16383);
-f(536870912, 16384);
-f(536903680, 16385);
-f(1073709056, 32767);
-f(1073741824, 32768);
-x = 32769;
-f(0, 0);
-f(32769, 1);
-f(65538, 2);
-f(98307, 3);
-f(131076, 4);
-f(163845, 5);
-f(229383, 7);
-f(262152, 8);
-f(294921, 9);
-f(491535, 15);
-f(524304, 16);
-f(557073, 17);
-f(1015839, 31);
-f(1048608, 32);
-f(1081377, 33);
-f(2064447, 63);
-f(2097216, 64);
-f(2129985, 65);
-f(4161663, 127);
-f(4194432, 128);
-f(4227201, 129);
-f(8356095, 255);
-f(8388864, 256);
-f(8421633, 257);
-f(16744959, 511);
-f(16777728, 512);
-f(16810497, 513);
-f(33522687, 1023);
-f(33555456, 1024);
-f(33588225, 1025);
-f(67078143, 2047);
-f(67110912, 2048);
-f(67143681, 2049);
-f(134189055, 4095);
-f(134221824, 4096);
-f(134254593, 4097);
-f(268410879, 8191);
-f(268443648, 8192);
-f(268476417, 8193);
-f(536854527, 16383);
-f(536887296, 16384);
-f(536920065, 16385);
-f(1073741823, 32767);
-f(1073774592, 32768);
-f(1073807361, 32769);
-x = 65535;
-f(0, 0);
-f(65535, 1);
-f(131070, 2);
-f(196605, 3);
-f(262140, 4);
-f(327675, 5);
-f(458745, 7);
-f(524280, 8);
-f(589815, 9);
-f(983025, 15);
-f(1048560, 16);
-f(1114095, 17);
-f(2031585, 31);
-f(2097120, 32);
-f(2162655, 33);
-f(4128705, 63);
-f(4194240, 64);
-f(4259775, 65);
-f(8322945, 127);
-f(8388480, 128);
-f(8454015, 129);
-f(16711425, 255);
-f(16776960, 256);
-f(16842495, 257);
-f(33488385, 511);
-f(33553920, 512);
-f(33619455, 513);
-f(67042305, 1023);
-f(67107840, 1024);
-f(67173375, 1025);
-f(134150145, 2047);
-f(134215680, 2048);
-f(134281215, 2049);
-f(268365825, 4095);
-f(268431360, 4096);
-f(268496895, 4097);
-f(536797185, 8191);
-f(536862720, 8192);
-f(536928255, 8193);
-f(1073659905, 16383);
-f(1073725440, 16384);
-f(1073790975, 16385);
-f(2147385345, 32767);
-f(2147450880, 32768);
-f(2147516415, 32769);
-f(4294836225, 65535);
-x = 65536;
-f(0, 0);
-f(65536, 1);
-f(131072, 2);
-f(196608, 3);
-f(262144, 4);
-f(327680, 5);
-f(458752, 7);
-f(524288, 8);
-f(589824, 9);
-f(983040, 15);
-f(1048576, 16);
-f(1114112, 17);
-f(2031616, 31);
-f(2097152, 32);
-f(2162688, 33);
-f(4128768, 63);
-f(4194304, 64);
-f(4259840, 65);
-f(8323072, 127);
-f(8388608, 128);
-f(8454144, 129);
-f(16711680, 255);
-f(16777216, 256);
-f(16842752, 257);
-f(33488896, 511);
-f(33554432, 512);
-f(33619968, 513);
-f(67043328, 1023);
-f(67108864, 1024);
-f(67174400, 1025);
-f(134152192, 2047);
-f(134217728, 2048);
-f(134283264, 2049);
-f(268369920, 4095);
-f(268435456, 4096);
-f(268500992, 4097);
-f(536805376, 8191);
-f(536870912, 8192);
-f(536936448, 8193);
-f(1073676288, 16383);
-f(1073741824, 16384);
-f(1073807360, 16385);
-f(2147418112, 32767);
-f(2147483648, 32768);
-f(2147549184, 32769);
-f(4294901760, 65535);
-f(4294967296, 65536);
-x = 65537;
-f(0, 0);
-f(65537, 1);
-f(131074, 2);
-f(196611, 3);
-f(262148, 4);
-f(327685, 5);
-f(458759, 7);
-f(524296, 8);
-f(589833, 9);
-f(983055, 15);
-f(1048592, 16);
-f(1114129, 17);
-f(2031647, 31);
-f(2097184, 32);
-f(2162721, 33);
-f(4128831, 63);
-f(4194368, 64);
-f(4259905, 65);
-f(8323199, 127);
-f(8388736, 128);
-f(8454273, 129);
-f(16711935, 255);
-f(16777472, 256);
-f(16843009, 257);
-f(33489407, 511);
-f(33554944, 512);
-f(33620481, 513);
-f(67044351, 1023);
-f(67109888, 1024);
-f(67175425, 1025);
-f(134154239, 2047);
-f(134219776, 2048);
-f(134285313, 2049);
-f(268374015, 4095);
-f(268439552, 4096);
-f(268505089, 4097);
-f(536813567, 8191);
-f(536879104, 8192);
-f(536944641, 8193);
-f(1073692671, 16383);
-f(1073758208, 16384);
-f(1073823745, 16385);
-f(2147450879, 32767);
-f(2147516416, 32768);
-f(2147581953, 32769);
-f(4294967295, 65535);
-f(4295032832, 65536);
-f(4295098369, 65537);
-x = 131071;
-f(0, 0);
-f(131071, 1);
-f(262142, 2);
-f(393213, 3);
-f(524284, 4);
-f(655355, 5);
-f(917497, 7);
-f(1048568, 8);
-f(1179639, 9);
-f(1966065, 15);
-f(2097136, 16);
-f(2228207, 17);
-f(4063201, 31);
-f(4194272, 32);
-f(4325343, 33);
-f(8257473, 63);
-f(8388544, 64);
-f(8519615, 65);
-f(16646017, 127);
-f(16777088, 128);
-f(16908159, 129);
-f(33423105, 255);
-f(33554176, 256);
-f(33685247, 257);
-f(66977281, 511);
-f(67108352, 512);
-f(67239423, 513);
-f(134085633, 1023);
-f(134216704, 1024);
-f(134347775, 1025);
-f(268302337, 2047);
-f(268433408, 2048);
-f(268564479, 2049);
-f(536735745, 4095);
-f(536866816, 4096);
-f(536997887, 4097);
-f(1073602561, 8191);
-f(1073733632, 8192);
-f(1073864703, 8193);
-f(2147336193, 16383);
-f(2147467264, 16384);
-f(2147598335, 16385);
-f(4294803457, 32767);
-f(4294934528, 32768);
-f(4295065599, 32769);
-f(8589737985, 65535);
-f(8589869056, 65536);
-f(8590000127, 65537);
-f(17179607041, 131071);
-x = 131072;
-f(0, 0);
-f(131072, 1);
-f(262144, 2);
-f(393216, 3);
-f(524288, 4);
-f(655360, 5);
-f(917504, 7);
-f(1048576, 8);
-f(1179648, 9);
-f(1966080, 15);
-f(2097152, 16);
-f(2228224, 17);
-f(4063232, 31);
-f(4194304, 32);
-f(4325376, 33);
-f(8257536, 63);
-f(8388608, 64);
-f(8519680, 65);
-f(16646144, 127);
-f(16777216, 128);
-f(16908288, 129);
-f(33423360, 255);
-f(33554432, 256);
-f(33685504, 257);
-f(66977792, 511);
-f(67108864, 512);
-f(67239936, 513);
-f(134086656, 1023);
-f(134217728, 1024);
-f(134348800, 1025);
-f(268304384, 2047);
-f(268435456, 2048);
-f(268566528, 2049);
-f(536739840, 4095);
-f(536870912, 4096);
-f(537001984, 4097);
-f(1073610752, 8191);
-f(1073741824, 8192);
-f(1073872896, 8193);
-f(2147352576, 16383);
-f(2147483648, 16384);
-f(2147614720, 16385);
-f(4294836224, 32767);
-f(4294967296, 32768);
-f(4295098368, 32769);
-f(8589803520, 65535);
-f(8589934592, 65536);
-f(8590065664, 65537);
-f(17179738112, 131071);
-f(17179869184, 131072);
-x = 131073;
-f(0, 0);
-f(131073, 1);
-f(262146, 2);
-f(393219, 3);
-f(524292, 4);
-f(655365, 5);
-f(917511, 7);
-f(1048584, 8);
-f(1179657, 9);
-f(1966095, 15);
-f(2097168, 16);
-f(2228241, 17);
-f(4063263, 31);
-f(4194336, 32);
-f(4325409, 33);
-f(8257599, 63);
-f(8388672, 64);
-f(8519745, 65);
-f(16646271, 127);
-f(16777344, 128);
-f(16908417, 129);
-f(33423615, 255);
-f(33554688, 256);
-f(33685761, 257);
-f(66978303, 511);
-f(67109376, 512);
-f(67240449, 513);
-f(134087679, 1023);
-f(134218752, 1024);
-f(134349825, 1025);
-f(268306431, 2047);
-f(268437504, 2048);
-f(268568577, 2049);
-f(536743935, 4095);
-f(536875008, 4096);
-f(537006081, 4097);
-f(1073618943, 8191);
-f(1073750016, 8192);
-f(1073881089, 8193);
-f(2147368959, 16383);
-f(2147500032, 16384);
-f(2147631105, 16385);
-f(4294868991, 32767);
-f(4295000064, 32768);
-f(4295131137, 32769);
-f(8589869055, 65535);
-f(8590000128, 65536);
-f(8590131201, 65537);
-f(17179869183, 131071);
-f(17180000256, 131072);
-f(17180131329, 131073);
diff --git a/src/3rdparty/v8/test/mjsunit/mul-exhaustive-part4.js b/src/3rdparty/v8/test/mjsunit/mul-exhaustive-part4.js
deleted file mode 100644
index de9f983..0000000
--- a/src/3rdparty/v8/test/mjsunit/mul-exhaustive-part4.js
+++ /dev/null
@@ -1,509 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var x;
-
-// Converts a number to string respecting -0.
-function stringify(n) {
- if ((1 / n) === -Infinity) return "-0";
- return String(n);
-}
-
-function f(expected, y) {
- function testEval(string, x, y) {
- var mulFunction = Function("x, y", "return " + string);
- return mulFunction(x, y);
- }
- function mulTest(expected, x, y) {
- assertEquals(expected, x * y);
- assertEquals(expected, testEval(stringify(x) + " * y", x, y));
- assertEquals(expected, testEval("x * " + stringify(y), x, y));
- assertEquals(expected, testEval(stringify(x) + " * " + stringify(y), x, y));
- }
- mulTest(expected, x, y);
- mulTest(-expected, -x, y);
- mulTest(-expected, x, -y);
- mulTest(expected, -x, -y);
- if (x === y) return; // Symmetric cases not necessary.
- mulTest(expected, y, x);
- mulTest(-expected, -y, x);
- mulTest(-expected, y, -x);
- mulTest(expected, -y, -x);
-}
-
-x = 262143;
-f(0, 0);
-f(262143, 1);
-f(524286, 2);
-f(786429, 3);
-f(1048572, 4);
-f(1310715, 5);
-f(1835001, 7);
-f(2097144, 8);
-f(2359287, 9);
-f(3932145, 15);
-f(4194288, 16);
-f(4456431, 17);
-f(8126433, 31);
-f(8388576, 32);
-f(8650719, 33);
-f(16515009, 63);
-f(16777152, 64);
-f(17039295, 65);
-f(33292161, 127);
-f(33554304, 128);
-f(33816447, 129);
-f(66846465, 255);
-f(67108608, 256);
-f(67370751, 257);
-f(133955073, 511);
-f(134217216, 512);
-f(134479359, 513);
-f(268172289, 1023);
-f(268434432, 1024);
-f(268696575, 1025);
-f(536606721, 2047);
-f(536868864, 2048);
-f(537131007, 2049);
-f(1073475585, 4095);
-f(1073737728, 4096);
-f(1073999871, 4097);
-f(2147213313, 8191);
-f(2147475456, 8192);
-f(2147737599, 8193);
-f(4294688769, 16383);
-f(4294950912, 16384);
-f(4295213055, 16385);
-f(8589639681, 32767);
-f(8589901824, 32768);
-f(8590163967, 32769);
-f(17179541505, 65535);
-f(17179803648, 65536);
-f(17180065791, 65537);
-f(34359345153, 131071);
-f(34359607296, 131072);
-f(34359869439, 131073);
-f(68718952449, 262143);
-x = 262144;
-f(0, 0);
-f(262144, 1);
-f(524288, 2);
-f(786432, 3);
-f(1048576, 4);
-f(1310720, 5);
-f(1835008, 7);
-f(2097152, 8);
-f(2359296, 9);
-f(3932160, 15);
-f(4194304, 16);
-f(4456448, 17);
-f(8126464, 31);
-f(8388608, 32);
-f(8650752, 33);
-f(16515072, 63);
-f(16777216, 64);
-f(17039360, 65);
-f(33292288, 127);
-f(33554432, 128);
-f(33816576, 129);
-f(66846720, 255);
-f(67108864, 256);
-f(67371008, 257);
-f(133955584, 511);
-f(134217728, 512);
-f(134479872, 513);
-f(268173312, 1023);
-f(268435456, 1024);
-f(268697600, 1025);
-f(536608768, 2047);
-f(536870912, 2048);
-f(537133056, 2049);
-f(1073479680, 4095);
-f(1073741824, 4096);
-f(1074003968, 4097);
-f(2147221504, 8191);
-f(2147483648, 8192);
-f(2147745792, 8193);
-f(4294705152, 16383);
-f(4294967296, 16384);
-f(4295229440, 16385);
-f(8589672448, 32767);
-f(8589934592, 32768);
-f(8590196736, 32769);
-f(17179607040, 65535);
-f(17179869184, 65536);
-f(17180131328, 65537);
-f(34359476224, 131071);
-f(34359738368, 131072);
-f(34360000512, 131073);
-f(68719214592, 262143);
-f(68719476736, 262144);
-x = 262145;
-f(0, 0);
-f(262145, 1);
-f(524290, 2);
-f(786435, 3);
-f(1048580, 4);
-f(1310725, 5);
-f(1835015, 7);
-f(2097160, 8);
-f(2359305, 9);
-f(3932175, 15);
-f(4194320, 16);
-f(4456465, 17);
-f(8126495, 31);
-f(8388640, 32);
-f(8650785, 33);
-f(16515135, 63);
-f(16777280, 64);
-f(17039425, 65);
-f(33292415, 127);
-f(33554560, 128);
-f(33816705, 129);
-f(66846975, 255);
-f(67109120, 256);
-f(67371265, 257);
-f(133956095, 511);
-f(134218240, 512);
-f(134480385, 513);
-f(268174335, 1023);
-f(268436480, 1024);
-f(268698625, 1025);
-f(536610815, 2047);
-f(536872960, 2048);
-f(537135105, 2049);
-f(1073483775, 4095);
-f(1073745920, 4096);
-f(1074008065, 4097);
-f(2147229695, 8191);
-f(2147491840, 8192);
-f(2147753985, 8193);
-f(4294721535, 16383);
-f(4294983680, 16384);
-f(4295245825, 16385);
-f(8589705215, 32767);
-f(8589967360, 32768);
-f(8590229505, 32769);
-f(17179672575, 65535);
-f(17179934720, 65536);
-f(17180196865, 65537);
-f(34359607295, 131071);
-f(34359869440, 131072);
-f(34360131585, 131073);
-f(68719476735, 262143);
-f(68719738880, 262144);
-f(68720001025, 262145);
-x = 524287;
-f(0, 0);
-f(524287, 1);
-f(1048574, 2);
-f(1572861, 3);
-f(2097148, 4);
-f(2621435, 5);
-f(3670009, 7);
-f(4194296, 8);
-f(4718583, 9);
-f(7864305, 15);
-f(8388592, 16);
-f(8912879, 17);
-f(16252897, 31);
-f(16777184, 32);
-f(17301471, 33);
-f(33030081, 63);
-f(33554368, 64);
-f(34078655, 65);
-f(66584449, 127);
-f(67108736, 128);
-f(67633023, 129);
-f(133693185, 255);
-f(134217472, 256);
-f(134741759, 257);
-f(267910657, 511);
-f(268434944, 512);
-f(268959231, 513);
-f(536345601, 1023);
-f(536869888, 1024);
-f(537394175, 1025);
-f(1073215489, 2047);
-f(1073739776, 2048);
-f(1074264063, 2049);
-f(2146955265, 4095);
-f(2147479552, 4096);
-f(2148003839, 4097);
-f(4294434817, 8191);
-f(4294959104, 8192);
-f(4295483391, 8193);
-f(8589393921, 16383);
-f(8589918208, 16384);
-f(8590442495, 16385);
-f(17179312129, 32767);
-f(17179836416, 32768);
-f(17180360703, 32769);
-f(34359148545, 65535);
-f(34359672832, 65536);
-f(34360197119, 65537);
-f(68718821377, 131071);
-f(68719345664, 131072);
-f(68719869951, 131073);
-f(137438167041, 262143);
-f(137438691328, 262144);
-f(137439215615, 262145);
-f(274876858369, 524287);
-x = 524288;
-f(0, 0);
-f(524288, 1);
-f(1048576, 2);
-f(1572864, 3);
-f(2097152, 4);
-f(2621440, 5);
-f(3670016, 7);
-f(4194304, 8);
-f(4718592, 9);
-f(7864320, 15);
-f(8388608, 16);
-f(8912896, 17);
-f(16252928, 31);
-f(16777216, 32);
-f(17301504, 33);
-f(33030144, 63);
-f(33554432, 64);
-f(34078720, 65);
-f(66584576, 127);
-f(67108864, 128);
-f(67633152, 129);
-f(133693440, 255);
-f(134217728, 256);
-f(134742016, 257);
-f(267911168, 511);
-f(268435456, 512);
-f(268959744, 513);
-f(536346624, 1023);
-f(536870912, 1024);
-f(537395200, 1025);
-f(1073217536, 2047);
-f(1073741824, 2048);
-f(1074266112, 2049);
-f(2146959360, 4095);
-f(2147483648, 4096);
-f(2148007936, 4097);
-f(4294443008, 8191);
-f(4294967296, 8192);
-f(4295491584, 8193);
-f(8589410304, 16383);
-f(8589934592, 16384);
-f(8590458880, 16385);
-f(17179344896, 32767);
-f(17179869184, 32768);
-f(17180393472, 32769);
-f(34359214080, 65535);
-f(34359738368, 65536);
-f(34360262656, 65537);
-f(68718952448, 131071);
-f(68719476736, 131072);
-f(68720001024, 131073);
-f(137438429184, 262143);
-f(137438953472, 262144);
-f(137439477760, 262145);
-f(274877382656, 524287);
-f(274877906944, 524288);
-x = 524289;
-f(0, 0);
-f(524289, 1);
-f(1048578, 2);
-f(1572867, 3);
-f(2097156, 4);
-f(2621445, 5);
-f(3670023, 7);
-f(4194312, 8);
-f(4718601, 9);
-f(7864335, 15);
-f(8388624, 16);
-f(8912913, 17);
-f(16252959, 31);
-f(16777248, 32);
-f(17301537, 33);
-f(33030207, 63);
-f(33554496, 64);
-f(34078785, 65);
-f(66584703, 127);
-f(67108992, 128);
-f(67633281, 129);
-f(133693695, 255);
-f(134217984, 256);
-f(134742273, 257);
-f(267911679, 511);
-f(268435968, 512);
-f(268960257, 513);
-f(536347647, 1023);
-f(536871936, 1024);
-f(537396225, 1025);
-f(1073219583, 2047);
-f(1073743872, 2048);
-f(1074268161, 2049);
-f(2146963455, 4095);
-f(2147487744, 4096);
-f(2148012033, 4097);
-f(4294451199, 8191);
-f(4294975488, 8192);
-f(4295499777, 8193);
-f(8589426687, 16383);
-f(8589950976, 16384);
-f(8590475265, 16385);
-f(17179377663, 32767);
-f(17179901952, 32768);
-f(17180426241, 32769);
-f(34359279615, 65535);
-f(34359803904, 65536);
-f(34360328193, 65537);
-f(68719083519, 131071);
-f(68719607808, 131072);
-f(68720132097, 131073);
-f(137438691327, 262143);
-f(137439215616, 262144);
-f(137439739905, 262145);
-f(274877906943, 524287);
-f(274878431232, 524288);
-f(274878955521, 524289);
-x = 1048575;
-f(0, 0);
-f(1048575, 1);
-f(2097150, 2);
-f(3145725, 3);
-f(4194300, 4);
-f(5242875, 5);
-f(7340025, 7);
-f(8388600, 8);
-f(9437175, 9);
-f(15728625, 15);
-f(16777200, 16);
-f(17825775, 17);
-f(32505825, 31);
-f(33554400, 32);
-f(34602975, 33);
-f(66060225, 63);
-f(67108800, 64);
-f(68157375, 65);
-f(133169025, 127);
-f(134217600, 128);
-f(135266175, 129);
-f(267386625, 255);
-f(268435200, 256);
-f(269483775, 257);
-f(535821825, 511);
-f(536870400, 512);
-f(537918975, 513);
-f(1072692225, 1023);
-f(1073740800, 1024);
-f(1074789375, 1025);
-f(2146433025, 2047);
-f(2147481600, 2048);
-f(2148530175, 2049);
-f(4293914625, 4095);
-f(4294963200, 4096);
-f(4296011775, 4097);
-f(8588877825, 8191);
-f(8589926400, 8192);
-f(8590974975, 8193);
-f(17178804225, 16383);
-f(17179852800, 16384);
-f(17180901375, 16385);
-f(34358657025, 32767);
-f(34359705600, 32768);
-f(34360754175, 32769);
-f(68718362625, 65535);
-f(68719411200, 65536);
-f(68720459775, 65537);
-f(137437773825, 131071);
-f(137438822400, 131072);
-f(137439870975, 131073);
-f(274876596225, 262143);
-f(274877644800, 262144);
-f(274878693375, 262145);
-f(549754241025, 524287);
-f(549755289600, 524288);
-f(549756338175, 524289);
-f(1099509530625, 1048575);
-x = 1048576;
-f(0, 0);
-f(1048576, 1);
-f(2097152, 2);
-f(3145728, 3);
-f(4194304, 4);
-f(5242880, 5);
-f(7340032, 7);
-f(8388608, 8);
-f(9437184, 9);
-f(15728640, 15);
-f(16777216, 16);
-f(17825792, 17);
-f(32505856, 31);
-f(33554432, 32);
-f(34603008, 33);
-f(66060288, 63);
-f(67108864, 64);
-f(68157440, 65);
-f(133169152, 127);
-f(134217728, 128);
-f(135266304, 129);
-f(267386880, 255);
-f(268435456, 256);
-f(269484032, 257);
-f(535822336, 511);
-f(536870912, 512);
-f(537919488, 513);
-f(1072693248, 1023);
-f(1073741824, 1024);
-f(1074790400, 1025);
-f(2146435072, 2047);
-f(2147483648, 2048);
-f(2148532224, 2049);
-f(4293918720, 4095);
-f(4294967296, 4096);
-f(4296015872, 4097);
-f(8588886016, 8191);
-f(8589934592, 8192);
-f(8590983168, 8193);
-f(17178820608, 16383);
-f(17179869184, 16384);
-f(17180917760, 16385);
-f(34358689792, 32767);
-f(34359738368, 32768);
-f(34360786944, 32769);
-f(68718428160, 65535);
-f(68719476736, 65536);
-f(68720525312, 65537);
-f(137437904896, 131071);
-f(137438953472, 131072);
-f(137440002048, 131073);
-f(274876858368, 262143);
-f(274877906944, 262144);
-f(274878955520, 262145);
-f(549754765312, 524287);
-f(549755813888, 524288);
-f(549756862464, 524289);
-f(1099510579200, 1048575);
-f(1099511627776, 1048576);
diff --git a/src/3rdparty/v8/test/mjsunit/mul-exhaustive-part5.js b/src/3rdparty/v8/test/mjsunit/mul-exhaustive-part5.js
deleted file mode 100644
index e929985..0000000
--- a/src/3rdparty/v8/test/mjsunit/mul-exhaustive-part5.js
+++ /dev/null
@@ -1,505 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var x;
-
-// Converts a number to string respecting -0.
-function stringify(n) {
- if ((1 / n) === -Infinity) return "-0";
- return String(n);
-}
-
-function f(expected, y) {
- function testEval(string, x, y) {
- var mulFunction = Function("x, y", "return " + string);
- return mulFunction(x, y);
- }
- function mulTest(expected, x, y) {
- assertEquals(expected, x * y);
- assertEquals(expected, testEval(stringify(x) + " * y", x, y));
- assertEquals(expected, testEval("x * " + stringify(y), x, y));
- assertEquals(expected, testEval(stringify(x) + " * " + stringify(y), x, y));
- }
- mulTest(expected, x, y);
- mulTest(-expected, -x, y);
- mulTest(-expected, x, -y);
- mulTest(expected, -x, -y);
- if (x === y) return; // Symmetric cases not necessary.
- mulTest(expected, y, x);
- mulTest(-expected, -y, x);
- mulTest(-expected, y, -x);
- mulTest(expected, -y, -x);
-}
-
-x = 1048577;
-f(0, 0);
-f(1048577, 1);
-f(2097154, 2);
-f(3145731, 3);
-f(4194308, 4);
-f(5242885, 5);
-f(7340039, 7);
-f(8388616, 8);
-f(9437193, 9);
-f(15728655, 15);
-f(16777232, 16);
-f(17825809, 17);
-f(32505887, 31);
-f(33554464, 32);
-f(34603041, 33);
-f(66060351, 63);
-f(67108928, 64);
-f(68157505, 65);
-f(133169279, 127);
-f(134217856, 128);
-f(135266433, 129);
-f(267387135, 255);
-f(268435712, 256);
-f(269484289, 257);
-f(535822847, 511);
-f(536871424, 512);
-f(537920001, 513);
-f(1072694271, 1023);
-f(1073742848, 1024);
-f(1074791425, 1025);
-f(2146437119, 2047);
-f(2147485696, 2048);
-f(2148534273, 2049);
-f(4293922815, 4095);
-f(4294971392, 4096);
-f(4296019969, 4097);
-f(8588894207, 8191);
-f(8589942784, 8192);
-f(8590991361, 8193);
-f(17178836991, 16383);
-f(17179885568, 16384);
-f(17180934145, 16385);
-f(34358722559, 32767);
-f(34359771136, 32768);
-f(34360819713, 32769);
-f(68718493695, 65535);
-f(68719542272, 65536);
-f(68720590849, 65537);
-f(137438035967, 131071);
-f(137439084544, 131072);
-f(137440133121, 131073);
-f(274877120511, 262143);
-f(274878169088, 262144);
-f(274879217665, 262145);
-f(549755289599, 524287);
-f(549756338176, 524288);
-f(549757386753, 524289);
-f(1099511627775, 1048575);
-f(1099512676352, 1048576);
-f(1099513724929, 1048577);
-x = 2097151;
-f(0, 0);
-f(2097151, 1);
-f(4194302, 2);
-f(6291453, 3);
-f(8388604, 4);
-f(10485755, 5);
-f(14680057, 7);
-f(16777208, 8);
-f(18874359, 9);
-f(31457265, 15);
-f(33554416, 16);
-f(35651567, 17);
-f(65011681, 31);
-f(67108832, 32);
-f(69205983, 33);
-f(132120513, 63);
-f(134217664, 64);
-f(136314815, 65);
-f(266338177, 127);
-f(268435328, 128);
-f(270532479, 129);
-f(534773505, 255);
-f(536870656, 256);
-f(538967807, 257);
-f(1071644161, 511);
-f(1073741312, 512);
-f(1075838463, 513);
-f(2145385473, 1023);
-f(2147482624, 1024);
-f(2149579775, 1025);
-f(4292868097, 2047);
-f(4294965248, 2048);
-f(4297062399, 2049);
-f(8587833345, 4095);
-f(8589930496, 4096);
-f(8592027647, 4097);
-f(17177763841, 8191);
-f(17179860992, 8192);
-f(17181958143, 8193);
-f(34357624833, 16383);
-f(34359721984, 16384);
-f(34361819135, 16385);
-f(68717346817, 32767);
-f(68719443968, 32768);
-f(68721541119, 32769);
-f(137436790785, 65535);
-f(137438887936, 65536);
-f(137440985087, 65537);
-f(274875678721, 131071);
-f(274877775872, 131072);
-f(274879873023, 131073);
-f(549753454593, 262143);
-f(549755551744, 262144);
-f(549757648895, 262145);
-f(1099509006337, 524287);
-f(1099511103488, 524288);
-f(1099513200639, 524289);
-f(2199020109825, 1048575);
-f(2199022206976, 1048576);
-f(2199024304127, 1048577);
-f(4398042316801, 2097151);
-x = 2097152;
-f(0, 0);
-f(2097152, 1);
-f(4194304, 2);
-f(6291456, 3);
-f(8388608, 4);
-f(10485760, 5);
-f(14680064, 7);
-f(16777216, 8);
-f(18874368, 9);
-f(31457280, 15);
-f(33554432, 16);
-f(35651584, 17);
-f(65011712, 31);
-f(67108864, 32);
-f(69206016, 33);
-f(132120576, 63);
-f(134217728, 64);
-f(136314880, 65);
-f(266338304, 127);
-f(268435456, 128);
-f(270532608, 129);
-f(534773760, 255);
-f(536870912, 256);
-f(538968064, 257);
-f(1071644672, 511);
-f(1073741824, 512);
-f(1075838976, 513);
-f(2145386496, 1023);
-f(2147483648, 1024);
-f(2149580800, 1025);
-f(4292870144, 2047);
-f(4294967296, 2048);
-f(4297064448, 2049);
-f(8587837440, 4095);
-f(8589934592, 4096);
-f(8592031744, 4097);
-f(17177772032, 8191);
-f(17179869184, 8192);
-f(17181966336, 8193);
-f(34357641216, 16383);
-f(34359738368, 16384);
-f(34361835520, 16385);
-f(68717379584, 32767);
-f(68719476736, 32768);
-f(68721573888, 32769);
-f(137436856320, 65535);
-f(137438953472, 65536);
-f(137441050624, 65537);
-f(274875809792, 131071);
-f(274877906944, 131072);
-f(274880004096, 131073);
-f(549753716736, 262143);
-f(549755813888, 262144);
-f(549757911040, 262145);
-f(1099509530624, 524287);
-f(1099511627776, 524288);
-f(1099513724928, 524289);
-f(2199021158400, 1048575);
-f(2199023255552, 1048576);
-f(2199025352704, 1048577);
-f(4398044413952, 2097151);
-f(4398046511104, 2097152);
-x = 2097153;
-f(0, 0);
-f(2097153, 1);
-f(4194306, 2);
-f(6291459, 3);
-f(8388612, 4);
-f(10485765, 5);
-f(14680071, 7);
-f(16777224, 8);
-f(18874377, 9);
-f(31457295, 15);
-f(33554448, 16);
-f(35651601, 17);
-f(65011743, 31);
-f(67108896, 32);
-f(69206049, 33);
-f(132120639, 63);
-f(134217792, 64);
-f(136314945, 65);
-f(266338431, 127);
-f(268435584, 128);
-f(270532737, 129);
-f(534774015, 255);
-f(536871168, 256);
-f(538968321, 257);
-f(1071645183, 511);
-f(1073742336, 512);
-f(1075839489, 513);
-f(2145387519, 1023);
-f(2147484672, 1024);
-f(2149581825, 1025);
-f(4292872191, 2047);
-f(4294969344, 2048);
-f(4297066497, 2049);
-f(8587841535, 4095);
-f(8589938688, 4096);
-f(8592035841, 4097);
-f(17177780223, 8191);
-f(17179877376, 8192);
-f(17181974529, 8193);
-f(34357657599, 16383);
-f(34359754752, 16384);
-f(34361851905, 16385);
-f(68717412351, 32767);
-f(68719509504, 32768);
-f(68721606657, 32769);
-f(137436921855, 65535);
-f(137439019008, 65536);
-f(137441116161, 65537);
-f(274875940863, 131071);
-f(274878038016, 131072);
-f(274880135169, 131073);
-f(549753978879, 262143);
-f(549756076032, 262144);
-f(549758173185, 262145);
-f(1099510054911, 524287);
-f(1099512152064, 524288);
-f(1099514249217, 524289);
-f(2199022206975, 1048575);
-f(2199024304128, 1048576);
-f(2199026401281, 1048577);
-f(4398046511103, 2097151);
-f(4398048608256, 2097152);
-f(4398050705409, 2097153);
-x = 4194303;
-f(0, 0);
-f(4194303, 1);
-f(8388606, 2);
-f(12582909, 3);
-f(16777212, 4);
-f(20971515, 5);
-f(29360121, 7);
-f(33554424, 8);
-f(37748727, 9);
-f(62914545, 15);
-f(67108848, 16);
-f(71303151, 17);
-f(130023393, 31);
-f(134217696, 32);
-f(138411999, 33);
-f(264241089, 63);
-f(268435392, 64);
-f(272629695, 65);
-f(532676481, 127);
-f(536870784, 128);
-f(541065087, 129);
-f(1069547265, 255);
-f(1073741568, 256);
-f(1077935871, 257);
-f(2143288833, 511);
-f(2147483136, 512);
-f(2151677439, 513);
-f(4290771969, 1023);
-f(4294966272, 1024);
-f(4299160575, 1025);
-f(8585738241, 2047);
-f(8589932544, 2048);
-f(8594126847, 2049);
-f(17175670785, 4095);
-f(17179865088, 4096);
-f(17184059391, 4097);
-f(34355535873, 8191);
-f(34359730176, 8192);
-f(34363924479, 8193);
-f(68715266049, 16383);
-f(68719460352, 16384);
-f(68723654655, 16385);
-f(137434726401, 32767);
-f(137438920704, 32768);
-f(137443115007, 32769);
-f(274873647105, 65535);
-f(274877841408, 65536);
-f(274882035711, 65537);
-f(549751488513, 131071);
-f(549755682816, 131072);
-f(549759877119, 131073);
-f(1099507171329, 262143);
-f(1099511365632, 262144);
-f(1099515559935, 262145);
-f(2199018536961, 524287);
-f(2199022731264, 524288);
-f(2199026925567, 524289);
-f(4398041268225, 1048575);
-f(4398045462528, 1048576);
-f(4398049656831, 1048577);
-f(8796086730753, 2097151);
-f(8796090925056, 2097152);
-f(8796095119359, 2097153);
-f(17592177655809, 4194303);
-x = 4194304;
-f(0, 0);
-f(4194304, 1);
-f(8388608, 2);
-f(12582912, 3);
-f(16777216, 4);
-f(20971520, 5);
-f(29360128, 7);
-f(33554432, 8);
-f(37748736, 9);
-f(62914560, 15);
-f(67108864, 16);
-f(71303168, 17);
-f(130023424, 31);
-f(134217728, 32);
-f(138412032, 33);
-f(264241152, 63);
-f(268435456, 64);
-f(272629760, 65);
-f(532676608, 127);
-f(536870912, 128);
-f(541065216, 129);
-f(1069547520, 255);
-f(1073741824, 256);
-f(1077936128, 257);
-f(2143289344, 511);
-f(2147483648, 512);
-f(2151677952, 513);
-f(4290772992, 1023);
-f(4294967296, 1024);
-f(4299161600, 1025);
-f(8585740288, 2047);
-f(8589934592, 2048);
-f(8594128896, 2049);
-f(17175674880, 4095);
-f(17179869184, 4096);
-f(17184063488, 4097);
-f(34355544064, 8191);
-f(34359738368, 8192);
-f(34363932672, 8193);
-f(68715282432, 16383);
-f(68719476736, 16384);
-f(68723671040, 16385);
-f(137434759168, 32767);
-f(137438953472, 32768);
-f(137443147776, 32769);
-f(274873712640, 65535);
-f(274877906944, 65536);
-f(274882101248, 65537);
-f(549751619584, 131071);
-f(549755813888, 131072);
-f(549760008192, 131073);
-f(1099507433472, 262143);
-f(1099511627776, 262144);
-f(1099515822080, 262145);
-f(2199019061248, 524287);
-f(2199023255552, 524288);
-f(2199027449856, 524289);
-f(4398042316800, 1048575);
-f(4398046511104, 1048576);
-f(4398050705408, 1048577);
-f(8796088827904, 2097151);
-f(8796093022208, 2097152);
-f(8796097216512, 2097153);
-f(17592181850112, 4194303);
-f(17592186044416, 4194304);
-x = 4194305;
-f(0, 0);
-f(4194305, 1);
-f(8388610, 2);
-f(12582915, 3);
-f(16777220, 4);
-f(20971525, 5);
-f(29360135, 7);
-f(33554440, 8);
-f(37748745, 9);
-f(62914575, 15);
-f(67108880, 16);
-f(71303185, 17);
-f(130023455, 31);
-f(134217760, 32);
-f(138412065, 33);
-f(264241215, 63);
-f(268435520, 64);
-f(272629825, 65);
-f(532676735, 127);
-f(536871040, 128);
-f(541065345, 129);
-f(1069547775, 255);
-f(1073742080, 256);
-f(1077936385, 257);
-f(2143289855, 511);
-f(2147484160, 512);
-f(2151678465, 513);
-f(4290774015, 1023);
-f(4294968320, 1024);
-f(4299162625, 1025);
-f(8585742335, 2047);
-f(8589936640, 2048);
-f(8594130945, 2049);
-f(17175678975, 4095);
-f(17179873280, 4096);
-f(17184067585, 4097);
-f(34355552255, 8191);
-f(34359746560, 8192);
-f(34363940865, 8193);
-f(68715298815, 16383);
-f(68719493120, 16384);
-f(68723687425, 16385);
-f(137434791935, 32767);
-f(137438986240, 32768);
-f(137443180545, 32769);
-f(274873778175, 65535);
-f(274877972480, 65536);
-f(274882166785, 65537);
-f(549751750655, 131071);
-f(549755944960, 131072);
-f(549760139265, 131073);
-f(1099507695615, 262143);
-f(1099511889920, 262144);
-f(1099516084225, 262145);
-f(2199019585535, 524287);
-f(2199023779840, 524288);
-f(2199027974145, 524289);
-f(4398043365375, 1048575);
-f(4398047559680, 1048576);
-f(4398051753985, 1048577);
-f(8796090925055, 2097151);
-f(8796095119360, 2097152);
-f(8796099313665, 2097153);
-f(17592186044415, 4194303);
-f(17592190238720, 4194304);
-f(17592194433025, 4194305);
diff --git a/src/3rdparty/v8/test/mjsunit/mul-exhaustive-part6.js b/src/3rdparty/v8/test/mjsunit/mul-exhaustive-part6.js
deleted file mode 100644
index 91cb798..0000000
--- a/src/3rdparty/v8/test/mjsunit/mul-exhaustive-part6.js
+++ /dev/null
@@ -1,554 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var x;
-
-// Converts a number to string respecting -0.
-function stringify(n) {
- if ((1 / n) === -Infinity) return "-0";
- return String(n);
-}
-
-function f(expected, y) {
- function testEval(string, x, y) {
- var mulFunction = Function("x, y", "return " + string);
- return mulFunction(x, y);
- }
- function mulTest(expected, x, y) {
- assertEquals(expected, x * y);
- assertEquals(expected, testEval(stringify(x) + " * y", x, y));
- assertEquals(expected, testEval("x * " + stringify(y), x, y));
- assertEquals(expected, testEval(stringify(x) + " * " + stringify(y), x, y));
- }
- mulTest(expected, x, y);
- mulTest(-expected, -x, y);
- mulTest(-expected, x, -y);
- mulTest(expected, -x, -y);
- if (x === y) return; // Symmetric cases not necessary.
- mulTest(expected, y, x);
- mulTest(-expected, -y, x);
- mulTest(-expected, y, -x);
- mulTest(expected, -y, -x);
-}
-
-x = 8388607;
-f(0, 0);
-f(8388607, 1);
-f(16777214, 2);
-f(25165821, 3);
-f(33554428, 4);
-f(41943035, 5);
-f(58720249, 7);
-f(67108856, 8);
-f(75497463, 9);
-f(125829105, 15);
-f(134217712, 16);
-f(142606319, 17);
-f(260046817, 31);
-f(268435424, 32);
-f(276824031, 33);
-f(528482241, 63);
-f(536870848, 64);
-f(545259455, 65);
-f(1065353089, 127);
-f(1073741696, 128);
-f(1082130303, 129);
-f(2139094785, 255);
-f(2147483392, 256);
-f(2155871999, 257);
-f(4286578177, 511);
-f(4294966784, 512);
-f(4303355391, 513);
-f(8581544961, 1023);
-f(8589933568, 1024);
-f(8598322175, 1025);
-f(17171478529, 2047);
-f(17179867136, 2048);
-f(17188255743, 2049);
-f(34351345665, 4095);
-f(34359734272, 4096);
-f(34368122879, 4097);
-f(68711079937, 8191);
-f(68719468544, 8192);
-f(68727857151, 8193);
-f(137430548481, 16383);
-f(137438937088, 16384);
-f(137447325695, 16385);
-f(274869485569, 32767);
-f(274877874176, 32768);
-f(274886262783, 32769);
-f(549747359745, 65535);
-f(549755748352, 65536);
-f(549764136959, 65537);
-f(1099503108097, 131071);
-f(1099511496704, 131072);
-f(1099519885311, 131073);
-f(2199014604801, 262143);
-f(2199022993408, 262144);
-f(2199031382015, 262145);
-f(4398037598209, 524287);
-f(4398045986816, 524288);
-f(4398054375423, 524289);
-f(8796083585025, 1048575);
-f(8796091973632, 1048576);
-f(8796100362239, 1048577);
-f(17592175558657, 2097151);
-f(17592183947264, 2097152);
-f(17592192335871, 2097153);
-f(35184359505921, 4194303);
-f(35184367894528, 4194304);
-f(35184376283135, 4194305);
-f(70368727400449, 8388607);
-x = 8388608;
-f(0, 0);
-f(8388608, 1);
-f(16777216, 2);
-f(25165824, 3);
-f(33554432, 4);
-f(41943040, 5);
-f(58720256, 7);
-f(67108864, 8);
-f(75497472, 9);
-f(125829120, 15);
-f(134217728, 16);
-f(142606336, 17);
-f(260046848, 31);
-f(268435456, 32);
-f(276824064, 33);
-f(528482304, 63);
-f(536870912, 64);
-f(545259520, 65);
-f(1065353216, 127);
-f(1073741824, 128);
-f(1082130432, 129);
-f(2139095040, 255);
-f(2147483648, 256);
-f(2155872256, 257);
-f(4286578688, 511);
-f(4294967296, 512);
-f(4303355904, 513);
-f(8581545984, 1023);
-f(8589934592, 1024);
-f(8598323200, 1025);
-f(17171480576, 2047);
-f(17179869184, 2048);
-f(17188257792, 2049);
-f(34351349760, 4095);
-f(34359738368, 4096);
-f(34368126976, 4097);
-f(68711088128, 8191);
-f(68719476736, 8192);
-f(68727865344, 8193);
-f(137430564864, 16383);
-f(137438953472, 16384);
-f(137447342080, 16385);
-f(274869518336, 32767);
-f(274877906944, 32768);
-f(274886295552, 32769);
-f(549747425280, 65535);
-f(549755813888, 65536);
-f(549764202496, 65537);
-f(1099503239168, 131071);
-f(1099511627776, 131072);
-f(1099520016384, 131073);
-f(2199014866944, 262143);
-f(2199023255552, 262144);
-f(2199031644160, 262145);
-f(4398038122496, 524287);
-f(4398046511104, 524288);
-f(4398054899712, 524289);
-f(8796084633600, 1048575);
-f(8796093022208, 1048576);
-f(8796101410816, 1048577);
-f(17592177655808, 2097151);
-f(17592186044416, 2097152);
-f(17592194433024, 2097153);
-f(35184363700224, 4194303);
-f(35184372088832, 4194304);
-f(35184380477440, 4194305);
-f(70368735789056, 8388607);
-f(70368744177664, 8388608);
-x = 8388609;
-f(0, 0);
-f(8388609, 1);
-f(16777218, 2);
-f(25165827, 3);
-f(33554436, 4);
-f(41943045, 5);
-f(58720263, 7);
-f(67108872, 8);
-f(75497481, 9);
-f(125829135, 15);
-f(134217744, 16);
-f(142606353, 17);
-f(260046879, 31);
-f(268435488, 32);
-f(276824097, 33);
-f(528482367, 63);
-f(536870976, 64);
-f(545259585, 65);
-f(1065353343, 127);
-f(1073741952, 128);
-f(1082130561, 129);
-f(2139095295, 255);
-f(2147483904, 256);
-f(2155872513, 257);
-f(4286579199, 511);
-f(4294967808, 512);
-f(4303356417, 513);
-f(8581547007, 1023);
-f(8589935616, 1024);
-f(8598324225, 1025);
-f(17171482623, 2047);
-f(17179871232, 2048);
-f(17188259841, 2049);
-f(34351353855, 4095);
-f(34359742464, 4096);
-f(34368131073, 4097);
-f(68711096319, 8191);
-f(68719484928, 8192);
-f(68727873537, 8193);
-f(137430581247, 16383);
-f(137438969856, 16384);
-f(137447358465, 16385);
-f(274869551103, 32767);
-f(274877939712, 32768);
-f(274886328321, 32769);
-f(549747490815, 65535);
-f(549755879424, 65536);
-f(549764268033, 65537);
-f(1099503370239, 131071);
-f(1099511758848, 131072);
-f(1099520147457, 131073);
-f(2199015129087, 262143);
-f(2199023517696, 262144);
-f(2199031906305, 262145);
-f(4398038646783, 524287);
-f(4398047035392, 524288);
-f(4398055424001, 524289);
-f(8796085682175, 1048575);
-f(8796094070784, 1048576);
-f(8796102459393, 1048577);
-f(17592179752959, 2097151);
-f(17592188141568, 2097152);
-f(17592196530177, 2097153);
-f(35184367894527, 4194303);
-f(35184376283136, 4194304);
-f(35184384671745, 4194305);
-f(70368744177663, 8388607);
-f(70368752566272, 8388608);
-f(70368760954881, 8388609);
-x = 16777215;
-f(0, 0);
-f(16777215, 1);
-f(33554430, 2);
-f(50331645, 3);
-f(67108860, 4);
-f(83886075, 5);
-f(117440505, 7);
-f(134217720, 8);
-f(150994935, 9);
-f(251658225, 15);
-f(268435440, 16);
-f(285212655, 17);
-f(520093665, 31);
-f(536870880, 32);
-f(553648095, 33);
-f(1056964545, 63);
-f(1073741760, 64);
-f(1090518975, 65);
-f(2130706305, 127);
-f(2147483520, 128);
-f(2164260735, 129);
-f(4278189825, 255);
-f(4294967040, 256);
-f(4311744255, 257);
-f(8573156865, 511);
-f(8589934080, 512);
-f(8606711295, 513);
-f(17163090945, 1023);
-f(17179868160, 1024);
-f(17196645375, 1025);
-f(34342959105, 2047);
-f(34359736320, 2048);
-f(34376513535, 2049);
-f(68702695425, 4095);
-f(68719472640, 4096);
-f(68736249855, 4097);
-f(137422168065, 8191);
-f(137438945280, 8192);
-f(137455722495, 8193);
-f(274861113345, 16383);
-f(274877890560, 16384);
-f(274894667775, 16385);
-f(549739003905, 32767);
-f(549755781120, 32768);
-f(549772558335, 32769);
-f(1099494785025, 65535);
-f(1099511562240, 65536);
-f(1099528339455, 65537);
-f(2199006347265, 131071);
-f(2199023124480, 131072);
-f(2199039901695, 131073);
-f(4398029471745, 262143);
-f(4398046248960, 262144);
-f(4398063026175, 262145);
-f(8796075720705, 524287);
-f(8796092497920, 524288);
-f(8796109275135, 524289);
-f(17592168218625, 1048575);
-f(17592184995840, 1048576);
-f(17592201773055, 1048577);
-f(35184353214465, 2097151);
-f(35184369991680, 2097152);
-f(35184386768895, 2097153);
-f(70368723206145, 4194303);
-f(70368739983360, 4194304);
-f(70368756760575, 4194305);
-f(140737463189505, 8388607);
-f(140737479966720, 8388608);
-f(140737496743935, 8388609);
-f(281474943156225, 16777215);
-x = 16777216;
-f(0, 0);
-f(16777216, 1);
-f(33554432, 2);
-f(50331648, 3);
-f(67108864, 4);
-f(83886080, 5);
-f(117440512, 7);
-f(134217728, 8);
-f(150994944, 9);
-f(251658240, 15);
-f(268435456, 16);
-f(285212672, 17);
-f(520093696, 31);
-f(536870912, 32);
-f(553648128, 33);
-f(1056964608, 63);
-f(1073741824, 64);
-f(1090519040, 65);
-f(2130706432, 127);
-f(2147483648, 128);
-f(2164260864, 129);
-f(4278190080, 255);
-f(4294967296, 256);
-f(4311744512, 257);
-f(8573157376, 511);
-f(8589934592, 512);
-f(8606711808, 513);
-f(17163091968, 1023);
-f(17179869184, 1024);
-f(17196646400, 1025);
-f(34342961152, 2047);
-f(34359738368, 2048);
-f(34376515584, 2049);
-f(68702699520, 4095);
-f(68719476736, 4096);
-f(68736253952, 4097);
-f(137422176256, 8191);
-f(137438953472, 8192);
-f(137455730688, 8193);
-f(274861129728, 16383);
-f(274877906944, 16384);
-f(274894684160, 16385);
-f(549739036672, 32767);
-f(549755813888, 32768);
-f(549772591104, 32769);
-f(1099494850560, 65535);
-f(1099511627776, 65536);
-f(1099528404992, 65537);
-f(2199006478336, 131071);
-f(2199023255552, 131072);
-f(2199040032768, 131073);
-f(4398029733888, 262143);
-f(4398046511104, 262144);
-f(4398063288320, 262145);
-f(8796076244992, 524287);
-f(8796093022208, 524288);
-f(8796109799424, 524289);
-f(17592169267200, 1048575);
-f(17592186044416, 1048576);
-f(17592202821632, 1048577);
-f(35184355311616, 2097151);
-f(35184372088832, 2097152);
-f(35184388866048, 2097153);
-f(70368727400448, 4194303);
-f(70368744177664, 4194304);
-f(70368760954880, 4194305);
-f(140737471578112, 8388607);
-f(140737488355328, 8388608);
-f(140737505132544, 8388609);
-f(281474959933440, 16777215);
-f(281474976710656, 16777216);
-x = 16777217;
-f(0, 0);
-f(16777217, 1);
-f(33554434, 2);
-f(50331651, 3);
-f(67108868, 4);
-f(83886085, 5);
-f(117440519, 7);
-f(134217736, 8);
-f(150994953, 9);
-f(251658255, 15);
-f(268435472, 16);
-f(285212689, 17);
-f(520093727, 31);
-f(536870944, 32);
-f(553648161, 33);
-f(1056964671, 63);
-f(1073741888, 64);
-f(1090519105, 65);
-f(2130706559, 127);
-f(2147483776, 128);
-f(2164260993, 129);
-f(4278190335, 255);
-f(4294967552, 256);
-f(4311744769, 257);
-f(8573157887, 511);
-f(8589935104, 512);
-f(8606712321, 513);
-f(17163092991, 1023);
-f(17179870208, 1024);
-f(17196647425, 1025);
-f(34342963199, 2047);
-f(34359740416, 2048);
-f(34376517633, 2049);
-f(68702703615, 4095);
-f(68719480832, 4096);
-f(68736258049, 4097);
-f(137422184447, 8191);
-f(137438961664, 8192);
-f(137455738881, 8193);
-f(274861146111, 16383);
-f(274877923328, 16384);
-f(274894700545, 16385);
-f(549739069439, 32767);
-f(549755846656, 32768);
-f(549772623873, 32769);
-f(1099494916095, 65535);
-f(1099511693312, 65536);
-f(1099528470529, 65537);
-f(2199006609407, 131071);
-f(2199023386624, 131072);
-f(2199040163841, 131073);
-f(4398029996031, 262143);
-f(4398046773248, 262144);
-f(4398063550465, 262145);
-f(8796076769279, 524287);
-f(8796093546496, 524288);
-f(8796110323713, 524289);
-f(17592170315775, 1048575);
-f(17592187092992, 1048576);
-f(17592203870209, 1048577);
-f(35184357408767, 2097151);
-f(35184374185984, 2097152);
-f(35184390963201, 2097153);
-f(70368731594751, 4194303);
-f(70368748371968, 4194304);
-f(70368765149185, 4194305);
-f(140737479966719, 8388607);
-f(140737496743936, 8388608);
-f(140737513521153, 8388609);
-f(281474976710655, 16777215);
-f(281474993487872, 16777216);
-f(281475010265089, 16777217);
-x = 33554431;
-f(0, 0);
-f(33554431, 1);
-f(67108862, 2);
-f(100663293, 3);
-f(134217724, 4);
-f(167772155, 5);
-f(234881017, 7);
-f(268435448, 8);
-f(301989879, 9);
-f(503316465, 15);
-f(536870896, 16);
-f(570425327, 17);
-f(1040187361, 31);
-f(1073741792, 32);
-f(1107296223, 33);
-f(2113929153, 63);
-f(2147483584, 64);
-f(2181038015, 65);
-f(4261412737, 127);
-f(4294967168, 128);
-f(4328521599, 129);
-f(8556379905, 255);
-f(8589934336, 256);
-f(8623488767, 257);
-f(17146314241, 511);
-f(17179868672, 512);
-f(17213423103, 513);
-f(34326182913, 1023);
-f(34359737344, 1024);
-f(34393291775, 1025);
-f(68685920257, 2047);
-f(68719474688, 2048);
-f(68753029119, 2049);
-f(137405394945, 4095);
-f(137438949376, 4096);
-f(137472503807, 4097);
-f(274844344321, 8191);
-f(274877898752, 8192);
-f(274911453183, 8193);
-f(549722243073, 16383);
-f(549755797504, 16384);
-f(549789351935, 16385);
-f(1099478040577, 32767);
-f(1099511595008, 32768);
-f(1099545149439, 32769);
-f(2198989635585, 65535);
-f(2199023190016, 65536);
-f(2199056744447, 65537);
-f(4398012825601, 131071);
-f(4398046380032, 131072);
-f(4398079934463, 131073);
-f(8796059205633, 262143);
-f(8796092760064, 262144);
-f(8796126314495, 262145);
-f(17592151965697, 524287);
-f(17592185520128, 524288);
-f(17592219074559, 524289);
-f(35184337485825, 1048575);
-f(35184371040256, 1048576);
-f(35184404594687, 1048577);
-f(70368708526081, 2097151);
-f(70368742080512, 2097152);
-f(70368775634943, 2097153);
-f(140737450606593, 4194303);
-f(140737484161024, 4194304);
-f(140737517715455, 4194305);
-f(281474934767617, 8388607);
-f(281474968322048, 8388608);
-f(281475001876479, 8388609);
-f(562949903089665, 16777215);
-f(562949936644096, 16777216);
-f(562949970198527, 16777217);
-f(1125899839733761, 33554431); \ No newline at end of file
diff --git a/src/3rdparty/v8/test/mjsunit/mul-exhaustive-part7.js b/src/3rdparty/v8/test/mjsunit/mul-exhaustive-part7.js
deleted file mode 100644
index d517225..0000000
--- a/src/3rdparty/v8/test/mjsunit/mul-exhaustive-part7.js
+++ /dev/null
@@ -1,497 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var x;
-
-// Converts a number to string respecting -0.
-function stringify(n) {
- if ((1 / n) === -Infinity) return "-0";
- return String(n);
-}
-
-function f(expected, y) {
- function testEval(string, x, y) {
- var mulFunction = Function("x, y", "return " + string);
- return mulFunction(x, y);
- }
- function mulTest(expected, x, y) {
- assertEquals(expected, x * y);
- assertEquals(expected, testEval(stringify(x) + " * y", x, y));
- assertEquals(expected, testEval("x * " + stringify(y), x, y));
- assertEquals(expected, testEval(stringify(x) + " * " + stringify(y), x, y));
- }
- mulTest(expected, x, y);
- mulTest(-expected, -x, y);
- mulTest(-expected, x, -y);
- mulTest(expected, -x, -y);
- if (x === y) return; // Symmetric cases not necessary.
- mulTest(expected, y, x);
- mulTest(-expected, -y, x);
- mulTest(-expected, y, -x);
- mulTest(expected, -y, -x);
-}
-
-x = 33554432;
-f(0, 0);
-f(33554432, 1);
-f(67108864, 2);
-f(100663296, 3);
-f(134217728, 4);
-f(167772160, 5);
-f(234881024, 7);
-f(268435456, 8);
-f(301989888, 9);
-f(503316480, 15);
-f(536870912, 16);
-f(570425344, 17);
-f(1040187392, 31);
-f(1073741824, 32);
-f(1107296256, 33);
-f(2113929216, 63);
-f(2147483648, 64);
-f(2181038080, 65);
-f(4261412864, 127);
-f(4294967296, 128);
-f(4328521728, 129);
-f(8556380160, 255);
-f(8589934592, 256);
-f(8623489024, 257);
-f(17146314752, 511);
-f(17179869184, 512);
-f(17213423616, 513);
-f(34326183936, 1023);
-f(34359738368, 1024);
-f(34393292800, 1025);
-f(68685922304, 2047);
-f(68719476736, 2048);
-f(68753031168, 2049);
-f(137405399040, 4095);
-f(137438953472, 4096);
-f(137472507904, 4097);
-f(274844352512, 8191);
-f(274877906944, 8192);
-f(274911461376, 8193);
-f(549722259456, 16383);
-f(549755813888, 16384);
-f(549789368320, 16385);
-f(1099478073344, 32767);
-f(1099511627776, 32768);
-f(1099545182208, 32769);
-f(2198989701120, 65535);
-f(2199023255552, 65536);
-f(2199056809984, 65537);
-f(4398012956672, 131071);
-f(4398046511104, 131072);
-f(4398080065536, 131073);
-f(8796059467776, 262143);
-f(8796093022208, 262144);
-f(8796126576640, 262145);
-f(17592152489984, 524287);
-f(17592186044416, 524288);
-f(17592219598848, 524289);
-f(35184338534400, 1048575);
-f(35184372088832, 1048576);
-f(35184405643264, 1048577);
-f(70368710623232, 2097151);
-f(70368744177664, 2097152);
-f(70368777732096, 2097153);
-f(140737454800896, 4194303);
-f(140737488355328, 4194304);
-f(140737521909760, 4194305);
-f(281474943156224, 8388607);
-f(281474976710656, 8388608);
-f(281475010265088, 8388609);
-f(562949919866880, 16777215);
-f(562949953421312, 16777216);
-f(562949986975744, 16777217);
-f(1125899873288192, 33554431);
-f(1125899906842624, 33554432);
-x = 33554433;
-f(0, 0);
-f(33554433, 1);
-f(67108866, 2);
-f(100663299, 3);
-f(134217732, 4);
-f(167772165, 5);
-f(234881031, 7);
-f(268435464, 8);
-f(301989897, 9);
-f(503316495, 15);
-f(536870928, 16);
-f(570425361, 17);
-f(1040187423, 31);
-f(1073741856, 32);
-f(1107296289, 33);
-f(2113929279, 63);
-f(2147483712, 64);
-f(2181038145, 65);
-f(4261412991, 127);
-f(4294967424, 128);
-f(4328521857, 129);
-f(8556380415, 255);
-f(8589934848, 256);
-f(8623489281, 257);
-f(17146315263, 511);
-f(17179869696, 512);
-f(17213424129, 513);
-f(34326184959, 1023);
-f(34359739392, 1024);
-f(34393293825, 1025);
-f(68685924351, 2047);
-f(68719478784, 2048);
-f(68753033217, 2049);
-f(137405403135, 4095);
-f(137438957568, 4096);
-f(137472512001, 4097);
-f(274844360703, 8191);
-f(274877915136, 8192);
-f(274911469569, 8193);
-f(549722275839, 16383);
-f(549755830272, 16384);
-f(549789384705, 16385);
-f(1099478106111, 32767);
-f(1099511660544, 32768);
-f(1099545214977, 32769);
-f(2198989766655, 65535);
-f(2199023321088, 65536);
-f(2199056875521, 65537);
-f(4398013087743, 131071);
-f(4398046642176, 131072);
-f(4398080196609, 131073);
-f(8796059729919, 262143);
-f(8796093284352, 262144);
-f(8796126838785, 262145);
-f(17592153014271, 524287);
-f(17592186568704, 524288);
-f(17592220123137, 524289);
-f(35184339582975, 1048575);
-f(35184373137408, 1048576);
-f(35184406691841, 1048577);
-f(70368712720383, 2097151);
-f(70368746274816, 2097152);
-f(70368779829249, 2097153);
-f(140737458995199, 4194303);
-f(140737492549632, 4194304);
-f(140737526104065, 4194305);
-f(281474951544831, 8388607);
-f(281474985099264, 8388608);
-f(281475018653697, 8388609);
-f(562949936644095, 16777215);
-f(562949970198528, 16777216);
-f(562950003752961, 16777217);
-f(1125899906842623, 33554431);
-f(1125899940397056, 33554432);
-f(1125899973951489, 33554433);
-x = 67108863;
-f(0, 0);
-f(67108863, 1);
-f(134217726, 2);
-f(201326589, 3);
-f(268435452, 4);
-f(335544315, 5);
-f(469762041, 7);
-f(536870904, 8);
-f(603979767, 9);
-f(1006632945, 15);
-f(1073741808, 16);
-f(1140850671, 17);
-f(2080374753, 31);
-f(2147483616, 32);
-f(2214592479, 33);
-f(4227858369, 63);
-f(4294967232, 64);
-f(4362076095, 65);
-f(8522825601, 127);
-f(8589934464, 128);
-f(8657043327, 129);
-f(17112760065, 255);
-f(17179868928, 256);
-f(17246977791, 257);
-f(34292628993, 511);
-f(34359737856, 512);
-f(34426846719, 513);
-f(68652366849, 1023);
-f(68719475712, 1024);
-f(68786584575, 1025);
-f(137371842561, 2047);
-f(137438951424, 2048);
-f(137506060287, 2049);
-f(274810793985, 4095);
-f(274877902848, 4096);
-f(274945011711, 4097);
-f(549688696833, 8191);
-f(549755805696, 8192);
-f(549822914559, 8193);
-f(1099444502529, 16383);
-f(1099511611392, 16384);
-f(1099578720255, 16385);
-f(2198956113921, 32767);
-f(2199023222784, 32768);
-f(2199090331647, 32769);
-f(4397979336705, 65535);
-f(4398046445568, 65536);
-f(4398113554431, 65537);
-f(8796025782273, 131071);
-f(8796092891136, 131072);
-f(8796159999999, 131073);
-f(17592118673409, 262143);
-f(17592185782272, 262144);
-f(17592252891135, 262145);
-f(35184304455681, 524287);
-f(35184371564544, 524288);
-f(35184438673407, 524289);
-f(70368676020225, 1048575);
-f(70368743129088, 1048576);
-f(70368810237951, 1048577);
-f(140737419149313, 2097151);
-f(140737486258176, 2097152);
-f(140737553367039, 2097153);
-f(281474905407489, 4194303);
-f(281474972516352, 4194304);
-f(281475039625215, 4194305);
-f(562949877923841, 8388607);
-f(562949945032704, 8388608);
-f(562950012141567, 8388609);
-f(1125899822956545, 16777215);
-f(1125899890065408, 16777216);
-f(1125899957174271, 16777217);
-x = 67108864;
-f(0, 0);
-f(67108864, 1);
-f(134217728, 2);
-f(201326592, 3);
-f(268435456, 4);
-f(335544320, 5);
-f(469762048, 7);
-f(536870912, 8);
-f(603979776, 9);
-f(1006632960, 15);
-f(1073741824, 16);
-f(1140850688, 17);
-f(2080374784, 31);
-f(2147483648, 32);
-f(2214592512, 33);
-f(4227858432, 63);
-f(4294967296, 64);
-f(4362076160, 65);
-f(8522825728, 127);
-f(8589934592, 128);
-f(8657043456, 129);
-f(17112760320, 255);
-f(17179869184, 256);
-f(17246978048, 257);
-f(34292629504, 511);
-f(34359738368, 512);
-f(34426847232, 513);
-f(68652367872, 1023);
-f(68719476736, 1024);
-f(68786585600, 1025);
-f(137371844608, 2047);
-f(137438953472, 2048);
-f(137506062336, 2049);
-f(274810798080, 4095);
-f(274877906944, 4096);
-f(274945015808, 4097);
-f(549688705024, 8191);
-f(549755813888, 8192);
-f(549822922752, 8193);
-f(1099444518912, 16383);
-f(1099511627776, 16384);
-f(1099578736640, 16385);
-f(2198956146688, 32767);
-f(2199023255552, 32768);
-f(2199090364416, 32769);
-f(4397979402240, 65535);
-f(4398046511104, 65536);
-f(4398113619968, 65537);
-f(8796025913344, 131071);
-f(8796093022208, 131072);
-f(8796160131072, 131073);
-f(17592118935552, 262143);
-f(17592186044416, 262144);
-f(17592253153280, 262145);
-f(35184304979968, 524287);
-f(35184372088832, 524288);
-f(35184439197696, 524289);
-f(70368677068800, 1048575);
-f(70368744177664, 1048576);
-f(70368811286528, 1048577);
-f(140737421246464, 2097151);
-f(140737488355328, 2097152);
-f(140737555464192, 2097153);
-f(281474909601792, 4194303);
-f(281474976710656, 4194304);
-f(281475043819520, 4194305);
-f(562949886312448, 8388607);
-f(562949953421312, 8388608);
-f(562950020530176, 8388609);
-f(1125899839733760, 16777215);
-f(1125899906842624, 16777216);
-f(1125899973951488, 16777217);
-x = 67108865;
-f(0, 0);
-f(67108865, 1);
-f(134217730, 2);
-f(201326595, 3);
-f(268435460, 4);
-f(335544325, 5);
-f(469762055, 7);
-f(536870920, 8);
-f(603979785, 9);
-f(1006632975, 15);
-f(1073741840, 16);
-f(1140850705, 17);
-f(2080374815, 31);
-f(2147483680, 32);
-f(2214592545, 33);
-f(4227858495, 63);
-f(4294967360, 64);
-f(4362076225, 65);
-f(8522825855, 127);
-f(8589934720, 128);
-f(8657043585, 129);
-f(17112760575, 255);
-f(17179869440, 256);
-f(17246978305, 257);
-f(34292630015, 511);
-f(34359738880, 512);
-f(34426847745, 513);
-f(68652368895, 1023);
-f(68719477760, 1024);
-f(68786586625, 1025);
-f(137371846655, 2047);
-f(137438955520, 2048);
-f(137506064385, 2049);
-f(274810802175, 4095);
-f(274877911040, 4096);
-f(274945019905, 4097);
-f(549688713215, 8191);
-f(549755822080, 8192);
-f(549822930945, 8193);
-f(1099444535295, 16383);
-f(1099511644160, 16384);
-f(1099578753025, 16385);
-f(2198956179455, 32767);
-f(2199023288320, 32768);
-f(2199090397185, 32769);
-f(4397979467775, 65535);
-f(4398046576640, 65536);
-f(4398113685505, 65537);
-f(8796026044415, 131071);
-f(8796093153280, 131072);
-f(8796160262145, 131073);
-f(17592119197695, 262143);
-f(17592186306560, 262144);
-f(17592253415425, 262145);
-f(35184305504255, 524287);
-f(35184372613120, 524288);
-f(35184439721985, 524289);
-f(70368678117375, 1048575);
-f(70368745226240, 1048576);
-f(70368812335105, 1048577);
-f(140737423343615, 2097151);
-f(140737490452480, 2097152);
-f(140737557561345, 2097153);
-f(281474913796095, 4194303);
-f(281474980904960, 4194304);
-f(281475048013825, 4194305);
-f(562949894701055, 8388607);
-f(562949961809920, 8388608);
-f(562950028918785, 8388609);
-f(1125899856510975, 16777215);
-f(1125899923619840, 16777216);
-f(1125899990728705, 16777217);
-x = 134217727;
-f(0, 0);
-f(134217727, 1);
-f(268435454, 2);
-f(402653181, 3);
-f(536870908, 4);
-f(671088635, 5);
-f(939524089, 7);
-f(1073741816, 8);
-f(1207959543, 9);
-f(2013265905, 15);
-f(2147483632, 16);
-f(2281701359, 17);
-f(4160749537, 31);
-f(4294967264, 32);
-f(4429184991, 33);
-f(8455716801, 63);
-f(8589934528, 64);
-f(8724152255, 65);
-f(17045651329, 127);
-f(17179869056, 128);
-f(17314086783, 129);
-f(34225520385, 255);
-f(34359738112, 256);
-f(34493955839, 257);
-f(68585258497, 511);
-f(68719476224, 512);
-f(68853693951, 513);
-f(137304734721, 1023);
-f(137438952448, 1024);
-f(137573170175, 1025);
-f(274743687169, 2047);
-f(274877904896, 2048);
-f(275012122623, 2049);
-f(549621592065, 4095);
-f(549755809792, 4096);
-f(549890027519, 4097);
-f(1099377401857, 8191);
-f(1099511619584, 8192);
-f(1099645837311, 8193);
-f(2198889021441, 16383);
-f(2199023239168, 16384);
-f(2199157456895, 16385);
-f(4397912260609, 32767);
-f(4398046478336, 32768);
-f(4398180696063, 32769);
-f(8795958738945, 65535);
-f(8796092956672, 65536);
-f(8796227174399, 65537);
-f(17592051695617, 131071);
-f(17592185913344, 131072);
-f(17592320131071, 131073);
-f(35184237608961, 262143);
-f(35184371826688, 262144);
-f(35184506044415, 262145);
-f(70368609435649, 524287);
-f(70368743653376, 524288);
-f(70368877871103, 524289);
-f(140737353089025, 1048575);
-f(140737487306752, 1048576);
-f(140737621524479, 1048577);
-f(281474840395777, 2097151);
-f(281474974613504, 2097152);
-f(281475108831231, 2097153);
-f(562949815009281, 4194303);
-f(562949949227008, 4194304);
-f(562950083444735, 4194305);
-f(1125899764236289, 8388607);
-f(1125899898454016, 8388608);
-f(1125900032671743, 8388609);
diff --git a/src/3rdparty/v8/test/mjsunit/mul-exhaustive-part8.js b/src/3rdparty/v8/test/mjsunit/mul-exhaustive-part8.js
deleted file mode 100644
index 7e5f285..0000000
--- a/src/3rdparty/v8/test/mjsunit/mul-exhaustive-part8.js
+++ /dev/null
@@ -1,526 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var x;
-
-// Converts a number to string respecting -0.
-function stringify(n) {
- if ((1 / n) === -Infinity) return "-0";
- return String(n);
-}
-
-function f(expected, y) {
- function testEval(string, x, y) {
- var mulFunction = Function("x, y", "return " + string);
- return mulFunction(x, y);
- }
- function mulTest(expected, x, y) {
- assertEquals(expected, x * y);
- assertEquals(expected, testEval(stringify(x) + " * y", x, y));
- assertEquals(expected, testEval("x * " + stringify(y), x, y));
- assertEquals(expected, testEval(stringify(x) + " * " + stringify(y), x, y));
- }
- mulTest(expected, x, y);
- mulTest(-expected, -x, y);
- mulTest(-expected, x, -y);
- mulTest(expected, -x, -y);
- if (x === y) return; // Symmetric cases not necessary.
- mulTest(expected, y, x);
- mulTest(-expected, -y, x);
- mulTest(-expected, y, -x);
- mulTest(expected, -y, -x);
-}
-
-x = 134217728;
-f(0, 0);
-f(134217728, 1);
-f(268435456, 2);
-f(402653184, 3);
-f(536870912, 4);
-f(671088640, 5);
-f(939524096, 7);
-f(1073741824, 8);
-f(1207959552, 9);
-f(2013265920, 15);
-f(2147483648, 16);
-f(2281701376, 17);
-f(4160749568, 31);
-f(4294967296, 32);
-f(4429185024, 33);
-f(8455716864, 63);
-f(8589934592, 64);
-f(8724152320, 65);
-f(17045651456, 127);
-f(17179869184, 128);
-f(17314086912, 129);
-f(34225520640, 255);
-f(34359738368, 256);
-f(34493956096, 257);
-f(68585259008, 511);
-f(68719476736, 512);
-f(68853694464, 513);
-f(137304735744, 1023);
-f(137438953472, 1024);
-f(137573171200, 1025);
-f(274743689216, 2047);
-f(274877906944, 2048);
-f(275012124672, 2049);
-f(549621596160, 4095);
-f(549755813888, 4096);
-f(549890031616, 4097);
-f(1099377410048, 8191);
-f(1099511627776, 8192);
-f(1099645845504, 8193);
-f(2198889037824, 16383);
-f(2199023255552, 16384);
-f(2199157473280, 16385);
-f(4397912293376, 32767);
-f(4398046511104, 32768);
-f(4398180728832, 32769);
-f(8795958804480, 65535);
-f(8796093022208, 65536);
-f(8796227239936, 65537);
-f(17592051826688, 131071);
-f(17592186044416, 131072);
-f(17592320262144, 131073);
-f(35184237871104, 262143);
-f(35184372088832, 262144);
-f(35184506306560, 262145);
-f(70368609959936, 524287);
-f(70368744177664, 524288);
-f(70368878395392, 524289);
-f(140737354137600, 1048575);
-f(140737488355328, 1048576);
-f(140737622573056, 1048577);
-f(281474842492928, 2097151);
-f(281474976710656, 2097152);
-f(281475110928384, 2097153);
-f(562949819203584, 4194303);
-f(562949953421312, 4194304);
-f(562950087639040, 4194305);
-f(1125899772624896, 8388607);
-f(1125899906842624, 8388608);
-f(1125900041060352, 8388609);
-x = 134217729;
-f(0, 0);
-f(134217729, 1);
-f(268435458, 2);
-f(402653187, 3);
-f(536870916, 4);
-f(671088645, 5);
-f(939524103, 7);
-f(1073741832, 8);
-f(1207959561, 9);
-f(2013265935, 15);
-f(2147483664, 16);
-f(2281701393, 17);
-f(4160749599, 31);
-f(4294967328, 32);
-f(4429185057, 33);
-f(8455716927, 63);
-f(8589934656, 64);
-f(8724152385, 65);
-f(17045651583, 127);
-f(17179869312, 128);
-f(17314087041, 129);
-f(34225520895, 255);
-f(34359738624, 256);
-f(34493956353, 257);
-f(68585259519, 511);
-f(68719477248, 512);
-f(68853694977, 513);
-f(137304736767, 1023);
-f(137438954496, 1024);
-f(137573172225, 1025);
-f(274743691263, 2047);
-f(274877908992, 2048);
-f(275012126721, 2049);
-f(549621600255, 4095);
-f(549755817984, 4096);
-f(549890035713, 4097);
-f(1099377418239, 8191);
-f(1099511635968, 8192);
-f(1099645853697, 8193);
-f(2198889054207, 16383);
-f(2199023271936, 16384);
-f(2199157489665, 16385);
-f(4397912326143, 32767);
-f(4398046543872, 32768);
-f(4398180761601, 32769);
-f(8795958870015, 65535);
-f(8796093087744, 65536);
-f(8796227305473, 65537);
-f(17592051957759, 131071);
-f(17592186175488, 131072);
-f(17592320393217, 131073);
-f(35184238133247, 262143);
-f(35184372350976, 262144);
-f(35184506568705, 262145);
-f(70368610484223, 524287);
-f(70368744701952, 524288);
-f(70368878919681, 524289);
-f(140737355186175, 1048575);
-f(140737489403904, 1048576);
-f(140737623621633, 1048577);
-f(281474844590079, 2097151);
-f(281474978807808, 2097152);
-f(281475113025537, 2097153);
-f(562949823397887, 4194303);
-f(562949957615616, 4194304);
-f(562950091833345, 4194305);
-f(1125899781013503, 8388607);
-f(1125899915231232, 8388608);
-f(1125900049448961, 8388609);
-x = 268435455;
-f(0, 0);
-f(268435455, 1);
-f(536870910, 2);
-f(805306365, 3);
-f(1073741820, 4);
-f(1342177275, 5);
-f(1879048185, 7);
-f(2147483640, 8);
-f(2415919095, 9);
-f(4026531825, 15);
-f(4294967280, 16);
-f(4563402735, 17);
-f(8321499105, 31);
-f(8589934560, 32);
-f(8858370015, 33);
-f(16911433665, 63);
-f(17179869120, 64);
-f(17448304575, 65);
-f(34091302785, 127);
-f(34359738240, 128);
-f(34628173695, 129);
-f(68451041025, 255);
-f(68719476480, 256);
-f(68987911935, 257);
-f(137170517505, 511);
-f(137438952960, 512);
-f(137707388415, 513);
-f(274609470465, 1023);
-f(274877905920, 1024);
-f(275146341375, 1025);
-f(549487376385, 2047);
-f(549755811840, 2048);
-f(550024247295, 2049);
-f(1099243188225, 4095);
-f(1099511623680, 4096);
-f(1099780059135, 4097);
-f(2198754811905, 8191);
-f(2199023247360, 8192);
-f(2199291682815, 8193);
-f(4397778059265, 16383);
-f(4398046494720, 16384);
-f(4398314930175, 16385);
-f(8795824553985, 32767);
-f(8796092989440, 32768);
-f(8796361424895, 32769);
-f(17591917543425, 65535);
-f(17592185978880, 65536);
-f(17592454414335, 65537);
-f(35184103522305, 131071);
-f(35184371957760, 131072);
-f(35184640393215, 131073);
-f(70368475480065, 262143);
-f(70368743915520, 262144);
-f(70369012350975, 262145);
-f(140737219395585, 524287);
-f(140737487831040, 524288);
-f(140737756266495, 524289);
-f(281474707226625, 1048575);
-f(281474975662080, 1048576);
-f(281475244097535, 1048577);
-f(562949682888705, 2097151);
-f(562949951324160, 2097152);
-f(562950219759615, 2097153);
-f(1125899634212865, 4194303);
-f(1125899902648320, 4194304);
-f(1125900171083775, 4194305);
-x = 268435456;
-f(0, 0);
-f(268435456, 1);
-f(536870912, 2);
-f(805306368, 3);
-f(1073741824, 4);
-f(1342177280, 5);
-f(1879048192, 7);
-f(2147483648, 8);
-f(2415919104, 9);
-f(4026531840, 15);
-f(4294967296, 16);
-f(4563402752, 17);
-f(8321499136, 31);
-f(8589934592, 32);
-f(8858370048, 33);
-f(16911433728, 63);
-f(17179869184, 64);
-f(17448304640, 65);
-f(34091302912, 127);
-f(34359738368, 128);
-f(34628173824, 129);
-f(68451041280, 255);
-f(68719476736, 256);
-f(68987912192, 257);
-f(137170518016, 511);
-f(137438953472, 512);
-f(137707388928, 513);
-f(274609471488, 1023);
-f(274877906944, 1024);
-f(275146342400, 1025);
-f(549487378432, 2047);
-f(549755813888, 2048);
-f(550024249344, 2049);
-f(1099243192320, 4095);
-f(1099511627776, 4096);
-f(1099780063232, 4097);
-f(2198754820096, 8191);
-f(2199023255552, 8192);
-f(2199291691008, 8193);
-f(4397778075648, 16383);
-f(4398046511104, 16384);
-f(4398314946560, 16385);
-f(8795824586752, 32767);
-f(8796093022208, 32768);
-f(8796361457664, 32769);
-f(17591917608960, 65535);
-f(17592186044416, 65536);
-f(17592454479872, 65537);
-f(35184103653376, 131071);
-f(35184372088832, 131072);
-f(35184640524288, 131073);
-f(70368475742208, 262143);
-f(70368744177664, 262144);
-f(70369012613120, 262145);
-f(140737219919872, 524287);
-f(140737488355328, 524288);
-f(140737756790784, 524289);
-f(281474708275200, 1048575);
-f(281474976710656, 1048576);
-f(281475245146112, 1048577);
-f(562949684985856, 2097151);
-f(562949953421312, 2097152);
-f(562950221856768, 2097153);
-f(1125899638407168, 4194303);
-f(1125899906842624, 4194304);
-f(1125900175278080, 4194305);
-x = 268435457;
-f(0, 0);
-f(268435457, 1);
-f(536870914, 2);
-f(805306371, 3);
-f(1073741828, 4);
-f(1342177285, 5);
-f(1879048199, 7);
-f(2147483656, 8);
-f(2415919113, 9);
-f(4026531855, 15);
-f(4294967312, 16);
-f(4563402769, 17);
-f(8321499167, 31);
-f(8589934624, 32);
-f(8858370081, 33);
-f(16911433791, 63);
-f(17179869248, 64);
-f(17448304705, 65);
-f(34091303039, 127);
-f(34359738496, 128);
-f(34628173953, 129);
-f(68451041535, 255);
-f(68719476992, 256);
-f(68987912449, 257);
-f(137170518527, 511);
-f(137438953984, 512);
-f(137707389441, 513);
-f(274609472511, 1023);
-f(274877907968, 1024);
-f(275146343425, 1025);
-f(549487380479, 2047);
-f(549755815936, 2048);
-f(550024251393, 2049);
-f(1099243196415, 4095);
-f(1099511631872, 4096);
-f(1099780067329, 4097);
-f(2198754828287, 8191);
-f(2199023263744, 8192);
-f(2199291699201, 8193);
-f(4397778092031, 16383);
-f(4398046527488, 16384);
-f(4398314962945, 16385);
-f(8795824619519, 32767);
-f(8796093054976, 32768);
-f(8796361490433, 32769);
-f(17591917674495, 65535);
-f(17592186109952, 65536);
-f(17592454545409, 65537);
-f(35184103784447, 131071);
-f(35184372219904, 131072);
-f(35184640655361, 131073);
-f(70368476004351, 262143);
-f(70368744439808, 262144);
-f(70369012875265, 262145);
-f(140737220444159, 524287);
-f(140737488879616, 524288);
-f(140737757315073, 524289);
-f(281474709323775, 1048575);
-f(281474977759232, 1048576);
-f(281475246194689, 1048577);
-f(562949687083007, 2097151);
-f(562949955518464, 2097152);
-f(562950223953921, 2097153);
-f(1125899642601471, 4194303);
-f(1125899911036928, 4194304);
-f(1125900179472385, 4194305);
-x = 536870911;
-f(0, 0);
-f(536870911, 1);
-f(1073741822, 2);
-f(1610612733, 3);
-f(2147483644, 4);
-f(2684354555, 5);
-f(3758096377, 7);
-f(4294967288, 8);
-f(4831838199, 9);
-f(8053063665, 15);
-f(8589934576, 16);
-f(9126805487, 17);
-f(16642998241, 31);
-f(17179869152, 32);
-f(17716740063, 33);
-f(33822867393, 63);
-f(34359738304, 64);
-f(34896609215, 65);
-f(68182605697, 127);
-f(68719476608, 128);
-f(69256347519, 129);
-f(136902082305, 255);
-f(137438953216, 256);
-f(137975824127, 257);
-f(274341035521, 511);
-f(274877906432, 512);
-f(275414777343, 513);
-f(549218941953, 1023);
-f(549755812864, 1024);
-f(550292683775, 1025);
-f(1098974754817, 2047);
-f(1099511625728, 2048);
-f(1100048496639, 2049);
-f(2198486380545, 4095);
-f(2199023251456, 4096);
-f(2199560122367, 4097);
-f(4397509632001, 8191);
-f(4398046502912, 8192);
-f(4398583373823, 8193);
-f(8795556134913, 16383);
-f(8796093005824, 16384);
-f(8796629876735, 16385);
-f(17591649140737, 32767);
-f(17592186011648, 32768);
-f(17592722882559, 32769);
-f(35183835152385, 65535);
-f(35184372023296, 65536);
-f(35184908894207, 65537);
-f(70368207175681, 131071);
-f(70368744046592, 131072);
-f(70369280917503, 131073);
-f(140736951222273, 262143);
-f(140737488093184, 262144);
-f(140738024964095, 262145);
-f(281474439315457, 524287);
-f(281474976186368, 524288);
-f(281475513057279, 524289);
-f(562949415501825, 1048575);
-f(562949952372736, 1048576);
-f(562950489243647, 1048577);
-f(1125899367874561, 2097151);
-f(1125899904745472, 2097152);
-f(1125900441616383, 2097153);
-x = 536870912;
-f(0, 0);
-f(536870912, 1);
-f(1073741824, 2);
-f(1610612736, 3);
-f(2147483648, 4);
-f(2684354560, 5);
-f(3758096384, 7);
-f(4294967296, 8);
-f(4831838208, 9);
-f(8053063680, 15);
-f(8589934592, 16);
-f(9126805504, 17);
-f(16642998272, 31);
-f(17179869184, 32);
-f(17716740096, 33);
-f(33822867456, 63);
-f(34359738368, 64);
-f(34896609280, 65);
-f(68182605824, 127);
-f(68719476736, 128);
-f(69256347648, 129);
-f(136902082560, 255);
-f(137438953472, 256);
-f(137975824384, 257);
-f(274341036032, 511);
-f(274877906944, 512);
-f(275414777856, 513);
-f(549218942976, 1023);
-f(549755813888, 1024);
-f(550292684800, 1025);
-f(1098974756864, 2047);
-f(1099511627776, 2048);
-f(1100048498688, 2049);
-f(2198486384640, 4095);
-f(2199023255552, 4096);
-f(2199560126464, 4097);
-f(4397509640192, 8191);
-f(4398046511104, 8192);
-f(4398583382016, 8193);
-f(8795556151296, 16383);
-f(8796093022208, 16384);
-f(8796629893120, 16385);
-f(17591649173504, 32767);
-f(17592186044416, 32768);
-f(17592722915328, 32769);
-f(35183835217920, 65535);
-f(35184372088832, 65536);
-f(35184908959744, 65537);
-f(70368207306752, 131071);
-f(70368744177664, 131072);
-f(70369281048576, 131073);
-f(140736951484416, 262143);
-f(140737488355328, 262144);
-f(140738025226240, 262145);
-f(281474439839744, 524287);
-f(281474976710656, 524288);
-f(281475513581568, 524289);
-f(562949416550400, 1048575);
-f(562949953421312, 1048576);
-f(562950490292224, 1048577);
-f(1125899369971712, 2097151);
-f(1125899906842624, 2097152);
-f(1125900443713536, 2097153);
diff --git a/src/3rdparty/v8/test/mjsunit/mul-exhaustive-part9.js b/src/3rdparty/v8/test/mjsunit/mul-exhaustive-part9.js
deleted file mode 100644
index f329a5a..0000000
--- a/src/3rdparty/v8/test/mjsunit/mul-exhaustive-part9.js
+++ /dev/null
@@ -1,533 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var x;
-
-// Converts a number to string respecting -0.
-function stringify(n) {
- if ((1 / n) === -Infinity) return "-0";
- return String(n);
-}
-
-function f(expected, y) {
- function testEval(string, x, y) {
- var mulFunction = Function("x, y", "return " + string);
- return mulFunction(x, y);
- }
- function mulTest(expected, x, y) {
- assertEquals(expected, x * y);
- assertEquals(expected, testEval(stringify(x) + " * y", x, y));
- assertEquals(expected, testEval("x * " + stringify(y), x, y));
- assertEquals(expected, testEval(stringify(x) + " * " + stringify(y), x, y));
- }
- mulTest(expected, x, y);
- mulTest(-expected, -x, y);
- mulTest(-expected, x, -y);
- mulTest(expected, -x, -y);
- if (x === y) return; // Symmetric cases not necessary.
- mulTest(expected, y, x);
- mulTest(-expected, -y, x);
- mulTest(-expected, y, -x);
- mulTest(expected, -y, -x);
-}
-
-x = 536870913;
-f(0, 0);
-f(536870913, 1);
-f(1073741826, 2);
-f(1610612739, 3);
-f(2147483652, 4);
-f(2684354565, 5);
-f(3758096391, 7);
-f(4294967304, 8);
-f(4831838217, 9);
-f(8053063695, 15);
-f(8589934608, 16);
-f(9126805521, 17);
-f(16642998303, 31);
-f(17179869216, 32);
-f(17716740129, 33);
-f(33822867519, 63);
-f(34359738432, 64);
-f(34896609345, 65);
-f(68182605951, 127);
-f(68719476864, 128);
-f(69256347777, 129);
-f(136902082815, 255);
-f(137438953728, 256);
-f(137975824641, 257);
-f(274341036543, 511);
-f(274877907456, 512);
-f(275414778369, 513);
-f(549218943999, 1023);
-f(549755814912, 1024);
-f(550292685825, 1025);
-f(1098974758911, 2047);
-f(1099511629824, 2048);
-f(1100048500737, 2049);
-f(2198486388735, 4095);
-f(2199023259648, 4096);
-f(2199560130561, 4097);
-f(4397509648383, 8191);
-f(4398046519296, 8192);
-f(4398583390209, 8193);
-f(8795556167679, 16383);
-f(8796093038592, 16384);
-f(8796629909505, 16385);
-f(17591649206271, 32767);
-f(17592186077184, 32768);
-f(17592722948097, 32769);
-f(35183835283455, 65535);
-f(35184372154368, 65536);
-f(35184909025281, 65537);
-f(70368207437823, 131071);
-f(70368744308736, 131072);
-f(70369281179649, 131073);
-f(140736951746559, 262143);
-f(140737488617472, 262144);
-f(140738025488385, 262145);
-f(281474440364031, 524287);
-f(281474977234944, 524288);
-f(281475514105857, 524289);
-f(562949417598975, 1048575);
-f(562949954469888, 1048576);
-f(562950491340801, 1048577);
-f(1125899372068863, 2097151);
-f(1125899908939776, 2097152);
-f(1125900445810689, 2097153);
-x = 1073741823;
-f(0, 0);
-f(1073741823, 1);
-f(2147483646, 2);
-f(3221225469, 3);
-f(4294967292, 4);
-f(5368709115, 5);
-f(7516192761, 7);
-f(8589934584, 8);
-f(9663676407, 9);
-f(16106127345, 15);
-f(17179869168, 16);
-f(18253610991, 17);
-f(33285996513, 31);
-f(34359738336, 32);
-f(35433480159, 33);
-f(67645734849, 63);
-f(68719476672, 64);
-f(69793218495, 65);
-f(136365211521, 127);
-f(137438953344, 128);
-f(138512695167, 129);
-f(273804164865, 255);
-f(274877906688, 256);
-f(275951648511, 257);
-f(548682071553, 511);
-f(549755813376, 512);
-f(550829555199, 513);
-f(1098437884929, 1023);
-f(1099511626752, 1024);
-f(1100585368575, 1025);
-f(2197949511681, 2047);
-f(2199023253504, 2048);
-f(2200096995327, 2049);
-f(4396972765185, 4095);
-f(4398046507008, 4096);
-f(4399120248831, 4097);
-f(8795019272193, 8191);
-f(8796093014016, 8192);
-f(8797166755839, 8193);
-f(17591112286209, 16383);
-f(17592186028032, 16384);
-f(17593259769855, 16385);
-f(35183298314241, 32767);
-f(35184372056064, 32768);
-f(35185445797887, 32769);
-f(70367670370305, 65535);
-f(70368744112128, 65536);
-f(70369817853951, 65537);
-f(140736414482433, 131071);
-f(140737488224256, 131072);
-f(140738561966079, 131073);
-f(281473902706689, 262143);
-f(281474976448512, 262144);
-f(281476050190335, 262145);
-f(562948879155201, 524287);
-f(562949952897024, 524288);
-f(562951026638847, 524289);
-f(1125898832052225, 1048575);
-f(1125899905794048, 1048576);
-f(1125900979535871, 1048577);
-x = 1073741824;
-f(0, 0);
-f(1073741824, 1);
-f(2147483648, 2);
-f(3221225472, 3);
-f(4294967296, 4);
-f(5368709120, 5);
-f(7516192768, 7);
-f(8589934592, 8);
-f(9663676416, 9);
-f(16106127360, 15);
-f(17179869184, 16);
-f(18253611008, 17);
-f(33285996544, 31);
-f(34359738368, 32);
-f(35433480192, 33);
-f(67645734912, 63);
-f(68719476736, 64);
-f(69793218560, 65);
-f(136365211648, 127);
-f(137438953472, 128);
-f(138512695296, 129);
-f(273804165120, 255);
-f(274877906944, 256);
-f(275951648768, 257);
-f(548682072064, 511);
-f(549755813888, 512);
-f(550829555712, 513);
-f(1098437885952, 1023);
-f(1099511627776, 1024);
-f(1100585369600, 1025);
-f(2197949513728, 2047);
-f(2199023255552, 2048);
-f(2200096997376, 2049);
-f(4396972769280, 4095);
-f(4398046511104, 4096);
-f(4399120252928, 4097);
-f(8795019280384, 8191);
-f(8796093022208, 8192);
-f(8797166764032, 8193);
-f(17591112302592, 16383);
-f(17592186044416, 16384);
-f(17593259786240, 16385);
-f(35183298347008, 32767);
-f(35184372088832, 32768);
-f(35185445830656, 32769);
-f(70367670435840, 65535);
-f(70368744177664, 65536);
-f(70369817919488, 65537);
-f(140736414613504, 131071);
-f(140737488355328, 131072);
-f(140738562097152, 131073);
-f(281473902968832, 262143);
-f(281474976710656, 262144);
-f(281476050452480, 262145);
-f(562948879679488, 524287);
-f(562949953421312, 524288);
-f(562951027163136, 524289);
-f(1125898833100800, 1048575);
-f(1125899906842624, 1048576);
-f(1125900980584448, 1048577);
-x = 1073741825;
-f(0, 0);
-f(1073741825, 1);
-f(2147483650, 2);
-f(3221225475, 3);
-f(4294967300, 4);
-f(5368709125, 5);
-f(7516192775, 7);
-f(8589934600, 8);
-f(9663676425, 9);
-f(16106127375, 15);
-f(17179869200, 16);
-f(18253611025, 17);
-f(33285996575, 31);
-f(34359738400, 32);
-f(35433480225, 33);
-f(67645734975, 63);
-f(68719476800, 64);
-f(69793218625, 65);
-f(136365211775, 127);
-f(137438953600, 128);
-f(138512695425, 129);
-f(273804165375, 255);
-f(274877907200, 256);
-f(275951649025, 257);
-f(548682072575, 511);
-f(549755814400, 512);
-f(550829556225, 513);
-f(1098437886975, 1023);
-f(1099511628800, 1024);
-f(1100585370625, 1025);
-f(2197949515775, 2047);
-f(2199023257600, 2048);
-f(2200096999425, 2049);
-f(4396972773375, 4095);
-f(4398046515200, 4096);
-f(4399120257025, 4097);
-f(8795019288575, 8191);
-f(8796093030400, 8192);
-f(8797166772225, 8193);
-f(17591112318975, 16383);
-f(17592186060800, 16384);
-f(17593259802625, 16385);
-f(35183298379775, 32767);
-f(35184372121600, 32768);
-f(35185445863425, 32769);
-f(70367670501375, 65535);
-f(70368744243200, 65536);
-f(70369817985025, 65537);
-f(140736414744575, 131071);
-f(140737488486400, 131072);
-f(140738562228225, 131073);
-f(281473903230975, 262143);
-f(281474976972800, 262144);
-f(281476050714625, 262145);
-f(562948880203775, 524287);
-f(562949953945600, 524288);
-f(562951027687425, 524289);
-f(1125898834149375, 1048575);
-f(1125899907891200, 1048576);
-f(1125900981633025, 1048577);
-x = 2147483647;
-f(0, 0);
-f(2147483647, 1);
-f(4294967294, 2);
-f(6442450941, 3);
-f(8589934588, 4);
-f(10737418235, 5);
-f(15032385529, 7);
-f(17179869176, 8);
-f(19327352823, 9);
-f(32212254705, 15);
-f(34359738352, 16);
-f(36507221999, 17);
-f(66571993057, 31);
-f(68719476704, 32);
-f(70866960351, 33);
-f(135291469761, 63);
-f(137438953408, 64);
-f(139586437055, 65);
-f(272730423169, 127);
-f(274877906816, 128);
-f(277025390463, 129);
-f(547608329985, 255);
-f(549755813632, 256);
-f(551903297279, 257);
-f(1097364143617, 511);
-f(1099511627264, 512);
-f(1101659110911, 513);
-f(2196875770881, 1023);
-f(2199023254528, 1024);
-f(2201170738175, 1025);
-f(4395899025409, 2047);
-f(4398046509056, 2048);
-f(4400193992703, 2049);
-f(8793945534465, 4095);
-f(8796093018112, 4096);
-f(8798240501759, 4097);
-f(17590038552577, 8191);
-f(17592186036224, 8192);
-f(17594333519871, 8193);
-f(35182224588801, 16383);
-f(35184372072448, 16384);
-f(35186519556095, 16385);
-f(70366596661249, 32767);
-f(70368744144896, 32768);
-f(70370891628543, 32769);
-f(140735340806145, 65535);
-f(140737488289792, 65536);
-f(140739635773439, 65537);
-f(281472829095937, 131071);
-f(281474976579584, 131072);
-f(281477124063231, 131073);
-f(562947805675521, 262143);
-f(562949953159168, 262144);
-f(562952100642815, 262145);
-f(1125897758834689, 524287);
-f(1125899906318336, 524288);
-f(1125902053801983, 524289);
-x = 2147483648;
-f(0, 0);
-f(2147483648, 1);
-f(4294967296, 2);
-f(6442450944, 3);
-f(8589934592, 4);
-f(10737418240, 5);
-f(15032385536, 7);
-f(17179869184, 8);
-f(19327352832, 9);
-f(32212254720, 15);
-f(34359738368, 16);
-f(36507222016, 17);
-f(66571993088, 31);
-f(68719476736, 32);
-f(70866960384, 33);
-f(135291469824, 63);
-f(137438953472, 64);
-f(139586437120, 65);
-f(272730423296, 127);
-f(274877906944, 128);
-f(277025390592, 129);
-f(547608330240, 255);
-f(549755813888, 256);
-f(551903297536, 257);
-f(1097364144128, 511);
-f(1099511627776, 512);
-f(1101659111424, 513);
-f(2196875771904, 1023);
-f(2199023255552, 1024);
-f(2201170739200, 1025);
-f(4395899027456, 2047);
-f(4398046511104, 2048);
-f(4400193994752, 2049);
-f(8793945538560, 4095);
-f(8796093022208, 4096);
-f(8798240505856, 4097);
-f(17590038560768, 8191);
-f(17592186044416, 8192);
-f(17594333528064, 8193);
-f(35182224605184, 16383);
-f(35184372088832, 16384);
-f(35186519572480, 16385);
-f(70366596694016, 32767);
-f(70368744177664, 32768);
-f(70370891661312, 32769);
-f(140735340871680, 65535);
-f(140737488355328, 65536);
-f(140739635838976, 65537);
-f(281472829227008, 131071);
-f(281474976710656, 131072);
-f(281477124194304, 131073);
-f(562947805937664, 262143);
-f(562949953421312, 262144);
-f(562952100904960, 262145);
-f(1125897759358976, 524287);
-f(1125899906842624, 524288);
-f(1125902054326272, 524289);
-x = 2147483649;
-f(0, 0);
-f(2147483649, 1);
-f(4294967298, 2);
-f(6442450947, 3);
-f(8589934596, 4);
-f(10737418245, 5);
-f(15032385543, 7);
-f(17179869192, 8);
-f(19327352841, 9);
-f(32212254735, 15);
-f(34359738384, 16);
-f(36507222033, 17);
-f(66571993119, 31);
-f(68719476768, 32);
-f(70866960417, 33);
-f(135291469887, 63);
-f(137438953536, 64);
-f(139586437185, 65);
-f(272730423423, 127);
-f(274877907072, 128);
-f(277025390721, 129);
-f(547608330495, 255);
-f(549755814144, 256);
-f(551903297793, 257);
-f(1097364144639, 511);
-f(1099511628288, 512);
-f(1101659111937, 513);
-f(2196875772927, 1023);
-f(2199023256576, 1024);
-f(2201170740225, 1025);
-f(4395899029503, 2047);
-f(4398046513152, 2048);
-f(4400193996801, 2049);
-f(8793945542655, 4095);
-f(8796093026304, 4096);
-f(8798240509953, 4097);
-f(17590038568959, 8191);
-f(17592186052608, 8192);
-f(17594333536257, 8193);
-f(35182224621567, 16383);
-f(35184372105216, 16384);
-f(35186519588865, 16385);
-f(70366596726783, 32767);
-f(70368744210432, 32768);
-f(70370891694081, 32769);
-f(140735340937215, 65535);
-f(140737488420864, 65536);
-f(140739635904513, 65537);
-f(281472829358079, 131071);
-f(281474976841728, 131072);
-f(281477124325377, 131073);
-f(562947806199807, 262143);
-f(562949953683456, 262144);
-f(562952101167105, 262145);
-f(1125897759883263, 524287);
-f(1125899907366912, 524288);
-f(1125902054850561, 524289);
-x = 4294967295;
-f(0, 0);
-f(4294967295, 1);
-f(8589934590, 2);
-f(12884901885, 3);
-f(17179869180, 4);
-f(21474836475, 5);
-f(30064771065, 7);
-f(34359738360, 8);
-f(38654705655, 9);
-f(64424509425, 15);
-f(68719476720, 16);
-f(73014444015, 17);
-f(133143986145, 31);
-f(137438953440, 32);
-f(141733920735, 33);
-f(270582939585, 63);
-f(274877906880, 64);
-f(279172874175, 65);
-f(545460846465, 127);
-f(549755813760, 128);
-f(554050781055, 129);
-f(1095216660225, 255);
-f(1099511627520, 256);
-f(1103806594815, 257);
-f(2194728287745, 511);
-f(2199023255040, 512);
-f(2203318222335, 513);
-f(4393751542785, 1023);
-f(4398046510080, 1024);
-f(4402341477375, 1025);
-f(8791798052865, 2047);
-f(8796093020160, 2048);
-f(8800387987455, 2049);
-f(17587891073025, 4095);
-f(17592186040320, 4096);
-f(17596481007615, 4097);
-f(35180077113345, 8191);
-f(35184372080640, 8192);
-f(35188667047935, 8193);
-f(70364449193985, 16383);
-f(70368744161280, 16384);
-f(70373039128575, 16385);
-f(140733193355265, 32767);
-f(140737488322560, 32768);
-f(140741783289855, 32769);
-f(281470681677825, 65535);
-f(281474976645120, 65536);
-f(281479271612415, 65537);
-f(562945658322945, 131071);
-f(562949953290240, 131072);
-f(562954248257535, 131073);
-f(1125895611613185, 262143);
-f(1125899906580480, 262144);
-f(1125904201547775, 262145);
diff --git a/src/3rdparty/v8/test/mjsunit/multiline.js b/src/3rdparty/v8/test/mjsunit/multiline.js
deleted file mode 100644
index ba538db..0000000
--- a/src/3rdparty/v8/test/mjsunit/multiline.js
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var s = 'foo\
-bar';
-assertEquals("foobar", s);
diff --git a/src/3rdparty/v8/test/mjsunit/multiple-return.js b/src/3rdparty/v8/test/mjsunit/multiple-return.js
deleted file mode 100644
index 610a367..0000000
--- a/src/3rdparty/v8/test/mjsunit/multiple-return.js
+++ /dev/null
@@ -1,62 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function F() {
- for (var x in [1,2,3]) {
- return 42;
- }
- return 87;
-}
-
-
-function G() {
- for (var x in [1,2,3]) {
- try {
- return 42;
- } finally {
- // Do nothing.
- }
- }
- return 87;
-}
-
-
-function H() {
- for (var x in [1,2,3]) {
- try {
- return 42;
- } catch (e) {
- // Do nothing.
- }
- }
- return 87;
-}
-
-
-assertEquals(42, F());
-assertEquals(42, G());
-assertEquals(42, H());
diff --git a/src/3rdparty/v8/test/mjsunit/negate-zero.js b/src/3rdparty/v8/test/mjsunit/negate-zero.js
deleted file mode 100644
index 558be94..0000000
--- a/src/3rdparty/v8/test/mjsunit/negate-zero.js
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function IsNegativeZero(x) {
- assertTrue(x == 0); // Is 0 or -0.
- var y = 1 / x;
- assertFalse(isFinite(y));
- return y < 0;
-}
-
-var pz = 0;
-var nz = -0;
-
-assertTrue(IsNegativeZero(nz), "-0");
-assertFalse(IsNegativeZero(-nz), "-(-0)");
-
-assertFalse(IsNegativeZero(pz), "0");
-assertTrue(IsNegativeZero(-pz), "-(0)");
diff --git a/src/3rdparty/v8/test/mjsunit/negate.js b/src/3rdparty/v8/test/mjsunit/negate.js
deleted file mode 100644
index 70daf24..0000000
--- a/src/3rdparty/v8/test/mjsunit/negate.js
+++ /dev/null
@@ -1,59 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-const SMI_MAX = (1 << 30) - 1;
-const SMI_MIN = -(1 << 30);
-
-function testmulneg(a, b) {
- var base = a * b;
- assertEquals(-base, a * -b, "a * -b where a = " + a + ", b = " + b);
- assertEquals(-base, -a * b, "-a * b where a = " + a + ", b = " + b);
- assertEquals(base, -a * -b, "*-a * -b where a = " + a + ", b = " + b);
-}
-
-testmulneg(2, 3);
-testmulneg(SMI_MAX, 3);
-testmulneg(SMI_MIN, 3);
-testmulneg(3.2, 2.3);
-
-var x = { valueOf: function() { return 2; } };
-var y = { valueOf: function() { return 3; } };
-
-testmulneg(x, y);
-
-// The test below depends on the correct evaluation order, which is not
-// implemented by any of the known JS engines.
-var z;
-var v = { valueOf: function() { z+=2; return z; } };
-var w = { valueOf: function() { z+=3; return z; } };
-
-z = 0;
-var base = v * w;
-z = 0;
-assertEquals(-base, -v * w);
-z = 0;
-assertEquals(base, -v * -w);
diff --git a/src/3rdparty/v8/test/mjsunit/new-function.js b/src/3rdparty/v8/test/mjsunit/new-function.js
deleted file mode 100644
index 9e8cc27..0000000
--- a/src/3rdparty/v8/test/mjsunit/new-function.js
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var x;
-try {
- Function("}), x = this, (function() {");
-} catch(e) {
- print("Caught " + e);
-}
-assertTrue(x == "[object global]");
diff --git a/src/3rdparty/v8/test/mjsunit/new.js b/src/3rdparty/v8/test/mjsunit/new.js
deleted file mode 100644
index 1062628..0000000
--- a/src/3rdparty/v8/test/mjsunit/new.js
+++ /dev/null
@@ -1,56 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function Construct(x) { return x; }
-
-assertFalse(null == new Construct(null));
-assertFalse(void 0 == new Construct(void 0));
-assertFalse(0 == new Construct(0));
-assertFalse(1 == new Construct(1));
-assertFalse(4.2 == new Construct(4.2));
-assertFalse('foo' == new Construct('foo'));
-assertFalse(true == new Construct(true));
-
-x = {};
-assertTrue(x === new Construct(x));
-assertFalse(x === new Construct(null));
-assertFalse(x === new Construct(void 0));
-assertFalse(x === new Construct(1));
-assertFalse(x === new Construct(3.2));
-assertFalse(x === new Construct(false));
-assertFalse(x === new Construct('bar'));
-x = [];
-assertTrue(x === new Construct(x));
-x = new Boolean(true);
-assertTrue(x === new Construct(x));
-x = new Number(42);
-assertTrue(x === new Construct(x));
-x = new String('foo');
-assertTrue(x === new Construct(x));
-x = function() { };
-assertTrue(x === new Construct(x));
-
diff --git a/src/3rdparty/v8/test/mjsunit/newline-in-string.js b/src/3rdparty/v8/test/mjsunit/newline-in-string.js
deleted file mode 100644
index 8c3ff86..0000000
--- a/src/3rdparty/v8/test/mjsunit/newline-in-string.js
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test multiline string literal.
-var str = 'asdf\
-\nasdf\
-\rasdf\
-\tasdf\
-\\\
-\
-';
-assertEquals('asdf\nasdf\rasdf\tasdf\\', str);
-
-// Allow CR+LF in multiline string literals.
-var code = "'asdf\\" + String.fromCharCode(0xD) + String.fromCharCode(0xA) + "asdf'";
-assertEquals('asdfasdf', eval(code));
-
-// Allow LF+CR in multiline string literals.
-code = "'asdf\\" + String.fromCharCode(0xA) + String.fromCharCode(0xD) + "asdf'";
-assertEquals('asdfasdf', eval(code));
-
-
diff --git a/src/3rdparty/v8/test/mjsunit/no-branch-elimination.js b/src/3rdparty/v8/test/mjsunit/no-branch-elimination.js
deleted file mode 100644
index 538039b..0000000
--- a/src/3rdparty/v8/test/mjsunit/no-branch-elimination.js
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Branch elimination on ARM build eliminate bl branches. It was wrong.
-
-if (1 & true) { }
-
-try {
- throw "error";
-} catch (e) {
- assertEquals("error", e);
-}
diff --git a/src/3rdparty/v8/test/mjsunit/no-octal-constants-above-256.js b/src/3rdparty/v8/test/mjsunit/no-octal-constants-above-256.js
deleted file mode 100644
index 1525d6a..0000000
--- a/src/3rdparty/v8/test/mjsunit/no-octal-constants-above-256.js
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Octal constants above \377 should not be allowed; instead they
-// should parse as two-digit octals constants followed by digits.
-assertEquals(2, "\400".length);
-assertEquals("\40".charCodeAt(0), "\400".charCodeAt(0));
-assertEquals("0", "\400".charAt(1));
diff --git a/src/3rdparty/v8/test/mjsunit/no-semicolon.js b/src/3rdparty/v8/test/mjsunit/no-semicolon.js
deleted file mode 100644
index 273ec4b..0000000
--- a/src/3rdparty/v8/test/mjsunit/no-semicolon.js
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Random tests to make sure you can leave out semicolons
-// in various places.
-
-function f() { return }
-
-function g() {
- return
- 4;
-}
-
-assertTrue(f() === void 0);
-assertTrue(g() === void 0);
-
-for (var i = 0; i < 10; i++) { break }
-assertEquals(0, i);
-
-for (var i = 0; i < 10; i++) { continue }
-assertEquals(10, i);
diff --git a/src/3rdparty/v8/test/mjsunit/non-ascii-replace.js b/src/3rdparty/v8/test/mjsunit/non-ascii-replace.js
deleted file mode 100644
index 2ccaed1..0000000
--- a/src/3rdparty/v8/test/mjsunit/non-ascii-replace.js
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Regression test for bug #743664.
-assertEquals("uu", "\x60\x60".replace(/\x60/g, "u"));
-assertEquals("uu", "\xAB\xAB".replace(/\xAB/g, "u"));
diff --git a/src/3rdparty/v8/test/mjsunit/not.js b/src/3rdparty/v8/test/mjsunit/not.js
deleted file mode 100644
index 550a981..0000000
--- a/src/3rdparty/v8/test/mjsunit/not.js
+++ /dev/null
@@ -1,59 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function testNot(x) {
- // The VM constant folds so we use that to check the result.
- var expected = eval("!(" + x + ")");
- var actual = !x;
- assertEquals(expected, actual, "x: " + x);
-}
-
-testNot(0);
-testNot(1);
-testNot(-1);
-testNot(-0);
-
-testNot(NaN);
-testNot(Infinity);
-testNot(-Infinity);
-
-testNot(true);
-testNot(false);
-
-assertTrue(!"");
-assertFalse(!"foo");
-
-assertFalse(![]);
-assertFalse(![1]);
-assertFalse(![1,2]);
-
-assertFalse(!{});
-assertFalse(!{foo:1});
-assertFalse(!{foo:1,bar:2});
-
-assertFalse(!!0);
-assertTrue(!!1);
diff --git a/src/3rdparty/v8/test/mjsunit/nul-characters.js b/src/3rdparty/v8/test/mjsunit/nul-characters.js
deleted file mode 100644
index 22da82d..0000000
--- a/src/3rdparty/v8/test/mjsunit/nul-characters.js
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var a = [ '\0', '\u0000', '\x00' ]
-for (var i in a) {
- assertEquals(1, a[i].length);
- assertEquals(0, a[i].charCodeAt(0));
-}
-
-assertEquals(7, 'foo\0bar'.length);
-assertEquals(7, 'foo\x00bar'.length);
-assertEquals(7, 'foo\u0000bar'.length);
-
-assertEquals(2, ('\0' + '\0').length);
diff --git a/src/3rdparty/v8/test/mjsunit/number-is.js b/src/3rdparty/v8/test/mjsunit/number-is.js
deleted file mode 100644
index 1589fc6..0000000
--- a/src/3rdparty/v8/test/mjsunit/number-is.js
+++ /dev/null
@@ -1,58 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test Harmony Number.isFinite() and Number.isNaN() functions.
-
-assertTrue(Number.isFinite(0));
-assertTrue(Number.isFinite(Number.MIN_VALUE));
-assertTrue(Number.isFinite(Number.MAX_VALUE));
-assertFalse(Number.isFinite(Number.NaN));
-assertFalse(Number.isFinite(Number.POSITIVE_INFINITY));
-assertFalse(Number.isFinite(Number.NEGATIVE_INFINITY));
-assertFalse(Number.isFinite(new Number(0)));
-assertFalse(Number.isFinite(1/0));
-assertFalse(Number.isFinite(-1/0));
-assertFalse(Number.isFinite({}));
-assertFalse(Number.isFinite([]));
-assertFalse(Number.isFinite("s"));
-assertFalse(Number.isFinite(null));
-assertFalse(Number.isFinite(undefined));
-
-assertFalse(Number.isNaN(0));
-assertFalse(Number.isNaN(Number.MIN_VALUE));
-assertFalse(Number.isNaN(Number.MAX_VALUE));
-assertTrue(Number.isNaN(Number.NaN));
-assertFalse(Number.isNaN(Number.POSITIVE_INFINITY));
-assertFalse(Number.isNaN(Number.NEGATIVE_INFINITY));
-assertFalse(Number.isNaN(new Number(0)));
-assertFalse(Number.isNaN(1/0));
-assertFalse(Number.isNaN(-1/0));
-assertFalse(Number.isNaN({}));
-assertFalse(Number.isNaN([]));
-assertFalse(Number.isNaN("s"));
-assertFalse(Number.isNaN(null));
-assertFalse(Number.isNaN(undefined));
diff --git a/src/3rdparty/v8/test/mjsunit/number-limits.js b/src/3rdparty/v8/test/mjsunit/number-limits.js
deleted file mode 100644
index 99ed4e1..0000000
--- a/src/3rdparty/v8/test/mjsunit/number-limits.js
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Ensure that Number.MAX_VALUE and Number.MIN_VALUE are extreme.
-function testLimits() {
- var i; var eps;
- for (i = 0, eps = 1; i < 1100; i++, eps /= 2) {
- var mulAboveMax = Number.MAX_VALUE * (1 + eps);
- var addAboveMax = Number.MAX_VALUE + 1/eps;
- var mulBelowMin = Number.MIN_VALUE * (1 - eps);
- var addBelowMin = Number.MIN_VALUE - eps;
- assertTrue(mulAboveMax == Number.MAX_VALUE ||
- mulAboveMax == Infinity, "mul" + i);
- assertTrue(addAboveMax == Number.MAX_VALUE ||
- addAboveMax == Infinity, "add" + i);
- assertTrue(mulBelowMin == Number.MIN_VALUE ||
- mulBelowMin <= 0, "mul2" + i);
- assertTrue(addBelowMin == Number.MIN_VALUE ||
- addBelowMin <= 0, "add2" + i);
- }
-}
-
-testLimits();
diff --git a/src/3rdparty/v8/test/mjsunit/number-string-index-call.js b/src/3rdparty/v8/test/mjsunit/number-string-index-call.js
deleted file mode 100644
index 85b79d1..0000000
--- a/src/3rdparty/v8/test/mjsunit/number-string-index-call.js
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var callbacks = [ function() {return 'foo'}, "nonobject", /abc/ ];
-assertEquals('foo', callbacks['0']());
-assertThrows("callbacks['1']()");
-assertThrows("callbacks['2']('abcdefg')");
diff --git a/src/3rdparty/v8/test/mjsunit/number-tostring-small.js b/src/3rdparty/v8/test/mjsunit/number-tostring-small.js
deleted file mode 100644
index dbd2b59..0000000
--- a/src/3rdparty/v8/test/mjsunit/number-tostring-small.js
+++ /dev/null
@@ -1,395 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// This file is a concatenation of the number-tostring and
-// to-precision mjsunit tests where the mjsunit assert code has been
-// removed.
-
-// ----------------------------------------------------------------------
-// toString
-(NaN).toString();
-(1/0).toString();
-(-1/0).toString();
-(0).toString();
-(9).toString();
-(90).toString();
-(90.12).toString();
-(0.1).toString();
-(0.01).toString();
-(0.0123).toString();
-(111111111111111111111).toString();
-(1111111111111111111111).toString();
-(11111111111111111111111).toString();
-(0.00001).toString();
-(0.000001).toString();
-(0.0000001).toString();
-(0.00000012).toString();
-(0.000000123).toString();
-(0.00000001).toString();
-(0.000000012).toString();
-(0.0000000123).toString();
-
-(-0).toString();
-(-9).toString();
-(-90).toString();
-(-90.12).toString();
-(-0.1).toString();
-(-0.01).toString();
-(-0.0123).toString();
-(-111111111111111111111).toString();
-(-1111111111111111111111).toString();
-(-11111111111111111111111).toString();
-(-0.00001).toString();
-(-0.000001).toString();
-(-0.0000001).toString();
-(-0.00000012).toString();
-(-0.000000123).toString();
-(-0.00000001).toString();
-(-0.000000012).toString();
-(-0.0000000123).toString();
-
-(NaN).toString(16);
-(1/0).toString(16);
-(-1/0).toString(16);
-(0).toString(16);
-(9).toString(16);
-(90).toString(16);
-(90.12).toString(16);
-(0.1).toString(16);
-(0.01).toString(16);
-(0.0123).toString(16);
-(111111111111111111111).toString(16);
-(1111111111111111111111).toString(16);
-(11111111111111111111111).toString(16);
-(0.00001).toString(16);
-(0.000001).toString(16);
-(0.0000001).toString(16);
-(0.00000012).toString(16);
-(0.000000123).toString(16);
-(0.00000001).toString(16);
-(0.000000012).toString(16);
-(0.0000000123).toString(16);
-
-(-0).toString(16);
-(-9).toString(16);
-(-90).toString(16);
-(-90.12).toString(16);
-(-0.1).toString(16);
-(-0.01).toString(16);
-(-0.0123).toString(16);
-(-111111111111111111111).toString(16);
-(-1111111111111111111111).toString(16);
-(-11111111111111111111111).toString(16);
-(-0.00001).toString(16);
-(-0.000001).toString(16);
-(-0.0000001).toString(16);
-(-0.00000012).toString(16);
-(-0.000000123).toString(16);
-(-0.00000001).toString(16);
-(-0.000000012).toString(16);
-(-0.0000000123).toString(16);
-
-(2,32).toString();
-(Math.pow(2,32)-1).toString(16);
-(Math.pow(2,32)-1).toString(2);
-(10000007).toString(36);
-(0).toString(36);
-(0).toString(16);
-(0).toString(10);
-(0).toString(8);
-(0).toString(2);
-(2,32).toString(2);
-(Math.pow(2,32) + 1).toString(2);
-(0x100000000000081).toString(16);
-(-(-'0x1000000000000081')).toString(16);
-(0x100000000000081).toString(2);
-(-(Math.pow(2,32)-1)).toString(2);
-(-10000007).toString(36);
-(-Math.pow(2,32)).toString(2);
-(-(Math.pow(2,32) + 1)).toString(2);
-(-0x100000000000081).toString(16);
-(-0x100000000000081).toString(2);
-(1000).toString();
-(0.00001).toString();
-(1000000000000000128).toString();
-(1000000000000000012800).toString();
-(-1000000000000000012800).toString();
-(0.0000001).toString();
-(-0.0000001).toString();
-(1000000000000000128000).toString();
-(0.000001).toString();
-(0.0000001).toString();
-(8.5).toString(16);
-(-8.5).toString(16);
-
-// ----------------------------------------------------------------------
-// toFixed
-(NaN).toFixed(2);
-(1/0).toFixed(2);
-(-1/0).toFixed(2);
-
-(1111111111111111111111).toFixed(8);
-(0.1).toFixed(1);
-(0.1).toFixed(2);
-(0.1).toFixed(3);
-(0.01).toFixed(2);
-(0.01).toFixed(3);
-(0.01).toFixed(4);
-(0.001).toFixed(2);
-(0.001).toFixed(3);
-(0.001).toFixed(4);
-(1).toFixed(4);
-(1).toFixed(1);
-(1).toFixed(0);
-(12).toFixed(0);
-(1.1).toFixed(0);
-(12.1).toFixed(0);
-(1.12).toFixed(0);
-(12.12).toFixed(0);
-(0.0000006).toFixed(7);
-(0.00000006).toFixed(8);
-(0.00000006).toFixed(9);
-(0.00000006).toFixed(10);
-(0).toFixed(0);
-(0).toFixed(1);
-(0).toFixed(2);
-
-(-1111111111111111111111).toFixed(8);
-(-0.1).toFixed(1);
-(-0.1).toFixed(2);
-(-0.1).toFixed(3);
-(-0.01).toFixed(2);
-(-0.01).toFixed(3);
-(-0.01).toFixed(4);
-(-0.001).toFixed(2);
-(-0.001).toFixed(3);
-(-0.001).toFixed(4);
-(-1).toFixed(4);
-(-1).toFixed(1);
-(-1).toFixed(0);
-(-1.1).toFixed(0);
-(-12.1).toFixed(0);
-(-1.12).toFixed(0);
-(-12.12).toFixed(0);
-(-0.0000006).toFixed(7);
-(-0.00000006).toFixed(8);
-(-0.00000006).toFixed(9);
-(-0.00000006).toFixed(10);
-(-0).toFixed(0);
-(-0).toFixed(1);
-(-0).toFixed(2);
-
-(1000).toFixed();
-(0.00001).toFixed();
-(0.00001).toFixed(5);
-(0.0000000000000000001).toFixed(20);
-(0.00001).toFixed(17);
-(1).toFixed(17);
-(1000000000000000128).toFixed();
-(100000000000000128).toFixed(1);
-(10000000000000128).toFixed(2);
-(10000000000000128).toFixed(20);
-(0).toFixed();
-((-42).toFixed(3));
-(-1000000000000000128).toFixed();
-(-0.0000000000000000001).toFixed(20);
-(0.123123123123123).toFixed(20);
-// Test that we round up even when the last digit generated is even.
-// dtoa does not do this in its original form.
-(0.5).toFixed(0);
-(-0.5).toFixed(0);
-(1.25).toFixed(1);
-// This is bizare, but Spidermonkey and KJS behave the same.
-(234.20405).toFixed(4);
-(234.2040506).toFixed(4);
-
-// ----------------------------------------------------------------------
-// toExponential
-(1).toExponential();
-(11).toExponential();
-(112).toExponential();
-(1).toExponential(0);
-(11).toExponential(0);
-(112).toExponential(0);
-(1).toExponential(1);
-(11).toExponential(1);
-(112).toExponential(1);
-(1).toExponential(2);
-(11).toExponential(2);
-(112).toExponential(2);
-(1).toExponential(3);
-(11).toExponential(3);
-(112).toExponential(3);
-(0.1).toExponential();
-(0.11).toExponential();
-(0.112).toExponential();
-(0.1).toExponential(0);
-(0.11).toExponential(0);
-(0.112).toExponential(0);
-(0.1).toExponential(1);
-(0.11).toExponential(1);
-(0.112).toExponential(1);
-(0.1).toExponential(2);
-(0.11).toExponential(2);
-(0.112).toExponential(2);
-(0.1).toExponential(3);
-(0.11).toExponential(3);
-(0.112).toExponential(3);
-
-(-1).toExponential();
-(-11).toExponential();
-(-112).toExponential();
-(-1).toExponential(0);
-(-11).toExponential(0);
-(-112).toExponential(0);
-(-1).toExponential(1);
-(-11).toExponential(1);
-(-112).toExponential(1);
-(-1).toExponential(2);
-(-11).toExponential(2);
-(-112).toExponential(2);
-(-1).toExponential(3);
-(-11).toExponential(3);
-(-112).toExponential(3);
-(-0.1).toExponential();
-(-0.11).toExponential();
-(-0.112).toExponential();
-(-0.1).toExponential(0);
-(-0.11).toExponential(0);
-(-0.112).toExponential(0);
-(-0.1).toExponential(1);
-(-0.11).toExponential(1);
-(-0.112).toExponential(1);
-(-0.1).toExponential(2);
-(-0.11).toExponential(2);
-(-0.112).toExponential(2);
-(-0.1).toExponential(3);
-(-0.11).toExponential(3);
-(-0.112).toExponential(3);
-
-(NaN).toExponential(2);
-(Infinity).toExponential(2);
-(-Infinity).toExponential(2);
-(1).toExponential(0);
-(0).toExponential();
-(0).toExponential(2);
-(11.2356).toExponential(0);
-(11.2356).toExponential(4);
-(0.000112356).toExponential(4);
-(-0.000112356).toExponential(4);
-(0.000112356).toExponential();
-(-0.000112356).toExponential();
-
-// ----------------------------------------------------------------------
-// toPrecision
-(NaN).toPrecision(1);
-(Infinity).toPrecision(2);
-(-Infinity).toPrecision(2);
-(0.000555).toPrecision(15);
-(0.000000555).toPrecision(15);
-(-0.000000555).toPrecision(15);
-(123456789).toPrecision(1);
-(123456789).toPrecision(9);
-(123456789).toPrecision(8);
-(123456789).toPrecision(7);
-(-123456789).toPrecision(7);
-(-.0000000012345).toPrecision(2);
-(-.000000012345).toPrecision(2);
-(-.00000012345).toPrecision(2);
-(-.0000012345).toPrecision(2);
-(-.000012345).toPrecision(2);
-(-.00012345).toPrecision(2);
-(-.0012345).toPrecision(2);
-(-.012345).toPrecision(2);
-(-.12345).toPrecision(2);
-(-1.2345).toPrecision(2);
-(-12.345).toPrecision(2);
-(-123.45).toPrecision(2);
-(-1234.5).toPrecision(2);
-(-12345).toPrecision(2);
-(-12345.67).toPrecision(4);
-Number(-12344.67).toPrecision(4);
-// Test that we round up even when the last digit generated is even.
-// dtoa does not do this in its original form.
-(1.25).toPrecision(2);
-(1.35).toPrecision(2);
-
-// Test the exponential notation output.
-(1.2345e+27).toPrecision(1);
-(1.2345e+27).toPrecision(2);
-(1.2345e+27).toPrecision(3);
-(1.2345e+27).toPrecision(4);
-(1.2345e+27).toPrecision(5);
-(1.2345e+27).toPrecision(6);
-(1.2345e+27).toPrecision(7);
-
-(-1.2345e+27).toPrecision(1);
-(-1.2345e+27).toPrecision(2);
-(-1.2345e+27).toPrecision(3);
-(-1.2345e+27).toPrecision(4);
-(-1.2345e+27).toPrecision(5);
-(-1.2345e+27).toPrecision(6);
-(-1.2345e+27).toPrecision(7);
-
-
-// Test the fixed notation output.
-(7).toPrecision(1);
-(7).toPrecision(2);
-(7).toPrecision(3);
-
-(-7).toPrecision(1);
-(-7).toPrecision(2);
-(-7).toPrecision(3);
-
-(91).toPrecision(1);
-(91).toPrecision(2);
-(91).toPrecision(3);
-(91).toPrecision(4);
-
-(-91).toPrecision(1);
-(-91).toPrecision(2);
-(-91).toPrecision(3);
-(-91).toPrecision(4);
-
-(91.1234).toPrecision(1);
-(91.1234).toPrecision(2);
-(91.1234).toPrecision(3);
-(91.1234).toPrecision(4);
-(91.1234).toPrecision(5);
-(91.1234).toPrecision(6);
-(91.1234).toPrecision(7);
-(91.1234).toPrecision(8);
-
-(-91.1234).toPrecision(1);
-(-91.1234).toPrecision(2);
-(-91.1234).toPrecision(3);
-(-91.1234).toPrecision(4);
-(-91.1234).toPrecision(5);
-(-91.1234).toPrecision(6);
-(-91.1234).toPrecision(7);
-(-91.1234).toPrecision(8);
-
diff --git a/src/3rdparty/v8/test/mjsunit/number-tostring.js b/src/3rdparty/v8/test/mjsunit/number-tostring.js
deleted file mode 100644
index 35e77e2..0000000
--- a/src/3rdparty/v8/test/mjsunit/number-tostring.js
+++ /dev/null
@@ -1,340 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// ----------------------------------------------------------------------
-// toString
-assertEquals("NaN", (NaN).toString());
-assertEquals("Infinity", (1/0).toString());
-assertEquals("-Infinity", (-1/0).toString());
-assertEquals("0", (0).toString());
-assertEquals("9", (9).toString());
-assertEquals("90", (90).toString());
-assertEquals("90.12", (90.12).toString());
-assertEquals("0.1", (0.1).toString());
-assertEquals("0.01", (0.01).toString());
-assertEquals("0.0123", (0.0123).toString());
-assertEquals("111111111111111110000", (111111111111111111111).toString());
-assertEquals("1.1111111111111111e+21", (1111111111111111111111).toString());
-assertEquals("1.1111111111111111e+22", (11111111111111111111111).toString());
-assertEquals("0.00001", (0.00001).toString());
-assertEquals("0.000001", (0.000001).toString());
-assertEquals("1e-7", (0.0000001).toString());
-assertEquals("1.2e-7", (0.00000012).toString());
-assertEquals("1.23e-7", (0.000000123).toString());
-assertEquals("1e-8", (0.00000001).toString());
-assertEquals("1.2e-8", (0.000000012).toString());
-assertEquals("1.23e-8", (0.0000000123).toString());
-
-assertEquals("0", (-0).toString());
-assertEquals("-9", (-9).toString());
-assertEquals("-90", (-90).toString());
-assertEquals("-90.12", (-90.12).toString());
-assertEquals("-0.1", (-0.1).toString());
-assertEquals("-0.01", (-0.01).toString());
-assertEquals("-0.0123", (-0.0123).toString());
-assertEquals("-111111111111111110000", (-111111111111111111111).toString());
-assertEquals("-1.1111111111111111e+21", (-1111111111111111111111).toString());
-assertEquals("-1.1111111111111111e+22", (-11111111111111111111111).toString());
-assertEquals("-0.00001", (-0.00001).toString());
-assertEquals("-0.000001", (-0.000001).toString());
-assertEquals("-1e-7", (-0.0000001).toString());
-assertEquals("-1.2e-7", (-0.00000012).toString());
-assertEquals("-1.23e-7", (-0.000000123).toString());
-assertEquals("-1e-8", (-0.00000001).toString());
-assertEquals("-1.2e-8", (-0.000000012).toString());
-assertEquals("-1.23e-8", (-0.0000000123).toString());
-
-assertEquals("NaN", (NaN).toString(16));
-assertEquals("Infinity", (1/0).toString(16));
-assertEquals("-Infinity", (-1/0).toString(16));
-assertEquals("0", (0).toString(16));
-assertEquals("9", (9).toString(16));
-assertEquals("5a", (90).toString(16));
-assertEquals("5a.1eb851eb852", (90.12).toString(16));
-assertEquals("0.1999999999999a", (0.1).toString(16));
-assertEquals("0.028f5c28f5c28f6", (0.01).toString(16));
-assertEquals("0.032617c1bda511a", (0.0123).toString(16));
-assertEquals("605f9f6dd18bc8000", (111111111111111111111).toString(16));
-assertEquals("3c3bc3a4a2f75c0000", (1111111111111111111111).toString(16));
-assertEquals("25a55a46e5da9a00000", (11111111111111111111111).toString(16));
-assertEquals("0.0000a7c5ac471b4788", (0.00001).toString(16));
-assertEquals("0.000010c6f7a0b5ed8d", (0.000001).toString(16));
-assertEquals("0.000001ad7f29abcaf48", (0.0000001).toString(16));
-assertEquals("0.000002036565348d256", (0.00000012).toString(16));
-assertEquals("0.0000021047ee22aa466", (0.000000123).toString(16));
-assertEquals("0.0000002af31dc4611874", (0.00000001).toString(16));
-assertEquals("0.000000338a23b87483be", (0.000000012).toString(16));
-assertEquals("0.00000034d3fe36aaa0a2", (0.0000000123).toString(16));
-
-assertEquals("0", (-0).toString(16));
-assertEquals("-9", (-9).toString(16));
-assertEquals("-5a", (-90).toString(16));
-assertEquals("-5a.1eb851eb852", (-90.12).toString(16));
-assertEquals("-0.1999999999999a", (-0.1).toString(16));
-assertEquals("-0.028f5c28f5c28f6", (-0.01).toString(16));
-assertEquals("-0.032617c1bda511a", (-0.0123).toString(16));
-assertEquals("-605f9f6dd18bc8000", (-111111111111111111111).toString(16));
-assertEquals("-3c3bc3a4a2f75c0000", (-1111111111111111111111).toString(16));
-assertEquals("-25a55a46e5da9a00000", (-11111111111111111111111).toString(16));
-assertEquals("-0.0000a7c5ac471b4788", (-0.00001).toString(16));
-assertEquals("-0.000010c6f7a0b5ed8d", (-0.000001).toString(16));
-assertEquals("-0.000001ad7f29abcaf48", (-0.0000001).toString(16));
-assertEquals("-0.000002036565348d256", (-0.00000012).toString(16));
-assertEquals("-0.0000021047ee22aa466", (-0.000000123).toString(16));
-assertEquals("-0.0000002af31dc4611874", (-0.00000001).toString(16));
-assertEquals("-0.000000338a23b87483be", (-0.000000012).toString(16));
-assertEquals("-0.00000034d3fe36aaa0a2", (-0.0000000123).toString(16));
-
-assertEquals("4294967296", Math.pow(2,32).toString());
-assertEquals("ffffffff", (Math.pow(2,32)-1).toString(16));
-assertEquals("11111111111111111111111111111111", (Math.pow(2,32)-1).toString(2));
-assertEquals("5yc1z", (10000007).toString(36));
-assertEquals("0", (0).toString(36));
-assertEquals("0", (0).toString(16));
-assertEquals("0", (0).toString(10));
-assertEquals("0", (0).toString(8));
-assertEquals("0", (0).toString(2));
-assertEquals("100000000000000000000000000000000", Math.pow(2,32).toString(2));
-assertEquals("100000000000000000000000000000001", (Math.pow(2,32) + 1).toString(2));
-assertEquals("100000000000080", (0x100000000000081).toString(16));
-assertEquals("1000000000000100", (-(-'0x1000000000000081')).toString(16));
-assertEquals("1000000000000000", (-(-'0x1000000000000080')).toString(16));
-assertEquals("1000000000000000", (-(-'0x100000000000007F')).toString(16));
-assertEquals("100000000000000000000000000000000000000000000000010000000", (0x100000000000081).toString(2));
-assertEquals("-11111111111111111111111111111111", (-(Math.pow(2,32)-1)).toString(2));
-assertEquals("-5yc1z", (-10000007).toString(36));
-assertEquals("-100000000000000000000000000000000", (-Math.pow(2,32)).toString(2));
-assertEquals("-100000000000000000000000000000001", (-(Math.pow(2,32) + 1)).toString(2));
-assertEquals("-100000000000080", (-0x100000000000081).toString(16));
-assertEquals("-100000000000000000000000000000000000000000000000010000000", (-0x100000000000081).toString(2));
-assertEquals("1000", (1000).toString());
-assertEquals("0.00001", (0.00001).toString());
-assertEquals("1000000000000000100", (1000000000000000128).toString());
-assertEquals("1e+21", (1000000000000000012800).toString());
-assertEquals("-1e+21", (-1000000000000000012800).toString());
-assertEquals("1e-7", (0.0000001).toString());
-assertEquals("-1e-7", (-0.0000001).toString());
-assertEquals("1.0000000000000001e+21", (1000000000000000128000).toString());
-assertEquals("0.000001", (0.000001).toString());
-assertEquals("1e-7", (0.0000001).toString());
-assertEquals("8.8", (8.5).toString(16));
-assertEquals("-8.8", (-8.5).toString(16));
-
-// ----------------------------------------------------------------------
-// toFixed
-assertEquals("NaN", (NaN).toFixed(2));
-assertEquals("Infinity", (1/0).toFixed(2));
-assertEquals("-Infinity", (-1/0).toFixed(2));
-
-assertEquals("1.1111111111111111e+21", (1111111111111111111111).toFixed(8));
-assertEquals("0.1", (0.1).toFixed(1));
-assertEquals("0.10", (0.1).toFixed(2));
-assertEquals("0.100", (0.1).toFixed(3));
-assertEquals("0.01", (0.01).toFixed(2));
-assertEquals("0.010", (0.01).toFixed(3));
-assertEquals("0.0100", (0.01).toFixed(4));
-assertEquals("0.00", (0.001).toFixed(2));
-assertEquals("0.001", (0.001).toFixed(3));
-assertEquals("0.0010", (0.001).toFixed(4));
-assertEquals("1.0000", (1).toFixed(4));
-assertEquals("1.0", (1).toFixed(1));
-assertEquals("1", (1).toFixed(0));
-assertEquals("12", (12).toFixed(0));
-assertEquals("1", (1.1).toFixed(0));
-assertEquals("12", (12.1).toFixed(0));
-assertEquals("1", (1.12).toFixed(0));
-assertEquals("12", (12.12).toFixed(0));
-assertEquals("0.0000006", (0.0000006).toFixed(7));
-assertEquals("0.00000006", (0.00000006).toFixed(8));
-assertEquals("0.000000060", (0.00000006).toFixed(9));
-assertEquals("0.0000000600", (0.00000006).toFixed(10));
-assertEquals("0", (0).toFixed(0));
-assertEquals("0.0", (0).toFixed(1));
-assertEquals("0.00", (0).toFixed(2));
-
-assertEquals("-1.1111111111111111e+21", (-1111111111111111111111).toFixed(8));
-assertEquals("-0.1", (-0.1).toFixed(1));
-assertEquals("-0.10", (-0.1).toFixed(2));
-assertEquals("-0.100", (-0.1).toFixed(3));
-assertEquals("-0.01", (-0.01).toFixed(2));
-assertEquals("-0.010", (-0.01).toFixed(3));
-assertEquals("-0.0100", (-0.01).toFixed(4));
-assertEquals("-0.00", (-0.001).toFixed(2));
-assertEquals("-0.001", (-0.001).toFixed(3));
-assertEquals("-0.0010", (-0.001).toFixed(4));
-assertEquals("-1.0000", (-1).toFixed(4));
-assertEquals("-1.0", (-1).toFixed(1));
-assertEquals("-1", (-1).toFixed(0));
-assertEquals("-1", (-1.1).toFixed(0));
-assertEquals("-12", (-12.1).toFixed(0));
-assertEquals("-1", (-1.12).toFixed(0));
-assertEquals("-12", (-12.12).toFixed(0));
-assertEquals("-0.0000006", (-0.0000006).toFixed(7));
-assertEquals("-0.00000006", (-0.00000006).toFixed(8));
-assertEquals("-0.000000060", (-0.00000006).toFixed(9));
-assertEquals("-0.0000000600", (-0.00000006).toFixed(10));
-assertEquals("0", (-0).toFixed(0));
-assertEquals("0.0", (-0).toFixed(1));
-assertEquals("0.00", (-0).toFixed(2));
-
-assertEquals("1000", (1000).toFixed());
-assertEquals("0", (0.00001).toFixed());
-assertEquals("0.00001", (0.00001).toFixed(5));
-assertEquals("0.00000000000000000010", (0.0000000000000000001).toFixed(20));
-assertEquals("0.00001000000000000", (0.00001).toFixed(17));
-assertEquals("1.00000000000000000", (1).toFixed(17));
-assertEquals("1000000000000000128", (1000000000000000128).toFixed());
-assertEquals("100000000000000128.0", (100000000000000128).toFixed(1));
-assertEquals("10000000000000128.00", (10000000000000128).toFixed(2));
-assertEquals("10000000000000128.00000000000000000000", (10000000000000128).toFixed(20));
-assertEquals("0", (0).toFixed());
-assertEquals("-42.000", ((-42).toFixed(3)));
-assertEquals("-1000000000000000128", (-1000000000000000128).toFixed());
-assertEquals("-0.00000000000000000010", (-0.0000000000000000001).toFixed(20));
-assertEquals("0.12312312312312299889", (0.123123123123123).toFixed(20));
-// Test that we round up even when the last digit generated is even.
-// dtoa does not do this in its original form.
-assertEquals("1", 0.5.toFixed(0), "0.5.toFixed(0)");
-assertEquals("-1", (-0.5).toFixed(0), "(-0.5).toFixed(0)");
-assertEquals("1.3", 1.25.toFixed(1), "1.25.toFixed(1)");
-// This is bizare, but Spidermonkey and KJS behave the same.
-assertEquals("234.2040", (234.20405).toFixed(4), "234.2040.toFixed(4)");
-assertEquals("234.2041", (234.2040506).toFixed(4));
-
-// ----------------------------------------------------------------------
-// toExponential
-assertEquals("1e+0", (1).toExponential());
-assertEquals("1.1e+1", (11).toExponential());
-assertEquals("1.12e+2", (112).toExponential());
-assertEquals("1e+0", (1).toExponential(0));
-assertEquals("1e+1", (11).toExponential(0));
-assertEquals("1e+2", (112).toExponential(0));
-assertEquals("1.0e+0", (1).toExponential(1));
-assertEquals("1.1e+1", (11).toExponential(1));
-assertEquals("1.1e+2", (112).toExponential(1));
-assertEquals("1.00e+0", (1).toExponential(2));
-assertEquals("1.10e+1", (11).toExponential(2));
-assertEquals("1.12e+2", (112).toExponential(2));
-assertEquals("1.000e+0", (1).toExponential(3));
-assertEquals("1.100e+1", (11).toExponential(3));
-assertEquals("1.120e+2", (112).toExponential(3));
-assertEquals("1e-1", (0.1).toExponential());
-assertEquals("1.1e-1", (0.11).toExponential());
-assertEquals("1.12e-1", (0.112).toExponential());
-assertEquals("1e-1", (0.1).toExponential(0));
-assertEquals("1e-1", (0.11).toExponential(0));
-assertEquals("1e-1", (0.112).toExponential(0));
-assertEquals("1.0e-1", (0.1).toExponential(1));
-assertEquals("1.1e-1", (0.11).toExponential(1));
-assertEquals("1.1e-1", (0.112).toExponential(1));
-assertEquals("1.00e-1", (0.1).toExponential(2));
-assertEquals("1.10e-1", (0.11).toExponential(2));
-assertEquals("1.12e-1", (0.112).toExponential(2));
-assertEquals("1.000e-1", (0.1).toExponential(3));
-assertEquals("1.100e-1", (0.11).toExponential(3));
-assertEquals("1.120e-1", (0.112).toExponential(3));
-
-assertEquals("-1e+0", (-1).toExponential());
-assertEquals("-1.1e+1", (-11).toExponential());
-assertEquals("-1.12e+2", (-112).toExponential());
-assertEquals("-1e+0", (-1).toExponential(0));
-assertEquals("-1e+1", (-11).toExponential(0));
-assertEquals("-1e+2", (-112).toExponential(0));
-assertEquals("-1.0e+0", (-1).toExponential(1));
-assertEquals("-1.1e+1", (-11).toExponential(1));
-assertEquals("-1.1e+2", (-112).toExponential(1));
-assertEquals("-1.00e+0", (-1).toExponential(2));
-assertEquals("-1.10e+1", (-11).toExponential(2));
-assertEquals("-1.12e+2", (-112).toExponential(2));
-assertEquals("-1.000e+0", (-1).toExponential(3));
-assertEquals("-1.100e+1", (-11).toExponential(3));
-assertEquals("-1.120e+2", (-112).toExponential(3));
-assertEquals("-1e-1", (-0.1).toExponential());
-assertEquals("-1.1e-1", (-0.11).toExponential());
-assertEquals("-1.12e-1", (-0.112).toExponential());
-assertEquals("-1e-1", (-0.1).toExponential(0));
-assertEquals("-1e-1", (-0.11).toExponential(0));
-assertEquals("-1e-1", (-0.112).toExponential(0));
-assertEquals("-1.0e-1", (-0.1).toExponential(1));
-assertEquals("-1.1e-1", (-0.11).toExponential(1));
-assertEquals("-1.1e-1", (-0.112).toExponential(1));
-assertEquals("-1.00e-1", (-0.1).toExponential(2));
-assertEquals("-1.10e-1", (-0.11).toExponential(2));
-assertEquals("-1.12e-1", (-0.112).toExponential(2));
-assertEquals("-1.000e-1", (-0.1).toExponential(3));
-assertEquals("-1.100e-1", (-0.11).toExponential(3));
-assertEquals("-1.120e-1", (-0.112).toExponential(3));
-
-assertEquals("NaN", (NaN).toExponential(2));
-assertEquals("Infinity", (Infinity).toExponential(2));
-assertEquals("-Infinity", (-Infinity).toExponential(2));
-assertEquals("1e+0", (1).toExponential(0));
-assertEquals("0e+0", (0).toExponential());
-assertEquals("0.00e+0", (0).toExponential(2));
-assertEquals("1e+1", (11.2356).toExponential(0));
-assertEquals("1.1236e+1", (11.2356).toExponential(4));
-assertEquals("1.1236e-4", (0.000112356).toExponential(4));
-assertEquals("-1.1236e-4", (-0.000112356).toExponential(4));
-assertEquals("1.12356e-4", (0.000112356).toExponential());
-assertEquals("-1.12356e-4", (-0.000112356).toExponential());
-
-// ----------------------------------------------------------------------
-// toPrecision
-assertEquals("NaN", (NaN).toPrecision(1));
-assertEquals("Infinity", (Infinity).toPrecision(2));
-assertEquals("-Infinity", (-Infinity).toPrecision(2));
-assertEquals("0.000555000000000000", (0.000555).toPrecision(15));
-assertEquals("5.55000000000000e-7", (0.000000555).toPrecision(15));
-assertEquals("-5.55000000000000e-7", (-0.000000555).toPrecision(15));
-assertEquals("1e+8", (123456789).toPrecision(1));
-assertEquals("123456789", (123456789).toPrecision(9));
-assertEquals("1.2345679e+8", (123456789).toPrecision(8));
-assertEquals("1.234568e+8", (123456789).toPrecision(7));
-assertEquals("-1.234568e+8", (-123456789).toPrecision(7));
-assertEquals("-1.2e-9", Number(-.0000000012345).toPrecision(2));
-assertEquals("-1.2e-8", Number(-.000000012345).toPrecision(2));
-assertEquals("-1.2e-7", Number(-.00000012345).toPrecision(2));
-assertEquals("-0.0000012", Number(-.0000012345).toPrecision(2));
-assertEquals("-0.000012", Number(-.000012345).toPrecision(2));
-assertEquals("-0.00012", Number(-.00012345).toPrecision(2));
-assertEquals("-0.0012", Number(-.0012345).toPrecision(2));
-assertEquals("-0.012", Number(-.012345).toPrecision(2));
-assertEquals("-0.12", Number(-.12345).toPrecision(2));
-assertEquals("-1.2", Number(-1.2345).toPrecision(2));
-assertEquals("-12", Number(-12.345).toPrecision(2));
-assertEquals("-1.2e+2", Number(-123.45).toPrecision(2));
-assertEquals("-1.2e+3", Number(-1234.5).toPrecision(2));
-assertEquals("-1.2e+4", Number(-12345).toPrecision(2));
-assertEquals("-1.235e+4", Number(-12345.67).toPrecision(4));
-assertEquals("-1.234e+4", Number(-12344.67).toPrecision(4));
-// Test that we round up even when the last digit generated is even.
-// dtoa does not do this in its original form.
-assertEquals("1.3", 1.25.toPrecision(2), "1.25.toPrecision(2)");
-assertEquals("1.4", 1.35.toPrecision(2), "1.35.toPrecision(2)");
-
-
-
diff --git a/src/3rdparty/v8/test/mjsunit/numops-fuzz-part1.js b/src/3rdparty/v8/test/mjsunit/numops-fuzz-part1.js
deleted file mode 100644
index 8e98ae6..0000000
--- a/src/3rdparty/v8/test/mjsunit/numops-fuzz-part1.js
+++ /dev/null
@@ -1,1172 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function f() {
- var x = 0;
- var tmp = 0;
- assertEquals(0, x /= (tmp = 798469700.4090232, tmp));
- assertEquals(0, x *= (2714102322.365509));
- assertEquals(0, x *= x);
- assertEquals(139516372, x -= (tmp = -139516372, tmp));
- assertEquals(1, x /= (x%(2620399703.344006)));
- assertEquals(0, x >>>= x);
- assertEquals(-2772151192.8633175, x -= (tmp = 2772151192.8633175, tmp));
- assertEquals(-2786298206.8633175, x -= (14147014));
- assertEquals(1509750523, x |= ((1073767916)-(tmp = 919311632.2789925, tmp)));
- assertEquals(2262404051.926751, x += ((752653528.9267509)%x));
- assertEquals(-270926893, x |= (tmp = 1837232194, tmp));
- assertEquals(0.17730273401688765, x /= ((tmp = -2657202795, tmp)-(((((x|(tmp = -1187733892.282897, tmp))-x)<<(556523578))-x)+(-57905508.42881298))));
- assertEquals(122483.56550261026, x *= ((((tmp = 2570017060.15193, tmp)%((-1862621126.9968336)>>x))>>(x>>(tmp = 2388674677, tmp)))>>>(-2919657526.470434)));
- assertEquals(0, x ^= x);
- assertEquals(0, x <<= (tmp = 2705124845.0455265, tmp));
- assertEquals(0, x &= (-135286835.07069612));
- assertEquals(-0, x *= ((tmp = -165810479.10020828, tmp)|x));
- assertEquals(248741888, x += ((735976871.1308595)<<(-2608055185.0700903)));
- assertEquals(139526144, x &= (tmp = -1454301068, tmp));
- assertEquals(-0.047221345672746884, x /= (tmp = -2954726130.994727, tmp));
- assertEquals(0, x <<= (x>>x));
- assertEquals(0, x >>>= ((x+(912111201.488966))-(tmp = 1405800042.6070075, tmp)));
- assertEquals(-1663642733, x |= (((-1663642733.5700119)<<(x^x))<<x));
- assertEquals(-914358272, x <<= ((((-308411676)-(-618261840.9113789))%(-68488626.58621716))-x));
- assertEquals(-1996488704, x &= (-1358622641.5848842));
- assertEquals(-345978263, x += (1650510441));
- assertEquals(3, x >>>= (-1106714178.701668));
- assertEquals(1, x %= (((x>>(x>>(tmp = -3052773846.817114, tmp)))*(tmp = 1659218887.379526, tmp))&x));
- assertEquals(-943225672, x += (-943225673));
- assertEquals(-0.41714300120060854, x /= (tmp = 2261156652, tmp));
- assertEquals(0, x >>>= ((3107060934.8863482)<<(tmp = 1902730887, tmp)));
- assertEquals(0, x &= x);
- assertEquals(1476628, x |= ((tmp = -2782899841.390033, tmp)>>>(2097653770)));
- assertEquals(0.0008887648921591833, x /= ((tmp = 1661438264.5253348, tmp)%((tmp = 2555939813, tmp)*(-877024323.6515315))));
- assertEquals(0, x <<= (tmp = -2366551345, tmp));
- assertEquals(0, x &= (tmp = 1742843591, tmp));
- assertEquals(0, x -= x);
- assertEquals(4239, x += ((-3183564176.232031)>>>(349622674.1255014)));
- assertEquals(-67560, x -= ((2352742295)>>>x));
- assertEquals(-67560, x &= x);
- assertEquals(-0.00003219917807302283, x /= (2098190203.699741));
- assertEquals(0, x -= x);
- assertEquals(0, x >>= ((((tmp = -869086522.8358297, tmp)/(187820779))-(tmp = -2000970995.1931965, tmp))|(1853528755.6064696)));
- assertEquals(0, x >>= (-3040509919));
- assertEquals(0, x %= (((tmp = -2386688049.194946, tmp)<<(tmp = -669711391, tmp))|x));
- assertEquals(0, x %= (tmp = -298431511.4839926, tmp));
- assertEquals(0, x /= (2830845091.2793818));
- assertEquals(0, x /= ((((-2529926178)|x)^((tmp = 2139313707.0894063, tmp)%((-1825768525.0541775)-(-952600362.7758243))))+x));
- assertEquals(NaN, x /= x);
- assertEquals(NaN, x -= x);
- assertEquals(NaN, x /= (tmp = -432944480, tmp));
- assertEquals(0, x <<= (((((x^((-1777523727)+(2194962794)))>>>(((((-590335134.8224905)%(x*(2198198974)))|(tmp = -2068556796, tmp))/(1060765637))*(-147051676)))/((tmp = -477350113.92686677, tmp)<<((x/(2018712621.0397925))^((tmp = 491163813.3921983, tmp)+(((x|((((x%(1990073256.812654))%((-2024388518.9599915)>>((tmp = 223182187, tmp)*(-722241065))))>>>(tmp = 2517147885.305745, tmp))%(1189996239.11222)))&x)%(-306932860))))))&((tmp = 1117802724.485684, tmp)+((-1391614045)-x)))%((((x>>((2958453447)*x))^(((410825859)|(((tmp = -1119269292.5495896, tmp)>>>(((((((x%(tmp = 648541746.6059314, tmp))*((-2304508480)<<((((x^(1408199888.1454597))|((251623937)|x))/((-382389946.9984102)|(tmp = -2082681143.5893767, tmp)))-(((tmp = 631243472, tmp)>>>(1407556544))/(((x>>>x)>>>(tmp = -6329025.47865057, tmp))>>>(tmp = 948664752.543093, tmp))))))/((((-183248880)>>x)&x)&x))>>x)&(((-978737284.8492057)%(tmp = 2983300011.737006, tmp))&(tmp = 2641937234.2954116, tmp)))<<x)>>(2795416632.9722223)))%((((tmp = -50926632, tmp)/x)&(((tmp = -2510786916, tmp)/x)/(-699755674)))|((((tmp = 1411792593, tmp)>>(924286570.2637128))>>((1609997725)>>(2735658951.0762663)))*(tmp = 726205435, tmp)))))<<(tmp = -2135055357.3156831, tmp)))/(tmp = 1408695065, tmp))^(tmp = -1343267739.8562133, tmp))));
- assertEquals(0, x %= (-437232116));
- assertEquals(-2463314518.2747326, x -= (2463314518.2747326));
- assertEquals(109, x >>= (2401429560));
- assertEquals(-2687641732.0253763, x += (-2687641841.0253763));
- assertEquals(-2336375490019484000, x *= (tmp = 869303174.6678596, tmp));
- assertEquals(5.458650430363785e+36, x *= x);
- assertEquals(0, x |= ((((-1676972008.797291)*x)*((tmp = 2606991807, tmp)-x))<<x));
- assertEquals(0, x &= ((-3053393759.3496876)+(-1431008367)));
- assertEquals(-856728369, x |= (x-(((((764337872)/x)<<((x|(((tmp = 1409368192.1268077, tmp)+(tmp = -848083676, tmp))|(-2797102463.7915916)))^x))/x)^(tmp = 856728369.0589117, tmp))));
- assertEquals(-0, x %= x);
- assertEquals(1116550103, x ^= (-3178417193));
- assertEquals(1116550103, x %= (tmp = -1482481942, tmp));
- assertEquals(133, x >>>= x);
- assertEquals(-1.381429241671034e-7, x /= ((tmp = -962771116.8101778, tmp)^x));
- assertEquals(-1092268961, x |= ((tmp = 3202672531, tmp)-((x-(tmp = 845529357, tmp))>>(tmp = -868680593, tmp))));
- assertEquals(-1092268961, x %= (tmp = 2670840415.304719, tmp));
- assertEquals(-122794480, x %= (tmp = 969474481, tmp));
- assertEquals(-297606521542193600, x *= (2423614820));
- assertEquals(72460064, x >>>= (tmp = -1230798655, tmp));
- assertEquals(-203714325373689600, x *= (-2811401400));
- assertEquals(2154914048, x >>>= (((2241377026.001436)/x)+x));
- assertEquals(1177864081, x ^= (tmp = -968513903, tmp));
- assertEquals(35947664, x &= (-2086226758.2704995));
- assertEquals(20795732539020670, x += (x*(578500247)));
- assertEquals(-892004992, x >>= x);
- assertEquals(-7023661.354330708, x /= ((((((1740714214)%((tmp = -459699286, tmp)+(tmp = -1700187400, tmp)))>>(tmp = -3170295237, tmp))+(tmp = -497509780, tmp))+((1971976144.6197853)+(661992813.6077721)))>>>(-1683802728)));
- assertEquals(-1634205696, x <<= x);
- assertEquals(-7, x >>= (-3187653764.930914));
- assertEquals(-5.095345981491203, x -= ((tmp = 748315289, tmp)/(tmp = -392887780, tmp)));
- assertEquals(1486531570, x &= (1486531570.9300508));
- assertEquals(5670, x >>= (((tmp = -2486758205.26425, tmp)*(732510414))|x));
- assertEquals(5670, x >>= (((-1811879946.2553763)%(1797475764))/(((tmp = -2159923884, tmp)|x)+(tmp = -1774410807, tmp))));
- assertEquals(38, x %= (x>>>x));
- assertEquals(-151134215, x ^= (((tmp = -2593085609.5622163, tmp)+((tmp = -814992345.7516887, tmp)-(534809571)))|(tmp = -232678571, tmp)));
- assertEquals(-234881024, x <<= x);
- assertEquals(-234881024, x <<= (x>>>x));
- assertEquals(55169095435288580, x *= x);
- assertEquals(0, x >>= (tmp = 1176612256, tmp));
- assertEquals(0, x <<= (1321866341.2486475));
- assertEquals(0, x %= (x-(-602577995)));
- assertEquals(0, x >>>= (((((tmp = -125628635.79970193, tmp)^(tmp = 1294209955.229382, tmp))&(((tmp = -2353256654.0725203, tmp)|((-1136743028.9425385)|((((950703429.1110399)-(x>>>x))/((((x%(-252705869.21126103))/((tmp = 886957620, tmp)<<(x%((tmp = -1952249741, tmp)*(tmp = -1998149844, tmp)))))|(tmp = 1933366713, tmp))|((tmp = -2957141565, tmp)>>>(tmp = 1408598804, tmp))))+(((((((-2455002047.4910946)%(tmp = -528017836, tmp))&((-2693432769)/(tmp = 2484427670.9045153, tmp)))%(-356969659))-((((((tmp = 3104828644.0753174, tmp)%(x>>>(tmp = 820832137.8175925, tmp)))*((tmp = 763080553.9260503, tmp)+(3173597855)))<<(((-510785437)^x)<<(x|(((x*(x%((tmp = -1391951515, tmp)/x)))-x)|(x-((-522681793.93221474)/((2514619703.2162743)*(2936688324))))))))|x)>>>(-2093210042)))&(763129279.3651779))&x))))-x))%(((-1331164821)&(tmp = 1342684586, tmp))<<(x<<(tmp = 2675008614.588005, tmp))))>>((2625292569.8984914)+(-3185992401))));
- assertEquals(0, x *= (tmp = 671817215.1147974, tmp));
- assertEquals(-1608821121, x ^= ((tmp = 2686146175.04077, tmp)>>>x));
- assertEquals(-0, x %= x);
- assertEquals(-0, x /= ((tmp = 286794551.0720866, tmp)|(x%x)));
- assertEquals(0, x <<= (x|(tmp = 1095503996.2285218, tmp)));
- assertEquals(443296752, x ^= (443296752));
- assertEquals(110824188, x >>= ((184708570)>>(x&x)));
- assertEquals(0.7908194935161674, x /= ((((167151154.63381648)&((tmp = -1434120690, tmp)-(tmp = 2346173080, tmp)))/(56656051.87305987))^(140138414)));
- assertEquals(-0.9027245492678485, x *= ((tmp = 1724366578, tmp)/(((2979477411)<<(((897038568)>>(tmp = 348960298, tmp))%(281056223.2037884)))^((((-1383133388)-(((-1379748375)-((x>>(x&(tmp = 2456582046, tmp)))>>>(-2923911755.565961)))&x))<<(-2825791731))^(tmp = -1979992970, tmp)))));
- assertEquals(0, x &= (2482304279));
- assertEquals(-0, x *= (-2284213673));
- assertEquals(0, x <<= ((2874381218.015819)|x));
- assertEquals(0, x *= (x>>>(tmp = 2172786480, tmp)));
- assertEquals(0, x &= (-1638727867.2978938));
- assertEquals(0, x %= ((tmp = -2213947368.285817, tmp)>>x));
- assertEquals(0, x >>>= (tmp = -531324706, tmp));
- assertEquals(0, x %= (tmp = -2338792486, tmp));
- assertEquals(0, x <<= (((tmp = 351012164, tmp)<<(x|((tmp = -3023836638.5337825, tmp)^(-2678806692))))|x));
- assertEquals(0, x %= (x-(tmp = -3220231305.45039, tmp)));
- assertEquals(0, x <<= (-2132833261));
- assertEquals(0, x >>>= x);
- assertEquals(0, x %= ((2544970469)+(((-2633093458.5911965)&(644108176))-(x>>>(tmp = -949043718, tmp)))));
- assertEquals(-2750531265, x += (-2750531265));
- assertEquals(0, x >>= x);
- assertEquals(0, x *= ((tmp = 1299005700, tmp)-x));
- assertEquals(0, x >>= x);
- assertEquals(-1785515304, x -= (((((-806054462.5563161)/x)>>>x)+(1785515304))|((tmp = 2937069788.9396844, tmp)/x)));
- assertEquals(-3810117159.173689, x -= (2024601855.1736891));
- assertEquals(-6.276064139320051, x /= (607087033.3053156));
- assertEquals(134217727, x >>>= (((x%(tmp = 924293127, tmp))^x)|((x>>>(x&((((tmp = -413386639, tmp)/(x>>(tmp = 599075308.8479941, tmp)))^(tmp = -1076703198, tmp))*((tmp = -2239117284, tmp)>>(655036983)))))-x)));
- assertEquals(134217727, x %= (tmp = 2452642261.038778, tmp));
- assertEquals(-569504740360507, x *= ((tmp = -1086243941, tmp)>>(tmp = 1850668904.4885683, tmp)));
- assertEquals(113378806, x >>>= (tmp = -2558233435, tmp));
- assertEquals(979264375, x -= (((x>>(1950008052))%((2917183569.0209)*(tmp = 1184250640.446752, tmp)))|((((tmp = -691875212, tmp)-(-2872881803))>>(tmp = 44162204.97461021, tmp))^(tmp = 865885647, tmp))));
- assertEquals(-1127813632, x <<= ((((tmp = -2210499281, tmp)>>>x)-(tmp = 2359697240, tmp))-x));
- assertEquals(-1707799657, x ^= (653518231.3995534));
- assertEquals(2916579668449318000, x *= x);
- assertEquals(2916579669254640600, x += (x&(tmp = 2986558026.399422, tmp)));
- assertEquals(870995175, x ^= (2598813927.8991632));
- assertEquals(870995175, x %= (-2857038782));
- assertEquals(1869503575895591000, x *= (x|(x|(((tmp = 2478650307.4118147, tmp)*((tmp = 2576240847.476932, tmp)>>>x))<<x))));
- assertEquals(-134947790, x |= ((tmp = 1150911808, tmp)*((2847735464)/(-2603172652.929262))));
- assertEquals(-137053182, x -= ((tmp = 2155921819.0929346, tmp)>>>(x-(((-1960937402)-(-1907735074.2875962))%((1827808310)^(tmp = -2788307127, tmp))))));
- assertEquals(-134824702, x |= (((2912578752.2395406)^(x%(((-2585660111.0638976)<<(((((tmp = 747742706, tmp)%(-1630261205))&((((x|(x|(-2619903144.278758)))|((2785710568.8651934)>>((-968301967.5982246)<<(x&x))))>>((x>>>((x>>>(tmp = -1402085797.0310762, tmp))*((tmp = -323729645.2250068, tmp)<<(tmp = 2234667799, tmp))))>>>(-167003745)))>>((924665972.4681011)<<x)))>>>x)<<((((x+x)+x)-(((tmp = 2399203431.0526247, tmp)-(-2872533271))-(((tmp = 914778794.2087344, tmp)-(tmp = 806353942.9502392, tmp))|(((tmp = 262924334.99231672, tmp)&x)|(tmp = -460248836.5602243, tmp)))))/x)))%((-1681000689)/(tmp = -2805054623.654228, tmp)))))*(tmp = 957346233.9619625, tmp)));
- assertEquals(-3274838, x %= ((((tmp = 3155450543.3524327, tmp)>>>x)<<(tmp = 2103079652.3410985, tmp))>>x));
- assertEquals(-3274838, x |= ((((tmp = 2148004645.639173, tmp)>>>(tmp = -1285119223, tmp))<<(((((-711596054)>>>(tmp = -2779776371.3473206, tmp))^(((((tmp = -1338880329.383915, tmp)<<((-1245247254.477341)>>x))*(tmp = -2649052844.20065, tmp))>>((1734345880.4600453)%(x/(2723093117.118899))))*(1252918475.3285656)))<<(2911356885))^x))<<(-1019761103)));
- assertEquals(1703281954, x &= (((tmp = 1036570471.7412028, tmp)+((tmp = 3043119517, tmp)%(2374310816.8346715)))%(tmp = -2979155076, tmp)));
- assertEquals(1741588391, x |= ((tmp = 1230009575.6003838, tmp)>>>(-1247515003.8152597)));
- assertEquals(72869474.64782429, x %= (tmp = 1668718916.3521757, tmp));
- assertEquals(770936242.104203, x += (698066767.4563787));
- assertEquals(-0.2820604726420833, x /= (tmp = -2733230342, tmp));
- assertEquals(403480578, x |= ((969730374)&(tmp = 1577889835, tmp)));
- assertEquals(-1669557233, x ^= ((-1616812135)+(tmp = -456209292, tmp)));
- assertEquals(-1630427, x >>= ((2327783031.1175823)/(226947662.4579488)));
- assertEquals(131022, x >>>= ((tmp = -1325018897.2482083, tmp)>>(x&((((((-1588579772.9240348)<<(tmp = -1775580288.356329, tmp))<<(tmp = -1021528325.2075481, tmp))>>((tmp = 2373033451.079956, tmp)*(tmp = 810304612, tmp)))-((tmp = -639152097, tmp)<<(tmp = 513879484, tmp)))&(2593958513)))));
- assertEquals(1, x >>= ((3033200222)-x));
- assertEquals(-561146816.4851823, x += (tmp = -561146817.4851823, tmp));
- assertEquals(-4.347990105831158, x /= ((((-1270435902)*x)%((tmp = 637328492.7386824, tmp)-(x>>(-749100689))))%(x+x)));
- assertEquals(-1, x >>= x);
- assertEquals(1, x *= x);
- assertEquals(111316849706694460, x += ((966274056)*(x|(115202150))));
- assertEquals(-1001883840, x >>= x);
- assertEquals(-1001883840, x &= x);
- assertEquals(-3006880758, x += ((((-2275110637.4054556)/((x+(tmp = -1390035090.4324536, tmp))>>(-5910593)))&(tmp = 378982420, tmp))|(tmp = 2289970378.568629, tmp)));
- assertEquals(314474, x >>>= (x>>((tmp = -228007336.31281257, tmp)%(tmp = 1127648013, tmp))));
- assertEquals(-17694827, x ^= ((tmp = 2095133598.1849852, tmp)|(-1978322311)));
- assertEquals(1, x /= x);
- assertEquals(1, x %= (-2323617209.7531185));
- assertEquals(0, x >>>= (x*(tmp = -1574455400.489434, tmp)));
- assertEquals(0, x >>= (3131854684));
- assertEquals(2853609824, x += ((-231012098)-(tmp = -3084621922, tmp)));
- assertEquals(8143089027629311000, x *= x);
- assertEquals(313052685, x ^= (tmp = 2962303501, tmp));
- assertEquals(4776, x >>= (tmp = 2271457232, tmp));
- assertEquals(0.000002812258572702285, x /= (tmp = 1698279115, tmp));
- assertEquals(0, x >>>= (tmp = 1698465782.0927145, tmp));
- assertEquals(0, x <<= x);
- assertEquals(0, x |= ((x<<((-1824760240.3040407)<<(2798263764.39145)))&(tmp = 1795988253.0493627, tmp)));
- assertEquals(1782206945, x ^= (-2512760351.7881565));
- assertEquals(7610569113843172000, x *= (((tmp = -44415823.92972565, tmp)&(tmp = 1402483498.9421625, tmp))+(tmp = 2909778666, tmp)));
- assertEquals(15221138227873292000, x += (x-(tmp = -186948658.394145, tmp)));
- assertEquals(0, x -= x);
- assertEquals(-2238823252, x -= ((tmp = 2238823252, tmp)+x));
- assertEquals(0, x -= x);
- assertEquals(0, x >>= (2976069570));
- assertEquals(0, x >>= ((tmp = -2358157433, tmp)/x));
- assertEquals(-949967713, x ^= (tmp = -949967713, tmp));
- assertEquals(-1, x >>= x);
- assertEquals(-1522291702.1977966, x *= (1522291702.1977966));
- assertEquals(-1522291702, x >>= ((((2290279800)|x)|(1793154434.6798015))&((-1161390929.0766077)>>>x)));
- assertEquals(83894274, x &= (tmp = 1571058486, tmp));
- assertEquals(43186847.90522933, x += ((tmp = -1131332988.0947707, tmp)%x));
- assertEquals(0, x >>= (tmp = -1968312707.269359, tmp));
- assertEquals(0, x &= (2507747643.26175));
- assertEquals(0, x %= (tmp = 3190525303.366887, tmp));
- assertEquals(-1968984602, x ^= (((x/(x|(-1607062026.5338054)))<<(tmp = 2207669861.8770065, tmp))+(tmp = 2325982694.956348, tmp)));
- assertEquals(554, x >>>= (((tmp = -2302283871.993821, tmp)>>>(-3151835112))|(((((x%(-1534374264))/((731246012)<<(((883830997.1194847)<<(((-1337895080.1937215)/(tmp = 3166402571.8157315, tmp))^(tmp = -1563897595.5799441, tmp)))>>(tmp = -556816951.0537591, tmp))))>>(-2682203577))<<(x/((1654294674.865079)+x)))/((x^(-2189474695.4259806))/(-475915245.7363057)))));
- assertEquals(1372586111, x ^= (1372586581));
- assertEquals(1166831229, x -= ((-834168138)&(762573579)));
- assertEquals(2333662456, x -= ((x>>x)-x));
- assertEquals(-1961304840, x &= x);
- assertEquals(-2130143128, x &= (2982852718.0711775));
- assertEquals(1073741824, x <<= (-1446978661.6426942));
- assertEquals(2097152, x >>>= ((-1424728215)-(((127872198)%(tmp = -2596923298, tmp))&x)));
- assertEquals(2097152, x >>>= x);
- assertEquals(0, x &= (x/(tmp = -518419194.42994523, tmp)));
- assertEquals(0, x >>= ((x/(-1865078245))%(tmp = 2959239210, tmp)));
- assertEquals(-0, x *= ((x|(-1721307400))|(-3206147171.9491577)));
- assertEquals(0, x >>>= ((-694741143)&(tmp = -2196513947.699142, tmp)));
- assertEquals(0, x <<= x);
- assertEquals(0, x &= ((tmp = 2037824385.8836646, tmp)+((tmp = 1203034986.4647732, tmp)/(x>>>(((-1374881234)/(899771270.3237157))+((-2296524362.8020077)|(-1529870870)))))));
- assertEquals(0, x >>= (tmp = 2770637816, tmp));
- assertEquals(0, x ^= x);
- assertEquals(-1861843456, x |= ((632402668)*((x|(tmp = -1032952662.8269436, tmp))|(tmp = 2671272511, tmp))));
- assertEquals(-1861843456, x >>= (((x>>>x)+x)<<(-1600908842)));
- assertEquals(-58182608, x >>= (x-(tmp = -2496617861, tmp)));
- assertEquals(-3636413, x >>= (tmp = -400700028, tmp));
- assertEquals(-7272826, x += x);
- assertEquals(-1, x >>= ((tmp = -3184897005.3614545, tmp)-((-1799843014)|(tmp = 2832132915, tmp))));
- assertEquals(-121800925.94209385, x *= (121800925.94209385));
- assertEquals(-30450232, x >>= (-979274206.6261561));
- assertEquals(-30450232, x >>= (tmp = -1028204832.5078967, tmp));
- assertEquals(-30450232, x |= x);
- assertEquals(965888871, x ^= (((((-2157753481.3375635)*((tmp = -1810667184.8165767, tmp)&((tmp = 2503908344.422232, tmp)|x)))>>(x>>(1601560785)))<<x)^(tmp = 943867311.6380403, tmp)));
- assertEquals(7546006, x >>>= x);
- assertEquals(7546006, x <<= ((tmp = 1388931761.780241, tmp)*(x-(tmp = -1245147647.0070577, tmp))));
- assertEquals(12985628, x += (x&(-1520746354)));
- assertEquals(12985628, x &= x);
- assertEquals(12985628, x %= (tmp = 308641965, tmp));
- assertEquals(685733278, x |= ((tmp = -1275653544, tmp)-((tmp = -1956798010.3773859, tmp)%(tmp = 2086889575.643448, tmp))));
- assertEquals(679679376, x &= (2860752368));
- assertEquals(1770773904, x |= (x<<(3200659207)));
- assertEquals(1224886544, x &= (-585733767.6876519));
- assertEquals(1224886544, x %= ((tmp = -114218494, tmp)-x));
- assertEquals(1208109328, x &= (tmp = 1854361593, tmp));
- assertEquals(18434, x >>>= x);
- assertEquals(-349394636955256100, x *= (x*(-1028198742)));
- assertEquals(-519536600.7713163, x %= (-1054085356.9120367));
- assertEquals(-1610612736, x ^= ((tmp = -3126078854, tmp)&x));
- assertEquals(-2637321565906333700, x *= (1637464740.5658746));
- assertEquals(-2637321568051070500, x -= ((tmp = -1006718806, tmp)<<(3005848133.106345)));
- assertEquals(368168695, x ^= (x^(tmp = 368168695.6881037, tmp)));
- assertEquals(43, x >>>= x);
- assertEquals(-2081297089, x |= ((167169305.77248895)+(-2248466405.3199244)));
- assertEquals(-2474622167, x -= (tmp = 393325078, tmp));
- assertEquals(-135109701, x %= (-1169756233));
- assertEquals(0, x ^= x);
- assertEquals(0, x >>= (((((tmp = -164768854, tmp)/(tmp = -1774989993.1909926, tmp))+x)-((-921438912)>>(tmp = -191772028.69249105, tmp)))-(tmp = 558728578.22033, tmp)));
- assertEquals(0, x %= (tmp = 2188003745, tmp));
- assertEquals(0, x <<= (((tmp = -999335540, tmp)>>((((325101977)/(tmp = -3036991542, tmp))<<(tmp = -213302488, tmp))+x))|(tmp = -1054204587, tmp)));
- assertEquals(0, x &= ((2844053429.4720345)>>>x));
- assertEquals(NaN, x %= x);
- assertEquals(NaN, x -= (-1481729275.9118822));
- assertEquals(NaN, x *= (tmp = 1098314618.2397528, tmp));
- assertEquals(-1073741824, x ^= ((tmp = 1718545772, tmp)<<(((tmp = -81058910, tmp)-(2831123087.424368))+(tmp = 576710057.2361784, tmp))));
- assertEquals(-2921155898.4793186, x -= (1847414074.4793184));
- assertEquals(-1295646720, x <<= (2178621744));
- assertEquals(-0.8906779709597907, x /= ((tmp = -2840292585.6837263, tmp)<<(x&((tmp = 892527695.6172305, tmp)>>>x))));
- assertEquals(0, x <<= (((tmp = 3149667213.298993, tmp)>>(tmp = 1679370761.7226725, tmp))^(115417747.21537328)));
- assertEquals(0, x |= x);
- assertEquals(0, x %= ((-1112849427)>>(-1245508870.7514496)));
- assertEquals(0, x &= x);
- assertEquals(0, x |= x);
- assertEquals(0, x >>>= ((3144100694.930459)>>>(tmp = 2408610503, tmp)));
- assertEquals(0, x <<= ((tmp = 2671709754.0318713, tmp)%x));
- assertEquals(0, x >>>= (x|((tmp = -3048578701, tmp)-(674147224))));
- assertEquals(NaN, x %= x);
- assertEquals(0, x &= ((tmp = -2084883715, tmp)|(((((-3008427069)+(875536047.4283574))>>>x)%(tmp = -450003426.1091652, tmp))%(((-2956878433.269356)|(x/((((x%((((((x<<(((tmp = -1581063482.510351, tmp)^x)-(tmp = 1364458217, tmp)))^((tmp = 1661446342, tmp)+(1307091014)))/(342270750.9901335))>>>(x&((1760980812.898993)&((tmp = 2878165745.6401143, tmp)/(((tmp = -981178013, tmp)/(-2338761668.29912))>>(-958462630))))))*((1807522840)^((tmp = 1885835034, tmp)^(-2538647938))))*(1673607540.0854697)))%x)>>x)<<x)))<<(853348877.2407281)))));
- assertEquals(0, x >>>= x);
- assertEquals(-1162790279, x -= (1162790279));
- assertEquals(-1162790279, x >>= (((-490178658)*x)/((((((tmp = -1883861998.6699312, tmp)/(tmp = -2369967345.240594, tmp))+(3142759868.266447))&(508784917.8158537))&x)>>(-2129532322))));
- assertEquals(-1360849740.9829152, x -= (x+(1360849740.9829152)));
- assertEquals(1928392181, x ^= (-602670783));
- assertEquals(19478708.898989897, x /= (((-2617861994)>>(tmp = 797256920, tmp))%(-1784987906)));
- assertEquals(-8648903.575540157, x *= (((tmp = 673979276, tmp)/(-1517908716))%(x/x)));
- assertEquals(-8648903.575540157, x %= ((((643195610.4221292)>>>(tmp = 2342669302, tmp))>>>(tmp = -1682965878, tmp))^((tmp = -208158937.63443017, tmp)>>((907286989)&(x<<(448634893))))));
- assertEquals(1399288769, x ^= (tmp = -1407486728, tmp));
- assertEquals(0, x &= (((1999255838.815517)/(tmp = 564646001, tmp))/(-3075888101.3274765)));
- assertEquals(0, x ^= ((-78451711.59404826)%x));
- assertEquals(-1351557131, x |= (2943410165));
- assertEquals(1715626371, x -= (-3067183502));
- assertEquals(71434240, x &= ((-1800066426)<<(((((x<<(-324796375))+x)<<(tmp = 2696824955.735132, tmp))^x)%(tmp = 444916469, tmp))));
- assertEquals(71434240, x >>>= (((x&((x%x)|x))+(tmp = 2226992348.3050146, tmp))<<(-305526260)));
- assertEquals(0, x -= (x%(tmp = 582790928.5832802, tmp)));
- assertEquals(0, x *= ((x%(1865155340))>>>((x<<(2600488191))^(-308995123))));
- assertEquals(0, x >>= (x&(-3120043868.8531103)));
- assertEquals(0, x |= x);
- assertEquals(-0, x *= (tmp = -172569944, tmp));
- assertEquals(0, x <<= (-1664372874));
- assertEquals(1377713344.6784928, x += (tmp = 1377713344.6784928, tmp));
- assertEquals(1377713344, x |= x);
- assertEquals(-232833282, x |= (tmp = 2685870654, tmp));
- assertEquals(84639, x -= (((((2778531079.998492)%(2029165314))>>>(tmp = -468881172.3729558, tmp))^x)|((x>>>((((x%(3044318992.943596))&(1996754328.2214756))^(1985227172.7485228))%(tmp = -1984848676.1347625, tmp)))|((tmp = 2637662639, tmp)<<x))));
- assertEquals(0, x ^= x);
- assertEquals(1237720303, x -= (-1237720303));
- assertEquals(2, x >>= (-2148785379.428976));
- assertEquals(2, x &= (tmp = -3087007874, tmp));
- assertEquals(0, x %= x);
- assertEquals(0, x >>>= x);
- assertEquals(0, x >>>= x);
- assertEquals(0, x += x);
- assertEquals(0, x &= (2055693082));
- assertEquals(-1349456492, x += (x^(-1349456492.315998)));
- assertEquals(671088640, x <<= (x>>(-2030805724.5472062)));
- assertEquals(-417654580004782100, x *= (tmp = -622353822, tmp));
- assertEquals(1538160360, x |= (195983080.56698656));
- assertEquals(733, x >>>= (tmp = 661085269, tmp));
- assertEquals(657, x &= (-1611460943.993404));
- assertEquals(431649, x *= x);
- assertEquals(863298, x += x);
- assertEquals(0, x &= ((1899423003)/((472439729)>>((tmp = 2903738952, tmp)+(tmp = 2164601630.3456993, tmp)))));
- assertEquals(0, x &= (x>>>(tmp = 1939167951.2828958, tmp)));
- assertEquals(1557813284, x |= (x-(-1557813284)));
- assertEquals(72876068, x &= (662438974.2372154));
- assertEquals(0.6695448637501589, x /= (tmp = 108844189.45702457, tmp));
- assertEquals(0, x -= x);
- assertEquals(2944889412, x += (2944889412));
- assertEquals(3787980288, x -= ((((tmp = -2003814373.2301111, tmp)<<x)>>>(tmp = -3088357284.4405823, tmp))-(843090884)));
- assertEquals(1, x >>>= (729274079));
- assertEquals(1, x %= (-148002187.33869123));
- assertEquals(3073988415.673201, x *= (tmp = 3073988415.673201, tmp));
- assertEquals(4839166225.673201, x += (tmp = 1765177810, tmp));
- assertEquals(4529373898.673201, x += (-309792327));
- assertEquals(3097903.090496063, x %= (-150875866.51942348));
- assertEquals(1270874112, x <<= ((((((tmp = -960966763.1418135, tmp)>>((((-3208596981.613482)>>>(tmp = 746403937.6913509, tmp))>>>(-2190042854.066803))/(2449323432)))*(-1272232665.791577))<<(-99306767.7209444))^((-1942103828)/((1570981655)/(tmp = 2381666337, tmp))))+(tmp = -1946759395.1558368, tmp)));
- assertEquals(1273845956, x |= (tmp = -3197282108.6120167, tmp));
- assertEquals(159230744, x >>= (((tmp = -1036031403.8108604, tmp)>>>(((3084964493)>>((x*x)^x))+(((2980108409.352001)^x)-(tmp = -2501685423.513927, tmp))))&(326263839)));
- assertEquals(-370091747145550100, x *= (tmp = -2324248055.674161, tmp));
- assertEquals(143384219.54999557, x /= (tmp = -2581119096, tmp));
- assertEquals(1843396287, x |= (tmp = 1842718767, tmp));
- assertEquals(2.4895593465813803, x /= (740450831));
- assertEquals(2.4895593465813803, x %= ((((((((-3175333618)>>>((tmp = -1403880166, tmp)<<(tmp = -134875360, tmp)))>>>(2721317334.998084))<<(x&(tmp = 2924634208.1484184, tmp)))*((((x>>(tmp = -200319931.15328693, tmp))-(tmp = -495128933, tmp))+((-788052518.6610589)*((((tmp = 107902557, tmp)&(1221562660))%(x<<(((3155498059)*(((tmp = -1354381139.4897022, tmp)^(tmp = 3084557138.332852, tmp))*((((tmp = 1855251464.8464525, tmp)/((-1857403525.2008865)>>x))|x)-(-2061968455.0023944))))*(1917481864.84619))))^(x-(-508176709.52712965)))))+((((x%(-1942063404))+(x%(tmp = 855152281.180481, tmp)))|(-522863804))>>x)))>>>((tmp = -2515550553, tmp)&(((((-801095375)-(tmp = -2298729336.9792976, tmp))^x)/(tmp = 2370468053, tmp))>>(x|(tmp = -900008879, tmp)))))>>>(((tmp = -810295719.9509168, tmp)*((tmp = -1306212963.6226444, tmp)/(((tmp = 3175881540.9514832, tmp)|(-1439142297.819246))+((tmp = -134415617, tmp)|((-245801870)+x)))))>>(tmp = 1889815478, tmp)))-(((tmp = 597031177, tmp)%(858071823.7655672))+((tmp = 2320838665.8243756, tmp)|((938555608)<<(2351739219.6461897))))));
- assertEquals(6.197905740150709, x *= x);
- assertEquals(1, x /= x);
- assertEquals(0, x >>= (-1639664165.9076233));
- assertEquals(0, x >>= (-3135317748.801177));
- assertEquals(0, x &= (3185479232.5325994));
- assertEquals(-0, x *= ((-119759439.19668174)/(tmp = 2123964608, tmp)));
- assertEquals(0, x /= (-1183061929.2827876));
- assertEquals(0, x <<= (-1981831198));
- assertEquals(0, x >>= ((((x<<(((((((-2133752838)&((tmp = -3045157736.9331336, tmp)>>>(x%x)))>>x)%(tmp = 3082217039, tmp))&(tmp = 270770770.97558427, tmp))|((-2212037556)^((((((2089224421)|(tmp = 360979560, tmp))<<x)%((tmp = -1679487690.6940534, tmp)+((173021423)|((tmp = 560900612, tmp)+((244376267.58977115)^x)))))<<(tmp = 2534513699, tmp))^x)))>>>(2915907189.4873834)))+(x*x))%(1637581117))%(tmp = 2363861105.3786244, tmp)));
- assertEquals(0, x &= ((-2765495757.873004)&(1727406493)));
- assertEquals(NaN, x -= (((((-1419667515.2616255)|x)-(150530256.48022234))%((((x|x)<<x)>>>(x^x))+x))-((-1216384577.3749187)*(495244398))));
- assertEquals(NaN, x += (x^((tmp = 2472035493, tmp)+x)));
- assertEquals(NaN, x %= ((tmp = -1753037412.885754, tmp)|((tmp = 2507058310, tmp)<<(1475945705))));
- assertEquals(-1008981005, x |= ((tmp = -1140889842.6099494, tmp)-(tmp = -131908837, tmp)));
- assertEquals(999230327.5872104, x -= (tmp = -2008211332.5872104, tmp));
- assertEquals(975810, x >>= (((-1211913874)*x)>>>((-2842129009)>>(x&(tmp = -1410865834, tmp)))));
- assertEquals(7623, x >>= ((tmp = -1051327071, tmp)-(((tmp = -237716102.8005445, tmp)|((2938903833.416546)&x))|(((-1831064579)^x)/((tmp = 2999232092, tmp)-(981996301.2875179))))));
- assertEquals(0, x -= x);
- assertEquals(0, x %= (x|(tmp = -666201160.5810485, tmp)));
- assertEquals(-1347124100, x |= (-1347124100));
- assertEquals(-0, x %= (x&x));
- assertEquals(-661607963, x ^= (tmp = -661607963.3794863, tmp));
- assertEquals(3465, x >>>= (-828119020.8056595));
- assertEquals(-268431991, x -= (((tmp = -1386256352, tmp)^((tmp = 743629575, tmp)%((x*((tmp = -1719517658, tmp)>>(2019516558)))<<((2637317661)|x))))<<(tmp = -51637065, tmp)));
- assertEquals(1578876380, x += ((tmp = 1847308371, tmp)&(((((((tmp = 1487934776.1893163, tmp)%(tmp = 1423264469.3137975, tmp))|(((2653260792.5668964)/(-2417905016.043802))>>>(2097411118.4501896)))^x)^(((tmp = -71334226, tmp)|x)>>>(tmp = -2771758874.7696714, tmp)))^((tmp = -1464849031.3240793, tmp)%(tmp = 2349739690.6430283, tmp)))/x)));
- assertEquals(3269293934, x += (1690417554));
- assertEquals(4025392608.031957, x -= (((tmp = 268501120.7225704, tmp)<<(tmp = 2841620654.8903794, tmp))+((tmp = 1606704462.8455591, tmp)/((-2601879963)/(tmp = 2966620168.989736, tmp)))));
- assertEquals(7, x >>>= (x^(-1913800035)));
- assertEquals(1.4326776816275493e-8, x /= ((((tmp = -2703417892, tmp)/x)^((-2693772270.396241)>>>((x-(tmp = 615999818.5666655, tmp))>>((((2308121439.3702726)<<((-1794701502)>>(x+(tmp = -2253406035.972883, tmp))))<<((tmp = -197103799.0624652, tmp)|(629975898)))>>>x))))>>>((tmp = 2833656803, tmp)^(x^(tmp = -1580436025, tmp)))));
- assertEquals(0, x >>>= (tmp = 1525372830.2126007, tmp));
- assertEquals(0, x %= ((2354010949.24469)>>>(x<<x)));
- assertEquals(0, x ^= (((1112335059.6922574)*(tmp = -1874363935, tmp))&(((((2154894295.8360596)<<x)&(tmp = -270736315.13505507, tmp))&x)>>>(-2205692260.552064))));
- assertEquals(0, x >>>= (x<<((1488533932)*(tmp = 1707754286, tmp))));
- assertEquals(0, x >>= (((tmp = 1232547376.463387, tmp)%((x>>(711691823.1608362))>>>x))>>(((895039781.7478573)*(((((-334946524)&x)*(tmp = -1214529640, tmp))^(tmp = -1586820245, tmp))*(1062595445)))+x)));
- assertEquals(0, x *= (1863299863.2631998));
- assertEquals(0, x /= (tmp = 1858428705.1330547, tmp));
- assertEquals(0, x &= x);
- assertEquals(611788028, x += (x^(611788028.1510412)));
- assertEquals(1, x /= x);
- assertEquals(0, x >>= ((tmp = -1617320707.1784317, tmp)-((-2139400380)-(-1402777976))));
- assertEquals(0, x >>= (415866827.34665));
- assertEquals(-1990811897, x -= (tmp = 1990811897, tmp));
- assertEquals(-1990811895, x += ((x>>>(tmp = -2175453282.769696, tmp))&(tmp = -1459450498.7327478, tmp)));
- assertEquals(-2377017935.149517, x += (-386206040.1495173));
- assertEquals(1946129845, x |= (tmp = -2890956796.936539, tmp));
- assertEquals(0, x %= x);
- assertEquals(0, x <<= (1616188263));
- assertEquals(-1081213596, x ^= (tmp = 3213753700, tmp));
- assertEquals(3213753700, x >>>= (tmp = -3211181312, tmp));
- assertEquals(-1081213596, x &= x);
- assertEquals(-1081213583, x ^= (((tmp = 1599988273.4926577, tmp)>>((((-1061394954.6331315)^x)+((-1835761078)*x))+(x%(tmp = -696221869, tmp))))/((tmp = -1156966790.3436491, tmp)^x)));
- assertEquals(0, x ^= x);
- assertEquals(NaN, x /= x);
- assertEquals(NaN, x += (-1257400530.9263027));
- assertEquals(NaN, x /= (753062089));
- assertEquals(NaN, x *= ((tmp = 305418865.57012296, tmp)^(((-2797769706)+((((tmp = -33288276.988654375, tmp)%(tmp = 1242979846, tmp))|(-316574800))-((tmp = -1766083579.4203427, tmp)*(((x*(tmp = -2400342309.2349987, tmp))>>(tmp = 2632061795, tmp))^(tmp = -1001440809, tmp)))))^((((x-(tmp = -1469542637.6925495, tmp))-x)-(3184196890))%(((((((633226688)*((tmp = -2692547856, tmp)>>(((tmp = -1244311756, tmp)>>>x)+((1746013631.405202)>>>(941829464.1962085)))))%(x-x))+(995681795))-(tmp = -3047070551.3642616, tmp))/(1968259705))-((-2853237880)^(tmp = -2746628223.4540343, tmp)))))));
- assertEquals(0, x >>= x);
- assertEquals(0.5713172378854926, x += (((x+(((x+x)/(tmp = 2642822318, tmp))*(-2590095885.4280834)))|(tmp = -1769210836, tmp))/(tmp = -3096722308.8665104, tmp)));
- assertEquals(-0.000002311097780334994, x /= ((2269858877.9010344)>>(-2992512915.984787)));
- assertEquals(-0.000002311097780334994, x %= (-1139222821));
- assertEquals(-0.000004622195560669988, x += x);
- assertEquals(1, x /= x);
- assertEquals(1, x >>>= (((3002169429.6061807)/(-3068577366))>>>((tmp = -1844537620, tmp)%((((tmp = 2087505119, tmp)>>>x)+x)&(2179989542)))));
- assertEquals(-534213071, x *= (-534213071));
- assertEquals(-534213077.3716287, x -= (((tmp = -2390432951.154034, tmp)^x)/(-290501980)));
- assertEquals(1836305, x >>>= (x&x));
- assertEquals(1836305, x %= ((x|((3070123855)^(49986396)))+((-1863644960.4202995)>>>((tmp = 1886126804.6019692, tmp)^x))));
- assertEquals(28692, x >>>= ((2561362139.491764)>>(((((tmp = -1347469854.7413375, tmp)/(((x|(x+x))^((x^(tmp = -2737413775.4595394, tmp))^x))<<(((tmp = 225344844.07128417, tmp)&x)&(tmp = 145794498, tmp))))*x)<<(1424529187))/((-2924344715)/(tmp = -2125770148, tmp)))));
- assertEquals(-2089419535.2717648, x += (-2089448227.2717648));
- assertEquals(18957929, x ^= (tmp = 2186590872, tmp));
- assertEquals(-708972800, x -= (727930729));
- assertEquals(-4198593, x |= (799483455.1885371));
- assertEquals(-1, x >>= (-2330654693.6413193));
- assertEquals(-1, x |= (((tmp = -116877155, tmp)>>>((((tmp = -1677422314.1333556, tmp)/(tmp = -3108738499.0798397, tmp))%((x&(x/x))%((tmp = -695607185.1561592, tmp)-(tmp = 2302449181.622259, tmp))))^(((-1482743646.5604773)^((897705064)>>>x))-(tmp = -2933836669, tmp))))%(((tmp = -2991584625, tmp)|(((x>>x)+(-1101066835))-x))>>(-33192973.819939613))));
- assertEquals(-1, x &= x);
- assertEquals(-524288, x <<= (-1177513101.3087924));
- assertEquals(1978770334.9189441, x += (tmp = 1979294622.9189441, tmp));
- assertEquals(901783582, x &= ((-368584615)^(((((-478030699.2647903)<<x)<<x)+(tmp = 708725752, tmp))^((tmp = -3081556856, tmp)/(tmp = 1149958711.0676727, tmp)))));
- assertEquals(-1480333211.8654308, x += (tmp = -2382116793.865431, tmp));
- assertEquals(956930239.6783283, x *= ((tmp = 956930239.6783283, tmp)/x));
- assertEquals(1277610.4668602513, x /= ((tmp = 1571029828, tmp)>>(tmp = 2417481141, tmp)));
- assertEquals(-1077333228, x ^= (tmp = 3218755006, tmp));
- assertEquals(-50218, x |= (tmp = -1044436526.6435988, tmp));
- assertEquals(-1, x >>= (-154655245.18921852));
- assertEquals(0.00006276207290978003, x *= (((tmp = 2234286992.9800305, tmp)>>(tmp = 2132564046.0696363, tmp))/((((tmp = -2565534644.3428087, tmp)>>>(tmp = 2622809851.043325, tmp))>>>((tmp = 311277386, tmp)&x))-(tmp = -2003980974, tmp))));
- assertEquals(0, x %= x);
- assertEquals(1282114076, x += ((((422838227)>>>((tmp = 1024613366.1899053, tmp)-((368275340)<<(((tmp = -3066121318, tmp)+(-2319101378))&x))))^(x>>(tmp = 1920136319.803412, tmp)))^(1282264803.3968434)));
- assertEquals(-277097604, x |= (-283585688.9123297));
- assertEquals(553816692, x &= (x&(tmp = 554082036.676608, tmp)));
- assertEquals(658505728, x <<= x);
- assertEquals(658505728, x &= (x%(2846071230)));
- assertEquals(39, x >>= (334728536.5172192));
- assertEquals(0, x -= x);
- assertEquals(0, x += x);
- assertEquals(0, x &= (tmp = -335285336, tmp));
- assertEquals(0, x <<= (tmp = 1255594828.3430014, tmp));
- assertEquals(0, x %= (-630772751.1248167));
- assertEquals(NaN, x /= ((((x&(tmp = -1576090612, tmp))%x)>>>x)*((-1038073094.2787619)>>>x)));
- assertEquals(NaN, x += x);
- assertEquals(NaN, x -= (((tmp = -2663887803, tmp)&((x+(-1402421046))/x))/(-2675654483)));
- assertEquals(NaN, x %= (x&(tmp = 672002093, tmp)));
- assertEquals(0, x |= x);
- assertEquals(-2698925754, x += (tmp = -2698925754, tmp));
- assertEquals(-2057748993, x += ((tmp = -2263466497, tmp)^x));
- assertEquals(1, x /= x);
- assertEquals(-2769559719.4045835, x -= (2769559720.4045835));
- assertEquals(-1.3964174646069973, x /= (tmp = 1983332198, tmp));
- assertEquals(-2140716624.3964174, x += (tmp = -2140716623, tmp));
- assertEquals(0, x <<= ((2589073007)-(-816764911.8571186)));
- assertEquals(-2837097288.161354, x -= (tmp = 2837097288.161354, tmp));
- assertEquals(-1445059927.161354, x += (tmp = 1392037361, tmp));
- assertEquals(155197984, x &= (tmp = -2694712730.924674, tmp));
- assertEquals(155197984, x |= (x>>>(tmp = 69118015.20305443, tmp)));
- assertEquals(155197984, x >>>= (((x^(-1353660241))*x)<<(((((x%(tmp = -1905584634, tmp))>>>(tmp = -860171244.5963638, tmp))&(-1084415001.7039547))+(x-(((tmp = 298064661, tmp)>>x)>>((tmp = 378629912.383446, tmp)-(x%x)))))+(((3212580683)/(((((x^x)>>(tmp = -1502887218, tmp))<<x)%(-142779025))|(((tmp = 1361745708, tmp)*(((((tmp = 1797072528.0673332, tmp)+x)%(tmp = 167297609, tmp))%(-287345856.1791787))^(((((((x*(tmp = -640510459.1514752, tmp))<<(x^(tmp = 1387982082.5646644, tmp)))>>(tmp = 2473373497.467914, tmp))^((234025940)*x))+(tmp = 520098202.9546956, tmp))*(x*(tmp = -362929250.1775775, tmp)))^(-2379972900))))*(tmp = -1385817972, tmp))))+(-1788631834)))));
- assertEquals(0, x >>= ((tmp = -18671049, tmp)/((tmp = 651261550.6716013, tmp)>>(-58105114.70740628))));
- assertEquals(0, x *= ((((x>>(tmp = 2256492150.737681, tmp))<<(x<<(((-2738910707)&x)<<(1892428322))))*(tmp = 1547934638, tmp))>>((((319464033.7888391)|(((((tmp = 2705641070, tmp)<<((tmp = 1566904759.36666, tmp)*((-682175559.7540412)&(-691692016.3021002))))%(tmp = 1118101737, tmp))|(902774462))<<x))^((tmp = -388997180, tmp)<<(x<<((((((-88462733)+(x>>>x))%x)*(tmp = -20297481.556210756, tmp))>>>(1927423855.1719701))-((2047811185.6278129)-(tmp = 2952219346.72126, tmp))))))|(-1685518403.7513878))));
- assertEquals(0, x /= (tmp = 1858074757.563318, tmp));
- assertEquals(-1351623058, x ^= (-1351623058.4756806));
- assertEquals(1, x /= x);
- assertEquals(0, x ^= x);
- assertEquals(0, x -= (x&(997878144.9798675)));
- assertEquals(-0, x /= (-2769731277));
- assertEquals(0, x >>>= ((-2598508325)>>(-1355571351)));
- assertEquals(0, x >>>= x);
- assertEquals(0, x -= (x&(tmp = 1672810223, tmp)));
- assertEquals(-924449908.1999881, x -= (924449908.1999881));
- assertEquals(-0, x %= x);
- assertEquals(-0, x /= (tmp = 2007131382.059545, tmp));
- assertEquals(-0, x += x);
- assertEquals(225132064, x += ((((tmp = -2422670578.1260514, tmp)|x)+x)^(1660142894.7066057)));
- assertEquals(Infinity, x /= (x-x));
- assertEquals(0, x ^= x);
- assertEquals(0, x <<= x);
- assertEquals(-2455424946.732606, x -= (2455424946.732606));
- assertEquals(1208029258, x &= ((tmp = 1823728509, tmp)+x));
- assertEquals(1.3682499724725645, x /= ((((tmp = 1267938464.3854322, tmp)%((tmp = 2510853574, tmp)+(((2979355693.866435)-(tmp = 1989726095.7746763, tmp))<<x)))%((-1382092141.1627176)+(((-901799353)+((-2936414080.8254457)>>>(2515004943.0865674)))-(2532799222.353197))))<<(tmp = -2168058960.2694826, tmp)));
- assertEquals(0.13799826710735907, x %= ((-1090423235)/(tmp = 2659024727, tmp)));
- assertEquals(0, x >>= (1688542889.082693));
- assertEquals(0, x <<= x);
- assertEquals(NaN, x %= ((((tmp = 1461037539, tmp)<<((x<<(tmp = 2101282906.5302017, tmp))>>(-2792197742)))%(((x%x)^(((tmp = 1399565526, tmp)^(tmp = 643902, tmp))-((tmp = -1449543738, tmp)|x)))/x))*(x<<(471967867))));
- assertEquals(0, x &= ((tmp = -2121748100.6824129, tmp)>>(tmp = -2817271480.6497793, tmp)));
- assertEquals(0, x &= (3169130964.6291866));
- assertEquals(-0, x /= (-2303316806));
- assertEquals(0, x <<= (tmp = 120185946.51617038, tmp));
- assertEquals(449448375, x ^= ((((tmp = -836410266.014014, tmp)/x)&((x>>>(tmp = -2602671283, tmp))+x))+(tmp = 449448375, tmp)));
- assertEquals(202003841790140640, x *= x);
- assertEquals(202003840800829020, x += (((tmp = -1339865843, tmp)+(tmp = 350554234.15375435, tmp))<<((((((tmp = -1798499687.8208885, tmp)>>(((x-(x^x))|((tmp = 463627396.23932934, tmp)/(2714928060)))&(tmp = 3048222568.1103754, tmp)))&(-3127578553))<<(tmp = -2569797028.8299003, tmp))&x)<<((tmp = 2104393646, tmp)/((tmp = 2314471015.742891, tmp)<<((2704090554.1746845)>>(((tmp = 1935999696, tmp)*(((1348554815)>>>x)>>>(146665093.82445252)))%x)))))));
- assertEquals(202003841764125400, x -= (tmp = -963296372.2846234, tmp));
- assertEquals(-413485056, x <<= (tmp = -2474480506.6054573, tmp));
- assertEquals(-3171894580.186845, x += ((tmp = -1261111102, tmp)+(tmp = -1497298422.1868448, tmp)));
- assertEquals(17136, x >>= (tmp = 3055058160, tmp));
- assertEquals(17136, x %= (tmp = 1706784063.3577294, tmp));
- assertEquals(17136, x >>= ((tmp = 2161213808, tmp)*x));
- assertEquals(-17136, x /= ((((tmp = -1492618154, tmp)>>x)|(1381949066))>>(tmp = 2014457960, tmp)));
- assertEquals(-34272, x += x);
- assertEquals(-1498690902, x += (-1498656630));
- assertEquals(-1168674482, x ^= (486325220));
- assertEquals(-1168674482, x <<= ((x^x)*x));
- assertEquals(794521557347068000, x *= (-679848469));
- assertEquals(1.3330392590424505e+26, x *= (tmp = 167778866, tmp));
- assertEquals(0, x <<= (tmp = -2501540637.3664584, tmp));
- assertEquals(0, x >>>= (x-(x*(-890638026.1825848))));
- assertEquals(0, x %= ((-285010538.2813468)&(1314684460.7634423)));
- assertEquals(0, x -= x);
- assertEquals(0, x *= x);
- assertEquals(NaN, x %= (x*(x<<x)));
- assertEquals(NaN, x %= (x<<(((tmp = -1763171810.601149, tmp)&(-138151449.18303752))^(x|x))));
- assertEquals(0, x |= (x>>x));
- assertEquals(0, x &= (tmp = 1107152048, tmp));
- assertEquals(0, x >>= (1489117056.8200984));
- assertEquals(518749976, x ^= (518749976.20107937));
- assertEquals(356718654, x += (tmp = -162031322, tmp));
- assertEquals(356718654, x %= (((x>>>((tmp = -373747439.09634733, tmp)*(tmp = 563665566, tmp)))*(tmp = 2853322586.588251, tmp))*((1303537213)%(-2995314284))));
- assertEquals(5573728, x >>= (tmp = -2095997978, tmp));
- assertEquals(5573728, x <<= x);
- assertEquals(5573728, x >>= (((((tmp = 1745399178.334154, tmp)<<(tmp = 2647999783.8219824, tmp))^(tmp = 1571286759, tmp))%x)/(2166250345.181711)));
- assertEquals(10886, x >>>= ((682837289)+(x*x)));
- assertEquals(170, x >>>= x);
- assertEquals(169.95167497151652, x -= (((tmp = 527356024.19706845, tmp)+((tmp = 1263164619.2954736, tmp)|(tmp = 2942471886, tmp)))/((3017909419.131321)+(tmp = 2137746252.8006272, tmp))));
- assertEquals(-1915170061, x ^= (tmp = -1915170214, tmp));
- assertEquals(206045792, x &= (((tmp = 887031922, tmp)>>>x)-((-1861922770)|(9633541))));
- assertEquals(-1940321674, x |= (tmp = -2012149162.1817405, tmp));
- assertEquals(-1940321674, x &= x);
- assertEquals(1128412272.160699, x += (tmp = 3068733946.160699, tmp));
- assertEquals(0.47486363523180236, x /= (tmp = 2376286976.807289, tmp));
- assertEquals(-1.4931079540252477e-10, x /= (tmp = -3180370407.5892467, tmp));
- assertEquals(0, x |= (((1220765170.5933602)*(884017786))*((x%(tmp = -2538196897.226384, tmp))<<(x^x))));
- assertEquals(-525529894, x += (tmp = -525529894, tmp));
- assertEquals(1621426184, x &= ((3046517714)*(((((-162481040.8033898)+(x/((x&(1489724492))/((x|(tmp = 943542303, tmp))>>>((-1840491388.1365871)<<(2338177232))))))+(((-2268887573.2430763)>>>(((tmp = 2919141667, tmp)+((tmp = 1326295559.692003, tmp)<<(-2256653815)))>>>(((((tmp = 1602731976.7514615, tmp)*(856036244.3730336))^x)>>>((((2846316421.252943)&(915324162))%(tmp = 1144577211.0221815, tmp))%x))*(x*x))))%(tmp = -2641416560, tmp)))*(x+(x>>>x)))>>x)));
- assertEquals(1621426184, x %= (tmp = 1898223948, tmp));
- assertEquals(-3.383396676504762, x /= ((tmp = 2211088034.5234556, tmp)^x));
- assertEquals(7120923705.122882, x *= (((((tmp = 2632382342.914504, tmp)/(-615440284.1762738))&(2162453853.6658797))<<(-849038082.5298986))|(tmp = -2104667110.5603983, tmp)));
- assertEquals(-1469010887, x &= x);
- assertEquals(850767635866964700, x *= (tmp = -579143179.5338116, tmp));
- assertEquals(0, x %= x);
- assertEquals(-571457, x |= ((2849326490.8464212)|(tmp = 1450592063, tmp)));
- assertEquals(-571457, x &= x);
- assertEquals(-0.00018638416434019244, x /= (3066016912.021368));
- assertEquals(0, x <<= (2058262829));
- assertEquals(NaN, x %= ((x|((x%x)>>>x))%((tmp = -2970314895.6974382, tmp)+x)));
- assertEquals(NaN, x *= (-698693934.9483855));
- assertEquals(NaN, x += (-100150720.64391875));
- assertEquals(NaN, x %= x);
- assertEquals(NaN, x -= (-530301478));
- assertEquals(NaN, x /= (1507673244));
- assertEquals(0, x <<= (x%(tmp = 2977838420.857235, tmp)));
- assertEquals(0, x <<= (tmp = 3200877763, tmp));
- assertEquals(0, x <<= (tmp = -2592127060, tmp));
- assertEquals(NaN, x -= (((((((1930632619)*(3018666359))<<((tmp = 2676511886, tmp)&(-2786714482.25468)))%x)-(-633193192))<<((tmp = 403293598, tmp)*(-2765170226)))%x));
- assertEquals(530062092, x |= (tmp = 530062092, tmp));
- assertEquals(129409, x >>>= x);
- assertEquals(-152430382316341.78, x *= (-1177896300.229055));
- assertEquals(-304860764632683.56, x += x);
- assertEquals(0, x ^= x);
- assertEquals(0, x %= (tmp = -63071565.367660046, tmp));
- assertEquals(0, x &= ((((tmp = -1007464338, tmp)<<(x<<((x^(tmp = -726826835, tmp))|x)))>>>x)*(((tmp = 469293335.9161849, tmp)<<(((((tmp = 1035077379, tmp)*(tmp = -555174353.7567515, tmp))&(3109222796.8286266))-(((((x-(tmp = 1128900353.6650414, tmp))|(tmp = 3119921303, tmp))&((-1353827690)&(x%((-924615958)&x))))>>>x)+(tmp = 1167787910, tmp)))+x))%((605363594)>>(1784370958.269381)))));
- assertEquals(0, x %= (2953812835.9781704));
- assertEquals(0, x -= x);
- assertEquals(0, x <<= x);
- assertEquals(-901209266, x += (-901209266));
- assertEquals(-901209266, x &= x);
- assertEquals(404, x >>>= (-3195686249));
- assertEquals(824237108, x ^= (824237472));
- assertEquals(497790936.1853996, x /= ((tmp = 1253776028, tmp)/(757207285)));
- assertEquals(497790936, x >>>= ((tmp = -2212598336, tmp)<<(x^(1335355792.9363852))));
- assertEquals(0, x %= x);
- assertEquals(-2659887352.6415873, x += (tmp = -2659887352.6415873, tmp));
- assertEquals(1635079945, x |= ((x&(1234659380))>>((((tmp = 2694276886.979136, tmp)|x)^((tmp = 132795582, tmp)<<((-1089828902)>>>x)))<<((((tmp = -2098728613.0310376, tmp)<<(x/(tmp = -2253865599, tmp)))*((x+(x>>>((48633053.82579231)-(385301592))))*(tmp = -1847454853.333535, tmp)))/((-540428068.8583717)+x)))));
- assertEquals(1, x /= x);
- assertEquals(33554432, x <<= ((((2803140769)<<x)|(tmp = -1965793804, tmp))>>>(tmp = -2273336965.575082, tmp)));
- assertEquals(67108864, x += x);
- assertEquals(9007199254740992, x *= (x+((x>>x)%(2674760854))));
- assertEquals(55369784, x %= (x|(-170725544.20038843)));
- assertEquals(55369784, x %= (-1186186787));
- assertEquals(0, x ^= x);
- assertEquals(0, x <<= x);
- assertEquals(NaN, x /= ((-2968110098)-((x/(x|(((((x|((x&((-130329882)>>>(((-135670650)|(x<<(tmp = 1280371822, tmp)))^x)))-(-1183024707.2230911)))&(-1072829280))>>>(-340696948.41492534))>>>(tmp = 436308526.4938295, tmp))<<(((tmp = 3113787500, tmp)*((2038309320)>>>(-1818917055)))&((2808000707)/(774731251))))))%x)));
- assertEquals(0, x |= (x*(tmp = -843074864, tmp)));
- assertEquals(0, x &= (tmp = -752261173.8090212, tmp));
- assertEquals(0, x >>>= (tmp = 1532349931.7517128, tmp));
- assertEquals(0, x <<= ((tmp = -8628768, tmp)-((((tmp = 225928543, tmp)%(x>>>(x+x)))^((tmp = -2051536806.5249376, tmp)-x))-((tmp = -2274310376.9964137, tmp)%(tmp = 2251342739, tmp)))));
- assertEquals(0, x >>= (1011388449));
- assertEquals(0, x += x);
- assertEquals(0, x >>>= x);
- assertEquals(-0, x *= ((-1781234179.8663826)>>(((1514201119.9761915)>>(((((1174857164.90042)^(tmp = 1124973934, tmp))^x)+((-1059246013.8834443)<<(2997611138.4876065)))%(((798188010)*(-1428293122))>>>(tmp = -3087267036.8035297, tmp))))<<x)));
- assertEquals(1752554372, x ^= (tmp = -2542412924, tmp));
- assertEquals(1752554372, x %= (tmp = 3037553410.2298307, tmp));
- assertEquals(1859383977, x -= (x^(2446603103)));
- assertEquals(1183048193, x &= ((tmp = -962336957, tmp)/(x/x)));
- assertEquals(67738157, x %= ((((tmp = -1813911745.5223546, tmp)+x)<<(x-(((-1980179168)^x)|x)))|(1913769561.1308007)));
- assertEquals(67698724, x &= ((1801574998.3142045)*((tmp = -2057492249, tmp)/((1713854494.72282)>>x))));
- assertEquals(0, x -= x);
- assertEquals(-25232836, x -= ((tmp = 25232836, tmp)|x));
- assertEquals(-49, x >>= (x+((tmp = 2201204630.2897243, tmp)|(-1929326509))));
- assertEquals(-1605632, x <<= x);
- assertEquals(-165965313, x += (tmp = -164359681, tmp));
- assertEquals(9.220413724941365e-10, x /= (((((tmp = 2579760013.0808706, tmp)*(tmp = -2535370639.9805303, tmp))>>((tmp = 2138199747.0301933, tmp)-(tmp = -2698019325.0972376, tmp)))*(tmp = -425284716, tmp))/((-1951538149.6611228)/(x^(2632919130)))));
- assertEquals(0, x &= x);
- assertEquals(0, x &= ((-645189137)/(tmp = 800952748, tmp)));
- assertEquals(0, x &= (tmp = -1773606925, tmp));
- assertEquals(0, x += x);
- assertEquals(0, x >>>= (tmp = 211399355.0741787, tmp));
- assertEquals(0, x <<= ((-1317040231.5737965)/((((((tmp = 838897586.0147077, tmp)|((-1902447594)|(tmp = 404942728.83034873, tmp)))^(2462760692.2907705))%((((((x%(tmp = -2888980287, tmp))<<(-368505224.49609876))-((x>>>(532513369))&(((((((tmp = -1298067543, tmp)^(tmp = -3130435881.100909, tmp))>>x)/(tmp = -3041161992, tmp))>>(x|(-431685991.95776653)))^((tmp = 1031777777, tmp)^((-105610810)>>>((-631433779)>>(tmp = -2577780871.167671, tmp)))))%(tmp = -3170517650.088039, tmp))))-(((tmp = 2175146237.968785, tmp)-((384631158.50508535)>>((893912279.4646157)|(tmp = -1478803924.5338967, tmp))))%(x/(-1089156420))))<<(tmp = -2024709456, tmp))>>x))*(tmp = -1423824994.6993582, tmp))%(tmp = 1739143409, tmp))));
- assertEquals(-1799353648, x |= ((-1799353648.3589036)>>>((((x&(-923571640.1012449))%x)+((tmp = 971885508, tmp)>>((tmp = -2207464428.2123804, tmp)+(-3108177894.0459776))))-(-2048954486.7014258))));
- assertEquals(-3666808032.2958965, x -= (tmp = 1867454384.2958965, tmp));
- assertEquals(-260069478915415100, x *= (tmp = 70925305.23136711, tmp));
- assertEquals(1142096768, x &= (tmp = 1866401706.9144325, tmp));
- assertEquals(1, x >>>= (tmp = 2701377150.5717473, tmp));
- assertEquals(1865946805, x |= (tmp = -2429020492, tmp));
- assertEquals(1424222287, x ^= ((((tmp = 433781338, tmp)>>(x>>>((-2914418422.4829016)/(tmp = 1600920669, tmp))))|(tmp = 588320482.9566053, tmp))>>>((((((x+(tmp = -2556387365.5071325, tmp))+(tmp = -2381889946.1830974, tmp))/(3154278191))>>>(-1069701268.8022757))>>(((tmp = 182049089.28866422, tmp)>>x)>>>(tmp = -447146173, tmp)))/(x-(2103883357.0929923)))));
- assertEquals(0, x ^= x);
- assertEquals(0, x -= (x%(3036884806)));
- assertEquals(0, x >>>= (tmp = -652793480.3870945, tmp));
- assertEquals(0, x += x);
- assertEquals(304031003, x ^= ((tmp = -900156495, tmp)^(-666397014.0711515)));
- assertEquals(1, x /= x);
- assertEquals(-1974501681, x |= (x^(-1974501681.4628205)));
- assertEquals(-1.3089278317616264, x /= (((-1723703186.962839)>>>x)|((2061022161.6239533)<<x)));
- assertEquals(-1, x |= (tmp = -1987006457, tmp));
- assertEquals(-0.14285714285714285, x /= ((((((x|(-1767793799.7595732))-(-1391656680))<<x)|(x>>(tmp = -2301588485.2811003, tmp)))>>>(((tmp = 1812723993, tmp)>>>((x^(((tmp = -3154100157.951021, tmp)%((tmp = -1254955564.4553523, tmp)-(((x>>>(((-1762886343)*x)*x))*(x^(x*(-750918563.4387553))))*x)))|((x>>x)>>(x<<((((-1766797454.5634143)^(tmp = -2251474340, tmp))-(-787637516.5276759))<<((1390653368)^(-1937605249.245374)))))))|(((tmp = 1156611894, tmp)<<x)<<(x>>((((x+(tmp = 2170166060.881797, tmp))&(x>>>(tmp = -1749295923.1498983, tmp)))>>(((-1014973878)|x)&(1302866805.684057)))*(tmp = 560439074.4002491, tmp))))))|(-2758270803.4510045)))&x));
- assertEquals(0, x |= x);
- assertEquals(0, x += ((x>>((x+(tmp = -2776680860.870219, tmp))-(((688502468)<<(((tmp = 475364260.57888806, tmp)<<x)+(329071671)))/(-1097134948))))*(tmp = -1281834214.3416953, tmp)));
- assertEquals(0, x *= ((((1159762330)<<(tmp = -1892429200, tmp))%x)<<x));
- assertEquals(0, x >>>= (-770595225));
- assertEquals(NaN, x += (((x>>x)/(tmp = 281621135, tmp))/x));
- assertEquals(0, x >>= (1363890241));
- assertEquals(1639023942.9945002, x += (1639023942.9945002));
- assertEquals(-2568590958567747000, x *= (-1567146697));
- assertEquals(1793554700, x ^= (tmp = 3215813388.405799, tmp));
- assertEquals(437879, x >>= x);
- assertEquals(1339485943, x |= (1339220210));
- assertEquals(1, x /= x);
- assertEquals(512, x <<= (2509226729.1477118));
- assertEquals(512, x <<= ((x>>(1326274040.7181284))<<(tmp = -760670199, tmp)));
- assertEquals(1, x /= (x<<(x^x)));
- assertEquals(0, x >>>= (((((1382512625.8298302)&(x>>>x))*(tmp = -815316595, tmp))>>>x)-(-95538051)));
- assertEquals(-544344229.3548596, x -= (tmp = 544344229.3548596, tmp));
- assertEquals(-1088688458.7097192, x += x);
- assertEquals(-1022850479579041900, x *= (939525418.3104812));
- assertEquals(2069622661, x |= (-2632744187.7721186));
- assertEquals(-1353480538017756400, x -= ((tmp = 1308085980, tmp)*((x>>>(-629663391.5165792))&(tmp = 3182319856.674114, tmp))));
- assertEquals(1.3702811563654176e+27, x *= ((((3061414617.6321163)/(tmp = 2628865442, tmp))+(-1549548261))+(x&((tmp = 809684398, tmp)|(x^(tmp = 801765002, tmp))))));
- assertEquals(0, x >>>= ((-2988504159)&((tmp = -260444190.02252054, tmp)^(2178729442.260293))));
- assertEquals(-1518607002, x -= (tmp = 1518607002, tmp));
- assertEquals(724566016, x <<= (tmp = 1042915731.7055794, tmp));
- assertEquals(707584, x >>>= (-208959862.93305588));
- assertEquals(0, x >>>= (((tmp = 877181764, tmp)>>(-970697753.3318911))%x));
- assertEquals(0, x ^= x);
- assertEquals(0, x += x);
- assertEquals(0, x <<= x);
- assertEquals(0, x /= (x^((x/(-2903618412.4936123))+(tmp = 1169288899, tmp))));
- assertEquals(0, x >>>= x);
- assertEquals(-1302645245, x ^= ((1855892732.3544865)+(tmp = 1136429319.5633948, tmp)));
- assertEquals(0, x ^= x);
- assertEquals(0, x &= (-1384534597.409375));
- assertEquals(-0, x /= (tmp = -680466419.8289509, tmp));
- assertEquals(-0, x *= (318728599.95017374));
- assertEquals(NaN, x %= (x>>(2019695267)));
- assertEquals(0, x >>= (tmp = 1280789995, tmp));
- assertEquals(0, x *= (tmp = 2336951458, tmp));
- assertEquals(0, x >>= ((2981466013.758637)%(731947033)));
- assertEquals(0, x -= x);
- assertEquals(0, x ^= x);
- assertEquals(0, x /= ((((3068070149.1452317)>>x)%(((1448965452)*((tmp = -2961594129, tmp)+(1829082104.0681171)))>>(-2331499703)))>>>(tmp = -3206314941.2626476, tmp)));
- assertEquals(0, x >>= (x%(1869217101.9823673)));
- assertEquals(0, x <<= (x+x));
- assertEquals(0, x >>>= ((1202130282)>>>x));
- assertEquals(0, x += x);
- assertEquals(2603245248.6273212, x += (tmp = 2603245248.6273212, tmp));
- assertEquals(-1691864471, x ^= (x>>>(2504513614.117516)));
- assertEquals(136835305, x -= ((-1618979896)&(-746953306)));
- assertEquals(-2568499564.1261334, x += (tmp = -2705334869.1261334, tmp));
- assertEquals(1038075700, x ^= (1530399136));
- assertEquals(2076151400, x += x);
- assertEquals(-524018410.1751909, x -= ((2398973627.175191)-(-201196183)));
- assertEquals(0.327110599608614, x /= ((3181340288.602796)&x));
- assertEquals(0.327110599608614, x %= (tmp = -2284484060, tmp));
- assertEquals(0, x |= x);
- assertEquals(403217947.5779772, x += (tmp = 403217947.5779772, tmp));
- assertEquals(403217947, x |= x);
- assertEquals(-Infinity, x *= ((58693583.845808744)+(((tmp = -1527787016, tmp)*x)/((((2532689893.3191843)/(tmp = 2781746479.850424, tmp))|(((((460850355.9211761)/((((tmp = 626683450, tmp)<<((tmp = 1349974710, tmp)-((tmp = -1349602292, tmp)/(-2199808871.1229663))))>>((x/(-3092436372.3078623))&(tmp = -1190631012.0323825, tmp)))^((-2907082828.4552956)-(tmp = 1858683340.1157017, tmp))))^(-1513755598.5398848))%x)/x))&(1147739260.136806)))));
- assertEquals(0, x &= (tmp = -3047356844.109563, tmp));
- assertEquals(637934616, x -= (tmp = -637934616, tmp));
- assertEquals(-1553350083, x ^= (-2056266203.094929));
- assertEquals(-0.13467351026547192, x %= ((tmp = 824736251, tmp)/(2544186314)));
- assertEquals(1, x /= x);
- assertEquals(1, x |= x);
- assertEquals(0, x >>>= (2166609431.9515543));
- assertEquals(0, x <<= (x|(tmp = 121899222.14603412, tmp)));
- assertEquals(0, x *= (1300447849.6595674));
- assertEquals(0, x %= (tmp = -2360500865.3944597, tmp));
- assertEquals(0, x %= (tmp = -1693401247, tmp));
- assertEquals(0, x >>= x);
- assertEquals(0, x /= (471265307));
- assertEquals(257349748, x ^= (257349748.689448));
- assertEquals(257349748, x &= x);
- assertEquals(981, x >>>= (tmp = -1959001422, tmp));
- assertEquals(0, x >>= ((-79932778.18114972)/x));
- assertEquals(0, x <<= (((-2599621472)^(tmp = 662071103, tmp))%(tmp = -2675822640.7641535, tmp)));
- assertEquals(0, x &= (tmp = 2582354953.878623, tmp));
- assertEquals(0, x /= ((-953254484)/((-2571632163.376176)-(tmp = -342034471, tmp))));
- assertEquals(0, x <<= ((x-(tmp = -3013057672, tmp))&(tmp = -3204761036, tmp)));
- assertEquals(0, x ^= ((x&((515934453)>>>x))/x));
- assertEquals(1, x |= ((-1914707646.2075093)>>>(tmp = -1918045025, tmp)));
- assertEquals(-2002844120.8792589, x += (tmp = -2002844121.8792589, tmp));
- assertEquals(573030794, x >>>= (tmp = 1707788162, tmp));
- assertEquals(1.917619109627369, x /= ((1909436830.484202)%((123114323)<<(tmp = -1288988388.6444468, tmp))));
- assertEquals(-1400358045, x |= (-1400358046));
- assertEquals(-2043022529.4273133, x += (tmp = -642664484.4273133, tmp));
- assertEquals(-81408068.86728716, x %= (tmp = -980807230.2800131, tmp));
- assertEquals(0.1436896445024992, x /= (((tmp = 3201789924.913518, tmp)%(tmp = -962242528.6008646, tmp))^((tmp = -338830119.55884504, tmp)*(tmp = -916120166, tmp))));
- assertEquals(0.1436896445024992, x %= (tmp = 2598469263, tmp));
- assertEquals(0, x *= (x-x));
- assertEquals(-1409286144, x += (((-111514798.64745283)|(2372059654))<<(tmp = 175644313, tmp)));
- assertEquals(-2393905467.0073113, x += (-984619323.0073113));
- assertEquals(-835111172.0073113, x %= (x^(-765900532.5585573)));
- assertEquals(-835111172.0073113, x %= (tmp = -946478116, tmp));
- assertEquals(-100, x >>= ((-1020515908)>>(((x&((x^(169474253.53811646))>>(-221739002)))+x)*((201939882.92880356)/(tmp = -50402570, tmp)))));
- assertEquals(2131506964, x &= (tmp = -2163460268, tmp));
- assertEquals(1074275840, x &= ((-1561930379.8719592)*(tmp = -2871750052.876917, tmp)));
- assertEquals(-954232605.5377102, x -= (tmp = 2028508445.5377102, tmp));
- assertEquals(-29, x >>= (-279577351.87217045));
- assertEquals(-232, x <<= x);
- assertEquals(-70, x |= (215185578));
- assertEquals(-1, x >>= (x>>(-1691303095)));
- assertEquals(1, x /= x);
- assertEquals(3149465364.2236686, x *= (3149465364.2236686));
- assertEquals(3304787832.3790073, x += (tmp = 155322468.15533853, tmp));
- assertEquals(100068712.23500109, x %= (tmp = 3204719120.1440063, tmp));
- assertEquals(91628864, x &= (tmp = 629090241, tmp));
- assertEquals(-113202292046379710, x *= (-1235443583));
- assertEquals(122, x >>>= (tmp = 3196555256, tmp));
- assertEquals(122, x >>>= (((2226535734)-x)^(2248399036.393125)));
- assertEquals(6.904199169070746e-8, x /= (tmp = 1767040564.9149356, tmp));
- assertEquals(-212687449.99999994, x += ((((2244322375)*(((2515994102)^x)>>x))<<(x-(-832407685.3251972)))^(2266670502)));
- assertEquals(366515938514778750, x *= (tmp = -1723260768.3940866, tmp));
- assertEquals(366515938514778750, x += ((-1643386193.9159095)/(tmp = 425161225.95316494, tmp)));
- assertEquals(654872716.4123061, x /= ((-1377382984)-(tmp = -1937058061.811642, tmp)));
- assertEquals(654872716, x &= x);
- assertEquals(-86260926.17813063, x -= (tmp = 741133642.1781306, tmp));
- assertEquals(1052176592, x >>>= x);
- assertEquals(2020882856, x ^= (-3107796616));
- assertEquals(0, x <<= ((606939871.9812952)|(tmp = -3127138319.1557302, tmp)));
- assertEquals(NaN, x -= ((x%((1120711400.2242608)%x))*(tmp = -930171286.7999947, tmp)));
- assertEquals(NaN, x %= (3215044180));
- assertEquals(NaN, x %= (tmp = 2882893804.20102, tmp));
- assertEquals(NaN, x %= ((217170359.5778643)^x));
- assertEquals(0, x &= ((-1095125960.9903677)>>(x^(-2227981276))));
- assertEquals(-748549860, x += (-748549860));
- assertEquals(1816208256, x <<= (-610872411.3826082));
- assertEquals(201400576, x &= (((tmp = 1910394603.4836266, tmp)<<x)^x));
- assertEquals(0, x %= x);
- assertEquals(NaN, x %= x);
- assertEquals(0, x <<= (((((2670901339.6696005)%(2180020861))*((2134469504)/(2237096063.0680027)))*((tmp = 1203829756, tmp)>>((765467065)+(x|(2673651811.9494815)))))<<((-1463378514)|(((x/(tmp = -1075050081, tmp))-((-879974865)+x))>>>(tmp = 2172883926, tmp)))));
- assertEquals(433013198, x ^= (433013198.2833413));
- assertEquals(0, x >>= ((((-2404431196)%(x%(tmp = 1443152875.8809233, tmp)))&(x|((1414364997.0517852)/((tmp = -435854369, tmp)+(tmp = 2737625141, tmp)))))|(((tmp = 2241746562.2197237, tmp)^(tmp = -1606928010.1992552, tmp))|((tmp = -3083227418.686173, tmp)>>(tmp = -2717460410, tmp)))));
- assertEquals(0, x >>= x);
- assertEquals(0, x *= ((tmp = 2302521322, tmp)>>>(((((((tmp = 344089066.9725498, tmp)%(tmp = 1765830559, tmp))-x)|x)^(((-2450263325)/(tmp = 371928405.17475057, tmp))>>>(1330100413.7731652)))^(((173024329)%(tmp = -2927276187, tmp))+(x>>>(-1042229940.308507))))|(((((tmp = 379074096, tmp)+((142762508)-((-2773070834.526266)-(x&((tmp = 57957493, tmp)<<(2189553500))))))+((36991093)+(tmp = 339487168.58069587, tmp)))*(-1257565451))&(tmp = 645233114, tmp)))));
- assertEquals(-2644503151.1185284, x += (-2644503151.1185284));
- assertEquals(-5289006302.237057, x += x);
- assertEquals(-4008773824.2370567, x -= (tmp = -1280232478, tmp));
- assertEquals(1975449413, x |= ((tmp = 1957832005.4285066, tmp)>>((1681236712.9715524)&(-675823978))));
- assertEquals(-146472960, x <<= (-648510672.5644083));
- assertEquals(-3, x |= (((((x>>>(tmp = 2271744104, tmp))+(tmp = -210058133.30147195, tmp))+(tmp = -2827493425, tmp))/(tmp = 765962538, tmp))%(tmp = 1048631551, tmp)));
- assertEquals(1, x /= x);
- assertEquals(0, x >>= (1070524782.5154183));
- assertEquals(0, x <<= (462502504));
- assertEquals(0, x %= (540589670.0730014));
- assertEquals(NaN, x %= x);
- assertEquals(NaN, x /= ((-1268640098)%x));
- assertEquals(NaN, x %= (1741157613.744652));
- assertEquals(NaN, x += x);
- assertEquals(NaN, x %= ((x|(tmp = 1992323492.7000637, tmp))*x));
- assertEquals(NaN, x /= ((tmp = -2271503368.0341196, tmp)>>((tmp = 1224449194, tmp)>>>(tmp = 2976803997, tmp))));
- assertEquals(NaN, x += (tmp = -1078313742.1633894, tmp));
- assertEquals(NaN, x += (-787923311));
- assertEquals(NaN, x %= x);
- assertEquals(-1299878219, x ^= (2995089077));
- assertEquals(536887953, x &= ((625660571.2651105)&(x^(((tmp = 950150725.2319129, tmp)+(-2122154205.466675))/(tmp = 1754964696.974752, tmp)))));
- assertEquals(4096, x >>>= x);
- assertEquals(1, x /= x);
- assertEquals(-82508517, x ^= (((-930231800)%(tmp = -423861640.4356506, tmp))+x));
- assertEquals(-82508517, x &= (x&x));
- assertEquals(-479519, x %= ((tmp = 1861364600.595756, tmp)|x));
- assertEquals(479518, x ^= (((x>>(-1539139751.6860313))>>(tmp = -456165734, tmp))|(-2786433531)));
- assertEquals(959036, x += x);
- assertEquals(29, x >>>= ((tmp = -1049329009.7632706, tmp)^(((((((1117739997)/(((-841179741.4939663)*(-1211599672))>>>((-413696355)%(tmp = -1753423217.2170188, tmp))))<<(tmp = 1599076219.09274, tmp))>>>(-1382960317))^(((x^(tmp = 515115394, tmp))>>>(tmp = -388476217, tmp))>>>(x/x)))^x)<<(136327532.213817))));
- assertEquals(24, x &= (2388755418));
- assertEquals(0, x >>>= (tmp = -405535917, tmp));
- assertEquals(0, x &= (tmp = -1427139674, tmp));
- assertEquals(NaN, x /= (x^((1530470340)%x)));
- assertEquals(0, x |= ((x>>(-1429690909.8472774))*((((tmp = 2033516515, tmp)/(1314782862))>>>x)>>(tmp = 1737186497.6441216, tmp))));
- assertEquals(0, x -= x);
- assertEquals(0, x %= (3115422786));
- assertEquals(-0, x *= (x+(tmp = -2558930842.267017, tmp)));
- assertEquals(NaN, x %= x);
- assertEquals(0, x &= (2695531252.254449));
- assertEquals(-613178182, x ^= (-613178182));
- assertEquals(54, x >>>= (x%(((tmp = 2277868389, tmp)^((((tmp = -1143932265.3616111, tmp)^((x&((x-((-2100384445.7850044)|(tmp = 908075129.3456883, tmp)))*x))+(((tmp = 1031013284.0275401, tmp)*((((tmp = -233393205, tmp)>>>(tmp = -111859419, tmp))*(-1199307178))|(tmp = -1998399599, tmp)))>>>((((-731759641.9036775)>>>(tmp = 2147849691, tmp))>>>(tmp = -2121899736, tmp))>>>(x>>>x)))))>>((1900348757.360562)^(tmp = 2726336203.6149445, tmp)))>>>((x*((tmp = -2697628471.0234947, tmp)%((x^(tmp = -2751379613.9474974, tmp))*x)))+(x>>(tmp = 42868998.384643435, tmp)))))+(598988941))));
- assertEquals(34, x &= ((tmp = 2736218794.4991407, tmp)%(2169273288.1339874)));
- assertEquals(2.086197133417468, x /= ((tmp = 2176358852.297597, tmp)%x));
- assertEquals(2, x <<= (((tmp = -1767330075, tmp)|(-3107230779.8512735))&x));
- assertEquals(4194304, x <<= (tmp = 1061841749.105744, tmp));
- assertEquals(48609515, x ^= (44415211.320786595));
- assertEquals(48609515, x %= (1308576139));
- assertEquals(23735, x >>>= ((-324667786)-x));
- assertEquals(23735, x <<= ((-1270911229)<<(((((tmp = -882992909.2692418, tmp)+(tmp = 394833767.947718, tmp))-x)<<(702856751))/x)));
- assertEquals(-31080872939240, x *= (tmp = -1309495384, tmp));
- assertEquals(-14625.31935626114, x /= ((668084131)+(1457057357)));
- assertEquals(-14625.31935626114, x %= (266351304.6585492));
- assertEquals(-12577, x |= (-945583977.619837));
- assertEquals(-4097, x |= ((tmp = -2621808583.2322493, tmp)-(tmp = -2219802863.9072213, tmp)));
- assertEquals(-1004843865, x &= ((-1004839768)+((tmp = 2094772311, tmp)/(-1340720370.275643))));
- assertEquals(-31401371, x >>= ((2035921047)>>>((tmp = -1756995278, tmp)>>>(-537713689))));
- assertEquals(1791746374.016472, x -= ((tmp = -1823147745, tmp)-(x/(tmp = -1906333520, tmp))));
- assertEquals(3.7289343120517406, x /= (tmp = 480498240, tmp));
- assertEquals(7.457868624103481, x += x);
- assertEquals(234881024, x <<= (-781128807.2532628));
- assertEquals(67108864, x &= (tmp = -2060391332, tmp));
- assertEquals(-605958718, x -= (673067582));
- assertEquals(-605958718, x <<= ((x%x)&((tmp = 1350579401.0801518, tmp)|x)));
- assertEquals(-109268090.4715271, x %= (tmp = -496690627.5284729, tmp));
- assertEquals(-109268090, x <<= (((-2004197436.8023896)%((x|((tmp = 271117765.61283946, tmp)-((1595775845.0754795)*(555248692.2512416))))/x))<<x));
- assertEquals(-652725370, x &= (-543590449));
- assertEquals(0.321858133298825, x /= (tmp = -2027990914.2267523, tmp));
- assertEquals(1959498446, x ^= (1959498446));
- assertEquals(1959498446, x &= (x%(tmp = 3155552362.973523, tmp)));
- assertEquals(14949, x >>>= ((tmp = 586618136, tmp)>>>(tmp = 699144121.9458897, tmp)));
- assertEquals(-28611391568319.285, x *= (tmp = -1913933478.3811147, tmp));
- assertEquals(1680557633, x &= (((tmp = 2606436319.199714, tmp)<<(1575299025.6917372))|((-1092689109)/(735420388))));
- assertEquals(1680361024, x &= ((tmp = 1860756552.2186172, tmp)|(-360434860.1699109)));
- assertEquals(820488, x >>>= (1788658731));
- assertEquals(820488, x >>= (-1555444352));
- assertEquals(2104296413, x ^= (2103543509));
- assertEquals(16843328, x &= ((x<<((-2920883149)/(1299091676)))-(((((tmp = 3199460211, tmp)+(-237287821.61504316))&(tmp = -1524515028.3596857, tmp))-(tmp = -700644414.6785603, tmp))+(-180715428.86124516))));
- assertEquals(1326969834, x |= (tmp = -2968063574.793867, tmp));
- assertEquals(0, x %= (x>>>(tmp = 1350490461.0012388, tmp)));
- assertEquals(0, x &= ((-2620439260.902854)+x));
- assertEquals(-1775533561, x |= ((-1775533561)|(((x>>>((861896808.2264911)>>>(970216466.6532537)))%x)%(tmp = 2007357223.8893046, tmp))));
- assertEquals(-1775533561, x &= x);
- assertEquals(-23058877.415584415, x /= ((tmp = -3002439857, tmp)>>((((x-(tmp = 1583620685.137125, tmp))|x)%(-2568798248.6863875))^x)));
- assertEquals(-577.4155844151974, x %= (((-1440361053.047877)+((tmp = 821546785.0910633, tmp)-(((tmp = 1023830881.1444875, tmp)/(-754884477))+(tmp = 651938896.6258571, tmp))))>>(tmp = 346467413.8959185, tmp)));
- assertEquals(-1, x >>= (tmp = 2993867511, tmp));
- assertEquals(-1, x |= (tmp = 823150253.4916545, tmp));
- assertEquals(-0, x %= x);
- assertEquals(-0, x /= ((tmp = 997969036, tmp)&((((tmp = 928480121, tmp)>>(((-2610875857.086055)>>>(tmp = -2251704283, tmp))|x))+(10781750))>>x)));
- assertEquals(0, x >>>= ((tmp = -1872319523, tmp)>>>(-278173884)));
- assertEquals(0, x |= (x/(x*x)));
- assertEquals(0, x %= ((77912826.10575807)^(tmp = 2770214585.3019757, tmp)));
- assertEquals(0, x &= (tmp = 722275824, tmp));
- assertEquals(-1417226266, x |= (tmp = 2877741030.1195555, tmp));
- assertEquals(0, x ^= x);
- assertEquals(0, x %= (tmp = -1740126105, tmp));
- assertEquals(910709964, x |= (tmp = 910709964, tmp));
- assertEquals(-1744830464, x <<= (tmp = -2445932551.1762686, tmp));
- assertEquals(318767104, x >>>= (tmp = -2465332061.628887, tmp));
- assertEquals(301989888, x &= (-2771167302.022801));
- assertEquals(301989888, x |= x);
- assertEquals(37748736, x >>= (tmp = -835820125, tmp));
- assertEquals(1474977371, x ^= (tmp = -2857738661.6610327, tmp));
- assertEquals(470467500, x += (-1004509871));
- assertEquals(0.30466562575942585, x /= (((tmp = 1515955042, tmp)<<(x+((1607647367)-(tmp = 1427642709.697169, tmp))))^x));
- assertEquals(1.0348231148499734e-10, x /= (tmp = 2944132397, tmp));
- assertEquals(0, x >>= (x>>>(tmp = -2847037519.569043, tmp)));
- assertEquals(NaN, x /= x);
- assertEquals(0, x >>>= (-1817784819.9058492));
- assertEquals(0, x >>= x);
- assertEquals(-0, x *= ((tmp = -1387748473, tmp)|(x+(352432111))));
- assertEquals(-0, x *= (((-2591789329)/(tmp = -2144460203, tmp))>>(tmp = -568837912.5033123, tmp)));
- assertEquals(0, x <<= (-2963600437.305708));
- assertEquals(0, x &= ((588720662)>>>x));
- assertEquals(1561910729, x += (1561910729));
- assertEquals(0, x ^= x);
- assertEquals(-0, x *= (-2722445702));
- assertEquals(0, x &= (tmp = -2738643199.732308, tmp));
- assertEquals(0, x /= (((1859901899.227291)>>>((tmp = -1067365693, tmp)+((-1975435278)|x)))|((1844023313.3719304)&(tmp = -624215417.0227654, tmp))));
- assertEquals(NaN, x %= x);
- assertEquals(NaN, x %= (-2852766277));
- assertEquals(0, x <<= (-1482859558));
- assertEquals(0, x >>= x);
- assertEquals(-1196775786, x += (tmp = -1196775786, tmp));
- assertEquals(-68176201, x |= ((tmp = 2336517643, tmp)+x));
- assertEquals(0, x ^= x);
- assertEquals(0, x <<= x);
- assertEquals(0, x >>= (2969141362.868086));
- assertEquals(NaN, x %= x);
- assertEquals(0, x >>= ((x-((((tmp = -905994835, tmp)|(tmp = 2850569869.33876, tmp))<<((-2405056608.27147)>>(tmp = 1280271785, tmp)))&(-1942926558)))*(tmp = 707499803.177796, tmp)));
- assertEquals(0, x &= ((-697565829.8780258)+((2978584888.549406)%x)));
- assertEquals(0, x >>= (748642824.4181392));
- assertEquals(0, x += x);
- assertEquals(0, x >>>= (-1701028721));
- assertEquals(92042539, x -= ((-92042539)|(x*(x%(-293705541.00228095)))));
- assertEquals(0, x %= x);
- assertEquals(0, x >>= x);
- assertEquals(0, x %= (-2278672472.458228));
- assertEquals(0, x %= (((-2374117528.0359464)/((tmp = -2809986062, tmp)|(tmp = 895734980, tmp)))&(tmp = 1564711307.41494, tmp)));
- assertEquals(0, x >>>= x);
- assertEquals(0, x += x);
- assertEquals(-0, x /= ((tmp = -2749286790.3666043, tmp)<<(x^(-2966741582.324482))));
- assertEquals(0, x *= x);
- assertEquals(0, x >>>= x);
- assertEquals(-1882562314, x ^= (2412404982.782115));
- assertEquals(-806620, x %= (((tmp = 1527219936.5232096, tmp)*(-1139841417))>>>(tmp = 201632907.3236668, tmp)));
- assertEquals(-1613240, x += x);
- assertEquals(-1664766177387640, x *= (1031939561));
- assertEquals(-9.478083550117849e+23, x *= (tmp = 569334221.1571662, tmp));
- assertEquals(-8.462574598319509e+21, x /= ((x-(tmp = -2985531211.114498, tmp))>>(tmp = 174615992.91117632, tmp)));
- assertEquals(1638924288, x <<= (((((x>>((-1823401733.4788911)+((tmp = 1362371590, tmp)>>>x)))^(tmp = -56634380, tmp))/(tmp = 2387980757.1540084, tmp))%((((tmp = -3175469977, tmp)^(tmp = -1816794042, tmp))+(232726694))*(tmp = 822706176, tmp)))/(tmp = 1466729893.836311, tmp)));
- assertEquals(2686072821796307000, x *= x);
- assertEquals(-1007977445.9812208, x /= (-2664814408.800125));
- assertEquals(-1007977445, x &= x);
- assertEquals(322314656346249100, x *= (tmp = -319763758.54942775, tmp));
- assertEquals(197436885.26815608, x /= (tmp = 1632494637, tmp));
- assertEquals(-67191339, x |= ((-399580815.1746769)/((1335558363)/(tmp = 224694526, tmp))));
- assertEquals(1229588737, x &= (tmp = 1296763683.5732255, tmp));
- assertEquals(1229588737, x -= ((((1171546503)|((tmp = -2701891308, tmp)%(-2155432197.022206)))/(-306122816.85682726))>>x));
- assertEquals(4162606632, x -= (tmp = -2933017895, tmp));
- assertEquals(1.6487311395551163, x /= (2524733434.1748486));
- assertEquals(-1929308648.9913044, x += (-1929308650.6400356));
- assertEquals(-3858617297.982609, x += x);
- assertEquals(788529152, x <<= (x^(1401824663)));
- assertEquals(6160384, x >>>= ((((((x>>>x)>>((((x*(tmp = -1958877151, tmp))>>>(1310891043))-(tmp = 564909413.9962088, tmp))%(-175978438)))%x)|((tmp = -1193552419.7837512, tmp)*(tmp = 1508330424.9068346, tmp)))|(1428324616.3303494))-((1828673751)/(tmp = 1281364779, tmp))));
- assertEquals(6160384, x |= x);
- assertEquals(1, x /= x);
- assertEquals(1, x &= (tmp = -855689741, tmp));
- assertEquals(0, x >>>= x);
- assertEquals(-1088569655.3528988, x -= (tmp = 1088569655.3528988, tmp));
- assertEquals(-1088569655, x >>= ((tmp = 2429646226.626727, tmp)<<((-1539293782.4487276)>>(x^((tmp = 1140855945.537702, tmp)+x)))));
- assertEquals(-311, x %= ((x/x)<<x));
- assertEquals(1.2007722007722008, x /= (x|(tmp = 448796341.87655175, tmp)));
- assertEquals(3, x |= (x+x));
- assertEquals(-9.32416092168023e-10, x /= (-3217447688));
- assertEquals(0, x >>= (615837464.0921166));
- assertEquals(0, x >>>= (tmp = -2993750670.683118, tmp));
- assertEquals(0, x >>>= (x%x));
- assertEquals(1610612736, x ^= ((-1322905256.6770213)<<(-2567950598)));
- assertEquals(1693676493, x ^= (83063757.63660407));
- assertEquals(-758030371, x ^= (tmp = -1239274480, tmp));
- assertEquals(-758030371, x %= (tmp = 1961339006, tmp));
- assertEquals(-1509754528, x ^= (tmp = 1960027837, tmp));
- assertEquals(-1509754528, x <<= x);
- assertEquals(-1509754528, x -= (((tmp = -50690205.33559728, tmp)/((tmp = -1364565380, tmp)<<(tmp = 2585052504, tmp)))<<(tmp = -2356889596, tmp)));
- assertEquals(1, x >>>= (-3204164321));
- assertEquals(1, x *= x);
- assertEquals(1114370230.591965, x *= ((tmp = 1114370229.591965, tmp)+x));
- assertEquals(-4.886305275432552, x /= ((-228059887.33344483)%(2841553631.3685856)));
- assertEquals(2.358309397373389e-9, x /= (((x*(tmp = 203428818.08174622, tmp))&(x-(((510438355)*x)+x)))+x));
- assertEquals(0, x >>>= ((tmp = 1444810010, tmp)&(tmp = -3135701995.2235208, tmp)));
- assertEquals(0, x /= (1865982928.6819582));
- assertEquals(0, x *= x);
- assertEquals(2078726016.3772051, x -= (tmp = -2078726016.3772051, tmp));
- assertEquals(1580337898, x ^= ((tmp = -2714629398.447015, tmp)^x));
- assertEquals(1268363034, x -= ((x+((tmp = 1144068248.3834887, tmp)&(-954104940.155973)))<<(tmp = 1270573731.7828264, tmp)));
- assertEquals(1744830464, x <<= (((1444869551.7830744)>>>((((x+(tmp = -904688528, tmp))<<x)-((tmp = 121151912.85873199, tmp)/(tmp = -2414150217.66479, tmp)))|(((-472906698)|(3215236833.8417764))+(907737193.9056952))))-((x&(-732223723))|(-221800427.7392578))));
- assertEquals(717338523283226600, x *= (x^(tmp = -2407450097.0604715, tmp)));
- assertEquals(402653184, x >>= ((-3191405201.168252)*((tmp = -1941299639.695196, tmp)|(((x>>(((3215741220)>>>x)/(x+x)))^(((tmp = -2144862025.9842231, tmp)|((tmp = -1966913385, tmp)&x))%x))*((tmp = -1124749626.6112225, tmp)/(tmp = 837842574, tmp))))));
- assertEquals(402653184, x &= ((x|x)>>x));
- assertEquals(134217728, x &= ((2720231644.3849487)*x));
- assertEquals(134217726.75839183, x -= ((2438054684.738043)/(((((-984359711)*(x|((tmp = 177559682, tmp)^x)))/(-1253443505))/((2727868438.416792)*(x+((x<<(((tmp = 3023774345, tmp)&(-705699616.0846889))/x))<<x))))^(1963626488.548761))));
- assertEquals(1, x /= x);
- assertEquals(245781494, x += ((tmp = 2551445099, tmp)^(2528486814)));
- assertEquals(-1474427807, x ^= (-1497868393.342241));
- assertEquals(-1057271682, x += ((((((x>>x)%(-1556081693))|(x/(((1166243186.6325684)-(((tmp = 2870118257.1019487, tmp)/(x+(-69909960)))^(2270610694.671496)))/((1463187204.5849519)-x))))-x)-(x<<(-3077313003)))%x));
- assertEquals(-1065725846, x &= ((tmp = -1808223767, tmp)|(-481628214.3871765)));
- assertEquals(-1065725846, x ^= (x&(((tmp = -1785170598, tmp)-(tmp = -2525350446.346484, tmp))/((((((-1783948056)^(tmp = 3027265884.41588, tmp))|((((tmp = 2195362566.2237773, tmp)<<(-2919444619))<<((tmp = -2507253075.2897573, tmp)^(x^((tmp = 1067516137, tmp)+((667737752)^(x*(tmp = -1187604212.7293758, tmp)))))))%(-617406719.5140038)))*(tmp = 511060465.6632478, tmp))*((tmp = 2580189800.752836, tmp)|((((tmp = 2357895660, tmp)%((-814381220)*(x-((x>>>(((x<<x)<<(tmp = 1919573020, tmp))-x))>>>((-2756011312.136148)>>(tmp = -1603458856, tmp))))))/((tmp = -1609199312, tmp)&(-3127643445)))%x)))<<(-2261731798)))));
- assertEquals(1.6020307924030301, x /= (tmp = -665234308.2628405, tmp));
- assertEquals(-1120020556.697667, x *= (tmp = -699125486.2321637, tmp));
- assertEquals(-215875188, x -= (((((tmp = -1307845034, tmp)>>>((((-2820720421)^x)-(((x<<x)|(tmp = -3042092997.57406, tmp))+(((-1294857544)+((tmp = -668029108.1487186, tmp)>>(x<<x)))^(912144065.5274727))))^(389671596.2983854)))|(-2774264897.146559))%(x-((tmp = 1378085269, tmp)^x)))+((-1659377450.5247462)&(((1613063452.834885)>>>((-344896580.0694165)>>>((-13450558)+x)))^x))));
- assertEquals(1, x /= x);
- assertEquals(0, x >>>= (2355750790));
- assertEquals(1969435421.4409347, x += (1969435421.4409347));
- assertEquals(0, x -= x);
- assertEquals(0, x >>>= (((x*((-1022802960.6953495)<<(tmp = -2848428731.8339424, tmp)))^(-1630921485))%(1532937011)));
- assertEquals(0, x <<= ((x+((x^(x^(tmp = 2017651860, tmp)))&(((x<<(((tmp = -1913317290.8189478, tmp)|(x-((((x%((tmp = -3035245210, tmp)+(-2270863807)))>>>((-2351852712)*(x^(-2422943296.0239563))))&((((-1578312517)%x)*x)*(-65592270.28452802)))>>>(tmp = 1104329727.2094703, tmp))))-(tmp = -1431159990.3340137, tmp)))&x)|((tmp = -2589292678.801344, tmp)&(x+((((tmp = -2557773457.456996, tmp)>>(451910805.309445))-x)>>(((tmp = -1937832765.7654495, tmp)^x)%x)))))))%x));
- assertEquals(0, x %= (tmp = -626944459, tmp));
- assertEquals(-732310021, x |= (tmp = -732310021, tmp));
- assertEquals(-732310021, x |= x);
- assertEquals(671352839, x ^= (x-((-3087309090.7153115)|x)));
- assertEquals(134479872, x &= (tmp = 2357183984, tmp));
- assertEquals(18084835973136384, x *= x);
- assertEquals(0, x <<= ((1040482277)-(tmp = -357113781.82650447, tmp)));
- assertEquals(74957, x |= ((((tmp = -70789345.7489841, tmp)%(tmp = 1415750131, tmp))&x)|((307027314)>>(2284275468))));
- assertEquals(9, x >>>= x);
- assertEquals(0, x &= (x&((x*((x*(x%x))%(x>>x)))/x)));
- assertEquals(-1872875060, x |= (2422092236.6850452));
- assertEquals(9, x >>>= (-382763684));
- assertEquals(4608, x <<= x);
- assertEquals(40.480234260614935, x /= (((((((tmp = 814638767.5666755, tmp)&((tmp = 2081507162, tmp)^(x>>>(1460148331.2229118))))&(tmp = 1187669197.7318723, tmp))<<(412000677.93339765))^((tmp = 556111951, tmp)>>(tmp = -2232569601.292395, tmp)))&(-3006386864))/x));
- assertEquals(32, x &= (-3053435209.383913));
- assertEquals(418357217, x ^= (418357185));
- assertEquals(204275, x >>= ((-1188650337.9010527)^((51494580)%(-2544545273))));
- assertEquals(982392804, x += (((x+(((tmp = -982596937.9757051, tmp)+x)%(-2298479347)))^((((tmp = 1610297674.0732534, tmp)>>>x)*(((x>>(-2746780903.08599))&(-2376190704.247188))^(((20545353)/(tmp = 1468302977, tmp))-(x<<x))))>>(((-1434332028.0447056)/((tmp = 1983686888, tmp)&((tmp = 2324500847, tmp)%(394330230.6163173))))%(((-1129687479.2158055)+((-3127595161)*((-3066570223)&((tmp = 3192134577.4963055, tmp)/(-2697915283.3233275)))))+(-1112243977.5306559)))))|(x&(-2622725228))));
- assertEquals(-2735750653096133600, x *= (-2784782870.9218984));
- assertEquals(-1876329472, x |= ((((((2752866171)<<(-1681590319))/x)>>((tmp = 1451415208, tmp)>>>(1126858636.6634417)))+(((tmp = 2165569430.4844217, tmp)/x)^(((tmp = -1675421843.4364457, tmp)-(-2187743422.2866993))|x)))*x));
- assertEquals(3520612287495799000, x *= x);
- assertEquals(-200278016, x |= ((((-2379590931)%((((-1558827450.833285)&x)>>(-665140792))-((tmp = -445783631.05567217, tmp)+(tmp = 93938389.53113222, tmp))))/(3103476273.734701))^x));
- assertEquals(-9178285062592.75, x *= ((2042671875.7211144)%(((tmp = 589269308.0452716, tmp)/x)<<(-130695915.9934752))));
- assertEquals(60048960, x |= (x<<x));
- assertEquals(60048960, x <<= ((((((tmp = -2793966650, tmp)/(-2882180652))&(((x<<((tmp = -384468710, tmp)+(2236162820.9930468)))>>>((((969371919)>>((tmp = -3153268403.2565875, tmp)-((((573811084)/x)^(tmp = -968372697.4844134, tmp))>>>(((-3096129189)>>x)/(tmp = 830228804.6249363, tmp)))))<<(((1243972633.3592157)|x)&((-1687610429)&(tmp = -1945063977.458529, tmp))))<<(((tmp = -217456781.37068868, tmp)-(400259171.68077815))^x)))>>>x))%(((2728450651.300167)/(((-2713666705.089135)%(tmp = 740472459, tmp))^x))|x))^x)*(-2463032364)));
- assertEquals(60048960, x %= (tmp = -442107222.9513445, tmp));
- assertEquals(-1573781504, x <<= (960581227));
- assertEquals(1297, x >>>= (tmp = -1692919563, tmp));
- assertEquals(1297, x &= x);
- assertEquals(-3113308397155.233, x *= (tmp = -2400391979.3024154, tmp));
- assertEquals(-3115513013486.233, x -= (2204616331));
- assertEquals(-3113809649082.233, x -= (-1703364404));
- assertEquals(0, x >>>= (((-1181206665)-(550946816.586771))|(tmp = -2346300456, tmp)));
- assertEquals(0, x %= (tmp = 1649529739.2785435, tmp));
- assertEquals(0, x ^= ((tmp = -2452761827.2870226, tmp)%(((1090281070.5550141)/(tmp = 992149154.6500508, tmp))*(x<<((((((x>>>x)|((tmp = -2410892363, tmp)%(tmp = 2585150431.0231533, tmp)))/x)*(tmp = 1541294271, tmp))+x)&((97566561.77126992)&((((-640933510.1287451)&(((((x>>>((-1821077041)<<((tmp = -1138504062.093695, tmp)-(tmp = -181292160, tmp))))%x)-(x>>((x&(((tmp = 1067551355, tmp)/(x|(1004837864.8550552)))&(x-(-103229639.25084043))))&((tmp = 2064184671.210937, tmp)+((((tmp = -2245728052, tmp)|(1538407002.8365717))+(x<<((x>>((76549490)/(tmp = 628901902.6084052, tmp)))<<((x<<x)^(-1907669184)))))+(-1409123688))))))>>>((((-1911547456.933543)-((-512313175)+((tmp = -2620903017, tmp)^(tmp = 2148757592.244808, tmp))))<<((-1740876865)>>>x))+((tmp = 691314720.9488736, tmp)<<(614057604.4104803))))|(x^((tmp = -3040687.291528702, tmp)/(x^(((x+(-2899641915))^((tmp = -1220211746, tmp)/x))%x))))))^(tmp = 119850608, tmp))%(2091975696))))))));
- assertEquals(291273239, x -= (tmp = -291273239, tmp));
- assertEquals(2206394018, x += (1915120779));
- assertEquals(235641480, x <<= (x&(x&(-1810963865.1415658))));
- assertEquals(28764, x >>= ((tmp = -1927011875, tmp)^((tmp = -1986461808, tmp)|((-868139264.8399222)*((421956566)%(3068424525))))));
- assertEquals(-99780626900900, x *= ((tmp = -1512869526.3223472, tmp)+(tmp = -1956071751, tmp)));
- assertEquals(51218520, x &= (((-2353401311)>>>x)-(2216842509)));
- assertEquals(51218520, x >>>= ((tmp = -1534539302.6990812, tmp)<<x));
- assertEquals(-2147483648, x <<= (-292608644));
- assertEquals(-2147483648, x |= ((((((x<<((-2981292735)-x))>>((tmp = 2540545320.96558, tmp)&(tmp = -2343790880, tmp)))>>>((((((x^((-172697043.94487858)/((2627260337)>>(2879112814.1247935))))&(tmp = 3000943191, tmp))<<(tmp = 1094830905, tmp))-x)>>>x)>>((((tmp = 3095796200, tmp)^(x|(tmp = 1460377694, tmp)))<<(x^(tmp = -357546193, tmp)))/((2729539495)>>x))))%(tmp = 268894171.74961245, tmp))|(x>>(tmp = 2735650924, tmp)))/(-2197885357.09768)));
- assertEquals(-2147483648, x |= x);
- assertEquals(-1967162776824578000, x *= (tmp = 916031551, tmp));
- assertEquals(-2147483648, x &= x);
- assertEquals(-457743917756973060, x *= (tmp = 213153622, tmp));
- assertEquals(0, x >>>= ((((tmp = 2930076928.480559, tmp)+(x^x))<<(tmp = -1349755597.1280541, tmp))|(x+(2865632849))));
- assertEquals(0, x <<= ((x>>x)-(x>>(-2629977861))));
- assertEquals(0, x <<= x);
- assertEquals(NaN, x /= x);
- assertEquals(0, x |= x);
- assertEquals(0, x >>>= x);
- assertEquals(749327478, x |= ((tmp = 749327478, tmp)^(x>>(tmp = 881107862, tmp))));
- assertEquals(1897869364, x += (1148541886));
- assertEquals(463347, x >>>= (tmp = -726431220, tmp));
- assertEquals(-395990542, x += (-396453889));
- assertEquals(-2824792585.1675367, x -= (2428802043.1675367));
- assertEquals(-2147483648, x <<= (tmp = -1420072385.9175675, tmp));
- assertEquals(8388608, x >>>= (-2211390680.488455));
- assertEquals(8388608, x >>= (((x/(x|(((x^(((tmp = -2175960170.8055067, tmp)|((tmp = -1964957385.9669886, tmp)/(tmp = -475033330, tmp)))&((x|((tmp = 1386597019.2014387, tmp)>>((tmp = -2406589229.8801174, tmp)+x)))<<(tmp = -844032843.8415492, tmp))))>>(x^x))|x)))-((x&((tmp = 1858138856, tmp)*(-3156357504)))%x))<<(((2046448340)+x)/(-2645926916))));
- assertEquals(8359470765396279, x *= ((tmp = 871437183.7888144, tmp)-(-125089387.17460155)));
- assertEquals(0, x ^= x);
- assertEquals(-303039014, x += ((tmp = -2475713214, tmp)|(-372871718.2343409)));
- assertEquals(2655126577, x -= (-2958165591));
- assertEquals(1830332793, x ^= (tmp = -212161208, tmp));
- assertEquals(1830332793, x ^= (((2352454407.0126333)<<((((tmp = 3083552367, tmp)/x)-(-1243111279))-((tmp = -1669093976, tmp)%(((-757485455)-(tmp = -116051602, tmp))<<x))))>>(((((-2235071915.9536905)>>(tmp = -1284656185, tmp))-x)>>((-1807028069.7202528)>>>((x%((tmp = -3070857953.311804, tmp)+((tmp = 2759633693.441942, tmp)%((169489938)*(-1582267384)))))<<(x^((tmp = -787578860, tmp)<<x)))))>>((x/(x|(409464362)))-(tmp = -64033017, tmp)))));
- assertEquals(397605933.90319204, x %= (tmp = 716363429.548404, tmp));
- assertEquals(186400, x &= (((x%(-1745754586))>>>x)<<(x&(x&((-2163627752)-((1784050895)+(((-2864781121.899456)>>>x)&x)))))));
- assertEquals(186400, x %= (tmp = -423209729, tmp));
- assertEquals(186400, x <<= ((x<<(x+(1232575114.4447284)))*x));
- assertEquals(1386299, x ^= ((tmp = -1074209615, tmp)>>>(x>>>((tmp = -1456741008.2654872, tmp)>>((1724761067)>>(-2016103779.9084842))))));
- assertEquals(347302967.20758367, x -= (-345916668.20758367));
- assertEquals(1.9325619389304094, x /= (179711170.03359854));
- assertEquals(-3703324711.628227, x *= (tmp = -1916277371, tmp));
- assertEquals(-920980517031624800, x *= (tmp = 248690187.53332615, tmp));
- assertEquals(0, x &= (((tmp = -2753945953.082594, tmp)*x)-(172907186)));
- assertEquals(-0, x /= (((((-2744323543.187253)>>((tmp = 2663112845, tmp)>>(((-121791600)+(x^x))*(2758944252.4214177))))|x)/(tmp = -2746716631.6805267, tmp))-x));
- assertEquals(0, x ^= ((tmp = 983113117, tmp)&((2638307333)+((((tmp = 3076361304.56189, tmp)<<(-2663410588.5895214))%((-1109962112)-(tmp = -2381021732, tmp)))%((tmp = 410559095, tmp)&x)))));
- assertEquals(0, x <<= (tmp = 1510895336.5111506, tmp));
- assertEquals(0, x <<= (tmp = -1688348296.2730422, tmp));
- assertEquals(2269471424, x -= (-2269471424));
- assertEquals(-2022580224, x ^= (x%((tmp = 160999480.21415842, tmp)&x)));
- assertEquals(-2077171712, x &= (tmp = 3032415014.3817654, tmp));
- assertEquals(270727, x >>>= (2973489165.1553965));
- assertEquals(270727, x |= x);
- assertEquals(-1895894537, x |= ((tmp = -1895903118.129186, tmp)|x));
- assertEquals(-1895894537, x -= ((((((((3143124509)>>>(-2866190144.8724117))*((x>>((961021882)*(tmp = 2363055833.8634424, tmp)))/((2032785518)+((2713643671.3420825)>>((-447782997.0173557)*((tmp = 1174918125.3178625, tmp)*((((tmp = -541539365.548115, tmp)%(-359633101))|(1765169562.2880063))+(tmp = -2512371966.374508, tmp))))))))/x)>>(x*((((-847238927.6399388)&(857288850))%(-2427015402))^((2221426567)%(x+x)))))>>>x)<<((tmp = 2009453564.2808268, tmp)>>((2924411494)<<(x>>(tmp = -1240031020.8711805, tmp)))))%(tmp = 3118159353, tmp)));
- assertEquals(0, x ^= x);
- assertEquals(0, x %= (-30151583));
- assertEquals(-1035186736, x ^= ((tmp = -517593368, tmp)<<(tmp = 3216155585, tmp)));
- assertEquals(49740, x >>>= x);
- assertEquals(49740, x %= (640223506));
- assertEquals(388, x >>>= ((x>>(tmp = 3161620923.50496, tmp))+(2605183207)));
- assertEquals(776, x += x);
- assertEquals(-97905, x ^= ((((((tmp = 145447047.8783008, tmp)^(((x>>>(tmp = 3014858214.2409887, tmp))>>>(629911626.132971))>>(((x+((369309637.229408)-x))<<(-2661038814.9204755))*(x+(x%(3025191323.4780884))))))+x)*(-482550691))|(-632782135))/x));
- assertEquals(-97905, x %= ((((-492914681)-((-2508632959.269368)&(tmp = 1209318291, tmp)))>>(-723512989.459533))>>>(((-528429623.985692)&(x^(tmp = -925044503, tmp)))-(-1696531234))));
- assertEquals(9585389025, x *= x);
- assertEquals(-715425728, x <<= ((583763091)<<(-1223615295)));
- assertEquals(-520093696, x <<= ((tmp = -1891357699.671592, tmp)*(((tmp = 3206095739.5163193, tmp)+(-2908596651.798733))>>>((tmp = -2820415686, tmp)>>(x|((((tmp = -566367675.6250327, tmp)*(-959117054))>>((((-187457085.89686918)*x)*(tmp = -2394776877.5373516, tmp))>>>x))|(((tmp = 80478970.46290505, tmp)<<(tmp = 2173570349.493097, tmp))-(x/((-2896765964)-((x/((tmp = 198741535.7034216, tmp)%(436741457)))%(tmp = 2936044280.0587225, tmp)))))))))));
- assertEquals(-2520.5909527086624, x /= ((211290893.06029093)>>(663265322)));
- assertEquals(-2520.5909527086624, x %= (x^((1057915688)<<(tmp = 1914820571.1142511, tmp))));
- assertEquals(1, x >>>= (((894963408.7746166)+(tmp = -2888351666, tmp))|x));
- assertEquals(-1989841636629996300, x += ((1424670316.224575)*((-2144149843.0876865)|((((421479301.0983993)|((3082651798)^(tmp = -271906497, tmp)))>>x)+((tmp = -178372083, tmp)%x)))));
- assertEquals(17935384255.088326, x /= (((((((tmp = 1168194849.2361898, tmp)>>>(-107316520.53815603))>>>(x^(((x%((x>>>(((-2456622387)/x)&((2124689803)|(((-1130151701)^(2796315158))>>x))))-((-884686033.5491502)>>>((-2371185318.5358763)&x))))+(tmp = 558422989, tmp))|((tmp = -420359120.0596726, tmp)/((-1820568437.0587764)&(2298602280.266465))))))>>(x-((tmp = -1164568978, tmp)^x)))^x)-x)+x));
- assertEquals(134233150, x &= ((x>>(((tmp = 98498118.13041973, tmp)-(804574397))/(tmp = -1564490985.7904541, tmp)))+x));
- assertEquals(4, x >>= (449610809));
- assertEquals(1912543790, x |= (1912543790));
- assertEquals(2487274263, x += (tmp = 574730473, tmp));
- assertEquals(-2140759118, x ^= (tmp = 338055333.9701035, tmp));
- assertEquals(311607367, x += (2452366485));
- assertEquals(9509, x >>= (372113647.84365284));
- assertEquals(-2001075684.1562128, x += (-2001085193.1562128));
- assertEquals(-638703280, x ^= (((tmp = 1096152237, tmp)&x)|((2707404245.0966487)-(((tmp = 1550233654.9691348, tmp)+(tmp = 2008619647, tmp))&((tmp = -2653266325, tmp)+(tmp = -280936332, tmp))))));
- assertEquals(-101811850, x |= (-2250090202));
- assertEquals(-13, x >>= ((-561312810.0218933)|(tmp = 79838949.86521482, tmp)));
- assertEquals(-13, x >>= ((tmp = -936543584, tmp)/(1180727664.1746705)));
- assertEquals(-1547, x *= (((tmp = 1005197689, tmp)>>>x)>>>(tmp = 34607588, tmp)));
- assertEquals(2393209, x *= x);
- assertEquals(2393209, x |= x);
- assertEquals(0, x >>= (-2691279235.1215696));
- assertEquals(0, x *= (((896175510.4920144)*((((tmp = 1770236555.7788959, tmp)%(537168585.7310632))/x)&(tmp = 1094337576, tmp)))&(((x-x)-x)>>x)));
- assertEquals(-1922620126, x ^= (-1922620126));
- assertEquals(3.43481396325761, x /= (tmp = -559745053.6088333, tmp));
- assertEquals(0, x >>= x);
- assertEquals(0, x >>>= (tmp = 2106956255.6602135, tmp));
- assertEquals(-1339003770, x ^= ((tmp = 2955963526.960022, tmp)+x));
- assertEquals(-0, x *= ((((tmp = 368669994, tmp)>>>(x*x))<<(tmp = 2355889375, tmp))&(tmp = -2267550563.9174895, tmp)));
- assertEquals(0, x >>= (753848520.8946902));
- assertEquals(0, x >>>= x);
- assertEquals(0, x %= ((tmp = -2872753234.2257266, tmp)|x));
- assertEquals(NaN, x %= (x>>>(tmp = 890474186.0898918, tmp)));
- assertEquals(NaN, x %= ((tmp = 1341133992.284471, tmp)&(tmp = -2979219283.794898, tmp)));
- assertEquals(NaN, x += (-2865467651.1743298));
- assertEquals(NaN, x += ((-1424445677)%(x^(tmp = 1150366884, tmp))));
- assertEquals(0, x &= (x+((tmp = 1499426534, tmp)+x)));
- assertEquals(0, x |= (((((tmp = -2413914642, tmp)<<((x>>>x)^(1218748804)))+((((-1085643932.2642736)-(-1199134221.533854))>>(tmp = 2148778719, tmp))-((tmp = 1589158782.0040946, tmp)/(tmp = -2485474016.1575155, tmp))))>>>(x>>x))/(2230919719)));
- assertEquals(0, x %= ((tmp = -2576387170.517563, tmp)>>>((tmp = -2362334915.919525, tmp)>>>(((3096453582)-(700067891.4834484))^(2396394772.9253683)))));
- assertEquals(-1798103432, x ^= (((((tmp = 2396144191, tmp)*(x>>>(1512158325)))&(((-1256228298.5444434)&(((-2963136043.434966)&((tmp = 2472984854, tmp)+(tmp = -454900927, tmp)))%(tmp = 484255852.65332687, tmp)))>>((x%x)-x)))&(tmp = 929723984, tmp))^(tmp = -1798103432.5838807, tmp)));
- assertEquals(-2137913344, x &= ((((x|(-2970116473))&(((x/x)/((tmp = 2853070005, tmp)>>>x))%(((tmp = -3123344846, tmp)/((2224296621.6742916)-(tmp = -2246403296.455411, tmp)))+((x&(((x^(x*(2829687641)))+x)&(tmp = 988992521, tmp)))^x))))<<((((-820608336)^(tmp = 2851897085, tmp))>>(tmp = -402427624, tmp))>>>x))-(((x*(((-2287402266.4821453)%(tmp = -520664172.1831205, tmp))^(x/(1875488837))))<<(tmp = 402393637, tmp))&(tmp = 1576638746.3047547, tmp))));
- assertEquals(-2827557853031924000, x *= (tmp = 1322578326.6507945, tmp));
- assertEquals(6.424459501778244e+27, x *= (tmp = -2272087729.3065624, tmp));
- assertEquals(-1586887483, x |= (-1586887483));
- assertEquals(-567868980691736100, x *= (tmp = 357850816, tmp));
- assertEquals(1489101591, x ^= (x%(x|(421921075))));
- assertEquals(-801213804822328000, x *= (x|(-672326904.6888077)));
- assertEquals(612257233.6612054, x /= (((tmp = -350127617, tmp)>>>(-1140467595.9752212))<<((x^x)+(-3117914887))));
- assertEquals(19097.231243331422, x /= ((x^(tmp = -570012517, tmp))>>>x));
- assertEquals(0, x >>= ((x%(((-2347648358)%((x-(tmp = -456496327, tmp))|(x^(-1977407615.4582832))))<<(x/(tmp = -2021394626.214082, tmp))))%(tmp = -949323000.2442119, tmp)));
- assertEquals(0, x <<= x);
- assertEquals(NaN, x %= (x^(x>>(((tmp = 597147546.7701412, tmp)&(((((-972400689.6267757)|(tmp = -2390675341.6367044, tmp))|(tmp = 1890069123.9831812, tmp))<<(((1606974563)-(tmp = -2211617255.8450356, tmp))&((((x+((2433096953)&(-2527357746.681596)))*(tmp = -313956807.55609417, tmp))|((tmp = -2146031047.968496, tmp)/(tmp = 2851650714.68952, tmp)))>>(((tmp = 2630692376.6265225, tmp)-(tmp = -3162222598, tmp))>>((tmp = 1915552466, tmp)*(x>>>(-2413248225.7536864)))))))&(x%((((1218471556)|x)+(tmp = -849693122.6355379, tmp))+x))))>>>(x/((tmp = 689889363, tmp)/x))))));
- assertEquals(0, x >>>= (45649573.23297));
- assertEquals(0, x >>>= (tmp = 1084439432.771266, tmp));
- assertEquals(NaN, x /= x);
- assertEquals(NaN, x *= (tmp = 1642750077, tmp));
- assertEquals(0, x >>>= (tmp = -1944001182.0778434, tmp));
- assertEquals(1682573000, x |= (tmp = -2612394296.2858696, tmp));
- assertEquals(3041823595, x -= (((tmp = 720576773, tmp)|(x^(-1068335724.2253149)))>>(x*(-2501017061))));
- assertEquals(6083647190, x += x);
- assertEquals(-6536258988089986000, x *= ((tmp = 632312939.6147232, tmp)|((-1621821634)+(((tmp = -2281369913.562131, tmp)&((tmp = -381226774, tmp)|x))&(664399051)))));
- assertEquals(4.272268155938712e+37, x *= x);
- assertEquals(733271152, x %= (-1345127171));
- assertEquals(847089925, x ^= (tmp = 432620917.57699084, tmp));
- assertEquals(1337073824, x <<= x);
- assertEquals(-25810602, x ^= (tmp = 2982414838, tmp));
- assertEquals(-25282209, x |= ((tmp = -2927596922, tmp)>>>(-2404046645.01413)));
- assertEquals(639190091919681, x *= x);
- assertEquals(173568320, x &= ((((tmp = -718515534.4119437, tmp)&(tmp = 2989263401, tmp))<<x)|((tmp = 537073030.5331153, tmp)-(tmp = 883595389.314624, tmp))));
- assertEquals(0, x -= x);
- assertEquals(0, x >>>= (tmp = -1844717424.917882, tmp));
- assertEquals(0, x >>= (tmp = -462881544.2225325, tmp));
- assertEquals(0, x >>= x);
- assertEquals(-1868450038, x ^= (2426517258.6111603));
- assertEquals(1, x /= x);
- assertEquals(1175936039.4202638, x += (tmp = 1175936038.4202638, tmp));
- assertEquals(-127916015, x ^= ((x/(1841969600.3012052))-(tmp = 1099467723, tmp)));
- assertEquals(395713785658171900, x *= (-3093543726));
- assertEquals(395713787128560900, x += (((((-717204758)*(tmp = -588182129.6898501, tmp))-x)+(tmp = 20638023, tmp))^x));
- assertEquals(-962609355, x |= ((x^(-3118556619.912983))<<((tmp = 876126864, tmp)&x)));
- assertEquals(-962609355, x %= (tmp = -2079049990, tmp));
-}
-f();
diff --git a/src/3rdparty/v8/test/mjsunit/numops-fuzz-part2.js b/src/3rdparty/v8/test/mjsunit/numops-fuzz-part2.js
deleted file mode 100644
index 51260a4..0000000
--- a/src/3rdparty/v8/test/mjsunit/numops-fuzz-part2.js
+++ /dev/null
@@ -1,1178 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function f() {
- var x = -962609355;
- var tmp = 0;
- assertEquals(-114583755, x -= (((-2806715240)&(((1961136061.0329285)>>>((2087162059)*x))+((tmp = -1890084022.7631018, tmp)%(tmp = 2137514142.358262, tmp))))+(x<<(tmp = 2991240918, tmp))));
- assertEquals(-425721856, x <<= x);
- assertEquals(3778560, x >>>= ((x|(3198503572))>>(1158434541.1099558)));
- assertEquals(3778560, x %= (tmp = -2592585378.9592104, tmp));
- assertEquals(624640, x &= (tmp = 2261638192.9864054, tmp));
- assertEquals(1249280, x += x);
- assertEquals(1048576, x &= ((tmp = -2144301819.9892588, tmp)^((x-x)<<x)));
- assertEquals(2097152, x <<= (x/x));
- assertEquals(5069061551149729, x *= (tmp = 2417116904.8069615, tmp));
- assertEquals(1.4836296666029616e+25, x += ((tmp = 2926833006.7121572, tmp)*x));
- assertEquals(-256, x >>= ((-469330345.3589895)%((x^(((2554170843.4978285)/(2495676674.815263))>>>x))*(-918892963))));
- assertEquals(-134217728, x <<= (x|(((((1687450853.1321645)+(tmp = 2369533014.5803776, tmp))+(tmp = -2613779445, tmp))+(tmp = -2488826226.3733397, tmp))>>(tmp = -220646936.41245174, tmp))));
- assertEquals(704164545131708400, x *= ((-2632786741)+(-2613647956)));
- assertEquals(9216, x >>>= (-1925405359.657349));
- assertEquals(4491403261551.008, x *= (tmp = 487348444.1787118, tmp));
- assertEquals(4490606381829.008, x -= (tmp = 796879722, tmp));
- assertEquals(-60294056, x >>= x);
- assertEquals(-3193966580.494005, x += (tmp = -3133672524.494005, tmp));
- assertEquals(550500358, x >>>= ((tmp = -2779637628.390116, tmp)-((tmp = 29230786.984039664, tmp)%(tmp = -310649504.7704866, tmp))));
- assertEquals(68812544, x >>= (-1347584797));
- assertEquals(1.2120221595741834e-11, x /= ((2791020260)*((((1964870148.6358237)^x)|(-3082869417))-((x^x)&((1234292117.8790703)<<(-1792461937.2469518))))));
- assertEquals(1.2120221595741834e-11, x %= (x-(2780439348)));
- assertEquals(-1421552183, x |= (tmp = -1421552183.5930738, tmp));
- assertEquals(-1420954119, x |= ((((-2547788562.5735893)<<x)%(435385623))>>(x|x)));
- assertEquals(1, x /= x);
- assertEquals(1, x >>= (x>>>(((2975715011.501709)-(tmp = -1473273552.981069, tmp))/(1654883913.042487))));
- assertEquals(-65382, x ^= ((x/((tmp = -2780026200, tmp)<<x))^(((-2683084424)<<x)>>(-1716245874))));
- assertEquals(1530921106, x &= (1530940914));
- assertEquals(1, x /= x);
- assertEquals(0, x >>= x);
- assertEquals(0, x /= (tmp = 773741434.1972584, tmp));
- assertEquals(0, x |= x);
- assertEquals(0, x <<= (-67977514.99888301));
- assertEquals(0, x %= (2496550482.524729));
- assertEquals(-0, x /= (tmp = -515040417, tmp));
- assertEquals(0, x <<= (-1673460935.2858837));
- assertEquals(-2638209488, x += (-2638209488));
- assertEquals(-2400951839498683400, x *= (910068685));
- assertEquals(1600582036, x ^= (((-1247602308.4812562)>>(((-2393714444.179732)>>>x)%(-778140635.7165127)))+(-1933914727.2268424)));
- assertEquals(0, x *= ((x-x)>>(-1270234575)));
- assertEquals(0, x >>>= (tmp = 3193676327.493656, tmp));
- assertEquals(0, x ^= (x>>>(1148676785.389884)));
- assertEquals(0, x >>= (tmp = -2269181763.8663893, tmp));
- assertEquals(0, x >>= (3149450221));
- assertEquals(0, x >>= (1069630750));
- assertEquals(-625009654, x ^= ((-2143499112)%(-759244728.6214335)));
- assertEquals(3583943, x >>>= (-2942645558.1204453));
- assertEquals(1791971, x >>= (x/x));
- assertEquals(223996, x >>= x);
- assertEquals(6999, x >>= (tmp = -1051883611.9443719, tmp));
- assertEquals(1459617792, x <<= (-1572314984));
- assertEquals(2622356453.269262, x -= (tmp = -1162738661.2692618, tmp));
- assertEquals(5103676461.269262, x += (2481320008));
- assertEquals(823989684.2692623, x %= (x^(((((1048362966)*((tmp = -2423040747.6233954, tmp)>>>x))*((tmp = 2330818588.4081, tmp)>>(tmp = 103312020.98346841, tmp)))+(tmp = 2264492857.144133, tmp))>>>((tmp = 2523442834, tmp)<<x))));
- assertEquals(0, x >>>= (tmp = -2018700898.531027, tmp));
- assertEquals(NaN, x /= x);
- assertEquals(0, x <<= (tmp = -2489442223, tmp));
- assertEquals(0, x >>= ((3045836220)>>>x));
- assertEquals(-1156905149, x ^= (3138062147));
- assertEquals(-0, x %= x);
- assertEquals(-3118433907.512866, x -= ((tmp = 1338611238, tmp)-(-1779822669.5128663)));
- assertEquals(100679693, x &= (1040565279));
- assertEquals(10136400582574248, x *= x);
- assertEquals(0, x %= x);
- assertEquals(2400318405, x += (2400318405));
- assertEquals(1.0036190808578471, x /= (((tmp = -2313492253.9889445, tmp)|(x-((tmp = -205459123, tmp)>>x)))+x));
- assertEquals(0, x >>>= (tmp = 882343227.1675215, tmp));
- assertEquals(0, x &= ((tmp = 2307828832.2706165, tmp)^((((((1404388047)<<((807879382)-(-2862921873)))-x)*(tmp = -1897734732, tmp))>>(tmp = 1981888881.2306776, tmp))%x)));
- assertEquals(0, x <<= x);
- assertEquals(0, x *= (((x*x)*((((2764801384.171454)%(x>>>x))&(384818815))+(x>>(tmp = -1481683516, tmp))))&x));
- assertEquals(0, x >>= (tmp = -2202536436, tmp));
- assertEquals(0, x ^= x);
- assertEquals(0, x &= (tmp = 15161124, tmp));
- assertEquals(-1586110900, x ^= (-1586110900));
- assertEquals(-1586127952, x -= ((tmp = 560737212, tmp)%((1349529668)>>>(tmp = -1956656528, tmp))));
- assertEquals(-1174945870, x -= ((1178456190)|x));
- assertEquals(1335167624.3422346, x -= (tmp = -2510113494.3422346, tmp));
- assertEquals(1329952126.3422346, x -= (x>>x));
- assertEquals(1, x >>= x);
- assertEquals(3, x |= (x<<x));
- assertEquals(3, x -= (x-x));
- assertEquals(-1938525669, x |= (tmp = 2356441625.5128202, tmp));
- assertEquals(-1938525669, x ^= ((tmp = -197149141.3622346, tmp)/(2833823156)));
- assertEquals(-2.6292393147661324, x /= (737295254.2254335));
- assertEquals(2925975987.370761, x -= (-2925975990));
- assertEquals(2925975987.370761, x %= (tmp = 3041184582.8197603, tmp));
- assertEquals(-1908068660, x ^= ((tmp = -1380575181, tmp)-(2375164084.8366547)));
- assertEquals(-477017165, x >>= (tmp = 2420877826.353099, tmp));
- assertEquals(-477017165, x %= ((tmp = -2919204062.3683634, tmp)-(tmp = -2263328990, tmp)));
- assertEquals(-2105539936, x &= ((tmp = -1630795440, tmp)-(x&((933423833)>>(-475069901)))));
- assertEquals(-4979480720, x -= (tmp = 2873940784, tmp));
- assertEquals(-4190953472, x -= (x&(tmp = -645918862.9001305, tmp)));
- assertEquals(17564091004468855000, x *= x);
- assertEquals(-857277134, x |= (tmp = 2363948338, tmp));
- assertEquals(1015632515, x -= (-1872909649));
- assertEquals(-1150380043, x ^= (tmp = -2014853770, tmp));
- assertEquals(1607729152, x <<= ((2194449589)+(x|(tmp = -1470075256.4605722, tmp))));
- assertEquals(1608356496, x |= ((((x|(670426524))<<((-2415862218)>>(tmp = 1572561529.9213061, tmp)))^((-1989566800.3681061)|x))&(2170270618.3401785)));
- assertEquals(-1836056576, x <<= (tmp = 2906301296.540217, tmp));
- assertEquals(-2952415961567723500, x *= (tmp = 1608020145, tmp));
- assertEquals(1435500544, x <<= x);
- assertEquals(700928, x >>>= (tmp = 2924829771.1804566, tmp));
- assertEquals(0, x <<= ((x^(2410009094))|(((-164334714.18698573)%(x*x))|(tmp = 2182431441.2575436, tmp))));
- assertEquals(-143321285, x ^= (tmp = -143321285, tmp));
- assertEquals(-2, x >>= x);
- assertEquals(-1, x >>= (x&(1109737404)));
- assertEquals(1, x >>>= x);
- assertEquals(0, x ^= x);
- assertEquals(-2463707358.165766, x += (-2463707358.165766));
- assertEquals(1831259938, x >>= (((((x-(tmp = 1359448920.5452857, tmp))%(tmp = -104541523, tmp))/((3133289055.9780197)*x))>>x)%x));
- assertEquals(1858895646, x ^= ((tmp = 131424376, tmp)>>(tmp = -396761023, tmp)));
- assertEquals(1, x >>= x);
- assertEquals(-1888369021, x |= ((tmp = -2038869285.046599, tmp)^((tmp = -1318286592.4250565, tmp)-(tmp = 2825123496, tmp))));
- assertEquals(1036458508, x <<= ((tmp = 2722401450, tmp)/((tmp = 1090712291, tmp)>>((tmp = -2155694696.9755683, tmp)*(tmp = 1661107340, tmp)))));
- assertEquals(1, x /= (x%((tmp = -1716050484, tmp)+(tmp = -1683833551.797319, tmp))));
- assertEquals(0, x >>= (tmp = -2899315628, tmp));
- assertEquals(0, x |= x);
- assertEquals(0, x >>>= x);
- assertEquals(0, x <<= x);
- assertEquals(1546062911, x |= (1546062911));
- assertEquals(1546195271, x += ((tmp = -3210667091, tmp)>>(tmp = 1323121165, tmp)));
- assertEquals(3092390542, x += x);
- assertEquals(-1199626354, x |= (406783756));
- assertEquals(-3650317194584908300, x *= (tmp = 3042878461.625484, tmp));
- assertEquals(-7.650495675092354e+27, x *= (2095844078));
- assertEquals(0, x >>= (tmp = 342617880.3384919, tmp));
- assertEquals(22, x ^= (((tmp = 381409558.9104688, tmp)>>((2823172888.974557)>>x))>>x));
- assertEquals(736383550, x += (736383528));
- assertEquals(0, x %= x);
- assertEquals(0, x += x);
- assertEquals(-1553157831, x -= (1553157831));
- assertEquals(1838556960, x <<= (3158944357.262641));
- assertEquals(5503285699.188747, x *= ((tmp = 2437440276, tmp)/(814308583.8128904)));
- assertEquals(5824889900.188747, x -= (((tmp = 1171445694, tmp)-(tmp = -1584666956, tmp))^(tmp = 1217545373, tmp)));
- assertEquals(747032, x >>>= (-89332085));
- assertEquals(747032, x |= (x^(x^(x>>>x))));
- assertEquals(747032, x >>>= ((-1558482440)*((tmp = -2413907480, tmp)+(3003996862.384156))));
- assertEquals(7.747761349084291e+23, x += ((tmp = 518064022.64624584, tmp)*((tmp = 2001951702, tmp)*x)));
- assertEquals(0, x <<= (2769324707.5640426));
- assertEquals(NaN, x %= (((((((-2458056470.7717686)&x)>>(tmp = -361831232.42602444, tmp))*(2611108609.6727047))>>>x)/(-1713747021.8431413))*(-1143281532)));
- assertEquals(NaN, x %= ((x^((-613836813)*(tmp = -3180432597.0601435, tmp)))%x));
- assertEquals(NaN, x /= ((-1607092857)^x));
- assertEquals(0, x &= (-1190719534));
- assertEquals(0, x >>>= x);
- assertEquals(0, x += (x>>(642177579.1580218)));
- assertEquals(-3129552333, x += (-3129552333));
- assertEquals(1165414963, x &= x);
- assertEquals(2222, x >>= (((tmp = 2606317568, tmp)|x)+(tmp = 1844107136, tmp)));
- assertEquals(NaN, x %= ((x^x)<<(x/(((tmp = -1362148700, tmp)&((tmp = 76371048, tmp)<<x))>>>((x^(-2605741153))>>(((tmp = -2131608159.7634726, tmp)|(((2827792229.8004875)|(((-848439251)+(-2576768890.123433))|((tmp = -2617711776, tmp)-((-199980264)&((tmp = -46967951.76266599, tmp)/(-733253537))))))*(tmp = 1820087608, tmp)))>>>(tmp = -3118359396.4298744, tmp)))))));
- assertEquals(NaN, x /= ((2144871731)*x));
- assertEquals(NaN, x *= x);
- assertEquals(NaN, x %= (tmp = 234811462.08692443, tmp));
- assertEquals(0, x >>>= ((1121416685)|(x^(((tmp = -2905413334, tmp)<<(tmp = -3091554324.030834, tmp))<<x))));
- assertEquals(-55938048, x |= ((tmp = -55938048, tmp)+(x*(tmp = -1518809027.2695136, tmp))));
- assertEquals(-3.3234995678333864e-10, x /= (x*(tmp = -3008876576, tmp)));
- assertEquals(0, x <<= (x/((((((-2168824234.2418427)>>(((tmp = 1976810951, tmp)%x)<<(x*(x>>(x%(3146266192))))))%(tmp = 1756971968.122397, tmp))>>>(-2859440157.8352804))/(-1001406.1919288635))>>>(-1358031926))));
- assertEquals(-0, x *= (tmp = -1756000533, tmp));
- assertEquals(-0, x %= (2522761446.869926));
- assertEquals(0, x >>>= (((1087690535)>>>(2741387979))^x));
- assertEquals(0, x -= x);
- assertEquals(0, x >>= (-819422694.2188396));
- assertEquals(0, x ^= x);
- assertEquals(NaN, x /= x);
- assertEquals(0, x &= (tmp = 86627723, tmp));
- assertEquals(0, x += x);
- assertEquals(0, x %= (tmp = -2317915475, tmp));
- assertEquals(Infinity, x += (((-3072799584)^(-2487458319))/(((tmp = -3050692353, tmp)&x)>>(-777977292.8500206))));
- assertEquals(Infinity, x += x);
- assertEquals(Infinity, x -= (tmp = 484428269, tmp));
- assertEquals(Infinity, x *= x);
- assertEquals(Infinity, x /= (2059586218.2278104));
- assertEquals(Infinity, x *= (tmp = 415918523.8350445, tmp));
- assertEquals(-1800869091, x |= (((-1800869091)>>>(x>>>(tmp = -2832575051, tmp)))>>>x));
- assertEquals(6196126991451132000, x *= ((-1467292383.8458765)+(-1973339154.7911158)));
- assertEquals(6196126992684649000, x += (1233517421));
- assertEquals(1, x /= x);
- assertEquals(-7153809722216516000, x -= (((-2984550787.146106)<<(tmp = 743743974, tmp))*((3155151275)/((-1771412568.8965073)%x))));
- assertEquals(-7153809721471491000, x -= (-745024056));
- assertEquals(5.117699353102001e+37, x *= x);
- assertEquals(0, x >>= x);
- assertEquals(-0, x *= ((-2651785447.666973)<<(-1124902998)));
- assertEquals(-0, x /= (2119202944));
- assertEquals(1042673805.5205957, x -= ((x<<x)-(tmp = 1042673805.5205957, tmp)));
- assertEquals(62, x >>>= (tmp = 2769597912.977452, tmp));
- assertEquals(34, x &= ((tmp = -61541150, tmp)%(x^(-943160469))));
- assertEquals(34, x ^= ((-2625482224.4605474)<<(-2277806338.3461556)));
- assertEquals(536870912, x <<= ((-2373927426.4757633)^x));
- assertEquals(536870912, x &= x);
- assertEquals(512, x >>>= ((-1626769708.310139)<<((tmp = 641796314, tmp)/(721629637.3215691))));
- assertEquals(0, x <<= (-113973033));
- assertEquals(NaN, x /= x);
- assertEquals(NaN, x += (-1602711788.2390788));
- assertEquals(NaN, x *= (x%x));
- assertEquals(0, x &= (x<<(x|(x>>((x>>>(x%((1182960050)^(((-220896609)-((((tmp = 1518275435.360103, tmp)/(tmp = -88234820, tmp))^x)/x))>>(3169930777.548236)))))-(tmp = -2912668817.662395, tmp))))));
- assertEquals(0, x *= ((2323969408.7524366)/(((tmp = -3089229853, tmp)>>>((((tmp = -1012580544.5631487, tmp)>>(1138049418.9023373))>>x)&x))*(tmp = 626912001, tmp))));
- assertEquals(0, x >>>= x);
- assertEquals(NaN, x /= (x%(-868024322)));
- assertEquals(NaN, x /= (tmp = -1749532322, tmp));
- assertEquals(1861918711, x |= (-2433048585.853014));
- assertEquals(1861918711, x >>= (((102451747)>>>((((241651917.47259736)/((((((((1759022236)^(tmp = -2592022722, tmp))+((-1748044969)>>>(704597925)))/(-1639604842))%((1349846853.7345295)<<(-729695861)))/(x>>((tmp = -2654474404.7365866, tmp)>>x)))>>>(((-480356478)|(x%((tmp = -1668269244.6979945, tmp)+(tmp = -2441424458.565183, tmp))))^((1634981212.7598324)>>>(tmp = 122455570.22000062, tmp))))<<x))*((tmp = -1058636137.5037816, tmp)+((2794083757.138838)&((x/(50081370))&x))))/x))/((tmp = -243106636, tmp)<<((x*((tmp = -648475219.5971704, tmp)>>((tmp = -1568913034, tmp)-((tmp = 911458615, tmp)|x))))>>>(tmp = 2714767933.920696, tmp)))));
- assertEquals(0, x ^= x);
- assertEquals(-2080484602, x |= (((1544771831.4758213)|x)^(-538113039)));
- assertEquals(696451072, x <<= (tmp = -1587032689, tmp));
- assertEquals(-162595645, x += (tmp = -859046717, tmp));
- assertEquals(516546456, x >>>= x);
- assertEquals(623083588, x += ((-1371850352)^(tmp = -1469933252, tmp)));
- assertEquals(92342412, x %= (tmp = -132685294, tmp));
- assertEquals(500272110, x |= ((tmp = 1616032506, tmp)%((tmp = 1589569590.4269853, tmp)|(-972791738.1829333))));
- assertEquals(3247086, x %= (((tmp = 1372216208, tmp)|(-638950076.3387425))&((-2619249161.849716)&(73957896))));
- assertEquals(0, x >>>= (tmp = -1482343462.6911879, tmp));
- assertEquals(1265125662, x ^= (tmp = -3029841634, tmp));
- assertEquals(4941897, x >>>= (-2039728632));
- assertEquals(206857, x &= (tmp = 226962365.45571184, tmp));
- assertEquals(1.0925018562586405e+24, x += ((tmp = 2687424146, tmp)*(((-1998020319)%x)*(-2080331363))));
- assertEquals(-1.755270751212437e+32, x *= (-160665242));
- assertEquals(0, x <<= (3152796521.6427975));
- assertEquals(0, x ^= ((((((tmp = -855001595, tmp)<<(2007525777))-(x-(x-x)))/(3036585090.9701214))&(1827983388))*((tmp = -915604789.0515733, tmp)&(((((tmp = -806628722.7820358, tmp)%x)/(tmp = -2773117447, tmp))|x)<<(((tmp = -2902300974.7300634, tmp)|x)/(-1608133440))))));
- assertEquals(0, x |= ((((((119024954)*(((x^(tmp = 2939514414, tmp))|x)^(x-(tmp = -1597415597.6795669, tmp))))+(((tmp = -182277816.14547157, tmp)<<(((-2983451324.3908825)^(tmp = 1572568307, tmp))+(-1165604960.8619013)))/(x>>((tmp = -2127699399, tmp)>>((x^(((((tmp = -1968667383, tmp)^(tmp = 3120052415.9964113, tmp))|(((x|(((x^((tmp = 2831505153, tmp)<<((-3150506831.547093)+((x%(tmp = 383761651, tmp))%(2856803457)))))+(((tmp = -2426953997, tmp)^(tmp = -2667954801.1010714, tmp))*(tmp = -2707801631, tmp)))&(tmp = 2082935238.794707, tmp)))^((tmp = 697573323.5349133, tmp)-x))%(tmp = 661936357, tmp)))/(-1717944600.261446))>>>((2423776015.0968056)^((-1410322010)|((x<<(tmp = 2935993226, tmp))/(tmp = -1533896392, tmp))))))*(tmp = -596675330, tmp))))))>>>(((2944268153)^(x&(144579050.93126357)))/(-2123810677.2619643)))>>>(1473040195.9009588))*x));
- assertEquals(0, x /= (2877666495));
- assertEquals(2174852514, x -= (tmp = -2174852514, tmp));
- assertEquals(543713128, x >>>= x);
- assertEquals(2978128878.939105, x += (tmp = 2434415750.939105, tmp));
- assertEquals(3529591145844655600, x *= (tmp = 1185170719.3753138, tmp));
- assertEquals(659, x >>>= ((((((x<<(((((-425423078)/(((tmp = 160617689.20550323, tmp)&(-1524740325.5003028))%(tmp = -1869426475, tmp)))<<(((x^(-487449247))>>>(tmp = -1962893666.7754712, tmp))%x))*x)>>((tmp = 623413085, tmp)&(x+(((((-2200726309.083274)-(x-x))+x)&(-1304849509))|((((tmp = -431896184, tmp)>>>(x>>(-1932126133)))<<((1078543321.2196498)*(-10761352)))>>(tmp = -2681391737.5003796, tmp)))))))/x)-(tmp = -1768629117, tmp))/(((((tmp = -2320718566.0664535, tmp)%x)+(-2831503351.995921))>>>(-2695416841.3578796))*(943979723)))<<x)|((652520546.7651662)>>(1045534827.6806792))));
- assertEquals(531, x &= (tmp = -293707149, tmp));
- assertEquals(0, x >>= (tmp = -678056747.5701449, tmp));
- assertEquals(1184651529.8021393, x += (tmp = 1184651529.8021393, tmp));
- assertEquals(1721719611, x |= (tmp = 1645413178, tmp));
- assertEquals(-406880257, x |= (tmp = 2268544460, tmp));
- assertEquals(-4194304, x <<= (tmp = -109701322.43455839, tmp));
- assertEquals(17592186044416, x *= x);
- assertEquals(0, x ^= (x&x));
- assertEquals(0, x <<= (tmp = 1715401127, tmp));
- assertEquals(-1793087394, x |= (tmp = -1793087394.730585, tmp));
- assertEquals(-2, x >>= x);
- assertEquals(263607360.10747814, x += (tmp = 263607362.10747814, tmp));
- assertEquals(1073214955, x |= (893759979.3631718));
- assertEquals(703953930, x -= ((2738450011)%(x^(tmp = 679402836, tmp))));
- assertEquals(1, x >>= (tmp = 2262515165.6670284, tmp));
- assertEquals(0, x >>= (((tmp = 747896494, tmp)^((tmp = -1005070319, tmp)+x))|x));
- assertEquals(0, x >>= ((953612771)>>>(tmp = 3066170923.3875694, tmp)));
- assertEquals(-314941454, x -= (x+(((314941454)%(((tmp = 2200222912.9440064, tmp)>>>(2534128736.805429))>>>(x|((747716234)%(((tmp = -252254528, tmp)%(-1553513480.1875453))&x)))))<<x)));
- assertEquals(-535686958, x &= (-522809126));
- assertEquals(0.5480312086215239, x /= (tmp = -977475278, tmp));
- assertEquals(-1199953459.6090598, x *= ((-2189571393)+((3186862741.37774)>>(tmp = -2193090564.5026345, tmp))));
- assertEquals(-1199953459.6090598, x %= ((tmp = 2986532440, tmp)*(2685122845)));
- assertEquals(-1199953459.6090598, x %= (1951182743.7399902));
- assertEquals(51262285383887820, x *= (-42720228));
- assertEquals(-424776752, x |= x);
- assertEquals(166221344210236600, x *= (tmp = -391314598.6158786, tmp));
- assertEquals(-1883425600, x >>= (((tmp = -1020679296, tmp)^((-1416867718)+(-1412351617)))<<(-2743753169)));
- assertEquals(0, x &= (x/(-2250026610)));
- assertEquals(-1111956501, x ^= (tmp = 3183010795, tmp));
- assertEquals(2012059503, x ^= (tmp = -900369276, tmp));
- assertEquals(15719214, x >>>= (tmp = -3196277049, tmp));
- assertEquals(15719214, x |= x);
- assertEquals(100779035, x -= ((-1245802025)^(-2964289852)));
- assertEquals(0, x >>= x);
- assertEquals(0, x &= (((x<<((2361941389.708063)%x))>>((328256762.09842086)>>>((((tmp = 3094192285, tmp)-(((x>>(tmp = -2920437464, tmp))<<(tmp = -2693021467, tmp))-(x>>>((2410065554)%(x%(tmp = 2487056196.689908, tmp))))))-(tmp = -866314146, tmp))^((1754098471)-((((((-2450740191)-(tmp = 1977885539.6785035, tmp))*((tmp = -1205431332, tmp)>>>x))>>(-870601854))>>(tmp = -301859264, tmp))|((tmp = -2308971516.8301244, tmp)/x))))))&((2307007357)-((tmp = -1518812934, tmp)+(2562270162)))));
- assertEquals(0, x <<= x);
- assertEquals(-1802124619, x |= (-1802124619));
- assertEquals(-1802124619, x %= ((1617132364.306333)+((1678465962.079633)|((516698570)%(((569813606)*(-1800804098.6270027))%((tmp = 1976706935, tmp)-((tmp = -1830228989.5488424, tmp)>>(((x^((tmp = 1015246068.3791624, tmp)>>x))^((-2171682812.246772)-(tmp = -398330350, tmp)))&x))))))));
- assertEquals(904564673.6237984, x -= (tmp = -2706689292.6237984, tmp));
- assertEquals(818237248768128900, x *= x);
- assertEquals(254842325.2585001, x %= (1550087667.9657679));
- assertEquals(-1163919360, x <<= x);
- assertEquals(-3.4644526843674166, x /= ((-446801454)+(x>>>(tmp = -2025151870, tmp))));
- assertEquals(0, x &= ((((((((-1739617728)&(x&(((tmp = -2946470036.552597, tmp)/x)*x)))^(-1130501404))>>>x)/((1870230831)>>>(840301398)))%x)/x)/(-2927537567)));
- assertEquals(0, x >>= x);
- assertEquals(0, x >>>= (x&(x&x)));
- assertEquals(0, x &= ((-579614044)-(-756012505.4048488)));
- assertEquals(-2970367642, x -= (tmp = 2970367642, tmp));
- assertEquals(-415129376, x ^= (tmp = 2847041926.060355, tmp));
- assertEquals(-1505681312, x &= (tmp = -1225184902.9215767, tmp));
- assertEquals(-3174471329.5807734, x += (-1668790017.5807734));
- assertEquals(-Infinity, x /= (x>>x));
- assertEquals(NaN, x -= x);
- assertEquals(0, x ^= (x^(((-1407936301.5682082)<<((x^(((tmp = 3213446217.307076, tmp)|x)|((tmp = 3219810777.3171635, tmp)/(tmp = 1561807400, tmp))))>>>((tmp = 2449910203.0949173, tmp)|((((1954662538.7453175)>>(tmp = -1711636239.9916713, tmp))>>>(tmp = 406219731.214718, tmp))<<(((-907908634.4609842)^((((((tmp = 2408712345, tmp)*(tmp = 1740346634.5154347, tmp))>>(tmp = 715783991, tmp))^(tmp = -655628853.2821262, tmp))%(tmp = 2819143280.434571, tmp))/(-1240412852)))*x)))))/x)));
- assertEquals(0, x >>>= x);
- assertEquals(0, x <<= x);
- assertEquals(0, x >>>= (((-3198075268.8543105)>>(((((x+((tmp = -133461401.50823164, tmp)-((x&(((((tmp = 2617977319, tmp)>>((tmp = -2704719576.8734636, tmp)|((tmp = -977362542.2423751, tmp)<<(x<<(tmp = 3054487697.1441813, tmp)))))>>>((-1635655471)%x))/(-2079513672))%(tmp = 1993563806, tmp)))<<(tmp = -1310524200.6106496, tmp))))%((((-2558804500.7722936)+(tmp = -1641265491, tmp))<<((tmp = -1309608349, tmp)>>>x))/((tmp = -2306644272, tmp)<<x)))*(-2009396162.3063657))+(267343314.3720045))-(-2212612983.661479)))|x));
- assertEquals(NaN, x %= x);
- assertEquals(NaN, x *= x);
- assertEquals(-824822309, x |= (-824822309));
- assertEquals(-807944741, x |= (((-598067403)*((x&(tmp = 2897778389, tmp))>>>(-1322468310.3699632)))|x));
- assertEquals(90004223.44097246, x /= (((tmp = -481122620, tmp)&x)%((tmp = 1109368524, tmp)/(((-3150568522.633032)<<(tmp = 2923396776, tmp))^(x-((x/x)&(x/(-287976185.1049104))))))));
- assertEquals(0.4521931751193329, x /= (tmp = 199039323, tmp));
- assertEquals(1.8110466604491368e-10, x /= (2496860986.492693));
- assertEquals(0, x |= x);
- assertEquals(-1225944576, x += ((tmp = -807700791.631221, tmp)<<((-700782615.4781106)-((((-2954619897)>>>x)<<((tmp = 997657844, tmp)>>>(1227994596)))/((-1234591654.8495834)*((tmp = -191189053.70693636, tmp)+(tmp = -3027659304, tmp)))))));
- assertEquals(-1225811383, x |= (-1866233271));
- assertEquals(3069155913, x >>>= (((x/(-99524153.40911508))%(x>>>((((tmp = 2985975640, tmp)/(tmp = 2781516546.2494454, tmp))&(((2234114508)|(((x/(tmp = -1224195047, tmp))<<x)^(x>>>((537884375.5698513)+x))))^((tmp = -2144817497.5089426, tmp)|(-498079183.8178189))))>>>((x+x)&(-3086080103.6460695)))))<<(((tmp = 2151157136, tmp)*x)/(((x/x)>>>(-1149734628.4364533))-((3025445835.654089)+(tmp = 530902725.91127443, tmp))))));
- assertEquals(-1733702568, x ^= (tmp = 776361489.423534, tmp));
- assertEquals(8981504, x &= ((tmp = 2902581847, tmp)*(x-(-2697760560))));
- assertEquals(1153166.8526612986, x -= ((x/(tmp = -1375025594.5027463, tmp))+((3043576689.1538706)%(x+x))));
- assertEquals(3389855, x |= (x+x));
- assertEquals(-488458393.17759943, x += (-491848248.17759943));
- assertEquals(40982867145206920, x *= ((3132857155)|(tmp = -218356553, tmp)));
- assertEquals(688, x >>= (((((tmp = 403321821, tmp)+((tmp = 2536984658, tmp)%((tmp = 2759309029.8753624, tmp)|(((tmp = 1994203554.7417293, tmp)^((704660500.434877)*(tmp = 1536292958.2691746, tmp)))+(-164139788)))))/((1205950994.1255205)+x))^((((tmp = 975272146.0133443, tmp)-(150107797))/(-1764309514))^((x>>>(x^(x^x)))+(203250124))))>>>(tmp = 1864959239.512323, tmp)));
- assertEquals(10, x >>= ((tmp = 1631996431.9620514, tmp)>>x));
- assertEquals(10, x %= (tmp = 2678904916, tmp));
- assertEquals(335544320, x <<= (tmp = -2759037415.6811256, tmp));
- assertEquals(-153389967, x |= ((tmp = -2411636565, tmp)+(tmp = -2305156154, tmp)));
- assertEquals(-1171, x >>= x);
- assertEquals(813080576, x &= (((tmp = -65428547, tmp)&(tmp = 3163266999, tmp))<<x));
- assertEquals(4346532303, x += ((tmp = -761515569.0707853, tmp)>>>(((tmp = 143240971.0661509, tmp)<<x)*(x^((tmp = -271697192.8471005, tmp)&x)))));
- assertEquals(-863299035, x ^= ((((2663001827.1492147)>>>((x/(((tmp = 482665912, tmp)-(x>>(tmp = 354425840.784659, tmp)))>>((-2012932893)>>>x)))/((tmp = -1354385830.6042836, tmp)>>>(-2149023857))))^((tmp = 585746520, tmp)+(tmp = 756104608, tmp)))^(517529841.184085)));
- assertEquals(-997654012, x &= (((tmp = -404836025.15326166, tmp)+((tmp = 3035650114.0402126, tmp)<<((-1308209196)>>(tmp = 693748480, tmp))))<<(((465774671.4458921)<<x)/(1971108057))));
- assertEquals(-320581507110848260, x *= ((x-(tmp = -2266777911.7123194, tmp))^(tmp = -2810021113.304348, tmp)));
- assertEquals(-320581508271196300, x += ((-1195215841.5355926)|(x-((2715907107.4276557)+(((-843426980)>>(x&(x%(tmp = -1139279208.34768, tmp))))^x)))));
- assertEquals(368031616, x &= x);
- assertEquals(368031616, x %= (tmp = 1211767328, tmp));
- assertEquals(-67505614939510744, x *= (tmp = -183423412.56766033, tmp));
- assertEquals(959424552, x >>= ((tmp = -171120122.5083747, tmp)/x));
- assertEquals(30949179.096774194, x /= (((x-((((x&(tmp = -180770090, tmp))<<(((tmp = -2061363045.419958, tmp)*((655711531)^((1205768703)-(tmp = 2468523718.8679857, tmp))))+(-2746704581)))+((-853685888)*(tmp = -2299124234, tmp)))|(tmp = 2429502966, tmp)))|(((-985794986.0232368)>>>(2890862426))%x))>>(tmp = 1005542138.8415397, tmp)));
- assertEquals(30949179, x |= x);
- assertEquals(30949179, x %= (810126097.6814196));
- assertEquals(120895, x >>= (tmp = 3065886056.1873975, tmp));
- assertEquals(1934320, x <<= (1478650660.7445493));
- assertEquals(0, x >>= (1069658046.2191329));
- assertEquals(NaN, x %= x);
- assertEquals(NaN, x %= (x*x));
- assertEquals(NaN, x *= ((((2148513916)+(tmp = -210070225.85489202, tmp))>>(975470028))+((-3060642402)>>x)));
- assertEquals(NaN, x *= (2888778384));
- assertEquals(NaN, x -= (294531300.16350067));
- assertEquals(-465620423, x ^= (tmp = -465620423.5891335, tmp));
- assertEquals(1613303808, x &= (-2530649850.1952305));
- assertEquals(2045458658, x |= (tmp = 432158946.5708574, tmp));
- assertEquals(0, x >>>= (2277328255.770018));
- assertEquals(0, x &= (-64904722.41319156));
- assertEquals(0, x >>= x);
- assertEquals(3109394857.361766, x += (3109394857.361766));
- assertEquals(1519021650, x ^= ((tmp = -2632472653, tmp)|(tmp = 2161964921.8225584, tmp)));
- assertEquals(370854, x >>>= ((1486892931.4564312)-((tmp = 3017755741.9547133, tmp)>>>x)));
- assertEquals(1333145110.39802, x -= ((-1051580495.39802)-(tmp = 281193761, tmp)));
- assertEquals(0, x ^= x);
- assertEquals(0, x |= x);
- assertEquals(0, x <<= x);
- assertEquals(0, x >>>= x);
- assertEquals(799202788.1455135, x -= (tmp = -799202788.1455135, tmp));
- assertEquals(1539080192, x <<= (x%(((((x-x)|(((((x%(959993901))+(tmp = -2647575570.092733, tmp))/(tmp = -2040600976.5104427, tmp))*(x*(tmp = 2785252760, tmp)))>>(-377867259)))/((x&(1549738240.013423))>>>(tmp = -1502185618, tmp)))*x)%(1159283801.0002391))));
- assertEquals(0, x >>= (-268660225));
- assertEquals(-0, x /= (-2795206270.635887));
- assertEquals(0, x >>>= (1869556260.2489955));
- assertEquals(64202212, x ^= ((((tmp = -942983515.5386059, tmp)*(((1057759788)-x)*(tmp = 2038041858, tmp)))>>x)+(tmp = 64202212, tmp)));
- assertEquals(2021126977, x -= ((tmp = -2009912898, tmp)^((2240062309)%x)));
- assertEquals(4332348265459724000, x *= (tmp = 2143530968, tmp));
- assertEquals(1472, x >>>= ((283380755)<<x));
- assertEquals(-1672370407872, x *= (tmp = -1136121201, tmp));
- assertEquals(338573318, x ^= (tmp = 2329579078.4832354, tmp));
- assertEquals(2377388772.1662374, x -= (tmp = -2038815454.1662374, tmp));
- assertEquals(-1.264761712403516, x /= ((((tmp = -2106209534, tmp)>>((((((tmp = 626190172, tmp)/x)>>>(-824270996.8545206))/((1258369810.9498723)-(tmp = -2947556209, tmp)))^((((366784589.24711144)|(1462064104.828938))-(1571045395.777879))<<(444685689.60103726)))>>(tmp = -2757110357.410516, tmp)))/(x>>>((tmp = 829226010, tmp)>>>(629512715))))|x));
- assertEquals(-2905481691.264762, x -= (2905481690));
- assertEquals(-1710543566.1481905, x -= (-1194938125.1165714));
- assertEquals(-3421087132.296381, x += x);
- assertEquals(-884178944, x <<= ((-1820881235)|x));
- assertEquals(-884178944, x &= (x%(tmp = -2298828530, tmp)));
- assertEquals(1516503040, x <<= ((tmp = -3039882653, tmp)+((tmp = 1956034508, tmp)<<(x>>(tmp = 280388051, tmp)))));
- assertEquals(3033006080, x += x);
- assertEquals(846431222.321887, x %= (x+(-1939718651.1609435)));
- assertEquals(-846431224, x ^= ((-1742116766.54132)/x));
- assertEquals(1157918728, x &= (tmp = 1966568030, tmp));
- assertEquals(1157918728, x >>>= ((((((tmp = -2392096728.184257, tmp)*(x&(-3051259597.301086)))>>>(((tmp = 1712991918.071982, tmp)*(tmp = -714525951, tmp))-((-1784801647)>>((-1270567991)%(((214272558)/(((-3110194570)|(tmp = 2558910020, tmp))&(-1266294955.717899)))*((2654922400.609189)>>>(tmp = 370485018, tmp)))))))*(((tmp = -2621203138.1838865, tmp)%(858913517))*((tmp = -1564229442.2596471, tmp)>>((tmp = 1898557618, tmp)|(-1282356275)))))*(tmp = -1253508468, tmp))+((-361964404.75944185)|x)));
- assertEquals(961668975, x += (-196249753));
- assertEquals(1, x >>= (tmp = 890453053, tmp));
- assertEquals(1, x >>= (((((tmp = 871309275, tmp)/(x>>>((tmp = 2033022083, tmp)&(tmp = -1393761939, tmp))))%((437488665.104565)^(tmp = 2808776860.4572067, tmp)))-((tmp = -359283111.49483967, tmp)<<((tmp = 2985855945, tmp)%(tmp = -596479825.9114966, tmp))))/(-1965528507)));
- assertEquals(0, x >>= ((tmp = -1753776989, tmp)%(tmp = 322622654, tmp)));
- assertEquals(84411424, x ^= (((x|(x|(tmp = -1617122265, tmp)))&(tmp = -313813263, tmp))&(1472888112.0258927)));
- assertEquals(67633184, x &= ((1556833131.0776267)<<(x<<(1501219716.5575724))));
- assertEquals(68002293, x |= (((tmp = 188984203.0350548, tmp)>>>(tmp = 1356052777, tmp))%(x*(tmp = -2944960865, tmp))));
- assertEquals(67108864, x &= (((1046644783.9042064)<<x)+((-2796345632)>>>(((-1913290350.3687286)<<(((((tmp = -2223692353, tmp)>>x)&(x<<(x>>((((tmp = -976850020, tmp)%(tmp = 1379692507, tmp))>>>(1120103052.2077985))>>(tmp = 5592070.612784743, tmp)))))<<(x+((tmp = -3154037212.9764376, tmp)%(((x-(-1961060483.6965141))+(((1920670676)-(2852444470.7530622))/(((1445954602)>>((1353665887)>>(tmp = 111411560.64111042, tmp)))<<x)))+x))))<<((-1773130852.6651905)^((1216129132)>>(1511187313.2680469)))))|((tmp = -1107142147, tmp)|(tmp = -768165441.4956136, tmp))))));
- assertEquals(0, x -= x);
- assertEquals(0, x %= (tmp = -1655707538.0778136, tmp));
- assertEquals(-184120712930843900, x += (x+((tmp = -3174410166, tmp)+((tmp = -301807453, tmp)*(tmp = 610060182.1666535, tmp)))));
- assertEquals(-54598560, x >>= (-1365351357));
- assertEquals(-6763.94449950446, x /= (((-1953016847)<<((673287269.7002038)%(-558739761)))>>>(tmp = 1607754129, tmp)));
- assertEquals(-1, x >>= x);
- assertEquals(1, x >>>= x);
- assertEquals(0, x >>>= x);
- assertEquals(0, x >>= ((-384747983)+((((tmp = -949058352.381772, tmp)>>>(-1920744986))-(-882729639))^((x^((tmp = 2351364046, tmp)<<(((tmp = -3110165747, tmp)^(-1266489735))-((tmp = -371614326, tmp)>>((tmp = -2064968414, tmp)&(-2075036504.617934))))))&(((-2616501739)&(tmp = 2591437335.4029164, tmp))>>x)))));
- assertEquals(0, x >>>= ((tmp = 2946468282, tmp)&((-2741453019)>>x)));
- assertEquals(0, x -= ((x%(-134700915))&(-1955768279)));
- assertEquals(NaN, x /= x);
- assertEquals(NaN, x /= (x^(((((((tmp = 3185669685.772061, tmp)>>(tmp = -1973500738, tmp))-(tmp = -87401348.93002152, tmp))>>(tmp = -2813508730, tmp))&(tmp = -778957225, tmp))<<(x-(x&((-2821756608)+(((((tmp = 2475456548, tmp)/(tmp = 997998362, tmp))<<((tmp = -83043634, tmp)|x))%(636120329))%(tmp = -1910213427.7556462, tmp))))))%x)));
- assertEquals(0, x &= x);
- assertEquals(0, x <<= x);
- assertEquals(0, x >>>= (x%x));
- assertEquals(0, x %= (745221113));
- assertEquals(0, x >>>= ((1467615554.7672596)|x));
- assertEquals(0, x /= (tmp = 735317995, tmp));
- assertEquals(-1513001460, x |= (2781965836));
- assertEquals(-1513001460, x |= (x%(1970577124.3780568)));
- assertEquals(-0, x %= x);
- assertEquals(1864972269, x ^= (-2429995027.840316));
- assertEquals(1226843341, x &= (tmp = -639621923.5135081, tmp));
- assertEquals(1226843339.3171186, x += ((1297620268.272113)/(-771070549)));
- assertEquals(76677708, x >>>= (1009134980));
- assertEquals(0, x ^= x);
- assertEquals(0, x ^= x);
- assertEquals(NaN, x /= x);
- assertEquals(716040787, x |= ((1851586229)-(1135545441.3502865)));
- assertEquals(1385693184, x <<= x);
- assertEquals(1321, x >>= (x^((tmp = -1576632297.0860603, tmp)>>>(405218605))));
- assertEquals(-1319012931, x |= (-1319014243));
- assertEquals(-1319012931, x >>= ((((1689898279.3580785)<<((((x^(x>>>((((tmp = 2635260332, tmp)*(tmp = 2053357650, tmp))*x)*(2856480122.339903))))>>x)&(-2382703000.077593))%(1183918594)))*(tmp = -1670081449, tmp))<<x));
- assertEquals(-528327581.7646315, x %= (tmp = -790685349.2353685, tmp));
- assertEquals(2073431790, x ^= (tmp = 2601800333, tmp));
- assertEquals(-6514722684180, x -= (((tmp = 824141806.0668694, tmp)>>>(((-1865885282.8723454)&(x&(x|((900188006.3757659)>>>(x&x)))))+(2227126244.0526423)))*x));
- assertEquals(1450593, x >>>= ((2157053647)>>(x+(-2934071355.418474))));
- assertEquals(576782336, x <<= ((1054640368.827202)&((tmp = -3182236876.434615, tmp)>>(tmp = 2129856634.0328193, tmp))));
- assertEquals(2950754326, x -= (tmp = -2373971990, tmp));
- assertEquals(738197504, x <<= (1188157369.5988827));
- assertEquals(0, x <<= (x+((tmp = -839533141, tmp)&((((((tmp = -1148768474.7306862, tmp)|(172650299))+(tmp = -2739838654, tmp))/(3132557129))%x)>>>(tmp = -1229961746.2466633, tmp)))));
- assertEquals(0, x %= (tmp = -2974207636, tmp));
- assertEquals(0, x %= ((2323482163)>>>x));
- assertEquals(0, x &= (((x/(x+(x>>((tmp = 55935149, tmp)%x))))|((3109182235)>>>(tmp = 1217127738.8831062, tmp)))+((((tmp = -385114910, tmp)*((((((tmp = -2535158574.634239, tmp)&(x+x))<<(-2821692922.43476))&(-776804130.9457026))>>((-1374832535)^(tmp = 2175402162.701251, tmp)))%(-1646995095)))-(x*(tmp = -921556123, tmp)))^(79224621))));
- assertEquals(128935435, x |= ((tmp = 2279459038, tmp)%(tmp = -537630900.5271742, tmp)));
- assertEquals(128935435, x /= ((((((x<<(2750024311))-((-1332480769.4784315)&(1418160003)))&(1551783357))<<(((((-2870460218.55027)|((-1958752193.7746758)&(2551525625)))>>>((((tmp = -1698256471, tmp)^(((((((((tmp = -830799466, tmp)+x)-(-111590590))+(tmp = -1105568112.3921182, tmp))/((tmp = -3058577907, tmp)|(((-1944923240.2965696)%(-2884545285))<<(tmp = -1993196044.1645615, tmp))))^(x>>(tmp = -2961488181.3795304, tmp)))&x)*x)|(((tmp = 97259132.88922262, tmp)<<((1601451019.343733)&x))*(x|x))))+((((x>>x)<<x)+(-868409202.2512136))/(((tmp = -2893170791, tmp)-((x|(-853641616))%(((tmp = 549313922, tmp)&(-768036601.6759064))%(tmp = -543862220.9338839, tmp))))-((tmp = 1639851636, tmp)+((2164412959)/(-273028039.941242))))))>>>((((-2382311775.753495)^(-2062191030.2406163))>>>(tmp = -1054563031, tmp))/(-862111938.7009578))))%x)+(-3103170117.625942)))%((tmp = -1144062234, tmp)>>x))>>>(tmp = 1216332814.00042, tmp)));
- assertEquals(41.631074722901715, x /= (x&(-2542806180.962227)));
- assertEquals(41.631074722901715, x %= (-14003386.556780577));
- assertEquals(8, x &= (x&((-2231622948)%(tmp = 488279963.9445952, tmp))));
- assertEquals(9.002961614252625e-9, x /= ((53802728.56204891)<<(((867697152.3709695)-(538719895.5707034))&(-631307825.4491808))));
- assertEquals(0, x >>= x);
- assertEquals(-0, x *= (tmp = -785674989, tmp));
- assertEquals(-0, x += x);
- assertEquals(0, x /= (-250703244));
- assertEquals(0, x <<= ((tmp = -661062581.5511999, tmp)|x));
- assertEquals(0, x &= (-1299482308));
- assertEquals(0, x &= ((-399690060)>>>(2448074202.385213)));
- assertEquals(0, x &= (2574341201));
- assertEquals(0, x <<= ((x|(((tmp = 2458873162.645012, tmp)+(tmp = -1999705422.8188977, tmp))<<((x^(tmp = -392530472, tmp))>>>x)))&(((tmp = 2463000826.7781224, tmp)|(tmp = 3020656037, tmp))-x)));
- assertEquals(1397603760, x += ((tmp = -1359413071, tmp)-(tmp = -2757016831, tmp)));
- assertEquals(513823851, x -= (883779909));
- assertEquals(-1765712747, x ^= (2288060670.6797976));
- assertEquals(3117741504918286000, x *= x);
- assertEquals(3117741506284045300, x += (1365759456));
- assertEquals(6035555595.597267, x /= (tmp = 516562470, tmp));
- assertEquals(104203275, x &= (tmp = 376835755.32434213, tmp));
- assertEquals(10858322520725624, x *= x);
- assertEquals(59458951, x >>>= (153765028));
- assertEquals(49370856, x += ((tmp = -1291276092, tmp)>>x));
- assertEquals(0, x %= x);
- assertEquals(0, x += x);
- assertEquals(-1494589645, x -= (1494589645));
- assertEquals(-0, x %= x);
- assertEquals(0, x <<= (x&((2730708043.467806)<<x)));
- assertEquals(0, x /= ((tmp = -1483912394.153527, tmp)>>>((tmp = 1800568769, tmp)^((((((tmp = 1351568510, tmp)>>(tmp = -1337992543.2562337, tmp))>>>(tmp = 2602239360.40513, tmp))*x)%x)+(-2095840128.0700707)))));
- assertEquals(-0, x /= ((2363946613)^(tmp = -2227868069, tmp)));
- assertEquals(0, x &= ((((2634933507)<<(2798775374.140882))>>>x)>>>(((tmp = 1135200853.6396222, tmp)-(tmp = -1529829490.7007523, tmp))-(((((((((x^((x|(2135742668.591568))-(924230444.8390535)))%(tmp = -2459525610.51898, tmp))+(x&((tmp = 1177231743.809653, tmp)/(tmp = 1743270357.2735395, tmp))))|(((tmp = -1894305017, tmp)^((tmp = 1791704240, tmp)&x))%(-1569751461)))>>>(tmp = -2078321944, tmp))|x)*(((x*(tmp = -163239354, tmp))<<((tmp = 2859087562.694203, tmp)&(-657988325.9410558)))^(2508013840)))-((-243572350)+(x%((-1095206140)+((tmp = 3213566608.942816, tmp)*((2256442613)%((tmp = 1723751298, tmp)^(x-((-1145710681.2693722)|x)))))))))+(1556870627)))));
- assertEquals(130883024.97423434, x -= (-130883024.97423434));
- assertEquals(0.046720352789736276, x /= (tmp = 2801413456, tmp));
- assertEquals(1806558189, x |= (tmp = 1806558189.157823, tmp));
- assertEquals(72.40475060062144, x /= (x%((1932591076.531628)>>(1982030182))));
- assertEquals(-1077558321.5975945, x += (tmp = -1077558394.002345, tmp));
- assertEquals(98187, x >>>= x);
- assertEquals(97792, x &= (tmp = -1032487404, tmp));
- assertEquals(709197609, x |= (x^(709179177)));
- assertEquals(11081212, x >>>= (tmp = 1412940006.169063, tmp));
- assertEquals(11081212, x &= x);
- assertEquals(-1920311203, x -= ((tmp = 1931392415, tmp)<<((x%(tmp = -2873576383, tmp))%x)));
- assertEquals(-1920311203, x |= (x&(-993884718.2172024)));
- assertEquals(-4, x >>= (1409411613.0051966));
- assertEquals(-7947632484, x *= ((-2856731734)^((-1181032235.9132767)-((tmp = 780101930, tmp)+((tmp = -1732707132.6253016, tmp)^x)))));
- assertEquals(-2016362769, x ^= (tmp = 2711125619.2455907, tmp));
- assertEquals(-61535, x >>= x);
- assertEquals(-124771649, x ^= (tmp = 124726558, tmp));
- assertEquals(-1, x >>= x);
- assertEquals(-0, x %= (x*x));
- assertEquals(0, x <<= x);
- assertEquals(0, x /= (2444628112));
- assertEquals(0, x <<= ((-38968517.72504854)<<x));
- assertEquals(-1504619917, x |= (tmp = 2790347379, tmp));
- assertEquals(-1504619917, x &= x);
- assertEquals(2790347379, x >>>= ((1825218368)<<(-1843582593.2843356)));
- assertEquals(7786038495492170000, x *= x);
- assertEquals(-11011696, x |= (((tmp = 2931644407.4936504, tmp)-(3077095016.001658))%(tmp = -1731851949, tmp)));
- assertEquals(-107866, x %= ((-697845074.1661191)>>(772708134)));
- assertEquals(356779149, x ^= (-356884949.503757));
- assertEquals(0, x %= x);
- assertEquals(0, x *= ((tmp = 1542291783, tmp)^x));
- assertEquals(0, x += ((tmp = 1105314644.002441, tmp)&x));
- assertEquals(-1005882993, x ^= (-1005882993.0899806));
- assertEquals(-1301065066, x += (tmp = -295182073, tmp));
- assertEquals(-1454702592, x <<= ((-2440858737.390277)&(-1363565201.7888322)));
- assertEquals(-201539012492525570, x *= ((((tmp = -1416268089, tmp)|x)-(tmp = 1669129769, tmp))&(x<<((x/(-2614041678.7423654))%x))));
- assertEquals(-2.1995276811535986e+25, x *= (x/(-1846667987.154371)));
- assertEquals(0, x |= ((x*(((x>>>((tmp = 1044173034, tmp)>>>((x<<((tmp = -2906412863, tmp)%((tmp = -437401503, tmp)<<(((((x|(2167319070))<<((tmp = 2766179640.1840167, tmp)&(-2372076054)))*(tmp = -241617431.06416297, tmp))*((((((tmp = 2570465382.5574293, tmp)>>>(x/((-2851324509.354545)%x)))>>(((x+((tmp = -614687945, tmp)^x))^((((tmp = 1653437743, tmp)>>x)/(tmp = 3072995069, tmp))>>x))*(((((-290508242)>>((tmp = 2969511554, tmp)<<(tmp = 158176292.95642304, tmp)))<<(32376015))+(tmp = 2391895870.4562025, tmp))*x)))&((((x/(tmp = 365292078.53605413, tmp))>>x)/(1167322811.0008812))|(((tmp = 2487970377.365221, tmp)^x)<<((tmp = 2342607988.711308, tmp)/(((2276081555.340126)-(((tmp = -2571071930, tmp)>>(tmp = -248468735.76550984, tmp))>>>(tmp = -2862254985.608489, tmp)))^(-1312017395))))))<<x)&(2762717852.949236)))+((((-2492896493)&x)<<(-2756272781.4642315))/x)))))*(2405395452))))>>((-1433975206)/((tmp = -2064757738.6740267, tmp)<<((((tmp = -1563531255, tmp)-(-589277532.2110934))<<x)^(2249328237.0923448)))))-x))-(-225624231)));
- assertEquals(0, x *= (tmp = 1657982666.2188392, tmp));
- assertEquals(86443387, x |= (tmp = 86443387.25165462, tmp));
- assertEquals(86443387, x %= (-1341731981.702294));
- assertEquals(172886774, x <<= ((-1799840391)&(1011948481.310498)));
- assertEquals(-1115684864, x <<= x);
- assertEquals(-2098253702059525600, x *= (1880686715.1865616));
- assertEquals(-2098253700213206300, x -= (tmp = -1846319435.0583687, tmp));
- assertEquals(570692096, x &= (((tmp = -1572055366.64332, tmp)%(tmp = 1720120910, tmp))%((x-(912386952.5959761))*(tmp = -1146251719.4027123, tmp))));
- assertEquals(603979776, x <<= ((-329752233.8144052)&(tmp = -368636559, tmp)));
- assertEquals(603979776, x <<= x);
- assertEquals(364791569817010200, x *= x);
- assertEquals(0, x &= ((2074587775.983799)/(tmp = 438856632.76449287, tmp)));
- assertEquals(0, x &= (((1509671758)*(tmp = -935801537.7325008, tmp))>>>(((tmp = -1752877566, tmp)<<x)%(tmp = -517163766, tmp))));
- assertEquals(-2031730599, x ^= ((2264285273)&(tmp = -1762662949.014101, tmp)));
- assertEquals(-843578945, x %= (-1188151654));
- assertEquals(-2147483648, x <<= x);
- assertEquals(-2147483648, x >>= (tmp = -3165079200.229641, tmp));
- assertEquals(-44086313.1323726, x %= ((x%(-254466243.48728585))-((x>>(-457411829.1063688))-((-2606923436.9333453)/x))));
- assertEquals(-44086313, x |= x);
- assertEquals(1037812, x >>>= ((tmp = 342497258.9786743, tmp)+(1652928385.8150895)));
- assertEquals(-2371695599678100, x *= (tmp = -2285284425, tmp));
- assertEquals(-2371697387004653, x += (tmp = -1787326553.0542095, tmp));
- assertEquals(0, x ^= x);
- assertEquals(0, x >>= ((x^(tmp = 544039787, tmp))>>>x));
- assertEquals(0, x &= ((x%(((((((tmp = -424572417.1088555, tmp)|(-2381863189))/(tmp = -2007482475.1809125, tmp))&(((((tmp = 311016073, tmp)>>(tmp = -1548839845, tmp))+((-2557740399.7947464)<<(2399113209)))&x)>>>x))%(-297180308.7721617))-(tmp = 860906293, tmp))^x))%(-2740622304)));
- assertEquals(4971841192462909000, x += ((tmp = -2723203837.572612, tmp)+((((-2909100706)+(-951999374))|(-3116735764))*(3087123539.422669))));
- assertEquals(-460, x >>= (1081807537.557404));
- assertEquals(2354165127.3906384, x += (tmp = 2354165587.3906384, tmp));
- assertEquals(357.8680960002211, x /= ((((x<<(((x&x)+(1113841407))|((x/(tmp = 384533564, tmp))>>>(-605853882))))%x)&((tmp = 2050375842, tmp)>>>x))>>(((2745147573)^x)<<(x-(900043292)))));
- assertEquals(0, x *= (x>>>(-295974954.5058532)));
- assertEquals(0, x *= ((-2448592125.815531)*(tmp = -94957474.8986013, tmp)));
- assertEquals(0, x &= ((x>>x)^(tmp = -1335129180, tmp)));
- assertEquals(395092065, x |= ((3081659156)^(tmp = -1608334475, tmp)));
- assertEquals(395092065, x &= x);
- assertEquals(-413337639, x += (x^(tmp = -664996071.3641524, tmp)));
- assertEquals(-1604423637896759800, x *= (x>>>(tmp = 1242912352.955432, tmp)));
- assertEquals(0, x &= ((((((tmp = 651293313, tmp)|(((2541604468.635497)>>>(tmp = 758815817.7145422, tmp))>>>((-1948795647)/x)))&x)/((tmp = -3161497100, tmp)+(782910972.3648237)))>>>x)%(834206255.5560443)));
- assertEquals(0, x >>>= (tmp = 125945571, tmp));
- assertEquals(NaN, x -= (x%x));
- assertEquals(NaN, x %= (tmp = 282259853, tmp));
- assertEquals(NaN, x += (tmp = -2081332383, tmp));
- assertEquals(0, x >>>= (((x>>(-2298589097.7522116))|((((x>>>(x-(tmp = 755218194, tmp)))|x)%x)-(tmp = 2206031927, tmp)))>>>((((x&(x-x))^(tmp = 2836686653, tmp))*((x<<(tmp = -1624140906.4099245, tmp))>>>((2942895486)|((x>>>x)>>>(-1586571476)))))|((781668993)+(-1857786909)))));
- assertEquals(0, x &= (tmp = -708084218.9248881, tmp));
- assertEquals(0, x %= (1645913394.5625715));
- assertEquals(0, x <<= ((x^((tmp = 1185413900, tmp)*((-2441179733.997965)*(tmp = 2554099020.066989, tmp))))%((1704286567.29923)/x)));
- assertEquals(0, x += x);
- assertEquals(0, x *= x);
- assertEquals(0, x |= (x>>>(139138112.141927)));
- assertEquals(0, x >>>= (tmp = 2142326564, tmp));
- assertEquals(0, x |= x);
- assertEquals(-0, x /= ((((x+(2817799428))|x)%((1050079768)-(x>>>((1452893834.8981247)|((((tmp = -1737187310.889149, tmp)/(tmp = -362842139, tmp))%(1234225406))%(((x|x)*((-1055695643.739629)-((x-x)*(945954197.676585))))-(tmp = 786185315.346615, tmp)))))))<<(-173891691)));
- assertEquals(0, x &= (-2842855092.319309));
- assertEquals(0, x &= ((-3188403836.570895)/x));
- assertEquals(0, x *= (x+x));
- assertEquals(NaN, x /= (x>>>(((tmp = 391037497.68871593, tmp)/((192754032)*(1382659402.5745282)))/((((-2187364928)>>>x)>>(tmp = 2563448665.7594023, tmp))^(tmp = 1500866009.7632217, tmp)))));
- assertEquals(NaN, x /= ((tmp = -935036555.2500343, tmp)-(x/(((x&(x^(tmp = -3001352832.5034075, tmp)))^x)/((1122547613)>>x)))));
- assertEquals(0, x >>= (tmp = -2951766379.0809536, tmp));
- assertEquals(-632945188, x ^= (-632945188.7188203));
- assertEquals(-632945188, x %= ((((((tmp = -3181527314.82724, tmp)&(2280175415))>>(x^(x|x)))^(tmp = -524233678.52970886, tmp))*x)|((tmp = 1782882786, tmp)>>>(tmp = -592607219, tmp))));
- assertEquals(404189184, x <<= ((tmp = -2761472127, tmp)^(36616299.88780403)));
- assertEquals(872651572, x ^= (tmp = 739568436.6252247, tmp));
- assertEquals(13, x >>>= ((tmp = -1033843418.865577, tmp)%(x%(1247263629.0445533))));
- assertEquals(0, x >>>= x);
- assertEquals(0, x >>= (3189175317));
- assertEquals(0, x &= (((2391973519.6142406)^((-2950058736.191456)|(x*x)))>>(tmp = 343822384.294345, tmp)));
- assertEquals(0, x >>>= (tmp = -2306246544, tmp));
- assertEquals(-1572339598, x ^= ((tmp = 2991380083.337327, tmp)&(tmp = -1361507970, tmp)));
- assertEquals(649, x >>>= ((1961407923.4950056)>>(x-(-872821523.7513013))));
- assertEquals(649, x ^= (((x&(tmp = -702931788, tmp))^(((x>>x)|(((tmp = 2710759269, tmp)/(x>>(x*((((((tmp = -2428445134.9555864, tmp)+(-1859938743))%(x<<x))*((236868604)+((tmp = -3066688385, tmp)/(787503572.8839133))))/(tmp = 3215629315, tmp))>>(-1315823020)))))%(1461368627.1293125)))>>>(tmp = -2921804417.5735087, tmp)))/(x>>>(((tmp = 2175260691.824617, tmp)/((-582958935.7628009)-((((((x>>x)|(2590503723.4810824))^(tmp = -1994324549, tmp))-(-684683327))/(tmp = -3133419531, tmp))|(tmp = -328974092.05095506, tmp))))>>(-447624639.4518213)))));
- assertEquals(649, x %= ((((1854382717)|(((x+(tmp = 2568081234, tmp))-x)+((tmp = 1043086140, tmp)<<((tmp = 2979118595.0496006, tmp)+((x&(2669577199.852803))/(-2567808445.101112))))))<<((((tmp = -1471092047, tmp)&((-3099138855.21041)-((tmp = -798574377.526715, tmp)&((2255586141)<<(-1069867774)))))>>>(((x*(tmp = -2810255707.781517, tmp))/x)*(2706435744.054121)))^(394262253)))^((844325548.0612085)/(tmp = 1434691648, tmp))));
- assertEquals(823215943.1924392, x += (tmp = 823215294.1924392, tmp));
- assertEquals(536872706, x &= ((-334612686)%((1303605874)|x)));
- assertEquals(-30666374.413486242, x += ((tmp = -567539080.4134862, tmp)%(tmp = -1655555936.3195171, tmp)));
- assertEquals(-56438727096752984, x *= (tmp = 1840410814, tmp));
- assertEquals(-33200107.984488487, x %= (((tmp = 3007206509, tmp)-(3079337725.6659536))%(1819565202.5011497)));
- assertEquals(-1214493182, x ^= (-3060193769));
- assertEquals(-1214493179.1335113, x -= ((-3218099496.595745)/(1122662554)));
- assertEquals(-1214493179, x >>= ((-375364195)<<(((tmp = 619439637.8754326, tmp)>>(-1830023279.9486575))&(tmp = -1106180387.2448823, tmp))));
- assertEquals(-303623295, x >>= (-2109241374.3349872));
- assertEquals(-0, x %= x);
- assertEquals(0, x |= x);
- assertEquals(1917126206, x -= (-1917126206));
- assertEquals(2659779928, x -= (tmp = -742653722, tmp));
- assertEquals(-1635187368, x >>= ((tmp = -674385169, tmp)*((9848362.783326745)|(x*(55220544.00989556)))));
- assertEquals(-1981113695, x ^= ((tmp = 392404985, tmp)>>(((x<<((2006207061)<<(tmp = 2558988218, tmp)))*((((tmp = 1789304307.1153054, tmp)/(2538061546))<<(tmp = 556026116, tmp))&((tmp = 1076457999.6424632, tmp)*(tmp = -1822378633.2489474, tmp))))%(((((-1117046924)&((-69013651)%(x&(((-2320327696)/(x&x))-(tmp = 2458222544, tmp)))))>>((-3092360983.0037227)/(-3171415636)))*(((tmp = 2520431213, tmp)<<(1066492762.6149663))+((tmp = 1272200889, tmp)^((1687693123.2295754)+x))))-(-1096823395)))));
- assertEquals(-990556848, x >>= x);
- assertEquals(981202869119695100, x *= x);
- assertEquals(981202869119695100, x -= (x/x));
- assertEquals(0, x ^= (x>>x));
- assertEquals(NaN, x %= x);
- assertEquals(0, x ^= x);
- assertEquals(0, x *= ((((2980512718)>>>x)<<((x^(-1111233869))>>((2531466092.6036797)>>>(((tmp = -1791229364, tmp)*(-2210950307.206208))%((tmp = -806645443, tmp)<<((((((((tmp = 112334634.26187229, tmp)%(x|((((2154021796.1166573)+x)&((-1047293079.9686966)^(tmp = -1894127139, tmp)))+(tmp = 1910946653.2314827, tmp))))^(293142672.5016146))-x)<<(-1593533039.8718698))+x)>>(x<<(((46359706.50393462)&(tmp = 272146661, tmp))|(tmp = 2117690168, tmp))))%(tmp = -1784737092.4924843, tmp)))))))-(1465796246)));
- assertEquals(0, x &= x);
- assertEquals(NaN, x %= x);
- assertEquals(0, x &= (x+(-1612418456)));
- assertEquals(0, x &= ((tmp = -843964311, tmp)/x));
- assertEquals(NaN, x /= x);
- assertEquals(NaN, x *= x);
- assertEquals(NaN, x += (x>>>(54020240)));
- assertEquals(489206868, x |= (489206868));
- assertEquals(489206868, x &= x);
- assertEquals(489206848, x &= ((tmp = -1699133906.2361684, tmp)>>(tmp = 2658633814, tmp)));
- assertEquals(489206848, x |= x);
- assertEquals(1910559006, x -= (tmp = -1421352158, tmp));
- assertEquals(1, x >>= x);
- assertEquals(0, x -= x);
- assertEquals(0, x %= (x^(tmp = 2745376003.2927403, tmp)));
- assertEquals(0, x %= (((tmp = 3199743302.1063356, tmp)^((-1905944176)&(x>>>(187247029.5209098))))<<((x*((-1394648387)*(1252234289)))-(3140049815))));
- assertEquals(0, x <<= (-2567872355));
- assertEquals(0, x %= (tmp = 1057707555.8604916, tmp));
- assertEquals(0, x %= ((tmp = -1877857405.0228279, tmp)>>>(((tmp = 423831184, tmp)*((tmp = -2106757468.324615, tmp)%(tmp = -1197717524.6540637, tmp)))>>(tmp = -93746263.46774769, tmp))));
- assertEquals(0, x |= x);
- assertEquals(-0, x *= ((tmp = 1317609776.6323466, tmp)*(tmp = -26959885.89325118, tmp)));
- assertEquals(0, x >>= (-1288116122.0091262));
- assertEquals(0, x &= ((370818172.92511404)%((tmp = -528319853.54781747, tmp)*(x/((tmp = -2839758076, tmp)^(x+(((-1258213460.041857)<<(tmp = 302017800.72064054, tmp))|((((tmp = -624254210, tmp)^((-338165065.97507)|((623392964)-x)))>>>x)%(tmp = 2767629843.0643625, tmp)))))))));
- assertEquals(0, x >>>= x);
- assertEquals(0, x >>>= x);
- assertEquals(0, x |= ((-2001549164.1988192)*x));
- assertEquals(0, x -= x);
- assertEquals(0, x *= (((((165836842.14390492)*(tmp = -3220002961, tmp))|(-2840620221.747431))%((x/(tmp = 3153915610, tmp))>>>(tmp = 2018941558, tmp)))>>>x));
- assertEquals(-0, x *= (-231994402.93764925));
- assertEquals(0, x <<= x);
- assertEquals(0, x %= (tmp = 2702385056.1149964, tmp));
- assertEquals(0, x <<= (tmp = 378459323, tmp));
- assertEquals(0, x >>>= ((x&(x&(((-1014963013)<<(x&((tmp = -3110294840, tmp)|(x+(x<<(1129643420))))))+(1093795819.1853619))))+((((tmp = -2295103369.697398, tmp)&(((370501313.43019223)>>>(2465439579))/x))-x)>>x)));
- assertEquals(0, x /= ((tmp = 1779625847, tmp)+(tmp = -662459654.6908865, tmp)));
- assertEquals(0, x -= x);
- assertEquals(0, x %= ((tmp = 2723291421, tmp)|(277246502.4027958)));
- assertEquals(0, x ^= (((-2936270162)>>>((((tmp = -2019015609.1648235, tmp)|(47218153))*(-823685284))+x))&(x<<(x*(x|(((tmp = -941955398, tmp)^(tmp = -2365238993.5300865, tmp))-(778674685)))))));
- assertEquals(0, x >>>= x);
- assertEquals(NaN, x %= x);
- assertEquals(0, x &= (-175235975.8858137));
- assertEquals(-2684493800.1062117, x += (tmp = -2684493800.1062117, tmp));
- assertEquals(-1290806265.6063132, x -= (-1393687534.4998984));
- assertEquals(-1290806265, x >>= (((x>>(tmp = -1710112056.4935386, tmp))*(586227650.2860553))<<(tmp = -2918251533.6052856, tmp)));
- assertEquals(23470008, x >>>= x);
- assertEquals(1668734969, x |= ((-295560682.9663689)^(x|((((tmp = -1183847364, tmp)&(3135327694))+(1679127747.1406744))-((-1895825528)%((tmp = -3180115006, tmp)+((tmp = 2373812187, tmp)|x)))))));
- assertEquals(1744306169, x |= (1188503928.5009093));
- assertEquals(1744306169, x %= (tmp = -2723982401.4997177, tmp));
- assertEquals(3488612338, x += x);
- assertEquals(3488612337, x += (((x/(-325849204))>>x)|(-1820624550.9149108)));
- assertEquals(-1511119305, x ^= (tmp = 1778506182.2952862, tmp));
- assertEquals(-12211415, x %= (x^(tmp = -54943035, tmp)));
- assertEquals(-12211415, x %= ((-1267051884)%(-643566443.0122576)));
- assertEquals(-30.84976063258681, x /= (((1052047194)>>>x)&(1495698235.5117269)));
- assertEquals(-61.69952126517362, x += x);
- assertEquals(-244, x <<= (x^(x+(tmp = -2822258210.076373, tmp))));
- assertEquals(-6652, x &= ((tmp = 2593685093, tmp)>>((((2047688852.4609032)<<((x*(-611076291))*x))^(-2665364024.817528))>>>(165267874))));
- assertEquals(0, x -= x);
- assertEquals(0, x /= (2454186758));
- assertEquals(0, x &= (tmp = -2226895206, tmp));
- assertEquals(0, x += x);
- assertEquals(-21390701, x += ((-1369004846.0816503)>>(tmp = -2661552634.039692, tmp)));
- assertEquals(-0.012568536912921919, x /= (1701924507.856429));
- assertEquals(7.09517966608176e-11, x /= (tmp = -177141911.8955555, tmp));
- assertEquals(0, x >>= (tmp = 231535697, tmp));
- assertEquals(1383687797, x ^= (tmp = -2911279499.568808, tmp));
- assertEquals(1383687797, x %= (tmp = -2258636646.5294995, tmp));
- assertEquals(1319, x >>= ((tmp = -2549411892.8426056, tmp)/(((((1532476676)^(153720871.82640445))+x)/(((2988190456.3206205)&(tmp = -2920873674, tmp))-(((((tmp = -1044518167.0581458, tmp)>>x)-((((tmp = -194701879.13505793, tmp)&(498352051))&((tmp = -2167339635.6529818, tmp)^(((x>>(tmp = 700159851, tmp))*(tmp = 2874921158, tmp))/x)))-((2856128689)|((-1876321441)>>>(2110732915)))))^((((tmp = -193379494.18825436, tmp)/(-3055182489.533142))<<x)+((tmp = -2286109605, tmp)>>(tmp = 698475484.3987849, tmp))))^(3182231653.500364))))|(((tmp = -194670835, tmp)>>>((786780139)%(((2114171416.2305853)^(1703145352.8143656))/x)))>>>((tmp = -3029462067, tmp)>>((67647572.02624655)&(x*(-2394283060))))))));
- assertEquals(13903855, x |= ((tmp = -2515306586, tmp)>>>x));
- assertEquals(54311, x >>>= ((-2413722658)-((tmp = -2159787584, tmp)^(tmp = 949937622.9744623, tmp))));
- assertEquals(108622, x += x);
- assertEquals(1250717187, x ^= ((tmp = 842692148, tmp)+(((2649331689.694273)<<x)-(tmp = -2992181273, tmp))));
- assertEquals(4536777, x %= (tmp = 73304730, tmp));
- assertEquals(0, x -= x);
- assertEquals(-580081499, x ^= ((tmp = -580081499.0170684, tmp)^(x%(tmp = -1542730817.88261, tmp))));
- assertEquals(-1382738784, x <<= x);
- assertEquals(-1382738784, x <<= x);
- assertEquals(2912228512, x >>>= (x*(x>>>x)));
- assertEquals(-1076374105, x |= (2589443367));
- assertEquals(-0.2818750938197037, x /= (((tmp = -1559525732.9603848, tmp)|(-477068917.5483327))>>>((-688616257)*((((tmp = -1192490153.1226473, tmp)*(-502280624.0265591))<<(-442688727.4881985))%(x+(((((tmp = -2948836853.831935, tmp)-(tmp = -2850398330.910424, tmp))>>>(x>>>(-1947835558)))^x)+(x*x)))))));
- assertEquals(2032826546, x |= (tmp = 2032826546.819327, tmp));
- assertEquals(3408404827.14316, x += (tmp = 1375578281.1431599, tmp));
- assertEquals(258183922.14315987, x %= (tmp = 350024545, tmp));
- assertEquals(479694848, x <<= (tmp = -481187157, tmp));
- assertEquals(-2147483648, x <<= (((tmp = -2956588045.472398, tmp)>>>(((tmp = -1838455399.1775856, tmp)&(((((tmp = -637547, tmp)/x)&(x^((-44876328.1767962)+(((-2059598286)-(1071496688))%(tmp = -1492254402, tmp)))))-(x%x))*(x|x)))>>(1226250760)))<<x));
- assertEquals(-2288163338.9020815, x -= (140679690.9020816));
- assertEquals(4954833118513997000, x *= (-2165419327.4906025));
- assertEquals(1578331238, x ^= (-2410854298.2270393));
- assertEquals(-810627292, x += (-2388958530));
- assertEquals(-810627292, x ^= ((1495296640.4087524)/(tmp = 1561790291, tmp)));
- assertEquals(657116606535253200, x *= x);
- assertEquals(0.675840332689047, x %= (((-1816548473)^(((tmp = -151918689.19451094, tmp)|(1819911186.535233))/((((((1514297447)+(tmp = 856485190.9684253, tmp))&(((1809369464.4363992)<<(493538496))*x))+((x*(x>>(x&(tmp = 222293461, tmp))))>>>(((784519621)|x)^((-580766922)>>(tmp = -947264116, tmp)))))>>>((((2794210354.22964)>>>(((2896952532.0183973)*((x+(tmp = -1813175940, tmp))<<(tmp = -1302618293, tmp)))&x))>>(x-(((x|((1456466890.1952953)*x))^(-169979758.19158387))-(x-x))))>>x))&(tmp = 2671604078.3026733, tmp))))/(-1701675745)));
- assertEquals(0.675840332689047, x %= ((tmp = 2421871143, tmp)^x));
- assertEquals(NaN, x %= ((((tmp = 1175526323.433271, tmp)+(tmp = 2813009575.952405, tmp))%((tmp = -3112133516.3303423, tmp)&x))&((((((-424329392)^(tmp = 1430146361, tmp))+x)-(1533557337.268306))%((tmp = -3117619446, tmp)-(-3127129232)))>>>x)));
- assertEquals(NaN, x += x);
- assertEquals(0, x >>>= ((1710641057.7325037)%(104961723.56541145)));
- assertEquals(0, x <<= (tmp = -970072906, tmp));
- assertEquals(0, x *= (87768668));
- assertEquals(-1464968122, x ^= (tmp = -1464968122, tmp));
- assertEquals(-1467983895, x ^= ((tmp = -1204896021, tmp)>>>(((91792661)&(x>>>(((-2364345606)>>>x)*x)))+x)));
- assertEquals(2.991581508270506, x /= (-490704963.5591147));
- assertEquals(0, x >>>= x);
- assertEquals(0, x >>= ((tmp = 639854873, tmp)%(tmp = 743486160.3597239, tmp)));
- assertEquals(0, x <<= (tmp = 1045577245.3403939, tmp));
- assertEquals(0, x >>= ((tmp = -1932462290, tmp)|(tmp = 1629217987, tmp)));
- assertEquals(517617438, x ^= ((tmp = 2737789043, tmp)%(tmp = -2220171604.135681, tmp)));
- assertEquals(126371, x >>>= ((tmp = 205210223.69909227, tmp)-(tmp = 598118404, tmp)));
- assertEquals(918548455, x |= ((918228734.8363427)+(x+x)));
- assertEquals(918548455, x |= ((tmp = 599828198, tmp)>>((tmp = -851081330, tmp)|(tmp = -1152596996.8443217, tmp))));
- assertEquals(918548443.7739062, x -= ((tmp = 1497642976.2260938, tmp)%(x>>(tmp = -548469702.5849569, tmp))));
- assertEquals(0.7739062309265137, x %= (x&x));
- assertEquals(2317939163.8239403, x *= (tmp = 2995116296, tmp));
- assertEquals(1014415360, x <<= (-279972114));
- assertEquals(0, x &= ((296810932)/(x*(tmp = -2750499950, tmp))));
- assertEquals(0, x *= (x%((126285451.05086231)>>>(x*(tmp = -2789790532, tmp)))));
- assertEquals(0, x >>>= ((975695102.5771483)%(x-((-1011726540)-((tmp = 2223194882, tmp)/x)))));
- assertEquals(-1747794584, x |= (-1747794584.3839395));
- assertEquals(-543544679, x %= (tmp = -1204249905, tmp));
- assertEquals(-543544679, x %= (-881024001));
- assertEquals(1, x /= x);
- assertEquals(-1879376393, x |= ((tmp = 161643764, tmp)|(tmp = 2281346499.9084272, tmp)));
- assertEquals(1.321124264431369, x /= (-1422558379.7061746));
- assertEquals(1, x >>>= (x&(tmp = -963118950.4710281, tmp)));
- assertEquals(3, x ^= ((x+x)/x));
- assertEquals(1, x /= x);
- assertEquals(1, x &= (2090796073));
- assertEquals(-1284301873, x ^= (((-11041168.146357536)+(tmp = -1273260707.8134556, tmp))+x));
- assertEquals(292559045, x &= (x&((-2401110739)^((tmp = 630802904, tmp)^(((1012634447.0346229)+x)%((tmp = -1240091095, tmp)%(x/(-1483936527))))))));
- assertEquals(0, x %= x);
- assertEquals(0, x /= (tmp = 613145428.3653506, tmp));
- assertEquals(0, x /= ((x-(tmp = 3116638456, tmp))*(-973300716)));
- assertEquals(0, x %= (tmp = -1794741286.0464535, tmp));
- assertEquals(0, x &= x);
- assertEquals(0, x >>= (-551370105.0746605));
- assertEquals(-1471996874, x ^= ((2822970422.2331414)-x));
- assertEquals(-277914313, x |= (tmp = -818980601.2544096, tmp));
- assertEquals(-34, x >>= x);
- assertEquals(305422768, x -= (-305422802));
- assertEquals(-2406146240, x += (tmp = -2711569008, tmp));
- assertEquals(1073745408, x &= (tmp = -3046625618, tmp));
- assertEquals(1073745408, x <<= ((-1234108306.7646303)<<((-233519302)|x)));
- assertEquals(1073745408, x %= (tmp = 1898831268, tmp));
- assertEquals(1073745408, x <<= (((tmp = 3089406038, tmp)/x)&(-2960027680)));
- assertEquals(65536, x >>>= (2858188366));
- assertEquals(128, x >>>= ((-2640257239.857275)%((tmp = -3185405235.3177376, tmp)*x)));
- assertEquals(128, x >>>= x);
- assertEquals(128, x -= (x&(x-(tmp = -247588018, tmp))));
- assertEquals(81616906825.07776, x *= (tmp = 637632084.57092, tmp));
- assertEquals(78860097686.07776, x -= (((1507215684)^((709254783)+(((x<<x)*((-2890828152.667641)%(2537817529.2041526)))^x)))+(3114024487)));
- assertEquals(-2920545695.721283, x += (((tmp = -2555437435, tmp)>>>x)-((2920546109.72129)+x)));
- assertEquals(-2879412281.721283, x += ((-1662428756)>>>(tmp = -1928491386.6926208, tmp)));
- assertEquals(67403845, x &= (tmp = 2921644117, tmp));
- assertEquals(16850961, x >>>= (((-1039328365)>>>(tmp = -768615112, tmp))<<((1037261855)*(tmp = -2906902831.4797926, tmp))));
- assertEquals(0, x ^= x);
- assertEquals(0, x *= ((-2729056530)/((-1776175111)%(1493002300.4604707))));
- assertEquals(0, x *= (tmp = 370696035.22912216, tmp));
- assertEquals(0, x ^= x);
- assertEquals(0, x |= ((((((tmp = -1541196993, tmp)^x)/(854730380.1799632))/(2879117705.492209))+((((-2892068577)^(-2460614446.1044483))>>>((743413943)<<(-1285280084.4220598)))/(tmp = -1719994579.5141463, tmp)))%(((((tmp = 2522797851.088227, tmp)<<(tmp = 2257160597.1538725, tmp))/(-680406007))&((x>>>(tmp = -260350730, tmp))^(tmp = 1920522110.852598, tmp)))>>(-697620442))));
- assertEquals(0, x &= x);
- assertEquals(-591399642.958673, x += (x-(tmp = 591399642.958673, tmp)));
- assertEquals(27, x >>>= (tmp = -726721317.2109983, tmp));
- assertEquals(-2043736843, x -= (2043736870));
- assertEquals(-3991674, x >>= (tmp = 1098126089, tmp));
- assertEquals(-997919, x >>= ((x%(((x*(((-1497329257.1781685)%(2334511329.2690516))/(-3072526140.6635056)))+(-1843998852))-(tmp = 240300314.34070587, tmp)))+(714080860.6032693)));
- assertEquals(-0, x %= x);
- assertEquals(NaN, x /= x);
- assertEquals(0, x >>= (tmp = 538348328.5363884, tmp));
- assertEquals(0, x *= (800317515));
- assertEquals(0, x -= x);
- assertEquals(0, x >>= (984205514));
- assertEquals(857282491, x += (tmp = 857282491, tmp));
- assertEquals(587792897, x &= (tmp = 2951307845.164059, tmp));
- assertEquals(595301269, x |= (tmp = 24285588.90314555, tmp));
- assertEquals(1190602538, x += x);
- assertEquals(0, x -= x);
- assertEquals(-442423060, x |= ((x^((x-(tmp = 2342497475.637024, tmp))%(-1900074414.7678084)))|((tmp = 1932380130, tmp)%(x%(2291727569.817062)))));
- assertEquals(-442423060, x %= (((tmp = 703479475.545413, tmp)>>(x-x))<<(2435723056.753845)));
- assertEquals(1, x /= x);
- assertEquals(0, x >>= x);
- assertEquals(-1265317851, x |= (tmp = -1265317851, tmp));
- assertEquals(-2, x >>= (-2015895906.8256726));
- assertEquals(-0, x %= x);
- assertEquals(-0, x %= (((1219237746)+(284683029))*(((tmp = 2288119628, tmp)|(-404658161.2563329))*(-265228691.74142504))));
- assertEquals(1039509109, x -= (-1039509109));
- assertEquals(2079018218, x += x);
- assertEquals(-1979.9362673719077, x /= ((3219723500)>>x));
- assertEquals(-62, x >>= ((x/(326466691))*(tmp = -607654070, tmp)));
- assertEquals(-45, x |= (tmp = -2954888429.549882, tmp));
- assertEquals(-1180929712, x &= (3114037588.570232));
- assertEquals(815550480, x &= (-2302684143.3378315));
- assertEquals(815550480, x %= (-2177479570));
- assertEquals(815550480, x %= (tmp = 2895822167, tmp));
- assertEquals(815550480, x %= (-1247621230.5438688));
- assertEquals(283929811, x -= ((tmp = 251831053.17096448, tmp)|((tmp = 1140463506.004994, tmp)+(tmp = -743224673.546309, tmp))));
- assertEquals(1825767424, x <<= (((tmp = 1732353599, tmp)^(tmp = 658726044, tmp))>>>((-2827889370.932477)%(tmp = 1950139204.3291233, tmp))));
- assertEquals(1828450414, x |= (tmp = 1618538606, tmp));
- assertEquals(0, x <<= (-2411670689.045702));
- assertEquals(0, x <<= (-27744888.428537607));
- assertEquals(-0, x /= (tmp = -1597552450, tmp));
- assertEquals(0, x >>>= (((2165722776.7220936)>>>(tmp = 1233069931, tmp))>>>(-1120420811)));
- assertEquals(-0, x *= ((tmp = -1505252656, tmp)>>((((3035637099.6156535)&((467761577.7669761)>>(-361034537)))^(tmp = -2347994840.6541123, tmp))*(tmp = -2191739821, tmp))));
- assertEquals(0, x &= (795727404.0738752));
- assertEquals(-0, x *= (tmp = -3125944685.3991394, tmp));
- assertEquals(-0, x *= (x&x));
- assertEquals(0, x >>= ((tmp = -2045709233, tmp)^x));
- assertEquals(NaN, x /= (x>>(x/(3102894071))));
- assertEquals(NaN, x += ((tmp = 2149079756.8941655, tmp)-(tmp = 810121645.305179, tmp)));
- assertEquals(0, x >>>= (-859842989));
- assertEquals(0, x >>>= (tmp = 2530531143.9369526, tmp));
- assertEquals(0, x >>= (((-932981419.6254237)|(tmp = 1591591715, tmp))>>>(x+((3149795006)>>>(tmp = 613352154, tmp)))));
- assertEquals(-4294967295, x -= ((((-2289331668)%(-282648480.0078714))>>(-1373720705.5142756))>>>((tmp = 15511563.517014384, tmp)/(360279080))));
- assertEquals(1, x &= x);
- assertEquals(0, x >>= (x^(-2791872557.5190563)));
- assertEquals(0, x &= ((tmp = 336466956.7847167, tmp)>>((1235728252.053619)|(x<<((1828176636.13488)%x)))));
- assertEquals(-0, x *= (-364042830.8894656));
- assertEquals(0, x >>>= x);
- assertEquals(-1675298680, x |= ((2323049541.321387)+(296619075)));
- assertEquals(-0, x %= x);
- assertEquals(-1583048579.4420977, x += (-1583048579.4420977));
- assertEquals(0, x -= x);
- assertEquals(-2, x ^= ((603171992.0545617)/(((-271888695.718297)%(tmp = -400159585, tmp))^((((tmp = 1536123971, tmp)-(tmp = -2310418666.6243773, tmp))|((tmp = 2242779597.1219435, tmp)<<(tmp = 1758127684.4745512, tmp)))/x))));
- assertEquals(-2, x &= (x&x));
- assertEquals(0, x &= ((tmp = -1098806007.4049063, tmp)/(((2862384059.3229523)/((((tmp = -92960842, tmp)-(x>>(tmp = 1244068344.2269042, tmp)))&x)*(tmp = -1919148313, tmp)))<<(-2486665929))));
- assertEquals(0, x &= x);
- assertEquals(-1441272634.582818, x -= (1441272634.582818));
- assertEquals(-3, x >>= (tmp = 3186393693.7727594, tmp));
- assertEquals(-1206855850, x ^= (((tmp = 607979495.303539, tmp)-(tmp = -2480131951, tmp))^(x*((tmp = 1324153477, tmp)/((1248126288)+(x|(1917331780.0741704)))))));
- assertEquals(-1206855853, x ^= (x>>>(653288765.1749961)));
- assertEquals(-1206857725, x &= (3149461539.6019173));
- assertEquals(3088109571, x >>>= (x*(x<<(tmp = 1543540084, tmp))));
- assertEquals(536903680, x &= (tmp = 644851760, tmp));
- assertEquals(536903674.312194, x += (((-3183290076)-((tmp = 40738191.12097299, tmp)-x))/((x>>>(3151371851.9408646))^(tmp = 472698205.22445416, tmp))));
- assertEquals(2127424750.0506563, x -= (tmp = -1590521075.7384624, tmp));
- assertEquals(2127424750.0506563, x %= (tmp = 3027273433.361373, tmp));
- assertEquals(0, x >>= (x>>(1445204441.702043)));
- assertEquals(NaN, x %= (x<<x));
- assertEquals(0, x ^= ((tmp = -2903841152.136344, tmp)-(x%(2938662860))));
- assertEquals(0, x <<= (x<<x));
- assertEquals(0, x >>>= (tmp = -979481631.33442, tmp));
- assertEquals(0, x >>= x);
- assertEquals(0, x &= (((x%((((((tmp = 1657446354.6820035, tmp)>>(-1916527001.2992697))/x)>>(tmp = 1450467955, tmp))&(277676820))+(x/(-945587805))))/((tmp = -690095354, tmp)^x))+(tmp = -2651195021, tmp)));
- assertEquals(0, x <<= (752343428.2934296));
- assertEquals(0, x /= (tmp = 3022310299, tmp));
- assertEquals(0, x >>= (x%((388245402)>>>x)));
- assertEquals(NaN, x %= x);
- assertEquals(NaN, x %= ((tmp = 1205123529.8649468, tmp)>>>(-2848300932)));
- assertEquals(0, x >>= ((x>>>x)<<(tmp = 487841938, tmp)));
- assertEquals(0, x *= (((273436000.9463471)|(tmp = 141134074.27978027, tmp))^(tmp = 1220326800.7885802, tmp)));
- assertEquals(1525600768, x |= (((x^(-2674777396))-(tmp = 1966360716.3434916, tmp))<<(794782595.9340223)));
- assertEquals(761927595, x %= (tmp = -763673173, tmp));
- assertEquals(1.1353588586934338, x /= ((x&((-1897159300.4789193)*(-348338328.0939896)))&(978680905.6470605)));
- assertEquals(8.631173314966319e-10, x /= (1315416592));
- assertEquals(0, x >>= ((tmp = -2581239435, tmp)-((-628818404.1122074)<<x)));
- assertEquals(0, x -= x);
- assertEquals(0, x *= (2925158236));
- assertEquals(0, x /= (x+(tmp = 1405531594.0181243, tmp)));
- assertEquals(0, x *= (2712022631.230831));
- assertEquals(0, x >>= (tmp = 80518779.81608999, tmp));
- assertEquals(1953477932.8046472, x += (tmp = 1953477932.8046472, tmp));
- assertEquals(1953477932, x >>= (tmp = 3025539936, tmp));
- assertEquals(1953477932, x -= ((-2675119685.8812313)>>(x/(-1808264410.9754841))));
- assertEquals(1292620430, x += ((-660857502)%((((tmp = -698782819, tmp)%(tmp = 2847304199, tmp))<<(-2423443217.1315413))+x)));
- assertEquals(78895, x >>>= x);
- assertEquals(2, x >>= x);
- assertEquals(2, x <<= (tmp = 1313641888.8301702, tmp));
- assertEquals(1857416935.2532766, x += (tmp = 1857416933.2532766, tmp));
- assertEquals(-1677721600, x <<= (tmp = -2482476902, tmp));
- assertEquals(309226853.62854385, x -= (tmp = -1986948453.6285439, tmp));
- assertEquals(33965156, x &= (2409088742));
- assertEquals(Infinity, x /= (x-(x<<((x/(tmp = -3106546671.536726, tmp))/((tmp = 2695710176, tmp)-((((-2102442864)&(857636911.7079853))/x)%(-65640292)))))));
- assertEquals(1270005091, x |= (tmp = 1270005091.0081215, tmp));
- assertEquals(1270005091, x %= (tmp = -1833876598.2761571, tmp));
- assertEquals(158750636, x >>>= x);
- assertEquals(-1000809106.0879555, x -= (tmp = 1159559742.0879555, tmp));
- assertEquals(72400936, x &= ((2448271389.3097963)%(tmp = 1517733861, tmp)));
- assertEquals(282816, x >>= x);
- assertEquals(282816, x %= (tmp = 3192677386, tmp));
- assertEquals(0.00021521351827207216, x /= (1314118194.2040696));
- assertEquals(Infinity, x /= (((tmp = 2822091386.1977024, tmp)&x)%(tmp = -3155658210, tmp)));
- assertEquals(NaN, x %= (-359319199));
- assertEquals(0, x >>>= (((tmp = -2651558483, tmp)-(x<<(tmp = 2537675226.941645, tmp)))<<(tmp = 667468049.0240343, tmp)));
- assertEquals(-0, x *= (tmp = -2827980482.12998, tmp));
- assertEquals(-0, x %= (((tmp = -689972329.3533998, tmp)>>>x)|(tmp = -7488144, tmp)));
- assertEquals(0, x >>>= x);
- assertEquals(0, x |= x);
- assertEquals(-2410373675.2262926, x -= (2410373675.2262926));
- assertEquals(1840423, x >>= ((-1081642113)^x));
- assertEquals(-4829451429403412, x *= (-2624098606.35485));
- assertEquals(-94552231, x %= (tmp = -97015883, tmp));
- assertEquals(-94433287, x ^= (((tmp = -2297735280, tmp)&(((tmp = 2261074987.7072973, tmp)%((((2565078998)^(-2573247878))|x)|(((tmp = -2120919004.7239416, tmp)>>(tmp = -579224101, tmp))>>>(1905808441))))*(x|(3149383322))))>>(542664972)));
- assertEquals(0, x ^= (x<<(tmp = -3112569312, tmp)));
- assertEquals(0, x <<= (-2141934818.7052917));
- assertEquals(0, x >>= (tmp = -2539525922, tmp));
- assertEquals(-434467613, x ^= (tmp = -434467613, tmp));
- assertEquals(-274792709, x |= (1233452601.462551));
- assertEquals(-274726917, x |= (-2130333750));
- assertEquals(-272629761, x |= (-1516071602.5622227));
- assertEquals(-272629761, x |= ((tmp = 3012131694, tmp)&((tmp = -2595342375.8674774, tmp)-((tmp = -2710765792, tmp)>>>((x-(tmp = 2397845540, tmp))+(2496667307))))));
- assertEquals(-4194305, x |= (1343705633.165825));
- assertEquals(4190207, x >>>= ((tmp = 276587830, tmp)*((tmp = -1517753936, tmp)>>x)));
- assertEquals(0, x >>= (x|((2247486919)-((-1664642412.4710495)*((((tmp = -358185292.17083216, tmp)-(tmp = -1472193444, tmp))*(tmp = 2699733752, tmp))&((x|(x<<(1137610148.1318119)))>>(((375089690.8764564)*x)&(tmp = 859788933.9560187, tmp))))))));
- assertEquals(0, x %= (3080673960));
- assertEquals(0, x >>>= (1328846190.1963305));
- assertEquals(1249447579, x |= (-3045519717.580775));
- assertEquals(-0.8743931060971377, x /= (-1428931187));
- assertEquals(1, x |= ((tmp = -1756877535.7557893, tmp)/((-142900015.93200803)<<(1414557031.347334))));
- assertEquals(759627265, x ^= (759627264.0514802));
- assertEquals(741823, x >>= (1106391210));
- assertEquals(610451, x &= ((x>>>((919849416)+((tmp = -427708986, tmp)^((x%x)|(tmp = -2853100288.932063, tmp)))))*x));
- assertEquals(372650423401, x *= x);
- assertEquals(410404493, x >>>= ((((-1425086765)>>>x)>>((2813118707.914771)>>(-424850240)))^x));
- assertEquals(120511585729013, x *= ((tmp = -1889454669, tmp)>>>x));
- assertEquals(120513295294304.22, x -= (tmp = -1709565291.2115698, tmp));
- assertEquals(6164, x >>>= ((2244715719.397763)^(tmp = -741235818.6903033, tmp)));
- assertEquals(937572790.468221, x -= (tmp = -937566626.468221, tmp));
- assertEquals(937572790, x |= ((2129102867.156146)*(x%x)));
- assertEquals(32, x &= ((2700124055.3712993)>>>((1977241506)>>>(-2915605511))));
- assertEquals(32, x %= (tmp = -2513825862, tmp));
- assertEquals(0, x <<= (-1379604802));
- assertEquals(0, x >>>= (tmp = -1033248759, tmp));
- assertEquals(-1151517050, x ^= (3143450246));
- assertEquals(-180577, x |= ((738373819.4081701)^(-357134176)));
- assertEquals(-0, x %= x);
- assertEquals(-2086887759, x |= (tmp = 2208079537, tmp));
- assertEquals(-2, x >>= (1460216478.7305799));
- assertEquals(-2, x %= ((-1979700249.0593133)^(-3156454032.4790583)));
- assertEquals(-256, x <<= ((1810316926)>>>(tmp = 414362256, tmp)));
- assertEquals(-1, x >>= (((((((-1616428585.595561)*((tmp = 2574896242.9045777, tmp)|(86659152.37838173)))>>(((tmp = 2476869361, tmp)&((x+((tmp = -2445847462.1974697, tmp)>>(tmp = -1960643509.5255682, tmp)))+(x|(((((2231574372.778028)|(tmp = 1824767560, tmp))>>>((1108035230.2692142)|(tmp = 2354035815, tmp)))/((tmp = -2602922032, tmp)>>(-925080304.7681987)))-x))))-(x>>x)))>>>((tmp = 751425805.8402164, tmp)|(tmp = 1165240270.3437088, tmp)))-x)*(2870745939))-(x>>>((tmp = 2986532631.405425, tmp)>>>(((tmp = 2547448699, tmp)+(((((x<<(((((-2756908638.4197435)>>>(3134770084))-(-1147872642.3756688))%(x*(tmp = -282198341.6600039, tmp)))+(-770969864.2055655)))+((-2725270341)^x))/(-3093925722))>>(x&x))>>((tmp = -2705768192, tmp)>>>(((tmp = 577253091.6042917, tmp)/(((x&(((((x+x)>>>(-1000588972))/(x&(717414336)))^(tmp = 428782104.21504414, tmp))>>>(1084724288.953223)))%(tmp = -2130932217.4562194, tmp))&x))-(-286367389)))))+((x>>(tmp = 2001277117, tmp))>>((tmp = 1028512592, tmp)^((tmp = 2055148650, tmp)+((tmp = 1490798399, tmp)/(tmp = -2077566434.2678986, tmp))))))))));
- assertEquals(-1, x |= (tmp = 1542129482, tmp));
- assertEquals(-671816743, x &= (tmp = -671816743.9111726, tmp));
- assertEquals(-1840333080, x -= (1168516337));
- assertEquals(-1755382023, x |= ((((tmp = 2625163636.0142937, tmp)>>>((tmp = 1534304735, tmp)^x))-(tmp = -1959666777.9995313, tmp))%x));
- assertEquals(-1750421896, x += (x>>>(tmp = -1364828055.1003118, tmp)));
- assertEquals(-72864007, x %= (tmp = 239651127, tmp));
- assertEquals(-72863956, x -= (((tmp = -1103261657.626319, tmp)*((tmp = 2789506613, tmp)+((tmp = 2294239314, tmp)>>>(2588428607.5454817))))>>x));
- assertEquals(-170337477, x -= (tmp = 97473521, tmp));
- assertEquals(-170337477, x |= (((tmp = 246292300.58998203, tmp)/(((tmp = -2664407492, tmp)|((-2416228818)^(tmp = 909802077, tmp)))%(tmp = 532643021.68109465, tmp)))/(tmp = 1015597843.8295637, tmp)));
- assertEquals(1, x >>>= (((tmp = -2247554641.7422867, tmp)/(1186555294))%(tmp = -785511772.3124621, tmp)));
- assertEquals(1188939891.668705, x -= (tmp = -1188939890.668705, tmp));
- assertEquals(1188939891, x &= x);
- assertEquals(1188413555, x &= (((tmp = -372965330.5709038, tmp)%(((tmp = 3108909487, tmp)|(x^(-1056955571.9951684)))^(-1549217484.009048)))/(x>>>(1403428437.9368362))));
- assertEquals(-0.7343692094664643, x /= (-1618278026.4758227));
- assertEquals(0, x -= x);
- assertEquals(0, x &= (-2701762139.7500515));
- assertEquals(0, x >>>= (((-1692761485.2299166)^x)+(tmp = -1221349575.938864, tmp)));
- assertEquals(0, x <<= ((2148160230)<<x));
- assertEquals(0, x <<= (((x<<(-740907931.38363))&(tmp = -930960051.6095045, tmp))>>(x/((tmp = -1921545150.1239789, tmp)/(-3015379806)))));
- assertEquals(0, x <<= x);
- assertEquals(NaN, x /= (x|x));
- assertEquals(0, x >>= (tmp = -2265988773, tmp));
- assertEquals(-0, x *= (((x<<(-928153614))<<(-989694208))^(2544757713.481016)));
- assertEquals(0, x >>= ((tmp = 578009959.5299993, tmp)>>x));
- assertEquals(0, x /= ((((tmp = 412689800.0431709, tmp)&(1630886276))*(tmp = 2028783080.7296097, tmp))/x));
- assertEquals(0, x |= ((((x*(-2197198786))>>((2719887264.761987)<<(tmp = 2253246512, tmp)))-(tmp = -150703768.07045603, tmp))/(((-3160098146)%(((((1486098047.843547)>>(((tmp = -593773744.1144242, tmp)&(x<<(2651087978)))|((-680492758.930413)>>(tmp = 88363052.13662052, tmp))))<<x)<<(tmp = 2232672341, tmp))/((x<<x)&(((((348589117.64135563)<<(-1010050456.3097556))^(x/(tmp = -2282328795, tmp)))-(tmp = 1653716293, tmp))-((3157124731)/((tmp = 3007369535.341745, tmp)%(tmp = -2246556917, tmp)))))))+x)));
- assertEquals(0, x >>= ((1935211663.5568764)>>(x-(tmp = 2116580032, tmp))));
- assertEquals(-1725272693, x ^= (tmp = -1725272693, tmp));
- assertEquals(313683, x >>>= (-1782632531.2877684));
- assertEquals(0.009772287443565642, x /= (tmp = 32099240, tmp));
- assertEquals(-647945916.9902277, x += (-647945917));
- assertEquals(3647021380, x >>>= ((((((((2470411371.688199)<<x)>>x)-(x>>>((tmp = 1750747780, tmp)/x)))-x)<<(tmp = -2666186351.695101, tmp))^(((tmp = 2749205312.6666174, tmp)%x)&(2069802830.360536)))<<(tmp = 6051917.9244532585, tmp)));
- assertEquals(-647939220, x |= ((x>>>((tmp = -2980404582.794245, tmp)>>>(-996846982)))^x));
- assertEquals(-572178450, x |= ((-800571300.3277931)+(tmp = 2084365671, tmp)));
- assertEquals(1172311208, x &= (x&((tmp = -1207487657.8953774, tmp)^x)));
- assertEquals(12176516458994, x += ((((tmp = -1534997221, tmp)%(412142731))*((tmp = 2958726303, tmp)>>(1489169839)))+(((-574726407.2051775)>>>(((1772885017)<<(947804536.9958035))>>(-2406844737)))>>x)));
- assertEquals(-1480065024, x <<= x);
- assertEquals(-1736999042.227129, x += (tmp = -256934018.22712898, tmp));
- assertEquals(-1338699394, x ^= ((((((x%(((tmp = -2551168455.222048, tmp)|(3213507293.930222))/((-1559278033)>>((tmp = 3107774495.3698573, tmp)-(2456375180.8660913)))))*((x*(tmp = 1088820004.8562922, tmp))+((tmp = 1850986704.9836102, tmp)%(tmp = -1226590364, tmp))))*(1786192008))&(((2193303940.310299)%(tmp = 1041726867.0602217, tmp))|((2210722848)/((-1293401295.6714435)&((tmp = 3052430315, tmp)|x)))))>>>(tmp = -2028014470.1524236, tmp))+(((1695818039.0383925)<<((1669068145)*(-2746592133.899276)))<<(tmp = 519092169, tmp))));
- assertEquals(-334674849, x >>= (1170377794));
- assertEquals(-10214, x >>= ((tmp = 1074704264.3712895, tmp)>>>((tmp = -1200860192, tmp)^((tmp = 539325023.4101218, tmp)*((tmp = -588989295, tmp)|x)))));
- assertEquals(1384169472, x &= (1384171140));
- assertEquals(1384169472, x >>>= ((tmp = -2161405973.830981, tmp)*(tmp = 2054628644, tmp)));
- assertEquals(1610140972, x |= (527961388));
- assertEquals(1073273198, x += ((tmp = -259650225.71344328, tmp)&(tmp = -344359694, tmp)));
- assertEquals(65507, x >>= ((x<<((tmp = 2925070713.5245204, tmp)%(x+((tmp = -1229447799, tmp)/(((x/(x|(((-2337139694)|((((((2996268529.7965417)&x)%(((tmp = -1088587413, tmp)>>(-1384104418.90339))>>((tmp = -1643984822.3946526, tmp)+x)))%(((1118125268.4540217)-((((-1975051668.6652594)-(-704573232))+((tmp = 1674952373, tmp)/(tmp = 1321895696.0062659, tmp)))*(tmp = 1820002533.2021284, tmp)))>>>(tmp = -583960746.9993203, tmp)))|((tmp = -2577675508.550925, tmp)&x))/(tmp = 1459790066, tmp)))/(((((1051712301.7804044)&(tmp = -2726396354, tmp))^(tmp = 263937254.18934345, tmp))+(((x^x)*(((tmp = -2289491571, tmp)+x)%(-2239181148)))&x))>>(tmp = -1743418186.3030887, tmp)))))/(tmp = 1475718622, tmp))<<x)))))|(x&((((tmp = -2934707420, tmp)<<x)/x)^(1022527598.7386684)))));
- assertEquals(2047, x >>= (x-(tmp = 2300626270, tmp)));
- assertEquals(8384512, x <<= (tmp = -1917680820, tmp));
- assertEquals(0, x <<= (2393691134));
- assertEquals(0, x >>= x);
- assertEquals(649995936.5853252, x -= (tmp = -649995936.5853252, tmp));
- assertEquals(649995936, x &= x);
- assertEquals(-0.33672017582945424, x /= (tmp = -1930374188, tmp));
- assertEquals(-0.33672017582945424, x += (x&((1208055031)^(-2761287670.968586))));
- assertEquals(0, x |= x);
- assertEquals(0, x <<= ((-2038368978)/x));
- assertEquals(0, x >>= (x&((tmp = 2481378057.738218, tmp)&(x+(1172701643)))));
- assertEquals(0, x <<= ((x*(((((((tmp = 70690601.3046323, tmp)&(((((((((((x+(x+(x^(3118107461))))<<(264682213.41888392))&(tmp = -709415381.8623683, tmp))%(((((-1840054964)>>>(tmp = -405893120.89603686, tmp))|((-625507229)^(3128979265)))>>(x>>((tmp = -2480442390, tmp)*((x>>(tmp = -421414980.88330936, tmp))>>>((tmp = 1850868592, tmp)&(-2948543832.879225))))))|((2986545185)&((tmp = -1947550706, tmp)%(((tmp = 2590238422.1414256, tmp)/(((tmp = -361038812, tmp)>>x)|(((tmp = 1798444068, tmp)|((x&((tmp = -3104542069, tmp)-x))*((tmp = -1158658918, tmp)+((tmp = 2777031040.5552707, tmp)<<(-2816019335.9008327)))))<<x)))/(((2287795988.231702)/x)/(((-2588712925)>>>(2521189250))*((tmp = -2533527920, tmp)+(tmp = 1762281307.2162101, tmp)))))))))/x)/(tmp = 1047121955.5357032, tmp))|(((-121292251)<<(x^(x-(tmp = 1420006180, tmp))))%((-2278606219)>>>(((tmp = -1412487726, tmp)&(((((tmp = 253596554.16016424, tmp)/(tmp = 2083376247.0079951, tmp))^(x^((1549116789.8449988)>>>((((-1844170084)^(tmp = 1886066422, tmp))&x)<<(34918329)))))^(tmp = -440805555.3369155, tmp))-x))%(-1936512969)))))+(2911511178.4035435))|(1012059391))|(x>>>(tmp = -2551794626.158037, tmp)))+((2926596072.210515)/(tmp = -280299595.0450909, tmp))))&((tmp = 1501086971, tmp)^(tmp = 2114076983, tmp)))-((-1679390574.1466925)-(941349044)))-((x>>x)>>((-2600539474.2033434)+(tmp = 2567056503.9079475, tmp))))*(tmp = 1285896052, tmp))%(((tmp = 1191465410.7595167, tmp)>>((tmp = -2857472754, tmp)%x))>>>(((tmp = 1960819627.6552541, tmp)&(-2651207221.127376))*((((-687312743)+((x>>x)<<x))|((((((1549588195)*((tmp = 2733091019, tmp)^((527322540)<<(x>>x))))%(tmp = -2063962943, tmp))*x)*(734060600))&(-3049417708)))+(((((1084267726)+((x|x)^((tmp = -1917070472.4858549, tmp)%((690016078.9375831)*x))))%((((((tmp = -2091172769, tmp)%(2532365378))>>>(-871354260))/(tmp = 254167019.07825458, tmp))&(1330216175.9871218))>>(tmp = 1931099207, tmp)))^(-1116448185.2618852))>>((961660080.8135855)/x)))))))>>>(-1486048007.7053368)));
- assertEquals(0, x >>= x);
- assertEquals(0, x %= (tmp = -1202200444.6506357, tmp));
- assertEquals(-0, x *= (-527500796.4145117));
- assertEquals(0, x >>= (tmp = -2082822707, tmp));
- assertEquals(0, x *= ((-1882398459.290778)>>>x));
- assertEquals(0, x &= (x/(tmp = -1569332286.392817, tmp)));
- assertEquals(-390169607, x |= (-390169607.11600184));
- assertEquals(-780339214, x += x);
- assertEquals(-780339214, x %= (2765959073));
- assertEquals(-5954, x >>= (tmp = -1900007055, tmp));
- assertEquals(743563420, x &= ((((-1520146483.5367205)|(-2075330284.3762321))-(tmp = -2263151872, tmp))%(-1264641939.957402)));
- assertEquals(1487126840, x += (x>>>(((x+((tmp = -1263274491, tmp)>>>x))&(470419048.0490037))%(tmp = -2642587112, tmp))));
- assertEquals(Infinity, x /= (x^x));
- assertEquals(0, x ^= ((tmp = -1436368543, tmp)+(x/(tmp = -1125415374.3297129, tmp))));
- assertEquals(0, x += x);
- assertEquals(0, x <<= x);
- assertEquals(0, x &= (tmp = 3101147204.2905564, tmp));
- assertEquals(0, x &= (tmp = 2914487586.606511, tmp));
- assertEquals(0, x += x);
- assertEquals(0, x -= (((-1738542908.6138556)&(((x+x)-(tmp = -2801153969, tmp))%(tmp = -1206684064.1477358, tmp)))>>((-2575546469.271897)|(tmp = -2573119106, tmp))));
- assertEquals(-1468808707, x ^= (tmp = -1468808707, tmp));
- assertEquals(1357349882, x <<= (tmp = -2808501087.7003627, tmp));
- assertEquals(-572025862, x |= ((((tmp = -2415486246.573399, tmp)/((tmp = -707895732.4593301, tmp)&x))%((-1960091005.0425267)*(972618070.9166157)))-(1649962343)));
- assertEquals(327213586796843100, x *= (x%(1337884626)));
- assertEquals(42991616, x &= (-2905576654.1280055));
- assertEquals(-26049289585042860, x *= (-605915571.6557121));
- assertEquals(597809748, x >>= ((362850791.077795)/(tmp = 1222777657.4401796, tmp)));
- assertEquals(597809748, x |= x);
- assertEquals(770065246, x -= ((-711227660)|(tmp = -508554506, tmp)));
- assertEquals(593000483097040500, x *= x);
- assertEquals(0, x %= x);
- assertEquals(0, x <<= (317862995.456813));
- assertEquals(0, x >>= ((tmp = 2518385735, tmp)+((-2973864605.267604)/(-930953312.718833))));
- assertEquals(1227822411, x ^= (x^(1227822411.8553264)));
- assertEquals(1090520320, x &= (x+((((-2100097959)>>(x/(tmp = -2002285068, tmp)))/(-364207954.9242482))-((tmp = 2771293106.7927113, tmp)-(tmp = -847237774, tmp)))));
- assertEquals(1090520320, x >>= (((((2439492849)<<((-2932672756.2578926)*((743648426.7224461)+((2942284935)<<((x/(((tmp = 886289462.6565771, tmp)+(-459458622.7475352))>>(tmp = -785521448.4979162, tmp)))|(tmp = -11630282.877367258, tmp))))))-(tmp = -647511106.9602091, tmp))^x)&x));
- assertEquals(115944291.48829031, x %= (243644007.12792742));
- assertEquals(1, x /= x);
- assertEquals(0, x >>>= ((tmp = -819782567, tmp)%(tmp = 2774793208.1994505, tmp)));
- assertEquals(0, x >>= (tmp = 721096000.2409859, tmp));
- assertEquals(0, x &= ((x%x)%x));
- assertEquals(-0, x *= ((-1670466344)<<x));
- assertEquals(0, x >>= (-677240844.904707));
- assertEquals(NaN, x %= (((((-1575993236.6126876)/(-2846264078.9581823))^((((-2220459664)-(((-1809496020)>>>(tmp = -3015964803.4566207, tmp))&x))/(tmp = -3081895596.0486784, tmp))>>>(x&x)))%(x^(-1338943139)))^(x-((((2074140963.2841332)^(tmp = 1878485274, tmp))%(((x/(-2568856967.6491556))^x)<<((x+x)^((((2139002721)|(x<<(-1356174045.840464)))>>x)-(tmp = 2305062176, tmp)))))>>>(((((x<<(tmp = -1663280319.078543, tmp))-((1498355849.4158854)-((-1321681257)>>>(tmp = -1321415088.6152222, tmp))))^(-2266278142.1584673))+(858538943))&((((x-((x|(((tmp = -1576599651, tmp)+((tmp = 1595319586, tmp)&(-2736785205.9203863)))>>((x+((-1856237826)+x))<<(tmp = -1590561854.3540869, tmp))))^(((-41283672.55606127)&(tmp = 2971132248, tmp))+x)))/(-849371349.1667476))%(x*((-1705070934.6892798)>>>x)))<<((2418200640)*x)))))));
- assertEquals(0, x >>>= (tmp = 664214199.5283061, tmp));
- assertEquals(0, x <<= ((-2827299151)<<(1815817649)));
- assertEquals(1405772596, x |= (tmp = 1405772596, tmp));
- assertEquals(-1483422104, x <<= (-2791499935.6822596));
- assertEquals(-45271, x >>= (1740128943.4254808));
- assertEquals(-45271, x <<= ((2072269957)-((tmp = -2553664811.4472017, tmp)*(tmp = -2502730352, tmp))));
- assertEquals(1192951471.6745887, x -= (-1192996742.6745887));
- assertEquals(-353370112, x <<= (tmp = -1410280844, tmp));
- assertEquals(0, x ^= (x%((2754092728)*(-1017564599.1094015))));
- assertEquals(-2662096003.2397957, x -= (tmp = 2662096003.2397957, tmp));
- assertEquals(-2587094028.50764, x -= (tmp = -75001974.7321558, tmp));
- assertEquals(6693055512339889000, x *= x);
- assertEquals(897526784, x %= (x-((tmp = 897526813, tmp)%(-1525574090))));
- assertEquals(7011928, x >>= ((-440899641.344357)%x));
- assertEquals(8382047686388683, x += (x*(1195398423.8538609)));
- assertEquals(16764095372777366, x += x);
- assertEquals(16764096859576696, x -= (tmp = -1486799329.7207344, tmp));
- assertEquals(16764099774187724, x += (2914611029));
- assertEquals(16764102926624664, x -= (-3152436939.724612));
- assertEquals(-538220648, x |= x);
- assertEquals(269110324, x /= (((-2114698894.6014318)/(tmp = 767687453, tmp))>>(623601568.1558858)));
- assertEquals(256, x >>= x);
- assertEquals(-293446891, x += (x+(-293447403)));
- assertEquals(119, x >>>= ((1759400753)>>(2481263470.4489403)));
- assertEquals(14, x >>= (762849027.89693));
- assertEquals(16, x += (x&(x>>(1104537666.1510491))));
- assertEquals(-12499808227.980995, x *= (tmp = -781238014.2488122, tmp));
- assertEquals(1, x /= x);
- assertEquals(1, x &= x);
- assertEquals(0, x >>>= ((tmp = 1513381008, tmp)|(tmp = 1593208075.7259543, tmp)));
- assertEquals(0, x &= (-788154636.2843091));
- assertEquals(-0, x /= (tmp = -2124830879, tmp));
- assertEquals(0, x &= (934237436));
- assertEquals(0, x |= x);
- assertEquals(-79370942.97651315, x += (-79370942.97651315));
- assertEquals(-79370942.97651315, x %= ((tmp = -2683255523, tmp)<<(tmp = 2323123280.287587, tmp)));
- assertEquals(-79370942, x |= x);
- assertEquals(0.05861647801688159, x /= (-1354072177.061561));
- assertEquals(0, x <<= (((((((tmp = 1989257036, tmp)&(tmp = 1565496213.6578887, tmp))&x)&(tmp = -2798643735.905287, tmp))&(2354854813.43784))%(tmp = 1118124748, tmp))<<((tmp = 2453617740, tmp)*(((tmp = 1762604500.492329, tmp)<<(-2865619363))%(((2474193854.640994)|((tmp = 1425847419.6256948, tmp)|(((-1271669386)%((x|((tmp = -2059795445.3607287, tmp)+x))*(x*x)))>>>(tmp = -2997360849.0750895, tmp))))/(tmp = 2326894252, tmp))))));
- assertEquals(0, x >>>= ((-671325215)/((-727408755.8793397)>>(tmp = 315457854, tmp))));
- assertEquals(0, x >>= (x&x));
- assertEquals(0, x <<= ((x/x)>>>(((((x&x)-((x*(((tmp = -2689062497.0087833, tmp)^x)/((-1465906334.9701924)<<(tmp = -349000262, tmp))))*x))%(1630399442.5429945))*x)+((tmp = 605234630, tmp)%(tmp = 2325750892.5065155, tmp)))));
- assertEquals(0, x |= (x%((x>>(((((tmp = 1622100459, tmp)<<x)&((((((tmp = 2411490075, tmp)<<x)|x)>>((x<<x)-(-2133780459)))/x)&(x+x)))%(x/((((tmp = 580125125.5035453, tmp)>>>(-470336002.1246581))|((tmp = 871348531, tmp)*x))>>(2866448831.23781))))-((2352334552)-(-562797641.6467373))))-(x^(tmp = -681731388, tmp)))));
- assertEquals(0, x <<= (tmp = -1358347010.3729038, tmp));
- assertEquals(-260967814, x |= ((tmp = -260967814.45976686, tmp)%(tmp = 1126020255.1772437, tmp)));
- assertEquals(NaN, x %= ((((tmp = 3176388281, tmp)<<(tmp = 611228283.2600244, tmp))>>>((tmp = 3068009824, tmp)+(tmp = 2482705111, tmp)))>>>((tmp = -750778285.2580311, tmp)>>>x)));
- assertEquals(0, x <<= (x>>>x));
- assertEquals(0, x /= (1238919162));
- assertEquals(0, x >>= (x^x));
- assertEquals(0, x &= (-2137844801));
- assertEquals(0, x >>>= (x^(x*(-1774217252))));
- assertEquals(0, x >>= x);
- assertEquals(0, x |= x);
- assertEquals(0, x &= (x<<(tmp = 2791377560, tmp)));
- assertEquals(-1330674638.8117397, x += (tmp = -1330674638.8117397, tmp));
- assertEquals(353, x >>>= (-212202857.4320326));
- assertEquals(353, x ^= ((((x+(tmp = 1448262278, tmp))-(-3141272537))>>(tmp = 1116596587.7832575, tmp))>>>((x-(((tmp = 303953098, tmp)>>>((tmp = 691514425, tmp)/((176223098)*(((2876180016)%(-1805235275.892374))|x))))<<(((tmp = 528736141.838547, tmp)^(2556817082))*(2898381286.2846575))))|((-1445518239)&(tmp = 389789481.9604758, tmp)))));
- assertEquals(0, x >>>= (-227376461.14343977));
- assertEquals(0, x <<= (tmp = -2575967504, tmp));
- assertEquals(0, x <<= (x^((-2668391896)>>((x+(tmp = 598697235.9205595, tmp))+((((-2105306785)|((-1174912319.794015)>>>(x-((148979923)%((((tmp = -2459140558.4436393, tmp)|(1265905916.494016))^(tmp = 1213922357.2230597, tmp))|(1028030636))))))%x)+(((tmp = 1393280827.0135512, tmp)^((tmp = 1210906638, tmp)+(-1572777641.1396031)))<<x))))));
- assertEquals(0, x *= (tmp = 2134187165, tmp));
- assertEquals(-1084549964, x -= (tmp = 1084549964, tmp));
- assertEquals(-2045706240, x &= ((tmp = -1250758905.7889671, tmp)*(x+(((x<<(x/(tmp = -738983664.845448, tmp)))>>>x)&(tmp = 2197525295, tmp)))));
- assertEquals(-2045706240, x ^= (((522049712.14743733)>>(tmp = -2695628092, tmp))>>>(tmp = -2603972068, tmp)));
- assertEquals(2249261056, x >>>= x);
- assertEquals(-33291, x |= ((((1891467762)<<(184547486.213719))-((458875403.50689447)^(((x&(x*x))|x)%(-3127945140))))|(-100765232)));
- assertEquals(-33291, x %= (1460486884.1367688));
- assertEquals(-1, x >>= (tmp = -2667341441, tmp));
- assertEquals(-3.6289151568259606e-10, x /= (tmp = 2755644474.4072013, tmp));
- assertEquals(-3.6289151568259606e-10, x %= (tmp = 1186700893.0751028, tmp));
- assertEquals(0, x <<= (tmp = -1199872107.9612694, tmp));
- assertEquals(371216449, x ^= ((tmp = 371324611.1357789, tmp)&(x-(x|((tmp = -518410357, tmp)>>((tmp = 687379733, tmp)/x))))));
- assertEquals(0.3561383159088311, x /= (((((x%(((((-2293101242)%((((495316779)/x)-((-3198854939.8857965)>>>((tmp = -288916023, tmp)-(x^(tmp = -2504080119.431858, tmp)))))^(-1201674989)))-((2965433901)*(405932927)))/((1974547923)|(tmp = 534069372, tmp)))-(x-((x+(-1258297330))%x))))<<(((-2648166176.4947824)^(-3043930615))&(1550481610)))<<(tmp = -3118264986.743822, tmp))<<x)|x));
- assertEquals(-46272499.15029934, x -= (tmp = 46272499.50643766, tmp));
- assertEquals(-6, x >>= ((tmp = -731454087.0621192, tmp)>>>x));
- assertEquals(-2.7207928474520667e-9, x /= (((x<<(x|((tmp = -1650731700.9540024, tmp)/(tmp = -677823292, tmp))))^((((((1972576122.928667)>>x)%(2952412902.115453))<<((-2888879343)+(tmp = -425663504, tmp)))>>>(((((tmp = 1089969932, tmp)>>>(x|((-2088509661)/(1131470551))))>>>x)+x)|(tmp = 955695979.7982506, tmp)))|(((((tmp = 826954002.6188571, tmp)^(2016485728))|((x/(((x<<(tmp = 2493217141, tmp))/(-2259979800.997408))-(tmp = -427592173.41389966, tmp)))%(((-471172918)/x)>>>((383234436.16425097)&(tmp = 1664411146.5308032, tmp)))))*(tmp = 1863669754.7545495, tmp))*(x>>(2062197604)))))>>>((x-(2624545856))*(tmp = 1025803102, tmp))));
- assertEquals(0, x >>= ((tmp = 1068702028, tmp)*(296106770)));
- assertEquals(0, x ^= (x/x));
- assertEquals(85359536, x ^= (((x|(((tmp = 740629227, tmp)<<(-1107397366))%((tmp = 2315368172, tmp)>>(((-2269513683)|(-2698795048))+(-396757976)))))*(929482738.803125))^(((-1415213955.4198723)-(tmp = -2885808324, tmp))>>>((tmp = -472842353.85736656, tmp)&(tmp = 1684231312.4497018, tmp)))));
- assertEquals(2075131904, x <<= x);
- assertEquals(123, x >>>= (x>>>(tmp = 754093009, tmp)));
- assertEquals(0, x >>= ((-2690948145)/((1988638799)+x)));
- assertEquals(0, x >>>= (tmp = -798849903.2467625, tmp));
- assertEquals(NaN, x %= x);
- assertEquals(NaN, x *= (2431863540.4609756));
- assertEquals(484934656, x |= ((-2322193663)*(tmp = -2754666771, tmp)));
- assertEquals(-82505091404694530, x *= (tmp = -170136513, tmp));
- assertEquals(-82505090515370620, x += ((-148762237)&(tmp = 889417717, tmp)));
- assertEquals(-908221124, x %= (tmp = -2346393300, tmp));
- assertEquals(-1242515799, x ^= (2083328917));
- assertEquals(-1126056310271520600, x *= ((((tmp = -3065605442, tmp)<<(-3012703413))|x)^(-2081329316.4781387)));
- assertEquals(-1126056309941068000, x += ((((tmp = 1886925157, tmp)&((tmp = -163003119.31722307, tmp)/((tmp = 2094816076, tmp)>>((tmp = -706947027, tmp)^x))))^((1819889650.5261197)<<(-1641091933)))>>x));
- assertEquals(-1864360191, x |= (((x/x)|x)|x));
- assertEquals(-1864360191, x &= x);
- assertEquals(-3728720382, x += x);
- assertEquals(1042663165, x ^= (535165183.4230335));
- assertEquals(2644530017.8833704, x += (1601866852.8833704));
- assertEquals(-574949401, x |= ((tmp = 943193254.5210983, tmp)^((x%(tmp = -2645213497, tmp))*(-1904818769))));
- assertEquals(1763223578, x ^= ((x^(tmp = -2244359016, tmp))^(tmp = 320955522, tmp)));
- assertEquals(-1.9640961474334235, x /= (tmp = -897727731.0502782, tmp));
- assertEquals(1, x >>>= (x-(-3183031393.8967886)));
- assertEquals(1, x &= (tmp = 1732572051.4196641, tmp));
- assertEquals(1, x >>= (-1642797568));
- assertEquals(-2339115203.3140306, x += (-2339115204.3140306));
- assertEquals(1955852093, x ^= (((((-1469402389)/(-2648643333.1454573))>>>x)<<(x/x))>>x));
- assertEquals(-965322519, x ^= (3001399252));
- assertEquals(-2139727840, x &= (tmp = 2298411812.964484, tmp));
- assertEquals(2103328, x &= (tmp = -2488723009, tmp));
- assertEquals(1799011007, x |= (tmp = -2498057537.226923, tmp));
- assertEquals(1799011007, x |= ((-308193085)>>>x));
- assertEquals(1799011007, x |= x);
- assertEquals(818879107, x ^= (1542823996.423564));
- assertEquals(-2601416919234843600, x *= ((-2357923057.076759)-x));
- assertEquals(-2601416920481796600, x -= (x|(tmp = -3048039765, tmp)));
- assertEquals(-33690112, x <<= x);
- assertEquals(1039491072, x &= (tmp = 1039491474.3389125, tmp));
- assertEquals(126891, x >>= (-3079837011.6151257));
- assertEquals(-163191923097543, x *= (((tmp = -2847221258.4048786, tmp)*(x-(tmp = 1527622853.5925639, tmp)))^x));
- assertEquals(753616551, x ^= (-946895202));
- assertEquals(-347691264, x <<= (tmp = -433184408.33790135, tmp));
- assertEquals(0, x <<= (x|(tmp = -1911731462.6835637, tmp)));
- assertEquals(-0, x *= (tmp = -2616154415.1662617, tmp));
- assertEquals(0, x >>= x);
- assertEquals(0, x -= x);
- assertEquals(0, x *= (2272504250.501526));
- assertEquals(0, x ^= x);
- assertEquals(NaN, x %= x);
- assertEquals(0, x >>>= (2475346113));
- assertEquals(NaN, x /= (((x+(-2646140897))&(((tmp = 1039073714.142481, tmp)-x)*x))|(x*(((-1277822905.773948)>>(tmp = 2035512354.2400663, tmp))*(77938193.80013895)))));
- assertEquals(0, x ^= (x<<(tmp = 2491934268, tmp)));
- assertEquals(0, x &= (tmp = 569878335.4607931, tmp));
- assertEquals(-88575883, x ^= ((453890820.8012209)-((1569189876)%((-1280613677.7083852)^(-1902514249.29567)))));
- assertEquals(-88575883, x %= (tmp = 257947563.19206762, tmp));
- assertEquals(-88575881.7863678, x -= ((tmp = 1257547359.029678, tmp)/(x^(tmp = 948265672.821815, tmp))));
- assertEquals(-169, x >>= (tmp = -2530523309.6703596, tmp));
- assertEquals(-1, x >>= x);
- assertEquals(-1, x |= x);
- assertEquals(131071, x >>>= (-673590289));
-}
-f();
diff --git a/src/3rdparty/v8/test/mjsunit/numops-fuzz-part3.js b/src/3rdparty/v8/test/mjsunit/numops-fuzz-part3.js
deleted file mode 100644
index 7813f91..0000000
--- a/src/3rdparty/v8/test/mjsunit/numops-fuzz-part3.js
+++ /dev/null
@@ -1,1178 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function f() {
- var x = 131071;
- var tmp = 0;
- assertEquals(1117196836, x -= (-1117065765));
- assertEquals(3092236000.7125187, x -= (-1975039164.7125185));
- assertEquals(1, x /= x);
- assertEquals(-1599945863, x ^= (tmp = 2695021432.453696, tmp));
- assertEquals(940543782, x ^= (tmp = 2561494111, tmp));
- assertEquals(891400321673221800, x *= (tmp = 947749949.2662871, tmp));
- assertEquals(-1509927296, x >>= ((tmp = 1113290009, tmp)-x));
- assertEquals(-23, x >>= (tmp = 3216989626.7370152, tmp));
- assertEquals(-0, x %= x);
- assertEquals(0, x <<= (431687857.15246475));
- assertEquals(-0, x /= (tmp = -1924652745.081665, tmp));
- assertEquals(0, x <<= (1312950547.2179976));
- assertEquals(0, x %= ((tmp = 2110842937.8580878, tmp)|(x<<x)));
- assertEquals(0, x >>>= ((((-386879000)-((tmp = -2334036143.9396124, tmp)/((tmp = 965101904.2841234, tmp)<<(((3029227182.8426695)<<((tmp = -464466927, tmp)>>((((((tmp = 849594477.4111787, tmp)^(x&((513950657.6663146)%(x>>>x))))-((2898589263)|x))+(tmp = 2842171258.621288, tmp))>>>(tmp = -3158746843, tmp))<<(tmp = -2891369879, tmp))))-(x-(x&(tmp = -1707413686.2706504, tmp)))))))-(-2860419051))*(-1708418923)));
- assertEquals(-328055783, x += ((((2857010474.8010874)|((tmp = -1415997622.320347, tmp)-(-1706423374)))%(tmp = 824357977.1339042, tmp))^(x>>(x|x))));
- assertEquals(-168539902503779140, x *= ((tmp = -1057687018, tmp)<<((1408752963)-(2030056734))));
- assertEquals(-Infinity, x /= ((x-(2232683614.320658))*(((tmp = 195551174, tmp)*((((739595970)>>>(tmp = -2218890946.8788786, tmp))>>>(((tmp = -240716255.22407627, tmp)&(((((1598029916.3478878)|((tmp = -881749732, tmp)+(x>>x)))^(4443059))<<(((tmp = 2453020763, tmp)+((x>>>(tmp = -1904203813, tmp))&(-355424604.49235344)))<<(tmp = 2814696070, tmp)))%((tmp = -250266444, tmp)>>>(((((2710614972)&(((tmp = 910572052.6994087, tmp)^(tmp = -1028443184.3220406, tmp))/((-2718010521)^(tmp = 676361106, tmp))))|x)^(-1326539884))>>(-1573782639.7129154)))))/(tmp = 1923172768, tmp)))>>>(tmp = -2858780232.4886074, tmp)))/((((((-2060319376.353397)%x)>>(tmp = -3122570085.9065285, tmp))/(tmp = -1499018723.8064275, tmp))*((-655257391)<<x))>>x))));
- assertEquals(NaN, x += ((3059633304)%((((tmp = 2538190083, tmp)*((tmp = -2386800763.356364, tmp)/x))&(1341370996))%(-2929765076.078223))));
- assertEquals(NaN, x %= ((x&(347774821))>>>(462318570.2578629)));
- assertEquals(NaN, x *= ((2829810152.071517)*(tmp = 768565684.6892327, tmp)));
- assertEquals(NaN, x -= x);
- assertEquals(0, x >>>= (x&(tmp = 1786182552, tmp)));
- assertEquals(973967377, x ^= ((tmp = 2115869489.836838, tmp)&(994956497)));
- assertEquals(985246427.4230617, x += (11279050.423061728));
- assertEquals(985246427, x &= x);
- assertEquals(0, x >>= ((tmp = 1090502660.1867907, tmp)>>((-1599370623.5747645)-(tmp = -1321550958, tmp))));
- assertEquals(0, x %= (tmp = -2386531950.018572, tmp));
- assertEquals(0, x >>>= x);
- assertEquals(NaN, x /= x);
- assertEquals(0, x >>>= (tmp = -1535987507.682257, tmp));
- assertEquals(-0, x /= (-2570639987));
- assertEquals(-542895632, x |= (tmp = -542895632, tmp));
- assertEquals(-33930977, x >>= (tmp = -861198108.1147206, tmp));
- assertEquals(-0, x %= x);
- assertEquals(0, x ^= (x*(-608154714.1872904)));
- assertEquals(-140011520, x |= ((tmp = 377418995, tmp)<<((1989575902)>>(tmp = -2558458031.066773, tmp))));
- assertEquals(-140026048, x -= ((((tmp = 1465272774.7540011, tmp)<<((2164701398)<<(tmp = -818119264, tmp)))>>((tmp = -1490486001, tmp)>>(664410099.6412607)))>>(x>>>(((tmp = -2438272073.2205153, tmp)%(tmp = 2142162105.4572072, tmp))-(tmp = 2259040711.6543813, tmp)))));
- assertEquals(39214588236996610, x *= (x<<(-401696127.06632423)));
- assertEquals(1, x /= x);
- assertEquals(0, x %= x);
- assertEquals(0, x *= ((tmp = -1709874807.176726, tmp)&(-2786424611)));
- assertEquals(-1320474063.3408537, x += (tmp = -1320474063.3408537, tmp));
- assertEquals(88, x >>>= (tmp = -3179247911.7094674, tmp));
- assertEquals(1606348131, x += ((tmp = 1555621121.5726175, tmp)|(-3026277110.9493155)));
- assertEquals(200793516, x >>>= x);
- assertEquals(-2952688672.1074514, x -= (tmp = 3153482188.1074514, tmp));
- assertEquals(1342278624, x >>>= ((x>>>((tmp = 1264475713, tmp)-(-913041544)))>>>((tmp = 2008379930, tmp)%(tmp = 3105129336, tmp))));
- assertEquals(0, x ^= x);
- assertEquals(0, x /= (tmp = 788363717, tmp));
- assertEquals(430466213, x -= (tmp = -430466213, tmp));
- assertEquals(164757385222499550, x *= (tmp = 382741735, tmp));
- assertEquals(164757385222499550, x %= (((tmp = 1974063648, tmp)%((806015603)>>>x))*((tmp = 2836795324, tmp)<<(tmp = -1785878767, tmp))));
- assertEquals(-190957725.86956096, x /= (x^((-2939333300.066044)-(x|(-2085991826)))));
- assertEquals(-190957725.86956096, x %= (tmp = -948386352, tmp));
- assertEquals(0.6457336106922105, x /= (-295722141));
- assertEquals(0, x |= ((415991250)&((x>>(tmp = -3188277823, tmp))<<(511898664.1008285))));
- assertEquals(0, x &= ((793238922)|x));
- assertEquals(-1576701979, x ^= (2718265317));
- assertEquals(-49271937, x >>= x);
- assertEquals(-49271937, x |= x);
- assertEquals(-49271937, x &= x);
- assertEquals(775316382, x -= (-824588319));
- assertEquals(912498176, x <<= (tmp = -2223542776.836312, tmp));
- assertEquals(0, x -= (x&((tmp = 1999412385.1074471, tmp)/(-1628205254))));
- assertEquals(0, x -= x);
- assertEquals(0, x >>= (-768730139.7749677));
- assertEquals(-1861304245, x |= (((5128483)^(((tmp = -1768372004, tmp)/(x^(tmp = 1310002444.757094, tmp)))*((tmp = 188242683.09898067, tmp)^(tmp = -2263757432, tmp))))^((tmp = 2223246327, tmp)*((tmp = -2360528979, tmp)-((tmp = 2442334308, tmp)>>(458302081))))));
- assertEquals(1, x /= x);
- assertEquals(2, x += x);
- assertEquals(1, x /= x);
- assertEquals(0, x ^= x);
- assertEquals(-0, x *= (-1852374359.3930533));
- assertEquals(0, x <<= (tmp = 1223645195.148961, tmp));
- assertEquals(1789655087, x |= ((-2505312209.770559)>>x));
- assertEquals(-65568768, x <<= x);
- assertEquals(4229398528, x >>>= x);
- assertEquals(-8408187, x |= (-3029781627));
- assertEquals(-8408187, x |= (((2322165037)-((tmp = -1424506897.362995, tmp)%x))&x));
- assertEquals(-7884926, x += (x>>>(x|(2738095820))));
- assertEquals(-7884926, x %= (576507013));
- assertEquals(751801768, x ^= (tmp = -750241238, tmp));
- assertEquals(-1986010067668600800, x *= (tmp = -2641667195, tmp));
- assertEquals(1921196240, x ^= (x%(-1954178308)));
- assertEquals(847388880, x ^= ((tmp = 1632856124, tmp)&((tmp = -1536309755, tmp)<<(tmp = -3158362800, tmp))));
- assertEquals(-469662000.6651099, x += (tmp = -1317050880.6651099, tmp));
- assertEquals(-812358332, x ^= ((-2832480471)>>>(2016495937)));
- assertEquals(21, x ^= (((tmp = 1815603134.2513008, tmp)/((tmp = 147415927, tmp)%(-1059701742)))+x));
- assertEquals(-2844409139.792712, x += (tmp = -2844409160.792712, tmp));
- assertEquals(177070, x >>>= x);
- assertEquals(0, x %= x);
- assertEquals(0, x >>= x);
- assertEquals(1459126376, x ^= (tmp = -2835840920, tmp));
- assertEquals(1459126376, x %= (-1462864282));
- assertEquals(0, x >>>= (tmp = 2922724319, tmp));
- assertEquals(338995506, x ^= (338995506.6411549));
- assertEquals(336896258, x &= (2635904967));
- assertEquals(336634112, x -= (x&(tmp = 1659656287, tmp)));
- assertEquals(NaN, x %= (x-x));
- assertEquals(NaN, x /= (tmp = -674606200, tmp));
- assertEquals(NaN, x %= ((x|(2788108542))/(x+(tmp = 600941473, tmp))));
- assertEquals(0, x >>>= ((-1858251597.3970242)>>>x));
- assertEquals(1951294747, x |= (tmp = 1951294747, tmp));
- assertEquals(1951294747, x &= x);
- assertEquals(-153190625, x |= (-1500095737));
- assertEquals(23467367587890624, x *= x);
- assertEquals(346531290.1813514, x /= (((((-513617734.11148167)|x)/((tmp = -2042982150.1170752, tmp)%((x%((x%x)>>>(((-1369980151)&(((922678983)%(x&(tmp = -855337708, tmp)))-((tmp = -2717183760, tmp)>>>((1939904985.4701347)%(((tmp = -2473316858, tmp)&((tmp = -599556221.9046664, tmp)>>((tmp = -6352213, tmp)/x)))&x)))))%x)))/((tmp = -1842773812.8648412, tmp)>>>(((x>>>(tmp = 499774063, tmp))<<(((tmp = -1353532660.5755146, tmp)*(-3070956509))>>(((-905883994.0188017)>>(tmp = -16637173, tmp))<<((tmp = 471668537, tmp)*((tmp = -232036004.26637793, tmp)/x)))))&(tmp = 85227224, tmp))))))>>>(x|(-2528471983)))-((tmp = 1531574803, tmp)+((x>>>x)-(2889291290.158888)))));
- assertEquals(-94.42225749399837, x /= (((tmp = 2381634642.1432824, tmp)>>(tmp = -2637618935, tmp))|(2307200473)));
- assertEquals(-47, x >>= (1524333345.141235));
- assertEquals(-2.8699253616435082e-8, x /= (1637673252));
- assertEquals(0, x |= x);
- assertEquals(1083427040, x += ((-2012055268)<<(tmp = -2192382589.6911573, tmp)));
- assertEquals(1083427040, x %= (x*x));
- assertEquals(2694039776, x += ((((-1740065704.9004602)<<(-736392934))%(2781638048.424092))>>>(x&x)));
- assertEquals(-1600927520, x |= ((tmp = 2904430054.869525, tmp)*(((1054051883.4751332)*x)*((-939020743)-(tmp = 1636935481.1834455, tmp)))));
- assertEquals(-1600927520, x -= (x%x));
- assertEquals(3037584978216498700, x *= (tmp = -1897390694, tmp));
- assertEquals(372598954.1823988, x %= (tmp = 1553763703.5082102, tmp));
- assertEquals(-1476395008, x <<= ((x>>((tmp = 282496335.49494267, tmp)^((-1948623419.6947453)|((((((tmp = -1203306995, tmp)-(-5554612.355098486))>>>(1867254951.4836824))>>x)|(-695777865))/((-59122652.19377303)<<(-609999229.7448442))))))>>(x/(tmp = -1207010654.9993455, tmp))));
- assertEquals(-2.2540185787941605, x /= (((tmp = 1364159859.9199843, tmp)*x)>>x));
- assertEquals(-2, x |= x);
- assertEquals(2241824008, x *= ((3174055292.962967)>>(((-2379151623.602476)>>(tmp = -1423760236, tmp))>>(tmp = -522536019.2225733, tmp))));
- assertEquals(-2138158385, x ^= ((x>>((((1316131966.9180691)-((x*x)>>x))>>>x)>>((-2712430284)|(((((x<<(-616185937.6090865))-(((x-(tmp = 2957048661, tmp))<<(tmp = 617564839.888214, tmp))/(x%((tmp = -447175647.9393475, tmp)<<(2203298493.460617)))))-((x&((x<<(914944265))^(((-1294901094)*((tmp = 2512344795, tmp)+((((tmp = -1227572518, tmp)%(1831277766.4920158))*((x|x)^(tmp = 2515415182.6718826, tmp)))*x)))-(961485129))))>>>(tmp = 2079018304, tmp)))>>(tmp = 734028202, tmp))^(554858721.6149715)))))-((tmp = 1312985279.5114603, tmp)^(tmp = 2450817476.179955, tmp))));
- assertEquals(2.759030298237921, x /= (x|(tmp = -775901745.3688724, tmp)));
- assertEquals(8, x <<= x);
- assertEquals(NaN, x %= (((x&((1792031228.831834)>>(-1174912501)))%(((-2351757750)+(tmp = -2610099430, tmp))*(-2811655968)))*(x&(tmp = -1881632878, tmp))));
- assertEquals(0, x &= ((x*(616116645.7508612))^(2789436828.536846)));
- assertEquals(0, x *= x);
- assertEquals(35097452, x ^= ((tmp = 1023684579, tmp)%(((x|((tmp = -757953041, tmp)+(772988909)))+(tmp = -2934577578, tmp))>>>((tmp = -1973224283, tmp)>>>((x*(2244818063.270375))|(x-(-716709285)))))));
- assertEquals(0.015207441433418992, x /= (2307913014.4056892));
- assertEquals(-5865042.942076175, x -= (5865042.957283616));
- assertEquals(-67719.94207617454, x %= (((1464126615.2493973)+(398302030.0108756))>>>x));
- assertEquals(4294899577, x >>>= (x<<x));
- assertEquals(-1, x >>= (tmp = 607447902, tmp));
- assertEquals(-1, x >>= (3081219749.9119744));
- assertEquals(6.53694303504065e-10, x /= (tmp = -1529767040.4034374, tmp));
- assertEquals(6.53694303504065e-10, x %= ((tmp = 899070650.7190754, tmp)&(tmp = -1101166301, tmp)));
- assertEquals(6.53694303504065e-10, x %= (tmp = -2207346460, tmp));
- assertEquals(NaN, x %= (((x&x)>>x)%(((-10980184)+x)&(tmp = -1473044870.4729445, tmp))));
- assertEquals(NaN, x -= x);
- assertEquals(-1755985426, x ^= (tmp = 2538981870, tmp));
- assertEquals(-13842, x %= ((((-2258237411.3816605)+(-1325704332.0531585))<<((tmp = -877665450.1877053, tmp)>>(((((2420989037)+(2084279990.6278818))*(-327869571.9348242))+x)^x)))>>>x));
- assertEquals(1, x /= x);
- assertEquals(1, x >>= ((2241312290)^(2859250114)));
- assertEquals(0, x >>= x);
- assertEquals(-1615631756, x |= (-1615631756.1469975));
- assertEquals(-1615631756, x |= x);
- assertEquals(-627245056, x <<= ((x*(tmp = -1308330685.5971081, tmp))|(tmp = 1479586158, tmp)));
- assertEquals(-627245056, x |= x);
- assertEquals(1786953888, x ^= (-1340096352.1839824));
- assertEquals(1668014353, x -= (tmp = 118939535, tmp));
- assertEquals(1, x /= x);
- assertEquals(-645681, x ^= ((-1322356629)>>(tmp = 1829870283, tmp)));
- assertEquals(-1322354688, x <<= (-794779253));
- assertEquals(-4310084378.672725, x += (-2987729690.6727247));
- assertEquals(-8620168757.34545, x += x);
- assertEquals(-8720421, x |= (tmp = -748107877.6417065, tmp));
- assertEquals(-1508858270, x ^= (1500137913));
- assertEquals(-0.825735756765112, x /= (1827289490.1767085));
- assertEquals(1253449509.1742642, x += (((tmp = 1253449509.9576545, tmp)-(((tmp = 2860243975, tmp)+(367947569.85976696))>>(((((530960315)>>>((((x%(tmp = -2203199228, tmp))<<(x*(((tmp = -117302283, tmp)/(x-((2579576936)%(-1225024012))))&(tmp = -2857767500.1967726, tmp))))/((x/((tmp = -166066119, tmp)<<x))|x))>>>x))|(((2771852372)>>(((tmp = -3103692094.1463976, tmp)-(tmp = 2867208546.069278, tmp))>>>(702718610.1963737)))|(tmp = 2680447361, tmp)))>>x)>>(-2006613979.051014))))^((-1665626277.9339101)/(x<<(tmp = 342268763, tmp)))));
- assertEquals(1693336701.1742642, x += (tmp = 439887192, tmp));
- assertEquals(0.8479581831275719, x /= ((1171383583)+(((x&x)>>>(51482548.618915915))-(tmp = -825572595.1031849, tmp))));
- assertEquals(28, x |= ((tmp = -2355932919.6737213, tmp)>>(tmp = -2395605638, tmp)));
- assertEquals(0, x %= x);
- assertEquals(0, x -= x);
- assertEquals(0, x <<= (x^((tmp = 2793423893.484949, tmp)*(1585074754.3250475))));
- assertEquals(0, x >>= (x/(x-((957719861.9175875)&(1288527195)))));
- assertEquals(0, x >>>= ((-1429196921.4432657)/x));
- assertEquals(-852424225.734199, x -= (tmp = 852424225.734199, tmp));
- assertEquals(-46674433, x |= ((tmp = -2335242963, tmp)*((2135206646.2614377)>>(tmp = 505649511.8292929, tmp))));
- assertEquals(2944662357, x += (tmp = 2991336790, tmp));
- assertEquals(1404, x >>>= (849155189.1503456));
- assertEquals(-846755170, x ^= (tmp = -846753822.4471285, tmp));
- assertEquals(52615, x >>>= ((-517068110)+x));
- assertEquals(1475021859.9916897, x += (tmp = 1474969244.9916897, tmp));
- assertEquals(0, x %= x);
- assertEquals(0, x %= ((539583595.8244679)*(tmp = 1469751690.9193692, tmp)));
- assertEquals(0, x &= (807524227.2057163));
- assertEquals(NaN, x %= x);
- assertEquals(NaN, x -= (x^((tmp = -362481588, tmp)%(2611296227))));
- assertEquals(NaN, x *= x);
- assertEquals(0, x >>= ((-2519875630.999908)<<x));
- assertEquals(NaN, x %= x);
- assertEquals(NaN, x += (((tmp = 2485209575, tmp)>>(tmp = 2326979823, tmp))%(x-(((-1296334640.7476478)&x)<<x))));
- assertEquals(0, x >>= (((tmp = 1370704131, tmp)^((((tmp = 793217372.7587746, tmp)>>(((-1455696484.109328)|(((((-2186284424.5379324)<<(tmp = 3052914152.254852, tmp))-(x>>(tmp = 3121403408, tmp)))+((778194280)-(((((tmp = 2398957652, tmp)-(x+(((-2592019996.937958)>>((tmp = 1648537981, tmp)>>x))<<(-677436594))))<<(39366669.09012544))|((tmp = 3133808408.9582872, tmp)-(-2987527245.010673)))*x)))|((tmp = -2178662629, tmp)<<x)))^(((tmp = 909652440.3570575, tmp)%(-2572839902.6852217))%(-1879408081))))*(tmp = -2910988598, tmp))&(((x^x)>>(2822040993))|((x*x)^(((1072489842.6785052)|(x-(((464054192.7390214)^x)<<(tmp = -2754448095, tmp))))*((tmp = -1544182396, tmp)/(tmp = -3198554481, tmp)))))))^(tmp = 1946162396.9841106, tmp)));
- assertEquals(371272192, x |= (((x^((x-(x/x))&(tmp = 2370429394, tmp)))-(tmp = -403692829, tmp))*(tmp = 2808636109, tmp)));
- assertEquals(929786482, x |= ((729966239.8987448)^(x-((tmp = 120127779, tmp)^((tmp = -3088531385, tmp)>>>((x+((tmp = 2364833601, tmp)>>>(((599149090.6666714)>>(tmp = 2838821032, tmp))%(tmp = -662846011, tmp))))-(tmp = 1168491221.1813436, tmp)))))));
- assertEquals(-681121542, x += ((-1610909505.998718)^((tmp = -957338882, tmp)>>>(tmp = 1935594133.6531684, tmp))));
- assertEquals(-2147483648, x <<= ((tmp = 15161708, tmp)|(2453975670)));
- assertEquals(-2147483648, x >>= x);
- assertEquals(0, x <<= (2080486058));
- assertEquals(0, x &= (((x&(tmp = -767821326, tmp))/((tmp = 1877040536, tmp)>>>(tmp = 2378603217.75597, tmp)))*(-1601799835)));
- assertEquals(0, x %= (-1820240383));
- assertEquals(1621233920, x ^= ((tmp = 820230232, tmp)*(1727283900)));
- assertEquals(1621233920, x |= (x>>>x));
- assertEquals(1621233931, x += ((tmp = 794966194.9011587, tmp)>>(tmp = -597737830.5450518, tmp)));
- assertEquals(1621276543, x |= (((x^((2354444886)+(tmp = 685142845.4708651, tmp)))-(tmp = 790204976.9120214, tmp))>>>((((tmp = -2792921939, tmp)/(((((tmp = -80705524, tmp)<<x)-(((((((tmp = 1951577216.379527, tmp)>>>x)%((-529882150)>>>(tmp = -1682409624, tmp)))<<((-42043756.29025769)-(-1803729173.6855814)))/(2937202170.118023))*(tmp = -1998098798.5722106, tmp))*(tmp = -2996229463.904228, tmp)))&x)>>>(-301330643)))/(-2858859382.0050273))-(tmp = 1571854256.0740635, tmp))));
- assertEquals(810638271, x >>>= (x/(1553632833)));
- assertEquals(810638271, x <<= (tmp = -1467397440, tmp));
- assertEquals(-2147483648, x <<= x);
- assertEquals(871068871, x ^= (tmp = 3018552519, tmp));
- assertEquals(-1073743881, x |= ((tmp = 2294122324.020989, tmp)|(tmp = -1799706842.4493146, tmp)));
- assertEquals(-77816868, x += (((-2225296403)&x)>>(tmp = -2667103424.445239, tmp)));
- assertEquals(-1215889, x >>= (tmp = 1876107590.8391647, tmp));
- assertEquals(-2431778, x += x);
- assertEquals(4292535518, x >>>= (((x>>(-1825580683))/x)%x));
- assertEquals(4292802560, x -= (x|(1492864090)));
- assertEquals(0, x -= x);
- assertEquals(0, x >>= x);
- assertEquals(0, x %= (tmp = 2173121205, tmp));
- assertEquals(0, x *= (x>>x));
- assertEquals(1565261471, x |= ((1565261471.323931)>>>x));
- assertEquals(0, x -= x);
- assertEquals(-86980804, x |= (-86980804));
- assertEquals(-698956484, x -= (((((2754713793.1746016)*(((((-1514587465.0698888)>>(tmp = -1307050817, tmp))/(tmp = 2368054667.438519, tmp))*(-1908125943.5714772))<<(x>>>(-357164827.4932244))))+(1257487617))<<(2954979945))&(612330472)));
- assertEquals(-1073741824, x <<= x);
- assertEquals(54497747, x ^= (-1019244077.098908));
- assertEquals(54501375, x |= (((tmp = 1944912427, tmp)>>>x)%x));
- assertEquals(0, x -= x);
- assertEquals(0, x -= x);
- assertEquals(-0, x *= (-1748215388));
- assertEquals(0, x >>= x);
- assertEquals(0, x >>>= (((tmp = 988769112, tmp)%(tmp = -3133658477, tmp))<<x));
- assertEquals(0, x %= (1685221089.2950323));
- assertEquals(0, x >>>= (x+((793467168)-(tmp = 135877882, tmp))));
- assertEquals(0, x %= ((tmp = -2406801984, tmp)%(tmp = -987618172, tmp)));
- assertEquals(0, x *= ((-2943444887.953456)|(tmp = -2327469738.4544783, tmp)));
- assertEquals(0, x >>= x);
- assertEquals(-145484729.70167828, x += (tmp = -145484729.70167828, tmp));
- assertEquals(1140855872, x &= (x^(tmp = 3151437967.965556, tmp)));
- assertEquals(1486808408, x += (tmp = 345952536, tmp));
- assertEquals(107846582.36594129, x %= (-1378961825.6340587));
- assertEquals(-642031616, x <<= (x+x));
- assertEquals(151747770.95108718, x *= (x/(tmp = 2716379907, tmp)));
- assertEquals(192723456, x <<= (tmp = -1731167384, tmp));
- assertEquals(2151208003, x -= ((-2151208003)+x));
- assertEquals(1, x /= x);
- assertEquals(1, x |= x);
- assertEquals(1996766603, x |= (1996766602));
- assertEquals(895606123, x ^= (tmp = 1113972960.966081, tmp));
- assertEquals(-1500036886, x ^= (tmp = 2482412929, tmp));
- assertEquals(-1542644247, x ^= (x>>>((tmp = 51449105, tmp)>>>(((-2057313176)*x)/(-1768119916)))));
- assertEquals(-1496074063273093600, x *= ((tmp = 786152274, tmp)^(387292498)));
- assertEquals(-794329073, x %= (((tmp = -2314637675.617696, tmp)*((((x*(411053423.29070306))-(2889448433.4240828))/((-970630131)/(tmp = -2886607600.7423067, tmp)))<<(tmp = 1263617112.9362245, tmp)))|(2816980223.8209996)));
- assertEquals(2468008436047106600, x *= (tmp = -3107035257.725115, tmp));
- assertEquals(3040956928, x >>>= ((tmp = 1514372119.1787262, tmp)*(3169809008)));
- assertEquals(-19, x >>= (tmp = -266966022.10604453, tmp));
- assertEquals(-1.6505580654964654e-8, x /= ((-3143841480)>>(x-x)));
- assertEquals(-2.2420284729165577e-7, x *= (x*((((703414102.2523813)%(tmp = 2989948152, tmp))-((-1583401827.2949386)^((tmp = -1916731338, tmp)%((331500653.3566053)|(((tmp = 29865940, tmp)+((tmp = -2294889418.6764183, tmp)<<(tmp = -1558629267.255229, tmp)))>>>(x*(x+x)))))))|((988977957)&(-2986790281)))));
- assertEquals(0, x ^= (x/(tmp = 781117823.345541, tmp)));
- assertEquals(NaN, x *= (((x^((((tmp = -2969290335, tmp)+(((((tmp = -175387021, tmp)&(tmp = -1080807973, tmp))<<(tmp = -2395571076.6876855, tmp))|((tmp = -1775289899.4106793, tmp)^x))|(-2963463918)))*(tmp = -1761443911, tmp))^(tmp = 847135725, tmp)))<<((146689636)<<x))%x));
- assertEquals(0, x ^= x);
- assertEquals(1720182184, x -= (((tmp = 3184020508, tmp)|((-489485703)+(tmp = -2644503573, tmp)))&(tmp = 2575055579.6375213, tmp)));
- assertEquals(1720182184, x >>= (x<<(-45408034)));
- assertEquals(5.759243187540471e+27, x *= (((x&(1456298805))+(x<<(106573181)))*((566861317.2877743)+(2262937360.3733215))));
- assertEquals(5.759243187540471e+27, x -= (tmp = -1365873935, tmp));
- assertEquals(0, x <<= x);
- assertEquals(0, x >>= (1960073319.3465362));
- assertEquals(0, x <<= x);
- assertEquals(560463904, x += ((tmp = 1844076589.9286406, tmp)&((((((-691675777.5800121)|(-745631201))|x)+(tmp = 1504458593.2843904, tmp))-x)<<x)));
- assertEquals(-513210271, x -= (x|(1052702623.7761713)));
- assertEquals(3781757025, x >>>= ((-1346666404.362477)*(tmp = 2798191459, tmp)));
- assertEquals(1080100929, x &= (1122097879.882534));
- assertEquals(1276833905.8093092, x *= ((1276833905.8093092)/x));
- assertEquals(1276833905.8093092, x %= (1796226525.7152414));
- assertEquals(1276833905, x <<= (((tmp = -491205007.83412814, tmp)*(tmp = 1496201476.496839, tmp))>>(x+((tmp = -854043282.114594, tmp)-((x|(tmp = -807842056, tmp))*x)))));
- assertEquals(1276833905, x %= (((-1870099318)>>>(((tmp = -2689717222, tmp)/(248095232))/(tmp = 1036728800.5566598, tmp)))&(((((857866837)>>(tmp = 3034825801.740485, tmp))|(-1676371984))>>>(x<<x))%((-3035366571.0221004)*(1578324367.8819473)))));
- assertEquals(1, x /= x);
- assertEquals(2819223656.189109, x += (2819223655.189109));
- assertEquals(-1475743640, x >>= (((tmp = 2586723314.38089, tmp)/(x&(tmp = -697978283.9961061, tmp)))<<(x%((-1167534676)>>(x^((tmp = -284763535, tmp)*((x%x)&((((tmp = 2916973220.726839, tmp)%x)/(tmp = -1338421209.0621986, tmp))|((tmp = -834710536.803335, tmp)%x)))))))));
- assertEquals(-3267683406, x -= (tmp = 1791939766, tmp));
- assertEquals(-2090420900700614100, x *= (639725653));
- assertEquals(-1540353536, x %= ((-1800269105)<<((((x&(((tmp = 1135087416.3945065, tmp)^(613708290))>>x))>>(tmp = -1234604858.7683473, tmp))^(2404822882.7666225))>>>((tmp = -287205516, tmp)-((1648853730.1462333)^((x+(x%((tmp = 359176339, tmp)%((2856479172)<<(tmp = -1995209313, tmp)))))^(((tmp = 2857919171.839304, tmp)>>>(tmp = 2779498870, tmp))>>x)))))));
- assertEquals(-2093767030, x ^= (654554250.498078));
- assertEquals(1, x >>>= ((tmp = -166296226.12181997, tmp)^(x/x)));
- assertEquals(-1487427474, x -= ((x<<x)|(1487427475.4063978)));
- assertEquals(-1487427470.562726, x += ((-1226399959.8267038)/((tmp = 2172365551, tmp)<<x)));
- assertEquals(-3457859227618939400, x *= (tmp = 2324724597.3686075, tmp));
- assertEquals(396221312, x >>= (-1354035390));
- assertEquals(0, x %= x);
- assertEquals(0, x &= (tmp = 2733387603, tmp));
- assertEquals(1485905453, x |= ((((tmp = -1321532329.304437, tmp)&((((tmp = 1817382709.4180388, tmp)%(((tmp = 2089156555.7749293, tmp)-(-1555460267))|(tmp = 717392475.9986715, tmp)))%(tmp = 1976713214, tmp))^x))>>>x)+(tmp = -2812404197.002721, tmp)));
- assertEquals(1485905453, x |= x);
- assertEquals(-997658264, x <<= (-1409757949.6038744));
- assertEquals(-997657290, x -= ((-2041106361)>>(tmp = -2014750507, tmp)));
- assertEquals(-2138512124, x &= (tmp = 2565597060, tmp));
- assertEquals(8422400, x &= ((-2819342693.5172367)*(tmp = 1441722560, tmp)));
- assertEquals(111816531.81703067, x -= (-103394131.81703067));
- assertEquals(59606682.673836395, x *= ((tmp = -1451690098, tmp)/(x-(2835050651.717734))));
- assertEquals(-119213365.34767279, x *= (x|((-2656365050)/((-66180492)+(tmp = 284225706.32323086, tmp)))));
- assertEquals(-232839, x >>= (1694344809.435083));
- assertEquals(-1, x >>= x);
- assertEquals(1, x *= x);
- assertEquals(1, x |= x);
- assertEquals(0, x >>= (tmp = 397239268, tmp));
- assertEquals(-1525784563, x -= (tmp = 1525784563, tmp));
- assertEquals(-153.62740888512675, x /= (((tmp = -2040622579.5354173, tmp)*(tmp = -1149025861.549324, tmp))%(((tmp = 2981701364.0073133, tmp)*(tmp = 2993366361, tmp))|(x|(tmp = 1800299979, tmp)))));
- assertEquals(-1671795135, x &= (-1671795135.6173766));
- assertEquals(-4253, x |= ((((x*((1533721762.8796673)<<((tmp = 1026164775.0081646, tmp)<<x)))<<(((x-((((x>>((((((tmp = -481536070.7067797, tmp)&(tmp = 1663121016, tmp))>>>(-2974733313.5449667))+(tmp = -493019653, tmp))>>x)&(tmp = 879307404.8600142, tmp)))>>>x)%(x-(tmp = -1806412445.788453, tmp)))%x))<<(x<<(x+x)))+x))>>((tmp = -332473688.28477216, tmp)<<((tmp = 1701065928, tmp)+(((((tmp = -2407330783, tmp)+x)-((tmp = 584100783, tmp)%(tmp = -3077106506, tmp)))^x)>>x))))<<x));
- assertEquals(-0, x %= x);
- assertEquals(0, x >>>= x);
- assertEquals(0, x >>>= (1578470476.6074834));
- assertEquals(0, x >>>= (974609751));
- assertEquals(-120, x += (x-((tmp = -245718438.0842378, tmp)>>>(tmp = -1870354951, tmp))));
- assertEquals(-6.134465505515781e-8, x /= (1956160645));
- assertEquals(-0, x %= x);
- assertEquals(0, x *= (tmp = -399718472.70049024, tmp));
- assertEquals(-1803198769.8413258, x += (-1803198769.8413258));
- assertEquals(988624943, x ^= ((((tmp = 320776739.5608537, tmp)*(((tmp = -983452570.3150327, tmp)^x)&(tmp = -3181597938, tmp)))-(tmp = -1367913740.9036021, tmp))/(((tmp = -535854933.2943456, tmp)-(717666905.8122432))>>>(((((x^(tmp = 380453258.60062766, tmp))^(tmp = -1242333929, tmp))/((tmp = 1072416261, tmp)+(((2090466933)*(x*(tmp = -386283072, tmp)))|((tmp = 789259942, tmp)<<(tmp = -1475723636.1901488, tmp)))))>>>x)%((x>>(tmp = -1243048658.3818703, tmp))|((((((tmp = -619553509, tmp)|x)/(878117279.285609))|((x<<(x>>>(tmp = -749568437.7390883, tmp)))*x))/(tmp = 1674804407, tmp))-(x*(tmp = 1528620873, tmp))))))));
- assertEquals(988625135, x |= (x>>>(tmp = 2402222006, tmp)));
- assertEquals(988625135, x %= (-2691094165.990094));
- assertEquals(0, x %= x);
- assertEquals(-0, x *= (tmp = -1409904262, tmp));
- assertEquals(-0, x /= ((1176483512.8626208)<<x));
- assertEquals(0, x &= ((((1677892713.6240005)^(tmp = 2575724881, tmp))^(tmp = -2935655281.208194, tmp))*(216675668)));
- assertEquals(0, x >>= (tmp = -1296960457, tmp));
- assertEquals(0, x |= x);
- assertEquals(NaN, x /= x);
- assertEquals(0, x <<= (x>>(-3127984289.9112387)));
- assertEquals(0, x %= ((tmp = 190018725.45957255, tmp)<<((x>>>x)/x)));
- assertEquals(0, x /= (1185681972));
- assertEquals(0, x &= ((tmp = -1285574617, tmp)>>x));
- assertEquals(0, x >>>= ((tmp = 2498246277.2054763, tmp)+(((tmp = 924534435, tmp)&x)>>(tmp = 1379755429, tmp))));
- assertEquals(0, x -= x);
- assertEquals(0, x /= (3093439341));
- assertEquals(0, x *= (x>>>x));
- assertEquals(0, x &= (tmp = 551328367, tmp));
- assertEquals(-0, x /= (-3153411714.834353));
- assertEquals(1217585288, x ^= (tmp = -3077382008.637764, tmp));
- assertEquals(-639702017, x |= ((tmp = -640922633, tmp)%(tmp = -879654762, tmp)));
- assertEquals(-1645297680, x <<= (tmp = 1418982820.8182912, tmp));
- assertEquals(-1.4059558868398736, x /= (1170234212.4674253));
- assertEquals(-2650856935.66554, x *= (1885448157));
- assertEquals(1326259953.26931, x *= (((x>>(x|(-496195134.78045774)))+((2029515886)%(tmp = 1148955580, tmp)))/(tmp = -1760016519, tmp)));
- assertEquals(0, x &= (((((-273334205)+(tmp = 797224093.682485, tmp))/x)>>>((((tmp = -887577414, tmp)/x)+x)%(tmp = 720417467, tmp)))^(((x-(tmp = -309071035, tmp))>>(-3123114729.33889))/x)));
- assertEquals(0, x ^= x);
- assertEquals(0, x %= ((tmp = -2243857462, tmp)/((((((2642220700.6673346)&x)*(tmp = 1454878837, tmp))|((-25825087.30002737)%(851535616.3479034)))<<(tmp = -697581582, tmp))%(tmp = 2248990486, tmp))));
- assertEquals(0, x >>= (((x|(((tmp = -220437911, tmp)&((((255690498)*(((2993252642)>>>(tmp = 300426048.0338713, tmp))>>x))&((-364232989)+(x<<(-1824069275))))%(x+(tmp = 2696406059.026349, tmp))))+((tmp = 2911683270, tmp)/(tmp = 2718991915, tmp))))*(x/(((tmp = -982851060.0744538, tmp)^((-2903383954)<<((-85365803.80553412)^x)))%(1489258330.5730634))))>>>x));
- assertEquals(0.7805921633088815, x += (((-1886920875)/(-2417294156.5304217))%(tmp = -1176793645.8923106, tmp)));
- assertEquals(0, x <<= x);
- assertEquals(-2215008905, x -= (2215008905));
- assertEquals(1931542900, x &= (-215923724.72133207));
- assertEquals(907191462, x ^= (-3133954606.357727));
- assertEquals(453595731, x >>>= (((tmp = 2726241550, tmp)/(tmp = -332682163, tmp))*((((tmp = 2500467531, tmp)>>>(((x<<(tmp = -1847200310.4863105, tmp))/x)^x))+x)<<(191688342.22953415))));
- assertEquals(-0.21671182880645923, x /= ((((-1169180683.1316955)%x)>>>(1650525418))^((2198033206.797462)&((-6913973.910871983)%(1758398541.8440342)))));
- assertEquals(-375102237.1603561, x += (tmp = -375102236.9436443, tmp));
- assertEquals(1, x &= (((84374105.89811504)|((tmp = -2480295008.926951, tmp)>>((605043461)>>(tmp = -2495122811, tmp))))>>(-2129266088)));
- assertEquals(1, x |= x);
- assertEquals(0.0000024171579540208214, x /= (((-2600416098)>>(-2076954196))^x));
- assertEquals(0.0000024171579540208214, x %= (tmp = -2632420148.815531, tmp));
- assertEquals(1809220936.0126908, x -= (-1809220936.0126884));
- assertEquals(1682452118.2686126, x += (((2358977542)<<(x/(tmp = -2862107929, tmp)))+(x+(x%((-3101674407)/(((x*((x>>(tmp = 630458691.3736696, tmp))>>>(tmp = -852137742, tmp)))/x)-((-1875892391.1022017)&(tmp = -1027359748.9533749, tmp))))))));
- assertEquals(1682452118, x <<= (((tmp = -80832958.07816291, tmp)>>x)%(x-((x^(x<<(tmp = -156565345, tmp)))|((tmp = -1208807363.727137, tmp)/(tmp = 2614737513.304538, tmp))))));
- assertEquals(6572078, x >>= (-1573364824));
- assertEquals(13144156, x += x);
- assertEquals(1731678184, x ^= ((tmp = 593370804.9985657, tmp)|(-3124896848.53273)));
- assertEquals(845545, x >>>= (tmp = -605637621.2299933, tmp));
- assertEquals(-1383361088, x ^= (tmp = -1383632087, tmp));
- assertEquals(-82545896480031520, x += ((x+(1023183845.7316296))*((((tmp = 576673669, tmp)>>(((-584800080.1625061)/(2388147521.9174623))+((((x>>>(-905032341.5830328))^(tmp = -2170356357, tmp))-x)+((136459319)+(-1799824119.689473)))))|x)&(tmp = -2688743506.0257063, tmp))));
- assertEquals(-895206176, x |= x);
- assertEquals(-0, x %= x);
- assertEquals(1791306023, x ^= ((tmp = -3219480856, tmp)+(tmp = 715819582.0181161, tmp)));
- assertEquals(1791306023, x &= x);
- assertEquals(2725167636753240600, x *= (1521330025));
- assertEquals(-281190679, x |= (tmp = -1422045975.798171, tmp));
- assertEquals(-281190679, x += (x%x));
- assertEquals(-2342097426.906673, x -= (tmp = 2060906747.906673, tmp));
- assertEquals(-4651462701.906673, x -= (2309365275));
- assertEquals(1878, x >>>= (2544974549.345834));
- assertEquals(1964, x += (x&((1067649861)>>(182139255.7513579))));
- assertEquals(2209, x += (x>>(tmp = -1775039165, tmp)));
- assertEquals(0, x -= x);
- assertEquals(-0, x /= (tmp = -1634697185, tmp));
- assertEquals(NaN, x /= x);
- assertEquals(0, x >>>= ((tmp = 3075747652, tmp)&(tmp = 819236484, tmp)));
- assertEquals(0, x /= ((1276203810.476657)%(-2434960500.784484)));
- assertEquals(0, x >>>= (tmp = -503633649, tmp));
- assertEquals(-982731931, x |= (-982731931));
- assertEquals(-1965463862, x += x);
- assertEquals(-0.221469672913716, x %= ((tmp = -1742292120, tmp)/x));
- assertEquals(-0.221469672913716, x %= (-2021391941.1839576));
- assertEquals(0, x <<= (((((tmp = -2802447851, tmp)>>((2534456072.6518855)&x))%(tmp = 2841162496.610816, tmp))<<((89341820)/(2565367990.0552235)))>>(tmp = 2700250984.4830647, tmp)));
- assertEquals(0, x >>= x);
- assertEquals(0, x >>= ((tmp = -636189745, tmp)>>>(x/(((tmp = 2634252476, tmp)%(2026595795))>>(tmp = -2048078394.743723, tmp)))));
- assertEquals(NaN, x %= ((x%((((x%((tmp = -2583207106, tmp)&x))|(190357769))<<(tmp = 595856931.2599536, tmp))%x))*((-2433186614.6715775)<<((2856869562.1088696)^(tmp = 1112328003, tmp)))));
- assertEquals(1621713910, x |= (tmp = 1621713910.0282416, tmp));
- assertEquals(3243427820, x += x);
- assertEquals(0, x *= (x&(x-x)));
- assertEquals(0, x >>>= (((2871235439)<<((x+((tmp = -1319445828.9659343, tmp)+(tmp = 1595655077.959171, tmp)))>>(tmp = -86333903, tmp)))-(x/(2907174373.268768))));
- assertEquals(0, x >>= (-1091774077.2173789));
- assertEquals(NaN, x /= x);
- assertEquals(NaN, x *= (tmp = 1976023677.7015994, tmp));
- assertEquals(NaN, x -= (-3013707698));
- assertEquals(NaN, x += ((x+(((tmp = -3119865782.9691515, tmp)<<(1327383504.0158405))^(((-143382411.7239611)>>>((-2157016781)+(((-335815848)/x)<<(tmp = 1953515427, tmp))))&(-2715729178))))/(413738158.2334299)));
- assertEquals(NaN, x %= x);
- assertEquals(NaN, x += (-845480493));
- assertEquals(-789816013, x |= (tmp = -789816013.129916, tmp));
- assertEquals(0, x ^= x);
- assertEquals(0, x <<= (3032573320));
- assertEquals(47630, x ^= ((1086705488)%((x^(tmp = -1610832418, tmp))>>>(tmp = 1136352558, tmp))));
- assertEquals(47630, x >>= (tmp = 1035320352.4269229, tmp));
- assertEquals(47630, x >>= ((((x^x)<<(x*((((x&((-1657468419)*((tmp = -674435523, tmp)&((tmp = 2992300334, tmp)|x))))*((tmp = -489509378.31950426, tmp)*(tmp = 2276316053, tmp)))>>>x)<<x)))%(tmp = -1209988989, tmp))/(tmp = -2080515253.3541622, tmp)));
- assertEquals(3192518951.8129544, x += (3192471321.8129544));
- assertEquals(648116457.8129544, x %= (-2544402494));
- assertEquals(0, x -= x);
- assertEquals(NaN, x /= x);
- assertEquals(NaN, x /= x);
- assertEquals(0, x <<= x);
- assertEquals(0, x >>= x);
- assertEquals(0, x *= (tmp = 30051865, tmp));
- assertEquals(0, x ^= ((x&(((x&x)>>>(((((((x+(2319551861.0414495))>>>(tmp = -3099624461, tmp))^((((tmp = 1574312763, tmp)|x)>>>((-2723797246)&(tmp = -1993956152, tmp)))|(-1830179045)))|(((((((-2545698704.3662167)>>>x)-(((-79478653)|x)%(x+(x>>((tmp = 2386405508.2180576, tmp)/x)))))>>((((-1947911815.2808042)*((x+(368522081.2884482))-(tmp = 2452991210, tmp)))>>(343556643.1123545))>>((((tmp = 1869261547.537739, tmp)>>(3193214755))|x)&(x*(2027025120)))))<<((-1149196187)>>>(814378291.8374172)))+((((((((-160721403)/(2079201480.2186408))+((x|((((tmp = -299595483.16805863, tmp)>>>((x|((x+x)/(-2359032023.9366207)))<<(tmp = -3095108545, tmp)))>>((tmp = -1547963617.9087071, tmp)*(x>>x)))&((tmp = -1568186648.7499216, tmp)+(((2646528453)^(-2004832723.0506048))>>>(tmp = -3188715603.921877, tmp)))))+(tmp = 1578824724, tmp)))^x)^x)/(tmp = -985331362, tmp))|(tmp = 445135036, tmp))<<(tmp = -73386074.43413758, tmp)))+(((-1674995105.9837937)-(tmp = 1392915573, tmp))>>x)))%(tmp = 1215953864, tmp))&((tmp = -439264643.5238693, tmp)>>>x))+(((tmp = 2311895902, tmp)|(1604405793.6399229))&(tmp = -565192829, tmp))))-x))>>(-2455985321)));
- assertEquals(0, x %= ((1177798817)>>(tmp = 2081394163.5420477, tmp)));
- assertEquals(0, x >>>= ((x^(tmp = -41947528.33954811, tmp))>>(x>>>((tmp = 1367644771, tmp)+x))));
- assertEquals(0, x %= ((x+((tmp = 163275724, tmp)<<((tmp = -514460883.3040788, tmp)+x)))|(tmp = -287112073.2482593, tmp)));
- assertEquals(0, x &= (3067975906));
- assertEquals(201342051, x |= (tmp = 201342051, tmp));
- assertEquals(0, x %= (((((-2580351108.8990865)<<(tmp = 2675329316, tmp))&((1338398946)%((-1548041558)+((x>>(-1568233868.7366815))|((x>>((tmp = -1064582207, tmp)/(-1062237014)))>>(tmp = 854123209, tmp))))))<<(((989032887)*(1842748656))%(tmp = -1566983130, tmp)))-x));
- assertEquals(-0, x /= (tmp = -828519512.617768, tmp));
- assertEquals(0, x &= ((((1449608518)+(-1829731972))*(1828894311))*(((tmp = -1121326205.614264, tmp)^(-2057547855))<<(tmp = -2758835896, tmp))));
- assertEquals(NaN, x %= ((tmp = -2138671333, tmp)%x));
- assertEquals(0, x &= x);
- assertEquals(665568613.0328879, x += (665568613.0328879));
- assertEquals(317, x >>= (2627267349.735873));
- assertEquals(0, x -= x);
- assertEquals(0, x &= (((tmp = 3030611035, tmp)*(((tmp = 476143340.933007, tmp)>>(x-(2238302130.2331467)))|(x|x)))%(tmp = 320526262, tmp)));
- assertEquals(0, x <<= (tmp = 729401206, tmp));
- assertEquals(0, x >>>= (1721412276));
- assertEquals(217629949.3530736, x += ((tmp = 217629949.3530736, tmp)%((-931931100.601475)%(x^(tmp = -2149340123.548764, tmp)))));
- assertEquals(217629949.3530736, x %= (tmp = 2275384959.4243402, tmp));
- assertEquals(0, x >>>= (1112677437.5524077));
- assertEquals(0, x *= (500256656.7476063));
- assertEquals(0, x >>>= x);
- assertEquals(0, x -= x);
- assertEquals(0, x -= x);
- assertEquals(0, x &= (-1076968794));
- assertEquals(0, x /= (tmp = 1774420931.0082943, tmp));
- assertEquals(0, x |= x);
- assertEquals(0, x >>= x);
- assertEquals(0, x %= (-2978890122.943079));
- assertEquals(-0, x /= (tmp = -2954608787, tmp));
- assertEquals(-800048201, x ^= ((tmp = -800048201.7227018, tmp)>>>((-2016227566.1480863)/(tmp = -2263395521, tmp))));
- assertEquals(3333, x >>>= (-2038839052));
- assertEquals(487957736.625432, x += (487954403.625432));
- assertEquals(-1650983426, x |= (2643918270));
- assertEquals(-1861867448, x &= (tmp = -251254199.12813115, tmp));
- assertEquals(-7.934314690172143e-18, x %= ((((x^(-703896560.6519544))>>(tmp = -1853262409, tmp))/(tmp = -1168012152.177894, tmp))/(tmp = 837616075.1097361, tmp)));
- assertEquals(0, x ^= x);
- assertEquals(0, x &= (tmp = -2328150260.5399947, tmp));
- assertEquals(-1954860020, x |= (tmp = 2340107276, tmp));
- assertEquals(-1954860020, x >>= ((tmp = 159177341, tmp)*(x&(-705832619))));
- assertEquals(-1954895727, x -= (x>>>((-1443742544.7183702)^((((tmp = 869581714.0137681, tmp)+x)^((x%(tmp = -1036566362.5189383, tmp))^(x%x)))>>x))));
- assertEquals(1.0241361338078498, x /= (tmp = -1908824093.2692068, tmp));
- assertEquals(16777216, x <<= (x*(((-1925197281)^(tmp = -1392300089.4750946, tmp))|x)));
- assertEquals(-225882765524992, x *= (tmp = -13463662, tmp));
- assertEquals(-1845493760, x |= x);
- assertEquals(-1845493760, x %= (tmp = 3181618519.786825, tmp));
- assertEquals(0, x ^= x);
- assertEquals(0, x <<= x);
- assertEquals(0, x >>>= x);
- assertEquals(NaN, x /= (x>>>x));
- assertEquals(NaN, x %= (((((tmp = -521176477, tmp)>>(((tmp = 370693623, tmp)/(((tmp = -1181033022.4136918, tmp)>>(x|(x*(2601660441))))+(tmp = -1696992780, tmp)))|(x|(-1197454193.198036))))>>>(((2512453418.3855605)+((((((tmp = 799501914, tmp)&(((1788580469.7069902)*(((((1476778529.5109258)<<(tmp = -1873387738.3541565, tmp))-((tmp = -521988584.7945764, tmp)*(-1598785351.3914914)))&(-1899161721.8061454))&((x/x)*(690506460))))>>>((tmp = 2255896398.840741, tmp)>>((tmp = -1331486014.6180065, tmp)+(-1159698058.534132)))))*((1112115365.2633948)&((x>>((x>>(-784426389.4693215))&(-492064338.97227573)))>>x)))^((x-((tmp = 2986028023, tmp)>>(tmp = 2347380320.00517, tmp)))*(tmp = -1463851121, tmp)))*(tmp = -1059437133, tmp))%(x-(tmp = 1238739493.7636225, tmp))))^(2029235174)))*(-1923899530))>>>x));
- assertEquals(0, x >>>= (2848792983.510682));
- assertEquals(0, x >>= (((tmp = 3042817032.705198, tmp)>>>x)&((((tmp = -829389221, tmp)-((2669682285.8576303)+(tmp = 1812236814.3082042, tmp)))^x)%((tmp = -2401726554, tmp)^((tmp = 2464685683, tmp)|(-2685039620.224061))))));
- assertEquals(2069649722, x |= (2069649722.311271));
- assertEquals(NaN, x %= (((((-68757739.39282179)&(-1382816369))/(3122326124))<<(x-(-507995800.3369653)))<<(((-1962768567.343907)+((tmp = 1357057125, tmp)/x))^(tmp = 1997617124, tmp))));
- assertEquals(NaN, x += x);
- assertEquals(0, x >>= (26895919));
- assertEquals(0, x >>>= x);
- assertEquals(0, x %= (tmp = 1092448030, tmp));
- assertEquals(0, x <<= (tmp = -477672441.46258235, tmp));
- assertEquals(0, x /= (2113701907));
- assertEquals(0, x >>>= x);
- assertEquals(NaN, x /= x);
- assertEquals(1341078673, x |= (-2953888623));
- assertEquals(1341078673, x &= x);
- assertEquals(0, x %= x);
- assertEquals(414817852.151006, x -= (-414817852.151006));
- assertEquals(1006632960, x <<= ((((((126465614.8316778)+(x-(2511803375)))+(tmp = 1620717148.352402, tmp))*x)/(tmp = -3013745105.5275207, tmp))-((tmp = -418034061.6865432, tmp)/(-300492911))));
- assertEquals(1055624813, x |= (tmp = 921407085, tmp));
- assertEquals(-3, x |= ((((tmp = 1382397819.7507677, tmp)+(tmp = -111851147.7289567, tmp))+x)/((tmp = 247980405.7238742, tmp)^(tmp = -592156399.8577058, tmp))));
- assertEquals(35161, x &= (((((((-2973570544.725141)*(tmp = -1244715638, tmp))+x)<<(x/((x>>>(-2143371615.073137))/(226072236))))%((x-(tmp = 1971392936, tmp))^(tmp = 2653103658, tmp)))%((tmp = 2828319571.7066674, tmp)>>((1528970502)^((tmp = -55869558, tmp)%x))))>>(889380585.6738582)));
- assertEquals(0, x ^= x);
- assertEquals(0, x *= (2749718750));
- assertEquals(0, x >>>= ((((-1633495402.6252813)*(tmp = 2943656739.1108646, tmp))+(tmp = 977432165, tmp))&((tmp = -2338132019, tmp)*(408176349.8061733))));
- assertEquals(-1778794752, x -= (((tmp = -1391412154.5199084, tmp)-((-3172342474)|x))&(1854366052)));
- assertEquals(-1778794752, x %= (tmp = 2024807296.6901965, tmp));
- assertEquals(-1114410.466337204, x %= ((tmp = -240344444.24487805, tmp)%(-47661164)));
- assertEquals(-0, x %= x);
- assertEquals(0, x >>= (x>>x));
- assertEquals(0, x *= x);
- assertEquals(0, x /= ((-3134902611)|(tmp = -3131158951, tmp)));
- assertEquals(-0, x /= (((tmp = 1430247610.634234, tmp)&x)+((tmp = -2047191110.8623483, tmp)-((((x%((((x/(tmp = -2599234213, tmp))|(tmp = 2650380060, tmp))|x)+x))>>>x)&(-1961373866))<<x))));
- assertEquals(-718394682, x -= ((x|(tmp = 1764417670.8577194, tmp))%(1046022988)));
- assertEquals(3576572614, x >>>= (((tmp = 2480472883.078992, tmp)<<x)>>((2035208402.8039393)&(tmp = 492980449, tmp))));
- assertEquals(434034142, x %= (x&((x>>>(311110449.48751545))|(-243530647))));
- assertEquals(524703439.3065736, x += (((tmp = 1392771723.3065736, tmp)%(x&x))%(tmp = -2199704930, tmp)));
- assertEquals(373686272, x &= (x<<((tmp = 2103372351.9456532, tmp)%(tmp = -1367109519, tmp))));
- assertEquals(373686272, x >>= x);
- assertEquals(-0.12245430020241108, x /= (tmp = -3051638622.5907507, tmp));
- assertEquals(1, x /= x);
- assertEquals(1, x %= (3095983855));
- assertEquals(-1454736871, x ^= (x*(tmp = -1454736872, tmp)));
- assertEquals(-1454736866, x ^= (((724989405.7338341)|(tmp = -2834298786.384371, tmp))>>>(tmp = -2029602148.1758833, tmp)));
- assertEquals(-1454736866, x &= x);
- assertEquals(-197394432, x <<= (tmp = -1562128975, tmp));
- assertEquals(251658240, x <<= (tmp = 2126510950, tmp));
- assertEquals(3295700610.703306, x -= (tmp = -3044042370.703306, tmp));
- assertEquals(-51152917, x |= ((949179883.1784958)|(((tmp = -2046168220, tmp)>>(x/x))/(((835064313)*(tmp = 2197600689, tmp))^(((tmp = 2717104216, tmp)&x)<<(-1402661995.3845913))))));
- assertEquals(-1549204421, x ^= ((((tmp = -481013711, tmp)>>>((tmp = 119589341.80209589, tmp)%(-995489985.2905662)))-(635717011))^(x+(x*x))));
- assertEquals(-1078356672.3999934, x += (470847748.6000067));
- assertEquals(1484987268.4638166, x += (tmp = 2563343940.86381, tmp));
- assertEquals(277020804, x &= (tmp = 2532819117, tmp));
- assertEquals(-2097118208, x <<= (x>>>x));
- assertEquals(-2147483648, x <<= (tmp = 761285045, tmp));
- assertEquals(2147483648, x >>>= x);
- assertEquals(-935909870282997800, x *= ((-2583300643)|x));
- assertEquals(-370753566.54721737, x %= (-1084543510.4524941));
- assertEquals(-177, x >>= (-946264747.6588805));
- assertEquals(-416077682, x ^= (tmp = 416077761, tmp));
- assertEquals(NaN, x %= ((((tmp = 779607408, tmp)*(((tmp = -3007128117, tmp)*(851442866.6153773))+x))&(1283388806))/(-876363553)));
- assertEquals(NaN, x %= (x/(tmp = -1668413939.652408, tmp)));
- assertEquals(-1726405921, x ^= (tmp = -1726405921, tmp));
- assertEquals(-1, x >>= ((3031008213.807012)>>x));
- assertEquals(4294967295, x >>>= ((x>>>x)&(tmp = 2788082290, tmp)));
- assertEquals(8544111670008449000, x *= (tmp = 1989331020.0417833, tmp));
- assertEquals(268435456, x <<= (tmp = 3121736017.2098465, tmp));
- assertEquals(-2.1011176170964474e+26, x -= (((tmp = 1392503299, tmp)*(tmp = 1446108825.1572113, tmp))*(x^(tmp = 372776014.213725, tmp))));
- assertEquals(0, x |= x);
- assertEquals(0, x >>= ((-112413907.70074797)*(-702798603)));
- assertEquals(1829518838, x |= (tmp = -2465448458, tmp));
- assertEquals(57172463, x >>= ((tmp = 2979642955.241792, tmp)%(tmp = -2464398693.291434, tmp)));
- assertEquals(114344926, x += x);
- assertEquals(113279134, x &= (2397742238.6877637));
- assertEquals(54, x >>= (1908522709.6377516));
- assertEquals(-2.966982919573829e-7, x /= (tmp = -182003070, tmp));
- assertEquals(0, x <<= (-1078417156));
- assertEquals(-147831390, x ^= (((-147831390)>>>x)+x));
- assertEquals(0, x -= x);
- assertEquals(-242221450.44696307, x -= (tmp = 242221450.44696307, tmp));
- assertEquals(-484442900, x <<= (((tmp = -2033947265.088614, tmp)&x)/(x^(tmp = -2893953848, tmp))));
- assertEquals(-3227648, x <<= (x<<((tmp = -193993010, tmp)*((983187830)|(3146465242.2783365)))));
- assertEquals(-6455296, x += x);
- assertEquals(-1771542585, x -= (x^(tmp = -1767335879, tmp)));
- assertEquals(-0, x %= x);
- assertEquals(0, x >>>= ((((tmp = -1612864670.4532743, tmp)*(tmp = 786265765.210487, tmp))*((((tmp = -893735877.3250401, tmp)*((x^(tmp = -2804782464.233885, tmp))<<x))&(x-x))^x))<<x));
- assertEquals(0, x -= (x>>>(-1648118674.380736)));
- assertEquals(0, x >>= ((tmp = -2706058813.0028524, tmp)>>(2745047169)));
- assertEquals(0, x += x);
- assertEquals(0, x %= (-898267735.137356));
- assertEquals(0, x >>>= x);
- assertEquals(0, x >>= ((265527509)/((tmp = 2190845136.7048635, tmp)+((x>>x)>>>((x%(x-x))&((((-2080184609.8989801)&((-327231633)>>>((tmp = 864849136, tmp)%(((-524363239)*(((((tmp = 2245852565.3713694, tmp)&(1918365.8978698254))>>>(tmp = -2463081769, tmp))-(((2438244059.471446)|((((-135303645.38470244)*(-861663832.2253196))%(tmp = 1273185196.0261836, tmp))|((2261539338.832875)%((320267076.2363237)+x))))>>(tmp = -2731398821, tmp)))/(tmp = -1947938611, tmp)))^x))))>>(tmp = 833666235, tmp))|x))))));
- assertEquals(-1116704570, x ^= (-1116704570));
- assertEquals(1379561710, x ^= (tmp = -280362968.19654894, tmp));
- assertEquals(-1673822208, x <<= x);
- assertEquals(-1673822208, x |= (x<<(tmp = 1389479193.9038138, tmp)));
- assertEquals(2559712, x >>>= (-2703763734.0354066));
- assertEquals(2593499, x ^= (x>>>((tmp = 148668150.03291285, tmp)^(tmp = -1580360304, tmp))));
- assertEquals(2070393855, x |= (tmp = -2227002907, tmp));
- assertEquals(304197770, x &= (tmp = 2453257354, tmp));
- assertEquals(304197770, x <<= ((-669331453.8814087)-(x^(x^(tmp = 33804899.98928583, tmp)))));
- assertEquals(297068, x >>= x);
- assertEquals(Infinity, x /= (x-x));
- assertEquals(NaN, x %= x);
- assertEquals(0, x ^= x);
- assertEquals(0, x %= ((tmp = 1723087085, tmp)%(2859382131.304421)));
- assertEquals(0, x %= (((tmp = 2935439763, tmp)<<(-3163992768.637094))%(tmp = 67176733, tmp)));
- assertEquals(0, x &= (tmp = 2480771277, tmp));
- assertEquals(0, x >>>= (x+(tmp = -3168690063, tmp)));
- assertEquals(0, x *= ((tmp = -1915275449.1806245, tmp)>>>((tmp = -1644482094.1822858, tmp)/(tmp = -432927173, tmp))));
- assertEquals(0, x += (((2766509428.071809)/(x/((942453848.5423365)/(((tmp = -1284574492, tmp)&((tmp = 760186450.7301528, tmp)-(2464974117.358138)))/((x/(x|(672536969)))*(x>>(-1272232579)))))))>>(x*(-3175565978))));
- assertEquals(-1277710521, x -= (1277710521));
- assertEquals(-1277710521, x >>= (((tmp = -2349135858, tmp)-x)-x));
- assertEquals(-1277710521, x >>= ((tmp = 2135645051, tmp)*(tmp = -2468555366, tmp)));
- assertEquals(-155971, x >>= (-1294859507));
- assertEquals(-0, x %= x);
- assertEquals(0, x >>>= (((861078292.6597499)|(-268063679))-(((((-221864206.9494424)-(-3186868203.2201176))&(tmp = 1287132927, tmp))<<(((tmp = 1964887915, tmp)<<((25908382)^(tmp = -688293519.875164, tmp)))*(2075946055)))&(x-((x>>x)&(1395338223.7954774))))));
- assertEquals(788002218, x -= (-788002218));
- assertEquals(716399906, x &= (-1145868506));
- assertEquals(145776674, x &= (-1661931477.360386));
- assertEquals(145776674, x |= x);
- assertEquals(-0.05255700469257692, x /= (tmp = -2773686873, tmp));
- assertEquals(-660918434, x |= (-660918434.2915542));
- assertEquals(1223537346, x ^= (tmp = -1871274596, tmp));
- assertEquals(305884336, x >>= (x&x));
- assertEquals(-1.1123775647978218e-8, x *= ((tmp = -793393031.4229445, tmp)/((tmp = -503919284, tmp)*(((((tmp = 429810625, tmp)>>>x)-((2091544148.870375)<<(((((x^x)%x)|x)/(-260773261))<<((tmp = -1323834653, tmp)&x))))*((-1231800099.3724015)+x))*((x+((-559726167)^x))>>>((-549148877)<<((((tmp = 1196115201, tmp)/((tmp = -2654658968.390111, tmp)%(tmp = -1044419580, tmp)))*(((((x>>>(733571228))+(2919762692.511447))/(-2718451983.570547))^x)+((2891533060.1804514)^((tmp = -2514488663, tmp)&x))))<<(tmp = -2526139641.6733007, tmp))))))));
- assertEquals(0, x >>>= x);
- assertEquals(0, x *= x);
- assertEquals(0, x |= x);
- assertEquals(3076984066.336236, x -= ((tmp = -3076984066.336236, tmp)+((tmp = -446575828.5155368, tmp)&x)));
- assertEquals(1, x /= x);
- assertEquals(1513281647.839972, x *= (1513281647.839972));
- assertEquals(1251138155, x ^= ((tmp = 2124481052, tmp)&(2431937351.4392214)));
- assertEquals(1, x /= x);
- assertEquals(0, x &= (tmp = 627050040, tmp));
- assertEquals(497153016, x ^= (497153016));
- assertEquals(-1112801283, x |= (tmp = 2752196557, tmp));
- assertEquals(0.5735447276296568, x /= ((((tmp = -500878794, tmp)%(tmp = -2559962372.2930336, tmp))%(2661010102))+(tmp = -1439338297, tmp)));
- assertEquals(1.0244795995097235e-9, x /= (559840067));
- assertEquals(0.43468811912309857, x *= (424301391));
- assertEquals(-1972757928, x ^= (tmp = -1972757928.9227014, tmp));
- assertEquals(-606757265, x ^= (tmp = -2923461577.264596, tmp));
- assertEquals(-37, x >>= (((-2736561559.7474318)%(tmp = -27668972.662741184, tmp))*(2774711606)));
- assertEquals(-1923785671, x += ((-1923785597)+x));
- assertEquals(-3877639176, x += (tmp = -1953853505, tmp));
- assertEquals(-4688259242, x -= ((810620066.4394455)>>(((-1474285107.459875)>>x)/(((((-570672326.4007359)>>(tmp = -3086802075, tmp))%x)>>>(((tmp = 286938819.28193486, tmp)>>>((1712478502)>>(tmp = 3045149117.796816, tmp)))<<(tmp = 750463263.292952, tmp)))&(tmp = 2055350255.5669963, tmp)))));
- assertEquals(-0, x %= x);
- assertEquals(0, x <<= (1037856162.5105649));
- assertEquals(0, x *= x);
- assertEquals(0, x &= (997845077.4917375));
- assertEquals(0, x *= x);
- assertEquals(0, x *= x);
- assertEquals(0, x <<= (((x<<x)&(57691805))>>(786927663)));
- assertEquals(0, x ^= x);
- assertEquals(0, x += x);
- assertEquals(0, x &= (-2131910624.1429484));
- assertEquals(0, x >>>= (-43787814));
- assertEquals(-2415062021, x += (tmp = -2415062021, tmp));
- assertEquals(-4830124042, x += x);
- assertEquals(-186683401, x |= (tmp = 1960135383, tmp));
- assertEquals(NaN, x *= ((tmp = -1674740173.9864025, tmp)%(((((((-432895485.7261934)-x)^x)>>>(((-1627743078.3383338)>>(179992151))<<((tmp = 911484278.0555259, tmp)|(((tmp = -3042492703, tmp)>>(((-663866035.302746)>>(((x-((440661929.50030375)>>>(tmp = 263692082, tmp)))*x)+x))/((1546004407)^(((tmp = 2023662889.1594632, tmp)*(tmp = -2456602312, tmp))+(tmp = 755602286.1810379, tmp)))))%((tmp = -336449961, tmp)|(tmp = 206780145, tmp))))))/(1068005219.1508512))<<(tmp = -474008862.6864624, tmp))/(((((((1518711056.5437899)>>>(tmp = 287418286.63085747, tmp))<<(tmp = 2823048707, tmp))^(((x<<(x^(-1600970311)))&(x>>(((tmp = 157300110.7636031, tmp)*(tmp = -3047000529, tmp))&(1743024951.3535223))))>>x))-(tmp = -2895435807, tmp))*((tmp = -314120704, tmp)&(tmp = 1759205369, tmp)))>>(tmp = 1833555960.046526, tmp)))));
- assertEquals(NaN, x -= (tmp = 694955369, tmp));
- assertEquals(NaN, x *= (x%x));
- assertEquals(0, x |= x);
- assertEquals(0, x ^= x);
- assertEquals(0, x &= x);
- assertEquals(NaN, x /= (x+x));
- assertEquals(NaN, x %= ((tmp = -1595988845, tmp)*((1754043345)>>>(-601631332))));
- assertEquals(0, x >>>= (tmp = 862768754.5445609, tmp));
- assertEquals(NaN, x /= x);
- assertEquals(NaN, x %= x);
- assertEquals(NaN, x *= (tmp = -1774545519, tmp));
- assertEquals(0, x >>>= (tmp = -2492937784, tmp));
- assertEquals(0, x %= ((((x<<(-1657262788.2028513))&((x^(tmp = -671811451, tmp))<<(-2984124996)))^(1455422699.7504625))-((-340550620)>>x)));
- assertEquals(918278025, x ^= ((tmp = -918278027, tmp)^((tmp = 2889422870, tmp)/(tmp = -657306935.7725658, tmp))));
- assertEquals(918278025, x %= (2603186571.0582614));
- assertEquals(107034679.32509923, x %= (tmp = -811243345.6749008, tmp));
- assertEquals(53517339, x >>= (x%((((x*((tmp = -983766424, tmp)^(-1881545357.8686862)))|(tmp = -1429937087, tmp))>>((x<<x)>>((((tmp = -2347470476, tmp)&x)+((x&x)<<(396061331.6476157)))*(tmp = -3136296453.209073, tmp))))>>>(((tmp = 908427836, tmp)|(tmp = 207737064, tmp))|(((1253036041)-(tmp = 2705074182, tmp))+(-431215157.82083917))))));
- assertEquals(53477378, x &= ((((-1128036654.165636)*x)+x)>>(x>>(3080099059))));
- assertEquals(0, x >>= (-590692293));
- assertEquals(0, x %= (-2395850570.9700127));
- assertEquals(0, x *= ((tmp = 1377485272, tmp)&(1129370608)));
- assertEquals(0, x += (x>>>(x%(((((tmp = -1746827236, tmp)+((tmp = -326913490, tmp)&((-58256967)&x)))*(tmp = -1176487022.001651, tmp))>>>(-2089147643))-x))));
- assertEquals(0, x <<= (tmp = 1073298160.2914447, tmp));
- assertEquals(-837811832, x ^= (-837811832));
- assertEquals(102760448, x <<= (tmp = 2833582450.4544373, tmp));
- assertEquals(0, x &= (((((((tmp = 2595641175, tmp)*x)+(tmp = -2049260172.1025927, tmp))%((2986747823)>>(tmp = -2120598518, tmp)))&((tmp = -2742408622, tmp)&x))>>x)*((1043474247.9601482)&(tmp = 1686365779.9885998, tmp))));
- assertEquals(0, x >>= ((tmp = 1717862848, tmp)-(tmp = 1077024446.4160957, tmp)));
- assertEquals(NaN, x /= x);
- assertEquals(NaN, x /= (-1669429787.975099));
- assertEquals(NaN, x -= (-2299895633.4807186));
- assertEquals(138173970, x ^= (138173970.56627905));
- assertEquals(-2084183776, x <<= (3073345316));
- assertEquals(-0, x %= x);
- assertEquals(0, x >>= (-3080556066.068573));
- assertEquals(0, x &= ((tmp = -2587514820, tmp)*(x-((x^(1995672257))*(1125326747.2339358)))));
- assertEquals(NaN, x %= x);
- assertEquals(0, x >>= (tmp = 2139186585, tmp));
- assertEquals(-1904096640, x |= ((-602301360.1919911)*(-1270444810)));
- assertEquals(1073741824, x <<= (tmp = -1069467849, tmp));
- assertEquals(1073741824, x ^= (x-x));
- assertEquals(536870912, x >>>= (-1579466367.160293));
- assertEquals(512, x >>= (972402804.3890183));
- assertEquals(512, x &= (tmp = 2664796831, tmp));
- assertEquals(16777216, x <<= (-2738292561));
- assertEquals(0, x >>>= ((((1397663615.3889246)|(1117420260.6730964))-(-1173734560))<<((tmp = 1007006104.0172879, tmp)<<((tmp = -623002097, tmp)%(tmp = -35829654.379403114, tmp)))));
- assertEquals(1200191544, x ^= (tmp = -3094775752, tmp));
- assertEquals(71, x >>>= x);
- assertEquals(71, x |= x);
- assertEquals(1394763772, x += (1394763701));
- assertEquals(-1.492717171027427, x /= ((x&(tmp = 1243787435, tmp))-(2043911970.26752)));
- assertEquals(-1.1002448961224718e-8, x /= ((((835185744)*(((tmp = 2165818437, tmp)^(tmp = 2567417009.1166553, tmp))/x))/x)/(((63485842.39971793)^(2668248282.597389))/x)));
- assertEquals(0, x <<= (tmp = 1598238578.637568, tmp));
- assertEquals(0, x |= (x&((tmp = -1812945547.5373957, tmp)>>>x)));
- assertEquals(0, x >>>= (x+(-1969679729.7299538)));
- assertEquals(1582033662, x += (tmp = 1582033662, tmp));
- assertEquals(1, x >>>= x);
- assertEquals(-550748739, x += ((tmp = -550748740, tmp)/(x&((2537822642.235506)^((-2167656297)%(tmp = 1161201210, tmp))))));
- assertEquals(-268921, x >>= (tmp = 1916069547.7381654, tmp));
- assertEquals(-0.00021776939364231114, x /= (tmp = 1234888868, tmp));
- assertEquals(0, x <<= (-1036375023));
- assertEquals(0, x &= ((((x/(2398886792.27443))&(x|((-1813057854.1797302)-x)))&(x/(((tmp = 3091133731.4967556, tmp)|(3013139691.823039))<<x)))>>>(2542784636.963599)));
- assertEquals(0, x += ((x*x)/(tmp = 347079383, tmp)));
- assertEquals(788347904, x |= ((1462257124.6374629)*((3180592147.4065146)-(x&(1922244678)))));
- assertEquals(2130672735, x |= (tmp = -2846986145, tmp));
- assertEquals(-1331327970, x ^= ((656251304)-(tmp = 1489152359, tmp)));
- assertEquals(-0.14377179742889856, x %= (((2889747597.813753)-(1730428996))/(((tmp = -1378710998, tmp)&x)|x)));
- assertEquals(-1754612583.143772, x += ((-1754725729)^((-2285838408)>>>(1434074349))));
- assertEquals(-0, x %= x);
- assertEquals(0, x &= (tmp = -1031961332, tmp));
- assertEquals(NaN, x /= x);
- assertEquals(NaN, x /= (3059476325));
- assertEquals(NaN, x *= ((x*((((tmp = 13529540.462185979, tmp)&x)^((x<<(-1312696238.1628869))&(-2029766712.3852897)))>>x))/x));
- assertEquals(1657339940, x ^= ((tmp = -488956817.1491232, tmp)&(tmp = -2352413900.1983714, tmp)));
- assertEquals(-530683621952432200, x *= (tmp = -320202035.2882054, tmp));
- assertEquals(229226258, x ^= ((tmp = -1263410990.026416, tmp)+(((-808046349)&(tmp = -1294442506, tmp))&((tmp = 1147437219, tmp)<<((tmp = -820299900, tmp)-(tmp = -1947748943.3443851, tmp))))));
- assertEquals(7163320, x >>= (-2631307131));
- assertEquals(-68, x |= (((-1271721343)>>x)%x));
- assertEquals(-39956523818.38862, x *= (587595938.505715));
- assertEquals(0, x -= x);
- assertEquals(0, x >>>= ((x^(x+x))<<(tmp = 265212367, tmp)));
- assertEquals(0, x |= (((x>>((tmp = 2294761023, tmp)/(x>>(2125624288))))&((-2125650113)|(tmp = 1014409884, tmp)))%(tmp = -527324757, tmp)));
- assertEquals(0, x >>= ((tmp = 2267075595, tmp)*(-1681569641.8304193)));
- assertEquals(0, x >>>= x);
- assertEquals(0.5738410949707031, x -= ((tmp = -1846572645.573841, tmp)%((((((x^(((-156613905.64173532)/x)<<x))+((x|((2405109060)>>>x))^x))/(570585894.8542807))+(x&(-2544708558)))^((((tmp = -2539082152.490635, tmp)+((((-657138283)/(2204743293))-((tmp = -1422552246.565012, tmp)+x))<<(x-x)))>>(x/(x>>>(tmp = -3027022305.484394, tmp))))<<x))&((-2066650303.3258202)/(tmp = -1666842593.0050385, tmp)))));
- assertEquals(0, x >>>= ((((tmp = 2473451837.613817, tmp)>>((2526373359.1434193)>>(x<<x)))+((tmp = -579162065, tmp)+((tmp = -3115798169.551487, tmp)-(tmp = 933004398.9618305, tmp))))&(tmp = 131167062, tmp)));
- assertEquals(-2067675316, x ^= (-2067675316.6300585));
- assertEquals(543772, x >>>= x);
- assertEquals(-1073741824, x <<= x);
- assertEquals(3221225472, x >>>= ((x*(1478586441.081221))&(tmp = -3050416829.2279186, tmp)));
- assertEquals(0, x ^= x);
- assertEquals(0, x *= x);
- assertEquals(-1017771903.0298333, x -= (1017771903.0298333));
- assertEquals(0.6404112721149928, x /= ((tmp = -144667370, tmp)^(-2849599562)));
- assertEquals(-2410517638773644000, x -= (((tmp = 1759631550, tmp)*x)*((((tmp = -2949481475, tmp)>>>x)*x)|(tmp = -2977983804, tmp))));
- assertEquals(-0, x %= (x+((((tmp = -1307866327.7569134, tmp)<<((x&((tmp = -2380043169.8405933, tmp)|x))>>(472992789.7639668)))|(((((x<<(tmp = -1416427232.7298179, tmp))%(-1404989679.409946))*((x/(tmp = -992416608, tmp))/(tmp = 524646495, tmp)))-(tmp = 734405570, tmp))>>x))/(1079256317.7325506))));
- assertEquals(0, x <<= (tmp = 2459834668, tmp));
- assertEquals(-0, x /= (tmp = -1892164840.5719755, tmp));
- assertEquals(0, x >>= (x|(((1299844244)>>>(((tmp = -2422924469.9824634, tmp)|x)-((((1914590293.2194016)+(-3033885853.8243046))-((tmp = -1720088308, tmp)%x))<<(tmp = 2210817619, tmp))))<<x)));
- assertEquals(0, x <<= (((tmp = 3192483902.841396, tmp)>>>(((x^(2944537154))|(tmp = -1334426566, tmp))*(((((((-2705218389)&x)+(1987320749))+(tmp = -111851605, tmp))|(2894234323))-(265580345))&x)))%(((tmp = 1431928204.6987057, tmp)&(tmp = 914901046, tmp))&(x>>>x))));
- assertEquals(0, x >>>= (tmp = 1941940941, tmp));
- assertEquals(0, x %= (3089014384));
- assertEquals(0, x += ((tmp = 2948646615, tmp)*x));
- assertEquals(-0, x /= (tmp = -1480146895, tmp));
- assertEquals(NaN, x /= x);
- assertEquals(NaN, x %= (-2995257724.158043));
- assertEquals(NaN, x %= (tmp = 2714835455, tmp));
- assertEquals(NaN, x /= (tmp = -311440765.98078775, tmp));
- assertEquals(NaN, x -= (-1600234513.697098));
- assertEquals(0, x <<= x);
- assertEquals(0, x <<= (-1499045929));
- assertEquals(-0, x *= (-2491783113));
- assertEquals(0, x ^= (x%((x>>(((1234398704.3681123)>>>x)%(x+x)))>>(402257223.4673699))));
- assertEquals(-643225204, x ^= (((-55960194.698637486)+((((721411198)-(((tmp = 1308676208.7953796, tmp)%(2242904895))-x))>>((((tmp = 332791012, tmp)&((tmp = -2094787948, tmp)/((x/(2427791092))^(2444944499.6414557))))%(((x+(1253986263.5049214))+(((((3135584075.248715)+((tmp = -2569819028.5414333, tmp)%(440908176.1619092)))>>>(x<<((3061615025)-x)))%x)%(x+((2369612016)*((((tmp = 1173615806, tmp)*(-1910894327))&(2428053015.077821))*(-55668334.70082307))))))<<(tmp = -2129259989.0307562, tmp)))+(1579400360)))%((-3053590451.8996153)>>x)))+(x>>(x%(x^((-1772493876)^x))))));
- assertEquals(413738663060841600, x *= x);
- assertEquals(1581062538.4501781, x %= ((tmp = -1298397672.0300272, tmp)-((2237197923)+(tmp = -1385478459, tmp))));
- assertEquals(755644566.8709538, x %= (tmp = -825417971.5792243, tmp));
- assertEquals(1, x /= x);
- assertEquals(0, x >>>= ((89330582)%(-1012731642.4855506)));
- assertEquals(0, x >>>= x);
- assertEquals(NaN, x %= ((x>>>((x/(tmp = -1848848941.2352903, tmp))>>>(tmp = -71862893, tmp)))&(-2385996598.2015553)));
- assertEquals(NaN, x += (-2292484503.318904));
- assertEquals(NaN, x *= (2961064461));
- assertEquals(NaN, x += (x<<((2076798243.6442)/((tmp = -81541044.75366282, tmp)^((3041366498.551101)+((2126874365)/(tmp = -177610359, tmp)))))));
- assertEquals(NaN, x %= ((x/((x/x)+x))>>>x));
- assertEquals(NaN, x /= x);
- assertEquals(NaN, x += (1171761980.678));
- assertEquals(NaN, x += ((2355675823)<<(-390497521)));
- assertEquals(NaN, x %= x);
- assertEquals(0, x &= (tmp = -658428225.56619, tmp));
- assertEquals(0, x ^= x);
- assertEquals(0, x <<= (1643310725.5713737));
- assertEquals(0, x <<= x);
- assertEquals(0, x <<= (-397005335.3712895));
- assertEquals(0, x >>>= (tmp = -2804713458.166788, tmp));
- assertEquals(0, x <<= (((((((tmp = 1879988501, tmp)%(1528081313.9360204))+(1376936736))*((((x>>>((1736268617.339198)>>>(-2598735297.4277673)))<<((((((((-2742982036)/(231867353.4549594))-(875335564))<<x)|((2241386341.742653)<<((-22024910.828409433)&(x<<x))))*(-756987803.5693252))+x)^(tmp = 1084498737, tmp)))<<(1920373881.8464394))&(2370827451.82652)))&(x^(tmp = -891503574, tmp)))<<x)>>>((-1519588625.2332087)^(483024636.2600144))));
- assertEquals(52193878.40997505, x -= ((tmp = -341753803.40997505, tmp)%(tmp = -96519975, tmp)));
- assertEquals(-1665844168.938803, x -= (1718038047.348778));
- assertEquals(3.6962232549405003e-19, x /= (((((-809583468.5507183)>>>((tmp = 286797763, tmp)%((1579183142.7321532)/(1853824036.001172))))<<x)>>(((x|x)^((tmp = -2641304815, tmp)<<(x<<x)))>>(((((268338128.8300134)&(-1778318362.8509881))*(751081373.346478))<<(((525066612)>>(-1139761212))*(2949167563.299916)))<<x)))+((tmp = 664905121, tmp)*((-2208280205)*(3069462420)))));
- assertEquals(4710721795.110161, x += (((217604832)+((1307891481.781326)-x))+(tmp = 3185225481.328835, tmp)));
- assertEquals(0, x %= x);
- assertEquals(0, x -= (((x>>>(x/(tmp = 46977522.46204984, tmp)))>>(-2466993199.615269))&(tmp = 14524430.287991166, tmp)));
- assertEquals(0, x >>= x);
- assertEquals(0, x /= (tmp = 578120637, tmp));
- assertEquals(-17267104, x -= (((tmp = 1515285919.495792, tmp)+(((tmp = -1364790286.7057304, tmp)+((954599071)>>((897770243.1509961)*x)))^x))>>>(566027942.1732262)));
- assertEquals(-17267104, x &= x);
- assertEquals(189138241, x ^= ((tmp = 1565742675.9503145, tmp)-((tmp = 1737806643, tmp)|((x*(tmp = -1382435297.5955122, tmp))*(-2820516692.153056)))));
- assertEquals(189138241, x %= (x*(tmp = -1670678493, tmp)));
- assertEquals(1693, x %= ((-2328713314)>>>(1623637325)));
- assertEquals(1693, x %= ((-1019394014)*(x|x)));
- assertEquals(3386, x += x);
- assertEquals(9268970871604, x *= (2737439714));
- assertEquals(-4720.120483643183, x /= (tmp = -1963714889, tmp));
- assertEquals(-1, x >>= ((x^(((-2404688047.455056)|((1439590234.6203847)<<(tmp = -2496557617, tmp)))/((x<<((tmp = 1865549512.282249, tmp)/(((360384191.55661833)>>(tmp = -1225297117.344188, tmp))>>>(2703264010.4122753))))*(1521960888.0071676))))%(tmp = 2834001448.0508294, tmp)));
- assertEquals(63, x >>>= (x&(-3079339174.6490154)));
- assertEquals(0, x >>>= (1039770956.6196513));
- assertEquals(0, x >>>= (-1074820214));
- assertEquals(0, x >>>= (x/x));
- assertEquals(0, x >>= ((tmp = -449117604.2811785, tmp)&x));
- assertEquals(-0, x /= (tmp = -118266935.1241343, tmp));
- assertEquals(2226140134, x += (tmp = 2226140134, tmp));
- assertEquals(2068827161, x ^= ((tmp = -1950744808.846384, tmp)>>((2258661151)^((tmp = -1118176421.8650177, tmp)<<(2828634014)))));
- assertEquals(123, x >>>= (-1779624840.0515127));
- assertEquals(0, x >>>= (x|((tmp = -239082904, tmp)<<(tmp = 1404827607, tmp))));
- assertEquals(0, x >>>= x);
- assertEquals(1793109749, x ^= (tmp = -2501857547.710491, tmp));
- assertEquals(855, x >>>= x);
- assertEquals(0, x >>>= (-847289833));
- assertEquals(0, x %= (-2271241045));
- assertEquals(169648072, x ^= (((tmp = 169648072.66759944, tmp)^x)|x));
- assertEquals(176025927479164930, x *= ((tmp = 1111997198.8803885, tmp)<<(tmp = 2913623691, tmp)));
- assertEquals(176025926613281700, x += ((tmp = -865883245, tmp)<<(x+(-2624661650))));
- assertEquals(3406506912, x >>>= ((x|(tmp = 2436016535, tmp))*(((tmp = -1222337225, tmp)<<((1765930268)&x))*(tmp = 1600702938, tmp))));
- assertEquals(1.694694170868292, x %= (x/(-1597121830.794548)));
- assertEquals(0, x >>= (tmp = -2443203089, tmp));
- assertEquals(0, x >>>= (1323174858.2229874));
- assertEquals(0, x &= ((tmp = 846556929.2764134, tmp)|(((1483000635.0020065)|(-3151225553))|(tmp = -229028309, tmp))));
- assertEquals(0, x >>= x);
- assertEquals(0, x >>= ((((((-2677334787)>>>x)>>((tmp = 496077992, tmp)&((((x<<(x*(tmp = 1095163344.2352686, tmp)))+(-952017952))%((x<<((x*x)/(tmp = 2983152477, tmp)))^((tmp = -939521852.1514642, tmp)^(tmp = 143967625.83755958, tmp))))*((tmp = 551827709.8366535, tmp)>>>x))))^((-1552681253.69869)-(-1874069995)))>>>(x>>(x%(tmp = -2554673215, tmp))))|(tmp = -190693051.77664518, tmp)));
- assertEquals(0, x /= (tmp = 427402761.37668264, tmp));
- assertEquals(0, x <<= x);
- assertEquals(0, x |= (x>>>(((((-543326164.0673618)>>>(-2344090136.707964))>>>((((-563350246.6026886)/x)/(1525481037.3332934))&(tmp = -2917983401.88958, tmp)))^(-1094667845.1208413))^x)));
- assertEquals(0, x &= (1080322749.897747));
- assertEquals(0, x %= (tmp = -1572157280, tmp));
- assertEquals(0, x >>>= x);
- assertEquals(0, x %= ((377280936)|x));
- assertEquals(708335912, x -= (tmp = -708335912, tmp));
- assertEquals(2766937, x >>>= x);
- assertEquals(547342779, x += (tmp = 544575842, tmp));
- assertEquals(546273751, x -= ((x>>>(472833385.9560914))|((tmp = -1164832103.9970903, tmp)/(3147856452.1699758))));
- assertEquals(546273751, x &= x);
- assertEquals(0, x ^= x);
- assertEquals(0, x >>>= (tmp = -3181805175, tmp));
- assertEquals(-375546685, x |= (-375546685.08261824));
- assertEquals(1089992785780217200, x *= (tmp = -2902416209, tmp));
- assertEquals(0, x %= x);
- assertEquals(-1854981526, x -= ((x-x)-(-1854981526)));
- assertEquals(-3709963052, x += x);
- assertEquals(-316772482, x %= (tmp = -1696595285, tmp));
- assertEquals(-316772482, x |= x);
- assertEquals(1, x /= x);
- assertEquals(0, x -= x);
- assertEquals(-1418375842, x ^= (-1418375842));
- assertEquals(-2, x >>= x);
- assertEquals(-4, x += x);
- assertEquals(-8388608, x &= (x<<(-350555339.30086184)));
- assertEquals(-16777216, x += x);
- assertEquals(-0, x %= x);
- assertEquals(1083355129, x += (tmp = 1083355129, tmp));
- assertEquals(0, x &= (((tmp = 389729053, tmp)-(tmp = 2944192190.0939536, tmp))/(x-(2081712461.2657034))));
- assertEquals(0, x += x);
- assertEquals(-3, x += ((3147270119.5831738)>>((2455837253.1801558)%((-2100649096)>>(((290236808.01408327)|(x&((2661741230.3235292)|((tmp = 1686874589.4690177, tmp)<<x))))*(x+(tmp = 2327674670, tmp)))))));
- assertEquals(-3, x %= ((x>>(((-2962686431)%x)>>((((2438370783)-(tmp = 2667305770.4839745, tmp))>>>x)>>>x)))<<((x&(tmp = 1428498616, tmp))|((tmp = 2621728539.102742, tmp)/(-204559901)))));
- assertEquals(2, x ^= (x|((((tmp = 1751230118.6865973, tmp)/(-867465831.207304))>>((-808143600.0912395)+(-2882191493.0506454)))^x)));
- assertEquals(2, x %= (-2015954220.2250996));
- assertEquals(0, x >>>= (tmp = 401373999, tmp));
- assertEquals(0, x >>= (2371830723));
- assertEquals(0, x >>>= ((((tmp = 2765919396, tmp)-x)-(530310269.7131671))|(tmp = -615761207.9006102, tmp)));
- assertEquals(-145389011, x ^= (tmp = -145389011, tmp));
- assertEquals(-145389011, x |= x);
- assertEquals(1632929832, x &= (-2518898392));
- assertEquals(4190540017.751949, x += (tmp = 2557610185.751949, tmp));
- assertEquals(4980024282.153588, x += ((1841304364.1177452)%(tmp = 1051820099.7161053, tmp)));
- assertEquals(0, x >>>= (((((1379314342.4233718)>>((-2782805860)^((x%(tmp = 1328845288, tmp))>>>(tmp = 901403219.858733, tmp))))+(x/((tmp = -3078904299, tmp)/x)))/x)|(x|(1399702815))));
- assertEquals(-1820494882, x ^= (tmp = -1820494882.407127, tmp));
- assertEquals(-305870376, x %= (tmp = -757312253, tmp));
- assertEquals(-577530443, x += (x|(tmp = -1958083619.6653333, tmp)));
- assertEquals(333541412591776260, x *= x);
- assertEquals(-949341696, x >>= ((((1550069663)<<((x>>>(tmp = 2406565178.902887, tmp))>>>((1844746612.632984)/((tmp = 2233757197, tmp)*((-1524891464.1028347)>>(tmp = 2498623474.5616803, tmp))))))&x)<<(x&(tmp = -370379833.3884752, tmp))));
- assertEquals(-277202090, x |= ((-762200848.8405354)-(tmp = 1749136282, tmp)));
- assertEquals(0.13704539927239265, x /= (tmp = -2022702633.373563, tmp));
- assertEquals(0, x -= x);
- assertEquals(0, x %= ((132951580.19304836)-((427623236.27544415)-(1212242858))));
- assertEquals(0, x &= ((449148576)&(-1609588210.249217)));
- assertEquals(0, x >>= x);
- assertEquals(0, x -= x);
- assertEquals(-0, x /= (tmp = -1640777090.9694843, tmp));
- assertEquals(0, x &= (((tmp = -1923412153, tmp)>>>((x>>(tmp = 3027958119.0651507, tmp))+(60243350)))>>(tmp = -2610106062, tmp)));
- assertEquals(0, x ^= (((-186998676)/(tmp = 2697937056, tmp))-x));
- assertEquals(-1147950080, x |= ((2425449461)*(tmp = -2525854833, tmp)));
- assertEquals(457688198, x ^= (2698274950.660941));
- assertEquals(8724, x %= ((1174351031)>>>((371599047.36048746)+(3025292010))));
- assertEquals(0, x <<= (tmp = -710011617, tmp));
- assertEquals(0, x >>>= (1693410026));
- assertEquals(1443005362, x ^= ((tmp = -2851961934, tmp)+((((x%x)-(tmp = 547622400, tmp))<<(((tmp = 722396486.5553623, tmp)|x)>>>((((tmp = -542268973.5080287, tmp)<<(tmp = 1347854903.771954, tmp))>>>(tmp = -889664427.7115686, tmp))&((tmp = 1549560114, tmp)*(tmp = 964918035, tmp)))))&(-2422502602.920377))));
- assertEquals(3986573462, x -= (-2543568100));
- assertEquals(7973146924, x += x);
- assertEquals(-1, x >>= (-75987297));
- assertEquals(-12, x += ((2940824338.64834)>>(tmp = 3061467355, tmp)));
- assertEquals(-3.8229398525977614e-8, x /= (313894554));
- assertEquals(-2.890709270374084e-17, x /= (tmp = 1322491989, tmp));
- assertEquals(0, x |= (x-x));
- assertEquals(0, x >>>= (tmp = -1205300664, tmp));
- assertEquals(-0, x /= (((2869505187.6914144)>>(tmp = 1541407065, tmp))/(((-571132581)>>>(x>>x))/((x^(170373762.8793683))>>>((((tmp = -363073421.05897164, tmp)|(((tmp = -1591421637, tmp)>>(1095719702.8838692))&(636687681.9145031)))^x)^(x|x))))));
- assertEquals(-1487828433, x ^= (-1487828433.3462324));
- assertEquals(-0, x %= x);
- assertEquals(1716342498, x -= ((tmp = 2578624798, tmp)^x));
- assertEquals(1636, x >>= ((264194540)>>>(-801900756)));
- assertEquals(0, x >>>= ((tmp = 2502688876, tmp)+((x<<(x|((-628272226.0338528)|((x<<(-2083074091))>>>(tmp = 1692123246.8418589, tmp)))))>>(1594759826.990993))));
- assertEquals(0, x <<= (tmp = -904399643, tmp));
- assertEquals(NaN, x /= ((x^(x-x))%((tmp = 1744962024.4882128, tmp)%x)));
- assertEquals(NaN, x /= (-1013142883.1845908));
- assertEquals(NaN, x /= ((tmp = 793633198, tmp)^(-2993598490.8659954)));
- assertEquals(0, x &= (x>>((tmp = 1200937851, tmp)<<(((tmp = -2807378465, tmp)&(tmp = -143778237, tmp))|(tmp = -1200772223, tmp)))));
- assertEquals(0, x <<= x);
- assertEquals(88144, x |= (((((tmp = 3002723937.8560686, tmp)*(tmp = -3171720774.2612267, tmp))%(((tmp = -2586705978.7271833, tmp)%((x+(-1553704278))&(2405085526.501994)))>>((-240842053)>>>(((((tmp = -1886367228.4794896, tmp)>>>x)^(tmp = 2604098316, tmp))^(tmp = 1362808529, tmp))<<((tmp = -1062263918, tmp)|((-172718753)%(tmp = -1910172365.4882073, tmp)))))))^((1444153362)>>((x&((-1205465523.2604182)^(tmp = -2062463383, tmp)))>>(tmp = 956712476, tmp))))>>((((-1004215312)^((((-1707378612.5424936)^(tmp = 2372161553, tmp))/((tmp = 1802586581, tmp)*((2082257.1896460056)&((tmp = -1270773477, tmp)^(tmp = 942517360.3447798, tmp)))))+x))%((((666494127)^(x^x))>>>(tmp = -2592829775, tmp))+((-1601528223)+((x+(tmp = -2417034771.7409983, tmp))>>>((tmp = -730673817, tmp)*x)))))>>x)));
- assertEquals(-2603179111.7557006, x -= ((2603267255.755627)+(x/(1200979191.2823262))));
- assertEquals(1691788185, x >>= (tmp = 3088840032, tmp));
- assertEquals(-168382533, x |= (tmp = -780750941.4590135, tmp));
- assertEquals(-168382533, x >>= (60741120.48285198));
- assertEquals(-134287365, x |= (x*(tmp = 834637940.7151251, tmp)));
- assertEquals(-1481917089, x -= (tmp = 1347629724, tmp));
- assertEquals(1, x >>>= x);
- assertEquals(262144, x <<= (2680216914));
- assertEquals(1075132032, x ^= (x-((tmp = 3220359552.3398685, tmp)^(((-434474746.6039338)|((((((((tmp = 1945689314.9683735, tmp)>>(1300022273))>>>(333705550))&x)%(588357521))-(x+(x^(((tmp = -134560382, tmp)+x)-((((994246147.7195556)-(-1506599689.7383268))%(x<<x))>>((1256426985.5269494)+(tmp = 1860295952.8232574, tmp)))))))^(((tmp = 917333220.2226384, tmp)>>x)>>>(tmp = 865898066, tmp)))%((x|(x%((tmp = -2660580370, tmp)&(tmp = 2966426022, tmp))))*x)))/(((tmp = 682585452, tmp)&(-3219368609))+((tmp = -1330253964, tmp)+((x&(2857161427))/x)))))));
- assertEquals(274944, x &= ((2606953028.1319966)-(-1707165702)));
- assertEquals(266752, x &= ((x<<((x+(x+(x^(-1570175484))))^x))^(x+(x<<(tmp = 90330700.84649956, tmp)))));
- assertEquals(266752, x &= ((((x*(tmp = 2033225408, tmp))-(x-((tmp = 1507658653, tmp)/(-3016036094))))>>>((1497480588)>>(2784070758)))|(tmp = -3025904401.93921, tmp)));
- assertEquals(-1680442631, x |= ((x/(445284843))|((tmp = 2614520057.2723284, tmp)<<x)));
- assertEquals(40851947, x >>>= (tmp = -1577031386.938616, tmp));
- assertEquals(2493, x >>= ((3044630989.3662357)-(-2670572992.8580284)));
- assertEquals(-0.0000017317105653562252, x /= (-1439617017.9207587));
- assertEquals(0, x &= (2359806567));
- assertEquals(623768541, x ^= (623768541));
- assertEquals(1028567149.0716183, x += (((tmp = 1307794561, tmp)%(x>>x))-(-404798608.0716183)));
- assertEquals(-1.2971762489811298, x /= (tmp = -792927830.6471529, tmp));
- assertEquals(-1.2971762489811298, x %= ((-2426421701.2490773)/(-689566815.3393874)));
- assertEquals(-2147483648, x <<= x);
- assertEquals(-2147483648, x &= (tmp = -869991477, tmp));
- assertEquals(-268435456, x >>= (1383186659));
- assertEquals(0, x -= x);
- assertEquals(-2009742037, x |= (-2009742037.5389993));
- assertEquals(-1386630820, x ^= (627864695));
- assertEquals(-1033479103975173600, x *= (tmp = 745316697.9046186, tmp));
- assertEquals(-1628048487, x |= (2662654361));
- assertEquals(325551, x >>>= (340874477));
- assertEquals(-1235730537, x ^= (tmp = 3059533880.0725217, tmp));
- assertEquals(-1235730537, x %= (2247137328));
- assertEquals(-220200960, x <<= ((x>>x)-x));
- assertEquals(0, x <<= ((tmp = 337220439.90653336, tmp)|(tmp = 2901619168.375105, tmp)));
- assertEquals(0, x >>>= ((-2114406183)/x));
- assertEquals(0, x %= ((1425828626.3896675)/x));
- assertEquals(0, x >>>= ((3213757494)>>>(2595550834.3436537)));
- assertEquals(0, x <<= x);
- assertEquals(-0, x /= ((1544519069.5634403)/((tmp = -1332146306, tmp)&(-762835430.0022461))));
- assertEquals(0, x ^= x);
- assertEquals(0, x >>= (x|((((x*((-786272700)+x))<<x)+((tmp = -1868484904, tmp)-(tmp = -1692200376, tmp)))+(-1010450257.6674457))));
- assertEquals(0, x -= x);
- assertEquals(0, x ^= (x>>>(706010741)));
- assertEquals(-964928697, x |= (-964928697));
- assertEquals(1, x /= x);
- assertEquals(0, x >>= ((((tmp = 1778003555.3780043, tmp)>>(x%((tmp = -766158535, tmp)^((-2681449292.8257303)%((x-(x|(tmp = 1966478387.2443752, tmp)))^(((tmp = -1848398085, tmp)&x)>>>(tmp = -2860470842, tmp)))))))%(tmp = 2315077030, tmp))^x));
- assertEquals(0, x ^= x);
- assertEquals(-288007757, x ^= ((tmp = 183607156.1803962, tmp)-(tmp = 471614914, tmp)));
- assertEquals(-270573581, x |= (tmp = -849475741.9424644, tmp));
- assertEquals(-2129929, x |= (((((1942852445)&(tmp = 1280372312, tmp))*(x*(tmp = -1601900291, tmp)))^((509080002.81080174)-(tmp = 2699498226.9164257, tmp)))>>(((-335361221)>>(tmp = 843134832, tmp))%(-35532542))));
- assertEquals(-232622355, x ^= ((-3060885134.5375547)-(((tmp = 1965966723, tmp)-((tmp = 1248630129.6970558, tmp)<<(tmp = 1859637857.5027392, tmp)))*x)));
- assertEquals(-52149658093200070, x *= (224181627.31264615));
- assertEquals(-697122968, x ^= (x-(x+(tmp = 2747211186.407712, tmp))));
- assertEquals(-2146269688, x &= ((tmp = -1466710519, tmp)^(x/(1419998975))));
- assertEquals(-536567422, x >>= (((((tmp = -1760701688.999274, tmp)>>(-1821976334))/(((tmp = -1660849531, tmp)>>>x)-((x+((tmp = -2489545009.4327965, tmp)>>>((tmp = -267360771.39148235, tmp)^x)))*(((-1453528661)%x)>>>(((243967010.3118453)/((((((2977476024)>>>((-1630798246)<<x))&(591563895.2506002))*(((2668543723.9720144)>>>x)|(1600638279)))^x)>>(x<<(tmp = -152589389, tmp))))>>>(x|(2821305924.9225664)))))))+(618968002.8307843))%(tmp = -1005408074.368274, tmp)));
- assertEquals(40962, x &= (114403906));
- assertEquals(19741977727890, x *= ((-2367133915.963945)>>>(-3119344126)));
- assertEquals(1313341440, x <<= x);
- assertEquals(626, x >>>= ((((-333992843)%(tmp = -2742280618.6046286, tmp))>>>x)|x));
- assertEquals(0, x <<= (2598188575));
- assertEquals(NaN, x %= x);
- assertEquals(NaN, x %= x);
- assertEquals(0, x ^= (x%((2507288229.3233204)&(tmp = -1714553169.9276752, tmp))));
- assertEquals(0, x /= ((633436914.3859445)>>>(tmp = 1579804050.6442273, tmp)));
- assertEquals(0, x *= ((tmp = 1172218326, tmp)<<((tmp = -2491306095.8456626, tmp)*(((tmp = 1305371897.9753594, tmp)>>((x^(((3077992060)*x)<<(492815553.904796)))>>((652151523)|x)))%x))));
- assertEquals(0, x <<= x);
- assertEquals(0, x %= (1118131711));
- assertEquals(0, x &= ((tmp = 2734673884, tmp)|(x-((tmp = 2694578672.8975897, tmp)*(((x>>(2350811280.974167))*(1052548515))&(x^(x*(tmp = -1336287059.0982835, tmp))))))));
- assertEquals(-2632782867.1256156, x += ((tmp = -2743992725.1256156, tmp)+(tmp = 111209858, tmp)));
- assertEquals(-0, x %= x);
- assertEquals(0, x >>>= (((tmp = -2050519887, tmp)^(106865302.74529803))>>(1642851915.2909596)));
- assertEquals(-171964826, x |= (tmp = -171964826.6087358, tmp));
- assertEquals(-2.113405951193522, x /= (tmp = 81368572.80206144, tmp));
- assertEquals(3, x >>>= x);
- assertEquals(0, x %= x);
- assertEquals(-1717345907.837667, x += (-1717345907.837667));
- assertEquals(-100964883, x |= (tmp = -109574931.80629134, tmp));
- assertEquals(-33849857, x |= (-974111718.2433801));
- assertEquals(1, x >>>= (tmp = -2556222849.005595, tmp));
- assertEquals(1, x /= x);
- assertEquals(0, x >>>= (-1796630999.4739401));
- assertEquals(0, x >>>= x);
- assertEquals(2031695758, x += (((x/(((tmp = -2364918403, tmp)%(x^((tmp = 277767803.6375599, tmp)>>((((tmp = 540036080, tmp)/(x|(2665298931)))/(x|((x>>(-2035456216.6165116))<<(2143184420.5651584))))^x))))&(tmp = 927798419.8784283, tmp)))-(-2031695758))>>>x));
- assertEquals(2031695758, x |= x);
- assertEquals(2031695758, x <<= (((x>>(x%x))|(tmp = -1164531232.7384055, tmp))*x));
- assertEquals(124004, x >>>= x);
- assertEquals(529846352, x += ((529722348)%((2417645298.865121)|(x>>(x>>>(x+x))))));
- assertEquals(60067920, x &= (((tmp = -3166008541.8486233, tmp)-x)|(x%x)));
- assertEquals(1415594240755200, x *= ((-2786707452.873729)>>(((tmp = -2369315809, tmp)*((1559868465)|(1011218835.1735028)))>>>x)));
- assertEquals(1415595182259140, x += (941503939.9023957));
- assertEquals(0, x <<= ((tmp = 2887184784.265529, tmp)/(-2575891671.0881453)));
- assertEquals(0, x &= ((tmp = -1546339583, tmp)>>>(tmp = -587433830, tmp)));
- assertEquals(0, x *= (((tmp = 1356991166.5990682, tmp)%(tmp = -284401292, tmp))*(1869973719.9757812)));
- assertEquals(NaN, x %= x);
- assertEquals(0, x ^= (((tmp = 92575404.43720293, tmp)>>>(263475358.17717505))%x));
- assertEquals(0, x <<= (((561514358)*(tmp = -439584969, tmp))%((((-3005411368.7172136)+x)|(-2230472917))&x)));
- assertEquals(0, x >>= ((x>>>x)-((x-(1630649280.510933))+x)));
- assertEquals(0, x >>= (tmp = -1772403084.7012017, tmp));
- assertEquals(0, x *= x);
- assertEquals(0, x += x);
- assertEquals(0, x &= x);
- assertEquals(0, x >>= (tmp = 1622680387, tmp));
- assertEquals(1033887633558225200, x -= ((-510616337)*(tmp = 2024783695, tmp)));
- assertEquals(-2.8073538539158063e+27, x *= (tmp = -2715337492, tmp));
- assertEquals(-2.8073538539158063e+27, x -= ((tmp = -1664804757, tmp)&((tmp = -226616419, tmp)>>>(1006711498))));
- assertEquals(1894539615, x |= (tmp = -2400427681.1831083, tmp));
- assertEquals(7400545, x >>= (774629608.4463601));
- assertEquals(456756268, x += (449355723));
- assertEquals(285771784, x &= (-1316427366));
- assertEquals(17, x >>= ((tmp = -220509931.20787525, tmp)*(((tmp = 2518859292, tmp)+(-1477543005.1586645))>>(tmp = 3172820250.687789, tmp))));
- assertEquals(85924262443, x *= (x*((tmp = -2856669745.965829, tmp)&(((tmp = 401420695, tmp)^(tmp = 2355371132, tmp))|(tmp = 590645330.021911, tmp)))));
- assertEquals(1703875715, x ^= ((-2576394029.7843904)-x));
- assertEquals(1703875715, x %= (tmp = 2234144310, tmp));
- assertEquals(271405807, x ^= (1973569132));
- assertEquals(1060178, x >>>= (tmp = -84823096, tmp));
- assertEquals(8, x >>>= (tmp = 2246120561.905554, tmp));
- assertEquals(-2846791089, x += (-2846791097));
- assertEquals(104933962, x &= (x-(-2969030955.99584)));
- assertEquals(489215611.96215343, x -= (-384281649.96215343));
- assertEquals(489215611, x |= x);
- assertEquals(1186191360, x <<= ((tmp = 774407142.993727, tmp)%x));
- assertEquals(1186191360, x %= (1555004022));
- assertEquals(-1697134080, x ^= (tmp = -597421568, tmp));
- assertEquals(-1102053376, x <<= ((-927370769.4059179)^((tmp = 1093490918, tmp)>>(((-2522227493.3821955)%x)+(-2657319903)))));
- assertEquals(1086450058, x ^= (-23991926.187098265));
- assertEquals(1086450058, x |= x);
- assertEquals(-1.6554590588410778, x /= (x|(x<<(x+x))));
- assertEquals(67108863, x >>>= ((-926530233)+x));
- assertEquals(494553310, x ^= (tmp = 512079649, tmp));
- assertEquals(207751168, x &= (2892146720.6261826));
- assertEquals(207751168, x &= x);
- assertEquals(207751168, x |= x);
- assertEquals(6340, x >>>= (((((x<<(x-((-2819638321)*((x<<x)+x))))>>x)+(tmp = 2016170261, tmp))+(tmp = 2755496043.772017, tmp))+(-841368625.1402085)));
- assertEquals(6340, x ^= ((x/(tmp = -192734784, tmp))>>>(((-140306239)&x)-x)));
- assertEquals(1, x /= x);
- assertEquals(0, x >>= x);
- assertEquals(26786600, x ^= (tmp = 26786600, tmp));
- assertEquals(-0.014657576899542954, x /= ((-1454855938.0338)+(-372635753.3681567)));
- assertEquals(0, x &= ((tmp = 2480635933, tmp)&(-2986584704.9165974)));
- assertEquals(-2108639122, x += ((tmp = 2108639123.8683565, tmp)^((-881296055)/(((x<<(2026200582))|(tmp = -862495245.138771, tmp))-(-1111596494.892467)))));
- assertEquals(1893466112, x <<= (tmp = 607974481, tmp));
- assertEquals(1893466112, x |= x);
- assertEquals(1133122783.997418, x += ((tmp = -760343332, tmp)-((x-(tmp = -878561823.4218843, tmp))/(tmp = -693454632.596637, tmp))));
- assertEquals(8, x >>>= (tmp = 700339003.3919828, tmp));
- assertEquals(4.605305035175536e-9, x /= (1737127060.8343256));
- assertEquals(4.605305035175536e-9, x -= ((x%(897221779))>>>x));
- assertEquals(-1864423625.5704088, x += (tmp = -1864423625.5704088, tmp));
- assertEquals(1132240092, x <<= (1304417186.1193643));
- assertEquals(-2088985380, x ^= (x<<x));
- assertEquals(-4, x >>= ((tmp = 1959823884.0935726, tmp)%(-1679792398.569136)));
- assertEquals(-268435456, x <<= ((tmp = 2586838136, tmp)|((tmp = -481716750.718518, tmp)>>>((1485826674.882607)/(tmp = -2826294011, tmp)))));
- assertEquals(-32768, x >>= (2060648973));
- assertEquals(1, x /= x);
- assertEquals(-2838976297, x -= (tmp = 2838976298, tmp));
- assertEquals(-1382985298, x <<= ((tmp = -2104305023, tmp)&x));
- assertEquals(10, x >>>= (x+x));
- assertEquals(10, x -= (x>>>(361588901.70779836)));
- assertEquals(854603510, x -= (-854603500));
- assertEquals(-557842432, x <<= (tmp = 1212985813.6094751, tmp));
- assertEquals(-459390188241943040, x *= (tmp = 823512450.6304014, tmp));
- assertEquals(-232800033621957060, x /= ((((((686635689)/(tmp = 2013252543, tmp))*(tmp = -1591617746.8678951, tmp))|(((tmp = -1777454093.5611362, tmp)>>>((tmp = 2680809394, tmp)^(((x>>((((((tmp = -265022244, tmp)%((tmp = -3075004537, tmp)>>(((((1427784269.5686688)^((tmp = -1095171528.911587, tmp)^(-942424985.7979553)))>>(-1279441481.1987405))*((2493620394)>>(-2769016043)))/(x&((tmp = 2059033657, tmp)%(((tmp = 1948606940.1488457, tmp)-(tmp = -2645984114.13219, tmp))^x))))))^x)^x)%(x%((((tmp = 3209433446.4551353, tmp)%(tmp = 1364430104.0424738, tmp))/(tmp = -2103044578.349498, tmp))+(tmp = -2613222750, tmp))))*(2099218034)))&(((tmp = -378500985.49700975, tmp)>>(((x+x)|(x%(((-1841907486)<<(-1220613546.194021))<<(tmp = -1260884176, tmp))))^(tmp = 1858784116, tmp)))>>>((x%x)%((x>>>(tmp = -2540799113.7667685, tmp))|x))))/((((tmp = 642072894.6455215, tmp)-(-324951103.6679399))*(tmp = 1424524615, tmp))+((x<<(tmp = -904578863.5945344, tmp))*(tmp = 49233475.435349464, tmp))))))<<(tmp = 1680210257, tmp)))+((tmp = -1516431503, tmp)>>>(-1105406695.3068116)))/(-275019361.6764543)));
- assertEquals(192359387.42913792, x /= (-1210234846));
- assertEquals(192359387.42913792, x %= (-2920206625.0154076));
- assertEquals(192359387.42913803, x -= (((((((tmp = -1263203016.3258834, tmp)-(2432034005.6011124))&x)<<(1479434294))>>((tmp = -1695856315.523002, tmp)>>>(tmp = 557391345, tmp)))/(tmp = -1280240246.2501266, tmp))%((tmp = -2196489823.034029, tmp)>>(((x&((912221637.1101809)+((tmp = -3003677979.652423, tmp)>>(tmp = -716129460.1668484, tmp))))-((x+(x-(-2780610859)))>>>(-2445608016)))<<((x*(x+(x+(((-2124412727.9007604)%(tmp = -593539041.5539455, tmp))&(tmp = 2404054468.768749, tmp)))))%(x>>(tmp = -2913066344.404591, tmp)))))));
- assertEquals(11740, x >>= (688848398.7228824));
- assertEquals(11740, x >>= ((1545765912)*(307650529.9764147)));
- assertEquals(23480, x += x);
- assertEquals(0, x >>>= ((tmp = 1313078391, tmp)|x));
- assertEquals(1726251264, x -= ((1939413887)<<(1004888744.2840619)));
- assertEquals(765324793.5278986, x %= (960926470.4721014));
- assertEquals(747387, x >>= ((2483010044)-(tmp = -413698190, tmp)));
- assertEquals(1, x /= x);
- assertEquals(3016811624, x *= (3016811624));
- assertEquals(17408, x &= (((tmp = -991624868, tmp)<<(((63107932)/(tmp = 2659939199, tmp))|(tmp = -1968768911.3575773, tmp)))>>(((-2876822038.9910746)|(tmp = 2550230179.243425, tmp))<<((x*(x<<((x<<((tmp = -1627718523.616604, tmp)|((2154120561.254636)-(x%(x<<(1484563622.1791654))))))<<((((x^(tmp = 3016524169, tmp))<<(((x+(tmp = 1887816698.2455955, tmp))+x)-x))-(-3023329069))-x))))+x))));
- assertEquals(0, x <<= (((1247441062.177967)/(-1717276234))+x));
- assertEquals(0, x |= ((x%((-1648299429.4520087)>>(-137511052)))>>(tmp = 221301016.4926411, tmp)));
- assertEquals(0, x /= ((-2598501544.913707)>>>(-2177037696)));
- assertEquals(NaN, x %= (x>>x));
- assertEquals(0, x &= (tmp = 1852419158, tmp));
- assertEquals(-829029120, x |= (((2122339180)*((((((tmp = 768748914, tmp)<<((1008490427)&((1937367899.957056)-(((635094486)>>(((tmp = -795046025, tmp)*(2665104134.4455256))^(tmp = 706594584.2462804, tmp)))/(504397522)))))/(-556057788))>>((x/(tmp = -2732280594, tmp))-x))+(-1989667473))+(tmp = 2766802447.789895, tmp)))<<(((tmp = -2969169096, tmp)-x)+(tmp = 2093593159.0942125, tmp))));
- assertEquals(0.6451933462602606, x /= ((-1284931292)<<(x<<(tmp = 1294716764, tmp))));
- assertEquals(1515416866.520901, x *= (2348779440));
- assertEquals(-1620606242886682600, x *= ((-993898625.5357854)&(((tmp = -571100481, tmp)/x)*((2428590177.311031)%(tmp = -2671379453, tmp)))));
- assertEquals(-1137472828, x %= (tmp = -1195183004, tmp));
- assertEquals(-3096634005473250000, x *= (tmp = 2722380640, tmp));
- assertEquals(-3096634003996758500, x -= (-1476491033.833419));
- assertEquals(-3096634000805538000, x += (3191220521.978341));
- assertEquals(-3096634000805468000, x += ((((tmp = -3024976741, tmp)&(952616360))|((x*(-1547952311))+(x*x)))>>>(tmp = 981373323, tmp)));
- assertEquals(-3096633998655594000, x += (2149873927));
- assertEquals(-118812224101.54297, x %= (((2641881276.9898443)*(((502159480)^x)<<x))%((tmp = -2840045365.547772, tmp)*(((((-2297661528)>>>(x>>(-229103883.94961858)))&(((-1285047374.6746495)<<((-360045084)>>>((x-(tmp = -956123411.1260898, tmp))%x)))>>((tmp = -2375660287.5213504, tmp)+((((tmp = -2753478891, tmp)>>>(((tmp = 101438098, tmp)>>(((tmp = -2736502951, tmp)<<((tmp = -3084561882.368902, tmp)&(tmp = 1491700884, tmp)))|x))&(tmp = 1627412882.6404104, tmp)))>>>(tmp = 1039002116.6784904, tmp))<<((tmp = -2840130800, tmp)-(tmp = -740035567, tmp))))))&(tmp = -416316142, tmp))>>x))));
- assertEquals(86, x >>>= (tmp = -293489896.5572462, tmp));
- assertEquals(172, x += (x%((((-2635082487.364155)|((-2361650420.634912)&(-2147095650.7451198)))<<((tmp = 2258905145.9231243, tmp)%((((tmp = -1365987098.5130103, tmp)*(((((((932437391)/x)/(289270413.0780891))%(x-x))+((((2194986374.917528)>>(((((tmp = -1553805025, tmp)|x)^(((x>>(-564400586.0780811))^(tmp = 1738428582.0238137, tmp))>>(tmp = 1717774140, tmp)))&(tmp = -2789427438, tmp))%(((tmp = -1386118057, tmp)*(-2333221237.7915535))*(x>>>(((((41346648.46438944)&x)%(-478973697.6792319))|(tmp = 2108106738, tmp))/x)))))-(tmp = -133437701.64136505, tmp))>>>x))+(tmp = -1567210003, tmp))*(x+((x&x)-(2942851671)))))>>>(tmp = -446377136, tmp))*((((((tmp = 1597203255, tmp)>>>(619157171))|(-2766246629.005985))>>((tmp = 3130227370, tmp)%x))*(tmp = 2072227901.6101904, tmp))|((tmp = 1369019520, tmp)^(759659487))))))>>>x)));
- assertEquals(1996475731, x ^= ((1456327892.2281098)|(1728022827)));
- assertEquals(0, x %= x);
- assertEquals(0, x &= (1323847974));
- assertEquals(3076829073.8848357, x += (3076829073.8848357));
- assertEquals(9569842648396755000, x *= (3110293883.2782717));
- assertEquals(9569842646260304000, x -= (2136450372.9038036));
- assertEquals(9.158188827418242e+37, x *= x);
- assertEquals(0, x <<= ((x&(tmp = -2241179286, tmp))+((tmp = 2553144081, tmp)&((tmp = -1914709694, tmp)^(tmp = -1469651409.0651562, tmp)))));
- assertEquals(0, x <<= x);
- assertEquals(0, x /= (2177840666.276347));
- assertEquals(0, x %= (-690827104));
- assertEquals(0, x >>>= x);
- assertEquals(0, x ^= x);
- assertEquals(-0, x /= (tmp = -803415280, tmp));
- assertEquals(-2355576914.316743, x += (-2355576914.316743));
- assertEquals(-833671722514674000, x *= ((3053388806.692315)-(tmp = 2699474775.081724, tmp)));
- assertEquals(1, x /= x);
- assertEquals(1898147684, x += ((tmp = 1898147683, tmp)|(x<<x)));
- assertEquals(2.192324660388075, x %= ((tmp = 2630187518, tmp)/((2868794982.790862)|(490860748))));
- assertEquals(0, x >>>= ((2751021779)/(-952522559)));
- assertEquals(321040461, x ^= ((321040461.153594)-x));
- assertEquals(-2.3814602031636922, x /= ((tmp = -170472190, tmp)|x));
- assertEquals(-1, x >>= (2200125174.177402));
- assertEquals(-2964432647.9379396, x += (-2964432646.9379396));
- assertEquals(-370116502.93793964, x %= (tmp = -518863229, tmp));
- assertEquals(777927355.2283959, x -= (-1148043858.1663356));
- assertEquals(0, x *= ((tmp = 1134913539, tmp)&(((x>>>((tmp = -989822787, tmp)>>>x))%x)&(tmp = 1078636160.7313156, tmp))));
- assertEquals(-1089245637, x ^= (3205721659.3548856));
- assertEquals(-1192493056, x <<= (-1173291054));
- assertEquals(78013832, x += ((tmp = 2462999944, tmp)+x));
- assertEquals(0, x %= x);
- assertEquals(0, x >>>= (1794908927.7409873));
- assertEquals(1708338504, x += ((-2586628792.3484306)<<x));
- assertEquals(12, x >>= (-545794789.3827574));
- assertEquals(0, x &= ((2753207225)<<(((-1776581207.557251)+((tmp = -2414140402, tmp)*x))+(x<<(x|(tmp = 772358560.3022032, tmp))))));
- assertEquals(0, x <<= ((tmp = -2755724712.152605, tmp)/((x>>(-732875466))&x)));
- assertEquals(NaN, x *= (((tmp = 2617815318.1134562, tmp)/x)%(x|((((((-851659337.194871)<<(tmp = 2072294700, tmp))%((x+(2193880878.5566335))^((tmp = 3005338026, tmp)-(2947963290))))/x)/(x+(2091745239.4210382)))-(x>>x)))));
- assertEquals(NaN, x /= (tmp = -427684595.0278094, tmp));
- assertEquals(NaN, x /= (tmp = -263945678, tmp));
- assertEquals(0, x <<= x);
- assertEquals(0, x <<= x);
- assertEquals(0, x -= (((x>>((x&x)-(tmp = -673697315, tmp)))>>(((1575095242.2330558)/(x-(-1816886266)))%(-1580195729)))>>>x));
- assertEquals(0, x >>>= x);
- assertEquals(0, x >>= (-2815518206));
- assertEquals(0, x -= (x/(1795634670.692437)));
- assertEquals(-2753579891, x += (tmp = -2753579891, tmp));
- assertEquals(2.7773776150171776, x /= (tmp = -991431585, tmp));
- assertEquals(5.554755230034355, x += x);
- assertEquals(3.362161997528237e-9, x /= (1652137890.4758453));
- assertEquals(3.362161997528237e-9, x %= (tmp = -10848734.527020693, tmp));
- assertEquals(1, x /= x);
- assertEquals(-2978012493, x -= (x+(2978012493)));
- assertEquals(-5.158905851797543, x /= (((x+((tmp = -2548840164, tmp)>>x))<<(x^((tmp = -533281232.7294345, tmp)&x)))&(tmp = -1502692171, tmp)));
- assertEquals(-5.158905851797543, x %= (-3009435255.5612025));
- assertEquals(-20971520, x <<= ((tmp = -2728812464, tmp)%(2619809573.672677)));
- assertEquals(-1900019712, x &= (2398099552));
- assertEquals(-1991377, x %= ((tmp = 1562364373.7334614, tmp)>>>(((x-(-946283217))<<(-2044590694))^(((tmp = 1681238509, tmp)>>(-2801649769))-x))));
- assertEquals(1, x /= x);
- assertEquals(1, x %= (x/(x-x)));
- assertEquals(1.3525631913093335e-9, x /= (739336991));
- assertEquals(0, x &= ((x&(x|(-1530424204)))<<((((tmp = -295143065.9115021, tmp)>>x)+x)<<x)));
- assertEquals(0, x <<= (-1311017801));
- assertEquals(-0, x /= (-667133339.1918633));
- assertEquals(1038307283, x += (1038307283));
- assertEquals(506985, x >>>= ((tmp = 1550624472.9157984, tmp)^x));
- assertEquals(506985, x >>>= ((254646626)<<(tmp = 1572845412.744642, tmp)));
- assertEquals(32447040, x <<= (tmp = -2427326042, tmp));
- assertEquals(0, x -= (x<<((x|x)>>>x)));
- assertEquals(0, x &= x);
- assertEquals(0, x &= ((-484420357)|((tmp = 807540590.6132902, tmp)/(x/x))));
-}
-f();
diff --git a/src/3rdparty/v8/test/mjsunit/numops-fuzz-part4.js b/src/3rdparty/v8/test/mjsunit/numops-fuzz-part4.js
deleted file mode 100644
index c4ea614..0000000
--- a/src/3rdparty/v8/test/mjsunit/numops-fuzz-part4.js
+++ /dev/null
@@ -1,1177 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function f() {
- var x = 0;
- var tmp = 0;
- assertEquals(-890607324, x ^= ((tmp = -890607324, tmp)>>((((-2876826295)>>x)<<((tmp = 2351495148.117994, tmp)>>(tmp = 1368611893.274765, tmp)))*(tmp = 1531795251, tmp))));
- assertEquals(-729075363, x += (x+(tmp = 1052139285, tmp)));
- assertEquals(531550884933581760, x *= x);
- assertEquals(1980836332, x ^= ((-746269795.2320724)-((2400458512)>>((1290672548)>>>((((1536843439.5629003)&(3185059975.158061))*(tmp = -1339249276.2667086, tmp))&x)))));
- assertEquals(941373096, x %= ((x+(-451098412))^(tmp = 1725497732, tmp)));
- assertEquals(-1766019323, x += (tmp = -2707392419, tmp));
- assertEquals(2528947973, x >>>= (x^(-896237435.3809054)));
- assertEquals(-263192576, x <<= (-866361580));
- assertEquals(-2008, x >>= (-2608071791));
- assertEquals(-88, x %= (((-1076807218.4792447)&((tmp = 601044863, tmp)>>((tmp = 1228976729, tmp)+((((-2711426325)*x)|x)|(x%(-2700007330.3266068))))))&(tmp = 3147972836.778858, tmp)));
- assertEquals(1762886843, x ^= (tmp = 2532080403, tmp));
- assertEquals(1762886843, x %= ((((((tmp = -2059247788, tmp)>>x)/x)+(x<<x))^x)>>>(-1969283040.3683646)));
- assertEquals(4812334726.587896, x += (tmp = 3049447883.587897, tmp));
- assertEquals(1, x /= x);
- assertEquals(1, x *= x);
- assertEquals(-2150507334, x -= ((tmp = 1578221999, tmp)+(tmp = 572285336, tmp)));
- assertEquals(-4546475858941548500, x *= ((tmp = -931533139.5546813, tmp)^(tmp = 3061503275, tmp)));
- assertEquals(-269064192, x |= ((207217276.91936445)<<(tmp = -957353678.4997551, tmp)));
- assertEquals(1, x /= x);
- assertEquals(1, x <<= (((1463856021.8616743)%(x*(tmp = -2286419102, tmp)))/(-2852887593)));
- assertEquals(2223868564.8383617, x *= (tmp = 2223868564.8383617, tmp));
- assertEquals(918797189.9033995, x -= ((1305071374.9349623)%(x+(2211992629))));
- assertEquals(-2212004787.4668465, x -= (tmp = 3130801977.370246, tmp));
- assertEquals(31783, x >>= (2951958960));
- assertEquals(31783, x ^= ((((tmp = -2441511566, tmp)&((tmp = 91427553.90168321, tmp)+((tmp = 3001737720.327718, tmp)%x)))>>>(-2263859841))>>>((2109161329)>>(tmp = -2816295136.7443414, tmp))));
- assertEquals(4068224, x <<= (x%((tmp = -682576250.4464607, tmp)*(x/(((x-x)>>>(x&((((x<<(x<<x))>>>((((2243036981.528562)/(((-1839328916.9411087)>>(-1907748022.162144))<<(x+x)))+((tmp = 2362574171, tmp)<<(tmp = 1987834539, tmp)))|(-444329240)))|(399451601.1717081))>>x)))&(968363335.6089249))))));
- assertEquals(0.0030991932898194294, x /= ((tmp = 1067316540.5529796, tmp)^(-2388640366)));
- assertEquals(0, x >>= x);
- assertEquals(0, x >>>= (tmp = -393433349.1636851, tmp));
- assertEquals(0, x *= (((x^(((1806955787.471396)<<x)^((517668047.55566347)>>>(x%(x<<(tmp = -276586733.4844558, tmp))))))%(1661242196.1472542))|x));
- assertEquals(0, x |= (x>>x));
- assertEquals(-155236210, x |= (tmp = -155236210.19366312, tmp));
- assertEquals(-606392, x >>= ((tmp = -1533446042.97781, tmp)^x));
- assertEquals(-1, x >>= (936126810));
- assertEquals(2325115611, x -= (-2325115612));
- assertEquals(0, x -= x);
- assertEquals(0, x >>= (tmp = -354826623, tmp));
- assertEquals(-0, x *= (-1232528947.7321298));
- assertEquals(0, x |= x);
- assertEquals(0, x <<= (((tmp = 187758893.4254812, tmp)&(x-(tmp = 648201576, tmp)))&(385106597)));
- assertEquals(0, x >>= (tmp = 2554891961, tmp));
- assertEquals(-1311492611.2970417, x += (-1311492611.2970417));
- assertEquals(-688179220.3221785, x += (623313390.9748632));
- assertEquals(1416835528, x &= (tmp = 1953739224, tmp));
- assertEquals(-11.04719252755072, x /= (-128252995));
- assertEquals(-6.287413042114223e-9, x /= (tmp = 1757033052.1558928, tmp));
- assertEquals(-4231171, x |= (((((2022730885.7773404)*((-2495777565.221855)|(tmp = 274627292, tmp)))<<(-3072596920.4902725))>>>((-2215057529)+(-1134713759.4247034)))^((tmp = -1888181788, tmp)/(572025985.2748461))));
- assertEquals(-4194305, x |= ((tmp = 167328318.038759, tmp)>>>(153800904.34551537)));
- assertEquals(-1316525687, x -= (1312331382));
- assertEquals(1448723245.7863903, x += (2765248932.7863903));
- assertEquals(1.7219707102205526, x /= (tmp = 841317008, tmp));
- assertEquals(1872027792.5217001, x *= (x|(tmp = 1087142645.6665378, tmp)));
- assertEquals(3504488055973669400, x *= x);
- assertEquals(-1075254784, x |= x);
- assertEquals(-5, x >>= (((844461331.8957539)-((x&x)<<((tmp = 1443904777, tmp)+(tmp = 736164505.3670597, tmp))))-(((tmp = 1348422110, tmp)>>((tmp = -2878252514, tmp)/(-1175443113)))|((-2138724317)%(2057081133)))));
- assertEquals(-3.038875804165675e-9, x /= (1645345292.8698258));
- assertEquals(1.25204541454491e-18, x /= (-2427129055.274914));
- assertEquals(-1.7151576137235622e-9, x *= (-1369884505.6247284));
- assertEquals(1590804618, x ^= (1590804618.4910607));
- assertEquals(5061318665300252000, x *= (x+x));
- assertEquals(5061318665300252000, x %= ((tmp = 1102144242, tmp)*x));
- assertEquals(-7, x >>= (2772167516.624264));
- assertEquals(16383, x >>>= (-2979259214.5855684));
- assertEquals(47108415435, x *= ((2944456517.839616)>>>(1041288554.5330646)));
- assertEquals(61, x >>>= (x^(((-1305163705)<<((948566605)-x))-x)));
- assertEquals(0, x %= x);
- assertEquals(0, x ^= (((tmp = 1918861879.3521824, tmp)/((x%(tmp = 945292773.7188392, tmp))%(x|x)))>>x));
- assertEquals(-0, x *= ((((x|((2810775287)|(tmp = 1265530406, tmp)))^((tmp = 3198912504.175658, tmp)-(((tmp = 1422607729.281712, tmp)<<(tmp = 2969836271.8682737, tmp))&x)))<<((tmp = 844656612, tmp)*(((((tmp = -828311659, tmp)%(((-2083870654)>>>(x^(((((933133782)-(tmp = 1033670745, tmp))-(629026895.4391923))%((-605095673.8097742)*((((-227510375.38460112)*x)+x)&(((((tmp = 472873752.68609154, tmp)^(tmp = 2815407038.712165, tmp))+((x>>>((tmp = -1331030665.3510115, tmp)>>>(2281234581)))-(x>>>x)))&(tmp = -2160840573.325921, tmp))&x))))<<(tmp = 1411888595, tmp))))|(((tmp = -915703839.0444739, tmp)/((x+(418836101.8158506))%(-1112605325.4404268)))&((-3098311830.6721926)-x))))-((49446671.477988124)*(-2522433127)))+((tmp = 443068797, tmp)>>(tmp = 418030554.97275746, tmp)))*((tmp = 38931296.738208175, tmp)+(1842742215.3282685)))))-((tmp = 1325672181.205841, tmp)^(tmp = 669284428, tmp))));
- assertEquals(-0, x *= (tmp = 93843030, tmp));
- assertEquals(0, x ^= x);
- assertEquals(0, x ^= x);
- assertEquals(0, x <<= x);
- assertEquals(0, x >>>= (x%((((((tmp = -107458601, tmp)>>(x*((x|((tmp = 2117286494, tmp)>>((x^(tmp = 114214295.42048478, tmp))>>>(tmp = 1032826615, tmp))))&((x*x)&(-225386977.67686415)))))^((-780566702.5911419)+(-1113319771)))|(((x^x)<<(1288064444))>>(-2292704291.619477)))>>(365125945))-((tmp = -1986270727.235776, tmp)/x))));
- assertEquals(-0, x *= (((-18925517.67125845)|((((-1975220517)+(tmp = -1250070128.296064, tmp))+(1085931410.5895243))<<(((x|(((x*(tmp = 160207581.50536323, tmp))|(tmp = 1798744469.7958293, tmp))-x))>>>(((x+((x%x)&((((x^x)<<((tmp = 2538012074.623554, tmp)^x))*x)&x)))/(x+(tmp = -2563837407, tmp)))/(tmp = 2189564730, tmp)))/(((-1703793330.5770798)<<((176432492)|x))<<(1347017755.345185)))))<<(((tmp = -577100582.7258489, tmp)&x)/(-31246973))));
- assertEquals(0, x >>>= x);
- assertEquals(NaN, x %= ((x*(tmp = 1167625971, tmp))&(((tmp = -770445060, tmp)>>((339248786)^((2058689781.2387645)-((-2381162024)*(660448066)))))&x)));
- assertEquals(NaN, x += ((3088519732.515986)-(-267270786.06493092)));
- assertEquals(0, x &= (tmp = 2748768426.3393354, tmp));
- assertEquals(-1109969306, x ^= ((-1109969306)>>>x));
- assertEquals(-1109969306, x %= (tmp = 1150376563.581773, tmp));
- assertEquals(-2058145178, x &= (-2057586057));
- assertEquals(-850185626, x |= ((x^(tmp = 1223093422, tmp))&((-589909669)<<(2299786170))));
- assertEquals(1489215443, x += (2339401069));
- assertEquals(-23592960, x <<= x);
- assertEquals(2063937322, x ^= (-2053296342.2317986));
- assertEquals(12922122, x %= (x^((-2259987830)>>(x*(((tmp = -799867804.7716949, tmp)&(tmp = -1068744142, tmp))*(((((1091932754.8596292)-((tmp = -1778727010, tmp)>>(((tmp = 1207737073.2689717, tmp)-(x-(tmp = -1191958946, tmp)))+(-631801383.7488799))))-(-618332177))>>>(-156558558))>>>(3032101547.6262517)))))));
- assertEquals(12922122, x &= x);
- assertEquals(Infinity, x /= (x%x));
- assertEquals(0, x &= (x*(-227800722.62070823)));
- assertEquals(-865648691, x ^= (-865648691));
- assertEquals(1, x /= (x%(tmp = 1524739353.8907173, tmp)));
- assertEquals(16, x <<= (x<<(2335214658.789205)));
- assertEquals(0, x &= ((tmp = 570332368.1239192, tmp)^(-2278439501)));
- assertEquals(1881145344, x -= (((-569715735.8853142)+(2093355159))<<(tmp = 2788920949, tmp)));
- assertEquals(0, x ^= x);
- assertEquals(NaN, x -= ((tmp = -1427789954, tmp)%((((((411038329.49866784)-x)-(x<<((-1330832247)+x)))/x)^((x*(845763550.2134092))>>(tmp = 1427987604.5938706, tmp)))>>>(1857667535))));
- assertEquals(NaN, x /= (-313793473));
- assertEquals(0, x >>>= (x/x));
- assertEquals(1869358566, x -= (-1869358566));
- assertEquals(-1901664519209545200, x += ((tmp = 944729941.3936644, tmp)*(-2012918653)));
- assertEquals(-1901664519209545200, x += ((tmp = 1348246793, tmp)/(x&x)));
- assertEquals(-1576791552, x &= (tmp = 2719250966.739456, tmp));
- assertEquals(-305087899, x ^= (-2955630491.030272));
- assertEquals(0, x ^= (x%(1575252839.559443)));
- assertEquals(4184604407, x += ((((tmp = -244720076.17657042, tmp)|(2819320515))^((((tmp = 1222623743.9184055, tmp)*(-95662379.577173))/(x/(x+(((x-(tmp = -3024718107.6310973, tmp))^(-1494390781))&(tmp = 2284054218.8323536, tmp)))))>>>(tmp = 2090069761, tmp)))>>>(x%x)));
- assertEquals(3148907440, x -= (((tmp = -332379100.7695112, tmp)-(-1145399547))^(((((((tmp = 3133792677.785844, tmp)+x)<<(2306999139.5799255))>>((tmp = -2051266106, tmp)*(((((x+(((-728654312.8954825)>>(x>>>(((x%x)&(-1587152364))|(((((-2114138294)&x)&(1547554688))^x)-(-1856094268)))))*(((-1135018784)&((x+(tmp = -1444020289, tmp))|x))+x)))>>x)&x)/(2449005489))<<((131073798.64314616)%(x>>>((-2592101383.2205048)^(tmp = -757096673.0381112, tmp)))))))^(2766467316.8307915))-(-2465892914.515834))-((((tmp = 234064056, tmp)^((x>>>(1622627548.7944543))+(-1750474146)))|(-1959662039.4687617))^((-1222880974)&(-2794536175.906498))))));
- assertEquals(-1157627488, x &= (-1156639323));
- assertEquals(-1342170624, x <<= ((x/((((1829945345.0613894)/(x*((tmp = 1278865203.0854595, tmp)/(((tmp = -2298274086.519347, tmp)+(tmp = -545203761, tmp))-(tmp = 2712195820, tmp)))))>>>((tmp = 240870798.9384452, tmp)-(tmp = -3188865300.4768195, tmp)))>>>(x%((648799266)>>>(tmp = 24460403.864815235, tmp)))))|((tmp = 232533924, tmp)|x)));
- assertEquals(-2684341248, x += x);
- assertEquals(1073755136, x &= (((-662718514.9245079)>>(tmp = -1915462105, tmp))+(tmp = 1478850441.8689613, tmp)));
- assertEquals(-1073755136, x /= (x|((tmp = -1767915185, tmp)|((325827419.1430224)|(((-1343423676)|(tmp = -1929549501, tmp))|(-866933068.9585254))))));
- assertEquals(-1073755136, x %= ((tmp = 547342356, tmp)-((tmp = 2213249646.7047653, tmp)-((((((-2463314705)^(tmp = -993331620, tmp))^(((x%x)>>(tmp = 1798026491.3658786, tmp))-(((1024072781)/(tmp = -2407354455, tmp))%(1973295010))))<<(-1966787233))^x)|(-1787730004)))));
- assertEquals(-1073754452, x |= (tmp = 3099823788.077907, tmp));
- assertEquals(-1540683096, x &= (-1540674632.7013893));
- assertEquals(-1540683052, x ^= ((tmp = -126183090, tmp)>>>((-622437575.5788481)|((((tmp = -2947914022, tmp)%(((tmp = 2512586745, tmp)>>x)>>>((27238232.23677671)/(tmp = 3203958551, tmp))))/(tmp = 2906005721.402535, tmp))^((((tmp = 1763897860.737334, tmp)^(1445562340.2485332))/x)+(-2393501217.716533))))));
- assertEquals(-1258599433, x |= (tmp = 351291767.59661686, tmp));
- assertEquals(-1241560065, x |= (626346046.5083935));
- assertEquals(-1241560065, x ^= ((2263372092)/((tmp = -2868907862, tmp)>>>x)));
- assertEquals(-893685228, x -= (tmp = -347874837, tmp));
- assertEquals(3401282068, x >>>= (x*x));
- assertEquals(0, x %= x);
- assertEquals(0, x >>>= x);
- assertEquals(-2079237393, x ^= (tmp = 2215729903, tmp));
- assertEquals(NaN, x %= ((((tmp = 3203450436, tmp)/(2867575150.6528325))&(1864945829))&((x&((((tmp = -1927086741.3438427, tmp)|x)|(-1783290909.3240588))*((-1074778499.0697656)*(x-((tmp = -848983542.8456669, tmp)^(tmp = -1324673961, tmp))))))>>(tmp = -2144580304.245896, tmp))));
- assertEquals(-43334009, x |= (x^(-43334009.72683525)));
- assertEquals(-43334009, x &= x);
- assertEquals(-43334009, x %= (tmp = 1252450645.060542, tmp));
- assertEquals(-43334009, x |= (((((((tmp = 968062202, tmp)/(x|(tmp = 2766801984, tmp)))*((2173353793.938968)>>(((tmp = -2459317247, tmp)<<(tmp = -2333601397, tmp))>>>((tmp = -578254251.8969193, tmp)*(tmp = 839964110.7893236, tmp)))))&(((1675305119)&(tmp = -929153707, tmp))*((x*x)*x)))/x)|(x/(tmp = 384740559.43867135, tmp)))%(1657362591)));
- assertEquals(0, x -= x);
- assertEquals(0, x %= (-1334758781.1087842));
- assertEquals(0, x -= x);
- assertEquals(-54, x += ((tmp = -1787151355.470972, tmp)>>((tmp = 237028977, tmp)>>(((2829473542)<<(x>>>(((((((x-(-1950724753))*(((x>>>(2807353513.6283565))<<((-583810779.1155353)>>(x*x)))>>(-1068513265)))^(x^(-696263908.5131407)))%(((tmp = -1325619399, tmp)<<((tmp = -1030194450, tmp)-x))^x))+((-2852768585.3718724)>>(tmp = -3160022361, tmp)))%(x&x))>>(tmp = 2667222702.5454206, tmp))))+((804998368.8915854)<<x)))));
- assertEquals(-54, x %= (-1601267268.4306633));
- assertEquals(1, x >>>= (tmp = -543199585.579128, tmp));
- assertEquals(4.732914708226396e-10, x /= (tmp = 2112862922, tmp));
- assertEquals(-4266932650, x -= ((((x^((((tmp = 2784618443, tmp)^(tmp = -2271260297.9010153, tmp))|((((tmp = -599752639.7516592, tmp)*(2751967680.3680997))^(tmp = -1478450055.578217, tmp))*x))-x))&((tmp = -520061982, tmp)-((tmp = 1400176711.9637299, tmp)^(((2100417541)|(x+(tmp = -674592897.0420957, tmp)))>>x))))^(tmp = -365650686.7947228, tmp))>>>((-2943521813)&(((tmp = -1888789582, tmp)>>(tmp = 700459655.488978, tmp))+(tmp = -1725725703.655931, tmp)))));
- assertEquals(224277168, x <<= (tmp = 2885115011.8229475, tmp));
- assertEquals(224277168, x %= (tmp = -2655345206.442777, tmp));
- assertEquals(850395136, x <<= (x-(((((-769868538.1729524)/((tmp = -298603579, tmp)%(x^x)))+((2691475692)|(((x>>>(628995710.4745524))^(x<<(((tmp = -1046054749, tmp)|(919868171))-x)))^((-1377678789.8170452)&((3065147797)%(tmp = 2638804433, tmp))))))^(tmp = -2036295169, tmp))&(((tmp = -157844758.08476114, tmp)*(tmp = -2819601496, tmp))&((((tmp = 78921441, tmp)<<(653551762.5197772))/(1801316098))*(-1479268961.8276927))))));
- assertEquals(1645565728, x ^= (tmp = 1353013024, tmp));
- assertEquals(1645565728, x >>>= x);
- assertEquals(3020513544, x += (1374947816));
- assertEquals(0, x %= x);
- assertEquals(0, x %= ((((((tmp = -304228072.4115715, tmp)>>>((-90523260.45975709)-(tmp = -3013349171.084838, tmp)))%((-1640997281)*((tmp = -1600634553, tmp)%((tmp = 557387864, tmp)<<((888796080.766409)|(x^((((x%(((((tmp = 1164377954.1041703, tmp)*x)|(2742407432.192806))&((tmp = 1707928950, tmp)<<(1279554132.4481683)))+(tmp = -2108725405.7752397, tmp)))%(tmp = -465060827, tmp))^((tmp = 2422773793, tmp)+x))^((((((((tmp = -1755376249, tmp)^((-267446806)^x))/(((tmp = -1808578662.4939392, tmp)+((tmp = -1997100217, tmp)+x))+(((tmp = -2469853122.411479, tmp)/x)>>(tmp = 660624616.7956645, tmp))))%((x<<((((((tmp = -1701946558, tmp)-(tmp = 133302235, tmp))>>>x)/(738231394))<<(-1060468151.4959564))&(((((-1877380837.4678264)|(tmp = 2366186363, tmp))%x)>>>(-2382914822.1745577))>>((-1874291848.9775913)<<(tmp = 2522973186, tmp)))))<<(-2672141993)))|(tmp = 732379966, tmp))%x)^x)^x))))))))%(tmp = 2385998902.7287374, tmp))*x)+(tmp = -2195749866.017106, tmp)));
- assertEquals(401488, x ^= (((-320896627)>>>(tmp = 2812780333.9572906, tmp))&(tmp = -2088849328, tmp)));
- assertEquals(-1661116571.0046256, x += (tmp = -1661518059.0046256, tmp));
- assertEquals(-1616122720, x <<= x);
- assertEquals(-1616122720, x >>= x);
- assertEquals(-390439413, x %= (tmp = -1225683307, tmp));
- assertEquals(-84189205, x |= ((x|(2054757858))^(((x<<(((x|x)|(((x>>>((-2938303938.1397676)<<((2993545056)^((tmp = -643895708.5427527, tmp)/((1371449825.5345795)-(1896270238.695752))))))-(tmp = 1061837650, tmp))+(x+(tmp = 3072396681, tmp))))>>(x-((((tmp = -1877865355.1550744, tmp)&x)%(-2766344937))>>>(2055121782)))))-((x<<x)|(tmp = -2742351880.1974454, tmp)))<<((-2600270279.219802)>>(-1625612979)))));
- assertEquals(-168378410, x += x);
- assertEquals(-168378410, x &= x);
- assertEquals(-1534983792, x &= (-1501412943));
- assertEquals(-1821543761, x ^= (938439487));
- assertEquals(-1821543761, x &= (x^(((tmp = -4237854, tmp)>>x)/x)));
- assertEquals(2358, x >>>= (2954252724.620632));
- assertEquals(4716, x <<= ((-75522382.8757689)/((tmp = 1074334479, tmp)|((tmp = -720387522, tmp)>>(x>>>(-3085295162.6877327))))));
- assertEquals(-1313079316, x |= (2981887904.020387));
- assertEquals(-1957790646, x -= (644711330));
- assertEquals(17831, x >>>= ((tmp = -2550108342, tmp)-(((tmp = 454671414.0146706, tmp)+(-661129693.9333956))>>(x>>>(((tmp = 1752959432.3473055, tmp)*(-2619510342.1812334))%(tmp = -456773274.2411971, tmp))))));
- assertEquals(689287937.6879716, x -= ((tmp = -397126863.6879716, tmp)-(((x>>x)^(x/(-1387467129.6278908)))|((x>>((tmp = -2361114214.8413954, tmp)<<(tmp = -805670024.4717407, tmp)))<<(-2724018098)))));
- assertEquals(1378575875.3759432, x += x);
- assertEquals(84112428460187.8, x *= (((((2681425112.3513584)%(tmp = -1757945333, tmp))|x)>>(-1793353713.0003397))%x));
- assertEquals(-3221, x >>= (-1976874128));
- assertEquals(-3221, x %= (((tmp = 2318583056.834932, tmp)|((tmp = -1016115125, tmp)+((-472566636.32567954)+x)))|(tmp = 3135899138.065598, tmp)));
- assertEquals(-6596608, x <<= x);
- assertEquals(-1249902592, x <<= (((tmp = -2025951709.5051148, tmp)/((-465639441)<<(-2273423897.9682302)))*((tmp = -2408892408.0294642, tmp)-(tmp = 1017739741, tmp))));
- assertEquals(73802092170444800, x *= (tmp = -59046275, tmp));
- assertEquals(-1619001344, x <<= x);
- assertEquals(0, x <<= (tmp = 1610670303, tmp));
- assertEquals(-0, x *= ((((x+(tmp = 2039867675, tmp))|(tmp = 399355061, tmp))<<(1552355369.313559))^x));
- assertEquals(0, x *= x);
- assertEquals(0, x >>>= (((2875576018.0610805)>>x)%(tmp = -2600467554, tmp)));
- assertEquals(2290405226.139538, x -= (-2290405226.139538));
- assertEquals(0, x %= x);
- assertEquals(0, x ^= (((tmp = 2542309844.485515, tmp)-x)%((-2950029429.0027323)/(tmp = 2943628481, tmp))));
- assertEquals(0, x += x);
- assertEquals(0, x -= x);
- assertEquals(0, x >>>= (tmp = 2337330038, tmp));
- assertEquals(0, x += (x/(((292272669.0808271)&(tmp = 2923699026.224247, tmp))^(tmp = 367745855, tmp))));
- assertEquals(0, x &= x);
- assertEquals(0, x %= ((tmp = 1565155613.3644123, tmp)<<(-308403859.5844681)));
- assertEquals(-1845345399.3731332, x += (tmp = -1845345399.3731332, tmp));
- assertEquals(5158590659731951000, x *= (-2795460763.8680177));
- assertEquals(-364664, x >>= (1837745292.5701954));
- assertEquals(1, x /= x);
- assertEquals(-860616114.8182092, x += ((tmp = 2076961323.1817908, tmp)+(-2937577439)));
- assertEquals(-860616115, x ^= ((x*(tmp = 2841422442.583121, tmp))>>>((tmp = 1929082917.9039137, tmp)>>(-2602087246.7521305))));
- assertEquals(-38387843, x |= (3114677624));
- assertEquals(2927507837, x += (tmp = 2965895680, tmp));
- assertEquals(1, x /= x);
- assertEquals(-1792887531, x *= (-1792887531));
- assertEquals(-0, x %= ((x^x)+x));
- assertEquals(-0, x %= (tmp = 2800752702.562547, tmp));
- assertEquals(1384510548, x ^= (tmp = 1384510548, tmp));
- assertEquals(42251, x >>= (1645421551.363844));
- assertEquals(0, x >>>= (17537561));
- assertEquals(-2076742862, x ^= (tmp = 2218224434, tmp));
- assertEquals(-2.790313825067623, x /= (744268563.3934636));
- assertEquals(5313538, x &= (((((tmp = -2406579239.0691676, tmp)+((-1470174628)+(((tmp = -783981599, tmp)<<(tmp = -1789801141.272646, tmp))^(((((((tmp = -844643189.5616491, tmp)&(tmp = -252337862, tmp))&(x|x))%((-3159642145.7728815)+(tmp = 2149920003.9525595, tmp)))&(x>>(1737589807.9431858)))-((((((((1610161800)<<(497024994))>>x)<<x)/x)>>>x)&x)-(757420763.2141517)))-(tmp = -3061016994.9596977, tmp)))))/(tmp = 1810041920.4089384, tmp))&(tmp = 5887654.786785364, tmp))&((tmp = 1626414403.2432103, tmp)+(x%x))));
- assertEquals(-2147483648, x <<= (tmp = 1304102366.8011155, tmp));
- assertEquals(-208418816, x %= (((((-2850404799)*(x+(3158771063.226051)))*(-2017465205))/(x>>x))>>(x%(tmp = 2760203322, tmp))));
- assertEquals(-2189223477, x -= (1980804661));
- assertEquals(-859239912, x ^= (tmp = 2974421971.3544703, tmp));
- assertEquals(-1599850415, x ^= (tmp = -2475871671.140151, tmp));
- assertEquals(-1600636847, x += ((((tmp = -1311002944, tmp)<<((tmp = -1137871342, tmp)<<(tmp = 115719116, tmp)))/(413107255.6242596))<<(x>>((((-1908022173)&(((-1519897333)^((x>>(x*(tmp = -2886087774.426503, tmp)))*(tmp = 530910975, tmp)))+(-2579617265.889692)))+((2518127437.127563)>>>((tmp = 481642471.56441486, tmp)>>>(792447239))))^(x<<(248857393.6819017))))));
- assertEquals(-191, x >>= (-1591265193));
- assertEquals(-192.27421813247196, x += ((tmp = 2627329028.207775, tmp)/(tmp = -2061914644.9523563, tmp)));
- assertEquals(1230613220, x ^= (tmp = 3064354212.307105, tmp));
- assertEquals(1230613220, x &= x);
- assertEquals(1230613220, x %= (1833479205.1064768));
- assertEquals(1230613220, x >>>= ((((1559450742.1425748)|((2151905260.956583)*(1213275165)))%(514723483.12764716))>>>x));
- assertEquals(1230613493, x |= ((((3004939197.578903)*(tmp = -576274956, tmp))+((tmp = 1037832416.2243971, tmp)^x))>>>(tmp = 2273969109.7735467, tmp)));
- assertEquals(2461226986, x += x);
- assertEquals(-27981, x >>= ((692831755.8048055)^((tmp = -1593598757, tmp)%(x-((((-1470536513.882593)|((tmp = -2716394020.466401, tmp)|(tmp = 2399097686, tmp)))&x)%x)))));
- assertEquals(-1.4660454948034359e+23, x *= (((x>>>((((((tmp = -3056016696, tmp)<<(-2882888332))*(2041143608.321916))&(((tmp = -634710040, tmp)|(tmp = -2559412457, tmp))>>(1916553549.7552106)))%((-2150969350.3643866)*x))<<((x*(tmp = 2657960438.247278, tmp))|x)))%((tmp = 526041379, tmp)*(tmp = 2514771352.4509397, tmp)))*(1219908294.8107886)));
- assertEquals(-1.4660454948034359e+23, x -= ((1709004428)>>(((x|(-422745730.626189))%x)>>x)));
- assertEquals(-2247766068, x %= (-3105435508));
- assertEquals(-386845856.0649812, x -= (-1860920211.9350188));
- assertEquals(-386846803.0649812, x -= ((((-3214465921)|((tmp = -1326329034, tmp)+(((tmp = -1203188938.9833462, tmp)%((((((-1318276502)+(x+x))^((x<<x)%(x>>>x)))+(tmp = -439689881, tmp))+((-1455448168.695214)^(x-((-388589993)>>((((940252202)^(-2218777278))|x)/(tmp = -1007511556, tmp))))))&(-140407706.28176737)))-(x/((888903270.7746506)-((tmp = -2885938478.632409, tmp)<<(((((tmp = -1750518830.270917, tmp)>>(((((((tmp = 868557365.7908674, tmp)/(tmp = -2805687195.5172157, tmp))*x)|((((((-1342484550)-((tmp = 1089284576, tmp)^(tmp = 120651272, tmp)))<<(tmp = 2230578669.4642825, tmp))-(x*x))%(x^(((tmp = -3177941534, tmp)+(x>>(-1595660968)))/(-1738933247))))>>>(tmp = 2860175623, tmp)))-(((2392690115.8475947)>>>(tmp = -1754609670.2068992, tmp))>>>(tmp = 2615573062, tmp)))-(tmp = 2590387730, tmp))^((x+((((x-(tmp = -2823664112.4548965, tmp))*(200070977))>>>(((x|((((tmp = 1361398, tmp)>>((tmp = 1649209268, tmp)%x))+x)+(x>>>(tmp = -2379989262.1245675, tmp))))|(x^((tmp = -647953298.7526417, tmp)-x)))&(tmp = -1881232501.1945808, tmp)))>>>x))%(x^(tmp = -1737853471.005935, tmp)))))>>>(427363558))>>>((tmp = -3076726422.0846386, tmp)^(-1518782569.1853383)))/x)))))))|x)>>>(1854299126)));
- assertEquals(-386846803.0649812, x -= (x%x));
- assertEquals(238532, x >>>= (-448890706.10774803));
- assertEquals(232, x >>>= (-791593878));
- assertEquals(232, x <<= (((x^((x-x)&(tmp = 1219114201, tmp)))/(tmp = -427332955, tmp))%(tmp = 1076283154, tmp)));
- assertEquals(210, x ^= (x>>>((2975097430)>>>x)));
- assertEquals(1, x /= x);
- assertEquals(2317899531, x *= (2317899531));
- assertEquals(1131786, x >>>= x);
- assertEquals(2301667519.6379366, x += ((tmp = 193109669.63793683, tmp)+(tmp = 2107426064, tmp)));
- assertEquals(3842614963.6379366, x += (((-1676516834)>>>(tmp = -1817478916.5658965, tmp))^(((tmp = 1122659711, tmp)>>>(tmp = -2190796437, tmp))|(tmp = -2754023244, tmp))));
- assertEquals(-452352333, x &= x);
- assertEquals(-863, x >>= x);
- assertEquals(-3.777863669459606e-7, x /= (2284359827.424491));
- assertEquals(-3.777863669459606e-7, x %= ((tmp = -2509759238, tmp)>>>x));
- assertEquals(0, x <<= (-814314066.6614306));
- assertEquals(0, x %= (tmp = 190720260, tmp));
- assertEquals(2301702913, x += (2301702913));
- assertEquals(-249158048, x >>= (tmp = -2392013853.302008, tmp));
- assertEquals(-249158048, x >>= x);
- assertEquals(-498316096, x += x);
- assertEquals(-498316096, x %= (tmp = 2981330372.914731, tmp));
- assertEquals(106616.2199211318, x *= (((((tmp = 1020104482.2766557, tmp)^((tmp = -416114189.96786, tmp)>>>(1844055704)))|(tmp = 1665418123, tmp))>>(1826111980.6564898))/(-2446724367)));
- assertEquals(106616, x |= x);
- assertEquals(1094927345, x -= (((-1229759420)|(741260479.7854375))-x));
- assertEquals(8353, x >>= x);
- assertEquals(0, x >>>= (tmp = -327942828, tmp));
- assertEquals(-953397616.8888416, x += (tmp = -953397616.8888416, tmp));
- assertEquals(-1906641240.7776833, x += (x+((-3033450184.9106326)>>>(tmp = 2090901325.5617187, tmp))));
- assertEquals(-1906641240.7776833, x %= (tmp = 2584965124.3953505, tmp));
- assertEquals(-1098907671, x |= (tmp = -1272590495, tmp));
- assertEquals(-1.8305258600334393, x /= (600323489));
- assertEquals(-1, x &= x);
- assertEquals(-1, x |= ((x+x)-x));
- assertEquals(1, x *= x);
- assertEquals(867473898, x ^= (tmp = 867473899.0274491, tmp));
- assertEquals(6, x >>>= (tmp = 1174763611.341228, tmp));
- assertEquals(0, x >>= ((689882795)^(2250084531)));
- assertEquals(0, x /= (tmp = 2545625607, tmp));
- assertEquals(0, x >>= x);
- assertEquals(0, x += x);
- assertEquals(0, x -= (x*(-1098372339.5157008)));
- assertEquals(NaN, x %= x);
- assertEquals(NaN, x -= (tmp = -1797344676.375759, tmp));
- assertEquals(1121476698, x |= (tmp = 1121476698, tmp));
- assertEquals(1, x /= x);
- assertEquals(1, x &= (-191233693));
- assertEquals(330137888.92595553, x += (330137887.92595553));
- assertEquals(-1792236714, x ^= (tmp = 2256609910, tmp));
- assertEquals(269000724, x &= (316405813.62093115));
- assertEquals(256, x >>= x);
- assertEquals(256, x %= ((2556320341.54669)|(1066176021.2344948)));
- assertEquals(256, x |= x);
- assertEquals(131072, x <<= ((-1650561175.8467631)|x));
- assertEquals(-286761951, x -= ((tmp = 287024095, tmp)-((-2293511421)&(x|x))));
- assertEquals(-1561852927, x &= (3002663949.0989227));
- assertEquals(-460778761, x %= (tmp = -550537083, tmp));
- assertEquals(-3023749308.0492287, x += (tmp = -2562970547.0492287, tmp));
- assertEquals(-481313332.04922867, x %= ((x|((tmp = -855929299, tmp)%((2181641323)%(x|(220607471.33018696)))))&x));
- assertEquals(17510668, x &= (tmp = 363557663, tmp));
- assertEquals(12552, x &= (3020225307));
- assertEquals(1814655896, x |= ((x<<(((-1475967464)*(-3122830185))*x))+(x^(-2480340864.2661023))));
- assertEquals(-3209124403525266400, x -= ((1146847590)*(tmp = 2798213497, tmp)));
- assertEquals(-6418248807050533000, x += x);
- assertEquals(1.1856589432073933e+28, x *= (-1847324681.313275));
- assertEquals(-1238853292, x ^= (-1238853292));
- assertEquals(-77428331, x >>= (x&((((2043976651.8514216)>>>x)^(x>>>(((tmp = -1785122464.9720652, tmp)%x)<<(1570073474.271266))))*x)));
- assertEquals(2011, x >>>= x);
- assertEquals(2011, x &= x);
- assertEquals(0, x >>= (-2682377538));
- assertEquals(-1.1367252770299785, x -= (((tmp = 2704334195.566802, tmp)/(2379056972))%((((-1764065164)*((((468315142.8822602)>>((x%(((tmp = 2537190513.506641, tmp)+((x&(x|((tmp = -947458639, tmp)^(2653736677.417406))))*((x<<((1243371170.1759553)>>>(((tmp = 1572208816, tmp)<<((tmp = 963855806.1090456, tmp)>>>x))%((-3078281718.7743487)*x))))^(-1154518374))))^(-2839738226.6314087)))^((-2865141241.190915)*(-2400659423.8207664))))>>((tmp = 32940590, tmp)/(tmp = 2917024064.570817, tmp)))+(((27601850)/(tmp = 3168834986, tmp))>>x)))+(tmp = 2528181032.600125, tmp))/(3162473952))));
- assertEquals(-1697395408.7948515, x -= (1697395407.6581264));
- assertEquals(1536992607912062500, x *= (tmp = -905500627.5781817, tmp));
- assertEquals(102759872, x >>= (tmp = -707887133.4484048, tmp));
- assertEquals(102759872, x %= (tmp = -1764067619.7913327, tmp));
- assertEquals(12543, x >>>= (-144142995.1469829));
- assertEquals(-2059555229.2592103, x += ((-2059555229.2592103)-x));
- assertEquals(-537022593, x |= (tmp = -2770761410.407701, tmp));
- assertEquals(23777505, x ^= (-560496738.6854918));
- assertEquals(-64329014115772310, x *= ((tmp = -2729234369.198843, tmp)+x));
- assertEquals(189083830, x ^= (tmp = 933619934, tmp));
- assertEquals(189083830, x %= ((tmp = -2918083254, tmp)-(x|(x^(-2481479224.0329475)))));
- assertEquals(378167660, x += x);
- assertEquals(-0.45833387791900504, x /= ((tmp = 2727991875.241294, tmp)<<(tmp = 2570034571.9084663, tmp)));
- assertEquals(0, x <<= x);
- assertEquals(-0, x /= (tmp = -67528553.30662966, tmp));
- assertEquals(0, x <<= (938440044.3983492));
- assertEquals(-945479171, x ^= (tmp = -945479171, tmp));
- assertEquals(-225632619284361200, x *= (238643670.00884593));
- assertEquals(-0, x %= x);
- assertEquals(-585826304, x ^= ((-1256265560)<<(tmp = 1144713549, tmp)));
- assertEquals(-671583855, x ^= (183333265.1468178));
- assertEquals(-484311040, x <<= x);
- assertEquals(-3969762.62295082, x /= ((((tmp = -1164308668.931008, tmp)-x)%x)>>>(((397816647)>>(-1605343671.4070785))<<x)));
- assertEquals(758097879, x ^= ((tmp = -2871307491, tmp)^(-2043176492.646442)));
- assertEquals(0, x *= ((x>>(tmp = 1983292927, tmp))&(tmp = -860505131.4484091, tmp)));
- assertEquals(0, x <<= x);
- assertEquals(0, x &= x);
- assertEquals(0, x %= ((3132981707)-(-2832016477)));
- assertEquals(0, x >>= (x<<((1830195133.0342631)>>>(tmp = -1003969250, tmp))));
- assertEquals(NaN, x %= x);
- assertEquals(NaN, x += (tmp = 273271019.87603223, tmp));
- assertEquals(NaN, x += (625749326.1155348));
- assertEquals(0, x >>= (tmp = -531039433.3702333, tmp));
- assertEquals(0, x -= (((tmp = 2029464099, tmp)-(x-(tmp = -329058111.411458, tmp)))*(x<<x)));
- assertEquals(-0, x *= ((-1112957170.5613296)|((tmp = 847344494, tmp)>>>(tmp = 2735119927, tmp))));
- assertEquals(-0, x /= (tmp = 544636506, tmp));
- assertEquals(0, x >>>= (x^(545093699)));
- assertEquals(0, x %= (((tmp = -2208409647.5052004, tmp)+(3083455385.374988))+(((-482178732.7077277)*x)>>>((2661060565)*(-2125201239)))));
- assertEquals(0, x >>>= (-212334007.34016395));
- assertEquals(0.7004300865203454, x -= ((2032883941)/(-2902336693.0154715)));
- assertEquals(0, x <<= (x<<((265868133.50175047)>>>(1162631094))));
- assertEquals(604920272.4394834, x -= (-604920272.4394834));
- assertEquals(604920272, x &= x);
- assertEquals(0, x <<= (((-1961880051.1127694)%(tmp = 1715021796, tmp))|((tmp = 2474759639.4587016, tmp)|(243416152.55635))));
- assertEquals(-46419074, x |= (((tmp = -518945938.5238774, tmp)%((x+(tmp = 242636408, tmp))+(-1974062910)))|(1546269242.0259726)));
- assertEquals(-46419074, x += ((-629802130)*((tmp = -658144149, tmp)%((-905005358.5370393)>>>x))));
- assertEquals(-46419074, x |= (x%(-1103652494)));
- assertEquals(7892881050983985, x *= (-170035297.36469936));
- assertEquals(1105701997.4273424, x %= ((((-490612260.0023911)>>>(tmp = 1803426906, tmp))^(x%(2725270344.2568116)))-(1010563167.8934317)));
- assertEquals(1088619532, x &= (-2232199650));
- assertEquals(1073807364, x &= (-888024506.5008001));
- assertEquals(1153062254980628500, x *= x);
- assertEquals(1153062255703627000, x -= (tmp = -722998613.897227, tmp));
- assertEquals(-1141418584, x |= (3017232552.4814596));
- assertEquals(-373464140, x ^= (-2914372068));
- assertEquals(994050048, x <<= x);
- assertEquals(0, x ^= x);
- assertEquals(0, x &= (tmp = -3166402389, tmp));
- assertEquals(0, x &= ((-1760842506.337213)|(tmp = 2538748127.795164, tmp)));
- assertEquals(-0, x /= (-2635127769.808626));
- assertEquals(0, x &= ((((tmp = 1414701581, tmp)^(((2425608769)/((x<<x)^(x-x)))^((tmp = -2641946468.737288, tmp)|(tmp = -313564549.1754241, tmp))))*(tmp = -2126027460, tmp))|(-2255015479)));
- assertEquals(225482894, x ^= (225482894.8767246));
- assertEquals(0, x ^= x);
- assertEquals(306216231, x += (tmp = 306216231, tmp));
- assertEquals(306216231, x -= ((-465875275.19848967)&((-806775661.4260025)/((((-184966089.49763203)>>>((x>>x)+((tmp = -1951107532, tmp)|x)))%x)*((2704859526.4047284)%((x*x)>>x))))));
- assertEquals(30754, x &= (1706162402.033193));
- assertEquals(30454.010307602264, x -= (((590456519)>>>(tmp = 2713582726.8181214, tmp))/x));
- assertEquals(8419062, x |= ((2848886788)<<(tmp = 2993383029.402275, tmp)));
- assertEquals(16, x >>= (tmp = -1651287021, tmp));
- assertEquals(1, x /= x);
- assertEquals(-1407643485, x ^= (-1407643486));
- assertEquals(2, x >>>= (-1126004674));
- assertEquals(470812081, x ^= ((-2411718964)>>>x));
- assertEquals(550443688.6407901, x += (tmp = 79631607.6407901, tmp));
- assertEquals(3669092443.64079, x -= (-3118648755));
- assertEquals(-625874853, x <<= (((tmp = -1640437346, tmp)/(((x*x)>>>x)<<x))/x));
- assertEquals(-1431439050363516700, x *= (2287101077));
- assertEquals(-1921660672, x |= ((((((((-1912249689.9978154)&(-1676922742.5343294))*(2625527768))<<((820676465)^(((x+(tmp = -852743692, tmp))&((x-((((1361714551)/(311531668))>>>(tmp = -1330495518.8175917, tmp))<<(((tmp = 1369938417.8760853, tmp)*(-1217947853.8942266))<<(-2048029668))))-(-513455284)))>>>(tmp = 1980267333.6201067, tmp))))<<(((1503464217.2901971)>>(tmp = 2258265389, tmp))>>>(1868451148)))&(x-(x^(tmp = -1565209787, tmp))))*x)<<(tmp = -2426550685, tmp)));
- assertEquals(-1921660672, x %= (((tmp = 523950472.3315773, tmp)+(((2971865706)^x)-x))&(-1773969177)));
- assertEquals(420176973.1169958, x += (2341837645.116996));
- assertEquals(420176973, x >>>= (((tmp = -2485489141, tmp)<<((tmp = -2520928568.360244, tmp)+x))&(543950045.0932506)));
- assertEquals(50, x ^= (x|((tmp = 2001660699.5898843, tmp)>>>(tmp = 1209151128, tmp))));
- assertEquals(138212770720.96973, x *= (2764255414.4193945));
- assertEquals(-28683, x |= (((-535647551)|x)>>((((2065261509)>>(-354214733))*x)+(-3218217378.2592907))));
- assertEquals(1627048838, x ^= (tmp = -1627044749, tmp));
- assertEquals(-839408795, x ^= (2903337187.480303));
- assertEquals(-1000652427, x += (tmp = -161243632, tmp));
- assertEquals(740237908.4196916, x += ((tmp = 1587000348, tmp)+(tmp = 153889987.41969144, tmp)));
- assertEquals(Infinity, x /= (((((-615607376.1012697)&(57343184.023578644))+((-1967741575)|(-3082318496)))<<(((tmp = -958212971.99792, tmp)>>(tmp = 2962656321.3519197, tmp))-(x|(x*(969365195)))))<<(tmp = -1739470562.344624, tmp)));
- assertEquals(-Infinity, x /= ((tmp = -1736849852, tmp)%x));
- assertEquals(0, x <<= x);
- assertEquals(0, x %= (tmp = -226505646, tmp));
- assertEquals(1982856549, x -= (((x+(-1982856549))%(-2274946222))>>(x%(((tmp = -1289577208.9097936, tmp)>>x)^(778147661)))));
- assertEquals(1648018703, x ^= ((3085618856)+((tmp = 1546283467, tmp)&(((x|((-2376306530)*(((((((tmp = -2807616416, tmp)%(((((tmp = 347097983.1491085, tmp)<<x)|(((((1135380667)/(x>>>(tmp = 1679395106, tmp)))^((1277761947)<<((tmp = -1614841203.5244312, tmp)>>x)))%((tmp = 1552249234.2065845, tmp)>>>x))>>>(tmp = -1677859287, tmp)))>>>(2605907565))/(tmp = 2291657422.221277, tmp)))%(((tmp = 425501732.6666014, tmp)>>>(1327403879.455553))+x))>>((tmp = -3075752653.2474413, tmp)&(x-(tmp = -71834630, tmp))))|((((2532199449.6500597)*(-842197612.4577162))%x)>>x))*(((1220047194.5100307)<<((tmp = 1642962251, tmp)<<((-662340)>>>((tmp = -1672316631.3251066, tmp)<<((tmp = 1762690952.542441, tmp)-(x/(1904755683.3277364)))))))>>x))|(((((tmp = 1625817700.7052522, tmp)%(tmp = -2990984460, tmp))|(2395645662))-((2619930607.550086)>>x))^(tmp = 130618712, tmp)))))&((-3142462204.4628367)/(1078126534.8819227)))%(((tmp = -256343715.2267704, tmp)+x)^(tmp = 2009243755, tmp))))));
- assertEquals(1937698223, x |= (((tmp = 866354374.7435778, tmp)+(tmp = 2751925259.3264275, tmp))%(-2252220455)));
- assertEquals(0, x -= x);
- assertEquals(-823946290.6515498, x -= (tmp = 823946290.6515498, tmp));
- assertEquals(706970324, x ^= (-457174758));
- assertEquals(32916, x &= (25740724));
- assertEquals(0, x >>>= ((-1658933418.6445677)|(tmp = -846929510.4794133, tmp)));
- assertEquals(0, x ^= ((-834208600)/((-1256752740)&(tmp = 1973248337.8973258, tmp))));
- assertEquals(-1639195806, x += (-1639195806));
- assertEquals(-1559416478, x ^= ((tmp = 1349893449.0193534, tmp)*(tmp = 2044785568.1713037, tmp)));
- assertEquals(0, x &= ((x>>(tmp = 1720833612, tmp))/((x+(-1305879952.5854573))^x)));
- assertEquals(-0, x *= (tmp = -1713182743, tmp));
- assertEquals(0, x >>= x);
- assertEquals(NaN, x /= (((x%((x>>>(((-1515761763.5499895)^(-3076528507.626539))<<(tmp = 1293944457.8983147, tmp)))<<(tmp = 276867491.8483894, tmp)))>>(tmp = -2831726496.6887417, tmp))%((((tmp = 1780632637.3666987, tmp)^x)%((208921173.18897665)>>(tmp = 633138136, tmp)))+x)));
- assertEquals(0, x >>= (tmp = -2755513767.0561147, tmp));
- assertEquals(0, x |= x);
- assertEquals(840992300.0324914, x -= ((-840992300.0324914)+x));
- assertEquals(840992300, x &= x);
- assertEquals(-1094140277, x ^= (2364029095));
- assertEquals(-Infinity, x /= ((((((1257084956)<<(2009241695))>>(x+x))*x)>>>x)>>>(205318919.85870552)));
- assertEquals(-Infinity, x -= (((x>>>(tmp = 3037168809.20163, tmp))&x)*(x&(((806151109)*x)-(tmp = -1741679480.58333, tmp)))));
- assertEquals(400659949, x ^= (tmp = 400659949, tmp));
- assertEquals(5, x >>= (tmp = 1175519290, tmp));
- assertEquals(5, x |= x);
- assertEquals(0, x >>= x);
- assertEquals(0, x >>= ((1317772443)&(x<<x)));
- assertEquals(-1123981819, x ^= (tmp = 3170985477, tmp));
- assertEquals(1123864651, x ^= ((x%(((x&x)&(-2606227299.7590737))<<((tmp = -2018123078.1859496, tmp)*x)))|(x+(((((1935939774.8139446)/((-1303958190)/(2802816697.32639)))<<((2880056582)*x))+x)+x))));
- assertEquals(1543368927, x |= (-2795691884));
- assertEquals(NaN, x /= (x%((tmp = -1129915114, tmp)<<x)));
- assertEquals(NaN, x += (tmp = -3045743135, tmp));
- assertEquals(NaN, x -= (tmp = -2849555731.8207827, tmp));
- assertEquals(NaN, x /= (((((2127485827)>>>((((tmp = 363239924, tmp)>>x)|((((tmp = -1419142286.0523334, tmp)-(x<<x))^(tmp = -1990365089.8283136, tmp))*((tmp = 2780242444.0739098, tmp)>>>(((-2336511023.342298)&x)/(tmp = 2296926221.402897, tmp)))))>>((tmp = 1378982475.6839466, tmp)>>(tmp = -816522530, tmp))))&(x^(tmp = -1668642255.0586753, tmp)))%(((tmp = 921249300.1500335, tmp)^x)*(tmp = -2228816905, tmp)))>>x));
- assertEquals(-1460685191, x |= (tmp = 2834282105, tmp));
- assertEquals(-1463439264, x &= (tmp = 2881860064.146755, tmp));
- assertEquals(20.98100714963762, x /= (((3017150580.7875347)^((250499372.5339837)<<(tmp = -42767556.30788112, tmp)))|(x%(-2829281526))));
- assertEquals(1, x /= x);
- assertEquals(2, x += x);
- assertEquals(8, x <<= x);
- assertEquals(0, x >>>= ((730174750)>>>x));
- assertEquals(0, x ^= x);
- assertEquals(-1459637373, x ^= (2835329923.456409));
- assertEquals(-1233115861, x ^= (511678120));
- assertEquals(95682857, x >>>= ((tmp = 1534570885, tmp)|(tmp = -414425499.3786578, tmp)));
- assertEquals(70254633, x &= (-1502067585));
- assertEquals(51384749748909710, x *= (tmp = 731407276, tmp));
- assertEquals(9390482.873469353, x %= (tmp = -592576964.7982686, tmp));
- assertEquals(4695241, x >>>= (tmp = -1879898431.5395758, tmp));
- assertEquals(-3129811912538149000, x += (((-727481809)^((3106908604)%x))*((((tmp = -1218123690, tmp)^(x>>((-942923806)^x)))/(x+x))>>>(-1508881888.969373))));
- assertEquals(1596870236, x ^= (-1135673764.9721224));
- assertEquals(0, x ^= x);
- assertEquals(2133782410, x |= (((-2202469371)>>((tmp = 1327588406.183342, tmp)/(tmp = 253581265.7246865, tmp)))-((tmp = 2226575446.838795, tmp)^x)));
- assertEquals(-81895217.83608055, x -= (tmp = 2215677627.8360806, tmp));
- assertEquals(812089344, x <<= ((tmp = 882824005, tmp)/(((x>>((((((((tmp = 1211145185, tmp)/((-137817273)-(((tmp = 2165480503.1144185, tmp)-(-1840859887.1288517))*((155886014.8393339)>>((-1984526598)<<(tmp = 1331249058.3246582, tmp))))))>>(x*x))%(2830324652))%(933701061))|(1346496215))^(tmp = -988800810, tmp))+x))>>>x)<<(-2372088384))));
- assertEquals(812089344, x <<= x);
- assertEquals(8472, x %= ((((x|(((x%(tmp = 2772099481.664402, tmp))+(2894690616))-x))&(x&(((-715790638.6454093)>>(tmp = -1447931029, tmp))-(tmp = 1761027889, tmp))))^x)%(((tmp = 830969811, tmp)|x)|((-1102267929)-(3193018687)))));
- assertEquals(-0.0000028559857417864914, x /= (-2966401364));
- assertEquals(0, x >>= x);
- assertEquals(-701800392, x += (tmp = -701800392, tmp));
- assertEquals(2034756873, x -= (tmp = -2736557265, tmp));
- assertEquals(-0.9475075048394501, x /= (((((82879340.27231383)+((tmp = -2876678920.653639, tmp)*(-2801097850)))<<x)>>>((x<<(((((x|x)&(tmp = -1572694766, tmp))>>(x+(x/((x-(((tmp = 1435301275, tmp)|(tmp = 983577854.212041, tmp))>>(tmp = 632633852.1644179, tmp)))+x))))>>>x)|(-850932021)))>>x))<<(-821983991)));
- assertEquals(0, x >>= (x>>(2424003553.0883207)));
- assertEquals(2599386349, x -= (-2599386349));
- assertEquals(-68157441, x |= (((tmp = -1170343454.9327996, tmp)+((((tmp = 448468098, tmp)|(x>>(x>>(((x>>(((x/(x&(x<<x)))<<(2436876051.2588806))^(3010167261)))%((tmp = 2577616315.7538686, tmp)>>>(-2953152591.015912)))%((tmp = -1304628613, tmp)/(x&((x|((-2000952119)%((691146914)/((tmp = 1480966978.7766845, tmp)<<((tmp = 2644449477.392441, tmp)|(-2143869305.871568))))))+(tmp = -315254308, tmp))))))))&(-2060205555))|((-604140518.8186448)^(x*x))))%(x*((tmp = 1383244000.2807684, tmp)/(3195793656)))));
- assertEquals(-68157441, x |= x);
- assertEquals(-1, x >>= x);
- assertEquals(-2147483648, x <<= x);
- assertEquals(-1.5257198286933313, x /= (tmp = 1407521622, tmp));
- assertEquals(1149084989.47428, x += (((tmp = 1149084991.9004865, tmp)&x)^((((((2797053000)/(x^x))*(-2829253694))>>>((tmp = -610924351, tmp)>>x))>>>(tmp = -675681012, tmp))<<(2812852729))));
- assertEquals(0, x %= x);
- assertEquals(0, x <<= ((tmp = -584069073, tmp)*(-2953140326)));
- assertEquals(0, x <<= (tmp = -481515023.6404002, tmp));
- assertEquals(-1441535370, x ^= (2853431926));
- assertEquals(2853431926, x >>>= (((((((tmp = 2215663525.9620194, tmp)%((-1102832735.9274108)/x))>>x)&(3220898702.76322))&(((2077584946)*((x>>x)<<((tmp = 1845701049, tmp)-x)))/(tmp = 1947184202.5737212, tmp)))|(((tmp = 2976351488, tmp)^(-42517339))%((2648230244.410125)^(1520051731.31089))))/(1761635964)));
- assertEquals(43539, x >>>= (tmp = 1361671184.7432632, tmp));
- assertEquals(21769, x >>= ((tmp = -804932298.9572575, tmp)>>((((tmp = 1749006993.253409, tmp)+(276536978))^x)|(2698166994))));
- assertEquals(1103025563, x |= (tmp = 1103007891, tmp));
- assertEquals(1327594607, x += (tmp = 224569044, tmp));
- assertEquals(1327594607, x |= x);
- assertEquals(-478674944, x <<= (((672378508)&x)^(((-2070209708.6470091)|x)|(x>>>x))));
- assertEquals(-478674943, x ^= ((-1832457698.6345716)>>>((tmp = -3077714019, tmp)/(1809383028))));
- assertEquals(229129701056053250, x *= x);
- assertEquals(1, x /= x);
- assertEquals(2, x <<= (-1522529727));
- assertEquals(2, x &= x);
- assertEquals(-2016989182, x |= ((((tmp = -1267845511, tmp)*(1225350332))+((tmp = -1397690831.5717893, tmp)>>>(tmp = -2575382994, tmp)))+x));
- assertEquals(-241, x >>= (tmp = 931869591, tmp));
- assertEquals(-1048087547, x &= (tmp = -1048087403.1163051, tmp));
- assertEquals(-4004486369.844599, x += (tmp = -2956398822.844599, tmp));
- assertEquals(-4004486368.844599, x -= (((2701878498)>>x)|(x|(-1079354967))));
- assertEquals(1, x >>= (tmp = -1583689092, tmp));
- assertEquals(1, x *= (x>>(x%x)));
- assertEquals(0, x %= x);
- assertEquals(-0, x *= (-120818969));
- assertEquals(0, x >>= ((tmp = 1794099660, tmp)/(((x&(((-321906091)^(tmp = -3009885933.8449526, tmp))&((tmp = -140917780, tmp)|(2037803173.4075825))))&x)&(tmp = -745357154, tmp))));
- assertEquals(0, x <<= (563984257.3493614));
- assertEquals(NaN, x %= ((((x>>(tmp = -2190891392.320677, tmp))-x)<<(462714956))<<((tmp = -84413570, tmp)|((x|(-2787022855))-((tmp = 2028532622, tmp)|(tmp = 1103757073.9178817, tmp))))));
- assertEquals(NaN, x *= ((2137674085.3142445)|((tmp = -1054749859.2353804, tmp)%x)));
- assertEquals(NaN, x /= (x>>>(((((tmp = 597103360.9069608, tmp)>>>(-2850217714.1866236))-((tmp = 1125150527, tmp)*x))%(tmp = -982662312, tmp))|((x/(((968656808.6069037)*(((128484784.15362918)>>x)^x))&((((x/((((tmp = 748775979, tmp)*((x-(((tmp = 709571811.9883962, tmp)%(-2083567026))%(x/(tmp = -680467505, tmp))))/((tmp = -167543858, tmp)/(tmp = -3113588783, tmp))))/x)<<(-2605415230)))>>>(tmp = 3133054172, tmp))%(tmp = -1904650393, tmp))*((x|(-1193709562))*(tmp = -1731312795.718104, tmp)))))/((tmp = -672386301, tmp)/(tmp = 808898833.4163612, tmp))))));
- assertEquals(-9, x |= (((((tmp = 150377964.57195818, tmp)/(tmp = 2161910879.0514045, tmp))-(-2381625849))>>(-2715928517))/(((452113643)^(-2502232011))/((-3076471740)^(((tmp = 1664851172, tmp)*(((-1460011714)>>>x)<<((-2870606437)%x)))*((tmp = -2836565755.609597, tmp)-((x/(tmp = -871461415, tmp))-(2278867564))))))));
- assertEquals(-1, x >>= x);
- assertEquals(-1, x |= ((-1319927272)>>>(-2866709980)));
- assertEquals(-1, x >>= ((2345179803.155703)&(-978025218.2243443)));
- assertEquals(1, x /= x);
- assertEquals(-260730973, x |= (tmp = -260730973, tmp));
- assertEquals(1174405120, x <<= (2681054073));
- assertEquals(1174405120, x &= x);
- assertEquals(1073741824, x &= (tmp = 2017166572.7622075, tmp));
- assertEquals(1073741824, x |= x);
- assertEquals(168806102, x %= ((((tmp = -2939969193.950067, tmp)|((-2325174027.614815)/(-2329212715)))*(x/(((((-2927776738)/(x|x))+(x%(tmp = -3007347037.698492, tmp)))<<(-1898633380))>>(tmp = 204338085.45241892, tmp))))^x));
- assertEquals(168806102, x %= ((-832849739.5197744)&(tmp = -141908598, tmp)));
- assertEquals(-401033205.05225074, x -= (tmp = 569839307.0522507, tmp));
- assertEquals(-401033205, x &= x);
- assertEquals(-401130402, x ^= ((x*(tmp = 311418759.22436893, tmp))>>x));
- assertEquals(793533469, x ^= (-950312893.5201888));
- assertEquals(756, x >>>= (-1096189516));
- assertEquals(711, x += ((tmp = -753105189, tmp)>>(599823192.5381484)));
- assertEquals(0, x >>>= ((tmp = -2859668634.4641137, tmp)+(-1160392986.1521513)));
- assertEquals(2427599726.176195, x -= (-2427599726.176195));
- assertEquals(1942312465.2523103, x -= (485287260.92388475));
- assertEquals(0, x >>>= ((tmp = -1740656456, tmp)/(tmp = 1339746799.9335847, tmp)));
- assertEquals(0, x <<= ((-7017077.38786912)*((-699490904.4551768)^x)));
- assertEquals(0, x <<= (tmp = 715662384, tmp));
- assertEquals(0, x *= (x>>>(2149735450.0758677)));
- assertEquals(NaN, x /= x);
- assertEquals(0, x >>= ((397078885)*((851639692.8982519)-x)));
- assertEquals(0, x &= (-2526654445));
- assertEquals(0, x %= (-1204924598));
- assertEquals(251639720, x ^= (x|(tmp = 251639720, tmp)));
- assertEquals(695433573, x ^= (663539405));
- assertEquals(-1038050104, x -= (1733483677));
- assertEquals(0, x ^= x);
- assertEquals(NaN, x %= x);
- assertEquals(0, x &= (392107269));
- assertEquals(0, x %= (-3084908458.241551));
- assertEquals(0, x ^= x);
- assertEquals(-2121660509, x ^= (tmp = -2121660509.7861986, tmp));
- assertEquals(2285041855588855800, x *= (x|(3209046634)));
- assertEquals(54915072, x >>>= (x%(((((x%((((tmp = -1429433339.5078833, tmp)|(tmp = 2906845137, tmp))^(3207260333))&(-848438650)))-(-2721099735))&(141851917.19978714))+x)/x)));
- assertEquals(54915072, x &= x);
- assertEquals(54915072, x %= (x+(1855489160)));
- assertEquals(70078753, x ^= ((((((-1648661736)+(x%((-1421237596)+(tmp = 2053180992.3857927, tmp))))+(tmp = 38606889, tmp))<<((-241334284)%((x>>(215316122))*(tmp = 396488307, tmp))))+((tmp = -2900704565, tmp)^x))^(((1103481003.1111188)^x)-(tmp = 1304113534, tmp))));
- assertEquals(1149501440, x <<= ((x>>(tmp = 3203172843, tmp))*(tmp = -192535531, tmp)));
- assertEquals(0, x ^= x);
- assertEquals(0, x >>= ((tmp = 2751499787, tmp)&((tmp = 2217654798, tmp)*(tmp = -2798728014, tmp))));
- assertEquals(NaN, x /= ((((-2019592425)>>>((((-1571930240.741224)>>>((-183952981)/((((1990518443.672842)>>(((((2051371284)%(685322833.6793983))>>>(2662885938))<<(-1212029669.6675105))|((-2790877875)<<(1546643473))))<<x)-(tmp = 804296674.4579233, tmp))))-(tmp = -417759051.68770766, tmp))/((-621859758)>>>x)))&x)<<(tmp = -48558935.55320549, tmp)));
- assertEquals(0, x <<= (x&x));
- assertEquals(0, x *= (x%(tmp = 301196068, tmp)));
- assertEquals(398290944, x |= (((tmp = 1904146839, tmp)+(1521017178))*(-3174245888.562067)));
- assertEquals(1256401076, x ^= (1566464180));
- assertEquals(149620758, x %= ((tmp = 532626355, tmp)^(tmp = -382971203, tmp)));
- assertEquals(149620791, x |= (x>>x));
- assertEquals(-0.07034576194938641, x /= ((tmp = -1977313182.7573922, tmp)-x));
- assertEquals(0, x <<= x);
- assertEquals(0, x &= x);
- assertEquals(0, x /= ((2182424851.139966)%(((-2768516150)+x)>>>x)));
- assertEquals(0, x %= (-504299638.53962016));
- assertEquals(-0, x *= (-2915134629.6909094));
- assertEquals(0, x <<= ((tmp = 952692723.402582, tmp)%(2146335996.785011)));
- assertEquals(230457472, x |= ((tmp = -574776101.8681948, tmp)*(683185125)));
- assertEquals(933795934, x ^= (tmp = 974395614, tmp));
- assertEquals(933801974, x ^= (x>>>((-148683729)*(((tmp = 2912596991.415531, tmp)^(-2883672328))/x))));
- assertEquals(222, x >>= (-3060224682));
- assertEquals(27, x >>>= (1429156099.1338701));
- assertEquals(754519106, x ^= (tmp = 754519129.7281355, tmp));
- assertEquals(188629776, x >>>= ((x>>>((1247267193)<<(tmp = -936228622, tmp)))%((tmp = 978604324.8236886, tmp)*((tmp = -3018953108, tmp)^(((tmp = 259650195, tmp)>>>(tmp = 2762928902.7901163, tmp))*(x>>((tmp = 787444263.5542864, tmp)/(x>>>(((-2039193776)<<(tmp = -1408159169, tmp))-(1238893783))))))))));
- assertEquals(188629775.33987066, x += ((tmp = 1040520414, tmp)/((-1576237184)|((tmp = -970083705, tmp)&(((tmp = -312062761.12228274, tmp)|(1171754278.2968853))<<(-2069846597.7723892))))));
- assertEquals(1473670, x >>>= ((tmp = 202409672, tmp)^x));
- assertEquals(2171703268900, x *= (x>>(((tmp = 840468550, tmp)&(-3208057101.2136793))/x)));
- assertEquals(0, x ^= x);
- assertEquals(0, x ^= (x&((tmp = 2569871408.2405066, tmp)|((tmp = -3149374622, tmp)<<(x-(x|((tmp = -821239139.1626894, tmp)>>>x)))))));
- assertEquals(NaN, x /= x);
- assertEquals(NaN, x %= (tmp = 1926106354, tmp));
- assertEquals(0, x >>= ((x/(-2848416))/(tmp = 2484293767, tmp)));
- assertEquals(0, x <<= ((tmp = -2484137114, tmp)>>>(tmp = -887083772.8318355, tmp)));
- assertEquals(0, x >>= (tmp = -2651389432, tmp));
- assertEquals(0, x ^= x);
- assertEquals(1041871201, x += ((tmp = 1041871201.9272791, tmp)|(x<<(-1136959830))));
- assertEquals(651390879501530900, x *= ((tmp = 1250424964.0346212, tmp)>>x));
- assertEquals(1965815296.245636, x %= ((2650603245.655831)+((-1610821947.8640454)>>>(((878987151.6917406)*((((784630543)%(((1448720244)>>(((tmp = 3036767847, tmp)+((tmp = 1012548422, tmp)<<(1957000200)))-x))/(x>>x)))<<((tmp = 914710268, tmp)*(((x^(1559603121))<<(tmp = 3181816736, tmp))|((-1964115655)+x))))-(-1055603890)))&(946797797.0616649)))));
- assertEquals(1965815296.245636, x %= (tmp = -2601038357.593118, tmp));
- assertEquals(-769384440.872302, x += (-2735199737.117938));
- assertEquals(-769384440.872302, x %= (2193123162));
- assertEquals(1, x /= x);
- assertEquals(1, x -= (((x>>>(-1968465925))*((tmp = 563037904, tmp)>>((tmp = 3009534415.769578, tmp)>>((-2567240601.7038674)<<(tmp = -1258402723.4150183, tmp)))))%(3112239470.276867)));
- assertEquals(1, x |= x);
- assertEquals(1505461527, x ^= (tmp = 1505461526.5858076, tmp));
- assertEquals(406553877, x &= (tmp = 2558242293, tmp));
- assertEquals(406553877, x |= x);
- assertEquals(-574902339, x |= ((-709809495)%(tmp = -2880884811.410611, tmp)));
- assertEquals(-20281777.349363208, x %= (22184822.46602547));
- assertEquals(1, x /= x);
- assertEquals(-4360732, x ^= ((x|(tmp = 3178620274, tmp))>>(((2686286888)&(((-1107223053.8716578)/(((-2955575332.3675404)+(-2770518721))|(-2705016953.640522)))-x))^((1473641110.4633303)*((((-1466496401)<<x)+x)%(1805868749.082736))))));
- assertEquals(-1158545408, x <<= ((((x/((-2710098221.691819)-(-2421462965.788145)))/(((((x>>>(tmp = 1994541591.1032422, tmp))+(tmp = -1276676679.9747126, tmp))&((tmp = 1764029634.2493339, tmp)+((x|(tmp = -3050446156, tmp))-((tmp = -9441859, tmp)/(((-2072420232)&x)*(-1003199889))))))+(tmp = -2443230628, tmp))*x))*((x&((((x|(747566933))*(((2039741506)>>>((tmp = -2456000554, tmp)>>>(-1566360933.7788877)))^((tmp = 960600745, tmp)/x)))&(x^(((-2649310348.777452)^((2224282875)-(tmp = -2129141087.3182096, tmp)))<<((x<<x)+((-1307892509.3874407)-(x|(tmp = -2831643528.9720087, tmp)))))))/(((tmp = -35502946, tmp)<<((tmp = 1091279222, tmp)>>(((-2686069468.8930416)-x)+(tmp = 367442353.2904701, tmp))))%(1218262628))))/x))^(-919079153.7857773)));
- assertEquals(747, x >>>= (1229157974));
- assertEquals(747, x |= x);
- assertEquals(NaN, x %= (((3086718766.4715977)*((7912648.497568846)*((-2713828337.1659327)*(-176492425.4011252))))<<(tmp = -1074475173, tmp)));
- assertEquals(0, x >>>= ((((444923201)<<x)>>>(-883391420.2142565))*((((617245412)<<x)>>>x)*(-913086143.2793813))));
- assertEquals(1941802406, x ^= (tmp = -2353164890, tmp));
- assertEquals(14, x >>>= (-1600311077.4571416));
- assertEquals(-18229482703.7246, x += (((x+(-993157139.7880647))%x)*(1862419512.1781366)));
- assertEquals(-14.531388114858734, x /= ((tmp = -1649072797.951641, tmp)<<x));
- assertEquals(0, x ^= x);
- assertEquals(0, x >>= ((x/x)^x));
- assertEquals(2, x ^= ((-1597416259)/(-738770020)));
- assertEquals(0, x >>= (tmp = -387850072.74833393, tmp));
- assertEquals(0, x >>>= ((2491085477.186817)>>(x*(((tmp = -1592498533, tmp)+(tmp = 2086841852, tmp))&(-3174019330.8288536)))));
- assertEquals(0, x >>= x);
- assertEquals(0, x >>>= (tmp = -3045348659.45243, tmp));
- assertEquals(-1208573479, x |= ((3086393817)-x));
- assertEquals(1460649854142163500, x *= x);
- assertEquals(1588199424, x <<= (-1902076952));
- assertEquals(1586102272, x &= (tmp = 2139876091.9142454, tmp));
- assertEquals(-460908552.5528109, x -= (tmp = 2047010824.552811, tmp));
- assertEquals(-460908552.5528109, x %= (tmp = 507904117.09368753, tmp));
- assertEquals(-460908552.5528109, x %= (2749577642.527038));
- assertEquals(234012, x >>>= (-340465746.91275));
- assertEquals(0, x >>>= x);
- assertEquals(0, x %= (tmp = -2601875531, tmp));
- assertEquals(0, x %= (x|(tmp = 650979981.1158671, tmp)));
- assertEquals(0, x %= (tmp = -2286020987, tmp));
- assertEquals(0, x |= x);
- assertEquals(0, x &= (x|((tmp = 2568101411, tmp)-(-1438002403))));
- assertEquals(0, x >>>= (1399248574));
- assertEquals(0, x %= (-1906670287.2043698));
- assertEquals(0, x >>= (1019286379.6962404));
- assertEquals(0, x |= (x/(tmp = -82583591.62643051, tmp)));
- assertEquals(NaN, x %= x);
- assertEquals(NaN, x *= (x^(1874776436)));
- assertEquals(NaN, x -= ((-1238826797)-(-2971588236.7228813)));
- assertEquals(0, x <<= (2064632559));
- assertEquals(-0.5967273958864694, x += (((tmp = 1502995019, tmp)>>x)/(-2518729707)));
- assertEquals(0, x >>>= x);
- assertEquals(-0, x /= (-1923030890));
- assertEquals(NaN, x %= x);
- assertEquals(0, x >>= (tmp = 1081732779.9449487, tmp));
- assertEquals(-820183066, x |= ((tmp = -3169007292.4721155, tmp)|(-1912588318)));
- assertEquals(0, x -= x);
- assertEquals(NaN, x %= x);
- assertEquals(NaN, x /= (tmp = 287181840, tmp));
- assertEquals(0, x &= (x/((tmp = -1139766051, tmp)<<(x&(tmp = 2779004578, tmp)))));
- assertEquals(0, x >>= (((tmp = -1816938028, tmp)+(-224851993.3139863))*(-2933829524)));
- assertEquals(0, x |= ((((tmp = 305077929.1808746, tmp)&((x-(((((tmp = 2122810346.7475111, tmp)<<(717271979))*(tmp = 256854043.72633624, tmp))%((x+(tmp = -318657223.9992106, tmp))*((1993144830)<<(2594890698.603228))))^((((tmp = 257370667, tmp)>>>((((x^(3160746820))>>>(2049640466.8116226))>>>(2543930504.7117066))^(x-x)))^(x%(964838975)))^x)))%(x*x)))>>>x)*(tmp = -46861540, tmp)));
- assertEquals(747575633, x ^= ((-2406502427)-(-3154078060.3794584)));
- assertEquals(0, x *= (x%x));
- assertEquals(0, x <<= (1313773705.3087234));
- assertEquals(0, x >>>= ((x+x)>>>(3068164056)));
- assertEquals(-0, x *= (tmp = -1771797797, tmp));
- assertEquals(1784146970, x ^= (tmp = 1784146970, tmp));
- assertEquals(1784146970, x >>>= (tmp = -2219972320.7195597, tmp));
- assertEquals(1744830464, x <<= ((((-2769476584)-(((1798431604)>>(tmp = 1337687914.799577, tmp))>>>((-2802941943.15014)>>x)))>>>(tmp = 646033678, tmp))-x));
- assertEquals(3044433348102455300, x *= x);
- assertEquals(0, x >>= ((tmp = 1592076570.1900845, tmp)-((645774223.6317859)>>x)));
- assertEquals(0, x >>= (x>>>(-3045822290.1536255)));
- assertEquals(-0, x *= (tmp = -2450298800.986624, tmp));
- assertEquals(0, x >>= (tmp = 1379605393, tmp));
- assertEquals(0, x &= (((x-((((tmp = 837939461.6683749, tmp)+((((-813261853.3247359)|(x&(((-2565113940)*(tmp = -2725085381.240134, tmp))|x)))%(-1457259320))-(x+((tmp = -273947066, tmp)%((1164825698.879649)>>(1653138880.3434052))))))>>>(2823967606.411492))>>>((((((((1189235604.9646997)/(tmp = -2875620103.4002438, tmp))-(tmp = -801261493, tmp))<<(((1832556579.5095325)<<x)|((tmp = -2740330665, tmp)>>(tmp = -2352814025, tmp))))-(tmp = -1445043552.99499, tmp))&(x<<(((((445325471)*(1293047043.1808558))>>>(((1901837408.5910044)-(tmp = -2349093446.5313253, tmp))>>>(tmp = 1000847053.1861948, tmp)))*(x>>>(1771853406.6567078)))>>x)))>>>x)>>>(x^((tmp = 2813422715, tmp)-(x+(-342599947)))))))&(x>>>x))*x));
- assertEquals(NaN, x %= ((tmp = -3027713526, tmp)-((((x%(((((x/((2711155710)^(((((x>>>x)%((1098599291.155015)^(((((tmp = 1855724377.8987885, tmp)/(x|x))*((-1963179786)*((x-((-1634717702)%x))<<x)))>>(2008859507))>>((tmp = 2635024299.7983694, tmp)^(tmp = -602049246, tmp)))))*(x>>x))&(tmp = -1925103609, tmp))*((tmp = 2106913531.2828505, tmp)%((tmp = -200970069, tmp)*(-2809001910.951446))))))%x)*((1990098169)>>((x<<(2303347904.2601404))%x)))|(2767962065.9846206))+(201589933.301661)))>>(((tmp = 1921071149.5140274, tmp)>>(1054558799.1731887))|x))*(x/((((-2833879637.345674)>>>(tmp = 2849099601, tmp))%x)+(x%(x%(((tmp = 1983018049, tmp)^(tmp = -2659637454, tmp))>>((-1335497229.6945198)-(x+(((((tmp = 1136612609.848967, tmp)%(2471741030.01762))<<(x|(((tmp = 1644081190.1972675, tmp)&(-1422527338))^(2379264356.265957))))/(tmp = 2979299484.1884174, tmp))/x)))))))))*((tmp = 1858298882, tmp)^((tmp = -547417134.9651439, tmp)*x)))));
- assertEquals(-7664, x |= ((2286000258.825538)>>(1716389170)));
- assertEquals(-1, x >>= x);
- assertEquals(-1231640486.3023372, x += ((tmp = 1231640485.3023372, tmp)*x));
- assertEquals(-2463280972.6046743, x += x);
- assertEquals(1746, x >>>= x);
- assertEquals(1746, x >>>= (((tmp = -562546488.0669937, tmp)*((-2475357745.8508205)&((x%(821425388.8633704))%((((-2315481592.687686)&(((tmp = 3130530521.7453523, tmp)+x)-x))^(-973033390.1773088))/x))))<<x));
- assertEquals(1746, x %= (-1544973951.076033));
- assertEquals(27936, x <<= (-525441532.33816123));
- assertEquals(27936, x %= (x*((tmp = 344991423.5336287, tmp)+(-2267207281))));
- assertEquals(27, x >>>= (tmp = 1249792906, tmp));
- assertEquals(0, x >>>= (tmp = -1068989615, tmp));
- assertEquals(0, x >>>= (tmp = 347969658.92579734, tmp));
- assertEquals(-2656611892, x -= (2656611892));
- assertEquals(1944539596, x |= (((tmp = 3000889963, tmp)-x)<<((tmp = 2917390580.5323124, tmp)^(-996041439))));
- assertEquals(1944539596, x |= x);
- assertEquals(-739740167.0752468, x -= ((1712009965.0752468)+(x>>((tmp = -740611560.99014, tmp)>>>((tmp = -1033267419.6253037, tmp)&(862184116.3583733))))));
- assertEquals(-1479480334.1504936, x += x);
- assertEquals(-4294967296.150494, x -= (x>>>((1219235492.3661718)&(3138970355.0665245))));
- assertEquals(0, x >>= (x*x));
- assertEquals(-0, x *= ((-2202530054.6558375)-(-676578695)));
- assertEquals(-0, x %= (1336025846));
- assertEquals(0, x &= x);
- assertEquals(0, x /= (1759366510));
- assertEquals(630007622, x |= (630007622));
- assertEquals(-0.22460286863455903, x /= (tmp = -2804984753, tmp));
- assertEquals(1102410276.775397, x -= (-1102410277));
- assertEquals(1102410276.775397, x %= ((((-2569525203)&x)*(x|(-1932675298)))/((-2376634450)>>>(x>>>(tmp = 936937604.9491489, tmp)))));
- assertEquals(33642, x >>= (3028252527));
- assertEquals(2181106522.688034, x -= (-2181072880.688034));
- assertEquals(-2113861630, x &= (2523921542));
- assertEquals(-2147483646, x &= (-1996601566.9370148));
- assertEquals(-2147483648, x &= (tmp = -665669175.1968856, tmp));
- assertEquals(-2858673260.1367273, x -= (tmp = 711189612.1367272, tmp));
- assertEquals(350657, x >>= (tmp = -170243892.25474262, tmp));
- assertEquals(-0.0001405571562140975, x /= (-2494764474.7868776));
- assertEquals(0, x ^= x);
- assertEquals(NaN, x /= ((x&(-2041236879))*((tmp = -2182530229, tmp)^((1274197078)*x))));
- assertEquals(0, x |= (x&(x-(1794950303))));
- assertEquals(1222105379, x |= (tmp = 1222105379, tmp));
- assertEquals(729884484, x ^= (tmp = 1666645607.6907792, tmp));
- assertEquals(729884484, x %= (tmp = -2896922082, tmp));
- assertEquals(8768, x &= ((tmp = 358940932, tmp)>>>(3159687631.3308897)));
- assertEquals(1892384495, x |= (-2402591569));
- assertEquals(1892470533, x += ((((x^(-2266612043))>>>(tmp = -531009952, tmp))<<(x>>>((-1365315963.5698428)>>>((x+((-3168207800.184341)-(tmp = 1776222157.609917, tmp)))+(-1588857469.3596382)))))>>>x));
- assertEquals(143587205, x += (tmp = -1748883328, tmp));
- assertEquals(0, x ^= x);
- assertEquals(0, x >>= (tmp = 2334880462.3195543, tmp));
- assertEquals(0, x &= ((tmp = 1819359625.4396145, tmp)|(tmp = -1323513565, tmp)));
- assertEquals(-1102259874, x ^= (3192707422));
- assertEquals(2567457772588852700, x *= (-2329267202));
- assertEquals(-16783687, x |= ((-2212476227.060922)^(378973700.78452563)));
- assertEquals(4278183609, x >>>= ((((((((tmp = 1766363150.197206, tmp)*(-2774552871))%x)>>>((3071429820)&((((((tmp = 351068445.27642524, tmp)<<(tmp = 2646575765, tmp))^(806452682))<<((x>>>(-2217968415.505327))<<(1564726716)))|x)-(tmp = -3110814468.9023848, tmp))))+x)^x)>>>(tmp = -617705282.0788529, tmp))>>>x));
- assertEquals(4314933530, x -= ((1032195469.789219)|(tmp = -448053861.9531791, tmp)));
- assertEquals(9709850, x %= (((tmp = -3056286252.5853324, tmp)*x)&x));
- assertEquals(9709850, x %= (tmp = -2596800940, tmp));
- assertEquals(2655489828.9461126, x -= (tmp = -2645779978.9461126, tmp));
- assertEquals(369266212, x &= (((335712316.24874604)|(tmp = 33648215, tmp))-((x/(2639848695))<<((-499681175)<<(-2490554556)))));
- assertEquals(-2147483648, x <<= (-834465507));
- assertEquals(1073741824, x >>>= (((tmp = 3018385473.1824775, tmp)>>(x*(-2574502558.216812)))|(((tmp = -1742844828, tmp)*(1698724455))&x)));
- assertEquals(-270818218, x += (-1344560042));
- assertEquals(360710144, x <<= x);
- assertEquals(0, x <<= (tmp = 612718075, tmp));
- assertEquals(0, x <<= x);
- assertEquals(-0, x /= (tmp = -1922423684, tmp));
- assertEquals(-0, x *= ((((tmp = 741806213.3264687, tmp)%(-711184803.2022421))+((tmp = -3209040938, tmp)&(525355849.044886)))&(x<<(tmp = -698610297, tmp))));
- assertEquals(0, x <<= (-482471790));
- assertEquals(0, x &= ((-921538707)/(tmp = -482498765.988616, tmp)));
- assertEquals(0, x ^= (x^x));
- assertEquals(-351721702, x ^= (-351721702.8850286));
- assertEquals(726242219625599900, x -= ((2064820612)*x));
- assertEquals(1452484439251199700, x += x);
- assertEquals(2.52318299412847e-15, x %= ((((x<<((2508143285)+x))>>(-2493225905.011774))%(1867009511.0792103))/((((x<<(2542171236))>>((x|x)&(tmp = -384528563, tmp)))+((-1168755343)*(1731980691.6745195)))+(tmp = -1608066022.71164, tmp))));
- assertEquals(79905008, x += ((((-2702081714.590131)&(x+(tmp = -1254725471.2121565, tmp)))*(3088309981))%(((tmp = 1476844981.1453142, tmp)|((((tmp = -1243556934.7291331, tmp)%x)^(-1302096154))+((660489180)/(tmp = -681535480.8642154, tmp))))^(tmp = -8410710, tmp))));
- assertEquals(1215822204, x ^= ((-3008054900)>>>(tmp = -1990206464.460693, tmp)));
- assertEquals(-394790532, x |= ((((-1334779133.2038574)+(tmp = -1407958866.832946, tmp))<<(1699208315))-(((x^(x%x))<<(3216443))>>(x+((((2576716374.3081336)|((tmp = 2316167191.348064, tmp)&((51086351.20208645)&((x|(tmp = -357261999, tmp))^(x/x)))))*(-45901631.10155654))*(((-439588079)>>>((-2358959768.7634916)|(1613636894.9373643)))+(((-908627176)<<x)%(x%((-1669567978)>>>((x>>(1289400876))+(tmp = 2726174270, tmp)))))))))));
- assertEquals(-0.17717467607696327, x /= (2228255982.974148));
- assertEquals(-1905616474, x ^= (tmp = 2389350822.851587, tmp));
- assertEquals(-0, x %= x);
- assertEquals(2818124981.508915, x -= (-2818124981.508915));
- assertEquals(-1476842315, x |= x);
- assertEquals(73408564, x &= (-3147390604.3453345));
- assertEquals(70, x >>>= x);
- assertEquals(1, x >>= x);
- assertEquals(3086527319.899181, x *= (3086527319.899181));
- assertEquals(-145, x >>= x);
- assertEquals(-145, x %= (tmp = -2500421077.3982406, tmp));
- assertEquals(-1, x >>= (tmp = -2970678326.712191, tmp));
- assertEquals(-1, x %= ((tmp = -535932632.4668834, tmp)+(((-1226598339.347982)<<((tmp = 616949449, tmp)/(tmp = 2779464046, tmp)))/(214578501.67984307))));
- assertEquals(1, x *= x);
- assertEquals(1, x >>= ((tmp = 11080208, tmp)<<(460763913)));
- assertEquals(-1.8406600706723492e-19, x /= ((tmp = -2334126306.1720915, tmp)*(tmp = 2327566272.5901165, tmp)));
- assertEquals(856681434186007200, x -= ((tmp = -2286974992.8133907, tmp)*(374591518)));
- assertEquals(3126084224, x >>>= x);
- assertEquals(-1160460669, x |= (tmp = 181716099, tmp));
- assertEquals(873988096, x <<= (tmp = 406702419, tmp));
- assertEquals(0, x <<= ((tmp = 802107965.4672925, tmp)-((tmp = 1644174603, tmp)>>((tmp = 604679952, tmp)+(tmp = -515450096.51425123, tmp)))));
- assertEquals(NaN, x %= ((x>>(tmp = 2245570378, tmp))*(tmp = 1547616585, tmp)));
- assertEquals(NaN, x /= ((tmp = -776657947.0382309, tmp)&(tmp = 163929332.28270507, tmp)));
- assertEquals(NaN, x *= (tmp = 243725679.78916526, tmp));
- assertEquals(NaN, x /= (x>>x));
- assertEquals(0, x <<= ((tmp = -1293291295.5735884, tmp)%(((((63309078)>>>x)&(x&(-2835108260.025297)))+x)>>>(-1317213424))));
- assertEquals(0, x *= ((((tmp = -1140319441.0068483, tmp)*(tmp = 2102496185, tmp))&(-2326380427))<<(tmp = -2765904696, tmp)));
- assertEquals(0, x /= (tmp = 2709618593, tmp));
- assertEquals(0, x >>= (-1753085095.7670164));
- assertEquals(1766381484, x |= (-2528585812));
- assertEquals(1766381484, x %= (2735943476.6363373));
- assertEquals(1766381484, x %= (x*(tmp = 2701354268, tmp)));
- assertEquals(-2147483648, x <<= (-323840707.4949653));
- assertEquals(4611686018427388000, x *= (x<<x));
- assertEquals(0, x <<= (3066735113));
- assertEquals(0, x ^= ((((x*x)^(tmp = -2182795086.39927, tmp))<<(x^(tmp = 1661144992.4371827, tmp)))<<((((-2885512572.176741)*(tmp = 609919485, tmp))|(tmp = 929399391.0790694, tmp))>>>((((((((((399048996)>>((-107976581.61751771)>>>x))|(((-1502100015)<<(tmp = -1108852531.9494338, tmp))&(x/(tmp = -3198795871.7239237, tmp))))+((-2627653357)>>x))>>>x)*(1066736757.2718519))%(tmp = 1326732482.201604, tmp))/(tmp = 2513496019.814191, tmp))>>>((1694891519)>>>(-2860217254.378931)))<<(tmp = 31345503, tmp)))));
- assertEquals(0, x ^= (x/((-2556481161)>>>(x/(x%(x&(1302923615.7148068)))))));
- assertEquals(NaN, x /= x);
- assertEquals(NaN, x += (tmp = 846522031, tmp));
- assertEquals(0, x >>= (x+(-1420249556.419045)));
- assertEquals(0, x ^= (((x%(-1807673170))&x)-x));
- assertEquals(-3484.311990686845, x -= ((((((-510347602.0068991)>>>x)<<((tmp = 1647999950, tmp)&(((305407727)>>((1781066601.791009)&x))<<((tmp = -998795238, tmp)%(((x/x)+x)<<(((2586995491.434947)<<x)-((((tmp = 545715607.9395425, tmp)*x)>>>x)>>>(((((2332534960.4595165)^(-3159493972.3695474))<<(tmp = 867030294, tmp))|(2950723135.753855))^(((3150916666)<<x)>>((tmp = 414988690, tmp)|((tmp = -1879594606, tmp)/(tmp = 1485647336.933429, tmp))))))))))))>>(tmp = -2676293177, tmp))%(617312699.1995015))/((((tmp = -1742121185, tmp)^((((x&x)<<(tmp = 698266916, tmp))/(-1860886248))+((-213304430)%((((((-2508973021.1333447)+(tmp = 2678876318.4903, tmp))&(tmp = -43584540, tmp))-x)^(-2251323850.4611115))-x))))>>>(tmp = 2555971284, tmp))%((((tmp = 16925106, tmp)^x)&x)|((x/((x|(tmp = -2787677257.125139, tmp))<<(-853699567)))+(tmp = -1721553520, tmp))))));
- assertEquals(-447873933.26863855, x += (-447870448.9566479));
- assertEquals(200591060101520900, x *= x);
- assertEquals(200591062202483420, x -= (-2100962536));
- assertEquals(-5.261023346568228e+24, x *= ((tmp = -419641692.6377077, tmp)>>(tmp = -224703100, tmp)));
- assertEquals(1269498660, x |= (195756836));
- assertEquals(1269498660, x |= x);
- assertEquals(1269498660, x |= x);
- assertEquals(-37.75978948486164, x /= (((tmp = -595793780, tmp)+((tmp = 2384365752, tmp)>>>(1597707155)))|((968887032)^(tmp = 2417905313.4337964, tmp))));
- assertEquals(-37.75978948486164, x %= (tmp = -1846958365.291661, tmp));
- assertEquals(1102319266.6421175, x += (1102319304.401907));
- assertEquals(-1664202255175155200, x -= ((x^(tmp = 407408729, tmp))*x));
- assertEquals(-752874653, x ^= (tmp = 314673507, tmp));
- assertEquals(-72474761, x |= (tmp = -2538726025.8884344, tmp));
- assertEquals(-72474761, x |= x);
- assertEquals(-122849418, x += ((tmp = -2332080457, tmp)|(((((30496388.145492196)*(((-1654329438.451212)|(-2205923896))&(x>>(tmp = -1179784444.957002, tmp))))&(tmp = 319312118, tmp))*(651650825))|(((-2305190283)|x)>>>(-428229803)))));
- assertEquals(994, x >>>= x);
- assertEquals(614292, x *= (((((2565736877)/((tmp = 649009094, tmp)>>>(((x>>>(2208471260))>>(x>>>x))%x)))&(tmp = 357846438, tmp))<<(tmp = -2175355851, tmp))%x));
- assertEquals(1792008118, x |= (tmp = 1791924774.5121183, tmp));
- assertEquals(1246238208, x &= (tmp = 1264064009.9569638, tmp));
- assertEquals(-88877082, x ^= (2969289190.285704));
- assertEquals(0.044923746573582474, x /= ((tmp = -3057438043, tmp)^(-1009304907)));
- assertEquals(0, x <<= ((-828383918)-((((x>>(734512101))*(tmp = -3108890379, tmp))-(x|((tmp = 3081370585.3127823, tmp)^((-271087194)-(x/(tmp = -2777995324.4073873, tmp))))))%x)));
- assertEquals(1604111507.3365753, x -= (-1604111507.3365753));
- assertEquals(-1721314970, x ^= (tmp = -956686859, tmp));
- assertEquals(-102247425, x |= (tmp = -2535095555, tmp));
- assertEquals(-102247425, x %= (-955423877));
- assertEquals(1053144489850425, x *= (((tmp = 1583243590.9550207, tmp)&(1356978114.8592746))|(tmp = -10299961.622774363, tmp)));
- assertEquals(-0.0043728190668037336, x /= ((-1196259252.435701)*(((-689529982)|(tmp = -1698518652.4373918, tmp))<<x)));
- assertEquals(-2, x ^= (((x+(tmp = 2961627388, tmp))>>(tmp = 231666110.84104693, tmp))|x));
- assertEquals(-1, x >>= (tmp = -83214419.92958307, tmp));
- assertEquals(-1, x %= (-1303878209.6288595));
- assertEquals(2944850457.5213213, x -= (tmp = -2944850458.5213213, tmp));
- assertEquals(-1.6607884436053055, x /= (-1773164107));
- assertEquals(-0.6607884436053055, x %= ((x>>(1240245489.8629928))%(tmp = -3044136221, tmp)));
- assertEquals(-0, x *= ((x*x)>>>((1069542313.7656753)+x)));
- assertEquals(0, x >>>= (tmp = -202931587.00212693, tmp));
- assertEquals(-0, x *= (-375274420));
- assertEquals(0, x |= ((x/(((tmp = -876417141, tmp)*(x>>>x))&(-2406962078)))<<x));
- assertEquals(0, x &= ((tmp = -650283599.0780096, tmp)*(tmp = 513255913.34108484, tmp)));
- assertEquals(3027255453.458466, x += (3027255453.458466));
- assertEquals(-12568623413253943000, x *= (((x-(198689694.92141533))|x)-x));
- assertEquals(-12568623410285185000, x -= (tmp = -2968758030.3694654, tmp));
- assertEquals(-2008903680, x &= (3111621747.7679076));
- assertEquals(-110045263.26583672, x += (tmp = 1898858416.7341633, tmp));
- assertEquals(15964, x >>>= (1141042034));
- assertEquals(31928, x += x);
- assertEquals(0, x ^= x);
- assertEquals(-1159866377, x |= (-1159866377));
- assertEquals(0, x ^= x);
- assertEquals(3072699529.4306993, x -= (tmp = -3072699529.4306993, tmp));
- assertEquals(1, x /= x);
- assertEquals(-1471195029, x |= (2823772267.429641));
- assertEquals(-4152937108, x += (-2681742079));
- assertEquals(142030188, x |= x);
- assertEquals(270, x >>= (tmp = 1013826483, tmp));
- assertEquals(0, x >>>= (529670686));
- assertEquals(-2912300367, x -= (2912300367));
- assertEquals(2213791134963007500, x *= (x<<((((-3214746140)>>(tmp = -588929463, tmp))+((tmp = -3084290306, tmp)>>x))>>x)));
- assertEquals(2213791133466809900, x -= (tmp = 1496197641, tmp));
- assertEquals(69834416, x >>>= (x|(((2755815509.6323137)^(x%(((x*((((tmp = 375453453, tmp)<<(x*x))>>(tmp = -973199642, tmp))*x))>>((tmp = -356288629, tmp)>>(tmp = 2879464644, tmp)))<<((((1353647167.9291127)>>>(x/x))<<((2919449101)/(2954998123.5529594)))^x))))&((-2317273650)>>>(tmp = 34560010.71060455, tmp)))));
- assertEquals(69834416, x >>>= (x^(-2117657680.8646245)));
- assertEquals(2217318064, x -= ((tmp = 2035883891, tmp)<<(tmp = -1884739265, tmp)));
- assertEquals(-1272875686, x ^= (tmp = 805889002.7165648, tmp));
- assertEquals(-1272875686, x >>= (x&(((1750455903)*x)>>((722098015)%((tmp = 1605335626, tmp)>>(tmp = -565369634, tmp))))));
- assertEquals(-1274351316, x -= (x>>>((tmp = 2382002632, tmp)-((tmp = -2355012843, tmp)+(1465018311.6735773)))));
- assertEquals(-2982908522.4418216, x -= ((tmp = 1635549038.4418216, tmp)+(((1952167017.720186)&((tmp = -2284822073.1002254, tmp)>>(-1403893917)))%(tmp = 655347757, tmp))));
- assertEquals(312, x >>>= x);
- assertEquals(1248, x <<= (2376583906));
- assertEquals(0, x ^= x);
- assertEquals(0, x *= ((((tmp = 1914053541.881434, tmp)>>>(tmp = 1583032186, tmp))>>>(-2511688231))%(tmp = -2647173031, tmp)));
- assertEquals(0, x >>>= (tmp = -2320612994.2421227, tmp));
- assertEquals(0, x %= (((x+(tmp = -720216298.5403998, tmp))<<(414712685))>>(tmp = 480416588, tmp)));
- assertEquals(0, x >>= ((((3039442014.271272)<<x)%(-2402430612.9724464))&((-2141451461.3664773)%((x>>(1361764256))/((tmp = -1723952801.9320493, tmp)%(477351810.2485285))))));
- assertEquals(-0, x /= (tmp = -1627035877, tmp));
- assertEquals(0, x >>>= (tmp = 1745193212, tmp));
- assertEquals(0, x >>>= (2309131575));
- assertEquals(NaN, x %= (((x*(tmp = -1730907131.6124666, tmp))%((((1481750041)|(x>>((((x>>>(tmp = 3128156522.5936565, tmp))/(tmp = -1277222645.9880452, tmp))^(tmp = -2327254789, tmp))+x)))>>>(-1161176960))>>>(tmp = 3135906272.5466847, tmp)))*(((((-2230902834.464362)^(1822893689.8183987))+(((tmp = 1597326356, tmp)/(x&((tmp = -3044163063.587389, tmp)>>(tmp = 2844997555, tmp))))%(x^x)))>>((x|x)/x))^(2634614167.2529745))));
- assertEquals(0, x &= (3081901595));
- assertEquals(0, x &= (-2453019214.8914948));
- assertEquals(0, x &= x);
- assertEquals(0, x >>>= (-596810618.3666217));
- assertEquals(0, x >>= (((908276623)|x)/x));
- assertEquals(0, x ^= x);
- assertEquals(958890056, x |= (tmp = 958890056.474458, tmp));
- assertEquals(1325436928, x <<= (tmp = -2474326583, tmp));
- assertEquals(711588532333838300, x *= ((-148161646.68183947)<<(tmp = -1149179108.8049204, tmp)));
- assertEquals(0, x ^= (((2862565506)%x)/(tmp = -2865813112, tmp)));
- assertEquals(-2064806628, x += (((tmp = -2677361175.7317276, tmp)/((817159440)>>>(tmp = 1895467706, tmp)))^(x|(tmp = -2309094859, tmp))));
- assertEquals(-69806982479424, x *= ((x&(tmp = 2857559765.1909904, tmp))&(-3166908966.754988)));
- assertEquals(-430255744, x %= ((((((-2968574724.119535)<<x)<<((tmp = 1603913671, tmp)%((-1495838556.661653)^(tmp = 1778219751, tmp))))*(-400364265))<<((((1607866371.235576)-(1961740136))|(1259754297))&(tmp = -1018024797.1352971, tmp)))^x));
- assertEquals(6.828637393208647e-7, x /= (x*(tmp = 1464421, tmp)));
- assertEquals(0, x &= x);
- assertEquals(-0, x *= (((tmp = -2510016276, tmp)-(2088209546))<<((tmp = -1609442851.3789036, tmp)+(tmp = 1919930212, tmp))));
- assertEquals(-0, x %= (tmp = 1965117998, tmp));
- assertEquals(-290294792.53186846, x += ((tmp = -2361555894.5318685, tmp)%(2071261102)));
- assertEquals(-70873, x >>= (tmp = 2206814124, tmp));
- assertEquals(-141746, x += x);
- assertEquals(-141733.9831459089, x -= (((tmp = -806523527, tmp)>>>(tmp = 1897214891, tmp))/x));
- assertEquals(-141733.9831459089, x %= ((tmp = 1996295696, tmp)<<(tmp = 3124244672, tmp)));
- assertEquals(141733.9831459089, x /= (x>>(2688555704.561076)));
- assertEquals(3196954517.3075542, x -= (tmp = -3196812783.3244085, tmp));
- assertEquals(-19929155, x |= (((x|x)+x)^((tmp = 391754876, tmp)-(((((((tmp = -3051902902.5100636, tmp)*(x/(1546924993)))|(tmp = 1494375949, tmp))/((((-795378522)/(tmp = 509984856, tmp))>>>(tmp = -106173186, tmp))+x))|x)|(1916921307))>>>x))));
- assertEquals(1279271449, x &= ((tmp = 1289446971, tmp)&(tmp = 1836102619, tmp)));
- assertEquals(17876992, x <<= (-207633461));
- assertEquals(0, x >>= (tmp = -903885218.9406946, tmp));
- assertEquals(0, x >>>= x);
- assertEquals(-2999, x -= (((754533336.2183633)%(tmp = 557970276.0537136, tmp))>>(tmp = -1171045520, tmp)));
- assertEquals(-0.000003020470363504361, x /= (tmp = 992891715.2229724, tmp));
- assertEquals(1, x /= x);
- assertEquals(0.45768595820301217, x %= ((tmp = 673779031, tmp)/(tmp = -1242414872.3263657, tmp)));
- assertEquals(-980843052.1872087, x += (tmp = -980843052.6448946, tmp));
- assertEquals(-Infinity, x /= ((((tmp = 317747175.8024508, tmp)&(x&(((tmp = 1632953053, tmp)>>x)/x)))%x)/(3145184986)));
- assertEquals(0, x &= (x<<x));
- assertEquals(0, x ^= (x-((2969023660.5619783)/x)));
- assertEquals(0, x *= x);
- assertEquals(NaN, x %= (x/(((x-x)/((tmp = -1622970458.3812745, tmp)-(1626134522)))&((((((tmp = 1384729039.4149384, tmp)^(x%(tmp = -2736365959, tmp)))+((-1465172172)%x))>>(tmp = -1839184810.2603343, tmp))^(((tmp = 1756918419, tmp)>>>(x+(x%(tmp = -2011122996.9794662, tmp))))<<(-3026600748.902623)))*((tmp = -2040286580, tmp)>>(-2899217430.655154))))));
- assertEquals(0, x >>>= (tmp = 2100066003.3046467, tmp));
- assertEquals(1362012169, x ^= (tmp = 1362012169, tmp));
- assertEquals(1476312683, x |= ((457898409)>>>(-3079768830.723079)));
- assertEquals(1441711, x >>>= (905040778.7770994));
- assertEquals(2078530607521, x *= x);
- assertEquals(-208193103, x |= ((tmp = -241750000, tmp)^x));
- assertEquals(745036378, x ^= (((tmp = -1737151062.4726632, tmp)<<x)|(tmp = -1900321813, tmp)));
- assertEquals(1744830464, x <<= x);
- assertEquals(212992, x >>>= ((1210741037)-(x-(x>>>((x^(-1273817997.0036907))+((2401915056.5471)%(x<<(tmp = 1696738364.277438, tmp))))))));
- assertEquals(0.0001604311565639742, x /= (1327622418));
- assertEquals(0, x <<= (tmp = 166631979.34529006, tmp));
- assertEquals(0, x *= ((((tmp = 657814984, tmp)/(((-831055031)>>>(1531978379.1768064))|((tmp = 2470027754.302619, tmp)^(-223467597))))/(tmp = 1678697269.468965, tmp))&(tmp = -1756260071.4360774, tmp)));
- assertEquals(-2049375053, x ^= (tmp = -2049375053, tmp));
- assertEquals(-1879109889, x |= (tmp = -1963586818.0436726, tmp));
- assertEquals(718239919, x ^= (tmp = -1523550640.1925273, tmp));
- assertEquals(-1361085185, x |= (-1939964707));
- assertEquals(2, x >>>= (1864136030.7395325));
- assertEquals(0.794648722849246, x %= ((-668830999)*(((-2227700170.7193384)%(x^(x>>>x)))/(tmp = 399149892, tmp))));
- assertEquals(0, x >>= x);
- assertEquals(0, x *= x);
- assertEquals(0, x &= ((tmp = -2389008496.5948563, tmp)|((((tmp = -2635919193.905919, tmp)*((-64464127)<<(2136112830.1317358)))>>((184057979)*(-1204959085.8362718)))>>>(-442946870.3341484))));
- assertEquals(-243793920, x -= ((tmp = 3002998032, tmp)<<((537875759)<<x)));
- assertEquals(0, x -= x);
- assertEquals(0, x *= ((((66852616.82442963)/((((x^x)&(2975318321.223734))+(((tmp = -1388210811.1249495, tmp)^((((-680567297.7620237)%(x-(tmp = -672906716.4672911, tmp)))-x)*(tmp = -1452125821.0132627, tmp)))*(((2770387154.5427895)%x)%x)))-x))<<((-1481832432.924325)>>(tmp = 3109693867, tmp)))>>>(x/(((((((tmp = 928294418, tmp)^(((-1018314535)/(tmp = -3167523001, tmp))%((((((tmp = -1639338126, tmp)-(tmp = -2613558829, tmp))&x)/x)%(tmp = 513624872, tmp))/((-520660667)&x))))*(2620452414))^((tmp = 2337189239.5949326, tmp)*(3200887846.7954993)))>>>((tmp = 1173330667, tmp)^x))<<x)>>(((tmp = -2475534594.982338, tmp)*x)|x)))));
- assertEquals(0, x /= (2520915286));
- assertEquals(0, x &= x);
- assertEquals(0, x >>= (-1908119327));
- assertEquals(0, x >>>= (tmp = 549007635, tmp));
- assertEquals(0, x >>= (-994747873.8117285));
- assertEquals(0, x <<= ((((x>>>((-3084793026.846681)%((1107295502)&(tmp = -296613957.8133817, tmp))))&((19637717.166736007)/(x+x)))+x)/(-2479724242)));
- assertEquals(-695401420, x += (-695401420));
- assertEquals(-695401394, x += (x>>>(tmp = 2340097307.6556053, tmp)));
- assertEquals(-555745552, x -= (x|(-483851950.68644)));
- assertEquals(-17825792, x <<= x);
- assertEquals(-17825792, x >>= x);
- assertEquals(-17, x %= ((tmp = 1799361095, tmp)|((x>>(((-1201252592)<<((((543273288)+(-2859945716.606924))*x)<<((-3030193601)<<(3081129914.9217644))))|((1471431587.981769)>>(-246180750))))|(((tmp = -2689251055.1605787, tmp)>>x)&(((2131333169)^x)-((tmp = -951555489, tmp)/x))))));
- assertEquals(-8912896, x <<= (1146444211));
- assertEquals(2854567584, x += (tmp = 2863480480, tmp));
- assertEquals(426232502.24151134, x %= (1214167540.8792443));
- assertEquals(1806802048, x ^= (-2368317898));
- assertEquals(432537600, x <<= (tmp = 2831272652.589364, tmp));
- assertEquals(432537600, x %= (((1713810619.3880467)-x)&((-2853023009.553296)&(tmp = -3158798098.3355417, tmp))));
- assertEquals(-509804066, x += (tmp = -942341666, tmp));
- assertEquals(-509804066, x %= (-732349220));
- assertEquals(259900185710132350, x *= x);
- assertEquals(711598501.7021885, x %= ((tmp = 2020395586.2280731, tmp)-(tmp = 3031459563.1386633, tmp)));
- assertEquals(711598503.0618857, x += ((tmp = 967558548.4141241, tmp)/x));
- assertEquals(711598503, x &= x);
- assertEquals(711598503, x ^= (((((1609355669.1963444)+((((tmp = -2660082403.258437, tmp)+(tmp = -235367868, tmp))&(x/x))*((-2595932186.69466)|((tmp = -3039202860, tmp)<<x))))>>>(-951354869))-((tmp = -691482949.6335375, tmp)/(tmp = -1735502400, tmp)))/(tmp = 798440377, tmp)));
- assertEquals(558262613882868500, x *= (784519095.4299527));
- assertEquals(558262611968479000, x -= ((((tmp = 1039039153.4026555, tmp)/(-3138845051.6240187))*(tmp = 633557994, tmp))&(1981507217)));
- assertEquals(1170427648, x |= ((x>>((((-1086327124)%((tmp = -1818798806.368613, tmp)^(tmp = 2183576654.9959817, tmp)))>>x)&((((((tmp = 1315985464.0330539, tmp)&(2774283689.333836))%x)*((2722693772.8994813)&(tmp = -2720671984.945404, tmp)))^(tmp = -76808019, tmp))<<((tmp = 685037799.2336662, tmp)^((tmp = 1057250849, tmp)&(tmp = 1469205111.2989025, tmp))))))+(x*(((tmp = 448288818.47173154, tmp)-(-2527606231))-((8387088.402292728)>>x)))));
- assertEquals(558, x >>>= (tmp = 2732701109, tmp));
- assertEquals(558, x &= x);
- assertEquals(-0.00015855057024653912, x /= ((x+(((tmp = -1963815633, tmp)-(x>>x))-((x|x)>>x)))/x));
- assertEquals(1.3458861596445712e-13, x /= (-1178038492.4116466));
- assertEquals(0, x <<= (-104550232));
- assertEquals(0, x >>>= (x>>(tmp = -255275244.12613606, tmp)));
- assertEquals(0, x >>= x);
- assertEquals(375, x |= ((1576819294.6991196)>>>(-2570246122)));
- assertEquals(96000, x <<= ((2252913843.0150948)>>>(-49239716)));
- assertEquals(6144000, x <<= ((((tmp = -2478967279, tmp)&((x%((tmp = -1705332610.8018858, tmp)+(x+(tmp = 590766349, tmp))))<<(tmp = 1759375933, tmp)))+(-2024465658.849834))&(1564539207.3650014)));
- assertEquals(-1149239296, x <<= (1862803657.7241006));
- assertEquals(-9, x >>= (((tmp = 463306384.05696774, tmp)^x)|((x>>((((-2098070856.799663)<<((-2054870274.9012866)<<(((-2582579691)/(829257170.0266814))<<(((((tmp = -1753535573.7074275, tmp)<<((x>>(-197886116))%((2487188445)%(tmp = 2465391564.873364, tmp))))&(((tmp = -500069832, tmp)&(tmp = 3016637032, tmp))&((tmp = 2525942628, tmp)|((((-920996215)|x)^((((tmp = -687548533.419106, tmp)&(1423222636.058937))<<((tmp = -1096532228, tmp)>>((((tmp = -3124481449.2740726, tmp)^(tmp = 2724328271.808975, tmp))>>x)*x)))+(-1661789589.5808442)))+(((x*(tmp = -1224371664.9549093, tmp))^((tmp = 3202970043, tmp)^x))/(tmp = 131494054.58501709, tmp))))))|(((tmp = -1654136720, tmp)<<x)>>((1652979932.362416)-(tmp = -863732721, tmp))))^(-113307998)))))^(-90820449.91417909))*((tmp = 641519890, tmp)-((((x<<(tmp = 2349936514.071881, tmp))*(2324420443.587892))^x)%(x<<((tmp = -1838473742, tmp)/(((-3154172718.4274178)-x)+x)))))))|(x>>>((tmp = 2096024376.4308293, tmp)<<x)))));
- assertEquals(81, x *= x);
- assertEquals(81, x &= x);
- assertEquals(81, x %= (tmp = 2223962994, tmp));
- assertEquals(81, x ^= ((x/(((-1606183420.099584)|(-1242175583))&(((x|((tmp = 828718431.3311573, tmp)/(x>>x)))+(((-2207542725.4531174)^(x*x))*(tmp = 551575809.955105, tmp)))/x)))&((x>>x)&x)));
- assertEquals(81, x %= (tmp = 279598358.6976975, tmp));
- assertEquals(101.72338484518858, x -= (((tmp = 2452584495.44003, tmp)%((-1181192721)+(((x>>(((x&x)^x)+((x>>>((x+(-2472793823.57181))/(((2854104951)>>(-1208718359.6554642))>>>(1089411895.694705))))/(x|(-2821482890.1780205)))))^(-1786654551))/(-29404242.70557475))))/(((-4352531)<<((-1227287545)<<x))%(-2558589438))));
- assertEquals(101.72338484518858, x %= (-943645643));
- assertEquals(0, x -= x);
- assertEquals(0, x >>>= (-2440404084));
- assertEquals(0, x >>= (tmp = 1029680958.405923, tmp));
- assertEquals(0, x >>>= (1213820208.7204895));
- assertEquals(-0, x /= (tmp = -103093683, tmp));
- assertEquals(0, x >>>= (-2098144813));
- assertEquals(-0, x /= (((-3087283334)+(((tmp = -3129028112.6859293, tmp)%(tmp = 2413829931.1605015, tmp))-(2578195237.8071446)))|x));
- assertEquals(-15, x |= ((((-178926550.92823577)>>>(-965071271))^((tmp = -484633724.7237625, tmp)-(tmp = 473098919.1486404, tmp)))>>((-2264998310.203265)%(tmp = -499034672, tmp))));
- assertEquals(0, x ^= x);
- assertEquals(0, x >>= (((-3207915976.698118)<<(tmp = 2347058630, tmp))|(tmp = -2396250098.559627, tmp)));
- assertEquals(NaN, x %= x);
- assertEquals(NaN, x *= (621843222));
- assertEquals(0, x >>= (((-2409032228.7238913)*x)-(tmp = -887793239, tmp)));
- assertEquals(NaN, x /= x);
- assertEquals(1193017666, x ^= (tmp = 1193017666, tmp));
- assertEquals(3.5844761899682753, x /= (tmp = 332829011.206393, tmp));
- assertEquals(-888572929, x |= (((tmp = 1032409228, tmp)+(tmp = -1920982163.7853453, tmp))+x));
- assertEquals(-1817051951333455600, x *= (((-1506265102)^(tmp = -775881816, tmp))-(tmp = -32116372.59181881, tmp)));
- assertEquals(-1638479616, x |= x);
- assertEquals(-114489, x %= (((tmp = -247137297.37866855, tmp)>>>((((((-322805409)-x)^x)>>((((((((x>>>(tmp = -900610424.7148039, tmp))/(-1155208489.6240904))|((-2874045803)|(tmp = 3050499811, tmp)))+(x/((tmp = -613902712, tmp)^((-982142626.2892077)*((((tmp = -3201753245.6026397, tmp)|((1739238762.0423079)^x))/(243217629.47237313))^((tmp = -11944405.987132788, tmp)/(tmp = 2054031985.633406, tmp)))))))*(tmp = 2696108952.450961, tmp))*x)>>>(tmp = 3058430643.0660386, tmp))>>(x<<x)))>>(-984468302.7450335))%((tmp = 1302320585.246251, tmp)>>>x)))%(tmp = -2436842285.8208156, tmp)));
- assertEquals(2047, x >>>= (2380161237));
- assertEquals(0, x >>= x);
- assertEquals(0, x &= (tmp = 980821012.975836, tmp));
- assertEquals(-1090535537, x -= ((-3064511503.1214876)&((tmp = -2598316939.163751, tmp)<<((tmp = -969452391.8925576, tmp)*x))));
- assertEquals(-2181071074, x += x);
- assertEquals(1, x >>>= ((2902525386.449062)>>x));
- assertEquals(1, x += (x&(tmp = -2643758684.6636515, tmp)));
- assertEquals(1, x %= ((tmp = -2646526891.7004848, tmp)/x));
- assertEquals(448735695.7888887, x -= (tmp = -448735694.7888887, tmp));
- assertEquals(1, x /= x);
- assertEquals(1, x >>= ((-480385726)<<(2641021142)));
- assertEquals(1, x %= (375099107.9200462));
- assertEquals(1, x >>= (((x&((tmp = -2402469116.9903326, tmp)%(tmp = -2862459555.860298, tmp)))*(tmp = -2834162871.0586414, tmp))%(((x>>>(tmp = 721589907.5073895, tmp))*(x^x))%(((tmp = 2844611489.231776, tmp)^((983556913)&(906035409.6693488)))^(x>>>(1239322375))))));
- assertEquals(268435456, x <<= (tmp = 178807644.80966163, tmp));
- assertEquals(44, x %= ((tmp = 2527026779.081539, tmp)>>>(2736129559)));
- assertEquals(88, x += x);
- assertEquals(0, x >>>= x);
- assertEquals(0, x -= x);
- assertEquals(-1523121602, x |= (2771845694));
- assertEquals(-2, x >>= x);
- assertEquals(-4, x += x);
- assertEquals(-256, x <<= (((2522793132.8616533)>>(tmp = 77232772.94058788, tmp))+(3118669244.49152)));
- assertEquals(4294967040, x >>>= x);
- assertEquals(-256, x &= x);
- assertEquals(1278370155.835435, x -= (-1278370411.835435));
- assertEquals(-3.488228054921667, x /= (tmp = -366481243.6881058, tmp));
- assertEquals(1.162742684973889, x /= ((x|(((((2404819175.562809)*(tmp = -2524589506, tmp))&(tmp = -675727145, tmp))>>>(x*x))&((-413250006)<<(tmp = 2408322715, tmp))))|((2940367603)>>>x)));
- assertEquals(0, x >>>= ((2513665793)-(tmp = 1249857454.3367786, tmp)));
- assertEquals(0, x ^= x);
- assertEquals(0, x ^= x);
- assertEquals(1989998348.6336238, x -= (-1989998348.6336238));
- assertEquals(903237918.986834, x %= (1086760429.6467898));
- assertEquals(-4.4185765232981975, x /= (-204418304));
- assertEquals(1471621914, x ^= (tmp = -1471621914.1771696, tmp));
- assertEquals(1471621914, x |= ((((((x<<(tmp = -2676407394.536844, tmp))%(((343324258)+(x/(x>>(((-221193011)>>>x)|x))))>>(((-2737713893)^((tmp = -49214797.00735545, tmp)+((-2818106123.172874)/(tmp = -2361786565.3028684, tmp))))<<(1859353297.6355076))))*(tmp = -751970685, tmp))|((tmp = 2502717391.425871, tmp)/(tmp = -2647169430, tmp)))*((tmp = -1647567294, tmp)&(((tmp = 1819557651, tmp)/x)>>((((-3073469753)/x)-(((tmp = -1973810496.6407511, tmp)&((x-(x+(tmp = -2986851659, tmp)))>>>(tmp = -2226975699, tmp)))|(418770782.142766)))<<x))))*(((((tmp = 125466732, tmp)/((((1453655756.398259)|(((874792086.7064595)-(194880772.91499102))>>>x))%(x<<(tmp = -1445557137, tmp)))<<x))>>>(tmp = -1953751906, tmp))/((tmp = -2140573172.2979035, tmp)*((-108581964)^x)))|(-481484013.0393069))));
- assertEquals(1454179065, x += ((tmp = 947147038.2829313, tmp)|(tmp = -154822975.3629098, tmp)));
- assertEquals(1, x /= x);
- assertEquals(1, x %= ((((((tmp = -2262250297.991866, tmp)-(tmp = 481953960, tmp))/(1629215187.6020458))|(2515244216))>>>((tmp = -3040594752.2184515, tmp)-(tmp = -1116041279, tmp)))^(((-182133502)-(1065160192.6609197))+(((((-1850040207)^(tmp = -1570328610, tmp))^(tmp = 20542725.09256518, tmp))*x)|(2386866629)))));
- assertEquals(1, x &= (2889186303));
- assertEquals(0, x >>= (((-1323093107.050538)>>(x%x))-(((((((-1736522840)+(tmp = -2623890690.8318863, tmp))*(959395040.5565329))*(233734920))<<((x+(x%((tmp = -2370717284.4370327, tmp)%(tmp = 2109311949, tmp))))-(tmp = -1005532894, tmp)))|(861703605))>>>((2399820772)/x))));
- assertEquals(0, x >>= x);
- assertEquals(57233408, x |= ((tmp = 2655923764.4179816, tmp)*(-1353634624.3025436)));
- assertEquals(997939728, x |= (980552208.9005274));
- assertEquals(1859642592476610800, x *= (1863481872));
- assertEquals(-977190656, x <<= x);
- assertEquals(4.378357529141239e+26, x *= ((((x/(((tmp = 2429520991, tmp)/(x/(tmp = 784592802, tmp)))-(tmp = -2704781982, tmp)))*(tmp = -2161015768.2322354, tmp))&((((-3164868762)>>(tmp = 2390893153.32907, tmp))^x)>>(-2422626718.322538)))*(tmp = 278291869, tmp)));
- assertEquals(4.378357529141239e+26, x -= (1710777896.992369));
- assertEquals(0, x &= (((((tmp = -2532956158.400033, tmp)|((2195255831.279001)|(1051047432)))|(-1628591858))|(tmp = -2042607521.947963, tmp))>>((-1471225208)/(((-133621318)>>(1980416325.7358408))*((1741069593.1036062)-(x|(2133911581.991011)))))));
- assertEquals(-0, x /= (-656083507));
- assertEquals(NaN, x += ((tmp = -1071410982.2789869, tmp)%x));
- assertEquals(NaN, x *= (tmp = -1513535145.3146675, tmp));
- assertEquals(0, x >>= ((2831245247.5267224)>>(x<<((x+(((3068824580.7922907)|(1708295544.275714))*((tmp = -1662930228.1170444, tmp)-(((tmp = 1979994889, tmp)<<(tmp = -1826911988, tmp))&((x/(x<<(1909384611.043981)))+(1958052414.7139997))))))<<(tmp = 2481909816.56558, tmp)))));
- assertEquals(0, x *= (((tmp = -2979739958.1614842, tmp)&x)+x));
- assertEquals(-0, x *= ((-332769864.50313234)^x));
- assertEquals(0, x >>= ((((689018886.1436445)+(tmp = -2819546038.620694, tmp))|(((tmp = -1459669934.9066005, tmp)|x)/x))<<(((tmp = 2640360389, tmp)/((x%((-1947492547.9056122)%((1487212416.2083092)-(-1751984129))))^x))%(tmp = 2666842881, tmp))));
- assertEquals(-1801321460, x |= (tmp = 2493645836, tmp));
- assertEquals(-1801321460, x %= (2400405136));
- assertEquals(-2905399858195810300, x *= (tmp = 1612926911, tmp));
- assertEquals(-2905399858195810300, x -= (x>>(tmp = 1603910263.9593458, tmp)));
- assertEquals(-238798848, x &= ((tmp = -2638646212.767516, tmp)/(((tmp = 1755616291.436998, tmp)>>>(tmp = 1083349775, tmp))-(x%(((tmp = 1728859105.53634, tmp)^(1931522619.0403612))/(tmp = 712460587.0025489, tmp))))));
- assertEquals(-2363873607.2302856, x += (-2125074759.230286));
- assertEquals(1712665, x &= (((117229515)>>>(((1707090894.1915488)>>>((-1696008695)>>(((-1045367326.7522249)<<(tmp = -209334716, tmp))-x)))|(-1707909786.080653)))%(1260761349.172689)));
- assertEquals(1073741824, x <<= (tmp = -289437762.34742975, tmp));
- assertEquals(1073741824, x &= (tmp = 2079141140, tmp));
- assertEquals(0, x <<= ((x^(-3139646716.1615124))-(((-362323071.74237394)|(tmp = 2989896849, tmp))*(tmp = -218217991, tmp))));
- assertEquals(0, x &= (tmp = -1476835288.425903, tmp));
- assertEquals(0, x >>>= (tmp = 61945262.70868635, tmp));
- assertEquals(0, x ^= x);
- assertEquals(-2735263498.7189775, x -= (2735263498.7189775));
- assertEquals(-1182289920, x <<= (x+x));
- assertEquals(-1182289580, x ^= ((2858446263.2258)>>>(2387398039.6273785)));
- assertEquals(696693056, x &= ((2178665823)*(-51848583)));
- assertEquals(1652555776, x <<= (((tmp = 2943916975, tmp)-((-1544273901)>>(-1671503106.2896929)))|x));
- assertEquals(6455296, x >>>= (tmp = 1492638248.675439, tmp));
- assertEquals(2097152, x &= (((x|x)*(2873891571.7000637))^((2165264807)+(tmp = 451721563, tmp))));
- assertEquals(2097152, x %= (tmp = 1089484582.1455994, tmp));
- assertEquals(2097152, x <<= x);
- assertEquals(2097152, x &= ((tmp = 119096343.4032247, tmp)^((-1947874541)*x)));
- assertEquals(0, x &= (tmp = 2363070677, tmp));
- assertEquals(0, x &= ((tmp = -1897325383, tmp)>>>((2368480527)>>>((tmp = 1837528979, tmp)*(-1838904077)))));
- assertEquals(-1898659416, x ^= (-1898659416.1125412));
- assertEquals(-725506048, x <<= x);
- assertEquals(1392943104, x <<= (295287938.9104482));
- assertEquals(-63620329, x ^= ((tmp = -3175925826.5573816, tmp)-(tmp = 2474613927, tmp)));
- assertEquals(-1135111726, x -= ((tmp = -1133259081, tmp)^(((tmp = -742228219, tmp)>>((-7801909.587711811)%((tmp = -642758873, tmp)+(tmp = 2893927824.6036444, tmp))))^((tmp = -2145465178.9142997, tmp)+x))));
- assertEquals(0, x ^= x);
- assertEquals(660714589, x |= (660714589));
- assertEquals(660714676, x ^= ((-376720042.8047826)>>>(2196220344)));
- assertEquals(660714676, x |= ((((((((x<<(-1140465568))-(tmp = -1648489774.1573918, tmp))%(((tmp = -2955505390.573639, tmp)*x)<<((((tmp = -1769375963, tmp)*(tmp = -440619797, tmp))&((tmp = 1904284066, tmp)%(-2420852665.0629807)))+(-324601009.2063596))))>>(tmp = 2317210783.9757776, tmp))^((tmp = 750057067.4541628, tmp)^(tmp = -1391814244.7286487, tmp)))>>((344544658.6054913)%((tmp = -1508630423.218488, tmp)&(tmp = 1918909238.2974637, tmp))))>>((-647746783.685822)&(tmp = 2444858958.3595476, tmp)))&x));
- assertEquals(-962337195, x ^= (tmp = -507358495.30825853, tmp));
- assertEquals(-182008925.58535767, x %= (tmp = -195082067.35366058, tmp));
- assertEquals(502070, x >>>= (tmp = 1459732237.1447744, tmp));
- assertEquals(-2391009930.7235765, x -= (tmp = 2391512000.7235765, tmp));
- assertEquals(1568669696, x <<= x);
- assertEquals(0, x <<= (tmp = -571056688.2717848, tmp));
- assertEquals(1770376226, x ^= (tmp = 1770376226.0584736, tmp));
- assertEquals(0, x ^= x);
- assertEquals(0, x &= ((((x<<x)>>>x)|x)|(((tmp = -2141573723, tmp)^x)|(64299956))));
- assertEquals(0, x ^= x);
- assertEquals(0, x &= x);
- assertEquals(0, x <<= (1106060336.7362857));
- assertEquals(-0, x /= (x|(tmp = 2760823963, tmp)));
- assertEquals(0, x <<= ((-2436225757)|(-1800598694.4062433)));
- assertEquals(0, x >>>= ((-728332508.9870625)<<x));
- assertEquals(-173377680, x ^= ((tmp = -173377680, tmp)%(tmp = -2843994892, tmp)));
- assertEquals(-173377680, x |= ((((-819217898)&(tmp = -1321650255, tmp))&(x+((x^x)<<((1700753064)>>((((((-1038799327)>>((782275464)^x))-(tmp = -2113814317.8539028, tmp))>>(2143804838))&x)-((2970418921)/(-3073015285.6587048)))))))&((-1759593079.4077306)%((1699128805)-((tmp = -467193967, tmp)&(((2225788267.3466334)*(((2687946762.5504274)+x)>>>x))<<(-1853556066.880512)))))));
- assertEquals(-0.5520657226957338, x /= ((tmp = -755493878, tmp)&(tmp = 918108389, tmp)));
- assertEquals(0.30477656217556287, x *= x);
- assertEquals(0, x &= ((tmp = -2746007517, tmp)<<(2749629340)));
- assertEquals(0, x ^= ((x%(tmp = 1683077876, tmp))%(-162706778)));
- assertEquals(0, x *= (tmp = 10203423, tmp));
- assertEquals(119043212.1461842, x += (tmp = 119043212.1461842, tmp));
- assertEquals(587202560, x <<= (tmp = 658697910.7051642, tmp));
- assertEquals(-138689730, x |= (x-(tmp = 1296317634.5661907, tmp)));
- assertEquals(-138663011, x -= ((-1751010109.5506423)>>(152829872)));
- assertEquals(-138663011, x %= (-1266200468));
- assertEquals(-138663011, x &= (x|((tmp = -571277275.622529, tmp)<<x)));
- assertEquals(-138663011, x >>= ((971259905.1265712)*(tmp = 2203764981, tmp)));
- assertEquals(-138663011, x %= (-904715829));
- assertEquals(-138663011, x |= ((tmp = -2823047885.283391, tmp)>>>(((tmp = 533217000, tmp)|(650754598.7836078))|(-1475565890))));
- assertEquals(-1610612736, x <<= x);
- assertEquals(-1610612736, x &= x);
- assertEquals(163840, x >>>= (-188885010));
- assertEquals(-1224224814, x |= (tmp = 3070742482, tmp));
- assertEquals(1498726395213334500, x *= x);
- assertEquals(1723591210, x |= ((tmp = 615164458, tmp)|x));
- assertEquals(1721910480, x ^= (x>>>x));
- assertEquals(4505284605.764313, x -= (tmp = -2783374125.7643127, tmp));
- assertEquals(-9504912393868483000, x *= (((tmp = 2896651872, tmp)<<(-2896385692.9017262))&(((((tmp = -2081179810.20238, tmp)|(tmp = -2484863999, tmp))>>((tmp = 1560885110.2665749, tmp)/(((tmp = 934324123.4289343, tmp)<<((tmp = -1591614157.0496385, tmp)+x))/(((x%(((tmp = 1672629986.8055913, tmp)%x)>>(tmp = 2116315086.2559657, tmp)))/(((-2687682697.5806303)>>x)/(-2034391222.5029132)))%(x-((((((tmp = 2598594967, tmp)/(((((((2950032233)%x)/x)^(tmp = -2126753451.3732262, tmp))<<(tmp = -3019113473, tmp))+(tmp = -2021220129.2320697, tmp))%((((-587645875.4666483)>>(((((x+x)+x)&(tmp = 533801785, tmp))|x)-((tmp = -2224808495.678903, tmp)/(1501942300))))>>>(-2558947646))>>((2798508249.020792)>>>x))))>>>((1060584557)/((((((((x&x)|(1426725365))>>>(tmp = 1500508838, tmp))>>(-1328705938))*((tmp = -2288009425.598777, tmp)>>>(((2586897285.9759064)%((-1605651559.2122297)>>>(tmp = 1936736684.4887302, tmp)))+((tmp = 2316261040, tmp)^(570340750.353874)))))&(x^((tmp = -2266524143, tmp)-(tmp = 2358520476, tmp))))+(tmp = 1449254900.9222453, tmp))%((-100598196)%((tmp = -2985318242.153491, tmp)>>((620722274.4565848)>>(871118975)))))))<<x)*(tmp = -1287065606.4143271, tmp))>>>(1038059916.2438471)))))))+((x/(-276990308.1264961))&(tmp = 2471016351.2195315, tmp)))|(((((tmp = -1288792769.3210807, tmp)+((tmp = -641817194, tmp)*(x<<(((-1933817364)>>(((tmp = 2084673536, tmp)|x)&x))&(tmp = -2752464480, tmp)))))%((796026752)*x))+(((tmp = -3083359669, tmp)|x)-((715303522)|(tmp = 181297266, tmp))))*(-1691520182.3207517)))));
- assertEquals(0, x <<= (-2322389800));
- assertEquals(0, x *= (tmp = 3188682235, tmp));
- assertEquals(0, x |= (x>>>((tmp = -2729325231.8288336, tmp)^((-393497076.96012783)*(x/(tmp = -2198942459.9466457, tmp))))));
- assertEquals(0, x ^= x);
- assertEquals(0, x %= (2835024997.4447937));
- assertEquals(0, x <<= x);
- assertEquals(0, x >>= (tmp = 1109824126, tmp));
- assertEquals(0, x <<= (3013043386));
- assertEquals(206825782.74659085, x -= (-206825782.74659085));
- assertEquals(-645346761227699500, x *= (-3120243292));
- assertEquals(6825462, x >>= ((tmp = 1457908135, tmp)<<x));
- assertEquals(-612366097.9189918, x -= (619191559.9189918));
- assertEquals(-612306090.9189918, x -= ((2328676543.893506)>>x));
- assertEquals(0, x ^= (x>>(((x>>>(1856200611.2269292))&(tmp = 2003217473, tmp))%((((((-107135673)+(((3062079356.170611)<<(tmp = -676928983, tmp))>>((tmp = -1487074941.2638814, tmp)|((-1601614031)/(1317006144.5025365)))))+x)*(((1163301641)>>>(448796567))/((x%((tmp = 72293197.34410787, tmp)+(-2304112723)))/((455610361)%(-2799431520)))))>>>(-217305041.09432888))<<(x-(tmp = -2168353649, tmp))))));
- assertEquals(0, x >>= x);
- assertEquals(-Infinity, x -= (((-1651597599.8950624)+(1780404320))/x));
- assertEquals(0, x <<= (tmp = 2246420272.4321294, tmp));
- assertEquals(0, x *= ((2793605382)-(tmp = -272299011, tmp)));
- assertEquals(0, x *= x);
- assertEquals(0, x <<= x);
- assertEquals(0, x >>= (tmp = 2556413090, tmp));
- assertEquals(0, x >>= ((tmp = -1784710085, tmp)%x));
- assertEquals(0, x %= (tmp = -1929880813, tmp));
- assertEquals(0, x *= (2586983368));
- assertEquals(0, x &= x);
- assertEquals(0, x <<= (-2144588807));
- assertEquals(0, x ^= ((x<<(((((((-596537598)+((x-(((((((tmp = -3179604796, tmp)/((tmp = 1156725365.3543215, tmp)>>>(tmp = -2762144319, tmp)))%(x<<x))&((tmp = 1750241928.1271567, tmp)&(x/((tmp = 1781306819, tmp)|x))))+((((2893068644)/((tmp = -576164593.9720252, tmp)<<((2724671.48995471)&(tmp = -573132475, tmp))))%(tmp = -1355625108, tmp))&(tmp = -302869512.5880568, tmp)))+x)<<x))>>((tmp = -2569172808, tmp)/x)))^x)-(tmp = -1174006275.2213159, tmp))&x)&(((((((-2303274799)>>(tmp = -814839320, tmp))/(tmp = 183887306.09810615, tmp))>>(((tmp = 1054106394.3704875, tmp)|x)>>>x))-(x-(tmp = 1313696830, tmp)))-((tmp = 2373274399.0742035, tmp)|((((tmp = -3163779539.4902935, tmp)*(tmp = -3056125181.726942, tmp))&(((x^(x^(x/((tmp = -576441696.6015451, tmp)<<(tmp = -26223719.920306206, tmp)))))>>(tmp = -2332835940, tmp))|((-146303509.41093707)&(tmp = -2676964025, tmp))))/((((x*(tmp = 1059918020, tmp))|((((2341797349)|(tmp = -744763805.1381104, tmp))<<x)+((2991320875.552578)^(2920702604.701831))))^(-1721756138))^(((tmp = -2794367554, tmp)>>((-2671235923.2097874)<<(x&((((tmp = -621472314.0859051, tmp)-(((x*x)+x)>>>((tmp = 1834038956, tmp)+x)))*x)^(tmp = -2090567586.321468, tmp)))))<<(321395210))))))>>>(tmp = -1207661719, tmp)))+(-2877264053.3805156)))/(x%(tmp = -2226991657.709366, tmp))));
- assertEquals(0, x *= (tmp = 986904991.061398, tmp));
- assertEquals(0, x -= (x%(650819306.6671969)));
- assertEquals(0, x >>>= (905893666.2871252));
- assertEquals(0, x += (((tmp = 2501942710.4804144, tmp)&x)/((tmp = -851080399.1751502, tmp)-(-1168623992))));
- assertEquals(-0, x *= (tmp = -2014577821.4554045, tmp));
- assertEquals(0, x &= (tmp = 1995246018, tmp));
- assertEquals(0, x %= (1724355237.7031958));
- assertEquals(-954696411, x += (((-2825222201)+(((1662353496.1795506)>>>(x-x))|(tmp = 225015046, tmp)))^(x&x)));
- assertEquals(-2158427339993389800, x *= (2260852052.1539803));
- assertEquals(19559, x >>>= (-862409169.4978967));
- assertEquals(-0.000012241163878671237, x /= (x^(tmp = 2697144215.160239, tmp)));
- assertEquals(0, x -= x);
- assertEquals(1448177644, x |= (tmp = 1448177644.624848, tmp));
- assertEquals(1448177644, x %= (((-1497553637.4976408)+(402228446))<<x));
- assertEquals(2304640553, x -= (-856462909));
- assertEquals(152436736, x &= ((766686903)*(((tmp = 660964683.1744609, tmp)|((((tmp = 297369746, tmp)-(x+((tmp = -2677127146, tmp)/x)))>>(((((((x%(x<<x))-(((((529254728)|((x|(-1407086127.6088922))&(tmp = -1968465008.5000398, tmp)))/(x%x))&((((-2761805265.92574)-x)*(x^(tmp = 110730179, tmp)))%((177220657.06030762)*(((2532585190.671373)/x)+(-1465143151)))))<<((tmp = -3008848338, tmp)<<(-2475597073))))|((-192996756.38619018)|((((1445996780)|(x>>>((((tmp = -2482370545.791443, tmp)*(tmp = -270543594, tmp))^x)*((1346780586)/(tmp = -625613363.885356, tmp)))))-(x<<(x/(-562307527))))&(-125701272))))*((x&x)%(tmp = 752963070, tmp)))>>>(tmp = 17419750.79086232, tmp))*x)^(x^((-157821212.04674292)-(tmp = 503849221.598824, tmp)))))-(tmp = 1479418449, tmp)))>>>((((((-78138548.2193842)<<(((2319032860.806689)-(tmp = -1564963892.5137577, tmp))>>>(-73673322.28957987)))<<((1797573493.3467085)*x))>>(tmp = 759994997, tmp))>>>(-1066441220))&(((((((tmp = 1972048857, tmp)*(((x&((-1347017320.0747669)>>>x))*(-2332716925.705054))%(-376976019.24362826)))>>>((tmp = -466479974, tmp)+x))&(-2282789473.3675604))|(((((((((269205423.7510414)-(tmp = 21919626.105656862, tmp))*((x-(tmp = -378670528, tmp))>>(tmp = -1045706598, tmp)))>>(tmp = -3062647341.234485, tmp))>>>x)|(tmp = -285399599.9386575, tmp))%(tmp = 2731214562, tmp))|((((tmp = 837093165.3438574, tmp)|(tmp = -2956931321, tmp))+((1871874558.3292787)<<((x|((tmp = -3169147427, tmp)%(((x^x)%(1479885041))%((1769991217)%(tmp = -1899472458, tmp)))))*(tmp = -837098563.71806, tmp))))>>(tmp = -1866722748, tmp)))-(2037734340.8345597)))>>((tmp = -1262019180.5332131, tmp)+(x*(1274173993.9800131))))*(tmp = 2336989321.855402, tmp))))));
- assertEquals(4, x >>= (tmp = -2577728327, tmp));
- assertEquals(16, x *= (x<<((2622323372.580596)*(tmp = -1947643367, tmp))));
- assertEquals(33554432, x <<= (tmp = -2938370507, tmp));
- assertEquals(-2399497018.987414, x -= (tmp = 2433051450.987414, tmp));
- assertEquals(1, x /= x);
- assertEquals(2, x <<= x);
- assertEquals(0, x >>= (x&x));
- assertEquals(0, x <<= x);
-}
-f();
diff --git a/src/3rdparty/v8/test/mjsunit/obj-construct.js b/src/3rdparty/v8/test/mjsunit/obj-construct.js
deleted file mode 100644
index 98e09b2..0000000
--- a/src/3rdparty/v8/test/mjsunit/obj-construct.js
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var consCalled = false;
-
-function Object() {
- consCalled = true;
-}
-
-function Array() {
- consCalled = true;
-}
-
-assertFalse(consCalled);
-var x1 = { };
-assertFalse(consCalled);
-var x2 = { a: 3, b: 4 };
-assertFalse(consCalled);
-var x3 = [ ];
-assertFalse(consCalled);
-var x4 = [ 1, 2, 3 ];
-assertFalse(consCalled);
diff --git a/src/3rdparty/v8/test/mjsunit/object-create.js b/src/3rdparty/v8/test/mjsunit/object-create.js
deleted file mode 100644
index d838584..0000000
--- a/src/3rdparty/v8/test/mjsunit/object-create.js
+++ /dev/null
@@ -1,250 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test ES5 sections 15.2.3.5 Object.create.
-// We do not support nonconfigurable properties on objects so that is not
-// tested. We do test getters, setters, writable, enumerable and value.
-
-// Check that no exceptions are thrown.
-Object.create(null);
-Object.create(null, undefined);
-
-// Check that the right exception is thrown.
-try {
- Object.create(4);
- assertTrue(false);
-} catch (e) {
- assertTrue(/Object or null/.test(e));
-}
-
-try {
- Object.create("foo");
- print(2);
- assertTrue(false);
-} catch (e) {
- assertTrue(/Object or null/.test(e));
-}
-
-var ctr = 0;
-var ctr2 = 0;
-var ctr3 = 0;
-var ctr4 = 0;
-var ctr5 = 0;
-var ctr6 = 1000;
-
-var protoFoo = { foo: function() { ctr++; }};
-var fooValue = { foo: { writable: true, value: function() { ctr2++; }}};
-var fooGetter = { foo: { get: function() { return ctr3++; }}};
-var fooSetter = { foo: { set: function() { return ctr4++; }}};
-var fooAmbiguous = { foo: { get: function() { return ctr3++; },
- value: 3 }};
-
-function valueGet() { ctr5++; return 3 };
-function getterGet() { ctr5++; return function() { return ctr6++; }; };
-
-// Simple object with prototype, no properties added.
-Object.create(protoFoo).foo();
-assertEquals(1, ctr);
-
-// Simple object with object with prototype, no properties added.
-Object.create(Object.create(protoFoo)).foo();
-assertEquals(2, ctr);
-
-// Add a property foo that returns a function.
-var v = Object.create(protoFoo, fooValue);
-v.foo();
-assertEquals(2, ctr);
-assertEquals(1, ctr2);
-
-// Ensure the property is writable.
-v.foo = 42;
-assertEquals(42, v.foo);
-assertEquals(2, ctr);
-assertEquals(1, ctr2);
-
-// Ensure by default properties are not writable.
-v = Object.create(null, { foo: {value: 103}});
-assertEquals(103, v.foo);
-v.foo = 42;
-assertEquals(103, v.foo);
-
-// Add a getter foo that returns a counter value.
-assertEquals(0, Object.create(protoFoo, fooGetter).foo);
-assertEquals(2, ctr);
-assertEquals(1, ctr2);
-assertEquals(1, ctr3);
-
-// Add a setter foo that runs a function.
-assertEquals(1, Object.create(protoFoo, fooSetter).foo = 1);
-assertEquals(2, ctr);
-assertEquals(1, ctr2);
-assertEquals(1, ctr3);
-assertEquals(1, ctr4);
-
-// Make sure that trying to add both a value and a getter
-// will result in an exception.
-try {
- Object.create(protoFoo, fooAmbiguous);
- assertTrue(false);
-} catch (e) {
- assertTrue(/Invalid property/.test(e));
-}
-assertEquals(2, ctr);
-assertEquals(1, ctr2);
-assertEquals(1, ctr3);
-assertEquals(1, ctr4);
-
-var ctr7 = 0;
-
-var metaProps = {
- enumerable: { get: function() {
- assertEquals(0, ctr7++);
- return true;
- }},
- configurable: { get: function() {
- assertEquals(1, ctr7++);
- return true;
- }},
- value: { get: function() {
- assertEquals(2, ctr7++);
- return 4;
- }},
- writable: { get: function() {
- assertEquals(3, ctr7++);
- return true;
- }},
- get: { get: function() {
- assertEquals(4, ctr7++);
- return function() { };
- }},
- set: { get: function() {
- assertEquals(5, ctr7++);
- return function() { };
- }}
-};
-
-
-// Instead of a plain props object, let's use getters to return its properties.
-var magicValueProps = { foo: Object.create(null, { value: { get: valueGet }})};
-var magicGetterProps = { foo: Object.create(null, { get: { get: getterGet }})};
-var magicAmbiguousProps = { foo: Object.create(null, metaProps) };
-
-assertEquals(3, Object.create(null, magicValueProps).foo);
-assertEquals(1, ctr5);
-
-assertEquals(1000, Object.create(null, magicGetterProps).foo);
-assertEquals(2, ctr5);
-
-// See if we do the steps in ToPropertyDescriptor in the right order.
-// We shouldn't throw the exception for an ambiguous properties object
-// before we got all the values out.
-try {
- Object.create(null, magicAmbiguousProps);
- assertTrue(false);
-} catch (e) {
- assertTrue(/Invalid property/.test(e));
- assertEquals(6, ctr7);
-}
-
-var magicWritableProps = {
- foo: Object.create(null, { value: { value: 4 },
- writable: { get: function() {
- ctr6++;
- return false;
- }}})};
-
-var fooNotWritable = Object.create(null, magicWritableProps)
-assertEquals(1002, ctr6);
-assertEquals(4, fooNotWritable.foo);
-fooNotWritable.foo = 5;
-assertEquals(4, fooNotWritable.foo);
-
-
-// Test enumerable flag.
-
-var fooNotEnumerable =
- Object.create({fizz: 14}, {foo: {value: 3, enumerable: false},
- bar: {value: 4, enumerable: true},
- baz: {value: 5}});
-var sum = 0;
-for (x in fooNotEnumerable) {
- assertTrue(x === 'bar' || x === 'fizz');
- sum += fooNotEnumerable[x];
-}
-assertEquals(18, sum);
-
-
-try {
- Object.create(null, {foo: { get: 0 }});
- assertTrue(false);
-} catch (e) {
- assertTrue(/Getter must be a function/.test(e));
-}
-
-try {
- Object.create(null, {foo: { set: 0 }});
- assertTrue(false);
-} catch (e) {
- assertTrue(/Setter must be a function/.test(e));
-}
-
-try {
- Object.create(null, {foo: { set: 0, get: 0 }});
- assertTrue(false);
-} catch (e) {
- assertTrue(/Getter must be a function/.test(e));
-}
-
-
-// Ensure that only enumerable own properties on the descriptor are used.
-var tricky = Object.create(
- { foo: { value: 1, enumerable: true }},
- { bar: { value: { value: 2, enumerable: true }, enumerable: false },
- baz: { value: { value: 4, enumerable: false }, enumerable: true },
- fizz: { value: { value: 8, enumerable: false }, enumerable: false },
- buzz: { value: { value: 16, enumerable: true }, enumerable: true }});
-
-assertEquals(1, tricky.foo.value);
-assertEquals(2, tricky.bar.value);
-assertEquals(4, tricky.baz.value);
-assertEquals(8, tricky.fizz.value);
-assertEquals(16, tricky.buzz.value);
-
-var sonOfTricky = Object.create(null, tricky);
-
-assertFalse("foo" in sonOfTricky);
-assertFalse("bar" in sonOfTricky);
-assertTrue("baz" in sonOfTricky);
-assertFalse("fizz" in sonOfTricky);
-assertTrue("buzz" in sonOfTricky);
-
-var sum = 0;
-for (x in sonOfTricky) {
- assertTrue(x === 'buzz');
- sum += sonOfTricky[x];
-}
-assertEquals(16, sum);
diff --git a/src/3rdparty/v8/test/mjsunit/object-define-properties.js b/src/3rdparty/v8/test/mjsunit/object-define-properties.js
deleted file mode 100644
index 6d5032e..0000000
--- a/src/3rdparty/v8/test/mjsunit/object-define-properties.js
+++ /dev/null
@@ -1,72 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Tests the Object.defineProperties method - ES 15.2.3.7
-// Note that the internal DefineOwnProperty method is tested through
-// object-define-property.js, this file only contains tests specific for
-// Object.defineProperties. Also note that object-create.js contains
-// a range of indirect tests on this method since Object.create uses
-// Object.defineProperties as a step in setting up the object.
-
-// Try defining with null as descriptor:
-try {
- Object.defineProperties({}, null);
-} catch(e) {
- assertTrue(/null to object/.test(e));
-}
-
-// Try defining with null as object
-try {
- Object.defineProperties(null, {});
-} catch(e) {
- assertTrue(/called on non-object/.test(e));
-}
-
-
-var desc = {foo: {value: 10}, bar: {get: function() {return 42; }}};
-var obj = {};
-// Check that we actually get the object back as returnvalue
-var x = Object.defineProperties(obj, desc);
-
-assertEquals(x.foo, 10);
-assertEquals(x.bar, 42);
-
-
-// Make sure that all property descriptors are calculated before any
-// modifications are done.
-
-var object = {};
-
-assertThrows(function() {
- Object.defineProperties(object, {
- foo: { value: 1 },
- bar: { value: 2, get: function() { return 3; } }
- });
- }, TypeError);
-
-assertEquals(undefined, object.foo);
-assertEquals(undefined, object.bar);
diff --git a/src/3rdparty/v8/test/mjsunit/object-define-property.js b/src/3rdparty/v8/test/mjsunit/object-define-property.js
deleted file mode 100644
index 970a803..0000000
--- a/src/3rdparty/v8/test/mjsunit/object-define-property.js
+++ /dev/null
@@ -1,1192 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Tests the object.defineProperty method - ES 15.2.3.6
-
-// Flags: --allow-natives-syntax --es5-readonly
-
-// Check that an exception is thrown when null is passed as object.
-var exception = false;
-try {
- Object.defineProperty(null, null, null);
-} catch (e) {
- exception = true;
- assertTrue(/called on non-object/.test(e));
-}
-assertTrue(exception);
-
-// Check that an exception is thrown when undefined is passed as object.
-exception = false;
-try {
- Object.defineProperty(undefined, undefined, undefined);
-} catch (e) {
- exception = true;
- assertTrue(/called on non-object/.test(e));
-}
-assertTrue(exception);
-
-// Check that an exception is thrown when non-object is passed as object.
-exception = false;
-try {
- Object.defineProperty(0, "foo", undefined);
-} catch (e) {
- exception = true;
- assertTrue(/called on non-object/.test(e));
-}
-assertTrue(exception);
-
-// Object.
-var obj1 = {};
-
-// Values.
-var val1 = 0;
-var val2 = 0;
-var val3 = 0;
-
-function setter1() {val1++; }
-function getter1() {return val1; }
-
-function setter2() {val2++; }
-function getter2() {return val2; }
-
-function setter3() {val3++; }
-function getter3() {return val3; }
-
-
-// Descriptors.
-var emptyDesc = {};
-
-var accessorConfigurable = {
- set: setter1,
- get: getter1,
- configurable: true
-};
-
-var accessorNoConfigurable = {
- set: setter2,
- get: getter2,
- configurable: false
-};
-
-var accessorOnlySet = {
- set: setter3,
- configurable: true
-};
-
-var accessorOnlyGet = {
- get: getter3,
- configurable: true
-};
-
-var accessorDefault = {set: function(){} };
-
-var dataConfigurable = { value: 1000, configurable: true };
-
-var dataNoConfigurable = { value: 2000, configurable: false };
-
-var dataWritable = { value: 3000, writable: true};
-
-
-// Check that we can't add property with undefined attributes.
-try {
- Object.defineProperty(obj1, "foo", undefined);
- assertTrue(false);
-} catch (e) {
- assertTrue(/must be an object/.test(e));
-}
-
-// Make sure that we can add a property with an empty descriptor and
-// that it has the default descriptor values.
-Object.defineProperty(obj1, "foo", emptyDesc);
-
-// foo should be undefined as it has no get, set or value
-assertEquals(undefined, obj1.foo);
-
-// We should, however, be able to retrieve the propertydescriptor which should
-// have all default values (according to 8.6.1).
-var desc = Object.getOwnPropertyDescriptor(obj1, "foo");
-assertFalse(desc.configurable);
-assertFalse(desc.enumerable);
-assertFalse(desc.writable);
-assertEquals(desc.get, undefined);
-assertEquals(desc.set, undefined);
-assertEquals(desc.value, undefined);
-
-// Make sure that getOwnPropertyDescriptor does not return a descriptor
-// with default values if called with non existing property (otherwise
-// the test above is invalid).
-desc = Object.getOwnPropertyDescriptor(obj1, "bar");
-assertEquals(desc, undefined);
-
-// Make sure that foo can't be reset (as configurable is false).
-try {
- Object.defineProperty(obj1, "foo", accessorConfigurable);
-} catch (e) {
- assertTrue(/Cannot redefine property/.test(e));
-}
-
-
-// Accessor properties
-
-Object.defineProperty(obj1, "bar", accessorConfigurable);
-desc = Object.getOwnPropertyDescriptor(obj1, "bar");
-assertTrue(desc.configurable);
-assertFalse(desc.enumerable);
-assertEquals(desc.writable, undefined);
-assertEquals(desc.get, accessorConfigurable.get);
-assertEquals(desc.set, accessorConfigurable.set);
-assertEquals(desc.value, undefined);
-assertEquals(1, obj1.bar = 1);
-assertEquals(1, val1);
-assertEquals(1, obj1.bar = 1);
-assertEquals(2, val1);
-assertEquals(2, obj1.bar);
-
-// Redefine bar with non configurable test
-Object.defineProperty(obj1, "bar", accessorNoConfigurable);
-desc = Object.getOwnPropertyDescriptor(obj1, "bar");
-assertFalse(desc.configurable);
-assertFalse(desc.enumerable);
-assertEquals(desc.writable, undefined);
-assertEquals(desc.get, accessorNoConfigurable.get);
-assertEquals(desc.set, accessorNoConfigurable.set);
-assertEquals(desc.value, undefined);
-assertEquals(1, obj1.bar = 1);
-assertEquals(2, val1);
-assertEquals(1, val2);
-assertEquals(1, obj1.bar = 1)
-assertEquals(2, val1);
-assertEquals(2, val2);
-assertEquals(2, obj1.bar);
-
-// Try to redefine bar again - should fail as configurable is false.
-try {
- Object.defineProperty(obj1, "bar", accessorConfigurable);
- assertTrue(false);
-} catch(e) {
- assertTrue(/Cannot redefine property/.test(e));
-}
-
-// Try to redefine bar again using the data descriptor - should fail.
-try {
- Object.defineProperty(obj1, "bar", dataConfigurable);
- assertTrue(false);
-} catch(e) {
- assertTrue(/Cannot redefine property/.test(e));
-}
-
-// Redefine using same descriptor - should succeed.
-Object.defineProperty(obj1, "bar", accessorNoConfigurable);
-desc = Object.getOwnPropertyDescriptor(obj1, "bar");
-assertFalse(desc.configurable);
-assertFalse(desc.enumerable);
-assertEquals(desc.writable, undefined);
-assertEquals(desc.get, accessorNoConfigurable.get);
-assertEquals(desc.set, accessorNoConfigurable.set);
-assertEquals(desc.value, undefined);
-assertEquals(1, obj1.bar = 1);
-assertEquals(2, val1);
-assertEquals(3, val2);
-assertEquals(1, obj1.bar = 1)
-assertEquals(2, val1);
-assertEquals(4, val2);
-assertEquals(4, obj1.bar);
-
-// Define an accessor that has only a setter.
-Object.defineProperty(obj1, "setOnly", accessorOnlySet);
-desc = Object.getOwnPropertyDescriptor(obj1, "setOnly");
-assertTrue(desc.configurable);
-assertFalse(desc.enumerable);
-assertEquals(desc.set, accessorOnlySet.set);
-assertEquals(desc.writable, undefined);
-assertEquals(desc.value, undefined);
-assertEquals(desc.get, undefined);
-assertEquals(1, obj1.setOnly = 1);
-assertEquals(1, val3);
-
-// Add a getter - should not touch the setter.
-Object.defineProperty(obj1, "setOnly", accessorOnlyGet);
-desc = Object.getOwnPropertyDescriptor(obj1, "setOnly");
-assertTrue(desc.configurable);
-assertFalse(desc.enumerable);
-assertEquals(desc.get, accessorOnlyGet.get);
-assertEquals(desc.set, accessorOnlySet.set);
-assertEquals(desc.writable, undefined);
-assertEquals(desc.value, undefined);
-assertEquals(1, obj1.setOnly = 1);
-assertEquals(2, val3);
-
-// The above should also work if redefining just a getter or setter on
-// an existing property with both a getter and a setter.
-Object.defineProperty(obj1, "both", accessorConfigurable);
-
-Object.defineProperty(obj1, "both", accessorOnlySet);
-desc = Object.getOwnPropertyDescriptor(obj1, "both");
-assertTrue(desc.configurable);
-assertFalse(desc.enumerable);
-assertEquals(desc.set, accessorOnlySet.set);
-assertEquals(desc.get, accessorConfigurable.get);
-assertEquals(desc.writable, undefined);
-assertEquals(desc.value, undefined);
-assertEquals(1, obj1.both = 1);
-assertEquals(3, val3);
-
-
-// Data properties
-
-Object.defineProperty(obj1, "foobar", dataConfigurable);
-desc = Object.getOwnPropertyDescriptor(obj1, "foobar");
-assertEquals(obj1.foobar, 1000);
-assertEquals(desc.value, 1000);
-assertTrue(desc.configurable);
-assertFalse(desc.writable);
-assertFalse(desc.enumerable);
-assertEquals(desc.get, undefined);
-assertEquals(desc.set, undefined);
-//Try writing to non writable attribute - should remain 1000
-obj1.foobar = 1001;
-assertEquals(obj1.foobar, 1000);
-
-
-// Redefine to writable descriptor - now writing to foobar should be allowed.
-Object.defineProperty(obj1, "foobar", dataWritable);
-desc = Object.getOwnPropertyDescriptor(obj1, "foobar");
-assertEquals(obj1.foobar, 3000);
-assertEquals(desc.value, 3000);
-// Note that since dataWritable does not define configurable the configurable
-// setting from the redefined property (in this case true) is used.
-assertTrue(desc.configurable);
-assertTrue(desc.writable);
-assertFalse(desc.enumerable);
-assertEquals(desc.get, undefined);
-assertEquals(desc.set, undefined);
-// Writing to the property should now be allowed
-obj1.foobar = 1001;
-assertEquals(obj1.foobar, 1001);
-
-
-// Redefine with non configurable data property.
-Object.defineProperty(obj1, "foobar", dataNoConfigurable);
-desc = Object.getOwnPropertyDescriptor(obj1, "foobar");
-assertEquals(obj1.foobar, 2000);
-assertEquals(desc.value, 2000);
-assertFalse(desc.configurable);
-assertTrue(desc.writable);
-assertFalse(desc.enumerable);
-assertEquals(desc.get, undefined);
-assertEquals(desc.set, undefined);
-
-// Try redefine again - shold fail because configurable is now false.
-try {
- Object.defineProperty(obj1, "foobar", dataConfigurable);
- assertTrue(false);
-} catch (e) {
- assertTrue(/Cannot redefine property/.test(e));
-}
-
-// Try redefine again with accessor property - shold also fail.
-try {
- Object.defineProperty(obj1, "foobar", dataConfigurable);
- assertTrue(false);
-} catch (e) {
- assertTrue(/Cannot redefine property/.test(e));
-}
-
-
-// Redifine with the same descriptor - should succeed (step 6).
-Object.defineProperty(obj1, "foobar", dataNoConfigurable);
-desc = Object.getOwnPropertyDescriptor(obj1, "foobar");
-assertEquals(obj1.foobar, 2000);
-assertEquals(desc.value, 2000);
-assertFalse(desc.configurable);
-assertTrue(desc.writable);
-assertFalse(desc.enumerable);
-assertEquals(desc.get, undefined);
-assertEquals(desc.set, undefined);
-
-
-// New object
-var obj2 = {};
-
-// Make accessor - redefine to data
-Object.defineProperty(obj2, "foo", accessorConfigurable);
-
-// Redefine to data property
-Object.defineProperty(obj2, "foo", dataConfigurable);
-desc = Object.getOwnPropertyDescriptor(obj2, "foo");
-assertEquals(obj2.foo, 1000);
-assertEquals(desc.value, 1000);
-assertTrue(desc.configurable);
-assertFalse(desc.writable);
-assertFalse(desc.enumerable);
-assertEquals(desc.get, undefined);
-assertEquals(desc.set, undefined);
-
-
-// Redefine back to accessor
-Object.defineProperty(obj2, "foo", accessorConfigurable);
-desc = Object.getOwnPropertyDescriptor(obj2, "foo");
-assertTrue(desc.configurable);
-assertFalse(desc.enumerable);
-assertEquals(desc.writable, undefined);
-assertEquals(desc.get, accessorConfigurable.get);
-assertEquals(desc.set, accessorConfigurable.set);
-assertEquals(desc.value, undefined);
-assertEquals(1, obj2.foo = 1);
-assertEquals(3, val1);
-assertEquals(4, val2);
-assertEquals(3, obj2.foo);
-
-// Make data - redefine to accessor
-Object.defineProperty(obj2, "bar", dataConfigurable)
-
-// Redefine to accessor property
-Object.defineProperty(obj2, "bar", accessorConfigurable);
-desc = Object.getOwnPropertyDescriptor(obj2, "bar");
-assertTrue(desc.configurable);
-assertFalse(desc.enumerable);
-assertEquals(desc.writable, undefined);
-assertEquals(desc.get, accessorConfigurable.get);
-assertEquals(desc.set, accessorConfigurable.set);
-assertEquals(desc.value, undefined);
-assertEquals(1, obj2.bar = 1);
-assertEquals(4, val1);
-assertEquals(4, val2);
-assertEquals(4, obj2.foo);
-
-// Redefine back to data property
-Object.defineProperty(obj2, "bar", dataConfigurable);
-desc = Object.getOwnPropertyDescriptor(obj2, "bar");
-assertEquals(obj2.bar, 1000);
-assertEquals(desc.value, 1000);
-assertTrue(desc.configurable);
-assertFalse(desc.writable);
-assertFalse(desc.enumerable);
-assertEquals(desc.get, undefined);
-assertEquals(desc.set, undefined);
-
-
-// Redefinition of an accessor defined using __defineGetter__ and
-// __defineSetter__.
-function get(){return this.x}
-function set(x){this.x=x};
-
-var obj3 = {x:1000};
-obj3.__defineGetter__("foo", get);
-obj3.__defineSetter__("foo", set);
-
-desc = Object.getOwnPropertyDescriptor(obj3, "foo");
-assertTrue(desc.configurable);
-assertTrue(desc.enumerable);
-assertEquals(desc.writable, undefined);
-assertEquals(desc.get, get);
-assertEquals(desc.set, set);
-assertEquals(desc.value, undefined);
-assertEquals(1, obj3.foo = 1);
-assertEquals(1, obj3.x);
-assertEquals(1, obj3.foo);
-
-// Redefine to accessor property (non configurable) - note that enumerable
-// which we do not redefine should remain the same (true).
-Object.defineProperty(obj3, "foo", accessorNoConfigurable);
-desc = Object.getOwnPropertyDescriptor(obj3, "foo");
-assertFalse(desc.configurable);
-assertTrue(desc.enumerable);
-assertEquals(desc.writable, undefined);
-assertEquals(desc.get, accessorNoConfigurable.get);
-assertEquals(desc.set, accessorNoConfigurable.set);
-assertEquals(desc.value, undefined);
-assertEquals(1, obj3.foo = 1);
-assertEquals(5, val2);
-assertEquals(5, obj3.foo);
-
-
-obj3.__defineGetter__("bar", get);
-obj3.__defineSetter__("bar", set);
-
-
-// Redefine back to data property
-Object.defineProperty(obj3, "bar", dataConfigurable);
-desc = Object.getOwnPropertyDescriptor(obj3, "bar");
-assertEquals(obj3.bar, 1000);
-assertEquals(desc.value, 1000);
-assertTrue(desc.configurable);
-assertFalse(desc.writable);
-assertTrue(desc.enumerable);
-assertEquals(desc.get, undefined);
-assertEquals(desc.set, undefined);
-
-
-var obj4 = {};
-var func = function (){return 42;};
-obj4.bar = func;
-assertEquals(42, obj4.bar());
-
-Object.defineProperty(obj4, "bar", accessorConfigurable);
-desc = Object.getOwnPropertyDescriptor(obj4, "bar");
-assertTrue(desc.configurable);
-assertTrue(desc.enumerable);
-assertEquals(desc.writable, undefined);
-assertEquals(desc.get, accessorConfigurable.get);
-assertEquals(desc.set, accessorConfigurable.set);
-assertEquals(desc.value, undefined);
-assertEquals(1, obj4.bar = 1);
-assertEquals(5, val1);
-assertEquals(5, obj4.bar);
-
-// Make sure an error is thrown when trying to access to redefined function.
-try {
- obj4.bar();
- assertTrue(false);
-} catch (e) {
- assertTrue(/is not a function/.test(e));
-}
-
-
-// Test runtime calls to DefineOrRedefineDataProperty and
-// DefineOrRedefineAccessorProperty - make sure we don't
-// crash.
-try {
- %DefineOrRedefineAccessorProperty(0, 0, 0, 0, 0);
-} catch (e) {
- assertTrue(/illegal access/.test(e));
-}
-
-try {
- %DefineOrRedefineDataProperty(0, 0, 0, 0);
-} catch (e) {
- assertTrue(/illegal access/.test(e));
-}
-
-try {
- %DefineOrRedefineDataProperty(null, null, null, null);
-} catch (e) {
- assertTrue(/illegal access/.test(e));
-}
-
-try {
- %DefineOrRedefineAccessorProperty(null, null, null, null, null);
-} catch (e) {
- assertTrue(/illegal access/.test(e));
-}
-
-try {
- %DefineOrRedefineDataProperty({}, null, null, null);
-} catch (e) {
- assertTrue(/illegal access/.test(e));
-}
-
-// Defining properties null should fail even when we have
-// other allowed values
-try {
- %DefineOrRedefineAccessorProperty(null, 'foo', func, null, 0);
-} catch (e) {
- assertTrue(/illegal access/.test(e));
-}
-
-try {
- %DefineOrRedefineDataProperty(null, 'foo', 0, 0);
-} catch (e) {
- assertTrue(/illegal access/.test(e));
-}
-
-// Test that all possible differences in step 6 in DefineOwnProperty are
-// exercised, i.e., any difference in the given property descriptor and the
-// existing properties should not return true, but throw an error if the
-// existing configurable property is false.
-
-var obj5 = {};
-// Enumerable will default to false.
-Object.defineProperty(obj5, 'foo', accessorNoConfigurable);
-desc = Object.getOwnPropertyDescriptor(obj5, 'foo');
-// First, test that we are actually allowed to set the accessor if all
-// values are of the descriptor are the same as the existing one.
-Object.defineProperty(obj5, 'foo', accessorNoConfigurable);
-
-// Different setter.
-var descDifferent = {
- configurable:false,
- enumerable:false,
- set: setter1,
- get: getter2
-};
-
-try {
- Object.defineProperty(obj5, 'foo', descDifferent);
- assertTrue(false);
-} catch (e) {
- assertTrue(/Cannot redefine property/.test(e));
-}
-
-// Different getter.
-descDifferent = {
- configurable:false,
- enumerable:false,
- set: setter2,
- get: getter1
-};
-
-try {
- Object.defineProperty(obj5, 'foo', descDifferent);
- assertTrue(false);
-} catch (e) {
- assertTrue(/Cannot redefine property/.test(e));
-}
-
-// Different enumerable.
-descDifferent = {
- configurable:false,
- enumerable:true,
- set: setter2,
- get: getter2
-};
-
-try {
- Object.defineProperty(obj5, 'foo', descDifferent);
- assertTrue(false);
-} catch (e) {
- assertTrue(/Cannot redefine property/.test(e));
-}
-
-// Different configurable.
-descDifferent = {
- configurable:false,
- enumerable:true,
- set: setter2,
- get: getter2
-};
-
-try {
- Object.defineProperty(obj5, 'foo', descDifferent);
- assertTrue(false);
-} catch (e) {
- assertTrue(/Cannot redefine property/.test(e));
-}
-
-// No difference.
-descDifferent = {
- configurable:false,
- enumerable:false,
- set: setter2,
- get: getter2
-};
-// Make sure we can still redefine if all properties are the same.
-Object.defineProperty(obj5, 'foo', descDifferent);
-
-// Make sure that obj5 still holds the original values.
-desc = Object.getOwnPropertyDescriptor(obj5, 'foo');
-assertEquals(desc.get, getter2);
-assertEquals(desc.set, setter2);
-assertFalse(desc.enumerable);
-assertFalse(desc.configurable);
-
-
-// Also exercise step 6 on data property, writable and enumerable
-// defaults to false.
-Object.defineProperty(obj5, 'bar', dataNoConfigurable);
-
-// Test that redefinition with the same property descriptor is possible
-Object.defineProperty(obj5, 'bar', dataNoConfigurable);
-
-// Different value.
-descDifferent = {
- configurable:false,
- enumerable:false,
- writable: false,
- value: 1999
-};
-
-try {
- Object.defineProperty(obj5, 'bar', descDifferent);
- assertTrue(false);
-} catch (e) {
- assertTrue(/Cannot redefine property/.test(e));
-}
-
-// Different writable.
-descDifferent = {
- configurable:false,
- enumerable:false,
- writable: true,
- value: 2000
-};
-
-try {
- Object.defineProperty(obj5, 'bar', descDifferent);
- assertTrue(false);
-} catch (e) {
- assertTrue(/Cannot redefine property/.test(e));
-}
-
-
-// Different enumerable.
-descDifferent = {
- configurable:false,
- enumerable:true ,
- writable:false,
- value: 2000
-};
-
-try {
- Object.defineProperty(obj5, 'bar', descDifferent);
- assertTrue(false);
-} catch (e) {
- assertTrue(/Cannot redefine property/.test(e));
-}
-
-
-// Different configurable.
-descDifferent = {
- configurable:true,
- enumerable:false,
- writable:false,
- value: 2000
-};
-
-try {
- Object.defineProperty(obj5, 'bar', descDifferent);
- assertTrue(false);
-} catch (e) {
- assertTrue(/Cannot redefine property/.test(e));
-}
-
-// No difference.
-descDifferent = {
- configurable:false,
- enumerable:false,
- writable:false,
- value:2000
-};
-// Make sure we can still redefine if all properties are the same.
-Object.defineProperty(obj5, 'bar', descDifferent);
-
-// Make sure that obj5 still holds the original values.
-desc = Object.getOwnPropertyDescriptor(obj5, 'bar');
-assertEquals(desc.value, 2000);
-assertFalse(desc.writable);
-assertFalse(desc.enumerable);
-assertFalse(desc.configurable);
-
-
-// Make sure that we can't overwrite +0 with -0 and vice versa.
-var descMinusZero = {value: -0, configurable: false};
-var descPlusZero = {value: +0, configurable: false};
-
-Object.defineProperty(obj5, 'minuszero', descMinusZero);
-
-// Make sure we can redefine with -0.
-Object.defineProperty(obj5, 'minuszero', descMinusZero);
-
-exception = false;
-try {
- Object.defineProperty(obj5, 'minuszero', descPlusZero);
-} catch (e) {
- exception = true;
- assertTrue(/Cannot redefine property/.test(e));
-}
-assertTrue(exception);
-
-
-Object.defineProperty(obj5, 'pluszero', descPlusZero);
-
-// Make sure we can redefine with +0.
-Object.defineProperty(obj5, 'pluszero', descPlusZero);
-
-exception = false;
-try {
- Object.defineProperty(obj5, 'pluszero', descMinusZero);
-} catch (e) {
- exception = true;
- assertTrue(/Cannot redefine property/.test(e));
-}
-assertTrue(exception);
-
-
-var obj6 = {};
-obj6[1] = 'foo';
-obj6[2] = 'bar';
-obj6[3] = '42';
-obj6[4] = '43';
-obj6[5] = '44';
-
-var descElement = { value: 'foobar' };
-var descElementNonConfigurable = { value: 'barfoo', configurable: false };
-var descElementNonWritable = { value: 'foofoo', writable: false };
-var descElementNonEnumerable = { value: 'barbar', enumerable: false };
-var descElementAllFalse = { value: 'foofalse',
- configurable: false,
- writable: false,
- enumerable: false };
-
-
-// Redefine existing property.
-Object.defineProperty(obj6, '1', descElement);
-desc = Object.getOwnPropertyDescriptor(obj6, '1');
-assertEquals(desc.value, 'foobar');
-assertTrue(desc.writable);
-assertTrue(desc.enumerable);
-assertTrue(desc.configurable);
-
-// Redefine existing property with configurable: false.
-Object.defineProperty(obj6, '2', descElementNonConfigurable);
-desc = Object.getOwnPropertyDescriptor(obj6, '2');
-assertEquals(desc.value, 'barfoo');
-assertTrue(desc.writable);
-assertTrue(desc.enumerable);
-assertFalse(desc.configurable);
-
-// Can use defineProperty to change the value of a non
-// configurable property.
-try {
- Object.defineProperty(obj6, '2', descElement);
- desc = Object.getOwnPropertyDescriptor(obj6, '2');
- assertEquals(desc.value, 'foobar');
-} catch (e) {
- assertUnreachable();
-}
-
-// Ensure that we can't change the descriptor of a
-// non configurable property.
-exception = false;
-try {
- var descAccessor = { get: function() { return 0; } };
- Object.defineProperty(obj6, '2', descAccessor);
-} catch (e) {
- exception = true;
- assertTrue(/Cannot redefine property/.test(e));
-}
-assertTrue(exception);
-
-Object.defineProperty(obj6, '2', descElementNonWritable);
-desc = Object.getOwnPropertyDescriptor(obj6, '2');
-assertEquals(desc.value, 'foofoo');
-assertFalse(desc.writable);
-assertTrue(desc.enumerable);
-assertFalse(desc.configurable);
-
-Object.defineProperty(obj6, '3', descElementNonWritable);
-desc = Object.getOwnPropertyDescriptor(obj6, '3');
-assertEquals(desc.value, 'foofoo');
-assertFalse(desc.writable);
-assertTrue(desc.enumerable);
-assertTrue(desc.configurable);
-
-// Redefine existing property with configurable: false.
-Object.defineProperty(obj6, '4', descElementNonEnumerable);
-desc = Object.getOwnPropertyDescriptor(obj6, '4');
-assertEquals(desc.value, 'barbar');
-assertTrue(desc.writable);
-assertFalse(desc.enumerable);
-assertTrue(desc.configurable);
-
-// Redefine existing property with configurable: false.
-Object.defineProperty(obj6, '5', descElementAllFalse);
-desc = Object.getOwnPropertyDescriptor(obj6, '5');
-assertEquals(desc.value, 'foofalse');
-assertFalse(desc.writable);
-assertFalse(desc.enumerable);
-assertFalse(desc.configurable);
-
-// Define non existing property - all attributes should default to false.
-Object.defineProperty(obj6, '15', descElement);
-desc = Object.getOwnPropertyDescriptor(obj6, '15');
-assertEquals(desc.value, 'foobar');
-assertFalse(desc.writable);
-assertFalse(desc.enumerable);
-assertFalse(desc.configurable);
-
-// Make sure that we can't redefine using direct access.
-obj6[15] ='overwrite';
-assertEquals(obj6[15],'foobar');
-
-
-// Repeat the above tests on an array.
-var arr = new Array();
-arr[1] = 'foo';
-arr[2] = 'bar';
-arr[3] = '42';
-arr[4] = '43';
-arr[5] = '44';
-
-var descElement = { value: 'foobar' };
-var descElementNonConfigurable = { value: 'barfoo', configurable: false };
-var descElementNonWritable = { value: 'foofoo', writable: false };
-var descElementNonEnumerable = { value: 'barbar', enumerable: false };
-var descElementAllFalse = { value: 'foofalse',
- configurable: false,
- writable: false,
- enumerable: false };
-
-
-// Redefine existing property.
-Object.defineProperty(arr, '1', descElement);
-desc = Object.getOwnPropertyDescriptor(arr, '1');
-assertEquals(desc.value, 'foobar');
-assertTrue(desc.writable);
-assertTrue(desc.enumerable);
-assertTrue(desc.configurable);
-
-// Redefine existing property with configurable: false.
-Object.defineProperty(arr, '2', descElementNonConfigurable);
-desc = Object.getOwnPropertyDescriptor(arr, '2');
-assertEquals(desc.value, 'barfoo');
-assertTrue(desc.writable);
-assertTrue(desc.enumerable);
-assertFalse(desc.configurable);
-
-// Can use defineProperty to change the value of a non
-// configurable property of an array.
-try {
- Object.defineProperty(arr, '2', descElement);
- desc = Object.getOwnPropertyDescriptor(arr, '2');
- assertEquals(desc.value, 'foobar');
-} catch (e) {
- assertUnreachable();
-}
-
-// Ensure that we can't change the descriptor of a
-// non configurable property.
-exception = false;
-try {
- var descAccessor = { get: function() { return 0; } };
- Object.defineProperty(arr, '2', descAccessor);
-} catch (e) {
- exception = true;
- assertTrue(/Cannot redefine property/.test(e));
-}
-assertTrue(exception);
-
-Object.defineProperty(arr, '2', descElementNonWritable);
-desc = Object.getOwnPropertyDescriptor(arr, '2');
-assertEquals(desc.value, 'foofoo');
-assertFalse(desc.writable);
-assertTrue(desc.enumerable);
-assertFalse(desc.configurable);
-
-Object.defineProperty(arr, '3', descElementNonWritable);
-desc = Object.getOwnPropertyDescriptor(arr, '3');
-assertEquals(desc.value, 'foofoo');
-assertFalse(desc.writable);
-assertTrue(desc.enumerable);
-assertTrue(desc.configurable);
-
-// Redefine existing property with configurable: false.
-Object.defineProperty(arr, '4', descElementNonEnumerable);
-desc = Object.getOwnPropertyDescriptor(arr, '4');
-assertEquals(desc.value, 'barbar');
-assertTrue(desc.writable);
-assertFalse(desc.enumerable);
-assertTrue(desc.configurable);
-
-// Redefine existing property with configurable: false.
-Object.defineProperty(arr, '5', descElementAllFalse);
-desc = Object.getOwnPropertyDescriptor(arr, '5');
-assertEquals(desc.value, 'foofalse');
-assertFalse(desc.writable);
-assertFalse(desc.enumerable);
-assertFalse(desc.configurable);
-
-// Define non existing property - all attributes should default to false.
-Object.defineProperty(arr, '15', descElement);
-desc = Object.getOwnPropertyDescriptor(arr, '15');
-assertEquals(desc.value, 'foobar');
-assertFalse(desc.writable);
-assertFalse(desc.enumerable);
-assertFalse(desc.configurable);
-
-// See issue 968: http://code.google.com/p/v8/issues/detail?id=968
-var o = { x : 42 };
-Object.defineProperty(o, "x", { writable: false });
-assertEquals(42, o.x);
-o.x = 37;
-assertEquals(42, o.x);
-
-o = { x : 42 };
-Object.defineProperty(o, "x", {});
-assertEquals(42, o.x);
-o.x = 37;
-// Writability is preserved.
-assertEquals(37, o.x);
-
-var o = { };
-Object.defineProperty(o, "x", { writable: false });
-assertEquals(undefined, o.x);
-o.x = 37;
-assertEquals(undefined, o.x);
-
-o = { get x() { return 87; } };
-Object.defineProperty(o, "x", { writable: false });
-assertEquals(undefined, o.x);
-o.x = 37;
-assertEquals(undefined, o.x);
-
-// Ignore inherited properties.
-o = { __proto__ : { x : 87 } };
-Object.defineProperty(o, "x", { writable: false });
-assertEquals(undefined, o.x);
-o.x = 37;
-assertEquals(undefined, o.x);
-
-function testDefineProperty(obj, propertyName, desc, resultDesc) {
- Object.defineProperty(obj, propertyName, desc);
- var actualDesc = Object.getOwnPropertyDescriptor(obj, propertyName);
- assertEquals(resultDesc.enumerable, actualDesc.enumerable);
- assertEquals(resultDesc.configurable, actualDesc.configurable);
- if (resultDesc.hasOwnProperty('value')) {
- assertEquals(resultDesc.value, actualDesc.value);
- assertEquals(resultDesc.writable, actualDesc.writable);
- assertFalse(resultDesc.hasOwnProperty('get'));
- assertFalse(resultDesc.hasOwnProperty('set'));
- } else {
- assertEquals(resultDesc.get, actualDesc.get);
- assertEquals(resultDesc.set, actualDesc.set);
- assertFalse(resultDesc.hasOwnProperty('value'));
- assertFalse(resultDesc.hasOwnProperty('writable'));
- }
-}
-
-// tests redefining existing property with a generic descriptor
-o = { p : 42 };
-testDefineProperty(o, 'p',
- { },
- { value : 42, writable : true, enumerable : true, configurable : true });
-
-o = { p : 42 };
-testDefineProperty(o, 'p',
- { enumerable : true },
- { value : 42, writable : true, enumerable : true, configurable : true });
-
-o = { p : 42 };
-testDefineProperty(o, 'p',
- { configurable : true },
- { value : 42, writable : true, enumerable : true, configurable : true });
-
-o = { p : 42 };
-testDefineProperty(o, 'p',
- { enumerable : false },
- { value : 42, writable : true, enumerable : false, configurable : true });
-
-o = { p : 42 };
-testDefineProperty(o, 'p',
- { configurable : false },
- { value : 42, writable : true, enumerable : true, configurable : false });
-
-o = { p : 42 };
-testDefineProperty(o, 'p',
- { enumerable : true, configurable : true },
- { value : 42, writable : true, enumerable : true, configurable : true });
-
-o = { p : 42 };
-testDefineProperty(o, 'p',
- { enumerable : false, configurable : true },
- { value : 42, writable : true, enumerable : false, configurable : true });
-
-o = { p : 42 };
-testDefineProperty(o, 'p',
- { enumerable : true, configurable : false },
- { value : 42, writable : true, enumerable : true, configurable : false });
-
-o = { p : 42 };
-testDefineProperty(o, 'p',
- { enumerable : false, configurable : false },
- { value : 42, writable : true, enumerable : false, configurable : false });
-
-// can make a writable, non-configurable field non-writable
-o = { p : 42 };
-Object.defineProperty(o, 'p', { configurable: false });
-testDefineProperty(o, 'p',
- { writable: false },
- { value : 42, writable : false, enumerable : true, configurable : false });
-
-// redefine of get only property with generic descriptor
-o = {};
-Object.defineProperty(o, 'p',
- { get : getter1, enumerable: true, configurable: true });
-testDefineProperty(o, 'p',
- { enumerable : false, configurable : false },
- { get: getter1, set: undefined, enumerable : false, configurable : false });
-
-// redefine of get/set only property with generic descriptor
-o = {};
-Object.defineProperty(o, 'p',
- { get: getter1, set: setter1, enumerable: true, configurable: true });
-testDefineProperty(o, 'p',
- { enumerable : false, configurable : false },
- { get: getter1, set: setter1, enumerable : false, configurable : false });
-
-// redefine of set only property with generic descriptor
-o = {};
-Object.defineProperty(o, 'p',
- { set : setter1, enumerable: true, configurable: true });
-testDefineProperty(o, 'p',
- { enumerable : false, configurable : false },
- { get: undefined, set: setter1, enumerable : false, configurable : false });
-
-
-// Regression test: Ensure that growing dictionaries are not ignored.
-o = {};
-for (var i = 0; i < 1000; i++) {
- // Non-enumerable property forces dictionary mode.
- Object.defineProperty(o, i, {value: i, enumerable: false});
-}
-assertEquals(999, o[999]);
-
-
-// Regression test: Bizzare behavior on non-strict arguments object.
-// TODO(yangguo): Tests disabled, needs investigation!
-/*
-(function test(arg0) {
- // Here arguments[0] is a fast alias on arg0.
- Object.defineProperty(arguments, "0", {
- value:1,
- enumerable:false
- });
- // Here arguments[0] is a slow alias on arg0.
- Object.defineProperty(arguments, "0", {
- value:2,
- writable:false
- });
- // Here arguments[0] is no alias at all.
- Object.defineProperty(arguments, "0", {
- value:3
- });
- assertEquals(2, arg0);
- assertEquals(3, arguments[0]);
-})(0);
-*/
-
-// Regression test: We should never observe the hole value.
-var objectWithGetter = {};
-objectWithGetter.__defineGetter__('foo', function() {});
-assertEquals(undefined, objectWithGetter.__lookupSetter__('foo'));
-
-var objectWithSetter = {};
-objectWithSetter.__defineSetter__('foo', function(x) {});
-assertEquals(undefined, objectWithSetter.__lookupGetter__('foo'));
-
-// An object with a getter on the prototype chain.
-function getter() { return 111; }
-function anotherGetter() { return 222; }
-
-function testGetterOnProto(expected, o) {
- assertEquals(expected, o.quebec);
-}
-
-obj1 = {};
-Object.defineProperty(obj1, "quebec", { get: getter, configurable: true });
-obj2 = Object.create(obj1);
-obj3 = Object.create(obj2);
-
-testGetterOnProto(111, obj3);
-testGetterOnProto(111, obj3);
-%OptimizeFunctionOnNextCall(testGetterOnProto);
-testGetterOnProto(111, obj3);
-testGetterOnProto(111, obj3);
-
-Object.defineProperty(obj1, "quebec", { get: anotherGetter });
-
-testGetterOnProto(222, obj3);
-testGetterOnProto(222, obj3);
-%OptimizeFunctionOnNextCall(testGetterOnProto);
-testGetterOnProto(222, obj3);
-testGetterOnProto(222, obj3);
-
-// An object with a setter on the prototype chain.
-var modifyMe;
-function setter(x) { modifyMe = x+1; }
-function anotherSetter(x) { modifyMe = x+2; }
-
-function testSetterOnProto(expected, o) {
- modifyMe = 333;
- o.romeo = 444;
- assertEquals(expected, modifyMe);
-}
-
-obj1 = {};
-Object.defineProperty(obj1, "romeo", { set: setter, configurable: true });
-obj2 = Object.create(obj1);
-obj3 = Object.create(obj2);
-
-testSetterOnProto(445, obj3);
-testSetterOnProto(445, obj3);
-%OptimizeFunctionOnNextCall(testSetterOnProto);
-testSetterOnProto(445, obj3);
-testSetterOnProto(445, obj3);
-
-Object.defineProperty(obj1, "romeo", { set: anotherSetter });
-
-testSetterOnProto(446, obj3);
-testSetterOnProto(446, obj3);
-%OptimizeFunctionOnNextCall(testSetterOnProto);
-testSetterOnProto(446, obj3);
-testSetterOnProto(446, obj3);
-
-// Removing a setter on the prototype chain.
-function testSetterOnProtoStrict(o) {
- "use strict";
- o.sierra = 12345;
-}
-
-obj1 = {};
-Object.defineProperty(obj1, "sierra",
- { get: getter, set: setter, configurable: true });
-obj2 = Object.create(obj1);
-obj3 = Object.create(obj2);
-
-testSetterOnProtoStrict(obj3);
-testSetterOnProtoStrict(obj3);
-%OptimizeFunctionOnNextCall(testSetterOnProtoStrict);
-testSetterOnProtoStrict(obj3);
-testSetterOnProtoStrict(obj3);
-
-Object.defineProperty(obj1, "sierra",
- { get: getter, set: undefined, configurable: true });
-
-exception = false;
-try {
- testSetterOnProtoStrict(obj3);
-} catch (e) {
- exception = true;
- assertTrue(/which has only a getter/.test(e));
-}
-assertTrue(exception);
-
-// Test assignment to a getter-only property on the prototype chain. This makes
-// sure that crankshaft re-checks its assumptions and doesn't rely only on type
-// feedback (which would be monomorphic here).
-
-function Assign(o) {
- o.blubb = 123;
-}
-
-function C() {}
-
-Assign(new C);
-Assign(new C);
-%OptimizeFunctionOnNextCall(Assign);
-Object.defineProperty(C.prototype, "blubb", {get: function() { return -42; }});
-Assign(new C);
diff --git a/src/3rdparty/v8/test/mjsunit/object-freeze.js b/src/3rdparty/v8/test/mjsunit/object-freeze.js
deleted file mode 100644
index c3a9278..0000000
--- a/src/3rdparty/v8/test/mjsunit/object-freeze.js
+++ /dev/null
@@ -1,193 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Tests the Object.freeze and Object.isFrozen methods - ES 15.2.3.9 and
-// ES 15.2.3.12
-
-
-// Test that we throw an error if an object is not passed as argument.
-var non_objects = new Array(undefined, null, 1, -1, 0, 42.43);
-for (var key in non_objects) {
- var exception = false;
- try {
- Object.freeze(non_objects[key]);
- } catch(e) {
- exception = true;
- assertTrue(/Object.freeze called on non-object/.test(e));
- }
- assertTrue(exception);
-}
-
-for (var key in non_objects) {
- exception = false;
- try {
- Object.isFrozen(non_objects[key]);
- } catch(e) {
- exception = true;
- assertTrue(/Object.isFrozen called on non-object/.test(e));
- }
- assertTrue(exception);
-}
-
-// Test normal data properties.
-var obj = { x: 42, z: 'foobar' };
-var desc = Object.getOwnPropertyDescriptor(obj, 'x');
-assertTrue(desc.writable);
-assertTrue(desc.configurable);
-assertEquals(42, desc.value);
-
-desc = Object.getOwnPropertyDescriptor(obj, 'z');
-assertTrue(desc.writable);
-assertTrue(desc.configurable);
-assertEquals('foobar', desc.value);
-
-assertTrue(Object.isExtensible(obj));
-assertFalse(Object.isFrozen(obj));
-
-Object.freeze(obj);
-
-// Make sure we are no longer extensible.
-assertFalse(Object.isExtensible(obj));
-assertTrue(Object.isFrozen(obj));
-
-obj.foo = 42;
-assertEquals(obj.foo, undefined);
-
-desc = Object.getOwnPropertyDescriptor(obj, 'x');
-assertFalse(desc.writable);
-assertFalse(desc.configurable);
-assertEquals(42, desc.value);
-
-desc = Object.getOwnPropertyDescriptor(obj, 'z');
-assertFalse(desc.writable);
-assertFalse(desc.configurable);
-assertEquals("foobar", desc.value);
-
-// Make sure that even if we try overwrite a value that is not writable, it is
-// not changed.
-obj.x = "tete";
-assertEquals(42, obj.x);
-obj.x = { get: function() {return 43}, set: function() {} };
-assertEquals(42, obj.x);
-
-// Test on accessors.
-var obj2 = {};
-function get() { return 43; };
-function set() {};
-Object.defineProperty(obj2, 'x', { get: get, set: set, configurable: true });
-
-desc = Object.getOwnPropertyDescriptor(obj2, 'x');
-assertTrue(desc.configurable);
-assertEquals(undefined, desc.value);
-assertEquals(set, desc.set);
-assertEquals(get, desc.get);
-
-assertTrue(Object.isExtensible(obj2));
-assertFalse(Object.isFrozen(obj2));
-Object.freeze(obj2);
-assertTrue(Object.isFrozen(obj2));
-assertFalse(Object.isExtensible(obj2));
-
-desc = Object.getOwnPropertyDescriptor(obj2, 'x');
-assertFalse(desc.configurable);
-assertEquals(undefined, desc.value);
-assertEquals(set, desc.set);
-assertEquals(get, desc.get);
-
-obj2.foo = 42;
-assertEquals(obj2.foo, undefined);
-
-
-// Test freeze on arrays.
-var arr = new Array(42,43);
-
-desc = Object.getOwnPropertyDescriptor(arr, '0');
-assertTrue(desc.configurable);
-assertTrue(desc.writable);
-assertEquals(42, desc.value);
-
-desc = Object.getOwnPropertyDescriptor(arr, '1');
-assertTrue(desc.configurable);
-assertTrue(desc.writable);
-assertEquals(43, desc.value);
-
-assertTrue(Object.isExtensible(arr));
-assertFalse(Object.isFrozen(arr));
-Object.freeze(arr);
-assertTrue(Object.isFrozen(arr));
-assertFalse(Object.isExtensible(arr));
-
-desc = Object.getOwnPropertyDescriptor(arr, '0');
-assertFalse(desc.configurable);
-assertFalse(desc.writable);
-assertEquals(42, desc.value);
-
-desc = Object.getOwnPropertyDescriptor(arr, '1');
-assertFalse(desc.configurable);
-assertFalse(desc.writable);
-assertEquals(43, desc.value);
-
-arr[0] = 'foo';
-
-assertEquals(arr[0], 42);
-
-
-// Test that isFrozen return the correct value even if configurable has been set
-// to false on all properties manually and the extensible flag has also been set
-// to false manually.
-var obj3 = { x: 42, y: 'foo' };
-
-assertFalse(Object.isFrozen(obj3));
-
-Object.defineProperty(obj3, 'x', {configurable: false, writable: false});
-Object.defineProperty(obj3, 'y', {configurable: false, writable: false});
-Object.preventExtensions(obj3);
-
-assertTrue(Object.isFrozen(obj3));
-
-
-// Make sure that an object that has only non-configurable, but one
-// writable property, is not classified as frozen.
-var obj4 = {};
-Object.defineProperty(obj4, 'x', {configurable: false, writable: true});
-Object.defineProperty(obj4, 'y', {configurable: false, writable: false});
-Object.preventExtensions(obj4);
-
-assertFalse(Object.isFrozen(obj4));
-
-// Make sure that an object that has only non-writable, but one
-// configurable property, is not classified as frozen.
-var obj5 = {};
-Object.defineProperty(obj5, 'x', {configurable: true, writable: false});
-Object.defineProperty(obj5, 'y', {configurable: false, writable: false});
-Object.preventExtensions(obj5);
-
-assertFalse(Object.isFrozen(obj5));
-
-// Make sure that Object.freeze returns the frozen object.
-var obj6 = {}
-assertTrue(obj6 === Object.freeze(obj6))
diff --git a/src/3rdparty/v8/test/mjsunit/object-get-own-property-names.js b/src/3rdparty/v8/test/mjsunit/object-get-own-property-names.js
deleted file mode 100644
index 33aa85e..0000000
--- a/src/3rdparty/v8/test/mjsunit/object-get-own-property-names.js
+++ /dev/null
@@ -1,106 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test ES5 section 15.2.3.4 Object.getOwnPropertyNames.
-
-// Check simple cases.
-var obj = { a: 1, b: 2};
-var propertyNames = Object.getOwnPropertyNames(obj);
-propertyNames.sort();
-assertEquals(2, propertyNames.length);
-assertEquals("a", propertyNames[0]);
-assertEquals("b", propertyNames[1]);
-
-var obj = { a: function(){}, b: function(){} };
-var propertyNames = Object.getOwnPropertyNames(obj);
-propertyNames.sort();
-assertEquals(2, propertyNames.length);
-assertEquals("a", propertyNames[0]);
-assertEquals("b", propertyNames[1]);
-
-// Check slow case
-var obj = { a: 1, b: 2, c: 3 };
-delete obj.b;
-var propertyNames = Object.getOwnPropertyNames(obj)
-propertyNames.sort();
-assertEquals(2, propertyNames.length);
-assertEquals("a", propertyNames[0]);
-assertEquals("c", propertyNames[1]);
-
-// Check that non-enumerable properties are being returned.
-var propertyNames = Object.getOwnPropertyNames([1, 2]);
-propertyNames.sort();
-assertEquals(3, propertyNames.length);
-assertEquals("0", propertyNames[0]);
-assertEquals("1", propertyNames[1]);
-assertEquals("string", typeof propertyNames[0]);
-assertEquals("string", typeof propertyNames[1]);
-assertEquals("length", propertyNames[2]);
-
-// Check that no proto properties are returned.
-var obj = { foo: "foo" };
-obj.__proto__ = { bar: "bar" };
-propertyNames = Object.getOwnPropertyNames(obj);
-propertyNames.sort();
-assertEquals(1, propertyNames.length);
-assertEquals("foo", propertyNames[0]);
-
-// Check that getter properties are returned.
-var obj = {};
-obj.__defineGetter__("getter", function() {});
-propertyNames = Object.getOwnPropertyNames(obj);
-propertyNames.sort();
-assertEquals(1, propertyNames.length);
-assertEquals("getter", propertyNames[0]);
-
-try {
- Object.getOwnPropertyNames(4);
- assertTrue(false);
-} catch (e) {
- assertTrue(/on non-object/.test(e));
-}
-
-try {
- Object.getOwnPropertyNames("foo");
- assertTrue(false);
-} catch (e) {
- assertTrue(/on non-object/.test(e));
-}
-
-try {
- Object.getOwnPropertyNames(undefined);
- assertTrue(false);
-} catch (e) {
- assertTrue(/on non-object/.test(e));
-}
-
-try {
- Object.getOwnPropertyNames(null);
- assertTrue(false);
-} catch (e) {
- assertTrue(/on non-object/.test(e));
-}
diff --git a/src/3rdparty/v8/test/mjsunit/object-is.js b/src/3rdparty/v8/test/mjsunit/object-is.js
deleted file mode 100644
index b9fdc84..0000000
--- a/src/3rdparty/v8/test/mjsunit/object-is.js
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test both the Harmony egal operator and it's function equivalent.
-
-function TestEgal(expected, x, y) {
- // TODO(mstarzinger): Once we have the egal operator, we can test it here.
- assertSame(expected, Object.is(x, y));
-}
-
-var test_set = [ {}, [], 1/0, -1/0, "s", 0, 0/-1, null, undefined ];
-print(test_set);
-for (var i = 0; i < test_set.length; i++) {
- for (var j = 0; j < test_set.length; j++) {
- if (i == j) {
- assertSame(test_set[i], test_set[j]);
- TestEgal(true, test_set[i], test_set[j]);
- } else {
- TestEgal(false, test_set[i], test_set[j]);
- TestEgal(false, test_set[j], test_set[i]);
- }
- }
-}
diff --git a/src/3rdparty/v8/test/mjsunit/object-literal-conversions.js b/src/3rdparty/v8/test/mjsunit/object-literal-conversions.js
deleted file mode 100644
index 742f814..0000000
--- a/src/3rdparty/v8/test/mjsunit/object-literal-conversions.js
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that the various conversions between property names are correctly
-// used when overwriting initializers.
-
-var test1 = { 13: 6, "13": 7 };
-var test2 = { 13: 7, "13.0": 6 };
-var test3 = { "13": 6, 13.0000000000000000: 7 };
-var test4 = { 13.213000: 6, "13.213": 7 };
-
-assertEquals(7, test1[13]);
-assertEquals(7, test2[13]);
-assertEquals(7, test3[13]);
-assertEquals(7, test4[13.213]);
-
-var test5 = { 13: function() {}, "13": 7 };
-var test6 = { 17.31: function() {}, "17.31": 7 };
-
-assertEquals(7, test5[13]);
-assertEquals(7, test6[17.31]);
-
diff --git a/src/3rdparty/v8/test/mjsunit/object-literal-gc.js b/src/3rdparty/v8/test/mjsunit/object-literal-gc.js
deleted file mode 100644
index b9d6285..0000000
--- a/src/3rdparty/v8/test/mjsunit/object-literal-gc.js
+++ /dev/null
@@ -1,66 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-gc
-
-// Test that the clearing of object literal when normalizing objects
-// works. In particular, test that the garbage collector handles the
-// normalized object literals correctly.
-function testLiteral(size) {
-
- // Build object-literal string.
- var literal = "var o = { ";
-
- for (var i = 0; i < size; i++) {
- if (i > 0) literal += ",";
- literal += ("a" + i + ":" + i);
- }
- literal += "}";
-
- // Create the object literal.
- eval(literal);
-
- // Force normalization of the properties.
- delete o["a" + (size - 1)];
-
- // Perform GC.
- gc();
-
- // Check that the properties have the expected values.
- for (var i = 0; i < size - 1; i++) {
- assertEquals(i, o["a"+i]);
- }
-}
-
-// The sizes to test.
-var sizes = [0, 1, 2, 100, 200, 400, 1000];
-
-// Run the test.
-for (var i = 0; i < sizes.length; i++) {
- testLiteral(sizes[i]);
-}
-
diff --git a/src/3rdparty/v8/test/mjsunit/object-literal-overwrite.js b/src/3rdparty/v8/test/mjsunit/object-literal-overwrite.js
deleted file mode 100644
index 5a3584d..0000000
--- a/src/3rdparty/v8/test/mjsunit/object-literal-overwrite.js
+++ /dev/null
@@ -1,118 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Check that constants and computed properties are overwriting each other
-// correctly, i.e., the last initializer for any name is stored in the object.
-
-
-// Tests for the full code generator (if active).
-
-var foo1 = {
- bar: 6,
- bar: 7
-};
-
-var foo2 = {
- bar: function(a){},
- bar: 7
-};
-
-var foo3 = {
- bar: function(a){},
- bar: function(b){},
- bar: 7
-};
-
-var foo4 = {
- bar: function(b){},
- bar: 7,
- bar: function(){return 7},
-};
-
-var foo5 = {
- 13: function(a){},
- 13: 7
-}
-
-var foo6 = {
- 14.31: function(a){},
- 14.31: 7
-}
-
-var foo7 = {
- 15: 6,
- 15: 7
-}
-
-assertEquals(7, foo1.bar);
-assertEquals(7, foo2.bar);
-assertEquals(7, foo3.bar);
-assertEquals(7, foo4.bar());
-assertEquals(7, foo5[13]);
-assertEquals(7, foo6[14.31]);
-assertEquals(7, foo7[15]);
-
-// Test for the classic code generator.
-
-function fun(x) {
- var inner = { j: function(x) { return x; }, j: 7 };
- return inner.j;
-}
-
-assertEquals(7, fun(7) );
-
-// Check that the initializers of computed properties are executed, even if
-// no store instructions are generated for the literals.
-
-var glob1 = 0;
-
-var bar1 = { x: glob1++, x: glob1++, x: glob1++, x: 7};
-
-assertEquals(3, glob1);
-
-
-var glob2 = 0;
-
-function fun2() {
- var r = { y: glob2++, y: glob2++, y: glob2++, y: 7};
- return r.y;
-}
-
-var y = fun2();
-assertEquals(7, y);
-assertEquals(3, glob2);
-
-var glob3 = 0;
-
-function fun3() {
- var r = { 113: glob3++, 113: glob3++, 113: glob3++, 113: 7};
- return r[113];
-}
-
-var y = fun3();
-assertEquals(7, y);
-assertEquals(3, glob3);
diff --git a/src/3rdparty/v8/test/mjsunit/object-literal.js b/src/3rdparty/v8/test/mjsunit/object-literal.js
deleted file mode 100644
index 3d0b33b..0000000
--- a/src/3rdparty/v8/test/mjsunit/object-literal.js
+++ /dev/null
@@ -1,192 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var obj = {
- a: 7,
- b: { x: 12, y: 24 },
- c: 'Zebra'
-}
-
-assertEquals(7, obj.a);
-assertEquals(12, obj.b.x);
-assertEquals(24, obj.b.y);
-assertEquals('Zebra', obj.c);
-
-var z = 24;
-
-var obj2 = {
- a: 7,
- b: { x: 12, y: z },
- c: 'Zebra'
-}
-
-assertEquals(7, obj2.a);
-assertEquals(12, obj2.b.x);
-assertEquals(24, obj2.b.y);
-assertEquals('Zebra', obj2.c);
-
-var arr = [];
-for (var i = 0; i < 2; i++) {
- arr[i] = {
- a: 7,
- b: { x: 12, y: 24 },
- c: 'Zebra'
- }
-}
-
-arr[0].b.x = 2;
-assertEquals(2, arr[0].b.x);
-assertEquals(12, arr[1].b.x);
-
-
-function makeSparseArray() {
- return {
- '0': { x: 12, y: 24 },
- '1000000': { x: 0, y: 0 }
- };
-}
-
-var sa1 = makeSparseArray();
-sa1[0].x = 0;
-var sa2 = makeSparseArray();
-assertEquals(12, sa2[0].x);
-
-// Test that non-constant literals work.
-var n = new Object();
-
-function makeNonConstantArray() { return [ [ n ] ]; }
-
-var a = makeNonConstantArray();
-a[0][0].foo = "bar";
-assertEquals("bar", n.foo);
-
-function makeNonConstantObject() { return { a: { b: n } }; }
-
-a = makeNonConstantObject();
-a.a.b.bar = "foo";
-assertEquals("foo", n.bar);
-
-// Test that exceptions for regexps still hold.
-function makeRegexpInArray() { return [ [ /a*/, {} ] ]; }
-
-a = makeRegexpInArray();
-var b = makeRegexpInArray();
-assertFalse(a[0][0] === b[0][0]);
-assertFalse(a[0][1] === b[0][1]);
-
-function makeRegexpInObject() { return { a: { b: /b*/, c: {} } }; }
-a = makeRegexpInObject();
-b = makeRegexpInObject();
-assertFalse(a.a.b === b.a.b);
-assertFalse(a.a.c === b.a.c);
-
-
-// Test keywords are valid as property names in initializers and dot-access.
-var keywords = [
- "break",
- "case",
- "catch",
- "const",
- "continue",
- "debugger",
- "default",
- "delete",
- "do",
- "else",
- "false",
- "finally",
- "for",
- "function",
- "if",
- "in",
- "instanceof",
- "new",
- "null",
- "return",
- "switch",
- "this",
- "throw",
- "true",
- "try",
- "typeof",
- "var",
- "void",
- "while",
- "with"
-];
-
-function testKeywordProperty(keyword) {
- var exception = false;
- try {
- // Sanity check that what we get is a keyword.
- eval("var " + keyword + " = 42;");
- } catch (e) {
- exception = true;
- }
- assertTrue(exception);
-
- // Simple property, read and write.
- var x = eval("({" + keyword + ": 42})");
- assertEquals(42, x[keyword]);
- assertEquals(42, eval("x." + keyword));
- eval("x." + keyword + " = 37");
- assertEquals(37, x[keyword]);
- assertEquals(37, eval("x." + keyword));
-
- // Getter/setter property, read and write.
- var y = eval("({value : 42, get " + keyword + "(){return this.value}," +
- " set " + keyword + "(v) { this.value = v; }})");
- assertEquals(42, y[keyword]);
- assertEquals(42, eval("y." + keyword));
- eval("y." + keyword + " = 37");
- assertEquals(37, y[keyword]);
- assertEquals(37, eval("y." + keyword));
-
- // Quoted keyword works is read back by unquoted as well.
- var z = eval("({\"" + keyword + "\": 42})");
- assertEquals(42, z[keyword]);
- assertEquals(42, eval("z." + keyword));
-
- // Function property, called.
- var was_called;
- function test_call() { this.was_called = true; was_called = true; }
- var w = eval("({" + keyword + ": test_call, was_called: false})");
- eval("w." + keyword + "();");
- assertTrue(was_called);
- assertTrue(w.was_called);
-
- // Function property, constructed.
- function construct() { this.constructed = true; }
- var v = eval("({" + keyword + ": construct})");
- var vo = eval("new v." + keyword + "()");
- assertTrue(vo instanceof construct);
- assertTrue(vo.constructed);
-}
-
-for (var i = 0; i < keywords.length; i++) {
- testKeywordProperty(keywords[i]);
-}
diff --git a/src/3rdparty/v8/test/mjsunit/object-prevent-extensions.js b/src/3rdparty/v8/test/mjsunit/object-prevent-extensions.js
deleted file mode 100644
index 6b9184d..0000000
--- a/src/3rdparty/v8/test/mjsunit/object-prevent-extensions.js
+++ /dev/null
@@ -1,128 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Tests the Object.preventExtensions method - ES 15.2.3.10
-
-
-var obj1 = {};
-// Extensible defaults to true.
-assertTrue(Object.isExtensible(obj1));
-Object.preventExtensions(obj1);
-
-// Make sure the is_extensible flag is set.
-assertFalse(Object.isExtensible(obj1));
-obj1.x = 42;
-assertEquals(undefined, obj1.x);
-
-// Try adding a new element.
-obj1[1] = 42;
-assertEquals(undefined, obj1[1]);
-
-
-// Try when the object has an existing property.
-var obj2 = {};
-assertTrue(Object.isExtensible(obj2));
-obj2.x = 42;
-assertEquals(42, obj2.x);
-assertTrue(Object.isExtensible(obj2));
-
-Object.preventExtensions(obj2);
-assertEquals(42, obj2.x);
-
-obj2.y = 42;
-// obj2.y should still be undefined.
-assertEquals(undefined, obj2.y);
-// Make sure we can still write values to obj.x.
-obj2.x = 43;
-assertEquals(43, obj2.x)
-
-obj2.y = new function() { return 42; };
-// obj2.y should still be undefined.
-assertEquals(undefined, obj2.y);
-assertEquals(43, obj2.x)
-
-try {
- Object.defineProperty(obj2, "y", {value: 42});
-} catch (e) {
- assertTrue(/object is not extensible/.test(e));
-}
-
-// obj2.y should still be undefined.
-assertEquals(undefined, obj2.y);
-assertEquals(43, obj2.x);
-
-obj2[1] = 42;
-assertEquals(undefined, obj2[1]);
-
-var arr = new Array();
-arr[1] = 10;
-
-Object.preventExtensions(arr);
-
-arr[2] = 42;
-assertEquals(10, arr[1]);
-
-// We should still be able to change exiting elements.
-arr[1]= 42;
-assertEquals(42, arr[1]);
-
-
-// Test the the extensible flag is not inherited.
-var parent = {};
-parent.x = 42;
-Object.preventExtensions(parent);
-
-var child = Object.create(parent);
-
-// We should be able to add new properties to the child object.
-child.y = 42;
-
-// This should have no influence on the parent class.
-parent.y = 29;
-
-
-// Test that attributes on functions are also handled correctly.
-function foo() {
- return 42;
-}
-
-Object.preventExtensions(foo);
-
-foo.x = 29;
-assertEquals(undefined, foo.x);
-
-// when Object.isExtensible(o) === false
-// assignment should return right hand side value
-var o = Object.preventExtensions({});
-var v = o.v = 50;
-assertEquals(undefined, o.v);
-assertEquals(50, v);
-
-// test same behavior as above, but for integer properties
-var n = o[0] = 100;
-assertEquals(undefined, o[0]);
-assertEquals(100, n);
diff --git a/src/3rdparty/v8/test/mjsunit/object-seal.js b/src/3rdparty/v8/test/mjsunit/object-seal.js
deleted file mode 100644
index f21baed..0000000
--- a/src/3rdparty/v8/test/mjsunit/object-seal.js
+++ /dev/null
@@ -1,194 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Tests the Object.seal and Object.isSealed methods - ES 15.2.3.9 and
-// ES 15.2.3.12
-
-
-// Test that we throw an error if an object is not passed as argument.
-var non_objects = new Array(undefined, null, 1, -1, 0, 42.43);
-for (var key in non_objects) {
- var exception = false;
- try {
- Object.seal(non_objects[key]);
- } catch(e) {
- exception = true;
- assertTrue(/Object.seal called on non-object/.test(e));
- }
- assertTrue(exception);
-}
-
-for (var key in non_objects) {
- exception = false;
- try {
- Object.isSealed(non_objects[key]);
- } catch(e) {
- exception = true;
- assertTrue(/Object.isSealed called on non-object/.test(e));
- }
- assertTrue(exception);
-}
-
-// Test normal data properties.
-var obj = { x: 42, z: 'foobar' };
-var desc = Object.getOwnPropertyDescriptor(obj, 'x');
-assertTrue(desc.writable);
-assertTrue(desc.configurable);
-assertEquals(42, desc.value);
-
-desc = Object.getOwnPropertyDescriptor(obj, 'z');
-assertTrue(desc.writable);
-assertTrue(desc.configurable);
-assertEquals('foobar', desc.value);
-
-assertTrue(Object.isExtensible(obj));
-assertFalse(Object.isSealed(obj));
-
-Object.seal(obj);
-
-// Make sure we are no longer extensible.
-assertFalse(Object.isExtensible(obj));
-assertTrue(Object.isSealed(obj));
-
-// We should not be frozen, since we are still able to
-// update values.
-assertFalse(Object.isFrozen(obj));
-
-// We should not allow new properties to be added.
-obj.foo = 42;
-assertEquals(obj.foo, undefined);
-
-desc = Object.getOwnPropertyDescriptor(obj, 'x');
-assertTrue(desc.writable);
-assertFalse(desc.configurable);
-assertEquals(42, desc.value);
-
-desc = Object.getOwnPropertyDescriptor(obj, 'z');
-assertTrue(desc.writable);
-assertFalse(desc.configurable);
-assertEquals("foobar", desc.value);
-
-// Since writable is not affected by seal we should still be able to
-// update the values.
-obj.x = "43";
-assertEquals("43", obj.x);
-
-// Test on accessors.
-var obj2 = {};
-function get() { return 43; };
-function set() {};
-Object.defineProperty(obj2, 'x', { get: get, set: set, configurable: true });
-
-desc = Object.getOwnPropertyDescriptor(obj2, 'x');
-assertTrue(desc.configurable);
-assertEquals(undefined, desc.value);
-assertEquals(set, desc.set);
-assertEquals(get, desc.get);
-
-assertTrue(Object.isExtensible(obj2));
-assertFalse(Object.isSealed(obj2));
-Object.seal(obj2);
-
-// Since this is an accessor property the object is now effectively both
-// sealed and frozen (accessors has no writable attribute).
-assertTrue(Object.isFrozen(obj2));
-assertFalse(Object.isExtensible(obj2));
-assertTrue(Object.isSealed(obj2));
-
-desc = Object.getOwnPropertyDescriptor(obj2, 'x');
-assertFalse(desc.configurable);
-assertEquals(undefined, desc.value);
-assertEquals(set, desc.set);
-assertEquals(get, desc.get);
-
-obj2.foo = 42;
-assertEquals(obj2.foo, undefined);
-
-// Test seal on arrays.
-var arr = new Array(42,43);
-
-desc = Object.getOwnPropertyDescriptor(arr, '0');
-assertTrue(desc.configurable);
-assertTrue(desc.writable);
-assertEquals(42, desc.value);
-
-desc = Object.getOwnPropertyDescriptor(arr, '1');
-assertTrue(desc.configurable);
-assertTrue(desc.writable);
-assertEquals(43, desc.value);
-
-assertTrue(Object.isExtensible(arr));
-assertFalse(Object.isSealed(arr));
-Object.seal(arr);
-assertTrue(Object.isSealed(arr));
-assertFalse(Object.isExtensible(arr));
-// Since the values in the array is still writable this object
-// is not frozen.
-assertFalse(Object.isFrozen(arr));
-
-desc = Object.getOwnPropertyDescriptor(arr, '0');
-assertFalse(desc.configurable);
-assertTrue(desc.writable);
-assertEquals(42, desc.value);
-
-desc = Object.getOwnPropertyDescriptor(arr, '1');
-assertFalse(desc.configurable);
-assertTrue(desc.writable);
-assertEquals(43, desc.value);
-
-arr[0] = 'foo';
-
-// We should be able to overwrite the existing value.
-assertEquals('foo', arr[0]);
-
-
-// Test that isSealed returns the correct value even if configurable
-// has been set to false on all properties manually and the extensible
-// flag has also been set to false manually.
-var obj3 = { x: 42, y: 'foo' };
-
-assertFalse(Object.isFrozen(obj3));
-
-Object.defineProperty(obj3, 'x', {configurable: false, writable: true});
-Object.defineProperty(obj3, 'y', {configurable: false, writable: false});
-Object.preventExtensions(obj3);
-
-assertTrue(Object.isSealed(obj3));
-
-
-// Make sure that an object that has a configurable property
-// is not classified as sealed.
-var obj4 = {};
-Object.defineProperty(obj4, 'x', {configurable: true, writable: false});
-Object.defineProperty(obj4, 'y', {configurable: false, writable: false});
-Object.preventExtensions(obj4);
-
-assertFalse(Object.isSealed(obj4));
-
-// Make sure that Object.seal returns the sealed object.
-var obj4 = {};
-assertTrue(obj4 === Object.seal(obj4));
diff --git a/src/3rdparty/v8/test/mjsunit/object-toprimitive.js b/src/3rdparty/v8/test/mjsunit/object-toprimitive.js
deleted file mode 100644
index 3a67ced..0000000
--- a/src/3rdparty/v8/test/mjsunit/object-toprimitive.js
+++ /dev/null
@@ -1,104 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test the ToPrimitive internal function used by ToNumber/ToString.
-// Does it [[Get]] and [[Call]] the object's toString and valueOf properties
-// correctly. Specifically, does it call [[Get]] only once per property.
-
-var o1 = { toString: function() { return 42; },
- valueOf: function() { return "37"; } };
-var n1 = Number(o1);
-var s1 = String(o1);
-assertTrue(typeof n1 == "number");
-assertTrue(typeof s1 == "string");
-
-var trace = [];
-var valueOfValue = 42;
-var toStringValue = "foo";
-function traceValueOf () {
- trace.push("vo");
- return valueOfValue;
-};
-function traceToString() {
- trace.push("ts");
- return toStringValue;
-};
-var valueOfFunc = traceValueOf;
-var toStringFunc = traceToString;
-
-var ot = { get toString() { trace.push("gts");
- return toStringFunc; },
- get valueOf() { trace.push("gvo");
- return valueOfFunc; }
-};
-
-var nt = Number(ot);
-assertEquals(42, nt);
-assertEquals(["gvo","vo"], trace);
-
-trace = [];
-var st = String(ot);
-assertEquals("foo", st);
-assertEquals(["gts","ts"], trace);
-
-trace = [];
-valueOfValue = ["not primitive"];
-var nt = Number(ot);
-assertEquals(Number("foo"), nt);
-assertEquals(["gvo", "vo", "gts", "ts"], trace);
-
-trace = [];
-valueOfValue = 42;
-toStringValue = ["not primitive"];
-var st = String(ot);
-assertEquals(String(42), st);
-assertEquals(["gts", "ts", "gvo", "vo"], trace);
-
-trace = [];
-valueOfValue = ["not primitive"];
-assertThrows("Number(ot)", TypeError);
-assertEquals(["gvo", "vo", "gts", "ts"], trace);
-
-
-toStringFunc = "not callable";
-trace = [];
-valueOfValue = 42;
-var st = String(ot);
-assertEquals(String(42), st);
-assertEquals(["gts", "gvo", "vo"], trace);
-
-valueOfFunc = "not callable";
-trace = [];
-assertThrows("String(ot)", TypeError);
-assertEquals(["gts", "gvo"], trace);
-
-toStringFunc = traceToString;
-toStringValue = "87";
-trace = [];
-var nt = Number(ot);
-assertEquals(87, nt);
-assertEquals(["gvo", "gts", "ts"], trace);
diff --git a/src/3rdparty/v8/test/mjsunit/optimized-typeof.js b/src/3rdparty/v8/test/mjsunit/optimized-typeof.js
deleted file mode 100644
index b0c0725..0000000
--- a/src/3rdparty/v8/test/mjsunit/optimized-typeof.js
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-function typeofDirectly() {
- return typeof({}) === "undefined";
-}
-
-typeofDirectly();
-typeofDirectly();
-%OptimizeFunctionOnNextCall(typeofDirectly);
-typeofDirectly();
-
-function typeofViaVariable() {
- var foo = typeof({})
- return foo === "undefined";
-}
-
-typeofViaVariable();
-typeofViaVariable();
-%OptimizeFunctionOnNextCall(typeofViaVariable);
-typeofViaVariable();
diff --git a/src/3rdparty/v8/test/mjsunit/override-read-only-property.js b/src/3rdparty/v8/test/mjsunit/override-read-only-property.js
deleted file mode 100644
index 2876ae1..0000000
--- a/src/3rdparty/v8/test/mjsunit/override-read-only-property.js
+++ /dev/null
@@ -1,66 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --es5_readonly
-
-// According to ECMA-262, sections 8.6.2.2 and 8.6.2.3 you're not
-// allowed to override read-only properties, not even if the read-only
-// property is in the prototype chain.
-//
-// However, for compatibility with WebKit/JSC, we allow the overriding
-// of read-only properties in prototype chains.
-
-function F() {};
-F.prototype = Number;
-
-var original_number_max = Number.MAX_VALUE;
-
-// Assignment to a property which does not exist on the object itself,
-// but is read-only in a prototype does not take effect.
-var f = new F();
-assertEquals(original_number_max, f.MAX_VALUE);
-f.MAX_VALUE = 42;
-assertEquals(original_number_max, f.MAX_VALUE);
-
-// Assignment to a property which does not exist on the object itself,
-// but is read-only in a prototype does not take effect.
-f = new F();
-with (f) {
- MAX_VALUE = 42;
-}
-assertEquals(original_number_max, f.MAX_VALUE);
-
-// Assignment to read-only property on the object itself is ignored.
-Number.MAX_VALUE = 42;
-assertEquals(original_number_max, Number.MAX_VALUE);
-
-// G should be read-only on the global object and the assignment is
-// ignored.
-(function G() {
- eval("G = 42;");
- assertTrue(typeof G === 'function');
-})();
diff --git a/src/3rdparty/v8/test/mjsunit/packed-elements.js b/src/3rdparty/v8/test/mjsunit/packed-elements.js
deleted file mode 100644
index cfcdf80..0000000
--- a/src/3rdparty/v8/test/mjsunit/packed-elements.js
+++ /dev/null
@@ -1,112 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --smi-only-arrays --packed-arrays
-
-var has_packed_elements = !%HasFastHoleyElements(Array());
-
-function test1() {
- var a = Array(8);
- assertTrue(%HasFastSmiOrObjectElements(a));
- assertTrue(%HasFastHoleyElements(a));
-}
-
-function test2() {
- var a = Array();
- assertTrue(%HasFastSmiOrObjectElements(a));
- assertFalse(%HasFastHoleyElements(a));
-}
-
-function test3() {
- var a = Array(1,2,3,4,5,6,7);
- assertTrue(%HasFastSmiOrObjectElements(a));
- assertFalse(%HasFastHoleyElements(a));
-}
-
-function test4() {
- var a = [1, 2, 3, 4];
- assertTrue(%HasFastSmiElements(a));
- assertFalse(%HasFastHoleyElements(a));
- var b = [1, 2,, 4];
- assertTrue(%HasFastSmiElements(b));
- assertTrue(%HasFastHoleyElements(b));
-}
-
-function test5() {
- var a = [1, 2, 3, 4.5];
- assertTrue(%HasFastDoubleElements(a));
- assertFalse(%HasFastHoleyElements(a));
- var b = [1,, 3.5, 4];
- assertTrue(%HasFastDoubleElements(b));
- assertTrue(%HasFastHoleyElements(b));
- var c = [1, 3.5,, 4];
- assertTrue(%HasFastDoubleElements(c));
- assertTrue(%HasFastHoleyElements(c));
-}
-
-function test6() {
- var x = new Object();
- var a = [1, 2, 3.5, x];
- assertTrue(%HasFastObjectElements(a));
- assertFalse(%HasFastHoleyElements(a));
- assertEquals(1, a[0]);
- assertEquals(2, a[1]);
- assertEquals(3.5, a[2]);
- assertEquals(x, a[3]);
- var b = [1,, 3.5, x];
- assertTrue(%HasFastObjectElements(b));
- assertTrue(%HasFastHoleyElements(b));
- assertEquals(1, b[0]);
- assertEquals(undefined, b[1]);
- assertEquals(3.5, b[2]);
- assertEquals(x, b[3]);
- var c = [1, 3.5, x,,];
- assertTrue(%HasFastObjectElements(c));
- assertTrue(%HasFastHoleyElements(c));
- assertEquals(1, c[0]);
- assertEquals(3.5, c[1]);
- assertEquals(x, c[2]);
- assertEquals(undefined, c[3]);
-}
-
-function test_with_optimization(f) {
- // Run tests in a loop to make sure that inlined Array() constructor runs out
- // of new space memory and must fall back on runtime impl.
- for (i = 0; i < 25000; ++i) f();
- %OptimizeFunctionOnNextCall(f);
- for (i = 0; i < 25000; ++i) f(); // Make sure GC happens
-}
-
-if (has_packed_elements) {
- test_with_optimization(test1);
- test_with_optimization(test2);
- test_with_optimization(test3);
- test_with_optimization(test4);
- test_with_optimization(test5);
- test_with_optimization(test6);
-}
-
diff --git a/src/3rdparty/v8/test/mjsunit/parse-int-float.js b/src/3rdparty/v8/test/mjsunit/parse-int-float.js
deleted file mode 100644
index 5a9b6f3..0000000
--- a/src/3rdparty/v8/test/mjsunit/parse-int-float.js
+++ /dev/null
@@ -1,116 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-assertEquals(0, parseInt('0'));
-assertEquals(0, parseInt(' 0'));
-assertEquals(0, parseInt(' 0 '));
-
-assertEquals(77, parseInt('077'));
-assertEquals(77, parseInt(' 077'));
-assertEquals(77, parseInt(' 077 '));
-assertEquals(-77, parseInt(' -077'));
-
-assertEquals(3, parseInt('11', 2));
-assertEquals(4, parseInt('11', 3));
-assertEquals(4, parseInt('11', 3.8));
-
-assertEquals(0x12, parseInt('0x12'));
-assertEquals(0x12, parseInt('0x12', 16));
-assertEquals(0x12, parseInt('0x12', 16.1));
-assertEquals(0x12, parseInt('0x12', NaN));
-assertTrue(isNaN(parseInt('0x ')));
-assertTrue(isNaN(parseInt('0x')));
-assertTrue(isNaN(parseInt('0x ', 16)));
-assertTrue(isNaN(parseInt('0x', 16)));
-assertEquals(12, parseInt('12aaa'));
-
-assertEquals(0.1, parseFloat('0.1'));
-assertEquals(0.1, parseFloat('0.1aaa'));
-assertEquals(0, parseFloat('0aaa'));
-assertEquals(0, parseFloat('0x12'));
-assertEquals(77, parseFloat('077'));
-
-assertEquals(Infinity, parseInt('1000000000000000000000000000000000000000000000'
- + '000000000000000000000000000000000000000000000000000000000000000000000000'
- + '000000000000000000000000000000000000000000000000000000000000000000000000'
- + '000000000000000000000000000000000000000000000000000000000000000000000000'
- + '000000000000000000000000000000000000000000000000000000000000000000000000'
- + '0000000000000'));
-
-assertEquals(Infinity, parseInt('0x10000000000000000000000000000000000000000000'
- + '000000000000000000000000000000000000000000000000000000000000000000000000'
- + '000000000000000000000000000000000000000000000000000000000000000000000000'
- + '000000000000000000000000000000000000000000000000000000000000000000000000'
- + '000000000000000000000000000000000000000000000000000000000000000000000000'
- + '0000000000000'));
-
-
-var i;
-var y = 10;
-
-for (i = 1; i < 21; i++) {
- var x = eval("1.2e" + i);
- assertEquals(Math.floor(x), parseInt(x));
- x = eval("1e" + i);
- assertEquals(x, y);
- y *= 10;
- assertEquals(Math.floor(x), parseInt(x));
- x = eval("-1e" + i);
- assertEquals(Math.ceil(x), parseInt(x));
- x = eval("-1.2e" + i);
- assertEquals(Math.ceil(x), parseInt(x));
-}
-
-for (i = 21; i < 53; i++) {
- var x = eval("1e" + i);
- assertEquals(1, parseInt(x));
- x = eval("-1e" + i);
- assertEquals(-1, parseInt(x));
-}
-
-assertTrue(isNaN(parseInt(0/0)));
-assertTrue(isNaN(parseInt(1/0)), "parseInt Infinity");
-assertTrue(isNaN(parseInt(-1/0)), "parseInt -Infinity");
-
-assertTrue(isNaN(parseFloat(0/0)));
-assertEquals(Infinity, parseFloat(1/0), "parseFloat Infinity");
-assertEquals(-Infinity, parseFloat(-1/0), "parseFloat -Infinity");
-
-var state;
-var throwingRadix = { valueOf: function() { state = "throwingRadix"; throw null; } };
-var throwingString = { toString: function() { state = "throwingString"; throw null; } };
-state = null;
-try { parseInt('123', throwingRadix); } catch (e) {}
-assertEquals(state, "throwingRadix");
-
-state = null;
-try { parseInt(throwingString, 10); } catch (e) {}
-assertEquals(state, "throwingString");
-
-state = null;
-try { parseInt(throwingString, throwingRadix); } catch (e) {}
-assertEquals(state, "throwingString");
diff --git a/src/3rdparty/v8/test/mjsunit/pixel-array-rounding.js b/src/3rdparty/v8/test/mjsunit/pixel-array-rounding.js
deleted file mode 100755
index 0c307e6..0000000
--- a/src/3rdparty/v8/test/mjsunit/pixel-array-rounding.js
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-var pixels = new Uint8ClampedArray(8);
-
-function f() {
- for (var i = 0; i < 8; i++) {
- pixels[i] = (i * 1.1);
- }
- return pixels[1] + pixels[6];
-}
-
-f();
-f();
-assertEquals(6, pixels[5]);
-%OptimizeFunctionOnNextCall(f);
-f();
-assertEquals(6, pixels[5]);
diff --git a/src/3rdparty/v8/test/mjsunit/polymorph-arrays.js b/src/3rdparty/v8/test/mjsunit/polymorph-arrays.js
deleted file mode 100644
index ff0c433..0000000
--- a/src/3rdparty/v8/test/mjsunit/polymorph-arrays.js
+++ /dev/null
@@ -1,177 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-function init_array(a) {
- for (var i = 0; i < 10; ++i ){
- a[i] = i;
- }
-}
-
-function init_sparse_array(a) {
- for (var i = 0; i < 10; ++i ){
- a[i] = i;
- }
- a[5000000] = 256;
- assertTrue(%HasDictionaryElements(a));
-}
-
-function testPolymorphicLoads() {
- function make_polymorphic_load_function() {
- function load(a, i) {
- return a[i];
- }
-
- var object_array = new Object;
- var sparse_object_array = new Object;
- var js_array = new Array(10);
- var sparse_js_array = new Array(5000001);
-
- init_array(object_array);
- init_array(js_array);
- init_sparse_array(sparse_object_array);
- init_sparse_array(sparse_js_array);
-
- assertEquals(1, load(object_array, 1));
- assertEquals(1, load(js_array, 1));
- assertEquals(1, load(sparse_object_array, 1));
- assertEquals(1, load(sparse_js_array, 1));
-
- return load;
- }
-
- var object_array = new Object;
- var sparse_object_array = new Object;
- var js_array = new Array(10);
- var sparse_js_array = new Array(5000001);
-
- init_array(object_array);
- init_array(js_array);
- init_sparse_array(sparse_object_array);
- init_sparse_array(sparse_js_array);
-
- load = make_polymorphic_load_function();
- assertEquals(undefined, load(js_array, new Object()));
- load = make_polymorphic_load_function();
- assertEquals(undefined, load(object_array, new Object()));
- load = make_polymorphic_load_function();
- assertEquals(undefined, load(sparse_js_array, new Object()));
- load = make_polymorphic_load_function();
- assertEquals(undefined, load(sparse_object_array, new Object()));
-
- // Try with crankshaft.
- load = make_polymorphic_load_function();
- %OptimizeFunctionOnNextCall(load);
- assertEquals(1, load(object_array, 1));
- assertEquals(1, load(js_array, 1));
- assertEquals(1, load(sparse_object_array, 1));
- assertEquals(1, load(sparse_js_array, 1));
-
- load = make_polymorphic_load_function();
- %OptimizeFunctionOnNextCall(load);
- assertEquals(undefined, load(js_array, new Object()));
- load = make_polymorphic_load_function();
- %OptimizeFunctionOnNextCall(load);
- assertEquals(undefined, load(object_array, new Object()));
- load = make_polymorphic_load_function();
- %OptimizeFunctionOnNextCall(load);
- assertEquals(undefined, load(sparse_js_array, new Object()));
- load = make_polymorphic_load_function();
- %OptimizeFunctionOnNextCall(load);
- assertEquals(undefined, load(sparse_object_array, new Object()));
-}
-
-function testPolymorphicStores() {
- function make_polymorphic_store_function() {
- function store(a, i, val) {
- a[i] = val;
- }
-
- var object_array = new Object;
- var sparse_object_array = new Object;
- var js_array = new Array(10);
- var sparse_js_array = new Array(5000001);
-
- init_array(object_array);
- init_array(js_array);
- init_sparse_array(sparse_object_array);
- init_sparse_array(sparse_js_array);
-
- store(object_array, 1, 256);
- store(js_array, 1, 256);
- store(sparse_object_array, 1, 256);
- store(sparse_js_array, 1, 256);
-
- return store;
- }
-
- var object_array = new Object;
- var sparse_object_array = new Object;
- var js_array = new Array(10);
- var sparse_js_array = new Array(5000001);
-
- init_array(object_array);
- init_array(js_array);
- init_sparse_array(sparse_object_array);
- init_sparse_array(sparse_js_array);
-
- store = make_polymorphic_store_function();
- store(object_array, 2, 257);
- store = make_polymorphic_store_function();
- store(js_array, 2, 257);
- store = make_polymorphic_store_function();
- store(sparse_object_array, 2, 257);
- store = make_polymorphic_store_function();
- store(sparse_js_array, 2, 257);
-
- assertEquals(257, object_array[2]);
- assertEquals(257, js_array[2]);
- assertEquals(257, sparse_js_array[2]);
- assertEquals(257, sparse_object_array[2]);
-
- // Now try Crankshaft optimized polymorphic stores
- store = make_polymorphic_store_function();
- %OptimizeFunctionOnNextCall(store);
- store(object_array, 3, 258);
- store = make_polymorphic_store_function();
- %OptimizeFunctionOnNextCall(store);
- store(js_array, 3, 258);
- store = make_polymorphic_store_function();
- %OptimizeFunctionOnNextCall(store);
- store(sparse_object_array, 3, 258);
- store = make_polymorphic_store_function();
- %OptimizeFunctionOnNextCall(store);
- store(sparse_js_array, 3, 258);
-
- assertEquals(258, object_array[3]);
- assertEquals(258, js_array[3]);
- assertEquals(258, sparse_js_array[3]);
- assertEquals(258, sparse_object_array[3]);
-}
-
-testPolymorphicLoads();
-testPolymorphicStores();
diff --git a/src/3rdparty/v8/test/mjsunit/property-load-across-eval.js b/src/3rdparty/v8/test/mjsunit/property-load-across-eval.js
deleted file mode 100644
index 98b621e..0000000
--- a/src/3rdparty/v8/test/mjsunit/property-load-across-eval.js
+++ /dev/null
@@ -1,141 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Tests loading of properties across eval calls.
-
-var x = 1;
-function global_function() { return 'global'; }
-const const_uninitialized;
-const const_initialized = function() { return "const_global"; }
-
-// Test loading across an eval call that does not shadow variables.
-function testNoShadowing() {
- var y = 2;
- function local_function() { return 'local'; }
- const local_const_uninitialized;
- const local_const_initialized = function() { return "const_local"; }
- function f() {
- eval('1');
- assertEquals(1, x);
- try { typeof(asdf); } catch(e) { assertUnreachable(); }
- assertEquals(2, y);
- assertEquals('global', global_function());
- assertEquals('local', local_function());
- var exception = false;
- try {
- const_uninitialized();
- } catch(e) {
- exception = true;
- }
- assertTrue(exception);
- assertEquals('const_global', const_initialized());
- exception = false;
- try {
- local_const_uninitialized();
- } catch(e) {
- exception = true;
- }
- assertTrue(exception);
- assertEquals('const_local', local_const_initialized());
- function g() {
- assertEquals(1, x);
- try { typeof(asdf); } catch(e) { assertUnreachable(); }
- assertEquals(2, y);
- assertEquals('global', global_function());
- assertEquals('local', local_function());
- var exception = false;
- try {
- const_uninitialized();
- } catch(e) {
- exception = true;
- }
- assertTrue(exception);
- assertEquals('const_global', const_initialized());
- exception = false;
- try {
- local_const_uninitialized();
- } catch(e) {
- exception = true;
- }
- assertTrue(exception);
- assertEquals('const_local', local_const_initialized());
- }
- g();
- }
- f();
-}
-
-testNoShadowing();
-
-// Test loading across eval calls that do not shadow variables.
-function testNoShadowing2() {
- var y = 2;
- function local_function() { return 'local'; }
- eval('1');
- function f() {
- eval('1');
- assertEquals(1, x);
- assertEquals(2, y);
- assertEquals('global', global_function());
- assertEquals('local', local_function());
- function g() {
- assertEquals(1, x);
- assertEquals(2, y);
- assertEquals('global', global_function());
- assertEquals('local', local_function());
- }
- g();
- }
- f();
-}
-
-testNoShadowing2();
-
-// Test loading across an eval call that shadows variables.
-function testShadowing() {
- var y = 2;
- function local_function() { return 'local'; }
- function f() {
- eval('var x = 3; var y = 4;');
- assertEquals(3, x);
- assertEquals(4, y);
- eval('function local_function() { return "new_local"; }');
- eval('function global_function() { return "new_nonglobal"; }');
- assertEquals('new_nonglobal', global_function());
- assertEquals('new_local', local_function());
- function g() {
- assertEquals(3, x);
- assertEquals(4, y);
- assertEquals('new_nonglobal', global_function());
- assertEquals('new_local', local_function());
- }
- g();
- }
- f();
-}
-
-testShadowing();
diff --git a/src/3rdparty/v8/test/mjsunit/property-object-key.js b/src/3rdparty/v8/test/mjsunit/property-object-key.js
deleted file mode 100644
index 5eb1e1b..0000000
--- a/src/3rdparty/v8/test/mjsunit/property-object-key.js
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var key = { toString: function() { return 'baz'; } }
-var object = { baz: 42 };
-
-assertEquals(42, object[key]);
-object[key] = 87;
-assertEquals(87, object[key]);
-object[key]++;
-assertEquals(88, object[key]);
-
diff --git a/src/3rdparty/v8/test/mjsunit/proto.js b/src/3rdparty/v8/test/mjsunit/proto.js
deleted file mode 100644
index faf98b2..0000000
--- a/src/3rdparty/v8/test/mjsunit/proto.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var o1 = { x: 12 };
-
-var o2 = { x: 12, y: 13 };
-delete o2.x; // normalize
-
-assertTrue(o1.__proto__ === o2.__proto__);
diff --git a/src/3rdparty/v8/test/mjsunit/prototype.js b/src/3rdparty/v8/test/mjsunit/prototype.js
deleted file mode 100644
index bfc1a79..0000000
--- a/src/3rdparty/v8/test/mjsunit/prototype.js
+++ /dev/null
@@ -1,93 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function A() { }
-function B() { }
-function C() { }
-
-function NewC() {
- A.prototype = {};
- B.prototype = new A();
- C.prototype = new B();
- var result = new C();
- result.A = A.prototype;
- result.B = B.prototype;
- result.C = C.prototype;
- return result;
-}
-
-// Check that we can read properties defined in prototypes.
-var c = NewC();
-c.A.x = 1;
-c.B.y = 2;
-c.C.z = 3;
-assertEquals(1, c.x);
-assertEquals(2, c.y);
-assertEquals(3, c.z);
-
-var c = NewC();
-c.A.x = 0;
-for (var i = 0; i < 2; i++) {
- assertEquals(i, c.x);
- c.B.x = 1;
-}
-
-
-// Regression test:
-// Make sure we preserve the prototype of an object in the face of map transitions.
-
-function D() {
- this.d = 1;
-}
-var p = new Object();
-p.y = 1;
-new D();
-
-D.prototype = p
-assertEquals(1, (new D).y);
-
-
-// Regression test:
-// Make sure that arrays and functions in the prototype chain works;
-// check length.
-function X() { }
-function Y() { }
-
-X.prototype = function(a,b) { };
-Y.prototype = [1,2,3];
-
-assertEquals(2, (new X).length);
-assertEquals(3, (new Y).length);
-
-
-// Test setting the length of an object where the prototype is from an array.
-var test = new Object;
-test.__proto__ = (new Array()).__proto__;
-test.length = 14;
-assertEquals(14, test.length);
-
-
diff --git a/src/3rdparty/v8/test/mjsunit/readonly.js b/src/3rdparty/v8/test/mjsunit/readonly.js
deleted file mode 100644
index 4d06b7c..0000000
--- a/src/3rdparty/v8/test/mjsunit/readonly.js
+++ /dev/null
@@ -1,228 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --harmony-proxies --es5_readonly
-
-// Different ways to create an object.
-
-function CreateFromLiteral() {
- return {};
-}
-
-function CreateFromObject() {
- return new Object;
-}
-
-function CreateDefault() {
- return Object.create(Object.prototype);
-}
-
-function CreateFromConstructor(proto) {
- function C() {}
- (new C).b = 9; // Make sure that we can have an in-object property.
- C.prototype = proto;
- return function() { return new C; }
-}
-
-function CreateFromApi(proto) {
- return function() { return Object.create(proto); }
-}
-
-function CreateWithProperty(proto) {
- function C() { this.a = -100; }
- C.prototype = proto;
- return function() { return new C; }
-}
-
-var bases = [CreateFromLiteral, CreateFromObject, CreateDefault];
-var inherits = [CreateFromConstructor, CreateFromApi, CreateWithProperty];
-var constructs = [CreateFromConstructor, CreateFromApi];
-
-function TestAllCreates(f) {
- // The depth of the prototype chain up the.
- for (var depth = 0; depth < 3; ++depth) {
- // Introduce readonly-ness this far up the chain.
- for (var up = 0; up <= depth; ++up) {
- // Try different construction methods.
- for (var k = 0; k < constructs.length; ++k) {
- // Construct a fresh prototype chain from above functions.
- for (var i = 0; i < bases.length; ++i) {
- var p = bases[i]();
- // There may be a preexisting property under the insertion point...
- for (var j = 0; j < depth - up; ++j) {
- p = inherits[Math.floor(inherits.length * Math.random())](p)();
- }
- // ...but not above it.
- for (var j = 0; j < up; ++j) {
- p = constructs[Math.floor(constructs.length * Math.random())](p)();
- }
- // Create a fresh constructor.
- var c = constructs[k](p);
- f(function() {
- var o = c();
- o.up = o;
- for (var j = 0; j < up; ++j) o.up = Object.getPrototypeOf(o.up);
- return o;
- })
- }
- }
- }
- }
-}
-
-
-// Different ways to make a property read-only.
-
-function ReadonlyByNonwritableDataProperty(o, name) {
- Object.defineProperty(o, name, {value: -41, writable: false});
-}
-
-function ReadonlyByAccessorPropertyWithoutSetter(o, name) {
- Object.defineProperty(o, name, {get: function() { return -42; }});
-}
-
-function ReadonlyByGetter(o, name) {
- o.__defineGetter__("a", function() { return -43; });
-}
-
-function ReadonlyByFreeze(o, name) {
- o[name] = -44;
- Object.freeze(o);
-}
-
-function ReadonlyByProto(o, name) {
- var p = Object.create(o.__proto__);
- Object.defineProperty(p, name, {value: -45, writable: false});
- o.__proto__ = p;
-}
-
-function ReadonlyByProxy(o, name) {
- var p = Proxy.create({
- getPropertyDescriptor: function() {
- return {value: -46, writable: false, configurable: true};
- }
- });
- o.__proto__ = p;
-}
-
-var readonlys = [
- ReadonlyByNonwritableDataProperty, ReadonlyByAccessorPropertyWithoutSetter,
- ReadonlyByGetter, ReadonlyByFreeze, ReadonlyByProto, ReadonlyByProxy
-]
-
-function TestAllReadonlys(f) {
- // Provide various methods to making a property read-only.
- for (var i = 0; i < readonlys.length; ++i) {
- print(" readonly =", i)
- f(readonlys[i]);
- }
-}
-
-
-// Different use scenarios.
-
-function Assign(o, x) {
- o.a = x;
-}
-
-function AssignStrict(o, x) {
- "use strict";
- o.a = x;
-}
-
-function TestAllModes(f) {
- for (var strict = 0; strict < 2; ++strict) {
- print(" strict =", strict);
- f(strict);
- }
-}
-
-function TestAllScenarios(f) {
- for (var t = 0; t < 100; t = 2*t + 1) {
- print("t =", t)
- f(function(strict, create, readonly) {
- // Make sure that the assignments are monomorphic.
- %DeoptimizeFunction(Assign);
- %DeoptimizeFunction(AssignStrict);
- %ClearFunctionTypeFeedback(Assign);
- %ClearFunctionTypeFeedback(AssignStrict);
- for (var i = 0; i < t; ++i) {
- var o = create();
- assertFalse("a" in o && !("a" in o.__proto__));
- if (strict === 0)
- Assign(o, i);
- else
- AssignStrict(o, i);
- assertEquals(i, o.a);
- }
- %OptimizeFunctionOnNextCall(Assign);
- %OptimizeFunctionOnNextCall(AssignStrict);
- var o = create();
- assertFalse("a" in o && !("a" in o.__proto__));
- readonly(o.up, "a");
- assertTrue("a" in o);
- if (strict === 0)
- Assign(o, t + 1);
- else
- assertThrows(function() { AssignStrict(o, t + 1) }, TypeError);
- assertTrue(o.a < 0);
- });
- }
-}
-
-
-// Runner.
-
-TestAllScenarios(function(scenario) {
- TestAllModes(function(strict) {
- TestAllReadonlys(function(readonly) {
- TestAllCreates(function(create) {
- scenario(strict, create, readonly);
- });
- });
- });
-});
-
-
-// Extra test forcing bailout.
-
-function Assign2(o, x) { o.a = x }
-
-(function() {
- var p = CreateFromConstructor(Object.prototype)();
- var c = CreateFromConstructor(p);
- for (var i = 0; i < 3; ++i) {
- var o = c();
- Assign2(o, i);
- assertEquals(i, o.a);
- }
- %OptimizeFunctionOnNextCall(Assign2);
- ReadonlyByNonwritableDataProperty(p, "a");
- var o = c();
- Assign2(o, 0);
- assertTrue(o.a < 0);
-})();
diff --git a/src/3rdparty/v8/test/mjsunit/receiver-in-with-calls.js b/src/3rdparty/v8/test/mjsunit/receiver-in-with-calls.js
deleted file mode 100644
index 5f2bdac..0000000
--- a/src/3rdparty/v8/test/mjsunit/receiver-in-with-calls.js
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// When invoking functions from within a 'with' statement, we must set
-// the receiver to the object where we found the function.
-
-(function () {
- var x = { get_this: function() { return this; } };
- assertTrue(x === x.get_this());
- with (x) assertTrue(x === get_this());
-})();
-
-
-assertTrue({ f: function() {
- function g() { return this; };
- return eval("g")();
-} }.f() == this);
-
-
-assertTrue({ f: function() {
- function g() { return this; };
- return eval("g()");
-} }.f() == this);
diff --git a/src/3rdparty/v8/test/mjsunit/regexp-UC16.js b/src/3rdparty/v8/test/mjsunit/regexp-UC16.js
deleted file mode 100644
index f609e17..0000000
--- a/src/3rdparty/v8/test/mjsunit/regexp-UC16.js
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// UC16
-// Characters used:
-// "\u03a3\u03c2\u03c3\u039b\u03bb" - Sigma, final sigma, sigma, Lambda, lamda
-assertEquals("x\u03a3\u03c3x,\u03a3",
- String(/x(.)\1x/i.exec("x\u03a3\u03c3x")), "backref-UC16");
-assertFalse(/x(...)\1/i.test("x\u03a3\u03c2\u03c3\u03c2\u03c3"),
- "\\1 ASCII, string short");
-assertTrue(/\u03a3((?:))\1\1x/i.test("\u03c2x"), "backref-UC16-empty");
-assertTrue(/x(?:...|(...))\1x/i.test("x\u03a3\u03c2\u03c3x"),
- "backref-UC16-uncaptured");
-assertTrue(/x(?:...|(...))\1x/i.test("x\u03c2\u03c3\u039b\u03a3\u03c2\u03bbx"),
- "backref-UC16-backtrack");
-var longUC16String = "x\u03a3\u03c2\u039b\u03c2\u03c3\u03bb\u03c3\u03a3\u03bb";
-assertEquals(longUC16String + "," + longUC16String.substring(1,4),
- String(/x(...)\1\1/i.exec(longUC16String)),
- "backref-UC16-twice");
-
-assertFalse(/\xc1/i.test('fooA'), "quickcheck-uc16-pattern-ascii-subject");
-assertFalse(/[\xe9]/.test('i'), "charclass-uc16-pattern-ascii-subject");
-assertFalse(/\u5e74|\u6708/.test('t'), "alternation-uc16-pattern-ascii-subject");
diff --git a/src/3rdparty/v8/test/mjsunit/regexp-cache-replace.js b/src/3rdparty/v8/test/mjsunit/regexp-cache-replace.js
deleted file mode 100644
index ad33acb..0000000
--- a/src/3rdparty/v8/test/mjsunit/regexp-cache-replace.js
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Tests that regexp caching isn't messing things up.
-
-var re1 = /(o)/g;
-assertEquals("FxxBar", "FooBar".replace(re1, "x"));
-assertEquals("o", RegExp.$1);
-assertTrue(/(x)/.test("abcxdef"));
-assertEquals("x", RegExp.$1);
-assertEquals("FxxBar", "FooBar".replace(re1, "x"));
-assertEquals("o", RegExp.$1);
diff --git a/src/3rdparty/v8/test/mjsunit/regexp-call-as-function.js b/src/3rdparty/v8/test/mjsunit/regexp-call-as-function.js
deleted file mode 100644
index add81ac..0000000
--- a/src/3rdparty/v8/test/mjsunit/regexp-call-as-function.js
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that regular expressions can be called as functions. Calling
-// a regular expression as a function corresponds to calling it's exec
-// method.
-
-var regexp = /a(b)(c)/;
-var subject = "xyzabcde";
-var expected = 'abc,b,c';
-assertEquals(expected, String(regexp.exec(subject)));
-assertThrows(function(){ regexp(subject); });
diff --git a/src/3rdparty/v8/test/mjsunit/regexp-capture-3.js b/src/3rdparty/v8/test/mjsunit/regexp-capture-3.js
deleted file mode 100755
index 4c27ea4..0000000
--- a/src/3rdparty/v8/test/mjsunit/regexp-capture-3.js
+++ /dev/null
@@ -1,218 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function oneMatch(re) {
- "abcd".replace(re, function() { });
- assertEquals("abcd", RegExp.input);
- assertEquals("a", RegExp.leftContext);
- assertEquals("b", RegExp.lastMatch);
- assertEquals("", RegExp.lastParen);
- assertEquals(undefined, RegExp.lastIndex);
- assertEquals(undefined, RegExp.index);
- assertEquals("cd", RegExp.rightContext);
- for (var i = 1; i < 10; i++) {
- assertEquals("", RegExp['$' + i]);
- }
-}
-
-oneMatch(/b/);
-oneMatch(/b/g);
-
-"abcdabcd".replace(/b/g, function() { });
-assertEquals("abcdabcd", RegExp.input);
-assertEquals("abcda", RegExp.leftContext);
-assertEquals("b", RegExp.lastMatch);
-assertEquals("", RegExp.lastParen);
-assertEquals(undefined, RegExp.lastIndex);
-assertEquals(undefined, RegExp.index);
-assertEquals("cd", RegExp.rightContext);
-for (var i = 1; i < 10; i++) {
- assertEquals("", RegExp['$' + i]);
-}
-
-function captureMatch(re) {
- "abcd".replace(re, function() { });
- assertEquals("abcd", RegExp.input);
- assertEquals("a", RegExp.leftContext);
- assertEquals("bc", RegExp.lastMatch);
- assertEquals("c", RegExp.lastParen);
- assertEquals(undefined, RegExp.lastIndex);
- assertEquals(undefined, RegExp.index);
- assertEquals("d", RegExp.rightContext);
- assertEquals('b', RegExp.$1);
- assertEquals('c', RegExp.$2);
- for (var i = 3; i < 10; i++) {
- assertEquals("", RegExp['$' + i]);
- }
-}
-
-captureMatch(/(b)(c)/);
-captureMatch(/(b)(c)/g);
-
-"abcdabcd".replace(/(b)(c)/g, function() { });
-assertEquals("abcdabcd", RegExp.input);
-assertEquals("abcda", RegExp.leftContext);
-assertEquals("bc", RegExp.lastMatch);
-assertEquals("c", RegExp.lastParen);
-assertEquals(undefined, RegExp.lastIndex);
-assertEquals(undefined, RegExp.index);
-assertEquals("d", RegExp.rightContext);
-assertEquals('b', RegExp.$1);
-assertEquals('c', RegExp.$2);
-for (var i = 3; i < 10; i++) {
- assertEquals("", RegExp['$' + i]);
-}
-
-
-function Override() {
- // Set the internal lastMatchInfoOverride. After calling this we do a normal
- // match and verify the override was cleared and that we record the new
- // captures.
- "abcdabcd".replace(/(b)(c)/g, function() { });
-}
-
-
-function TestOverride(input, expect, property, re_src) {
- var re = new RegExp(re_src);
- var re_g = new RegExp(re_src, "g");
-
- function OverrideCase(fn) {
- Override();
- fn();
- assertEquals(expect, RegExp[property]);
- }
-
- OverrideCase(function() { return input.replace(re, "x"); });
- OverrideCase(function() { return input.replace(re_g, "x"); });
- OverrideCase(function() { return input.replace(re, ""); });
- OverrideCase(function() { return input.replace(re_g, ""); });
- OverrideCase(function() { return input.match(re); });
- OverrideCase(function() { return input.match(re_g); });
- OverrideCase(function() { return re.test(input); });
- OverrideCase(function() { return re_g.test(input); });
-}
-
-var input = "bar.foo baz......";
-var re_str = "(ba.).*?f";
-TestOverride(input, "bar", "$1", re_str);
-
-input = "foo bar baz";
-var re_str = "bar";
-TestOverride(input, "bar", "$&", re_str);
-
-
-function no_last_match(fn) {
- fn();
- assertEquals("hestfisk", RegExp.$1);
-}
-
-/(hestfisk)/.test("There's no such thing as a hestfisk!");
-
-no_last_match(function() { "foo".replace("f", ""); });
-no_last_match(function() { "foo".replace("f", "f"); });
-no_last_match(function() { "foo".split("o"); });
-
-var base = "In the music. In the music. ";
-var cons = base + base + base + base;
-no_last_match(function() { cons.replace("x", "y"); });
-no_last_match(function() { cons.replace("e", "E"); });
-
-
-// Here's one that matches once, then tries to match again, but fails.
-// Verify that the last match info is from the last match, not from the
-// failure that came after.
-"bar.foo baz......".replace(/(ba.).*?f/g, function() { return "x";});
-assertEquals("bar", RegExp.$1);
-
-
-// A test that initially does a zero width match, but later does a non-zero
-// width match.
-var a = "foo bar baz".replace(/^|bar/g, "");
-assertEquals("foo baz", a);
-
-a = "foo bar baz".replace(/^|bar/g, "*");
-assertEquals("*foo * baz", a);
-
-// We test FilterASCII using regexps that will backtrack forever. Since
-// a regexp with a non-ASCII character in it can never match an ASCII
-// string we can test that the relevant node is removed by verifying that
-// there is no hang.
-function NoHang(re) {
- "This is an ASCII string that could take forever".match(re);
-}
-
-NoHang(/(((.*)*)*x)Ā/); // Continuation after loop is filtered, so is loop.
-NoHang(/(((.*)*)*Ā)foo/); // Body of loop filtered.
-NoHang(/Ā(((.*)*)*x)/); // Everything after a filtered character is filtered.
-NoHang(/(((.*)*)*x)Ā/); // Everything before a filtered character is filtered.
-NoHang(/[ćăĀ](((.*)*)*x)/); // Everything after a filtered class is filtered.
-NoHang(/(((.*)*)*x)[ćăĀ]/); // Everything before a filtered class is filtered.
-NoHang(/[^\x00-\xff](((.*)*)*x)/); // After negated class.
-NoHang(/(((.*)*)*x)[^\x00-\xff]/); // Before negated class.
-NoHang(/(?!(((.*)*)*x)Ā)foo/); // Negative lookahead is filtered.
-NoHang(/(?!(((.*)*)*x))Ā/); // Continuation branch of negative lookahead.
-NoHang(/(?=(((.*)*)*x)Ā)foo/); // Positive lookahead is filtered.
-NoHang(/(?=(((.*)*)*x))Ā/); // Continuation branch of positive lookahead.
-NoHang(/(?=Ā)(((.*)*)*x)/); // Positive lookahead also prunes continuation.
-NoHang(/(æ|ø|Ā)(((.*)*)*x)/); // All branches of alternation are filtered.
-NoHang(/(a|b|(((.*)*)*x))Ā/); // 1 out of 3 branches pruned.
-NoHang(/(a|(((.*)*)*x)ă|(((.*)*)*x)Ā)/); // 2 out of 3 branches pruned.
-
-var s = "Don't prune based on a repetition of length 0";
-assertEquals(null, s.match(/å{1,1}prune/));
-assertEquals("prune", (s.match(/å{0,0}prune/)[0]));
-
-// Some very deep regexps where FilterASCII gives up in order not to make the
-// stack overflow.
-var regex6 = /a*\u0100*\w/;
-var input0 = "a";
-regex6.exec(input0);
-
-var re = "\u0100*\\w";
-
-for (var i = 0; i < 200; i++) re = "a*" + re;
-
-var regex7 = new RegExp(re);
-regex7.exec(input0);
-
-var regex8 = new RegExp(re, "i");
-regex8.exec(input0);
-
-re = "[\u0100]*\\w";
-for (var i = 0; i < 200; i++) re = "a*" + re;
-
-var regex9 = new RegExp(re);
-regex9.exec(input0);
-
-var regex10 = new RegExp(re, "i");
-regex10.exec(input0);
-
-var regex11 = /^(?:[^\u0000-\u0080]|[0-9a-z?,.!&\s#()])+$/i;
-regex11.exec(input0);
-
-var regex12 = /u(\xf0{8}?\D*?|( ? !)$h??(|)*?(||)+?\6((?:\W\B|--\d-*-|)?$){0, }?|^Y( ? !1)\d+)+a/;
-regex12.exec("");
diff --git a/src/3rdparty/v8/test/mjsunit/regexp-capture.js b/src/3rdparty/v8/test/mjsunit/regexp-capture.js
deleted file mode 100755
index 3073094..0000000
--- a/src/3rdparty/v8/test/mjsunit/regexp-capture.js
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Tests from http://blog.stevenlevithan.com/archives/npcg-javascript
-
-assertEquals(true, /(x)?\1y/.test("y"));
-assertEquals(["y", undefined], /(x)?\1y/.exec("y"));
-assertEquals(["y", undefined], /(x)?y/.exec("y"));
-assertEquals(["y", undefined], "y".match(/(x)?\1y/));
-assertEquals(["y", undefined], "y".match(/(x)?y/));
-assertEquals(["y"], "y".match(/(x)?\1y/g));
-assertEquals(["", undefined, ""], "y".split(/(x)?\1y/));
-assertEquals(["", undefined, ""], "y".split(/(x)?y/));
-assertEquals(0, "y".search(/(x)?\1y/));
-assertEquals("z", "y".replace(/(x)?\1y/, "z"));
-assertEquals("", "y".replace(/(x)?y/, "$1"));
-assertEquals("undefined", "y".replace(/(x)?\1y/,
- function($0, $1){
- return String($1);
- }));
-assertEquals("undefined", "y".replace(/(x)?y/,
- function($0, $1){
- return String($1);
- }));
-assertEquals("undefined", "y".replace(/(x)?y/,
- function($0, $1){
- return $1;
- }));
-
-// See https://bugzilla.mozilla.org/show_bug.cgi?id=476146
-assertEquals(["bbc", "b"], /^(b+|a){1,2}?bc/.exec("bbc"));
-assertEquals(["bbaa", "a", "", "a"],
- /((\3|b)\2(a)){2,}/.exec("bbaababbabaaaaabbaaaabba"));
-
-// From crbug.com/128821 - don't hang:
-"".match(/((a|i|A|I|u|o|U|O)(s|c|b|c|d|f|g|h|j|k|l|m|n|p|q|r|s|t|v|w|x|y|z|B|C|D|F|G|H|J|K|L|M|N|P|Q|R|S|T|V|W|X|Y|Z)*) de\/da([.,!?\s]|$)/);
diff --git a/src/3rdparty/v8/test/mjsunit/regexp-captures.js b/src/3rdparty/v8/test/mjsunit/regexp-captures.js
deleted file mode 100644
index 91548d6..0000000
--- a/src/3rdparty/v8/test/mjsunit/regexp-captures.js
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var re = /^(((N({)?)|(R)|(U)|(V)|(B)|(H)|(n((n)|(r)|(v)|(h))?)|(r(r)?)|(v)|(b((n)|(b))?)|(h))|((Y)|(A)|(E)|(o(u)?)|(p(u)?)|(q(u)?)|(s)|(t)|(u)|(w)|(x(u)?)|(y)|(z)|(a((T)|(A)|(L))?)|(c)|(e)|(f(u)?)|(g(u)?)|(i)|(j)|(l)|(m(u)?)))+/;
-var r = new RegExp(re)
-var str = "Avtnennan gunzvmu pubExnY nEvln vaTxh rmuhguhaTxnY"
-assertTrue(r.test(str));
diff --git a/src/3rdparty/v8/test/mjsunit/regexp-compile.js b/src/3rdparty/v8/test/mjsunit/regexp-compile.js
deleted file mode 100644
index 6a24325..0000000
--- a/src/3rdparty/v8/test/mjsunit/regexp-compile.js
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that we don't cache the result of a regexp match across a
-// compile event.
-var re = /x/;
-assertEquals("a.yb", "axyb".replace(re, "."));
-
-re.compile("y");
-assertEquals("ax.b", "axyb".replace(re, "."));
-
-re.compile("(x)");
-
-assertEquals(["x", "x"], re.exec("axyb"));
-
-re.compile("(y)");
-
-assertEquals(["y", "y"], re.exec("axyb"));
diff --git a/src/3rdparty/v8/test/mjsunit/regexp-global.js b/src/3rdparty/v8/test/mjsunit/regexp-global.js
deleted file mode 100644
index 093dba1..0000000
--- a/src/3rdparty/v8/test/mjsunit/regexp-global.js
+++ /dev/null
@@ -1,254 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-// Test that an optional capture is cleared between two matches.
-var str = "ABX X";
-str = str.replace(/(\w)?X/g, function(match, capture) {
- assertTrue(match.indexOf(capture) >= 0 ||
- capture === undefined);
- return capture ? capture.toLowerCase() : "-";
- });
-assertEquals("Ab -", str);
-
-// Test zero-length matches.
-str = "Als Gregor Samsa eines Morgens";
-str = str.replace(/\b/g, function(match, capture) {
- return "/";
- });
-assertEquals("/Als/ /Gregor/ /Samsa/ /eines/ /Morgens/", str);
-
-// Test zero-length matches that have non-zero-length sub-captures.
-str = "It was a pleasure to burn.";
-str = str.replace(/(?=(\w+))\b/g, function(match, capture) {
- return capture.length;
- });
-assertEquals("2It 3was 1a 8pleasure 2to 4burn.", str);
-
-// Test multiple captures.
-str = "Try not. Do, or do not. There is no try.";
-str = str.replace(/(not?)|(do)|(try)/gi,
- function(match, c1, c2, c3) {
- assertTrue((c1 === undefined && c2 === undefined) ||
- (c2 === undefined && c3 === undefined) ||
- (c1 === undefined && c3 === undefined));
- if (c1) return "-";
- if (c2) return "+";
- if (c3) return "="
- });
-assertEquals("= -. +, or + -. There is - =.", str);
-
-// Test multiple alternate captures.
-str = "FOUR LEGS GOOD, TWO LEGS BAD!";
-str = str.replace(/(FOUR|TWO) LEGS (GOOD|BAD)/g,
- function(match, num_legs, likeability) {
- assertTrue(num_legs !== undefined);
- assertTrue(likeability !== undefined);
- if (num_legs == "FOUR") assertTrue(likeability == "GOOD");
- if (num_legs == "TWO") assertTrue(likeability == "BAD");
- return match.length - 10;
- });
-assertEquals("4, 2!", str);
-
-
-// The same tests with UC16.
-
-//Test that an optional capture is cleared between two matches.
-str = "AB\u1234 \u1234";
-str = str.replace(/(\w)?\u1234/g,
- function(match, capture) {
- assertTrue(match.indexOf(capture) >= 0 ||
- capture === undefined);
- return capture ? capture.toLowerCase() : "-";
- });
-assertEquals("Ab -", str);
-
-// Test zero-length matches.
-str = "Als \u2623\u2642 eines Morgens";
-str = str.replace(/\b/g, function(match, capture) {
- return "/";
- });
-assertEquals("/Als/ \u2623\u2642 /eines/ /Morgens/", str);
-
-// Test zero-length matches that have non-zero-length sub-captures.
-str = "It was a pleasure to \u70e7.";
-str = str.replace(/(?=(\w+))\b/g, function(match, capture) {
- return capture.length;
- });
-assertEquals("2It 3was 1a 8pleasure 2to \u70e7.", str);
-
-// Test multiple captures.
-str = "Try not. D\u26aa, or d\u26aa not. There is no try.";
-str = str.replace(/(not?)|(d\u26aa)|(try)/gi,
- function(match, c1, c2, c3) {
- assertTrue((c1 === undefined && c2 === undefined) ||
- (c2 === undefined && c3 === undefined) ||
- (c1 === undefined && c3 === undefined));
- if (c1) return "-";
- if (c2) return "+";
- if (c3) return "="
- });
-assertEquals("= -. +, or + -. There is - =.", str);
-
-// Test multiple alternate captures.
-str = "FOUR \u817f GOOD, TWO \u817f BAD!";
-str = str.replace(/(FOUR|TWO) \u817f (GOOD|BAD)/g,
- function(match, num_legs, likeability) {
- assertTrue(num_legs !== undefined);
- assertTrue(likeability !== undefined);
- if (num_legs == "FOUR") assertTrue(likeability == "GOOD");
- if (num_legs == "TWO") assertTrue(likeability == "BAD");
- return match.length - 7;
- });
-assertEquals("4, 2!", str);
-
-// Test capture that is a real substring.
-var str = "Beasts of England, beasts of Ireland";
-str = str.replace(/(.*)/g, function(match) { return '~'; });
-assertEquals("~~", str);
-
-// Test zero-length matches that have non-zero-length sub-captures that do not
-// start at the match start position.
-str = "up up up up";
-str = str.replace(/\b(?=u(p))/g, function(match, capture) {
- return capture.length;
- });
-
-assertEquals("1up 1up 1up 1up", str);
-
-
-// Create regexp that has a *lot* of captures.
-var re_string = "(a)";
-for (var i = 0; i < 500; i++) {
- re_string = "(" + re_string + ")";
-}
-re_string = re_string + "1";
-// re_string = "(((...((a))...)))1"
-
-var regexps = new Array();
-var last_match_expectations = new Array();
-var first_capture_expectations = new Array();
-
-// Atomic regexp.
-regexps.push(/a1/g);
-last_match_expectations.push("a1");
-first_capture_expectations.push("");
-// Small regexp (no capture);
-regexps.push(/\w1/g);
-last_match_expectations.push("a1");
-first_capture_expectations.push("");
-// Small regexp (one capture).
-regexps.push(/(a)1/g);
-last_match_expectations.push("a1");
-first_capture_expectations.push("a");
-// Large regexp (a lot of captures).
-regexps.push(new RegExp(re_string, "g"));
-last_match_expectations.push("a1");
-first_capture_expectations.push("a");
-
-function test_replace(result_expectation,
- subject,
- regexp,
- replacement) {
- for (var i = 0; i < regexps.length; i++) {
- // Overwrite last match info.
- "deadbeef".replace(/(dead)beef/, "$1holeycow");
- // Conduct tests.
- assertEquals(result_expectation, subject.replace(regexps[i], replacement));
- if (subject.length == 0) {
- assertEquals("deadbeef", RegExp.lastMatch);
- assertEquals("dead", RegExp["$1"]);
- } else {
- assertEquals(last_match_expectations[i], RegExp.lastMatch);
- assertEquals(first_capture_expectations[i], RegExp["$1"]);
- }
- }
-}
-
-
-function test_match(result_expectation,
- subject,
- regexp) {
- for (var i = 0; i < regexps.length; i++) {
- // Overwrite last match info.
- "deadbeef".replace(/(dead)beef/, "$1holeycow");
- // Conduct tests.
- if (result_expectation == null) {
- assertNull(subject.match(regexps[i]));
- } else {
- assertArrayEquals(result_expectation, subject.match(regexps[i]));
- }
- if (subject.length == 0) {
- assertEquals("deadbeef", RegExp.lastMatch);
- assertEquals("dead", RegExp["$1"]);
- } else {
- assertEquals(last_match_expectations[i], RegExp.lastMatch);
- assertEquals(first_capture_expectations[i], RegExp["$1"]);
- }
- }
-}
-
-
-// Test for different number of matches.
-for (var m = 0; m < 200; m++) {
- // Create string that matches m times.
- var subject = "";
- var test_1_expectation = "";
- var test_2_expectation = "";
- var test_3_expectation = (m == 0) ? null : new Array();
- for (var i = 0; i < m; i++) {
- subject += "a11";
- test_1_expectation += "x1";
- test_2_expectation += "1";
- test_3_expectation.push("a1");
- }
-
- // Test 1a: String.replace with string.
- test_replace(test_1_expectation, subject, /a1/g, "x");
-
- // Test 1b: String.replace with function.
- function f() { return "x"; }
- test_replace(test_1_expectation, subject, /a1/g, f);
-
- // Test 2a: String.replace with empty string.
- test_replace(test_2_expectation, subject, /a1/g, "");
-
- // Test 3a: String.match.
- test_match(test_3_expectation, subject, /a1/g);
-}
-
-
-// Test String hashing (compiling regular expression includes hashing).
-var crosscheck = "\x80";
-for (var i = 0; i < 12; i++) crosscheck += crosscheck;
-new RegExp(crosscheck);
-
-var subject = "ascii~only~string~here~";
-var replacement = "\x80";
-var result = subject.replace(/~/g, replacement);
-for (var i = 0; i < 5; i++) result += result;
-new RegExp(result);
diff --git a/src/3rdparty/v8/test/mjsunit/regexp-indexof.js b/src/3rdparty/v8/test/mjsunit/regexp-indexof.js
deleted file mode 100644
index a504dd8..0000000
--- a/src/3rdparty/v8/test/mjsunit/regexp-indexof.js
+++ /dev/null
@@ -1,77 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function CheckMatch(re, str, matches) {
- assertEquals(matches.length > 0, re.test(str));
- var result = str.match(re);
- if (matches.length > 0) {
- assertEquals(matches.length, result.length);
- var lastExpected;
- var lastFrom;
- var lastLength;
- for (var idx = 0; idx < matches.length; idx++) {
- var from = matches[idx][0];
- var length = matches[idx][1];
- var expected = str.substr(from, length);
- var name = str + "[" + from + ".." + (from+length) + "]";
- assertEquals(expected, result[idx], name);
- if (re.global || idx == 0) {
- lastExpected = expected;
- lastFrom = from;
- lastLength = length;
- }
- }
- assertEquals(lastExpected, RegExp.lastMatch, "lastMatch");
- assertEquals(str.substr(0, lastFrom), RegExp.leftContext, "leftContext");
- assertEquals(
- str.substr(lastFrom + lastLength), RegExp.rightContext, "rightContext");
- } else {
- assertTrue(result === null);
- }
-}
-
-CheckMatch(/abc/, "xxxabcxxxabcxxx", [[3, 3]]);
-CheckMatch(/abc/g, "xxxabcxxxabcxxx", [[3, 3], [9, 3]]);
-CheckMatch(/abc/, "xxxabababcxxxabcxxx", [[7, 3]]);
-CheckMatch(/abc/g, "abcabcabc", [[0, 3], [3, 3], [6, 3]]);
-CheckMatch(/aba/g, "ababababa", [[0, 3], [4, 3]]);
-CheckMatch(/foo/g, "ofooofoooofofooofo", [[1, 3], [5, 3], [12, 3]]);
-CheckMatch(/foobarbaz/, "xx", []);
-CheckMatch(new RegExp(""), "xxx", [[0, 0]]);
-CheckMatch(/abc/, "abababa", []);
-
-assertEquals("xxxdefxxxdefxxx", "xxxabcxxxabcxxx".replace(/abc/g, "def"));
-assertEquals("o-o-oofo-ofo", "ofooofoooofofooofo".replace(/foo/g, "-"));
-assertEquals("deded", "deded".replace(/x/g, "-"));
-assertEquals("-a-b-c-d-e-f-", "abcdef".replace(new RegExp("", "g"), "-"));
-
-CheckMatch(/a(.)/, "xyzzyabxyzzzyacxyzzy", [[5, 2], [6, 1]]);
-CheckMatch(/a(.)/g, "xyzzyabxyzzyacxyzzy", [[5, 2], [12, 2]]);
-
-CheckMatch(/a|(?:)/g, "aba", [[0, 1], [1, 0], [2, 1], [3, 0]]);
-CheckMatch(/a|(?:)/g, "baba", [[0, 0], [1, 1], [2, 0], [3, 1], [4, 0]]);
-CheckMatch(/a|(?:)/g, "bab", [[0, 0], [1, 1], [2, 0], [3, 0]]); \ No newline at end of file
diff --git a/src/3rdparty/v8/test/mjsunit/regexp-lookahead.js b/src/3rdparty/v8/test/mjsunit/regexp-lookahead.js
deleted file mode 100644
index 1188b56..0000000
--- a/src/3rdparty/v8/test/mjsunit/regexp-lookahead.js
+++ /dev/null
@@ -1,166 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Tests captures in positive and negative look-ahead in regular expressions.
-
-function stringEscape(string) {
- // Converts string to source literal.
- return '"' + string.replace(/["\\]/g, "\\$1") + '"';
-}
-
-function testRE(re, input, expected_result) {
- var testName = re + ".test(" + stringEscape(input) +")";
- if (expected_result) {
- assertTrue(re.test(input), testName);
- } else {
- assertFalse(re.test(input), testName);
- }
-}
-
-function execRE(re, input, expected_result) {
- var testName = re + ".exec('" + stringEscape(input) +"')";
- assertEquals(expected_result, re.exec(input), testName);
-}
-
-// Test of simple positive lookahead.
-
-var re = /^(?=a)/;
-testRE(re, "a", true);
-testRE(re, "b", false);
-execRE(re, "a", [""]);
-
-re = /^(?=\woo)f\w/;
-testRE(re, "foo", true);
-testRE(re, "boo", false);
-testRE(re, "fao", false);
-testRE(re, "foa", false);
-execRE(re, "foo", ["fo"]);
-
-re = /(?=\w).(?=\W)/;
-testRE(re, ".a! ", true);
-testRE(re, ".! ", false);
-testRE(re, ".ab! ", true);
-execRE(re, ".ab! ", ["b"]);
-
-re = /(?=f(?=[^f]o))../;
-testRE(re, ", foo!", true);
-testRE(re, ", fo!", false);
-testRE(re, ", ffo", false);
-execRE(re, ", foo!", ["fo"]);
-
-// Positive lookahead with captures.
-re = /^[^\'\"]*(?=([\'\"])).*\1(\w+)\1/;
-testRE(re, " 'foo' ", true);
-testRE(re, ' "foo" ', true);
-testRE(re, " \" 'foo' ", false);
-testRE(re, " ' \"foo\" ", false);
-testRE(re, " 'foo\" ", false);
-testRE(re, " \"foo' ", false);
-execRE(re, " 'foo' ", [" 'foo'", "'", "foo"]);
-execRE(re, ' "foo" ', [' "foo"', '"', 'foo']);
-
-// Captures are cleared on backtrack past the look-ahead.
-re = /^(?:(?=(.))a|b)\1$/;
-testRE(re, "aa", true);
-testRE(re, "b", true);
-testRE(re, "bb", false);
-testRE(re, "a", false);
-execRE(re, "aa", ["aa", "a"]);
-execRE(re, "b", ["b", undefined]);
-
-re = /^(?=(.)(?=(.)\1\2)\2\1)\1\2/;
-testRE(re, "abab", true);
-testRE(re, "ababxxxxxxxx", true);
-testRE(re, "aba", false);
-execRE(re, "abab", ["ab", "a", "b"]);
-
-re = /^(?:(?=(.))a|b|c)$/;
-testRE(re, "a", true);
-testRE(re, "b", true);
-testRE(re, "c", true);
-testRE(re, "d", false);
-execRE(re, "a", ["a", "a"]);
-execRE(re, "b", ["b", undefined]);
-execRE(re, "c", ["c", undefined]);
-
-execRE(/^(?=(b))b/, "b", ["b", "b"]);
-execRE(/^(?:(?=(b))|a)b/, "ab", ["ab", undefined]);
-execRE(/^(?:(?=(b)(?:(?=(c))|d))|)bd/, "bd", ["bd", "b", undefined]);
-
-
-
-// Test of Negative Look-Ahead.
-
-re = /(?!x)./;
-testRE(re, "y", true);
-testRE(re, "x", false);
-execRE(re, "y", ["y"]);
-
-re = /(?!(\d))|\d/;
-testRE(re, "4", true);
-execRE(re, "4", ["4", undefined]);
-execRE(re, "x", ["", undefined]);
-
-
-// Test mixed nested look-ahead with captures.
-
-re = /^(?=(x)(?=(y)))/;
-testRE(re, "xy", true);
-testRE(re, "xz", false);
-execRE(re, "xy", ["", "x", "y"]);
-
-re = /^(?!(x)(?!(y)))/;
-testRE(re, "xy", true);
-testRE(re, "xz", false);
-execRE(re, "xy", ["", undefined, undefined]);
-
-re = /^(?=(x)(?!(y)))/;
-testRE(re, "xz", true);
-testRE(re, "xy", false)
-execRE(re, "xz", ["", "x", undefined]);
-
-re = /^(?!(x)(?=(y)))/;
-testRE(re, "xz", true);
-testRE(re, "xy", false);
-execRE(re, "xz", ["", undefined, undefined]);
-
-re = /^(?=(x)(?!(y)(?=(z))))/;
-testRE(re, "xaz", true);
-testRE(re, "xya", true);
-testRE(re, "xyz", false);
-testRE(re, "a", false);
-execRE(re, "xaz", ["", "x", undefined, undefined]);
-execRE(re, "xya", ["", "x", undefined, undefined]);
-
-re = /^(?!(x)(?=(y)(?!(z))))/;
-testRE(re, "a", true);
-testRE(re, "xa", true);
-testRE(re, "xyz", true);
-testRE(re, "xya", false);
-execRE(re, "a", ["", undefined, undefined, undefined]);
-execRE(re, "xa", ["", undefined, undefined, undefined]);
-execRE(re, "xyz", ["", undefined, undefined, undefined]);
diff --git a/src/3rdparty/v8/test/mjsunit/regexp-loop-capture.js b/src/3rdparty/v8/test/mjsunit/regexp-loop-capture.js
deleted file mode 100644
index 9a0c99c..0000000
--- a/src/3rdparty/v8/test/mjsunit/regexp-loop-capture.js
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-assertEquals(["abc",undefined,undefined,"c"], /(?:(a)|(b)|(c))+/.exec("abc"));
-assertEquals(["ab",undefined], /(?:(a)|b)*/.exec("ab"));
diff --git a/src/3rdparty/v8/test/mjsunit/regexp-multiline-stack-trace.js b/src/3rdparty/v8/test/mjsunit/regexp-multiline-stack-trace.js
deleted file mode 100644
index fc248ef..0000000
--- a/src/3rdparty/v8/test/mjsunit/regexp-multiline-stack-trace.js
+++ /dev/null
@@ -1,116 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// The flags below are to test the trace-calls functionality and the
-// preallocated meessage memory.
-// Flags: --trace-calls --preallocate-message-memory
-
-/**
- * @fileoverview Check that various regexp constructs work as intended.
- * Particularly those regexps that use ^ and $.
- */
-
-assertTrue(/^bar/.test("bar"));
-assertTrue(/^bar/.test("bar\nfoo"));
-assertFalse(/^bar/.test("foo\nbar"));
-assertTrue(/^bar/m.test("bar"));
-assertTrue(/^bar/m.test("bar\nfoo"));
-assertTrue(/^bar/m.test("foo\nbar"));
-
-assertTrue(/bar$/.test("bar"));
-assertFalse(/bar$/.test("bar\nfoo"));
-assertTrue(/bar$/.test("foo\nbar"));
-assertTrue(/bar$/m.test("bar"));
-assertTrue(/bar$/m.test("bar\nfoo"));
-assertTrue(/bar$/m.test("foo\nbar"));
-
-assertFalse(/^bxr/.test("bar"));
-assertFalse(/^bxr/.test("bar\nfoo"));
-assertFalse(/^bxr/m.test("bar"));
-assertFalse(/^bxr/m.test("bar\nfoo"));
-assertFalse(/^bxr/m.test("foo\nbar"));
-
-assertFalse(/bxr$/.test("bar"));
-assertFalse(/bxr$/.test("foo\nbar"));
-assertFalse(/bxr$/m.test("bar"));
-assertFalse(/bxr$/m.test("bar\nfoo"));
-assertFalse(/bxr$/m.test("foo\nbar"));
-
-
-assertTrue(/^.*$/.test(""));
-assertTrue(/^.*$/.test("foo"));
-assertFalse(/^.*$/.test("\n"));
-assertTrue(/^.*$/m.test("\n"));
-
-assertTrue(/^[\s]*$/.test(" "));
-assertTrue(/^[\s]*$/.test("\n"));
-
-assertTrue(/^[^]*$/.test(""));
-assertTrue(/^[^]*$/.test("foo"));
-assertTrue(/^[^]*$/.test("\n"));
-
-assertTrue(/^([()\s]|.)*$/.test("()\n()"));
-assertTrue(/^([()\n]|.)*$/.test("()\n()"));
-assertFalse(/^([()]|.)*$/.test("()\n()"));
-assertTrue(/^([()]|.)*$/m.test("()\n()"));
-assertTrue(/^([()]|.)*$/m.test("()\n"));
-assertTrue(/^[()]*$/m.test("()\n."));
-
-assertTrue(/^[\].]*$/.test("...]..."));
-
-
-function check_case(lc, uc) {
- var a = new RegExp("^" + lc + "$");
- assertFalse(a.test(uc));
- a = new RegExp("^" + lc + "$", "i");
- assertTrue(a.test(uc));
-
- var A = new RegExp("^" + uc + "$");
- assertFalse(A.test(lc));
- A = new RegExp("^" + uc + "$", "i");
- assertTrue(A.test(lc));
-
- a = new RegExp("^[" + lc + "]$");
- assertFalse(a.test(uc));
- a = new RegExp("^[" + lc + "]$", "i");
- assertTrue(a.test(uc));
-
- A = new RegExp("^[" + uc + "]$");
- assertFalse(A.test(lc));
- A = new RegExp("^[" + uc + "]$", "i");
- assertTrue(A.test(lc));
-}
-
-
-check_case("a", "A");
-// Aring
-check_case(String.fromCharCode(229), String.fromCharCode(197));
-// Russian G
-check_case(String.fromCharCode(0x413), String.fromCharCode(0x433));
-
-
-assertThrows("a = new RegExp('[z-a]');");
diff --git a/src/3rdparty/v8/test/mjsunit/regexp-multiline.js b/src/3rdparty/v8/test/mjsunit/regexp-multiline.js
deleted file mode 100644
index 32edf25..0000000
--- a/src/3rdparty/v8/test/mjsunit/regexp-multiline.js
+++ /dev/null
@@ -1,112 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-/**
- * @fileoverview Check that various regexp constructs work as intended.
- * Particularly those regexps that use ^ and $.
- */
-
-assertTrue(/^bar/.test("bar"));
-assertTrue(/^bar/.test("bar\nfoo"));
-assertFalse(/^bar/.test("foo\nbar"));
-assertTrue(/^bar/m.test("bar"));
-assertTrue(/^bar/m.test("bar\nfoo"));
-assertTrue(/^bar/m.test("foo\nbar"));
-
-assertTrue(/bar$/.test("bar"));
-assertFalse(/bar$/.test("bar\nfoo"));
-assertTrue(/bar$/.test("foo\nbar"));
-assertTrue(/bar$/m.test("bar"));
-assertTrue(/bar$/m.test("bar\nfoo"));
-assertTrue(/bar$/m.test("foo\nbar"));
-
-assertFalse(/^bxr/.test("bar"));
-assertFalse(/^bxr/.test("bar\nfoo"));
-assertFalse(/^bxr/m.test("bar"));
-assertFalse(/^bxr/m.test("bar\nfoo"));
-assertFalse(/^bxr/m.test("foo\nbar"));
-
-assertFalse(/bxr$/.test("bar"));
-assertFalse(/bxr$/.test("foo\nbar"));
-assertFalse(/bxr$/m.test("bar"));
-assertFalse(/bxr$/m.test("bar\nfoo"));
-assertFalse(/bxr$/m.test("foo\nbar"));
-
-
-assertTrue(/^.*$/.test(""));
-assertTrue(/^.*$/.test("foo"));
-assertFalse(/^.*$/.test("\n"));
-assertTrue(/^.*$/m.test("\n"));
-
-assertTrue(/^[\s]*$/.test(" "));
-assertTrue(/^[\s]*$/.test("\n"));
-
-assertTrue(/^[^]*$/.test(""));
-assertTrue(/^[^]*$/.test("foo"));
-assertTrue(/^[^]*$/.test("\n"));
-
-assertTrue(/^([()\s]|.)*$/.test("()\n()"));
-assertTrue(/^([()\n]|.)*$/.test("()\n()"));
-assertFalse(/^([()]|.)*$/.test("()\n()"));
-assertTrue(/^([()]|.)*$/m.test("()\n()"));
-assertTrue(/^([()]|.)*$/m.test("()\n"));
-assertTrue(/^[()]*$/m.test("()\n."));
-
-assertTrue(/^[\].]*$/.test("...]..."));
-
-
-function check_case(lc, uc) {
- var a = new RegExp("^" + lc + "$");
- assertFalse(a.test(uc));
- a = new RegExp("^" + lc + "$", "i");
- assertTrue(a.test(uc));
-
- var A = new RegExp("^" + uc + "$");
- assertFalse(A.test(lc));
- A = new RegExp("^" + uc + "$", "i");
- assertTrue(A.test(lc));
-
- a = new RegExp("^[" + lc + "]$");
- assertFalse(a.test(uc));
- a = new RegExp("^[" + lc + "]$", "i");
- assertTrue(a.test(uc));
-
- A = new RegExp("^[" + uc + "]$");
- assertFalse(A.test(lc));
- A = new RegExp("^[" + uc + "]$", "i");
- assertTrue(A.test(lc));
-}
-
-
-check_case("a", "A");
-// Aring
-check_case(String.fromCharCode(229), String.fromCharCode(197));
-// Russian G
-check_case(String.fromCharCode(0x413), String.fromCharCode(0x433));
-
-
-assertThrows("a = new RegExp('[z-a]');");
diff --git a/src/3rdparty/v8/test/mjsunit/regexp-results-cache.js b/src/3rdparty/v8/test/mjsunit/regexp-results-cache.js
deleted file mode 100644
index 7ee8c3f..0000000
--- a/src/3rdparty/v8/test/mjsunit/regexp-results-cache.js
+++ /dev/null
@@ -1,78 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Long string to trigger caching.
-var string =
-"Friends, Romans, countrymen, lend me your ears! \
- I come to bury Caesar, not to praise him. \
- The evil that men do lives after them, \
- The good is oft interred with their bones; \
- So let it be with Caesar. The noble Brutus \
- Hath told you Caesar was ambitious; \
- If it were so, it was a grievous fault, \
- And grievously hath Caesar answer'd it. \
- Here, under leave of Brutus and the rest- \
- For Brutus is an honorable man; \
- So are they all, all honorable men- \
- Come I to speak in Caesar's funeral. \
- He was my friend, faithful and just to me; \
- But Brutus says he was ambitious, \
- And Brutus is an honorable man. \
- He hath brought many captives home to Rome, \
- Whose ransoms did the general coffers fill. \
- Did this in Caesar seem ambitious? \
- When that the poor have cried, Caesar hath wept; \
- Ambition should be made of sterner stuff: \
- Yet Brutus says he was ambitious, \
- And Brutus is an honorable man. \
- You all did see that on the Lupercal \
- I thrice presented him a kingly crown, \
- Which he did thrice refuse. Was this ambition? \
- Yet Brutus says he was ambitious, \
- And sure he is an honorable man. \
- I speak not to disprove what Brutus spoke, \
- But here I am to speak what I do know. \
- You all did love him once, not without cause; \
- What cause withholds you then to mourn for him? \
- O judgement, thou art fled to brutish beasts, \
- And men have lost their reason. Bear with me; \
- My heart is in the coffin there with Caesar, \
- And I must pause till it come back to me.";
-
-var replaced = string.replace(/\b\w+\b/g, function() { return "foo"; });
-for (var i = 0; i < 3; i++) {
- assertEquals(replaced,
- string.replace(/\b\w+\b/g, function() { return "foo"; }));
-}
-
-// Check that the result is in a COW array.
-var words = string.split(" ");
-assertEquals("Friends,", words[0]);
-words[0] = "Enemies,";
-words = string.split(" ");
-assertEquals("Friends,", words[0]);
-
diff --git a/src/3rdparty/v8/test/mjsunit/regexp-standalones.js b/src/3rdparty/v8/test/mjsunit/regexp-standalones.js
deleted file mode 100644
index 4699754..0000000
--- a/src/3rdparty/v8/test/mjsunit/regexp-standalones.js
+++ /dev/null
@@ -1,78 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-/* Many of the Mozilla regexp tests used 'toSource' to test their
- * results. Since we don't currently support toSource, those tests
- * are disabled and standalone versions are included here.
- */
-
-// Tests from ecma_3/RegExp/regress-78156.js
-var string = 'aaa\n789\r\nccc\r\n345';
-var pattern = /^\d/gm;
-var result = string.match(pattern);
-assertEquals(2, result.length, "1");
-assertEquals('7', result[0], "2");
-assertEquals('3', result[1], "3");
-
-pattern = /\d$/gm;
-result = string.match(pattern);
-assertEquals(2, result.length, "4");
-assertEquals('9', result[0], "5");
-assertEquals('5', result[1], "6");
-
-string = 'aaa\n789\r\nccc\r\nddd';
-pattern = /^\d/gm;
-result = string.match(pattern);
-assertEquals(1, result.length, "7");
-assertEquals('7', result[0], "8");
-
-pattern = /\d$/gm;
-result = string.match(pattern);
-assertEquals(1, result.length, "9");
-assertEquals('9', result[0], "10");
-
-// Tests from ecma_3/RegExp/regress-72964.js
-pattern = /[\S]+/;
-string = '\u00BF\u00CD\u00BB\u00A7';
-result = string.match(pattern);
-assertEquals(1, result.length, "11");
-assertEquals(string, result[0], "12");
-
-string = '\u00BF\u00CD \u00BB\u00A7';
-result = string.match(pattern);
-assertEquals(1, result.length, "13");
-assertEquals('\u00BF\u00CD', result[0], "14");
-
-string = '\u4e00\uac00\u4e03\u4e00';
-result = string.match(pattern);
-assertEquals(1, result.length, "15");
-assertEquals(string, result[0], "16");
-
-string = '\u4e00\uac00 \u4e03\u4e00';
-result = string.match(pattern);
-assertEquals(1, result.length, "17");
-assertEquals('\u4e00\uac00', result[0], "18");
diff --git a/src/3rdparty/v8/test/mjsunit/regexp-static.js b/src/3rdparty/v8/test/mjsunit/regexp-static.js
deleted file mode 100644
index 8f283f6..0000000
--- a/src/3rdparty/v8/test/mjsunit/regexp-static.js
+++ /dev/null
@@ -1,161 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test the (deprecated as of JS 1.5) properties of the RegExp function.
-var re = /((\d+)\.(\d+))/;
-var s = 'abc123.456def';
-
-re.exec(s);
-
-assertEquals(s, RegExp.input);
-assertEquals('123.456', RegExp.lastMatch);
-assertEquals('456', RegExp.lastParen);
-assertEquals('abc', RegExp.leftContext);
-assertEquals('def', RegExp.rightContext);
-
-assertEquals(s, RegExp['$_']);
-assertEquals('123.456', RegExp['$&']);
-assertEquals('456', RegExp['$+']);
-assertEquals('abc', RegExp['$`']);
-assertEquals('def', RegExp["$'"]);
-
-assertEquals('123.456', RegExp['$1']);
-assertEquals('123', RegExp['$2']);
-assertEquals('456', RegExp['$3']);
-for (var i = 4; i < 10; ++i) {
- assertEquals('', RegExp['$' + i]);
-}
-
-// They should be read only.
-RegExp['$1'] = 'fisk';
-assertEquals('123.456', RegExp['$1']);
-
-// String.prototype.match and String.prototype.replace (when given a
-// regexp) and also RegExp.prototype.test should all behave as if
-// RegExp.prototype.exec were called.
-s = 'ghi789.012jkl';
-s.match(re);
-assertEquals(s, RegExp.input);
-assertEquals('789.012', RegExp.lastMatch);
-assertEquals('012', RegExp.lastParen);
-assertEquals('ghi', RegExp.leftContext);
-assertEquals('jkl', RegExp.rightContext);
-assertEquals(s, RegExp['$_']);
-assertEquals('789.012', RegExp['$&']);
-assertEquals('012', RegExp['$+']);
-assertEquals('ghi', RegExp['$`']);
-assertEquals('jkl', RegExp["$'"]);
-assertEquals('789.012', RegExp['$1']);
-assertEquals('789', RegExp['$2']);
-assertEquals('012', RegExp['$3']);
-for (var i = 4; i < 10; ++i) {
- assertEquals('', RegExp['$' + i]);
-}
-
-s = 'abc123.456def';
-s.replace(re, 'whocares');
-assertEquals(s, RegExp.input);
-assertEquals('123.456', RegExp.lastMatch);
-assertEquals('456', RegExp.lastParen);
-assertEquals('abc', RegExp.leftContext);
-assertEquals('def', RegExp.rightContext);
-assertEquals(s, RegExp['$_']);
-assertEquals('123.456', RegExp['$&']);
-assertEquals('456', RegExp['$+']);
-assertEquals('abc', RegExp['$`']);
-assertEquals('def', RegExp["$'"]);
-assertEquals('123.456', RegExp['$1']);
-assertEquals('123', RegExp['$2']);
-assertEquals('456', RegExp['$3']);
-for (var i = 4; i < 10; ++i) {
- assertEquals('', RegExp['$' + i]);
-}
-
-s = 'ghi789.012jkl';
-re.test(s);
-assertEquals(s, RegExp.input);
-assertEquals('789.012', RegExp.lastMatch);
-assertEquals('012', RegExp.lastParen);
-assertEquals('ghi', RegExp.leftContext);
-assertEquals('jkl', RegExp.rightContext);
-assertEquals(s, RegExp['$_']);
-assertEquals('789.012', RegExp['$&']);
-assertEquals('012', RegExp['$+']);
-assertEquals('ghi', RegExp['$`']);
-assertEquals('jkl', RegExp["$'"]);
-assertEquals('789.012', RegExp['$1']);
-assertEquals('789', RegExp['$2']);
-assertEquals('012', RegExp['$3']);
-for (var i = 4; i < 10; ++i) {
- assertEquals('', RegExp['$' + i]);
-}
-
-// String.prototype.replace must interleave matching and replacing when a
-// global regexp is matched and replaced with the result of a function, in
-// case the function uses the static properties of the regexp constructor.
-re = /(.)/g;
-function f() { return RegExp.$1; };
-assertEquals('abcd', 'abcd'.replace(re, f));
-
-// lastParen where the last parenthesis didn't match.
-assertEquals(["foo",undefined], /foo(?:a(x))?/.exec("foobx"),
- "lastParen setup");
-assertEquals("", RegExp.lastParen, "lastParen");
-
-// The same test for $1 to $9.
-for (var i = 1; i <= 9; i++) {
- var haystack = "foo";
- var re_text = "^foo";
- for (var j = 0; j < i - 1; j++) {
- haystack += "x";
- re_text += "(x)";
- }
- re_text += "(?:a(x))?";
- haystack += "bx";
- var re = new RegExp(re_text);
- assertTrue(re.test(haystack), "$" + i + " setup");
- for (var j = 1; j < i - 1; j++) {
- assertEquals("x", RegExp['$' + j], "$" + j + " in $" + i + " setup");
- }
- assertEquals("", RegExp['$' + (i)], "$" + i);
-}
-
-RegExp.multiline = "foo";
-assertTrue(typeof RegExp.multiline == typeof Boolean(), "RegExp.multiline coerces values to booleans");
-RegExp.input = Number();
-assertTrue(typeof RegExp.input == typeof String(), "RegExp.input coerces values to booleans");
-
-// Ensure that we save the correct string as the last subject when
-// we do a match on a sliced string (the top one not the underlying).
-var foo = "lsdfj sldkfj sdklfj læsdfjl sdkfjlsdk fjsdl fjsdljskdj flsj flsdkj flskd regexp: /foobar/\nldkfj sdlkfj sdkl";
-assertTrue(/^([a-z]+): (.*)/.test(foo.substring(foo.indexOf("regexp:"))), "regexp: setup");
-assertEquals("regexp", RegExp.$1, "RegExp.$1");
-
-
-// Check that calling with no argument is the same as calling with undefined.
-assertTrue(/^undefined$/.test());
-assertEquals(["undefined"], /^undefined$/.exec());
diff --git a/src/3rdparty/v8/test/mjsunit/regexp-string-methods.js b/src/3rdparty/v8/test/mjsunit/regexp-string-methods.js
deleted file mode 100644
index 56604a6..0000000
--- a/src/3rdparty/v8/test/mjsunit/regexp-string-methods.js
+++ /dev/null
@@ -1,51 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Regexp shouldn't use String.prototype.slice()
-var s = new String("foo");
-assertEquals("f", s.slice(0,1));
-String.prototype.slice = function() { return "x"; };
-assertEquals("x", s.slice(0,1));
-assertEquals(["g"], /g/.exec("gg"));
-
-// Regexp shouldn't use String.prototype.charAt()
-var f1 = new RegExp("f", "i");
-assertEquals(["F"], f1.exec("F"));
-assertEquals("f", "foo".charAt(0));
-String.prototype.charAt = function(idx) { return 'g'; };
-assertEquals("g", "foo".charAt(0));
-var f2 = new RegExp("[g]", "i");
-assertEquals(["G"], f2.exec("G"));
-assertTrue(f2.ignoreCase);
-
-// On the other hand test is defined in a semi-coherent way as a call to exec.
-// 15.10.6.3
-// We match other browsers in using the original value of RegExp.prototype.exec.
-// I.e., RegExp.prototype.test shouldn't use the current value of
-// RegExp.prototype.exec.
-RegExp.prototype.exec = function(string) { return 'x'; };
-assertFalse(/f/.test('x'));
diff --git a/src/3rdparty/v8/test/mjsunit/regexp.js b/src/3rdparty/v8/test/mjsunit/regexp.js
deleted file mode 100644
index c2d9282..0000000
--- a/src/3rdparty/v8/test/mjsunit/regexp.js
+++ /dev/null
@@ -1,718 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function testEscape(str, regex) {
- assertEquals("foo:bar:baz", str.split(regex).join(":"));
-}
-
-testEscape("foo\nbar\nbaz", /\n/);
-testEscape("foo bar baz", /\s/);
-testEscape("foo\tbar\tbaz", /\s/);
-testEscape("foo-bar-baz", /\u002D/);
-
-// Test containing null char in regexp.
-var s = '[' + String.fromCharCode(0) + ']';
-var re = new RegExp(s);
-assertEquals(s.match(re).length, 1);
-assertEquals(s.match(re)[0], String.fromCharCode(0));
-
-// Test strings containing all line separators
-s = 'aA\nbB\rcC\r\ndD\u2028eE\u2029fF';
-re = /^./gm; // any non-newline character at the beginning of a line
-var result = s.match(re);
-assertEquals(result.length, 6);
-assertEquals(result[0], 'a');
-assertEquals(result[1], 'b');
-assertEquals(result[2], 'c');
-assertEquals(result[3], 'd');
-assertEquals(result[4], 'e');
-assertEquals(result[5], 'f');
-
-re = /.$/gm; // any non-newline character at the end of a line
-result = s.match(re);
-assertEquals(result.length, 6);
-assertEquals(result[0], 'A');
-assertEquals(result[1], 'B');
-assertEquals(result[2], 'C');
-assertEquals(result[3], 'D');
-assertEquals(result[4], 'E');
-assertEquals(result[5], 'F');
-
-re = /^[^]/gm; // *any* character at the beginning of a line
-result = s.match(re);
-assertEquals(result.length, 7);
-assertEquals(result[0], 'a');
-assertEquals(result[1], 'b');
-assertEquals(result[2], 'c');
-assertEquals(result[3], '\n');
-assertEquals(result[4], 'd');
-assertEquals(result[5], 'e');
-assertEquals(result[6], 'f');
-
-re = /[^]$/gm; // *any* character at the end of a line
-result = s.match(re);
-assertEquals(result.length, 7);
-assertEquals(result[0], 'A');
-assertEquals(result[1], 'B');
-assertEquals(result[2], 'C');
-assertEquals(result[3], '\r');
-assertEquals(result[4], 'D');
-assertEquals(result[5], 'E');
-assertEquals(result[6], 'F');
-
-// Some tests from the Mozilla tests, where our behavior used to differ from
-// SpiderMonkey.
-// From ecma_3/RegExp/regress-334158.js
-assertTrue(/\ca/.test( "\x01" ));
-assertFalse(/\ca/.test( "\\ca" ));
-assertFalse(/\ca/.test( "ca" ));
-assertTrue(/\c[a/]/.test( "\\ca" ));
-assertTrue(/\c[a/]/.test( "\\c/" ));
-
-// Test \c in character class
-re = /^[\cM]$/;
-assertTrue(re.test("\r"));
-assertFalse(re.test("M"));
-assertFalse(re.test("c"));
-assertFalse(re.test("\\"));
-assertFalse(re.test("\x03")); // I.e., read as \cc
-
-re = /^[\c]]$/;
-assertTrue(re.test("c]"));
-assertTrue(re.test("\\]"));
-assertFalse(re.test("\x1d")); // ']' & 0x1f
-assertFalse(re.test("\x03]")); // I.e., read as \cc
-
-re = /^[\c1]$/; // Digit control characters are masked in character classes.
-assertTrue(re.test("\x11"));
-assertFalse(re.test("\\"));
-assertFalse(re.test("c"));
-assertFalse(re.test("1"));
-
-re = /^[\c_]$/; // Underscore control character is masked in character classes.
-assertTrue(re.test("\x1f"));
-assertFalse(re.test("\\"));
-assertFalse(re.test("c"));
-assertFalse(re.test("_"));
-
-re = /^[\c$]$/; // Other characters are interpreted literally.
-assertFalse(re.test("\x04"));
-assertTrue(re.test("\\"));
-assertTrue(re.test("c"));
-assertTrue(re.test("$"));
-
-assertTrue(/^[Z-\c-e]*$/.test("Z[\\cde"));
-
-// Test that we handle \s and \S correctly on special Unicode characters.
-re = /\s/;
-assertTrue(re.test("\u2028"));
-assertTrue(re.test("\u2029"));
-assertTrue(re.test("\uFEFF"));
-
-re = /\S/;
-assertFalse(re.test("\u2028"));
-assertFalse(re.test("\u2029"));
-assertFalse(re.test("\uFEFF"));
-
-// Test that we handle \s and \S correctly inside some bizarre
-// character classes.
-re = /[\s-:]/;
-assertTrue(re.test('-'));
-assertTrue(re.test(':'));
-assertTrue(re.test(' '));
-assertTrue(re.test('\t'));
-assertTrue(re.test('\n'));
-assertFalse(re.test('a'));
-assertFalse(re.test('Z'));
-
-re = /[\S-:]/;
-assertTrue(re.test('-'));
-assertTrue(re.test(':'));
-assertFalse(re.test(' '));
-assertFalse(re.test('\t'));
-assertFalse(re.test('\n'));
-assertTrue(re.test('a'));
-assertTrue(re.test('Z'));
-
-re = /[^\s-:]/;
-assertFalse(re.test('-'));
-assertFalse(re.test(':'));
-assertFalse(re.test(' '));
-assertFalse(re.test('\t'));
-assertFalse(re.test('\n'));
-assertTrue(re.test('a'));
-assertTrue(re.test('Z'));
-
-re = /[^\S-:]/;
-assertFalse(re.test('-'));
-assertFalse(re.test(':'));
-assertTrue(re.test(' '));
-assertTrue(re.test('\t'));
-assertTrue(re.test('\n'));
-assertFalse(re.test('a'));
-assertFalse(re.test('Z'));
-
-re = /[\s]/;
-assertFalse(re.test('-'));
-assertFalse(re.test(':'));
-assertTrue(re.test(' '));
-assertTrue(re.test('\t'));
-assertTrue(re.test('\n'));
-assertFalse(re.test('a'));
-assertFalse(re.test('Z'));
-
-re = /[^\s]/;
-assertTrue(re.test('-'));
-assertTrue(re.test(':'));
-assertFalse(re.test(' '));
-assertFalse(re.test('\t'));
-assertFalse(re.test('\n'));
-assertTrue(re.test('a'));
-assertTrue(re.test('Z'));
-
-re = /[\S]/;
-assertTrue(re.test('-'));
-assertTrue(re.test(':'));
-assertFalse(re.test(' '));
-assertFalse(re.test('\t'));
-assertFalse(re.test('\n'));
-assertTrue(re.test('a'));
-assertTrue(re.test('Z'));
-
-re = /[^\S]/;
-assertFalse(re.test('-'));
-assertFalse(re.test(':'));
-assertTrue(re.test(' '));
-assertTrue(re.test('\t'));
-assertTrue(re.test('\n'));
-assertFalse(re.test('a'));
-assertFalse(re.test('Z'));
-
-re = /[\s\S]/;
-assertTrue(re.test('-'));
-assertTrue(re.test(':'));
-assertTrue(re.test(' '));
-assertTrue(re.test('\t'));
-assertTrue(re.test('\n'));
-assertTrue(re.test('a'));
-assertTrue(re.test('Z'));
-
-re = /[^\s\S]/;
-assertFalse(re.test('-'));
-assertFalse(re.test(':'));
-assertFalse(re.test(' '));
-assertFalse(re.test('\t'));
-assertFalse(re.test('\n'));
-assertFalse(re.test('a'));
-assertFalse(re.test('Z'));
-
-// First - is treated as range operator, second as literal minus.
-// This follows the specification in parsing, but doesn't throw on
-// the \s at the beginning of the range.
-re = /[\s-0-9]/;
-assertTrue(re.test(' '));
-assertTrue(re.test('\xA0'));
-assertTrue(re.test('-'));
-assertTrue(re.test('0'));
-assertTrue(re.test('9'));
-assertFalse(re.test('1'));
-
-// Test beginning and end of line assertions with or without the
-// multiline flag.
-re = /^\d+/;
-assertFalse(re.test("asdf\n123"));
-re = /^\d+/m;
-assertTrue(re.test("asdf\n123"));
-
-re = /\d+$/;
-assertFalse(re.test("123\nasdf"));
-re = /\d+$/m;
-assertTrue(re.test("123\nasdf"));
-
-// Test that empty matches are handled correctly for multiline global
-// regexps.
-re = /^(.*)/mg;
-assertEquals(3, "a\n\rb".match(re).length);
-assertEquals("*a\n*b\r*c\n*\r*d\r*\n*e", "a\nb\rc\n\rd\r\ne".replace(re, "*$1"));
-
-// Test that empty matches advance one character
-re = new RegExp("", "g");
-assertEquals("xAx", "A".replace(re, "x"));
-assertEquals(3, String.fromCharCode(161).replace(re, "x").length);
-
-// Test that we match the KJS behavior with regard to undefined constructor
-// arguments:
-re = new RegExp();
-// KJS actually shows this as '//'. Here we match the Firefox behavior (ie,
-// giving a syntactically legal regexp literal).
-assertEquals('/(?:)/', re.toString());
-re = new RegExp(void 0);
-assertEquals('/(?:)/', re.toString());
-re.compile();
-assertEquals('/(?:)/', re.toString());
-re.compile(void 0);
-assertEquals('/undefined/', re.toString());
-
-
-// Check for lazy RegExp literal creation
-function lazyLiteral(doit) {
- if (doit) return "".replace(/foo(/gi, "");
- return true;
-}
-
-assertTrue(lazyLiteral(false));
-assertThrows("lazyLiteral(true)");
-
-// Check $01 and $10
-re = new RegExp("(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)");
-assertEquals("t", "123456789t".replace(re, "$10"), "$10");
-assertEquals("15", "123456789t".replace(re, "$15"), "$10");
-assertEquals("1", "123456789t".replace(re, "$01"), "$01");
-assertEquals("$001", "123456789t".replace(re, "$001"), "$001");
-re = new RegExp("foo(.)");
-assertEquals("bar$0", "foox".replace(re, "bar$0"), "$0");
-assertEquals("bar$00", "foox".replace(re, "bar$00"), "$00");
-assertEquals("bar$000", "foox".replace(re, "bar$000"), "$000");
-assertEquals("barx", "foox".replace(re, "bar$01"), "$01 2");
-assertEquals("barx5", "foox".replace(re, "bar$15"), "$15");
-
-assertFalse(/()foo$\1/.test("football"), "football1");
-assertFalse(/foo$(?=ball)/.test("football"), "football2");
-assertFalse(/foo$(?!bar)/.test("football"), "football3");
-assertTrue(/()foo$\1/.test("foo"), "football4");
-assertTrue(/foo$(?=(ball)?)/.test("foo"), "football5");
-assertTrue(/()foo$(?!bar)/.test("foo"), "football6");
-assertFalse(/(x?)foo$\1/.test("football"), "football7");
-assertFalse(/foo$(?=ball)/.test("football"), "football8");
-assertFalse(/foo$(?!bar)/.test("football"), "football9");
-assertTrue(/(x?)foo$\1/.test("foo"), "football10");
-assertTrue(/foo$(?=(ball)?)/.test("foo"), "football11");
-assertTrue(/foo$(?!bar)/.test("foo"), "football12");
-
-// Check that the back reference has two successors. See
-// BackReferenceNode::PropagateForward.
-assertFalse(/f(o)\b\1/.test('foo'));
-assertTrue(/f(o)\B\1/.test('foo'));
-
-// Back-reference, ignore case:
-// ASCII
-assertEquals("xaAx,a", String(/x(a)\1x/i.exec("xaAx")), "backref-ASCII");
-assertFalse(/x(...)\1/i.test("xaaaaa"), "backref-ASCII-short");
-assertTrue(/x((?:))\1\1x/i.test("xx"), "backref-ASCII-empty");
-assertTrue(/x(?:...|(...))\1x/i.test("xabcx"), "backref-ASCII-uncaptured");
-assertTrue(/x(?:...|(...))\1x/i.test("xabcABCx"), "backref-ASCII-backtrack");
-assertEquals("xaBcAbCABCx,aBc",
- String(/x(...)\1\1x/i.exec("xaBcAbCABCx")),
- "backref-ASCII-twice");
-
-for (var i = 0; i < 128; i++) {
- var testName = "backref-ASCII-char-" + i + "," + (i^0x20);
- var test = /^(.)\1$/i.test(String.fromCharCode(i, i ^ 0x20))
- var c = String.fromCharCode(i);
- if (('A' <= c && c <= 'Z') || ('a' <= c && c <= 'z')) {
- assertTrue(test, testName);
- } else {
- assertFalse(test, testName);
- }
-}
-
-assertFalse(/f(o)$\1/.test('foo'), "backref detects at_end");
-
-// Check decimal escapes doesn't overflow.
-// (Note: \214 is interpreted as octal).
-assertArrayEquals(["\x8c7483648"],
- /\2147483648/.exec("\x8c7483648"),
- "Overflow decimal escape");
-
-
-// Check numbers in quantifiers doesn't overflow and doesn't throw on
-// too large numbers.
-assertFalse(/a{111111111111111111111111111111111111111111111}/.test('b'),
- "overlarge1");
-assertFalse(/a{999999999999999999999999999999999999999999999}/.test('b'),
- "overlarge2");
-assertFalse(/a{1,111111111111111111111111111111111111111111111}/.test('b'),
- "overlarge3");
-assertFalse(/a{1,999999999999999999999999999999999999999999999}/.test('b'),
- "overlarge4");
-assertFalse(/a{2147483648}/.test('b'),
- "overlarge5");
-assertFalse(/a{21474836471}/.test('b'),
- "overlarge6");
-assertFalse(/a{1,2147483648}/.test('b'),
- "overlarge7");
-assertFalse(/a{1,21474836471}/.test('b'),
- "overlarge8");
-assertFalse(/a{2147483648,2147483648}/.test('b'),
- "overlarge9");
-assertFalse(/a{21474836471,21474836471}/.test('b'),
- "overlarge10");
-assertFalse(/a{2147483647}/.test('b'),
- "overlarge11");
-assertFalse(/a{1,2147483647}/.test('b'),
- "overlarge12");
-assertTrue(/a{1,2147483647}/.test('a'),
- "overlarge13");
-assertFalse(/a{2147483647,2147483647}/.test('a'),
- "overlarge14");
-
-
-// Check that we don't read past the end of the string.
-assertFalse(/f/.test('b'));
-assertFalse(/[abc]f/.test('x'));
-assertFalse(/[abc]f/.test('xa'));
-assertFalse(/[abc]</.test('x'));
-assertFalse(/[abc]</.test('xa'));
-assertFalse(/f/i.test('b'));
-assertFalse(/[abc]f/i.test('x'));
-assertFalse(/[abc]f/i.test('xa'));
-assertFalse(/[abc]</i.test('x'));
-assertFalse(/[abc]</i.test('xa'));
-assertFalse(/f[abc]/.test('x'));
-assertFalse(/f[abc]/.test('xa'));
-assertFalse(/<[abc]/.test('x'));
-assertFalse(/<[abc]/.test('xa'));
-assertFalse(/f[abc]/i.test('x'));
-assertFalse(/f[abc]/i.test('xa'));
-assertFalse(/<[abc]/i.test('x'));
-assertFalse(/<[abc]/i.test('xa'));
-
-// Test that merging of quick test masks gets it right.
-assertFalse(/x([0-7]%%x|[0-6]%%y)/.test('x7%%y'), 'qt');
-assertFalse(/()x\1(y([0-7]%%%x|[0-6]%%%y)|dkjasldkas)/.test('xy7%%%y'), 'qt2');
-assertFalse(/()x\1(y([0-7]%%%x|[0-6]%%%y)|dkjasldkas)/.test('xy%%%y'), 'qt3');
-assertFalse(/()x\1y([0-7]%%%x|[0-6]%%%y)/.test('xy7%%%y'), 'qt4');
-assertFalse(/()x\1(y([0-7]%%%x|[0-6]%%%y)|dkjasldkas)/.test('xy%%%y'), 'qt5');
-assertFalse(/()x\1y([0-7]%%%x|[0-6]%%%y)/.test('xy7%%%y'), 'qt6');
-assertFalse(/xy([0-7]%%%x|[0-6]%%%y)/.test('xy7%%%y'), 'qt7');
-assertFalse(/x([0-7]%%%x|[0-6]%%%y)/.test('x7%%%y'), 'qt8');
-
-
-// Don't hang on this one.
-/[^\xfe-\xff]*/.test("");
-
-
-var long = "a";
-for (var i = 0; i < 100000; i++) {
- long = "a?" + long;
-}
-// Don't crash on this one, but maybe throw an exception.
-try {
- RegExp(long).exec("a");
-} catch (e) {
- assertTrue(String(e).indexOf("Stack overflow") >= 0, "overflow");
-}
-
-
-// Test that compile works on modified objects
-var re = /re+/;
-assertEquals("re+", re.source);
-assertFalse(re.global);
-assertFalse(re.ignoreCase);
-assertFalse(re.multiline);
-assertEquals(0, re.lastIndex);
-
-re.compile("ro+", "gim");
-assertEquals("ro+", re.source);
-assertTrue(re.global);
-assertTrue(re.ignoreCase);
-assertTrue(re.multiline);
-assertEquals(0, re.lastIndex);
-
-re.lastIndex = 42;
-re.someOtherProperty = 42;
-re.someDeletableProperty = 42;
-re[37] = 37;
-re[42] = 42;
-
-re.compile("ra+", "i");
-assertEquals("ra+", re.source);
-assertFalse(re.global);
-assertTrue(re.ignoreCase);
-assertFalse(re.multiline);
-assertEquals(0, re.lastIndex);
-
-assertEquals(42, re.someOtherProperty);
-assertEquals(42, re.someDeletableProperty);
-assertEquals(37, re[37]);
-assertEquals(42, re[42]);
-
-re.lastIndex = -1;
-re.someOtherProperty = 37;
-re[42] = 37;
-assertTrue(delete re[37]);
-assertTrue(delete re.someDeletableProperty);
-re.compile("ri+", "gm");
-
-assertEquals("ri+", re.source);
-assertTrue(re.global);
-assertFalse(re.ignoreCase);
-assertTrue(re.multiline);
-assertEquals(0, re.lastIndex);
-assertEquals(37, re.someOtherProperty);
-assertEquals(37, re[42]);
-
-// Test boundary-checks.
-function assertRegExpTest(re, input, test) {
- assertEquals(test, re.test(input), "test:" + re + ":" + input);
-}
-
-assertRegExpTest(/b\b/, "b", true);
-assertRegExpTest(/b\b$/, "b", true);
-assertRegExpTest(/\bb/, "b", true);
-assertRegExpTest(/^\bb/, "b", true);
-assertRegExpTest(/,\b/, ",", false);
-assertRegExpTest(/,\b$/, ",", false);
-assertRegExpTest(/\b,/, ",", false);
-assertRegExpTest(/^\b,/, ",", false);
-
-assertRegExpTest(/b\B/, "b", false);
-assertRegExpTest(/b\B$/, "b", false);
-assertRegExpTest(/\Bb/, "b", false);
-assertRegExpTest(/^\Bb/, "b", false);
-assertRegExpTest(/,\B/, ",", true);
-assertRegExpTest(/,\B$/, ",", true);
-assertRegExpTest(/\B,/, ",", true);
-assertRegExpTest(/^\B,/, ",", true);
-
-assertRegExpTest(/b\b/, "b,", true);
-assertRegExpTest(/b\b/, "ba", false);
-assertRegExpTest(/b\B/, "b,", false);
-assertRegExpTest(/b\B/, "ba", true);
-
-assertRegExpTest(/b\Bb/, "bb", true);
-assertRegExpTest(/b\bb/, "bb", false);
-
-assertRegExpTest(/b\b[,b]/, "bb", false);
-assertRegExpTest(/b\B[,b]/, "bb", true);
-assertRegExpTest(/b\b[,b]/, "b,", true);
-assertRegExpTest(/b\B[,b]/, "b,", false);
-
-assertRegExpTest(/[,b]\bb/, "bb", false);
-assertRegExpTest(/[,b]\Bb/, "bb", true);
-assertRegExpTest(/[,b]\bb/, ",b", true);
-assertRegExpTest(/[,b]\Bb/, ",b", false);
-
-assertRegExpTest(/[,b]\b[,b]/, "bb", false);
-assertRegExpTest(/[,b]\B[,b]/, "bb", true);
-assertRegExpTest(/[,b]\b[,b]/, ",b", true);
-assertRegExpTest(/[,b]\B[,b]/, ",b", false);
-assertRegExpTest(/[,b]\b[,b]/, "b,", true);
-assertRegExpTest(/[,b]\B[,b]/, "b,", false);
-
-// Test that caching of result doesn't share result objects.
-// More iterations increases the chance of hitting a GC.
-for (var i = 0; i < 100; i++) {
- var re = /x(y)z/;
- var res = re.exec("axyzb");
- assertTrue(!!res);
- assertEquals(2, res.length);
- assertEquals("xyz", res[0]);
- assertEquals("y", res[1]);
- assertEquals(1, res.index);
- assertEquals("axyzb", res.input);
- assertEquals(undefined, res.foobar);
-
- res.foobar = "Arglebargle";
- res[3] = "Glopglyf";
- assertEquals("Arglebargle", res.foobar);
-}
-
-// Test that we perform the spec required conversions in the correct order.
-var log;
-var string = "the string";
-var fakeLastIndex = {
- valueOf: function() {
- log.push("li");
- return 0;
- }
- };
-var fakeString = {
- toString: function() {
- log.push("ts");
- return string;
- },
- length: 0
- };
-
-var re = /str/;
-log = [];
-re.lastIndex = fakeLastIndex;
-var result = re.exec(fakeString);
-assertEquals(["str"], result);
-assertEquals(["ts", "li"], log);
-
-// Again, to check if caching interferes.
-log = [];
-re.lastIndex = fakeLastIndex;
-result = re.exec(fakeString);
-assertEquals(["str"], result);
-assertEquals(["ts", "li"], log);
-
-// And one more time, just to be certain.
-log = [];
-re.lastIndex = fakeLastIndex;
-result = re.exec(fakeString);
-assertEquals(["str"], result);
-assertEquals(["ts", "li"], log);
-
-// Now with a global regexp, where lastIndex is actually used.
-re = /str/g;
-log = [];
-re.lastIndex = fakeLastIndex;
-var result = re.exec(fakeString);
-assertEquals(["str"], result);
-assertEquals(["ts", "li"], log);
-
-// Again, to check if caching interferes.
-log = [];
-re.lastIndex = fakeLastIndex;
-result = re.exec(fakeString);
-assertEquals(["str"], result);
-assertEquals(["ts", "li"], log);
-
-// And one more time, just to be certain.
-log = [];
-re.lastIndex = fakeLastIndex;
-result = re.exec(fakeString);
-assertEquals(["str"], result);
-assertEquals(["ts", "li"], log);
-
-
-// Check that properties of RegExp have the correct permissions.
-var re = /x/g;
-var desc = Object.getOwnPropertyDescriptor(re, "global");
-assertEquals(true, desc.value);
-assertEquals(false, desc.configurable);
-assertEquals(false, desc.enumerable);
-assertEquals(false, desc.writable);
-
-desc = Object.getOwnPropertyDescriptor(re, "multiline");
-assertEquals(false, desc.value);
-assertEquals(false, desc.configurable);
-assertEquals(false, desc.enumerable);
-assertEquals(false, desc.writable);
-
-desc = Object.getOwnPropertyDescriptor(re, "ignoreCase");
-assertEquals(false, desc.value);
-assertEquals(false, desc.configurable);
-assertEquals(false, desc.enumerable);
-assertEquals(false, desc.writable);
-
-desc = Object.getOwnPropertyDescriptor(re, "lastIndex");
-assertEquals(0, desc.value);
-assertEquals(false, desc.configurable);
-assertEquals(false, desc.enumerable);
-assertEquals(true, desc.writable);
-
-
-// Check that end-anchored regexps are optimized correctly.
-var re = /(?:a|bc)g$/;
-assertTrue(re.test("ag"));
-assertTrue(re.test("bcg"));
-assertTrue(re.test("abcg"));
-assertTrue(re.test("zimbag"));
-assertTrue(re.test("zimbcg"));
-
-assertFalse(re.test("g"));
-assertFalse(re.test(""));
-
-// Global regexp (non-zero start).
-var re = /(?:a|bc)g$/g;
-assertTrue(re.test("ag"));
-re.lastIndex = 1; // Near start of string.
-assertTrue(re.test("zimbag"));
-re.lastIndex = 6; // At end of string.
-assertFalse(re.test("zimbag"));
-re.lastIndex = 5; // Near end of string.
-assertFalse(re.test("zimbag"));
-re.lastIndex = 4;
-assertTrue(re.test("zimbag"));
-
-// Anchored at both ends.
-var re = /^(?:a|bc)g$/g;
-assertTrue(re.test("ag"));
-re.lastIndex = 1;
-assertFalse(re.test("ag"));
-re.lastIndex = 1;
-assertFalse(re.test("zag"));
-
-// Long max_length of RegExp.
-var re = /VeryLongRegExp!{1,1000}$/;
-assertTrue(re.test("BahoolaVeryLongRegExp!!!!!!"));
-assertFalse(re.test("VeryLongRegExp"));
-assertFalse(re.test("!"));
-
-// End anchor inside disjunction.
-var re = /(?:a$|bc$)/;
-assertTrue(re.test("a"));
-assertTrue(re.test("bc"));
-assertTrue(re.test("abc"));
-assertTrue(re.test("zimzamzumba"));
-assertTrue(re.test("zimzamzumbc"));
-assertFalse(re.test("c"));
-assertFalse(re.test(""));
-
-// Only partially anchored.
-var re = /(?:a|bc$)/;
-assertTrue(re.test("a"));
-assertTrue(re.test("bc"));
-assertEquals(["a"], re.exec("abc"));
-assertEquals(4, re.exec("zimzamzumba").index);
-assertEquals(["bc"], re.exec("zimzomzumbc"));
-assertFalse(re.test("c"));
-assertFalse(re.test(""));
-
-// Valid syntax in ES5.
-re = RegExp("(?:x)*");
-re = RegExp("(x)*");
-
-// Syntax extension relative to ES5, for matching JSC (and ES3).
-// Shouldn't throw.
-re = RegExp("(?=x)*");
-re = RegExp("(?!x)*");
-
-// Should throw. Shouldn't hit asserts in debug mode.
-assertThrows("RegExp('(*)')");
-assertThrows("RegExp('(?:*)')");
-assertThrows("RegExp('(?=*)')");
-assertThrows("RegExp('(?!*)')");
-
-// Test trimmed regular expression for RegExp.test().
-assertTrue(/.*abc/.test("abc"));
-assertFalse(/.*\d+/.test("q"));
-
-// Test that RegExp.prototype.toString() throws TypeError for
-// incompatible receivers (ES5 section 15.10.6 and 15.10.6.4).
-assertThrows("RegExp.prototype.toString.call(null)", TypeError);
-assertThrows("RegExp.prototype.toString.call(0)", TypeError);
-assertThrows("RegExp.prototype.toString.call('')", TypeError);
-assertThrows("RegExp.prototype.toString.call(false)", TypeError);
-assertThrows("RegExp.prototype.toString.call(true)", TypeError);
-assertThrows("RegExp.prototype.toString.call([])", TypeError);
-assertThrows("RegExp.prototype.toString.call({})", TypeError);
-assertThrows("RegExp.prototype.toString.call(function(){})", TypeError);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/bitops-register-alias.js b/src/3rdparty/v8/test/mjsunit/regress/bitops-register-alias.js
deleted file mode 100644
index 389255d..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/bitops-register-alias.js
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that the code generator can cope with left and right being in
-// the same register for bitops.
-function f() { for (var i = 10; i < 100; i++) { return i | i; } }
-assertEquals(10, f());
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-100409.js b/src/3rdparty/v8/test/mjsunit/regress/regress-100409.js
deleted file mode 100644
index c29250f..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-100409.js
+++ /dev/null
@@ -1,55 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-function outer () {
- var val = 0;
-
- function foo () {
- val = 0;
- val;
- var z = false;
- var y = true;
- if (!z) {
- while (z = !z) {
- if (y) val++;
- }
- }
- return val++;
- }
-
- return foo;
-}
-
-
-var foo = outer();
-
-assertEquals(1, foo());
-assertEquals(1, foo());
- %OptimizeFunctionOnNextCall(foo);
-assertEquals(1, foo());
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-100702.js b/src/3rdparty/v8/test/mjsunit/regress/regress-100702.js
deleted file mode 100644
index 46494ab..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-100702.js
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Regression test for correct handling of non-object receiver values
-// passed to built-in array functions.
-
-String.prototype.isThatMe = function () {
- assertFalse(this === str);
-};
-
-var str = "abc";
-str.isThatMe();
-str.isThatMe.call(str);
-
-var arr = [1];
-arr.forEach("".isThatMe, str);
-arr.filter("".isThatMe, str);
-arr.some("".isThatMe, str);
-arr.every("".isThatMe, str);
-arr.map("".isThatMe, str);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1015.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1015.js
deleted file mode 100644
index 9e4406a..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1015.js
+++ /dev/null
@@ -1,66 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// See: http://code.google.com/p/v8/issues/detail?id=1015
-
-// Object and array literals should be created using DefineOwnProperty, and
-// therefore not hit setters in the prototype.
-
-function mkFail(message) {
- return function () { assertUnreachable(message); }
-}
-
-Object.defineProperty(Object.prototype, "foo",
- {get: mkFail("oget"), set: mkFail("oset")});
-Object.defineProperty(Array.prototype, "2",
- {get: mkFail("aget"), set: mkFail("aset")});
-
-function inFunction() {
- for (var i = 0; i < 10; i++) {
- // in loop.
- var ja = JSON.parse('[1,2,3,4]');
- var jo = JSON.parse('{"bar": 10, "foo": 20}')
- var jop = JSON.parse('{"bar": 10, "__proto__": { }, "foo": 20}')
- var a = [1,2,3,4];
- var o = { bar: 10, foo: 20 };
- var op = { __proto__: { set bar(v) { assertUnreachable("bset"); } },
- bar: 10 };
- }
-}
-
-for (var i = 0; i < 10; i++) {
- // In global scope.
- var ja = JSON.parse('[1,2,3,4]');
- var jo = JSON.parse('{"bar": 10, "foo": 20}')
- var jop = JSON.parse('{"bar": 10, "__proto__": { }, "foo": 20}')
- var a = [1,2,3,4];
- var o = { bar: 10, foo: 20 };
- var op = { __proto__: { set bar(v) { assertUnreachable("bset"); } },
- bar: 10 };
- // In function scope.
- inFunction();
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1017.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1017.js
deleted file mode 100644
index 3daf542..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1017.js
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// See: http://code.google.com/p/v8/issues/detail?id=1017
-
-// 32 ASCII-characters followed by a non-ASCII character.
-// This causes an internal buffer to first expand to 64 bytes, then expand the
-// 32 ASCII characters to 64 bytes of UC16 characters, leaving no room
-// to store the 33rd character. This fails an ASSERT in debug mode.
-
-assertEquals(33, "12345678901234567890123456789012\u2028".length);
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1020.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1020.js
deleted file mode 100644
index 307a61e..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1020.js
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function isObject(o) {
- return o instanceof Object;
-}
-
-assertTrue(isObject(Object));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-102153.js b/src/3rdparty/v8/test/mjsunit/regress/regress-102153.js
deleted file mode 100644
index 0f67656..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-102153.js
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-
-// Test that the break point is set before initializing the loop variable
-// so that we break before any iteration has been run.
-
-Debug = debug.Debug;
-
-var break_hit = false;
-
-function listener(event, exec_state, event_data, data) {
- if (event == Debug.DebugEvent.Break) {
- break_hit = true;
- }
-}
-
-Debug.setListener(listener);
-
-function test() {
- for (var i = 0; i < 3; i++) { // Break here.
- if (i == 0) break;
- }
-}
-
-Debug.setBreakPoint(test, 1, 0);
-
-assertTrue(Debug.showBreakPoints(test).indexOf("// Break here.") >= 0);
-
-test();
-
-assertTrue(break_hit);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1030466.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1030466.js
deleted file mode 100644
index 8427ba0..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1030466.js
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Whenever we enter a with-scope, we copy the context. This in itself is fine
-// (contexts may escape), but when leaving a with-scope, we currently also copy
-// the context instead of reverting to the original. This does not work because
-// inner functions may already have been created using the original context. In
-// the failing test case below, the inner function is run in the original context
-// (where x is undefined), but the assignment to x after the with-statement is
-// run in the copied context:
-
-var result = (function outer() {
- with ({}) { }
- var x = 10;
- function inner() {
- return x;
- };
- return inner();
-})();
-
-assertEquals(10, result);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-103259.js b/src/3rdparty/v8/test/mjsunit/regress/regress-103259.js
deleted file mode 100644
index 447073c..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-103259.js
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-var a = [];
-a[8192] = '';
-assertTrue(%HasDictionaryElements(a));
-var uc16 = '\u0094';
-var test = uc16;
-for (var i = 0; i < 13; i++) test += test;
-assertEquals(test, a.join(uc16));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1036894.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1036894.js
deleted file mode 100644
index 03ed8f9..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1036894.js
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-assertThrows("$=function anonymous() { /*noex*/do {} while(({ get x(x) { break ; }, set x() { (undefined);} })); }");
-
-function foo() {
- assertThrows("$=function anonymous() { /*noex*/do {} while(({ get x(x) { break ; }, set x() { (undefined);} })); }");
-}
-foo();
-
-assertThrows("$=function anonymous() { /*noex*/do {} while(({ get x(x) { break ; }, set x() { (undefined);} })); }");
-
-xeval = function(s) { eval(s); }
-xeval('$=function(){L: {break L;break L;}};');
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1039610.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1039610.js
deleted file mode 100644
index fd5c549..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1039610.js
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Make sure that the Debug object does not return to the global object
-assertTrue(typeof(Debug) === 'undefined'); \ No newline at end of file
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1050043.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1050043.js
deleted file mode 100644
index e42728f..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1050043.js
+++ /dev/null
@@ -1,51 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function unsignedShiftRight(val, shift) {
- return val >>> shift;
-}
-
-assertEquals( 15, unsignedShiftRight(15, 0), "15 >>> 0");
-assertEquals( 7, unsignedShiftRight(15, 1), "15 >>> 1");
-assertEquals( 3, unsignedShiftRight(15, 2), "15 >>> 2");
-
-assertEquals(4294967288, unsignedShiftRight(-8, 0), "-8 >>> 0");
-assertEquals(2147483644, unsignedShiftRight(-8, 1), "-8 >>> 1");
-assertEquals(1073741822, unsignedShiftRight(-8, 2), "-8 >>> 2");
-
-assertEquals( 1, unsignedShiftRight(-8, 31), "-8 >>> 31");
-assertEquals(4294967288, unsignedShiftRight(-8, 32), "-8 >>> 32");
-assertEquals(2147483644, unsignedShiftRight(-8, 33), "-8 >>> 33");
-assertEquals(1073741822, unsignedShiftRight(-8, 34), "-8 >>> 34");
-
-assertEquals(2147483648, unsignedShiftRight(0x80000000, 0), "0x80000000 >>> 0");
-assertEquals(1073741824, unsignedShiftRight(0x80000000, 1), "0x80000000 >>> 1");
-assertEquals( 536870912, unsignedShiftRight(0x80000000, 2), "0x80000000 >>> 2");
-
-assertEquals(1073741824, unsignedShiftRight(0x40000000, 0), "0x40000000 >>> 0");
-assertEquals( 536870912, unsignedShiftRight(0x40000000, 1), "0x40000000 >>> 1");
-assertEquals( 268435456, unsignedShiftRight(0x40000000, 2), "0x40000000 >>> 2");
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1060.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1060.js
deleted file mode 100644
index 8abe178..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1060.js
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Make sure that we do not record multiple bailouts in the unoptimized code
-// for the (shared) .arguments proxy, even for calls.
-function f(x) { arguments; return x() + x(); }
-
-assertEquals("hesthest", f(function () { return "hest"; }));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1062422.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1062422.js
deleted file mode 100644
index 1e2c798..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1062422.js
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// 1062422 Ensure that accessors can handle unexpected receivers.
-Number.prototype.__proto__ = String.prototype;
-assertEquals((123).length, 0)
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1066899.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1066899.js
deleted file mode 100644
index 37fd554..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1066899.js
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// This test case segfaults in generated code. See
-// issue #1066899.
-function Crash() {
- for (var key in [0]) {
- try { } finally { continue; }
- }
-}
-
-Crash();
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1079.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1079.js
deleted file mode 100644
index 208dc5b..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1079.js
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Getting the arguments property of an optimized function should not crash,
-// even if called through our optimized version of Function.prototype.apply.
-
-function optimized() {
- return unoptimized.apply(null, arguments);
-}
-
-// It's not crucial that this is unoptimized.
-function unoptimized() {
- with ({}) {
- return optimized.arguments;
- }
-}
-
-for (var i = 0; i < 5; ++i) {
- assertEquals(3, optimized(1, 2, 3).length);
-}
-%OptimizeFunctionOnNextCall(optimized);
-assertEquals(3, optimized(1, 2, 3).length);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1081309.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1081309.js
deleted file mode 100644
index 5a6c524..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1081309.js
+++ /dev/null
@@ -1,110 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-// Make sure that the backtrace command can be processed when the receiver is
-// undefined.
-listenerCalled = false;
-exception = false;
-
-function ParsedResponse(json) {
- this.response_ = eval('(' + json + ')');
- this.refs_ = [];
- if (this.response_.refs) {
- for (var i = 0; i < this.response_.refs.length; i++) {
- this.refs_[this.response_.refs[i].handle] = this.response_.refs[i];
- }
- }
-}
-
-
-ParsedResponse.prototype.response = function() {
- return this.response_;
-}
-
-
-ParsedResponse.prototype.body = function() {
- return this.response_.body;
-}
-
-
-ParsedResponse.prototype.lookup = function(handle) {
- return this.refs_[handle];
-}
-
-
-function listener(event, exec_state, event_data, data) {
- try {
- if (event == Debug.DebugEvent.Exception)
- {
- // The expected backtrace is
- // 1: g
- // 0: [anonymous]
-
- // Get the debug command processor.
- var dcp = exec_state.debugCommandProcessor(false);
-
- // Get the backtrace.
- var json;
- json = '{"seq":0,"type":"request","command":"backtrace"}'
- var response = new ParsedResponse(dcp.processDebugJSONRequest(json));
- var backtrace = response.body();
- assertEquals(2, backtrace.totalFrames);
- assertEquals(2, backtrace.frames.length);
-
- assertEquals("g", response.lookup(backtrace.frames[0].func.ref).name);
- assertEquals("", response.lookup(backtrace.frames[1].func.ref).name);
-
- listenerCalled = true;
- }
- } catch (e) {
- exception = e
- };
-};
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-// Call method on undefined.
-function g() {
- (void 0).f();
-};
-
-// Break on the exception to do a backtrace with undefined as receiver.
-Debug.setBreakOnException(true);
-try {
- g();
-} catch(e) {
- // Ignore the exception "Cannot call method 'x' of undefined"
-}
-
-assertFalse(exception, "exception in listener", exception)
-// Make sure that the debug event listener vas invoked.
-assertTrue(listenerCalled, "listener not called");
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-108296.js b/src/3rdparty/v8/test/mjsunit/regress/regress-108296.js
deleted file mode 100644
index 38ecda7..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-108296.js
+++ /dev/null
@@ -1,52 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// This test checks that young immediates embedded into code objects
-// are referenced through a cell.
-
-function f (k, a, b) {
- // Create control flow for a.foo. Control flow resolution will
- // be generated as a part of a gap move. Gap move operate on immediates as
- // a.foo is a CONSTANT_FUNCTION.
- var x = k ? a.foo : a.foo;
- return x.prototype;
-}
-
-var a = { };
-
-// Make sure that foo is a CONSTANT_FUNCTION but not be pretenured.
-a.foo = (function () { return function () {}; })();
-
-// Ensure that both branches of ternary operator have monomorphic type feedback.
-f(true, a, a);
-f(true, a, a);
-f(false, a, a);
-f(false, a, a);
-%OptimizeFunctionOnNextCall(f);
-f(true, a, a);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1083.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1083.js
deleted file mode 100644
index d231899..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1083.js
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that changing the generic descriptor flags on a property
-// on the global object doesn't break invariants.
-Object.defineProperty(this, 'Object', {enumerable:true});
-
-var desc = Object.getOwnPropertyDescriptor(this, 'Object');
-assertTrue(desc.enumerable);
-assertTrue(desc.configurable);
-assertFalse(desc.hasOwnProperty('get'));
-assertFalse(desc.hasOwnProperty('set'));
-assertTrue(desc.hasOwnProperty('value'));
-assertTrue(desc.writable);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-109195.js b/src/3rdparty/v8/test/mjsunit/regress/regress-109195.js
deleted file mode 100644
index 97538aa..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-109195.js
+++ /dev/null
@@ -1,65 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-var Debug = debug.Debug;
-
-function listener(event, exec_state, event_data, data) {
- for (var i = 0, n = exec_state.frameCount(); i < n; i++) {
- exec_state.frame().scopeCount(i);
- }
- exec_state.prepareStep(Debug.StepAction.Continue, 1);
-}
-
-Debug.setListener(listener);
-
-var F = function () {
- 1, function () {
- var d = 0;
- (function () { d; });
- debugger;
- }();
-};
-
-var src = "(" + F.toString() + ")()";
-eval(src);
-
-Function.prototype.__defineGetter__("f", function () {
- debugger;
- return 0;
-});
-
-var G = function () {
- 1, function () {
- var d = 0;
- (function () { d; });
- debugger;
- }['f'];
-};
-
-var src = "(" + G.toString() + ")()";
-eval(src);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1092.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1092.js
deleted file mode 100644
index 00422cb..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1092.js
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that CodeGenerator::EmitKeyedPropertyAssignment for the start
-// of an initialization block doesn't normalize the properties of the
-// JSGlobalProxy.
-this.w = 0;
-this.x = 1;
-this.y = 2;
-this.z = 3;
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1099.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1099.js
deleted file mode 100644
index 36f09e4..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1099.js
+++ /dev/null
@@ -1,51 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test that LApplyArguments lithium instruction restores context after the call.
-
-function X() {
- var slot = "foo"; return function (a) { return slot === a; }
-}
-
-function Y(x) {
- var slot = "bar";
- return function (a) {
- x.apply(this, arguments);
- return slot === 'bar';
- };
-}
-
-var y = Y(X());
-
-for (var i = 0; i < 5; i++) {
- assertTrue(y("foo"));
-}
-
-%OptimizeFunctionOnNextCall(y);
-assertTrue(y("foo")); \ No newline at end of file
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1102760.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1102760.js
deleted file mode 100644
index 890ecab..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1102760.js
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function F() {
- return arguments.length;
-}
-
-assertEquals(0, F.apply(), "no receiver or args");
-assertEquals(0, F.apply(this), "no args");
-assertEquals(0, F.apply(this, []), "empty args");
-assertEquals(0, F.apply(this, [], 0), "empty args, extra argument");
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1103.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1103.js
deleted file mode 100644
index 4ad25b3..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1103.js
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that freezing the global object functions correctly and does not
-// freeze the global proxy.
-
-var obj = this;
-obj = Object.freeze(obj);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1104.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1104.js
deleted file mode 100644
index aca0a66..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1104.js
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// A redeclaration of a variable that aliases a parameter and so rewrites to
-// an arguments object access should not record duplicate AST IDs for
-// bailout.
-function test(f) {
- function f() {}
- function f() {}
- return arguments;
-}
-
-test();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-110509.js b/src/3rdparty/v8/test/mjsunit/regress/regress-110509.js
deleted file mode 100644
index 132bd23..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-110509.js
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Verify that LRandom preserves rsi correctly.
-
-function foo() {
- Math.random();
- new Function("");
-}
-
-foo();
-foo();
-foo();
-%OptimizeFunctionOnNextCall(foo);
-foo();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1106.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1106.js
deleted file mode 100644
index e462d5d..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1106.js
+++ /dev/null
@@ -1,56 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test for issue 1106, where the optimizing compiler broke when accessing
-// a property lying on a prototype of the global object, and that prototype
-// object was in dictionary mode.
-
-x = Object.prototype;
-x.foo = 3;
-x.bar = 4;
-delete x.foo;
-x.foo = 5;
-
-function f() { return foo; }
-
-for (i=0 ; i < 5; ++i) {
- assertEquals(5, f());
-}
-%OptimizeFunctionOnNextCall(f);
-assertEquals(5, f());
-
-// Test calls on functions defined in the prototype of the global object.
-x.gee = function() { return 42; }
-function g() { return gee(); }
-
-for (i=0 ; i < 5; ++i) {
- assertEquals(42, g());
-}
-%OptimizeFunctionOnNextCall(g);
-assertEquals(42, g());
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1107.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1107.js
deleted file mode 100644
index 4ba277a..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1107.js
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that even if we cannot set element 0 on all the objects, we still
-// can format exception messages to some extent.
-
-Object.prototype.__defineGetter__(0, function(){});
-assertThrows("x");
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1110.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1110.js
deleted file mode 100644
index 124f520..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1110.js
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that the illegal continue is thrown at parse time.
-
-try {
- eval("function Crash() { assertUnreachable(); continue;if (Crash) { } }");
- Crash();
- assertUnreachable();
-} catch (e) {
- assertTrue(e instanceof SyntaxError);
- assertTrue(/continue/.test(e.message));
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1110164.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1110164.js
deleted file mode 100644
index 33f96af..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1110164.js
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var o = { x: 0, f: function() { return 42; } };
-delete o.x; // go dictionary
-
-function CallF(o) {
- return o.f();
-}
-
-// Make sure the call IC in CallF is initialized.
-for (var i = 0; i < 10; i++) assertEquals(42, CallF(o));
-
-var caught = false;
-o.f = 87;
-try {
- CallF(o);
-} catch (e) {
- caught = true;
- assertTrue(e instanceof TypeError);
-}
-assertTrue(caught);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1112.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1112.js
deleted file mode 100644
index d780106..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1112.js
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Regression test making sure that defineProperty on the global proxy
-// defines the property on the global object.
-
-Object.defineProperty(this,
- 1,
- { configurable: true, enumerable: true, value: 3 });
-assertEquals(3, this[1]);
-assertTrue(this.hasOwnProperty("1"));
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1112051.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1112051.js
deleted file mode 100644
index 0af6bb4..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1112051.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Regression test for issue #1112051.
-function f() { }
-assertThrows("f.call.apply()");
-assertThrows("f.call.apply(null)");
-assertThrows("f.call.apply(null, [], 0)");
-assertThrows("f.call.apply(null, [1,2,3,4,5,6,7,8,9], 0)");
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1114040.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1114040.js
deleted file mode 100644
index 9d1b320..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1114040.js
+++ /dev/null
@@ -1,58 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function TestBreak() {
- var sequence = "";
- for (var a in [0,1]) {
- L: {
- for (var b in [2,3,4]) {
- break L;
- }
- }
- sequence += a;
- }
- return sequence;
-}
-
-
-function TestContinue() {
- var sequence = "";
- for (var a in [0,1]) {
- L: do {
- for (var b in [2,3,4]) {
- continue L;
- }
- } while (false);
- sequence += a;
- }
- return sequence;
-}
-
-
-assertEquals("01", TestBreak());
-assertEquals("01", TestContinue());
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1117.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1117.js
deleted file mode 100644
index 981a1b7..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1117.js
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test that we actually return the right value (-0) when we multiply
-// constant 0 with a negative integer.
-
-function foo(y) {return 0 * y; }
-assertEquals(1/foo(-42), -Infinity);
-assertEquals(1/foo(-42), -Infinity);
-%OptimizeFunctionOnNextCall(foo);
-assertEquals(1/foo(-42), -Infinity);
-
-function bar(x) { return x * 0; }
-assertEquals(Infinity, 1/bar(5));
-assertEquals(Infinity, 1/bar(5));
-%OptimizeFunctionOnNextCall(bar);
-assertEquals(-Infinity, 1/bar(-5));
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1118.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1118.js
deleted file mode 100644
index 3e3920f..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1118.js
+++ /dev/null
@@ -1,64 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --noparallel-recompilation
-
-// An exception thrown in a function optimized by on-stack replacement (OSR)
-// should be able to construct a receiver from all optimized stack frames.
-
-function A() { }
-A.prototype.f = function() { }
-
-function B() { }
-
-var o = new A();
-
-// This function throws if o does not have an f property, and should not be
-// inlined.
-function g() { try { return o.f(); } finally { }}
-
-// Optimization status (see runtime.cc):
-// 1 - yes, 2 - no, 3 - always, 4 - never.
-
-// This function should be optimized via OSR.
-function h() {
- var optstatus = %GetOptimizationStatus(h);
- if (optstatus == 4) {
- // Optimizations are globally disabled; just run once.
- g();
- } else {
- // Run for a bit as long as h is unoptimized.
- while (%GetOptimizationStatus(h) == 2) {
- for (var j = 0; j < 100; j++) g();
- }
- g();
- }
-}
-
-h();
-o = new B();
-assertThrows("h()");
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1119.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1119.js
deleted file mode 100644
index 5fd8f36..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1119.js
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test runtime declaration of properties with var which are intercepted
-// by JS accessors.
-
-// Flags: --es52_globals
-
-this.__defineSetter__("x", function() { hasBeenInvoked = true; });
-this.__defineSetter__("y", function() { throw 'exception'; });
-
-var hasBeenInvoked = false;
-eval("try { } catch (e) { var x = false; }");
-assertTrue(hasBeenInvoked);
-
-// This has to run in global scope, so cannot use assertThrows...
-try {
- eval("try { } catch (e) { var y = false; }");
- assertUnreachable();
-} catch (e) {
- assertEquals('exception', e);
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1120.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1120.js
deleted file mode 100644
index c8c06aa..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1120.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that retrieving the extensible value for the global object is
-// working correctly and does not return the bit from the global proxy map.
-
-var obj = this;
-Object.freeze(obj);
-assertFalse(Object.isExtensible(obj));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1121.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1121.js
deleted file mode 100644
index 0ad29cc..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1121.js
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// See: http://code.google.com/p/v8/issues/detail?id=1121
-
-// Test that changing Array.prototype.__proto__ keeps Array functions working.
-
-Array.prototype.__proto__ = null;
-// pop has custom call generator, so we need some beefier function.
-assertEquals([1, 2, 3], [1, 2, 3].slice());
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1122.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1122.js
deleted file mode 100644
index 815511d..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1122.js
+++ /dev/null
@@ -1,68 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that we can handle function calls with up to 32766 arguments, and
-// that function calls with more arguments throw an exception. Apply a
-// similar limit to the number of function parameters.
-
-// See http://code.google.com/p/v8/issues/detail?id=1122 and
-// http://code.google.com/p/v8/issues/detail?id=1413.
-
-function function_with_n_params_and_m_args(n, m) {
- test_prefix = 'prefix ';
- test_suffix = ' suffix';
- var source = 'test_prefix + (function f(';
- for (var arg = 0; arg < n ; arg++) {
- if (arg != 0) source += ',';
- source += 'arg' + arg;
- }
- source += ') { return arg' + (n - n % 2) / 2 + '; })(';
- for (var arg = 0; arg < m ; arg++) {
- if (arg != 0) source += ',';
- source += arg;
- }
- source += ') + test_suffix';
- return eval(source);
-}
-
-assertEquals('prefix 4000 suffix',
- function_with_n_params_and_m_args(8000, 8000));
-assertEquals('prefix 3000 suffix',
- function_with_n_params_and_m_args(6000, 8000));
-assertEquals('prefix 5000 suffix',
- function_with_n_params_and_m_args(10000, 8000));
-assertEquals('prefix 9000 suffix',
- function_with_n_params_and_m_args(18000, 18000));
-assertEquals('prefix 16000 suffix',
- function_with_n_params_and_m_args(32000, 32000));
-assertEquals('prefix undefined suffix',
- function_with_n_params_and_m_args(32000, 10000));
-
-assertThrows("function_with_n_params_and_m_args(35000, 35000)");
-assertThrows("function_with_n_params_and_m_args(100000, 100000)");
-assertThrows("function_with_n_params_and_m_args(35000, 30000)");
-assertThrows("function_with_n_params_and_m_args(30000, 35000)");
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1125.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1125.js
deleted file mode 100644
index b0e1cb7..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1125.js
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test a lot of updates to freshly created contexts.
-
-function f(x, y) {
- with ("abcdefghijxxxxxxxxxx")
- var y = {};
-}
-
-function g() {
- f.apply(this, arguments);
-}
-
-for (var i = 0; i < 150000; i++) {
- g(i);
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1126.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1126.js
deleted file mode 100644
index 303583b..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1126.js
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// This should properly catch the exception from the setter triggered
-// by the loaded file, and it should not fail an assertion in debug mode.
-
-try {
- eval('--');
- assertUnreachable();
-} catch (e) {
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1129.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1129.js
deleted file mode 100644
index 37bf9a8..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1129.js
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --verify-heap --expose-gc
-
-// This should not hit an assertion in debug mode.
-
-// Create RegExp that is syntactically correct, but throws a stack overflow
-// during compilation.
-var source = Array(50000).join("(") + "a" + Array(50000).join(")");
-var r = RegExp(source);
-try {
- // Try to compile in UC16 mode, and drop the exception.
- r.test("\x80");
- assertUnreachable();
-} catch (e) {
-}
-
-// Trigger a heap validation.
-gc();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1130.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1130.js
deleted file mode 100644
index 07d5e3d..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1130.js
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that parser errors can be build up correctly even in the presence
-// of JS accessors on Object's prototype elements.
-
-Object.prototype.__defineGetter__(0, function() { throw 42; } );
-
-var exception = false;
-try {
- eval("(function() { const x; var x })")();
-} catch (e) {
- exception = true;
- assertTrue(e instanceof TypeError);
-}
-assertTrue(exception);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1131.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1131.js
deleted file mode 100644
index a1af9c9..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1131.js
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var nonArray = { length: 4, 0: 42, 2: 37, 0xf7da5000: undefined, 4: 0 };
-Array.prototype.sort.call(nonArray);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1132.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1132.js
deleted file mode 100644
index 3314db8..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1132.js
+++ /dev/null
@@ -1,50 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test the case when exception is thrown from the parser when lazy
-// compiling a function.
-
-// Flags: --stack_size=32
-// NOTE: stack size constant above has been empirically chosen.
-// If the test starts to fail in Genesis, consider increasing this constant.
-
-function test() {
- try {
- test(1, test(1));
- } catch(e) {
- assertFalse(delete e, "deleting catch variable");
- assertEquals(42, e);
- }
-}
-
-var exception = false;
-try {
- test();
-} catch (e) {
- exception = true;
-}
-assertTrue(exception);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1134697.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1134697.js
deleted file mode 100644
index 3d851ae..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1134697.js
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Regression test case for issue 1134697.
-// Must run using valgrind.
-
-(-90).toPrecision(6);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-113924.js b/src/3rdparty/v8/test/mjsunit/regress/regress-113924.js
deleted file mode 100644
index 3ecdec4..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-113924.js
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var count=12000;
-while(count--) {
- eval("var a = new Object(10); a[2] += 7;");
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-114.js b/src/3rdparty/v8/test/mjsunit/regress/regress-114.js
deleted file mode 100644
index 6c1a6a3..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-114.js
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// German eszett
-assertEquals("FRIEDRICHSTRASSE 14", "friedrichstra\xDFe 14".toUpperCase());
-assertEquals("XXSSSSSSXX", "xx\xDF\xDF\xDFxx".toUpperCase());
-assertEquals("(SS)", "(\xDF)".toUpperCase());
-assertEquals("SS", "\xDF".toUpperCase());
-
-// Turkish dotted upper-case I lower-case converts to two characters
-assertEquals("i\u0307", "\u0130".toLowerCase());
-assertEquals("(i\u0307)", "(\u0130)".toLowerCase());
-assertEquals("xxi\u0307xx", "XX\u0130XX".toLowerCase());
-
-// Greek small upsilon with dialytika and tonos upper-case converts to three
-// characters
-assertEquals("\u03A5\u0308\u0301", "\u03B0".toUpperCase());
-assertEquals("(\u03A5\u0308\u0301)", "(\u03B0)".toUpperCase());
-assertEquals("XX\u03A5\u0308\u0301XX", "xx\u03B0xx".toUpperCase());
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1145.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1145.js
deleted file mode 100644
index 16d5527..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1145.js
+++ /dev/null
@@ -1,54 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --opt-eagerly --debug-code --lazy
-
-// See: http://code.google.com/p/v8/issues/detail?id=1145
-// Should not throw a syntax error exception (change this if we make lazily
-// compiled functions with syntax errors into early errors).
-// Should not hit an assertion in debug mode.
-
-// A lazily compiled function with a syntax error that is attempted inlined
-// would set a pending exception that is then ignored (until it triggers
-// an assert).
-// This file must be at least 1024 bytes long to trigger lazy compilation.
-
-function f() { return 1; }
-
-// Must be lazy. Must throw SyntaxError during compilation.
-function fail() { continue; }
-
-function opt_me() {
- var x = 1;
- // Do lots of function calls and hope to be optimized.
- for (var i = 0; i < 1000000; i++) {
- x = f();
- }
- if (x == 0) fail(); // Hope to be inlined during optimization.
-}
-
-opt_me();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1146.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1146.js
deleted file mode 100644
index e8028ce..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1146.js
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test keyed calls with different key types.
-function F() {}
-var a = new F();
-function f(i) { return a[i](); }
-
-a.first = function() { return 11; }
-a[0] = function() { return 22; }
-var obj = {};
-a[obj] = function() { return 33; }
-
-// Make object slow-case.
-a.foo = 0;
-delete a.foo;
-// Do multiple calls for IC transitions.
-var b = "first";
-f(b);
-f(b);
-
-assertEquals(11, f(b));
-assertEquals(22, f(0));
-assertEquals(33, f(obj));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1149.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1149.js
deleted file mode 100644
index d7a7d1b..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1149.js
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// We should not try to record duplicate bailout IDs for the 'left-hand
-// side' of a for/in, even if it is a parameter in a function using the
-// arguments object.
-
-function f(x) {
- for (x in arguments) {
- for (x in arguments) {
- }
- }
-}
-
-f();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1150.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1150.js
deleted file mode 100644
index 57f739a..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1150.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that Object.keys is working correctly on the global object.
-
-var a = 10;
-var global = (function () { return this; }) ();
-var keys = Object.keys(global);
-assertTrue(keys.indexOf("a") > 0);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1151.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1151.js
deleted file mode 100644
index 8d0bca9..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1151.js
+++ /dev/null
@@ -1,49 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that we do not try to create prototypes on objects that has the,
-// should_have_prototype flag set to false.
-
-__defineSetter__.__proto__ = function() {};
-__defineSetter__['prototype']
-
-eval.__proto__ = function () { };
-eval['prototype'] = {};
-
-// Test that we are compatible with Safari on prototypes set locally and
-// on the actual prototype set using __proto__ on objects that has the
-// should_have_prototype set to false.
-function f() { return 42; }
-f.prototype = 43;
-__defineGetter__.__proto__ = f;
-
-// Regression test for not returning undefined.
-assertEquals(__defineGetter__.prototype, 43);
-
-// Regression test for not crashing.
-__defineGetter__.prototype = "foo";
-assertEquals(__defineGetter__.prototype, "foo");
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-115100.js b/src/3rdparty/v8/test/mjsunit/regress/regress-115100.js
deleted file mode 100644
index c917446..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-115100.js
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-function foo(obj) { obj.prop = 0; }
-function mk() { return Object.create(null); }
-
-foo(mk());
-foo(mk());
-%OptimizeFunctionOnNextCall(foo);
-foo(mk());
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-115452.js b/src/3rdparty/v8/test/mjsunit/regress/regress-115452.js
deleted file mode 100644
index dc71158..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-115452.js
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that a function declaration cannot overwrite a read-only property.
-
-// Flags: --es52_globals
-
-function foobl() {}
-assertTrue(typeof this.foobl == "function");
-assertTrue(Object.getOwnPropertyDescriptor(this, "foobl").writable);
-
-Object.defineProperty(this, "foobl", {value: 1, writable: false});
-assertSame(1, this.foobl);
-assertFalse(Object.getOwnPropertyDescriptor(this, "foobl").writable);
-
-// This has to run in global scope, so cannot use assertThrows...
-try {
- eval("function foobl() {}"); // Should throw.
- assertUnreachable();
-} catch (e) {
- assertInstanceof(e, TypeError);
-}
-assertSame(1, this.foobl);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1156.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1156.js
deleted file mode 100644
index 8ec7f81..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1156.js
+++ /dev/null
@@ -1,49 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --nouse-inlining
-
-// Test that we do not crash we invoke builtins from optimized code that
-// is then deoptimized.
-
-function foo(a) {
- delete a[1];
- delete a[2];
- delete a[3];
- delete a[4];
- delete a[5];
- return void 0;
-}
-
-function call_and_deopt() {
- var b = [1,2,3];
- foo(b);
- foo(b);
- %DeoptimizeFunction(foo);
-}
-
-call_and_deopt();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-116.js b/src/3rdparty/v8/test/mjsunit/regress/regress-116.js
deleted file mode 100644
index 7b4620c..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-116.js
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var testCache = {};
-var doLookup = function(id) {
- return testCache[id] = 'foo';
-};
-
-var r2 = doLookup(0);
-var r1 = doLookup([0]);
-
-assertFalse(r1 === testCache);
-assertEquals('foo', r1);
-assertEquals('f', r1[0]);
-assertEquals('foo', r2);
-assertEquals('f', r2[0]);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1160.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1160.js
deleted file mode 100644
index 10d3bc3..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1160.js
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// See: http://code.google.com/p/v8/issues/detail?id=1160
-
-// Array.prototype.join uses a temporary array internally. Verify it
-// does not crash and throws an illegal argument exception instead
-// when keyed store on the array does not work as expected because of
-// the setter on its prototype.
-
-var N = 10;
-var array = Array(N);
-for (var i = 0; i < N; ++i) {
- array[i] = i;
-}
-Array.prototype.__defineSetter__(2, function() { });
-assertEquals("0,1,2,3,4,5,6,7,8,9", array.join(","));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1166.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1166.js
deleted file mode 100644
index 8278aba..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1166.js
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Deoptimization after a short-circuit logical operation in an effect
-// context should not see the value of the expression.
-function observe(x, y) { return x; }
-
-function test(x) { return observe(1, ((false || false), x + 1)); }
-
-for (var i = 0; i < 5; ++i) test(0);
-%OptimizeFunctionOnNextCall(test);
-test(0);
-
-test("a");
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1167.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1167.js
deleted file mode 100644
index 2206f3d..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1167.js
+++ /dev/null
@@ -1,76 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Deoptimization after a logical not in an effect context should not see a
-// value for the logical not expression.
-function test0(n) {
- var a = new Array(n);
- for (var i = 0; i < n; ++i) {
- // ~ of a non-numeric value is used to trigger deoptimization.
- a[i] = void(!(delete 'object')) % ~(delete 4);
- }
-}
-
-// OSR (after deoptimization) is used to observe the stack height mismatch.
-for (var i = 0; i < 5; ++i) {
- for (var j = 1; j < 12; ++j) {
- test0(j * 1000);
- }
-}
-
-
-// Similar test with a different subexpression of unary !.
-function test1(n) {
- var a = new Array(n);
- for (var i = 0; i < n; ++i) {
- a[i] = void(!(- 'object')) % ~(delete 4);
- }
-}
-
-for (i = 0; i < 5; ++i) {
- for (j = 1; j < 12; ++j) {
- test1(j * 1000);
- }
-}
-
-
-// A similar issue, different subexpression of unary ! (e0 !== e1 is
-// translated into !(e0 == e1)) and different effect context.
-function side_effect() { }
-function observe(x, y) { return x; }
-function test2(x) {
- return observe(this,
- (((side_effect.observe <= side_effect.side_effect) !== false),
- x + 1));
-}
-
-for (var i = 0; i < 5; ++i) test2(0);
-%OptimizeFunctionOnNextCall(test2);
-test2(0);
-test2(test2);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1170.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1170.js
deleted file mode 100644
index 8c5f6f8..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1170.js
+++ /dev/null
@@ -1,98 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --es52_globals
-
-var setter_value = 0;
-
-this.__defineSetter__("a", function(v) { setter_value = v; });
-eval("var a = 1");
-assertEquals(1, setter_value);
-assertFalse("value" in Object.getOwnPropertyDescriptor(this, "a"));
-
-eval("with({}) { eval('var a = 2') }");
-assertEquals(2, setter_value);
-assertFalse("value" in Object.getOwnPropertyDescriptor(this, "a"));
-
-// Function declarations are treated specially to match Safari. We do
-// not call setters for them.
-this.__defineSetter__("a", function(v) { assertUnreachable(); });
-eval("function a() {}");
-assertTrue("value" in Object.getOwnPropertyDescriptor(this, "a"));
-
-this.__defineSetter__("b", function(v) { setter_value = v; });
-try {
- eval("const b = 3");
-} catch(e) {
- assertUnreachable();
-}
-assertEquals(3, setter_value);
-
-try {
- eval("with({}) { eval('const b = 23') }");
-} catch(e) {
- assertInstanceof(e, TypeError);
-}
-
-this.__defineSetter__("c", function(v) { throw 42; });
-try {
- eval("var c = 1");
- assertUnreachable();
-} catch(e) {
- assertEquals(42, e);
- assertFalse("value" in Object.getOwnPropertyDescriptor(this, "c"));
-}
-
-
-
-
-__proto__.__defineSetter__("aa", function(v) { assertUnreachable(); });
-eval("var aa = 1");
-assertTrue(this.hasOwnProperty("aa"));
-
-__proto__.__defineSetter__("bb", function(v) { assertUnreachable(); });
-eval("with({}) { eval('var bb = 2') }");
-assertTrue(this.hasOwnProperty("bb"));
-
-// Function declarations are treated specially to match Safari. We do
-// not call setters for them.
-__proto__.__defineSetter__("cc", function(v) { assertUnreachable(); });
-eval("function cc() {}");
-assertTrue(this.hasOwnProperty("cc"));
-
-__proto__.__defineSetter__("dd", function(v) { assertUnreachable(); });
-try {
- eval("const dd = 23");
-} catch(e) {
- assertUnreachable();
-}
-
-try {
- eval("with({}) { eval('const dd = 23') }");
-} catch(e) {
- assertInstanceof(e, TypeError);
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1170187.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1170187.js
deleted file mode 100644
index 5e82f8a..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1170187.js
+++ /dev/null
@@ -1,80 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Make sure that the retreival of local variables are performed correctly even
-// when an adapter frame is present.
-
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-listenerCalled = false;
-exception = false;
-
-
-function checkName(name) {
- assertTrue(name == 'a' || name == 'b' || name == 'c');
-}
-
-
-function checkValue(value) {
- assertEquals(void 0, value);
-}
-
-
-function listener(event, exec_state, event_data, data) {
- try {
- if (event == Debug.DebugEvent.Break) {
- var local0Name = exec_state.frame(0).localName(0);
- var local1Name = exec_state.frame(0).localName(1);
- var local2Name = exec_state.frame(0).localName(2);
- checkName(local0Name);
- checkName(local1Name);
- checkName(local2Name);
- var local0Value = exec_state.frame(0).localValue(0).value();
- var local1Value = exec_state.frame(0).localValue(1).value();
- var local2Value = exec_state.frame(0).localValue(2).value();
- checkValue(local0Value);
- checkValue(local1Value);
- checkValue(local2Value);
- listenerCalled = true;
- }
- } catch (e) {
- exception = e;
- };
-};
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-// Call a function with local variables passing a different number parameters
-// that the number of arguments.
-(function(x,y){var a,b,c; debugger; return 3})()
-
-// Make sure that the debug event listener vas invoked (again).
-assertTrue(listenerCalled);
-assertFalse(exception, "exception in listener")
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1172-bis.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1172-bis.js
deleted file mode 100644
index 01b637c..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1172-bis.js
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Verifies that exception thrown from JS accessors when attempting a call
-// are properly treated.
-
-Object.prototype.__defineGetter__(0, function() { throw 42; });
-var exception = false;
-try {
- Object[0]();
-} catch(e) {
- exception = true;
- assertEquals(42, e);
-}
-assertTrue(exception);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1172.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1172.js
deleted file mode 100644
index f5ef67b..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1172.js
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Check that 'constructor' property is forcefully installed on
-// function's prototype even in the presence of JS accessors.
-
-// Note: no setters would lead to runtime exception if we ever attempt
-// to use JS accessors to set 'constructor' property.
-Object.prototype.__defineGetter__('constructor', function() { throw 42; });
-
-function f() {}
-assertSame(f, f.prototype.constructor);
-
-var o = new f();
-assertSame(f, o.constructor);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1173979.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1173979.js
deleted file mode 100644
index 42649d0..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1173979.js
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Ensure that null only equals null and undefined, also for variables.
-
-var null_var = null;
-var undef_var = [][0];
-var boolean_var = false;
-var number_var = 0;
-var string_var = "";
-var object_var = { foo : 0 };
-
-assertTrue(null_var == null_var);
-assertTrue(null_var == undef_var);
-assertTrue(null_var != boolean_var);
-assertTrue(null_var != number_var);
-assertTrue(null_var != string_var);
-assertTrue(null_var != object_var);
-
-assertTrue(undef_var == null_var);
-assertTrue(boolean_var != null_var);
-assertTrue(number_var != null_var);
-assertTrue(string_var != null_var);
-assertTrue(object_var != null_var);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1174.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1174.js
deleted file mode 100644
index 7c014bf..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1174.js
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test that we do not crash when doing deoptimization of a function that has
-// reloc info that only take up 1 byte per call (like KeyedStoreIC).
-
-function Regular() {
- this[0] >>= 0;
- this[1] ^= 1;
-}
-
-function foo() {
- var regular = new Regular();
- %DeoptimizeFunction(Regular);
-}
-
-foo();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-117409.js b/src/3rdparty/v8/test/mjsunit/regress/regress-117409.js
deleted file mode 100644
index 98aab5a..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-117409.js
+++ /dev/null
@@ -1,52 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-gc
-
-function KeyedStoreIC(a) { a[0] = Math.E; }
-
-// Create literal with a fast double elements backing store
-var literal = [1.2];
-
-// Specialize the IC for fast double elements
-KeyedStoreIC(literal);
-KeyedStoreIC(literal);
-
-// Truncate array to 0 elements, at which point backing store will be replaced
-// with empty fixed array.
-literal.length = 0;
-
-// ArrayPush built-in will replace empty fixed array backing store with 19
-// elements fixed array backing store. This leads to a mismatch between the map
-// and the backing store. Debug mode will crash here in set_elements accessor.
-literal.push(Math.E, Math.E);
-
-// Corrupt the backing store!
-KeyedStoreIC(literal);
-
-// Release mode will crash here when trying to visit parts of E as pointers.
-gc();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1175390.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1175390.js
deleted file mode 100644
index 7b1a7e0..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1175390.js
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --print-code --debug-code
-// Simply ensure that we can generate comments without crashing.
-a = 0;
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1176.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1176.js
deleted file mode 100644
index 58eda1b..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1176.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-"use strict";
-function strict_delete_this() {
- // "delete this" is allowed in strict mode.
- delete this;
-}
-strict_delete_this();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1177518.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1177518.js
deleted file mode 100644
index 2ba3c11..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1177518.js
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Make sure that natives and delayed natives don't use methods from the global
-// scope that could have been modified by input javascript.
-
-isFinite = 0;
-Math.floor = 0;
-Math.abs = 0;
-
-// uses Math.floor
-assertEquals(4, parseInt(4.5));
-
-// uses Math.abs, Math.floor and isFinite
-assertEquals('string', typeof (new Date(9999)).toString());
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1177809.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1177809.js
deleted file mode 100644
index 703e607..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1177809.js
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// The encoding of large pc jumps caused code to be overwritten with
-// relocation information. We pass this test if it does not crash.
-
-String.fromCharCode(48,48,48,59,32,102,111,110,116,45,119,101,105,103,104,116,58,98,111,108,100,59,102,111,110,116,45,102,97,109,105,108,121,58,65,114,105,97,108,44,32,72,101,108,118,101,116,105,99,97,44,32,115,97,110,115,45,115,101,114,105,102,44,86,101,114,100,97,110,97,34,32,99,111,108,111,114,61,34,35,70,70,48,48,48,48,34,62,70,79,82,69,88,47,80,65,82,38,35,51,48,52,59,60,119,98,114,32,47,62,84,69,32,38,35,51,48,52,59,38,35,51,53,48,59,76,69,77,76,69,82,38,35,51,48,52,59,60,47,102,111,110,116,62,60,47,115,112,97,110,62,60,47,116,100,62,10,60,47,116,114,62,60,116,114,62,10,60,116,100,32,97,108,105,103,110,61,34,108,101,102,116,34,62,60,115,112,97,110,32,105,100,61,34,97,99,95,100,101,115,99,34,62,60,102,111,110,116,32,115,116,121,108,101,61,34,102,111,110,116,45,115,105,122,101,58,49,49,112,120,59,32,99,111,108,111,114,58,35,48,48,48,48,48,48,59,32,102,111,110,116,45,102,97,109,105,108,121,58,65,114,105,97,108,44,32,72,101,108,118,101,116,105,99,97,44,32,115,97,110,115,45,115,101,114,105,102,44,86,101,114,100,97,110,97,34,62,38,112,111,117,110,100,59,47,36,32,50,32,112,105,112,44,32,89,84,76,32,49,50,32,112,105,112,44,65,108,116,38,35,51,48,53,59,110,32,51,32,99,101,110,116,46,32,83,97,98,105,116,32,83,112,114,101,97,100,45,84,38,117,117,109,108,59,114,60,119,98,114,32,47,62,107,32,66,97,110,107,97,115,38,35,51,48,53,59,32,65,86,65,78,84,65,74,73,60,47,102,111,110,116,62,60,47,115,112,97,110,62,60,47,116,100,62,10,60,47,116,114,62,60,116,114,62,10,60,116,100,32,97,108,105,103,110,61,34,108,101,102,116,34,62,60,100,105,118,32,105,100,61,34,97,99,95,117,114,108,34,62,60,102,111,110,116,32,115,116,121,108,101,61,34,102,111,110,116,45,115,105,122,101,58,49,48,112,120,59,32,99,111,108,111,114,58,35,70,70,54,54,57,57,59,32,102,111,110,116,45,102,97,109,105,108,121,58,65,114,105,97,108,44,32,72,101,108,118,101,116,105,99,97,44,32,115,97,110,115,45,115,101,114,105,102,44,86,101,114,100,97,110,97,34,62,119,119,119,46,104,101,100,101,102,111,60,119,98,114,32,47,62,110,108,105,110,101,46,99,111,109,60,47,102,111,110,116,62,60,47,100,105,118,62,60,47,116,100,62,60,47,116,114,62,60,47,116,97,98,108,101,62,60,47,116,100,62,60,47,116,114,62,60,116,114,62,10,60,116,100,32,99,108,97,115,115,61,34,97,99,95,107,97,114,105,109,34,32,104,101,105,103,104,116,61,34,50,48,37,34,32,98,103,99,111,108,111,114,61,34,35,70,70,70,70,70,70,34,32,105,100,61,34,116,97,119,52,34,32,97,108,105,103,110,61,34,108,101,102,116,34,32,118,97,108,105,103,110,61,34,109,105,100,100,108,101,34,32,111,110,70,111,99,117,115,61,34,115,115,40,39,103,111,32,116,111,32,119,119,119,46,107,97,108,101,100,101,60,119,98,114,32,47,62,46,99,111,109,39,44,39,97,119,52,39,41,34,32,111,110,77,111,117,115,101,79,118,101,114,61,34,115,115,40,39,103,111,32,116,111,32,119,119,119,46,107,97,108,101,100,101,60,119,98,114,32,47,62,46,99,111,109,39,44,39,97,119,52,39,41,34,32,32,111,110,77,111,117,115,101,79,117,116,61,34,99,115,40,41,34,32,111,110,67,108,105,99,107,61,34,103,97,40,39,104,116,116,112,58,47,47,97,100,115,101,114,118,101,114,46,109,121,110,101,116,46,99,111,109,47,65,100,83,101,114,118,101,114,47,99,108,105,99,107,46,106,115,112,63,117,114,108,61,56,56,49,48,48,50,53,49,50,49,55,54,51,57,52,54,50,51,49,56,52,52,48,51,57,54,48,48,54,51,49,51,54,54,52,52,56,50,56,54,50,48,49,49,49,52,55,51,55,54,52,51,50,57,50,52,50,56,51,53,56,51,54,53,48,48,48,48,53,56,49,55,50,56,57,53,48,48,52,49,57,48,54,56,56,55,50,56,49,55,48,55,53,48,57,50,55,53,55,57,57,51,54,53,50,52,54,49,51,56,49,57,53,55,52,53,50,49,52,50,55,54,48,57,53,57,56,52,55,50,55,48,56,52,51,49,54,52,49,54,57,53,48,56,57,50,54,54,54,48,57,49,54,53,55,57,48,57,49,55,57,52,55,52,55,57,50,48,55,50,55,51,51,53,51,50,55,53,50,54,55,50,56,48,51,57,49,56,54,50,56,55,49,51,55,48,52,51,49,51,52,55,56,51,54,51,52,53,50,54,55,53,57,48,57,48,56,54,57,49,52,53,49,49,52,55,53,50,120,49,57,50,88,49,54,56,88,51,56,88,52,49,88,56,48,56,48,88,65,39,41,34,32,115,116,121,108,101,61,34,99,117,114,115,111,114,58,112,111,105,110,116,101,114,34,62,10,60,116,97,98,108,101,32,119,105,100,116,104,61,34,49,53,54,34,32,98,111,114,100,101,114,61,34,48,34,32,99,101,108,108,115,112,97,99,105,110,103,61,34,49,34,32,99,101,108,108,112,97,100,100,105,110,103,61,34,49,34,62,10,60,116,114,62,10,32,32,60,116,100,32,97,108,105,103,110,61,34,108,101,102,116,34,32,62,60,115,112,97,110,32,105,100,61,34,97,99,95,116,105,116,108,101,34,62,60,102,111,110,116,32,115,116,121,108,101,61,34,102,111,110,116,45,115,105,122,101,58,49,50,112,120,59,32,99,111,108,111,114,58,35,70,70,48,48,48,48,59,32,102,111,110,116,45,119,101,105,103,104,116,58,98,111,108,100,59,102,111,110,116,45,102,97,109,105,108,121,58,65,114,105,97,108,44,32,72,101,108,118,101,116,105,99,97,44,32,115,97,110,115,45,115,101,114,105,102,44,86,101,114,100,97,110,97,34,32,99,111,108,111,114,61,34,35,70,70,48,48,48,48,34,62,66,108,117,101,32,72,111,117,115,101,32,77,105,107,115,101,114,39,100,101,32,38,35,51,53,48,59,111,107,33,60,47,102,111,110,116,62,60,47,115,112,97,110,62,60,47,116,100,62,10,60,47,116,114,62,60,116,114,62,10,60,116,100,32,97,108,105,103,110,61,34,108,101,102,116,34,62,60,115,112,97,110,32,105,100,61,34,97,99,95,100,101,115,99,34,62,60,102,111,110,116,32,115,116,121,108,101,61,34,102,111,110,116,45,115,105,122,101,58,49,49,112,120,59,32,99,111,108,111,114,58,35,48,48,48,48,48,48,59,32,102,111,110,116,45,102,97,109,105,108,121,58,65,114,105,97,108,44,32,72,101,108,118,101,116,105,99,97,44,32,115,97,110,115,45,115,101,114,105,102,44,86,101,114,100,97,110,97,34,62,66,108,117,101,32,72,111,117,115,101,32,77,105,107,115,101,114,39,100,101,32,65,110,110,101,108,101,114,101,32,38,79,117,109,108,59,122,101,108,32,70,105,121,97,116,32,83,65,68,69,67,69,32,50,57,44,57,54,32,89,84,76,33,60,47,102,111,110,116,62,60,47,115,112,97,110,62,60,47,116,100,62,10,60,47,116,114,62,60,116,114,62,10,60,116,100,32,97,108,105,103,110,61,34,108,101,102,116,34,62,60,100,105,118,32,105,100,61,34,97,99,95,117,114,108,34,62,60,102,111,110,116,32,115,116,121,108,101,61,34,102,111,110,116,45,115,105,122,101,58,49,48,112,120,59,32,99,111,108,111,114,58,35,70,70,54,54,57,57,59,32,102,111,110,116,45,102,97,109,105,108,121,58,65,114,105,97,108,44,32,72,101,108,118,101,116,105,99,97,44,32,115,97,110,115,45,115,101,114,105,102,44,86,101,114,100,97,110,97,34,62,119,119,119,46,107,97,108,101,100,101,60,119,98,114,32,47,62,46,99,111,109,60,47,102,111,110,116,62,60,47,100,105,118,62,60,47,116,100,62,60,47,116,114,62,60,47,116,97,98,108,101,62,60,47,116,100,62,60,47,116,114,62,60,116,114,62,10,60,116,100,32,99,108,97,115,115,61,34,97,99,95,107,97,114,105,109,34,32,104,101,105,103,104,116,61,34,50,48,37,34,32,98,103,99,111,108,111,114,61,34,35,70,70,70,70,70,70,34,32,105,100,61,34,116,97,119,53,34,32,97,108,105,103,110,61,34,108,101,102,116,34,32,118,97,108,105,103,110,61,34,109,105,100,100,108,101,34,32,111,110,70,111,99,117,115,61,34,115,115,40,39,103,111,32,116,111,32,119,119,119,46,98,105,116,109,101,100,60,119,98,114,32,47,62,101,110,46,99,111,109,39,44,39,97,119,53,39,41,34,32,111,110,77,111,117,115,101,79,118,101,114,61,34,115,115,40,39,103,111,32,116,111,32,119,119,119,46,98,105,116,109,101,100,60,119,98,114,32,47,62,101,110,46,99,111,109,39,44,39,97,119,53,39,41,34,32,32,111,110,77,111,117,115,101,79,117,116,61,34,99,115,40,41,34,32,111,110,67,108,105,99,107,61,34,103,97,40,39,104,116,116,112,58,47,47,97,100,115,101,114,118,101,114,46,109,121,110,101,116,46,99,111,109,47,65,100,83,101,114,118,101,114,47,99,108,105,99,107,46,106,115,112,63,117,114,108,61,51,51,54,49,55,53,56,50,56,51,56,50,53,52,57,55,54,49,48)
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-117794.js b/src/3rdparty/v8/test/mjsunit/regress/regress-117794.js
deleted file mode 100644
index 5e11b40..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-117794.js
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Loads specialized to be from the global object should not omit the
-// smi check on the receiver. The code below should not crash.
-
-print = function() {}
-
-function constructor() {};
-
-function assertHasOwnProperties(object, limit) {
- for (var i = 0; i < limit; i++) { }
-}
-
-try {
- Object.keys();
-} catch(exc2) {
- print(exc2.stack);
-}
-
-var x1 = new Object();
-
-try {
- new Function("A Man Called Horse", x1.d);
-} catch(exc3) {
- print(exc3.stack);
-}
-
-try {
- (-(true)).toPrecision(0x30, 'lib1-f1');
-} catch(exc1) {
- print(exc1.stack);
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1178598.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1178598.js
deleted file mode 100644
index 9caaec2..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1178598.js
+++ /dev/null
@@ -1,90 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Regression test cases for issue 1178598.
-
-// Make sure const-initialization doesn't conflict
-// with heap-allocated locals for catch variables.
-var value = (function(){
- try { } catch(e) {
- // Force the 'e' variable to be heap-allocated
- // by capturing it in a function closure.
- (function() { e; });
- }
- // Make sure the two definitions of 'e' do
- // not conflict in any way.
- eval("const e=1");
- return e;
-})();
-
-assertEquals(1, value);
-
-
-
-// Make sure that catch variables can be accessed using eval.
-var value = (function() {
- var result;
- try {
- throw 42;
- } catch (e) {
- result = eval("e");
- }
- return result;
-})();
-
-assertEquals(42, value);
-
-
-
-// Make sure that heap-allocated locals for catch variables aren't
-// visible outside the catch scope and that they are visible from
-// within.
-var value = (function() {
- var result;
- try {
- throw 87;
- } catch(e) {
- // Force the 'e' variable to be heap-allocated
- // by capturing it in a function closure.
- (function() { e; });
- result = eval("e");
- }
-
- // Expect accessing 'e' to yield an exception because
- // it is not defined in the current scope.
- try {
- eval("e");
- assertTrue(false); // should throw exception
- } catch(exception) {
- assertTrue(exception instanceof ReferenceError);
- return result;
- }
-})();
-
-assertEquals(87, value);
-
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1181.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1181.js
deleted file mode 100644
index d45a0be..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1181.js
+++ /dev/null
@@ -1,54 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// The first count times, test is called with an integer argument and
-// crankshaft produces code for int32 representation. Test that the
-// implementation correctly deoptimizes.
-
-// Flags: --allow-natives-syntax
-
-function test(x) {
- var xp = x * 1 - 1;
- return xp;
-}
-
-
-function check(count) {
- %DeoptimizeFunction(test);
- var i;
- for(var x=0; x < count; x++){
- for(var y=0; y < count; y++){
- i = test(x / 100);
- }
- }
- assertEquals((count - 1) / 100, i + 1);
-}
-
-
-check(150);
-check(200);
-check(350); \ No newline at end of file
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1182832.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1182832.js
deleted file mode 100644
index 6c4fcb4..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1182832.js
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var caught = false;
-try {
- (function () {
- var e = 0;
- eval("const e = 1;");
- })();
-} catch (e) {
- caught = true;
- assertTrue(e instanceof TypeError);
-}
-assertTrue(caught);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1184.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1184.js
deleted file mode 100644
index 0bb1b3c..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1184.js
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test the case when finally clause throws another exception (stack overflow)
-// which goes through some try/catch block---we need to clear v8::TryCatch
-// catcher as it doesn't catch original exception any more.
-
-o = {};
-o.__defineGetter__('foo', function() { throw 42; });
-function f() {
- try {
- // throw below sets up Top::thread_local_.catcher_...
- throw 42;
- } finally {
- // ...JS accessor traverses v8 runtime/JS boundary and
- // when coming back from JS to v8 runtime, retraverses
- // stack with catcher set while processing exception
- // which is not caught by external try catch.
- try { o.foo; } catch(e) { };
- return;
- }
-};
-f();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1187524.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1187524.js
deleted file mode 100644
index 2aeb1c5..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1187524.js
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Make sure we don't die on conversion to Smi in string indexing
-
-assertEquals(undefined, ""[0x40000000]);
-assertEquals(undefined, ""[0x80000000]);
-assertEquals(undefined, ""[-1]);
-assertEquals(undefined, ""[-0x40000001]);
-assertEquals(undefined, ""[-0x80000000]);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-119429.js b/src/3rdparty/v8/test/mjsunit/regress/regress-119429.js
deleted file mode 100644
index a876487..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-119429.js
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-var d = 0;
-function recurse() {
- if (++d == 25135) { // A magic number just below stack overflow on ia32
- %DebugBreak();
- }
- recurse();
-}
-assertThrows(function() { recurse();} );
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-119609.js b/src/3rdparty/v8/test/mjsunit/regress/regress-119609.js
deleted file mode 100644
index 99041ad..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-119609.js
+++ /dev/null
@@ -1,71 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-
-Debug = debug.Debug;
-
-var exception = false;
-
-function listener(event, exec_state, event_data, data) {
- try {
- if (event == Debug.DebugEvent.Break) {
- function lookup(name) {
- return exec_state.frame(0).evaluate(name).value();
- }
-
- assertEquals(3, lookup("e"));
- assertEquals(4, lookup("f"));
- assertEquals(1, lookup("a"));
-
- try {
- assertEquals(2, lookup("b"));
- } catch (e) {
- assertEquals("ReferenceError: b is not defined", e.toString());
- }
- }
- } catch (e) {
- exception = e.toString() + e.stack;
- }
-}
-
-Debug.setListener(listener);
-
-function f(a, b) {
- var c = 3;
- function d(e, f) {
- var g = a;
- var h = c;
- debugger;
- }
-
- return d;
-}
-
-f(1, 2)(3, 4);
-
-assertFalse(exception);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-119925.js b/src/3rdparty/v8/test/mjsunit/regress/regress-119925.js
deleted file mode 100644
index 6712754..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-119925.js
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that the throw is not inlined if object literals cannot be
-// inlined.
-Array.prototype.__proto__ = { 77e4 : null };
-function continueWithinLoop() {
- for (var key in [(1.2)]) { }
-};
-continueWithinLoop();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1199401.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1199401.js
deleted file mode 100644
index cc7985d..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1199401.js
+++ /dev/null
@@ -1,75 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Ensure that we can correctly change the sign of the most negative smi.
-
-// Possible Smi ranges.
-var ranges = [{min: -1073741824, max: 1073741823, bits: 31},
- {min: -2147483648, max: 2147483647, bits: 32}];
-
-for (var i = 0; i < ranges.length; i++) {
- var range = ranges[i];
- var min_smi = range.min;
- var max_smi = range.max;
- var bits = range.bits;
- var name = bits + "-bit";
-
- var result = max_smi + 1;
-
- // Min smi as literal
- assertEquals(result, eval(min_smi + " * -1"), name + "-litconmult");
- assertEquals(result, eval(min_smi + " / -1"), name + "-litcondiv");
- assertEquals(result, eval("-(" + min_smi + ")"), name + "-litneg");
- assertEquals(result, eval("0 - (" + min_smi + ")")), name + "-conlitsub";
-
- // As variable:
- assertEquals(result, min_smi * -1, name + "-varconmult");
- assertEquals(result, min_smi / -1, name + "-varcondiv");
- assertEquals(result, -min_smi, name + "-varneg");
- assertEquals(result, 0 - min_smi, name + "-convarsub");
-
- // Only variables:
- var zero = 0;
- var minus_one = -1;
-
- assertEquals(result, min_smi * minus_one, name + "-varvarmult");
- assertEquals(result, min_smi / minus_one, name + "-varvardiv");
- assertEquals(result, zero - min_smi, name + "-varvarsub");
-
- // Constants as variables
- assertEquals(result, eval(min_smi + " * minus_one"), name + "-litvarmult");
- assertEquals(result, eval(min_smi + " / minus_one"), name + "-litvarmdiv");
- assertEquals(result, eval("0 - (" + min_smi + ")"), name + "-varlitsub");
-
- var half_min_smi = -(1 << (bits >> 1));
- var half_max_smi = 1 << ((bits - 1) >> 1);
-
- assertEquals(max_smi + 1, -half_min_smi * half_max_smi, name + "-half1");
- assertEquals(max_smi + 1, half_min_smi * -half_max_smi, name + "-half2");
- assertEquals(max_smi + 1, half_max_smi * -half_min_smi, name + "-half3");
- assertEquals(max_smi + 1, -half_max_smi * half_min_smi, name + "-half4");
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1199637.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1199637.js
deleted file mode 100644
index 8b02a65..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1199637.js
+++ /dev/null
@@ -1,76 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --es52_globals
-
-// Make sure that we can introduce global variables (using
-// both var and const) that shadow even READ_ONLY variables
-// in the prototype chain.
-const NONE = 0;
-const READ_ONLY = 1;
-
-// Use DeclareGlobal...
-%SetProperty(this.__proto__, "a", 1234, NONE);
-assertEquals(1234, a);
-eval("var a = 5678;");
-assertEquals(5678, a);
-
-%SetProperty(this.__proto__, "b", 1234, NONE);
-assertEquals(1234, b);
-eval("const b = 5678;");
-assertEquals(5678, b);
-
-%SetProperty(this.__proto__, "c", 1234, READ_ONLY);
-assertEquals(1234, c);
-eval("var c = 5678;");
-assertEquals(5678, c);
-
-%SetProperty(this.__proto__, "d", 1234, READ_ONLY);
-assertEquals(1234, d);
-eval("const d = 5678;");
-assertEquals(5678, d);
-
-// Use DeclareContextSlot...
-%SetProperty(this.__proto__, "x", 1234, NONE);
-assertEquals(1234, x);
-eval("with({}) { var x = 5678; }");
-assertEquals(5678, x);
-
-%SetProperty(this.__proto__, "y", 1234, NONE);
-assertEquals(1234, y);
-eval("with({}) { const y = 5678; }");
-assertEquals(5678, y);
-
-%SetProperty(this.__proto__, "z", 1234, READ_ONLY);
-assertEquals(1234, z);
-eval("with({}) { var z = 5678; }");
-assertEquals(5678, z);
-
-%SetProperty(this.__proto__, "w", 1234, READ_ONLY);
-assertEquals(1234, w);
-eval("with({}) { const w = 5678; }");
-assertEquals(5678, w);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1200351.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1200351.js
deleted file mode 100644
index f752a1e..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1200351.js
+++ /dev/null
@@ -1,2032 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Make sure the 'constructor' property isn't enumerable.
-var enums = "";
-for (var k in this) enums += (k + '|');
-assertEquals(-1, enums.split('|').indexOf("constructor"));
-
-// Make sure this doesn't crash.
-new this.constructor;
-new this.constructor();
-new this.constructor(1,2,3,4,5,6);
-
-var x = 0;
-try {
- eval("SetValueOf(typeof(break.prototype.name), Math.max(typeof(break)))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("export Join((void), false.className(), null instanceof continue, return 'a', 0.__defineGetter__(x,function(){native}))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("with ({ void&&null.push(goto NaN) : Math.max(undef).toText }) { {-1/null,1.isNull} }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new break>>>=native.charCodeAt(-1.valueOf())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new Number(this > native)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new {native,0.2}?continue+undef:IsSmi(0.2)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("const x = break.toString()&&return continue")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for (-1==continue.toJSONProtocol, GetFunctionFor(break.call(NaN)), (!new RegExp).prototype.new Object()<<void) { debugger.__defineSetter__(null,function(){continue})>>>=GetFunctionFor(-1) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for (parseFloat(NaN).splice() in null.add(1).className()) { true[0.2]<<x.splice() }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("let (debugger.constructor.valueOf()) { this.sort().true.splice() }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("unescape(break.toObject()).prototype.new RegExp.continue.__lookupGetter__(x.slice(1, NaN)) = typeof(null.push(0.2))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new Date(Iterator(continue.pop()))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("function X(x) { return new RegExp.shift().concat({debugger,continue}) }; X(return goto 0)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("Instantiate(0.add(break)&&x > null)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("with ({ eval(Array(x)) : 1.call('a').superConstructor }) { debugger.lastIndex.toLocaleString() }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("x = return true.__defineGetter__(this,function(){0.2})")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("x = new typeof(0)&this.lastIndex")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("String(new RegExp.call(1)).prototype.unescape(parseFloat(-1)) = false<<true.x.lastIndexOf(1)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("with ({ 1+debugger.valueOf() : continue.join().name() }) { parseInt(true)==undef.sort() }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new RegExp>>0.2.superConstructor.prototype.eval(void).className() = false.join().prototype.name")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("export (new Object()?undef:native)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("x = new null.isNull.slice(x.prototype.value, Iterator(undef))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("export function () { 0.2 }.unshift()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new Math.max(continue.valueOf())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("x = return debugger.toObject()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("switch (-1.length+new Object().prototype.name) { case (debugger.constructor.sort()): IsPrimitive(undef.__defineSetter__(undef,function(){native})); break; }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("delete (!new Object().toLocaleString())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new Date(0<<'a'>>>=new RegExp['a'])")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("native {unescape(true),new RegExp.isNull}")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("const x = -1.lastIndexOf(false)?parseFloat(void):Join(null, continue, new Object(), x, break)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("label null/void-break.__lookupGetter__(native)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new Function(0.2.join().constructor)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("label function () { false }.__lookupGetter__(this==1)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("Instantiate(-1.prototype.0.2.unshift())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("const x = new return goto -1")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new {Number(debugger)}")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("if (parseInt(break) instanceof 0.length) { this.(!0.2) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("SetValueOf(break.superConstructor[throw new false(true)], this.~x)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("SetValueOf(function () { IsSmi(-1) }, unescape(IsPrimitive(void)))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for (new RegExp.join().className() in new Object().length()>>true.toObject()) { parseFloat(escape(debugger)) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("const x = new String(debugger).toJSONProtocol")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("SetValueOf(1.indexOf('a')<<break.__lookupGetter__('a'), new Object().null.prototype.new RegExp.charCodeAt(-1))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("const x = new {parseInt(0)}")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new Date(void.join().add(escape(undef)))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("native parseFloat(false.charAt(new RegExp))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new Date(~Iterator(void))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new Function(NaN.shift().toJSONProtocol)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new Date(native-debugger<<continue.slice(x, new RegExp))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("x = parseFloat(~new Object())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for (null.size/true.add(void) in 0+continue&true.null) { continue.toObject()/throw new true(debugger) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for (Iterator(native+break) in debugger.superConstructor.constructor) { Math.max(0.add(undef)) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new {-1.add(native),true.sort()}")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new {IsSmi(break),throw new 'a'(null)}")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("switch (parseInt(0).length()) { case ('a'.toObject().__defineSetter__(GetFunctionFor(null),function(){(!x)})): IsSmi(void).constructor; break; }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("x = new 0.lastIndexOf(NaN).shift()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("with ({ 0>>>=this.lastIndex : new Object().lastIndexOf(true).toObject() }) { x.lastIndex > 1.__defineSetter__(false,function(){this}) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("with ({ throw new false(0.2).prototype.name : parseFloat(false)+(!debugger) }) { escape(undef.lastIndex) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("Math.pow(0.2).toJSONProtocol.prototype.break.superConstructor.slice(NaN.exec(undef), -1.lastIndexOf(NaN)) = true.splice().length")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("native continue.className().constructor")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("let (0.2.isNull&undef.toString()) { continue/void+parseInt(null) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("const x = new Math.pow(break==this)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("SetValueOf(continue.__lookupGetter__(null).constructor, debugger.filter(0.2)>>>=this.'a')")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("with ({ 0.2.unshift() > true.size : return Math.max(new RegExp) }) { void.splice().toString() }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new unescape(false).unshift()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("function X(x) { return this.true?'a'==this:0.2.__lookupGetter__(void) }; X(Iterator(false).length)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("const x = function () { null }.__defineSetter__(0.charCodeAt(new Object()),function(){null>>>=new Object()})")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("import goto 'a'.charAt(native.className())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("import 0.2.isNull.__lookupGetter__(debugger.size)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for (~new Object().push(Array(null)) in new RegExp>>>=void.prototype.name) { goto break.lastIndex }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("delete String(x).slice(String('a'), parseFloat(false))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new parseInt(continue.__defineGetter__(0.2,function(){1}))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("Instantiate(true.concat(undef)==0.2.new RegExp)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("function X(x) { return NaN['a']?-1.exec(0):NaN.prototype.this }; X(native.prototype.name.toLocaleString())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for (debugger==continue.toObject(), Array(NaN.className()), Math.max(new RegExp).prototype.value) { GetFunctionFor('a').prototype.value }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("const x = new parseInt(break)==Array(x)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for (parseInt(0.2.charCodeAt(this)), this.continue.prototype.name, native.superConstructor.superConstructor) { Join(0.__defineGetter__(continue,function(){undef}), {1}, parseFloat(0), undef.__defineSetter__(break,function(){null}), x?-1:-1) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("export Join(debugger.splice(), parseInt(NaN), new RegExp.pop(), this.false, x.-1)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("x = Math.max(native).charCodeAt(continue==break)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for (void==NaN.sort(), new Object()==new RegExp.toObject(), -1/NaN.unshift()) { GetFunctionFor(true).name() }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for ((!'a'.join()), ~NaN.__defineGetter__(undef,function(){this}), Math.pow(NaN).__lookupGetter__(typeof(false))) { throw new debugger.toObject()(Math.max(-1)) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for (NaN.shift()&&undef&&continue in throw new x(NaN).prototype.-1&x) { return native.toJSONProtocol }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("x = new (0).charAt(this.charCodeAt(new Object()))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("function X(x) { return x.valueOf().size }; X(0.2.unshift().unshift())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("if (eval(new Object().valueOf())) { break.prototype.name.__defineGetter__(eval(NaN),function(){Math.max(native)}) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for (Math.pow(1).isNull in Iterator(continue.length())) { Join(true, 0.2, null, x, new Object()).length }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("SetValueOf(0>>>=void.unshift(), void.exec('a').undef.length())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("delete throw new this(0.2).pop()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new Iterator(unescape(continue))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("function X(x) { return unescape(goto debugger) }; X(new RegExp.push(break).name())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("x = undef/'a'.indexOf(-1.exec(false))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for (continue.isNull.filter(this.toText), function () { throw new 'a'(0.2) }, native?break:undef.prototype.return continue) { Array(void.toText) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("const x = new this.slice(new Object(), 1).isNull")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for (0.2.className().call((!debugger)), native.__defineGetter__(0,function(){x}).name(), null.splice().splice()) { NaN.charCodeAt(new Object()) > true.toString() }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("native false.length?new RegExp instanceof this:Array(undef)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new ~0.2.call(typeof(false))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new Number(0.2.sort())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new x.join().shift()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("switch (~new Object().toText) { case (new RegExp.unshift().exec(new RegExp<<debugger)): -1.length.exec(this.isNull); break; }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new parseInt(~true)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new unescape(debugger.call(null))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("const x = new GetFunctionFor(0.2).toObject()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("delete IsPrimitive(null.join())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for (eval(0.2) instanceof debugger.splice() in null.superConstructor==new Object()&void) { Number(0+x) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("let ('a'-continue?null.length():escape(continue)) { return undef.push(false.shift()) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for (Array(x.length) in 'a'.length().sort()) { goto (new Object()) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("let (NaN==true.length) { IsPrimitive(0.2).prototype.value }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("SetValueOf(return true&&void, new RegExp.toObject().length())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new Math.pow(void).length")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new Function(void.add(continue).charCodeAt(this.toObject()))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("export Join(break.toObject(), 0.2.isNull, false.call(0), break.filter(break), 1.length())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("if (1/NaN.__lookupGetter__(undef.prototype.value)) { escape(eval(this)) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new Function(Join(unescape(x), new RegExp.__defineGetter__(debugger,function(){NaN}), 'a'.indexOf(0.2), false.prototype.name, (this)))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("const x = new Math.pow(native).indexOf(1>>>=-1)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new RegExp?native:continue.join().prototype.Math.max(x.__defineSetter__(1,function(){continue})) = parseFloat(parseInt(null))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("native function () { new RegExp }.new RegExp.pop()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("import typeof(new RegExp.valueOf())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("switch (0.2.size>>NaN-continue) { case ('a'.push(true).indexOf(NaN.lastIndexOf(-1))): {0.2,x}.toObject(); break; }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("if (IsSmi(new Object())/false.filter('a')) { function () { Iterator(debugger) } }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("x = break.lastIndex.size")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new Function(new Object() > 0.length())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("native IsPrimitive(continue)==break.charCodeAt(new Object())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new break.true<<'a'-NaN")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new Number(-1?'a':-1)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for (parseFloat('a'.exec(continue)) in (!new RegExp)&&0.2.toObject()) { {true,x}.add(void.prototype.NaN) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("let (-1.prototype.value.join()) { (!1.prototype.name) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new GetFunctionFor(continue).toJSONProtocol")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for (Math.pow(continue.slice(null, native)), goto (!0), native?1:this.charAt(String(debugger))) { parseFloat(~this) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("SetValueOf(debugger.pop().length, new RegExp.isNull.toText)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for (typeof(new RegExp.slice(new RegExp, 0)) in native.toLocaleString().lastIndexOf(0.2.length())) { native>>>=new RegExp.length() }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("native x.join().className()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new 0?0:true.toLocaleString()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("x = IsPrimitive(0).concat(new Object().name())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("x = new parseFloat(x)?this.valueOf():IsSmi(x)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("x = new 'a'.slice(null, -1).shift()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("label 'a'+void.concat('a'>>>=-1)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new Function(escape(0.length))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("const x = parseInt(0.lastIndexOf(NaN))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("SetValueOf(null&debugger.valueOf(), 0[false].push(false.add(debugger)))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("x = parseInt(new RegExp.__lookupGetter__(break))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("SetValueOf(~false&&break>>0, new RegExp.lastIndex.add({this}))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("x = Join(break, continue, 0, debugger, NaN).toLocaleString()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("import new Object().sort().superConstructor")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("const x = new IsSmi(goto -1)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("function X(x) { return Iterator(null).toObject() }; X(-1==new Object()==0.__lookupGetter__(native))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("native void.join().add(parseFloat(continue))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("let (function () { -1 }.shift()) { escape(1.unshift()) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new Function(new RegExp.indexOf(1).filter(continue instanceof break))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("if (NaN?continue:NaN.shift()) { native.push(null).add(new Object().superConstructor) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("function X(x) { return new Object().length().toText }; X(debugger.indexOf(this).toText)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("const x = new Object().call('a').charCodeAt(native.size)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new function () { continue }.add(true.slice(continue, new RegExp))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("x[native] instanceof -1.join().prototype.this.null.size = 0.2.prototype.x+0.2.indexOf(false)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for (this instanceof new RegExp.splice() in null>>>=new RegExp.valueOf()) { function () { unescape(1) } }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for (true.shift()/native.null in undef.call(NaN).isNull) { native+this-x.size }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("function X(x) { return false.pop()<<Join(continue, false, break, NaN, -1) }; X(IsSmi(debugger>>x))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("if ({parseFloat(null),Math.max(native)}) { 0.2-new Object().__lookupGetter__(eval(new Object())) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("SetValueOf(Array(1).toLocaleString(), null.name().exec(undef.filter(false)))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new Function(true.filter(this).pop())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("let (break.lastIndex.superConstructor) { new Object().toString().length() }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("label (!0.2/debugger)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("with ({ NaN.concat(new RegExp)+Join(1, false, new Object(), new Object(), x) : unescape(x).concat(Iterator(-1)) }) { 'a'.isNull.__lookupGetter__(this+native) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("export break.name()/IsPrimitive(this)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new {null}.prototype.value")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new true+false.__lookupGetter__(null&continue)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("if (-1.push(new RegExp)[void.valueOf()]) { new RegExp.className().__lookupGetter__(Array(0)) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("export NaN.__lookupGetter__(undef).__lookupGetter__(void.isNull)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("with ({ ~new RegExp.filter(undef&&this) : String(continue)<<NaN.toText }) { this.exec(this).length }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for (true&void.exec(void.exec(continue)) in Join('a', undef, new Object(), continue, x) instanceof {undef}) { unescape(-1.prototype.name) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("import void.push(true).join()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("SetValueOf({break}&x.name(), 1.charAt(false).slice(continue.superConstructor, this&&break))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("let (this.call(this) > Iterator(continue)) { new Object().prototype.value.slice(1.slice(native, -1), (!false)) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("export parseInt(new RegExp>>>=x)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for (escape(x==debugger), NaN.shift()&debugger?false:0.2, (!new RegExp)&goto break) { unescape(x.toText) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new Date(throw new NaN.toObject()(this?break:true))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new (typeof(this))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for (unescape('a'/0) in ~new Object().lastIndex) { IsSmi(0).push(0.concat(0.2)) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("(!new RegExp)[0.2 > new Object()].prototype.Number(debugger.join()) = native&-1.size")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new false.toJSONProtocol&&0.2.constructor")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for (~0?0.2:undef in new RegExp.charCodeAt(0).prototype.name) { NaN.toLocaleString().splice() }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for (~IsPrimitive(new RegExp), true.toString().size, null.charCodeAt('a') > null.concat(0)) { break.toJSONProtocol/IsPrimitive(break) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new parseInt(new Object()).lastIndexOf(NaN > void)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("export break.splice()&&-1.prototype.new Object()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("{{true,0}}.prototype.break.length.splice() = 'a'.toText.superConstructor")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("let (debugger>>>=continue > break.exec(1)) { Math.pow(new RegExp)==NaN>>>=0.2 }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("with ({ 0.2==0.2/goto true : IsSmi(native).isNull }) { throw new {x,null}(false.className()) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("x = {false.concat(null),Math.pow(NaN)}")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("export Array(null).add(NaN.valueOf())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for (parseFloat(new Object()==true) in GetFunctionFor('a'&false)) { native&undef.toJSONProtocol }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("x = new {eval(null),(debugger)}")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("import {this.0,debugger.filter(NaN)}")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("import break.charAt(-1)<<false.__defineSetter__(0,function(){x})")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("x = goto false > new Object()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("null.superConstructor[debugger.isNull].prototype.Math.max('a').shift() = parseInt(0).size")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("native eval(void.add(break))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new Date(x > void.join())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("with ({ {this.toObject()} : Number(NaN).toJSONProtocol }) { 0.2.className().prototype.name }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("if (false.__defineGetter__(undef,function(){undef}).exec(NaN.splice())) { typeof(Join(void, new RegExp, break, -1, -1)) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for (false.splice().toObject(), continue.name().size, Join(void?debugger:this, new RegExp.__defineSetter__(NaN,function(){NaN}), x.unshift(), this.true, parseInt(break))) { undef<<continue.toText }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("let (this.0.indexOf(break)) { break.charAt(this).unshift() }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("import Join(new Object().splice(), this instanceof 1, parseFloat(NaN), undef.concat(x), void.className())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new Function(goto NaN.toString())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("label 'a'<<break.shift()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("const x = Iterator(continue)[new Object()>>NaN]")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("x = Join(new RegExp, 'a', this, void, true)>>>=continue>>native")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("import new Object().toJSONProtocol.splice()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("function X(x) { return undef.__defineSetter__(native,function(){void}).toJSONProtocol }; X(eval(x).charCodeAt('a'.concat(true)))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("Instantiate(throw new 0.2.__defineGetter__(NaN,function(){-1})(void&&new RegExp))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("const x = 0.unshift() > IsSmi(NaN)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("label x.call(null).lastIndex")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("SetValueOf(IsSmi(0.2.add(0)), x.add(break).this.__defineGetter__(undef,function(){new RegExp}))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("native Number(this).toObject()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new NaN.shift().add(String(new Object()))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new null.name().splice()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("const x = 1.undef.push(new Object().call(null))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new Function(parseInt(1).size)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("const x = this.x.sort()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("Instantiate(continue.valueOf().prototype.new RegExp.splice())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("Instantiate(this.charAt(continue)?undef+'a':unescape(1))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("SetValueOf({throw new 'a'(0.2),void.lastIndexOf(NaN)}, Math.pow(new Object().className()))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("if (1.slice(new Object(), this).valueOf()) { parseInt(true).pop() }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("with ({ 0.2.superConstructor.lastIndex : goto debugger<<Join(undef, 1, true, undef, debugger) }) { function () { NaN }.prototype.name }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("-1.exec(debugger).length.prototype.debugger > null.slice(Iterator(void), continue.concat(0)) = parseInt(throw new 1(1))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new Date(new Object().constructor.call(Number(1)))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("const x = new null.unshift().call(escape(x))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("switch (Math.pow(native).toLocaleString()) { case (false instanceof native.join()): Math.pow(NaN).size; break; }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("label function () { new Object() }.prototype.true.size")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("const x = Join('a', 0.2, false, new Object(), void).continue.className()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("const x = IsPrimitive(break.__lookupGetter__(-1))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("x = new Object()>>0.2.prototype.name")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("const x = new IsPrimitive(new Object()).shift()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("if (Array(parseInt(break))) { 'a'.toString().unshift() }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("const x = return 0.2>>>=-1?undef:undef")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new Object().splice().unshift().prototype.null&&native.__lookupGetter__(undef>>>=NaN) = (1<<break)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("delete NaN.charAt(1).concat(NaN.0.2)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("Instantiate(new RegExp.sort().toJSONProtocol)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("function X(x) { return GetFunctionFor(false).lastIndexOf(1.shift()) }; X(this.0.2.charCodeAt(0.2))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for (goto NaN.toObject(), ~true.'a', parseInt(debugger)+eval(false)) { eval(0.2.constructor) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("switch (parseInt(debugger).pop()) { case (this.push(true).valueOf()): Join(continue, debugger, native, native, debugger).filter(Array(continue)); break; }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("x = new debugger.sort() instanceof this>>1")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("with ({ parseFloat(false).prototype.(!new Object()) : {unescape(-1)} }) { Math.max(new RegExp.superConstructor) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("Instantiate({Math.pow(break)})")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("import typeof(break.valueOf())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("Instantiate(Math.pow(-1[new RegExp]))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("native IsPrimitive(1).concat({x,null})")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("NaN.length.prototype.value.prototype.function () { null==new Object() } = break.name()&IsPrimitive(0)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("delete NaN.prototype.-1.toString()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new continue.unshift()+parseFloat(undef)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("const x = new NaN-break.call(false.pop())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("native new RegExp.exec(break).pop()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("SetValueOf({'a',null}.prototype.value, 1.shift() instanceof {'a',0})")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for (debugger.valueOf().size, function () { x.unshift() }, IsSmi(1)&&true==native) { new Object().__defineGetter__(this,function(){'a'})&&eval(native) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("export 'a'.pop().charCodeAt(x.className())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("export String(IsSmi(debugger))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("typeof(debugger).valueOf().prototype.(1).lastIndexOf(this.break) = x.prototype.name.toLocaleString()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("native Array(typeof(false))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new Function(1.__defineGetter__(1,function(){1}).null.constructor)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("x = 1.charAt(0).toObject()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new Date(Math.max('a'.filter(new Object())))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new Date(void.prototype.name.unshift())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for (-1.toJSONProtocol.call(-1.size) in ~x.sort()) { eval(0&debugger) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for ('a'==undef.join() in Math.pow(IsSmi(false))) { undef > this>>goto x }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("Instantiate('a'.constructor.isNull)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for (GetFunctionFor(this.slice(0.2, this)), this.prototype.void?null.unshift():native.className(), Number(new Object().call(-1))) { 0.splice() > debugger&&this }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("with ({ {goto new RegExp,Join(new Object(), native, continue, -1, x)} : NaN&x/{0,break} }) { this.lastIndexOf(new RegExp).join() }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("let (typeof(break.length())) { native&&false.sort() }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("x = new parseFloat(-1 instanceof break)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("label throw new continue.unshift()(null.shift())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("import Math.max(0.2.toLocaleString())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("function X(x) { return false.unshift().className() }; X(escape(NaN&NaN))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new Date(Join(native.toText, goto x, 0.2.splice(), Join('a', 0, void, NaN, 1), eval(native)))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("if (GetFunctionFor(true.prototype.name)) { parseInt(NaN).toLocaleString() }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new escape(native).__defineSetter__(return native,function(){undef > native})")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("const x = new typeof(true > 'a')")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("switch (debugger.prototype.0.2<<new RegExp+false) { case (native.splice().filter({x})): false&true.indexOf(1.__defineGetter__(native,function(){continue})); break; }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("label true-NaN.prototype.native.shift()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new typeof(new RegExp.splice())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("switch (function () { this.NaN }) { case (this.continue.prototype.parseFloat(false)): IsPrimitive(new Object()-'a'); break; }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("export break.__lookupGetter__(debugger).indexOf(native.pop())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("switch (GetFunctionFor(NaN.lastIndex)) { case (new RegExp.lastIndex.toLocaleString()): NaN.join().indexOf(eval(-1)); break; }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("native {void.charAt(true)}")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new new Object()==NaN.join()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new Date(typeof(Array(new Object())))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("label throw new (false)(eval(x))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new new RegExp.size.charAt(true > -1)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("x = debugger.toObject().charAt(this<<undef)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("with ({ 'a'.valueOf()+parseInt(undef) : IsPrimitive(null).lastIndex }) { NaN.toObject().isNull }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("x = new new Object()&&void.lastIndexOf(0.2.splice())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("with ({ 1+1.name() : Join(Math.pow(debugger), new RegExp-1, x > 1, x<<-1, new RegExp.size) }) { undef[undef].size }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("delete native.call(-1).isNull")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("if (new Object()>>>=break==Math.pow(debugger)) { IsPrimitive(this).lastIndex }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for ((!x&&new RegExp) in undef.toLocaleString().slice(new RegExp.indexOf(NaN), IsPrimitive(-1))) { false.size+debugger[x] }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("import 0.length.__defineGetter__(0.2.shift(),function(){'a'.className()})")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("Instantiate(goto new Object().push(void))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("with ({ Array(this.0) : parseFloat(void).pop() }) { escape(true).slice(continue.lastIndex, false.toObject()) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new native==true.filter({NaN,-1})")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for ('a'.__defineSetter__(continue,function(){-1}).unshift(), Array(undef).toLocaleString(), undef.__lookupGetter__(void).toLocaleString()) { parseInt(false/native) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("this.x<<false.prototype.true.toLocaleString()==NaN.pop() = this.superConstructor>>Math.max(true)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("function X(x) { return this.prototype.name.splice() }; X(unescape(x).__lookupGetter__(Number(debugger)))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("x = new (!NaN).unshift()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new Function(escape(Iterator(this)))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("function X(x) { return Number(new RegExp)<<this?true:-1 }; X(Number(null).lastIndex)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("export this.void.splice()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for (this.prototype.null.sort() in -1.className()&void.filter(new Object())) { GetFunctionFor(new Object()).pop() }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("label 0[break].sort()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for (null.length().toString(), eval(-1).toObject(), (!continue.concat(continue))) { true.name()/native<<new RegExp }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for (unescape(null).sort(), Number(undef).charCodeAt(IsPrimitive(NaN)), null>>true/null.join()) { 0.2.toObject() > IsPrimitive(new RegExp) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new Date({NaN,native}&&1+undef)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("Instantiate(IsPrimitive(undef>>>=1))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for (Join(true, 'a', true, 1, NaN).add({1}), GetFunctionFor(new Object().push(new Object())), goto 1.length) { Math.pow(GetFunctionFor(native)) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("function X(x) { return break.isNull > parseInt(continue) }; X((new RegExp instanceof 1))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("with ({ Number(false).indexOf(x instanceof new Object()) : function () { x.toString() } }) { false.name().indexOf(GetFunctionFor(null)) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new Date('a'.constructor.prototype.name)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("GetFunctionFor(void&new Object()).prototype.debugger.add(null)[void.unshift()] = new RegExp.isNull.Iterator(this)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("delete false?break:undef.constructor")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("with ({ (native.filter(1)) : eval(this&&0.2) }) { undef.length instanceof new Object().toText }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("export String(break.lastIndexOf(null))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("label (!Iterator(new RegExp))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("SetValueOf(String(null==-1), {1&0})")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new Date(parseInt('a' > 0))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("SetValueOf(debugger.toJSONProtocol.indexOf(escape(0)), this.filter(null).__defineSetter__(continue.break,function(){debugger>>null}))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("this.name().length().prototype.goto false.exec(true.charCodeAt(continue)) = Join(-1-false, undef.superConstructor, 'a'.shift(), (!x), NaN.this)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new Function(typeof(new RegExp).sort())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new 0.2.concat(x).splice()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for (goto void.indexOf(throw new x(1)), typeof(return new RegExp), IsPrimitive(-1).add(void.lastIndexOf(debugger))) { null.indexOf(void).toText }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("return new RegExp.pop().prototype.String(x.toObject()) = 1.superConstructor.charCodeAt(new RegExp.charCodeAt(null))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new null&true.prototype.name")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("const x = -1>>>=NaN.indexOf((debugger))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("const x = new parseFloat(null).splice()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("import -1.lastIndexOf(new RegExp) instanceof throw new void(0.2)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("if ((0.shift())) { Join(IsPrimitive(-1), break.__defineSetter__(true,function(){break}), parseInt(null), parseFloat(break), true/null) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("x = new escape(1 > continue)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("switch (parseInt(undef)>>false.filter(continue)) { case (this.undef/new Object()): 'a'.toJSONProtocol.__defineGetter__(new RegExp-undef,function(){parseFloat(new RegExp)}); break; }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("{void}.shift().prototype.this.Array(new Object()) = {0.2,new RegExp}.lastIndexOf(break.splice())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new continue&&new Object().lastIndexOf(new Object() instanceof 1)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for (throw new 'a'.exec(x)(return false), native/void.constructor, {native}==true.toLocaleString()) { goto 1 instanceof 1.isNull }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for (break.concat(break) > native>>>=-1, (debugger.x), Join(x, void, void, new RegExp, null).name()) { void.charCodeAt(true).valueOf() }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("const x = new 'a'>>0 instanceof new Object().push(new RegExp)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("if (return ~break) { break.__defineGetter__(break,function(){-1}).shift() }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("Instantiate(Join(null, -1, undef, null, 0).toString())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("let ({new RegExp,void}.slice(break.isNull, false.shift())) { eval(debugger.slice(this, 1)) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("function X(x) { return {GetFunctionFor(0)} }; X('a'.prototype.debugger.concat(void.constructor))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("let (~true instanceof continue) { escape(new RegExp.toObject()) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("escape(0[native]).prototype.debugger.add(1).unshift() = (true.join())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for (unescape(void).length, undef.toObject() instanceof x.toObject(), 0.2+true.concat(true.__lookupGetter__(this))) { (x).toJSONProtocol }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("Instantiate(escape(null).__lookupGetter__(undef.size))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("label Array(continue[false])")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("function X(x) { return Number(this&&false) }; X(NaN.toJSONProtocol.toJSONProtocol)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("null.toString().shift().prototype.Array(x).__lookupGetter__('a'.prototype.x) = {1.length,break.join()}")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("x = new 1.charCodeAt(break)+IsSmi(false)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("SetValueOf(String(this) > 0.2.toText, new RegExp.length.lastIndexOf(1<<0.2))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("switch (new RegExp.pop().charAt(IsSmi(new RegExp))) { case (native.indexOf(this)/native.lastIndex): this.debugger.indexOf(debugger); break; }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new Date(Number(x)[debugger.prototype.break])")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("function X(x) { return new RegExp>>>=x.unshift() }; X(Math.max(continue.name()))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("Instantiate(IsSmi(null.size))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("x = native?0.2:1+GetFunctionFor(void)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for (IsPrimitive(-1)>>>=break.valueOf() in String(0 > 0.2)) { Math.max(true.length()) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("switch (escape(unescape(NaN))) { case (Math.pow(eval(undef))): true.charAt(null)&new RegExp.pop(); break; }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("delete Join(new RegExp, 1, false, new Object(), this).toLocaleString()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("label return x.filter(x.join())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new new RegExp.pop().shift()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("x = new (!debugger.size)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("label Math.max(debugger.__lookupGetter__(NaN))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("Instantiate(eval(debugger[debugger]))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new 0.2.filter(true)&throw new true(debugger)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new Date(continue.exec(debugger) > Math.pow(0.2))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("void.prototype.value.name().prototype.Number(undef&NaN) = false.__lookupGetter__(-1).name()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("Instantiate(null.__defineGetter__(native,function(){continue}).valueOf())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("with ({ {new Object()[continue],native.length()} : undef.name().superConstructor }) { Math.pow(break).indexOf(0.toJSONProtocol) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("switch (Iterator(native.call(new RegExp))) { case (String(new RegExp).isNull): goto new RegExp.pop(); break; }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("const x = new x.constructor instanceof undef.indexOf(-1)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("SetValueOf(this.~null, continue.pop()&0&'a')")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("switch (GetFunctionFor(~0)) { case ('a'.'a'<<undef.__defineGetter__(false,function(){true})): (!1).lastIndex; break; }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("function X(x) { return debugger.unshift().0.toString() }; X(Number(break).0.2>>>=false)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new Date(Iterator(x)/undef.pop())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("SetValueOf(undef.join().toLocaleString(), null.add(false).valueOf())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("IsSmi(x).toString().prototype.0>>continue.indexOf(NaN.__lookupGetter__(new Object())) = ~-1&typeof(0)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for (continue.__lookupGetter__(new RegExp).toObject(), false-0.toString(), return native.sort()) { new RegExp.name().className() }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("switch (escape(new RegExp).toString()) { case (goto eval(1)): this.filter(new Object()).call(new RegExp.slice(null, this)); break; }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("x = debugger-false.toText")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("const x = Number(null>>new RegExp)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("delete this&native.indexOf('a'.splice())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("SetValueOf(~Math.max(break), 0.2.valueOf().length)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("Instantiate(Number(native.charCodeAt(x)))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("const x = new goto continue.add(0)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("delete typeof(debugger).name()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("'a'<<false.toText.prototype.throw new true(1).lastIndex = 'a'.name().length")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("native 'a'.indexOf(debugger).charAt(NaN.add(new Object()))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("SetValueOf(break>>false.toString(), (false.indexOf(this)))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("delete goto NaN==(!debugger)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new Date(0.2.join().superConstructor)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("const x = new this.void.toLocaleString()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("SetValueOf(x.exec(debugger)[GetFunctionFor(0)], native.toObject().exec(new RegExp.sort()))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("Instantiate(0.2.valueOf().toLocaleString())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new Function(-1.toJSONProtocol.prototype.name)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new Date(Array(-1.shift()))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("export break.concat(undef).unshift()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("native parseFloat(-1)?NaN.toText:debugger.toString()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for (void-continue/continue.prototype.undef in String(break.toText)) { parseInt(false).isNull }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("Instantiate(true.isNull.toObject())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("with ({ typeof(debugger).toObject() : x.constructor>>>=null.__defineGetter__(native,function(){debugger}) }) { unescape(undef.lastIndexOf(false)) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("export unescape(continue)<<native[0]")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("if (String(0).unescape(debugger)) { {break.pop(),0.2.constructor} }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("String({true}).prototype.break.length.call(false > 0.2) = GetFunctionFor(0.prototype.new RegExp)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("with ({ false.push(0.2).indexOf(Math.max(debugger)) : x&x.prototype.name }) { goto 1.lastIndex }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new Function(0.2.lastIndex&0.2?break:NaN)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("const x = -1.prototype.value.toText")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("import native.toLocaleString()-1.prototype.0")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("export debugger[-1].indexOf(Join(new Object(), 0, x, new Object(), 0.2))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("function X(x) { return (!true).lastIndexOf(true.splice()) }; X(NaN.toString().prototype.value)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("function X(x) { return continue.slice(-1, 1).prototype.true.name() }; X('a'.push(void).prototype.value)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for (goto new RegExp.length(), x.sort().className(), Math.max(new RegExp.toJSONProtocol)) { (IsSmi(-1)) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("const x = 0.splice()&&-1.sort()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("let (Math.max(-1>>1)) { break.toLocaleString().toJSONProtocol }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new {void.prototype.break,new RegExp.toString()}")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new IsSmi(debugger).name()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new 'a'.concat(undef).sort()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("x = new {debugger.toObject(),'a' > false}")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("if (goto 1.concat(Join(x, undef, native, x, new Object()))) { new RegExp.prototype.name==new RegExp.superConstructor }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("function X(x) { return new Object().__defineGetter__(0.2,function(){0.2}).length() }; X(void.isNull<<parseFloat(NaN))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("delete continue.toJSONProtocol.toLocaleString()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for (continue.constructor.toObject() in true&&undef.toJSONProtocol) { String(0+break) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("import true.call(continue)>>break.toString()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("label escape(this) > Math.pow(new RegExp)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new {void}/IsSmi(new Object())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("switch (native==null?debugger.prototype.name:null.toLocaleString()) { case (NaN.push(this).join()): (break instanceof continue); break; }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("x = new Math.pow(x.push(0))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new (Array(NaN))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("label IsSmi(new RegExp).toLocaleString()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("label NaN.push(1).shift()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("{escape(undef),debugger.filter(0.2)}.prototype.-1 > new RegExp[0.2.valueOf()] = new RegExp.prototype.value.splice()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("x = new Join(0.2, x, continue, debugger, new Object()).size")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("with ({ Number(null).name() : Math.pow(true).__defineGetter__(debugger.toString(),function(){false+0.2}) }) { this.{x,break} }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new Math.pow(goto debugger)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("x = IsPrimitive(void.pop())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("x = new Object().toString().toJSONProtocol")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("Instantiate(this.String(0.2))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("let ({-1.call(new RegExp)}) { break.length().splice() }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("import null.size.__defineGetter__(void.filter(x),function(){null.pop()})")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("const x = new IsPrimitive(null.superConstructor)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new eval(-1.prototype.continue)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("switch (typeof(Iterator('a'))) { case (0.constructor>>~1): void.__defineGetter__(void,function(){1})/GetFunctionFor(0); break; }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for (false instanceof x.add(true.charAt(new RegExp)) in Join(undef.lastIndexOf(break), 0.2.add(new Object()), Iterator(1), {'a',x}, Array(new Object()))) { function () { null }/1&&-1 }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new escape('a'.concat(undef))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new Function(Math.pow(NaN).toText)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("x = new throw new 0(NaN).className()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("delete String(GetFunctionFor(new Object()))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("x = Iterator(new Object()).charAt((0.2))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("Number(undef.charAt(1)).prototype.undef.lastIndexOf(true).slice(1.className(), undef.filter(-1)) = null<<null.push(parseInt('a'))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("x = {Math.max(1),IsSmi(new Object())}")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("switch (new Object().exec(0).isNull) { case (escape(IsSmi(false))): false.toObject()-null.size; break; }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new 'a'.__defineSetter__(debugger,function(){false}).name()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("x = debugger?-1:0+true.prototype.1")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new {false instanceof continue,native.size}")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("GetFunctionFor(continue.__lookupGetter__(0.2)).prototype.Math.max(1.splice()) = true.__defineGetter__(undef,function(){NaN}).filter(String(new RegExp))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("null.size-1.toLocaleString().prototype.(this).shift() = GetFunctionFor(native.charAt(break))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("Instantiate((!null.indexOf(-1)))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("x = {break.sort()}")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new throw new debugger.splice()(this.__lookupGetter__(undef))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("unescape(x[native]).prototype.0.splice().-1.prototype.true = x.prototype.value.className()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("export x+true.length")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("export debugger.indexOf(-1).indexOf(true.constructor)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("for ({break}.exec(new Object().continue) in eval(0.2.charAt(new Object()))) { throw new null.length(null?break:-1) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("const x = NaN.toLocaleString().toObject()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("function X(x) { return Math.pow(break+false) }; X(Join(true.add(new Object()), null[-1], new RegExp[true], NaN&&debugger, x.charAt(undef)))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("switch ((break).add(true.sort())) { case (undef.charAt(native).__defineGetter__(IsPrimitive(1),function(){NaN<<new RegExp})): -1.__defineSetter__(null,function(){-1}) > this.charCodeAt(this); break; }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("import return 0.2.length")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("continue.join().toText.prototype.Number(debugger).slice(new RegExp.-1, (NaN)) = function () { (!null) }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("export Number(break.__lookupGetter__(false))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new Date(return null/x)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("export Number(undef).shift()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("const x = 1[native]/this&true")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("delete typeof(debugger.unshift())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("import x.charAt(false)&-1>>x")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("if (null.toText.superConstructor) { typeof(-1).toString() }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("let (parseFloat(continue.superConstructor)) { 0.2.toText.prototype.value }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("label parseInt(IsSmi(null))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("delete new Object().valueOf().indexOf(true-x)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("x = new unescape(1.__defineGetter__(new Object(),function(){x}))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("let (undef.size.splice()) { 1.constructor.charCodeAt(0+'a') }")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("this.new RegExp.pop().prototype.eval(debugger).toJSONProtocol = unescape(continue).valueOf()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("const x = new this.new RegExp.indexOf(unescape(new Object()))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("x = new break instanceof false instanceof native.length()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("Instantiate(parseFloat(x).valueOf())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("label {escape(true),Math.max(null)}")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("'a'>>>=void.prototype.value.prototype.break.prototype.break.indexOf(0.className()) = (!this&native)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("import Number(NaN).push(IsSmi(break))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("export true.exec(void).toObject()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new Function({'a',true}/eval(new Object()))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("label null.concat(null).toObject()")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("native {0.2.length,new RegExp.lastIndexOf(-1)}")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("function X(x) { return Math.max({0.2}) }; X(true.charCodeAt(null).add(new RegExp.name()))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("delete -1.lastIndex.length")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("new Function(0.2[1].call(true > break))")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("Instantiate('a'.toLocaleString().splice())")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
-
-try {
- eval("x = typeof(void&&void)")
-} catch (e) { if (e.message.length > 0) { print (e.message); } };
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-120099.js b/src/3rdparty/v8/test/mjsunit/regress/regress-120099.js
deleted file mode 100644
index 3b06f4d..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-120099.js
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-'use strict';
-
-var a = Object.create(Object.prototype);
-var b = Object.create(Object.prototype);
-assertFalse(a === b);
-
-Object.defineProperty(a, 'x', { value: 1 });
-assertTrue(a.x === 1);
-assertTrue(b.x === undefined);
-
-b.x = 2;
-assertTrue(a.x === 1);
-assertTrue(b.x === 2);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1201933.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1201933.js
deleted file mode 100644
index d4827e4..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1201933.js
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Make sure this doesn't fail with an assertion
-// failure during lazy compilation.
-
-var caught = false;
-try {
- (function() {
- const a;
- var a;
- })();
-} catch (e) {
- caught = true;
-}
-assertTrue(caught);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1203459.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1203459.js
deleted file mode 100644
index da1e0ed..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1203459.js
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Ensure that we allow non-index number properties in object literals.
-var obj = { 0.2 : 'a' }
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1207.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1207.js
deleted file mode 100644
index 102178a..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1207.js
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test throwing an exception from instanceof.
-try {
-var object = { };
-function fib(n) {
- var f0 = (object instanceof encodeURI)('#2: var x = 1; x <= 1 === true'), f1 = 1;
-}
-fib(75);
-} catch (o) { }
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1207276.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1207276.js
deleted file mode 100644
index ce7efe9..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1207276.js
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-try {
- const x=n,Glo0al;
-} catch(e){}
-
-delete Date;
-function X(){String(Glo0al)}
-X();
-X();
-X();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1209.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1209.js
deleted file mode 100644
index c017fb5..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1209.js
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function crashMe(n) {
- var nasty = [];
- while (n--)
- nasty.push("a" + 0);
- return Function.apply(null, nasty);
-}
-crashMe(64 + 1).length;
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1210.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1210.js
deleted file mode 100644
index 43500e7..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1210.js
+++ /dev/null
@@ -1,52 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Deoptimization of the key expression in an arguments access should see
-// the arguments object as the value of the receiver.
-
-var a = 0;
-
-function observe(x, y) { return x; }
-
-function side_effect(x) { a = x; }
-
-function test() {
- // We will trigger deoptimization of 'a + 0' which should bail out to
- // immediately after the call to 'side_effect' (i.e., still in the key
- // subexpression of the arguments access).
- return observe(a, arguments[side_effect(a), a + 0]);
-}
-
-// Run enough to optimize assuming global 'a' is a smi.
-for (var i = 0; i < 10; ++i) test(0);
-%OptimizeFunctionOnNextCall(test);
-test(0);
-
-a = "hello";
-test(0);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1213.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1213.js
deleted file mode 100644
index d66e3ce..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1213.js
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that we do not allow overwriting a global property with a
-// redeclaration that makes the property configurable (and hence
-// deletable).
-
-var x = 0;
-
-function TestGlobal() {
- for (var i = 0; i < 2; i++) {
- x = x + 1;
- }
- this.eval('function x() {};');
- delete this['x'];
-}
-
-TestGlobal();
-TestGlobal();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1213516.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1213516.js
deleted file mode 100644
index 6703f32..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1213516.js
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function run() {
- var a = 0;
- L: try {
- throw "x";
- } catch(x) {
- break L;
- } finally {
- a = 1;
- }
- assertEquals(1, a);
-}
-
-run();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1213575.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1213575.js
deleted file mode 100644
index f3a11db..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1213575.js
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Make sure that a const definition does not try
-// to pass 'the hole' to a defined setter.
-
-this.__defineSetter__('x', function(value) { assertTrue(value === 1); });
-
-var caught = false;
-try {
- eval('const x = 1');
-} catch(e) {
- assertTrue(e instanceof TypeError);
- caught = true;
-}
-assertFalse(caught);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-121407.js b/src/3rdparty/v8/test/mjsunit/regress/regress-121407.js
deleted file mode 100644
index 4403708..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-121407.js
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var a = [0,1,2,3];
-a[2000000] = 2000000;
-a.length=2000;
-for (var i = 0; i <= 256; i++) {
- a[i] = new Object();
-}
-
-a = [0.5,1.5,2.5,3.5,4.5,5.5];
-a[2000000] = 2000000;
-a.length=2000;
-for (var i = 0; i <= 256; i++) {
- a[i] = new Object();
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1215.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1215.js
deleted file mode 100644
index 93a89f6..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1215.js
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Make sure that the "message" property on Error.prototype
-// has the following descriptor:
-// {writable: true, enumerable: false, and configurable: true}
-
-var desc = Object.getOwnPropertyDescriptor(Error.prototype, 'message');
-
-assertEquals(desc.writable, true);
-assertEquals(desc.enumerable, false);
-assertEquals(desc.configurable, true);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1215653.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1215653.js
deleted file mode 100644
index 881e22c..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1215653.js
+++ /dev/null
@@ -1,365 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Make sure this doesn't crash the VM.
-
-var caught = false;
-try {
- OverflowParserStack();
- assertTrue(false);
-} catch (e) {
- assertTrue(e instanceof RangeError);
- caught = true;
-}
-assertTrue(caught);
-
-
-function OverflowParserStack() {
- var s =
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((" +
- "((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((";
- eval(s);
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1217.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1217.js
deleted file mode 100644
index e00d537..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1217.js
+++ /dev/null
@@ -1,50 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Check that RegExp.prototype is itself a RegExp object.
-
-var proto = RegExp.prototype;
-assertEquals("[object RegExp]", Object.prototype.toString.call(proto));
-
-assertEquals("(?:)", proto.source);
-assertEquals(false, proto.global);
-assertEquals(false, proto.multiline);
-assertEquals(false, proto.ignoreCase);
-assertEquals(0, proto.lastIndex);
-
-assertEquals("/(?:)/", proto.toString());
-
-var execResult = proto.exec("argle");
-assertEquals(1, execResult.length);
-assertEquals("", execResult[0]);
-assertEquals("argle", execResult.input);
-assertEquals(0, execResult.index);
-
-assertTrue(proto.test("argle"));
-
-// We disallow re-compiling the RegExp.prototype object.
-assertThrows(function(){ proto.compile("something"); }, TypeError);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1218.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1218.js
deleted file mode 100644
index dd036ed..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1218.js
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Builtin functions should not have prototype objects.
-assertFalse(Error.prototype.toString.hasOwnProperty("prototype"));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1229.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1229.js
deleted file mode 100644
index 5447f3f..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1229.js
+++ /dev/null
@@ -1,146 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Check that %NewObjectFromBound works correctly when called from optimized
-// frame.
-function foo1(x, y, z) {
- assertEquals(1, x);
- assertEquals(2, y);
- assertEquals(3, z);
-}
-
-function foo2(x, y, z) {
- assertEquals(1, x);
- assertEquals(2, y);
- assertEquals(undefined, z);
-}
-
-function foo3(x, y, z) {
- assertEquals(1, x);
- assertEquals(2, y);
- assertEquals(3, z);
-}
-
-
-var foob1 = foo1.bind({}, 1);
-var foob2 = foo2.bind({}, 1);
-var foob3 = foo3.bind({}, 1);
-
-
-function f1(y, z) {
- return %NewObjectFromBound(foob1);
-}
-
-function f2(y, z) {
- return %NewObjectFromBound(foob2);
-}
-
-function f3(y, z) {
- return %NewObjectFromBound(foob3);
-}
-
-// Check that %NewObjectFromBound looks at correct frame for inlined function.
-function g1(z, y) {
- return f1(y, z); /* f should be inlined into g, note rotated arguments */
-}
-
-function g2(z, y, x) {
- return f2(y); /* f should be inlined into g, note argument count mismatch */
-}
-
-function g3(z, y, x) {
- return f3(x, y, z); /* f should be inlined into g, note argument count mismatch */
-}
-
-// Check that %NewObjectFromBound looks at correct frame for inlined function.
-function ff(x) { }
-function h1(z2, y2) {
- var local_z = z2 >> 1;
- ff(local_z);
- var local_y = y2 >> 1;
- ff(local_y);
- return f1(local_y, local_z); /* f should be inlined into h */
-}
-
-function h2(z2, y2, x2) {
- var local_z = z2 >> 1;
- ff(local_z);
- var local_y = y2 >> 1;
- ff(local_y);
- return f2(local_y); /* f should be inlined into h */
-}
-
-function h3(z2, y2, x2) {
- var local_z = z2 >> 1;
- ff(local_z);
- var local_y = y2 >> 1;
- ff(local_y);
- var local_x = x2 >> 1;
- ff(local_x);
- return f3(local_x, local_y, local_z); /* f should be inlined into h */
-}
-
-
-function invoke(f, args) {
- for (var i = 0; i < 5; i++) f.apply(this, args);
- %OptimizeFunctionOnNextCall(f);
- f.apply(this, args);
-}
-
-invoke(f1, [2, 3]);
-invoke(f2, [2]);
-invoke(f3, [2, 3, 4]);
-invoke(g1, [3, 2]);
-invoke(g2, [3, 2, 4]);
-invoke(g3, [4, 3, 2]);
-invoke(h1, [6, 4]);
-invoke(h2, [6, 4, 8]);
-invoke(h3, [8, 6, 4]);
-
-// Check that %_IsConstructCall returns correct value when inlined
-var NON_CONSTRUCT_MARKER = {};
-var CONSTRUCT_MARKER = {};
-function baz(x) {
- return (!%_IsConstructCall()) ? NON_CONSTRUCT_MARKER : CONSTRUCT_MARKER;
-}
-
-function bar(x, y, z) {
- var non_construct = baz(0); /* baz should be inlined */
- assertSame(non_construct, NON_CONSTRUCT_MARKER);
- var non_construct = baz(); /* baz should be inlined */
- assertSame(non_construct, NON_CONSTRUCT_MARKER);
- var non_construct = baz(0, 0); /* baz should be inlined */
- assertSame(non_construct, NON_CONSTRUCT_MARKER);
- var construct = new baz(0);
- assertSame(construct, CONSTRUCT_MARKER);
- var construct = new baz(0, 0);
- assertSame(construct, CONSTRUCT_MARKER);
-}
-
-invoke(bar, [1, 2, 3]);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1233.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1233.js
deleted file mode 100644
index a09b715..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1233.js
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that Object.freeze and Object.getOwnPropertyDescriptor do not
-// call toString or valueOf on members of the object.
-
-// See http://code.google.com/p/v8/issues/detail?id=1233.
-
-
-var delicate = new Object();
-delicate.toString = function(){ throw Error("toString"); };
-delicate.valueOf = function(){ throw Error("valueOf"); };
-
-var x = { foo: delicate };
-
-var status = "fail";
-try {
- Object.getOwnPropertyDescriptor(x, "foo");
- Object.freeze(x);
- status = "succeed";
-} catch (e) {}
-
-assertEquals("succeed", status);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-123512.js b/src/3rdparty/v8/test/mjsunit/regress/regress-123512.js
deleted file mode 100644
index 8a747bc..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-123512.js
+++ /dev/null
@@ -1,78 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test that boilerplate objects for array literals with non-constant
-// elements (which will contain the hole at non-constant positions) will
-// not cause prototype chain lookups when generating optimized code.
-
-function f(x) {
- return [x][0];
-}
-
-// Test data element on prototype.
-Object.prototype[0] = 23;
-assertSame(1, f(1));
-assertSame(2, f(2));
-%OptimizeFunctionOnNextCall(f);
-assertSame(3, f(3));
-%DeoptimizeFunction(f);
-
-// Test accessor element on prototype.
-Object.prototype.__defineGetter__(0, function() { throw Error(); });
-assertSame(4, f(4));
-assertSame(5, f(5));
-%OptimizeFunctionOnNextCall(f);
-assertSame(6, f(6));
-%DeoptimizeFunction(f);
-
-// Test the same on boilerplate objects for object literals that contain
-// both non-constant properties and non-constant elements.
-
-function g(x, y) {
- var o = { foo:x, 0:y };
- return o.foo + o[0];
-}
-
-// Test data property and element on prototype.
-Object.prototype[0] = 23;
-Object.prototype.foo = 42;
-assertSame(3, g(1, 2));
-assertSame(5, g(2, 3));
-%OptimizeFunctionOnNextCall(g);
-assertSame(7, g(3, 4));
-%DeoptimizeFunction(g);
-
-// Test accessor property and element on prototype.
-Object.prototype.__defineGetter__(0, function() { throw Error(); });
-Object.prototype.__defineGetter__('foo', function() { throw Error(); });
-assertSame(3, g(1, 2));
-assertSame(5, g(2, 3));
-%OptimizeFunctionOnNextCall(g);
-assertSame(7, g(3, 4));
-%DeoptimizeFunction(g);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1236.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1236.js
deleted file mode 100644
index 48e3d3d..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1236.js
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Should not crash.
-
-pattern = RegExp("",""); // RegExp is irrelevant, as long as it's not an atom.
-string = 'a'; // Anything non-empty (flat ASCII).
-pattern.exec(string); // Ensure that JSRegExp is compiled.
-pattern["@"] = 42; // Change layout of JSRegExp object.
-pattern.exec(string); // Call again to trigger bug in stub.
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1237.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1237.js
deleted file mode 100644
index 111df80..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1237.js
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Deoptimization after a conditional expression in an effect context should
-// not see the value of the expression.
-function observe(x, y) { return x; }
-function test(x) {
- return observe(1, ((x? observe(observe.prototype.x): 'c'), x + 1));
-}
-
-for (var i = 0; i < 5; ++i) test(0);
-%OptimizeFunctionOnNextCall(test);
-test(0);
-
-test("a");
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-123919.js b/src/3rdparty/v8/test/mjsunit/regress/regress-123919.js
deleted file mode 100644
index be34608..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-123919.js
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --gc-global
-
-function g(max,val) {
- this.x = 0;
- for (var i = 0; i < max; i++) {
- this.x = i/100;
- }
- this.val = val;
-}
-
-function f(max) {
- var val = 0.5;
- var obj = new g(max,val);
- assertSame(val, obj.val);
-}
-
-f(1);
-f(1);
-%OptimizeFunctionOnNextCall(f);
-f(200000);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-124.js b/src/3rdparty/v8/test/mjsunit/regress/regress-124.js
deleted file mode 100644
index 1197467..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-124.js
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-assertEquals("[object global]", this.toString());
-assertEquals("[object Undefined]", toString());
-
-assertEquals("[object global]", eval("this.toString()"));
-assertEquals("[object Undefined]", eval("toString()"));
-
-assertEquals("[object global]", eval("var f; this.toString()"));
-assertEquals("[object Undefined]", eval("var f; toString()"));
-
-
-function F(f) {
- assertEquals("[object global]", this.toString());
- assertEquals("[object Undefined]", toString());
-
- assertEquals("[object global]", eval("this.toString()"));
- assertEquals("[object Undefined]", eval("toString()"));
-
- assertEquals("[object global]", eval("var f; this.toString()"));
- assertEquals("[object Undefined]", eval("var f; toString()"));
-
- assertEquals("[object Undefined]", eval("f()"));
-
- // Receiver should be the arguments object here.
- assertEquals("[object Arguments]", eval("arguments[0]()"));
- with (arguments) {
- assertEquals("[object Arguments]", toString());
- }
-}
-
-F(Object.prototype.toString);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1240.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1240.js
deleted file mode 100644
index 1a0bf2e..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1240.js
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// This regression tests that we are not allowed to overwrite an existing
-// non-configurable getter with a new getter. In addition, we should not
-// be able to change the configurable flag from false to true.
-
-var a = {};
-Object.defineProperty(a, 'b',
- { get: function () { return 42; }, configurable: false });
-// Do not allow us to redefine b on a.
-a.__defineGetter__('b', function _b(){ return 'foo'; });
-assertEquals(42, a.b);
-var desc = Object.getOwnPropertyDescriptor(a, 'b');
-assertFalse(desc.configurable);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-124594.js b/src/3rdparty/v8/test/mjsunit/regress/regress-124594.js
deleted file mode 100644
index d51e1f6..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-124594.js
+++ /dev/null
@@ -1,50 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --expose-gc
-
-// Test that a GC inside a constructor frame is correctly handled right
-// after we deoptimize from an inlined constructor to a constructor stub
-// stack frame.
-
-function f(deopt) {
- var x = 1;
- if (deopt) {
- x = x + "foo";
- gc();
- }
- this.x = x;
-}
-
-function g(deopt) {
- return new f(deopt);
-}
-
-assertEquals({x:1}, g(false));
-assertEquals({x:1}, g(false));
-%OptimizeFunctionOnNextCall(g);
-assertEquals({x:"1foo"}, g(true));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1246.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1246.js
deleted file mode 100644
index f3dbec6..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1246.js
+++ /dev/null
@@ -1,83 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// This regression tests the behaviour of the parseInt function when
-// the given radix is not a SMI.
-
-// Flags: --allow-natives-syntax
-
-var nonSmi10 = Math.log(Math.exp(10));
-var nonSmi16 = Math.log(Math.exp(16));
-
-assertTrue(!%_IsSmi(nonSmi10) && nonSmi10 == 10);
-assertTrue(!%_IsSmi(nonSmi16) && nonSmi16 == 16);
-
-// Giving these values as the radix argument triggers radix detection.
-var radix_detect = [0, -0, NaN, Infinity, -Infinity, undefined, null,
- "0", "-0", "a"];
-
-// These values will result in an integer radix outside of the valid range.
-var radix_invalid = [1, 37, -2, "-2", "37"];
-
-// These values will trigger decimal parsing.
-var radix10 = [10, 10.1, "10", "10.1", nonSmi10];
-
-// These values will trigger hexadecimal parsing.
-var radix16 = [16, 16.1, 0x10, "0X10", nonSmi16];
-
-for (var i = 0; i < radix_detect.length; i++) {
- var radix = radix_detect[i];
- assertEquals(NaN, parseInt("", radix));
- assertEquals(23, parseInt("23", radix));
- assertEquals(0xaf, parseInt("0xaf", radix));
- assertEquals(NaN, parseInt("af", radix));
-}
-
-for (var i = 0; i < radix_invalid.length; i++) {
- var radix = radix_invalid[i];
- assertEquals(NaN, parseInt("", radix));
- assertEquals(NaN, parseInt("23", radix));
- assertEquals(NaN, parseInt("0xaf", radix));
- assertEquals(NaN, parseInt("af", radix));
-}
-
-for (var i = 0; i < radix10.length; i++) {
- var radix = radix10[i];
- assertEquals(NaN, parseInt("", radix));
- assertEquals(23, parseInt("23", radix));
- assertEquals(0, parseInt("0xaf", radix));
- assertEquals(NaN, parseInt("af", radix));
-}
-
-for (var i = 0; i < radix16.length; i++) {
- var radix = radix16[i];
- assertEquals(NaN, parseInt("", radix));
- assertEquals(0x23, parseInt("23", radix));
- assertEquals(0xaf, parseInt("0xaf", radix));
- assertEquals(0xaf, parseInt("af", radix));
-}
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1254366.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1254366.js
deleted file mode 100644
index 2f9e011..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1254366.js
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function gee() {};
-
-Object.prototype.findOrStore = function() {
- var z = this.vvv = gee;
- return z;
-};
-
-var a = new Object();
-assertEquals(gee, a.findOrStore());
-assertEquals(gee, a.findOrStore());
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-125515.js b/src/3rdparty/v8/test/mjsunit/regress/regress-125515.js
deleted file mode 100644
index 91650ce..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-125515.js
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-gc --debug-code
-
-function test(a) {
- a[0] = 1.5;
- assertEquals(0, a.length = 0);
-}
-a = new Array();
-test(a);
-test(a);
-// Make sure that a ends up in old space
-gc();
-gc();
-test(a);
-test(a);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1257.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1257.js
deleted file mode 100644
index c20fb86..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1257.js
+++ /dev/null
@@ -1,58 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function g(y) { assertEquals(y, 12); }
-
-var X = 0;
-
-function foo () {
- var cnt = 0;
- var l = -1;
- var x = 0;
- while (1) switch (l) {
- case -1:
- var y = x + 12;
- l = 0;
- break;
- case 0:
- // Loop for to hit OSR.
- if (cnt++ < 10000000) {
- l = 0;
- break;
- } else {
- l = 1;
- break;
- }
- case 1:
- // This case will contain deoptimization
- // because it has no type feedback.
- g(y);
- return;
- };
-}
-
-foo();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-126412.js b/src/3rdparty/v8/test/mjsunit/regress/regress-126412.js
deleted file mode 100644
index 0677f70..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-126412.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-"".match(/(A{9999999999}B|C*)*D/);
-"C".match(/(A{9999999999}B|C*)*D/);
-"".match(/(A{9999999999}B|C*)*/ );
-"C".match(/(A{9999999999}B|C*)*/ );
-"".match(/(9u|(2\`shj{2147483649,}\r|3|f|y|3*)+8\B)\W93+/);
-"9u8 ".match(/(9u|(2\`shj{2147483649,}\r|3|f|y|3*)+8\B)\W93+/);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1278.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1278.js
deleted file mode 100644
index 7ad8cda..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1278.js
+++ /dev/null
@@ -1,69 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// See: http://code.google.com/p/v8/issues/detail?id=1278
-
-// Test that that handling of 0/-0 is correct for binary operations when the
-// TypeRecordingBinaryOpStub transitions through different states.
-
-function add(x, y) {
- return x + y;
-}
-
-function sub(x, y) {
- return x - y;
-}
-
-function mul(x, y) {
- return x * y;
-}
-
-function div(x, y) {
- return x / y;
-}
-
-for (var i = 0; i < 10; i++) {
- assertEquals(0, add(0, 0));
- assertEquals(0, add(0, -0));
- assertEquals(0, add(-0, 0));
- assertEquals(-0, add(-0, -0));
-
- assertEquals(0, sub(0, 0));
- assertEquals(0, sub(0, -0));
- assertEquals(-0, sub(-0, 0));
- assertEquals(0, sub(-0, -0));
-
- assertEquals(0, mul(0, 0));
- assertEquals(-0, mul(0, -0));
- assertEquals(-0, mul(-0, 0));
- assertEquals(0, mul(-0, -0));
-
- assertEquals(0, div(0, 1));
- assertEquals(-0, div(0, -1));
- assertEquals(-0, div(-0, 1));
- assertEquals(0, div(-0, -1));
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-128018.js b/src/3rdparty/v8/test/mjsunit/regress/regress-128018.js
deleted file mode 100644
index 7bd1585..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-128018.js
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-gc
-
-function KeyedStoreIC(a) { a[(1)] = Math.E; }
-var literal = [1.2];
-literal.length = 0;
-literal.push('0' && 0 );
-KeyedStoreIC(literal);
-gc();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-128146.js b/src/3rdparty/v8/test/mjsunit/regress/regress-128146.js
deleted file mode 100644
index 730dd91..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-128146.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Define accessor properties, resulting in an AccessorPair with 2 transitions.
-Object.defineProperty({},"foo",{set:function(){},configurable:false});
-Object.defineProperty({},"foo",{get:function(){},configurable:false});
-
-// Define a data property under the same name.
-Object.defineProperty({},"foo",{});
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1309.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1309.js
deleted file mode 100644
index 122e591..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1309.js
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-var o = Object.preventExtensions({});
-assertThrows("o.__proto__ = {}");
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-131923.js b/src/3rdparty/v8/test/mjsunit/regress/regress-131923.js
deleted file mode 100644
index 58da07c..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-131923.js
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-assertFalse(/\u9999{4}/.test(""));
-assertTrue(/\u9999{0,4}/.test(""));
-assertFalse(/\u9999{4,}/.test(""));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-131994.js b/src/3rdparty/v8/test/mjsunit/regress/regress-131994.js
deleted file mode 100644
index 8347653..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-131994.js
+++ /dev/null
@@ -1,70 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-
-// Test that a variable in the local scope that shadows a context-allocated
-// variable is correctly resolved when being evaluated in the debugger.
-
-Debug = debug.Debug;
-
-var exception = false;
-
-function listener(event, exec_state, event_data, data) {
- if (event != Debug.DebugEvent.Break) return;
- var breakpoint = exec_state.frame(0);
- try {
- // Assert correct break point.
- assertTrue(breakpoint.sourceLineText().indexOf("// Break") > -1);
- // Assert correct value.
- assertEquals(3, breakpoint.evaluate('x').value());
- } catch (e) {
- exception = e;
- }
-}
-
-Debug.setListener(listener);
-
-function h() {
- var x; // Context-allocated due to g().
-
- var g = function g() {
- x = -7;
- };
-
- var f = function f() {
- var x = 3; // Allocated in the local scope.
- debugger; // Break.
- };
-
- f();
-}
-
-h();
-
-assertFalse(exception);
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1323.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1323.js
deleted file mode 100644
index 552a48d..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1323.js
+++ /dev/null
@@ -1,50 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Regression test for load/store operating with wrong number of bits.
-function get(a, index) {
- return a[index];
-}
-
-var a = new Float32Array(2);
-a[0] = 2.5;
-a[1] = 3.5;
-for (var i = 0; i < 5; i++) get(a, 0);
-%OptimizeFunctionOnNextCall(get);
-assertEquals(2.5, get(a, 0));
-assertEquals(3.5, get(a, 1));
-
-function set(a, index, value) {
- a[index] = value;
-}
-for (var i = 0; i < 5; i++) set(a, 0, 4.5);
-%OptimizeFunctionOnNextCall(set);
-set(a, 0, 4.5);
-assertEquals(4.5, a[0]);
-assertEquals(3.5, a[1]);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1327557.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1327557.js
deleted file mode 100644
index cd8f08f..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1327557.js
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var x = { valueOf: function() { throw "x"; } };
-var y = { valueOf: function() { throw "y"; } };
-
-var exception = false;
-try {
- x * -y;
-} catch (e) {
- exception = true;
- assertEquals("y", e);
-}
-assertTrue(exception);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-133211.js b/src/3rdparty/v8/test/mjsunit/regress/regress-133211.js
deleted file mode 100644
index f9473d1..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-133211.js
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Make sure we don't leak maps when reading intermediate property descriptors.
-
-var o = {};
-var x = {};
-Object.defineProperty(o, "foo", { get: undefined });
-Object.defineProperty(x, "foo", { get: undefined, set: undefined });
-var pd = Object.getOwnPropertyDescriptor(o, "foo");
-assertEquals(undefined, pd.set);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-133211b.js b/src/3rdparty/v8/test/mjsunit/regress/regress-133211b.js
deleted file mode 100644
index 87e35f4..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-133211b.js
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-gc
-
-setter = function(x) { return; }
-var o = {};
-Object.defineProperty(o, "foo", { set: setter });
-var x = {};
-Object.defineProperty(x, "foo", { set: setter });
-x.bar = 20;
-x = {};
-gc();
-o.foo = 20;
-assertEquals(undefined, o.foo);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1337.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1337.js
deleted file mode 100644
index ebcf84b..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1337.js
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test that the throw is not inlined if object literals cannot be
-// inlined.
-function bar() { throw {}; }
-
-function foo() { bar(); }
-
-for (var i = 0; i < 5; ++i) {
- try { foo() } catch (e) { }
-}
-%OptimizeFunctionOnNextCall(foo)
-try { foo() } catch (e) { }
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1346700.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1346700.js
deleted file mode 100644
index fe2d6fa..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1346700.js
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright 2007-2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var o = {"\u59cb\u53d1\u7ad9": 1};
-assertEquals(1, o.\u59cb\u53d1\u7ad9);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1351.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1351.js
deleted file mode 100644
index 656b19f..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1351.js
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test that the arguments value is does not escape when it appears as
-// an intermediate value in an expression.
-
-function h() { }
-
-function f() {
- var a = null;
- h(a = arguments);
-}
-
-f();
-%OptimizeFunctionOnNextCall(f);
-f();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1355.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1355.js
deleted file mode 100644
index de9364a..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1355.js
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that an exception is not thrown when trying to set a value for
-// a property that has only a defined getter, except when in strict mode.
-
-var foo = Object.defineProperty({}, "bar", {
- get: function () {
- return 10;
- }
- });
-
-assertDoesNotThrow("foo.bar = 20");
-
-function shouldThrow() {
- 'use strict';
- foo.bar = 20;
-}
-
-assertThrows("shouldThrow()");
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1360.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1360.js
deleted file mode 100644
index bebad28..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1360.js
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Check the receiver for the sort and replace functions to
-// Array.prototype.sort and String.prototype.replace.
-
-var global = this;
-function strict() { "use strict"; assertEquals(void 0, this); }
-function non_strict() { assertEquals(global, this); }
-
-[1,2,3].sort(strict);
-[1,2,3].sort(non_strict);
-
-"axc".replace("x", strict);
-"axc".replace("x", non_strict);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-136048.js b/src/3rdparty/v8/test/mjsunit/regress/regress-136048.js
deleted file mode 100644
index c9972e9..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-136048.js
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-try {
- /foo/\u0069
-} catch (e) {
- assertEquals(
- "SyntaxError: Invalid flags supplied to RegExp constructor '\\u0069'",
- e.toString());
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1365.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1365.js
deleted file mode 100644
index 59290f9..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1365.js
+++ /dev/null
@@ -1,82 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// See: http://code.google.com/p/v8/issues/detail?id=1365
-
-// Check that builtin methods are passed undefined as the receiver
-// when called as functions through variables.
-
-// Flags: --allow-natives-syntax
-
-// Global variable.
-var valueOf = Object.prototype.valueOf;
-var hasOwnProperty = Object.prototype.hasOwnProperty;
-
-function callGlobalValueOf() { valueOf(); }
-function callGlobalHasOwnProperty() { valueOf(); }
-
-assertEquals(Object.prototype, Object.prototype.valueOf());
-assertThrows(callGlobalValueOf);
-assertThrows(callGlobalHasOwnProperty);
-
-%OptimizeFunctionOnNextCall(Object.prototype.valueOf);
-Object.prototype.valueOf();
-
-assertEquals(Object.prototype, Object.prototype.valueOf());
-assertThrows(callGlobalValueOf);
-assertThrows(callGlobalHasOwnProperty);
-
-function CheckExceptionCallLocal() {
- var valueOf = Object.prototype.valueOf;
- var hasOwnProperty = Object.prototype.hasOwnProperty;
- var exception = false;
- try { valueOf(); } catch(e) { exception = true; }
- assertTrue(exception);
- exception = false;
- try { hasOwnProperty(); } catch(e) { exception = true; }
- assertTrue(exception);
-}
-CheckExceptionCallLocal();
-
-function CheckExceptionCallParameter(f) {
- var exception = false;
- try { f(); } catch(e) { exception = true; }
- assertTrue(exception);
-}
-CheckExceptionCallParameter(Object.prototype.valueOf);
-CheckExceptionCallParameter(Object.prototype.hasOwnProperty);
-
-function CheckPotentiallyShadowedByEval() {
- var exception = false;
- try {
- eval("hasOwnProperty('x')");
- } catch(e) {
- exception = true;
- }
- assertTrue(exception);
-}
-CheckPotentiallyShadowedByEval();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1369.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1369.js
deleted file mode 100644
index 48a8e7e..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1369.js
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-gc
-
-assertDoesNotThrow('gc.call(1)');
-assertDoesNotThrow('gc.call("asdf")');
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-137.js b/src/3rdparty/v8/test/mjsunit/regress/regress-137.js
deleted file mode 100644
index cc7b68c..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-137.js
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// See <URL:http://code.google.com/p/v8/issues/detail?id=137>
-
-(function () {
- var strNum = 170;
- var base = strNum / 16;
- var rem = strNum % 16;
- var base = base - (rem / 16); // base is now HeapNumber with valid Smi value.
-
- switch(base) {
- case 10: return "A"; // Expected result.
- case 11: return "B";
- case 12: return "C";
- case 13: return "D";
- case 14: return "E";
- case 15: return "F"; // Enough cases to trigger fast-case Smi switch.
- };
- fail("case 10", "Default case", "Heap number not recognized as Smi value");
-})();
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-137768.js b/src/3rdparty/v8/test/mjsunit/regress/regress-137768.js
deleted file mode 100644
index 9fbd7f3..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-137768.js
+++ /dev/null
@@ -1,73 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Create elements in a constructor function to ensure map sharing.
-function TestConstructor() {
- this[0] = 1;
- this[1] = 2;
- this[2] = 3;
-}
-
-function bad_func(o,a) {
- var s = 0;
- for (var i = 0; i < 1; ++i) {
- o.newFileToChangeMap = undefined;
- var x = a[0];
- s += x;
- }
- return s;
-}
-
-o = new Object();
-a = new TestConstructor();
-bad_func(o, a);
-
-// Make sure that we're out of pre-monomorphic state for the member add of
-// 'newFileToChangeMap' which causes a map transition.
-o = new Object();
-a = new TestConstructor();
-bad_func(o, a);
-
-// Optimize, before the fix, the element load and subsequent tagged-to-i were
-// hoisted above the map check, which can't be hoisted due to the map-changing
-// store.
-o = new Object();
-a = new TestConstructor();
-%OptimizeFunctionOnNextCall(bad_func);
-bad_func(o, a);
-
-// Pass in a array of doubles. Before the fix, the optimized load and
-// tagged-to-i will treat part of a double value as a pointer and de-ref it
-// before the map check was executed that should have deopt.
-o = new Object();
-// Pass in an elements buffer where the bit representation of the double numbers
-// are two adjacent small 32-bit values with the lowest bit set to one, causing
-// tagged-to-i to SIGSEGV.
-a = [2.122e-314, 2.122e-314, 2.122e-314];
-bad_func(o, a);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1383.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1383.js
deleted file mode 100644
index 4b08f5a..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1383.js
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that passing the strict_mode flag in extra ic state from
-// StubCache::ComputeKeyedLoadOrStoreExternalArray does not
-// hit an assertion in Code::ComputeFlags.
-
-x="";
-function foo(){
- "use strict";
- var wxemsx=(4);
- var wxemsx_0=Float32Array(wxemsx);
- wxemsx_0[0]={};
-}
-
-foo()
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1387.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1387.js
deleted file mode 100644
index d171d38..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1387.js
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Tests that we always return the same type error function when trying to
-// access strict mode caller and callee.
-
-function foo() {
- 'use strict';
- return arguments;
-}
-
-var get1 = Object.getOwnPropertyDescriptor(foo(), "caller").get;
-var get2 = Object.getOwnPropertyDescriptor(foo(), "callee").get;
-assertEquals(get1, get2);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1389.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1389.js
deleted file mode 100644
index 9b89bbf..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1389.js
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test optimized implementation of postfix ++ on undefined input.
-// See http://code.google.com/p/v8/issues/detail?id=1389
-
-for (var i=0; i<4; i++) {
- (function () {
- (function () {
- (function () {
- var x;
- y = x++;
- })();
- })();
- })();
-}
-
-assertEquals(NaN, y);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1401.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1401.js
deleted file mode 100644
index 33eb067..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1401.js
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// See: http://code.google.com/p/v8/issues/detail?id=1401
-
-var bottom = 0;
-var sizes = new Array();
-
-for (i = 0; i < 10; i++) {
- sizes[i] = 0;
-}
-
-function foo() {
- var size = bottom + 1 + 10;
- var t = (sizes[++bottom] = size);
- return t;
-}
-
-for (i = 0; i < 5; i++) {
- assertEquals(i + 11, foo());
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1403.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1403.js
deleted file mode 100644
index f2520cc..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1403.js
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// See: http://code.google.com/p/v8/issues/detail?id=1403
-
-a = [];
-Object.prototype.__proto__ = { __proto__: null };
-a.shift();
-
-a = [];
-Array.prototype.__proto__ = { __proto__: null };
-a.shift();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1412.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1412.js
deleted file mode 100644
index b043f19..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1412.js
+++ /dev/null
@@ -1,59 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that the apply with arguments optimization passes values
-// unchanged to strict-mode functions and builtins.
-
-// Flags: --allow-natives-syntax
-
-function strict() { "use strict"; return this; }
-
-function test_strict() {
- assertEquals(void 0, strict.apply(undefined, arguments));
- assertEquals(42, strict.apply(42, arguments));
- assertEquals("asdf", strict.apply("asdf", arguments));
-}
-
-for (var i = 0; i < 10; i++) test_strict();
-%OptimizeFunctionOnNextCall(test_strict);
-test_strict();
-
-function test_builtin(receiver) {
- Object.prototype.valueOf.apply(receiver, arguments);
-}
-
-for (var i = 0; i < 10; i++) test_builtin(this);
-%OptimizeFunctionOnNextCall(test_builtin);
-test_builtin(this);
-
-var exception = false;
-try {
- test_builtin(undefined);
-} catch(e) {
- exception = true;
-}
-assertTrue(exception);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1415.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1415.js
deleted file mode 100644
index f993e9b..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1415.js
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Surrogate pair range.
-// U+D800
-assertThrows(function(){ decodeURIComponent("%ED%A0%80"); }, URIError);
-// U+DBFF
-assertThrows(function(){ decodeURIComponent("%ED%AF%BF"); }, URIError);
-// U+DC00
-assertThrows(function(){ decodeURIComponent("%ED%B0%80"); }, URIError);
-// U+DFFF
-assertThrows(function(){ decodeURIComponent("%ED%BF%BF"); }, URIError);
-
-// Overlong encodings
-// U+007F in two bytes.
-assertThrows(function(){ decodeURIComponent("%C1%BF"); }, URIError);
-// U+07FF in three bytes.
-assertThrows(function(){ decodeURIComponent("%E0%9F%BF"); }, URIError);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1419.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1419.js
deleted file mode 100644
index 98a8b76..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1419.js
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that using bind several time does not change the length of existing
-// bound functions.
-
-function foo() {
-}
-
-var f1 = function (x) {}.bind(foo);
-var f2 = function () {};
-
-assertEquals(1, f1.length);
-
-// the object we bind to can be any object
-f2.bind(foo);
-
-assertEquals(1, f1.length);
-
-var desc = Object.getOwnPropertyDescriptor(f1, 'length');
-assertEquals(false, desc.writable);
-assertEquals(false, desc.enumerable);
-assertEquals(false, desc.configurable);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1423.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1423.js
deleted file mode 100644
index b0d0ca3..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1423.js
+++ /dev/null
@@ -1,65 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test that the Lithium environment iterator does stop iteration early.
-"use strict";
-
-function f0() {
- return f1('literal', true);
-}
-
-function f1(x, y) {
- return f2(x, y);
-}
-
-// Because it's strict, f2 has an environment containing only the constants
-// undefined, 'literal', and false. Bug 1423 would cause environment
-// iteration to stop early.
-//
-// Bug manifests as UNREACHABLE code (due to an unallocated register) in
-// debug builds.
-function f2(x, y) {
- if (y) {
- if (f3(x, 'other-literal')) {
- return 0;
- } else {
- return 1;
- }
- } else {
- return 2;
- }
-}
-
-function f3(x, y) {
- return x === y;
-}
-
-for (var i = 0; i < 5; ++i) f0();
-%OptimizeFunctionOnNextCall(f0);
-assertEquals(1, f0());
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1434.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1434.js
deleted file mode 100644
index 6f197af..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1434.js
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-function compare(a, b) {
- return a === b;
-}
-
-compare(1.5, 2.5);
-%OptimizeFunctionOnNextCall(compare);
-assertTrue(compare(undefined, undefined));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1436.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1436.js
deleted file mode 100644
index 390ccee..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1436.js
+++ /dev/null
@@ -1,79 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Check that reduce and reduceRight call the callback function with
-// undefined as the receiver (which for non-strict functions is
-// transformed to the global object).
-
-// Check receiver for reduce and reduceRight.
-
-var global = this;
-function non_strict(){ assertEquals(global, this); }
-function strict(){ "use strict"; assertEquals(void 0, this); }
-function strict_null(){ "use strict"; assertEquals(null, this); }
-
-[2, 3].reduce(non_strict);
-[2, 3].reduce(strict);
-[2, 3].reduceRight(non_strict);
-[2, 3].reduceRight(strict);
-
-
-// Check the receiver for callbacks in other array methods.
-[2, 3].every(non_strict);
-[2, 3].every(non_strict, undefined);
-[2, 3].every(non_strict, null);
-[2, 3].every(strict);
-[2, 3].every(strict, undefined);
-[2, 3].every(strict_null, null);
-
-[2, 3].filter(non_strict);
-[2, 3].filter(non_strict, undefined);
-[2, 3].filter(non_strict, null);
-[2, 3].filter(strict);
-[2, 3].filter(strict, undefined);
-[2, 3].filter(strict_null, null);
-
-[2, 3].forEach(non_strict);
-[2, 3].forEach(non_strict, undefined);
-[2, 3].forEach(non_strict, null);
-[2, 3].forEach(strict);
-[2, 3].forEach(strict, undefined);
-[2, 3].forEach(strict_null, null);
-
-[2, 3].map(non_strict);
-[2, 3].map(non_strict, undefined);
-[2, 3].map(non_strict, null);
-[2, 3].map(strict);
-[2, 3].map(strict, undefined);
-[2, 3].map(strict_null, null);
-
-[2, 3].some(non_strict);
-[2, 3].some(non_strict, undefined);
-[2, 3].some(non_strict, null);
-[2, 3].some(strict);
-[2, 3].some(strict, undefined);
-[2, 3].some(strict_null, null);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1439135.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1439135.js
deleted file mode 100644
index 737a7ba..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1439135.js
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-function Test() {
- var left = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
- var right = "YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY";
- for (var i = 0; i < 100000; i++) {
- var cons = left + right;
- var substring = cons.substring(20, 80);
- var index = substring.indexOf('Y');
- assertEquals(34, index);
- }
-}
-
-Test();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-143967.js b/src/3rdparty/v8/test/mjsunit/regress/regress-143967.js
deleted file mode 100644
index 7c12e67..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-143967.js
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Check that Accessors::FunctionGetPrototype traverses the prototype
-// chain correctly and doesn't get stuck.
-
-var functionWithoutProto = [].filter;
-var obj = Object.create(functionWithoutProto);
-functionWithoutProto.__proto__ = function() {};
-assertEquals(functionWithoutProto.prototype, obj.prototype);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1447.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1447.js
deleted file mode 100644
index 2c1ee59..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1447.js
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-[0].forEach(function(){ Object.freeze(Array.prototype.forEach); });
-[0].every(function(){ Object.seal(Array.prototype.every); });
-
-function testStrict(){
- "use strict";
- [0].forEach(function(){ Object.freeze(Array.prototype.forEach); });
- [0].every(function(){ Object.seal(Array.prototype.every); });
-}
-
-testStrict();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-145201.js b/src/3rdparty/v8/test/mjsunit/regress/regress-145201.js
deleted file mode 100644
index 7fe7bce..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-145201.js
+++ /dev/null
@@ -1,107 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Fix some corner cases in skipping native methods using caller.
-var net = [];
-
-
-var x = 0;
-
-function collect () {
- function item(operator) {
- binary(operator, 1, false);
- binary(operator, 1, true);
- binary(operator, '{}', false);
- binary(operator, '{}', true);
- binary(operator, '"x"', false);
- binary(operator, '"x"', true);
- unary(operator, "");
- }
-
- function unary(op, after) {
- // Capture:
- try {
- eval(op + " custom " + after);
- } catch(e) {
- }
- }
-
- function binary(op, other_side, inverted) {
- // Capture:
- try {
- if (inverted) {
- eval("custom " + op + " " + other_side);
- } else {
- eval(other_side + " " + op + " custom");
- }
- } catch(e) {
- }
- }
-
- function catcher() {
- var caller = catcher.caller;
- if (/native/i.test(caller) || /ADD/.test(caller)) {
- net[caller] = 0;
- }
- }
-
- var custom = Object.create(null, {
- toString: { value: catcher },
- length: { get: catcher }
- });
-
- item('^');
- item('~');
- item('<<');
- item('<');
- item('==');
- item('>>>');
- item('>>');
- item('|');
- item('-');
- item('*');
- item('&');
- item('%');
- item('+');
- item('in');
- item('instanceof');
- unary('{}[', ']');
- unary('delete {}[', ']');
- unary('(function() {}).apply(null, ', ')');
-}
-
-collect();
-collect();
-collect();
-
-var keys = 0;
-for (var key in net) {
- print(key);
- keys++;
-}
-
-assertTrue(keys == 0);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1472.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1472.js
deleted file mode 100644
index b2a30d2..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1472.js
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Avoid excessive expansions of regexp repetitions inside regexp repetitions.
-// Some of these caused stack overflows, others cause out-of-memory.
-var r1 = /(?:a(?:b(?:c(?:d(?:e(?:f(?:g(?:h(?:i(?:j(?:k(?:l(?:m(?:n(?:o(?:p(?:q(?:r(?:s(?:t(?:u(?:v(?:w(?:x(?:y(?:z(?:FooBar)+)+)+)+)+)+)+)+)+)+)+)+)+)+)+)+)+)+)+)+)+)+)+)+)+)+)/;
-"xxx".match(r1);
-
-var r2 = /(?:a(?:b(?:c(?:d(?:e(?:f(?:g(?:h(?:i(?:j(?:k(?:l(?:FooBar){0,2}){0,2}){0,2}){0,2}){0,2}){0,2}){0,2}){0,2}){0,2}){0,2}){0,2}){0,2}){0,2}/;
-"xxx".match(r2);
-
-var r3 = /(?:a(?:b(?:c(?:d(?:e(?:f(?:g(?:h(?:i(?:j(?:k(?:l(?:FooBar){2}){2}){2}){2}){2}){2}){2}){2}){2}){2}){2}){2}){2}/;
-"xxx".match(r3);
-
-var r4 = /(?:a(?:b(?:c(?:d(?:e(?:f(?:g(?:h(?:i(?:FooBar){3,6}){3,6}){3,6}){3,6}){3,6}){3,6}){3,6}){3,6}){3,6}){3,6}/;
-"xxx".match(r4);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-147497.js b/src/3rdparty/v8/test/mjsunit/regress/regress-147497.js
deleted file mode 100644
index 92e29d1..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-147497.js
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright 2013 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-
-Debug = debug.Debug;
-
-function listener(event, exec_state, event_data, data) {
- if (event == Debug.DebugEvent.Break) {
- exec_state.prepareStep(Debug.StepAction.StepNext, 10);
- }
-};
-
-Debug.setListener(listener);
-
-var statement = "";
-for (var i = 0; i < 1024; i++) statement += "z";
-statement = 'with(0)' + statement + '=function foo(){}';
-
-debugger;
-eval(statement);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1476.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1476.js
deleted file mode 100644
index 1277e7f..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1476.js
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-function foo (i) { return (i % 2) | 0; }
-
-assertEquals (-1, foo(-1));
-assertEquals (-1, foo(-1));
-%OptimizeFunctionOnNextCall(foo);
-assertEquals (-1, foo(-1));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-148378.js b/src/3rdparty/v8/test/mjsunit/regress/regress-148378.js
deleted file mode 100644
index d37cea1..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-148378.js
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-"a".replace(/a/g, function() { return "c"; });
-
-function test() {
- try {
- test();
- } catch(e) {
- "b".replace(/(b)/g, function() { return "c"; });
- }
-}
-
-test();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-149.js b/src/3rdparty/v8/test/mjsunit/regress/regress-149.js
deleted file mode 100644
index 6377a5b..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-149.js
+++ /dev/null
@@ -1,28 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-assertEquals(String.fromCharCode(0x26B), String.fromCharCode(0x2C62).toLowerCase());
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1491.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1491.js
deleted file mode 100644
index 1a3d3bf..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1491.js
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that the Array length accessor correctly deals with non-array
-// receivers.
-
-// Create an object with an array as the prototype.
-var o = Object.create([]);
-
-// Check that writing the length property of the non-array object
-// works as expected.
-var value = "asdf";
-o.length = value;
-assertEquals(value, o.length);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1493017.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1493017.js
deleted file mode 100644
index 99a1dad..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1493017.js
+++ /dev/null
@@ -1,52 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test collection of abandoned maps. Tests that deleted map
-// transitions do not show up as properties in for in.
-
-// Flags: --expose-gc --collect-maps
-
-function C() {}
-
-
-// Create an instance of C. Add a property to the instance and then
-// remove all references to instances of C.
-var o = new C();
-o.x = 42;
-o = null;
-
-// Force a global GC. This will collect the maps starting from C and
-// delete map transitions.
-gc();
-
-// Create a new instance of C.
-o = new C();
-
-// Test that the deleted map transitions do not show up in for in.
-for (var p in o) {
- assertTrue(false);
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1513.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1513.js
deleted file mode 100644
index 06c5edf..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1513.js
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Deleting a mapped arguments property and adding it via
-// Object.defineProperty should not crash.
-
-function testcase() {
- return (function (a, b, c) {
- delete arguments[0];
- Object.defineProperty(arguments, "0", {
- value: 10,
- writable: false,
- enumerable: false,
- configurable: false
- });
- assertEquals(10, arguments[0]);
- }(0, 1, 2));
-}
-
-testcase();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1521.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1521.js
deleted file mode 100644
index 3149f05..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1521.js
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-//
-// Flags: --allow-natives-syntax
-
-// Optimized variable access inside through a catch context should work.
-function test(x) {
- try {
- throw new Error();
- } catch (e) {
- var y = {f: 1};
- var f = function () {
- var z = y;
- var g = function () {
- if (y.f === z.f) return x;
- };
- %OptimizeFunctionOnNextCall(g);
- return g;
- }
- assertEquals(3, f()());
- }
-}
-
-test(3);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1523.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1523.js
deleted file mode 100644
index 30b3d59..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1523.js
+++ /dev/null
@@ -1,69 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// See: http://code.google.com/p/v8/issues/detail?id=1523
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-
-Debug = debug.Debug
-
-var listenerCalled = false;
-var result = -1;
-
-function listener(event, exec_state, event_data, data) {
- listenerCalled = true;
-};
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-function test_and(x) {
- if (x && (bar === this.baz))
- return 0;
- return 1;
-}
-
-function test_or(x) {
- if (x || (bar === this.baz))
- return 0;
- return 1;
-}
-
-// Set a break points and call each function to invoke the debug event listener.
-Debug.setBreakPoint(test_and, 0, 0);
-Debug.setBreakPoint(test_or, 0, 0);
-
-listenerCalled = false;
-result = test_and(false);
-assertEquals(1, result);
-assertTrue(listenerCalled);
-
-listenerCalled = false;
-result = test_or(true);
-assertEquals(0, result);
-assertTrue(listenerCalled);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1528.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1528.js
deleted file mode 100644
index 2eb6be1..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1528.js
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// With (or catch) scopes nested inside catch scopes should look at the
-// first outer non-catch scope to decide which closure to use when
-// allocating the new context.
-
-// Code below should not assert or crash.
-try {
- fail;
-} catch (e) {
- with({}) { // With scope inside catch scope.
- // Dynamic declaration forces runtime lookup to observe the context chain.
- eval('const x = 7');
- }
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1529.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1529.js
deleted file mode 100644
index 212d7b3..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1529.js
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// See: http://code.google.com/p/v8/issues/detail?id=1529
-
-try {
- Error.prepareStackTrace = function (error, stackTrace) {
- stackTrace.some();
- };
- x;
-} catch (e) {}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1530.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1530.js
deleted file mode 100644
index db21144..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1530.js
+++ /dev/null
@@ -1,69 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that redefining the 'prototype' property of a function object
-// does actually set the internal value and does not screw up any
-// shadowing between said property and the internal value.
-
-var f = function() {};
-
-// Verify that normal assignment of 'prototype' property works properly
-// and updates the internal value.
-var x = { foo: 'bar' };
-f.prototype = x;
-assertSame(f.prototype, x);
-assertSame(f.prototype.foo, 'bar');
-assertSame(new f().foo, 'bar');
-assertSame(Object.getPrototypeOf(new f()), x);
-assertSame(Object.getOwnPropertyDescriptor(f, 'prototype').value, x);
-
-// Verify that 'prototype' behaves like a data property when it comes to
-// redefining with Object.defineProperty() and the internal value gets
-// updated.
-var y = { foo: 'baz' };
-Object.defineProperty(f, 'prototype', { value: y, writable: true });
-assertSame(f.prototype, y);
-assertSame(f.prototype.foo, 'baz');
-assertSame(new f().foo, 'baz');
-assertSame(Object.getPrototypeOf(new f()), y);
-assertSame(Object.getOwnPropertyDescriptor(f, 'prototype').value, y);
-
-// Verify that the previous redefinition didn't screw up callbacks and
-// the internal value still gets updated.
-var z = { foo: 'other' };
-f.prototype = z;
-assertSame(f.prototype, z);
-assertSame(f.prototype.foo, 'other');
-assertSame(new f().foo, 'other');
-assertSame(Object.getPrototypeOf(new f()), z);
-assertSame(Object.getOwnPropertyDescriptor(f, 'prototype').value, z);
-
-// Verify that non-writability of other properties is respected.
-assertThrows("Object.defineProperty(f, 'name', { value: {} })");
-assertThrows("Object.defineProperty(f, 'length', { value: {} })");
-assertThrows("Object.defineProperty(f, 'caller', { value: {} })");
-assertThrows("Object.defineProperty(f, 'arguments', { value: {} })");
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1531.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1531.js
deleted file mode 100644
index 09e61a6..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1531.js
+++ /dev/null
@@ -1,49 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Regression test for computing elements keys of arguments object. Should
-// not crash or assert.
-function test(x) {
- arguments[10] = 0;
- var arr = [];
- for (var p in arguments) arr.push(p);
- return arr;
-}
-assertEquals(["0", "10"], test(0));
-
-// Regression test for lookup after delete of a dictionary-mode arguments
-// backing store. Should not crash or assert.
-function test1(x, y, z) {
- // Put into dictionary mode.
- arguments.__defineGetter__("5", function () { return 0; });
- // Delete a property from the dictionary.
- delete arguments[5];
- // Look up a property in the dictionary.
- return arguments[2];
-}
-
-assertEquals(void 0, test1(0));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1546.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1546.js
deleted file mode 100644
index 7f1fa58..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1546.js
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// See: http://code.google.com/p/v8/issues/detail?id=1546
-
-// Should't throw. Scanner incorrectly truncated to char before comparing
-// with "*", so it ended the comment early.
-eval("/*\u822a/ */"); \ No newline at end of file
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1548.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1548.js
deleted file mode 100644
index 074007b..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1548.js
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that the caller and arguments objects are not available on native
-// functions.
-
-function testfn(f) { return [1].map(f)[0]; }
-function foo() { return [].map.caller; }
-assertEquals(null, testfn(foo));
-
-// Try to delete the caller property (to make sure that we can't get to the
-// caller accessor on the prototype.
-delete Array.prototype.map.caller;
-assertEquals(null, testfn(foo));
-
-// Redo tests with arguments object.
-function testarguments(f) { return [1].map(f)[0]; }
-function bar() { return [].map.arguments; }
-assertEquals(null, testfn(bar));
-
-// Try to delete the arguments property (to make sure that we can't get to the
-// caller accessor on the prototype.
-delete Array.prototype.map.arguments;
-assertEquals(null, testarguments(bar));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-155924.js b/src/3rdparty/v8/test/mjsunit/regress/regress-155924.js
deleted file mode 100644
index 666e3ba..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-155924.js
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// A HeapNumber with certain bits in the mantissa of the floating point
-// value should not be able to masquerade as a string in a keyed lookup
-// inline cache stub. See http://codereview.chromium.org/155924.
-
-A = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ];
-
-function foo() {
- x = 1 << 26;
- x = x * x;
- // The following floating-point heap number has a second word similar
- // to that of the string "5":
- // 2^52 + index << cached_index_shift + cached_index_tag
- x = x + (5 << 2) + (1 << 1);
- return A[x];
-}
-
-assertEquals(undefined, foo(), "First lookup A[bad_float]");
-assertEquals(undefined, foo(), "Second lookup A[bad_float]");
-assertEquals(undefined, foo(), "Third lookup A[bad_float]");
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1560.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1560.js
deleted file mode 100644
index a0aa7e6..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1560.js
+++ /dev/null
@@ -1,68 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --expose-gc
-
-function mkCOWArray() {
- var a = [''];
- assertEquals('', a[0]);
- return a;
-}
-
-function mkArray() {
- var a = [];
- a[0] = '';
- return a;
-}
-
-function mkNumberDictionary() {
- var a = new Array();
- a[0] = '';
- a[100000] = '';
- return a;
-}
-
-function write(a, i) { a[i] = "bazinga!"; }
-
-function test(factories, w) {
- factories.forEach(function(f) { w(f(), 0); });
- factories.forEach(function(f) { w(f(), 0); });
- %OptimizeFunctionOnNextCall(w);
- factories.forEach(function(f) { w(f(), 0); });
-}
-
-// Monomorphic case.
-for (var i = 0; i < 5; i++) write(mkArray(), 0);
-%OptimizeFunctionOnNextCall(write);
-write(mkCOWArray(), 0);
-var failure = mkCOWArray();
-
-// Cleanup, then polymorphic case.
-%DeoptimizeFunction(write);
-gc();
-test([mkArray, mkNumberDictionary], write);
-test([mkArray, mkNumberDictionary, mkCOWArray], write);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1563.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1563.js
deleted file mode 100644
index 884b125..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1563.js
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-obj = new Uint8ClampedArray(10);
-
-// Test that undefined gets properly clamped in Crankshafted pixel array
-// assignments.
-function set_pixel(obj, arg) {
- obj[0] = arg;
-}
-
-set_pixel(obj, 1.5);
-set_pixel(obj, NaN);
-%OptimizeFunctionOnNextCall(set_pixel);
-set_pixel(obj, undefined);
-set_pixel(obj, undefined);
-
-assertEquals(0, obj[0]);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1582.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1582.js
deleted file mode 100644
index 346d68a..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1582.js
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-function f(restIsArray, rest) {
- var arr;
- if (typeof rest === "object" && (rest instanceof Array)) {
- arr = rest;
- } else {
- arr = arguments;
- }
- var i = arr.length;
- while (--i >= 0) arr[i];
- var arrIsArguments = (arr[1] !== rest);
- assertEquals(restIsArray, arrIsArguments);
-}
-
-f(false, 'b', 'c');
-f(false, 'b', 'c');
-f(false, 'b', 'c');
-%OptimizeFunctionOnNextCall(f);
-f(true, ['b', 'c']);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1583.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1583.js
deleted file mode 100644
index c4a344c..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1583.js
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Regression test for a bug in recompilation of anonymous functions inside
-// catch. We would incorrectly hoist them outside the catch in some cases.
-function f() {
- try {
- throw 0;
- } catch (e) {
- try {
- var x = { a: 'hest' };
- x.m = function (e) { return x.a; };
- } catch (e) {
- }
- }
- return x;
-}
-
-var o = f();
-assertEquals('hest', o.m());
-assertEquals('hest', o.m());
-assertEquals('hest', o.m());
-%OptimizeFunctionOnNextCall(o.m);
-assertEquals('hest', o.m());
-
-// Fixing the bug above introduced (revealed?) an inconsistency in named
-// getters and setters. The property name was also treated as a function
-// name.
-var global = 'horse';
-var p = { get global() { return global; }};
-assertEquals('horse', p.global);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1586.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1586.js
deleted file mode 100644
index b15e2f2..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1586.js
+++ /dev/null
@@ -1,64 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-
-// Test debug evaluation for functions without local context, but with
-// nested catch contexts.
-
-function f() {
- var i = 1; // Line 1.
- { // Line 2.
- try { // Line 3.
- throw 'stuff'; // Line 4.
- } catch (e) { // Line 5.
- x = 2; // Line 6.
- }
- }
-};
-
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-// Set breakpoint on line 6.
-var bp = Debug.setBreakPoint(f, 6);
-
-function listener(event, exec_state, event_data, data) {
- if (event == Debug.DebugEvent.Break) {
- result = exec_state.frame().evaluate("i").value();
- }
-};
-
-// Add the debug event listener.
-Debug.setListener(listener);
-result = -1;
-f();
-assertEquals(1, result);
-
-// Clear breakpoint.
-Debug.clearBreakPoint(bp);
-// Get rid of the debug event listener.
-Debug.setListener(null);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1591.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1591.js
deleted file mode 100644
index 69efd0b..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1591.js
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var stack;
-var used_custom_lookup = false;
-
-({
- __lookupGetter__ : function() {
- used_custom_lookup = true;
- },
-
- test : function() {
- try {
- f();
- } catch (err) {
- stack = err.stack;
- }
- }
-}).test();
-
-var expected_message = "ReferenceError: f is not defined";
-assertTrue(stack.indexOf(expected_message) >= 0);
-assertFalse(used_custom_lookup);
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1592.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1592.js
deleted file mode 100644
index 8f6fba0..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1592.js
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-var f = {
- apply: function(a, b) {}
-};
-
-function test(a) {
- f.apply(this, arguments);
-}
-
-// Initialize ICs.
-test(1);
-test(1);
-
-%OptimizeFunctionOnNextCall(test);
-
-// Kaboom!
-test(1);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1620.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1620.js
deleted file mode 100644
index 6d72974..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1620.js
+++ /dev/null
@@ -1,54 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Don't allow malformed unicode escape sequences in identifiers.
-// In strings and regexps we currently allow malformed unicode escape
-// sequences without throwing a SyntaxError. Instead "\u22gk" would
-// treat the "\u" as an identity escape, and evaluate to "u22gk".
-// Due to code sharing, we did the same in identifiers. This should
-// no longer be the case.
-// See: http://code.google.com/p/v8/issues/detail?id=1620
-
-assertThrows("var \\u\\u\\u = 42;");
-assertThrows("var \\u41 = 42;");
-assertThrows("var \\u123 = 42;");
-eval("var \\u1234 = 42;");
-assertEquals(42, eval("\u1234"));
-assertThrows("var uuu = 42; var x = \\u\\u\\u");
-
-// Regressions introduced and fixed again while fixing the above.
-
-// Handle 0xFFFD correctly (it's a valid value, and shouldn't be used
-// to mark an error).
-assertEquals(0xFFFD, "\uFFFD".charCodeAt(0));
-
-// Handle unicode escapes in regexp flags correctly.
-assertThrows("/x/g\\uim", SyntaxError);
-assertThrows("/x/g\\u2im", SyntaxError);
-assertThrows("/x/g\\u22im", SyntaxError);
-assertThrows("/x/g\\u222im", SyntaxError);
-assertThrows("/x/g\\\\u2222im", SyntaxError);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1624-strict.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1624-strict.js
deleted file mode 100644
index 8bc58d5..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1624-strict.js
+++ /dev/null
@@ -1,140 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that global eval calls of strict code (independent from whether being
-// direct or indirect) have their own lexical and variable environment.
-
-"use strict";
-var evil = eval;
-
-// Test global direct strict eval in strict script.
-// Expects new environment.
-var no_touch = 0;
-eval('"use strict"; var no_touch = 1;');
-assertSame(0, no_touch);
-
-// Test global indirect strict eval in strict script.
-// Expects new environment.
-var no_touch = 0;
-evil('"use strict"; var no_touch = 2;');
-assertSame(0, no_touch);
-
-// Test global direct non-strict eval in strict script.
-// Expects new environment.
-var no_touch = 0;
-eval('var no_touch = 3;');
-assertSame(0, no_touch);
-
-// Test global indirect non-strict eval in strict script.
-// Expects global environment.
-var no_touch = 0;
-evil('var no_touch = 4;');
-assertSame(4, no_touch);
-
-// Test non-global direct strict eval in strict script.
-// Expects new environment.
-var no_touch = 0;
-(function() {
- var no_touch = 0;
- eval('"use strict"; var no_touch = 5;');
- assertSame(0, no_touch);
-})()
-assertSame(0, no_touch);
-
-// Test non-global indirect strict eval in strict script.
-// Expects new environment.
-var no_touch = 0;
-(function() {
- var no_touch = 0;
- evil('"use strict"; var no_touch = 6;');
- assertSame(0, no_touch);
-})()
-assertSame(0, no_touch);
-
-// Test non-global direct non-strict eval in strict script.
-// Expects new environment.
-var no_touch = 0;
-(function() {
- var no_touch = 0;
- eval('var no_touch = 7;');
- assertSame(0, no_touch);
-})()
-assertSame(0, no_touch);
-
-// Test non-global indirect non-strict eval in strict script.
-// Expects global environment.
-var no_touch = 0;
-(function() {
- var no_touch = 0;
- evil('var no_touch = 8;');
- assertSame(0, no_touch);
-})()
-assertSame(8, no_touch);
-
-// Test non-global direct strict eval in strict script.
-// Expects new environment.
-var no_touch = 0;
-(function() {
- "use strict";
- var no_touch = 0;
- eval('"use strict"; var no_touch = 9;');
- assertSame(0, no_touch);
-})()
-assertSame(0, no_touch);
-
-// Test non-global indirect strict eval in strict script.
-// Expects new environment.
-var no_touch = 0;
-(function() {
- "use strict";
- var no_touch = 0;
- evil('"use strict"; var no_touch = 10;');
- assertSame(0, no_touch);
-})()
-assertSame(0, no_touch);
-
-// Test non-global direct non-strict eval in strict script.
-// Expects new environment.
-var no_touch = 0;
-(function() {
- "use strict";
- var no_touch = 0;
- eval('var no_touch = 11;');
- assertSame(0, no_touch);
-})()
-assertSame(0, no_touch);
-
-// Test non-global indirect non-strict eval in strict script.
-// Expects global environment.
-var no_touch = 0;
-(function() {
- "use strict";
- var no_touch = 0;
- evil('var no_touch = 12;');
- assertSame(0, no_touch);
-})()
-assertSame(12, no_touch);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1624.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1624.js
deleted file mode 100644
index 987e036..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1624.js
+++ /dev/null
@@ -1,139 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that global eval calls of strict code (independent from whether being
-// direct or indirect) have their own lexical and variable environment.
-
-var evil = eval;
-
-// Test global direct strict eval.
-// Expects new environment.
-var no_touch = 0;
-eval('"use strict"; var no_touch = 1;');
-assertSame(0, no_touch);
-
-// Test global indirect strict eval.
-// Expects new environment.
-var no_touch = 0;
-evil('"use strict"; var no_touch = 2;');
-assertSame(0, no_touch);
-
-// Test global direct non-strict eval.
-// Expects global environment.
-var no_touch = 0;
-eval('var no_touch = 3;');
-assertSame(3, no_touch);
-
-// Test global indirect non-strict eval.
-// Expects global environment.
-var no_touch = 0;
-evil('var no_touch = 4;');
-assertSame(4, no_touch);
-
-// Test non-global direct strict eval in non-strict function.
-// Expects new environment.
-var no_touch = 0;
-(function() {
- var no_touch = 0;
- eval('"use strict"; var no_touch = 5;');
- assertSame(0, no_touch);
-})()
-assertSame(0, no_touch);
-
-// Test non-global indirect strict eval in non-strict function.
-// Expects new environment.
-var no_touch = 0;
-(function() {
- var no_touch = 0;
- evil('"use strict"; var no_touch = 6;');
- assertSame(0, no_touch);
-})()
-assertSame(0, no_touch);
-
-// Test non-global direct non-strict eval in non-strict function.
-// Expects function environment.
-var no_touch = 0;
-(function() {
- var no_touch = 0;
- eval('var no_touch = 7;');
- assertSame(7, no_touch);
-})()
-assertSame(0, no_touch);
-
-// Test non-global indirect non-strict eval in non-strict function.
-// Expects global environment.
-var no_touch = 0;
-(function() {
- var no_touch = 0;
- evil('var no_touch = 8;');
- assertSame(0, no_touch);
-})()
-assertSame(8, no_touch);
-
-// Test non-global direct strict eval in strict function.
-// Expects new environment.
-var no_touch = 0;
-(function() {
- "use strict";
- var no_touch = 0;
- eval('"use strict"; var no_touch = 9;');
- assertSame(0, no_touch);
-})()
-assertSame(0, no_touch);
-
-// Test non-global indirect strict eval in strict function.
-// Expects new environment.
-var no_touch = 0;
-(function() {
- "use strict";
- var no_touch = 0;
- evil('"use strict"; var no_touch = 10;');
- assertSame(0, no_touch);
-})()
-assertSame(0, no_touch);
-
-// Test non-global direct non-strict eval in strict function.
-// Expects new environment.
-var no_touch = 0;
-(function() {
- "use strict";
- var no_touch = 0;
- eval('var no_touch = 11;');
- assertSame(0, no_touch);
-})()
-assertSame(0, no_touch);
-
-// Test non-global indirect non-strict eval in strict function.
-// Expects global environment.
-var no_touch = 0;
-(function() {
- "use strict";
- var no_touch = 0;
- evil('var no_touch = 12;');
- assertSame(0, no_touch);
-})()
-assertSame(12, no_touch);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1625.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1625.js
deleted file mode 100644
index a2ef8df..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1625.js
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that overwriting Array.prototype.push does not make
-// Object.defineProperties misbehave.
-
-Array.prototype.push = 1;
-var desc = {foo: {value: 10}, bar: {get: function() {return 42; }}};
-var obj = {};
-var x = Object.defineProperties(obj, desc);
-assertEquals(x.foo, 10);
-assertEquals(x.bar, 42);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1639-2.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1639-2.js
deleted file mode 100644
index 01f0dc2..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1639-2.js
+++ /dev/null
@@ -1,96 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-var exception = false;
-
-function sendCommand(state, cmd) {
- // Get the debug command processor in paused state.
- var dcp = state.debugCommandProcessor(false);
- var request = JSON.stringify(cmd);
- var response = dcp.processDebugJSONRequest(request);
-}
-
-var state = 0;
-
-function listener(event, exec_state, event_data, data) {
- try {
- if (event == Debug.DebugEvent.Break) {
- var line = event_data.sourceLineText();
- print('break: ' + line);
- print('event data: ' + event_data.toJSONProtocol());
- print();
- assertEquals('// BREAK', line.substr(-8),
- "should not break outside evaluate");
-
- switch (state) {
- case 0:
- state = 1;
- // While in the debugger and stepping through a set of instructions
- // executed in the evaluate command, the stepping must stop at the end
- // of the said set of instructions and not step further into native
- // debugger code.
- sendCommand(exec_state, {
- seq : 0,
- type : "request",
- command : "evaluate",
- arguments : {
- 'expression' : 'print("A"); debugger; print("B"); // BREAK',
- 'global' : true
- }
- });
- break;
- case 1:
- sendCommand(exec_state, {
- seq : 0,
- type : "request",
- command : "continue",
- arguments : {
- stepaction : "next"
- }
- });
- break;
- }
- }
- } catch (e) {
- print(e);
- exception = true;
- }
-}
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-function a() {
-} // BREAK
-
-// Set a break point and call to invoke the debug event listener.
-Debug.setBreakPoint(a, 0, 0);
-a();
-assertFalse(exception);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1639.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1639.js
deleted file mode 100644
index 47cdbc4..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1639.js
+++ /dev/null
@@ -1,91 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-var breaks = 0;
-var exception = false;
-
-function sendCommand(state, cmd) {
- // Get the debug command processor in paused state.
- var dcp = state.debugCommandProcessor(false);
- var request = JSON.stringify(cmd);
- var response = dcp.processDebugJSONRequest(request);
-}
-
-function listener(event, exec_state, event_data, data) {
- try {
- if (event == Debug.DebugEvent.Break) {
- var line = event_data.sourceLineText();
- print('break: ' + line);
-
- assertEquals(-1, line.indexOf('NOBREAK'),
- "should not break on unexpected lines")
- assertEquals('BREAK ' + breaks, line.substr(-7));
- breaks++;
- if (breaks < 4) {
- sendCommand(exec_state, {
- seq: 0,
- type: "request",
- command: "continue",
- arguments: { stepaction: "next" }
- });
- }
- }
- } catch (e) {
- print(e);
- exception = true;
- }
-}
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-function a(f) {
- if (f) { // NOBREAK: should not break here!
- try {
- f();
- } catch(e) {
- }
- }
-} // BREAK 2
-
-function b() {
- c(); // BREAK 0
-} // BREAK 1
-
-function c() {
- a();
-}
-
-// Set a break point and call to invoke the debug event listener.
-Debug.setBreakPoint(b, 0, 0);
-a(b);
-a(); // BREAK 3
-
-assertFalse(exception);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-164442.js b/src/3rdparty/v8/test/mjsunit/regress/regress-164442.js
deleted file mode 100644
index 1160d87..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-164442.js
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Should not take a very long time (n^2 algorithms are bad)
-
-
-function ensureNotNegative(x) {
- return Math.max(0, x | 0);
-}
-
-
-ensureNotNegative(1);
-ensureNotNegative(2);
-
-%OptimizeFunctionOnNextCall(ensureNotNegative);
-
-var r = ensureNotNegative(-1);
-
-assertEquals(0, r);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1647.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1647.js
deleted file mode 100644
index a6afcc0..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1647.js
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test for correct deoptimization in named function expressions.
-
-var t = { foo: function() {} };
-
-var f = (function bar() {
- t.foo();
- assertEquals("function", typeof bar);
-});
-
-for (var i = 0; i < 10; i++) f();
-%OptimizeFunctionOnNextCall(f);
-t.number = 2;
-f();
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1650.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1650.js
deleted file mode 100644
index fb6a178..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1650.js
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-function g(f) { return f.call.apply(f.bind, arguments); }
-
-var x = new Object;
-
-function t() { }
-
-g(t, x);
-g(t, x);
-g(t, x);
-%OptimizeFunctionOnNextCall(g);
-
-function Fake() {}
-
-var fakeCallInvoked = false;
-
-Fake.prototype.call = function () {
- assertSame(Fake.prototype.bind, this);
- assertEquals(2, arguments.length);
- assertSame(fake, arguments[0]);
- assertSame(x, arguments[1]);
- fakeCallInvoked = true;
-};
-
-Fake.prototype.bind = function () {
-};
-
-var fake = new Fake;
-
-g(fake, x);
-
-assertTrue(fakeCallInvoked);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-165637.js b/src/3rdparty/v8/test/mjsunit/regress/regress-165637.js
deleted file mode 100644
index 72af528..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-165637.js
+++ /dev/null
@@ -1,61 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Should not take a very long time (n^2 algorithms are bad)
-
-function do_slices() {
- var data = new Array(1024 * 12); // 12kB
-
- for (var i = 0; i < data.length; i++) {
- data[i] = 255;
- }
-
- var start = Date.now();
-
- for (i = 0; i < 20000; i++) {
- data.slice(4, 1);
- }
-
- return Date.now() - start;
-}
-
-// Reset the GC stress mode to be off. Needed so that the runtime of this test
-// stays within bounds even if we run in GC stress mode.
-%SetFlags("--gc-interval=-1 --noforce-marking-deque-overflows");
-
-// Should never take more than 3 seconds (if the bug is fixed, the test takes
-// considerably less time than 3 seconds).
-assertTrue(do_slices() < (3 * 1000));
-
-// Make sure that packed and unpacked array slices are still properly handled
-var holey_array = [1, 2, 3, 4, 5,,,,,,];
-assertFalse(%HasFastHoleyElements(holey_array.slice(6, 1)));
-assertEquals(undefined, holey_array.slice(6, 7)[0])
-assertFalse(%HasFastHoleyElements(holey_array.slice(2, 1)));
-assertEquals(3, holey_array.slice(2, 3)[0])
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-166379.js b/src/3rdparty/v8/test/mjsunit/regress/regress-166379.js
deleted file mode 100644
index b19afbd..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-166379.js
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-function mod(a, b) { return a % b; }
-
-// Feed integer type info and optimize.
-assertEquals(0, mod(4, 2));
-assertEquals(1, mod(3, 2));
-%OptimizeFunctionOnNextCall(mod);
-
-// Surprise mod with overflow.
-assertEquals(-Infinity, 1/mod(-2147483648, -1));
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-166553.js b/src/3rdparty/v8/test/mjsunit/regress/regress-166553.js
deleted file mode 100644
index acaf34f..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-166553.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose_gc
-
-JSON.stringify(String.fromCharCode(1, -11).toString())
-gc();
-var s = String.fromCharCode(1, -11)
-assertEquals(65525, s.charCodeAt(1))
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1692.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1692.js
deleted file mode 100644
index 32be87f..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1692.js
+++ /dev/null
@@ -1,89 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that Object.prototype.propertyIsEnumerable handles array indices
-// correctly.
-
-var p = Object.create({}, {
- a : { value : 42, enumerable : true },
- b : { value : 42, enumerable : false },
- 1 : { value : 42, enumerable : true },
- 2 : { value : 42, enumerable : false },
- f : { get: function(){}, enumerable: true },
- g : { get: function(){}, enumerable: false },
- 11 : { get: function(){}, enumerable: true },
- 12 : { get: function(){}, enumerable: false }
-});
-var o = Object.create(p, {
- c : { value : 42, enumerable : true },
- d : { value : 42, enumerable : false },
- 3 : { value : 42, enumerable : true },
- 4 : { value : 42, enumerable : false },
- h : { get: function(){}, enumerable: true },
- k : { get: function(){}, enumerable: false },
- 13 : { get: function(){}, enumerable: true },
- 14 : { get: function(){}, enumerable: false }
-});
-
-// Inherited properties are ignored.
-assertFalse(o.propertyIsEnumerable("a"));
-assertFalse(o.propertyIsEnumerable("b"));
-assertFalse(o.propertyIsEnumerable("1"));
-assertFalse(o.propertyIsEnumerable("2"));
-
-// Own properties.
-assertTrue(o.propertyIsEnumerable("c"));
-assertFalse(o.propertyIsEnumerable("d"));
-assertTrue(o.propertyIsEnumerable("3"));
-assertFalse(o.propertyIsEnumerable("4"));
-
-// Inherited accessors.
-assertFalse(o.propertyIsEnumerable("f"));
-assertFalse(o.propertyIsEnumerable("g"));
-assertFalse(o.propertyIsEnumerable("11"));
-assertFalse(o.propertyIsEnumerable("12"));
-
-// Own accessors.
-assertTrue(o.propertyIsEnumerable("h"));
-assertFalse(o.propertyIsEnumerable("k"));
-assertTrue(o.propertyIsEnumerable("13"));
-assertFalse(o.propertyIsEnumerable("14"));
-
-// Nonexisting properties.
-assertFalse(o.propertyIsEnumerable("xxx"));
-assertFalse(o.propertyIsEnumerable("999"));
-
-// String object properties.
-var o = Object("string");
-// Non-string property on String object.
-o[10] = 42;
-assertTrue(o.propertyIsEnumerable(10));
-assertTrue(o.propertyIsEnumerable(0));
-
-// Fast elements.
-var o = [1,2,3,4,5];
-assertTrue(o.propertyIsEnumerable(3));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1708.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1708.js
deleted file mode 100644
index ab50e07..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1708.js
+++ /dev/null
@@ -1,63 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Regression test of a very rare corner case where left-trimming an
-// array caused invalid marking bit patterns on lazily swept pages.
-
-// Flags: --expose-gc --noincremental-marking --max-new-space-size 1000
-
-(function() {
- var head = new Array(1);
- var tail = head;
-
- // Fill heap to increase old-space size and trigger lazy sweeping on
- // some of the old-space pages.
- for (var i = 0; i < 200; i++) {
- tail[1] = new Array(1000);
- tail = tail[1];
- }
- array = new Array(100);
- gc(); gc();
-
- // At this point "array" should have been promoted to old-space and be
- // located in a lazy swept page with intact marking bits. Now shift
- // the array to trigger left-trimming operations.
- assertEquals(100, array.length);
- for (var i = 0; i < 50; i++) {
- array.shift();
- }
- assertEquals(50, array.length);
-
- // At this point "array" should have been trimmed from the left with
- // marking bits being correctly transfered to the new object start.
- // Scavenging operations cause lazy sweeping to advance and verify
- // that marking bit patterns are still sane.
- for (var i = 0; i < 200; i++) {
- tail[1] = new Array(1000);
- tail = tail[1];
- }
-})();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-171.js b/src/3rdparty/v8/test/mjsunit/regress/regress-171.js
deleted file mode 100644
index fe981da..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-171.js
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function f(s) { return s.length; }
-function g(s, key) { return s[key]; }
-
-assertEquals(f(new String("a")), 1);
-assertEquals(f(new String("a")), 1);
-assertEquals(f(new String("a")), 1);
-assertEquals(f("a"), 1);
-assertEquals(f(new String("a")), 1);
-
-assertEquals(g(new String("a"), "length"), 1);
-assertEquals(g(new String("a"), "length"), 1);
-assertEquals(g(new String("a"), "length"), 1);
-assertEquals(g("a", "length"), 1);
-assertEquals(g(new String("a"), "length"), 1);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1711.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1711.js
deleted file mode 100644
index 15591b1..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1711.js
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// string.split needs to evaluate the separator's toString even if limit
-// is 0 because toString may have side effects.
-
-var side_effect = false;
-var separator = new Object();
-separator.toString = function() {
- side_effect = true;
- return undefined;
-}
-'subject'.split(separator, 0);
-assertTrue(side_effect);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1713.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1713.js
deleted file mode 100644
index 0af1144..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1713.js
+++ /dev/null
@@ -1,127 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --always-compact --expose-gc
-
-var O = { get f() { return 0; } };
-
-var CODE = [];
-
-var R = [];
-
-function Allocate4Kb(N) {
- var arr = [];
- do {arr.push(new Array(1024));} while (--N > 0);
- return arr;
-}
-
-function AllocateXMb(X) {
- return Allocate4Kb((1024 * X) / 4);
-}
-
-function Node(v, next) { this.v = v; this.next = next; }
-
-Node.prototype.execute = function (O) {
- var n = this;
- while (n.next !== null) n = n.next;
- n.v(O);
-};
-
-function LongList(N, x) {
- if (N == 0) return new Node(x, null);
- return new Node(new Array(1024), LongList(N - 1, x));
-}
-
-var L = LongList(1024, function (O) {
- for (var i = 0; i < 5; i++) O.f;
-});
-
-
-
-function Incremental(O, x) {
- if (!x) {
- return;
- }
- function CreateCode(i) {
- var f = new Function("return O.f_" + i);
- CODE.push(f);
- f(); // compile
- f(); // compile
- f(); // compile
- }
-
- for (var i = 0; i < 1e4; i++) CreateCode(i);
- gc();
- gc();
- gc();
-
- print(">>> 1 <<<");
-
- L.execute(O);
-
- try {} catch (e) {}
-
- L = null;
- print(">>> 2 <<<");
- AllocateXMb(8);
- //rint("1");
- //llocateXMb(8);
- //rint("1");
- //llocateXMb(8);
-
-}
-
-function foo(O, x) {
- Incremental(O, x);
-
- print('f');
-
- for (var i = 0; i < 5; i++) O.f;
-
-
- print('g');
-
- bar(x);
-}
-
-function bar(x) {
- if (!x) return;
- %DeoptimizeFunction(foo);
- AllocateXMb(8);
- AllocateXMb(8);
-}
-
-var O1 = {};
-var O2 = {};
-var O3 = {};
-var O4 = {f:0};
-
-foo(O1, false);
-foo(O2, false);
-foo(O3, false);
-%OptimizeFunctionOnNextCall(foo);
-foo(O4, true);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-171641.js b/src/3rdparty/v8/test/mjsunit/regress/regress-171641.js
deleted file mode 100644
index 8db6781..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-171641.js
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2013 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-function foo(k, p) {
- for (var i = 0; i < 1; i++) {
- p = Math.min(p, i);
- }
- m = Math.floor((k | 0) / p);
-}
-
-foo(0, 1);
-foo(0, 1);
-%OptimizeFunctionOnNextCall(foo);
-foo(0, 1);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1748.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1748.js
deleted file mode 100644
index e287e55..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1748.js
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that /^/ only matches at beginning of string.
-// Bug in x64 caused it to match when executing the RegExp on a part
-// of a string that starts at a multiplum of 256.
-
-var str = Array(10000).join("X");
-str.replace(/^|X/g, function(m, i, s) {
- if (i > 0) assertEquals("X", m, "at position 0x" + i.toString(16));
-}); \ No newline at end of file
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1757.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1757.js
deleted file mode 100644
index f7a5516..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1757.js
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --string-slices --expose-externalize-string
-
-var a = "abcdefghijklmnopqrstuvqxy"+"z";
-externalizeString(a, true);
-assertEquals('b', a.substring(1).charAt(0)); \ No newline at end of file
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-176.js b/src/3rdparty/v8/test/mjsunit/regress/regress-176.js
deleted file mode 100644
index ef0c4f1..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-176.js
+++ /dev/null
@@ -1,50 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// See http://code.google.com/p/v8/issues/detail?id=176
-
-assertArrayEquals(["f", undefined],
- "foo".match(/(?:(?=(f)o))?f/),
- "zero length match in (?:) with capture in lookahead");
-assertArrayEquals(["f", undefined],
- "foo".match(/(?=(f)o)?f/),
- "zero length match in (?=) with capture in lookahead");
-assertArrayEquals(["fo", "f"],
- "foo".match(/(?:(?=(f)o)f)?o/),
- "non-zero length match with capture in lookahead");
-assertArrayEquals(["fo", "f"],
- "foo".match(/(?:(?=(f)o)f?)?o/),
- "non-zero length match with greedy ? in (?:)");
-assertArrayEquals(["fo", "f"],
- "foo".match(/(?:(?=(f)o)f??)?o/),
- "non-zero length match with non-greedy ? in (?:), o forces backtrack");
-assertArrayEquals(["fo", "f"],
- "foo".match(/(?:(?=(f)o)f??)?./),
- "non-zero length match with non-greedy ? in (?:), zero length match causes backtrack");
-assertArrayEquals(["f", undefined],
- "foo".match(/(?:(?=(f)o)fx)?./),
- "x causes backtrack inside (?:)");
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1790.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1790.js
deleted file mode 100644
index 8848eea..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1790.js
+++ /dev/null
@@ -1,58 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Regression test checking that the sequence of element access in built-in
-// array functions is specification conform (i.e. [[HasProperty]] might return
-// bogus result after [[Get]] has been called).
-
-function CheckSequence(builtin, callback) {
- var array = [1,2,3];
- var callback_count = 0;
- var callback_wrapper = function() {
- callback_count++;
- return callback()
- }
-
- // Define getter that will delete itself upon first invocation.
- Object.defineProperty(array, '1', {
- get: function () { delete array[1]; },
- configurable: true
- });
-
- assertTrue(array.hasOwnProperty('1'));
- builtin.apply(array, [callback_wrapper, 'argument']);
- assertFalse(array.hasOwnProperty('1'));
- assertEquals(3, callback_count);
-}
-
-CheckSequence(Array.prototype.every, function() { return true; });
-CheckSequence(Array.prototype.filter, function() { return true; });
-CheckSequence(Array.prototype.forEach, function() { return 0; });
-CheckSequence(Array.prototype.map, function() { return 0; });
-CheckSequence(Array.prototype.reduce, function() { return 0; });
-CheckSequence(Array.prototype.reduceRight, function() { return 0; });
-CheckSequence(Array.prototype.some, function() { return false; });
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1849.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1849.js
deleted file mode 100644
index 5b8fc50..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1849.js
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// See: http://code.google.com/p/v8/issues/detail?id=1849
-
-// Flags: --allow-natives-syntax
-
-var count = 1e5;
-var arr = new Array(count);
-assertFalse(%HasFastDoubleElements(arr));
-for (var i = 0; i < count; i++) {
- arr[i] = 0;
-}
-assertFalse(%HasFastDoubleElements(arr));
-assertTrue(%HasFastSmiElements(arr));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1853.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1853.js
deleted file mode 100644
index f80bade..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1853.js
+++ /dev/null
@@ -1,116 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-
-// Test whether scripts compiled after setting the break point are
-// updated correctly.
-
-Debug = debug.Debug;
-
-var break_count = 0;
-var test_break_1 = false;
-var test_break_2 = false;
-
-function sendCommand(state, cmd) {
- // Get the debug command processor in paused state.
- var dcp = state.debugCommandProcessor(false);
- var request = JSON.stringify(cmd);
- var response = dcp.processDebugJSONRequest(request);
- return JSON.parse(response);
-}
-
-function setBreakPointByName(state) {
- sendCommand(state, {
- seq: 0,
- type: "request",
- command: "setbreakpoint",
- arguments: {
- type: "script",
- target: "testScriptOne",
- line: 2
- }
- });
-}
-
-function setBreakPointByRegExp(state) {
- sendCommand(state, {
- seq: 0,
- type: "request",
- command: "setbreakpoint",
- arguments: {
- type: "scriptRegExp",
- target: "Scrip.Two",
- line: 2
- }
- });
-}
-
-function listener(event, exec_state, event_data, data) {
- try {
- if (event == Debug.DebugEvent.Break) {
- switch (break_count) {
- case 0:
- // Set break points before the code has been compiled.
- setBreakPointByName(exec_state);
- setBreakPointByRegExp(exec_state);
- break;
- case 1:
- // Set the flag to prove that we hit the first break point.
- test_break_1 = true;
- break;
- case 2:
- // Set the flag to prove that we hit the second break point.
- test_break_2 = true;
- break;
- }
- break_count++;
- }
- } catch (e) {
- print(e);
- }
-}
-
-Debug.setListener(listener);
-debugger;
-
-eval('function test1() { \n' +
- ' assertFalse(test_break_1); \n' +
- ' assertTrue(test_break_1); \n' +
- '} \n' +
- '//@ sourceURL=testScriptOne');
-
-eval('function test2() { \n' +
- ' assertFalse(test_break_2); \n' +
- ' assertTrue(test_break_2); \n' +
- '} \n' +
- '//@ sourceURL=testScriptTwo');
-
-test1();
-test2();
-assertEquals(3, break_count);
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-186.js b/src/3rdparty/v8/test/mjsunit/regress/regress-186.js
deleted file mode 100644
index 335869d..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-186.js
+++ /dev/null
@@ -1,72 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Make sure that eval can introduce a local variable called __proto__.
-// See http://code.google.com/p/v8/issues/detail?id=186
-
-var setterCalled = false;
-
-var o = {};
-o.__defineSetter__("x", function() { setterCalled = true; });
-
-function runTest(test) {
- setterCalled = false;
- test();
-}
-
-function testLocal() {
- // Add property called __proto__ to the extension object.
- eval("var __proto__ = o");
- // Check that the extension object's prototype did not change.
- eval("var x = 27");
- assertFalse(setterCalled, "prototype of extension object changed");
- assertEquals(o, eval("__proto__"));
-}
-
-function testConstLocal() {
- // Add const property called __proto__ to the extension object.
- eval("const __proto__ = o");
- // Check that the extension object's prototype did not change.
- eval("var x = 27");
- assertFalse(setterCalled, "prototype of extension object changed");
- assertEquals(o, eval("__proto__"));
-}
-
-function testGlobal() {
- // Assign to the global __proto__ property.
- eval("__proto__ = o");
- // Check that the prototype of the global object changed.
- eval("x = 27");
- assertTrue(setterCalled, "prototype of global object did not change");
- setterCalled = false;
- assertEquals(o, eval("__proto__"));
-}
-
-runTest(testLocal);
-runTest(testConstLocal);
-runTest(testGlobal);
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-187.js b/src/3rdparty/v8/test/mjsunit/regress/regress-187.js
deleted file mode 100644
index 2f8b0a1..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-187.js
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// See http://code.google.com/p/v8/issues/detail?id=187
-
-assertEquals(["f", undefined], "foo".match(/(?:(?=(f)o)fx|)./));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1878.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1878.js
deleted file mode 100644
index fbc47bd..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1878.js
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// See: http://code.google.com/p/v8/issues/detail?id=1878
-
-// Flags: --allow-natives-syntax --expose_natives_as=natives
-
-var a = Array();
-
-for (var i = 0; i < 1000; i++) {
- var ai = natives.InternalArray(10000);
- assertFalse(%HaveSameMap(ai, a));
- assertTrue(%HasFastObjectElements(ai));
-}
-
-for (var i = 0; i < 1000; i++) {
- var ai = new natives.InternalArray(10000);
- assertFalse(%HaveSameMap(ai, a));
- assertTrue(%HasFastObjectElements(ai));
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-189.js b/src/3rdparty/v8/test/mjsunit/regress/regress-189.js
deleted file mode 100644
index a84b620..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-189.js
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that we can handle initialization of a deleted const variable.
-
-// See http://code.google.com/p/v8/issues/detail?id=189.
-
-function f() {
- eval("delete x; const x = 32");
-}
-
-f();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1898.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1898.js
deleted file mode 100644
index 5440446..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1898.js
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-function f(x) {
- Math.log(Math.min(0.1, Math.abs(x)));
-}
-
-f(0.1);
-f(0.1);
-%OptimizeFunctionOnNextCall(f);
-f(0.1);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-191.js b/src/3rdparty/v8/test/mjsunit/regress/regress-191.js
deleted file mode 100644
index ca513c9..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-191.js
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Make sure that accessor setters are ignored on context extension
-// objects.
-// See http://code.google.com/p/v8/issues/detail?id=191
-
-var setterCalled = false;
-
-Object.prototype.__defineSetter__("x", function() { setterCalled = true; });
-
-function test() {
- eval("var x = 42");
- assertFalse(setterCalled, "accessor setter call on context object");
- assertEquals(42, eval("x"));
-}
-
-test();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1919169.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1919169.js
deleted file mode 100644
index a732312..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1919169.js
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-function test() {
- var s2 = "s2";
- for (var i = 0; i < 2; i++) {
- // Crashes in round i==1 with IllegalAccess in %StringAdd(x,y)
- var res = 1 + s2;
- s2 = 2;
- }
-}
-
-// Crash does not occur when code is run at the top level.
-test();
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-192.js b/src/3rdparty/v8/test/mjsunit/regress/regress-192.js
deleted file mode 100644
index a8e5e9d..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-192.js
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that exceptions are correctly propagated when creating object
-// literals.
-
-// See http://code.google.com/p/v8/issues/detail?id=192
-
-// UPDATE: This bug report is no longer valid. In ES5, creating object
-// literals MUST NOT trigger inherited accessors, but act as if creating
-// the properties using DefineOwnProperty.
-
-Object.prototype.__defineGetter__("x", function() {});
-Object.prototype.__defineSetter__("y",
- function() { assertUnreachable("setter"); });
-
-// Creating this object literal will *not* throw an exception because we are
-// assigning to a property that has only a getter.
-var x = ({ x: 42, y: 37 });
-assertEquals(42, x.x);
-assertEquals(37, x.y);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1924.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1924.js
deleted file mode 100644
index 8039541..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1924.js
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// For http://code.google.com/p/v8/issues/detail?id=1924
-
-a: break a;
-a: b: break a;
-a: b: break b;
-assertThrows("a: break a a", SyntaxError)
-assertThrows("a: break a 1", SyntaxError)
-assertThrows("a: break a ''", SyntaxError)
-assertThrows("a: break a var b", SyntaxError)
-assertThrows("a: break a {}", SyntaxError)
-
-a: if (0) break a;
-b: if (0) {break b;} else {}
-c: if (0) break c; else {}
-d: if (0) break d; else break d;
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-193.js b/src/3rdparty/v8/test/mjsunit/regress/regress-193.js
deleted file mode 100644
index f803483..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-193.js
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that context extension objects do not have a constructor
-// property.
-
-// See http://code.google.com/p/v8/issues/detail?id=193.
-
-function f() {
- return eval("var x; constructor");
-}
-
-// It should be ok to call the constructor function returned by f.
-f()();
-
-// The call to f should get the constructor of the receiver which is
-// the constructor of the global object.
-assertEquals(constructor, f());
-
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1945.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1945.js
deleted file mode 100644
index bffc775..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1945.js
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-var _d = new Date();
-_d.setHours(0,0,0,0);
-_d.setHours(0,0,0,0);
-%OptimizeFunctionOnNextCall(_d.setHours);
-_d.setHours(0,0,0,0);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1973.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1973.js
deleted file mode 100644
index 8708bf1..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1973.js
+++ /dev/null
@@ -1,52 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that getters and setters pass unwrapped this values in strict mode
-// and wrapped this values is non-strict mode.
-
-function TestAccessorWrapping(primitive) {
- var prototype = Object.getPrototypeOf(Object(primitive))
- // Check that strict mode passes unwrapped this value.
- var strict_type = typeof primitive;
- Object.defineProperty(prototype, "strict", {
- get: function() { "use strict"; assertSame(strict_type, typeof this); },
- set: function() { "use strict"; assertSame(strict_type, typeof this); }
- });
- primitive.strict = primitive.strict;
- // Check that non-strict mode passes wrapped this value.
- var sloppy_type = typeof Object(primitive);
- Object.defineProperty(prototype, "sloppy", {
- get: function() { assertSame(sloppy_type, typeof this); },
- set: function() { assertSame(sloppy_type, typeof this); }
- });
- primitive.sloppy = primitive.sloppy;
-}
-
-TestAccessorWrapping(true);
-TestAccessorWrapping(0);
-TestAccessorWrapping({});
-TestAccessorWrapping("");
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-1980.js b/src/3rdparty/v8/test/mjsunit/regress/regress-1980.js
deleted file mode 100644
index d87ff45..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-1980.js
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// See: http://code.google.com/p/v8/issues/detail?id=1980
-
-var invalid_this = [ "invalid", 23, undefined, null ];
-for (var i = 0; i < invalid_this.length; i++) {
- var exception = false;
- try {
- Error.prototype.toString.call(invalid_this[i]);
- } catch (e) {
- exception = true;
- assertEquals("Error.prototype.toString called on non-object", e.message);
- }
- assertTrue(exception);
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-20070207.js b/src/3rdparty/v8/test/mjsunit/regress/regress-20070207.js
deleted file mode 100644
index b7f7a5c..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-20070207.js
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// The following regression test illustrates a problem in using the
-// value of setting a property in the arguments object.
-
-function f(s) {
- arguments.length;
- return (s += 10) < 0;
-}
-
-assertTrue(f(-100));
-assertTrue(f(-20));
-assertFalse(f(-10));
-assertFalse(f(-5));
-assertFalse(f(0));
-assertFalse(f(10));
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-201.js b/src/3rdparty/v8/test/mjsunit/regress/regress-201.js
deleted file mode 100644
index 8847fc0..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-201.js
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// See http://code.google.com/p/v8/issues/detail?id=201.
-
-function testsort(n) {
- n=1*n;
- var numbers=new Array(n);
- for (var i=0;i<n;i++) numbers[i]=i;
- numbers.sort();
-}
-
-testsort("5001")
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2027.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2027.js
deleted file mode 100644
index 00ed03f..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2027.js
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var d = new Date(2010, 1, 1);
-
-function Check(time) {
- assertEquals(d.getTime(), time);
-}
-
-Check(d.setMilliseconds(10));
-Check(d.setSeconds(10));
-Check(d.setMinutes(10));
-Check(d.setHours(10));
-Check(d.setDate(10));
-Check(d.setMonth(10));
-Check(d.setFullYear(2010));
-Check(d.setUTCMilliseconds(10));
-Check(d.setUTCSeconds(10));
-Check(d.setUTCMinutes(10));
-Check(d.setUTCHours(10));
-Check(d.setUTCDate(10));
-Check(d.setUTCMonth(10));
-Check(d.setUTCFullYear(2010));
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2030.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2030.js
deleted file mode 100644
index fb5a3d0..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2030.js
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-function a() {
- this.x = 1;
-}
-var aa = new a();
-%DebugPrint(aa);
-
-function b() {
- this.z = 23;
- this.x = 2;
-}
-var bb = new b();
-%DebugPrint(bb);
-
-function f(o) {
- return o.x;
-}
-
-assertSame(1, f(aa));
-assertSame(1, f(aa));
-assertSame(2, f(bb));
-assertSame(2, f(bb));
-%OptimizeFunctionOnNextCall(f);
-assertSame(1, f(aa));
-assertSame(2, f(bb));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2032.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2032.js
deleted file mode 100644
index ad6408d..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2032.js
+++ /dev/null
@@ -1,64 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// See: http://code.google.com/p/v8/issues/detail?id=2032
-
-// Case independent regexp that ends on the first character in a block.
-assertTrue(/[@-A]/i.test("a"));
-assertTrue(/[@-A]/i.test("A"));
-assertTrue(/[@-A]/i.test("@"));
-
-assertFalse(/[@-A]/.test("a"));
-assertTrue(/[@-A]/.test("A"));
-assertTrue(/[@-A]/.test("@"));
-
-assertFalse(/[¿-À]/i.test('¾'));
-assertTrue(/[¿-À]/i.test('¿'));
-assertTrue(/[¿-À]/i.test('À'));
-assertTrue(/[¿-À]/i.test('à'));
-assertFalse(/[¿-À]/i.test('á'));
-assertFalse(/[¿-À]/i.test('Á'));
-
-assertFalse(/[¿-À]/.test('¾'));
-assertTrue(/[¿-À]/.test('¿'));
-assertTrue(/[¿-À]/.test('À'));
-assertFalse(/[¿-À]/.test('à'));
-assertFalse(/[¿-À]/.test('á'));
-assertFalse(/[¿-À]/.test('á'));
-assertFalse(/[¿-À]/i.test('Á'));
-
-assertFalse(/[Ö-×]/i.test('Õ'));
-assertTrue(/[Ö-×]/i.test('Ö'));
-assertTrue(/[Ö-×]/i.test('ö'));
-assertTrue(/[Ö-×]/i.test('×'));
-assertFalse(/[Ö-×]/i.test('Ø'));
-
-assertFalse(/[Ö-×]/.test('Õ'));
-assertTrue(/[Ö-×]/.test('Ö'));
-assertFalse(/[Ö-×]/.test('ö'));
-assertTrue(/[Ö-×]/.test('×'));
-assertFalse(/[Ö-×]/.test('Ø'));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2034.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2034.js
deleted file mode 100644
index c510f97..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2034.js
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --harmony-collections
-
-var key = {};
-var map = new WeakMap;
-Object.preventExtensions(key);
-
-// Try querying using frozen key.
-assertFalse(map.has(key));
-assertSame(undefined, map.get(key));
-
-// Try adding using frozen key.
-map.set(key, 1);
-assertTrue(map.has(key));
-assertSame(1, map.get(key));
-
-// Try deleting using frozen key.
-map.delete(key, 1);
-assertFalse(map.has(key));
-assertSame(undefined, map.get(key));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2045.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2045.js
deleted file mode 100644
index 822ee1f..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2045.js
+++ /dev/null
@@ -1,49 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-function foo() {
- assertEquals(2, arguments.length);
-}
-
-function bar() {
- G.x;
- return foo.apply(this, arguments);
-}
-
-function baz() {
- return bar(1, 2);
-}
-
-G = {x: 0};
-baz();
-baz();
-%OptimizeFunctionOnNextCall(baz);
-baz();
-delete G.x;
-baz();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2054.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2054.js
deleted file mode 100644
index 97b989c..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2054.js
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that we can correctly optimize top level code that contains a
-// throw (or return) as it's last statement.
-
-var N = 1e5; // Number of iterations that trigger optimization.
-for (var i = 0; i < N; i++) {
- if (i > N) throw new Error;
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2055.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2055.js
deleted file mode 100644
index 1eaf62c..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2055.js
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that array literal boilerplate objects can be transitioned while
-// existing un-transitioned clones are still being populated.
-
-function test1(depth) {
- if (--depth < 0) {
- return [];
- } else {
- return [ 0, test1(depth) ];
- }
-}
-assertEquals([0,[0,[]]], test1(2));
-
-function test2(depth) {
- if (--depth < 0) {
- return [];
- } else {
- var o = [ 0, test2(depth) ];
- return (depth == 0) ? 0.5 : o;
- }
-}
-assertEquals([0,0.5], test2(2));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2056.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2056.js
deleted file mode 100644
index d34a750..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2056.js
+++ /dev/null
@@ -1,66 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-var cases = [
- [0.0, 0.0, 0.0, 0,0],
- [undefined, 0.0, NaN, NaN],
- [0.0, undefined, NaN, NaN],
- [NaN, 0.0, NaN, NaN],
- [0.0, NaN, NaN, NaN],
- [-NaN, 0.0, NaN, NaN],
- [0.0, -NaN, NaN, NaN],
- [Infinity, 0.0, Infinity, 0.0],
- [0.0, Infinity, Infinity, 0.0],
- [-Infinity, 0.0, 0.0, -Infinity],
- [0.0, -Infinity, 0.0, -Infinity]
-];
-
-function do_min(a, b) {
- return Math.min(a, b);
-}
-
-function do_max(a, b) {
- return Math.max(a, b);
-}
-
-// Make sure that non-crankshaft results match expectations.
-for (i = 0; i < cases.length; ++i) {
- var c = cases[i];
- assertEquals(c[3], do_min(c[0], c[1]));
- assertEquals(c[2], do_max(c[0], c[1]));
-}
-
-// Make sure that crankshaft results match expectations.
-for (i = 0; i < cases.length; ++i) {
- var c = cases[i];
- %OptimizeFunctionOnNextCall(do_min);
- %OptimizeFunctionOnNextCall(do_max);
- assertEquals(c[3], do_min(c[0], c[1]));
- assertEquals(c[2], do_max(c[0], c[1]));
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2058.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2058.js
deleted file mode 100644
index 9a69ea1..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2058.js
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-// See http://code.google.com/p/v8/issues/detail?id=2058
-
-// A match after a replace with a function argument needs to reset
-// the flag that determines whether we are using indices or substrings
-// to indicate the last match.
-"Now is the".replace(/Now (\w+) the/g, function() {
- "foo bar".match(/( )/);
- assertEquals(RegExp.$1, " ");
-})
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2071.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2071.js
deleted file mode 100644
index 91ae2a7..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2071.js
+++ /dev/null
@@ -1,79 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-a = {};
-
-a.b = 42;
-
-with(a) {
- a.f = (function f1() {
- function f2() {
- return b;
- };
- return f2;
- })();
-}
-
-for(var i = 0; i < 10000; i++) {
- assertEquals(42, a.f());
-}
-
-with(a) {
- a.g = (function f1() {
- function f2() {
- function f3() {
- return b;
- }
- return f3;
- };
- return f2();
- })();
-}
-
-for(var i = 0; i < 10000; i++) {
- assertEquals(42, a.g());
-}
-
-function outer() {
- with(a) {
- a.h = (function f1() {
- function f2() {
- function f3() {
- return b;
- }
- return f3;
- };
- return f2();
- })();
- }
-};
-
-outer();
-
-for(var i = 0; i < 10000; i++) {
- assertEquals(42, a.h());
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2073.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2073.js
deleted file mode 100644
index 4e40b04..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2073.js
+++ /dev/null
@@ -1,99 +0,0 @@
-// Copyright 2013 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Running this test with --trace_gc will show heap size growth due to
-// leaking objects via embedded maps in optimized code.
-
-var counter = 0;
-
-function nextid() {
- counter += 1;
- return counter;
-}
-
-function Scope() {
- this.id = nextid();
- this.parent = null;
- this.left = null;
- this.right = null;
- this.head = null;
- this.tail = null;
- this.counter = 0;
-}
-
-Scope.prototype = {
- new: function() {
- var Child,
- child;
- Child = function() {};
- Child.prototype = this;
- child = new Child();
- child.id = nextid();
- child.parent = this;
- child.left = this.last;
- child.right = null;
- child.head = null;
- child.tail = null;
- child.counter = 0;
- if (this.head) {
- this.tail.right = child;
- this.tail = child;
- } else {
- this.head = this.tail = child;
- }
- return child;
- },
-
- destroy: function() {
- if ($root == this) return;
- var parent = this.parent;
- if (parent.head == this) parent.head = this.right;
- if (parent.tail == this) parent.tail = this.left;
- if (this.left) this.left.right = this.right;
- if (this.right) this.right.left = this.left;
- }
-};
-
-function inc(scope) {
- scope.counter = scope.counter + 1;
-}
-
-var $root = new Scope();
-
-n = 100000;
-m = 10;
-
-function doit() {
- var a = $root.new();
- var b = a.new();
- inc(b);
- if (i > m) $root.head.destroy();
-}
-
-for (var i = 0; i < n; i++) {
- doit();
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2110.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2110.js
deleted file mode 100644
index d7f78d2..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2110.js
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-var uint8 = new Uint8Array(1);
-
-function test() {
- uint8[0] = 0x800000aa;
- assertEquals(0xaa, uint8[0]);
-}
-
-test();
-test();
-test();
-%OptimizeFunctionOnNextCall(test);
-test();
-
-var uint32 = new Uint32Array(1);
-
-function test2() {
- uint32[0] = 0x80123456789abcde;
- assertEquals(0x789ac000, uint32[0]);
-}
-
-test2();
-test2();
-%OptimizeFunctionOnNextCall(test2);
-test2();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2119.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2119.js
deleted file mode 100644
index 54840c2..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2119.js
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --nouse-ic
-
-function strict_function() {
- "use strict"
- undeclared = 1;
-}
-
-assertThrows(strict_function);
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2153.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2153.js
deleted file mode 100644
index 3170042..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2153.js
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var o = {};
-o.__defineGetter__('foo', function () { return null; });
-var o = {};
-o.foo = 42;
-assertEquals(42, o.foo);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2156.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2156.js
deleted file mode 100644
index 3482571..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2156.js
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --harmony-collections
-
-var key1 = {};
-var key2 = {};
-var map = new WeakMap;
-
-// Adding hidden properties preserves map sharing. Putting the key into
-// a WeakMap will cause the first hidden property to be added.
-assertTrue(%HaveSameMap(key1, key2));
-map.set(key1, 1);
-map.set(key2, 2);
-assertTrue(%HaveSameMap(key1, key2));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2163.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2163.js
deleted file mode 100644
index bfce9ff..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2163.js
+++ /dev/null
@@ -1,70 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-gc
-
-// Handy abbreviation.
-var dp = Object.defineProperty;
-
-function getter() { return 111; }
-function setter(x) { print(222); }
-function anotherGetter() { return 333; }
-function anotherSetter(x) { print(444); }
-var obj1, obj2;
-
-// obj1 and obj2 share the getter accessor.
-obj1 = {};
-dp(obj1, "alpha", { get: getter, set: setter });
-obj2 = {}
-dp(obj2, "alpha", { get: getter });
-obj1 = {};
-assertEquals(111, obj2.alpha);
-gc();
-assertEquals(111, obj2.alpha);
-
-// obj1, obj2, and obj3 share the getter accessor.
-obj1 = {};
-dp(obj1, "alpha", { get: getter, set: setter });
-obj2 = {}
-dp(obj2, "alpha", { get: getter });
-obj1 = {};
-gc();
-obj3 = {}
-dp(obj3, "alpha", { get: getter });
-
-
-// obj1 and obj2 share the getter and setter accessor.
-obj1 = {};
-dp(obj1, "alpha", { get: getter, set: setter });
-obj1.beta = 10;
-obj2 = {}
-dp(obj2, "alpha", { get: getter, set: setter });
-obj1 = {};
-assertEquals(111, obj2.alpha);
-gc();
-obj2.alpha = 100
-assertEquals(111, obj2.alpha);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2170.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2170.js
deleted file mode 100644
index 01cb1ea..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2170.js
+++ /dev/null
@@ -1,58 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-function array_fun() {
- for (var i = 0; i < 2; i++) {
- var a = [1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8];
- var x = new Array();
- x.fixed$length = true;
- for (var j = 0; j < a.length; j++) {
- x.push(a[j]);
- }
- for(var j = 0; j < x.length; j++) {
- if (typeof x[j] != 'number') {
- throw "foo";
- }
- x[j] = x[j];
- }
- }
-}
-
-try {
- for (var i = 0; i < 10; ++i) {
- array_fun();
- }
- %OptimizeFunctionOnNextCall(array_fun);
- for (var i = 0; i < 10; ++i) {
- array_fun();
- }
-} catch (e) {
- assertUnreachable();
-}
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2172.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2172.js
deleted file mode 100644
index 5d06f4e..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2172.js
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-for (var i = 0; i < 10000; i++){
- (i + "\0").split(/(.)\1/i);
-}
-
-for (var i = 0; i < 10000; i++){
- (i + "\u1234\0").split(/(.)\1/i);
-}
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2185-2.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2185-2.js
deleted file mode 100644
index b1eedb9..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2185-2.js
+++ /dev/null
@@ -1,145 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// These tests used to time out before this was fixed.
-
-var LEN = 2e4;
-
-function short() {
- var sum = 0;
- for (var i = 0; i < 1000; i++) {
- var a = [1, 4, 34, 23, 6, 123, 3, 2, 11, 515, 4, 33, 22, 2, 2, 1, 0, 123,
- 23, 42, 43, 1002, 44, 43, 101, 23, 55, 11, 101, 102, 45, 11, 404,
- 31415, 34, 53, 453, 45, 34, 5, 2, 35, 5, 345, 36, 45, 345, 3, 45,
- 3, 5, 5, 2, 2342344, 2234, 23, 2718, 1500, 2, 19, 22, 43, 41, 0,
- -1, 33, 45, 78];
- a.sort(function(a, b) { return a - b; });
- sum += a[0];
- }
- return sum;
-}
-
-function short_bench(name, array) {
- var start = new Date();
- short();
- var end = new Date();
- var ms = end - start;
- print("Short " + Math.floor(ms) + "ms");
-}
-
-function sawseq(a, tooth) {
- var count = 0;
- while (true) {
- for (var i = 0; i < tooth; i++) {
- a.push(i);
- if (++count >= LEN) return a;
- }
- }
-}
-
-function sawseq2(a, tooth) {
- var count = 0;
- while (true) {
- for (var i = 0; i < tooth; i++) {
- a.push(i);
- if (++count >= LEN) return a;
- }
- for (var i = 0; i < tooth; i++) {
- a.push(tooth - i);
- if (++count >= LEN) return a;
- }
- }
-}
-
-function sawseq3(a, tooth) {
- var count = 0;
- while (true) {
- for (var i = 0; i < tooth; i++) {
- a.push(tooth - i);
- if (++count >= LEN) return a;
- }
- }
-}
-
-function up(a) {
- for (var i = 0; i < LEN; i++) {
- a.push(i);
- }
- return a;
-}
-
-function down(a) {
- for (var i = 0; i < LEN; i++) {
- a.push(LEN - i);
- }
- return a;
-}
-
-function ran(a) {
- for (var i = 0; i < LEN; i++) {
- a.push(Math.floor(Math.random() * LEN));
- }
- return a;
-}
-
-var random = ran([]);
-var asc = up([]);
-var desc = down([]);
-var asc_desc = down(up([]));
-var desc_asc = up(down([]));
-var asc_asc = up(up([]));
-var desc_desc = down(down([]));
-var saw1 = sawseq([], 1000);
-var saw2 = sawseq([], 500);
-var saw3 = sawseq([], 200);
-var saw4 = sawseq2([], 200);
-var saw5 = sawseq3([], 200);
-
-function bench(name, array) {
- var start = new Date();
- array.sort(function(a, b) { return a - b; });
- var end = new Date();
- for (var i = 0; i < array.length - 1; i++) {
- if (array[i] > array[i + 1]) throw name + " " + i;
- }
- var ms = end - start;
- print(name + " " + Math.floor(ms) + "ms");
-}
-
-short_bench();
-bench("random", random);
-bench("up", asc);
-bench("down", desc);
-bench("saw 1000", saw1);
-bench("saw 500", saw2);
-bench("saw 200", saw3);
-bench("saw 200 symmetric", saw4);
-bench("saw 200 down", saw4);
-bench("up, down", asc_desc);
-bench("up, up", asc_asc);
-bench("down, down", desc_desc);
-bench("down, up", desc_asc);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2185.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2185.js
deleted file mode 100644
index 9b91066..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2185.js
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --noenable-slow-asserts
-
-var a = [];
-
-for (var i = 0; i < 2; i++) {
- for (var j = 0; j < 30000; j++) {
- a.push(j);
- }
-}
-
-a.sort(function(a, b) { return a - b; } );
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2186.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2186.js
deleted file mode 100644
index 0921dce..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2186.js
+++ /dev/null
@@ -1,49 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --harmony-collections
-
-function heapify(i) {
- return 2.0 * (i / 2);
-}
-heapify(1);
-
-var ONE = 1;
-var ANOTHER_ONE = heapify(ONE);
-assertSame(ONE, ANOTHER_ONE);
-assertEquals("number", typeof ONE);
-assertEquals("number", typeof ANOTHER_ONE);
-
-var set = new Set;
-set.add(ONE);
-assertTrue(set.has(ONE));
-assertTrue(set.has(ANOTHER_ONE));
-
-var map = new Map;
-map.set(ONE, 23);
-assertSame(23, map.get(ONE));
-assertSame(23, map.get(ANOTHER_ONE));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-219.js b/src/3rdparty/v8/test/mjsunit/regress/regress-219.js
deleted file mode 100644
index b751f0f..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-219.js
+++ /dev/null
@@ -1,148 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Tests handling of flags for regexps.
-
-// We should now allow duplicates of flags.
-// (See http://code.google.com/p/v8/issues/detail?id=219)
-
-// This has been reversed by issue 1628, since other browsers have also
-// tightened their syntax.
-// (See http://code.google.com/p/v8/issues/detail?id=1628)
-
-// Base tests: we recognize the basic flags
-
-function assertFlags(re, global, multiline, ignoreCase) {
- var name = re + " flag: ";
- (global ? assertTrue : assertFalse)(re.global, name + "g");
- (multiline ? assertTrue : assertFalse)(re.multiline, name + "m");
- (ignoreCase ? assertTrue : assertFalse)(re.ignoreCase, name + "i");
-}
-
-var re = /a/;
-assertFlags(re, false, false, false)
-
-re = /a/gim;
-assertFlags(re, true, true, true)
-
-re = RegExp("a","");
-assertFlags(re, false, false, false)
-
-re = RegExp("a", "gim");
-assertFlags(re, true, true, true)
-
-// Double i's
-
-assertThrows("/a/ii");
-
-assertThrows("/a/gii");
-
-assertThrows("/a/igi");
-
-assertThrows("/a/iig");
-
-assertThrows("/a/gimi");
-
-assertThrows("/a/giim");
-
-assertThrows("/a/igim");
-
-assertThrows(function(){ return RegExp("a", "ii"); })
-
-assertThrows(function(){ return RegExp("a", "gii"); })
-
-assertThrows(function(){ return RegExp("a", "igi"); })
-
-assertThrows(function(){ return RegExp("a", "iig"); })
-
-assertThrows(function(){ return RegExp("a", "gimi"); })
-
-assertThrows(function(){ return RegExp("a", "giim"); })
-
-assertThrows(function(){ return RegExp("a", "igim"); })
-
-// Tripple i's
-
-assertThrows("/a/iii");
-
-assertThrows("/a/giii");
-
-assertThrows("/a/igii");
-
-assertThrows("/a/iigi");
-
-assertThrows("/a/iiig");
-
-assertThrows("/a/miiig");
-
-assertThrows(function(){ return RegExp("a", "iii"); })
-
-assertThrows(function(){ return RegExp("a", "giii"); })
-
-assertThrows(function(){ return RegExp("a", "igii"); })
-
-assertThrows(function(){ return RegExp("a", "iigi"); })
-
-assertThrows(function(){ return RegExp("a", "iiig"); })
-
-assertThrows(function(){ return RegExp("a", "miiig"); })
-
-// Illegal flags - valid flags late in string.
-
-assertThrows("/a/arglebargleglopglyf");
-
-assertThrows("/a/arglebargleglopglif");
-
-assertThrows("/a/arglebargleglopglym");
-
-assertThrows("/a/arglebargleglopglim");
-
-// Case of flags still matters.
-
-var re = /a/gmi;
-assertFlags(re, true, true, true)
-
-assertThrows("/a/Gmi");
-
-assertThrows("/a/gMi");
-
-assertThrows("/a/gmI");
-
-assertThrows("/a/GMi");
-
-assertThrows("/a/GmI");
-
-assertThrows("/a/gMI");
-
-assertThrows("/a/GMI");
-
-// Unicode escape sequences are not interpreted.
-
-assertThrows("/a/\\u0067");
-assertThrows("/a/\\u0069");
-assertThrows("/a/\\u006d");
-assertThrows("/a/\\u006D");
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2193.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2193.js
deleted file mode 100644
index 50509bf..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2193.js
+++ /dev/null
@@ -1,58 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --cache-optimized-code
-
-function bozo() {};
-function MakeClosure() {
- return function f(use_literals) {
- if (use_literals) {
- return [1,2,3,3,4,5,6,7,8,9,bozo];
- } else {
- return 0;
- }
- }
-}
-
-// Create two closures that share the same literal boilerplates.
-var closure1 = MakeClosure();
-var closure2 = MakeClosure();
-var expected = [1,2,3,3,4,5,6,7,8,9,bozo];
-
-// Make sure we generate optimized code for the first closure after
-// warming it up properly so that the literals boilerplate is generated
-// and the optimized code uses CreateArrayLiteralShallow runtime call.
-assertEquals(0, closure1(false));
-assertEquals(expected, closure1(true));
-%OptimizeFunctionOnNextCall(closure1);
-assertEquals(expected, closure1(true));
-
-// Optimize the second closure, which should reuse the optimized code
-// from the first closure with the same literal boilerplates.
-assertEquals(0, closure2(false));
-%OptimizeFunctionOnNextCall(closure2);
-assertEquals(expected, closure2(true));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-220.js b/src/3rdparty/v8/test/mjsunit/regress/regress-220.js
deleted file mode 100644
index 32c6471..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-220.js
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function foo(f) { eval(f); }
-
-// Ensure that compiling a declaration of a function does not crash.
-foo("(function (x) { with ({x: []}) function x(){} })");
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2219.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2219.js
deleted file mode 100644
index 946c75b..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2219.js
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --harmony-proxies --expose-gc
-
-var p = Proxy.create({getPropertyDescriptor: function() { gc() }});
-var o = Object.create(p);
-assertSame(23, o.x = 23);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2225.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2225.js
deleted file mode 100644
index 9957d8d..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2225.js
+++ /dev/null
@@ -1,65 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --harmony-proxies
-
-var proxy_has_x = false;
-var proxy = Proxy.create({ getPropertyDescriptor:function(key) {
- assertSame('x', key);
- if (proxy_has_x) {
- return { configurable:true, writable:false, value:19 };
- }
-}});
-
-// Test __lookupGetter__/__lookupSetter__ with proxy.
-assertSame(undefined, Object.prototype.__lookupGetter__.call(proxy, 'foo'));
-assertSame(undefined, Object.prototype.__lookupSetter__.call(proxy, 'bar'));
-assertSame(undefined, Object.prototype.__lookupGetter__.call(proxy, '123'));
-assertSame(undefined, Object.prototype.__lookupSetter__.call(proxy, '456'));
-
-// Test __lookupGetter__/__lookupSetter__ with proxy in prototype chain.
-var object = Object.create(proxy);
-assertSame(undefined, Object.prototype.__lookupGetter__.call(object, 'foo'));
-assertSame(undefined, Object.prototype.__lookupSetter__.call(object, 'bar'));
-assertSame(undefined, Object.prototype.__lookupGetter__.call(object, '123'));
-assertSame(undefined, Object.prototype.__lookupSetter__.call(object, '456'));
-
-// Test inline constructors with proxy as prototype.
-function f() { this.x = 23; }
-f.prototype = proxy;
-proxy_has_x = false;
-assertSame(23, new f().x);
-proxy_has_x = true;
-assertSame(19, new f().x);
-
-// Test inline constructors with proxy in prototype chain.
-function g() { this.x = 42; }
-g.prototype.__proto__ = proxy;
-proxy_has_x = false;
-assertSame(42, new g().x);
-proxy_has_x = true;
-assertSame(19, new g().x);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2226.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2226.js
deleted file mode 100644
index 1ac3d30..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2226.js
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var foo = function() { 0; /* foo function */ };
-var bar = function() { 1; /* bar function */ };
-var baz = function() { 2; /* baz function */ };
-
-var test = foo.test = bar.test = baz;
-
-assertEquals(baz, test);
-assertEquals(baz, foo.test);
-assertEquals(baz, bar.test);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2234.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2234.js
deleted file mode 100644
index 8da513e..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2234.js
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-function test(i) {
- // Overwrite random parts of the transcendental cache.
- Math.sin(i / 1779 * Math.PI);
- // Check whether the first cache line has been accidentally overwritten
- // with incorrect key.
- assertEquals(0, Math.sin(0));
-}
-
-for (i = 0; i < 10000; ++i) {
- test(i);
- if (i == 0) %OptimizeFunctionOnNextCall(test);
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2243.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2243.js
deleted file mode 100644
index 31c2e55..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2243.js
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --harmony-scoping
-
-assertThrows("'use strict'; (function f() { f = 123; })", SyntaxError);
-assertThrows("(function f() { 'use strict'; f = 123; })", SyntaxError);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2249.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2249.js
deleted file mode 100644
index 07d687d..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2249.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --gc-interval=10 --stress-compaction
-
-var o = {};
-o[Math.pow(2,30)-1] = 0;
-o[Math.pow(2,31)-1] = 0;
-o[1] = 0;
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2249423.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2249423.js
deleted file mode 100644
index a590f33..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2249423.js
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// See http://code.google.com/p/chromium/issues/detail?id=27227
-// Regression test for stack corruption issue.
-
-function top() {
- function g(a, b) {}
- function t() {
- for (var i=0; i<1; ++i) {
- g(32768, g());
- }
- }
- t();
-}
-top();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-225.js b/src/3rdparty/v8/test/mjsunit/regress/regress-225.js
deleted file mode 100644
index e101ca0..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-225.js
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// See http://code.google.com/p/v8/issues/detail?id=225
-
-assertEquals("foo", "foo".replace(/(?:)/g, function() { return ""; }));
-
-assertEquals("foo", "foo".replace(/(?:)/g, ""));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2250.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2250.js
deleted file mode 100644
index b3b0db3..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2250.js
+++ /dev/null
@@ -1,68 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// The original problem from the bug: In the example below SMI check for b
-// generated for inlining of equals invocation (marked with (*)) will be hoisted
-// out of the loop across the typeof b === "object" condition and cause an
-// immediate deopt. Another problem here is that no matter how many time we
-// deopt and reopt we will continue to produce the wrong code.
-//
-// The fix is to notice when a deopt and subsequent reopt doesn't find
-// additional type information, indicating that optimistic LICM should be
-// disabled during compilation.
-
-function eq(a, b) {
- if (typeof b === "object") {
- return b.equals(a); // (*)
- }
- return a === b;
-}
-
-Object.prototype.equals = function (other) {
- return (this === other);
-};
-
-function test() {
- for (var i = 0; !eq(i, 10); i++)
- ;
-}
-
-eq({}, {});
-eq({}, {});
-eq(1, 1);
-eq(1, 1);
-test();
-%OptimizeFunctionOnNextCall(test);
-test();
-%OptimizeFunctionOnNextCall(test);
-// Second compilation should have noticed that LICM wasn't a good idea, and now
-// function should no longer deopt when called.
-test();
-assertTrue(2 != %GetOptimizationStatus(test));
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2261.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2261.js
deleted file mode 100644
index 000e07d..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2261.js
+++ /dev/null
@@ -1,113 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test materialization of the arguments object when deoptimizing a
-// strict mode closure after modifying an argument.
-
-(function () {
- var forceDeopt = 0;
- function inner(x) {
- "use strict";
- x = 2;
- // Do not remove this %DebugPrint as it makes sure the deopt happens
- // after the assignment and is not hoisted above the assignment.
- %DebugPrint(arguments[0]);
- forceDeopt + 1;
- return arguments[0];
- }
-
- assertEquals(1, inner(1));
- assertEquals(1, inner(1));
- %OptimizeFunctionOnNextCall(inner);
- assertEquals(1, inner(1));
- forceDeopt = "not a number";
- assertEquals(1, inner(1));
-})();
-
-
-// Test materialization of the arguments object when deoptimizing an
-// inlined strict mode closure after modifying an argument.
-
-(function () {
- var forceDeopt = 0;
- function inner(x) {
- "use strict";
- x = 2;
- // Do not remove this %DebugPrint as it makes sure the deopt happens
- // after the assignment and is not hoisted above the assignment.
- %DebugPrint(arguments[0]);
- forceDeopt + 1;
- return arguments[0];
- }
-
- function outer(x) {
- return inner(x);
- }
-
- assertEquals(1, outer(1));
- assertEquals(1, outer(1));
- %OptimizeFunctionOnNextCall(outer);
- assertEquals(1, outer(1));
- forceDeopt = "not a number";
- assertEquals(1, outer(1));
-})();
-
-
-// Test materialization of the multiple arguments objects when
-// deoptimizing several inlined closure after modifying an argument.
-
-(function () {
- var forceDeopt = 0;
- function inner(x,y,z) {
- "use strict";
- x = 3;
- // Do not remove this %DebugPrint as it makes sure the deopt happens
- // after the assignment and is not hoisted above the assignment.
- %DebugPrint(arguments[0]);
- forceDeopt + 1;
- return arguments[0];
- }
-
- function middle(x) {
- "use strict";
- x = 2;
- return inner(10*x, 20*x, 30*x) + arguments[0];
- }
-
- function outer(x) {
- return middle(x);
- }
-
- assertEquals(21, outer(1));
- assertEquals(21, outer(1));
- %OptimizeFunctionOnNextCall(outer);
- assertEquals(21, outer(1));
- forceDeopt = "not a number";
- assertEquals(21, outer(1));
-})();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2263.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2263.js
deleted file mode 100644
index 9a9db58..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2263.js
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var obj = { length: { valueOf: function(){ throw { type: "length" }}}};
-var sep = { toString: function(){ throw { type: "toString" }}};
-assertThrows("Array.prototype.join.call(obj, sep)", undefined, "length");
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-227.js b/src/3rdparty/v8/test/mjsunit/regress/regress-227.js
deleted file mode 100644
index ebb4627..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-227.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var re = /\u23a1|x/;
-var res = re.exec("!");
-assertEquals(null, res, "Throwing away high bits on ASCII string");
-
-res = re.exec("!x");
-assertEquals(["x"], res, "Throwing away high bits on ASCII string");
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2284.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2284.js
deleted file mode 100644
index 5614019..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2284.js
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-assertThrows("%foobar();", TypeError);
-assertThrows("%constructor();", TypeError);
-assertThrows("%constructor(23);", TypeError);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2285.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2285.js
deleted file mode 100644
index efda4cd..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2285.js
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-assertThrows(function() { %_CallFunction(null, 0, ""); });
-assertThrows(function() { %_CallFunction(null, 0, 1); });
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2286.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2286.js
deleted file mode 100644
index 372451e..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2286.js
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-assertThrows("f()", ReferenceError);
-assertThrows("%f()", TypeError);
-assertThrows("%_f()", SyntaxError);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2289.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2289.js
deleted file mode 100644
index e89ec6e..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2289.js
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var foo = "a";
-for (var i = 0; i < 12; i++) foo += foo;
-foo = foo + 'b' + foo;
-
-foo.replace(/b/, "a");
-
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2291.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2291.js
deleted file mode 100644
index 96627fc..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2291.js
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function StrictCompare(x) { return x === Object(x); }
-
-var obj = new Object();
-var obj2 = new Object();
-obj == obj; // Populate IC cache with non-strict comparison.
-
-StrictCompare(obj); // Set IC in StrictCompare from IC cache.
-
-assertFalse(StrictCompare('foo')); // Use == stub for === operation.
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2294.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2294.js
deleted file mode 100644
index 43ba10d..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2294.js
+++ /dev/null
@@ -1,70 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-var clampedArray = new Uint8ClampedArray(10);
-
-function test() {
- clampedArray[0] = 0.499;
- assertEquals(0, clampedArray[0]);
- clampedArray[0] = 0.5;
- assertEquals(0, clampedArray[0]);
- clampedArray[0] = 0.501;
- assertEquals(1, clampedArray[0]);
- clampedArray[0] = 1.499;
- assertEquals(1, clampedArray[0]);
- clampedArray[0] = 1.5;
- assertEquals(2, clampedArray[0]);
- clampedArray[0] = 1.501;
- assertEquals(2, clampedArray[0]);
- clampedArray[0] = 2.5;
- assertEquals(2, clampedArray[0]);
- clampedArray[0] = 3.5;
- assertEquals(4, clampedArray[0]);
- clampedArray[0] = 252.5;
- assertEquals(252, clampedArray[0]);
- clampedArray[0] = 253.5;
- assertEquals(254, clampedArray[0]);
- clampedArray[0] = 254.5;
- assertEquals(254, clampedArray[0]);
- clampedArray[0] = 256.5;
- assertEquals(255, clampedArray[0]);
- clampedArray[0] = -0.5;
- assertEquals(0, clampedArray[0]);
- clampedArray[0] = -1.5;
- assertEquals(0, clampedArray[0]);
- clampedArray[0] = 1000000000000;
- assertEquals(255, clampedArray[0]);
- clampedArray[0] = -1000000000000;
- assertEquals(0, clampedArray[0]);
-}
-
-test();
-test();
-%OptimizeFunctionOnNextCall(test);
-test();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2296.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2296.js
deleted file mode 100644
index c00f14f..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2296.js
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-
-Debug = debug.Debug
-
-function listener(event, exec_state, event_data, data) {
- event_data.script().setSource(1);
-};
-
-Debug.setListener(listener);
-
-eval('0');
-
-Debug.setListener(null);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-231.js b/src/3rdparty/v8/test/mjsunit/regress/regress-231.js
deleted file mode 100644
index 0c6e5b3..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-231.js
+++ /dev/null
@@ -1,92 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// See issue 231 <URL: http://code.google.com/p/v8/issues/detail?id=231 >
-// A stack growth during a look-ahead could restore a pointer to the old stack.
-// (Test derived from crash at ibs.blumex.com).
-
-var re = /Ggcy\b[^D]*D((?:(?=([^G]+))\2|G(?!gcy\b[^D]*D))*?)GIgcyD/;
-
-var str = 'GgcyDGgcy.saaaa.aDGaaa.aynaaaaaaaaacaaaaagcaaaaaaaancaDGgnayr' +
- '.aryycnaaaataaaa.aryyacnaaataaaa.aaaaraaaaa.aaagaaaaaaaaDGgaaaaDGga' +
- '.aaagaaaaaaaaDGga.nyataaaaragraa.anyataaagaca.agayraaarataga.aaacaa' +
- '.aaagaa.aaacaaaDGaaa.aynaaaaaaaaacaaaaagcaaaaaacaagaa.agayraaaGgaaa' +
- '.trgaaaaaagaatGanyara.caagaaGaD.araaaa_aat_aayDDaaDGaaa.aynaaaaaaaa' +
- 'acaaaaagcaaaaaacaaaaa.agayraaaGgaaa.trgaaaaaaatGanyaraDDaaDGacna.ay' +
- 'naaaaaaaaacaaaaagcaaaaaacaaaraGgaaa.naaaaagaaaaaaraynaaGanyaraDDaaD' +
- 'aGgaaa.saaangaaaaraaaGgaaa.trgaaaragaaaarGanyaraDDDaGIacnaDGIaaaDGI' +
- 'aaaDGIgaDGga.anyataaagaca.agayraaaaagaa.aaaaa.cnaaaata.aca.aca.aca.' +
- 'acaaaDGgnayr.aaaaraaaaa.aaagaaaaaaaaDGgaaaaDGgaDGga.aayacnaaaaa.ayn' +
- 'aaaaaaaaacaaaaagcaaaaaanaraDGaDacaaaaag_anaraGIaDGIgaDGIgaDGgaDGga.' +
- 'aayacnaaaaa.aaagaaaaaaaaDGaa.aaagaaaaaaaa.aaaraaaa.aaaanaraaaa.IDGI' +
- 'gaDGIgaDGgaDGga.aynaaaaaaaaacaaaaagcaaaaaaaraaaa.anyataaagacaDaGgaa' +
- 'a.trgGragaaaacgGaaaaaaaG_aaaaa_Gaaaaaaaaa,.aGanar.anaraDDaaGIgaDGga' +
- '.aynaaaaaaaaacaaaaagcaaaaaaanyara.anyataaagacaDGaDaaaaag_caaaaag_an' +
- 'araGIaDGIgaDGIgaDGgaDGga.aynaaaaaaaaacaaaaagcaaaaaaaraaaa.anyataaag' +
- 'acaDaGgaaa.trgGragaaaacgGaaaaaaaG_aaaaa_aaaaaa,.aaaaacaDDaaGIgaDGga' +
- '.aynaaaaaaaaacaaaaagcaaaaaaanyara.anyataaagacaDGaDataaac_araaaaGIaD' +
- 'GIgaDGIgaDaagcyaaGgaDGga.aayacnaaaaa.aaagaaaaaaaaDGaa.aaagaaaaaaaa.' +
- 'aaaraaaa.aaaanaraaaa.IDGIgaDGIgaDGgcy.asaadanyaga.aa.aaaDGgaDGga.ay' +
- 'naaaaaaaaacaaaaagcaaaaaaaraaaa.anyataaagacaDaGgaaa.trgGragaaaacgGaa' +
- 'aaaaaG_aaaaa_DaaaaGaa,.aDanyagaaDDaaGIgaDGga.aynaaaaaaaaacaaaaagcaa' +
- 'aaaaanyara.anyataaagacaDGaDadanyagaaGIaDGIgaDGIgaDGIgcyDGgcy.asaaga' +
- 'cras.agra_yratga.aa.aaaarsaaraa.aa.agra_yratga.aa.aaaDGgaDGga.aynaa' +
- 'aaaaaaacaaaaagcaaaaaaaraaaa.anyataaagacaDaGgaaa.trgGragaaaacgGaaaaa' +
- 'aaG_aaaaa_aGaaaaaaGaa,.aaratgaaDDaaGIgaDGga.aynaaaaaaaaacaaaaagcaaa' +
- 'aaaanyara.anyataaagacaDGaDaagra_yratgaaGIaDGIgaDGIgaDGIgcyDGgcy.asa' +
- 'agacras.aratag.aa.aaaarsaaraa.aa.aratag.aa.aaaDGgaDGga.aynaaaaaaaaa' +
- 'caaaaagcaaaaaaaraaaa.anyataaagacaDaGgaaa.trgGragaaaacgGaaaaaaaG_aaa' +
- 'aa_aaaaaGa,.aaratagaDDaaGIgaDGga.aynaaaaaaaaacaaaaagcaaaaaaanyara.a' +
- 'nyataaagacaDGaDaaratagaGIaDGIgaDGIgaDGIgcyDGgcy.asaagacras.gaaax_ar' +
- 'atag.aa.aaaarsaaraa.aa.gaaax_aratag.aa.aaaDGgaDGga.aynaaaaaaaaacaaa' +
- 'aagcaaaaaaaraaaa.anyataaagacaDaGgaaa.trgGragaaaacgGaaaaaaaG_aaaaa_G' +
- 'aaaaaaaaaGa,.aaratagaDDaaGIgaDGga.aynaaaaaaaaacaaaaagcaaaaaaanyara.' +
- 'anyataaagacaDGaDagaaax_aratagaGIaDGIgaDGIgaDGIgcyDGgcy.asaagacras.c' +
- 'ag_aaar.aa.aaaarsaaraa.aa.cag_aaar.aa.aaaDGgaDGga.aynaaaaaaaaacaaaa' +
- 'agcaaaaaaaraaaa.anyataaagacaDaGgaaa.trgGragaaaacgGaaaaaaaG_aaaaa_aa' +
- 'Gaaaaa,.aaagaaaraDDaaGIgaDGga.aynaaaaaaaaacaaaaagcaaaaaaanyara.anya' +
- 'taaagacaDGaDacag_aaaraGIaDGIgaDGIgaDGIgcyDGgcy.asaagacras.aaggaata_' +
- 'aa_cynaga_cc.aa.aaaarsaaraa.aa.aaggaata_aa_cynaga_cc.aa.aaaDGgaDGga' +
- '.aynaaaaaaaaacaaaaagcaaaaaaaraaaa.anyataaagacaDaGgaaa.trgGragaaaacg' +
- 'GaaaaaaaG_aaaaa_aaGGaaaa_aa_aaaaGa_aaa,.aaynagaIcagaDDaaGIgaDGga.ay' +
- 'naaaaaaaaacaaaaagcaaaaaaanyara.anyataaagacaDGaDaaaggaata_aa_cynaga_' +
- 'ccaGIaDGIgaDGIgaDGIgcyDGgcy.asaagacras.syaara_aanargra.aa.aaaarsaar' +
- 'aa.aa.syaara_aanargra.aa.aaaDGgaDGga.aynaaaaaaaaacaaaaagcaaaaaaaraa' +
- 'aa.anyataaagacaDaGgaaa.trgGragaaaacgGaaaaaaaG_aaaaa_aaaaaaaaaaaGaaa' +
- ',.aaanargraaDDaaGIgaDGga.aynaaaaaaaaacaaaaagcaaaaaaanyara.anyataaag' +
- 'acaDGaDasyaara_aanargraaGIaDGIgaDGIgaDGIgcyDGgcy.asaagacras.cynag_a' +
- 'anargra.aa.aaaarsaaraa.aa.cynag_aanargra.aa.aaaDGgaDGga.aynaaaaaaaa' +
- 'acaaaaagcaaaaaaaraaaa.anyataaagacaDaGgaaa.trgGragaaaacgGaaaaaaaG_aa' +
- 'aaa_aaaaGaaaaaGaaa,.aaanargraaDDaaGIgaDGga.aynaaaaaaaaacaaaaagcaaaa' +
- 'aaanyara.anyataaagacaDGaDacynag_aanargraaGIaDGIgaDGIgaDGIgcyDGgaDGg' +
- 'a.aynaaaaaaaaacaaaaagcaaaaaaaraaaa.anyataaagacaDaGgaaa.trgGragaaaac' +
- 'gGaaaaaaaG';
-
-//Shouldn't crash.
-
-var res = re.test(str);
-assertTrue(res); \ No newline at end of file
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2315.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2315.js
deleted file mode 100644
index a3f9182..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2315.js
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-var foo = (function() {
- return eval("(function bar() { return 1; })");
-})();
-
-foo();
-foo();
-%OptimizeFunctionOnNextCall(foo);
-foo();
-
-// Function should be optimized now.
-assertTrue(%GetOptimizationStatus(foo) != 2);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2318.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2318.js
deleted file mode 100644
index ca67ab2..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2318.js
+++ /dev/null
@@ -1,66 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug --nostack-trace-on-abort
-
-function f() {
- var i = 0;
-
- // Stack-allocate to reach the end of stack quickly.
- var _A0 = 00; var _A1 = 01; var _A2 = 02; var _A3 = 03; var _A4 = 04;
- var _B0 = 05; var _B1 = 06; var _B2 = 07; var _B3 = 08; var _B4 = 09;
- var _C0 = 10; var _C1 = 11; var _C2 = 12; var _C3 = 13; var _C4 = 14;
- var _D0 = 15; var _D1 = 16; var _D2 = 17; var _D3 = 18; var _D4 = 19;
- var _E0 = 20; var _E1 = 21; var _E2 = 22; var _E3 = 23; var _E4 = 24;
- var _F0 = 25; var _F1 = 26; var _F2 = 27; var _F3 = 28; var _F4 = 29;
- var _G0 = 30; var _G1 = 31; var _G2 = 32; var _G3 = 33; var _G4 = 34;
- var _H0 = 35; var _H1 = 36; var _H2 = 37; var _H3 = 38; var _H4 = 39;
- var _I0 = 40; var _I1 = 41; var _I2 = 42; var _I3 = 43; var _I4 = 44;
- var _J0 = 45; var _J1 = 46; var _J2 = 47; var _J3 = 48; var _J4 = 49;
- var _K0 = 50; var _K1 = 51; var _K2 = 52; var _K3 = 53; var _K4 = 54;
- var _L0 = 55; var _L1 = 56; var _L2 = 57; var _L3 = 58; var _L4 = 59;
- var _M0 = 60; var _M1 = 61; var _M2 = 62; var _M3 = 63; var _M4 = 64;
- var _N0 = 65; var _N1 = 66; var _N2 = 67; var _N3 = 68; var _N4 = 69;
- var _O0 = 70; var _O1 = 71; var _O2 = 72; var _O3 = 73; var _O4 = 74;
- var _P0 = 75; var _P1 = 76; var _P2 = 77; var _P3 = 78; var _P4 = 79;
- var _Q0 = 80; var _Q1 = 81; var _Q2 = 82; var _Q3 = 83; var _Q4 = 84;
- var _R0 = 85; var _R1 = 86; var _R2 = 87; var _R3 = 88; var _R4 = 89;
- var _S0 = 90; var _S1 = 91; var _S2 = 92; var _S3 = 93; var _S4 = 94;
- var _T0 = 95; var _T1 = 96; var _T2 = 97; var _T3 = 98; var _T4 = 99;
-
- f();
-};
-
-Debug = debug.Debug;
-var bp = Debug.setBreakPoint(f, 0);
-
-function listener(event, exec_state, event_data, data) {
- result = exec_state.frame().evaluate("i").value();
-};
-
-Debug.setListener(listener);
-assertThrows(function() { f(); }, RangeError);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2322.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2322.js
deleted file mode 100644
index 1195bab..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2322.js
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --harmony-scoping
-
-"use strict";
-
-assertThrows("'use strict'; for (let x in x);", ReferenceError);
-
-let s;
-for (let pppp in {}) {};
-assertThrows(function() { pppp = true }, ReferenceError);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2326.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2326.js
deleted file mode 100644
index d2edf2b..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2326.js
+++ /dev/null
@@ -1,54 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// This tests that we do not share optimized code across closures that
-// were optimized using OSR (for a particular OSR entry AST id) even if
-// caching of optimized code kicks in.
-
-function makeClosure() {
- function f(mode, iterations) {
- var accumulator = 0;
- if (mode == 1) {
- while (--iterations > 0) accumulator = Math.ceil(accumulator);
- return 1;
- } else {
- while (--iterations > 0) accumulator = Math.floor(accumulator);
- return 2;
- }
- }
- return f;
-}
-
-// Generate two closures sharing the same underlying function literal.
-var f1 = makeClosure();
-var f2 = makeClosure();
-
-// This function should be optimized via OSR in the first tight loop.
-assertSame(1, f1(1, 100000));
-
-// This function should be optimized via OSR in the second tight loop.
-assertSame(2, f2(2, 100000));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-233.js b/src/3rdparty/v8/test/mjsunit/regress/regress-233.js
deleted file mode 100644
index 8723679..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-233.js
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// See issue 233 <URL: http://code.google.com/p/v8/issues/detail?id=233 >
-// A stack overflow detected by a global regexp match wasn't handled correctly.
-
-// This code shouldn't segmentation fault.
-function loop(s) {
- loop(s.replace(/\s/g, ""));
-}
-try {
- loop("No");
-} catch(e) {
- // Stack overflow caught.
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2336.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2336.js
deleted file mode 100644
index edfff60..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2336.js
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug --expose-gc
-
-// Check that we can cope with a debug listener that runs in the
-// GC epilogue and causes enough allocation to trigger a new GC during
-// the epilogue.
-
-var f = eval("(function f() { return 42; })");
-
-Debug = debug.Debug;
-
-var called = false;
-
-function listener(event, exec_state, event_data, data) {
- if (event == Debug.DebugEvent.ScriptCollected) {
- if (!called) {
- called = true;
- gc();
- }
- }
-};
-
-Debug.scripts();
-Debug.setListener(listener);
-f = void 0;
-gc();
-assertTrue(called);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2339.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2339.js
deleted file mode 100644
index b16821d..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2339.js
+++ /dev/null
@@ -1,59 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --expose-gc
-
-/**
- * The possible optimization states of a function. Must be in sync with the
- * return values of Runtime_GetOptimizationStatus() in runtime.cc!
- */
-
-var OptimizationState = {
- YES: 1,
- NO: 2,
- ALWAYS: 3,
- NEVER: 4
-};
-
-function simple() {
- return simple_two_args(0, undefined);
-}
-
-function simple_two_args(always_zero, always_undefined) {
- var always_five = always_undefined || 5;
- return always_zero * always_five * .5;
-}
-
-
-simple();
-simple();
-%OptimizeFunctionOnNextCall(simple);
-simple();
-var raw_optimized = %GetOptimizationStatus(simple);
-assertFalse(raw_optimized == OptimizationState.NO);
-gc();
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2346.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2346.js
deleted file mode 100644
index 4c88b3e..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2346.js
+++ /dev/null
@@ -1,123 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// This file only tests very simple descriptors that always have
-// configurable, enumerable, and writable set to true.
-// A range of more elaborate tests are performed in
-// object-define-property.js
-
-// Flags: --stress-runs=5
-
-function get() { return x; }
-function set(x) { this.x = x; }
-
-var obj = {x: 1};
-obj.__defineGetter__("accessor", get);
-obj.__defineSetter__("accessor", set);
-var a = new Array();
-a[1] = 42;
-obj[1] = 42;
-
-var descIsData = Object.getOwnPropertyDescriptor(obj, 'x');
-assertTrue(descIsData.enumerable);
-assertTrue(descIsData.writable);
-assertTrue(descIsData.configurable);
-
-var descIsAccessor = Object.getOwnPropertyDescriptor(obj, 'accessor');
-assertTrue(descIsAccessor.enumerable);
-assertTrue(descIsAccessor.configurable);
-assertTrue(descIsAccessor.get == get);
-assertTrue(descIsAccessor.set == set);
-
-var descIsNotData = Object.getOwnPropertyDescriptor(obj, 'not-x');
-assertTrue(descIsNotData == undefined);
-
-var descIsNotAccessor = Object.getOwnPropertyDescriptor(obj, 'not-accessor');
-assertTrue(descIsNotAccessor == undefined);
-
-var descArray = Object.getOwnPropertyDescriptor(a, '1');
-assertTrue(descArray.enumerable);
-assertTrue(descArray.configurable);
-assertTrue(descArray.writable);
-assertEquals(descArray.value, 42);
-
-var descObjectElement = Object.getOwnPropertyDescriptor(obj, '1');
-assertTrue(descObjectElement.enumerable);
-assertTrue(descObjectElement.configurable);
-assertTrue(descObjectElement.writable);
-assertEquals(descObjectElement.value, 42);
-
-// String objects.
-var a = new String('foobar');
-for (var i = 0; i < a.length; i++) {
- var descStringObject = Object.getOwnPropertyDescriptor(a, i);
- assertTrue(descStringObject.enumerable);
- assertFalse(descStringObject.configurable);
- assertFalse(descStringObject.writable);
- assertEquals(descStringObject.value, a.substring(i, i+1));
-}
-
-// Support for additional attributes on string objects.
-a.x = 42;
-a[10] = 'foo';
-var descStringProperty = Object.getOwnPropertyDescriptor(a, 'x');
-assertTrue(descStringProperty.enumerable);
-assertTrue(descStringProperty.configurable);
-assertTrue(descStringProperty.writable);
-assertEquals(descStringProperty.value, 42);
-
-var descStringElement = Object.getOwnPropertyDescriptor(a, '10');
-assertTrue(descStringElement.enumerable);
-assertTrue(descStringElement.configurable);
-assertTrue(descStringElement.writable);
-assertEquals(descStringElement.value, 'foo');
-
-// Test that elements in the prototype chain is not returned.
-var proto = {};
-proto[10] = 42;
-
-var objWithProto = new Array();
-objWithProto.prototype = proto;
-objWithProto[0] = 'bar';
-var descWithProto = Object.getOwnPropertyDescriptor(objWithProto, '10');
-assertEquals(undefined, descWithProto);
-
-// Test elements on global proxy object.
-var global = (function() { return this; })();
-
-global[42] = 42;
-
-function el_getter() { return 239; };
-function el_setter() {};
-Object.defineProperty(global, '239', {get: el_getter, set: el_setter});
-
-var descRegularElement = Object.getOwnPropertyDescriptor(global, '42');
-assertEquals(42, descRegularElement.value);
-
-var descAccessorElement = Object.getOwnPropertyDescriptor(global, '239');
-assertEquals(el_getter, descAccessorElement.get);
-assertEquals(el_setter, descAccessorElement.set);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2373.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2373.js
deleted file mode 100644
index 16a87ec..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2373.js
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var o = JSON.parse('{"a":2600753951}');
-assertEquals(2600753951, o.a);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2374.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2374.js
deleted file mode 100644
index b12e5f2..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2374.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var msg = '{"result":{"profile":{"head":{"functionName":"(root)","url":"","lineNumber":0,"totalTime":495.7243772462511,"selfTime":0,"numberOfCalls":0,"visible":true,"callUID":2771605942,"children":[{"functionName":"(program)","url":"","lineNumber":0,"totalTime":495.7243772462511,"selfTime":495.7243772462511,"numberOfCalls":0,"visible":true,"callUID":1902715303,"children":[]}]},"bottomUpHead":{"functionName":"(root)","url":"","lineNumber":0,"totalTime":495.7243772462511,"selfTime":0,"numberOfCalls":0,"visible":true,"callUID":2771605942,"children":[{"functionName":"(program)","url":"","lineNumber":0,"totalTime":495.7243772462511,"selfTime":495.7243772462511,"numberOfCalls":0,"visible":true,"callUID":1902715303,"children":[]}]}}},"id":41}';
-
-var obj = JSON.parse(msg);
-var obj2 = JSON.parse(msg);
-
-assertEquals(JSON.stringify(obj), JSON.stringify(obj2));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2398.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2398.js
deleted file mode 100644
index 1c66e7f..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2398.js
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-"use strict";
-
-var observed = false;
-
-var object = { get toString() { observed = true; } };
-Object.defineProperty(object, "ro", { value: 1 });
-
-try {
- object.ro = 2; // TypeError caused by trying to write to read-only.
-} catch (e) {
- e.message; // Forces formatting of the message object.
-}
-
-assertFalse(observed);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2410.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2410.js
deleted file mode 100644
index c16fd14..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2410.js
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Object.prototype should be ignored in Object.getOwnPropertyNames
-//
-// See http://code.google.com/p/v8/issues/detail?id=2410 for details.
-
-Object.defineProperty(Object.prototype,
- 'thrower',
- { get: function() { throw Error('bug') } });
-var obj = { thrower: 'local' };
-assertEquals(['thrower'], Object.getOwnPropertyNames(obj));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2416.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2416.js
deleted file mode 100644
index 02afeb9..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2416.js
+++ /dev/null
@@ -1,75 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-assertFalse(2147483647 < -2147483648)
-assertFalse(2147483647 <= -2147483648)
-assertFalse(2147483647 == -2147483648)
-assertTrue(2147483647 >= -2147483648)
-assertTrue(2147483647 > -2147483648)
-
-assertTrue(-2147483648 < 2147483647)
-assertTrue(-2147483648 <= 2147483647)
-assertFalse(-2147483648 == 2147483647)
-assertFalse(-2147483648 >= 2147483647)
-assertFalse(-2147483648 > 2147483647)
-
-assertFalse(2147483647 < 2147483647)
-assertTrue(2147483647 <= 2147483647)
-assertTrue(2147483647 == 2147483647)
-assertTrue(2147483647 >= 2147483647)
-assertFalse(2147483647 > 2147483647)
-
-assertFalse(-2147483648 < -2147483648)
-assertTrue(-2147483648 <= -2147483648)
-assertTrue(-2147483648 == -2147483648)
-assertTrue(-2147483648 >= -2147483648)
-assertFalse(-2147483648 > -2147483648)
-
-
-assertFalse(1073741823 < -1073741824)
-assertFalse(1073741823 <= -1073741824)
-assertFalse(1073741823 == -1073741824)
-assertTrue(1073741823 >= -1073741824)
-assertTrue(1073741823 > -1073741824)
-
-assertTrue(-1073741824 < 1073741823)
-assertTrue(-1073741824 <= 1073741823)
-assertFalse(-1073741824 == 1073741823)
-assertFalse(-1073741824 >= 1073741823)
-assertFalse(-1073741824 > 1073741823)
-
-assertFalse(1073741823 < 1073741823)
-assertTrue(1073741823 <= 1073741823)
-assertTrue(1073741823 == 1073741823)
-assertTrue(1073741823 >= 1073741823)
-assertFalse(1073741823 > 1073741823)
-
-assertFalse(-1073741824 < -1073741824)
-assertTrue(-1073741824 <= -1073741824)
-assertTrue(-1073741824 == -1073741824)
-assertTrue(-1073741824 >= -1073741824)
-assertFalse(-1073741824 > -1073741824)
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2419.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2419.js
deleted file mode 100644
index 9cd453a..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2419.js
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var a = [5, 4, 3, 2, 1, 0];
-Object.freeze(a);
-a.sort();
-assertArrayEquals([5, 4, 3, 2, 1, 0], a);
-
-var b = {0: 5, 1: 4, 2: 3, 3: 2, 4: 1, 5: 0, length: 6};
-Object.freeze(b);
-Array.prototype.sort.call(b);
-assertPropertiesEqual({0: 5, 1: 4, 2: 3, 3: 2, 4: 1, 5: 0, length: 6}, b);
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2433.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2433.js
deleted file mode 100644
index dfe7131..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2433.js
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Transitioning from a PackedSmi to PackedDouble should fill the destination
-// with holes.
-//
-// See http://code.google.com/p/v8/issues/detail?id=2433 for details.
-
-arr = [];
-arr[0] = 0;
-arr[0] = 1.1;
-assertEquals(undefined, arr[1]);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2437.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2437.js
deleted file mode 100644
index c82293a..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2437.js
+++ /dev/null
@@ -1,156 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Summary of the spec: lastIndex is reset to 0 if
-// - a regexp fails to match, regardless of global or non-global.
-// - a global regexp is used in a function that returns multiple results,
-// such as String.prototype.replace or String.prototype.match, since it
-// repeats the regexp until it fails to match.
-// Otherwise lastIndex is only set when a global regexp matches, to the index
-// after the match.
-
-// Test Regexp.prototype.exec
-r = /a/;
-r.lastIndex = 1;
-r.exec("zzzz");
-assertEquals(0, r.lastIndex);
-
-// Test Regexp.prototype.test
-r = /a/;
-r.lastIndex = 1;
-r.test("zzzz");
-assertEquals(0, r.lastIndex);
-
-// Test String.prototype.match
-r = /a/;
-r.lastIndex = 1;
-"zzzz".match(r);
-assertEquals(0, r.lastIndex);
-
-// Test String.prototype.replace with atomic regexp and empty string.
-r = /a/;
-r.lastIndex = 1;
-"zzzz".replace(r, "");
-assertEquals(0, r.lastIndex);
-
-// Test String.prototype.replace with non-atomic regexp and empty string.
-r = /\d/;
-r.lastIndex = 1;
-"zzzz".replace(r, "");
-assertEquals(0, r.lastIndex);
-
-// Test String.prototype.replace with atomic regexp and non-empty string.
-r = /a/;
-r.lastIndex = 1;
-"zzzz".replace(r, "a");
-assertEquals(0, r.lastIndex);
-
-// Test String.prototype.replace with non-atomic regexp and non-empty string.
-r = /\d/;
-r.lastIndex = 1;
-"zzzz".replace(r, "a");
-assertEquals(0, r.lastIndex);
-
-// Test String.prototype.replace with replacement function
-r = /a/;
-r.lastIndex = 1;
-"zzzz".replace(r, function() { return ""; });
-assertEquals(0, r.lastIndex);
-
-// Regexp functions that returns multiple results:
-// A global regexp always resets lastIndex regardless of whether it matches.
-r = /a/g;
-r.lastIndex = -1;
-"0123abcd".replace(r, "x");
-assertEquals(0, r.lastIndex);
-
-r.lastIndex = -1;
-"01234567".replace(r, "x");
-assertEquals(0, r.lastIndex);
-
-r.lastIndex = -1;
-"0123abcd".match(r);
-assertEquals(0, r.lastIndex);
-
-r.lastIndex = -1;
-"01234567".match(r);
-assertEquals(0, r.lastIndex);
-
-// A non-global regexp resets lastIndex iff it does not match.
-r = /a/;
-r.lastIndex = -1;
-"0123abcd".replace(r, "x");
-assertEquals(-1, r.lastIndex);
-
-r.lastIndex = -1;
-"01234567".replace(r, "x");
-assertEquals(0, r.lastIndex);
-
-r.lastIndex = -1;
-"0123abcd".match(r);
-assertEquals(-1, r.lastIndex);
-
-r.lastIndex = -1;
-"01234567".match(r);
-assertEquals(0, r.lastIndex);
-
-// Also test RegExp.prototype.exec and RegExp.prototype.test
-r = /a/g;
-r.lastIndex = 1;
-r.exec("01234567");
-assertEquals(0, r.lastIndex);
-
-r.lastIndex = 1;
-r.exec("0123abcd");
-assertEquals(5, r.lastIndex);
-
-r = /a/;
-r.lastIndex = 1;
-r.exec("01234567");
-assertEquals(0, r.lastIndex);
-
-r.lastIndex = 1;
-r.exec("0123abcd");
-assertEquals(1, r.lastIndex);
-
-r = /a/g;
-r.lastIndex = 1;
-r.test("01234567");
-assertEquals(0, r.lastIndex);
-
-r.lastIndex = 1;
-r.test("0123abcd");
-assertEquals(5, r.lastIndex);
-
-r = /a/;
-r.lastIndex = 1;
-r.test("01234567");
-assertEquals(0, r.lastIndex);
-
-r.lastIndex = 1;
-r.test("0123abcd");
-assertEquals(1, r.lastIndex);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2438.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2438.js
deleted file mode 100644
index 3f4fd7d..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2438.js
+++ /dev/null
@@ -1,52 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function testSideEffects(subject, re) {
- var counter = 0;
- var side_effect_object = { valueOf: function() { return counter++; } };
- re.lastIndex = side_effect_object;
- re.exec(subject);
- assertEquals(1, counter);
-
- re.lastIndex = side_effect_object;
- re.test(subject);
- assertEquals(2, counter);
-
- re.lastIndex = side_effect_object;
- subject.match(re);
- assertEquals(3, counter);
-
- re.lastIndex = side_effect_object;
- subject.replace(re, "");
- assertEquals(4, counter);
-}
-
-testSideEffects("zzzz", /a/);
-testSideEffects("zzzz", /a/g);
-testSideEffects("xaxa", /a/);
-testSideEffects("xaxa", /a/g);
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-244.js b/src/3rdparty/v8/test/mjsunit/regress/regress-244.js
deleted file mode 100644
index 7503b15..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-244.js
+++ /dev/null
@@ -1,68 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var kLegalPairs = [
- [0x00, '%00'],
- [0x01, '%01'],
- [0x7f, '%7F'],
- [0x80, '%C2%80'],
- [0x81, '%C2%81'],
- [0x7ff, '%DF%BF'],
- [0x800, '%E0%A0%80'],
- [0x801, '%E0%A0%81'],
- [0xd7ff, '%ED%9F%BF'],
- [0xffff, '%EF%BF%BF']
-];
-
-var kIllegalEncoded = [
- '%80', '%BF', '%80%BF', '%80%BF%80', '%C0%22', '%DF',
- '%EF%BF', '%F7BFBF', '%FE', '%FF', '%FE%FE%FF%FF',
- '%C0%AF', '%E0%9F%BF', '%F0%8F%BF%BF', '%C0%80',
- '%E0%80%80'
-];
-
-function run() {
- for (var i = 0; i < kLegalPairs.length; i++) {
- var decoded = String.fromCharCode(kLegalPairs[i][0]);
- var encoded = kLegalPairs[i][1];
- assertEquals(decodeURI(encoded), decoded);
- assertEquals(encodeURI(decoded), encoded);
- }
- for (var i = 0; i < kIllegalEncoded.length; i++) {
- var value = kIllegalEncoded[i];
- var exception = false;
- try {
- decodeURI(value);
- } catch (e) {
- exception = true;
- assertInstanceof(e, URIError);
- }
- assertTrue(exception);
- }
-}
-
-run();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2441.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2441.js
deleted file mode 100644
index 72ce248..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2441.js
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright 2013 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var o = {};
-Object.preventExtensions(o);
-assertThrows("Object.defineProperty(o, 'foobarloo', {value:{}});", TypeError);
-assertThrows("Object.defineProperty(o, '__proto__', {value:{}});", TypeError);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2443.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2443.js
deleted file mode 100644
index 0800c45..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2443.js
+++ /dev/null
@@ -1,129 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Number.prototype methods on non-Numbers.
-
-assertThrows(function() { Number.prototype.toExponential.call({}) },
- TypeError);
-
-assertThrows(function() { Number.prototype.toPrecision.call({}) },
- TypeError);
-
-assertThrows(function() { Number.prototype.toFixed.call({}) },
- TypeError);
-
-assertThrows(function() { Number.prototype.toString.call({}) },
- TypeError);
-
-assertThrows(function() { Number.prototype.toLocaleString.call({}) },
- TypeError);
-
-assertThrows(function() { Number.prototype.ValueOf.call({}) },
- TypeError);
-
-
-// Call on Number objects with custom valueOf method.
-
-var x_obj = new Number(1);
-x_obj.valueOf = function() { assertUnreachable(); };
-
-assertEquals("1.00e+0",
- Number.prototype.toExponential.call(x_obj, 2));
-
-assertEquals("1.0",
- Number.prototype.toPrecision.call(x_obj, 2));
-
-assertEquals("1.00",
- Number.prototype.toFixed.call(x_obj, 2));
-
-// Call on primitive numbers.
-assertEquals("1.00e+0",
- Number.prototype.toExponential.call(1, 2));
-
-assertEquals("1.0",
- Number.prototype.toPrecision.call(1, 2));
-
-assertEquals("1.00",
- Number.prototype.toFixed.call(1, 2));
-
-
-// toExponential and toPrecision does following steps in order
-// 1) convert the argument using ToInteger
-// 2) check for non-finite receiver, on which it returns,
-// 3) check argument range and throw exception if out of range.
-// Note that the the last two steps are reversed for toFixed.
-// Luckily, the receiver is expected to be a number or number
-// wrapper, so that getting its value is not observable.
-
-var f_flag = false;
-var f_obj = { valueOf: function() { f_flag = true; return 1000; } };
-
-assertEquals("NaN",
- Number.prototype.toExponential.call(NaN, f_obj));
-assertTrue(f_flag);
-
-f_flag = false;
-assertEquals("Infinity",
- Number.prototype.toExponential.call(1/0, f_obj));
-assertTrue(f_flag);
-
-f_flag = false;
-assertEquals("-Infinity",
- Number.prototype.toExponential.call(-1/0, f_obj));
-assertTrue(f_flag);
-
-f_flag = false;
-assertEquals("NaN",
- Number.prototype.toPrecision.call(NaN, f_obj));
-assertTrue(f_flag);
-
-f_flag = false;
-assertEquals("Infinity",
- Number.prototype.toPrecision.call(1/0, f_obj));
-assertTrue(f_flag);
-
-f_flag = false;
-assertEquals("-Infinity",
- Number.prototype.toPrecision.call(-1/0, f_obj));
-assertTrue(f_flag);
-
-// The odd man out: toFixed.
-
-f_flag = false;
-assertThrows(function() { Number.prototype.toFixed.call(NaN, f_obj) },
- RangeError);
-assertTrue(f_flag);
-
-f_flag = false;
-assertThrows(function() { Number.prototype.toFixed.call(1/0, f_obj) },
- RangeError);
-assertTrue(f_flag);
-
-f_flag = false;
-assertThrows(function() { Number.prototype.toFixed.call(-1/0, f_obj) },
- RangeError);
-assertTrue(f_flag);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2444.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2444.js
deleted file mode 100644
index 8fb8d8b..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2444.js
+++ /dev/null
@@ -1,120 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-var flags;
-
-function resetFlags(size) {
- flags = Array(size);
- while (size--) flags[size] = 0;
-}
-
-function assertFlags(array) {
- assertArrayEquals(array, flags);
-}
-
-function object_factory(flag_index, value, expected_flags) {
- var obj = {};
- obj.valueOf = function() {
- assertFlags(expected_flags);
- flags[flag_index]++;
- return value;
- }
- return obj;
-}
-
-
-assertEquals(-Infinity, Math.max());
-
-resetFlags(1);
-assertEquals(NaN,
- Math.max(object_factory(0, NaN, [0])));
-assertFlags([1]);
-
-resetFlags(2);
-assertEquals(NaN,
- Math.max(object_factory(0, NaN, [0, 0]),
- object_factory(1, 0, [1, 0])));
-assertFlags([1, 1]);
-
-resetFlags(3);
-assertEquals(NaN,
- Math.max(object_factory(0, NaN, [0, 0, 0]),
- object_factory(1, 0, [1, 0, 0]),
- object_factory(2, 1, [1, 1, 0])));
-assertFlags([1, 1, 1]);
-
-resetFlags(3);
-assertEquals(NaN,
- Math.max(object_factory(0, 2, [0, 0, 0]),
- object_factory(1, 0, [1, 0, 0]),
- object_factory(2, NaN, [1, 1, 0])));
-assertFlags([1, 1, 1]);
-
-resetFlags(3);
-assertEquals(2,
- Math.max(object_factory(0, 2, [0, 0, 0]),
- object_factory(1, 0, [1, 0, 0]),
- object_factory(2, 1, [1, 1, 0])));
-assertFlags([1, 1, 1]);
-
-
-assertEquals(+Infinity, Math.min());
-
-resetFlags(1);
-assertEquals(NaN,
- Math.min(object_factory(0, NaN, [0])));
-assertFlags([1]);
-
-resetFlags(2);
-assertEquals(NaN,
- Math.min(object_factory(0, NaN, [0, 0]),
- object_factory(1, 0, [1, 0])));
-assertFlags([1, 1]);
-
-resetFlags(3);
-assertEquals(NaN,
- Math.min(object_factory(0, NaN, [0, 0, 0]),
- object_factory(1, 0, [1, 0, 0]),
- object_factory(2, 1, [1, 1, 0])));
-assertFlags([1, 1, 1]);
-
-resetFlags(3);
-assertEquals(NaN,
- Math.min(object_factory(0, 2, [0, 0, 0]),
- object_factory(1, 0, [1, 0, 0]),
- object_factory(2, NaN, [1, 1, 0])));
-assertFlags([1, 1, 1]);
-
-resetFlags(3);
-assertEquals(0,
- Math.min(object_factory(0, 2, [0, 0, 0]),
- object_factory(1, 0, [1, 0, 0]),
- object_factory(2, 1, [1, 1, 0])));
-assertFlags([1, 1, 1]);
-
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2451.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2451.js
deleted file mode 100644
index 465e4e6..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2451.js
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright 2013 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-function f() {
- assertEquals(-1.0, Math.round(-1.5));
- assertEquals(-2.0, Math.round(-2.5));
- assertEquals(-1.0, Math.round(-0.5000000000000001));
-}
-
-f();
-f();
-%OptimizeFunctionOnNextCall(f);
-f();
-assertTrue(%GetOptimizationStatus(f) != 2);
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-246.js b/src/3rdparty/v8/test/mjsunit/regress/regress-246.js
deleted file mode 100644
index 09b746b..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-246.js
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// See: http://code.google.com/p/v8/issues/detail?id=246
-
-assertTrue(/(?:text)/.test("text"));
-assertEquals(["text"], /(?:text)/.exec("text")); \ No newline at end of file
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2489.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2489.js
deleted file mode 100644
index 882c4f7..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2489.js
+++ /dev/null
@@ -1,50 +0,0 @@
-// Copyright 2013 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-"use strict";
-
-function f(a, b) {
- return g("c", "d");
-}
-
-function g(a, b) {
- g.constructor.apply(this, arguments);
-}
-
-g.constructor = function(a, b) {
- assertEquals("c", a);
- assertEquals("d", b);
-}
-
-f("a", "b");
-f("a", "b");
-%OptimizeFunctionOnNextCall(f);
-f("a", "b");
-g.x = "deopt";
-f("a", "b");
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2499.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2499.js
deleted file mode 100644
index 52aad87..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2499.js
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2013 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-function foo(word, nBits) {
- return (word[1] >>> nBits) | (word[0] << (32 - nBits));
-}
-
-word = [0x1001, 0];
-
-var expected = foo(word, 1);
-foo(word, 1);
-%OptimizeFunctionOnNextCall(foo);
-var optimized = foo(word, 1);
-assertEquals(expected, optimized)
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-253.js b/src/3rdparty/v8/test/mjsunit/regress/regress-253.js
deleted file mode 100644
index 72c5dc1..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-253.js
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var x = 0;
-x[0] = 0;
-x[0] = 1;
-x[0] = 2;
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2537.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2537.js
deleted file mode 100644
index c6b5af9..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2537.js
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright 2013 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-var large_int = 0x40000000;
-
-function foo(x, expected) {
- assertEquals(expected, x); // This succeeds.
- x += 0; // Force int32 representation so that CompareIDAndBranch is used.
- if (3 != x) {
- x += 0; // Poor man's "iDef".
- // Fails due to Smi-tagging without overflow check.
- assertEquals(expected, x);
- }
-}
-
-foo(1, 1);
-foo(3, 3);
-%OptimizeFunctionOnNextCall(foo);
-foo(large_int, large_int);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-2539.js b/src/3rdparty/v8/test/mjsunit/regress/regress-2539.js
deleted file mode 100644
index 5d263f8..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-2539.js
+++ /dev/null
@@ -1,55 +0,0 @@
-// Copyright 2013 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-"use strict";
-var dispatcher = {};
-dispatcher.func = C;
-
-function A() {
- B(10, 11);
-}
-
-function B(x,y) {
- x = 0; y = 0;
- dispatcher.func.apply(this, arguments);
- assertSame(2, arguments.length);
- assertSame(10, arguments[0]);
- assertSame(11, arguments[1]);
-}
-
-function C(x,y) {
- assertSame(2, arguments.length);
- assertSame(10, arguments[0]);
- assertSame(11, arguments[1]);
-}
-
-A();
-A();
-%OptimizeFunctionOnNextCall(A);
-A();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-254.js b/src/3rdparty/v8/test/mjsunit/regress/regress-254.js
deleted file mode 100644
index ec4b40a..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-254.js
+++ /dev/null
@@ -1,58 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// See: http://code.google.com/p/v8/issues/detail?id=254
-
-// RegExp with global flag: exec and test updates lastIndex.
-var re = /x/g;
-
-assertEquals(0, re.lastIndex, "Global, initial lastIndex");
-
-assertTrue(re.test("x"), "Global, test 1");
-assertEquals(1, re.lastIndex, "Global, lastIndex after test 1");
-assertFalse(re.test("x"), "Global, test 2");
-assertEquals(0, re.lastIndex, "Global, lastIndex after test 2");
-
-assertEquals(["x"], re.exec("x"), "Global, exec 1");
-assertEquals(1, re.lastIndex, "Global, lastIndex after exec 1");
-assertEquals(null, re.exec("x"), "Global, exec 2");
-assertEquals(0, re.lastIndex, "Global, lastIndex after exec 2");
-
-// RegExp without global flag: exec and test leavs lastIndex at zero.
-var re2 = /x/;
-
-assertEquals(0, re2.lastIndex, "Non-global, initial lastIndex");
-
-assertTrue(re2.test("x"), "Non-global, test 1");
-assertEquals(0, re2.lastIndex, "Non-global, lastIndex after test 1");
-assertTrue(re2.test("x"), "Non-global, test 2");
-assertEquals(0, re2.lastIndex, "Non-global, lastIndex after test 2");
-
-assertEquals(["x"], re2.exec("x"), "Non-global, exec 1");
-assertEquals(0, re2.lastIndex, "Non-global, lastIndex after exec 1");
-assertEquals(["x"], re2.exec("x"), "Non-global, exec 2");
-assertEquals(0, re2.lastIndex, "Non-global, lastIndex after exec 2");
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-259.js b/src/3rdparty/v8/test/mjsunit/regress/regress-259.js
deleted file mode 100644
index f0476ff..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-259.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that we do not crash when compiling a try/finally with an
-// infinite loop (with no normal exits) in the try block.
-
-// See http://code.google.com/p/v8/issues/detail?id=259
-
-assertThrows("try { while (true) { throw 0; }} finally {}");
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-260.js b/src/3rdparty/v8/test/mjsunit/regress/regress-260.js
deleted file mode 100644
index 65242bc..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-260.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// We should not compile the bodies of function literals in loop
-// conditions twice, even in cases where the loop condition is
-// compiled twice.
-
-function test() { eval("while(!function () { var x; });"); }
-test();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-263.js b/src/3rdparty/v8/test/mjsunit/regress/regress-263.js
deleted file mode 100644
index 123bde6..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-263.js
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Exits via return, break, or continue from within try/finally or
-// for/in should not crash or trigger a debug assert.
-
-// See http://code.google.com/p/v8/issues/detail?id=263
-
-function test0() { with({}) for(var x in {}) return; }
-test0();
-
-
-function test1() { with({}) try { } finally { with({}) return; } }
-test1();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-265.js b/src/3rdparty/v8/test/mjsunit/regress/regress-265.js
deleted file mode 100644
index 21ac1a6..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-265.js
+++ /dev/null
@@ -1,64 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// When returning or breaking out of a deeply nested try/finally, we
-// should not crash.
-
-// See http://code.google.com/p/v8/issues/detail?id=263
-
-function test0() {
- try {
- try {
- return 0;
- } finally {
- try {
- return 0;
- } finally {
- }
- }
- } finally {
- }
-}
-
-test0();
-
-function test1() {
-L0:
- try {
- try {
- break L0;
- } finally {
- try {
- break L0;
- } finally {
- }
- }
- } finally {
- }
-}
-
-test1();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-267.js b/src/3rdparty/v8/test/mjsunit/regress/regress-267.js
deleted file mode 100644
index bb61606..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-267.js
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// See http://code.google.com/p/v8/issues/detail?id=267
-
-var global = (function(){ return this; })();
-function taint(fn){var v = fn(); eval("taint"); return v; }
-function getThis(){ return this; }
-var obj = taint(getThis);
-
-assertEquals(global, obj, "Should be the global object.");
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-269.js b/src/3rdparty/v8/test/mjsunit/regress/regress-269.js
deleted file mode 100644
index ce165e0..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-269.js
+++ /dev/null
@@ -1,49 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-function listener(event, exec_state, event_data, data) {
- if (event == Debug.DebugEvent.Break) {
- exec_state.prepareStep(Debug.StepAction.StepIn);
- }
-};
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-function g() {
-}
-
-function f() {
- debugger;
- g.apply(null, ['']);
-}
-
-f()
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-279.js b/src/3rdparty/v8/test/mjsunit/regress/regress-279.js
deleted file mode 100644
index e500dd6..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-279.js
+++ /dev/null
@@ -1,62 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function makeArrayInObject() {
- return { foo: [] };
-}
-
-var a = makeArrayInObject();
-a.foo.push(5);
-var b = makeArrayInObject();
-assertEquals(0, b.foo.length, "Array in object");
-
-function makeObjectInObject() {
- return { foo: {} };
-}
-
-a = makeObjectInObject();
-a.foo.bar = 1;
-b = makeObjectInObject();
-assertEquals('undefined', typeof(b.foo.bar), "Object in object");
-
-function makeObjectInArray() {
- return [ {} ];
-}
-
-a = makeObjectInArray();
-a[0].bar = 1;
-b = makeObjectInArray();
-assertEquals('undefined', typeof(b[0].bar), "Object in array");
-
-function makeArrayInArray() {
- return [ [] ];
-}
-
-a = makeArrayInArray();
-a[0].push(5);
-b = makeArrayInArray();
-assertEquals(0, b[0].length, "Array in array");
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-284.js b/src/3rdparty/v8/test/mjsunit/regress/regress-284.js
deleted file mode 100644
index ecfdeea..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-284.js
+++ /dev/null
@@ -1,50 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// See http://code.google.com/p/v8/issues/detail?id=284
-
-function continueWithinLoop() {
- var result;
- for (var key in [0]) {
- result = "hopla";
- continue;
- }
- return result;
-};
-
-assertEquals("hopla", continueWithinLoop());
-
-function breakWithinLoop() {
- var result;
- for (var key in [0]) {
- result = "hopla";
- break;
- }
- return result;
-};
-
-assertEquals("hopla", continueWithinLoop());
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-286.js b/src/3rdparty/v8/test/mjsunit/regress/regress-286.js
deleted file mode 100644
index 361b726..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-286.js
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// See http://code.google.com/p/v8/issues/detail?id=286
-
-function test() {
- var o = [1];
- var a = o[o ^= 1];
- return a;
-};
-
-assertEquals(1, test());
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-294.js b/src/3rdparty/v8/test/mjsunit/regress/regress-294.js
deleted file mode 100644
index 285b447..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-294.js
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Should not crash.
-// See http://code.google.com/p/v8/issues/detail?id=294
-
-function f() { return false; }
-
-function test(x) {
- var y = x;
- if (x == "kat") x = "kat";
- else {
- x = "hund";
- var z = f();
- if (!z) x = "kat";
- }
-}
-
-test("hund");
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-3006390.js b/src/3rdparty/v8/test/mjsunit/regress/regress-3006390.js
deleted file mode 100644
index 4f916ef..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-3006390.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function X() { }
-X.prototype.valueOf = function () { return 7; }
-
-function f(x, y) { return x % y; }
-
-assertEquals(1, f(8, new X()));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-312.js b/src/3rdparty/v8/test/mjsunit/regress/regress-312.js
deleted file mode 100644
index 0fb8c21..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-312.js
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Should not trigger debug ASSERT.
-// See http://code.google.com/p/v8/issues/detail?id=312
-
-var o = { f: "x" ? function () {} : function () {} };
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-317.js b/src/3rdparty/v8/test/mjsunit/regress/regress-317.js
deleted file mode 100644
index b742fa1..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-317.js
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Ensure replacement with string allows $ in replacement string.
-
-assertEquals("a$ec", "abc".replace("b", "$e"), "$e isn't meaningful");
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-318.js b/src/3rdparty/v8/test/mjsunit/regress/regress-318.js
deleted file mode 100644
index e94f1cb..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-318.js
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Should not crash or raise an exception.
-
-function test(value) {
- if (typeof(value) == 'boolean') value = value + '';
- if (typeof(value) == 'number') value = value + '';
-}
-
-assertDoesNotThrow('test(0)');
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-3185905.js b/src/3rdparty/v8/test/mjsunit/regress/regress-3185905.js
deleted file mode 100644
index bd611ab..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-3185905.js
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function test1(x) {
- var a = arguments.callee;
- x = 1;
- x = 2;
- assertEquals(2, x);
-}
-test1(0)
-
-function test2(x) {
- var a = arguments.callee;
- x++;
- x++;
- assertEquals(2, x);
-}
-test2(0)
-
-function test3(x) {
- var a = arguments.callee;
- x += 1;
- x += 1;
- assertEquals(2, x);
-}
-test3(0)
-
-function test4(x) {
- var arguments = { 0 : 3, 'x' : 4 };
- x += 1;
- x += 1;
- assertEquals(2, x);
- assertEquals(3, arguments[0])
- assertEquals(4, arguments['x'])
-}
-test4(0)
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-3199913.js b/src/3rdparty/v8/test/mjsunit/regress/regress-3199913.js
deleted file mode 100644
index e202af1..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-3199913.js
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that bailout during evaluation of the key for a keyed call works as
-// intended.
-
-var y = {
- 'a' : function (x, y) { return 'called a(' + x + ', ' + y + ')' },
- 'b' : function (x, y) { return 'called b(' + x + ', ' + y + ')' }
-}
-
-function C() {
-}
-
-C.prototype.f = function () {
- return y[(this.a == 1 ? "a" : "b")](0, 1);
-}
-
-obj = new C()
-assertEquals('called b(0, 1)', obj.f())
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-3218530.js b/src/3rdparty/v8/test/mjsunit/regress/regress-3218530.js
deleted file mode 100644
index 247f3df..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-3218530.js
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// This tests that a global key values are preserved when used in
-// an expression which will bail out.
-
-var m = Math;
-var p = "floor";
-
-function test() {
- var bignumber = 31363200000;
- assertDoesNotThrow(assertEquals(m[p](Math.round(bignumber/864E5)/7)+1, 52));
-}
-
-test();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-3218915.js b/src/3rdparty/v8/test/mjsunit/regress/regress-3218915.js
deleted file mode 100644
index 4b08a6e..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-3218915.js
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Checks that comma expression in conditional context is processed correctly.
-
-function withCommaExpressionInConditional(x) {
- if (x > 1000) { for (var i = 0; i < 10000; i++) { } }
- var y;
- if (y = x, y > 1) {
- return 'big';
- }
- return (y = x + 1, y > 1) ? 'medium' : 'small';
-}
-
-for (var i = 0; i < 5; i++) {
- withCommaExpressionInConditional(i);
-}
-%OptimizeFunctionOnNextCall(withCommaExpressionInConditional);
-withCommaExpressionInConditional(i);
-withCommaExpressionInConditional("1")
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-3230771.js b/src/3rdparty/v8/test/mjsunit/regress/regress-3230771.js
deleted file mode 100644
index bd00798..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-3230771.js
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Regression test for missing stack-overflow check in
-// VisitForStatement in hydrogen graph building.
-
-function f() {
- for (var h = typeof arguments[0] == "object" ? 0 : arguments; false; ) { }
-}
-
-f();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-3247124.js b/src/3rdparty/v8/test/mjsunit/regress/regress-3247124.js
deleted file mode 100644
index fe4ec4e..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-3247124.js
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var foo = unescape("%E0%E2%EA%F4%FB%E3%F5%E1%E9%ED%F3%FA%E7%FC%C0%C2%CA%D4%DB%C3%D5%C1%C9%CD%D3%DA%C7%DC");
-
-function bar(x) {
- var s = new String(x);
- var a = new String(foo);
- var b = new String('aaeouaoaeioucuAAEOUAOAEIOUCU');
-
- var i = new Number();
- var j = new Number();
- var c = new String();
- var r = '';
-
- for (i = 0; i < s.length; i++) {
- c = s.substring(i, i + 1);
- for (j = 0; j < a.length; j++) {
- if (a.substring(j, j + 1) == c) {
- c = b.substring(j, j + 1);
- }
- }
- r += c;
- }
-
- return r.toLowerCase();
-}
-
-for (var i = 0; i < 100; i++) bar(foo);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-3252443.js b/src/3rdparty/v8/test/mjsunit/regress/regress-3252443.js
deleted file mode 100644
index cd7aa40..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-3252443.js
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var document = new Object();
-document.getElementById = function(s) { return { style: {}}};
-function x(p0, p1, p2, p3) {
- document.getElementById(p1+p0).style.display='';
- document.getElementById(p1+''+p0).style.backgroundColor = "";
- document.getElementById(p1+''+p0).style.color="";
- document.getElementById(p1+''+p0).style.borderBottomColor = "";
- for (var i = p3; i <= p2; ++i) {
- if (i != p0) {
- document.getElementById(p1+i).style.display='';
- document.getElementById(p1+''+i).style.backgroundColor = "";
- document.getElementById(p1+''+i).style.color="";
- document.getElementById(p1+''+i).style.borderBottomColor = "";
- }
- }
-}
-
-x(1, "xxx", 10000, 1)
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-326.js b/src/3rdparty/v8/test/mjsunit/regress/regress-326.js
deleted file mode 100644
index fcd102e..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-326.js
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Should not crash or raise an exception.
-// Should sort non-array into equivalent of [37,42,undefined,,0]
-
-var nonArray = { length: 4, 0: 42, 2: 37, 3: undefined, 4: 0 };
-Array.prototype.sort.call(nonArray);
-
-assertEquals(4, nonArray.length, "preserve length");
-assertEquals(37, nonArray[0], "sort smallest first");
-assertEquals(42, nonArray[1], "sort largest last");
-assertTrue(2 in nonArray, "don't delete undefined");
-assertEquals(undefined, nonArray[2], "sort undefined after largest");
-assertFalse(3 in nonArray, "don't create non-existing");
-assertEquals(0, nonArray[4], "don't affect after length.");
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-334.js b/src/3rdparty/v8/test/mjsunit/regress/regress-334.js
deleted file mode 100644
index 37dd299..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-334.js
+++ /dev/null
@@ -1,90 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test for http://code.google.com/p/v8/issues/detail?id=334
-
-var READ_ONLY = 1;
-var DONT_ENUM = 2;
-var DONT_DELETE = 4;
-
-function func1(){}
-function func2(){}
-
-var object = {__proto__:{}};
-%SetProperty(object, "foo", func1, DONT_ENUM | DONT_DELETE);
-%SetProperty(object, "bar", func1, DONT_ENUM | READ_ONLY);
-%SetProperty(object, "baz", func1, DONT_DELETE | READ_ONLY);
-%SetProperty(object.__proto__, "bif", func1, DONT_ENUM | DONT_DELETE);
-object.bif = func2;
-
-function enumerable(obj) {
- var res = [];
- for (var i in obj) {
- res.push(i);
- }
- res.sort();
- return res;
-}
-
-// Sanity check: expected initial state.
-assertArrayEquals(["baz", "bif"], enumerable(object), "enum0");
-assertFalse(delete object.foo, "delete foo");
-assertFalse(delete object.baz, "delete baz");
-assertEquals(func1, object.foo, "read foo");
-assertEquals(func1, object.bar, "read bar");
-assertEquals(func1, object.baz, "read baz");
-assertEquals(func2, object.bif, "read bif");
-
-// Can't assign to READ_ONLY.
-object.bar = "NO WAY";
-assertEquals(func1, object.bar, "read bar 2");
-assertArrayEquals(["baz", "bif"], enumerable(object), "enum1");
-
-// Assignment to non-readonly. Assignment shouldn't change attributes!
-object.foo = func2;
-assertArrayEquals(["baz", "bif"], enumerable(object), "enum2");
-assertFalse(delete object.foo, "delete foo 2");
-
-// Delete should erase attributes if value set again.
-assertTrue(delete object.bar, "delete bar");
-assertFalse("bar" in object, "has bar");
-object.bar = func2;
-assertTrue("bar" in object, "has bar 2");
-assertEquals(func2, object.bar, "read bar 3");
-
-assertArrayEquals(["bar", "baz", "bif"], enumerable(object), "enum3");
-
-// Unshadowing a prototype property exposes its attributes.
-assertTrue(delete object.bif, "delete bif");
-assertArrayEquals(["bar", "baz"], enumerable(object), "enum4");
-assertEquals(func1, object.bif, "read bif 2");
-// Can't delete prototype property.
-assertTrue(delete object.bif, "delete bif 2");
-assertArrayEquals(["bar", "baz"], enumerable(object), "enum5");
-assertEquals(func1, object.bif, "read bif3");
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-3408144.js b/src/3rdparty/v8/test/mjsunit/regress/regress-3408144.js
deleted file mode 100644
index 6e292d6..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-3408144.js
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test incorrect code generation for alternations on ARM.
-
-
-// Flags: --nofull-compiler
-
-function foo() {
- return (0 > ("10"||10) - 1);
-}
-
-assertFalse(foo());
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-341.js b/src/3rdparty/v8/test/mjsunit/regress/regress-341.js
deleted file mode 100644
index 4db6bc6..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-341.js
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Should not crash.
-// See http://code.google.com/p/v8/issues/detail?id=341
-
-function F() {}
-
-F.prototype = 1;
-var o = {};
-
-assertThrows("o instanceof F");
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-345.js b/src/3rdparty/v8/test/mjsunit/regress/regress-345.js
deleted file mode 100644
index f7f28a1..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-345.js
+++ /dev/null
@@ -1,51 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Escaping to the same target from both the try and catch blocks of
-// try...catch...finally should not fail at compile-time.
-//
-// Reported by nth10sd.
-// See http://code.google.com/p/v8/issues/detail?id=345
-
-do {
- try {
- continue;
- } catch (e) {
- continue;
- } finally {
- }
-} while (false);
-
-
-L: {
- try {
- break L;
- } catch (e) {
- break L;
- } finally {
- }
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-349.js b/src/3rdparty/v8/test/mjsunit/regress/regress-349.js
deleted file mode 100644
index 1a60e3e..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-349.js
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Should not crash.
-// See http://code.google.com/p/v8/issues/detail?id=349
-
-var str = "bbaabbbbbbbbabbaaaabbaaabbbaaaabbaaabbabaaabb";
-assertEquals(str, str.replace(/aabab/g, "foo"));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-35.js b/src/3rdparty/v8/test/mjsunit/regress/regress-35.js
deleted file mode 100644
index 2fcdbe7..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-35.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var result;
-eval("result = 42; while(true)break");
-assertEquals(42, result);
-
-eval("result = 87; while(false)continue");
-assertEquals(87, result);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-351.js b/src/3rdparty/v8/test/mjsunit/regress/regress-351.js
deleted file mode 100644
index 44470db..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-351.js
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Should use index of 0 if provided index is negative.
-// See http://code.google.com/p/v8/issues/detail?id=351
-
-assertEquals(0, "test".lastIndexOf("test", -1));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-386.js b/src/3rdparty/v8/test/mjsunit/regress/regress-386.js
deleted file mode 100644
index 06e4b8e..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-386.js
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-// Test for http://code.google.com/p/v8/issues/detail?id=386
-// This test creates enough properties in A so that adding i as
-// a constant function, in the first call to the constructor, leaves
-// the object's map in the fast case and adds a constant function map
-// transition.
-// Adding i in the second call to the constructor creates a real property,
-// and simultaneously converts the object from fast case to slow case
-// and changes i from a map transition to a real property. There was
-// a flaw in the code that handled this combination of events.
-
-function A() {
- for (var i = 0; i < 13; i++) {
- this['a' + i] = i;
- }
- this.i = function(){};
-};
-
-new A();
-new A();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-392.js b/src/3rdparty/v8/test/mjsunit/regress/regress-392.js
deleted file mode 100644
index 3cabcac..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-392.js
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Regression test for issue 392 reported by nth10sd; see
-// http://code.google.com/p/v8/issues/detail?id=392
-
-assertTrue(isNaN((function(){return arguments++})()));
-assertTrue(isNaN((function(){return ++arguments})()));
-assertTrue(isNaN((function(){return arguments--})()));
-assertTrue(isNaN((function(){return --arguments})()));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-394.js b/src/3rdparty/v8/test/mjsunit/regress/regress-394.js
deleted file mode 100644
index 7b98205..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-394.js
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// See <URL:http://code.google.com/p/v8/issues/detail?id=394>
-
-function setx(){
- x=1;
-}
-
-function getx(){
- return x;
-}
-
-setx()
-setx()
-__defineSetter__('x',function(){});
-__defineGetter__('x',function(){return 2;});
-setx()
-assertEquals(2, x);
-
-assertEquals(2, getx());
-assertEquals(2, getx());
-assertEquals(2, getx());
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-396.js b/src/3rdparty/v8/test/mjsunit/regress/regress-396.js
deleted file mode 100644
index e6f2ce3..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-396.js
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// http://code.google.com/p/v8/issues/detail?id=396
-
-function DateYear(date) {
- var string = date.getYear() + '';
- if (string.length < 4) {
- string = '' + (string - 0 + 1900);
- }
- return string;
-}
-
-assertEquals('1995', DateYear(new Date('Dec 25, 1995')));
-assertEquals('2005', DateYear(new Date('Dec 25, 2005')));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-397.js b/src/3rdparty/v8/test/mjsunit/regress/regress-397.js
deleted file mode 100644
index 0e4143d..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-397.js
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-// See http://code.google.com/p/v8/issues/detail?id=397
-
-
-function test() {
- assertEquals("Infinity", String(Math.pow(Infinity, 0.5)));
- assertEquals(0, Math.pow(Infinity, -0.5));
-
- assertEquals("Infinity", String(Math.pow(-Infinity, 0.5)));
- assertEquals(0, Math.pow(-Infinity, -0.5));
-}
-
-test();
-test();
-%OptimizeFunctionOnNextCall(test);
-test();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-399.js b/src/3rdparty/v8/test/mjsunit/regress/regress-399.js
deleted file mode 100644
index 6c8eab5..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-399.js
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// See http://code.google.com/p/v8/issues/detail?id=399
-
-var date = new Date(1.009804e12);
-var year = Number(String(date).match(/.*(200\d)/)[1]);
-assertEquals(year, date.getFullYear());
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-406.js b/src/3rdparty/v8/test/mjsunit/regress/regress-406.js
deleted file mode 100644
index f48a5de..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-406.js
+++ /dev/null
@@ -1,69 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test of constant folding of boolean-valued expressions.
-
-// See http://code.google.com/p/v8/issues/detail?id=406
-
-assertFalse(typeof(0) == "zero");
-assertTrue(typeof(0) != "zero");
-
-// The and and or truth tables with both operands constant.
-assertFalse(typeof(0) == "zero" && typeof(0) == "zero");
-assertFalse(typeof(0) == "zero" && typeof(0) != "zero");
-assertFalse(typeof(0) != "zero" && typeof(0) == "zero");
-assertTrue(typeof(0) != "zero" && typeof(0) != "zero");
-
-assertFalse(typeof(0) == "zero" || typeof(0) == "zero");
-assertTrue(typeof(0) == "zero" || typeof(0) != "zero");
-assertTrue(typeof(0) != "zero" || typeof(0) == "zero");
-assertTrue(typeof(0) != "zero" || typeof(0) != "zero");
-
-// Same with just the left operand constant.
-// Helper function to prevent simple constant folding.
-function one() { return 1; }
-
-assertFalse(typeof(0) == "zero" && one() < 0);
-assertFalse(typeof(0) == "zero" && one() > 0);
-assertFalse(typeof(0) != "zero" && one() < 0);
-assertTrue(typeof(0) != "zero" && one() > 0);
-
-assertFalse(typeof(0) == "zero" || one() < 0);
-assertTrue(typeof(0) == "zero" || one() > 0);
-assertTrue(typeof(0) != "zero" || one() < 0);
-assertTrue(typeof(0) != "zero" || one() > 0);
-
-// Same with just the right operand constant.
-assertFalse(one() < 0 && typeof(0) == "zero");
-assertFalse(one() < 0 && typeof(0) != "zero");
-assertFalse(one() > 0 && typeof(0) == "zero");
-assertTrue(one() > 0 && typeof(0) != "zero");
-
-assertFalse(one() < 0 || typeof(0) == "zero");
-assertTrue(one() < 0 || typeof(0) != "zero");
-assertTrue(one() > 0 || typeof(0) == "zero");
-assertTrue(one() > 0 || typeof(0) != "zero");
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-416.js b/src/3rdparty/v8/test/mjsunit/regress/regress-416.js
deleted file mode 100644
index d204bd3..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-416.js
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test of invalid Date construction, and TimeClip function.
-
-// See http://code.google.com/p/v8/issues/detail?id=416
-
-assertTrue(isNaN(new Date(1e81).getTime()), "new Date(1e81)");
-assertTrue(isNaN(new Date(-1e81).getTime()), "new Date(-1e81)");
-assertTrue(isNaN(new Date(1e81, "").getTime()), "new Date(1e81, \"\")");
-assertTrue(isNaN(new Date(-1e81, "").getTime()), "new Date(-1e81, \"\")");
-assertTrue(isNaN(new Date(Number.NaN).getTime()), "new Date(Number.NaN)");
-assertTrue(isNaN(new Date(Number.NaN, "").getTime()),
- "new Date(Number.NaN, \"\")");
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-45469.js b/src/3rdparty/v8/test/mjsunit/regress/regress-45469.js
deleted file mode 100644
index 832a73f..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-45469.js
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that global regexps capture and fail in the correct cyclic way.
-
-var re = /x/g;
-
-for (var i = 0; i < 15; i++) {
- assertEquals(i % 3, re.lastIndex, "preindex" + i);
- var res = re.exec("xx");
- assertEquals(i % 3 == 2 ? null : ["x"], res, "res" + i);
-}
-
-re = /x/g;
-
-for (var i = 0; i < 15; i++) {
- assertEquals(i % 3, re.lastIndex, "testpreindex" + i);
- var res = re.test("xx");
- assertEquals(i % 3 != 2, res, "testres" + i);
-}
-
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-475.js b/src/3rdparty/v8/test/mjsunit/regress/regress-475.js
deleted file mode 100644
index 4b7dbbd..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-475.js
+++ /dev/null
@@ -1,28 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-assertEquals(1, (function (){return 1|-1%1})());
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-483.js b/src/3rdparty/v8/test/mjsunit/regress/regress-483.js
deleted file mode 100644
index db93f59..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-483.js
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function X() {
- this.x = this.x.x;
-}
-
-X.prototype.x = {x:1}
-
-new X()
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-485.js b/src/3rdparty/v8/test/mjsunit/regress/regress-485.js
deleted file mode 100755
index f26e0eb..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-485.js
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// See: http://code.google.com/p/v8/issues/detail?id=485
-
-// Ensure that we don't expose the builtins object when calling
-// builtin functions that use or return "this".
-
-var global = this;
-var global2 = (function(){return this;})();
-assertEquals(global, global2, "direct call to local function returns global");
-
-// Builtin that depends on value of this to compute result.
-var builtin2 = Object.prototype.toString;
-
-// Global object has class "Object" according to Object.prototype.toString.
-// Builtins object displays as "[object builtins]".
-assertTrue("[object builtins]" != builtin2(), "Direct call to toString");
-assertTrue("[object builtins]" != builtin2.call(), "call() to toString");
-assertTrue("[object builtins]" != builtin2.apply(), "call() to toString");
-assertTrue("[object builtins]" != builtin2.call.call(builtin2),
- "call.call() to toString");
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-486.js b/src/3rdparty/v8/test/mjsunit/regress/regress-486.js
deleted file mode 100644
index c1e29a6..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-486.js
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var st = "\u0422\u0435\u0441\u0442"; // Test in Cyrillic characters.
-var cyrillicMatch = /^[\u0430-\u044fa-z]+$/i.test(st); // a-ja a-z.
-assertTrue(cyrillicMatch);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-490.js b/src/3rdparty/v8/test/mjsunit/regress/regress-490.js
deleted file mode 100644
index 8dd8959..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-490.js
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// See: http://code.google.com/p/v8/issues/detail?id=490
-
-var kXXX = 11
-// Build a string longer than 2^11. See StringBuilderConcatHelper and
-// Runtime_StringBuilderConcat in runtime.cc and
-// ReplaceResultBuilder.prototype.addSpecialSlice in string.js.
-var a = '';
-while (a.length < (2 << 11)) { a+= 'x'; }
-
-// Test specific for bug introduced in r3153.
-a.replace(/^(.*)/, '$1$1$1');
-
-// More generalized test.
-for (var i = 0; i < 10; i++) {
- var b = '';
- for (var j = 0; j < 10; j++) {
- b += '$1';
- a.replace(/^(.*)/, b);
- }
- a += a;
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-491.js b/src/3rdparty/v8/test/mjsunit/regress/regress-491.js
deleted file mode 100644
index 2cf5e20..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-491.js
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// See: http://code.google.com/p/v8/issues/detail?id=491
-// This should not hit any asserts in debug mode on ARM.
-
-function function_with_n_strings(n) {
- var source = '(function f(){';
- for (var i = 0; i < n; i++) {
- if (i != 0) source += ';';
- source += '"x"';
- }
- source += '})()';
- eval(source);
-}
-
-var i;
-for (i = 500; i < 600; i++) {
- function_with_n_strings(i);
-}
-for (i = 1100; i < 1200; i++) {
- function_with_n_strings(i);
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-492.js b/src/3rdparty/v8/test/mjsunit/regress/regress-492.js
deleted file mode 100644
index 53b3195..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-492.js
+++ /dev/null
@@ -1,90 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// See: http://code.google.com/p/v8/issues/detail?id=492
-// This should not hit any asserts in debug mode on ARM.
-
-function function_with_n_args(n) {
- var source = '(function f' + n + '(';
- for (var arg = 0; arg < n; arg++) {
- if (arg != 0) source += ',';
- source += 'arg' + arg;
- }
- source += ') { })()';
- eval(source);
-}
-
-var args;
-for (args = 250; args < 270; args++) {
- function_with_n_args(args);
-}
-
-for (args = 500; args < 520; args++) {
- function_with_n_args(args);
-}
-
-for (args = 1019; args < 1041; args++) {
- function_with_n_args(args);
-}
-
-
-function foo(
- x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
- x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
- x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
- x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
- x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
- x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
- x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
- x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
- x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
- x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
- x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
- x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
- x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
- x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
- x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
- x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
- x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
- x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
- x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
- x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
- x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
- x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
- x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
- x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
- x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
- x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
- x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
- x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
- x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
- x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
- x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x,
- x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x
-) {}
-
-for (var i = 0; i < 10000; ++i) foo();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-496.js b/src/3rdparty/v8/test/mjsunit/regress/regress-496.js
deleted file mode 100644
index 33c1a67..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-496.js
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Regression test for http://code.google.com/p/v8/issues/detail?id=496.
-//
-// Tests that we do not treat the unaliased eval call in g as an
-// aliased call to eval.
-
-function h() {
- function f() { return eval; }
- function g() { var x = 44; return eval("x"); }
- assertEquals(44, g());
-}
-
-h();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-502.js b/src/3rdparty/v8/test/mjsunit/regress/regress-502.js
deleted file mode 100644
index d3c9381..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-502.js
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Regression test for http://code.google.com/p/v8/issues/detail?id=502.
-//
-// Test that we do not generate an inlined version of the constructor
-// function C.
-
-var X = 'x';
-function C() { this[X] = 42; }
-var a = new C();
-var b = new C();
-assertEquals(42, a.x);
-assertEquals(42, b.x);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-503.js b/src/3rdparty/v8/test/mjsunit/regress/regress-503.js
deleted file mode 100644
index 5b156b2..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-503.js
+++ /dev/null
@@ -1,63 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-assertTrue(undefined == undefined, 1);
-assertFalse(undefined <= undefined, 2);
-assertFalse(undefined >= undefined, 3);
-assertFalse(undefined < undefined, 4);
-assertFalse(undefined > undefined, 5);
-
-assertTrue(null == null, 6);
-assertTrue(null <= null, 7);
-assertTrue(null >= null, 8);
-assertFalse(null < null, 9);
-assertFalse(null > null, 10);
-
-assertTrue(void 0 == void 0, 11);
-assertFalse(void 0 <= void 0, 12);
-assertFalse(void 0 >= void 0, 13);
-assertFalse(void 0 < void 0, 14);
-assertFalse(void 0 > void 0, 15);
-
-var x = void 0;
-
-assertTrue(x == x, 16);
-assertFalse(x <= x, 17);
-assertFalse(x >= x, 18);
-assertFalse(x < x, 19);
-assertFalse(x > x, 20);
-
-var not_undefined = [null, 0, 1, 1/0, -1/0, "", true, false];
-for (var i = 0; i < not_undefined.length; i++) {
- x = not_undefined[i];
-
- assertTrue(x == x, "" + 21 + x);
- assertTrue(x <= x, "" + 22 + x);
- assertTrue(x >= x, "" + 23 + x);
- assertFalse(x < x, "" + 24 + x);
- assertFalse(x > x, "" + 25 + x);
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-515.js b/src/3rdparty/v8/test/mjsunit/regress/regress-515.js
deleted file mode 100644
index 7675fe1..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-515.js
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Regression test for http://code.google.com/p/v8/issues/detail?id=515.
-//
-// The test passes if it does not crash.
-
-var length = 2048;
-var s = "";
-for (var i = 0; i < 2048; i++) {
- s += '.';
-}
-
-var string = s + 'x' + s + 'x' + s;
-
-string.replace(/x/g, "")
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-524.js b/src/3rdparty/v8/test/mjsunit/regress/regress-524.js
deleted file mode 100644
index b37ad8a..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-524.js
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test allocation of a large number of maps.
-
-var i = 500000
-var a = new Array(i)
-for (var j = 0; j < i; j++) { var o = {}; o.x = 42; delete o.x; a[j] = o; }
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-526.js b/src/3rdparty/v8/test/mjsunit/regress/regress-526.js
deleted file mode 100644
index 0cae97a..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-526.js
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test object literals with computed property and getter.
-
-var o = { foo: function() { }, get bar() { return {x:42} } };
-
-assertEquals(42, o.bar.x);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-52801.js b/src/3rdparty/v8/test/mjsunit/regress/regress-52801.js
deleted file mode 100644
index 9a34b81..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-52801.js
+++ /dev/null
@@ -1,69 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Whenever we enter a with-scope, we copy the context. This in itself is fine
-// (contexts may escape), but when leaving a with-scope, we currently also copy
-// the context instead of reverting to the original. This does not work because
-// inner functions may already have been created using the original context. In
-// the failing test case below, the inner function is run in the original context
-// (where x is undefined), but the assignment to x after the with-statement is
-// run in the copied context:
-
-// RegExp caching doesn't set lastIndex correctly.
-// See http://code.google.com/p/chromium/issues/detail?id=52801
-
-var re = /a/g;
-
-var str = "bbbbabbbbabbbb";
-
-// Test
-
-re.test(str);
-assertEquals(5, re.lastIndex);
-
-re.lastIndex = 0;
-re.test(str);
-assertEquals(5, re.lastIndex); // Fails if caching.
-
-re.lastIndex = 0;
-re.test(str);
-assertEquals(5, re.lastIndex); // Fails if caching.
-
-// Exec
-
-re = /a/g;
-
-re.exec(str);
-assertEquals(5, re.lastIndex);
-
-re.lastIndex = 0;
-re.exec(str);
-assertEquals(5, re.lastIndex); // Fails if caching.
-
-re.lastIndex = 0;
-re.exec(str);
-assertEquals(5, re.lastIndex); // Fails if caching.
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-540.js b/src/3rdparty/v8/test/mjsunit/regress/regress-540.js
deleted file mode 100644
index c40fa2c..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-540.js
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test context slot declarations in the arguments object.
-// See http://code.google.com/p/v8/issues/detail?id=540
-
-function f(x, y) { eval(x); return y(); }
-var result = f("function y() { return 1; }", function () { return 0; })
-assertEquals(1, result);
-
-result =
- (function (x) {
- function x() { return 3; }
- return x();
- })(function () { return 2; });
-assertEquals(3, result);
-
-result =
- (function (x) {
- function x() { return 5; }
- return arguments[0]();
- })(function () { return 4; });
-assertEquals(5, result);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-545.js b/src/3rdparty/v8/test/mjsunit/regress/regress-545.js
deleted file mode 100644
index 36cde6d..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-545.js
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// See: http://code.google.com/p/v8/issues/detail?id=545
-// and: http://code.google.com/p/chromium/issues/detail?id=28353
-
-// The "this" variable proxy was reused. If context annotations differ between
-// uses, this can cause a use in a value context to assume a test context. Since
-// it has no true/false labels set, it causes a null-pointer dereference and
-// segmentation fault.
-
-// Code should not crash:
-
-// Original bug report by Robert Swiecki (wrapped to not throw):
-try {
- new IsPrimitive(load())?this.join():String('&#10;').charCodeAt((!this>Math));
-} catch (e) {}
-
-// Shorter examples:
-
-this + !this;
-
-this + (this ? 1 : 2);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-57.js b/src/3rdparty/v8/test/mjsunit/regress/regress-57.js
deleted file mode 100644
index 1d410b9..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-57.js
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-try {
- delete (void 0).x;
-} catch (e) {
- print(e.toString());
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-580.js b/src/3rdparty/v8/test/mjsunit/regress/regress-580.js
deleted file mode 100644
index 6b1d098..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-580.js
+++ /dev/null
@@ -1,55 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test constant folding of smi operations that overflow a 32-bit int
-// See http://code.google.com/p/v8/issues/detail?id=580
-
-function num_ops() {
- var x;
- var tmp = 0;
- x = (tmp = 1578221999, tmp)+(tmp = 572285336, tmp);
- assertEquals(2150507335, x, "++");
- x = 1578221999 + 572285336;
- assertEquals(2150507335, x);
-
- x = (tmp = -1500000000, tmp)+(tmp = -2000000000, tmp);
- assertEquals(-3500000000, x, "+-");
- x = -1500000000 + -2000000000;
- assertEquals(-3500000000, x);
-
- x = (tmp = 1578221999, tmp)-(tmp = -572285336, tmp);
- assertEquals(2150507335, x, "--");
- x = 1578221999 - -572285336;
- assertEquals(2150507335, x);
-
- x = (tmp = -1500000000, tmp)-(tmp = 2000000000, tmp);
- assertEquals(-3500000000, x, "-+");
- x = -1500000000 - 2000000000;
- assertEquals(-3500000000, x);
-}
-
-num_ops();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-58740.js b/src/3rdparty/v8/test/mjsunit/regress/regress-58740.js
deleted file mode 100644
index ab3e93b..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-58740.js
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// See: http://code.google.com/p/chromium/issues/detail?id=58740
-
-var re = /.+/g;
-re.exec("");
-re.exec("anystring");
-re=/.+/g;
-re.exec("");
-assertEquals(0, re.lastIndex);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-588599.js b/src/3rdparty/v8/test/mjsunit/regress/regress-588599.js
deleted file mode 100644
index a1c16e2..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-588599.js
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-assertFalse(Infinity == -Infinity);
-assertEquals(Infinity, 1 / 1e-9999);
-assertEquals(-Infinity, 1 / -1e-9999);
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-6-9-regexp.js b/src/3rdparty/v8/test/mjsunit/regress/regress-6-9-regexp.js
deleted file mode 100644
index c73b37d..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-6-9-regexp.js
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Check that the perfect mask check isn't overly optimistic.
-
-assertFalse(/[6-9]/.test('2'));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-603.js b/src/3rdparty/v8/test/mjsunit/regress/regress-603.js
deleted file mode 100644
index f9344ee..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-603.js
+++ /dev/null
@@ -1,64 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Calling non-objects directly or via Function.prototype.call should
-// not mess up the stack.
-// http://code.google.com/p/v8/issues/detail?id=603
-
-var re = /b../;
-assertThrows(function() {
- return re('abcdefghijklm') + 'z';
-});
-
-var re1 = /c../;
-re1.call = Function.prototype.call;
-assertThrows(function() {
- re1.call(null, 'abcdefghijklm') + 'z';
-});
-
-var re2 = /d../;
-assertThrows(function() {
- Function.prototype.call.call(re2, null, 'abcdefghijklm') + 'z';
-});
-
-var re3 = /e../;
-assertThrows(function() {
- Function.prototype.call.apply(
- re3, [null, 'abcdefghijklm']) + 'z';
-});
-
-var re4 = /f../;
-assertThrows(function() {
- Function.prototype.apply.call(
- re4, null, ['abcdefghijklm']) + 'z';
-});
-
-var re5 = /g../;
-assertThrows(function() {
- Function.prototype.apply.apply(
- re4, [null, ['abcdefghijklm']]) + 'z';
-});
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-612.js b/src/3rdparty/v8/test/mjsunit/regress/regress-612.js
deleted file mode 100644
index aee6d53..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-612.js
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Tests intercation between __defineGetter__/__defineSetter and fast and slow
-// mode of the objects due to series of assignments optimization.
-// (See http://code.google.com/p/v8/issues/detail?id=612)
-
-obj = {}
-
-// Define getter which currently moves object into slow mode.
-obj.__defineGetter__('foobar', function() { return 42; })
-
-// Starts initialization block mode. And turns object into slow mode.
-obj.a = 1
-obj.b = 2;
-obj.c = 3;
-// Now object is turned into fast mode, but it has getter defined above...
-
-// Now assert is triggered.
-obj.__defineGetter__('foobar', function() { return 42; })
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-619.js b/src/3rdparty/v8/test/mjsunit/regress/regress-619.js
deleted file mode 100644
index 4d3e66b..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-619.js
+++ /dev/null
@@ -1,61 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Tests that Object.defineProperty works correctly on array indices.
-// Please see http://code.google.com/p/v8/issues/detail?id=619 for details.
-
-var obj = {};
-obj[1] = 42;
-assertEquals(42, obj[1]);
-Object.defineProperty(obj, '1', {value:10, writable:false});
-assertEquals(10, obj[1]);
-
-// We should not be able to override obj[1].
-obj[1] = 5;
-assertEquals(10, obj[1]);
-
-// Try on a range of numbers.
-for(var i = 0; i < 1024; i++) {
- obj[i] = 42;
-}
-
-for(var i = 0; i < 1024; i++) {
- Object.defineProperty(obj, i, {value: i, writable:false});
-}
-
-for(var i = 0; i < 1024; i++) {
- assertEquals(i, obj[i]);
-}
-
-for(var i = 0; i < 1024; i++) {
- obj[1] = 5;
-}
-
-for(var i = 0; i < 1024; i++) {
- assertEquals(i, obj[i]);
-}
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-634.js b/src/3rdparty/v8/test/mjsunit/regress/regress-634.js
deleted file mode 100644
index b68e843..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-634.js
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-for (var i = 0; i < 1000000; i++) {
- a = new Array(0);
- assertEquals(0, a.length);
- assertEquals(0, a.length);
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-636.js b/src/3rdparty/v8/test/mjsunit/regress/regress-636.js
deleted file mode 100644
index 8e0196d..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-636.js
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function test() {
- var i, result = "";
- var value = parseFloat(5.5);
- value = Math.abs(1025);
- for(i = 12; --i; result = ( value % 2 ) + result, value >>= 1);
- return result;
-};
-
-assertEquals("10000000001", test());
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-641.js b/src/3rdparty/v8/test/mjsunit/regress/regress-641.js
deleted file mode 100644
index 957caa8..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-641.js
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Regression test for http://code.google.com/p/v8/issues/detail?id=641.
-
- function f(){
- while (window + 1) {
- const window=[,];
- }
-}
-f()
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-643.js b/src/3rdparty/v8/test/mjsunit/regress/regress-643.js
deleted file mode 100644
index 39c467b..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-643.js
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Regression test for http://code.google.com/p/v8/issues/detail?id=643.
-
-function f() {
- var test = {x:1};
- var a = test;
- a.x = a = 42;
- return test.x;
-}
-
-assertEquals(42, f());
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-646.js b/src/3rdparty/v8/test/mjsunit/regress/regress-646.js
deleted file mode 100644
index b862350..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-646.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Regression test for http://code.google.com/p/v8/issues/detail?id=646.
-
-function f() { this.__proto__ = 42 }
-var count = 0;
-for (var x in new f()) count++;
-assertEquals(0, count);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-662254.js b/src/3rdparty/v8/test/mjsunit/regress/regress-662254.js
deleted file mode 100644
index daf5e17..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-662254.js
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function f() {
- for (var c in []) { }
-}
-
-f();
-
-
-function g() {
- var c;
- for (c in []) { }
-}
-
-g();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-666721.js b/src/3rdparty/v8/test/mjsunit/regress/regress-666721.js
deleted file mode 100644
index e2c632f..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-666721.js
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function len0(a) { return a.length; }
-function len1(a) { return a.length; }
-function len2(a) { return a.length; }
-function len3(a) { return a.length; }
-
-assertEquals(0, len0([]));
-assertEquals(1, len0({length:1}));
-assertEquals(2, len0([1,2]));
-assertEquals(3, len0('123'));
-
-assertEquals(0, len1(''));
-assertEquals(1, len1({length:1}));
-assertEquals(2, len1('12'));
-assertEquals(3, len1([1,2,3]));
-
-assertEquals(0, len2({length:0}));
-assertEquals(1, len2([1]));
-assertEquals(2, len2({length:2}));
-assertEquals(3, len2([1,2,3]));
-assertEquals(4, len2('1234'));
-
-assertEquals(0, len3({length:0}));
-assertEquals(1, len3('1'));
-assertEquals(2, len3({length:2}));
-assertEquals(3, len3('123'));
-assertEquals(4, len3([1,2,3,4]));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-667061.js b/src/3rdparty/v8/test/mjsunit/regress/regress-667061.js
deleted file mode 100644
index 4d29a1a..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-667061.js
+++ /dev/null
@@ -1,90 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test non-ICC case.
-var caught = false;
-try {
- (('foo'))();
-} catch (o) {
- assertTrue(o instanceof TypeError);
- caught = true;
-}
-assertTrue(caught);
-
-
-// Test uninitialized case.
-function h(o) {
- return o.x();
-}
-
-var caught = false;
-try {
- h({ x: 1 });
-} catch (o) {
- assertTrue(o instanceof TypeError);
- caught = true;
-}
-assertTrue(caught);
-
-
-// Test monomorphic case.
-function g(o) {
- return o.x();
-}
-
-function O(x) { this.x = x; };
-var o = new O(function() { return 1; });
-assertEquals(1, g(o)); // go monomorphic
-assertEquals(1, g(o)); // stay monomorphic
-
-var caught = false;
-try {
- g(new O(3));
-} catch (o) {
- assertTrue(o instanceof TypeError);
- caught = true;
-}
-assertTrue(caught);
-
-
-// Test megamorphic case.
-function f(o) {
- return o.x();
-}
-
-assertEquals(1, f({ x: function () { return 1; }})); // go monomorphic
-assertEquals(2, f({ x: function () { return 2; }})); // go megamorphic
-assertEquals(3, f({ x: function () { return 3; }})); // stay megamorphic
-
-var caught = false;
-try {
- f({ x: 4 });
-} catch (o) {
- assertTrue(o instanceof TypeError);
- caught = true;
-}
-assertTrue(caught);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-670147.js b/src/3rdparty/v8/test/mjsunit/regress/regress-670147.js
deleted file mode 100644
index b5b00d0..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-670147.js
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function XXX(x) {
- var k = delete x;
- return k;
-}
-
-assertFalse(XXX('Hello'));
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-674753.js b/src/3rdparty/v8/test/mjsunit/regress/regress-674753.js
deleted file mode 100644
index 361b457..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-674753.js
+++ /dev/null
@@ -1,87 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Number
-assertTrue(typeof 0 == 'number');
-assertTrue(typeof 0 === 'number');
-assertTrue(typeof 1.2 == 'number');
-assertTrue(typeof 1.2 === 'number');
-assertFalse(typeof 'x' == 'number');
-assertFalse(typeof 'x' === 'number');
-
-// String
-assertTrue(typeof 'x' == 'string');
-assertTrue(typeof 'x' === 'string');
-assertTrue(typeof ('x' + 'x') == 'string');
-assertTrue(typeof ('x' + 'x') === 'string');
-assertFalse(typeof 1 == 'string');
-assertFalse(typeof 1 === 'string');
-assertFalse(typeof Object() == 'string');
-assertFalse(typeof Object() === 'string');
-
-// Boolean
-assertTrue(typeof true == 'boolean');
-assertTrue(typeof true === 'boolean');
-assertTrue(typeof false == 'boolean');
-assertTrue(typeof false === 'boolean');
-assertFalse(typeof 1 == 'boolean');
-assertFalse(typeof 1 === 'boolean');
-assertFalse(typeof Object() == 'boolean');
-assertFalse(typeof Object() === 'boolean');
-
-// Undefined
-assertTrue(typeof void 0 == 'undefined');
-assertTrue(typeof void 0 === 'undefined');
-assertFalse(typeof 1 == 'undefined');
-assertFalse(typeof 1 === 'undefined');
-assertFalse(typeof Object() == 'undefined');
-assertFalse(typeof Object() === 'undefined');
-
-// Function
-assertTrue(typeof Object == 'function');
-assertTrue(typeof Object === 'function');
-assertFalse(typeof 1 == 'function');
-assertFalse(typeof 1 === 'function');
-assertFalse(typeof Object() == 'function');
-assertFalse(typeof Object() === 'function');
-
-// Object
-assertTrue(typeof Object() == 'object');
-assertTrue(typeof Object() === 'object');
-assertTrue(typeof new String('x') == 'object');
-assertTrue(typeof new String('x') === 'object');
-assertTrue(typeof ['x'] == 'object');
-assertTrue(typeof ['x'] === 'object');
-assertTrue(typeof null == 'object');
-assertTrue(typeof null === 'object');
-assertFalse(typeof 1 == 'object');
-assertFalse(typeof 1 === 'object');
-assertFalse(typeof 'x' == 'object'); // bug #674753
-assertFalse(typeof 'x' === 'object');
-assertFalse(typeof Object == 'object');
-assertFalse(typeof Object === 'object');
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-675.js b/src/3rdparty/v8/test/mjsunit/regress/regress-675.js
deleted file mode 100644
index 19ca646..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-675.js
+++ /dev/null
@@ -1,61 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Regression test for http://code.google.com/p/v8/issues/detail?id=675.
-//
-// Test that load ICs for nonexistent properties check global
-// property cells.
-
-function f() { return this.x; }
-
-// Initialize IC for nonexistent x property on global object.
-f();
-f();
-
-// Assign to global property cell for x.
-this.x = 23;
-
-// Check that we bail out from the IC.
-assertEquals(23, f());
-
-
-// Same test, but test that the global property cell is also checked
-// if the global object is the last object in the prototype chain for
-// the load.
-this.__proto__ = null;
-function g() { return this.y; }
-
-// Initialize IC.
-g();
-g();
-
-// Update global property cell.
-this.y = 42;
-
-// Check that IC bails out.
-assertEquals(42, g());
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-676025.js b/src/3rdparty/v8/test/mjsunit/regress/regress-676025.js
deleted file mode 100644
index 15157f2..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-676025.js
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var result;
-try { eval('a=/(/'); } catch (e) { result = e; }
-assertEquals('object', typeof result);
-assertTrue(result instanceof SyntaxError);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-678525.js b/src/3rdparty/v8/test/mjsunit/regress/regress-678525.js
deleted file mode 100644
index 11eaf74..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-678525.js
+++ /dev/null
@@ -1,59 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-assertEquals(0, '\0'.charCodeAt(0));
-assertEquals(1, '\1'.charCodeAt(0));
-assertEquals(2, '\2'.charCodeAt(0));
-assertEquals(3, '\3'.charCodeAt(0));
-assertEquals(4, '\4'.charCodeAt(0));
-assertEquals(5, '\5'.charCodeAt(0));
-assertEquals(6, '\6'.charCodeAt(0));
-assertEquals(7, '\7'.charCodeAt(0));
-assertEquals(56, '\8'.charCodeAt(0));
-
-assertEquals('\010', '\10');
-assertEquals('\011', '\11');
-assertEquals('\012', '\12');
-assertEquals('\013', '\13');
-assertEquals('\014', '\14');
-assertEquals('\015', '\15');
-assertEquals('\016', '\16');
-assertEquals('\017', '\17');
-
-assertEquals('\020', '\20');
-assertEquals('\021', '\21');
-assertEquals('\022', '\22');
-assertEquals('\023', '\23');
-assertEquals('\024', '\24');
-assertEquals('\025', '\25');
-assertEquals('\026', '\26');
-assertEquals('\027', '\27');
-
-assertEquals(73, '\111'.charCodeAt(0));
-assertEquals(105, '\151'.charCodeAt(0));
-
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-681.js b/src/3rdparty/v8/test/mjsunit/regress/regress-681.js
deleted file mode 100644
index 6708d05..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-681.js
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Regression test for http://code.google.com/p/v8/issues/detail?id=681.
-//
-// Test that load ICs for nonexistent properties bail out on smi receiver.
-
-
-var x = {};
-function f() { return x.y; }
-
-// Initialize IC for nonexistent y property on x.
-f();
-f();
-
-// Make x a smi.
-x = 23;
-
-// Check that we bail out from the IC.
-assertEquals(undefined, f());
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-682649.js b/src/3rdparty/v8/test/mjsunit/regress/regress-682649.js
deleted file mode 100644
index f23aed5..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-682649.js
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Should return [object global], v8 returns [object Object]
-
-assertEquals(this.toString(), eval("this.toString()"));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-685.js b/src/3rdparty/v8/test/mjsunit/regress/regress-685.js
deleted file mode 100644
index d77d61b..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-685.js
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Regression test for http://code.google.com/p/v8/issues/detail?id=685.
-//
-// Test that keyed load IC generic stub uses unsigned comparison for
-// for the length field of arrays.
-//
-// The test passes if it does not crash.
-
-function test() {
- var N = 0xFFFFFFFF;
- var a = [];
- a[N - 1] = 0;
- a[N - 2] = 1;
- a.reverse();
-}
-
-test();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-687.js b/src/3rdparty/v8/test/mjsunit/regress/regress-687.js
deleted file mode 100644
index a917a44..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-687.js
+++ /dev/null
@@ -1,75 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// This regression includes a number of cases where we did not correctly
-// update a accessor property to a data property using Object.defineProperty.
-
-var obj = { get value() {}, set value (v) { throw "Error";} };
-assertDoesNotThrow(
- Object.defineProperty(obj, "value",
- { value: 5, writable:true, configurable: true }));
-var desc = Object.getOwnPropertyDescriptor(obj, "value");
-assertEquals(obj.value, 5);
-assertTrue(desc.configurable);
-assertTrue(desc.enumerable);
-assertTrue(desc.writable);
-assertEquals(desc.get, undefined);
-assertEquals(desc.set, undefined);
-
-
-var proto = {
- get value() {},
- set value(v) { Object.defineProperty(this, "value", {value: v}); }
-};
-
-var create = Object.create(proto);
-
-assertEquals(create.value, undefined);
-assertDoesNotThrow(create.value = 4);
-assertEquals(create.value, 4);
-
-// These tests where provided in bug 959, but are all related to the this issue.
-var obj1 = {};
-Object.defineProperty(obj1, 'p', {get: undefined, set: undefined});
-assertTrue("p" in obj1);
-desc = Object.getOwnPropertyDescriptor(obj1, "p");
-assertFalse(desc.configurable);
-assertFalse(desc.enumerable);
-assertEquals(desc.value, undefined);
-assertEquals(desc.get, undefined);
-assertEquals(desc.set, undefined);
-
-
-var obj2 = { get p() {}};
-Object.defineProperty(obj2, 'p', {get: undefined})
-assertTrue("p" in obj2);
-desc = Object.getOwnPropertyDescriptor(obj2, "p");
-assertTrue(desc.configurable);
-assertTrue(desc.enumerable);
-assertEquals(desc.value, undefined);
-assertEquals(desc.get, undefined);
-assertEquals(desc.set, undefined);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-69.js b/src/3rdparty/v8/test/mjsunit/regress/regress-69.js
deleted file mode 100644
index 3fb1f76..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-69.js
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// This tests a switch statement with only default clause leaves
-// balanced stack. It should not trigger the break point when --debug_code
-// flag is turned on.
-// See issue: http://code.google.com/p/v8/issues/detail?id=69
-
-// Flags: --debug-code --expose-gc
-function unbalanced_switch(a) {
- try {
- switch (a) {
- default: break;
- }
- } catch (e) {}
- gc();
-}
-
-unbalanced_switch(1);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-696.js b/src/3rdparty/v8/test/mjsunit/regress/regress-696.js
deleted file mode 100644
index e443c42..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-696.js
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// See: http://code.google.com/p/v8/issues/detail?id=696
-// Because of the change in dateparser in revision 4557 to support time
-// only strings in Date.parse we also misleadingly supported strings with non
-// leading numbers.
-
-assertTrue(isNaN(Date.parse('x')));
-assertTrue(isNaN(Date.parse('1x')));
-assertTrue(isNaN(Date.parse('xT10:00:00')));
-assertTrue(isNaN(Date.parse('This is a relatively long string')));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-697.js b/src/3rdparty/v8/test/mjsunit/regress/regress-697.js
deleted file mode 100644
index a59e2b2..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-697.js
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// See: http://code.google.com/p/v8/issues/detail?id=697
-
-try {
- Object.create(function(){});
-} catch (e) {
- assertTrue(false);
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-70066.js b/src/3rdparty/v8/test/mjsunit/regress/regress-70066.js
deleted file mode 100644
index 01c2f4f..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-70066.js
+++ /dev/null
@@ -1,142 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Regression test for Chromium issue 70066. Delete should work properly
-// from inside 'with' scopes.
-// http://code.google.com/p/chromium/issues/detail?id=70066
-
-x = 0;
-
-// Delete on a slot from a function's own context.
-function test1() {
- var value = 1;
- var status;
- with ({}) { status = delete value; }
- return value + ":" + status;
-}
-
-assertEquals("1:false", test1(), "test1");
-assertEquals(0, x, "test1"); // Global x is undisturbed.
-
-
-// Delete on a slot from an outer context.
-function test2() {
- function f() {
- with ({}) { return delete value; }
- }
- var value = 2;
- var status = f();
- return value + ":" + status;
-}
-
-assertEquals("2:false", test2(), "test2");
-assertEquals(0, x, "test2"); // Global x is undisturbed.
-
-
-// Delete on a parameter.
-function test3(value) {
- var status;
- with ({}) { status = delete value; }
- return value + ":" + status;
-}
-
-assertEquals("3:false", test3(3), "test3");
-assertEquals(0, x, "test3"); // Global x is undisturbed.
-
-
-// Delete on a parameter found in an outer context.
-function test4(value) {
- function f() {
- with ({}) { return delete value; }
- }
- var status = f();
- return value + ":" + status;
-}
-
-assertEquals("4:false", test4(4), "test4");
-assertEquals(0, x, "test4"); // Global x is undisturbed.
-
-
-// Delete on a parameter, arguments object should be unaffected.
-function test5(value) {
- var status;
- with ({}) { status = delete value; }
- return arguments[0] + ":" + status;
-}
-
-assertEquals("5:false", test5(5), "test5");
-assertEquals(0, x, "test5"); // Global x is undisturbed.
-
-function test6(value) {
- function f() {
- with ({}) { return delete value; }
- }
- var status = f();
- return arguments[0] + ":" + status;
-}
-
-assertEquals("6:false", test6(6), "test6");
-assertEquals(0, x, "test6"); // Global x is undisturbed.
-
-
-// Delete on a property found on 'with' object.
-function test7(object) {
- with (object) { return delete value; }
-}
-
-var o = {value: 7};
-assertEquals(true, test7(o), "test7");
-assertEquals(void 0, o.value, "test7");
-assertEquals(0, x, "test7"); // Global x is undisturbed.
-
-
-// Delete on a global property.
-function test8() {
- with ({}) { return delete x; }
-}
-
-assertEquals(true, test8(), "test8");
-assertThrows("x", "test8"); // Global x should be deleted.
-
-
-// Delete on a property that is not found anywhere.
-function test9() {
- with ({}) { return delete x; }
-}
-
-assertThrows("x", "test9"); // Make sure it's not there.
-assertEquals(true, test9(), "test9");
-
-
-// Delete on a DONT_DELETE property of the global object.
-var y = 10;
-function test10() {
- with ({}) { return delete y; }
-}
-
-assertEquals(false, test10(), "test10");
-assertEquals(10, y, "test10");
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-712.js b/src/3rdparty/v8/test/mjsunit/regress/regress-712.js
deleted file mode 100644
index b26b94a..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-712.js
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// This regression test is used to ensure that Object.defineProperty
-// can't be called with an empty property descriptor on a non-configurable
-// existing property and override the existing property.
-// See: http://code.google.com/p/v8/issues/detail?id=712
-
-var obj = {};
-Object.defineProperty(obj, "x", { get: function() { return "42"; },
- configurable: false });
-assertEquals(obj.x, "42");
-Object.defineProperty(obj, 'x', {});
-assertEquals(obj.x, "42");
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-71647.js b/src/3rdparty/v8/test/mjsunit/regress/regress-71647.js
deleted file mode 100644
index 4451011..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-71647.js
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var qe = 'object';
-
-function g() {
- for (var i = 0; i < 10000; i++) typeof i === qe;
-}
-
-g();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-720.js b/src/3rdparty/v8/test/mjsunit/regress/regress-720.js
deleted file mode 100644
index 267b32d..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-720.js
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// This regression test is used to ensure that Object.defineProperty
-// keeps the existing value of the writable flag if none is given
-// in the provided descriptor.
-// See: http://code.google.com/p/v8/issues/detail?id=720
-
-var o = {x: 10};
-Object.defineProperty(o, "x", {value: 5});
-var desc = Object.getOwnPropertyDescriptor(o, "x");
-assertTrue(desc["writable"]);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-728.js b/src/3rdparty/v8/test/mjsunit/regress/regress-728.js
deleted file mode 100644
index 196b118..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-728.js
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var obj = { 0: "obj0" };
-
-// Array index k is to big to fit into the string hash field.
-var k = 16777217;
-var h = "" + k;
-
-obj[k] = "obj" + k;
-
-// Force computation of hash for the string representation of array index.
-for (var i = 0; i < 10; i++) { ({})[h]; }
-
-function get(idx) { return obj[idx]; }
-
-assertEquals(get(0), "obj0");
-assertEquals(get(h), "obj" + h);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-732.js b/src/3rdparty/v8/test/mjsunit/regress/regress-732.js
deleted file mode 100644
index 2b02ea6..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-732.js
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// idx is a valid array index but is too big to be cached in hash field.
-var idx = 10000000;
-
-// Create a JSObject with NumberDictionary as a backing store for elements.
-var obj = { };
-for (var i = 0; i < 100000; i += 100) { obj[i] = "obj" + i; }
-
-// Set value using numeric index.
-obj[idx] = "obj" + idx;
-
-// Make a string from index.
-var str = "" + idx;
-
-// Force hash computation for the string representation of index.
-for (var i = 0; i < 10; i++) { ({})[str]; }
-
-// Try getting value back using string and number representations of
-// the same index.
-assertEquals(obj[str], obj[idx])
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-734862.js b/src/3rdparty/v8/test/mjsunit/regress/regress-734862.js
deleted file mode 100644
index 6239047..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-734862.js
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function catcher(o, p) {
- try { o[p]; } catch (e) { return e; }
- throw p;
-}
-
-assertTrue(catcher(null, 'foo') instanceof TypeError);
-assertTrue(catcher(void 0, 'foo') instanceof TypeError);
-assertTrue(catcher(null, 123) instanceof TypeError);
-assertTrue(catcher(void 0, 123) instanceof TypeError);
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-737588.js b/src/3rdparty/v8/test/mjsunit/regress/regress-737588.js
deleted file mode 100644
index 0f71dfc..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-737588.js
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var goog = goog || {} ;
-goog.global = this;
-goog.globalEval = function(script) {
- return goog.global.eval(script);
-};
-
-assertEquals(125, goog.globalEval('var foofoofoo = 125; foofoofoo'));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-74.js b/src/3rdparty/v8/test/mjsunit/regress/regress-74.js
deleted file mode 100644
index f22b33c..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-74.js
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that the variable introduced by catch blocks is DontDelete.
-// See http://code.google.com/p/v8/issues/detail?id=74
-
-function test() {
- try {
- throw 42;
- } catch(e) {
- assertFalse(delete e, "deleting catch variable");
- assertEquals(42, e);
- }
-}
-
-test();
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-747.js b/src/3rdparty/v8/test/mjsunit/regress/regress-747.js
deleted file mode 100644
index 648c366..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-747.js
+++ /dev/null
@@ -1,56 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose_gc
-
-// This test makes sure that we do flush code with heap allocated locals.
-// This can be a problem if eval is used within the scope.
-// See: http://code.google.com/p/v8/issues/detail?id=747
-
-(function() {
- var x = 42;
- this.callEval = function() {eval('x');};
-})();
-
-try {
- callEval();
-} catch (e) {
- assertUnreachable();
-}
-
-gc();
-gc();
-gc();
-gc();
-gc();
-gc();
-
-try {
- callEval();
-} catch (e) {
- assertUnreachable();
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-752.js b/src/3rdparty/v8/test/mjsunit/regress/regress-752.js
deleted file mode 100644
index d38870e..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-752.js
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that JSON.stringify correctly unwraps Boolean objects.
-
-// See: http://code.google.com/p/v8/issues/detail?id=752
-
-function replacer(key, value) {
- return value === 42 ? new Boolean(false) : value;
-}
-
-assertEquals("[false]", JSON.stringify([42], replacer));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-753.js b/src/3rdparty/v8/test/mjsunit/regress/regress-753.js
deleted file mode 100644
index 6a6d87b..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-753.js
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that JSON.stringify correctly truncates floating point numbers.
-// This test is based on chapter15/15.12/15.12.3/15.12.3-6-a-2.js in the
-// ES5 conformance tests.
-
-// See: http://code.google.com/p/v8/issues/detail?id=753
-
-var obj = {a1: {b1: [1,2,3,4], b2: {c1: 1, c2: 2}},a2: 'a2'};
-assertEquals(JSON.stringify(obj,null, 5.99999), JSON.stringify(obj,null, 5));
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-754.js b/src/3rdparty/v8/test/mjsunit/regress/regress-754.js
deleted file mode 100644
index 0b84416..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-754.js
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that Array.prototype.lastIndexOf correctly handles null and undefined
-// as fromIndex argument.
-
-// See: http://code.google.com/p/v8/issues/detail?id=754
-
-var a = new Array(1,2,1);
-assertEquals(1, a.lastIndexOf(2));
-assertEquals(2, a.lastIndexOf(1));
-assertEquals(0, a.lastIndexOf(1, undefined));
-assertEquals(0, a.lastIndexOf(1, null));
-assertEquals(-1, a.lastIndexOf(2, undefined));
-assertEquals(-1, a.lastIndexOf(2, null));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-760-1.js b/src/3rdparty/v8/test/mjsunit/regress/regress-760-1.js
deleted file mode 100644
index 081c993..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-760-1.js
+++ /dev/null
@@ -1,49 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Check that when valueOf for a String object is overwritten it is called and
-// the result used when that object is added with a string.
-
-// See: http://code.google.com/p/v8/issues/detail?id=760
-
-String.prototype.valueOf = function() { return 'y' };
-
-function test() {
- var o = Object('x');
- assertEquals('y', o + '');
- assertEquals('y', '' + o);
-}
-
-for (var i = 0; i < 10; i++) {
- var o = Object('x');
- assertEquals('y', o + '');
- assertEquals('y', '' + o);
-}
-
-for (var i = 0; i < 10; i++) {
- test()
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-760-2.js b/src/3rdparty/v8/test/mjsunit/regress/regress-760-2.js
deleted file mode 100644
index 549ed4e..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-760-2.js
+++ /dev/null
@@ -1,49 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Check that when valueOf for a String object is overwritten it is called and
-// the result used when that object is added with a string.
-
-// See: http://code.google.com/p/v8/issues/detail?id=760
-
-function test() {
- var o = Object('x');
- o.valueOf = function() { return 'y' };
- assertEquals('y', o + '');
- assertEquals('y', '' + o);
-}
-
-for (var i = 0; i < 10; i++) {
- var o = Object('x');
- o.valueOf = function() { return 'y' };
- assertEquals('y', o + '');
- assertEquals('y', '' + o);
-}
-
-for (var i = 0; i < 10; i++) {
- test()
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-780423.js b/src/3rdparty/v8/test/mjsunit/regress/regress-780423.js
deleted file mode 100644
index 862db32..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-780423.js
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var Class = {
- create: function() {
- return function kurt() {
- }
- }
-};
-
-var o1 = Class.create();
-var o2 = Class.create();
-
-assertTrue(o1 !== o2, "different functions");
-assertTrue(o1.prototype !== o2.prototype, "different protos");
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-78270.js b/src/3rdparty/v8/test/mjsunit/regress/regress-78270.js
deleted file mode 100644
index b9ce286..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-78270.js
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-for (var i = 0; i < 10000; i++) {
- try {
- var object = { };
- function g(f0) {
- var f0 = (object instanceof encodeURI)('foo');
- }
- g(75);
- } catch (g) {
- }
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-784.js b/src/3rdparty/v8/test/mjsunit/regress/regress-784.js
deleted file mode 100644
index 4ba0227..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-784.js
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that CallApplyLazy, generating optimized code for apply calls of the
-// form x.apply(y, arguments), does not leave an extra copy of the result
-// on the stack.
-
-// See http://code.google.com/p/v8/issues/detail?id=784
-
-A = {x:{y:function(i){return i;}}};
-B = function(x){return 17;};
-
-foo = function () {
- A.x.y(B.apply(this, arguments));
-};
-
-foo();
-foo("Hello", "There");
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-794.js b/src/3rdparty/v8/test/mjsunit/regress/regress-794.js
deleted file mode 100644
index 409b2ef..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-794.js
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test the a bound function does not have a prototype.
-
-function foo() {}
-assertFalse("prototype" in foo.bind());
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-798.js b/src/3rdparty/v8/test/mjsunit/regress/regress-798.js
deleted file mode 100644
index 182eb4d..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-798.js
+++ /dev/null
@@ -1,108 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var x = {};
-
-// Add property a with getter/setter.
-x.__defineGetter__("a", function() {
- try {
- y.x = 40;
- } catch (e) {
- assertEquals(3, e.stack.split('\n').length);
- }
- return 40;
-});
-
-x.__defineSetter__("a", function(val) {
- try {
- y.x = 40;
- } catch(e) {
- assertEquals(3, e.stack.split('\n').length);
- }
-});
-
-// Add property b with getter/setter.
-function getB() {
- try {
- y.x = 30;
- } catch (e) {
- assertEquals(3, e.stack.split('\n').length);
- }
- return 30;
-}
-
-function setB(val) {
- try {
- y.x = 30;
- } catch(e) {
- assertEquals(3, e.stack.split('\n').length);
- }
-}
-
-x.__defineGetter__("b", getB);
-x.__defineSetter__("b", setB);
-
-// Add property c with getter/setter.
-var descriptor = {
- get: function() {
- try {
- y.x = 40;
- } catch (e) {
- assertEquals(3, e.stack.split('\n').length);
- }
- return 40;
- },
- set: function(val) {
- try {
- y.x = 40;
- } catch(e) {
- assertEquals(3, e.stack.split('\n').length);
- }
- }
-}
-
-Object.defineProperty(x, 'c', descriptor)
-
-// Check that the stack for an exception in a getter and setter produce the
-// expected stack height.
-x.a;
-x.b;
-x.c;
-x.a = 1;
-x.b = 1;
-x.c = 1;
-
-// Do the same with the getters/setters on the a prototype object.
-xx = {}
-xx.__proto__ = x
-
-xx.a;
-xx.b;
-xx.c;
-xx.a = 1;
-xx.b = 1;
-xx.c = 1;
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-799761.js b/src/3rdparty/v8/test/mjsunit/regress/regress-799761.js
deleted file mode 100644
index d3be1bd..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-799761.js
+++ /dev/null
@@ -1,92 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// const variables should be read-only
-const c = 42;
-c = 87;
-assertEquals(42, c);
-
-
-// const variables are not behaving like other JS variables when it comes
-// to scoping - in fact they behave more sanely. Inside a 'with' they do
-// not interfere with the 'with' scopes.
-
-(function () {
- with ({ x: 42 }) {
- const x = 7;
- }
- x = 5;
- assertEquals(7, x);
-})();
-
-
-// const variables may be declared but never initialized, in which case
-// their value is undefined.
-
-(function (sel) {
- if (sel == 0)
- with ({ x: 42 }) {
- const x;
- }
- else
- x = 3;
- x = 5;
- assertTrue(typeof x == 'undefined');
-})(1);
-
-
-// const variables may be initialized to undefined.
-(function () {
- with ({ x: 42 }) {
- const x = undefined;
- }
- x = 5;
- assertTrue(typeof x == 'undefined');
-})();
-
-
-// const variables may be accessed in inner scopes like any other variable.
-(function () {
- function bar() {
- assertEquals(7, x);
- }
- with ({ x: 42 }) {
- const x = 7;
- }
- x = 5
- bar();
-})();
-
-
-// const variables may be declared via 'eval'
-(function () {
- with ({ x: 42 }) {
- eval('const x = 7');
- }
- x = 5;
- assertEquals(7, x);
-})();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-806.js b/src/3rdparty/v8/test/mjsunit/regress/regress-806.js
deleted file mode 100644
index 1bb3e0f..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-806.js
+++ /dev/null
@@ -1,51 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that we do no use r12 as a receiver in inlined NamedStores on x64.
-
-// See: http://code.google.com/p/v8/issues/detail?id=806
-
-function foo(a) {
- for (var o = 1; o < 2; o++) {
- for (var n = 1; n < 2; n++) {
- for (var m = 1; m < 2; m++) {
- for (var l = 1; l < 2; l++) {
- for (var i = 1; i < 2; i++) {
- for (var j = 1; j < 2; j++) {
- for (var k = 1; k < 2; k++) {
- var z = a.foo;
- z.foo = i * j * k * m * n * o;
- }
- }
- }
- }
- }
- }
- }
-}
-
-foo({foo: {foo: 1}});
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-806473.js b/src/3rdparty/v8/test/mjsunit/regress/regress-806473.js
deleted file mode 100644
index 6d6485d..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-806473.js
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-gc
-
-function catchThese() {
- L: {
- try {
- break L;
- } catch (e) {}
- }
-}
-
-function finallyThese() {
- L: {
- try {
- break L;
- } finally {}
- }
-}
-
-
-for (var i = 0; i < 10; i++) {
- catchThese();
- gc();
-}
-
-for (var j = 0; j < 10; j++) {
- finallyThese();
- gc();
-}
-
-assertEquals(10, i);
-assertEquals(10, j);
-
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-815.js b/src/3rdparty/v8/test/mjsunit/regress/regress-815.js
deleted file mode 100644
index 803c0fb..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-815.js
+++ /dev/null
@@ -1,49 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// 815 describes a situation in which the ARM code generator could
-// end up in a spilled scope in code that only worked in a register
-// allocated scope. Test that this no longer happens.
-//
-// The code generated for unary + assumes that we are not in a spilled
-// scope.
-
-var o = new Object();
-
-// The code for the iterated-over object in for-in used to be emitted
-// in a spilled scope:
-for (x in +o) { }
-
-// Emitting code for the left hand side of a for-in.
-for (a[+o] in o) {}
-
-// The receiver in an obj[index](1, 2, 3) call:
-try {
- o[+o](1,2,3)
-} catch(e) {
- // It's OK as long as it does not hit an assert.
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-82769.js b/src/3rdparty/v8/test/mjsunit/regress/regress-82769.js
deleted file mode 100644
index 6a95e9a..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-82769.js
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --noinline-new
-
-x = -1;
-y = -0;
-for (var i = 0; i < 5; i++) {
- assertEquals(0xFFFFFFFF, (x >>> y));
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-842.js b/src/3rdparty/v8/test/mjsunit/regress/regress-842.js
deleted file mode 100644
index 18ad6d3..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-842.js
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// 842 describes a scenario where Object.prototype or Array.prototype is
-// changed (a property is added) after which freeze and seal would fail
-// since that property would be listed when doing a "for (var key in names)"
-
-Array.prototype.myfunc = function() {};
-Array.prototype[10] = 42;
-Array.prototype.length = 3000;
-
-var obj = { name: "n1" };
-
-try {
- obj = Object.freeze(obj);
-} catch (e) {
- assertUnreachable();
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-842017.js b/src/3rdparty/v8/test/mjsunit/regress/regress-842017.js
deleted file mode 100644
index 3a367bb..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-842017.js
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-gc
-
-function break_from_for_in() {
- L: {
- try {
- for (var x in [1,2,3]) {
- break L;
- }
- } finally {}
- }
-}
-
-function break_from_finally() {
- L: {
- try {
- } finally {
- break L;
- }
- }
-}
-
-for (var i = 0; i < 10; i++) {
- break_from_for_in();
- gc();
-}
-
-for (var j = 0; j < 10; j++) {
- break_from_finally();
- gc();
-}
-
-assertEquals(10, i);
-assertEquals(10, j);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-84234.js b/src/3rdparty/v8/test/mjsunit/regress/regress-84234.js
deleted file mode 100644
index 6377fb3..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-84234.js
+++ /dev/null
@@ -1,55 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-gc --noopt
-
-var gTestcases = new Array();
-
-function TestCase(n, d, e, a) {
- gTestcases[gTc++] = this;
- for ( gTc=0; gTc < gTestcases.length; gTc++ );
-}
-
-for ( var i = 0x0530; i <= 0x058F; i++ ) {
- new TestCase("15.5.4.11-6",
- eval("var s = new String(String.fromCharCode(i)); s.toLowerCase().charCodeAt(0)"));
-}
-var gTc= 0;
-
-
-for (var j = 0; j < 10; j++) {
- test();
- function test() {
- for ( 0; gTc < gTestcases.length; gTc++ ) {
- var MYOBJECT = new MyObject();
- }
- gc();
- }
- function MyObject( n ) {
- this.__proto__ = Number.prototype;
- }
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-851.js b/src/3rdparty/v8/test/mjsunit/regress/regress-851.js
deleted file mode 100644
index d8f693e..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-851.js
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var i = 0;
-for (var i = 0; i < 10000; i++) {
- Object.freeze({});
- assertNull(JSON.stringify({x: null}).match(/\0/));
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-85177.js b/src/3rdparty/v8/test/mjsunit/regress/regress-85177.js
deleted file mode 100644
index 275bbe7..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-85177.js
+++ /dev/null
@@ -1,65 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-gW=gH=175;
-g=[];
-
-for(var n=0; n<gW; n++){
- var l=[];
- for(var p=0; p<gH; p++){
- l.push(1)
- }
- g.push(l)
-}
-
-function k(a,b){
- if(a<0||b<0||a>=gW||b>=gH)
- return 0;
- return g[a][b];
-}
-
-function f(){
- for(var a=[],f=0; f<gW; f++){
- var b=[];
- for(var h=0; h<gH; h++){
- var e=0;
- for(var i=-1; i<=1; i++)
- for(var j=-1; j<=1; j++)
- e+=k(f+i,h+j);
- e=k(f,h)==1?1:0;
- b.push(e)
- }
- a.push(b)
- }
-}
-
-f();
-%OptimizeFunctionOnNextCall(f);
-f();
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-857.js b/src/3rdparty/v8/test/mjsunit/regress/regress-857.js
deleted file mode 100644
index 183248d..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-857.js
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Make sure ES5 15.9.1.15 (ISO 8601 / RFC 3339) time zone offsets of
-// the form "+09:00" & "-09:00" get parsed as expected
-assertEquals(1283326536000, Date.parse("2010-08-31T22:35:36-09:00"));
-assertEquals(1283261736000, Date.parse("2010-08-31T22:35:36+09:00"));
-assertEquals(1283326536000, Date.parse("2010-08-31T22:35:36.0-09:00"));
-assertEquals(1283261736000, Date.parse("2010-08-31T22:35:36.0+09:00"));
-// colon-less time expressions in time zone offsets are not conformant
-// with ES5 15.9.1.15 but are nonetheless supported in V8
-assertEquals(1283326536000, Date.parse("2010-08-31T22:35:36-0900"));
-assertEquals(1283261736000, Date.parse("2010-08-31T22:35:36+0900"));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-86.js b/src/3rdparty/v8/test/mjsunit/regress/regress-86.js
deleted file mode 100644
index a33b60b..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-86.js
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var aList = [1, 2, 3];
-var loopCount = 0;
-var leftThroughFinally = false;
-var enteredFinally = false;
-for (x in aList) {
- leftThroughFinally = true;
- try {
- throw "ex1";
- } catch(er1) {
- loopCount += 1;
- } finally {
- enteredFinally = true;
- continue;
- }
- leftThroughFinally = false;
-}
-assertEquals(3, loopCount);
-assertTrue(enteredFinally);
-assertTrue(leftThroughFinally);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-87.js b/src/3rdparty/v8/test/mjsunit/regress/regress-87.js
deleted file mode 100644
index 10446fd..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-87.js
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// In Issue 87, we allowed unicode escape sequences in RegExp flags.
-// However, according to ES5, they should not be interpreted, but passed
-// verbatim to the RegExp constructor.
-// (On top of that, the original test was bugged and never tested anything).
-// The behavior was changed in r8969 to not interpret escapes, but this
-// test didn't test that, and only failed when making invalid flag characters
-// an error too.
-
-assertThrows("/x/\\u0067");
-assertThrows("/x/\\u0069");
-assertThrows("/x/\\u006d");
-
-assertThrows("/x/\\u0067i");
-assertThrows("/x/\\u0069m");
-assertThrows("/x/\\u006dg");
-
-assertThrows("/x/m\\u0067");
-assertThrows("/x/g\\u0069");
-assertThrows("/x/i\\u006d");
-
-assertThrows("/x/m\\u0067i");
-assertThrows("/x/g\\u0069m");
-assertThrows("/x/i\\u006dg");
-
-assertThrows("/x/\\u0068");
-assertThrows("/x/\\u0020");
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-874.js b/src/3rdparty/v8/test/mjsunit/regress/regress-874.js
deleted file mode 100644
index 384d9c7..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-874.js
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var x = { };
-
-var getter = function(){ return 42; };
-var setter = function(value){ };
-x.__defineGetter__(0, getter);
-x.__defineSetter__(0, setter);
-
-assertEquals (undefined, Object.getOwnPropertyDescriptor(x, 0).value);
-assertEquals (getter, Object.getOwnPropertyDescriptor(x, 0).get);
-assertEquals (setter, Object.getOwnPropertyDescriptor(x, 0).set);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-874178.js b/src/3rdparty/v8/test/mjsunit/regress/regress-874178.js
deleted file mode 100644
index 0ed5434..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-874178.js
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function foo(){}
-assertTrue(Function.prototype.isPrototypeOf(foo));
-
-foo.bar = 'hello';
-assertTrue(foo.propertyIsEnumerable('bar'));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-875031.js b/src/3rdparty/v8/test/mjsunit/regress/regress-875031.js
deleted file mode 100644
index f18b084..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-875031.js
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Regression test for issue 875031.
-
-var caught = false;
-try {
- eval("return;");
- assertTrue(false); // should not reach here
-} catch (e) {
- caught = true;
-}
-assertTrue(caught);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-877615.js b/src/3rdparty/v8/test/mjsunit/regress/regress-877615.js
deleted file mode 100644
index bec5a4d..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-877615.js
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-Number.prototype.toLocaleString = function() { return 'invalid'; };
-assertEquals('invalid', [1].toLocaleString()); // invalid
-
-Number.prototype.toLocaleString = 'invalid';
-assertThrows(function() { [1].toLocaleString(); }); // Not callable.
-
-delete Number.prototype.toLocaleString;
-Number.prototype.toString = function() { return 'invalid' };
-assertEquals([1].toLocaleString(), 'invalid'); // Uses ToObject on elements.
-assertEquals([1].toString(), '1'); // Uses ToString directly on elements.
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-88591.js b/src/3rdparty/v8/test/mjsunit/regress/regress-88591.js
deleted file mode 100644
index e42570a..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-88591.js
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Regression test for a crash. A data property in the global object's
-// prototype shadowed by a setter in the global object's prototype's
-// prototype would crash or assert when seen by Runtime_DeclareContextSlot.
-var called = false;
-Object.prototype.__defineSetter__('x', function(x) { called = true; });
-Object.prototype.__defineGetter__('x', function () { return 0; });
-
-this.__proto__ = { x: 1 };
-
-try { fail; } catch (e) { eval('const x = 2'); }
-
-var o = Object.getOwnPropertyDescriptor(this, 'x');
-assertFalse(called);
-assertEquals(2, o.value);
-assertEquals(false, o.writable);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-88858.js b/src/3rdparty/v8/test/mjsunit/regress/regress-88858.js
deleted file mode 100644
index ba33f87..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-88858.js
+++ /dev/null
@@ -1,65 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-gc
-
-// Verify that JSObject::PreventExtensions works for arguments objects.
-
-try {
- function make_watcher(name) { }
- var o, p;
- function f(flag) {
- if (flag) {
- o = arguments;
- } else {
- p = arguments;
- o.watch(0, (arguments-1901)('o'));
- p.watch(0, make_watcher('p'));
- p.unwatch(0);
- o.unwatch(0);
- p[0] = 4;
- assertEq(flag, 4);
- }
- }
- f(true);
- f(false);
- reportCompare(true, true);
-} catch(exc1) { }
-
-try {
- function __noSuchMethod__() {
- if (anonymous == "1")
- return NaN;
- return __construct__;
- }
- f.p = function() { };
- Object.freeze(p);
- new new freeze().p;
- reportCompare(0, 0, "ok");
-} catch(exc2) { }
-
-gc();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-892742.js b/src/3rdparty/v8/test/mjsunit/regress/regress-892742.js
deleted file mode 100644
index 78a57b2..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-892742.js
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function f() {
- return/* Counts as non-line-terminating whitespace */1;
-};
-
-// According to ECMA-262, this comment should be parsed as a
-// line terminator making g() return undefined.
-function g() {
- return/* Counts as line-terminator whitespace.
- */2;
-};
-
-function h() {
- return// Comment doesn't include line-terminator at end.
- 3;
-};
-
-
-assertEquals(1, f());
-assertEquals(undefined, g());
-assertEquals(undefined, h());
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-900.js b/src/3rdparty/v8/test/mjsunit/regress/regress-900.js
deleted file mode 100644
index 9f94348..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-900.js
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Check that we allow accessors on JSArray elements.
-
-var a = [];
-var b = {}
-Object.defineProperty(a, "1", {get: function() {return "foo";}});
-Object.defineProperty(
- b, "1", {get: function() {return "bar";}, set: function() {this.x = 42;}});
-assertEquals(a[1], 'foo');
-assertEquals(b[1], 'bar');
-// Make sure we can't overwrite an accessor, but that the setter is
-// instead called.
-b[1] = 'foobar';
-assertEquals(b[1], 'bar');
-assertEquals(b.x, 42);
-
-var desc = Object.getOwnPropertyDescriptor(b, "1");
-assertEquals(desc['writable'], undefined);
-assertFalse(desc['enumerable']);
-assertFalse(desc['configurable']);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-900055.js b/src/3rdparty/v8/test/mjsunit/regress/regress-900055.js
deleted file mode 100644
index 9a02f22..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-900055.js
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var alias = eval;
-function e(s) { return alias(s); }
-
-assertEquals(42, e("42"));
-assertEquals(Object, e("Object"));
-assertEquals(e, e("e"));
-
-var caught = false;
-try {
- e('s'); // should throw exception since aliased eval is global
-} catch (e) {
- caught = true;
- assertTrue(e instanceof ReferenceError);
-}
-assertTrue(caught);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-900966.js b/src/3rdparty/v8/test/mjsunit/regress/regress-900966.js
deleted file mode 100644
index 99603c1..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-900966.js
+++ /dev/null
@@ -1,49 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-assertTrue('abc'[10] === undefined);
-String.prototype[10] = 'x';
-assertEquals('abc'[10], 'x');
-
-// Test that the fast case character-at stub handles an out-of-bound
-// index correctly. We need to call the function twice to initialize
-// the character-at stub.
-function f() {
- assertEquals('abc'[10], 'x');
-}
-f();
-f();
-f();
-f();
-
-assertTrue(2[11] === undefined);
-Number.prototype[11] = 'y';
-assertEquals(2[11], 'y');
-
-assertTrue(true[12] === undefined);
-Boolean.prototype[12] = 'z';
-assertEquals(true[12], 'z');
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-91.js b/src/3rdparty/v8/test/mjsunit/regress/regress-91.js
deleted file mode 100644
index 7f6263d..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-91.js
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var date = new Date();
-var year = date.getYear();
-date.setMilliseconds(Number.NaN);
-date.setYear(1900 + year);
-assertEquals(year, date.getYear());
-assertEquals(0, date.getMonth());
-assertEquals(1, date.getDate());
-assertEquals(0, date.getHours());
-assertEquals(0, date.getMinutes());
-assertEquals(0, date.getSeconds());
-assertEquals(0, date.getMilliseconds());
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-91008.js b/src/3rdparty/v8/test/mjsunit/regress/regress-91008.js
deleted file mode 100644
index d7ea2df..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-91008.js
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function testsort(n) {
- var numbers=new Array(n);
- for (var i=0;i<n;i++) numbers[i]=i;
- delete numbers[50];
- delete numbers[150];
- delete numbers[25000];
- delete numbers[n-1];
- delete numbers[n-2];
- delete numbers[30];
- delete numbers[2];
- delete numbers[1];
- delete numbers[0];
- numbers.sort();
-}
-
-testsort(100000)
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-91010.js b/src/3rdparty/v8/test/mjsunit/regress/regress-91010.js
deleted file mode 100644
index a077999..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-91010.js
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-try {
- try {
- var N = 100*1000;
- var array = Array(N);
- for (var i = 0; i != N; ++i)
- array[i] = i;
- } catch(ex) {}
- array.unshift('Kibo');
-} catch(ex) {}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-91013.js b/src/3rdparty/v8/test/mjsunit/regress/regress-91013.js
deleted file mode 100644
index c61e2b1..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-91013.js
+++ /dev/null
@@ -1,51 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that KeyedStore stub for unboxed double arrays backing store
-// correctly returns stored value as the result.
-
-// Flags: --allow-natives-syntax --unbox-double-arrays
-
-// Create array with unboxed double array backing store.
-var i = 100000;
-var a = new Array(i);
-for (var j = 0; j < i; j++) {
- a[j] = 0.5;
-}
-
-assertTrue(%HasFastDoubleElements(a));
-
-// Store some smis into it.
-for (var j = 0; j < 10; j++) {
- assertEquals(j, a[j] = j);
-}
-
-// Store some heap numbers into it.
-for (var j = 0; j < 10; j++) {
- var v = j + 0.5;
- assertEquals(v, a[j] = v);
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-91120.js b/src/3rdparty/v8/test/mjsunit/regress/regress-91120.js
deleted file mode 100644
index 117acac..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-91120.js
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// We intend that the function declaration for g inside catch is hoisted to
-// function f's scope. Invoke it before try/catch, in the try block, in the
-// catch block, after try/catch, and outside f, and verify that it has
-// access to the proper binding of x.
-var x = 'global';
-
-function f() {
- var x = 'function';
- assertEquals('function', g());
- try {
- assertEquals('function', g());
- throw 'catch';
- } catch (x) {
- function g() { return x; }
- assertEquals('function', g());
- }
- assertEquals('function', g());
- return g;
-}
-
-assertEquals('function', f()());
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-91787.js b/src/3rdparty/v8/test/mjsunit/regress/regress-91787.js
deleted file mode 100644
index 96310d0..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-91787.js
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Unterminated non-ASCII string literals in JSON code were not
-// detected correctly.
-
-// Shouldn't crash (due to stack overflow).
-// Should throw due to invalid syntax.
-assertThrows(function() {
- JSON.parse('"\x80unterminated');
-});
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-918.js b/src/3rdparty/v8/test/mjsunit/regress/regress-918.js
deleted file mode 100644
index 871e9d9..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-918.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Parser should not accept parentheses around labels.
-// See http://code.google.com/p/v8/issues/detail?id=918
-
-// The label was parsed as an expression and then tested for being a
-// single identifier. This threw away the parentheses.
-assertThrows("(label):42;");
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-925537.js b/src/3rdparty/v8/test/mjsunit/regress/regress-925537.js
deleted file mode 100644
index d50c568..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-925537.js
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function assertClose(expected, actual) {
- var delta = 0.00001;
- if (Math.abs(expected - actual) > delta) {
- print('Failure: Expected <' + actual + '> to be close to <' +
- expected + '>');
- }
-}
-
-assertEquals(1, Math.pow(NaN, 0));
-var pinf = Number.POSITIVE_INFINITY, ninf = Number.NEGATIVE_INFINITY;
-assertClose( Math.PI / 4, Math.atan2(pinf, pinf));
-assertClose(-Math.PI / 4, Math.atan2(ninf, pinf));
-assertClose( 3 * Math.PI / 4, Math.atan2(pinf, ninf));
-assertClose(-3 * Math.PI / 4, Math.atan2(ninf, ninf));
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-927.js b/src/3rdparty/v8/test/mjsunit/regress/regress-927.js
deleted file mode 100644
index c671f7d..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-927.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function a1() {
- var a2 = -1756315459;
- return ((((a2 & a2) ^ 1) * a2) << -10);
-}
-
-assertEquals(a1(), -2147483648);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-931.js b/src/3rdparty/v8/test/mjsunit/regress/regress-931.js
deleted file mode 100644
index d2fb8cc..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-931.js
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// See http://code.google.com/p/v8/issues/detail?id=931.
-
-var sequence = '';
-
-var o = { f: function (x, y) { return x + y; },
- 2: function (x, y) { return x - y} };
-
-function first() { sequence += "1"; return o; }
-function second() { sequence += "2"; return "f"; }
-function third() { sequence += "3"; return 3; }
-function fourth() { sequence += "4"; return 4; }
-
-var result = (first()[second()](third(), fourth()))
-assertEquals(7, result);
-assertEquals("1234", sequence);
-
-function second_prime() { sequence += "2'"; return 2; }
-
-var result = (first()[second_prime()](third(), fourth()))
-assertEquals(-1, result);
-assertEquals("123412'34", sequence);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-937896.js b/src/3rdparty/v8/test/mjsunit/regress/regress-937896.js
deleted file mode 100644
index e7831da..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-937896.js
+++ /dev/null
@@ -1,50 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// This used to crash because the label collector in the parser didn't
-// discard duplicates which caused the outer-most continue statement
-// to try to unlink the inner try-handler that wasn't on the stack.
-
-function f() {
- try {
- for (var i = 0; i < 2; i++) {
- continue;
- try {
- continue;
- continue;
- } catch (ex) {
- // Empty.
- }
- }
- } catch (e) {
- // Empty.
- }
- return 42;
-}
-
-
-assertEquals(42, f());
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-944.js b/src/3rdparty/v8/test/mjsunit/regress/regress-944.js
deleted file mode 100644
index d165336..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-944.js
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Check for parsing of proper ES5 15.9.1.15 (ISO 8601 / RFC 3339) time
-// strings that contain millisecond values with exactly 3 digits (as is
-// required by the spec format if the string has milliseconds at all).
-assertEquals(1290722550521, Date.parse("2010-11-25T22:02:30.521Z"));
-
-// Check for parsing of extension/generalization of the ES5 15.9.1.15 spec
-// format where millisecond values have only 1 or 2 digits.
-assertEquals(1290722550500, Date.parse("2010-11-25T22:02:30.5Z"));
-assertEquals(1290722550520, Date.parse("2010-11-25T22:02:30.52Z"));
-assertFalse(Date.parse("2010-11-25T22:02:30.5Z") === Date.parse("2010-11-25T22:02:30.005Z"));
-
-// Check that we truncate millisecond values having more than 3 digits.
-assertEquals(Date.parse("2010-11-25T22:02:30.1005Z"), Date.parse("2010-11-25T22:02:30.100Z"));
-
-// Check that we accept lots of digits.
-assertEquals(Date.parse("2010-11-25T22:02:30.999Z"), Date.parse("2010-11-25T22:02:30.99999999999999999999999999999999999999999999999999999999999999999999999999999999999999Z"));
-
-// Fail if there's a decimal point but zero digits for (expected) milliseconds.
-assertTrue(isNaN(Date.parse("2010-11-25T22:02:30.Z")));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-94425.js b/src/3rdparty/v8/test/mjsunit/regress/regress-94425.js
deleted file mode 100644
index 4a48f4a..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-94425.js
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-gc
-
-var N = 2040 - 2 + 10;
-var arr = new Array(N);
-
-gc();
-gc();
-gc();
-
-// arr is in the large object space now.
-// Write new space object into it.
-arr[arr.length - 2] = new Object;
-
-// Shift array multiple times to ensure that young
-// object crosses region boundary.
-for (var i = 0; i < 9; i++) arr.shift();
-
-// Do a GC to verify region dirty marks.
-gc();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-94873.js b/src/3rdparty/v8/test/mjsunit/regress/regress-94873.js
deleted file mode 100644
index 41ca992..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-94873.js
+++ /dev/null
@@ -1,78 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug;
-
-function sendCommand(state, cmd) {
- // Get the debug command processor in paused state.
- var dcp = state.debugCommandProcessor(false);
- var request = JSON.stringify(cmd);
- var response = dcp.processDebugJSONRequest(request);
- return JSON.parse(response);
-}
-
-function listener(event, exec_state, event_data, data) {
- try {
- if (event == Debug.DebugEvent.Break) {
- var line = event_data.sourceLineText();
- print('break: ' + line);
-
- var frame = sendCommand(exec_state, {
- seq: 0,
- type: "request",
- command: "frame"
- });
-
- sendCommand(exec_state, {
- seq: 0,
- type: "request",
- command: "evaluate",
- arguments: {
- expression: "obj.x.toString()",
- additional_context: [{
- name: "obj",
- handle: frame.body.receiver.ref
- }]
- }
- });
- }
- } catch (e) {
- print(e);
- }
-}
-
-Debug.setListener(listener);
-
-function a(x, y) {
- this.x = x;
- this.y = y;
-}
-
-Debug.setBreakPoint(a, 0, 0);
-new a(1, 2); \ No newline at end of file
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-95113.js b/src/3rdparty/v8/test/mjsunit/regress/regress-95113.js
deleted file mode 100644
index 468bff8..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-95113.js
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-function get_double_array() {
- var a = new Array(100000);
- var i = 0;
- while (!%HasFastDoubleElements(a)) {
- a[i] = i;
- i += 0.5;
- }
- assertTrue(%HasFastDoubleElements(a));
- a.length = 1;
- a[0] = 1.5;
- a.length = 2;
- a[1] = 2.5;
- assertEquals(a[0], 1.5);
- assertEquals(a[1], 2.5);
- assertTrue(%HasFastDoubleElements(a));
- return a;
-}
-
-var a = get_double_array();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-95485.js b/src/3rdparty/v8/test/mjsunit/regress/regress-95485.js
deleted file mode 100644
index 2510072..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-95485.js
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function Test() {
- var left = 'XXX';
- var right = 'YYY';
- for (var i = 0; i < 3; i++) {
- var cons = left + right;
- var substring = cons.substring(2, 4);
- try {
- with ({Test: i})
- continue;
- } finally { }
- }
- return substring;
-}
-
-assertEquals('XY', Test());
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-955.js b/src/3rdparty/v8/test/mjsunit/regress/regress-955.js
deleted file mode 100644
index 9a9a0b0..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-955.js
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// See: http://code.google.com/p/v8/issues/detail?id=955
-
-// Correctly parse signed numbers.
-assertEquals(-0, parseInt("-0"));
-assertEquals(0, parseInt("+0"));
-
-// Don't allow whitespace after signs in parseInt.
-assertEquals(NaN, parseInt("- 0"));
-assertEquals(NaN, parseInt("+ 0"));
-assertEquals(NaN, parseInt("-\t0"));
-assertEquals(NaN, parseInt("+\t0"));
-
-// Do allow whitespace at start.
-assertEquals(-0, parseInt(" -0"));
-assertEquals(0, parseInt(" +0"));
-assertEquals(-0, parseInt("\t-0"));
-assertEquals(0, parseInt("\t+0"));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-95920.js b/src/3rdparty/v8/test/mjsunit/regress/regress-95920.js
deleted file mode 100644
index 20e73fb..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-95920.js
+++ /dev/null
@@ -1,58 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Tests that objects with external arrays cannot be sealed or have their
-// properties redefined.
-
-(function() {
- assertThrows(function() {
- [0].every(function(){ Object.seal((new Int8Array(42))); });
- assertUnreable();
- }, TypeError)
-})();
-
-(function() {
- assertThrows(function() {
- [0].every(function(){ Object.freeze((new Int8Array(42))); });
- assertUnreable();
- }, TypeError)
-})();
-
-(function() {
- assertThrows(function() {
- [0].every(function(){ Object.preventExtensions((new Int8Array(42))); });
- assertUnreable();
- }, TypeError)
-})();
-
-(function() {
- assertThrows(function() {
- Object.defineProperty(new Int8Array(42), "1",
- { writable: false, value: "1" });
- assertUnreable();
- })
-})();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-962.js b/src/3rdparty/v8/test/mjsunit/regress/regress-962.js
deleted file mode 100644
index 85ada0c..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-962.js
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-function L(scope) { this.s = new Object(); }
-
-L.prototype.c = function() { return true; }
-
-function F() {
- this.l = [new L, new L];
-}
-
-F.prototype.foo = function () {
- var f, d = arguments,
- e, b = this.l,
- g;
- for (e = 0; e < b.length; e++) {
- g = b[e];
- f = g.c.apply(g.s, d);
- if (f === false) {
- break
- }
- }
- return f
-}
-
-
-var ctx = new F;
-
-for (var i = 0; i < 5; i++) ctx.foo();
-%OptimizeFunctionOnNextCall(F.prototype.foo);
-ctx.foo();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-96523.js b/src/3rdparty/v8/test/mjsunit/regress/regress-96523.js
deleted file mode 100644
index e611ce3..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-96523.js
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-with ({x:'outer'}) {
- (function() {
- var x = 'inner';
- try {
- throw 'Exception';
- } catch (e) {
- assertEquals('inner', x);
- }
- })()
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-969.js b/src/3rdparty/v8/test/mjsunit/regress/regress-969.js
deleted file mode 100644
index c2ba0ac..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-969.js
+++ /dev/null
@@ -1,127 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Regression test for bugs when deoptimizing after assignments in effect
-// contexts.
-
-// Bug 989 is that there was an extra value on the expression stack when
-// deoptimizing after an assignment in effect context (the value of the
-// assignment was lingering). This is hard to observe in the unoptimized
-// code.
-//
-// This test uses comma expressions to put assignments in effect contexts,
-// references to deleted global variables to force deoptimization, and
-// function calls to observe an extra value.
-
-function first(x, y) { return x; }
-var y = 0;
-var o = {};
-o.x = 0;
-o[0] = 0;
-
-// Assignment to global variable.
-x0 = 0;
-function test0() { return first((y = 1, typeof x0), 2); }
-// Call the function once to compile it.
-assertEquals('number', test0());
-// Delete to force deoptimization on the next call.
-delete x0;
-assertEquals('undefined', test0());
-
-// Compound assignment to global variable.
-x1 = 0;
-function test1() { return first((y += 1, typeof x1), 2); }
-assertEquals('number', test1(), 'test1 before');
-delete x1;
-assertEquals('undefined', test1(), 'test1 after');
-
-// Pre and post-increment of global variable.
-x2 = 0;
-function test2() { return first((++y, typeof x2), 2); }
-assertEquals('number', test2(), 'test2 before');
-delete x2;
-assertEquals('undefined', test2(), 'test2 after');
-
-x3 = 0;
-function test3() { return first((y++, typeof x3), 2); }
-assertEquals('number', test3(), 'test3 before');
-delete x3;
-assertEquals('undefined', test3(), 'test3 after');
-
-
-// Assignment, compound assignment, and pre and post-increment of named
-// properties.
-x4 = 0;
-function test4() { return first((o.x = 1, typeof x4), 2); }
-assertEquals('number', test4());
-delete x4;
-assertEquals('undefined', test4());
-
-x5 = 0;
-function test5() { return first((o.x += 1, typeof x5), 2); }
-assertEquals('number', test5());
-delete x5;
-assertEquals('undefined', test5());
-
-x6 = 0;
-function test6() { return first((++o.x, typeof x6), 2); }
-assertEquals('number', test6());
-delete x6;
-assertEquals('undefined', test6());
-
-x7 = 0;
-function test7() { return first((o.x++, typeof x7), 2); }
-assertEquals('number', test7());
-delete x7;
-assertEquals('undefined', test7());
-
-
-// Assignment, compound assignment, and pre and post-increment of indexed
-// properties.
-x8 = 0;
-function test8(index) { return first((o[index] = 1, typeof x8), 2); }
-assertEquals('number', test8());
-delete x8;
-assertEquals('undefined', test8());
-
-x9 = 0;
-function test9(index) { return first((o[index] += 1, typeof x9), 2); }
-assertEquals('number', test9());
-delete x9;
-assertEquals('undefined', test9());
-
-x10 = 0;
-function test10(index) { return first((++o[index], typeof x10), 2); }
-assertEquals('number', test10());
-delete x10;
-assertEquals('undefined', test10());
-
-x11 = 0;
-function test11(index) { return first((o[index]++, typeof x11), 2); }
-assertEquals('number', test11());
-delete x11;
-assertEquals('undefined', test11());
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-97116.js b/src/3rdparty/v8/test/mjsunit/regress/regress-97116.js
deleted file mode 100644
index b858ca5..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-97116.js
+++ /dev/null
@@ -1,50 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-gc --allow-natives-syntax
-
-// Check that we are not flushing code for inlined functions that
-// have a pending lazy deoptimization on the stack.
-
-function deopt() {
- try { } catch (e) { } // Avoid inlining.
- %DeoptimizeFunction(outer);
- for (var i = 0; i < 10; i++) gc(); // Force code flushing.
-}
-
-function outer(should_deopt) {
- inner(should_deopt);
-}
-
-function inner(should_deopt) {
- if (should_deopt) deopt();
-}
-
-outer(false);
-outer(false);
-%OptimizeFunctionOnNextCall(outer);
-outer(true);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-974.js b/src/3rdparty/v8/test/mjsunit/regress/regress-974.js
deleted file mode 100644
index d6362cd..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-974.js
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-gc
-
-// Verify that GC is safe in a finally block entered by falling off the try
-// block.
-eval("(function(){try { } catch(x) { } finally { gc() }})")();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-982.js b/src/3rdparty/v8/test/mjsunit/regress/regress-982.js
deleted file mode 100644
index d88543a..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-982.js
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function f(a) {
- return {className: 'xxx'};
-};
-
-var x = 1;
-
-function g(active) {
- for (i = 1; i <= 20000; i++) {
- if (i == active) {
- x = i;
- if (f("" + i) != null) { }
- } else {
- if (f("" + i) != null) { }
- }
- }
-}
-
-g(0);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-98773.js b/src/3rdparty/v8/test/mjsunit/regress/regress-98773.js
deleted file mode 100644
index eb24eb5..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-98773.js
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Calling Array.sort on an external array is not supposed to crash.
-
-var array = new Int16Array(23);
-array[7] = 7; array[9] = 9;
-assertEquals(23, array.length);
-assertEquals(7, array[7]);
-assertEquals(9, array[9]);
-
-Array.prototype.sort.call(array);
-assertEquals(23, array.length);
-assertEquals(7, array[21]);
-assertEquals(9, array[22]);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-990205.js b/src/3rdparty/v8/test/mjsunit/regress/regress-990205.js
deleted file mode 100644
index b3024c2..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-990205.js
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// We throw syntax errors early for invalid break and continue statements.
-// (Notice that the example isn't valid ECMAScript due to the
-// function declaration that is not at top level.)
-
-function f() {
- // Force eager compilation of x through the use of eval. The break
- // in function x should not try to break out of the enclosing while.
- return eval("while(0) function x() { break; }; 42");
-};
-
-assertThrows("f()");
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-99167.js b/src/3rdparty/v8/test/mjsunit/regress/regress-99167.js
deleted file mode 100644
index 5053ae5..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-99167.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-gc --max-new-space-size=1024
-
-eval("function Node() { this.a = 1; this.a = 3; }");
-new Node;
-for (var i = 0; i < 4; ++i) gc();
-for (var i = 0; i < 100000; ++i) new Node;
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-992.js b/src/3rdparty/v8/test/mjsunit/regress/regress-992.js
deleted file mode 100644
index dbe25a5..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-992.js
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Object.defineProperty with generic desc on existing property
-// should just update enumerable/configurable flags.
-
-var obj = { get p() { return 42; } };
-var desc = Object.getOwnPropertyDescriptor(obj, 'p');
-var getter = desc.get;
-
-Object.defineProperty(obj, 'p', {enumerable: false });
-assertEquals(obj.p, 42);
-desc = Object.getOwnPropertyDescriptor(obj, 'p');
-assertFalse(desc.enumerable);
-assertTrue(desc.configurable);
-assertEquals(desc.get, getter);
-assertEquals(desc.set, undefined);
-assertFalse(desc.hasOwnProperty('value'));
-assertFalse(desc.hasOwnProperty('writable'));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-992733.js b/src/3rdparty/v8/test/mjsunit/regress/regress-992733.js
deleted file mode 100644
index d0f7511..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-992733.js
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-assertEquals("object", typeof this);
-var threw = false;
-try {
- this();
-} catch (e) {
- threw = true;
-}
-assertTrue(threw);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-995.js b/src/3rdparty/v8/test/mjsunit/regress/regress-995.js
deleted file mode 100644
index e88121a..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-995.js
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-//
-// A number of hydrogen instructions did not correctly compare its
-// data during GVN.
-//
-// Flags: --allow-natives-syntax
-
-// HHasInstance.
-function f(value) {
- if (%_IsSpecObject(value)) {
- if ((%_IsArray(value))) assertTrue(false);
- }
-}
-f(new String("bar"));
-
-// HClassOf.
-function g(value) {
- if (%_ClassOf(value) === 'Date') {
- if (%_ClassOf(value) === 'String') assertTrue(false);
- }
-}
-g(new Date());
-
-// HIsNull.
-function h(value) {
- if (value == null) {
- if (value === null) assertTrue(false);
- }
-}
-h(undefined);
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-996542.js b/src/3rdparty/v8/test/mjsunit/regress/regress-996542.js
deleted file mode 100644
index 8fc704e..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-996542.js
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var zero = 0;
-var one = 1;
-var minus_one = -1;
-
-assertEquals(-Infinity, 1 / (0 / -1));
-assertEquals(-Infinity, one / (zero / minus_one));
-assertEquals(Infinity, 1 / (0 / 1));
-assertEquals(Infinity, one / (zero / one));
-
-assertEquals(-Infinity, 1 / (-1 % 1));
-assertEquals(-Infinity, one / (minus_one % one))
-assertEquals(Infinity, 1 / (1 % 1));
-assertEquals(Infinity, one / (one % one));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-998565.js b/src/3rdparty/v8/test/mjsunit/regress/regress-998565.js
deleted file mode 100644
index 260b791..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-998565.js
+++ /dev/null
@@ -1,51 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-// Get the Debug object exposed from the debug context global object.
-Debug = debug.Debug
-
-listenerCalled = false;
-
-function listener(event, exec_state, event_data, data) {
- listenerCalled = true;
- throw 1;
-};
-
-// Add the debug event listener.
-Debug.setListener(listener);
-
-function f() {
- a=1
-};
-
-// Set a break point and call to invoke the debug event listener.
-Debug.setBreakPoint(f, 0, 0);
-f();
-
-// Make sure that the debug event listener vas invoked.
-assertTrue(listenerCalled); \ No newline at end of file
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-arguments-gc.js b/src/3rdparty/v8/test/mjsunit/regress/regress-arguments-gc.js
deleted file mode 100644
index baa4e16..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-arguments-gc.js
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-gc --nocleanup_code_caches_at_gc
-
-function f(x) {
- gc();
- arguments[0] = {};
-}
-
-f(1);
-f(1);
-f(1);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-bind-receiver.js b/src/3rdparty/v8/test/mjsunit/regress/regress-bind-receiver.js
deleted file mode 100644
index fc83a4e..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-bind-receiver.js
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function strict() { 'use strict'; return this; }
-function lenient() { return this; }
-var obj = {};
-
-assertEquals(true, strict.bind(true)());
-assertEquals(42, strict.bind(42)());
-assertEquals("", strict.bind("")());
-assertEquals(null, strict.bind(null)());
-assertEquals(undefined, strict.bind(undefined)());
-assertEquals(obj, strict.bind(obj)());
-
-assertEquals(true, lenient.bind(true)() instanceof Boolean);
-assertEquals(true, lenient.bind(42)() instanceof Number);
-assertEquals(true, lenient.bind("")() instanceof String);
-assertEquals(this, lenient.bind(null)());
-assertEquals(this, lenient.bind(undefined)());
-assertEquals(obj, lenient.bind(obj)());
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-builtin-array-op.js b/src/3rdparty/v8/test/mjsunit/regress/regress-builtin-array-op.js
deleted file mode 100644
index 1e37af3..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-builtin-array-op.js
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that we invoke the correct sort function in
-// array operations.
-
-var foo = "hest";
-Array.prototype.sort = function(fn) { foo = "fisk"; };
-Function.prototype.call = function() { foo = "caramel"; };
-var a = [2,3,1];
-a[100000] = 0;
-a.join();
-assertEquals("hest", foo);
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-cnlt-elements.js b/src/3rdparty/v8/test/mjsunit/regress/regress-cnlt-elements.js
deleted file mode 100644
index 634534c..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-cnlt-elements.js
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-gc
-
-var a = JSON.parse('{"b":1,"c":2,"d":3,"e":4}');
-var b = JSON.parse('{"12040200":1, "a":2, "b":2}');
-var c = JSON.parse('{"24050300":1}');
-b = null;
-gc();
-gc();
-c.a1 = 2;
-c.a2 = 2;
-c.a3 = 2;
-c.a4 = 2;
-c.a5 = 2;
-c.a6 = 2;
-c.a7 = 2;
-c.a8 = 2;
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-cnlt-enum-indices.js b/src/3rdparty/v8/test/mjsunit/regress/regress-cnlt-enum-indices.js
deleted file mode 100644
index 03582bb..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-cnlt-enum-indices.js
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --expose-gc
-
-var o = {};
-var o2 = {};
-
-o.a = 1;
-o2.a = 1;
-function f() { return 10; }
-// Adds a non-field enumerable property.
-Object.defineProperty(o, "b", { get: f, enumerable: true });
-Object.defineProperty(o2, "b", { get: f, enumerable: true });
-assertTrue(%HaveSameMap(o, o2));
-o.c = 2;
-
-for (var x in o) { }
-o = null;
-
-gc();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-cntl-descriptors-enum.js b/src/3rdparty/v8/test/mjsunit/regress/regress-cntl-descriptors-enum.js
deleted file mode 100644
index ee72faf..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-cntl-descriptors-enum.js
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --expose-gc
-
-DontEnum = 2;
-
-var o = {};
-%SetProperty(o, "a", 0, DontEnum);
-
-var o2 = {};
-%SetProperty(o2, "a", 0, DontEnum);
-
-assertTrue(%HaveSameMap(o, o2));
-
-o.y = 2;
-
-for (var v in o) { print(v); }
-o = {};
-gc();
-
-for (var v in o2) { print(v); }
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-conditional-position.js b/src/3rdparty/v8/test/mjsunit/regress/regress-conditional-position.js
deleted file mode 100644
index cd8f7bd..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-conditional-position.js
+++ /dev/null
@@ -1,95 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --always-full-compiler
-
-var functionToCatch;
-var lineNumber;
-
-function catchLineNumber () {
- var x = {};
-
- Error.prepareStackTrace = function (error, stackTrace) {
- stackTrace.some(function (frame) {
- if (frame.getFunction() == functionToCatch) {
- lineNumber = frame.getLineNumber();
- return true;
- }
- return false;
- });
- return lineNumber;
- };
-
- Error.captureStackTrace(x);
- return x.stack;
-}
-
-function log() {
- catchLineNumber();
-}
-
-function foo() {}
-
-function test1() {
- log(foo() == foo()
- ? 'a'
- : 'b');
-}
-
-function test2() {
- var o = { foo: function () {}}
- log(o.foo() == o.foo()
- ? 'a'
- : 'b');
-}
-
-function test3() {
- var o = { log: log, foo: function() { } };
- o.log(o.foo() == o.foo()
- ? 'a'
- : 'b');
-
-}
-
-function test(f, expectedLineNumber) {
- functionToCatch = f;
- f();
-
- assertEquals(expectedLineNumber, lineNumber);
-}
-
-test(test1, 58);
-test(test2, 65);
-test(test3, 72);
-
-eval(test1.toString() + "//@ sourceUrl=foo");
-eval(test2.toString() + "//@ sourceUrl=foo");
-eval(test3.toString() + "//@ sourceUrl=foo");
-
-test(test1, 2);
-test(test2, 3);
-test(test3, 3);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-convert-enum.js b/src/3rdparty/v8/test/mjsunit/regress/regress-convert-enum.js
deleted file mode 100644
index c624cad..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-convert-enum.js
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-gc
-
-// Create a transition tree A (no descriptors) -> B (descriptor for a) -> C
-// (descriptor for a and c), that all share the descriptor array [a,c]. C is the
-// owner of the descriptor array.
-var o = {};
-o.a = 1;
-o.c = 2;
-
-// Add a transition B -> D where D has its own descriptor array [a,b] where b is
-// a constant function.
-var o1 = {};
-o1.a = 1;
-
-// Install an enumeration cache in the descriptor array [a,c] at map B.
-for (var x in o1) { }
-o1.b = function() { return 1; };
-
-// Return ownership of the descriptor array [a,c] to B and trim it to [a].
-o = null;
-gc();
-
-// Convert the transition B -> D into a transition to B -> E so that E uses the
-// instance descriptors [a,b] with b being a field.
-var o2 = {};
-o2.a = 1;
-o2.b = 10;
-
-// Create an object with map B and iterate over it.
-var o3 = {};
-o3.a = 1;
-
-for (var y in o3) { }
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-convert-enum2.js b/src/3rdparty/v8/test/mjsunit/regress/regress-convert-enum2.js
deleted file mode 100644
index cdc7fbe..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-convert-enum2.js
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var o = {};
-o.a = 1;
-o.b = function() { return 1; };
-o.d = 2;
-
-for (var x in o) { }
-
-var o1 = {};
-o1.a = 1;
-o1.b = 10;
-o1.c = 20;
-
-var keys = ["a", "b", "c"];
-
-var i = 0;
-for (var y in o1) {
- assertEquals(keys[i], y);
- i += 1;
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-convert-transition.js b/src/3rdparty/v8/test/mjsunit/regress/regress-convert-transition.js
deleted file mode 100644
index 057dc80..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-convert-transition.js
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var input = '{ "a1":1, "a2":1, "a3":1, "a4":1, "a5":1, "a6":1, "a7":1,\
- "a8":1, "a9":1, "a10":1, "a11":1, "a12":1, "a13":1}';
-var a = JSON.parse(input);
-a.a = function() { return 10; };
-
-// Force conversion of field to slow mode.
-var b = JSON.parse(input);
-b.a = 10;
-
-// Add another property to the object that would transition to a.
-var c = JSON.parse(input);
-c.x = 10;
-assertEquals(undefined, c.a);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-100859.js b/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-100859.js
deleted file mode 100644
index 6824426..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-100859.js
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// This used to trigger a crash because of an unhandled stack overflow.
-function setx() {
- setx(typeof new Uint16Array('x') === 'object');
-}
-var exception = false;
-try {
- setx();
-} catch (ex) {
- assertTrue(ex instanceof RangeError);
- exception = true;
-}
-assertTrue(exception);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-107996.js b/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-107996.js
deleted file mode 100644
index dfe07e5..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-107996.js
+++ /dev/null
@@ -1,64 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-debug-as debug
-
-Debug = debug.Debug;
-
-Debug.setListener(listener);
-
-var fourteen;
-var four_in_debugger = [];
-
-function listener(event, exec_state, event_data, data) {
- if (event == Debug.DebugEvent.Break) {
- for (var i = 0; i < exec_state.frameCount(); i++) {
- var frame = exec_state.frame(i);
- four_in_debugger[i] = frame.evaluate("four", false).value();
- }
- }
-}
-
-function f1() {
- var three = 3;
- var four = 4;
- (function f2() {
- var seven = 7;
- (function f3() {
- debugger;
- fourteen = three + four + seven;
- })();
- })();
-}
-
-f1();
-assertEquals(14, fourteen);
-assertEquals(4, four_in_debugger[0]);
-assertEquals(4, four_in_debugger[1]);
-assertEquals(4, four_in_debugger[2]);
-
-Debug.setListener(null);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-119926.js b/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-119926.js
deleted file mode 100644
index 1ad250a..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-119926.js
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --gc-global
-
-// Test that array elements don't break upon garbage collection.
-
-var a = new Array(500);
-for (var i = 0; i < 100000; i++) {
- a[i] = new Object();
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-122271.js b/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-122271.js
deleted file mode 100644
index 8ae91e8..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-122271.js
+++ /dev/null
@@ -1,49 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Tests that ElementsKind transitions and regular transitions don't
-// interfere badly with each other.
-
-var a = [0, 0, 0, 1];
-var b = [0, 0, 0, "one"];
-var c = [0, 0, 0, 1];
-c.foo = "baz";
-
-function foo(array) {
- array.foo = "bar";
-}
-
-assertTrue(%HasFastSmiElements(a));
-assertTrue(%HasFastObjectElements(b));
-
-foo(a);
-foo(b);
-
-assertTrue(%HasFastSmiElements(a));
-assertTrue(%HasFastObjectElements(b));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-125148.js b/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-125148.js
deleted file mode 100644
index 0f7bcd8..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-125148.js
+++ /dev/null
@@ -1,90 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-function ToDictionaryMode(x) {
- %OptimizeObjectForAddingMultipleProperties(x, 100);
-}
-
-var A, B, C;
-
-// The initial bug report was about calling a know function...
-A = {};
-Object.defineProperty(A, "foo", { value: function() { assertUnreachable(); }});
-
-B = Object.create(A);
-Object.defineProperty(B, "foo", { value: function() { return 111; }});
-
-C = Object.create(B);
-
-function bar(x) { return x.foo(); }
-
-assertEquals(111, bar(C));
-assertEquals(111, bar(C));
-ToDictionaryMode(B);
-%OptimizeFunctionOnNextCall(bar);
-assertEquals(111, bar(C));
-
-// Although this was not in the initial bug report: The same for getters...
-A = {};
-Object.defineProperty(A, "baz", { get: function() { assertUnreachable(); }});
-
-B = Object.create(A);
-Object.defineProperty(B, "baz", { get: function() { return 111; }});
-
-C = Object.create(B);
-
-function boo(x) { return x.baz; }
-
-assertEquals(111, boo(C));
-assertEquals(111, boo(C));
-ToDictionaryMode(B);
-%OptimizeFunctionOnNextCall(boo);
-assertEquals(111, boo(C));
-
-// And once more for setters...
-A = {};
-Object.defineProperty(A, "huh", { set: function(x) { assertUnreachable(); }});
-
-B = Object.create(A);
-var setterValue;
-Object.defineProperty(B, "huh", { set: function(x) { setterValue = x; }});
-
-C = Object.create(B);
-
-function fuu(x) {
- setterValue = 222;
- x.huh = 111;
- return setterValue;
-}
-
-assertEquals(111, fuu(C));
-assertEquals(111, fuu(C));
-ToDictionaryMode(B);
-%OptimizeFunctionOnNextCall(fuu);
-assertEquals(111, fuu(C));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-126414.js b/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-126414.js
deleted file mode 100644
index 6674267..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-126414.js
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function foo(bar) {
- return arguments[bar];
-}
-foo(0); // Handled in runtime.
-foo(-536870912); // Triggers bug.
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-134055.js b/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-134055.js
deleted file mode 100644
index 9b658fb..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-134055.js
+++ /dev/null
@@ -1,63 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-function crash(obj) {
- return obj.foo;
-}
-
-function base(number_of_properties) {
- var result = new Array();
- for (var i = 0; i < number_of_properties; i++) {
- result["property" + i] = "value" + i;
- }
- result.foo = number_of_properties;
- return result;
-}
-
-var a = base(12);
-var b = base(13);
-var c = base(14);
-var d = base(15);
-
-crash(a); // Premonomorphic.
-crash(a);
-crash(b);
-crash(c);
-crash(d); // Polymorphic, degree 4.
-
-//Prepare ElementsKind transition map chain.
-var x = base(13);
-x[0] = "object";
-x = base(14);
-x[0] = "object";
-x = base(15);
-x[0] = "object";
-
-%OptimizeFunctionOnNextCall(crash);
-crash(a);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-134609.js b/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-134609.js
deleted file mode 100644
index da7d85d..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-134609.js
+++ /dev/null
@@ -1,59 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --inline-accessors
-
-var forceDeopt = {x:0};
-
-var objectWithGetterProperty = (function (value) {
- var obj = {};
- Object.defineProperty(obj, "getterProperty", {
- get: function foo() {
- forceDeopt.x;
- return value;
- },
- });
- return obj;
-})("bad");
-
-function test() {
- var iAmContextAllocated = "good";
- objectWithGetterProperty.getterProperty;
- return iAmContextAllocated;
-
- // Make sure that the local variable is context allocated.
- function unused() { iAmContextAllocated; }
-}
-
-assertEquals("good", test());
-assertEquals("good", test());
-%OptimizeFunctionOnNextCall(test);
-assertEquals("good", test());
-
-// At this point, foo should have been inlined into test. Let's deopt...
-delete forceDeopt.x;
-assertEquals("good", test());
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-135008.js b/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-135008.js
deleted file mode 100644
index 2be396e..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-135008.js
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Filler long enough to trigger lazy parsing.
-var filler = "//" + new Array(1024).join('x');
-
-var scope = { x:23 };
-
-with(scope) {
- eval(
- "scope.f = (function outer() {" +
- " function inner() {" +
- " return x;" +
- " }" +
- " return inner;" +
- "})();" +
- filler
- );
-};
-
-assertSame(23, scope.f());
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-135066.js b/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-135066.js
deleted file mode 100644
index 35e9ff8..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-135066.js
+++ /dev/null
@@ -1,55 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Filler long enough to trigger lazy parsing.
-var filler = "//" + new Array(1024).join('x');
-
-// Test strict eval in global context.
-assertEquals(23, eval(
- "'use strict';" +
- "var x = 23;" +
- "var f = function bozo1() {" +
- " return x;" +
- "};" +
- "assertSame(23, f());" +
- "f;" +
- filler
-)());
-
-// Test default eval in strict context.
-assertEquals(42, (function() {
- "use strict";
- return eval(
- "var y = 42;" +
- "var g = function bozo2() {" +
- " return y;" +
- "};" +
- "assertSame(42, g());" +
- "g;" +
- filler
- )();
-})());
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-137689.js b/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-137689.js
deleted file mode 100644
index ef79d24..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-137689.js
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-function getter() { return 10; }
-function setter(v) { }
-function getter2() { return 20; }
-
-var o = {};
-var o2 = {};
-
-Object.defineProperty(o, "foo", { get: getter, configurable: true });
-Object.defineProperty(o2, "foo", { get: getter, configurable: true });
-assertTrue(%HaveSameMap(o, o2));
-
-Object.defineProperty(o, "bar", { get: getter2 });
-Object.defineProperty(o2, "bar", { get: getter2 });
-assertTrue(%HaveSameMap(o, o2));
-
-Object.defineProperty(o, "foo", { set: setter, configurable: true });
-Object.defineProperty(o2, "foo", { set: setter, configurable: true });
-assertTrue(%HaveSameMap(o, o2));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-138887.js b/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-138887.js
deleted file mode 100644
index 8d8e169..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-138887.js
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-function worker1(ignored) {
- return 100;
-}
-
-function factory(worker) {
- return function(call_depth) {
- if (call_depth == 0) return 10;
- return 1 + worker(call_depth - 1);
- }
-}
-
-var f1 = factory(worker1);
-var f2 = factory(f1);
-assertEquals(11, f2(1)); // Result: 1 + f1(0) == 1 + 10.
-assertEquals(11, f2(1));
-%OptimizeFunctionOnNextCall(f1);
-assertEquals(10, f1(0)); // Terminates immediately -> returns 10.
-%OptimizeFunctionOnNextCall(f2);
-assertEquals(102, f2(1000)); // 1 + f1(999) == 1 + 1 + worker1(998) == 102
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-140083.js b/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-140083.js
deleted file mode 100644
index e38192c..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-140083.js
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test that the absence of a setter in a compound/count operation works.
-
-Object.defineProperty(Object.prototype, "foo",
- { get: function() { return 123; } });
-
-function bar(o) {
- o.foo += 42;
- o.foo++;
-}
-
-var baz = {};
-bar(baz);
-bar(baz);
-%OptimizeFunctionOnNextCall(bar)
-bar(baz);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-142087.js b/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-142087.js
deleted file mode 100644
index 881ca60..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-142087.js
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var string = "What are you looking for?";
-
-var expected_match = [""];
-for (var i = 0; i < string.length; i++) {
- expected_match.push("");
-}
-
-string.replace(/(_)|(_|)/g, "");
-assertArrayEquals(expected_match, string.match(/(_)|(_|)/g, ""));
-
-'***************************************'.match(/((\\)|(\*)|(\$))/g, ".");
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-142218.js b/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-142218.js
deleted file mode 100644
index 373f83b..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-142218.js
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-length = 1 << 16;
-a = new Array(length);
-
-function insert_element(key) {
- a[key] = 42;
-}
-
-insert_element(1);
-%OptimizeFunctionOnNextCall(insert_element);
-insert_element(new Object());
-count = 0;
-for (var i = 0; i < length; i++) {
- if (a[i] != undefined) count++;
-}
-assertEquals(1, count);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-145961.js b/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-145961.js
deleted file mode 100644
index eb88945..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-145961.js
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// This test causes the operands to be passed in as Integer32 registers.
-// Flags: --allow-natives-syntax
-function test() {
- var a = new Int32Array(2);
- var x = a[0];
- return Math.min(x, x);
-}
-
-assertEquals(0, test());
-assertEquals(0, test());
-%OptimizeFunctionOnNextCall(test);
-assertEquals(0, test());
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-146910.js b/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-146910.js
deleted file mode 100644
index 1b2a60a..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-146910.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2013 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-assertEquals(String.fromCharCode(97, 220, 256), 'a' + '\u00DC' + '\u0100');
-assertEquals(String.fromCharCode(97, 220, 256), 'a\u00DC\u0100');
-
-assertEquals(['a', 'b', '\xdc'], ['b', '\xdc', 'a'].sort());
-assertEquals(['\xfc\xdc', '\xfc'], new RegExp('(\xdc)\\1', 'i').exec('\xfc\xdc'));
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-147475.js b/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-147475.js
deleted file mode 100644
index 180744c..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-147475.js
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-function worker1(ignored) {
- return 100;
-}
-
-function factory(worker) {
- return function(call_depth) {
- if (call_depth == 0) return 10;
- return 1 + worker(call_depth - 1);
- }
-}
-
-var f1 = factory(worker1);
-var f2 = factory(f1);
-assertEquals(11, f2(1));
-%OptimizeFunctionOnNextCall(f1);
-assertEquals(10, f1(0));
-%OptimizeFunctionOnNextCall(f2);
-assertEquals(102, f2(2));
-assertEquals(102, f2(2));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-148376.js b/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-148376.js
deleted file mode 100644
index 55bb5f1..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-148376.js
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function defineSetter(o) {
- o.__defineSetter__('property', function() {});
-}
-
-defineSetter(Object.prototype);
-property = 0;
-defineSetter(this);
-var keys = Object.keys(this);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-150545.js b/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-150545.js
deleted file mode 100644
index 68efdbf..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-150545.js
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test that we do not generate OSR entry points that have an arguments
-// stack height different from zero. The OSR machinery cannot generate
-// frames for that.
-
-(function() {
- "use strict";
-
- var instantReturn = false;
- function inner() {
- if (instantReturn) return;
- assertSame(3, arguments.length);
- assertSame(1, arguments[0]);
- assertSame(2, arguments[1]);
- assertSame(3, arguments[2]);
- }
-
- function outer() {
- inner(1,2,3);
- // Trigger OSR.
- while (%GetOptimizationStatus(outer) == 2) {}
- }
-
- outer();
-})();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-150729.js b/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-150729.js
deleted file mode 100644
index 15aa587..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-150729.js
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-var t = 0;
-function burn() {
- i = [t, 1];
- var M = [i[0], Math.cos(t) + i[7074959]];
- t += .05;
-}
-for (var j = 0; j < 5; j++) {
- if (j == 2) %OptimizeFunctionOnNextCall(burn);
- burn();
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-157019.js b/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-157019.js
deleted file mode 100644
index 1c54089..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-157019.js
+++ /dev/null
@@ -1,54 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --nocrankshaft
-
-function makeConstructor() {
- return function() {
- this.a = 1;
- this.b = 2;
- };
-}
-
-var c1 = makeConstructor();
-var o1 = new c1();
-
-c1.prototype = {};
-
-for (var i = 0; i < 10; i++) {
- var o = new c1();
- for (var j = 0; j < 8; j++) {
- o["x" + j] = 0;
- }
-}
-
-var c2 = makeConstructor();
-var o2 = new c2();
-
-for (var i = 0; i < 50000; i++) {
- new c2();
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-157520.js b/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-157520.js
deleted file mode 100644
index 17081df..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-157520.js
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --nocrankshaft
-
-(function(){
- var f = function(arg) {
- arg = 2;
- return arguments[0];
- };
- for (var i = 0; i < 50000; i++) {
- assertSame(2, f(1));
- }
-})();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-158185.js b/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-158185.js
deleted file mode 100644
index 99f19c7..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-158185.js
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-assertEquals("0023456",
- Object.keys(JSON.parse('{"0023456": 1}'))[0]);
-assertEquals("1234567890123",
- Object.keys(JSON.parse('{"1234567890123": 1}'))[0]);
-assertEquals("123456789ABCD",
- Object.keys(JSON.parse('{"123456789ABCD": 1}'))[0]);
-assertEquals("12A",
- Object.keys(JSON.parse('{"12A": 1}'))[0]);
-
-assertEquals(1, JSON.parse('{"0":1}')[0]);
-assertEquals(undefined, JSON.parse('{"00":1}')[0]);
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-160010.js b/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-160010.js
deleted file mode 100644
index 586bddd..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-160010.js
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-var str = "a";
-for (var i = 0; i < 28; i++) {
- str += str;
- %FlattenString(str); // Evil performance hack
-}
-JSON.stringify(str);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-162085.js b/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-162085.js
deleted file mode 100644
index a53b2c9..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-162085.js
+++ /dev/null
@@ -1,71 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Ensure extending an empty packed smi array with a double initializes the
-// array with holes.
-var a = [1,2,3];
-a.length = 0;
-a[0] = 1.4;
-assertEquals(1.4, a[0]);
-assertEquals(undefined, a[1]);
-assertEquals(undefined, a[2]);
-assertEquals(undefined, a[3]);
-
-// Ensure the double array growstub initializes the array with holes.
-function grow_store(a,i,v) {
- a[i] = v;
-}
-
-var a2 = [1.3];
-grow_store(a2,1,1.4);
-a2.length = 0;
-grow_store(a2,0,1.5);
-assertEquals(1.5, a2[0]);
-assertEquals(undefined, a2[1]);
-assertEquals(undefined, a2[2]);
-assertEquals(undefined, a2[3]);
-
-// Check storing objects using the double grow stub.
-var a3 = [1.3];
-var o = {};
-grow_store(a3, 1, o);
-assertEquals(1.3, a3[0]);
-assertEquals(o, a3[1]);
-
-// Ensure the double array growstub initializes the array with holes.
-function grow_store2(a,i,v) {
- a[i] = v;
-}
-
-var a4 = [1.3];
-grow_store2(a4,1,1.4);
-a4.length = 0;
-grow_store2(a4,0,1);
-assertEquals(1, a4[0]);
-assertEquals(undefined, a4[1]);
-assertEquals(undefined, a4[2]);
-assertEquals(undefined, a4[3]);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-163530.js b/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-163530.js
deleted file mode 100644
index 7abae14..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-163530.js
+++ /dev/null
@@ -1,80 +0,0 @@
-// Copyright 2013 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test materialization of an arguments object with unknown argument
-// values in non-strict mode (length has to be zero).
-(function() {
- var deoptimize = { deopt:true };
- var object = {};
-
- object.a = function A(x, y, z) {
- assertSame(0, arguments.length);
- return this.b();
- };
-
- object.b = function B() {
- assertSame(0, arguments.length);
- deoptimize.deopt;
- return arguments.length;
- };
-
- assertSame(0, object.a());
- assertSame(0, object.a());
- %OptimizeFunctionOnNextCall(object.a);
- assertSame(0, object.a());
- delete deoptimize.deopt;
- assertSame(0, object.a());
-})();
-
-
-// Test materialization of an arguments object with unknown argument
-// values in strict mode (length is allowed to exceed stack size).
-(function() {
- 'use strict';
- var deoptimize = { deopt:true };
- var object = {};
-
- object.a = function A(x, y, z) {
- assertSame(0, arguments.length);
- return this.b(1, 2, 3, 4, 5, 6, 7, 8);
- };
-
- object.b = function B(a, b, c, d, e, f, g, h) {
- assertSame(8, arguments.length);
- deoptimize.deopt;
- return arguments.length;
- };
-
- assertSame(8, object.a());
- assertSame(8, object.a());
- %OptimizeFunctionOnNextCall(object.a);
- assertSame(8, object.a());
- delete deoptimize.deopt;
- assertSame(8, object.a());
-})();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-168545.js b/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-168545.js
deleted file mode 100644
index acc065e..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-168545.js
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2013 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var o = {};
-Object.defineProperty(o, "length", { get: function() { throw "bail"; }});
-assertThrows("new Int16Array(o);");
-
-var a = [];
-Object.defineProperty(a, "0", { get: function() { throw "bail"; }});
-assertThrows("new Int16Array(a);");
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-170856.js b/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-170856.js
deleted file mode 100644
index 2e73b12..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-170856.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2013 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-r = new RegExp("a");
-for (var i = 0; i < 100; i++) {
- r["abc" + i] = i;
-}
-"zzzz".replace(r, "");
-assertEquals(0, r.lastIndex);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-172345.js b/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-172345.js
deleted file mode 100644
index 711501c..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-172345.js
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2013 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function f(a,i) {
- return a[i];
-}
-
-f([1,2,3], "length");
-f([1,2,3], "length");
-f([1,2,3], 2);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-173907.js b/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-173907.js
deleted file mode 100644
index 9f92fef..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-173907.js
+++ /dev/null
@@ -1,88 +0,0 @@
-// Copyright 2013 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-var X = 1.1;
-var K = 0.5;
-
-var O = 0;
-var result = new Float64Array(2);
-
-function spill() {
- try { } catch (e) { }
-}
-
-function buggy() {
- var v = X;
- var phi1 = v + K;
- var phi2 = v - K;
-
- spill(); // At this point initial values for phi1 and phi2 are spilled.
-
- var xmm1 = v;
- var xmm2 = v*v*v;
- var xmm3 = v*v*v*v;
- var xmm4 = v*v*v*v*v;
- var xmm5 = v*v*v*v*v*v;
- var xmm6 = v*v*v*v*v*v*v;
- var xmm7 = v*v*v*v*v*v*v*v;
- var xmm8 = v*v*v*v*v*v*v*v*v;
-
- // All registers are blocked and phis for phi1 and phi2 are spilled because
- // their left (incoming) value is spilled, there are no free registers,
- // and phis themselves have only ANY-policy uses.
-
- for (var x = 0; x < 2; x++) {
- xmm1 += xmm1 * xmm6;
- xmm2 += xmm1 * xmm5;
- xmm3 += xmm1 * xmm4;
- xmm4 += xmm1 * xmm3;
- xmm5 += xmm1 * xmm2;
-
- // Now swap values of phi1 and phi2 to create cycle between phis.
- var t = phi1;
- phi1 = phi2;
- phi2 = t;
- }
-
- // Now we want to get values of phi1 and phi2. However we would like to
- // do it in a way that does not produce any uses of phi1&phi2 that have
- // a register beneficial policy. How? We just hide these uses behind phis.
- result[0] = (O === 0) ? phi1 : phi2;
- result[1] = (O !== 0) ? phi1 : phi2;
-}
-
-function test() {
- buggy();
- assertArrayEquals([X + K, X - K], result);
-}
-
-test();
-test();
-%OptimizeFunctionOnNextCall(buggy);
-test();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-173974.js b/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-173974.js
deleted file mode 100644
index 905bd60..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-173974.js
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2013 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-function f() {
- var count = "";
- count[0] --;
-}
-f();
-%OptimizeFunctionOnNextCall(f);
-f();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-178790.js b/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-178790.js
deleted file mode 100644
index 57071ea..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-178790.js
+++ /dev/null
@@ -1,52 +0,0 @@
-// Copyright 2013 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Create a regexp in the form of a?a?...a? so that fully
-// traversing the entire graph would be prohibitively expensive.
-// This should not cause time out.
-var r1 = "";
-for (var i = 0; i < 1000; i++) {
- r1 += "a?";
-}
-"test".match(RegExp(r1));
-
-var r2 = "";
-for (var i = 0; i < 100; i++) {
- r2 += "(a?|b?|c?|d?|e?|f?|g?)";
-}
-"test".match(RegExp(r2));
-
-// Create a regexp in the form of ((..(a)a..)a.
-// Compiling it causes EatsAtLeast to reach the maximum
-// recursion depth possible with a given budget.
-// This should not cause a stack overflow.
-var r3 = "a";
-for (var i = 0; i < 1000; i++) {
- r3 = "(" + r3 + ")a";
-}
-"test".match(RegExp(r3));
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-18639.js b/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-18639.js
deleted file mode 100644
index 4f4bb7c..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-18639.js
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// See http://crbug.com/18639
-
-try {
- toString = toString;
- __defineGetter__("z", (0).toLocaleString);
- z;
- z;
- ((0).toLocaleString)();
-} catch (e) {
- assertInstanceof(e, TypeError);
-} \ No newline at end of file
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-3184.js b/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-3184.js
deleted file mode 100644
index ed78183..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-3184.js
+++ /dev/null
@@ -1,83 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-Object.extend = function (dest, source) {
- for (property in source) dest[property] = source[property];
- return dest;
-};
-
-Object.extend ( Function.prototype,
-{
- wrap : function (wrapper) {
- var method = this;
- var bmethod = (function(_method) {
- return function () {
- this.$$$parentMethodStore$$$ = this.$proceed;
- this.$proceed = function() { return _method.apply(this, arguments); };
- };
- })(method);
- var amethod = function () {
- this.$proceed = this.$$$parentMethodStore$$$;
- if (this.$proceed == undefined) delete this.$proceed;
- delete this.$$$parentMethodStore$$$;
- };
- var value = function() { bmethod.call(this); retval = wrapper.apply(this, arguments); amethod.call(this); return retval; };
- return value;
- }
-});
-
-String.prototype.cap = function() {
- return this.charAt(0).toUpperCase() + this.substring(1).toLowerCase();
-};
-
-String.prototype.cap = String.prototype.cap.wrap(
- function(each) {
- if (each && this.indexOf(" ") != -1) {
- return this.split(" ").map(
- function (value) {
- return value.cap();
- }
- ).join(" ");
- } else {
- return this.$proceed();
- }
-});
-
-Object.extend( Array.prototype,
-{
- map : function(fun) {
- if (typeof fun != "function") throw new TypeError();
- var len = this.length;
- var res = new Array(len);
- var thisp = arguments[1];
- for (var i = 0; i < len; i++) { if (i in this) res[i] = fun.call(thisp, this[i], i, this); }
- return res;
- }
-});
-assertEquals("Test1 test1", "test1 test1".cap());
-assertEquals("Test2 Test2", "test2 test2".cap(true));
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-37853.js b/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-37853.js
deleted file mode 100644
index 047fbcb..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-37853.js
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// See http://crbug.com/37853
-
-function f(o, k) { return o[k]; }
-a = {'a':1, 1:'a'}
-f(a, 'a')
-f(a, 'a')
-f(a, 1);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-3867.js b/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-3867.js
deleted file mode 100644
index 03001b6..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-3867.js
+++ /dev/null
@@ -1,77 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function props(x) {
- var result = [];
- for (var p in x) result.push(p);
- return result;
-}
-
-function A() {
- this.a1 = 1234;
- this.a2 = "D";
- this.a3 = false;
-}
-
-function B() {
- this.b3 = false;
- this.b2 = "D";
- this.b1 = 1234;
-}
-
-function C() {
- this.c3 = false;
- this.c1 = 1234;
- this.c2 = "D";
-}
-
-assertArrayEquals(["a1", "a2", "a3"], props(new A()));
-assertArrayEquals(["b3", "b2", "b1"], props(new B()));
-assertArrayEquals(["c3", "c1", "c2"], props(new C()));
-assertArrayEquals(["s1", "s2", "s3"], props({s1: 0, s2: 0, s3: 0}));
-assertArrayEquals(["s3", "s2", "s1"], props({s3: 0, s2: 0, s1: 0}));
-assertArrayEquals(["s3", "s1", "s2"], props({s3: 0, s1: 0, s2: 0}));
-
-var a = new A()
-a.a0 = 0;
-a.a4 = 0;
-assertArrayEquals(["a1", "a2", "a3", "a0", "a4"], props(a));
-
-var b = new B()
-b.b4 = 0;
-b.b0 = 0;
-assertArrayEquals(["b3", "b2", "b1", "b4", "b0"], props(b));
-
-var o1 = {s1: 0, s2: 0, s3: 0}
-o1.s0 = 0;
-o1.s4 = 0;
-assertArrayEquals(["s1", "s2", "s3", "s0", "s4"], props(o1));
-
-var o2 = {s3: 0, s2: 0, s1: 0}
-o2.s4 = 0;
-o2.s0 = 0;
-assertArrayEquals(["s3", "s2", "s1", "s4", "s0"], props(o2));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-39160.js b/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-39160.js
deleted file mode 100644
index a8a8567..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-39160.js
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// See http://crbug.com/39160
-
-// To reproduce the bug we need an inlined comparison (i.e. in a loop) where
-// the left hand side is known to be a smi (max smi value is 1073741823). This
-// test crashes with the bug.
-function f(a) {
- for (var i = 1073741820; i < 1073741822; i++) {
- if (a < i) {
- a += i;
- }
- }
-}
-
-f(5)
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-40931.js b/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-40931.js
deleted file mode 100644
index 2dbff6e..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-40931.js
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// See http://crbug.com/40931
-
-// To reproduce this we need to split a comma separated string and check the
-// indices which should only contain the numeric indices corresponding to the
-// number of values of the split.
-
-var names = "a,b,c,d";
-
-for(var i = 0; i < 10; i++) {
- var splitNames = names.split(/,/);
- var forInNames = [];
- var count = 0;
- for (name in splitNames) {
- forInNames[count++] = name;
- }
- forInNames.sort();
- assertEquals("0,1,2,3", forInNames.join());
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-72736.js b/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-72736.js
deleted file mode 100644
index 4b4b145..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-72736.js
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// See http://crbug.com/72736
-
-// This tests that Object.defineProperty actually allows to change the value of
-// a non-writable property if configurable is true.
-
-var obj = {};
-Object.defineProperty(obj, 'foo', { value: 10, configurable: true });
-assertEquals(obj.foo, 10);
-Object.defineProperty(obj, 'foo', { value: 20, configurable: true });
-assertEquals(obj.foo, 20);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-84186.js b/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-84186.js
deleted file mode 100644
index 865bf9e..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-84186.js
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that the expected string is parsed in the json parser when the length
-// is so big that the string can't fit in new space, and it includes special
-// characters.
-
-var json = '{"key":"';
-var key = '';
-var expected = '';
-for(var i = 0; i < 60000; i++) {
- key = key + "TESTING" + i + "\\n";
- expected = expected + "TESTING" + i + "\n";
-}
-json = json + key + '"}';
-var out = JSON.parse(json);
-assertEquals(expected, out.key);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-87478.js b/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-87478.js
deleted file mode 100644
index 115b3fd..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-crbug-87478.js
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Check that arguments access ICs correctly handle non-JSObject
-// receivers.
-function f(array) { return array[0]; }
-function args(a) { return arguments; }
-// Put the keyed load in f into the keyed-load-arguments state.
-for (var i = 0; i < 10; i++) {
- f(args(1));
-}
-f('123');
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-create-exception.js b/src/3rdparty/v8/test/mjsunit/regress/regress-create-exception.js
deleted file mode 100644
index d3face9..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-create-exception.js
+++ /dev/null
@@ -1,59 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --max-new-space-size=256
-"use strict";
-
-// Check for GC bug constructing exceptions.
-var v = [1, 2, 3, 4]
-
-Object.preventExtensions(v);
-
-function foo() {
- var re = /2147483647/; // Equal to 0x7fffffff.
- for (var i = 0; i < 10000; i++) {
- var ok = false;
- try {
- var j = 1;
- // Allocate some heap numbers in order to randomize the behaviour of the
- // garbage collector. 93 is chosen to be a prime number to avoid the
- // allocation settling into a too neat pattern.
- for (var j = 0; j < i % 93; j++) {
- j *= 1.123567; // An arbitrary floating point number.
- }
- v[0x7fffffff] = 0; // Trigger exception.
- assertTrue(false);
- return j; // Make sure that future optimizations don't eliminate j.
- } catch(e) {
- ok = true;
- assertTrue(re.test(e), 'e: ' + e);
- }
- assertTrue(ok);
- }
-}
-
-foo();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-debug-code-recompilation.js b/src/3rdparty/v8/test/mjsunit/regress/regress-debug-code-recompilation.js
deleted file mode 100644
index 4723ec1..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-debug-code-recompilation.js
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --hydrogen-filter=Debug.setBreakPoint
-// Flags: --expose-debug-as debug
-
-Debug = debug.Debug
-
-function f() {a=1;b=2};
-function g() {
- a=1;
- b=2;
-}
-
-bp = Debug.setBreakPoint(f, 0, 0);
-Debug.clearBreakPoint(bp);
-%OptimizeFunctionOnNextCall(Debug.setBreakPoint);
-bp = Debug.setBreakPoint(f, 0, 0);
-Debug.clearBreakPoint(bp);
-bp = Debug.setBreakPoint(f, 0, 0);
-Debug.clearBreakPoint(bp);
-%OptimizeFunctionOnNextCall(Debug.setBreakPoint);
-bp = Debug.setBreakPoint(f, 0, 0);
-Debug.clearBreakPoint(bp);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-deep-proto.js b/src/3rdparty/v8/test/mjsunit/regress/regress-deep-proto.js
deleted file mode 100644
index 5d2758c..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-deep-proto.js
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function poly(x) {
- return x.foo;
-}
-
-var one = {foo: 0};
-var two = {foo: 0, bar: 1};
-var three = {bar: 0};
-three.__proto__ = {};
-three.__proto__.__proto__ = {};
-three.__proto__.__proto__.__proto__ = {};
-three.__proto__.__proto__.__proto__.__proto__ = {};
-three.__proto__.__proto__.__proto__.__proto__.__proto__ = {};
-
-for (var i = 0; i < 1e6; i++) {
- poly(one);
- poly(two);
- poly(three);
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-delete-empty-double.js b/src/3rdparty/v8/test/mjsunit/regress/regress-delete-empty-double.js
deleted file mode 100644
index f7af2b1..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-delete-empty-double.js
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-a = [1.1,2.2,3.3];
-a.length = 1;
-delete a[1];
-
-assertTrue(%HasFastDoubleElements(a));
-assertFalse(%HasFastHoleyElements(a));
-
-delete a[0];
-
-assertTrue(%HasFastDoubleElements(a));
-assertTrue(%HasFastHoleyElements(a));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-deopt-gc.js b/src/3rdparty/v8/test/mjsunit/regress/regress-deopt-gc.js
deleted file mode 100644
index a74e2c5..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-deopt-gc.js
+++ /dev/null
@@ -1,49 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --expose-gc
-
-// This tests that we can correctly handle a GC immediately after a function
-// has been deoptimized, even when we have an activation of this function on
-// the stack.
-
-// Ensure that there is code objects before the code for the opt_me function.
-(function() { var a = 10; a++; })();
-
-function opt_me() {
- deopt();
-}
-
-function deopt() {
- // Make sure we don't inline this function
- try { var a = 42; } catch(o) {};
- %DeoptimizeFunction(opt_me);
- gc();
-}
-
-
-opt_me();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-fast-literal-transition.js b/src/3rdparty/v8/test/mjsunit/regress/regress-fast-literal-transition.js
deleted file mode 100644
index 72110f5..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-fast-literal-transition.js
+++ /dev/null
@@ -1,62 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --always-opt --expose-gc
-
-// Test that the elements kind of the boilerplate object is sufficiently
-// checked in LFastLiteral, so that unoptimized code can transition the
-// boilerplate. The --always-opt flag makes sure that optimized code is
-// not thrown away at deoptimization.
-
-// The switch statement in f() makes sure that f() is not inlined. If we
-// start inlining switch statements, we will still catch the bug on the
-// final --stress-opt run.
-
-function f(x) {
- switch(x) {
- case 1: return 1.4;
- case 2: return 1.5;
- case 3: return {};
- default: gc();
- }
-}
-
-function g(x) {
- return [1.1, 1.2, 1.3, f(x)];
-}
-
-// Step 1: Optimize g() to contain a FAST_DOUBLE_ELEMENTS boilerplate.
-assertEquals([1.1, 1.2, 1.3, 1.4], g(1));
-assertEquals([1.1, 1.2, 1.3, 1.5], g(2));
-%OptimizeFunctionOnNextCall(g);
-
-// Step 2: Deoptimize g() and transition to FAST_ELEMENTS boilerplate.
-assertEquals([1.1, 1.2, 1.3, {}], g(3));
-
-// Step 3: Cause a GC while broken clone of boilerplate is on the heap,
-// hence causing heap verification to catch it.
-assertEquals([1.1, 1.2, 1.3, undefined], g(4));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-fundecl.js b/src/3rdparty/v8/test/mjsunit/regress/regress-fundecl.js
deleted file mode 100644
index fddb589..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-fundecl.js
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Test hoisting of function declarations in the optimizing
-// compiler in case of deoptimization.
-
-function h(a, b) {
- var r = a + b;
- function X() { return 42; }
- return r + X();
-}
-
-for (var i = 0; i < 5; i++) h(1,2);
-
-%OptimizeFunctionOnNextCall(h);
-
-assertEquals(45, h(1,2));
-assertEquals("foo742", h("foo", 7));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-inlining-function-literal-context.js b/src/3rdparty/v8/test/mjsunit/regress/regress-inlining-function-literal-context.js
deleted file mode 100644
index 9b7f7ac..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-inlining-function-literal-context.js
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax --expose-gc
-
-function mkbaz(x) {
- function baz() {
- return function () {
- return [x];
- }
- }
- return baz;
-}
-
-var baz = mkbaz(1);
-
-function foo() {
- var f = baz();
- return f();
-}
-
-// Tenure.
-gc();
-gc();
-
-assertArrayEquals([1], foo());
-assertArrayEquals([1], foo());
-%OptimizeFunctionOnNextCall(foo);
-assertArrayEquals([1], foo());
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-iteration-order.js b/src/3rdparty/v8/test/mjsunit/regress/regress-iteration-order.js
deleted file mode 100644
index 76f5c3f..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-iteration-order.js
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var x = {a: 1, b: 2, c: 3};
-
-x.__proto__ = {};
-
-delete x.b;
-
-x.d = 4;
-
-s = "";
-
-for (key in x) {
- s += x[key];
-}
-
-assertEquals("134", s);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-json-stringify-gc.js b/src/3rdparty/v8/test/mjsunit/regress/regress-json-stringify-gc.js
deleted file mode 100644
index c0a71bf..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-json-stringify-gc.js
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var a = [];
-var new_space_string = "";
-for (var i = 0; i < 128; i++) {
- new_space_string += String.fromCharCode((Math.random() * 26 + 65) | 0);
-}
-for (var i = 0; i < 10000; i++) a.push(new_space_string);
-
-// At some point during the first stringify, allocation causes a GC and
-// new_space_string is moved to old space. Make sure that this does not
-// screw up reading from the correct location.
-json1 = JSON.stringify(a);
-json2 = JSON.stringify(a);
-assertTrue(json1 == json2, "GC caused JSON.stringify to fail.");
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-latin-1.js b/src/3rdparty/v8/test/mjsunit/regress/regress-latin-1.js
deleted file mode 100644
index a988ebd..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-latin-1.js
+++ /dev/null
@@ -1,90 +0,0 @@
-// Copyright 2013 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-assertEquals(String.fromCharCode(97, 220, 256), 'a' + '\u00DC' + '\u0100');
-assertEquals(String.fromCharCode(97, 220, 256), 'a\u00DC\u0100');
-
-assertEquals(0x80, JSON.stringify("\x80").charCodeAt(1));
-
-assertEquals(['a', 'b', '\xdc'], ['b', '\xdc', 'a'].sort());
-
-assertEquals(['\xfc\xdc', '\xfc'], new RegExp('(\xdc)\\1', 'i').exec('\xfc\xdc'));
-// Same test but for all values in Latin-1 range.
-var total_lo = 0;
-for (var i = 0; i < 0xff; i++) {
- var base = String.fromCharCode(i);
- var escaped = base;
- if (base == '(' || base == ')' || base == '*' || base == '+' ||
- base == '?' || base == '[' || base == ']' || base == '\\' ||
- base == '$' || base == '^' || base == '|') {
- escaped = '\\' + base;
- }
- var lo = String.fromCharCode(i + 0x20);
- base_result = new RegExp('(' + escaped + ')\\1', 'i').exec(base + base);
- assertEquals( base_result, [base + base, base]);
- lo_result = new RegExp('(' + escaped + ')\\1', 'i').exec(base + lo);
- if (base.toLowerCase() == lo) {
- assertEquals([base + lo, base], lo_result);
- total_lo++;
- } else {
- assertEquals(null, lo_result);
- }
-}
-// Should have hit the branch for the following char codes:
-// [A-Z], [192-222] but not 215
-assertEquals((90-65+1)+(222-192-1+1), total_lo);
-
-// Latin-1 whitespace character
-assertEquals( 1, +(String.fromCharCode(0xA0) + '1') );
-
-// Latin-1 \W characters
-assertEquals(["+\u00a3", "=="], "+\u00a3==".match(/\W\W/g));
-
-// Latin-1 character that uppercases out of Latin-1.
-assertTrue(/\u0178/i.test('\u00ff'));
-
-// Unicode equivalence
-assertTrue(/\u039c/i.test('\u00b5'));
-assertTrue(/\u039c/i.test('\u03bc'));
-assertTrue(/\u00b5/i.test('\u03bc'));
-// Unicode equivalence ranges
-assertTrue(/[\u039b-\u039d]/i.test('\u00b5'));
-assertFalse(/[^\u039b-\u039d]/i.test('\u00b5'));
-assertFalse(/[\u039b-\u039d]/.test('\u00b5'));
-assertTrue(/[^\u039b-\u039d]/.test('\u00b5'));
-
-// Check a regression in QuoteJsonSlow and WriteQuoteJsonString
-for (var testNumber = 0; testNumber < 2; testNumber++) {
- var testString = "\xdc";
- var loopLength = testNumber == 0 ? 0 : 20;
- for (var i = 0; i < loopLength; i++ ) {
- testString += testString;
- }
- var stringified = JSON.stringify({"test" : testString}, null, 0);
- var stringifiedExpected = '{"test":"' + testString + '"}';
- assertEquals(stringifiedExpected, stringified);
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-lazy-deopt-reloc.js b/src/3rdparty/v8/test/mjsunit/regress/regress-lazy-deopt-reloc.js
deleted file mode 100644
index f1fe6d5..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-lazy-deopt-reloc.js
+++ /dev/null
@@ -1,52 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Do not generate debug code since that will space things differently
-// in the generated code.
-// Flags: --allow-natives-syntax --expose-gc --nodebug-code
-
-// Regression test for issue where we did not pad the relocation
-// information enough to have room for lazy deoptimization.
-
-function kaboom() {
- var a = function () {},
- b = function () {},
- c, d = function () { var d = []; },
- e = function () { var e = {}; };
- c = function () { d(); b(); };
- return function (x, y) {
- c();
- a();
- return function f() { }({});
- };
-}
-
-kaboom();
-
-%DeoptimizeFunction(kaboom);
-
-gc();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-load-elements.js b/src/3rdparty/v8/test/mjsunit/regress/regress-load-elements.js
deleted file mode 100644
index 68cdc8e..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-load-elements.js
+++ /dev/null
@@ -1,49 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-function bad_func(o,a) {
- for (var i = 0; i < 1; ++i) {
- o.prop = 0;
- var x = a[0];
- }
-}
-
-o = new Object();
-a = {};
-a[0] = 1;
-bad_func(o, a);
-
-o = new Object();
-bad_func(o, a);
-
-// Optimize. Before the fix, the elements-load and subsequent fixed-array-length
-// were hoisted above the map check. This is invalid since not all types
-// necessarily have elements.
-%OptimizeFunctionOnNextCall(bad_func);
-bad_func(o, "");
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-observe-empty-double-array.js b/src/3rdparty/v8/test/mjsunit/regress/regress-observe-empty-double-array.js
deleted file mode 100644
index 4b65169..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-observe-empty-double-array.js
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --harmony-observation --allow-natives-syntax
-//
-// Test passes if it does not crash.
-
-arr = [1.1];
-Object.observe(arr, function(){});
-arr.length = 0;
-// TODO(observe): we currently disallow fast elements for observed object.
-// assertTrue(%HasFastDoubleElements(arr));
-// Should not crash
-arr.push(1.1);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-push-args-twice.js b/src/3rdparty/v8/test/mjsunit/regress/regress-push-args-twice.js
deleted file mode 100644
index faa6007..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-push-args-twice.js
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Check that the ADD binary op stub correctly handles non-number arguments
-// passed on registers.
-
-try {
- for (var key = 0; key != 10; key++) {
- var x = 1 + undefined;
- }
-} catch(e) {
- fail("no exception", e);
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-r3391.js b/src/3rdparty/v8/test/mjsunit/regress/regress-r3391.js
deleted file mode 100644
index d557284..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-r3391.js
+++ /dev/null
@@ -1,77 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Check what we do if toLocaleString doesn't return a string when we are
-// calling Array.prototype.toLocaleString. The standard is somewhat
-// vague on this point. This test is now passed by both V8 and JSC.
-
-var evil_called = 0;
-var evil_locale_called = 0;
-var exception_thrown = 0;
-
-function evil_to_string() {
- evil_called++;
- return this;
-}
-
-function evil_to_locale_string() {
- evil_locale_called++;
- return this;
-}
-
-var o = {toString: evil_to_string, toLocaleString: evil_to_locale_string};
-
-try {
- [o].toLocaleString();
-} catch(e) {
- exception_thrown++;
-}
-
-assertEquals(1, evil_called, "evil1");
-assertEquals(1, evil_locale_called, "local1");
-assertEquals(1, exception_thrown, "exception1");
-
-try {
- [o].toString();
-} catch(e) {
- exception_thrown++;
-}
-
-assertEquals(2, evil_called, "evil2");
-assertEquals(1, evil_locale_called, "local2");
-assertEquals(2, exception_thrown, "exception2");
-
-try {
- [o].join(o);
-} catch(e) {
- exception_thrown++;
-}
-
-assertEquals(3, evil_called, "evil3");
-assertEquals(1, evil_locale_called, "local3");
-assertEquals(3, exception_thrown, "exception3");
-print("ok");
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-r4998.js b/src/3rdparty/v8/test/mjsunit/regress/regress-r4998.js
deleted file mode 100644
index 9cf3371..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-r4998.js
+++ /dev/null
@@ -1,94 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test for a broken fast-smi-loop that does not save the incremented value
-// of the loop index. If this test fails, it loops forever, and times out.
-
-// Flags: --nofull-compiler
-
-// Calling foo() spills the virtual frame.
-function foo() {
- return;
-}
-
-function bar() {
- var x1 = 3;
- var x2 = 3;
- var x3 = 3;
- var x4 = 3;
- var x5 = 3;
- var x6 = 3;
- var x7 = 3;
- var x8 = 3;
- var x9 = 3;
- var x10 = 3;
- var x11 = 3;
- var x12 = 3;
- var x13 = 3;
-
- foo();
-
- x1 = 257;
- x2 = 258;
- x3 = 259;
- x4 = 260;
- x5 = 261;
- x6 = 262;
- x7 = 263;
- x8 = 264;
- x9 = 265;
- x10 = 266;
- x11 = 267;
- x12 = 268;
- x13 = 269;
-
- // The loop variable x7 is initialized to 3,
- // and then MakeMergeable is called on the virtual frame.
- // MakeMergeable has forced the loop variable x7 to be spilled,
- // so it is marked as synced
- // The back edge then merges its virtual frame, which incorrectly
- // claims that x7 is synced, and does not save the modified
- // value.
- for (x7 = 3; x7 < 10; ++x7) {
- foo();
- }
-}
-
-bar();
-
-function aliasing() {
- var x = 3;
- var j;
- for (j = 7; j < 11; ++j) {
- x = j;
- }
-
- assertEquals(10, x);
- assertEquals(11, j);
-}
-
-aliasing();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-regexp-codeflush.js b/src/3rdparty/v8/test/mjsunit/regress/regress-regexp-codeflush.js
deleted file mode 100644
index 5fa42bf..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-regexp-codeflush.js
+++ /dev/null
@@ -1,55 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --gc_global
-
-// Regression test for regexp that has multiple matches and which
-// internally calls RegExpImpl::IrregexpExecOnce more than once without
-// ensuring that the regexp is compiled.
-// This can create a crash if the code was exchanged with the sweep
-// generation (for code flushing support) in GC durring the matching.
-
-var re = new RegExp('(s)', "g");
-
-function foo() {
- return "42";
-}
-
-// Run enough times to get a number of GC's (all mark sweep because of the
-// --gc_global) flag.
-for ( var i = 0; i < 10; i++) {
- // Make a long string with plenty of matches for re.
- var x = "s foo s bar s foo s bar s";
- x = x + x;
- x = x + x;
- x = x + x;
- x = x + x;
- x = x + x;
- x = x + x;
- x = x + x;
- x.replace(re, foo);
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-smi-only-concat.js b/src/3rdparty/v8/test/mjsunit/regress/regress-smi-only-concat.js
deleted file mode 100644
index 55ca299..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-smi-only-concat.js
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// This tests that concatenating a fast smi-only array and a fast object array
-// results in a fast object array.
-
-var fast_array = ['a', 'b'];
-var array = fast_array.concat(fast_array);
-
-assertTrue(%HasFastObjectElements(fast_array));
-assertTrue(%HasFastObjectElements(array));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-sqrt.js b/src/3rdparty/v8/test/mjsunit/regress/regress-sqrt.js
deleted file mode 100644
index f2a7e55..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-sqrt.js
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// Check that Math.sqrt returns the same value regardless of being
-// optimized or not.
-
-function f(x) {
- return Math.sqrt(x);
-}
-
-var x = 7.0506280066499245e-233;
-
-var a = f(x);
-
-f(0.1);
-f(0.2);
-%OptimizeFunctionOnNextCall(f);
-
-var b = f(x);
-
-assertEquals(a, b);
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-swapelements.js b/src/3rdparty/v8/test/mjsunit/regress/regress-swapelements.js
deleted file mode 100644
index 7c7a683..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-swapelements.js
+++ /dev/null
@@ -1,55 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Check that modifying an array while sorting it does not segfault. See
-// http://code.google.com/p/chromium/issues/detail?id=66099.
-
-function Item(val) {
- this.value = val;
-}
-
-
-var size = 23;
-var array1 = new Array(size);
-
-
-function myToString() {
- array1.splice(0, 1);
- return this.value.toString();
-}
-
-
-function test() {
- for (var i = 0; i < size; i++) {
- array1[i] = new Item(i);
- array1[i].toString = myToString;
- }
- array1.sort();
-}
-
-
-test();
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-transcendental.js b/src/3rdparty/v8/test/mjsunit/regress/regress-transcendental.js
deleted file mode 100644
index b5dbcb4..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-transcendental.js
+++ /dev/null
@@ -1,49 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-gc
-
-// Test whether the runtime implementation and generated code of
-// sine and tangens return the same results.
-
-function test(f, x, name) {
- // Reset transcendental cache.
- gc();
- // Initializing cache leads to a runtime call.
- var runtime_result = f(x);
- // Flush transcendental cache entries and optimize f.
- for (var i = 0; i < 100000; i++) f(i);
- // Calculate using generated code.
- var gencode_result = f(x);
- print(name + " runtime function: " + runtime_result);
- print(name + " generated code : " + gencode_result);
- assertEquals(gencode_result, runtime_result);
-}
-
-test(Math.tan, -1.57079632679489660000, "Math.tan");
-test(Math.sin, 6.283185307179586, "Math.sin");
-
diff --git a/src/3rdparty/v8/test/mjsunit/regress/regress-undefined-store-keyed-fast-element.js b/src/3rdparty/v8/test/mjsunit/regress/regress-undefined-store-keyed-fast-element.js
deleted file mode 100644
index 9e6ec9d..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/regress-undefined-store-keyed-fast-element.js
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-function f(v) {
- return [0.0, 0.1, 0.2, v];
-}
-
-assertEquals([0.0, 0.1, 0.2, NaN], f(NaN));
-assertEquals([0.0, 0.1, 0.2, NaN], f(NaN));
-%OptimizeFunctionOnNextCall(f);
-assertEquals([0.0, 0.1, 0.2, undefined], f(undefined));
diff --git a/src/3rdparty/v8/test/mjsunit/regress/short-circuit.js b/src/3rdparty/v8/test/mjsunit/regress/short-circuit.js
deleted file mode 100644
index 25363d6..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/short-circuit.js
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var arr = [];
-
-for (var i = 0; i < 28000; i++) {
- arr.push(new RegExp("prefix" + i.toString() + i.toString() + i.toString()));
-}
diff --git a/src/3rdparty/v8/test/mjsunit/regress/splice-missing-wb.js b/src/3rdparty/v8/test/mjsunit/regress/splice-missing-wb.js
deleted file mode 100644
index 5ff0d81..0000000
--- a/src/3rdparty/v8/test/mjsunit/regress/splice-missing-wb.js
+++ /dev/null
@@ -1,56 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-gc
-
-// Create array large enough to span several page regions.
-var a = new Array(500);
-
-// Fill it with values.
-for (var i = 0; i < a.length; i++) a[i] = {idx:i};
-
-// Force it into oldspace.
-gc();
-gc();
-
-// Array should be in old space now. Store young object into array.
-// Region will be marked.
-a[0] = {idx:0};
-
-// Delete elements a[2] .. a[201]. Internally we will use
-// trimming of backing store. a[0] a[1] will be moved to
-// memory location previously occupied by a[200] a[201].
-a.splice(2, 200);
-
-// Force gc and heap verification.
-gc();
-
-// Try accessing a[0].idx. It will segfault if write-barrier was accidentally
-// omitted.
-assertEquals(0, a[0].idx);
-assertEquals(1, a[1].idx);
-assertEquals(202, a[2].idx);
diff --git a/src/3rdparty/v8/test/mjsunit/samevalue.js b/src/3rdparty/v8/test/mjsunit/samevalue.js
deleted file mode 100644
index 6cb35e6..0000000
--- a/src/3rdparty/v8/test/mjsunit/samevalue.js
+++ /dev/null
@@ -1,102 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-// Flags: --expose-natives_as natives
-// Test the SameValue internal method.
-
-var obj1 = {x: 10, y: 11, z: "test"};
-var obj2 = {x: 10, y: 11, z: "test"};
-
-assertTrue(natives.SameValue(0, 0));
-assertTrue(natives.SameValue(+0, +0));
-assertTrue(natives.SameValue(-0, -0));
-assertTrue(natives.SameValue(1, 1));
-assertTrue(natives.SameValue(2, 2));
-assertTrue(natives.SameValue(-1, -1));
-assertTrue(natives.SameValue(0.5, 0.5));
-assertTrue(natives.SameValue(true, true));
-assertTrue(natives.SameValue(false, false));
-assertTrue(natives.SameValue(NaN, NaN));
-assertTrue(natives.SameValue(null, null));
-assertTrue(natives.SameValue("foo", "foo"));
-assertTrue(natives.SameValue(obj1, obj1));
-// Undefined values.
-assertTrue(natives.SameValue());
-assertTrue(natives.SameValue(undefined, undefined));
-
-assertFalse(natives.SameValue(0,1));
-assertFalse(natives.SameValue("foo", "bar"));
-assertFalse(natives.SameValue(obj1, obj2));
-assertFalse(natives.SameValue(true, false));
-
-assertFalse(natives.SameValue(obj1, true));
-assertFalse(natives.SameValue(obj1, "foo"));
-assertFalse(natives.SameValue(obj1, 1));
-assertFalse(natives.SameValue(obj1, undefined));
-assertFalse(natives.SameValue(obj1, NaN));
-
-assertFalse(natives.SameValue(undefined, true));
-assertFalse(natives.SameValue(undefined, "foo"));
-assertFalse(natives.SameValue(undefined, 1));
-assertFalse(natives.SameValue(undefined, obj1));
-assertFalse(natives.SameValue(undefined, NaN));
-
-assertFalse(natives.SameValue(NaN, true));
-assertFalse(natives.SameValue(NaN, "foo"));
-assertFalse(natives.SameValue(NaN, 1));
-assertFalse(natives.SameValue(NaN, obj1));
-assertFalse(natives.SameValue(NaN, undefined));
-
-assertFalse(natives.SameValue("foo", true));
-assertFalse(natives.SameValue("foo", 1));
-assertFalse(natives.SameValue("foo", obj1));
-assertFalse(natives.SameValue("foo", undefined));
-assertFalse(natives.SameValue("foo", NaN));
-
-assertFalse(natives.SameValue(true, 1));
-assertFalse(natives.SameValue(true, obj1));
-assertFalse(natives.SameValue(true, undefined));
-assertFalse(natives.SameValue(true, NaN));
-assertFalse(natives.SameValue(true, "foo"));
-
-assertFalse(natives.SameValue(1, true));
-assertFalse(natives.SameValue(1, obj1));
-assertFalse(natives.SameValue(1, undefined));
-assertFalse(natives.SameValue(1, NaN));
-assertFalse(natives.SameValue(1, "foo"));
-
-// Special string cases.
-assertFalse(natives.SameValue("1", 1));
-assertFalse(natives.SameValue("true", true));
-assertFalse(natives.SameValue("false", false));
-assertFalse(natives.SameValue("undefined", undefined));
-assertFalse(natives.SameValue("NaN", NaN));
-
-// -0 and +0 are should be different
-assertFalse(natives.SameValue(+0, -0));
-assertFalse(natives.SameValue(-0, +0));
diff --git a/src/3rdparty/v8/test/mjsunit/scanner.js b/src/3rdparty/v8/test/mjsunit/scanner.js
deleted file mode 100644
index 516a4e8..0000000
--- a/src/3rdparty/v8/test/mjsunit/scanner.js
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Tests that we check if escaped characters are valid indentifier
-// start characters.
-assertThrows('var \\u0030')
diff --git a/src/3rdparty/v8/test/mjsunit/scope-calls-eval.js b/src/3rdparty/v8/test/mjsunit/scope-calls-eval.js
deleted file mode 100644
index 4a941aa..0000000
--- a/src/3rdparty/v8/test/mjsunit/scope-calls-eval.js
+++ /dev/null
@@ -1,65 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Tests if the information about eval calls in a function is
-// propagated correctly through catch and with blocks.
-
-
-function f1() {
- var x = 5;
- function g() {
- try {
- throw '';
- } catch (e) {
- eval('var x = 3;');
- }
- try {
- throw '';
- } catch (e) {
- return x;
- }
- }
- return g();
-}
-
-
-function f2() {
- var x = 5;
- function g() {
- with ({e:42}) {
- eval('var x = 3;');
- }
- with ({e:42}) {
- return x;
- }
- }
- return g();
-}
-
-
-assertEquals(3, f1());
-assertEquals(3, f2());
diff --git a/src/3rdparty/v8/test/mjsunit/search-string-multiple.js b/src/3rdparty/v8/test/mjsunit/search-string-multiple.js
deleted file mode 100644
index b28fded..0000000
--- a/src/3rdparty/v8/test/mjsunit/search-string-multiple.js
+++ /dev/null
@@ -1,62 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test search and replace where we search for a string, not a regexp.
-
-function TestCase(id, expected_output, regexp_source, flags, input) {
- print(id);
- var re = new RegExp(regexp_source, flags);
- var output = input.replace(re, MakeReplaceString);
- assertEquals(expected_output, output, id);
-}
-
-
-function MakeReplaceString() {
- // Arg 0 is the match, n captures follow, n + 1 is offset of match, n + 2 is
- // the subject.
- var l = arguments.length;
- var a = new Array(l - 3);
- a.push(arguments[0]);
- for (var i = 2; i < l - 2; i++) {
- a.push(arguments[i]);
- }
- return "[@" + arguments[l - 2] + ":" + a.join(",") + "]";
-}
-
-
-(function () {
- TestCase(1,
- "ajaxNiceForm.villesHome([@24:#OBJ#])",
- "#OBJ#",
- "g",
- "ajaxNiceForm.villesHome(#OBJ#)");
- TestCase(2,
- "A long string with no non-ASCII characters",
- "Unicode string \u1234",
- "g",
- "A long string with no non-ASCII characters");
-})();
diff --git a/src/3rdparty/v8/test/mjsunit/setter-on-constructor-prototype.js b/src/3rdparty/v8/test/mjsunit/setter-on-constructor-prototype.js
deleted file mode 100644
index a74f7da..0000000
--- a/src/3rdparty/v8/test/mjsunit/setter-on-constructor-prototype.js
+++ /dev/null
@@ -1,111 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-function RunTest(ensure_fast_case) {
- function C1() {
- this.x = 23;
- };
- C1.prototype = { set x(value) { this.y = 23; } };
- if (ensure_fast_case) {
- %ToFastProperties(C1.prototype);
- }
-
- for (var i = 0; i < 10; i++) {
- var c1 = new C1();
- assertEquals("undefined", typeof c1.x);
- assertEquals(23, c1.y);
- }
-
-
- function C2() {
- this.x = 23;
- };
- C2.prototype = { };
- C2.prototype.__proto__ = { set x(value) { this.y = 23; } };
- if (ensure_fast_case) {
- %ToFastProperties(C2.prototype.__proto__)
- }
-
- for (var i = 0; i < 10; i++) {
- var c2 = new C2();
- assertEquals("undefined", typeof c2.x);
- assertEquals(23, c2.y);
- }
-
-
- function C3() {
- this.x = 23;
- };
- C3.prototype = { };
- C3.prototype.__defineSetter__('x', function(value) { this.y = 23; });
- if (ensure_fast_case) {
- %ToFastProperties(C3.prototype);
- }
-
- for (var i = 0; i < 10; i++) {
- var c3 = new C3();
- assertEquals("undefined", typeof c3.x);
- assertEquals(23, c3.y);
- }
-
-
- function C4() {
- this.x = 23;
- };
- C4.prototype = { };
- C4.prototype.__proto__ = { };
- C4.prototype.__proto__.__defineSetter__('x', function(value) { this.y = 23; });
- if (ensure_fast_case) {
- %ToFastProperties(C4.prototype.__proto__);
- }
-
- for (var i = 0; i < 10; i++) {
- var c4 = new C4();
- assertEquals("undefined", typeof c4.x);
- assertEquals(23, c4.y);
- }
-
-
- function D() {
- this.x = 23;
- };
- D.prototype = 1;
- if (ensure_fast_case) {
- %ToFastProperties(D.prototype);
- }
-
- for (var i = 0; i < 10; i++) {
- var d = new D();
- assertEquals(23, d.x);
- assertEquals("undefined", typeof d.y);
- }
-}
-
-RunTest(false);
-RunTest(true);
diff --git a/src/3rdparty/v8/test/mjsunit/shift-for-integer-div.js b/src/3rdparty/v8/test/mjsunit/shift-for-integer-div.js
deleted file mode 100644
index 0fe1262..0000000
--- a/src/3rdparty/v8/test/mjsunit/shift-for-integer-div.js
+++ /dev/null
@@ -1,59 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function divp4(x) {
- return x / 4;
-}
-
-for (var i = 0; i < 10000; i+=4) {
- assertEquals(i >> 2, divp4(i));
-}
-
-assertEquals(0.5, divp4(2));
-
-function divn4(x) {
- return x / (-4);
-}
-
-for (var i = 0; i < 10000; i+=4) {
- assertEquals(-(i >> 2), divn4(i));
-}
-
-assertEquals(-0, divn4(0));
-
-
-function divn1(x) {
- return x / (-1);
-}
-
-for (var i = 0; i < 10000; i++) {
- assertEquals(-i, divn1(i));
-}
-
-var min_int = -(0x7FFFFFFF)-1;
-assertEquals(-min_int, divn1(min_int));
-
diff --git a/src/3rdparty/v8/test/mjsunit/shifts.js b/src/3rdparty/v8/test/mjsunit/shifts.js
deleted file mode 100644
index b91b3e8..0000000
--- a/src/3rdparty/v8/test/mjsunit/shifts.js
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --nofull-compiler
-
-// test a few corners cases with shifts
-
-// The result of the shift is not a Smi.
-var s1 = 0x3fffffff;
-assertEquals(0x7fffffff, (s1 << 1) + 1);
-
-// The result of the shift is not a Smi.
-var s2 = -1;
-assertEquals(0xffffffff, (s2 >>> 0));
diff --git a/src/3rdparty/v8/test/mjsunit/short-circuit-boolean.js b/src/3rdparty/v8/test/mjsunit/short-circuit-boolean.js
deleted file mode 100644
index df40c22..0000000
--- a/src/3rdparty/v8/test/mjsunit/short-circuit-boolean.js
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test some code paths through the compiler for short-circuited
-// boolean expressions.
-
-function andTest0() {
- var a = 0;
- // Left subexpression is known false at compile time.
- return a != 0 && "failure";
-}
-
-assertFalse(andTest0());
-
-
-function orTest0() {
- var a = 0;
- // Left subexpression is known true at compile time.
- return a == 0 || "failure";
-}
-
-assertTrue(orTest0());
diff --git a/src/3rdparty/v8/test/mjsunit/simple-constructor.js b/src/3rdparty/v8/test/mjsunit/simple-constructor.js
deleted file mode 100755
index e9ae921..0000000
--- a/src/3rdparty/v8/test/mjsunit/simple-constructor.js
+++ /dev/null
@@ -1,140 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function props(x) {
- var array = [];
- for (var p in x) array.push(p);
- return array.sort();
-}
-
-function f1() {
- this.x = 1;
-}
-
-function f2(x) {
- this.x = x;
-}
-
-function f3(x) {
- this.x = x;
- this.y = 1;
- this.z = f1;
-}
-
-function f4(x) {
- this.x = x;
- this.y = 1;
- if (x == 1) return;
- this.z = f1;
-}
-
-o1_1 = new f1();
-assertEquals(1, o1_1.x, "1");
-o1_2 = new f1();
-assertEquals(1, o1_1.x, "2");
-assertArrayEquals(["x"], props(o1_1), "3");
-assertArrayEquals(["x"], props(o1_2), "4");
-
-o2_1 = new f2(0);
-o2_2 = new f2(0);
-assertArrayEquals(["x"], props(o2_1));
-assertArrayEquals(["x"], props(o2_2));
-
-o3_1 = new f3(0);
-o3_2 = new f3(0);
-assertArrayEquals(["x", "y", "z"], props(o3_1));
-assertArrayEquals(["x", "y", "z"], props(o3_2));
-
-o4_0_1 = new f4(0);
-o4_0_2 = new f4(0);
-assertArrayEquals(["x", "y", "z"], props(o4_0_1));
-assertArrayEquals(["x", "y", "z"], props(o4_0_2));
-
-o4_1_1 = new f4(1);
-o4_1_2 = new f4(1);
-assertArrayEquals(["x", "y"], props(o4_1_1));
-assertArrayEquals(["x", "y"], props(o4_1_2));
-
-function f5(x, y) {
- this.x = x;
- this.y = y;
-}
-
-function f6(x, y) {
- this.y = y;
- this.x = x;
-}
-
-function f7(x, y, z) {
- this.x = x;
- this.y = y;
-}
-
-function testArgs(fun) {
- obj = new fun();
- assertArrayEquals(["x", "y"], props(obj));
- assertEquals(void 0, obj.x);
- assertEquals(void 0, obj.y);
-
- obj = new fun("x");
- assertArrayEquals(["x", "y"], props(obj));
- assertEquals("x", obj.x);
- assertEquals(void 0, obj.y);
-
- obj = new fun("x", "y");
- assertArrayEquals(["x", "y"], props(obj));
- assertEquals("x", obj.x);
- assertEquals("y", obj.y);
-
- obj = new fun("x", "y", "z");
- assertArrayEquals(["x", "y"], props(obj));
- assertEquals("x", obj.x);
- assertEquals("y", obj.y);
-}
-
-for (var i = 0; i < 10; i++) {
- testArgs(f5);
- testArgs(f6);
- testArgs(f7);
-}
-
-function g(){
- this.x=1
-}
-
-o = new g();
-assertEquals(1, o.x);
-o = new g();
-assertEquals(1, o.x);
-g.prototype = {y:2}
-o = new g();
-assertEquals(1, o.x);
-assertEquals(2, o.y);
-o = new g();
-assertEquals(1, o.x);
-assertEquals(2, o.y);
-
diff --git a/src/3rdparty/v8/test/mjsunit/sin-cos.js b/src/3rdparty/v8/test/mjsunit/sin-cos.js
deleted file mode 100644
index e38dfdf..0000000
--- a/src/3rdparty/v8/test/mjsunit/sin-cos.js
+++ /dev/null
@@ -1,50 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test Math.sin and Math.cos.
-
-function sinTest() {
- assertEquals(0, Math.sin(0));
- assertEquals(1, Math.sin(Math.PI / 2));
-}
-
-function cosTest() {
- assertEquals(1, Math.cos(0));
- assertEquals(-1, Math.cos(Math.PI));
-}
-
-sinTest();
-cosTest();
-
-// By accident, the slow case for sine and cosine were both sine at
-// some point. This is a regression test for that issue.
-var x = Math.pow(2, 70);
-assertTrue(Math.sin(x) != Math.cos(x));
-
-// Ensure that sine and log are not the same.
-x = 0.5;
-assertTrue(Math.sin(x) != Math.log(x));
diff --git a/src/3rdparty/v8/test/mjsunit/smi-negative-zero.js b/src/3rdparty/v8/test/mjsunit/smi-negative-zero.js
deleted file mode 100644
index 1bab920..0000000
--- a/src/3rdparty/v8/test/mjsunit/smi-negative-zero.js
+++ /dev/null
@@ -1,113 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Ensure that operations on small integers handle -0.
-
-var zero = 0;
-var one = 1;
-var minus_one = -1;
-var two = 2;
-var four = 4;
-var minus_two = -2;
-var minus_four = -4;
-
-// variable op variable
-
-assertEquals(-Infinity, one / (-zero), "one / -0 I");
-
-assertEquals(-Infinity, one / (zero * minus_one), "one / -1");
-assertEquals(-Infinity, one / (minus_one * zero), "one / -0 II");
-assertEquals(Infinity, one / (zero * zero), "one / 0 I");
-assertEquals(1, one / (minus_one * minus_one), "one / 1");
-
-assertEquals(-Infinity, one / (zero / minus_one), "one / -0 III");
-assertEquals(Infinity, one / (zero / one), "one / 0 II");
-
-assertEquals(-Infinity, one / (minus_four % two), "foo1");
-assertEquals(-Infinity, one / (minus_four % minus_two), "foo2");
-assertEquals(Infinity, one / (four % two), "foo3");
-assertEquals(Infinity, one / (four % minus_two), "foo4");
-
-// literal op variable
-
-assertEquals(-Infinity, one / (0 * minus_one), "bar1");
-assertEquals(-Infinity, one / (-1 * zero), "bar2");
-assertEquals(Infinity, one / (0 * zero), "bar3");
-assertEquals(1, one / (-1 * minus_one), "bar4");
-
-assertEquals(-Infinity, one / (0 / minus_one), "baz1");
-assertEquals(Infinity, one / (0 / one), "baz2");
-
-assertEquals(-Infinity, one / (-4 % two), "baz3");
-assertEquals(-Infinity, one / (-4 % minus_two), "baz4");
-assertEquals(Infinity, one / (4 % two), "baz5");
-assertEquals(Infinity, one / (4 % minus_two), "baz6");
-
-// variable op literal
-
-assertEquals(-Infinity, one / (zero * -1), "fizz1");
-assertEquals(-Infinity, one / (minus_one * 0), "fizz2");
-assertEquals(Infinity, one / (zero * 0), "fizz3");
-assertEquals(1, one / (minus_one * -1), "fizz4");
-
-assertEquals(-Infinity, one / (zero / -1), "buzz1");
-assertEquals(Infinity, one / (zero / 1), "buzz2");
-
-assertEquals(-Infinity, one / (minus_four % 2), "buzz3");
-assertEquals(-Infinity, one / (minus_four % -2), "buzz4");
-assertEquals(Infinity, one / (four % 2), "buzz5");
-assertEquals(Infinity, one / (four % -2), "buzz6");
-
-// literal op literal
-
-assertEquals(-Infinity, one / (-0), "fisk1");
-
-assertEquals(-Infinity, one / (0 * -1), "fisk2");
-assertEquals(-Infinity, one / (-1 * 0), "fisk3");
-assertEquals(Infinity, one / (0 * 0), "fisk4");
-assertEquals(1, one / (-1 * -1), "fisk5");
-
-assertEquals(-Infinity, one / (0 / -1), "hest1");
-assertEquals(Infinity, one / (0 / 1), "hest2");
-
-assertEquals(-Infinity, one / (-4 % 2), "fiskhest1");
-assertEquals(-Infinity, one / (-4 % -2), "fiskhest2");
-assertEquals(Infinity, one / (4 % 2), "fiskhest3");
-assertEquals(Infinity, one / (4 % -2), "fiskhest4");
-
-
-// This tests against a singleton -0.0 object being overwritten.gc
-x = 0;
-z = 3044;
-
-function foo(x) {
- var y = -x + z;
- return -x;
-}
-
-assertEquals(-0, foo(x));
-assertEquals(-0, foo(x));
diff --git a/src/3rdparty/v8/test/mjsunit/smi-ops-inlined.js b/src/3rdparty/v8/test/mjsunit/smi-ops-inlined.js
deleted file mode 100644
index afc6cc0..0000000
--- a/src/3rdparty/v8/test/mjsunit/smi-ops-inlined.js
+++ /dev/null
@@ -1,673 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --always-inline-smi-code
-
-const SMI_MAX = (1 << 30) - 1;
-const SMI_MIN = -(1 << 30);
-const ONE = 1;
-const ONE_HUNDRED = 100;
-
-const OBJ_42 = new (function() {
- this.valueOf = function() { return 42; };
-})();
-
-assertEquals(42, OBJ_42.valueOf());
-
-
-function Add1(x) {
- return x + 1;
-}
-
-function Add100(x) {
- return x + 100;
-}
-
-function Add1Reversed(x) {
- return 1 + x;
-}
-
-function Add100Reversed(x) {
- return 100 + x;
-}
-
-
-assertEquals(1, Add1(0)); // fast case
-assertEquals(1, Add1Reversed(0)); // fast case
-assertEquals(SMI_MAX + ONE, Add1(SMI_MAX), "smimax + 1");
-assertEquals(SMI_MAX + ONE, Add1Reversed(SMI_MAX), "1 + smimax");
-assertEquals(42 + ONE, Add1(OBJ_42)); // non-smi
-assertEquals(42 + ONE, Add1Reversed(OBJ_42)); // non-smi
-
-assertEquals(100, Add100(0)); // fast case
-assertEquals(100, Add100Reversed(0)); // fast case
-assertEquals(SMI_MAX + ONE_HUNDRED, Add100(SMI_MAX), "smimax + 100");
-assertEquals(SMI_MAX + ONE_HUNDRED, Add100Reversed(SMI_MAX), " 100 + smimax");
-assertEquals(42 + ONE_HUNDRED, Add100(OBJ_42)); // non-smi
-assertEquals(42 + ONE_HUNDRED, Add100Reversed(OBJ_42)); // non-smi
-
-
-
-function Sub1(x) {
- return x - 1;
-}
-
-function Sub100(x) {
- return x - 100;
-}
-
-function Sub1Reversed(x) {
- return 1 - x;
-}
-
-function Sub100Reversed(x) {
- return 100 - x;
-}
-
-
-assertEquals(0, Sub1(1)); // fast case
-assertEquals(-1, Sub1Reversed(2)); // fast case
-assertEquals(SMI_MIN - ONE, Sub1(SMI_MIN)); // overflow
-assertEquals(ONE - SMI_MIN, Sub1Reversed(SMI_MIN)); // overflow
-assertEquals(42 - ONE, Sub1(OBJ_42)); // non-smi
-assertEquals(ONE - 42, Sub1Reversed(OBJ_42)); // non-smi
-
-assertEquals(0, Sub100(100)); // fast case
-assertEquals(1, Sub100Reversed(99)); // fast case
-assertEquals(SMI_MIN - ONE_HUNDRED, Sub100(SMI_MIN)); // overflow
-assertEquals(ONE_HUNDRED - SMI_MIN, Sub100Reversed(SMI_MIN)); // overflow
-assertEquals(42 - ONE_HUNDRED, Sub100(OBJ_42)); // non-smi
-assertEquals(ONE_HUNDRED - 42, Sub100Reversed(OBJ_42)); // non-smi
-
-
-function Shr1(x) {
- return x >>> 1;
-}
-
-function Shr100(x) {
- return x >>> 100;
-}
-
-function Shr1Reversed(x) {
- return 1 >>> x;
-}
-
-function Shr100Reversed(x) {
- return 100 >>> x;
-}
-
-function Sar1(x) {
- return x >> 1;
-}
-
-function Sar100(x) {
- return x >> 100;
-}
-
-function Sar1Reversed(x) {
- return 1 >> x;
-}
-
-function Sar100Reversed(x) {
- return 100 >> x;
-}
-
-
-assertEquals(0, Shr1(1));
-assertEquals(0, Sar1(1));
-assertEquals(0, Shr1Reversed(2));
-assertEquals(0, Sar1Reversed(2));
-assertEquals(1610612736, Shr1(SMI_MIN));
-assertEquals(-536870912, Sar1(SMI_MIN));
-assertEquals(1, Shr1Reversed(SMI_MIN));
-assertEquals(1, Sar1Reversed(SMI_MIN));
-assertEquals(21, Shr1(OBJ_42));
-assertEquals(21, Sar1(OBJ_42));
-assertEquals(0, Shr1Reversed(OBJ_42));
-assertEquals(0, Sar1Reversed(OBJ_42));
-
-assertEquals(6, Shr100(100), "100 >>> 100");
-assertEquals(6, Sar100(100), "100 >> 100");
-assertEquals(12, Shr100Reversed(99));
-assertEquals(12, Sar100Reversed(99));
-assertEquals(201326592, Shr100(SMI_MIN));
-assertEquals(-67108864, Sar100(SMI_MIN));
-assertEquals(100, Shr100Reversed(SMI_MIN));
-assertEquals(100, Sar100Reversed(SMI_MIN));
-assertEquals(2, Shr100(OBJ_42));
-assertEquals(2, Sar100(OBJ_42));
-assertEquals(0, Shr100Reversed(OBJ_42));
-assertEquals(0, Sar100Reversed(OBJ_42));
-
-
-function Xor1(x) {
- return x ^ 1;
-}
-
-function Xor100(x) {
- return x ^ 100;
-}
-
-function Xor1Reversed(x) {
- return 1 ^ x;
-}
-
-function Xor100Reversed(x) {
- return 100 ^ x;
-}
-
-
-assertEquals(0, Xor1(1));
-assertEquals(3, Xor1Reversed(2));
-assertEquals(SMI_MIN + 1, Xor1(SMI_MIN));
-assertEquals(SMI_MIN + 1, Xor1Reversed(SMI_MIN));
-assertEquals(43, Xor1(OBJ_42));
-assertEquals(43, Xor1Reversed(OBJ_42));
-
-assertEquals(0, Xor100(100));
-assertEquals(7, Xor100Reversed(99));
-assertEquals(-1073741724, Xor100(SMI_MIN));
-assertEquals(-1073741724, Xor100Reversed(SMI_MIN));
-assertEquals(78, Xor100(OBJ_42));
-assertEquals(78, Xor100Reversed(OBJ_42));
-
-var x = 0x23; var y = 0x35;
-assertEquals(0x16, x ^ y);
-
-
-// Bitwise not.
-var v = 0;
-assertEquals(-1, ~v);
-v = SMI_MIN;
-assertEquals(0x3fffffff, ~v, "~smimin");
-v = SMI_MAX;
-assertEquals(-0x40000000, ~v, "~smimax");
-
-// Overflowing ++ and --.
-v = SMI_MAX;
-v++;
-assertEquals(0x40000000, v, "smimax++");
-v = SMI_MIN;
-v--;
-assertEquals(-0x40000001, v, "smimin--");
-
-// Not actually Smi operations.
-// Check that relations on unary ops work.
-var v = -1.2;
-assertTrue(v == v);
-assertTrue(v === v);
-assertTrue(v <= v);
-assertTrue(v >= v);
-assertFalse(v < v);
-assertFalse(v > v);
-assertFalse(v != v);
-assertFalse(v !== v);
-
-// Right hand side of unary minus is overwritable.
-v = 1.5
-assertEquals(-2.25, -(v * v));
-
-// Smi input to bitop gives non-smi result where the rhs is a float that
-// can be overwritten.
-var x1 = 0x10000000;
-var x2 = 0x40000002;
-var x3 = 0x40000000;
-assertEquals(0x40000000, x1 << (x2 - x3), "0x10000000<<1(1)");
-
-// Smi input to bitop gives non-smi result where the rhs could be overwritten
-// if it were a float, but it isn't.
-x1 = 0x10000000
-x2 = 4
-x3 = 2
-assertEquals(0x40000000, x1 << (x2 - x3), "0x10000000<<2(2)");
-
-
-// Test shift operators on non-smi inputs, giving smi and non-smi results.
-function testShiftNonSmis() {
- var pos_non_smi = 2000000000;
- var neg_non_smi = -pos_non_smi;
- var pos_smi = 1000000000;
- var neg_smi = -pos_smi;
-
- // Begin block A
- assertEquals(pos_non_smi, (pos_non_smi) >> 0);
- assertEquals(pos_non_smi, (pos_non_smi) >>> 0);
- assertEquals(pos_non_smi, (pos_non_smi) << 0);
- assertEquals(neg_non_smi, (neg_non_smi) >> 0);
- assertEquals(neg_non_smi + 0x100000000, (neg_non_smi) >>> 0);
- assertEquals(neg_non_smi, (neg_non_smi) << 0);
- assertEquals(pos_smi, (pos_smi) >> 0, "possmi >> 0");
- assertEquals(pos_smi, (pos_smi) >>> 0, "possmi >>>0");
- assertEquals(pos_smi, (pos_smi) << 0, "possmi << 0");
- assertEquals(neg_smi, (neg_smi) >> 0, "negsmi >> 0");
- assertEquals(neg_smi + 0x100000000, (neg_smi) >>> 0, "negsmi >>> 0");
- assertEquals(neg_smi, (neg_smi) << 0), "negsmi << 0";
-
- assertEquals(pos_non_smi / 2, (pos_non_smi) >> 1);
- assertEquals(pos_non_smi / 2, (pos_non_smi) >>> 1);
- assertEquals(-0x1194D800, (pos_non_smi) << 1);
- assertEquals(pos_non_smi / 8, (pos_non_smi) >> 3);
- assertEquals(pos_non_smi / 8, (pos_non_smi) >>> 3);
- assertEquals(-0x46536000, (pos_non_smi) << 3);
- assertEquals(0x73594000, (pos_non_smi) << 4);
- assertEquals(pos_non_smi, (pos_non_smi + 0.5) >> 0);
- assertEquals(pos_non_smi, (pos_non_smi + 0.5) >>> 0);
- assertEquals(pos_non_smi, (pos_non_smi + 0.5) << 0);
- assertEquals(pos_non_smi / 2, (pos_non_smi + 0.5) >> 1);
- assertEquals(pos_non_smi / 2, (pos_non_smi + 0.5) >>> 1);
- assertEquals(-0x1194D800, (pos_non_smi + 0.5) << 1);
- assertEquals(pos_non_smi / 8, (pos_non_smi + 0.5) >> 3);
- assertEquals(pos_non_smi / 8, (pos_non_smi + 0.5) >>> 3);
- assertEquals(-0x46536000, (pos_non_smi + 0.5) << 3);
- assertEquals(0x73594000, (pos_non_smi + 0.5) << 4);
-
- assertEquals(neg_non_smi / 2, (neg_non_smi) >> 1, "negnonsmi >> 1");
-
- assertEquals(neg_non_smi / 2 + 0x100000000 / 2, (neg_non_smi) >>> 1,
- "negnonsmi >>> 1");
- assertEquals(0x1194D800, (neg_non_smi) << 1);
- assertEquals(neg_non_smi / 8, (neg_non_smi) >> 3);
- assertEquals(neg_non_smi / 8 + 0x100000000 / 8, (neg_non_smi) >>> 3);
- assertEquals(0x46536000, (neg_non_smi) << 3);
- assertEquals(-0x73594000, (neg_non_smi) << 4);
- assertEquals(neg_non_smi, (neg_non_smi - 0.5) >> 0);
- assertEquals(neg_non_smi + 0x100000000, (neg_non_smi - 0.5) >>> 0,
- "negnonsmi.5 >>> 0");
- assertEquals(neg_non_smi, (neg_non_smi - 0.5) << 0);
- assertEquals(neg_non_smi / 2, (neg_non_smi - 0.5) >> 1);
- assertEquals(neg_non_smi / 2 + 0x100000000 / 2, (neg_non_smi - 0.5) >>> 1,
- "negnonsmi.5 >>> 1");
- assertEquals(0x1194D800, (neg_non_smi - 0.5) << 1);
- assertEquals(neg_non_smi / 8, (neg_non_smi - 0.5) >> 3);
- assertEquals(neg_non_smi / 8 + 0x100000000 / 8, (neg_non_smi - 0.5) >>> 3);
- assertEquals(0x46536000, (neg_non_smi - 0.5) << 3);
- assertEquals(-0x73594000, (neg_non_smi - 0.5) << 4);
-
- assertEquals(pos_smi / 2, (pos_smi) >> 1);
- assertEquals(pos_smi / 2, (pos_smi) >>> 1);
- assertEquals(pos_non_smi, (pos_smi) << 1);
- assertEquals(pos_smi / 8, (pos_smi) >> 3);
- assertEquals(pos_smi / 8, (pos_smi) >>> 3);
- assertEquals(-0x2329b000, (pos_smi) << 3);
- assertEquals(0x73594000, (pos_smi) << 5);
- assertEquals(pos_smi, (pos_smi + 0.5) >> 0, "possmi.5 >> 0");
- assertEquals(pos_smi, (pos_smi + 0.5) >>> 0, "possmi.5 >>> 0");
- assertEquals(pos_smi, (pos_smi + 0.5) << 0, "possmi.5 << 0");
- assertEquals(pos_smi / 2, (pos_smi + 0.5) >> 1);
- assertEquals(pos_smi / 2, (pos_smi + 0.5) >>> 1);
- assertEquals(pos_non_smi, (pos_smi + 0.5) << 1);
- assertEquals(pos_smi / 8, (pos_smi + 0.5) >> 3);
- assertEquals(pos_smi / 8, (pos_smi + 0.5) >>> 3);
- assertEquals(-0x2329b000, (pos_smi + 0.5) << 3);
- assertEquals(0x73594000, (pos_smi + 0.5) << 5);
-
- assertEquals(neg_smi / 2, (neg_smi) >> 1);
- assertEquals(neg_smi / 2 + 0x100000000 / 2, (neg_smi) >>> 1);
- assertEquals(neg_non_smi, (neg_smi) << 1);
- assertEquals(neg_smi / 8, (neg_smi) >> 3);
- assertEquals(neg_smi / 8 + 0x100000000 / 8, (neg_smi) >>> 3);
- assertEquals(0x46536000, (neg_smi) << 4);
- assertEquals(-0x73594000, (neg_smi) << 5);
- assertEquals(neg_smi, (neg_smi - 0.5) >> 0, "negsmi.5 >> 0");
- assertEquals(neg_smi + 0x100000000, (neg_smi - 0.5) >>> 0, "negsmi.5 >>> 0");
- assertEquals(neg_smi, (neg_smi - 0.5) << 0, "negsmi.5 << 0");
- assertEquals(neg_smi / 2, (neg_smi - 0.5) >> 1);
- assertEquals(neg_smi / 2 + 0x100000000 / 2, (neg_smi - 0.5) >>> 1);
- assertEquals(neg_non_smi, (neg_smi - 0.5) << 1);
- assertEquals(neg_smi / 8, (neg_smi - 0.5) >> 3);
- assertEquals(neg_smi / 8 + 0x100000000 / 8, (neg_smi - 0.5) >>> 3);
- assertEquals(0x46536000, (neg_smi - 0.5) << 4);
- assertEquals(-0x73594000, (neg_smi - 0.5) << 5);
- // End block A
-
- // Repeat block A with 2^32 added to positive numbers and
- // 2^32 subtracted from negative numbers.
- // Begin block A repeat 1
- var two_32 = 0x100000000;
- var neg_32 = -two_32;
- assertEquals(pos_non_smi, (two_32 + pos_non_smi) >> 0);
- assertEquals(pos_non_smi, (two_32 + pos_non_smi) >>> 0);
- assertEquals(pos_non_smi, (two_32 + pos_non_smi) << 0);
- assertEquals(neg_non_smi, (neg_32 + neg_non_smi) >> 0);
- assertEquals(neg_non_smi + 0x100000000, (neg_32 + neg_non_smi) >>> 0);
- assertEquals(neg_non_smi, (neg_32 + neg_non_smi) << 0);
- assertEquals(pos_smi, (two_32 + pos_smi) >> 0, "2^32+possmi >> 0");
- assertEquals(pos_smi, (two_32 + pos_smi) >>> 0, "2^32+possmi >>> 0");
- assertEquals(pos_smi, (two_32 + pos_smi) << 0, "2^32+possmi << 0");
- assertEquals(neg_smi, (neg_32 + neg_smi) >> 0, "2^32+negsmi >> 0");
- assertEquals(neg_smi + 0x100000000, (neg_32 + neg_smi) >>> 0);
- assertEquals(neg_smi, (neg_32 + neg_smi) << 0, "2^32+negsmi << 0");
-
- assertEquals(pos_non_smi / 2, (two_32 + pos_non_smi) >> 1);
- assertEquals(pos_non_smi / 2, (two_32 + pos_non_smi) >>> 1);
- assertEquals(-0x1194D800, (two_32 + pos_non_smi) << 1);
- assertEquals(pos_non_smi / 8, (two_32 + pos_non_smi) >> 3);
- assertEquals(pos_non_smi / 8, (two_32 + pos_non_smi) >>> 3);
- assertEquals(-0x46536000, (two_32 + pos_non_smi) << 3);
- assertEquals(0x73594000, (two_32 + pos_non_smi) << 4);
- assertEquals(pos_non_smi, (two_32 + pos_non_smi + 0.5) >> 0);
- assertEquals(pos_non_smi, (two_32 + pos_non_smi + 0.5) >>> 0);
- assertEquals(pos_non_smi, (two_32 + pos_non_smi + 0.5) << 0);
- assertEquals(pos_non_smi / 2, (two_32 + pos_non_smi + 0.5) >> 1);
- assertEquals(pos_non_smi / 2, (two_32 + pos_non_smi + 0.5) >>> 1);
- assertEquals(-0x1194D800, (two_32 + pos_non_smi + 0.5) << 1);
- assertEquals(pos_non_smi / 8, (two_32 + pos_non_smi + 0.5) >> 3);
- assertEquals(pos_non_smi / 8, (two_32 + pos_non_smi + 0.5) >>> 3);
- assertEquals(-0x46536000, (two_32 + pos_non_smi + 0.5) << 3);
- assertEquals(0x73594000, (two_32 + pos_non_smi + 0.5) << 4);
-
- assertEquals(neg_non_smi / 2, (neg_32 + neg_non_smi) >> 1);
- assertEquals(neg_non_smi / 2 + 0x100000000 / 2, (neg_32 + neg_non_smi) >>> 1);
- assertEquals(0x1194D800, (neg_32 + neg_non_smi) << 1);
- assertEquals(neg_non_smi / 8, (neg_32 + neg_non_smi) >> 3);
- assertEquals(neg_non_smi / 8 + 0x100000000 / 8, (neg_32 + neg_non_smi) >>> 3);
- assertEquals(0x46536000, (neg_32 + neg_non_smi) << 3);
- assertEquals(-0x73594000, (neg_32 + neg_non_smi) << 4);
- assertEquals(neg_non_smi, (neg_32 + neg_non_smi - 0.5) >> 0);
- assertEquals(neg_non_smi + 0x100000000, (neg_32 + neg_non_smi - 0.5) >>> 0);
- assertEquals(neg_non_smi, (neg_32 + neg_non_smi - 0.5) << 0);
- assertEquals(neg_non_smi / 2, (neg_32 + neg_non_smi - 0.5) >> 1);
- assertEquals(neg_non_smi / 2 + 0x100000000 / 2, (neg_32 + neg_non_smi - 0.5)
- >>> 1);
- assertEquals(0x1194D800, (neg_32 + neg_non_smi - 0.5) << 1);
- assertEquals(neg_non_smi / 8, (neg_32 + neg_non_smi - 0.5) >> 3);
- assertEquals(neg_non_smi / 8 + 0x100000000 / 8, (neg_32 + neg_non_smi - 0.5)
- >>> 3);
- assertEquals(0x46536000, (neg_32 + neg_non_smi - 0.5) << 3);
- assertEquals(-0x73594000, (neg_32 + neg_non_smi - 0.5) << 4);
-
- assertEquals(pos_smi / 2, (two_32 + pos_smi) >> 1);
- assertEquals(pos_smi / 2, (two_32 + pos_smi) >>> 1);
- assertEquals(pos_non_smi, (two_32 + pos_smi) << 1);
- assertEquals(pos_smi / 8, (two_32 + pos_smi) >> 3);
- assertEquals(pos_smi / 8, (two_32 + pos_smi) >>> 3);
- assertEquals(-0x2329b000, (two_32 + pos_smi) << 3);
- assertEquals(0x73594000, (two_32 + pos_smi) << 5);
- assertEquals(pos_smi, (two_32 + pos_smi + 0.5) >> 0);
- assertEquals(pos_smi, (two_32 + pos_smi + 0.5) >>> 0);
- assertEquals(pos_smi, (two_32 + pos_smi + 0.5) << 0);
- assertEquals(pos_smi / 2, (two_32 + pos_smi + 0.5) >> 1);
- assertEquals(pos_smi / 2, (two_32 + pos_smi + 0.5) >>> 1);
- assertEquals(pos_non_smi, (two_32 + pos_smi + 0.5) << 1);
- assertEquals(pos_smi / 8, (two_32 + pos_smi + 0.5) >> 3);
- assertEquals(pos_smi / 8, (two_32 + pos_smi + 0.5) >>> 3);
- assertEquals(-0x2329b000, (two_32 + pos_smi + 0.5) << 3);
- assertEquals(0x73594000, (two_32 + pos_smi + 0.5) << 5);
-
- assertEquals(neg_smi / 2, (neg_32 + neg_smi) >> 1);
- assertEquals(neg_smi / 2 + 0x100000000 / 2, (neg_32 + neg_smi) >>> 1);
- assertEquals(neg_non_smi, (neg_32 + neg_smi) << 1);
- assertEquals(neg_smi / 8, (neg_32 + neg_smi) >> 3);
- assertEquals((neg_smi + 0x100000000) / 8, (neg_32 + neg_smi) >>> 3);
- assertEquals(0x46536000, (neg_32 + neg_smi) << 4);
- assertEquals(-0x73594000, (neg_32 + neg_smi) << 5);
- assertEquals(neg_smi, (neg_32 + neg_smi - 0.5) >> 0, "-2^32+negsmi.5 >> 0");
- assertEquals(neg_smi + 0x100000000, (neg_32 + neg_smi - 0.5) >>> 0);
- assertEquals(neg_smi, (neg_32 + neg_smi - 0.5) << 0, "-2^32+negsmi.5 << 0");
- assertEquals(neg_smi / 2, (neg_32 + neg_smi - 0.5) >> 1);
- assertEquals(neg_smi / 2 + 0x100000000 / 2, (neg_32 + neg_smi - 0.5) >>> 1);
- assertEquals(neg_non_smi, (neg_32 + neg_smi - 0.5) << 1);
- assertEquals(neg_smi / 8, (neg_32 + neg_smi - 0.5) >> 3);
- assertEquals(neg_smi / 8 + 0x100000000 / 8, (neg_32 + neg_smi - 0.5) >>> 3);
- assertEquals(0x46536000, (neg_32 + neg_smi - 0.5) << 4);
- assertEquals(-0x73594000, (neg_32 + neg_smi - 0.5) << 5);
- // End block A repeat 1
- // Repeat block A with shift amounts in variables intialized with
- // a constant.
- var zero = 0;
- var one = 1;
- var three = 3;
- var four = 4;
- var five = 5;
- // Begin block A repeat 2
- assertEquals(pos_non_smi, (pos_non_smi) >> zero);
- assertEquals(pos_non_smi, (pos_non_smi) >>> zero);
- assertEquals(pos_non_smi, (pos_non_smi) << zero);
- assertEquals(neg_non_smi, (neg_non_smi) >> zero);
- assertEquals(neg_non_smi + 0x100000000, (neg_non_smi) >>> zero);
- assertEquals(neg_non_smi, (neg_non_smi) << zero);
- assertEquals(pos_smi, (pos_smi) >> zero);
- assertEquals(pos_smi, (pos_smi) >>> zero);
- assertEquals(pos_smi, (pos_smi) << zero);
- assertEquals(neg_smi, (neg_smi) >> zero, "negsmi >> zero");
- assertEquals(neg_smi + 0x100000000, (neg_smi) >>> zero);
- assertEquals(neg_smi, (neg_smi) << zero, "negsmi << zero");
-
- assertEquals(pos_non_smi / 2, (pos_non_smi) >> one);
- assertEquals(pos_non_smi / 2, (pos_non_smi) >>> one);
- assertEquals(-0x1194D800, (pos_non_smi) << one);
- assertEquals(pos_non_smi / 8, (pos_non_smi) >> three);
- assertEquals(pos_non_smi / 8, (pos_non_smi) >>> three);
- assertEquals(-0x46536000, (pos_non_smi) << three);
- assertEquals(0x73594000, (pos_non_smi) << four);
- assertEquals(pos_non_smi, (pos_non_smi + 0.5) >> zero);
- assertEquals(pos_non_smi, (pos_non_smi + 0.5) >>> zero);
- assertEquals(pos_non_smi, (pos_non_smi + 0.5) << zero);
- assertEquals(pos_non_smi / 2, (pos_non_smi + 0.5) >> one);
- assertEquals(pos_non_smi / 2, (pos_non_smi + 0.5) >>> one);
- assertEquals(-0x1194D800, (pos_non_smi + 0.5) << one);
- assertEquals(pos_non_smi / 8, (pos_non_smi + 0.5) >> three);
- assertEquals(pos_non_smi / 8, (pos_non_smi + 0.5) >>> three);
- assertEquals(-0x46536000, (pos_non_smi + 0.5) << three);
- assertEquals(0x73594000, (pos_non_smi + 0.5) << four);
-
- assertEquals(neg_non_smi / 2, (neg_non_smi) >> one);
- assertEquals(neg_non_smi / 2 + 0x100000000 / 2, (neg_non_smi) >>> one);
- assertEquals(0x1194D800, (neg_non_smi) << one);
- assertEquals(neg_non_smi / 8, (neg_non_smi) >> three);
- assertEquals(neg_non_smi / 8 + 0x100000000 / 8, (neg_non_smi) >>> three);
- assertEquals(0x46536000, (neg_non_smi) << three);
- assertEquals(-0x73594000, (neg_non_smi) << four);
- assertEquals(neg_non_smi, (neg_non_smi - 0.5) >> zero);
- assertEquals(neg_non_smi + 0x100000000, (neg_non_smi - 0.5) >>> zero);
- assertEquals(neg_non_smi, (neg_non_smi - 0.5) << zero);
- assertEquals(neg_non_smi / 2, (neg_non_smi - 0.5) >> one);
- assertEquals(neg_non_smi / 2 + 0x100000000 / 2, (neg_non_smi - 0.5) >>> one);
- assertEquals(0x1194D800, (neg_non_smi - 0.5) << one);
- assertEquals(neg_non_smi / 8, (neg_non_smi - 0.5) >> three);
- assertEquals(neg_non_smi / 8 + 0x100000000 / 8, (neg_non_smi - 0.5)
- >>> three);
- assertEquals(0x46536000, (neg_non_smi - 0.5) << three);
- assertEquals(-0x73594000, (neg_non_smi - 0.5) << four);
-
- assertEquals(pos_smi / 2, (pos_smi) >> one);
- assertEquals(pos_smi / 2, (pos_smi) >>> one);
- assertEquals(pos_non_smi, (pos_smi) << one);
- assertEquals(pos_smi / 8, (pos_smi) >> three);
- assertEquals(pos_smi / 8, (pos_smi) >>> three);
- assertEquals(-0x2329b000, (pos_smi) << three);
- assertEquals(0x73594000, (pos_smi) << five);
- assertEquals(pos_smi, (pos_smi + 0.5) >> zero);
- assertEquals(pos_smi, (pos_smi + 0.5) >>> zero);
- assertEquals(pos_smi, (pos_smi + 0.5) << zero);
- assertEquals(pos_smi / 2, (pos_smi + 0.5) >> one);
- assertEquals(pos_smi / 2, (pos_smi + 0.5) >>> one);
- assertEquals(pos_non_smi, (pos_smi + 0.5) << one);
- assertEquals(pos_smi / 8, (pos_smi + 0.5) >> three);
- assertEquals(pos_smi / 8, (pos_smi + 0.5) >>> three);
- assertEquals(-0x2329b000, (pos_smi + 0.5) << three);
- assertEquals(0x73594000, (pos_smi + 0.5) << five);
-
- assertEquals(neg_smi / 2, (neg_smi) >> one);
- assertEquals(neg_smi / 2 + 0x100000000 / 2, (neg_smi) >>> one);
- assertEquals(neg_non_smi, (neg_smi) << one);
- assertEquals(neg_smi / 8, (neg_smi) >> three);
- assertEquals(neg_smi / 8 + 0x100000000 / 8, (neg_smi) >>> three);
- assertEquals(0x46536000, (neg_smi) << four);
- assertEquals(-0x73594000, (neg_smi) << five);
- assertEquals(neg_smi, (neg_smi - 0.5) >> zero);
- assertEquals(neg_smi + 0x100000000, (neg_smi - 0.5) >>> zero);
- assertEquals(neg_smi, (neg_smi - 0.5) << zero);
- assertEquals(neg_smi / 2, (neg_smi - 0.5) >> one);
- assertEquals(neg_smi / 2 + 0x100000000 / 2, (neg_smi - 0.5) >>> one);
- assertEquals(neg_non_smi, (neg_smi - 0.5) << one);
- assertEquals(neg_smi / 8, (neg_smi - 0.5) >> three);
- assertEquals(neg_smi / 8 + 0x100000000 / 8, (neg_smi - 0.5) >>> three);
- assertEquals(0x46536000, (neg_smi - 0.5) << four);
- assertEquals(-0x73594000, (neg_smi - 0.5) << five);
- // End block A repeat 2
-
- // Repeat previous block, with computed values in the shift variables.
- five = 0;
- while (five < 5 ) ++five;
- four = five - one;
- three = four - one;
- one = four - three;
- zero = one - one;
-
- // Begin block A repeat 3
- assertEquals(pos_non_smi, (pos_non_smi) >> zero);
- assertEquals(pos_non_smi, (pos_non_smi) >>> zero);
- assertEquals(pos_non_smi, (pos_non_smi) << zero);
- assertEquals(neg_non_smi, (neg_non_smi) >> zero);
- assertEquals(neg_non_smi + 0x100000000, (neg_non_smi) >>> zero);
- assertEquals(neg_non_smi, (neg_non_smi) << zero);
- assertEquals(pos_smi, (pos_smi) >> zero);
- assertEquals(pos_smi, (pos_smi) >>> zero);
- assertEquals(pos_smi, (pos_smi) << zero);
- assertEquals(neg_smi, (neg_smi) >> zero, "negsmi >> zero(2)");
- assertEquals(neg_smi + 0x100000000, (neg_smi) >>> zero);
- assertEquals(neg_smi, (neg_smi) << zero, "negsmi << zero(2)");
-
- assertEquals(pos_non_smi / 2, (pos_non_smi) >> one);
- assertEquals(pos_non_smi / 2, (pos_non_smi) >>> one);
- assertEquals(-0x1194D800, (pos_non_smi) << one);
- assertEquals(pos_non_smi / 8, (pos_non_smi) >> three);
- assertEquals(pos_non_smi / 8, (pos_non_smi) >>> three);
- assertEquals(-0x46536000, (pos_non_smi) << three);
- assertEquals(0x73594000, (pos_non_smi) << four);
- assertEquals(pos_non_smi, (pos_non_smi + 0.5) >> zero);
- assertEquals(pos_non_smi, (pos_non_smi + 0.5) >>> zero);
- assertEquals(pos_non_smi, (pos_non_smi + 0.5) << zero);
- assertEquals(pos_non_smi / 2, (pos_non_smi + 0.5) >> one);
- assertEquals(pos_non_smi / 2, (pos_non_smi + 0.5) >>> one);
- assertEquals(-0x1194D800, (pos_non_smi + 0.5) << one);
- assertEquals(pos_non_smi / 8, (pos_non_smi + 0.5) >> three);
- assertEquals(pos_non_smi / 8, (pos_non_smi + 0.5) >>> three);
- assertEquals(-0x46536000, (pos_non_smi + 0.5) << three);
- assertEquals(0x73594000, (pos_non_smi + 0.5) << four);
-
- assertEquals(neg_non_smi / 2, (neg_non_smi) >> one);
- assertEquals(neg_non_smi / 2 + 0x100000000 / 2, (neg_non_smi) >>> one);
- assertEquals(0x1194D800, (neg_non_smi) << one);
- assertEquals(neg_non_smi / 8, (neg_non_smi) >> three);
- assertEquals(neg_non_smi / 8 + 0x100000000 / 8, (neg_non_smi) >>> three);
- assertEquals(0x46536000, (neg_non_smi) << three);
- assertEquals(-0x73594000, (neg_non_smi) << four);
- assertEquals(neg_non_smi, (neg_non_smi - 0.5) >> zero);
- assertEquals(neg_non_smi + 0x100000000, (neg_non_smi - 0.5) >>> zero);
- assertEquals(neg_non_smi, (neg_non_smi - 0.5) << zero);
- assertEquals(neg_non_smi / 2, (neg_non_smi - 0.5) >> one);
- assertEquals(neg_non_smi / 2 + 0x100000000 / 2, (neg_non_smi - 0.5) >>> one);
- assertEquals(0x1194D800, (neg_non_smi - 0.5) << one);
- assertEquals(neg_non_smi / 8, (neg_non_smi - 0.5) >> three);
- assertEquals(neg_non_smi / 8 + 0x100000000 / 8, (neg_non_smi - 0.5)
- >>> three);
- assertEquals(0x46536000, (neg_non_smi - 0.5) << three);
- assertEquals(-0x73594000, (neg_non_smi - 0.5) << four);
-
- assertEquals(pos_smi / 2, (pos_smi) >> one);
- assertEquals(pos_smi / 2, (pos_smi) >>> one);
- assertEquals(pos_non_smi, (pos_smi) << one);
- assertEquals(pos_smi / 8, (pos_smi) >> three);
- assertEquals(pos_smi / 8, (pos_smi) >>> three);
- assertEquals(-0x2329b000, (pos_smi) << three);
- assertEquals(0x73594000, (pos_smi) << five);
- assertEquals(pos_smi, (pos_smi + 0.5) >> zero);
- assertEquals(pos_smi, (pos_smi + 0.5) >>> zero);
- assertEquals(pos_smi, (pos_smi + 0.5) << zero);
- assertEquals(pos_smi / 2, (pos_smi + 0.5) >> one);
- assertEquals(pos_smi / 2, (pos_smi + 0.5) >>> one);
- assertEquals(pos_non_smi, (pos_smi + 0.5) << one);
- assertEquals(pos_smi / 8, (pos_smi + 0.5) >> three);
- assertEquals(pos_smi / 8, (pos_smi + 0.5) >>> three);
- assertEquals(-0x2329b000, (pos_smi + 0.5) << three);
- assertEquals(0x73594000, (pos_smi + 0.5) << five);
-
- assertEquals(neg_smi / 2, (neg_smi) >> one);
- assertEquals(neg_smi / 2 + 0x100000000 / 2, (neg_smi) >>> one);
- assertEquals(neg_non_smi, (neg_smi) << one);
- assertEquals(neg_smi / 8, (neg_smi) >> three);
- assertEquals(neg_smi / 8 + 0x100000000 / 8, (neg_smi) >>> three);
- assertEquals(0x46536000, (neg_smi) << four);
- assertEquals(-0x73594000, (neg_smi) << five);
- assertEquals(neg_smi, (neg_smi - 0.5) >> zero, "negsmi.5 >> zero");
- assertEquals(neg_smi + 0x100000000, (neg_smi - 0.5) >>> zero);
- assertEquals(neg_smi, (neg_smi - 0.5) << zero, "negsmi.5 << zero");
- assertEquals(neg_smi / 2, (neg_smi - 0.5) >> one);
- assertEquals(neg_smi / 2 + 0x100000000 / 2, (neg_smi - 0.5) >>> one);
- assertEquals(neg_non_smi, (neg_smi - 0.5) << one);
- assertEquals(neg_smi / 8, (neg_smi - 0.5) >> three);
- assertEquals(neg_smi / 8 + 0x100000000 / 8, (neg_smi - 0.5) >>> three);
- assertEquals(0x46536000, (neg_smi - 0.5) << four);
- assertEquals(-0x73594000, (neg_smi - 0.5) << five);
- // End block A repeat 3
-
- // Test non-integer shift value
- assertEquals(5, 20.5 >> 2.4);
- assertEquals(5, 20.5 >> 2.7);
- var shift = 2.4;
- assertEquals(5, 20.5 >> shift);
- assertEquals(5, 20.5 >> shift + 0.3);
- shift = shift + zero;
- assertEquals(5, 20.5 >> shift);
- assertEquals(5, 20.5 >> shift + 0.3);
-}
-
-testShiftNonSmis();
-
-function intConversion() {
- function foo(x) {
- assertEquals(x, (x * 1.0000000001) | 0, "foo more " + x);
- assertEquals(x, x | 0, "foo " + x);
- if (x > 0) {
- assertEquals(x - 1, (x * 0.9999999999) | 0, "foo less " + x);
- } else {
- assertEquals(x + 1, (x * 0.9999999999) | 0, "foo less " + x);
- }
- }
- for (var i = 1; i < 0x80000000; i *= 2) {
- foo(i);
- foo(-i);
- }
- for (var i = 1; i < 1/0; i *= 2) {
- assertEquals(i | 0, (i * 1.0000000000000001) | 0, "b" + i);
- assertEquals(-i | 0, (i * -1.0000000000000001) | 0, "c" + i);
- }
- for (var i = 0.5; i > 0; i /= 2) {
- assertEquals(0, i | 0, "d" + i);
- assertEquals(0, -i | 0, "e" + i);
- }
-}
-
-intConversion();
-
-// Verify that we handle the (optimized) corner case of shifting by
-// zero even for non-smis.
-function shiftByZero(n) { return n << 0; }
-
-assertEquals(3, shiftByZero(3.1415));
diff --git a/src/3rdparty/v8/test/mjsunit/smi-ops.js b/src/3rdparty/v8/test/mjsunit/smi-ops.js
deleted file mode 100644
index 7945855..0000000
--- a/src/3rdparty/v8/test/mjsunit/smi-ops.js
+++ /dev/null
@@ -1,704 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-const SMI_MAX = (1 << 29) - 1 + (1 << 29); // Create without overflowing.
-const SMI_MIN = -SMI_MAX - 1; // Create without overflowing.
-const ONE = 1;
-const ONE_HUNDRED = 100;
-
-const OBJ_42 = new (function() {
- this.valueOf = function() { return 42; };
-})();
-
-assertEquals(42, OBJ_42.valueOf());
-
-
-function Add1(x) {
- return x + 1;
-}
-
-function Add100(x) {
- return x + 100;
-}
-
-function Add1Reversed(x) {
- return 1 + x;
-}
-
-function Add100Reversed(x) {
- return 100 + x;
-}
-
-
-assertEquals(1, Add1(0)); // fast case
-assertEquals(1, Add1Reversed(0)); // fast case
-assertEquals(SMI_MAX + ONE, Add1(SMI_MAX), "smimax + 1");
-assertEquals(SMI_MAX + ONE, Add1Reversed(SMI_MAX), "1 + smimax");
-assertEquals(42 + ONE, Add1(OBJ_42)); // non-smi
-assertEquals(42 + ONE, Add1Reversed(OBJ_42)); // non-smi
-
-assertEquals(100, Add100(0)); // fast case
-assertEquals(100, Add100Reversed(0)); // fast case
-assertEquals(SMI_MAX + ONE_HUNDRED, Add100(SMI_MAX), "smimax + 100");
-assertEquals(SMI_MAX + ONE_HUNDRED, Add100Reversed(SMI_MAX), " 100 + smimax");
-assertEquals(42 + ONE_HUNDRED, Add100(OBJ_42)); // non-smi
-assertEquals(42 + ONE_HUNDRED, Add100Reversed(OBJ_42)); // non-smi
-
-
-
-function Sub1(x) {
- return x - 1;
-}
-
-function Sub100(x) {
- return x - 100;
-}
-
-function Sub1Reversed(x) {
- return 1 - x;
-}
-
-function Sub100Reversed(x) {
- return 100 - x;
-}
-
-
-assertEquals(0, Sub1(1)); // fast case
-assertEquals(-1, Sub1Reversed(2)); // fast case
-assertEquals(SMI_MIN - ONE, Sub1(SMI_MIN)); // overflow
-assertEquals(ONE - SMI_MIN, Sub1Reversed(SMI_MIN)); // overflow
-assertEquals(42 - ONE, Sub1(OBJ_42)); // non-smi
-assertEquals(ONE - 42, Sub1Reversed(OBJ_42)); // non-smi
-
-assertEquals(0, Sub100(100)); // fast case
-assertEquals(1, Sub100Reversed(99)); // fast case
-assertEquals(SMI_MIN - ONE_HUNDRED, Sub100(SMI_MIN)); // overflow
-assertEquals(ONE_HUNDRED - SMI_MIN, Sub100Reversed(SMI_MIN)); // overflow
-assertEquals(42 - ONE_HUNDRED, Sub100(OBJ_42)); // non-smi
-assertEquals(ONE_HUNDRED - 42, Sub100Reversed(OBJ_42)); // non-smi
-
-
-function Shr1(x) {
- return x >>> 1;
-}
-
-function Shr100(x) {
- return x >>> 100;
-}
-
-function Shr1Reversed(x) {
- return 1 >>> x;
-}
-
-function Shr100Reversed(x) {
- return 100 >>> x;
-}
-
-function Sar1(x) {
- return x >> 1;
-}
-
-function Sar100(x) {
- return x >> 100;
-}
-
-function Sar1Reversed(x) {
- return 1 >> x;
-}
-
-function Sar100Reversed(x) {
- return 100 >> x;
-}
-
-
-assertEquals(0, Shr1(1));
-assertEquals(0, Sar1(1));
-assertEquals(0, Shr1Reversed(2));
-assertEquals(0, Sar1Reversed(2));
-assertEquals(1610612736, Shr1(SMI_MIN));
-assertEquals(-536870912, Sar1(SMI_MIN));
-assertEquals(1, Shr1Reversed(SMI_MIN));
-assertEquals(1, Sar1Reversed(SMI_MIN));
-assertEquals(21, Shr1(OBJ_42));
-assertEquals(21, Sar1(OBJ_42));
-assertEquals(0, Shr1Reversed(OBJ_42));
-assertEquals(0, Sar1Reversed(OBJ_42));
-
-assertEquals(6, Shr100(100), "100 >>> 100");
-assertEquals(6, Sar100(100), "100 >> 100");
-assertEquals(12, Shr100Reversed(99));
-assertEquals(12, Sar100Reversed(99));
-assertEquals(201326592, Shr100(SMI_MIN));
-assertEquals(-67108864, Sar100(SMI_MIN));
-assertEquals(100, Shr100Reversed(SMI_MIN));
-assertEquals(100, Sar100Reversed(SMI_MIN));
-assertEquals(2, Shr100(OBJ_42));
-assertEquals(2, Sar100(OBJ_42));
-assertEquals(0, Shr100Reversed(OBJ_42));
-assertEquals(0, Sar100Reversed(OBJ_42));
-
-
-function Xor1(x) {
- return x ^ 1;
-}
-
-function Xor100(x) {
- return x ^ 100;
-}
-
-function Xor1Reversed(x) {
- return 1 ^ x;
-}
-
-function Xor100Reversed(x) {
- return 100 ^ x;
-}
-
-
-assertEquals(0, Xor1(1));
-assertEquals(3, Xor1Reversed(2));
-assertEquals(SMI_MIN + 1, Xor1(SMI_MIN));
-assertEquals(SMI_MIN + 1, Xor1Reversed(SMI_MIN));
-assertEquals(43, Xor1(OBJ_42));
-assertEquals(43, Xor1Reversed(OBJ_42));
-
-assertEquals(0, Xor100(100));
-assertEquals(7, Xor100Reversed(99));
-assertEquals(-1073741724, Xor100(SMI_MIN));
-assertEquals(-1073741724, Xor100Reversed(SMI_MIN));
-assertEquals(78, Xor100(OBJ_42));
-assertEquals(78, Xor100Reversed(OBJ_42));
-
-var x = 0x23; var y = 0x35;
-assertEquals(0x16, x ^ y);
-
-
-// Bitwise not.
-var v = 0;
-assertEquals(-1, ~v);
-v = SMI_MIN;
-assertEquals(0x3fffffff, ~v, "~smimin");
-v = SMI_MAX;
-assertEquals(-0x40000000, ~v, "~smimax");
-
-// Overflowing ++ and --.
-v = SMI_MAX;
-v++;
-assertEquals(0x40000000, v, "smimax++");
-v = SMI_MIN;
-v--;
-assertEquals(-0x40000001, v, "smimin--");
-
-// Check that comparisons of numbers separated by MIN_SMI work.
-assertFalse(SMI_MIN > 0);
-assertFalse(SMI_MIN + 1 > 1);
-assertFalse(SMI_MIN + 1 > 2);
-assertFalse(SMI_MIN + 2 > 1);
-assertFalse(0 < SMI_MIN);
-assertTrue(-1 < SMI_MAX);
-assertFalse(SMI_MAX < -1);
-
-// Not actually Smi operations.
-// Check that relations on unary ops work.
-var v = -1.2;
-assertTrue(v == v);
-assertTrue(v === v);
-assertTrue(v <= v);
-assertTrue(v >= v);
-assertFalse(v < v);
-assertFalse(v > v);
-assertFalse(v != v);
-assertFalse(v !== v);
-
-// Right hand side of unary minus is overwritable.
-v = 1.5
-assertEquals(-2.25, -(v * v));
-
-// Smi input to bitop gives non-smi result where the rhs is a float that
-// can be overwritten.
-var x1 = 0x10000000;
-var x2 = 0x40000002;
-var x3 = 0x40000000;
-assertEquals(0x40000000, x1 << (x2 - x3), "0x10000000<<1(1)");
-
-// Smi input to bitop gives non-smi result where the rhs could be overwritten
-// if it were a float, but it isn't.
-x1 = 0x10000000
-x2 = 4
-x3 = 2
-assertEquals(0x40000000, x1 << (x2 - x3), "0x10000000<<2(2)");
-
-
-// Test shift operators on non-smi inputs, giving smi and non-smi results.
-function testShiftNonSmis() {
- var pos_non_smi = 2000000000;
- var neg_non_smi = -pos_non_smi;
- var pos_smi = 1000000000;
- var neg_smi = -pos_smi;
-
- // Begin block A
- assertEquals(pos_non_smi, (pos_non_smi) >> 0);
- assertEquals(pos_non_smi, (pos_non_smi) >>> 0);
- assertEquals(pos_non_smi, (pos_non_smi) << 0);
- assertEquals(neg_non_smi, (neg_non_smi) >> 0);
- assertEquals(neg_non_smi + 0x100000000, (neg_non_smi) >>> 0);
- assertEquals(neg_non_smi, (neg_non_smi) << 0);
- assertEquals(pos_smi, (pos_smi) >> 0, "possmi >> 0");
- assertEquals(pos_smi, (pos_smi) >>> 0, "possmi >>>0");
- assertEquals(pos_smi, (pos_smi) << 0, "possmi << 0");
- assertEquals(neg_smi, (neg_smi) >> 0, "negsmi >> 0");
- assertEquals(neg_smi + 0x100000000, (neg_smi) >>> 0, "negsmi >>> 0");
- assertEquals(neg_smi, (neg_smi) << 0), "negsmi << 0";
-
- assertEquals(pos_non_smi / 2, (pos_non_smi) >> 1);
- assertEquals(pos_non_smi / 2, (pos_non_smi) >>> 1);
- assertEquals(-0x1194D800, (pos_non_smi) << 1);
- assertEquals(pos_non_smi / 8, (pos_non_smi) >> 3);
- assertEquals(pos_non_smi / 8, (pos_non_smi) >>> 3);
- assertEquals(-0x46536000, (pos_non_smi) << 3);
- assertEquals(0x73594000, (pos_non_smi) << 4);
- assertEquals(pos_non_smi, (pos_non_smi + 0.5) >> 0);
- assertEquals(pos_non_smi, (pos_non_smi + 0.5) >>> 0);
- assertEquals(pos_non_smi, (pos_non_smi + 0.5) << 0);
- assertEquals(pos_non_smi / 2, (pos_non_smi + 0.5) >> 1);
- assertEquals(pos_non_smi / 2, (pos_non_smi + 0.5) >>> 1);
- assertEquals(-0x1194D800, (pos_non_smi + 0.5) << 1);
- assertEquals(pos_non_smi / 8, (pos_non_smi + 0.5) >> 3);
- assertEquals(pos_non_smi / 8, (pos_non_smi + 0.5) >>> 3);
- assertEquals(-0x46536000, (pos_non_smi + 0.5) << 3);
- assertEquals(0x73594000, (pos_non_smi + 0.5) << 4);
-
- assertEquals(neg_non_smi / 2, (neg_non_smi) >> 1, "negnonsmi >> 1");
-
- assertEquals(neg_non_smi / 2 + 0x100000000 / 2, (neg_non_smi) >>> 1,
- "negnonsmi >>> 1");
- assertEquals(0x1194D800, (neg_non_smi) << 1);
- assertEquals(neg_non_smi / 8, (neg_non_smi) >> 3);
- assertEquals(neg_non_smi / 8 + 0x100000000 / 8, (neg_non_smi) >>> 3);
- assertEquals(0x46536000, (neg_non_smi) << 3);
- assertEquals(-0x73594000, (neg_non_smi) << 4);
- assertEquals(neg_non_smi, (neg_non_smi - 0.5) >> 0);
- assertEquals(neg_non_smi + 0x100000000, (neg_non_smi - 0.5) >>> 0,
- "negnonsmi.5 >>> 0");
- assertEquals(neg_non_smi, (neg_non_smi - 0.5) << 0);
- assertEquals(neg_non_smi / 2, (neg_non_smi - 0.5) >> 1);
- assertEquals(neg_non_smi / 2 + 0x100000000 / 2, (neg_non_smi - 0.5) >>> 1,
- "negnonsmi.5 >>> 1");
- assertEquals(0x1194D800, (neg_non_smi - 0.5) << 1);
- assertEquals(neg_non_smi / 8, (neg_non_smi - 0.5) >> 3);
- assertEquals(neg_non_smi / 8 + 0x100000000 / 8, (neg_non_smi - 0.5) >>> 3);
- assertEquals(0x46536000, (neg_non_smi - 0.5) << 3);
- assertEquals(-0x73594000, (neg_non_smi - 0.5) << 4);
-
- assertEquals(pos_smi / 2, (pos_smi) >> 1);
- assertEquals(pos_smi / 2, (pos_smi) >>> 1);
- assertEquals(pos_non_smi, (pos_smi) << 1);
- assertEquals(pos_smi / 8, (pos_smi) >> 3);
- assertEquals(pos_smi / 8, (pos_smi) >>> 3);
- assertEquals(-0x2329b000, (pos_smi) << 3);
- assertEquals(0x73594000, (pos_smi) << 5);
- assertEquals(pos_smi, (pos_smi + 0.5) >> 0, "possmi.5 >> 0");
- assertEquals(pos_smi, (pos_smi + 0.5) >>> 0, "possmi.5 >>> 0");
- assertEquals(pos_smi, (pos_smi + 0.5) << 0, "possmi.5 << 0");
- assertEquals(pos_smi / 2, (pos_smi + 0.5) >> 1);
- assertEquals(pos_smi / 2, (pos_smi + 0.5) >>> 1);
- assertEquals(pos_non_smi, (pos_smi + 0.5) << 1);
- assertEquals(pos_smi / 8, (pos_smi + 0.5) >> 3);
- assertEquals(pos_smi / 8, (pos_smi + 0.5) >>> 3);
- assertEquals(-0x2329b000, (pos_smi + 0.5) << 3);
- assertEquals(0x73594000, (pos_smi + 0.5) << 5);
-
- assertEquals(neg_smi / 2, (neg_smi) >> 1);
- assertEquals(neg_smi / 2 + 0x100000000 / 2, (neg_smi) >>> 1);
- assertEquals(neg_non_smi, (neg_smi) << 1);
- assertEquals(neg_smi / 8, (neg_smi) >> 3);
- assertEquals(neg_smi / 8 + 0x100000000 / 8, (neg_smi) >>> 3);
- assertEquals(0x46536000, (neg_smi) << 4);
- assertEquals(-0x73594000, (neg_smi) << 5);
- assertEquals(neg_smi, (neg_smi - 0.5) >> 0, "negsmi.5 >> 0");
- assertEquals(neg_smi + 0x100000000, (neg_smi - 0.5) >>> 0, "negsmi.5 >>> 0");
- assertEquals(neg_smi, (neg_smi - 0.5) << 0, "negsmi.5 << 0");
- assertEquals(neg_smi / 2, (neg_smi - 0.5) >> 1);
- assertEquals(neg_smi / 2 + 0x100000000 / 2, (neg_smi - 0.5) >>> 1);
- assertEquals(neg_non_smi, (neg_smi - 0.5) << 1);
- assertEquals(neg_smi / 8, (neg_smi - 0.5) >> 3);
- assertEquals(neg_smi / 8 + 0x100000000 / 8, (neg_smi - 0.5) >>> 3);
- assertEquals(0x46536000, (neg_smi - 0.5) << 4);
- assertEquals(-0x73594000, (neg_smi - 0.5) << 5);
- // End block A
-
- // Repeat block A with 2^32 added to positive numbers and
- // 2^32 subtracted from negative numbers.
- // Begin block A repeat 1
- var two_32 = 0x100000000;
- var neg_32 = -two_32;
- assertEquals(pos_non_smi, (two_32 + pos_non_smi) >> 0);
- assertEquals(pos_non_smi, (two_32 + pos_non_smi) >>> 0);
- assertEquals(pos_non_smi, (two_32 + pos_non_smi) << 0);
- assertEquals(neg_non_smi, (neg_32 + neg_non_smi) >> 0);
- assertEquals(neg_non_smi + 0x100000000, (neg_32 + neg_non_smi) >>> 0);
- assertEquals(neg_non_smi, (neg_32 + neg_non_smi) << 0);
- assertEquals(pos_smi, (two_32 + pos_smi) >> 0, "2^32+possmi >> 0");
- assertEquals(pos_smi, (two_32 + pos_smi) >>> 0, "2^32+possmi >>> 0");
- assertEquals(pos_smi, (two_32 + pos_smi) << 0, "2^32+possmi << 0");
- assertEquals(neg_smi, (neg_32 + neg_smi) >> 0, "2^32+negsmi >> 0");
- assertEquals(neg_smi + 0x100000000, (neg_32 + neg_smi) >>> 0);
- assertEquals(neg_smi, (neg_32 + neg_smi) << 0, "2^32+negsmi << 0");
-
- assertEquals(pos_non_smi / 2, (two_32 + pos_non_smi) >> 1);
- assertEquals(pos_non_smi / 2, (two_32 + pos_non_smi) >>> 1);
- assertEquals(-0x1194D800, (two_32 + pos_non_smi) << 1);
- assertEquals(pos_non_smi / 8, (two_32 + pos_non_smi) >> 3);
- assertEquals(pos_non_smi / 8, (two_32 + pos_non_smi) >>> 3);
- assertEquals(-0x46536000, (two_32 + pos_non_smi) << 3);
- assertEquals(0x73594000, (two_32 + pos_non_smi) << 4);
- assertEquals(pos_non_smi, (two_32 + pos_non_smi + 0.5) >> 0);
- assertEquals(pos_non_smi, (two_32 + pos_non_smi + 0.5) >>> 0);
- assertEquals(pos_non_smi, (two_32 + pos_non_smi + 0.5) << 0);
- assertEquals(pos_non_smi / 2, (two_32 + pos_non_smi + 0.5) >> 1);
- assertEquals(pos_non_smi / 2, (two_32 + pos_non_smi + 0.5) >>> 1);
- assertEquals(-0x1194D800, (two_32 + pos_non_smi + 0.5) << 1);
- assertEquals(pos_non_smi / 8, (two_32 + pos_non_smi + 0.5) >> 3);
- assertEquals(pos_non_smi / 8, (two_32 + pos_non_smi + 0.5) >>> 3);
- assertEquals(-0x46536000, (two_32 + pos_non_smi + 0.5) << 3);
- assertEquals(0x73594000, (two_32 + pos_non_smi + 0.5) << 4);
-
- assertEquals(neg_non_smi / 2, (neg_32 + neg_non_smi) >> 1);
- assertEquals(neg_non_smi / 2 + 0x100000000 / 2, (neg_32 + neg_non_smi) >>> 1);
- assertEquals(0x1194D800, (neg_32 + neg_non_smi) << 1);
- assertEquals(neg_non_smi / 8, (neg_32 + neg_non_smi) >> 3);
- assertEquals(neg_non_smi / 8 + 0x100000000 / 8, (neg_32 + neg_non_smi) >>> 3);
- assertEquals(0x46536000, (neg_32 + neg_non_smi) << 3);
- assertEquals(-0x73594000, (neg_32 + neg_non_smi) << 4);
- assertEquals(neg_non_smi, (neg_32 + neg_non_smi - 0.5) >> 0);
- assertEquals(neg_non_smi + 0x100000000, (neg_32 + neg_non_smi - 0.5) >>> 0);
- assertEquals(neg_non_smi, (neg_32 + neg_non_smi - 0.5) << 0);
- assertEquals(neg_non_smi / 2, (neg_32 + neg_non_smi - 0.5) >> 1);
- assertEquals(neg_non_smi / 2 + 0x100000000 / 2, (neg_32 + neg_non_smi - 0.5)
- >>> 1);
- assertEquals(0x1194D800, (neg_32 + neg_non_smi - 0.5) << 1);
- assertEquals(neg_non_smi / 8, (neg_32 + neg_non_smi - 0.5) >> 3);
- assertEquals(neg_non_smi / 8 + 0x100000000 / 8, (neg_32 + neg_non_smi - 0.5)
- >>> 3);
- assertEquals(0x46536000, (neg_32 + neg_non_smi - 0.5) << 3);
- assertEquals(-0x73594000, (neg_32 + neg_non_smi - 0.5) << 4);
-
- assertEquals(pos_smi / 2, (two_32 + pos_smi) >> 1);
- assertEquals(pos_smi / 2, (two_32 + pos_smi) >>> 1);
- assertEquals(pos_non_smi, (two_32 + pos_smi) << 1);
- assertEquals(pos_smi / 8, (two_32 + pos_smi) >> 3);
- assertEquals(pos_smi / 8, (two_32 + pos_smi) >>> 3);
- assertEquals(-0x2329b000, (two_32 + pos_smi) << 3);
- assertEquals(0x73594000, (two_32 + pos_smi) << 5);
- assertEquals(pos_smi, (two_32 + pos_smi + 0.5) >> 0);
- assertEquals(pos_smi, (two_32 + pos_smi + 0.5) >>> 0);
- assertEquals(pos_smi, (two_32 + pos_smi + 0.5) << 0);
- assertEquals(pos_smi / 2, (two_32 + pos_smi + 0.5) >> 1);
- assertEquals(pos_smi / 2, (two_32 + pos_smi + 0.5) >>> 1);
- assertEquals(pos_non_smi, (two_32 + pos_smi + 0.5) << 1);
- assertEquals(pos_smi / 8, (two_32 + pos_smi + 0.5) >> 3);
- assertEquals(pos_smi / 8, (two_32 + pos_smi + 0.5) >>> 3);
- assertEquals(-0x2329b000, (two_32 + pos_smi + 0.5) << 3);
- assertEquals(0x73594000, (two_32 + pos_smi + 0.5) << 5);
-
- assertEquals(neg_smi / 2, (neg_32 + neg_smi) >> 1);
- assertEquals(neg_smi / 2 + 0x100000000 / 2, (neg_32 + neg_smi) >>> 1);
- assertEquals(neg_non_smi, (neg_32 + neg_smi) << 1);
- assertEquals(neg_smi / 8, (neg_32 + neg_smi) >> 3);
- assertEquals((neg_smi + 0x100000000) / 8, (neg_32 + neg_smi) >>> 3);
- assertEquals(0x46536000, (neg_32 + neg_smi) << 4);
- assertEquals(-0x73594000, (neg_32 + neg_smi) << 5);
- assertEquals(neg_smi, (neg_32 + neg_smi - 0.5) >> 0, "-2^32+negsmi.5 >> 0");
- assertEquals(neg_smi + 0x100000000, (neg_32 + neg_smi - 0.5) >>> 0);
- assertEquals(neg_smi, (neg_32 + neg_smi - 0.5) << 0, "-2^32+negsmi.5 << 0");
- assertEquals(neg_smi / 2, (neg_32 + neg_smi - 0.5) >> 1);
- assertEquals(neg_smi / 2 + 0x100000000 / 2, (neg_32 + neg_smi - 0.5) >>> 1);
- assertEquals(neg_non_smi, (neg_32 + neg_smi - 0.5) << 1);
- assertEquals(neg_smi / 8, (neg_32 + neg_smi - 0.5) >> 3);
- assertEquals(neg_smi / 8 + 0x100000000 / 8, (neg_32 + neg_smi - 0.5) >>> 3);
- assertEquals(0x46536000, (neg_32 + neg_smi - 0.5) << 4);
- assertEquals(-0x73594000, (neg_32 + neg_smi - 0.5) << 5);
- // End block A repeat 1
- // Repeat block A with shift amounts in variables intialized with
- // a constant.
- var zero = 0;
- var one = 1;
- var three = 3;
- var four = 4;
- var five = 5;
- // Begin block A repeat 2
- assertEquals(pos_non_smi, (pos_non_smi) >> zero);
- assertEquals(pos_non_smi, (pos_non_smi) >>> zero);
- assertEquals(pos_non_smi, (pos_non_smi) << zero);
- assertEquals(neg_non_smi, (neg_non_smi) >> zero);
- assertEquals(neg_non_smi + 0x100000000, (neg_non_smi) >>> zero);
- assertEquals(neg_non_smi, (neg_non_smi) << zero);
- assertEquals(pos_smi, (pos_smi) >> zero);
- assertEquals(pos_smi, (pos_smi) >>> zero);
- assertEquals(pos_smi, (pos_smi) << zero);
- assertEquals(neg_smi, (neg_smi) >> zero, "negsmi >> zero");
- assertEquals(neg_smi + 0x100000000, (neg_smi) >>> zero);
- assertEquals(neg_smi, (neg_smi) << zero, "negsmi << zero");
-
- assertEquals(pos_non_smi / 2, (pos_non_smi) >> one);
- assertEquals(pos_non_smi / 2, (pos_non_smi) >>> one);
- assertEquals(-0x1194D800, (pos_non_smi) << one);
- assertEquals(pos_non_smi / 8, (pos_non_smi) >> three);
- assertEquals(pos_non_smi / 8, (pos_non_smi) >>> three);
- assertEquals(-0x46536000, (pos_non_smi) << three);
- assertEquals(0x73594000, (pos_non_smi) << four);
- assertEquals(pos_non_smi, (pos_non_smi + 0.5) >> zero);
- assertEquals(pos_non_smi, (pos_non_smi + 0.5) >>> zero);
- assertEquals(pos_non_smi, (pos_non_smi + 0.5) << zero);
- assertEquals(pos_non_smi / 2, (pos_non_smi + 0.5) >> one);
- assertEquals(pos_non_smi / 2, (pos_non_smi + 0.5) >>> one);
- assertEquals(-0x1194D800, (pos_non_smi + 0.5) << one);
- assertEquals(pos_non_smi / 8, (pos_non_smi + 0.5) >> three);
- assertEquals(pos_non_smi / 8, (pos_non_smi + 0.5) >>> three);
- assertEquals(-0x46536000, (pos_non_smi + 0.5) << three);
- assertEquals(0x73594000, (pos_non_smi + 0.5) << four);
-
- assertEquals(neg_non_smi / 2, (neg_non_smi) >> one);
- assertEquals(neg_non_smi / 2 + 0x100000000 / 2, (neg_non_smi) >>> one);
- assertEquals(0x1194D800, (neg_non_smi) << one);
- assertEquals(neg_non_smi / 8, (neg_non_smi) >> three);
- assertEquals(neg_non_smi / 8 + 0x100000000 / 8, (neg_non_smi) >>> three);
- assertEquals(0x46536000, (neg_non_smi) << three);
- assertEquals(-0x73594000, (neg_non_smi) << four);
- assertEquals(neg_non_smi, (neg_non_smi - 0.5) >> zero);
- assertEquals(neg_non_smi + 0x100000000, (neg_non_smi - 0.5) >>> zero);
- assertEquals(neg_non_smi, (neg_non_smi - 0.5) << zero);
- assertEquals(neg_non_smi / 2, (neg_non_smi - 0.5) >> one);
- assertEquals(neg_non_smi / 2 + 0x100000000 / 2, (neg_non_smi - 0.5) >>> one);
- assertEquals(0x1194D800, (neg_non_smi - 0.5) << one);
- assertEquals(neg_non_smi / 8, (neg_non_smi - 0.5) >> three);
- assertEquals(neg_non_smi / 8 + 0x100000000 / 8, (neg_non_smi - 0.5)
- >>> three);
- assertEquals(0x46536000, (neg_non_smi - 0.5) << three);
- assertEquals(-0x73594000, (neg_non_smi - 0.5) << four);
-
- assertEquals(pos_smi / 2, (pos_smi) >> one);
- assertEquals(pos_smi / 2, (pos_smi) >>> one);
- assertEquals(pos_non_smi, (pos_smi) << one);
- assertEquals(pos_smi / 8, (pos_smi) >> three);
- assertEquals(pos_smi / 8, (pos_smi) >>> three);
- assertEquals(-0x2329b000, (pos_smi) << three);
- assertEquals(0x73594000, (pos_smi) << five);
- assertEquals(pos_smi, (pos_smi + 0.5) >> zero);
- assertEquals(pos_smi, (pos_smi + 0.5) >>> zero);
- assertEquals(pos_smi, (pos_smi + 0.5) << zero);
- assertEquals(pos_smi / 2, (pos_smi + 0.5) >> one);
- assertEquals(pos_smi / 2, (pos_smi + 0.5) >>> one);
- assertEquals(pos_non_smi, (pos_smi + 0.5) << one);
- assertEquals(pos_smi / 8, (pos_smi + 0.5) >> three);
- assertEquals(pos_smi / 8, (pos_smi + 0.5) >>> three);
- assertEquals(-0x2329b000, (pos_smi + 0.5) << three);
- assertEquals(0x73594000, (pos_smi + 0.5) << five);
-
- assertEquals(neg_smi / 2, (neg_smi) >> one);
- assertEquals(neg_smi / 2 + 0x100000000 / 2, (neg_smi) >>> one);
- assertEquals(neg_non_smi, (neg_smi) << one);
- assertEquals(neg_smi / 8, (neg_smi) >> three);
- assertEquals(neg_smi / 8 + 0x100000000 / 8, (neg_smi) >>> three);
- assertEquals(0x46536000, (neg_smi) << four);
- assertEquals(-0x73594000, (neg_smi) << five);
- assertEquals(neg_smi, (neg_smi - 0.5) >> zero);
- assertEquals(neg_smi + 0x100000000, (neg_smi - 0.5) >>> zero);
- assertEquals(neg_smi, (neg_smi - 0.5) << zero);
- assertEquals(neg_smi / 2, (neg_smi - 0.5) >> one);
- assertEquals(neg_smi / 2 + 0x100000000 / 2, (neg_smi - 0.5) >>> one);
- assertEquals(neg_non_smi, (neg_smi - 0.5) << one);
- assertEquals(neg_smi / 8, (neg_smi - 0.5) >> three);
- assertEquals(neg_smi / 8 + 0x100000000 / 8, (neg_smi - 0.5) >>> three);
- assertEquals(0x46536000, (neg_smi - 0.5) << four);
- assertEquals(-0x73594000, (neg_smi - 0.5) << five);
- // End block A repeat 2
-
- // Repeat previous block, with computed values in the shift variables.
- five = 0;
- while (five < 5 ) ++five;
- four = five - one;
- three = four - one;
- one = four - three;
- zero = one - one;
-
- // Begin block A repeat 3
- assertEquals(pos_non_smi, (pos_non_smi) >> zero);
- assertEquals(pos_non_smi, (pos_non_smi) >>> zero);
- assertEquals(pos_non_smi, (pos_non_smi) << zero);
- assertEquals(neg_non_smi, (neg_non_smi) >> zero);
- assertEquals(neg_non_smi + 0x100000000, (neg_non_smi) >>> zero);
- assertEquals(neg_non_smi, (neg_non_smi) << zero);
- assertEquals(pos_smi, (pos_smi) >> zero);
- assertEquals(pos_smi, (pos_smi) >>> zero);
- assertEquals(pos_smi, (pos_smi) << zero);
- assertEquals(neg_smi, (neg_smi) >> zero, "negsmi >> zero(2)");
- assertEquals(neg_smi + 0x100000000, (neg_smi) >>> zero);
- assertEquals(neg_smi, (neg_smi) << zero, "negsmi << zero(2)");
-
- assertEquals(pos_non_smi / 2, (pos_non_smi) >> one);
- assertEquals(pos_non_smi / 2, (pos_non_smi) >>> one);
- assertEquals(-0x1194D800, (pos_non_smi) << one);
- assertEquals(pos_non_smi / 8, (pos_non_smi) >> three);
- assertEquals(pos_non_smi / 8, (pos_non_smi) >>> three);
- assertEquals(-0x46536000, (pos_non_smi) << three);
- assertEquals(0x73594000, (pos_non_smi) << four);
- assertEquals(pos_non_smi, (pos_non_smi + 0.5) >> zero);
- assertEquals(pos_non_smi, (pos_non_smi + 0.5) >>> zero);
- assertEquals(pos_non_smi, (pos_non_smi + 0.5) << zero);
- assertEquals(pos_non_smi / 2, (pos_non_smi + 0.5) >> one);
- assertEquals(pos_non_smi / 2, (pos_non_smi + 0.5) >>> one);
- assertEquals(-0x1194D800, (pos_non_smi + 0.5) << one);
- assertEquals(pos_non_smi / 8, (pos_non_smi + 0.5) >> three);
- assertEquals(pos_non_smi / 8, (pos_non_smi + 0.5) >>> three);
- assertEquals(-0x46536000, (pos_non_smi + 0.5) << three);
- assertEquals(0x73594000, (pos_non_smi + 0.5) << four);
-
- assertEquals(neg_non_smi / 2, (neg_non_smi) >> one);
- assertEquals(neg_non_smi / 2 + 0x100000000 / 2, (neg_non_smi) >>> one);
- assertEquals(0x1194D800, (neg_non_smi) << one);
- assertEquals(neg_non_smi / 8, (neg_non_smi) >> three);
- assertEquals(neg_non_smi / 8 + 0x100000000 / 8, (neg_non_smi) >>> three);
- assertEquals(0x46536000, (neg_non_smi) << three);
- assertEquals(-0x73594000, (neg_non_smi) << four);
- assertEquals(neg_non_smi, (neg_non_smi - 0.5) >> zero);
- assertEquals(neg_non_smi + 0x100000000, (neg_non_smi - 0.5) >>> zero);
- assertEquals(neg_non_smi, (neg_non_smi - 0.5) << zero);
- assertEquals(neg_non_smi / 2, (neg_non_smi - 0.5) >> one);
- assertEquals(neg_non_smi / 2 + 0x100000000 / 2, (neg_non_smi - 0.5) >>> one);
- assertEquals(0x1194D800, (neg_non_smi - 0.5) << one);
- assertEquals(neg_non_smi / 8, (neg_non_smi - 0.5) >> three);
- assertEquals(neg_non_smi / 8 + 0x100000000 / 8, (neg_non_smi - 0.5)
- >>> three);
- assertEquals(0x46536000, (neg_non_smi - 0.5) << three);
- assertEquals(-0x73594000, (neg_non_smi - 0.5) << four);
-
- assertEquals(pos_smi / 2, (pos_smi) >> one);
- assertEquals(pos_smi / 2, (pos_smi) >>> one);
- assertEquals(pos_non_smi, (pos_smi) << one);
- assertEquals(pos_smi / 8, (pos_smi) >> three);
- assertEquals(pos_smi / 8, (pos_smi) >>> three);
- assertEquals(-0x2329b000, (pos_smi) << three);
- assertEquals(0x73594000, (pos_smi) << five);
- assertEquals(pos_smi, (pos_smi + 0.5) >> zero);
- assertEquals(pos_smi, (pos_smi + 0.5) >>> zero);
- assertEquals(pos_smi, (pos_smi + 0.5) << zero);
- assertEquals(pos_smi / 2, (pos_smi + 0.5) >> one);
- assertEquals(pos_smi / 2, (pos_smi + 0.5) >>> one);
- assertEquals(pos_non_smi, (pos_smi + 0.5) << one);
- assertEquals(pos_smi / 8, (pos_smi + 0.5) >> three);
- assertEquals(pos_smi / 8, (pos_smi + 0.5) >>> three);
- assertEquals(-0x2329b000, (pos_smi + 0.5) << three);
- assertEquals(0x73594000, (pos_smi + 0.5) << five);
-
- assertEquals(neg_smi / 2, (neg_smi) >> one);
- assertEquals(neg_smi / 2 + 0x100000000 / 2, (neg_smi) >>> one);
- assertEquals(neg_non_smi, (neg_smi) << one);
- assertEquals(neg_smi / 8, (neg_smi) >> three);
- assertEquals(neg_smi / 8 + 0x100000000 / 8, (neg_smi) >>> three);
- assertEquals(0x46536000, (neg_smi) << four);
- assertEquals(-0x73594000, (neg_smi) << five);
- assertEquals(neg_smi, (neg_smi - 0.5) >> zero, "negsmi.5 >> zero");
- assertEquals(neg_smi + 0x100000000, (neg_smi - 0.5) >>> zero);
- assertEquals(neg_smi, (neg_smi - 0.5) << zero, "negsmi.5 << zero");
- assertEquals(neg_smi / 2, (neg_smi - 0.5) >> one);
- assertEquals(neg_smi / 2 + 0x100000000 / 2, (neg_smi - 0.5) >>> one);
- assertEquals(neg_non_smi, (neg_smi - 0.5) << one);
- assertEquals(neg_smi / 8, (neg_smi - 0.5) >> three);
- assertEquals(neg_smi / 8 + 0x100000000 / 8, (neg_smi - 0.5) >>> three);
- assertEquals(0x46536000, (neg_smi - 0.5) << four);
- assertEquals(-0x73594000, (neg_smi - 0.5) << five);
- // End block A repeat 3
-
- // Test non-integer shift value
- assertEquals(5, 20.5 >> 2.4);
- assertEquals(5, 20.5 >> 2.7);
- var shift = 2.4;
- assertEquals(5, 20.5 >> shift);
- assertEquals(5, 20.5 >> shift + 0.3);
- shift = shift + zero;
- assertEquals(5, 20.5 >> shift);
- assertEquals(5, 20.5 >> shift + 0.3);
-}
-
-testShiftNonSmis();
-
-function intConversion() {
- function foo(x) {
- assertEquals(x, (x * 1.0000000001) | 0, "foo more " + x);
- assertEquals(x, x | 0, "foo " + x);
- if (x > 0) {
- assertEquals(x - 1, (x * 0.9999999999) | 0, "foo less " + x);
- } else {
- assertEquals(x + 1, (x * 0.9999999999) | 0, "foo less " + x);
- }
- }
- for (var i = 1; i < 0x80000000; i *= 2) {
- foo(i);
- foo(-i);
- }
- for (var i = 1; i < 1/0; i *= 2) {
- assertEquals(i | 0, (i * 1.0000000000000001) | 0, "b" + i);
- assertEquals(-i | 0, (i * -1.0000000000000001) | 0, "c" + i);
- }
- for (var i = 0.5; i > 0; i /= 2) {
- assertEquals(0, i | 0, "d" + i);
- assertEquals(0, -i | 0, "e" + i);
- }
-}
-
-intConversion();
-
-// Verify that we handle the (optimized) corner case of shifting by
-// zero even for non-smis.
-function shiftByZero(n) { return n << 0; }
-
-assertEquals(3, shiftByZero(3.1415));
-
-// Verify that the static type information of x >>> 32 is computed correctly.
-function LogicalShiftRightByMultipleOf32(x) {
- x = x >>> 32;
- return x + x;
-}
-
-assertEquals(4589934592, LogicalShiftRightByMultipleOf32(-2000000000));
-assertEquals(4589934592, LogicalShiftRightByMultipleOf32(-2000000000));
-
-// Verify that the shift amount is reduced modulo 32, not modulo 64.
-function LeftShiftThreeBy(x) {return 3 << x;}
-assertEquals(24, LeftShiftThreeBy(3));
-assertEquals(24, LeftShiftThreeBy(35));
-assertEquals(24, LeftShiftThreeBy(67));
-assertEquals(24, LeftShiftThreeBy(-29));
-
-// Regression test for a bug in the ARM code generator. For some register
-// allocations we got the Smi overflow case wrong.
-function f(x, y) { return y + ( 1 << (x & 31)); }
-assertEquals(-2147483647, f(31, 1));
-
-// Regression test for correct handling of overflow in smi comparison.
-assertTrue(-0x40000000 < 42);
diff --git a/src/3rdparty/v8/test/mjsunit/sparse-array-reverse.js b/src/3rdparty/v8/test/mjsunit/sparse-array-reverse.js
deleted file mode 100644
index 45a6da4..0000000
--- a/src/3rdparty/v8/test/mjsunit/sparse-array-reverse.js
+++ /dev/null
@@ -1,131 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-/**
- * @fileoverview Test reverse on small * and large arrays.
- */
-
-var VERYLARGE = 4000000000;
-
-// Nicer for firefox 1.5. Unless you uncomment the following line,
-// smjs will appear to hang on this file.
-//var VERYLARGE = 40000;
-
-
-// Simple test of reverse on sparse array.
-var a = [];
-a.length = 2000;
-a[15] = 'a';
-a[30] = 'b';
-Array.prototype[30] = 'B'; // Should be hidden by a[30].
-a[40] = 'c';
-a[50] = 'deleted';
-delete a[50]; // Should leave no trace once deleted.
-a[1959] = 'd'; // Swapped with a[40] when reversing.
-a[1999] = 'e';
-assertEquals("abcde", a.join(''));
-a.reverse();
-delete Array.prototype[30];
-assertEquals("edcba", a.join(''));
-
-
-
-var seed = 43;
-
-// CONG pseudo random number generator. Used for fuzzing the sparse array
-// reverse code.
-function DoOrDont() {
- seed = (69069 * seed + 1234567) % 0x100000000;
- return (seed & 0x100000) != 0;
-}
-
-var sizes = [140, 40000, VERYLARGE];
-var poses = [0, 10, 50, 69];
-
-
-// Fuzzing test of reverse on sparse array.
-for (var iterations = 0; iterations < 20; iterations++) {
- for (var size_pos = 0; size_pos < sizes.length; size_pos++) {
- var size = sizes[size_pos];
-
- var to_delete = [];
-
- var a;
- // Make sure we test both array-backed and hash-table backed
- // arrays.
- if (size < 1000) {
- a = new Array(size);
- } else {
- a = new Array();
- a.length = size;
- }
-
- var expected = '';
- var expected_reversed = '';
-
- for (var pos_pos = 0; pos_pos < poses.length; pos_pos++) {
- var pos = poses[pos_pos];
- var letter = String.fromCharCode(97 + pos_pos);
- if (DoOrDont()) {
- a[pos] = letter;
- expected += letter;
- expected_reversed = letter + expected_reversed;
- } else if (DoOrDont()) {
- Array.prototype[pos] = letter;
- expected += letter;
- expected_reversed = letter + expected_reversed;
- to_delete.push(pos);
- }
- }
- var expected2 = '';
- var expected_reversed2 = '';
- for (var pos_pos = poses.length - 1; pos_pos >= 0; pos_pos--) {
- var letter = String.fromCharCode(110 + pos_pos);
- var pos = size - poses[pos_pos] - 1;
- if (DoOrDont()) {
- a[pos] = letter;
- expected2 += letter;
- expected_reversed2 = letter + expected_reversed2;
- } else if (DoOrDont()) {
- Array.prototype[pos] = letter;
- expected2 += letter;
- expected_reversed2 = letter + expected_reversed2;
- to_delete.push(pos);
- }
- }
-
- assertEquals(expected + expected2, a.join(''), 'join' + size);
- a.reverse();
-
- while (to_delete.length != 0) {
- var pos = to_delete.pop();
- delete(Array.prototype[pos]);
- }
-
- assertEquals(expected_reversed2 + expected_reversed, a.join(''), 'reverse then join' + size);
- }
-}
diff --git a/src/3rdparty/v8/test/mjsunit/sparse-array.js b/src/3rdparty/v8/test/mjsunit/sparse-array.js
deleted file mode 100644
index 0952f2c..0000000
--- a/src/3rdparty/v8/test/mjsunit/sparse-array.js
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Because of a bug in the heuristics used to figure out when to
-// convert a slow-case elements backing storage to fast case, the
-// following took a very long time.
-//
-// This test passes if it finishes almost immediately.
-for (var repetitions = 0; repetitions < 20; repetitions++) {
- var stride = 500;
- var array = [];
- for (var i = 0; i < 1000; i++) {
- array[i * stride] = i;
- }
-}
-
-
diff --git a/src/3rdparty/v8/test/mjsunit/stack-traces-2.js b/src/3rdparty/v8/test/mjsunit/stack-traces-2.js
deleted file mode 100644
index 165c4df..0000000
--- a/src/3rdparty/v8/test/mjsunit/stack-traces-2.js
+++ /dev/null
@@ -1,87 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --builtins-in-stack-traces
-
-
-// Poisonous object that throws a reference error if attempted converted to
-// a primitive values.
-var thrower = { valueOf: function() { FAIL; },
- toString: function() { FAIL; } };
-
-// Tests that a native constructor function is included in the
-// stack trace.
-function testTraceNativeConstructor(nativeFunc) {
- var nativeFuncName = nativeFunc.name;
- try {
- new nativeFunc(thrower);
- assertUnreachable(nativeFuncName);
- } catch (e) {
- assertTrue(e.stack.indexOf(nativeFuncName) >= 0, nativeFuncName);
- }
-}
-
-// Tests that a native conversion function is included in the
-// stack trace.
-function testTraceNativeConversion(nativeFunc) {
- var nativeFuncName = nativeFunc.name;
- try {
- nativeFunc(thrower);
- assertUnreachable(nativeFuncName);
- } catch (e) {
- assertTrue(e.stack.indexOf(nativeFuncName) >= 0, nativeFuncName);
- }
-}
-
-
-function testNotOmittedBuiltin(throwing, included) {
- try {
- throwing();
- assertUnreachable(included);
- } catch (e) {
- assertTrue(e.stack.indexOf(included) >= 0, included);
- }
-}
-
-
-testTraceNativeConversion(String); // Does ToString on argument.
-testTraceNativeConversion(Number); // Does ToNumber on argument.
-testTraceNativeConversion(RegExp); // Does ToString on argument.
-
-testTraceNativeConstructor(String); // Does ToString on argument.
-testTraceNativeConstructor(Number); // Does ToNumber on argument.
-testTraceNativeConstructor(RegExp); // Does ToString on argument.
-testTraceNativeConstructor(Date); // Does ToNumber on argument.
-
-// QuickSort has builtins object as receiver, and is non-native
-// builtin. Should not be omitted with the --builtins-in-stack-traces flag.
-testNotOmittedBuiltin(function(){ [thrower, 2].sort(function (a,b) {
- (b < a) - (a < b); });
- }, "QuickSort");
-
-// Not omitted even though ADD from runtime.js is a non-native builtin.
-testNotOmittedBuiltin(function(){ thrower + 2; }, "ADD"); \ No newline at end of file
diff --git a/src/3rdparty/v8/test/mjsunit/stack-traces-gc.js b/src/3rdparty/v8/test/mjsunit/stack-traces-gc.js
deleted file mode 100644
index dd878f2..0000000
--- a/src/3rdparty/v8/test/mjsunit/stack-traces-gc.js
+++ /dev/null
@@ -1,119 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-gc --allow-natives-syntax
-
-var fired = [];
-for (var i = 0; i < 100; i++) fired[i] = false;
-
-function getter_function(i) {
- return %MarkOneShotGetter( function() { fired[i] = true; } );
-}
-
-// Error objects that die young.
-for (var i = 0; i < 100; i++) {
- var error = new Error();
- // Replace the getter to observe whether it has been fired,
- // and disguise it as original getter.
- var getter = getter_function(i);
- error.__defineGetter__("stack", getter);
-
- error = undefined;
-}
-
-gc();
-for (var i = 0; i < 100; i++) {
- assertFalse(fired[i]);
-}
-
-// Error objects that are kept alive.
-var array = [];
-for (var i = 0; i < 100; i++) {
- var error = new Error();
- var getter = getter_function(i);
- // Replace the getter to observe whether it has been fired,
- // and disguise it as original getter.
- error.__defineGetter__("stack", getter);
-
- array.push(error);
- error = undefined;
-}
-
-gc();
-// We don't expect all stack traces to be formatted after only one GC.
-assertTrue(fired[0]);
-
-for (var i = 0; i < 10; i++) gc();
-for (var i = 0; i < 100; i++) assertTrue(fired[i]);
-
-// Error objects with custom stack getter.
-var custom_error = new Error();
-var custom_getter_fired = false;
-custom_error.__defineGetter__("stack",
- function() { custom_getter_fired = true; });
-gc();
-assertFalse(custom_getter_fired);
-
-// Check that formatting caused by GC is not somehow observable.
-var error;
-
-var obj = { foo: function foo() { throw new Error(); } };
-
-try {
- obj.foo();
-} catch (e) {
- delete obj.foo;
- Object.defineProperty(obj, 'foo', {
- get: function() { assertUnreachable(); }
- });
- error = e;
-}
-
-gc();
-
-Object.defineProperty(Array.prototype, '0', {
- get: function() { assertUnreachable(); }
-});
-
-try {
- throw new Error();
-} catch (e) {
- error = e;
-}
-
-gc();
-
-String.prototype.indexOf = function() { assertUnreachable(); };
-String.prototype.lastIndexOf = function() { assertUnreachable(); };
-var obj = { method: function() { throw Error(); } };
-try {
- obj.method();
-} catch (e) {
- error = e;
-}
-
-gc();
diff --git a/src/3rdparty/v8/test/mjsunit/stack-traces-overflow.js b/src/3rdparty/v8/test/mjsunit/stack-traces-overflow.js
deleted file mode 100644
index 7722e93..0000000
--- a/src/3rdparty/v8/test/mjsunit/stack-traces-overflow.js
+++ /dev/null
@@ -1,122 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function rec1(a) { rec1(a+1); }
-function rec2(a) { rec3(a+1); }
-function rec3(a) { rec2(a+1); }
-
-// Test stack trace getter and setter.
-try {
- rec1(0);
-} catch (e) {
- assertTrue(e.stack.indexOf("rec1") > 0);
- e.stack = "123";
- assertEquals("123", e.stack);
-}
-
-// Test setter w/o calling the getter.
-try {
- rec2(0);
-} catch (e) {
- assertTrue(e.stack.indexOf("rec2") > 0);
- assertTrue(e.stack.indexOf("rec3") > 0);
- e.stack = "123";
- assertEquals("123", e.stack);
-}
-
-// Test getter to make sure setter does not affect the boilerplate.
-try {
- rec1(0);
-} catch (e) {
- assertTrue(e.stack.indexOf("rec1") > 0);
- assertInstanceof(e, RangeError);
-}
-
-
-// Check setting/getting stack property on the prototype chain.
-function testErrorPrototype(prototype) {
- var object = {};
- object.__proto__ = prototype;
- object.stack = "123";
- assertEquals("123", object.stack);
- assertTrue("123" != prototype.stack);
-}
-
-try {
- rec1(0);
-} catch (e) {
- e.stack;
- testErrorPrototype(e);
-}
-
-try {
- rec1(0);
-} catch (e) {
- testErrorPrototype(e);
-}
-
-try {
- throw new Error();
-} catch (e) {
- testErrorPrototype(e);
-}
-
-Error.stackTraceLimit = 3;
-try {
- rec1(0);
-} catch (e) {
- assertEquals(4, e.stack.split('\n').length);
-}
-
-Error.stackTraceLimit = 25.9;
-try {
- rec1(0);
-} catch (e) {
- assertEquals(26, e.stack.split('\n').length);
-}
-
-Error.stackTraceLimit = NaN;
-try {
- rec1(0);
-} catch (e) {
- assertEquals(1, e.stack.split('\n').length);
-}
-
-Error.stackTraceLimit = "not a number";
-try {
- rec1(0);
-} catch (e) {
- assertEquals(undefined, e.stack);
-}
-
-Error.stackTraceLimit = 3;
-Error = ""; // Overwrite Error in the global object.
-try {
- rec1(0);
-} catch (e) {
- assertEquals(4, e.stack.split('\n').length);
-}
diff --git a/src/3rdparty/v8/test/mjsunit/stack-traces.js b/src/3rdparty/v8/test/mjsunit/stack-traces.js
deleted file mode 100644
index b5d58fa..0000000
--- a/src/3rdparty/v8/test/mjsunit/stack-traces.js
+++ /dev/null
@@ -1,329 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function testMethodNameInference() {
- function Foo() { }
- Foo.prototype.bar = function () { FAIL; };
- (new Foo).bar();
-}
-
-function testNested() {
- function one() {
- function two() {
- function three() {
- FAIL;
- }
- three();
- }
- two();
- }
- one();
-}
-
-function testArrayNative() {
- [1, 2, 3].map(function () { FAIL; });
-}
-
-function testImplicitConversion() {
- function Nirk() { }
- Nirk.prototype.valueOf = function () { FAIL; };
- return 1 + (new Nirk);
-}
-
-function testEval() {
- eval("function Doo() { FAIL; }; Doo();");
-}
-
-function testNestedEval() {
- var x = "FAIL";
- eval("function Outer() { eval('function Inner() { eval(x); }'); Inner(); }; Outer();");
-}
-
-function testEvalWithSourceURL() {
- eval("function Doo() { FAIL; }; Doo();\n//@ sourceURL=res://name");
-}
-
-function testNestedEvalWithSourceURL() {
- var x = "FAIL";
- var innerEval = 'function Inner() { eval(x); }\n//@ sourceURL=res://inner-eval';
- eval("function Outer() { eval(innerEval); Inner(); }; Outer();\n//@ sourceURL=res://outer-eval");
-}
-
-function testValue() {
- Number.prototype.causeError = function () { FAIL; };
- (1).causeError();
-}
-
-function testConstructor() {
- function Plonk() { FAIL; }
- new Plonk();
-}
-
-function testRenamedMethod() {
- function a$b$c$d() { return FAIL; }
- function Wookie() { }
- Wookie.prototype.d = a$b$c$d;
- (new Wookie).d();
-}
-
-function testAnonymousMethod() {
- (function () { FAIL }).call([1, 2, 3]);
-}
-
-function CustomError(message, stripPoint) {
- this.message = message;
- Error.captureStackTrace(this, stripPoint);
-}
-
-CustomError.prototype.toString = function () {
- return "CustomError: " + this.message;
-};
-
-function testDefaultCustomError() {
- throw new CustomError("hep-hey", undefined);
-}
-
-function testStrippedCustomError() {
- throw new CustomError("hep-hey", CustomError);
-}
-
-MyObj = function() { FAIL; }
-
-MyObjCreator = function() {}
-
-MyObjCreator.prototype.Create = function() {
- return new MyObj();
-}
-
-function testClassNames() {
- (new MyObjCreator).Create();
-}
-
-// Utility function for testing that the expected strings occur
-// in the stack trace produced when running the given function.
-function testTrace(name, fun, expected, unexpected) {
- var threw = false;
- try {
- fun();
- } catch (e) {
- for (var i = 0; i < expected.length; i++) {
- assertTrue(e.stack.indexOf(expected[i]) != -1,
- name + " doesn't contain expected[" + i + "] stack = " + e.stack);
- }
- if (unexpected) {
- for (var i = 0; i < unexpected.length; i++) {
- assertEquals(e.stack.indexOf(unexpected[i]), -1,
- name + " contains unexpected[" + i + "]");
- }
- }
- threw = true;
- }
- assertTrue(threw, name + " didn't throw");
-}
-
-// Test that the error constructor is not shown in the trace
-function testCallerCensorship() {
- var threw = false;
- try {
- FAIL;
- } catch (e) {
- assertEquals(-1, e.stack.indexOf('at new ReferenceError'),
- "CallerCensorship contained new ReferenceError");
- threw = true;
- }
- assertTrue(threw, "CallerCensorship didn't throw");
-}
-
-// Test that the explicit constructor call is shown in the trace
-function testUnintendedCallerCensorship() {
- var threw = false;
- try {
- new ReferenceError({
- toString: function () {
- FAIL;
- }
- });
- } catch (e) {
- assertTrue(e.stack.indexOf('at new ReferenceError') != -1,
- "UnintendedCallerCensorship didn't contain new ReferenceError");
- threw = true;
- }
- assertTrue(threw, "UnintendedCallerCensorship didn't throw");
-}
-
-// If an error occurs while the stack trace is being formatted it should
-// be handled gracefully.
-function testErrorsDuringFormatting() {
- function Nasty() { }
- Nasty.prototype.foo = function () { throw new RangeError(); };
- var n = new Nasty();
- n.__defineGetter__('constructor', function () { CONS_FAIL; });
- var threw = false;
- try {
- n.foo();
- } catch (e) {
- threw = true;
- assertTrue(e.stack.indexOf('<error: ReferenceError') != -1,
- "ErrorsDuringFormatting didn't contain error: ReferenceError");
- }
- assertTrue(threw, "ErrorsDuringFormatting didn't throw");
- threw = false;
- // Now we can't even format the message saying that we couldn't format
- // the stack frame. Put that in your pipe and smoke it!
- ReferenceError.prototype.toString = function () { NESTED_FAIL; };
- try {
- n.foo();
- } catch (e) {
- threw = true;
- assertTrue(e.stack.indexOf('<error>') != -1,
- "ErrorsDuringFormatting didn't contain <error>");
- }
- assertTrue(threw, "ErrorsDuringFormatting didnt' throw (2)");
-}
-
-
-// Poisonous object that throws a reference error if attempted converted to
-// a primitive values.
-var thrower = { valueOf: function() { FAIL; },
- toString: function() { FAIL; } };
-
-// Tests that a native constructor function is included in the
-// stack trace.
-function testTraceNativeConstructor(nativeFunc) {
- var nativeFuncName = nativeFunc.name;
- try {
- new nativeFunc(thrower);
- assertUnreachable(nativeFuncName);
- } catch (e) {
- assertTrue(e.stack.indexOf(nativeFuncName) >= 0, nativeFuncName);
- }
-}
-
-// Tests that a native conversion function is included in the
-// stack trace.
-function testTraceNativeConversion(nativeFunc) {
- var nativeFuncName = nativeFunc.name;
- try {
- nativeFunc(thrower);
- assertUnreachable(nativeFuncName);
- } catch (e) {
- assertTrue(e.stack.indexOf(nativeFuncName) >= 0, nativeFuncName);
- }
-}
-
-
-function testOmittedBuiltin(throwing, omitted) {
- try {
- throwing();
- assertUnreachable(omitted);
- } catch (e) {
- assertTrue(e.stack.indexOf(omitted) < 0, omitted);
- }
-}
-
-
-testTrace("testArrayNative", testArrayNative, ["Array.map (native)"]);
-testTrace("testNested", testNested, ["at one", "at two", "at three"]);
-testTrace("testMethodNameInference", testMethodNameInference, ["at Foo.bar"]);
-testTrace("testImplicitConversion", testImplicitConversion, ["at Nirk.valueOf"]);
-testTrace("testEval", testEval, ["at Doo (eval at testEval"]);
-testTrace("testNestedEval", testNestedEval, ["eval at Inner (eval at Outer"]);
-testTrace("testEvalWithSourceURL", testEvalWithSourceURL,
- [ "at Doo (res://name:1:18)" ]);
-testTrace("testNestedEvalWithSourceURL", testNestedEvalWithSourceURL,
- [" at Inner (res://inner-eval:1:20)",
- " at Outer (res://outer-eval:1:37)"]);
-testTrace("testValue", testValue, ["at Number.causeError"]);
-testTrace("testConstructor", testConstructor, ["new Plonk"]);
-testTrace("testRenamedMethod", testRenamedMethod, ["Wookie.a$b$c$d [as d]"]);
-testTrace("testAnonymousMethod", testAnonymousMethod, ["Array.<anonymous>"]);
-testTrace("testDefaultCustomError", testDefaultCustomError,
- ["hep-hey", "new CustomError"],
- ["collectStackTrace"]);
-testTrace("testStrippedCustomError", testStrippedCustomError, ["hep-hey"],
- ["new CustomError", "collectStackTrace"]);
-testTrace("testClassNames", testClassNames,
- ["new MyObj", "MyObjCreator.Create"], ["as Create"]);
-testCallerCensorship();
-testUnintendedCallerCensorship();
-testErrorsDuringFormatting();
-
-testTraceNativeConversion(String); // Does ToString on argument.
-testTraceNativeConversion(Number); // Does ToNumber on argument.
-testTraceNativeConversion(RegExp); // Does ToString on argument.
-
-testTraceNativeConstructor(String); // Does ToString on argument.
-testTraceNativeConstructor(Number); // Does ToNumber on argument.
-testTraceNativeConstructor(RegExp); // Does ToString on argument.
-testTraceNativeConstructor(Date); // Does ToNumber on argument.
-
-// Omitted because QuickSort has builtins object as receiver, and is non-native
-// builtin.
-testOmittedBuiltin(function(){ [thrower, 2].sort(function (a,b) {
- (b < a) - (a < b); });
- }, "QuickSort");
-
-// Omitted because ADD from runtime.js is non-native builtin.
-testOmittedBuiltin(function(){ thrower + 2; }, "ADD");
-
-var error = new Error();
-error.toString = function() { assertUnreachable(); };
-error.stack;
-
-error = new Error();
-error.name = { toString: function() { assertUnreachable(); }};
-error.message = { toString: function() { assertUnreachable(); }};
-error.stack;
-
-error = new Error();
-Array.prototype.push = function(x) { assertUnreachable(); };
-Array.prototype.join = function(x) { assertUnreachable(); };
-error.stack;
-
-var fired = false;
-error = new Error({ toString: function() { fired = true; } });
-assertTrue(fired);
-error.stack;
-assertTrue(fired);
-
-// Check that throwing exception in a custom stack trace formatting function
-// does not lead to recursion.
-Error.prepareStackTrace = function() { throw new Error("abc"); };
-var message;
-try {
- throw new Error();
-} catch (e) {
- message = e.message;
-}
-
-assertEquals("abc", message);
-
-// Test that modifying Error.prepareStackTrace by itself works.
-Error.prepareStackTrace = function() { Error.prepareStackTrace = "custom"; };
-new Error();
-
-assertEquals("custom", Error.prepareStackTrace);
diff --git a/src/3rdparty/v8/test/mjsunit/store-dictionary.js b/src/3rdparty/v8/test/mjsunit/store-dictionary.js
deleted file mode 100644
index 45e254b..0000000
--- a/src/3rdparty/v8/test/mjsunit/store-dictionary.js
+++ /dev/null
@@ -1,65 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test dictionary store ICs.
-
-// Function that stores property 'x' on an object.
-function store(obj) { obj.x = 42; }
-
-// Create object and force it to dictionary mode by deleting property.
-var o = { x: 32, y: 33 };
-delete o.y;
-
-// Make the store ic in the 'store' function go into dictionary store
-// case.
-for (var i = 0; i < 3; i++) {
- store(o);
-}
-assertEquals(42, o.x);
-
-// Test that READ_ONLY property attribute is respected. Make 'x'
-// READ_ONLY.
-Object.defineProperty(o, 'x', { value: 32, writable: false });
-
-// Attempt to store using the store ic in the 'store' function.
-store(o);
-
-// Check that the store did not change the value.
-assertEquals(32, o.x);
-
-// Check that bail-out code works.
-// Smi.
-store(1);
-// Fast case object.
-o = new Object();
-store(o);
-assertEquals(42, o.x);
-// Slow case object without x property.
-delete o.x;
-store(o);
-assertEquals(42, o.x);
-
diff --git a/src/3rdparty/v8/test/mjsunit/str-to-num.js b/src/3rdparty/v8/test/mjsunit/str-to-num.js
deleted file mode 100644
index cbec87f..0000000
--- a/src/3rdparty/v8/test/mjsunit/str-to-num.js
+++ /dev/null
@@ -1,214 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function toNumber(val) {
- return Number(val);
-}
-
-function repeat(s, num) {
- var result = '';
- while (num > 0) {
- if ((num & 1) != 0) result += s;
- s += s;
- num >>= 1;
- }
-
- return result;
-}
-
-assertEquals('0000000000', repeat('0', 10));
-
-// assertEquals(, toNumber());
-
-assertEquals(123, toNumber(" 123"));
-assertEquals(123, toNumber("\n123"));
-assertEquals(123, toNumber("\r123"));
-assertEquals(123, toNumber("\t123"));
-assertEquals(123, toNumber("\f123"));
-
-assertEquals(123, toNumber("123 "));
-assertEquals(123, toNumber("123\n"));
-assertEquals(123, toNumber("123\r"));
-assertEquals(123, toNumber("123\t"));
-assertEquals(123, toNumber("123\f"));
-
-assertEquals(123, toNumber(" 123 "));
-assertEquals(123, toNumber("\n123\n"));
-assertEquals(123, toNumber("\r123\r"));
-assertEquals(123, toNumber("\t123\t"));
-assertEquals(123, toNumber("\f123\f"));
-
-assertEquals(16, toNumber(" 0x10 "));
-assertEquals(NaN, toNumber("0x"));
-assertEquals(NaN, toNumber("0x "));
-
-assertTrue(isNaN(toNumber(" NaN ")));
-assertEquals(Infinity, toNumber(" Infinity ") ," Infinity");
-assertEquals(-Infinity, toNumber(" -Infinity "));
-assertEquals(Infinity, toNumber(" +Infinity "), " +Infinity");
-assertEquals(Infinity, toNumber("Infinity ") ,"Infinity");
-assertEquals(-Infinity, toNumber("-Infinity "));
-assertEquals(Infinity, toNumber("+Infinity "), "+Infinity");
-
-assertEquals(0, toNumber("0"));
-assertEquals(0, toNumber("+0"));
-assertEquals(-0, toNumber("-0"));
-assertEquals(-Infinity, 1 / toNumber("-0"));
-
-assertEquals(1, toNumber("1"));
-assertEquals(1, toNumber("+1"));
-assertEquals(-1, toNumber("-1"));
-
-assertEquals(2, toNumber("2"));
-assertEquals(2, toNumber("+2"));
-assertEquals(-2, toNumber("-2"));
-
-assertEquals(3.1415926, toNumber("3.1415926"));
-assertEquals(3.1415926, toNumber("+3.1415926"));
-assertEquals(-3.1415926, toNumber("-3.1415926"));
-
-assertEquals(5, toNumber("5."));
-assertEquals(5, toNumber("+5."));
-assertEquals(-5, toNumber("-5."));
-
-assertEquals(500, toNumber("5e2"));
-assertEquals(500, toNumber("+5e2"));
-assertEquals(-500, toNumber("-5e2"));
-assertEquals(500, toNumber("5e+2"));
-assertEquals(500, toNumber("+5e+2"));
-assertEquals(-500, toNumber("-5e+2"));
-assertEquals(0.05, toNumber("5e-2"));
-assertEquals(0.05, toNumber("+5e-2"));
-assertEquals(-0.05, toNumber("-5e-2"));
-
-assertEquals(0.00001, toNumber(".00001"));
-assertEquals(0.00001, toNumber("+.00001"));
-assertEquals(-0.00001, toNumber("-.00001"));
-assertEquals(1, toNumber(".00001e5"));
-assertEquals(1, toNumber("+.00001e5"));
-assertEquals(-1, toNumber("-.00001e5"));
-assertEquals(1, toNumber(".00001e+5"));
-assertEquals(1, toNumber("+.00001e+5"));
-assertEquals(-1, toNumber("-.00001e+5"));
-assertEquals(0.00001, toNumber(".001e-2"));
-assertEquals(0.00001, toNumber("+.001e-2"));
-assertEquals(-0.00001, toNumber("-.001e-2"));
-
-assertEquals(12340000, toNumber("1234e4"));
-assertEquals(12340000, toNumber("+1234e4"));
-assertEquals(-12340000, toNumber("-1234e4"));
-assertEquals(12340000, toNumber("1234e+4"));
-assertEquals(12340000, toNumber("+1234e+4"));
-assertEquals(-12340000, toNumber("-1234e+4"));
-assertEquals(0.1234, toNumber("1234e-4"));
-assertEquals(0.1234, toNumber("+1234e-4"));
-assertEquals(-0.1234, toNumber("-1234e-4"));
-
-assertEquals(0, toNumber("0x0"));
-assertEquals(1, toNumber("0x1"));
-assertEquals(2, toNumber("0x2"));
-assertEquals(9, toNumber("0x9"));
-assertEquals(10, toNumber("0xa"));
-assertEquals(11, toNumber("0xb"));
-assertEquals(15, toNumber("0xf"));
-assertEquals(10, toNumber("0xA"));
-assertEquals(11, toNumber("0xB"));
-assertEquals(15, toNumber("0xF"));
-
-assertEquals(0, toNumber("0X0"));
-assertEquals(9, toNumber("0X9"));
-assertEquals(10, toNumber("0Xa"));
-assertEquals(10, toNumber("0XA"));
-assertEquals(15, toNumber("0Xf"));
-assertEquals(15, toNumber("0XF"));
-
-assertEquals(0, toNumber("0x000"));
-assertEquals(0, toNumber("0x000" + repeat('0', 1000)));
-assertEquals(9, toNumber("0x009"));
-assertEquals(10, toNumber("0x00a"));
-assertEquals(10, toNumber("0x00A"));
-assertEquals(15, toNumber("0x00f"));
-assertEquals(15, toNumber("0x00F"));
-assertEquals(15, toNumber("0x00F "));
-assertEquals(Infinity, toNumber("0x" + repeat('0', 1000) + '1'
- + repeat('0', 1000)));
-
-assertEquals(0x1000000 * 0x10000000, toNumber("0x10000000000000"));
-assertEquals(0x1000000 * 0x10000000 + 1, toNumber("0x10000000000001"));
-assertEquals(0x10 * 0x1000000 * 0x10000000, toNumber("0x100000000000000"));
-assertEquals(0x10 * 0x1000000 * 0x10000000, toNumber("0x100000000000001"));
-assertEquals(0x10 * 0x1000000 * 0x10000000, toNumber("0x100000000000007"));
-assertEquals(0x10 * 0x1000000 * 0x10000000, toNumber("0x100000000000008"));
-assertEquals(0x10 * (0x1000000 * 0x10000000 + 1),
- toNumber("0x100000000000009"));
-assertEquals(0x10 * (0x1000000 * 0x10000000 + 1),
- toNumber("0x10000000000000F"));
-assertEquals(0x10 * (0x1000000 * 0x10000000 + 1),
- toNumber("0x100000000000010"));
-assertEquals(0x100000000000 * 0x1000000 * 0x10000000,
- toNumber("0x1000000000000000000000000"));
-assertEquals(0x100000000000 * 0x1000000 * 0x10000000,
- toNumber("0x1000000000000080000000000"));
-assertEquals(0x100000000000 * (0x1000000 * 0x10000000 + 1),
- toNumber("0x1000000000000080000000001"));
-assertEquals(0x100000000000 * 0x1000000 * 0x10000000,
- toNumber(" 0x1000000000000000000000000 "));
-
-assertEquals(0, toNumber("00"));
-assertEquals(1, toNumber("01"));
-assertEquals(2, toNumber("02"));
-assertEquals(10, toNumber("010"));
-assertEquals(100, toNumber("0100"));
-assertEquals(100, toNumber("000100"));
-
-assertEquals(Infinity, toNumber("1e999"), "1e999");
-assertEquals(-Infinity, toNumber("-1e999"));
-assertEquals(0, toNumber("1e-999"));
-assertEquals(-0, toNumber("-1e-999"));
-assertEquals(Infinity, 1 / toNumber("1e-999"), "1e-999");
-assertEquals(-Infinity, 1 / toNumber("-1e-999"));
-
-assertTrue(isNaN(toNumber("junk")), "junk");
-assertTrue(isNaN(toNumber("100 junk")), "100 junk");
-assertTrue(isNaN(toNumber("0x100 junk")), "0x100 junk");
-assertTrue(isNaN(toNumber("100.0 junk")), "100.0 junk");
-assertTrue(isNaN(toNumber(".1e4 junk")), ".1e4 junk");
-assertTrue(isNaN(toNumber("Infinity junk")), "Infinity junk");
-assertTrue(isNaN(toNumber("1e")), "1e");
-assertTrue(isNaN(toNumber("1e ")), "1e_");
-assertTrue(isNaN(toNumber("1" + repeat('0', 1000) + 'junk')), "1e1000 junk");
-
-for (var i = 1; i < 12; i++) {
- assertEquals(toNumber('1' + repeat('0', i)), Math.pow(10.0, i));
-}
-
-assertTrue(isNaN(toNumber("+0x0")));
-assertTrue(isNaN(toNumber("+0xFF")));
-assertTrue(isNaN(toNumber("+0x012")));
-assertTrue(isNaN(toNumber("-0x0")));
-assertTrue(isNaN(toNumber("-0xFF")));
-assertTrue(isNaN(toNumber("-0x012"))); \ No newline at end of file
diff --git a/src/3rdparty/v8/test/mjsunit/stress-array-push.js b/src/3rdparty/v8/test/mjsunit/stress-array-push.js
deleted file mode 100644
index 1db2e2a..0000000
--- a/src/3rdparty/v8/test/mjsunit/stress-array-push.js
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Rewrite of mozilla_js_tests/js1_5/GC/regress-278725
-// to stress test pushing elements to an array.
-var results = [];
-for (var k = 0; k < 60000; k++) {
- if ((k%10000) == 0) results.length = 0;
- results.push({});
-}
diff --git a/src/3rdparty/v8/test/mjsunit/strict-equals.js b/src/3rdparty/v8/test/mjsunit/strict-equals.js
deleted file mode 100644
index d080ce8..0000000
--- a/src/3rdparty/v8/test/mjsunit/strict-equals.js
+++ /dev/null
@@ -1,90 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var n = null;
-var u = void 0;
-assertTrue(null === null);
-assertTrue(null === n);
-assertTrue(n === null);
-assertTrue(n === n);
-assertFalse(null === void 0);
-assertFalse(void 0 === null);
-assertFalse(u === null);
-assertFalse(null === u);
-assertFalse(n === u);
-assertFalse(u === n);
-assertTrue(void 0 === void 0);
-assertTrue(u === u);
-assertTrue(u === void 0);
-assertTrue(void 0 === u);
-
-assertTrue('foo' === 'foo');
-assertFalse('bar' === 'foo');
-assertFalse('foo' === new String('foo'));
-assertFalse(new String('foo') === new String('foo'));
-var s = new String('foo');
-assertTrue(s === s);
-assertFalse(s === null);
-assertFalse(s === void 0);
-assertFalse('foo' === null);
-assertFalse('foo' === 7);
-assertFalse('foo' === true);
-assertFalse('foo' === void 0);
-assertFalse('foo' === {});
-
-assertFalse({} === {});
-var x = {};
-assertTrue(x === x);
-assertFalse(x === null);
-assertFalse(x === 7);
-assertFalse(x === true);
-assertFalse(x === void 0);
-assertFalse(x === {});
-
-assertTrue(true === true);
-assertTrue(false === false);
-assertFalse(false === true);
-assertFalse(true === false);
-assertFalse(true === new Boolean(true));
-assertFalse(true === new Boolean(false));
-assertFalse(false === new Boolean(true));
-assertFalse(false === new Boolean(false));
-assertFalse(true === 0);
-assertFalse(true === 1);
-
-assertTrue(0 === 0);
-assertTrue(-0 === -0);
-assertTrue(-0 === 0);
-assertTrue(0 === -0);
-assertFalse(0 === new Number(0));
-assertFalse(1 === new Number(1));
-assertTrue(4.2 === 4.2);
-assertTrue(4.2 === Number(4.2));
-
-
-
-
diff --git a/src/3rdparty/v8/test/mjsunit/strict-mode-eval.js b/src/3rdparty/v8/test/mjsunit/strict-mode-eval.js
deleted file mode 100644
index 391daaa..0000000
--- a/src/3rdparty/v8/test/mjsunit/strict-mode-eval.js
+++ /dev/null
@@ -1,90 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-"use strict";
-
-var code1 = "function f(eval) {}";
-var code2 = "function f(a, a) {}";
-var code3 = "var x = '\\020;'";
-var code4 = "function arguments() {}";
-
-// Verify the code compiles just fine in non-strict mode
-// (using aliased eval to force non-strict mode)
-var eval_alias = eval;
-
-eval_alias(code1);
-eval_alias(code2);
-eval_alias(code3);
-eval_alias(code4);
-
-function strict1() {
- var exception = false;
- try {
- eval(code1);
- } catch (e) {
- exception = true;
- assertInstanceof(e, SyntaxError);
- }
- assertTrue(exception);
-
- function strict2() {
- var exception = false;
- try {
- eval(code2);
- } catch (e) {
- exception = true;
- assertInstanceof(e, SyntaxError);
- }
- assertTrue(exception);
-
- function strict3() {
- var exception = false;
- try {
- eval(code3);
- } catch (e) {
- exception = true;
- assertInstanceof(e, SyntaxError);
- }
- assertTrue(exception);
-
- function strict4() {
- var exception = false;
- try {
- eval(code4);
- } catch (e) {
- exception = true;
- assertInstanceof(e, SyntaxError);
- }
- assertTrue(exception);
- }
- strict4();
- }
- strict3();
- }
- strict2();
-}
-strict1();
diff --git a/src/3rdparty/v8/test/mjsunit/strict-mode-implicit-receiver.js b/src/3rdparty/v8/test/mjsunit/strict-mode-implicit-receiver.js
deleted file mode 100644
index 8284edd..0000000
--- a/src/3rdparty/v8/test/mjsunit/strict-mode-implicit-receiver.js
+++ /dev/null
@@ -1,187 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-var y = 3;
-
-function get_y() { return this.y; }
-function strict_get_y() { "use strict"; return this.y; }
-
-// Test calls to strict mode function as methods.
-for (var i = 0; i < 10; i++) assertEquals(3, strict_get_y.call(this));
-var o = { y: 42 };
-for (var i = 0; i < 10; i++) assertEquals(42, strict_get_y.call(o));
-
-// Test calls to strict mode function with implicit receiver.
-function g() {
- var exception = false;
- try { strict_get_y(); } catch(e) { exception = true; }
- assertTrue(exception);
-}
-for (var i = 0; i < 3; i++) g();
-
-// Test calls to local strict mode function with implicit receiver.
-function local_function_test() {
- function get_y() { return this.y; }
- function strict_get_y() { "use strict"; return this.y; }
- assertEquals(3, get_y());
- assertEquals(3, get_y(23));
- var exception = false;
- try {
- strict_get_y();
- } catch(e) {
- exception = true;
- }
- assertTrue(exception);
-}
-
-for (var i = 0; i < 10; i++) {
- local_function_test();
-}
-
-// Test call to catch variable strict-mode function. Implicit
-// receiver.
-var exception = false;
-try {
- throw strict_get_y;
-} catch(f) {
- try {
- f();
- } catch(e) {
- exception = true;
- }
- assertTrue(exception);
-}
-
-
-// Test calls to strict-mode function with the object from a with
-// statement as the receiver.
-with(this) {
- assertEquals(3, strict_get_y());
- assertEquals(3, strict_get_y(32));
-}
-
-var o = { y: 27 };
-o.f = strict_get_y;
-with(o) {
- assertEquals(27, f());
- assertEquals(27, f(23));
-}
-
-
-// Check calls to eval within a function with 'undefined' as receiver.
-function implicit_receiver_eval() {
- "use strict";
- return eval("this");
-}
-
-assertEquals(void 0, implicit_receiver_eval());
-assertEquals(void 0, implicit_receiver_eval(32));
-
-
-// Strict mode function to get inlined.
-function strict_return_receiver() {
- "use strict";
- return this;
-}
-
-// Inline with implicit receiver.
-function g() {
- return strict_return_receiver();
-}
-
-for (var i = 0; i < 5; i++) {
- assertEquals(void 0, g());
- assertEquals(void 0, g(42));
-}
-%OptimizeFunctionOnNextCall(g);
-assertEquals(void 0, g(42));
-assertEquals(void 0, g());
-
-// Inline with explicit receiver.
-function g2() {
- var o = {};
- o.f = strict_return_receiver;
- return o.f();
-}
-
-for (var i = 0; i < 5; i++) {
- assertTrue(typeof g2() == "object");
- assertTrue(typeof g2(42) == "object");
-}
-%OptimizeFunctionOnNextCall(g2);
-assertTrue(typeof g2() == "object");
-assertTrue(typeof g2(42) == "object");
-
-// Test calls of aliased eval.
-function outer_eval_receiver() {
- var eval = function() { return this; }
- function inner_strict() {
- "use strict";
- assertEquals('object', typeof eval());
- }
- inner_strict();
-}
-outer_eval_receiver();
-
-function outer_eval_conversion3(eval, expected) {
- function inner_strict() {
- "use strict";
- var x = eval("this");
- assertEquals(expected, typeof x);
- }
- inner_strict();
-}
-
-function strict_return_this() { "use strict"; return this; }
-function return_this() { return this; }
-function strict_eval(s) { "use strict"; return eval(s); }
-function non_strict_eval(s) { return eval(s); }
-
-outer_eval_conversion3(strict_return_this, 'undefined');
-outer_eval_conversion3(return_this, 'object');
-outer_eval_conversion3(strict_eval, 'undefined');
-outer_eval_conversion3(non_strict_eval, 'object');
-
-outer_eval_conversion3(eval, 'undefined');
-
-function test_constant_function() {
- var o = { f: function() { "use strict"; return this; } };
- this.__proto__ = o;
- for (var i = 0; i < 10; i++) assertEquals(void 0, f());
-}
-test_constant_function();
-
-function test_field() {
- var o = { };
- o.f = function() {};
- o.f = function() { "use strict"; return this; };
- this.__proto__ = o;
- for (var i = 0; i < 10; i++) assertEquals(void 0, f());
-}
-test_field();
diff --git a/src/3rdparty/v8/test/mjsunit/strict-mode-opt.js b/src/3rdparty/v8/test/mjsunit/strict-mode-opt.js
deleted file mode 100644
index 5ca5c27..0000000
--- a/src/3rdparty/v8/test/mjsunit/strict-mode-opt.js
+++ /dev/null
@@ -1,103 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-var global = 0;
-var MAX = 5;
-
-// Attempt to inline strcit in non-strict.
-
-function strictToBeInlined(n) {
- "use strict";
- global = "strict";
- if (n == MAX) { undefined_variable_strict = "value"; }
-}
-
-function nonstrictCallStrict(n) {
- strictToBeInlined(n);
-}
-
-(function testInlineStrictInNonStrict() {
- for (var i = 0; i <= MAX; i ++) {
- try {
- if (i == MAX - 1) %OptimizeFunctionOnNextCall(nonstrictCallStrict);
- nonstrictCallStrict(i);
- } catch (e) {
- assertInstanceof(e, ReferenceError);
- assertEquals(MAX, i);
- return;
- }
- }
- fail("ReferenceError after MAX iterations", "no exception");
-})();
-
-// Attempt to inline non-strict in strict.
-
-function nonstrictToBeInlined(n) {
- global = "nonstrict";
- if (n == MAX) { undefined_variable_nonstrict = "The nonstrict value"; }
-}
-
-function strictCallNonStrict(n) {
- "use strict";
- nonstrictToBeInlined(n);
-}
-
-(function testInlineNonStrictInStrict() {
- for (var i = 0; i <= MAX; i ++) {
- try {
- if (i == MAX - 1) %OptimizeFunctionOnNextCall(nonstrictCallStrict);
- strictCallNonStrict(i);
- } catch (e) {
- fail("no exception", "exception");
- }
- }
- assertEquals("The nonstrict value", undefined_variable_nonstrict);
-})();
-
-// Optimize strict function.
-
-function strictAssignToUndefined(n) {
- "use strict";
- global = "strict";
- if (n == MAX) { undefined_variable_strict_2 = "value"; }
-}
-
-(function testOptimizeStrictAssignToUndefined() {
- for (var i = 0; i <= MAX; i ++) {
- try {
- if (i == MAX - 1) %OptimizeFunctionOnNextCall(nonstrictCallStrict);
- strictAssignToUndefined(i);
- } catch (e) {
- assertInstanceof(e, ReferenceError);
- assertEquals(MAX, i);
- return;
- }
- }
- fail("ReferenceError after MAX iterations", "no exception");
-})();
diff --git a/src/3rdparty/v8/test/mjsunit/strict-mode.js b/src/3rdparty/v8/test/mjsunit/strict-mode.js
deleted file mode 100644
index 5fb404a..0000000
--- a/src/3rdparty/v8/test/mjsunit/strict-mode.js
+++ /dev/null
@@ -1,1217 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function CheckStrictMode(code, exception) {
- assertDoesNotThrow(code);
- assertThrows("'use strict';\n" + code, exception);
- assertThrows('"use strict";\n' + code, exception);
- assertDoesNotThrow("\
- function outer() {\
- function inner() {\n"
- + code +
- "\n}\
- }");
- assertThrows("\
- function outer() {\
- 'use strict';\
- function inner() {\n"
- + code +
- "\n}\
- }", exception);
-}
-
-function CheckFunctionConstructorStrictMode() {
- var args = [];
- for (var i = 0; i < arguments.length; i ++) {
- args[i] = arguments[i];
- }
- // Create non-strict function. No exception.
- args[arguments.length] = "";
- assertDoesNotThrow(function() {
- Function.apply(this, args);
- });
- // Create strict mode function. Exception expected.
- args[arguments.length] = "'use strict';";
- assertThrows(function() {
- Function.apply(this, args);
- }, SyntaxError);
-}
-
-// Incorrect 'use strict' directive.
-(function UseStrictEscape() {
- "use\\x20strict";
- with ({}) {};
-})();
-
-// Incorrectly place 'use strict' directive.
-assertThrows("function foo (x) 'use strict'; {}", SyntaxError);
-
-// 'use strict' in non-directive position.
-(function UseStrictNonDirective() {
- void(0);
- "use strict";
- with ({}) {};
-})();
-
-// Multiple directives, including "use strict".
-assertThrows('\
-"directive 1";\
-"another directive";\
-"use strict";\
-"directive after strict";\
-"and one more";\
-with({}) {}', SyntaxError);
-
-// 'with' disallowed in strict mode.
-CheckStrictMode("with({}) {}", SyntaxError);
-
-// Function named 'eval'.
-CheckStrictMode("function eval() {}", SyntaxError);
-
-// Function named 'arguments'.
-CheckStrictMode("function arguments() {}", SyntaxError);
-
-// Function parameter named 'eval'.
-CheckStrictMode("function foo(a, b, eval, c, d) {}", SyntaxError);
-
-// Function parameter named 'arguments'.
-CheckStrictMode("function foo(a, b, arguments, c, d) {}", SyntaxError);
-
-// Property accessor parameter named 'eval'.
-CheckStrictMode("var o = { set foo(eval) {} }", SyntaxError);
-
-// Property accessor parameter named 'arguments'.
-CheckStrictMode("var o = { set foo(arguments) {} }", SyntaxError);
-
-// Duplicate function parameter name.
-CheckStrictMode("function foo(a, b, c, d, b) {}", SyntaxError);
-
-// Function constructor: eval parameter name.
-CheckFunctionConstructorStrictMode("eval");
-
-// Function constructor: arguments parameter name.
-CheckFunctionConstructorStrictMode("arguments");
-
-// Function constructor: duplicate parameter name.
-CheckFunctionConstructorStrictMode("a", "b", "c", "b");
-CheckFunctionConstructorStrictMode("a,b,c,b");
-
-// catch(eval)
-CheckStrictMode("try{}catch(eval){};", SyntaxError);
-
-// catch(arguments)
-CheckStrictMode("try{}catch(arguments){};", SyntaxError);
-
-// var eval
-CheckStrictMode("var eval;", SyntaxError);
-
-// var arguments
-CheckStrictMode("var arguments;", SyntaxError);
-
-// Strict mode applies to the function in which the directive is used..
-assertThrows('\
-function foo(eval) {\
- "use strict";\
-}', SyntaxError);
-
-// Strict mode doesn't affect the outer stop of strict code.
-(function NotStrict(eval) {
- function Strict() {
- "use strict";
- }
- with ({}) {};
-})();
-
-// Octal literal
-CheckStrictMode("var x = 012");
-CheckStrictMode("012");
-CheckStrictMode("'Hello octal\\032'");
-CheckStrictMode("function octal() { return 012; }");
-CheckStrictMode("function octal() { return '\\032'; }");
-
-(function ValidEscape() {
- "use strict";
- var x = '\0';
- var y = "\0";
-})();
-
-// Octal before "use strict"
-assertThrows('\
- function strict() {\
- "octal\\032directive";\
- "use strict";\
- }', SyntaxError);
-
-// Duplicate data properties.
-CheckStrictMode("var x = { dupe : 1, nondupe: 3, dupe : 2 };", SyntaxError);
-CheckStrictMode("var x = { '1234' : 1, '2345' : 2, '1234' : 3 };", SyntaxError);
-CheckStrictMode("var x = { '1234' : 1, '2345' : 2, 1234 : 3 };", SyntaxError);
-CheckStrictMode("var x = { 3.14 : 1, 2.71 : 2, 3.14 : 3 };", SyntaxError);
-CheckStrictMode("var x = { 3.14 : 1, '3.14' : 2 };", SyntaxError);
-CheckStrictMode("var x = { \
- 123: 1, \
- 123.00000000000000000000000000000000000000000000000000000000000000000001: 2 \
-}", SyntaxError);
-
-// Non-conflicting data properties.
-(function StrictModeNonDuplicate() {
- "use strict";
- var x = { 123 : 1, "0123" : 2 };
- var x = {
- 123: 1,
- '123.00000000000000000000000000000000000000000000000000000000000000000001':
- 2
- };
-})();
-
-// Two getters (non-strict)
-assertThrows("var x = { get foo() { }, get foo() { } };", SyntaxError);
-assertThrows("var x = { get foo(){}, get 'foo'(){}};", SyntaxError);
-assertThrows("var x = { get 12(){}, get '12'(){}};", SyntaxError);
-
-// Two setters (non-strict)
-assertThrows("var x = { set foo(v) { }, set foo(v) { } };", SyntaxError);
-assertThrows("var x = { set foo(v) { }, set 'foo'(v) { } };", SyntaxError);
-assertThrows("var x = { set 13(v) { }, set '13'(v) { } };", SyntaxError);
-
-// Setter and data (non-strict)
-assertThrows("var x = { foo: 'data', set foo(v) { } };", SyntaxError);
-assertThrows("var x = { set foo(v) { }, foo: 'data' };", SyntaxError);
-assertThrows("var x = { foo: 'data', set 'foo'(v) { } };", SyntaxError);
-assertThrows("var x = { set foo(v) { }, 'foo': 'data' };", SyntaxError);
-assertThrows("var x = { 'foo': 'data', set foo(v) { } };", SyntaxError);
-assertThrows("var x = { set 'foo'(v) { }, foo: 'data' };", SyntaxError);
-assertThrows("var x = { 'foo': 'data', set 'foo'(v) { } };", SyntaxError);
-assertThrows("var x = { set 'foo'(v) { }, 'foo': 'data' };", SyntaxError);
-assertThrows("var x = { 12: 1, set '12'(v){}};", SyntaxError);
-assertThrows("var x = { 12: 1, set 12(v){}};", SyntaxError);
-assertThrows("var x = { '12': 1, set '12'(v){}};", SyntaxError);
-assertThrows("var x = { '12': 1, set 12(v){}};", SyntaxError);
-
-// Getter and data (non-strict)
-assertThrows("var x = { foo: 'data', get foo() { } };", SyntaxError);
-assertThrows("var x = { get foo() { }, foo: 'data' };", SyntaxError);
-assertThrows("var x = { 'foo': 'data', get foo() { } };", SyntaxError);
-assertThrows("var x = { get 'foo'() { }, 'foo': 'data' };", SyntaxError);
-assertThrows("var x = { '12': 1, get '12'(){}};", SyntaxError);
-assertThrows("var x = { '12': 1, get 12(){}};", SyntaxError);
-
-// Assignment to eval or arguments
-CheckStrictMode("function strict() { eval = undefined; }", SyntaxError);
-CheckStrictMode("function strict() { arguments = undefined; }", SyntaxError);
-CheckStrictMode("function strict() { print(eval = undefined); }", SyntaxError);
-CheckStrictMode("function strict() { print(arguments = undefined); }",
- SyntaxError);
-CheckStrictMode("function strict() { var x = eval = undefined; }", SyntaxError);
-CheckStrictMode("function strict() { var x = arguments = undefined; }",
- SyntaxError);
-
-// Compound assignment to eval or arguments
-CheckStrictMode("function strict() { eval *= undefined; }", SyntaxError);
-CheckStrictMode("function strict() { arguments /= undefined; }", SyntaxError);
-CheckStrictMode("function strict() { print(eval %= undefined); }", SyntaxError);
-CheckStrictMode("function strict() { print(arguments %= undefined); }",
- SyntaxError);
-CheckStrictMode("function strict() { var x = eval += undefined; }",
- SyntaxError);
-CheckStrictMode("function strict() { var x = arguments -= undefined; }",
- SyntaxError);
-CheckStrictMode("function strict() { eval <<= undefined; }", SyntaxError);
-CheckStrictMode("function strict() { arguments >>= undefined; }", SyntaxError);
-CheckStrictMode("function strict() { print(eval >>>= undefined); }",
- SyntaxError);
-CheckStrictMode("function strict() { print(arguments &= undefined); }",
- SyntaxError);
-CheckStrictMode("function strict() { var x = eval ^= undefined; }",
- SyntaxError);
-CheckStrictMode("function strict() { var x = arguments |= undefined; }",
- SyntaxError);
-
-// Postfix increment with eval or arguments
-CheckStrictMode("function strict() { eval++; }", SyntaxError);
-CheckStrictMode("function strict() { arguments++; }", SyntaxError);
-CheckStrictMode("function strict() { print(eval++); }", SyntaxError);
-CheckStrictMode("function strict() { print(arguments++); }", SyntaxError);
-CheckStrictMode("function strict() { var x = eval++; }", SyntaxError);
-CheckStrictMode("function strict() { var x = arguments++; }", SyntaxError);
-
-// Postfix decrement with eval or arguments
-CheckStrictMode("function strict() { eval--; }", SyntaxError);
-CheckStrictMode("function strict() { arguments--; }", SyntaxError);
-CheckStrictMode("function strict() { print(eval--); }", SyntaxError);
-CheckStrictMode("function strict() { print(arguments--); }", SyntaxError);
-CheckStrictMode("function strict() { var x = eval--; }", SyntaxError);
-CheckStrictMode("function strict() { var x = arguments--; }", SyntaxError);
-
-// Prefix increment with eval or arguments
-CheckStrictMode("function strict() { ++eval; }", SyntaxError);
-CheckStrictMode("function strict() { ++arguments; }", SyntaxError);
-CheckStrictMode("function strict() { print(++eval); }", SyntaxError);
-CheckStrictMode("function strict() { print(++arguments); }", SyntaxError);
-CheckStrictMode("function strict() { var x = ++eval; }", SyntaxError);
-CheckStrictMode("function strict() { var x = ++arguments; }", SyntaxError);
-
-// Prefix decrement with eval or arguments
-CheckStrictMode("function strict() { --eval; }", SyntaxError);
-CheckStrictMode("function strict() { --arguments; }", SyntaxError);
-CheckStrictMode("function strict() { print(--eval); }", SyntaxError);
-CheckStrictMode("function strict() { print(--arguments); }", SyntaxError);
-CheckStrictMode("function strict() { var x = --eval; }", SyntaxError);
-CheckStrictMode("function strict() { var x = --arguments; }", SyntaxError);
-
-// Use of const in strict mode is disallowed in anticipation of ES Harmony.
-CheckStrictMode("const x = 0;", SyntaxError);
-CheckStrictMode("for (const x = 0; false;) {}", SyntaxError);
-CheckStrictMode("function strict() { const x = 0; }", SyntaxError);
-
-// Strict mode only allows functions in SourceElements
-CheckStrictMode("if (true) { function invalid() {} }", SyntaxError);
-CheckStrictMode("for (;false;) { function invalid() {} }", SyntaxError);
-CheckStrictMode("{ function invalid() {} }", SyntaxError);
-CheckStrictMode("try { function invalid() {} } catch(e) {}", SyntaxError);
-CheckStrictMode("try { } catch(e) { function invalid() {} }", SyntaxError);
-CheckStrictMode("function outer() {{ function invalid() {} }}", SyntaxError);
-
-// Delete of an unqualified identifier
-CheckStrictMode("delete unqualified;", SyntaxError);
-CheckStrictMode("function strict() { delete unqualified; }", SyntaxError);
-CheckStrictMode("function function_name() { delete function_name; }",
- SyntaxError);
-CheckStrictMode("function strict(parameter) { delete parameter; }",
- SyntaxError);
-CheckStrictMode("function strict() { var variable; delete variable; }",
- SyntaxError);
-CheckStrictMode("var variable; delete variable;", SyntaxError);
-
-(function TestStrictDelete() {
- "use strict";
- // "delete this" is allowed in strict mode and should work.
- function strict_delete() { delete this; }
- strict_delete();
-})();
-
-// Prefix unary operators other than delete, ++, -- are valid in strict mode
-(function StrictModeUnaryOperators() {
- "use strict";
- var x = [void eval, typeof eval, +eval, -eval, ~eval, !eval];
- var y = [void arguments, typeof arguments,
- +arguments, -arguments, ~arguments, !arguments];
-})();
-
-// 7.6.1.2 Future Reserved Words in strict mode
-var future_strict_reserved_words = [
- "implements",
- "interface",
- "let",
- "package",
- "private",
- "protected",
- "public",
- "static",
- "yield" ];
-
-function testFutureStrictReservedWord(word) {
- // Simple use of each reserved word
- CheckStrictMode("var " + word + " = 1;", SyntaxError);
- CheckStrictMode("typeof (" + word + ");", SyntaxError);
-
- // object literal properties
- eval("var x = { " + word + " : 42 };");
- eval("var x = { get " + word + " () {} };");
- eval("var x = { set " + word + " (value) {} };");
- eval("var x = { get " + word + " () { 'use strict'; } };");
- eval("var x = { set " + word + " (value) { 'use strict'; } };");
-
- // object literal with string literal property names
- eval("var x = { '" + word + "' : 42 };");
- eval("var x = { get '" + word + "' () { } };");
- eval("var x = { set '" + word + "' (value) { } };");
- eval("var x = { get '" + word + "' () { 'use strict'; } };");
- eval("var x = { set '" + word + "' (value) { 'use strict'; } };");
-
- // Function names and arguments, strict and non-strict contexts
- CheckStrictMode("function " + word + " () {}", SyntaxError);
- CheckStrictMode("function foo (" + word + ") {}", SyntaxError);
- CheckStrictMode("function foo (" + word + ", " + word + ") {}", SyntaxError);
- CheckStrictMode("function foo (a, " + word + ") {}", SyntaxError);
- CheckStrictMode("function foo (" + word + ", a) {}", SyntaxError);
- CheckStrictMode("function foo (a, " + word + ", b) {}", SyntaxError);
- CheckStrictMode("var foo = function (" + word + ") {}", SyntaxError);
-
- // Function names and arguments when the body is strict
- assertThrows("function " + word + " () { 'use strict'; }", SyntaxError);
- assertThrows("function foo (" + word + ", " + word + ") { 'use strict'; }",
- SyntaxError);
- assertThrows("function foo (a, " + word + ") { 'use strict'; }", SyntaxError);
- assertThrows("function foo (" + word + ", a) { 'use strict'; }", SyntaxError);
- assertThrows("function foo (a, " + word + ", b) { 'use strict'; }",
- SyntaxError);
- assertThrows("var foo = function (" + word + ") { 'use strict'; }",
- SyntaxError);
-
- // setter parameter when the body is strict
- CheckStrictMode("var x = { set foo(" + word + ") {} };", SyntaxError);
- assertThrows("var x = { set foo(" + word + ") { 'use strict'; } };",
- SyntaxError);
-}
-
-for (var i = 0; i < future_strict_reserved_words.length; i++) {
- testFutureStrictReservedWord(future_strict_reserved_words[i]);
-}
-
-function testAssignToUndefined(test, should_throw) {
- try {
- test();
- } catch (e) {
- assertTrue(should_throw, "strict mode");
- assertInstanceof(e, ReferenceError, "strict mode");
- return;
- }
- assertFalse(should_throw, "strict mode");
-}
-
-function repeat(n, f) {
- for (var i = 0; i < n; i ++) { f(); }
-}
-
-function assignToUndefined() {
- "use strict";
- possibly_undefined_variable_for_strict_mode_test = "should throw?";
-}
-
-testAssignToUndefined(assignToUndefined, true);
-testAssignToUndefined(assignToUndefined, true);
-testAssignToUndefined(assignToUndefined, true);
-
-possibly_undefined_variable_for_strict_mode_test = "value";
-
-testAssignToUndefined(assignToUndefined, false);
-testAssignToUndefined(assignToUndefined, false);
-testAssignToUndefined(assignToUndefined, false);
-
-delete possibly_undefined_variable_for_strict_mode_test;
-
-testAssignToUndefined(assignToUndefined, true);
-testAssignToUndefined(assignToUndefined, true);
-testAssignToUndefined(assignToUndefined, true);
-
-repeat(10, function() { testAssignToUndefined(assignToUndefined, true); });
-possibly_undefined_variable_for_strict_mode_test = "value";
-repeat(10, function() { testAssignToUndefined(assignToUndefined, false); });
-delete possibly_undefined_variable_for_strict_mode_test;
-repeat(10, function() { testAssignToUndefined(assignToUndefined, true); });
-possibly_undefined_variable_for_strict_mode_test = undefined;
-repeat(10, function() { testAssignToUndefined(assignToUndefined, false); });
-
-function assignToUndefinedWithEval() {
- "use strict";
- possibly_undefined_variable_for_strict_mode_test_with_eval = "should throw?";
- eval("");
-}
-
-testAssignToUndefined(assignToUndefinedWithEval, true);
-testAssignToUndefined(assignToUndefinedWithEval, true);
-testAssignToUndefined(assignToUndefinedWithEval, true);
-
-possibly_undefined_variable_for_strict_mode_test_with_eval = "value";
-
-testAssignToUndefined(assignToUndefinedWithEval, false);
-testAssignToUndefined(assignToUndefinedWithEval, false);
-testAssignToUndefined(assignToUndefinedWithEval, false);
-
-delete possibly_undefined_variable_for_strict_mode_test_with_eval;
-
-testAssignToUndefined(assignToUndefinedWithEval, true);
-testAssignToUndefined(assignToUndefinedWithEval, true);
-testAssignToUndefined(assignToUndefinedWithEval, true);
-
-repeat(10, function() {
- testAssignToUndefined(assignToUndefinedWithEval, true);
- });
-possibly_undefined_variable_for_strict_mode_test_with_eval = "value";
-repeat(10, function() {
- testAssignToUndefined(assignToUndefinedWithEval, false);
- });
-delete possibly_undefined_variable_for_strict_mode_test_with_eval;
-repeat(10, function() {
- testAssignToUndefined(assignToUndefinedWithEval, true);
- });
-possibly_undefined_variable_for_strict_mode_test_with_eval = undefined;
-repeat(10, function() {
- testAssignToUndefined(assignToUndefinedWithEval, false);
- });
-
-
-
-(function testDeleteNonConfigurable() {
- function delete_property(o) {
- "use strict";
- delete o.property;
- }
- function delete_element(o, i) {
- "use strict";
- delete o[i];
- }
-
- var object = {};
-
- Object.defineProperty(object, "property", { value: "property_value" });
- Object.defineProperty(object, "1", { value: "one" });
- Object.defineProperty(object, 7, { value: "seven" });
- Object.defineProperty(object, 3.14, { value: "pi" });
-
- assertThrows(function() { delete_property(object); }, TypeError);
- assertEquals(object.property, "property_value");
- assertThrows(function() { delete_element(object, "1"); }, TypeError);
- assertThrows(function() { delete_element(object, 1); }, TypeError);
- assertEquals(object[1], "one");
- assertThrows(function() { delete_element(object, "7"); }, TypeError);
- assertThrows(function() { delete_element(object, 7); }, TypeError);
- assertEquals(object[7], "seven");
- assertThrows(function() { delete_element(object, "3.14"); }, TypeError);
- assertThrows(function() { delete_element(object, 3.14); }, TypeError);
- assertEquals(object[3.14], "pi");
-})();
-
-// Not transforming this in Function.call and Function.apply.
-(function testThisTransformCallApply() {
- function non_strict() {
- return this;
- }
- function strict() {
- "use strict";
- return this;
- }
-
- var global_object = (function() { return this; })();
- var object = {};
-
- // Non-strict call.
- assertTrue(non_strict.call(null) === global_object);
- assertTrue(non_strict.call(undefined) === global_object);
- assertEquals(typeof non_strict.call(7), "object");
- assertEquals(typeof non_strict.call("Hello"), "object");
- assertTrue(non_strict.call(object) === object);
-
- // Non-strict apply.
- assertTrue(non_strict.apply(null) === global_object);
- assertTrue(non_strict.apply(undefined) === global_object);
- assertEquals(typeof non_strict.apply(7), "object");
- assertEquals(typeof non_strict.apply("Hello"), "object");
- assertTrue(non_strict.apply(object) === object);
-
- // Strict call.
- assertTrue(strict.call(null) === null);
- assertTrue(strict.call(undefined) === undefined);
- assertEquals(typeof strict.call(7), "number");
- assertEquals(typeof strict.call("Hello"), "string");
- assertTrue(strict.call(object) === object);
-
- // Strict apply.
- assertTrue(strict.apply(null) === null);
- assertTrue(strict.apply(undefined) === undefined);
- assertEquals(typeof strict.apply(7), "number");
- assertEquals(typeof strict.apply("Hello"), "string");
- assertTrue(strict.apply(object) === object);
-})();
-
-(function testThisTransform() {
- try {
- function strict() {
- "use strict";
- return typeof(this);
- }
- function nonstrict() {
- return typeof(this);
- }
-
- // Concat to avoid symbol.
- var strict_name = "str" + "ict";
- var nonstrict_name = "non" + "str" + "ict";
- var strict_number = 17;
- var nonstrict_number = 19;
- var strict_name_get = "str" + "ict" + "get";
- var nonstrict_name_get = "non" + "str" + "ict" + "get"
- var strict_number_get = 23;
- var nonstrict_number_get = 29;
-
- function install(t) {
- t.prototype.strict = strict;
- t.prototype.nonstrict = nonstrict;
- t.prototype[strict_number] = strict;
- t.prototype[nonstrict_number] = nonstrict;
- Object.defineProperty(t.prototype, strict_name_get,
- { get: function() { return strict; },
- configurable: true });
- Object.defineProperty(t.prototype, nonstrict_name_get,
- { get: function() { return nonstrict; },
- configurable: true });
- Object.defineProperty(t.prototype, strict_number_get,
- { get: function() { return strict; },
- configurable: true });
- Object.defineProperty(t.prototype, nonstrict_number_get,
- { get: function() { return nonstrict; },
- configurable: true });
- }
-
- function cleanup(t) {
- delete t.prototype.strict;
- delete t.prototype.nonstrict;
- delete t.prototype[strict_number];
- delete t.prototype[nonstrict_number];
- delete t.prototype[strict_name_get];
- delete t.prototype[nonstrict_name_get];
- delete t.prototype[strict_number_get];
- delete t.prototype[nonstrict_number_get];
- }
-
- // Set up fakes
- install(String);
- install(Number);
- install(Boolean)
-
- function callStrict(o) {
- return o.strict();
- }
- function callNonStrict(o) {
- return o.nonstrict();
- }
- function callKeyedStrict(o) {
- return o[strict_name]();
- }
- function callKeyedNonStrict(o) {
- return o[nonstrict_name]();
- }
- function callIndexedStrict(o) {
- return o[strict_number]();
- }
- function callIndexedNonStrict(o) {
- return o[nonstrict_number]();
- }
- function callStrictGet(o) {
- return o.strictget();
- }
- function callNonStrictGet(o) {
- return o.nonstrictget();
- }
- function callKeyedStrictGet(o) {
- return o[strict_name_get]();
- }
- function callKeyedNonStrictGet(o) {
- return o[nonstrict_name_get]();
- }
- function callIndexedStrictGet(o) {
- return o[strict_number_get]();
- }
- function callIndexedNonStrictGet(o) {
- return o[nonstrict_number_get]();
- }
-
- for (var i = 0; i < 10; i ++) {
- assertEquals(("hello").strict(), "string");
- assertEquals(("hello").nonstrict(), "object");
- assertEquals(("hello")[strict_name](), "string");
- assertEquals(("hello")[nonstrict_name](), "object");
- assertEquals(("hello")[strict_number](), "string");
- assertEquals(("hello")[nonstrict_number](), "object");
-
- assertEquals((10 + i).strict(), "number");
- assertEquals((10 + i).nonstrict(), "object");
- assertEquals((10 + i)[strict_name](), "number");
- assertEquals((10 + i)[nonstrict_name](), "object");
- assertEquals((10 + i)[strict_number](), "number");
- assertEquals((10 + i)[nonstrict_number](), "object");
-
- assertEquals((true).strict(), "boolean");
- assertEquals((true).nonstrict(), "object");
- assertEquals((true)[strict_name](), "boolean");
- assertEquals((true)[nonstrict_name](), "object");
- assertEquals((true)[strict_number](), "boolean");
- assertEquals((true)[nonstrict_number](), "object");
-
- assertEquals((false).strict(), "boolean");
- assertEquals((false).nonstrict(), "object");
- assertEquals((false)[strict_name](), "boolean");
- assertEquals((false)[nonstrict_name](), "object");
- assertEquals((false)[strict_number](), "boolean");
- assertEquals((false)[nonstrict_number](), "object");
-
- assertEquals(callStrict("howdy"), "string");
- assertEquals(callNonStrict("howdy"), "object");
- assertEquals(callKeyedStrict("howdy"), "string");
- assertEquals(callKeyedNonStrict("howdy"), "object");
- assertEquals(callIndexedStrict("howdy"), "string");
- assertEquals(callIndexedNonStrict("howdy"), "object");
-
- assertEquals(callStrict(17 + i), "number");
- assertEquals(callNonStrict(17 + i), "object");
- assertEquals(callKeyedStrict(17 + i), "number");
- assertEquals(callKeyedNonStrict(17 + i), "object");
- assertEquals(callIndexedStrict(17 + i), "number");
- assertEquals(callIndexedNonStrict(17 + i), "object");
-
- assertEquals(callStrict(true), "boolean");
- assertEquals(callNonStrict(true), "object");
- assertEquals(callKeyedStrict(true), "boolean");
- assertEquals(callKeyedNonStrict(true), "object");
- assertEquals(callIndexedStrict(true), "boolean");
- assertEquals(callIndexedNonStrict(true), "object");
-
- assertEquals(callStrict(false), "boolean");
- assertEquals(callNonStrict(false), "object");
- assertEquals(callKeyedStrict(false), "boolean");
- assertEquals(callKeyedNonStrict(false), "object");
- assertEquals(callIndexedStrict(false), "boolean");
- assertEquals(callIndexedNonStrict(false), "object");
-
- // All of the above, with getters
- assertEquals(("hello").strictget(), "string");
- assertEquals(("hello").nonstrictget(), "object");
- assertEquals(("hello")[strict_name_get](), "string");
- assertEquals(("hello")[nonstrict_name_get](), "object");
- assertEquals(("hello")[strict_number_get](), "string");
- assertEquals(("hello")[nonstrict_number_get](), "object");
-
- assertEquals((10 + i).strictget(), "number");
- assertEquals((10 + i).nonstrictget(), "object");
- assertEquals((10 + i)[strict_name_get](), "number");
- assertEquals((10 + i)[nonstrict_name_get](), "object");
- assertEquals((10 + i)[strict_number_get](), "number");
- assertEquals((10 + i)[nonstrict_number_get](), "object");
-
- assertEquals((true).strictget(), "boolean");
- assertEquals((true).nonstrictget(), "object");
- assertEquals((true)[strict_name_get](), "boolean");
- assertEquals((true)[nonstrict_name_get](), "object");
- assertEquals((true)[strict_number_get](), "boolean");
- assertEquals((true)[nonstrict_number_get](), "object");
-
- assertEquals((false).strictget(), "boolean");
- assertEquals((false).nonstrictget(), "object");
- assertEquals((false)[strict_name_get](), "boolean");
- assertEquals((false)[nonstrict_name_get](), "object");
- assertEquals((false)[strict_number_get](), "boolean");
- assertEquals((false)[nonstrict_number_get](), "object");
-
- assertEquals(callStrictGet("howdy"), "string");
- assertEquals(callNonStrictGet("howdy"), "object");
- assertEquals(callKeyedStrictGet("howdy"), "string");
- assertEquals(callKeyedNonStrictGet("howdy"), "object");
- assertEquals(callIndexedStrictGet("howdy"), "string");
- assertEquals(callIndexedNonStrictGet("howdy"), "object");
-
- assertEquals(callStrictGet(17 + i), "number");
- assertEquals(callNonStrictGet(17 + i), "object");
- assertEquals(callKeyedStrictGet(17 + i), "number");
- assertEquals(callKeyedNonStrictGet(17 + i), "object");
- assertEquals(callIndexedStrictGet(17 + i), "number");
- assertEquals(callIndexedNonStrictGet(17 + i), "object");
-
- assertEquals(callStrictGet(true), "boolean");
- assertEquals(callNonStrictGet(true), "object");
- assertEquals(callKeyedStrictGet(true), "boolean");
- assertEquals(callKeyedNonStrictGet(true), "object");
- assertEquals(callIndexedStrictGet(true), "boolean");
- assertEquals(callIndexedNonStrictGet(true), "object");
-
- assertEquals(callStrictGet(false), "boolean");
- assertEquals(callNonStrictGet(false), "object");
- assertEquals(callKeyedStrictGet(false), "boolean");
- assertEquals(callKeyedNonStrictGet(false), "object");
- assertEquals(callIndexedStrictGet(false), "boolean");
- assertEquals(callIndexedNonStrictGet(false), "object");
-
- }
- } finally {
- // Cleanup
- cleanup(String);
- cleanup(Number);
- cleanup(Boolean);
- }
-})();
-
-
-(function ObjectEnvironment() {
- var o = {};
- Object.defineProperty(o, "foo", { value: "FOO", writable: false });
- assertThrows(
- function () {
- with (o) {
- (function() {
- "use strict";
- foo = "Hello";
- })();
- }
- },
- TypeError);
-})();
-
-
-(function TestSetPropertyWithoutSetter() {
- var o = { get foo() { return "Yey"; } };
- assertThrows(
- function broken() {
- "use strict";
- o.foo = (0xBADBAD00 >> 1);
- },
- TypeError);
-})();
-
-
-(function TestSetPropertyNonConfigurable() {
- var frozen = Object.freeze({});
- var sealed = Object.seal({});
-
- function strict(o) {
- "use strict";
- o.property = "value";
- }
-
- assertThrows(function() { strict(frozen); }, TypeError);
- assertThrows(function() { strict(sealed); }, TypeError);
-})();
-
-
-(function TestAssignmentToReadOnlyProperty() {
- "use strict";
-
- var o = {};
- Object.defineProperty(o, "property", { value: 7 });
-
- assertThrows(function() { o.property = "new value"; }, TypeError);
- assertThrows(function() { o.property += 10; }, TypeError);
- assertThrows(function() { o.property -= 10; }, TypeError);
- assertThrows(function() { o.property *= 10; }, TypeError);
- assertThrows(function() { o.property /= 10; }, TypeError);
- assertThrows(function() { o.property++; }, TypeError);
- assertThrows(function() { o.property--; }, TypeError);
- assertThrows(function() { ++o.property; }, TypeError);
- assertThrows(function() { --o.property; }, TypeError);
-
- var name = "prop" + "erty"; // to avoid symbol path.
- assertThrows(function() { o[name] = "new value"; }, TypeError);
- assertThrows(function() { o[name] += 10; }, TypeError);
- assertThrows(function() { o[name] -= 10; }, TypeError);
- assertThrows(function() { o[name] *= 10; }, TypeError);
- assertThrows(function() { o[name] /= 10; }, TypeError);
- assertThrows(function() { o[name]++; }, TypeError);
- assertThrows(function() { o[name]--; }, TypeError);
- assertThrows(function() { ++o[name]; }, TypeError);
- assertThrows(function() { --o[name]; }, TypeError);
-
- assertEquals(o.property, 7);
-})();
-
-
-(function TestAssignmentToReadOnlyLoop() {
- var name = "prop" + "erty"; // to avoid symbol path.
- var o = {};
- Object.defineProperty(o, "property", { value: 7 });
-
- function strict(o, name) {
- "use strict";
- o[name] = "new value";
- }
-
- for (var i = 0; i < 10; i ++) {
- var exception = false;
- try {
- strict(o, name);
- } catch(e) {
- exception = true;
- assertInstanceof(e, TypeError);
- }
- assertTrue(exception);
- }
-})();
-
-
-// Specialized KeyedStoreIC experiencing miss.
-(function testKeyedStoreICStrict() {
- var o = [9,8,7,6,5,4,3,2,1];
-
- function test(o, i, v) {
- "use strict";
- o[i] = v;
- }
-
- for (var i = 0; i < 10; i ++) {
- test(o, 5, 17); // start specialized for smi indices
- assertEquals(o[5], 17);
- test(o, "a", 19);
- assertEquals(o["a"], 19);
- test(o, "5", 29);
- assertEquals(o[5], 29);
- test(o, 100000, 31);
- assertEquals(o[100000], 31);
- }
-})();
-
-
-(function TestSetElementWithoutSetter() {
- "use strict";
-
- var o = { };
- Object.defineProperty(o, 0, { get : function() { } });
-
- var zero_smi = 0;
- var zero_number = new Number(0);
- var zero_symbol = "0";
- var zero_string = "-0-".substring(1,2);
-
- assertThrows(function() { o[zero_smi] = "new value"; }, TypeError);
- assertThrows(function() { o[zero_number] = "new value"; }, TypeError);
- assertThrows(function() { o[zero_symbol] = "new value"; }, TypeError);
- assertThrows(function() { o[zero_string] = "new value"; }, TypeError);
-})();
-
-
-(function TestSetElementNonConfigurable() {
- "use strict";
- var frozen = Object.freeze({});
- var sealed = Object.seal({});
-
- var zero_number = 0;
- var zero_symbol = "0";
- var zero_string = "-0-".substring(1,2);
-
- assertThrows(function() { frozen[zero_number] = "value"; }, TypeError);
- assertThrows(function() { sealed[zero_number] = "value"; }, TypeError);
- assertThrows(function() { frozen[zero_symbol] = "value"; }, TypeError);
- assertThrows(function() { sealed[zero_symbol] = "value"; }, TypeError);
- assertThrows(function() { frozen[zero_string] = "value"; }, TypeError);
- assertThrows(function() { sealed[zero_string] = "value"; }, TypeError);
-})();
-
-
-(function TestAssignmentToReadOnlyElement() {
- "use strict";
-
- var o = {};
- Object.defineProperty(o, 7, { value: 17 });
-
- var seven_smi = 7;
- var seven_number = new Number(7);
- var seven_symbol = "7";
- var seven_string = "-7-".substring(1,2);
-
- // Index with number.
- assertThrows(function() { o[seven_smi] = "value"; }, TypeError);
- assertThrows(function() { o[seven_smi] += 10; }, TypeError);
- assertThrows(function() { o[seven_smi] -= 10; }, TypeError);
- assertThrows(function() { o[seven_smi] *= 10; }, TypeError);
- assertThrows(function() { o[seven_smi] /= 10; }, TypeError);
- assertThrows(function() { o[seven_smi]++; }, TypeError);
- assertThrows(function() { o[seven_smi]--; }, TypeError);
- assertThrows(function() { ++o[seven_smi]; }, TypeError);
- assertThrows(function() { --o[seven_smi]; }, TypeError);
-
- assertThrows(function() { o[seven_number] = "value"; }, TypeError);
- assertThrows(function() { o[seven_number] += 10; }, TypeError);
- assertThrows(function() { o[seven_number] -= 10; }, TypeError);
- assertThrows(function() { o[seven_number] *= 10; }, TypeError);
- assertThrows(function() { o[seven_number] /= 10; }, TypeError);
- assertThrows(function() { o[seven_number]++; }, TypeError);
- assertThrows(function() { o[seven_number]--; }, TypeError);
- assertThrows(function() { ++o[seven_number]; }, TypeError);
- assertThrows(function() { --o[seven_number]; }, TypeError);
-
- assertThrows(function() { o[seven_symbol] = "value"; }, TypeError);
- assertThrows(function() { o[seven_symbol] += 10; }, TypeError);
- assertThrows(function() { o[seven_symbol] -= 10; }, TypeError);
- assertThrows(function() { o[seven_symbol] *= 10; }, TypeError);
- assertThrows(function() { o[seven_symbol] /= 10; }, TypeError);
- assertThrows(function() { o[seven_symbol]++; }, TypeError);
- assertThrows(function() { o[seven_symbol]--; }, TypeError);
- assertThrows(function() { ++o[seven_symbol]; }, TypeError);
- assertThrows(function() { --o[seven_symbol]; }, TypeError);
-
- assertThrows(function() { o[seven_string] = "value"; }, TypeError);
- assertThrows(function() { o[seven_string] += 10; }, TypeError);
- assertThrows(function() { o[seven_string] -= 10; }, TypeError);
- assertThrows(function() { o[seven_string] *= 10; }, TypeError);
- assertThrows(function() { o[seven_string] /= 10; }, TypeError);
- assertThrows(function() { o[seven_string]++; }, TypeError);
- assertThrows(function() { o[seven_string]--; }, TypeError);
- assertThrows(function() { ++o[seven_string]; }, TypeError);
- assertThrows(function() { --o[seven_string]; }, TypeError);
-
- assertEquals(o[seven_number], 17);
- assertEquals(o[seven_symbol], 17);
- assertEquals(o[seven_string], 17);
-})();
-
-
-(function TestAssignmentToReadOnlyLoop() {
- "use strict";
-
- var o = {};
- Object.defineProperty(o, 7, { value: 17 });
-
- var seven_smi = 7;
- var seven_number = new Number(7);
- var seven_symbol = "7";
- var seven_string = "-7-".substring(1,2);
-
- for (var i = 0; i < 10; i ++) {
- assertThrows(function() { o[seven_smi] = "value" }, TypeError);
- assertThrows(function() { o[seven_number] = "value" }, TypeError);
- assertThrows(function() { o[seven_symbol] = "value" }, TypeError);
- assertThrows(function() { o[seven_string] = "value" }, TypeError);
- }
-
- assertEquals(o[7], 17);
-})();
-
-
-(function TestAssignmentToStringLength() {
- "use strict";
-
- var str_val = "string";
- var str_obj = new String(str_val);
- var str_cat = str_val + str_val + str_obj;
-
- assertThrows(function() { str_val.length = 1; }, TypeError);
- assertThrows(function() { str_obj.length = 1; }, TypeError);
- assertThrows(function() { str_cat.length = 1; }, TypeError);
-})();
-
-
-(function TestArgumentsAliasing() {
- function strict(a, b) {
- "use strict";
- a = "c";
- b = "d";
- return [a, b, arguments[0], arguments[1]];
- }
-
- function nonstrict(a, b) {
- a = "c";
- b = "d";
- return [a, b, arguments[0], arguments[1]];
- }
-
- assertEquals(["c", "d", "a", "b"], strict("a", "b"));
- assertEquals(["c", "d", "c", "d"], nonstrict("a", "b"));
-})();
-
-
-function CheckPillDescriptor(func, name) {
-
- function CheckPill(pill) {
- assertEquals("function", typeof pill);
- assertInstanceof(pill, Function);
- pill.property = "value";
- assertEquals(pill.value, undefined);
- assertThrows(function() { 'use strict'; pill.property = "value"; },
- TypeError);
- assertThrows(pill, TypeError);
- assertEquals(pill.prototype, (function(){}).prototype);
- var d = Object.getOwnPropertyDescriptor(pill, "prototype");
- assertFalse(d.writable);
- assertFalse(d.configurable);
- assertFalse(d.enumerable);
- }
-
- var descriptor = Object.getOwnPropertyDescriptor(func, name);
- CheckPill(descriptor.get)
- CheckPill(descriptor.set);
- assertFalse(descriptor.enumerable);
- assertFalse(descriptor.configurable);
-}
-
-
-(function TestStrictFunctionPills() {
- function strict() {
- "use strict";
- }
- assertThrows(function() { strict.caller; }, TypeError);
- assertThrows(function() { strict.arguments; }, TypeError);
- assertThrows(function() { strict.caller = 42; }, TypeError);
- assertThrows(function() { strict.arguments = 42; }, TypeError);
-
- var another = new Function("'use strict'");
- assertThrows(function() { another.caller; }, TypeError);
- assertThrows(function() { another.arguments; }, TypeError);
- assertThrows(function() { another.caller = 42; }, TypeError);
- assertThrows(function() { another.arguments = 42; }, TypeError);
-
- var third = (function() { "use strict"; return function() {}; })();
- assertThrows(function() { third.caller; }, TypeError);
- assertThrows(function() { third.arguments; }, TypeError);
- assertThrows(function() { third.caller = 42; }, TypeError);
- assertThrows(function() { third.arguments = 42; }, TypeError);
-
- CheckPillDescriptor(strict, "caller");
- CheckPillDescriptor(strict, "arguments");
- CheckPillDescriptor(another, "caller");
- CheckPillDescriptor(another, "arguments");
- CheckPillDescriptor(third, "caller");
- CheckPillDescriptor(third, "arguments");
-})();
-
-
-(function TestStrictFunctionWritablePrototype() {
- "use strict";
- function TheClass() {
- }
- assertThrows(function() { TheClass.caller; }, TypeError);
- assertThrows(function() { TheClass.arguments; }, TypeError);
-
- // Strict functions must have writable prototype.
- TheClass.prototype = {
- func: function() { return "func_value"; },
- get accessor() { return "accessor_value"; },
- property: "property_value",
- };
-
- var o = new TheClass();
- assertEquals(o.func(), "func_value");
- assertEquals(o.accessor, "accessor_value");
- assertEquals(o.property, "property_value");
-})();
-
-
-(function TestStrictArgumentPills() {
- function strict() {
- "use strict";
- return arguments;
- }
-
- var args = strict();
- CheckPillDescriptor(args, "caller");
- CheckPillDescriptor(args, "callee");
-
- args = strict(17, "value", strict);
- assertEquals(17, args[0])
- assertEquals("value", args[1])
- assertEquals(strict, args[2]);
- CheckPillDescriptor(args, "caller");
- CheckPillDescriptor(args, "callee");
-
- function outer() {
- "use strict";
- function inner() {
- return arguments;
- }
- return inner;
- }
-
- var args = outer()();
- CheckPillDescriptor(args, "caller");
- CheckPillDescriptor(args, "callee");
-
- args = outer()(17, "value", strict);
- assertEquals(17, args[0])
- assertEquals("value", args[1])
- assertEquals(strict, args[2]);
- CheckPillDescriptor(args, "caller");
- CheckPillDescriptor(args, "callee");
-})();
-
-
-(function TestNonStrictFunctionCallerPillSimple() {
- function return_my_caller() {
- return return_my_caller.caller;
- }
-
- function strict() {
- "use strict";
- return return_my_caller();
- }
- assertSame(null, strict());
-
- function non_strict() {
- return return_my_caller();
- }
- assertSame(non_strict(), non_strict);
-})();
-
-
-(function TestNonStrictFunctionCallerPill() {
- function strict(n) {
- "use strict";
- return non_strict(n);
- }
-
- function recurse(n, then) {
- if (n > 0) {
- return recurse(n - 1, then);
- } else {
- return then();
- }
- }
-
- function non_strict(n) {
- return recurse(n, function() { return non_strict.caller; });
- }
-
- function test(n) {
- return recurse(n, function() { return strict(n); });
- }
-
- for (var i = 0; i < 10; i ++) {
- assertSame(null, test(i));
- }
-})();
-
-
-(function TestNonStrictFunctionCallerDescriptorPill() {
- function strict(n) {
- "use strict";
- return non_strict(n);
- }
-
- function recurse(n, then) {
- if (n > 0) {
- return recurse(n - 1, then);
- } else {
- return then();
- }
- }
-
- function non_strict(n) {
- return recurse(n, function() {
- return Object.getOwnPropertyDescriptor(non_strict, "caller").value;
- });
- }
-
- function test(n) {
- return recurse(n, function() { return strict(n); });
- }
-
- for (var i = 0; i < 10; i ++) {
- assertSame(null, test(i));
- }
-})();
-
-
-(function TestStrictModeEval() {
- "use strict";
- eval("var eval_local = 10;");
- assertThrows(function() { return eval_local; }, ReferenceError);
-})();
diff --git a/src/3rdparty/v8/test/mjsunit/string-add.js b/src/3rdparty/v8/test/mjsunit/string-add.js
deleted file mode 100644
index f226ca1..0000000
--- a/src/3rdparty/v8/test/mjsunit/string-add.js
+++ /dev/null
@@ -1,195 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-assertEquals("ab", "a" + "b", "ll");
-
-assertEquals("12", "1" + "2", "dd");
-assertEquals("123", "1" + "2" + "3", "ddd");
-assertEquals("123", 1 + "2" + "3", "ndd");
-assertEquals("123", "1" + 2 + "3", "dnd");
-assertEquals("123", "1" + "2" + 3, "ddn");
-
-assertEquals("123", "1" + 2 + 3, "dnn");
-assertEquals("123", 1 + "2" + 3, "ndn");
-assertEquals("33", 1 + 2 + "3", "nnd");
-
-var x = "1";
-assertEquals("12", x + 2, "vn");
-assertEquals("12", x + "2", "vd");
-assertEquals("21", 2 + x, "nv");
-assertEquals("21", "2" + x, "dv");
-
-var y = "2";
-assertEquals("12", x + y, "vdvd");
-
-x = 1;
-assertEquals("12", x + y, "vnvd");
-
-y = 2;
-assertEquals(3, x + y, "vnvn");
-
-x = "1";
-assertEquals("12", x + y, "vdvn");
-
-y = "2";
-assertEquals("12", x + y, "vdvd2");
-
-(function(x, y) {
- var z = "3";
- var w = "4";
-
- assertEquals("11", x + x, "xx");
- assertEquals("12", x + y, "xy");
- assertEquals("13", x + z, "xz");
- assertEquals("14", x + w, "xw");
-
- assertEquals("21", y + x, "yx");
- assertEquals("22", y + y, "yy");
- assertEquals("23", y + z, "yz");
- assertEquals("24", y + w, "yw");
-
- assertEquals("31", z + x, "zx");
- assertEquals("32", z + y, "zy");
- assertEquals("33", z + z, "zz");
- assertEquals("34", z + w, "zw");
-
- assertEquals("41", w + x, "wx");
- assertEquals("42", w + y, "wy");
- assertEquals("43", w + z, "wz");
- assertEquals("44", w + w, "ww");
-
- (function(){x = 1; z = 3;})();
-
- assertEquals(2, x + x, "x'x");
- assertEquals("12", x + y, "x'y");
- assertEquals(4, x + z, "x'z'");
- assertEquals("14", x + w, "x'w");
-
- assertEquals("21", y + x, "yx'");
- assertEquals("22", y + y, "yy");
- assertEquals("23", y + z, "yz'");
- assertEquals("24", y + w, "yw");
-
- assertEquals(4, z + x, "z'x'");
- assertEquals("32", z + y, "z'y");
- assertEquals(6, z + z, "z'z'");
- assertEquals("34", z + w, "z'w");
-
- assertEquals("41", w + x, "wx'");
- assertEquals("42", w + y, "wy");
- assertEquals("43", w + z, "wz'");
- assertEquals("44", w + w, "ww");
-})("1", "2");
-
-assertEquals("142", "1" + new Number(42), "sN");
-assertEquals("421", new Number(42) + "1", "Ns");
-assertEquals(84, new Number(42) + new Number(42), "NN");
-
-assertEquals("142", "1" + new String("42"), "sS");
-assertEquals("421", new String("42") + "1", "Ss");
-assertEquals("142", "1" + new String("42"), "sS");
-assertEquals("4242", new String("42") + new String("42"), "SS");
-
-assertEquals("1true", "1" + true, "sb");
-assertEquals("true1", true + "1", "bs");
-assertEquals(2, true + true, "bs");
-
-assertEquals("1true", "1" + new Boolean(true), "sB");
-assertEquals("true1", new Boolean(true) + "1", "Bs");
-assertEquals(2, new Boolean(true) + new Boolean(true), "Bs");
-
-assertEquals("1undefined", "1" + void 0, "sv");
-assertEquals("undefined1", (void 0) + "1", "vs");
-assertTrue(isNaN(void 0 + void 0), "vv");
-
-assertEquals("1null", "1" + null, "su");
-assertEquals("null1", null + "1", "us");
-assertEquals(0, null + null, "uu");
-
-(function (i) {
- // Check that incoming frames are merged correctly.
- var x;
- var y;
- var z;
- var w;
- switch (i) {
- case 1: x = 42; y = "stry"; z = "strz"; w = 42; break;
- default: x = "strx", y = 42; z = "strz"; w = 42; break;
- }
- var resxx = x + x;
- var resxy = x + y;
- var resxz = x + z;
- var resxw = x + w;
- var resyx = y + x;
- var resyy = y + y;
- var resyz = y + z;
- var resyw = y + w;
- var reszx = z + x;
- var reszy = z + y;
- var reszz = z + z;
- var reszw = z + w;
- var reswx = w + x;
- var reswy = w + y;
- var reswz = w + z;
- var resww = w + w;
- assertEquals(84, resxx, "swxx");
- assertEquals("42stry", resxy, "swxy");
- assertEquals("42strz", resxz, "swxz");
- assertEquals(84, resxw, "swxw");
- assertEquals("stry42", resyx, "swyx");
- assertEquals("strystry", resyy, "swyy");
- assertEquals("strystrz", resyz, "swyz");
- assertEquals("stry42", resyw, "swyw");
- assertEquals("strz42", reszx, "swzx");
- assertEquals("strzstry", reszy, "swzy");
- assertEquals("strzstrz", reszz, "swzz");
- assertEquals("strz42", reszw, "swzw");
- assertEquals(84, reswx, "swwx");
- assertEquals("42stry", reswy, "swwy");
- assertEquals("42strz", reswz, "swwz");
- assertEquals(84, resww, "swww");
-})(1);
-
-// Generate ascii and non ascii strings from length 0 to 20.
-var ascii = 'aaaaaaaaaaaaaaaaaaaa';
-var non_ascii = '\u1234\u1234\u1234\u1234\u1234\u1234\u1234\u1234\u1234\u1234\u1234\u1234\u1234\u1234\u1234\u1234\u1234\u1234\u1234\u1234';
-assertEquals(20, ascii.length);
-assertEquals(20, non_ascii.length);
-var a = Array(21);
-var b = Array(21);
-for (var i = 0; i <= 20; i++) {
- a[i] = ascii.substring(0, i);
- b[i] = non_ascii.substring(0, i);
-}
-
-// Add ascii and non-ascii strings generating strings with length from 0 to 20.
-for (var i = 0; i <= 20; i++) {
- for (var j = 0; j < i; j++) {
- assertEquals(a[i], a[j] + a[i - j])
- assertEquals(b[i], b[j] + b[i - j])
- }
-}
diff --git a/src/3rdparty/v8/test/mjsunit/string-case.js b/src/3rdparty/v8/test/mjsunit/string-case.js
deleted file mode 100644
index 283e703..0000000
--- a/src/3rdparty/v8/test/mjsunit/string-case.js
+++ /dev/null
@@ -1,71 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --random-seed=17
-
-assertEquals("ΚΟΣΜΟΣ ΚΟΣΜΟΣ".toLowerCase(), "κοσμος κοσμος");
-
-var A_CODE = "A".charCodeAt(0);
-var Z_CODE = "Z".charCodeAt(0);
-var a_CODE = "a".charCodeAt(0);
-var z_CODE = "z".charCodeAt(0);
-
-function charCodeToLower(charCode) {
- if (A_CODE <= charCode && charCode <= Z_CODE) {
- return charCode + a_CODE - A_CODE;
- }
- return charCode;
-}
-
-function charCodeToUpper(charCode) {
- if (a_CODE <= charCode && charCode <= z_CODE) {
- return charCode - (a_CODE - A_CODE);
- }
- return charCode;
-}
-
-function test(length) {
- var str = "";
- var strLower = "";
- var strUpper = "";
- for (var i = 0; i < length; i++) {
- var c = Math.round(0x7f * Math.random());
- str += String.fromCharCode(c);
- strLower += String.fromCharCode(charCodeToLower(c));
- strUpper += String.fromCharCode(charCodeToUpper(c));
- }
- assertEquals(strLower, str.toLowerCase());
- assertEquals(strUpper, str.toUpperCase());
-}
-
-for (var i = 1; i <= 128; i <<= 1); {
- for (var j = 0; j < 8; j++) {
- for (var k = 0; k < 3; k++) {
- test(i + j);
- }
- }
-}
diff --git a/src/3rdparty/v8/test/mjsunit/string-charat.js b/src/3rdparty/v8/test/mjsunit/string-charat.js
deleted file mode 100644
index 5ce4e89..0000000
--- a/src/3rdparty/v8/test/mjsunit/string-charat.js
+++ /dev/null
@@ -1,255 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var s = "test";
-
-function getTwoByteString() { return "\u1234t"; }
-function getCons() { return "testtesttesttest" + getTwoByteString() }
-
-var slowIndex1 = { valueOf: function() { return 1; } };
-var slowIndex2 = { toString: function() { return "2"; } };
-var slowIndexOutOfRange = { valueOf: function() { return -1; } };
-
-function basicTest(s, len) {
- assertEquals("t", s().charAt());
- assertEquals("t", s().charAt("string"));
- assertEquals("t", s().charAt(null));
- assertEquals("t", s().charAt(void 0));
- assertEquals("t", s().charAt(false));
- assertEquals("e", s().charAt(true));
- assertEquals("", s().charAt(-1));
- assertEquals("", s().charAt(len));
- assertEquals("", s().charAt(slowIndexOutOfRange));
- assertEquals("", s().charAt(1/0));
- assertEquals("", s().charAt(-1/0));
- assertEquals("t", s().charAt(0));
- assertEquals("t", s().charAt(-0.0));
- assertEquals("t", s().charAt(-0.1));
- assertEquals("t", s().charAt(0.4));
- assertEquals("e", s().charAt(slowIndex1));
- assertEquals("s", s().charAt(slowIndex2));
- assertEquals("t", s().charAt(3));
- assertEquals("t", s().charAt(3.4));
- assertEquals("t", s().charAt(NaN));
-
- assertEquals(116, s().charCodeAt());
- assertEquals(116, s().charCodeAt("string"));
- assertEquals(116, s().charCodeAt(null));
- assertEquals(116, s().charCodeAt(void 0));
- assertEquals(116, s().charCodeAt(false));
- assertEquals(101, s().charCodeAt(true));
- assertEquals(116, s().charCodeAt(0));
- assertEquals(116, s().charCodeAt(-0.0));
- assertEquals(116, s().charCodeAt(-0.1));
- assertEquals(116, s().charCodeAt(0.4));
- assertEquals(101, s().charCodeAt(slowIndex1));
- assertEquals(115, s().charCodeAt(slowIndex2));
- assertEquals(116, s().charCodeAt(3));
- assertEquals(116, s().charCodeAt(3.4));
- assertEquals(116, s().charCodeAt(NaN));
- assertTrue(isNaN(s().charCodeAt(-1)));
- assertTrue(isNaN(s().charCodeAt(len)));
- assertTrue(isNaN(s().charCodeAt(slowIndexOutOfRange)));
- assertTrue(isNaN(s().charCodeAt(1/0)));
- assertTrue(isNaN(s().charCodeAt(-1/0)));
-}
-basicTest(function() { return s; }, s.length);
-basicTest(getCons, getCons().length);
-
-// Make sure enough of the one-char string cache is filled.
-var alpha = ['@'];
-for (var i = 1; i < 128; i++) {
- var c = String.fromCharCode(i);
- alpha[i] = c.charAt(0);
-}
-var alphaStr = alpha.join("");
-
-// Now test chars.
-for (var i = 1; i < 128; i++) {
- assertEquals(alpha[i], alphaStr.charAt(i));
- assertEquals(String.fromCharCode(i), alphaStr.charAt(i));
-}
-
-// Test stealing String.prototype.{charAt,charCodeAt}.
-var o = {
- charAt: String.prototype.charAt,
- charCodeAt: String.prototype.charCodeAt,
- toString: function() { return "012"; },
- valueOf: function() { return "should not be called"; }
-};
-
-function stealTest() {
- assertEquals("0", o.charAt(0));
- assertEquals("1", o.charAt(1));
- assertEquals("1", o.charAt(1.4));
- assertEquals("1", o.charAt(slowIndex1));
- assertEquals("2", o.charAt(2));
- assertEquals("2", o.charAt(slowIndex2));
- assertEquals(48, o.charCodeAt(0));
- assertEquals(49, o.charCodeAt(1));
- assertEquals(49, o.charCodeAt(1.4));
- assertEquals(49, o.charCodeAt(slowIndex1));
- assertEquals(50, o.charCodeAt(2));
- assertEquals(50, o.charCodeAt(slowIndex2));
- assertEquals("", o.charAt(-1));
- assertEquals("", o.charAt(-1.4));
- assertEquals("", o.charAt(10));
- assertEquals("", o.charAt(slowIndexOutOfRange));
- assertTrue(isNaN(o.charCodeAt(-1)));
- assertTrue(isNaN(o.charCodeAt(-1.4)));
- assertTrue(isNaN(o.charCodeAt(10)));
- assertTrue(isNaN(o.charCodeAt(slowIndexOutOfRange)));
-}
-stealTest();
-
-// Test custom string IC-s.
-for (var i = 0; i < 20; i++) {
- basicTest(function() { return s; }, s.length);
- basicTest(getCons, getCons().length);
- stealTest();
-}
-
-var badToString = function() { return []; };
-
-function testBadToString_charAt() {
- var goodToString = o.toString;
- var hasCaught = false;
- var numCalls = 0;
- var result;
- try {
- for (var i = 0; i < 20; i++) {
- if (i == 10) o.toString = o.valueOf = badToString;
- result = o.charAt(1);
- numCalls++;
- }
- } catch (e) {
- hasCaught = true;
- } finally {
- o.toString = goodToString;
- }
- assertTrue(hasCaught);
- assertEquals("1", result);
- assertEquals(10, numCalls);
-}
-testBadToString_charAt();
-
-function testBadToString_charCodeAt() {
- var goodToString = o.toString;
- var hasCaught = false;
- var numCalls = 0;
- var result;
- try {
- for (var i = 0; i < 20; i++) {
- if (i == 10) o.toString = o.valueOf = badToString;
- result = o.charCodeAt(1);
- numCalls++;
- }
- } catch (e) {
- hasCaught = true;
- } finally {
- o.toString = goodToString;
- }
- assertTrue(hasCaught);
- assertEquals(49, result);
- assertEquals(10, numCalls);
-}
-testBadToString_charCodeAt();
-
-var badIndex = {
- toString: badToString,
- valueOf: badToString
-};
-
-function testBadIndex_charAt() {
- var index = 1;
- var hasCaught = false;
- var numCalls = 0;
- var result;
- try {
- for (var i = 0; i < 20; i++) {
- if (i == 10) index = badIndex;
- result = o.charAt(index);
- numCalls++;
- }
- } catch (e) {
- hasCaught = true;
- }
- assertTrue(hasCaught);
- assertEquals("1", result);
- assertEquals(10, numCalls);
-}
-testBadIndex_charAt();
-
-function testBadIndex_charCodeAt() {
- var index = 1;
- var hasCaught = false;
- var numCalls = 0;
- var result;
- try {
- for (var i = 0; i < 20; i++) {
- if (i == 10) index = badIndex;
- result = o.charCodeAt(index);
- numCalls++;
- }
- } catch (e) {
- hasCaught = true;
- }
- assertTrue(hasCaught);
- assertEquals(49, result);
- assertEquals(10, numCalls);
-}
-testBadIndex_charCodeAt();
-
-function testPrototypeChange_charAt() {
- var result, oldResult;
- for (var i = 0; i < 20; i++) {
- if (i == 10) {
- oldResult = result;
- String.prototype.charAt = function() { return "%"; };
- }
- result = s.charAt(1);
- }
- assertEquals("%", result);
- assertEquals("e", oldResult);
- delete String.prototype.charAt; // Restore the default.
-}
-testPrototypeChange_charAt();
-
-function testPrototypeChange_charCodeAt() {
- var result, oldResult;
- for (var i = 0; i < 20; i++) {
- if (i == 10) {
- oldResult = result;
- String.prototype.charCodeAt = function() { return 42; };
- }
- result = s.charCodeAt(1);
- }
- assertEquals(42, result);
- assertEquals(101, oldResult);
- delete String.prototype.charCodeAt; // Restore the default.
-}
-testPrototypeChange_charCodeAt();
diff --git a/src/3rdparty/v8/test/mjsunit/string-charcodeat.js b/src/3rdparty/v8/test/mjsunit/string-charcodeat.js
deleted file mode 100644
index 72dc819..0000000
--- a/src/3rdparty/v8/test/mjsunit/string-charcodeat.js
+++ /dev/null
@@ -1,236 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-/**
- * @fileoverview Check all sorts of borderline cases for charCodeAt.
- */
-
-function Cons() {
- return "Te" + "st testing 123";
-}
-
-
-function Deep() {
- var a = "T";
- a += "e";
- a += "s";
- a += "ting testing 123";
- return a;
-}
-
-
-function Slice() {
- return "testing Testing testing 123456789012345".substring(8, 22);
-}
-
-
-function Flat() {
- return "Testing testing 123";
-}
-
-function Cons16() {
- return "Te" + "\u1234t testing 123";
-}
-
-
-function Deep16() {
- var a = "T";
- a += "e";
- a += "\u1234";
- a += "ting testing 123";
- return a;
-}
-
-
-function Slice16Beginning() {
- return "Te\u1234t testing testing 123".substring(0, 14);
-}
-
-
-function Slice16Middle() {
- return "test Te\u1234t testing testing 123".substring(5, 19);
-}
-
-
-function Slice16End() {
- return "test Te\u1234t".substring(5, 9);
-}
-
-
-function Flat16() {
- return "Te\u1234ting testing 123";
-}
-
-
-function Thing() {
-}
-
-
-function NotAString() {
- var n = new Thing();
- n.toString = function() { return "Test"; };
- n.charCodeAt = String.prototype.charCodeAt;
- return n;
-}
-
-
-function NotAString16() {
- var n = new Thing();
- n.toString = function() { return "Te\u1234t"; };
- n.charCodeAt = String.prototype.charCodeAt;
- return n;
-}
-
-
-function TestStringType(generator, sixteen) {
- var g = generator;
- var len = g().toString().length;
- var t = sixteen ? "t" : "f"
- t += generator.name;
- assertTrue(isNaN(g().charCodeAt(-1e19)), 1 + t);
- assertTrue(isNaN(g().charCodeAt(-0x80000001)), 2 + t);
- assertTrue(isNaN(g().charCodeAt(-0x80000000)), 3 + t);
- assertTrue(isNaN(g().charCodeAt(-0x40000000)), 4 + t);
- assertTrue(isNaN(g().charCodeAt(-1)), 5 + t);
- assertTrue(isNaN(g().charCodeAt(len)), 6 + t);
- assertTrue(isNaN(g().charCodeAt(len + 1)), 7 + t);
- assertTrue(isNaN(g().charCodeAt(0x3fffffff)), 8 + t);
- assertTrue(isNaN(g().charCodeAt(0x7fffffff)), 9 + t);
- assertTrue(isNaN(g().charCodeAt(0x80000000)), 10 + t);
- assertTrue(isNaN(g().charCodeAt(1e9)), 11 + t);
- assertEquals(84, g().charCodeAt(0), 12 + t);
- assertEquals(84, g().charCodeAt("test"), 13 + t);
- assertEquals(84, g().charCodeAt(""), 14 + t);
- assertEquals(84, g().charCodeAt(null), 15 + t);
- assertEquals(84, g().charCodeAt(undefined), 16 + t);
- assertEquals(84, g().charCodeAt(), 17 + t);
- assertEquals(84, g().charCodeAt(void 0), 18 + t);
- assertEquals(84, g().charCodeAt(false), 19 + t);
- assertEquals(101, g().charCodeAt(true), 20 + t);
- assertEquals(101, g().charCodeAt(1), 21 + t);
- assertEquals(sixteen ? 0x1234 : 115, g().charCodeAt(2), 22 + t);
- assertEquals(116, g().charCodeAt(3), 23 + t);
- assertEquals(101, g().charCodeAt(1.1), 24 + t);
- assertEquals(sixteen ? 0x1234 : 115, g().charCodeAt(2.1718), 25 + t);
- assertEquals(116, g().charCodeAt(3.14159), 26 + t);
-}
-
-
-TestStringType(Cons, false);
-TestStringType(Deep, false);
-TestStringType(Slice, false);
-TestStringType(Flat, false);
-TestStringType(NotAString, false);
-TestStringType(Cons16, true);
-TestStringType(Deep16, true);
-TestStringType(Slice16Beginning, true);
-TestStringType(Slice16Middle, true);
-TestStringType(Slice16End, true);
-TestStringType(Flat16, true);
-TestStringType(NotAString16, true);
-
-
-function ConsNotSmiIndex() {
- var str = Cons();
- assertTrue(isNaN(str.charCodeAt(0x7fffffff)));
-}
-
-for (var i = 0; i < 5; i++) {
- ConsNotSmiIndex();
-}
-%OptimizeFunctionOnNextCall(ConsNotSmiIndex);
-ConsNotSmiIndex();
-
-
-for (var i = 0; i != 10; i++) {
- assertEquals(101, Cons16().charCodeAt(1.1));
- assertEquals('e', Cons16().charAt(1.1));
-}
-
-function StupidThing() {
- // Doesn't return a string from toString!
- this.toString = function() { return 42; }
- this.charCodeAt = String.prototype.charCodeAt;
-}
-
-assertEquals(52, new StupidThing().charCodeAt(0), 27);
-assertEquals(50, new StupidThing().charCodeAt(1), 28);
-assertTrue(isNaN(new StupidThing().charCodeAt(2)), 29);
-assertTrue(isNaN(new StupidThing().charCodeAt(-1)), 30);
-
-
-// Medium (>255) and long (>65535) strings.
-
-var medium = "12345678";
-medium += medium; // 16.
-medium += medium; // 32.
-medium += medium; // 64.
-medium += medium; // 128.
-medium += medium; // 256.
-
-var long = medium;
-long += long + long + long; // 1024.
-long += long + long + long; // 4096.
-long += long + long + long; // 16384.
-long += long + long + long; // 65536.
-
-assertTrue(isNaN(medium.charCodeAt(-1)), 31);
-assertEquals(49, medium.charCodeAt(0), 32);
-assertEquals(56, medium.charCodeAt(255), 33);
-assertTrue(isNaN(medium.charCodeAt(256)), 34);
-
-assertTrue(isNaN(long.charCodeAt(-1)), 35);
-assertEquals(49, long.charCodeAt(0), 36);
-assertEquals(56, long.charCodeAt(65535), 37);
-assertTrue(isNaN(long.charCodeAt(65536)), 38);
-
-
-// Test crankshaft code when the function is set directly on the
-// string prototype object instead of the hidden prototype object.
-// See http://code.google.com/p/v8/issues/detail?id=1070
-
-String.prototype.x = String.prototype.charCodeAt;
-
-function directlyOnPrototype() {
- assertEquals(97, "a".x(0));
- assertEquals(98, "b".x(0));
- assertEquals(99, "c".x(0));
- assertEquals(97, "a".x(0));
- assertEquals(98, "b".x(0));
- assertEquals(99, "c".x(0));
-}
-
-for (var i = 0; i < 5; i++) {
- directlyOnPrototype();
-}
-%OptimizeFunctionOnNextCall(directlyOnPrototype);
-directlyOnPrototype();
-
-assertTrue(isNaN(%_StringCharCodeAt("ABC", -1)));
-assertTrue(isNaN(%_StringCharCodeAt("ABC", 4)));
diff --git a/src/3rdparty/v8/test/mjsunit/string-compare-alignment.js b/src/3rdparty/v8/test/mjsunit/string-compare-alignment.js
deleted file mode 100644
index 0ae8eb7..0000000
--- a/src/3rdparty/v8/test/mjsunit/string-compare-alignment.js
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that we can compare two strings that are not 4-byte aligned.
-// This situation can arise with sliced strings. This tests for an ARM bug
-// that was fixed in r554.
-
-var base =
- "Now is the time for all good men to come to the aid of the party. " +
- "Now is the time for all good men to come to the aid of the party."
-var s1 = base.substring(0, 64);
-var s2 = base.substring(66, 130);
-
-var o = new Object();
-o[s1] = 1;
-o[s2] = 2;
-
-var first_time = true;
-
-for (var x in o) {
- assertTrue(o[x] == 2, "expect 2");
- assertTrue(first_time, "once only");
- first_time = false;
-}
diff --git a/src/3rdparty/v8/test/mjsunit/string-external-cached.js b/src/3rdparty/v8/test/mjsunit/string-external-cached.js
deleted file mode 100644
index 6e24285..0000000
--- a/src/3rdparty/v8/test/mjsunit/string-external-cached.js
+++ /dev/null
@@ -1,121 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-externalize-string --expose-gc
-// Test data pointer caching of external strings.
-
-function test() {
- // Test string.charAt.
- var charat_str = new Array(5);
- charat_str[0] = "0123456789ABCDEF0123456789ABCDEF\
-0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF\
-0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF\
-0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF\
-0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF";
- charat_str[1] = "0123456789ABCDEF";
- for (var i = 0; i < 6; i++) charat_str[1] += charat_str[1];
- try { // String can only be externalized once
- externalizeString(charat_str[0], false);
- externalizeString(charat_str[1], true);
- } catch (ex) { }
- charat_str[2] = charat_str[0].slice(0, -1);
- charat_str[3] = charat_str[1].slice(0, -1);
- charat_str[4] = charat_str[0] + charat_str[0];
-
- for (var i = 0; i < 5; i++) {
- assertEquals('B', charat_str[i].charAt(6*16 + 11));
- assertEquals('C', charat_str[i].charAt(6*16 + 12));
- assertEquals('A', charat_str[i].charAt(3*16 + 10));
- assertEquals('B', charat_str[i].charAt(3*16 + 11));
- }
-
- charat_short = "012";
- try { // String can only be externalized once
- externalizeString(charat_short, true);
- } catch (ex) { }
- assertEquals("1", charat_short.charAt(1));
-
- // Test regexp and short substring.
- var re = /(A|B)/;
- var rere = /(T.{1,2}B)/;
- var ascii = "ABCDEFGHIJKLMNOPQRST";
- var twobyte = "_ABCDEFGHIJKLMNOPQRST";
- try {
- externalizeString(ascii, false);
- externalizeString(twobyte, true);
- } catch (ex) { }
- assertTrue(isAsciiString(ascii));
- assertFalse(isAsciiString(twobyte));
- var ascii_slice = ascii.slice(1,-1);
- var twobyte_slice = twobyte.slice(2,-1);
- var ascii_cons = ascii + ascii;
- var twobyte_cons = twobyte + twobyte;
- for (var i = 0; i < 2; i++) {
- assertEquals(["A", "A"], re.exec(ascii));
- assertEquals(["B", "B"], re.exec(ascii_slice));
- assertEquals(["TAB", "TAB"], rere.exec(ascii_cons));
- assertEquals(["A", "A"], re.exec(twobyte));
- assertEquals(["B", "B"], re.exec(twobyte_slice));
- assertEquals(["T_AB", "T_AB"], rere.exec(twobyte_cons));
- assertEquals("DEFG", ascii_slice.substr(2, 4));
- assertEquals("DEFG", twobyte_slice.substr(2, 4));
- assertEquals("DEFG", ascii_cons.substr(3, 4));
- assertEquals("DEFG", twobyte_cons.substr(4, 4));
- }
-
- // Test adding external strings
- var short_ascii = "E=";
- var long_ascii = "MCsquared";
- var short_twobyte = "E\u1234";
- var long_twobyte = "MCsquare\u1234";
- try { // String can only be externalized once
- externalizeString(short_ascii, false);
- externalizeString(long_ascii, false);
- externalizeString(short_twobyte, true);
- externalizeString(long_twobyte, true);
- assertTrue(isAsciiString(short_asii) && isAsciiString(long_ascii));
- assertFalse(isAsciiString(short_twobyte) || isAsciiString(long_twobyte));
- } catch (ex) { }
- assertEquals("E=MCsquared", short_ascii + long_ascii);
- assertTrue(isAsciiString(short_ascii + long_ascii));
- assertEquals("MCsquaredE=", long_ascii + short_ascii);
- assertEquals("E\u1234MCsquare\u1234", short_twobyte + long_twobyte);
- assertFalse(isAsciiString(short_twobyte + long_twobyte));
- assertEquals("E=MCsquared", "E=" + long_ascii);
- assertEquals("E\u1234MCsquared", short_twobyte + "MCsquared");
- assertEquals("E\u1234MCsquared", short_twobyte + long_ascii);
- assertFalse(isAsciiString(short_twobyte + long_ascii));
-}
-
-// Run the test many times to ensure IC-s don't break things.
-for (var i = 0; i < 10; i++) {
- test();
-}
-
-// Clean up string to make Valgrind happy.
-gc();
-gc();
diff --git a/src/3rdparty/v8/test/mjsunit/string-externalize.js b/src/3rdparty/v8/test/mjsunit/string-externalize.js
deleted file mode 100644
index d52a7e2..0000000
--- a/src/3rdparty/v8/test/mjsunit/string-externalize.js
+++ /dev/null
@@ -1,99 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-externalize-string --expose-gc
-
-var size = 1024;
-
-function test() {
- var str = "";
-
- // Build an ascii cons string.
- for (var i = 0; i < size; i++) {
- str += String.fromCharCode(i & 0x7f);
- }
- assertTrue(isAsciiString(str));
-
- var twoByteExternalWithAsciiData =
- "AA" + (function() { return "A"; })();
- externalizeString(twoByteExternalWithAsciiData, true /* force two-byte */);
- assertFalse(isAsciiString(twoByteExternalWithAsciiData));
-
- var realTwoByteExternalString =
- "\u1234\u1234\u1234\u1234" + (function() { return "\u1234"; })();
- externalizeString(realTwoByteExternalString);
- assertFalse(isAsciiString(realTwoByteExternalString));
-
- assertTrue(isAsciiString(["a", twoByteExternalWithAsciiData].join("")));
-
- // Appending a two-byte string that contains only ascii chars should
- // still produce an ascii cons.
- var str1 = str + twoByteExternalWithAsciiData;
- assertTrue(isAsciiString(str1));
-
- // Force flattening of the string.
- var old_length = str1.length - twoByteExternalWithAsciiData.length;
- for (var i = 0; i < old_length; i++) {
- assertEquals(String.fromCharCode(i & 0x7f), str1[i]);
- }
- for (var i = old_length; i < str1.length; i++) {
- assertEquals("A", str1[i]);
- }
-
- // Flattened string should still be ascii.
- assertTrue(isAsciiString(str1));
-
- // Lower-casing an ascii string should produce ascii.
- assertTrue(isAsciiString(str1.toLowerCase()));
-
- assertFalse(isAsciiString(["a", realTwoByteExternalString].join("")));
-
- // Appending a real two-byte string should produce a two-byte cons.
- var str2 = str + realTwoByteExternalString;
- assertFalse(isAsciiString(str2));
-
- // Force flattening of the string.
- old_length = str2.length - realTwoByteExternalString.length;
- for (var i = 0; i < old_length; i++) {
- assertEquals(String.fromCharCode(i & 0x7f), str2[i]);
- }
- for (var i = old_length; i < str.length; i++) {
- assertEquals("\u1234", str2[i]);
- }
-
- // Flattened string should still be two-byte.
- assertFalse(isAsciiString(str2));
-}
-
-// Run the test many times to ensure IC-s don't break things.
-for (var i = 0; i < 10; i++) {
- test();
-}
-
-// Clean up string to make Valgrind happy.
-gc();
-gc();
diff --git a/src/3rdparty/v8/test/mjsunit/string-flatten.js b/src/3rdparty/v8/test/mjsunit/string-flatten.js
deleted file mode 100644
index 91877b2..0000000
--- a/src/3rdparty/v8/test/mjsunit/string-flatten.js
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Check for regression of bug 1011505 (out of memory when flattening strings).
-var i;
-var s = "";
-
-for (i = 0; i < 1024; i++) {
- s = s + (i + (i+1));
- s = s.substring(1);
-}
-// Flatten the string.
-assertEquals(57, s.charCodeAt(0));
diff --git a/src/3rdparty/v8/test/mjsunit/string-fromcharcode.js b/src/3rdparty/v8/test/mjsunit/string-fromcharcode.js
deleted file mode 100644
index 1986dda..0000000
--- a/src/3rdparty/v8/test/mjsunit/string-fromcharcode.js
+++ /dev/null
@@ -1,91 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test String.fromCharCode.
-
-
-// Test various receivers and arguments passed to String.fromCharCode.
-
-Object.prototype.fromCharCode = function(x) { return this; };
-
-var fcc = String.fromCharCode;
-var fcc2 = fcc;
-
-function constFun(x) { return function(y) { return x; }; }
-
-function test(num) {
- assertEquals(" ", String.fromCharCode(0x20));
- assertEquals(" ", String.fromCharCode(0x20 + 0x10000));
- assertEquals(" ", String.fromCharCode(0x20 - 0x10000));
- assertEquals(" ", String.fromCharCode(0x20 + 0.5));
-
- assertEquals("\u1234", String.fromCharCode(0x1234));
- assertEquals("\u1234", String.fromCharCode(0x1234 + 0x10000));
- assertEquals("\u1234", String.fromCharCode(0x1234 - 0x10000));
- assertEquals("\u1234", String.fromCharCode(0x1234 + 0.5));
-
- assertEquals(" ", String.fromCharCode(0x20, 0x20));
- assertEquals(" ", String.fromCharCode(0x20 + 0.5, 0x20));
-
- assertEquals(" ", fcc(0x20));
- assertEquals(" ", fcc(0x20 + 0x10000));
- assertEquals(" ", fcc(0x20 - 0x10000));
- assertEquals(" ", fcc(0x20 + 0.5));
-
- assertEquals("\u1234", fcc(0x1234));
- assertEquals("\u1234", fcc(0x1234 + 0x10000));
- assertEquals("\u1234", fcc(0x1234 - 0x10000));
- assertEquals("\u1234", fcc(0x1234 + 0.5));
-
- assertEquals(" ", fcc(0x20, 0x20));
- assertEquals(" ", fcc(0x20 + 0.5, 0x20));
-
- var receiver = (num < 5) ? String : (num < 9) ? "dummy" : 42;
- fcc2 = (num < 5) ? fcc
- : (num < 9) ? constFun(Object("dummy"))
- : constFun(Object(42));
- var expected = (num < 5) ? " " : (num < 9) ? Object("dummy") : Object(42);
- assertEquals(expected, receiver.fromCharCode(0x20));
- assertEquals(expected, receiver.fromCharCode(0x20 - 0x10000));
- assertEquals(expected, receiver.fromCharCode(0x20 + 0.5));
- assertEquals(expected, fcc2(0x20));
- assertEquals(expected, fcc2(0x20 - 0x10000));
- assertEquals(expected, fcc2(0x20 + 0.5));
-}
-
-// Use loop to test the custom IC.
-for (var i = 0; i < 10; i++) {
- test(i);
-}
-
-
-// Test the custom IC works correctly when the map changes.
-for (var i = 0; i < 10; i++) {
- var expected = (i < 5) ? " " : 42;
- if (i == 5) String.fromCharCode = function() { return 42; };
- assertEquals(expected, String.fromCharCode(0x20));
-}
diff --git a/src/3rdparty/v8/test/mjsunit/string-index.js b/src/3rdparty/v8/test/mjsunit/string-index.js
deleted file mode 100644
index 315708c..0000000
--- a/src/3rdparty/v8/test/mjsunit/string-index.js
+++ /dev/null
@@ -1,259 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-/**
- * @fileoverview Test indexing on strings with [].
- */
-
-var foo = "Foo";
-assertEquals("Foo", foo);
-assertEquals("F", foo[0]);
-assertEquals("o", foo[1]);
-assertEquals("o", foo[2]);
-
-// Test string keyed load IC.
-for (var i = 0; i < 10; i++) {
- assertEquals("F", foo[0]);
- assertEquals("o", foo[1]);
- assertEquals("o", foo[2]);
- assertEquals("F", (foo[0] + "BarBazQuuxFooBarQuux")[0]);
-}
-
-assertEquals("F", foo["0" + ""], "string index");
-assertEquals("o", foo["1"], "string index");
-assertEquals("o", foo["2"], "string index");
-
-assertEquals("undefined", typeof(foo[3]), "out of range");
-// SpiderMonkey 1.5 fails this next one. So does FF 2.0.6.
-assertEquals("undefined", typeof(foo[-1]), "known failure in SpiderMonkey 1.5");
-assertEquals("undefined", typeof(foo[-2]), "negative index");
-
-foo[0] = "f";
-assertEquals("Foo", foo);
-
-foo[3] = "t";
-assertEquals("Foo", foo);
-assertEquals("undefined", typeof(foo[3]), "out of range");
-assertEquals("undefined", typeof(foo[-2]), "negative index");
-
-var S = new String("foo");
-assertEquals(Object("foo"), S);
-assertEquals("f", S[0], "string object");
-assertEquals("f", S["0"], "string object");
-S[0] = 'bente';
-assertEquals("f", S[0], "string object");
-assertEquals("f", S["0"], "string object");
-S[-2] = 'spider';
-assertEquals('spider', S[-2]);
-S[3] = 'monkey';
-assertEquals('monkey', S[3]);
-S['foo'] = 'Fu';
-assertEquals("Fu", S.foo);
-
-// In FF this is ignored I think. In V8 it puts a property on the String object
-// but you won't ever see it because it is hidden by the 0th character in the
-// string. The net effect is pretty much the same.
-S["0"] = 'bente';
-assertEquals("f", S[0], "string object");
-assertEquals("f", S["0"], "string object");
-
-assertEquals(true, 0 in S, "0 in");
-assertEquals(false, -1 in S, "-1 in");
-assertEquals(true, 2 in S, "2 in");
-assertEquals(true, 3 in S, "3 in");
-assertEquals(false, 4 in S, "3 in");
-
-assertEquals(true, "0" in S, '"0" in');
-assertEquals(false, "-1" in S, '"-1" in');
-assertEquals(true, "2" in S, '"2" in');
-assertEquals(true, "3" in S, '"3" in');
-assertEquals(false, "4" in S, '"3" in');
-
-assertEquals(true, S.hasOwnProperty(0), "0 hasOwnProperty");
-assertEquals(false, S.hasOwnProperty(-1), "-1 hasOwnProperty");
-assertEquals(true, S.hasOwnProperty(2), "2 hasOwnProperty");
-assertEquals(true, S.hasOwnProperty(3), "3 hasOwnProperty");
-assertEquals(false, S.hasOwnProperty(4), "3 hasOwnProperty");
-
-assertEquals(true, S.hasOwnProperty("0"), '"0" hasOwnProperty');
-assertEquals(false, S.hasOwnProperty("-1"), '"-1" hasOwnProperty');
-assertEquals(true, S.hasOwnProperty("2"), '"2" hasOwnProperty');
-assertEquals(true, S.hasOwnProperty("3"), '"3" hasOwnProperty');
-assertEquals(false, S.hasOwnProperty("4"), '"3" hasOwnProperty');
-
-assertEquals(true, "foo".hasOwnProperty(0), "foo 0 hasOwnProperty");
-assertEquals(false, "foo".hasOwnProperty(-1), "foo -1 hasOwnProperty");
-assertEquals(true, "foo".hasOwnProperty(2), "foo 2 hasOwnProperty");
-assertEquals(false, "foo".hasOwnProperty(4), "foo 3 hasOwnProperty");
-
-assertEquals(true, "foo".hasOwnProperty("0"), 'foo "0" hasOwnProperty');
-assertEquals(false, "foo".hasOwnProperty("-1"), 'foo "-1" hasOwnProperty');
-assertEquals(true, "foo".hasOwnProperty("2"), 'foo "2" hasOwnProperty');
-assertEquals(false, "foo".hasOwnProperty("4"), 'foo "3" hasOwnProperty');
-
-//assertEquals(true, 0 in "foo", "0 in");
-//assertEquals(false, -1 in "foo", "-1 in");
-//assertEquals(true, 2 in "foo", "2 in");
-//assertEquals(false, 3 in "foo", "3 in");
-//
-//assertEquals(true, "0" in "foo", '"0" in');
-//assertEquals(false, "-1" in "foo", '"-1" in');
-//assertEquals(true, "2" in "foo", '"2" in');
-//assertEquals(false, "3" in "foo", '"3" in');
-
-delete S[3];
-assertEquals("undefined", typeof(S[3]));
-assertEquals(false, 3 in S);
-assertEquals(false, "3" in S);
-
-var N = new Number(43);
-assertEquals(Object(43), N);
-N[-2] = "Alpha";
-assertEquals("Alpha", N[-2]);
-N[0] = "Zappa";
-assertEquals("Zappa", N[0]);
-assertEquals("Zappa", N["0"]);
-
-var A = ["V", "e", "t", "t", "e", "r"];
-var A2 = (A[0] = "v");
-assertEquals('v', A[0]);
-assertEquals('v', A2);
-
-var S = new String("Onkel");
-var S2 = (S[0] = 'o');
-assertEquals('O', S[0]);
-assertEquals('o', S2);
-
-var s = "Tante";
-var s2 = (s[0] = 't');
-assertEquals('T', s[0]);
-assertEquals('t', s2);
-
-var S2 = (S[-2] = 'o');
-assertEquals('o', S[-2]);
-assertEquals('o', S2);
-
-var s2 = (s[-2] = 't');
-assertEquals('undefined', typeof(s[-2]));
-assertEquals('t', s2);
-
-// Make sure enough of the one-char string cache is filled.
-var alpha = ['@'];
-for (var i = 1; i < 128; i++) {
- var c = String.fromCharCode(i);
- alpha[i] = c[0];
-}
-var alphaStr = alpha.join("");
-
-// Now test chars.
-for (var i = 1; i < 128; i++) {
- assertEquals(alpha[i], alphaStr[i]);
- assertEquals(String.fromCharCode(i), alphaStr[i]);
-}
-
-// Test for keyed ic.
-var foo = ['a12', ['a', 2, 'c'], 'a31', 42];
-var results = [1, 2, 3, NaN];
-for (var i = 0; i < 200; ++i) {
- var index = Math.floor(i / 50);
- var receiver = foo[index];
- var expected = results[index];
- var actual = +(receiver[1]);
- assertEquals(expected, actual);
-}
-
-var keys = [0, '1', 2, 3.0, -1, 10];
-var str = 'abcd', arr = ['a', 'b', 'c', 'd', undefined, undefined];
-for (var i = 0; i < 300; ++i) {
- var index = Math.floor(i / 50);
- var key = keys[index];
- var expected = arr[index];
- var actual = str[key];
- assertEquals(expected, actual);
-}
-
-// Test heap number case.
-var keys = [0, Math.floor(2) * 0.5];
-var str = 'ab', arr = ['a', 'b'];
-for (var i = 0; i < 100; ++i) {
- var index = Math.floor(i / 50);
- var key = keys[index];
- var expected = arr[index];
- var actual = str[key];
- assertEquals(expected, actual);
-}
-
-// Test negative zero case.
-var keys = [0, -0.0];
-var str = 'ab', arr = ['a', 'a'];
-for (var i = 0; i < 100; ++i) {
- var index = Math.floor(i / 50);
- var key = keys[index];
- var expected = arr[index];
- var actual = str[key];
- assertEquals(expected, actual);
-}
-
-// Test "not-an-array-index" case.
-var keys = [0, 0.5];
-var str = 'ab', arr = ['a', undefined];
-for (var i = 0; i < 100; ++i) {
- var index = Math.floor(i / 50);
- var key = keys[index];
- var expected = arr[index];
- var actual = str[key];
- assertEquals(expected, actual);
-}
-
-// Test out of range case.
-var keys = [0, -1];
-var str = 'ab', arr = ['a', undefined];
-for (var i = 0; i < 100; ++i) {
- var index = Math.floor(i / 50);
- var key = keys[index];
- var expected = arr[index];
- var actual = str[key];
- assertEquals(expected, actual);
-}
-
-var keys = [0, 10];
-var str = 'ab', arr = ['a', undefined];
-for (var i = 0; i < 100; ++i) {
- var index = Math.floor(i / 50);
- var key = keys[index];
- var expected = arr[index];
- var actual = str[key];
- assertEquals(expected, actual);
-}
-
-// Test two byte string.
-var str = '\u0427', arr = ['\u0427'];
-for (var i = 0; i < 50; ++i) {
- var expected = arr[0];
- var actual = str[0];
- assertEquals(expected, actual);
-}
diff --git a/src/3rdparty/v8/test/mjsunit/string-indexof-1.js b/src/3rdparty/v8/test/mjsunit/string-indexof-1.js
deleted file mode 100644
index db3623f..0000000
--- a/src/3rdparty/v8/test/mjsunit/string-indexof-1.js
+++ /dev/null
@@ -1,125 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var s = "test test test";
-
-assertEquals(0, s.indexOf("t"));
-assertEquals(3, s.indexOf("t", 1));
-assertEquals(5, s.indexOf("t", 4));
-assertEquals(1, s.indexOf("e"));
-assertEquals(2, s.indexOf("s"));
-
-assertEquals(5, s.indexOf("test", 4));
-assertEquals(5, s.indexOf("test", 5));
-assertEquals(10, s.indexOf("test", 6));
-assertEquals(0, s.indexOf("test", 0));
-assertEquals(0, s.indexOf("test", -1));
-assertEquals(0, s.indexOf("test"));
-assertEquals(-1, s.indexOf("notpresent"));
-assertEquals(-1, s.indexOf());
-
-for (var i = 0; i < s.length+10; i++) {
- var expected = i < s.length ? i : s.length;
- assertEquals(expected, s.indexOf("", i));
-}
-
-var reString = "asdf[a-z]+(asdf)?";
-
-assertEquals(4, reString.indexOf("[a-z]+"));
-assertEquals(10, reString.indexOf("(asdf)?"));
-
-assertEquals(1, String.prototype.indexOf.length);
-
-// Random greek letters
-var twoByteString = "\u039a\u0391\u03a3\u03a3\u0395";
-
-// Test single char pattern
-assertEquals(0, twoByteString.indexOf("\u039a"), "Lamda");
-assertEquals(1, twoByteString.indexOf("\u0391"), "Alpha");
-assertEquals(2, twoByteString.indexOf("\u03a3"), "First Sigma");
-assertEquals(3, twoByteString.indexOf("\u03a3",3), "Second Sigma");
-assertEquals(4, twoByteString.indexOf("\u0395"), "Epsilon");
-assertEquals(-1, twoByteString.indexOf("\u0392"), "Not beta");
-
-// Test multi-char pattern
-assertEquals(0, twoByteString.indexOf("\u039a\u0391"), "lambda Alpha");
-assertEquals(1, twoByteString.indexOf("\u0391\u03a3"), "Alpha Sigma");
-assertEquals(2, twoByteString.indexOf("\u03a3\u03a3"), "Sigma Sigma");
-assertEquals(3, twoByteString.indexOf("\u03a3\u0395"), "Sigma Epsilon");
-
-assertEquals(-1, twoByteString.indexOf("\u0391\u03a3\u0395"),
- "Not Alpha Sigma Epsilon");
-
-//single char pattern
-assertEquals(4, twoByteString.indexOf("\u0395"));
-
-// Test complex string indexOf algorithms. Only trigger for long strings.
-
-// Long string that isn't a simple repeat of a shorter string.
-var long = "A";
-for(var i = 66; i < 76; i++) { // from 'B' to 'K'
- long = long + String.fromCharCode(i) + long;
-}
-
-// pattern of 15 chars, repeated every 16 chars in long
-var pattern = "ABACABADABACABA";
-for(var i = 0; i < long.length - pattern.length; i+= 7) {
- var index = long.indexOf(pattern, i);
- assertEquals((i + 15) & ~0xf, index, "Long ABACABA...-string at index " + i);
-}
-assertEquals(510, long.indexOf("AJABACA"), "Long AJABACA, First J");
-assertEquals(1534, long.indexOf("AJABACA", 511), "Long AJABACA, Second J");
-
-pattern = "JABACABADABACABA";
-assertEquals(511, long.indexOf(pattern), "Long JABACABA..., First J");
-assertEquals(1535, long.indexOf(pattern, 512), "Long JABACABA..., Second J");
-
-
-// Search for a non-ASCII string in a pure ASCII string.
-var asciiString = "arglebargleglopglyfarglebargleglopglyfarglebargleglopglyf";
-assertEquals(-1, asciiString.indexOf("\x2061"));
-
-
-// Search in string containing many non-ASCII chars.
-var allCodePoints = [];
-for (var i = 0; i < 65536; i++) allCodePoints[i] = i;
-var allCharsString = String.fromCharCode.apply(String, allCodePoints);
-// Search for string long enough to trigger complex search with ASCII pattern
-// and UC16 subject.
-assertEquals(-1, allCharsString.indexOf("notfound"));
-
-// Find substrings.
-var lengths = [1, 4, 15]; // Single char, simple and complex.
-var indices = [0x5, 0x65, 0x85, 0x105, 0x205, 0x285, 0x2005, 0x2085, 0xfff0];
-for (var lengthIndex = 0; lengthIndex < lengths.length; lengthIndex++) {
- var length = lengths[lengthIndex];
- for (var i = 0; i < indices.length; i++) {
- var index = indices[i];
- var pattern = allCharsString.substring(index, index + length);
- assertEquals(index, allCharsString.indexOf(pattern));
- }
-}
diff --git a/src/3rdparty/v8/test/mjsunit/string-indexof-2.js b/src/3rdparty/v8/test/mjsunit/string-indexof-2.js
deleted file mode 100644
index 48db84d..0000000
--- a/src/3rdparty/v8/test/mjsunit/string-indexof-2.js
+++ /dev/null
@@ -1,68 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var lipsum = "lorem ipsum per se esse fugiendum. itaque aiunt hanc quasi "
- + "naturalem atque insitam in animis nostris inesse notionem, ut "
- + "alterum esse appetendum, alterum aspernandum sentiamus. Alii autem,"
- + " quibus ego assentior, cum a philosophis compluribus permulta "
- + "dicantur, cur nec voluptas in bonis sit numeranda nec in malis "
- + "dolor, non existimant oportere nimium nos causae confidere, sed et"
- + " argumentandum et accurate disserendum et rationibus conquisitis de"
- + " voluptate et dolore disputandum putant.\n"
- + "Sed ut perspiciatis, unde omnis iste natus error sit voluptatem "
- + "accusantium doloremque laudantium, totam rem aperiam eaque ipsa,"
- + "quae ab illo inventore veritatis et quasi architecto beatae vitae "
- + "dicta sunt, explicabo. nemo enim ipsam voluptatem, quia voluptas"
- + "sit, aspernatur aut odit aut fugit, sed quia consequuntur magni"
- + " dolores eos, qui ratione voluptatem sequi nesciunt, neque porro"
- + " quisquam est, qui dolorem ipsum, quia dolor sit, amet, "
- + "consectetur, adipisci velit, sed quia non numquam eius modi"
- + " tempora incidunt, ut labore et dolore magnam aliquam quaerat "
- + "voluptatem. ut enim ad minima veniam, quis nostrum exercitationem "
- + "ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi "
- + "consequatur? quis autem vel eum iure reprehenderit, qui in ea "
- + "voluptate velit esse, quam nihil molestiae consequatur, vel illum, "
- + "qui dolorem eum fugiat, quo voluptas nulla pariatur?\n";
-
-assertEquals(893, lipsum.indexOf("lorem ipsum, quia dolor sit, amet"),
- "Lipsum");
-// test a lot of substrings of differing length and start-position.
-for(var i = 0; i < lipsum.length; i += 3) {
- for(var len = 1; i + len < lipsum.length; len += 7) {
- var substring = lipsum.substring(i, i + len);
- var index = -1;
- do {
- index = lipsum.indexOf(substring, index + 1);
- assertTrue(index != -1,
- "Lipsum substring " + i + ".." + (i + len-1) + " not found");
- assertEquals(lipsum.substring(index, index + len), substring,
- "Wrong lipsum substring found: " + i + ".." + (i + len - 1) + "/" +
- index + ".." + (index + len - 1));
- } while (index >= 0 && index < i);
- assertEquals(i, index, "Lipsum match at " + i + ".." + (i + len - 1));
- }
-}
diff --git a/src/3rdparty/v8/test/mjsunit/string-lastindexof.js b/src/3rdparty/v8/test/mjsunit/string-lastindexof.js
deleted file mode 100644
index 27378f7..0000000
--- a/src/3rdparty/v8/test/mjsunit/string-lastindexof.js
+++ /dev/null
@@ -1,88 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var s = "test test test";
-
-var MAX_DOUBLE = 1.7976931348623157e+308;
-var MIN_DOUBLE = -MAX_DOUBLE;
-var MAX_SMI = Math.pow(2,30)-1;
-var MIN_SMI = -Math.pow(2,30);
-
-assertEquals(10, s.lastIndexOf("test", Infinity), "tinf");
-assertEquals(10, s.lastIndexOf("test", MAX_DOUBLE), "tmaxdouble");
-assertEquals(10, s.lastIndexOf("test", MAX_SMI), "tmaxsmi");
-assertEquals(10, s.lastIndexOf("test", s.length * 2), "t2length");
-assertEquals(10, s.lastIndexOf("test", 15), "t15");
-assertEquals(10, s.lastIndexOf("test", 14), "t14");
-assertEquals(10, s.lastIndexOf("test", 10), "t10");
-assertEquals(5, s.lastIndexOf("test", 9), "t9");
-assertEquals(5, s.lastIndexOf("test", 6), "t6");
-assertEquals(5, s.lastIndexOf("test", 5), "t5");
-assertEquals(0, s.lastIndexOf("test", 4), "t4");
-assertEquals(0, s.lastIndexOf("test", 0), "t0");
-assertEquals(0, s.lastIndexOf("test", -1), "t-1");
-assertEquals(0, s.lastIndexOf("test", -s.length), "t-len");
-assertEquals(0, s.lastIndexOf("test", MIN_SMI), "tminsmi");
-assertEquals(0, s.lastIndexOf("test", MIN_DOUBLE), "tmindouble");
-assertEquals(0, s.lastIndexOf("test", -Infinity), "tneginf");
-assertEquals(10, s.lastIndexOf("test"), "t");
-assertEquals(-1, s.lastIndexOf("notpresent"), "n");
-assertEquals(-1, s.lastIndexOf(), "none");
-assertEquals(10, s.lastIndexOf("test", "not a number"), "nan");
-
-var longNonMatch = "overlong string that doesn't match";
-var longAlmostMatch = "test test test!";
-var longAlmostMatch2 = "!test test test";
-
-
-assertEquals(-1, s.lastIndexOf(longNonMatch), "long");
-assertEquals(-1, s.lastIndexOf(longNonMatch, 10), "longpos");
-assertEquals(-1, s.lastIndexOf(longNonMatch, NaN), "longnan");
-assertEquals(-1, s.lastIndexOf(longAlmostMatch), "tlong");
-assertEquals(-1, s.lastIndexOf(longAlmostMatch, 10), "tlongpos");
-assertEquals(-1, s.lastIndexOf(longAlmostMatch), "tlongnan");
-
-var nonInitialMatch = "est";
-
-assertEquals(-1, s.lastIndexOf(nonInitialMatch, 0), "noninit");
-assertEquals(-1, s.lastIndexOf(nonInitialMatch, -1), "noninitneg");
-assertEquals(-1, s.lastIndexOf(nonInitialMatch, MIN_SMI), "noninitminsmi");
-assertEquals(-1, s.lastIndexOf(nonInitialMatch, MIN_DOUBLE), "noninitmindbl");
-assertEquals(-1, s.lastIndexOf(nonInitialMatch, -Infinity), "noninitneginf");
-
-for (var i = s.length + 10; i >= 0; i--) {
- var expected = i < s.length ? i : s.length;
- assertEquals(expected, s.lastIndexOf("", i), "empty" + i);
-}
-
-
-var reString = "asdf[a-z]+(asdf)?";
-
-assertEquals(4, reString.lastIndexOf("[a-z]+"), "r4");
-assertEquals(10, reString.lastIndexOf("(asdf)?"), "r10");
-
-assertEquals(1, String.prototype.lastIndexOf.length, "length");
diff --git a/src/3rdparty/v8/test/mjsunit/string-localecompare.js b/src/3rdparty/v8/test/mjsunit/string-localecompare.js
deleted file mode 100644
index 90a1813..0000000
--- a/src/3rdparty/v8/test/mjsunit/string-localecompare.js
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// String.prototype.localeCompare.
-//
-// Implementation dependent function. For now, we do not do anything
-// locale specific.
-
-// Equal prefix.
-assertTrue("asdf".localeCompare("asdf") == 0);
-assertTrue("asd".localeCompare("asdf") < 0);
-assertTrue("asdff".localeCompare("asdf") > 0);
-
-// Chars differ.
-assertTrue("asdf".localeCompare("asdq") < 0);
-assertTrue("asdq".localeCompare("asdf") > 0);
diff --git a/src/3rdparty/v8/test/mjsunit/string-match.js b/src/3rdparty/v8/test/mjsunit/string-match.js
deleted file mode 100755
index 202396d..0000000
--- a/src/3rdparty/v8/test/mjsunit/string-match.js
+++ /dev/null
@@ -1,149 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-/**
- * @fileoverview Test String.prototype.match
- */
-
-
-function testMatch(name, input, regexp, result, captures, from, to) {
- var matchResult = input.match(regexp);
- assertEquals(result, matchResult, name + "-match");
-
- var match = input.substring(from, to);
- var preMatch = input.substring(0, from);
- var postMatch = input.substring(to);
- var lastParen = captures.length > 0 ? captures[captures.length - 1] : "";
-
- if (regexp.global) {
- // Returns array of matched strings.
- var lastMatch = matchResult[matchResult.length - 1];
- assertEquals(match, lastMatch, name + "-match-string_g");
- } else {
- // Returns array of match and captures.
- assertEquals(match, matchResult[0], name + "-match-string");
- assertEquals(captures.length + 1, matchResult.length, name + "-cap-return");
- for (var i = 1; i < matchResult.length; i++) {
- assertEquals(captures[i - 1], matchResult[i], name + "-cap-return-" + i);
- }
- }
-
- assertEquals(match, RegExp["$&"], name + "-$&");
- assertEquals(match, RegExp.lastMatch, name + "-lastMatch");
-
- assertEquals(undefined, RegExp.$0, name + "-nocapture-10");
- for (var i = 1; i <= 9; i++) {
- if (i <= captures.length) {
- assertEquals(captures[i - 1], RegExp["$" + i], name + "-capture-" + i);
- } else {
- assertEquals("", RegExp["$" + i], name + "-nocapture-" + i);
- }
- }
- assertEquals(undefined, RegExp.$10, name + "-nocapture-10");
-
- assertEquals(input, RegExp.input, name + "-input");
- assertEquals(input, RegExp.$input, name + "-$input");
- assertEquals(input, RegExp.$_, name + "-$_");
-
- assertEquals(preMatch, RegExp["$`"], name + "-$`");
- assertEquals(preMatch, RegExp.leftContext, name + "-leftContex");
-
- assertEquals(postMatch, RegExp["$'"], name + "-$'");
- assertEquals(postMatch, RegExp.rightContext, name + "-rightContex");
-
- assertEquals(lastParen, RegExp["$+"], name + "-$+");
- assertEquals(lastParen, RegExp.lastParen, name + "-lastParen");
-
-}
-
-
-var stringSample = "A man, a plan, a canal: Panama";
-var stringSample2 = "Argle bargle glop glyf!";
-var stringSample3 = "abcdefghijxxxxxxxxxx";
-
-
-// Non-capturing, non-global regexp.
-
-var re_nog = /\w+/;
-
-testMatch("Nonglobal", stringSample, re_nog,
- ["A"],
- [], 0, 1);
-
-
-re_nog.lastIndex = 2;
-
-testMatch("Nonglobal-ignore-lastIndex", stringSample, re_nog,
- ["A"],
- [], 0, 1);
-
-
-// Capturing non-global regexp.
-
-var re_multicap = /(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)/;
-testMatch("Capture-Nonglobal", stringSample3, re_multicap,
- ["abcdefghij", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j"],
- ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"], 0, 10);
-
-
-// Global regexp (also check that capture from before are cleared)
-
-var re = /\w+/g;
-testMatch("Global", stringSample2, re,
- ["Argle", "bargle", "glop", "glyf"], [], 18, 22);
-
-re.lastIndex = 10;
-
-testMatch("Global-ignore-lastIndex", stringSample2, re,
- ["Argle", "bargle", "glop", "glyf"], [], 18, 22);
-
-
-// Capturing global regexp
-
-var re_cap = /\w(\w*)/g;
-
-testMatch("Capture-Global", stringSample, re_cap,
- ["A", "man", "a", "plan", "a", "canal", "Panama"],
- ["anama"], 24, 30);
-
-
-// Atom, non-global
-
-var re_atom = /an/;
-
-testMatch("Atom", stringSample, re_atom,
- ["an"],
- [], 3, 5);
-
-
-// Atom, global
-
-var re_atomg = /an/g;
-
-testMatch("Global-Atom", stringSample, re_atomg,
- ["an", "an", "an", "an"],
- [], 25, 27);
diff --git a/src/3rdparty/v8/test/mjsunit/string-natives.js b/src/3rdparty/v8/test/mjsunit/string-natives.js
deleted file mode 100644
index b1ec875..0000000
--- a/src/3rdparty/v8/test/mjsunit/string-natives.js
+++ /dev/null
@@ -1,72 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-gc --allow-natives-syntax
-
-function test() {
- var s1 = %NewString(26, true);
- for (i = 0; i < 26; i++) %_OneByteSeqStringSetChar(s1, i, i+65);
- assertEquals("ABCDEFGHIJKLMNOPQRSTUVWXYZ", s1);
- s1 = %TruncateString(s1, 13);
- assertEquals("ABCDEFGHIJKLM", s1);
-
- var s2 = %NewString(26, false);
- for (i = 0; i < 26; i++) %_TwoByteSeqStringSetChar(s2, i, i+65);
- assertEquals("ABCDEFGHIJKLMNOPQRSTUVWXYZ", s2);
- s2 = %TruncateString(s1, 13);
- assertEquals("ABCDEFGHIJKLM", s2);
-
- var s3 = %NewString(26, false);
- for (i = 0; i < 26; i++) %_TwoByteSeqStringSetChar(s3, i, i+1000);
- for (i = 0; i < 26; i++) assertEquals(s3[i], String.fromCharCode(i+1000));
-
- var a = [];
- for (var i = 0; i < 1000; i++) {
- var s = %NewString(10000, i % 2 == 1);
- a.push(s);
- }
-
- gc();
-
- for (var i = 0; i < 1000; i++) {
- assertEquals(10000, a[i].length);
- a[i] = %TruncateString(a[i], 5000);
- }
-
- gc();
-
- for (var i = 0; i < 1000; i++) {
- assertEquals(5000, a[i].length);
- }
-}
-
-
-test();
-test();
-%OptimizeFunctionOnNextCall(test);
-test();
-
diff --git a/src/3rdparty/v8/test/mjsunit/string-replace-gc.js b/src/3rdparty/v8/test/mjsunit/string-replace-gc.js
deleted file mode 100644
index 73b310f..0000000
--- a/src/3rdparty/v8/test/mjsunit/string-replace-gc.js
+++ /dev/null
@@ -1,56 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-//
-// Regression test for the r1512 fix.
-
-var foo = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
-
-foo = foo + foo;
-foo = foo + foo;
-foo = foo + foo;
-foo = foo + foo;
-foo = foo + foo;
-foo = foo + foo;
-foo = foo + foo;
-foo = foo + foo;
-foo = foo + foo;
-foo = foo + foo;
-foo = foo + foo;
-foo = foo + foo;
-foo = foo + foo;
-foo = foo + foo;
-foo = foo + foo;
-
-foo.replace(/[b]/, "c"); // Flatten foo.
-
-var moving_string = "b" + "c";
-
-var bar = foo.replace(/[a]/g, moving_string);
-
-print(bar.length);
-
diff --git a/src/3rdparty/v8/test/mjsunit/string-replace-one-char.js b/src/3rdparty/v8/test/mjsunit/string-replace-one-char.js
deleted file mode 100644
index cb4167b..0000000
--- a/src/3rdparty/v8/test/mjsunit/string-replace-one-char.js
+++ /dev/null
@@ -1,92 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Make sure the strings are long enough to trigger the one-char string replace.
-var prefix1024 = "0123456789ABCDEF";
-for (var i = 0; i < 6; i++) prefix1024 += prefix1024;
-
-function test_replace(result, expected, search, replace) {
- assertEquals(expected, result.replace(search, replace));
-}
-
-// '$' in the replace string.
-test_replace(prefix1024 + "abcdefghijklmnopqrstuvwxyz",
- prefix1024 + "abcdefghijk#l#mnopqrstuvwxyz",
- "l", "#$&#");
-
-test_replace(prefix1024 + "abcdefghijklmnopqrstuvwxyz\u1234",
- prefix1024 + "abcdefghijk\u2012l\u2012mnopqrstuvwxyz\u1234",
- "l", "\u2012$&\u2012");
-
-test_replace(prefix1024 + "abcdefghijklmnopqrstuvwxyz",
- prefix1024 + "abcdefghijk$mnopqrstuvwxyz",
- "l", "$$");
-
-test_replace(prefix1024 + "abcdefghijklmnopqrstuvwxyz\u1234",
- prefix1024 + "abcdefghijk$mnopqrstuvwxyz\u1234",
- "l", "$$");
-
-// Zero length replace string.
-test_replace(prefix1024 + "abcdefghijklmnopqrstuvwxyz",
- prefix1024 + "abcdefghijklmnopqstuvwxyz",
- "r", "");
-
-test_replace(prefix1024 + "abcdefghijklmnopq\u1234stuvwxyz",
- prefix1024 + "abcdefghijklmnopqstuvwxyz",
- "\u1234", "");
-
-// Search char not found.
-var not_found_1 = prefix1024 + "abcdefghijklmnopqrstuvwxyz";
-test_replace(not_found_1, not_found_1, "+", "-");
-
-var not_found_2 = prefix1024 + "abcdefghijklm\u1234nopqrstuvwxyz";
-test_replace(not_found_2, not_found_2, "+", "---");
-
-var not_found_3 = prefix1024 + "abcdefghijklmnopqrstuvwxyz";
-test_replace(not_found_3, not_found_3, "\u1234", "ZZZ");
-
-// Deep cons tree.
-var nested_1 = "";
-for (var i = 0; i < 100000; i++) nested_1 += "y";
-var nested_1_result = prefix1024 + nested_1 + "aa";
-nested_1 = prefix1024 + nested_1 + "z";
-test_replace(nested_1, nested_1_result, "z", "aa");
-
-var nested_2 = "\u2244";
-for (var i = 0; i < 100000; i++) nested_2 += "y";
-var nested_2_result = prefix1024 + nested_2 + "aa";
-nested_2 = prefix1024 + nested_2 + "\u2012";
-test_replace(nested_2, nested_2_result, "\u2012", "aa");
-
-// Sliced string as input. A cons string is always flattened before sliced.
-var slice_1 = ("ab" + prefix1024 + "cdefghijklmnopqrstuvwxyz").slice(1, -1);
-var slice_1_result = "b" + prefix1024 + "cdefghijklmnopqrstuvwxQ";
-test_replace(slice_1, slice_1_result, "y", "Q");
-
-var slice_2 = (prefix1024 + "abcdefghijklmno\u1234\u1234p").slice(1, -1);
-var slice_2_result = prefix1024.substr(1) + "abcdefghijklmnoQ\u1234";
-test_replace(slice_2, slice_2_result, "\u1234", "Q");
diff --git a/src/3rdparty/v8/test/mjsunit/string-replace-with-empty.js b/src/3rdparty/v8/test/mjsunit/string-replace-with-empty.js
deleted file mode 100644
index aa97f27..0000000
--- a/src/3rdparty/v8/test/mjsunit/string-replace-with-empty.js
+++ /dev/null
@@ -1,69 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-externalize-string --expose-gc
-
-function test() {
- assertEquals("0123", "aa0bb1cc2dd3".replace(/[a-z]/g, ""));
- assertEquals("0123", "\u1234a0bb1cc2dd3".replace(/[\u1234a-z]/g, ""));
-
- var expected = "0123";
- var cons = "a0b1c2d3";
- for (var i = 0; i < 5; i++) {
- expected += expected;
- cons += cons;
- }
- assertEquals(expected, cons.replace(/[a-z]/g, ""));
- cons = "\u12340b1c2d3";
- for (var i = 0; i < 5; i++) {
- cons += cons;
- }
- assertEquals(expected, cons.replace(/[\u1234a-z]/g, ""));
-
- cons = "a0b1c2d3";
- for (var i = 0; i < 5; i++) {
- cons += cons;
- }
- externalizeString(cons, true/* force two-byte */);
- assertEquals(expected, cons.replace(/[a-z]/g, ""));
- cons = "\u12340b1c2d3";
- for (var i = 0; i < 5; i++) {
- cons += cons;
- }
- externalizeString(cons);
- assertEquals(expected, cons.replace(/[\u1234a-z]/g, ""));
-}
-
-test();
-
-// Clear the regexp cache to allow the GC to work.
-"foo".replace(/foo/g, "");
-
-// GC in order to free up things on the C side so we don't get
-// a memory leak. This makes valgrind happy.
-gc();
-gc();
diff --git a/src/3rdparty/v8/test/mjsunit/string-replace.js b/src/3rdparty/v8/test/mjsunit/string-replace.js
deleted file mode 100644
index de92115..0000000
--- a/src/3rdparty/v8/test/mjsunit/string-replace.js
+++ /dev/null
@@ -1,275 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-/**
- * @fileoverview Test String.prototype.replace
- */
-
-function replaceTest(result, subject, pattern, replacement) {
- var name =
- "\"" + subject + "\".replace(" + pattern + ", " + replacement + ")";
- assertEquals(result, subject.replace(pattern, replacement), name);
-}
-
-
-var short = "xaxbxcx";
-
-replaceTest("axbxcx", short, "x", "");
-replaceTest("axbxcx", short, /x/, "");
-replaceTest("abc", short, /x/g, "");
-
-replaceTest("xaxxcx", short, "b", "");
-replaceTest("xaxxcx", short, /b/, "");
-replaceTest("xaxxcx", short, /b/g, "");
-
-
-replaceTest("[]axbxcx", short, "x", "[]");
-replaceTest("[]axbxcx", short, /x/, "[]");
-replaceTest("[]a[]b[]c[]", short, /x/g, "[]");
-
-replaceTest("xax[]xcx", short, "b", "[]");
-replaceTest("xax[]xcx", short, /b/, "[]");
-replaceTest("xax[]xcx", short, /b/g, "[]");
-
-
-replaceTest("[$]axbxcx", short, "x", "[$$]");
-replaceTest("[$]axbxcx", short, /x/, "[$$]");
-replaceTest("[$]a[$]b[$]c[$]", short, /x/g, "[$$]");
-
-replaceTest("xax[$]xcx", short, "b", "[$$]");
-replaceTest("xax[$]xcx", short, /b/, "[$$]");
-replaceTest("xax[$]xcx", short, /b/g, "[$$]");
-
-
-replaceTest("[]axbxcx", short, "x", "[$`]");
-replaceTest("[]axbxcx", short, /x/, "[$`]");
-replaceTest("[]a[xa]b[xaxb]c[xaxbxc]", short, /x/g, "[$`]");
-
-replaceTest("xax[xax]xcx", short, "b", "[$`]");
-replaceTest("xax[xax]xcx", short, /b/, "[$`]");
-replaceTest("xax[xax]xcx", short, /b/g, "[$`]");
-
-
-replaceTest("[x]axbxcx", short, "x", "[$&]");
-replaceTest("[x]axbxcx", short, /x/, "[$&]");
-replaceTest("[x]a[x]b[x]c[x]", short, /x/g, "[$&]");
-
-replaceTest("xax[b]xcx", short, "b", "[$&]");
-replaceTest("xax[b]xcx", short, /b/, "[$&]");
-replaceTest("xax[b]xcx", short, /b/g, "[$&]");
-
-
-replaceTest("[axbxcx]axbxcx", short, "x", "[$']");
-replaceTest("[axbxcx]axbxcx", short, /x/, "[$']");
-replaceTest("[axbxcx]a[bxcx]b[cx]c[]", short, /x/g, "[$']");
-
-replaceTest("xax[xcx]xcx", short, "b", "[$']");
-replaceTest("xax[xcx]xcx", short, /b/, "[$']");
-replaceTest("xax[xcx]xcx", short, /b/g, "[$']");
-
-
-replaceTest("[$1]axbxcx", short, "x", "[$1]");
-replaceTest("[$1]axbxcx", short, /x/, "[$1]");
-replaceTest("[]axbxcx", short, /x()/, "[$1]");
-replaceTest("[$1]a[$1]b[$1]c[$1]", short, /x/g, "[$1]");
-replaceTest("[]a[]b[]c[]", short, /x()/g, "[$1]");
-
-replaceTest("xax[$1]xcx", short, "b", "[$1]");
-replaceTest("xax[$1]xcx", short, /b/, "[$1]");
-replaceTest("xax[]xcx", short, /b()/, "[$1]");
-replaceTest("xax[$1]xcx", short, /b/g, "[$1]");
-replaceTest("xax[]xcx", short, /b()/g, "[$1]");
-
-// Bug 317 look-alikes. If "$e" has no meaning, the "$" must be retained.
-replaceTest("xax$excx", short, "b", "$e");
-replaceTest("xax$excx", short, /b/, "$e");
-replaceTest("xax$excx", short, /b/g, "$e");
-
-replaceTest("xaxe$xcx", short, "b", "e$");
-replaceTest("xaxe$xcx", short, /b/, "e$");
-replaceTest("xaxe$xcx", short, /b/g, "e$");
-
-
-replaceTest("[$$$1$$a1abb1bb0$002$3$03][$$$1$$b1bcc1cc0$002$3$03]c",
- "abc", /(.)(?=(.))/g, "[$$$$$$1$$$$$11$01$2$21$02$020$002$3$03]");
-
-// Replace with functions.
-
-
-var ctr = 0;
-replaceTest("0axbxcx", short, "x", function r(m, i, s) {
- assertEquals(3, arguments.length, "replace('x',func) func-args");
- assertEquals("x", m, "replace('x',func(m,..))");
- assertEquals(0, i, "replace('x',func(..,i,..))");
- assertEquals(short, s, "replace('x',func(..,s))");
- return String(ctr++);
-});
-assertEquals(1, ctr, "replace('x',func) num-match");
-
-ctr = 0;
-replaceTest("0axbxcx", short, /x/, function r(m, i, s) {
- assertEquals(3, arguments.length, "replace(/x/,func) func-args");
- assertEquals("x", m, "replace(/x/,func(m,..))");
- assertEquals(0, i, "replace(/x/,func(..,i,..))");
- assertEquals(short, s, "replace(/x/,func(..,s))");
- return String(ctr++);
-});
-assertEquals(1, ctr, "replace(/x/,func) num-match");
-
-ctr = 0;
-replaceTest("0a1b2c3", short, /x/g, function r(m, i, s) {
- assertEquals(3, arguments.length, "replace(/x/g,func) func-args");
- assertEquals("x", m, "replace(/x/g,func(m,..))");
- assertEquals(ctr * 2, i, "replace(/x/g,func(..,i,.))");
- assertEquals(short, s, "replace(/x/g,func(..,s))");
- return String(ctr++);
-});
-assertEquals(4, ctr, "replace(/x/g,func) num-match");
-
-ctr = 0;
-replaceTest("0a1b2cx", short, /(x)(?=(.))/g, function r(m, c1, c2, i, s) {
- assertEquals(5, arguments.length, "replace(/(x)(?=(.))/g,func) func-args");
- assertEquals("x", m, "replace(/(x)(?=(.))/g,func(m,..))");
- assertEquals("x", c1, "replace(/(x)(?=(.))/g,func(..,c1,..))");
- assertEquals(["a","b","c"][ctr], c2, "replace(/(x)(?=(.))/g,func(..,c2,..))");
- assertEquals(ctr * 2, i, "replace(/(x)(?=(.))/g,func(..,i,..))");
- assertEquals(short, s, "replace(/(x)(?=(.))/g,func(..,s))");
- return String(ctr++);
-});
-assertEquals(3, ctr, "replace(/x/g,func) num-match");
-
-
-// Test special cases of replacement parts longer than 1<<11.
-var longstring = "xyzzy";
-longstring = longstring + longstring;
-longstring = longstring + longstring;
-longstring = longstring + longstring;
-longstring = longstring + longstring;
-longstring = longstring + longstring;
-longstring = longstring + longstring;
-longstring = longstring + longstring;
-longstring = longstring + longstring;
-longstring = longstring + longstring;
-longstring = longstring + longstring;
-longstring = longstring + longstring;
-// longstring.length == 5 << 11
-
-replaceTest(longstring + longstring,
- "<" + longstring + ">", /<(.*)>/g, "$1$1");
-
-replaceTest("string 42", "string x", /x/g, function() { return 42; });
-replaceTest("string 42", "string x", /x/, function() { return 42; });
-replaceTest("string 42", "string x", /[xy]/g, function() { return 42; });
-replaceTest("string 42", "string x", /[xy]/, function() { return 42; });
-replaceTest("string true", "string x", /x/g, function() { return true; });
-replaceTest("string null", "string x", /x/g, function() { return null; });
-replaceTest("string undefined", "string x", /x/g, function() { return undefined; });
-
-replaceTest("aundefinedbundefinedcundefined",
- "abc", /(.)|(.)/g, function(m, m1, m2, i, s) { return m1+m2; });
-
-// Test nested calls to replace, including that it sets RegExp.$& correctly.
-
-function replacer(m,i,s) {
- assertEquals(m,RegExp['$&']);
- return "[" + RegExp['$&'] + "-"
- + m.replace(/./g,"$&$&") + "-"
- + m.replace(/./g,function() { return RegExp['$&']; })
- + "-" + RegExp['$&'] + "]";
-}
-
-replaceTest("[ab-aabb-ab-b][az-aazz-az-z]",
- "abaz", /a./g, replacer);
-
-replaceTest("[ab-aabb-ab-b][az-aazz-az-z]",
- "abaz", /a(.)/g, replacer);
-
-var str = 'She sells seashells by the seashore.';
-var re = /sh/g;
-assertEquals('She sells sea$schells by the sea$schore.',
- str.replace(re,"$$" + 'sch'))
-
-
-var replace_obj = { length: 0, toString: function() { return "x"; }};
-assertEquals("axc", "abc".replace(/b/, replace_obj));
-assertEquals("axc", "abc".replace(/b/g, replace_obj));
-
-var search_obj = { length: 1, toString: function() { return "b"; }};
-assertEquals("axc", "abc".replace(search_obj, function() { return "x"; }));
-
-var side_effect_flag = false;
-var replace_obj_side_effects = {
- toString: function() { side_effect_flag = true; return "x" }
-}
-assertEquals("abc", "abc".replace(/z/g, replace_obj_side_effects));
-assertTrue(side_effect_flag); // Side effect triggers even without a match.
-
-var regexp99pattern = "";
-var subject = "";
-for (var i = 0; i < 99; i++) {
- regexp99pattern += "(.)";
- subject += String.fromCharCode(i + 24);
-}
-
-function testIndices99(re) {
- // Test $1 .. $99
- for (var i = 1; i < 100; i++) {
- assertEquals(String.fromCharCode(i + 23),
- subject.replace(re, "$" + i));
- }
-
- // Test $01 .. $09
- for (var i = 1; i < 10; i++) {
- assertEquals(String.fromCharCode(i + 23),
- subject.replace(re, "$0" + i));
- }
-
- assertEquals("$0", subject.replace(re, "$0"));
- assertEquals("$00", subject.replace(re, "$00"));
- assertEquals(String.fromCharCode(10 + 23) + "0",
- subject.replace(re, "$100"));
-}
-
-testIndices99(new RegExp(regexp99pattern));
-testIndices99(new RegExp(regexp99pattern, "g"));
-
-var regexp59pattern = "";
-for (var i = 0; i < 59; i++) regexp59pattern += "(.)";
-
-function testIndices59(re) {
- // Test $60 .. $99. Captures reach up to 59. Per spec, how to deal
- // with this is implementation-dependent. We interpret $60 as $6
- // followed by "0", $61 as $6, followed by "1" and so on.
- var tail = subject.substr(59);
- for (var i = 60; i < 100; i++) {
- assertEquals(String.fromCharCode(i / 10 + 23) + (i % 10) + tail,
- subject.replace(re, "$" + i));
- }
-}
-
-testIndices59(new RegExp(regexp59pattern));
-testIndices59(new RegExp(regexp59pattern, "g"));
diff --git a/src/3rdparty/v8/test/mjsunit/string-search.js b/src/3rdparty/v8/test/mjsunit/string-search.js
deleted file mode 100644
index 4de17bc..0000000
--- a/src/3rdparty/v8/test/mjsunit/string-search.js
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var str="ABC abc";
-var r = str.search('a');
-assertEquals(r, 4);
-
-// Test for a lot of different string.
-
-var s = "";
-for (var i = 0; i < 100; i++) {
- s += i;
- var r = s.search(s);
- assertEquals(0, r);
-}
-
diff --git a/src/3rdparty/v8/test/mjsunit/string-slices-regexp.js b/src/3rdparty/v8/test/mjsunit/string-slices-regexp.js
deleted file mode 100644
index 98b8ef9..0000000
--- a/src/3rdparty/v8/test/mjsunit/string-slices-regexp.js
+++ /dev/null
@@ -1,76 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var foo = "lsdfj sldkfj sdklfj læsdfjl sdkfjlsdk fjsdl fjsdljskdj flsj flsdkj flskd regexp: /foobar/\nldkfj sdlkfj sdkl";
-for(var i = 0; i < 1000; i++) {
- assertTrue(/^([a-z]+): (.*)/.test(foo.substring(foo.indexOf("regexp:"))));
- assertEquals("regexp", RegExp.$1, "RegExp.$1");
-}
-
-var re = /^(((N({)?)|(R)|(U)|(V)|(B)|(H)|(n((n)|(r)|(v)|(h))?)|(r(r)?)|(v)|(b((n)|(b))?)|(h))|((Y)|(A)|(E)|(o(u)?)|(p(u)?)|(q(u)?)|(s)|(t)|(u)|(w)|(x(u)?)|(y)|(z)|(a((T)|(A)|(L))?)|(c)|(e)|(f(u)?)|(g(u)?)|(i)|(j)|(l)|(m(u)?)))+/;
-var r = new RegExp(re)
-var str = "_Avtnennan gunzvmu pubExnY nEvln vaTxh rmuhguhaTxnY_".slice(1,-1);
-str = str + str;
-assertTrue(r.test(str));
-assertTrue(r.test(str));
-var re = /x/;
-assertEquals("a.yb", "_axyb_".slice(1,-1).replace(re, "."));
-re.compile("y");
-assertEquals("ax.b", "_axyb_".slice(1,-1).replace(re, "."));
-re.compile("(x)");
-assertEquals(["x", "x"], re.exec("_axyb_".slice(1,-1)));
-re.compile("(y)");
-assertEquals(["y", "y"], re.exec("_axyb_".slice(1,-1)));
-
-for(var i = 0; i < 100; i++) {
- var a = "aaaaaaaaaaaaaaaaaaaaaaaabbaacabbabaaaaabbaaaabbac".slice(24,-1);
- var b = "bbaacabbabaaaaabbaaaabba" + a;
- // The first time, the cons string will be flattened and handled by the
- // runtime system.
- assertEquals(["bbaa", "a", "", "a"], /((\3|b)\2(a)){2,}/.exec(b));
- // The second time, the cons string is already flattened and will be
- // handled by generated code.
- assertEquals(["bbaa", "a", "", "a"], /((\3|b)\2(a)){2,}/.exec(b));
- assertEquals(["bbaa", "a", "", "a"], /((\3|b)\2(a)){2,}/.exec(a));
- assertEquals(["bbaa", "a", "", "a"], /((\3|b)\2(a)){2,}/.exec(a));
-}
-
-var c = "ABCDEFGHIJKLMN".slice(2,-2);
-var d = "ABCDEF\u1234GHIJKLMN".slice(2,-2);
-var e = "ABCDEFGHIJKLMN".slice(0,-2);
-assertTrue(/^C.*L$/.test(c));
-assertTrue(/^C.*L$/.test(c));
-assertTrue(/^C.*L$/.test(d));
-assertTrue(/^C.*L$/.test(d));
-assertTrue(/^A\w{10}L$/.test(e));
-assertTrue(/^A\w{10}L$/.test(e));
-
-var e = "qui-opIasd-fghjklzx-cvbn-mqwer-tyuio-pasdf-ghIjkl-zx".slice(6,-6);
-var e_split = e.split("-");
-assertEquals(e_split[0], "Iasd");
-assertEquals(e_split[1], "fghjklzx");
-assertEquals(e_split[6], "ghI");
diff --git a/src/3rdparty/v8/test/mjsunit/string-slices.js b/src/3rdparty/v8/test/mjsunit/string-slices.js
deleted file mode 100755
index 5b1dc36..0000000
--- a/src/3rdparty/v8/test/mjsunit/string-slices.js
+++ /dev/null
@@ -1,225 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-externalize-string --allow-natives-syntax
-
-var s = 'abcdefghijklmn';
-assertEquals(s, s.substr());
-assertEquals(s, s.substr(0));
-assertEquals(s, s.substr('0'));
-assertEquals(s, s.substr(void 0));
-assertEquals(s, s.substr(null));
-assertEquals(s, s.substr(false));
-assertEquals(s, s.substr(0.9));
-assertEquals(s, s.substr({ valueOf: function() { return 0; } }));
-assertEquals(s, s.substr({ toString: function() { return '0'; } }));
-
-var s1 = s.substring(1);
-assertEquals(s1, s.substr(1));
-assertEquals(s1, s.substr('1'));
-assertEquals(s1, s.substr(true));
-assertEquals(s1, s.substr(1.1));
-assertEquals(s1, s.substr({ valueOf: function() { return 1; } }));
-assertEquals(s1, s.substr({ toString: function() { return '1'; } }));
-
-
-assertEquals(s.substring(s.length - 1), s.substr(-1));
-assertEquals(s.substring(s.length - 1), s.substr(-1.2));
-assertEquals(s.substring(s.length - 1), s.substr(-1.7));
-assertEquals(s.substring(s.length - 2), s.substr(-2));
-assertEquals(s.substring(s.length - 2), s.substr(-2.3));
-assertEquals(s.substring(s.length - 2, s.length - 1), s.substr(-2, 1));
-assertEquals(s, s.substr(-100));
-assertEquals('abc', s.substr(-100, 3));
-assertEquals(s1, s.substr(-s.length + 1));
-
-// assertEquals('', s.substr(0, void 0)); // smjs and rhino
-assertEquals('abcdefghijklmn', s.substr(0, void 0)); // kjs and v8
-assertEquals('', s.substr(0, null));
-assertEquals(s, s.substr(0, String(s.length)));
-assertEquals('a', s.substr(0, true));
-
-
-// Test substrings of different lengths and alignments.
-// First ASCII.
-var x = "ASCII";
-for (var i = 0; i < 25; i++) {
- x += (i >> 4).toString(16) + (i & 0x0f).toString(16);
-}
-/x/.exec(x); // Try to force a flatten.
-for (var i = 5; i < 25; i++) {
- for (var j = 0; j < 25; j++) {
- var z = x.substring(i, i+j);
- var w = Math.random() * 42; // Allocate something new in new-space.
- assertEquals(j, z.length);
- for (var k = 0; k < j; k++) {
- assertEquals(x.charAt(i+k), z.charAt(k));
- }
- }
-}
-// Then two-byte strings.
-x = "UC16\u2028"; // Non-ascii char forces two-byte string.
-for (var i = 0; i < 25; i++) {
- x += (i >> 4).toString(16) + (i & 0x0f).toString(16);
-}
-/x/.exec(x); // Try to force a flatten.
-for (var i = 5; i < 25; i++) {
- for (var j = 0; j < 25; j++) {
- var z = x.substring(i, i + j);
- var w = Math.random() * 42; // Allocate something new in new-space.
- assertEquals(j, z.length);
- for (var k = 0; k < j; k++) {
- assertEquals(x.charAt(i+k), z.charAt(k));
- }
- }
-}
-
-// Keep creating strings to to force allocation failure on substring creation.
-var x = "0123456789ABCDEF";
-for (var i = 0; i < 8; i++) x += x;
-var xl = x.length;
-var cache = [];
-for (var i = 0; i < 1000; i++) {
- var z = x.substring(i % xl);
- assertEquals(xl - (i % xl), z.length);
- cache.push(z);
-}
-
-
-// Same with two-byte strings
-var x = "\u2028123456789ABCDEF";
-for (var i = 0; i < 8; i++) x += x;
-var xl = x.length;
-var cache = [];
-for (var i = 0; i < 1000; i++) {
- var z = x.substring(i % xl);
- assertEquals(xl - (i % xl), z.length);
- cache.push(z);
-}
-
-// Substring of substring.
-var cache = [];
-var last = x;
-var offset = 0;
-for (var i = 0; i < 64; i++) {
- var z = last.substring(i);
- last = z;
- cache.push(z);
- offset += i;
-}
-for (var i = 63; i >= 0; i--) {
- var z = cache.pop();
- assertTrue(/\u2028123456789ABCDEF/.test(z));
- assertEquals(xl - offset, z.length);
- assertEquals(x.charAt(i*(i+1)/2), z.charAt(0));
- offset -= i;
-}
-
-// Test charAt for different strings.
-function f(s1, s2, s3, i) {
- assertEquals(String.fromCharCode(97+i%11), s1.charAt(i%11));
- assertEquals(String.fromCharCode(97+i%11), s2.charAt(i%11));
- assertEquals(String.fromCharCode(98+i%11), s3.charAt(i%11));
- assertEquals(String.fromCharCode(101), s3.charAt(3));
-}
-
-flat = "abcdefghijkl12345";
-cons = flat + flat.toUpperCase();
-slice = "abcdefghijklmn12345".slice(1, -1);
-for ( var i = 0; i < 1000; i++) {
- f(flat, cons, slice, i);
-}
-flat = "abcdefghijkl1\u20232345";
-cons = flat + flat.toUpperCase();
-slice = "abcdefghijklmn1\u20232345".slice(1, -1);
-for ( var i = 0; i < 1000; i++) {
- f(flat, cons, slice, i);
-}
-
-// Short substrings.
-flat = "abcdefghijkl12345";
-cons = flat + flat.toUpperCase();
-/x/.exec(cons); // Flatten cons
-slice = "abcdefghijklmn12345".slice(1, -1);
-assertEquals("cdefg", flat.substr(2, 5));
-assertEquals("cdefg", cons.substr(2, 5));
-assertEquals("cdefg", slice.substr(1, 5));
-
-flat = "abc\u1234defghijkl12345";
-cons = flat + flat.toUpperCase();
-/x/.exec(cons); // Flatten cons
-slice = "abc\u1234defghijklmn12345".slice(1, -1);
-assertEquals("c\u1234def", flat.substr(2, 5));
-assertEquals("c\u1234def", cons.substr(2, 5));
-assertEquals("c\u1234def", slice.substr(1, 5));
-
-// Concatenate substrings.
-var ascii = 'abcdefghijklmnop';
-var utf = '\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB';
-assertEquals("klmno", ascii.substring(10,15) + ascii.substring(16));
-assertEquals("\u03B4\u03B7", utf.substring(3,4) + utf.substring(6,7));
-assertEquals("klp", ascii.substring(10,12) + ascii.substring(15,16));
-assertEquals("\u03B1\u03B4\u03B5", utf.substring(0,1) + utf.substring(5,3));
-assertEquals("", ascii.substring(16) + utf.substring(16));
-assertEquals("bcdef\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9",
- ascii.substring(1,6) + utf.substring(3,9));
-assertEquals("\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9abcdefghijklmnop",
- utf.substring(3,9) + ascii);
-assertEquals("\u03B2\u03B3\u03B4\u03B5\u03B4\u03B5\u03B6\u03B7",
- utf.substring(5,1) + utf.substring(3,7));
-
-// Externalizing strings.
-var a = "123456789" + "qwertyuiopasdfghjklzxcvbnm";
-var b = "23456789qwertyuiopasdfghjklzxcvbn"
-assertEquals(a.slice(1,-1), b);
-
-assertTrue(isAsciiString(a));
-externalizeString(a, true);
-assertFalse(isAsciiString(a));
-
-assertEquals(a.slice(1,-1), b);
-assertTrue(/3456789qwe/.test(a));
-assertEquals(5, a.indexOf("678"));
-assertEquals("12345", a.split("6")[0]);
-
-// Create a slice with an external string as parent string.
-var c = a.slice(1,-1);
-
-function test_crankshaft() {
- for (var i = 0; i < 20; i++) {
- assertEquals(b.charAt(i), a.charAt(i + 1));
- assertEquals(b.charAt(i), c.charAt(i));
- assertEquals(b.charAt(4), c.charAt(4));
- assertTrue(/3456789qwe/.test(c));
- assertEquals(4, c.indexOf("678"));
- assertEquals("2345", c.split("6")[0]);
- }
-}
-
-test_crankshaft();
-%OptimizeFunctionOnNextCall(test_crankshaft);
-test_crankshaft(); \ No newline at end of file
diff --git a/src/3rdparty/v8/test/mjsunit/string-split-cache.js b/src/3rdparty/v8/test/mjsunit/string-split-cache.js
deleted file mode 100644
index 37c550f..0000000
--- a/src/3rdparty/v8/test/mjsunit/string-split-cache.js
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-var str = "abcdef";
-
-// Get a prefix of the string into the one-char string cache.
-assertEquals("a", str[0]);
-assertEquals("b", str[1]);
-assertEquals("c", str[2]);
-
-// Splitting by "" calls runtime StringToArray function that uses the
-// cache. So this test hits a case where only a prefix is cached.
-var array = str.split("");
-var expected = ["a", "b", "c", "d", "e", "f"];
-assertArrayEquals(expected, array);
diff --git a/src/3rdparty/v8/test/mjsunit/string-split.js b/src/3rdparty/v8/test/mjsunit/string-split.js
deleted file mode 100644
index 1308244..0000000
--- a/src/3rdparty/v8/test/mjsunit/string-split.js
+++ /dev/null
@@ -1,147 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-expected = ["A", undefined, "B", "bold", "/", "B", "and", undefined, "CODE", "coded", "/", "CODE", ""];
-result = "A<B>bold</B>and<CODE>coded</CODE>".split(/<(\/)?([^<>]+)>/);
-assertArrayEquals(expected, result);
-
-
-assertArrayEquals(["a", "b"], "ab".split(/a*?/));
-
-assertArrayEquals(["", "b"], "ab".split(/a*/));
-
-assertArrayEquals(["a"], "ab".split(/a*?/, 1));
-
-assertArrayEquals([""], "ab".split(/a*/, 1));
-
-assertArrayEquals(["as","fas","fas","f"], "asdfasdfasdf".split("d"));
-
-assertArrayEquals(["as","fas","fas","f"], "asdfasdfasdf".split("d", -1));
-
-assertArrayEquals(["as", "fas"], "asdfasdfasdf".split("d", 2));
-
-assertArrayEquals([], "asdfasdfasdf".split("d", 0));
-
-assertArrayEquals(["as","fas","fas",""], "asdfasdfasd".split("d"));
-
-assertArrayEquals([], "".split(""));
-
-assertArrayEquals([""], "".split("a"));
-
-assertArrayEquals(["a","b"], "axxb".split(/x*/));
-
-assertArrayEquals(["a","b"], "axxb".split(/x+/));
-
-assertArrayEquals(["a","","b"], "axxb".split(/x/));
-
-// This was http://b/issue?id=1151354
-assertArrayEquals(["div", "#id", ".class"], "div#id.class".split(/(?=[#.])/));
-
-
-assertArrayEquals(["div", "#i", "d", ".class"], "div#id.class".split(/(?=[d#.])/));
-
-assertArrayEquals(["a", "b", "c"], "abc".split(/(?=.)/));
-
-assertArrayEquals(["Wenige", "sind", "auserwählt."],
- "Wenige sind auserwählt.".split(" "));
-
-assertArrayEquals([], "Wenige sind auserwählt.".split(" ", 0));
-
-assertArrayEquals(["Wenige"], "Wenige sind auserwählt.".split(" ", 1));
-
-assertArrayEquals(["Wenige", "sind"], "Wenige sind auserwählt.".split(" ", 2));
-
-assertArrayEquals(["Wenige", "sind", "auserwählt."],
- "Wenige sind auserwählt.".split(" ", 3));
-
-assertArrayEquals(["Wenige sind auserw", "hlt."],
- "Wenige sind auserwählt.".split("ä"));
-
-assertArrayEquals(["Wenige sind ", "."],
- "Wenige sind auserwählt.".split("auserwählt"));
-
-/* "ab".split(/((?=.))/)
- *
- * KJS: ,a,,b
- * SM: a,,b,
- * IE: a,b
- * Opera: a,,b
- * V8: a,,b
- *
- * Opera seems to have this right. The others make no sense.
- */
-assertArrayEquals(["a", "", "b"], "ab".split(/((?=.))/));
-
-/* "ab".split(/(?=)/)
- *
- * KJS: a,b
- * SM: ab
- * IE: a,b
- * Opera: a,bb
- * V8: a,b
- */
-assertArrayEquals(["a", "b"], "ab".split(/(?=)/));
-
-
-// For issue http://code.google.com/p/v8/issues/detail?id=924
-// Splitting the empty string is a special case.
-assertEquals([""], ''.split());
-assertEquals([""], ''.split(/./));
-assertEquals([], ''.split(/.?/));
-assertEquals([], ''.split(/.??/));
-assertEquals([], ''.split(/()()/));
-
-
-// Issue http://code.google.com/p/v8/issues/detail?id=929
-// (Splitting with empty separator and a limit.)
-
-function numberObj(num) {
- return {valueOf: function() { return num; }};
-}
-
-assertEquals([], "abc".split("", 0));
-assertEquals([], "abc".split("", numberObj(0)));
-assertEquals(["a"], "abc".split("", 1));
-assertEquals(["a"], "abc".split("", numberObj(1)));
-assertEquals(["a", "b"], "abc".split("", 2));
-assertEquals(["a", "b"], "abc".split("", numberObj(2)));
-assertEquals(["a", "b", "c"], "abc".split("", 3));
-assertEquals(["a", "b", "c"], "abc".split("", numberObj(3)));
-assertEquals(["a", "b", "c"], "abc".split("", 4));
-assertEquals(["a", "b", "c"], "abc".split("", numberObj(4)));
-
-
-var all_ascii_codes = [];
-for (var i = 0; i < 128; i++) all_ascii_codes[i] = i;
-var all_ascii_string = String.fromCharCode.apply(String, all_ascii_codes);
-
-var split_chars = all_ascii_string.split("");
-assertEquals(128, split_chars.length);
-for (var i = 0; i < 128; i++) {
- assertEquals(1, split_chars[i].length);
- assertEquals(i, split_chars[i].charCodeAt(0));
-}
diff --git a/src/3rdparty/v8/test/mjsunit/substr.js b/src/3rdparty/v8/test/mjsunit/substr.js
deleted file mode 100755
index cab8b1b..0000000
--- a/src/3rdparty/v8/test/mjsunit/substr.js
+++ /dev/null
@@ -1,154 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var s = 'abcdefghijklmn';
-assertEquals(s, s.substr());
-assertEquals(s, s.substr(0));
-assertEquals(s, s.substr('0'));
-assertEquals(s, s.substr(void 0));
-assertEquals(s, s.substr(null));
-assertEquals(s, s.substr(false));
-assertEquals(s, s.substr(0.9));
-assertEquals(s, s.substr({ valueOf: function() { return 0; } }));
-assertEquals(s, s.substr({ toString: function() { return '0'; } }));
-
-var s1 = s.substring(1);
-assertEquals(s1, s.substr(1));
-assertEquals(s1, s.substr('1'));
-assertEquals(s1, s.substr(true));
-assertEquals(s1, s.substr(1.1));
-assertEquals(s1, s.substr({ valueOf: function() { return 1; } }));
-assertEquals(s1, s.substr({ toString: function() { return '1'; } }));
-
-
-assertEquals(s.substring(s.length - 1), s.substr(-1));
-assertEquals(s.substring(s.length - 1), s.substr(-1.2));
-assertEquals(s.substring(s.length - 1), s.substr(-1.7));
-assertEquals(s.substring(s.length - 2), s.substr(-2));
-assertEquals(s.substring(s.length - 2), s.substr(-2.3));
-assertEquals(s.substring(s.length - 2, s.length - 1), s.substr(-2, 1));
-assertEquals(s, s.substr(-100));
-assertEquals('abc', s.substr(-100, 3));
-assertEquals(s1, s.substr(-s.length + 1));
-
-// assertEquals('', s.substr(0, void 0)); // smjs and rhino
-assertEquals('abcdefghijklmn', s.substr(0, void 0)); // kjs and v8
-assertEquals('', s.substr(0, null));
-assertEquals(s, s.substr(0, String(s.length)));
-assertEquals('a', s.substr(0, true));
-
-
-// Test substrings of different lengths and alignments.
-// First ASCII.
-var x = "ASCII";
-for (var i = 0; i < 25; i++) {
- x += (i >> 4).toString(16) + (i & 0x0f).toString(16);
-}
-/x/.exec(x); // Try to force a flatten.
-for (var i = 5; i < 25; i++) {
- for (var j = 0; j < 25; j++) {
- var z = x.substring(i, i+j);
- var w = Math.random() * 42; // Allocate something new in new-space.
- assertEquals(j, z.length);
- for (var k = 0; k < j; k++) {
- assertEquals(x.charAt(i+k), z.charAt(k));
- }
- }
-}
-
-
-// Then two-byte strings.
-x = "UC16\u2028"; // Non-ascii char forces two-byte string.
-for (var i = 0; i < 25; i++) {
- x += (i >> 4).toString(16) + (i & 0x0f).toString(16);
-}
-/x/.exec(x); // Try to force a flatten.
-for (var i = 5; i < 25; i++) {
- for (var j = 0; j < 25; j++) {
- var z = x.substring(i, i + j);
- var w = Math.random() * 42; // Allocate something new in new-space.
- assertEquals(j, z.length);
- for (var k = 0; k < j; k++) {
- assertEquals(x.charAt(i+k), z.charAt(k));
- }
- }
-}
-
-
-// Keep creating strings to to force allocation failure on substring creation.
-var x = "0123456789ABCDEF";
-x += x; // 2^5
-x += x;
-x += x;
-x += x;
-x += x;
-x += x; // 2^10
-x += x;
-x += x;
-var xl = x.length;
-var cache = [];
-for (var i = 0; i < 10000; i++) {
- var z = x.substring(i % xl);
- assertEquals(xl - (i % xl), z.length);
- cache.push(z);
-}
-
-
-// Same with two-byte strings
-var x = "\u2028123456789ABCDEF";
-x += x; // 2^5
-x += x;
-x += x;
-x += x;
-x += x;
-x += x; // 2^10
-x += x;
-x += x;
-var xl = x.length;
-var cache = [];
-for (var i = 0; i < 10000; i++) {
- var z = x.substring(i % xl);
- assertEquals(xl - (i % xl), z.length);
- cache.push(z);
-}
-
-// Substring of substring.
-var cache = [];
-var last = x;
-var offset = 0;
-for (var i = 0; i < 64; i++) {
- var z = last.substring(i);
- last = z;
- cache.push(z);
- offset += i;
-}
-for (var i = 63; i >= 0; i--) {
- var z = cache.pop();
- assertTrue(/\u2028123456789ABCDEF/.test(z));
- assertEquals(xl - offset, z.length);
- offset -= i;
-}
diff --git a/src/3rdparty/v8/test/mjsunit/sum-0-plus-undefined-is-NaN.js b/src/3rdparty/v8/test/mjsunit/sum-0-plus-undefined-is-NaN.js
deleted file mode 100644
index 5d662d1..0000000
--- a/src/3rdparty/v8/test/mjsunit/sum-0-plus-undefined-is-NaN.js
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-/**
- * @fileoverview Test addition of 0 and undefined.
- */
-
-function sum(a, b) { return a + b; }
-
-function test(x, y, expectNaN) {
- for (var i = 0; i < 5; i++) {
- assertEquals(expectNaN, isNaN(sum(x, y)));
- }
- %OptimizeFunctionOnNextCall(sum);
- assertEquals(expectNaN, isNaN(sum(x, y)));
-}
-
-test(0, 1, false);
-test(0, undefined, true);
diff --git a/src/3rdparty/v8/test/mjsunit/switch.js b/src/3rdparty/v8/test/mjsunit/switch.js
deleted file mode 100644
index 6a61fe5..0000000
--- a/src/3rdparty/v8/test/mjsunit/switch.js
+++ /dev/null
@@ -1,462 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-function f0() {
- switch (0) {
- // switch deliberately left empty
- }
-}
-
-f0(); // no errors
-
-function f1(x) {
- switch (x) {
- default: return "f1";
- }
- return "foo";
-}
-
-assertEquals("f1", f1(0), "default-switch.0");
-assertEquals("f1", f1(1), "default-switch.1");
-
-function f2(x) {
- var r;
- switch (x) {
- case 0:
- r = "zero";
- break;
- case 1:
- r = "one";
- break;
- case 2:
- r = "two";
- break;
- case 3:
- r = "three";
- break;
- default:
- r = "default";
- }
- return r;
-}
-
-assertEquals("zero", f2(0), "0-1-switch.0");
-assertEquals("one", f2(1), "0-1-switch.1");
-assertEquals("default", f2(7), "0-1-switch.2");
-assertEquals("default", f2(-1), "0-1-switch.-1");
-assertEquals("default", f2(NaN), "0-1-switch.NaN");
-assertEquals("default", f2(Math.pow(2,34)), "0-1-switch.largeNum");
-assertEquals("default", f2("0"), "0-1-switch.string");
-assertEquals("default", f2(false), "0-1-switch.bool");
-assertEquals("default", f2(null), "0-1-switch.null");
-assertEquals("default", f2(undefined), "0-1-switch.undef");
-assertEquals("default", f2(new Number(2)), "0-1-switch.undef");
-assertEquals("default", f2({valueOf: function(){return 2; }}), "0-1-switch.obj");
-
-
-function f3(x, c) {
- var r = 0;
- switch (x) {
- default:
- r = "default";
- break;
- case c:
- r = "value is c = " + c;
- break;
- case 2:
- r = "two";
- break;
- case -5:
- r = "minus 5";
- break;
- case 9:
- r = "nine";
- break;
- }
- return r;
-}
-
-assertEquals("two", f3(2,0), "value-switch.2-0");
-assertEquals("minus 5", f3(-5,0), "value-switch.-5-0");
-assertEquals("nine", f3(9,0), "value-switch.9-0");
-assertEquals("value is c = 0", f3(0,0), "value-switch.0-0");
-assertEquals("value is c = 2", f3(2,2), "value-switch.2-2");
-assertEquals("default", f3(7,0), "value-switch.7-0");
-
-
-function f4(x) {
- switch(x) {
- case 0:
- x++;
- default:
- x++;
- case 2:
- x++;
- }
- return x;
-}
-
-
-assertEquals(3, f4(0), "fallthrough-switch.0");
-assertEquals(3, f4(1), "fallthrough-switch.1");
-assertEquals(3, f4(2), "fallthrough-switch.2");
-assertEquals(5, f4(3), "fallthrough-switch.3");
-
-function f4_string(tag, x) {
- switch(tag) {
- case 'zero':
- x++;
- case 'two':
- x++;
- }
- return x;
-}
-
-// Symbols
-assertEquals(2, f4_string('zero', 0), "fallthrough-string-switch.0");
-assertEquals(1, f4_string('one', 1), "fallthrough-string-switch.1");
-assertEquals(3, f4_string('two', 2), "fallthrough-string-switch.2");
-
-// Strings
-assertEquals(2, f4_string('_zero'.slice(1), 0), "fallthrough-string-switch.3");
-assertEquals(1, f4_string('_one'.slice(1), 1), "fallthrough-string-switch.4");
-assertEquals(3, f4_string('_two'.slice(1), 2), "fallthrough-string-switch.5");
-
-// Oddball
-assertEquals(3, f4_string(null, 3), "fallthrough-string-switch.6");
-
-// Test for regression
-function regress_string(value) {
- var json = 1;
- switch (typeof value) {
- case 'object':
- break;
-
- default:
-
- }
- return json;
-};
-assertEquals(1, regress_string('object'), 'regression-string');
-
-function f5(x) {
- switch(x) {
- case -2: return true;
- case -1: return false;
- case 0: return true;
- case 2: return false;
- default: return 42;
- }
-}
-
-assertTrue(f5(-2), "negcase.-2");
-assertFalse(f5(-1), "negcase.-1");
-assertTrue(f5(0), "negcase.-0");
-assertEquals(42, f5(1), "negcase.1");
-assertFalse(f5(2), "negcase.2");
-
-function f6(N) {
- // long enough case that code buffer grows during code-generation
- var res = 0;
- for(var i = 0; i < N; i++) {
- switch(i & 0x3f) {
- case 0: res += 0; break;
- case 1: res += 1; break;
- case 2: res += 2; break;
- case 3: res += 3; break;
- case 4: res += 4; break;
- case 5: res += 5; break;
- case 6: res += 6; break;
- case 7: res += 7; break;
- case 8: res += 8; break;
- case 9: res += 9; break;
- case 10: res += 10; break;
- case 11: res += 11; break;
- case 12: res += 12; break;
- case 13: res += 13; break;
- case 14: res += 14; break;
- case 15: res += 15; break;
- case 16: res += 16; break;
- case 17: res += 17; break;
- case 18: res += 18; break;
- case 19: res += 19; break;
- case 20: res += 20; break;
- case 21: res += 21; break;
- case 22: res += 22; break;
- case 23: res += 23; break;
- case 24: res += 24; break;
- case 25: res += 25; break;
- case 26: res += 26; break;
- case 27: res += 27; break;
- case 28: res += 28; break;
- case 29: res += 29; break;
- case 30: res += 30; break;
- case 31: res += 31; break;
- case 32: res += 32; break;
- case 33: res += 33; break;
- case 34: res += 34; break;
- case 35: res += 35; break;
- case 36: res += 36; break;
- case 37: res += 37; break;
- case 38: res += 38; break;
- case 39: res += 39; break;
- case 40: res += 40; break;
- case 41: res += 41; break;
- case 42: res += 42; break;
- case 43: res += 43; break;
- case 44: res += 44; break;
- case 45: res += 45; break;
- case 46: res += 46; break;
- case 47: res += 47; break;
- case 48: res += 48; break;
- case 49: res += 49; break;
- case 50: res += 50; break;
- case 51: res += 51; break;
- case 52: res += 52; break;
- case 53: res += 53; break;
- case 54: res += 54; break;
- case 55: res += 55; break;
- case 56: res += 56; break;
- case 57: res += 57; break;
- case 58: res += 58; break;
- case 59: res += 59; break;
- case 60: res += 60; break;
- case 61: res += 61; break;
- case 62: res += 62; break;
- case 63: res += 63; break;
- case 64: break;
- default: break;
- }
- }
- return res;
-}
-
-assertEquals(190, f6(20), "largeSwitch.20");
-assertEquals(2016, f6(64), "largeSwitch.64");
-assertEquals(4032, f6(128), "largeSwitch.128");
-assertEquals(4222, f6(148), "largeSwitch.148");
-
-
-function f7(value) {
- switch (value) {
- case 0: return "0";
- case -0: return "-0";
- case 1: case 2: case 3: case 4: // Dummy fillers.
- }
- switch (value) {
- case 0x3fffffff: return "MaxSmi";
- case 0x3ffffffe:
- case 0x3ffffffd:
- case 0x3ffffffc:
- case 0x3ffffffb:
- case 0x3ffffffa: // Dummy fillers
- }
- switch (value) {
- case -0x40000000: return "MinSmi";
- case -0x3fffffff:
- case -0x3ffffffe:
- case -0x3ffffffd:
- case -0x3ffffffc:
- case -0x3ffffffb: // Dummy fillers
- }
- switch (value) {
- case 10: return "A";
- case 11:
- case 12:
- case 13:
- case 14:
- case 15: // Dummy fillers
- }
- return "default";
-}
-
-
-assertEquals("default", f7(0.1), "0-1-switch.double-0.1");
-assertEquals("0", f7(-0), "0-1-switch.double-neg0");
-assertEquals("MaxSmi", f7((1<<30)-1), "0-1-switch.maxsmi");
-assertEquals("MinSmi", f7(-(1<<30)), "0-1-switch.minsmi");
-assertEquals("default", f7(1<<30), "0-1-switch.maxsmi++");
-assertEquals("default", f7(-(1<<30)-1), "0-1-switch.minsmi--");
-assertEquals("A", f7((170/16)-(170%16/16)), "0-1-switch.heapnum");
-
-
-function makeVeryLong(length) {
- var res = "(function () {\n" +
- " var res = 0;\n" +
- " for (var i = 0; i <= " + length + "; i++) {\n" +
- " switch(i) {\n";
- for (var i = 0; i < length; i++) {
- res += " case " + i + ": res += 2; break;\n";
- }
- res += " default: res += 1;\n" +
- " }\n" +
- " }\n" +
- " return res;\n" +
- "})";
- return eval(res);
-}
-var verylong_size = 1000;
-var verylong = makeVeryLong(verylong_size);
-
-assertEquals(verylong_size * 2 + 1, verylong());
-
-//
-// Test suite below aims to cover all possible combinations of following:
-//
-// clauses | tags | type feedback | optimization
-// =========================================================
-// strings | symbol | all | on
-// smis | string | target | off
-// mixed | oddball | non-target |
-// | smis | none |
-// | heapnum | |
-// =========================================================
-
-// Function-with-switch generator
-var test_id = 0,
- clause_values = {
- string: ['abc', 'def', 'ghi', 'jkl'],
- smi: [1, 2, 3, 4],
- mixed: ['abc', 1, 'def', 2, 'ghi', 3, 'jkl', 4]
- };
-
-function switch_gen(clause_type, feedback, optimize) {
- var values = clause_values[clause_type];
-
- function opt(fn) {
- if (feedback === 'all') {
- values.forEach(fn);
- } else if (Array.isArray(feedback)) {
- // Non-target
- values.filter(function(v) {
- return feedback.indexOf(v) === -1;
- }).forEach(fn);
- } else if (feedback !== undefined) {
- // Target
- fn(feedback);
- } else {
- // None
- }
-
- if (optimize) %OptimizeFunctionOnNextCall(fn);
-
- return fn;
- };
-
- return opt(new Function(
- 'tag',
- '"' + (test_id++) + '";' +
- 'switch(tag) {' +
- values.map(function(value) {
- return 'case ' + JSON.stringify(value) + ': return' +
- JSON.stringify('ok-' + value);
- }).join(';') +
- '}'
- ));
-};
-
-function test_switch(clause_type, test_type, feedback, optimize) {
- var pairs = [],
- fn = switch_gen(clause_type, feedback, optimize);
-
- if (Array.isArray(test_type)) {
- pairs = test_type.map(function(v) {
- return {
- value: v,
- expected: 'ok-' + v
- };
- });
- } else if (test_type === 'symbols') {
- pairs = clause_values.string.map(function(v) {
- return {
- value: v,
- expected: clause_type !== 'smi' ? 'ok-' + v : undefined
- };
- });
- } else if (test_type === 'strings') {
- pairs = clause_values.string.map(function(v) {
- return {
- value: ('%%' + v).slice(2),
- expected: clause_type !== 'smi' ? 'ok-' + v : undefined
- };
- });
- } else if (test_type === 'oddball') {
- pairs = [
- { value: null, expected: undefined },
- { value: NaN, expected: undefined },
- { value: undefined, expected: undefined }
- ];
- } else if (test_type === 'smi') {
- pairs = clause_values.smi.map(function(v) {
- return {
- value: v,
- expected: clause_type !== 'string' ? 'ok-' + v : undefined
- };
- });
- } else if (test_type === 'heapnum') {
- pairs = clause_values.smi.map(function(v) {
- return {
- value: ((v * 17)/16) - ((v*17)%16/16),
- expected: clause_type !== 'string' ? 'ok-' + v : undefined
- };
- });
- }
-
- pairs.forEach(function(pair) {
- assertEquals(fn(pair.value), pair.expected);
- });
-};
-
-// test_switch(clause_type, test_type, feedback, optimize);
-
-function test_switches(opt) {
- var test_types = ['symbols', 'strings', 'oddball', 'smi', 'heapnum'];
-
- function test(clause_type) {
- var values = clause_values[clause_type];
-
- test_types.forEach(function(test_type) {
- test_switch(clause_type, test_type, 'all', opt);
- test_switch(clause_type, test_type, 'none', opt);
-
- // Targeting specific clause feedback
- values.forEach(function(value) {
- test_switch(clause_type, test_type, [value], value, opt);
- test_switch(clause_type, test_type, value, value, opt);
- });
- });
- };
-
- test('string');
- test('smi');
- test('mixed');
-};
-
-test_switches(false);
-test_switches(true);
diff --git a/src/3rdparty/v8/test/mjsunit/testcfg.py b/src/3rdparty/v8/test/mjsunit/testcfg.py
deleted file mode 100644
index 00d4500..0000000
--- a/src/3rdparty/v8/test/mjsunit/testcfg.py
+++ /dev/null
@@ -1,228 +0,0 @@
-# Copyright 2008 the V8 project authors. All rights reserved.
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following
-# disclaimer in the documentation and/or other materials provided
-# with the distribution.
-# * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived
-# from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-import os
-import re
-
-from testrunner.local import testsuite
-from testrunner.objects import testcase
-
-FLAGS_PATTERN = re.compile(r"//\s+Flags:(.*)")
-FILES_PATTERN = re.compile(r"//\s+Files:(.*)")
-SELF_SCRIPT_PATTERN = re.compile(r"//\s+Env: TEST_FILE_NAME")
-
-
-class MjsunitTestSuite(testsuite.TestSuite):
-
- def __init__(self, name, root):
- super(MjsunitTestSuite, self).__init__(name, root)
-
- def ListTests(self, context):
- tests = []
- for dirname, dirs, files in os.walk(self.root):
- for dotted in [x for x in dirs if x.startswith('.')]:
- dirs.remove(dotted)
- dirs.sort()
- files.sort()
- for filename in files:
- if filename.endswith(".js") and filename != "mjsunit.js":
- testname = join(dirname[len(self.root) + 1:], filename[:-3])
- test = testcase.TestCase(self, testname)
- tests.append(test)
- return tests
-
- def GetFlagsForTestCase(self, testcase, context):
- source = self.GetSourceForTest(testcase)
- flags = [] + context.mode_flags
- flags_match = re.findall(FLAGS_PATTERN, source)
- for match in flags_match:
- flags += match.strip().split()
-
- files_list = [] # List of file names to append to command arguments.
- files_match = FILES_PATTERN.search(source);
- # Accept several lines of 'Files:'.
- while True:
- if files_match:
- files_list += files_match.group(1).strip().split()
- files_match = FILES_PATTERN.search(source, files_match.end())
- else:
- break
- files = [ os.path.normpath(os.path.join(self.root, '..', '..', f))
- for f in files_list ]
- testfilename = os.path.join(self.root, testcase.path + self.suffix())
- if SELF_SCRIPT_PATTERN.search(source):
- env = ["-e", "TEST_FILE_NAME=\"%s\"" % testfilename.replace("\\", "\\\\")]
- files = env + files
- files.append(os.path.join(self.root, "mjsunit.js"))
- files.append(testfilename)
-
- flags += files
- if context.isolates:
- flags.append("--isolate")
- flags += files
-
- return testcase.flags + flags
-
- def GetSourceForTest(self, testcase):
- filename = os.path.join(self.root, testcase.path + self.suffix())
- with open(filename) as f:
- return f.read()
-
-
-def GetSuite(name, root):
- return MjsunitTestSuite(name, root)
-
-
-# Deprecated definitions below.
-# TODO(jkummerow): Remove when SCons is no longer supported.
-
-
-from os.path import dirname, exists, join, normpath
-import tempfile
-import test
-
-
-class MjsunitTestCase(test.TestCase):
-
- def __init__(self, path, file, mode, context, config, isolates):
- super(MjsunitTestCase, self).__init__(context, path, mode)
- self.file = file
- self.config = config
- self.self_script = False
- self.isolates = isolates
-
- def GetLabel(self):
- return "%s %s" % (self.mode, self.GetName())
-
- def GetName(self):
- return self.path[-1] + ["", "-isolates"][self.isolates]
-
- def TestsIsolates(self):
- return self.isolates
-
- def GetVmCommand(self, source):
- result = self.config.context.GetVmCommand(self, self.mode)
- flags_match = re.findall(FLAGS_PATTERN, source);
- for match in flags_match:
- result += match.strip().split()
- return result
-
- def GetVmArguments(self, source):
- result = []
- additional_files = []
- files_match = FILES_PATTERN.search(source);
- # Accept several lines of 'Files:'
- while True:
- if files_match:
- additional_files += files_match.group(1).strip().split()
- files_match = FILES_PATTERN.search(source, files_match.end())
- else:
- break
- for a_file in additional_files:
- result.append(join(dirname(self.config.root), '..', a_file))
- framework = join(dirname(self.config.root), 'mjsunit', 'mjsunit.js')
- if SELF_SCRIPT_PATTERN.search(source):
- result.append(self.CreateSelfScript())
- result += [framework, self.file]
- return result
-
- def GetCommand(self):
- source = open(self.file).read()
- result = self.GetVmCommand(source)
- result += self.GetVmArguments(source)
- if self.isolates:
- result.append("--isolate")
- result += self.GetVmArguments(source)
- return result
-
- def GetSource(self):
- return open(self.file).read()
-
- def CreateSelfScript(self):
- (fd_self_script, self_script) = tempfile.mkstemp(suffix=".js")
- def MakeJsConst(name, value):
- return "var %(name)s=\'%(value)s\';\n" % \
- {'name': name, \
- 'value': value.replace('\\', '\\\\').replace('\'', '\\\'') }
- try:
- os.write(fd_self_script, MakeJsConst('TEST_FILE_NAME', self.file))
- except IOError, e:
- test.PrintError("write() " + str(e))
- os.close(fd_self_script)
- self.self_script = self_script
- return self_script
-
- def AfterRun(self, result):
- if self.self_script and (not result or (not result.HasPreciousOutput())):
- test.CheckedUnlink(self.self_script)
-
-class MjsunitTestConfiguration(test.TestConfiguration):
-
- def __init__(self, context, root):
- super(MjsunitTestConfiguration, self).__init__(context, root)
-
- def Ls(self, path):
- def SelectTest(name):
- return name.endswith('.js') and name != 'mjsunit.js'
- return [f[:-3] for f in os.listdir(path) if SelectTest(f)]
-
- def ListTests(self, current_path, path, mode, variant_flags):
- mjsunit = [current_path + [t] for t in self.Ls(self.root)]
- regress = [current_path + ['regress', t] for t in self.Ls(join(self.root, 'regress'))]
- bugs = [current_path + ['bugs', t] for t in self.Ls(join(self.root, 'bugs'))]
- third_party = [current_path + ['third_party', t] for t in self.Ls(join(self.root, 'third_party'))]
- tools = [current_path + ['tools', t] for t in self.Ls(join(self.root, 'tools'))]
- compiler = [current_path + ['compiler', t] for t in self.Ls(join(self.root, 'compiler'))]
- harmony = [current_path + ['harmony', t] for t in self.Ls(join(self.root, 'harmony'))]
- mjsunit.sort()
- regress.sort()
- bugs.sort()
- third_party.sort()
- tools.sort()
- compiler.sort()
- harmony.sort()
- all_tests = mjsunit + regress + bugs + third_party + tools + compiler + harmony
- result = []
- for test in all_tests:
- if self.Contains(path, test):
- file_path = join(self.root, reduce(join, test[1:], "") + ".js")
- result.append(MjsunitTestCase(test, file_path, mode, self.context, self, False))
- result.append(MjsunitTestCase(test, file_path, mode, self.context, self, True))
- return result
-
- def GetBuildRequirements(self):
- return ['d8']
-
- def GetTestStatus(self, sections, defs):
- status_file = join(self.root, 'mjsunit.status')
- if exists(status_file):
- test.ReadConfigurationInto(status_file, sections, defs)
-
-
-
-def GetConfiguration(context, root):
- return MjsunitTestConfiguration(context, root)
diff --git a/src/3rdparty/v8/test/mjsunit/third_party/array-isarray.js b/src/3rdparty/v8/test/mjsunit/third_party/array-isarray.js
deleted file mode 100644
index 0fc42a3..0000000
--- a/src/3rdparty/v8/test/mjsunit/third_party/array-isarray.js
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright (c) 2009 Apple Computer, Inc. All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions
-// are met:
-//
-// 1. Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-//
-// 3. Neither the name of the copyright holder(s) nor the names of any
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
-// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
-// OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Based on LayoutTests/fast/js/resources/Array-isArray.js
-
-assertTrue(Array.isArray([]));
-assertTrue(Array.isArray(new Array));
-assertTrue(Array.isArray(Array()));
-assertTrue(Array.isArray('abc'.match(/(a)*/g)));
-assertFalse((function(){ return Array.isArray(arguments); })());
-assertFalse(Array.isArray());
-assertFalse(Array.isArray(null));
-assertFalse(Array.isArray(undefined));
-assertFalse(Array.isArray(true));
-assertFalse(Array.isArray(false));
-assertFalse(Array.isArray('a string'));
-assertFalse(Array.isArray({}));
-assertFalse(Array.isArray({length: 5}));
-assertFalse(Array.isArray({__proto__: Array.prototype, length:1, 0:1, 1:2}));
-
diff --git a/src/3rdparty/v8/test/mjsunit/third_party/array-splice-webkit.js b/src/3rdparty/v8/test/mjsunit/third_party/array-splice-webkit.js
deleted file mode 100644
index 974ac55..0000000
--- a/src/3rdparty/v8/test/mjsunit/third_party/array-splice-webkit.js
+++ /dev/null
@@ -1,62 +0,0 @@
-// Copyright (c) 2006 Apple Computer, Inc. All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions
-// are met:
-//
-// 1. Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-//
-// 3. Neither the name of the copyright holder(s) nor the names of any
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
-// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
-// OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Simple splice tests based on webkit layout tests.
-var arr = ['a','b','c','d'];
-assertArrayEquals(['a','b','c','d'], arr);
-assertArrayEquals(['c','d'], arr.splice(2));
-assertArrayEquals(['a','b'], arr);
-assertArrayEquals(['a','b'], arr.splice(0));
-assertArrayEquals([], arr)
-
-arr = ['a','b','c','d'];
-assertEquals([], arr.splice())
-assertArrayEquals(['a','b','c','d'], arr);
-assertArrayEquals(['a','b','c','d'], arr.splice(undefined))
-assertArrayEquals([], arr);
-
-arr = ['a','b','c','d'];
-assertArrayEquals(['a','b','c','d'], arr.splice(null))
-assertArrayEquals([], arr);
-
-arr = ['a','b','c','d'];
-assertArrayEquals([], arr.splice(100))
-assertArrayEquals(['a','b','c','d'], arr);
-assertArrayEquals(['d'], arr.splice(-1))
-assertArrayEquals(['a','b','c'], arr);
-
-assertArrayEquals([], arr.splice(2, undefined))
-assertArrayEquals([], arr.splice(2, null))
-assertArrayEquals([], arr.splice(2, -1))
-assertArrayEquals([], arr.splice(2, 0))
-assertArrayEquals(['a','b','c'], arr);
-assertArrayEquals(['c'], arr.splice(2, 100))
-assertArrayEquals(['a','b'], arr);
diff --git a/src/3rdparty/v8/test/mjsunit/third_party/object-keys.js b/src/3rdparty/v8/test/mjsunit/third_party/object-keys.js
deleted file mode 100644
index d09265c..0000000
--- a/src/3rdparty/v8/test/mjsunit/third_party/object-keys.js
+++ /dev/null
@@ -1,68 +0,0 @@
-// Copyright (c) 2006 Apple Computer, Inc. All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions
-// are met:
-//
-// 1. Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-//
-// 3. Neither the name of the copyright holder(s) nor the names of any
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
-// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
-// OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Based on LayoutTests/fast/js/Object-keys.html
-
-assertThrows(function () { Object.keys(2) }, TypeError);
-assertThrows(function () { Object.keys("foo") }, TypeError);
-assertThrows(function () { Object.keys(null) }, TypeError);
-assertThrows(function () { Object.keys(undefined) }, TypeError);
-
-assertEquals(Object.keys({}), []);
-assertEquals(Object.keys({a:null}), ['a']);
-assertEquals(Object.keys({a:null, b:null}), ['a', 'b']);
-assertEquals(Object.keys({b:null, a:null}), ['b', 'a']);
-assertEquals(Object.keys([]), []);
-assertEquals(Object.keys([null]), ['0']);
-assertEquals(Object.keys([null,null]), ['0', '1']);
-assertEquals(Object.keys([null,null,,,,null]), ['0', '1', '5']);
-assertEquals(Object.keys({__proto__:{a:null}}), []);
-assertEquals(Object.keys({__proto__:[1,2,3]}), []);
-var x = [];
-x.__proto__ = [1, 2, 3];
-assertEquals(Object.keys(x), []);
-assertEquals(Object.keys(function () {}), []);
-
-assertEquals('string', typeof(Object.keys([1])[0]));
-
-function argsTest(a, b, c) {
- assertEquals(['0', '1', '2'], Object.keys(arguments));
-}
-
-argsTest(1, 2, 3);
-
-var literal = {a: 1, b: 2, c: 3};
-var keysBefore = Object.keys(literal);
-assertEquals(['a', 'b', 'c'], keysBefore);
-keysBefore[0] = 'x';
-var keysAfter = Object.keys(literal);
-assertEquals(['a', 'b', 'c'], keysAfter);
-assertEquals(['x', 'b', 'c'], keysBefore);
diff --git a/src/3rdparty/v8/test/mjsunit/third_party/regexp-pcre.js b/src/3rdparty/v8/test/mjsunit/third_party/regexp-pcre.js
deleted file mode 100644
index c049fb4..0000000
--- a/src/3rdparty/v8/test/mjsunit/third_party/regexp-pcre.js
+++ /dev/null
@@ -1,6603 +0,0 @@
-// Autogenerated from the PCRE test suite Mon Feb 2 15:14:04 CET 2009
-
-// Note that some regexps in the PCRE test suite use features not present
-// in JavaScript. These don't work in JS, but they fail to work in a
-// predictable way, and the expected results reflect this.
-
-// PCRE comes with the following license
-
-// PCRE LICENCE
-// ------------
-//
-// PCRE is a library of functions to support regular expressions whose syntax
-// and semantics are as close as possible to those of the Perl 5 language.
-//
-// Release 7 of PCRE is distributed under the terms of the "BSD" licence, as
-// specified below. The documentation for PCRE, supplied in the "doc"
-// directory, is distributed under the same terms as the software itself.
-//
-// The basic library functions are written in C and are freestanding. Also
-// included in the distribution is a set of C++ wrapper functions.
-//
-//
-// THE BASIC LIBRARY FUNCTIONS
-// ---------------------------
-//
-// Written by: Philip Hazel
-// Email local part: ph10
-// Email domain: cam.ac.uk
-//
-// University of Cambridge Computing Service,
-// Cambridge, England.
-//
-// Copyright (c) 1997-2007 University of Cambridge
-// All rights reserved.
-//
-//
-// THE C++ WRAPPER FUNCTIONS
-// -------------------------
-//
-// Contributed by: Google Inc.
-//
-// Copyright (c) 2007, Google Inc.
-// All rights reserved.
-//
-//
-// THE "BSD" LICENCE
-// -----------------
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// * Redistributions of source code must retain the above copyright notice,
-// this list of conditions and the following disclaimer.
-//
-// * Redistributions in binary form must reproduce the above copyright
-// notice, this list of conditions and the following disclaimer in the
-// documentation and/or other materials provided with the distribution.
-//
-// * Neither the name of the University of Cambridge nor the name of Google
-// Inc. nor the names of their contributors may be used to endorse or
-// promote products derived from this software without specific prior
-// written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-// POSSIBILITY OF SUCH DAMAGE.
-//
-// End
-
-var res = new Array();
-res[0] = /(a)b|/i;
-res[1] = /abc/i;
-res[2] = /^abc/i;
-res[3] = /a+bc/i;
-res[4] = /a*bc/i;
-res[5] = /a{3}bc/i;
-res[6] = /(abc|a+z)/i;
-res[7] = /^abc$/i;
-res[8] = /ab\idef/;
-res[9] = /.*b/i;
-res[10] = /.*?b/i;
-res[11] = /cat|dog|elephant/i;
-res[12] = /cat|dog|elephant/i;
-res[13] = /cat|dog|elephant/i;
-res[14] = /a|[bcd]/i;
-res[15] = /(a|[^\dZ])/i;
-res[16] = /(a|b)*[\s]/i;
-res[17] = /(ab\2)/;
-res[18] = /(a)(b)(c)\2/i;
-res[19] = /(a)bc|(a)(b)\2/i;
-res[20] = /abc$/i;
-res[21] = /(a)(b)(c)(d)(e)\6/;
-res[22] = /the quick brown fox/i;
-res[23] = /^abc|def/i;
-res[24] = /.*((abc)$|(def))/i;
-res[25] = /abc/i;
-res[26] = /^abc|def/i;
-res[27] = /.*((abc)$|(def))/i;
-res[28] = /the quick brown fox/i;
-res[29] = /the quick brown fox/i;
-res[30] = /abc.def/i;
-res[31] = /abc$/i;
-res[32] = /(abc)\2/i;
-res[33] = /(abc\1)/i;
-res[34] = /a[]b/;
-res[35] = /[^aeiou ]{3,}/i;
-res[36] = /<.*>/i;
-res[37] = /<.*?>/i;
-res[38] = /[abcd]/i;
-res[39] = /(^a|^b)/im;
-res[40] = /a$/i;
-res[41] = /a$/im;
-res[42] = /\Aabc/im;
-res[43] = /^abc/im;
-res[44] = /(?!alphabet)[ab]/i;
-res[45] = /The next three are in testinput2 because they have variable length branches/;
-res[46] = /This one is here because Perl 5.005_02 doesn't fail it/i;
-res[47] = /This one is here because I think Perl 5.005_02 gets the setting of $1 wrong/i;
-res[48] = /^(a\1?){4}$/i;
-res[49] = /These are syntax tests from Perl 5.005/i;
-res[50] = /a[]b/;
-res[51] = /\1/;
-res[52] = /\2/;
-res[53] = /(a)|\2/;
-res[54] = /a[]b/i;
-res[55] = /abc/;
-res[56] = /abc/;
-res[57] = /abc/i;
-res[58] = /(a)bc(d)/i;
-res[59] = /(.{20})/i;
-res[60] = /(.{15})/i;
-res[61] = /(.{16})/i;
-res[62] = /^(a|(bc))de(f)/i;
-res[63] = /^abc\00def/i;
-res[64] = /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+\n)((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+\n)?)?)?)?)?)?)?)?)?otherword/i;
-res[65] = /.*X/i;
-res[66] = /.*X/i;
-res[67] = /(.*X|^B)/i;
-res[68] = /(.*X|^B)/i;
-res[69] = /\Biss\B/i;
-res[70] = /\Biss\B/i;
-res[71] = /iss/ig;
-res[72] = /\Biss\B/ig;
-res[73] = /\Biss\B/ig;
-res[74] = /^iss/ig;
-res[75] = /.*iss/ig;
-res[76] = /.i./ig;
-res[77] = /^.is/ig;
-res[78] = /^ab\n/ig;
-res[79] = /^ab\n/img;
-res[80] = /abc/i;
-res[81] = /abc|bac/i;
-res[82] = /(abc|bac)/i;
-res[83] = /(abc|(c|dc))/i;
-res[84] = /(abc|(d|de)c)/i;
-res[85] = /a*/i;
-res[86] = /a+/i;
-res[87] = /(baa|a+)/i;
-res[88] = /a{0,3}/i;
-res[89] = /baa{3,}/i;
-res[90] = /"([^\\"]+|\\.)*"/i;
-res[91] = /(abc|ab[cd])/i;
-res[92] = /(a|.)/i;
-res[93] = /a|ba|\w/i;
-res[94] = /abc(?=pqr)/i;
-res[95] = /abc(?!pqr)/i;
-res[96] = /ab./i;
-res[97] = /ab[xyz]/i;
-res[98] = /abc*/i;
-res[99] = /ab.c*/i;
-res[100] = /a.c*/i;
-res[101] = /.c*/i;
-res[102] = /ac*/i;
-res[103] = /(a.c*|b.c*)/i;
-res[104] = /a.c*|aba/i;
-res[105] = /.+a/i;
-res[106] = /(?=abcda)a.*/i;
-res[107] = /(?=a)a.*/i;
-res[108] = /a(b)*/i;
-res[109] = /a\d*/i;
-res[110] = /ab\d*/i;
-res[111] = /a(\d)*/i;
-res[112] = /abcde{0,0}/i;
-res[113] = /ab\d+/i;
-res[114] = /ab\d{0}e/i;
-res[115] = /a?b?/i;
-res[116] = /|-/i;
-res[117] = /a*(b+)(z)(z)/i;
-res[118] = /^.?abcd/i;
-res[119] = /^[[:alnum:]]/;
-res[120] = /^[[:^alnum:]]/;
-res[121] = /^[[:alpha:]]/;
-res[122] = /^[[:^alpha:]]/;
-res[123] = /[_[:alpha:]]/i;
-res[124] = /^[[:ascii:]]/;
-res[125] = /^[[:^ascii:]]/;
-res[126] = /^[[:blank:]]/;
-res[127] = /^[[:^blank:]]/;
-res[128] = /[\n\x0b\x0c\x0d[:blank:]]/i;
-res[129] = /^[[:cntrl:]]/;
-res[130] = /^[[:digit:]]/;
-res[131] = /^[[:graph:]]/;
-res[132] = /^[[:lower:]]/;
-res[133] = /^[[:print:]]/;
-res[134] = /^[[:punct:]]/;
-res[135] = /^[[:space:]]/;
-res[136] = /^[[:upper:]]/;
-res[137] = /^[[:xdigit:]]/;
-res[138] = /^[[:word:]]/;
-res[139] = /^[[:^cntrl:]]/;
-res[140] = /^[12[:^digit:]]/;
-res[141] = /^[[:^blank:]]/;
-res[142] = /[01[:alpha:]%]/;
-res[143] = /[[.ch.]]/i;
-res[144] = /[[=ch=]]/i;
-res[145] = /[[:rhubarb:]]/i;
-res[146] = /[[:upper:]]/i;
-res[147] = /[[:lower:]]/i;
-res[148] = /This one's here because of the large output vector needed/i;
-res[149] = /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\w+)\s+(\270)/i;
-res[150] = /This one's here because Perl does this differently and PCRE can't at present/i;
-res[151] = /(main(O)?)+/i;
-res[152] = /These are all cases where Perl does it differently (nested captures)/i;
-res[153] = /^(a(b)?)+$/i;
-res[154] = /^(aa(bb)?)+$/i;
-res[155] = /^(aa|aa(bb))+$/i;
-res[156] = /^(aa(bb)??)+$/i;
-res[157] = /^(?:aa(bb)?)+$/i;
-res[158] = /^(aa(b(b))?)+$/i;
-res[159] = /^(?:aa(b(b))?)+$/i;
-res[160] = /^(?:aa(b(?:b))?)+$/i;
-res[161] = /^(?:aa(bb(?:b))?)+$/i;
-res[162] = /^(?:aa(b(?:bb))?)+$/i;
-res[163] = /^(?:aa(?:b(b))?)+$/i;
-res[164] = /^(?:aa(?:b(bb))?)+$/i;
-res[165] = /^(aa(b(bb))?)+$/i;
-res[166] = /^(aa(bb(bb))?)+$/i;
-res[167] = /a/i;
-res[168] = /[\s]/;
-res[169] = /[\S]/;
-res[170] = /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/;
-res[171] = /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/;
-res[172] = /\Q\E/;
-res[173] = /\Q\Ex/;
-res[174] = / \Q\E/;
-res[175] = /a\Q\E/;
-res[176] = /a\Q\Eb/;
-res[177] = /\Q\Eabc/;
-res[178] = /[.x.]/i;
-res[179] = /[=x=]/i;
-res[180] = /[:x:]/i;
-res[181] = /\l/i;
-res[182] = /\L/i;
-res[183] = /\N{name}/i;
-res[184] = /\u/i;
-res[185] = /\U/i;
-res[186] = /[[:space:]/i;
-res[187] = /[\s]/i;
-res[188] = /[[:space:]]/i;
-res[189] = /[[:space:]abcde]/i;
-res[190] = /(.*)\d+\1/i;
-res[191] = /(.*)\d+/i;
-res[192] = /(.*)\d+\1/i;
-res[193] = /(.*)\d+/i;
-res[194] = /(.*(xyz))\d+\2/i;
-res[195] = /((.*))\d+\1/i;
-res[196] = /a[b]/i;
-res[197] = /(?=a).*/i;
-res[198] = /(?=abc).xyz/i;
-res[199] = /(?=a)(?=b)/i;
-res[200] = /(?=.)a/i;
-res[201] = /((?=abcda)a)/i;
-res[202] = /((?=abcda)ab)/i;
-res[203] = /()a/i;
-res[204] = /(a)+/i;
-res[205] = /(a){2,3}/i;
-res[206] = /(a)*/i;
-res[207] = /[a]/i;
-res[208] = /[ab]/i;
-res[209] = /[ab]/i;
-res[210] = /[^a]/i;
-res[211] = /\d456/i;
-res[212] = /\d456/i;
-res[213] = /a^b/i;
-res[214] = /^a/im;
-res[215] = /c|abc/i;
-res[216] = /(.*)a/i;
-res[217] = /(.*)a\1/i;
-res[218] = /(.*)a(b)\2/i;
-res[219] = /((.*)a|(.*)b)z/i;
-res[220] = /((.*)a|(.*)b)z\1/i;
-res[221] = /((.*)a|(.*)b)z\2/i;
-res[222] = /((.*)a|(.*)b)z\3/i;
-res[223] = /((.*)a|^(.*)b)z\3/i;
-res[224] = /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/i;
-res[225] = /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/i;
-res[226] = /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/i;
-res[227] = /(a)(bc)/i;
-res[228] = /(a+)*zz/i;
-res[229] = /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/i;
-res[230] = /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/i;
-res[231] = /a*.*b/i;
-res[232] = /(a|b)*.?c/i;
-res[233] = /abcde/i;
-res[234] = /a*b/i;
-res[235] = /a+b/i;
-res[236] = /(abc|def)x/i;
-res[237] = /(ab|cd){3,4}/i;
-res[238] = /([ab]{,4}c|xy)/i;
-res[239] = /([ab]{1,4}c|xy){4,5}?123/i;
-res[240] = /\b.*/i;
-res[241] = /\b.*/i;
-res[242] = /(?!.bcd).*/i;
-res[243] = /abcde/i;
-res[244] = /0{0,2}ABC/i;
-res[245] = /\d{3,}ABC/i;
-res[246] = /\d*ABC/i;
-res[247] = /[abc]+DE/i;
-res[248] = /[abc]?123/i;
-res[249] = /^(?:\d){3,5}X/i;
-res[250] = /^a/i;
-res[251] = /line\nbreak/i;
-res[252] = /line\nbreak/i;
-res[253] = /line\nbreak/im;
-res[254] = /ab.cd/i;
-res[255] = /ab.cd/i;
-res[256] = /a(b)c/i;
-res[257] = /Inthisnexttest,Jisnotsetattheouterlevel;consequentlyitisn'tsetinthepattern'soptions;consequentlypcre_get_named_substring()producesarandomvalue./i;
-res[258] = /\777/i;
-res[259] = /\s*,\s*/i;
-res[260] = /^abc/im;
-res[261] = /abc$/im;
-res[262] = /^abc/im;
-res[263] = /^abc/im;
-res[264] = /^abc/im;
-res[265] = /^abc/im;
-res[266] = /abc/i;
-res[267] = /.*/i;
-res[268] = /\w+(.)(.)?def/i;
-res[269] = /()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()(.(.))/i;
-res[270] = /()[ab]xyz/i;
-res[271] = /(|)[ab]xyz/i;
-res[272] = /(|c)[ab]xyz/i;
-res[273] = /(|c?)[ab]xyz/i;
-res[274] = /(d?|c?)[ab]xyz/i;
-res[275] = /(d?|c)[ab]xyz/i;
-res[276] = /^a*b\d/;
-res[277] = /^a*?b\d/;
-res[278] = /^a+A\d/;
-res[279] = /^a*A\d/i;
-res[280] = /(a*|b*)[cd]/i;
-res[281] = /(a+|b*)[cd]/i;
-res[282] = /(a*|b+)[cd]/i;
-res[283] = /(a+|b+)[cd]/i;
-res[284] = /(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((a)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))/i;
-res[285] = /a*\d/;
-res[286] = /a*\D/;
-res[287] = /0*\d/;
-res[288] = /0*\D/;
-res[289] = /a*\s/;
-res[290] = /a*\S/;
-res[291] = / *\s/;
-res[292] = / *\S/;
-res[293] = /a*\w/;
-res[294] = /a*\W/;
-res[295] = /=*\w/;
-res[296] = /=*\W/;
-res[297] = /\d*a/;
-res[298] = /\d*2/;
-res[299] = /\d*\d/;
-res[300] = /\d*\D/;
-res[301] = /\d*\s/;
-res[302] = /\d*\S/;
-res[303] = /\d*\w/;
-res[304] = /\d*\W/;
-res[305] = /\D*a/;
-res[306] = /\D*2/;
-res[307] = /\D*\d/;
-res[308] = /\D*\D/;
-res[309] = /\D*\s/;
-res[310] = /\D*\S/;
-res[311] = /\D*\w/;
-res[312] = /\D*\W/;
-res[313] = /\s*a/;
-res[314] = /\s*2/;
-res[315] = /\s*\d/;
-res[316] = /\s*\D/;
-res[317] = /\s*\s/;
-res[318] = /\s*\S/;
-res[319] = /\s*\w/;
-res[320] = /\s*\W/;
-res[321] = /\S*a/;
-res[322] = /\S*2/;
-res[323] = /\S*\d/;
-res[324] = /\S*\D/;
-res[325] = /\S*\s/;
-res[326] = /\S*\S/;
-res[327] = /\S*\w/;
-res[328] = /\S*\W/;
-res[329] = /\w*a/;
-res[330] = /\w*2/;
-res[331] = /\w*\d/;
-res[332] = /\w*\D/;
-res[333] = /\w*\s/;
-res[334] = /\w*\S/;
-res[335] = /\w*\w/;
-res[336] = /\w*\W/;
-res[337] = /\W*a/;
-res[338] = /\W*2/;
-res[339] = /\W*\d/;
-res[340] = /\W*\D/;
-res[341] = /\W*\s/;
-res[342] = /\W*\S/;
-res[343] = /\W*\w/;
-res[344] = /\W*\W/;
-res[345] = /[^a]+a/;
-res[346] = /[^a]+a/i;
-res[347] = /[^a]+A/i;
-res[348] = /[^a]+b/;
-res[349] = /[^a]+\d/;
-res[350] = /a*[^a]/;
-res[351] = /^(?:(?:\1|X)(a|b))+/;
-res[352] = /^[\E\Qa\E-\Qz\E]+/;
-res[353] = /^[a\Q]bc\E]/;
-res[354] = /(?=(\w+))\1:/i;
-res[355] = /(a|)*\d/;
-res[356] = /^a.b/;
-res[357] = /^abc./mg;
-res[358] = /abc.$/mg;
-res[359] = /a/;
-res[360] = /a/;
-res[361] = /^a\Rb/i;
-res[362] = /^a\R*b/i;
-res[363] = /^a\R+b/i;
-res[364] = /^a\R{1,3}b/i;
-res[365] = /^a[\R]b/i;
-res[366] = /^(a(b))\1\g1\g{1}\g-1\g{-1}\g{-02}Z/;
-res[367] = /^(a)\g-2/;
-res[368] = /^(a)\g/;
-res[369] = /^(a)\g{0}/;
-res[370] = /^(a)\g{3/;
-res[371] = /^(a)\g{4a}/;
-res[372] = /^a.b/;
-res[373] = /.+foo/;
-res[374] = /.+foo/;
-res[375] = /.+foo/;
-res[376] = /.+foo/;
-res[377] = /^$/mg;
-res[378] = /abc.$/mg;
-res[379] = /^X/m;
-res[380] = /(foo)\Kbar/;
-res[381] = /(foo)(\Kbar|baz)/;
-res[382] = /(foo\Kbar)baz/;
-res[383] = /\g{A/;
-res[384] = /\H\h\V\v/;
-res[385] = /\H*\h+\V?\v{3,4}/;
-res[386] = /\H{3,4}/;
-res[387] = /.\h{3,4}./;
-res[388] = /\h*X\h?\H+Y\H?Z/;
-res[389] = /\v*X\v?Y\v+Z\V*\x0a\V+\x0b\V{2,3}\x0c/;
-res[390] = /[\h]/;
-res[391] = /[\h]+/;
-res[392] = /[\v]/;
-res[393] = /[\H]/;
-res[394] = /[^\h]/;
-res[395] = /[\V]/;
-res[396] = /[\x0a\V]/;
-res[397] = /\H+\hY/;
-res[398] = /\H+ Y/;
-res[399] = /\h+A/;
-res[400] = /\v*B/;
-res[401] = /\V+\x0a/;
-res[402] = /A+\h/;
-res[403] = / *\H/;
-res[404] = /A*\v/;
-res[405] = /\x0b*\V/;
-res[406] = /\d+\h/;
-res[407] = /\d*\v/;
-res[408] = /S+\h\S+\v/;
-res[409] = /\w{3,}\h\w+\v/;
-res[410] = /\h+\d\h+\w\h+\S\h+\H/;
-res[411] = /\v+\d\v+\w\v+\S\v+\V/;
-res[412] = /\H+\h\H+\d/;
-res[413] = /\V+\v\V+\w/;
-res[414] = /[\E]AAA/;
-res[415] = /[\Q\E]AAA/;
-res[416] = /[^\E]AAA/;
-res[417] = /[^\Q\E]AAA/;
-res[418] = /[\E^]AAA/;
-res[419] = /[\Q\E^]AAA/;
-res[420] = /\g6666666666/;
-res[421] = /[\g6666666666]/;
-res[422] = /.+A/;
-res[423] = /\nA/;
-res[424] = /[\r\n]A/;
-res[425] = /(\r|\n)A/;
-res[426] = /a\Rb/i;
-res[427] = /a\Rb/i;
-res[428] = /a\R?b/i;
-res[429] = /a\R?b/i;
-res[430] = /a\R{2,4}b/i;
-res[431] = /a\R{2,4}b/i;
-res[432] = /\k''/;
-res[433] = /\k<>/;
-res[434] = /\k{}/;
-res[435] = /[[:foo:]]/;
-res[436] = /[[:1234:]]/;
-res[437] = /[[:f\oo:]]/;
-res[438] = /[[: :]]/;
-res[439] = /[[:...:]]/;
-res[440] = /[[:l\ower:]]/;
-res[441] = /[[:abc\:]]/;
-res[442] = /[abc[:x\]pqr:]]/;
-res[443] = /[[:a\dz:]]/;
-res[444] = /^(a|b\g<1>c)/;
-res[445] = /^(a|b\g'1'c)/;
-res[446] = /^(a|b\g'-1'c)/;
-res[447] = /(^(a|b\g<-1>c))/;
-res[448] = /(^(a|b\g<-1'c))/;
-res[449] = /(^(a|b\g{-1}))/;
-res[450] = /(\3)(\1)(a)/;
-res[451] = /(\3)(\1)(a)/;
-res[452] = /TA]/;
-res[453] = /TA]/;
-res[454] = /a[]b/;
-res[455] = /a[^]b/;
-res[456] = /a[]b/;
-res[457] = /a[]+b/;
-res[458] = /a[^]b/;
-res[459] = /a[^]+b/;
-res[460] = /a(?!)+b/;
-res[461] = /(abc|pqr|123){0}[xyz]/i;
-res[462] = / End of testinput2 /;
-res[463] = /a.b/;
-res[464] = /a(.{3})b/;
-res[465] = /a(.*?)(.)/;
-res[466] = /a(.*?)(.)/;
-res[467] = /a(.*)(.)/;
-res[468] = /a(.*)(.)/;
-res[469] = /a(.)(.)/;
-res[470] = /a(.)(.)/;
-res[471] = /a(.?)(.)/;
-res[472] = /a(.?)(.)/;
-res[473] = /a(.??)(.)/;
-res[474] = /a(.??)(.)/;
-res[475] = /a(.{3})b/;
-res[476] = /a(.{3,})b/;
-res[477] = /a(.{3,}?)b/;
-res[478] = /a(.{3,5})b/;
-res[479] = /a(.{3,5}?)b/;
-res[480] = /X(\C{3})/;
-res[481] = /X(\C{4})/;
-res[482] = /X\C*/;
-res[483] = /X\C*?/;
-res[484] = /X\C{3,5}/;
-res[485] = /X\C{3,5}?/;
-res[486] = /[^a]+/g;
-res[487] = /^[^a]{2}/;
-res[488] = /^[^a]{2,}/;
-res[489] = /^[^a]{2,}?/;
-res[490] = /[^a]+/ig;
-res[491] = /^[^a]{2}/i;
-res[492] = /^[^a]{2,}/i;
-res[493] = /^[^a]{2,}?/i;
-res[494] = /\D*/;
-res[495] = /\D*/;
-res[496] = /\D/;
-res[497] = />\S/;
-res[498] = /\d/;
-res[499] = /\s/;
-res[500] = /\D+/;
-res[501] = /\D{2,3}/;
-res[502] = /\D{2,3}?/;
-res[503] = /\d+/;
-res[504] = /\d{2,3}/;
-res[505] = /\d{2,3}?/;
-res[506] = /\S+/;
-res[507] = /\S{2,3}/;
-res[508] = /\S{2,3}?/;
-res[509] = />\s+</;
-res[510] = />\s{2,3}</;
-res[511] = />\s{2,3}?</;
-res[512] = /\w+/;
-res[513] = /\w{2,3}/;
-res[514] = /\w{2,3}?/;
-res[515] = /\W+/;
-res[516] = /\W{2,3}/;
-res[517] = /\W{2,3}?/;
-res[518] = /a\Cb/;
-res[519] = /a\Cb/;
-res[520] = /[\xFF]/;
-res[521] = /[\xff]/;
-res[522] = /[^\xFF]/;
-res[523] = /[^\xff]/;
-res[524] = /^[ac]*b/;
-res[525] = /^[^x]*b/i;
-res[526] = /^[^x]*b/;
-res[527] = /^\d*b/;
-res[528] = /(|a)/g;
-res[529] = /\S\S/g;
-res[530] = /\S{2}/g;
-res[531] = /\W\W/g;
-res[532] = /\W{2}/g;
-res[533] = /\S/g;
-res[534] = /[\S]/g;
-res[535] = /\D/g;
-res[536] = /[\D]/g;
-res[537] = /\W/g;
-res[538] = /[\W]/g;
-res[539] = /[\S\s]*/;
-res[540] = /.[^\S]./g;
-res[541] = /.[^\S\n]./g;
-res[542] = /[[:^alnum:]]/g;
-res[543] = /[[:^alpha:]]/g;
-res[544] = /[[:^ascii:]]/g;
-res[545] = /[[:^blank:]]/g;
-res[546] = /[[:^cntrl:]]/g;
-res[547] = /[[:^digit:]]/g;
-res[548] = /[[:^graph:]]/g;
-res[549] = /[[:^lower:]]/g;
-res[550] = /[[:^print:]]/g;
-res[551] = /[[:^punct:]]/g;
-res[552] = /[[:^space:]]/g;
-res[553] = /[[:^upper:]]/g;
-res[554] = /[[:^word:]]/g;
-res[555] = /[[:^xdigit:]]/g;
-res[556] = /^[^d]*?$/;
-res[557] = /^[^d]*?$/;
-res[558] = /^[^d]*?$/i;
-res[559] = /^[^d]*?$/i;
-res[560] = / End of testinput4 /;
-res[561] = /\x80/;
-res[562] = /\xff/;
-res[563] = /.{3,5}X/;
-res[564] = /.{3,5}?/;
-res[565] = /X(\C)(.*)/;
-res[566] = /^[ab]/;
-res[567] = /^[^ab]/;
-res[568] = /[^ab\xC0-\xF0]/;
-res[569] = /[\xFF]/;
-res[570] = /[\xff]/;
-res[571] = /[^\xFF]/;
-res[572] = /[^\xff]/;
-res[573] = /anything/;
-res[574] = /\W/;
-res[575] = /\w/;
-res[576] = /\777/i;
-res[577] = /\777/i;
-res[578] = /^abc./mg;
-res[579] = /abc.$/mg;
-res[580] = /^a\Rb/i;
-res[581] = /^a\R*b/i;
-res[582] = /^a\R+b/i;
-res[583] = /^a\R{1,3}b/i;
-res[584] = /\H\h\V\v/;
-res[585] = /\H*\h+\V?\v{3,4}/;
-res[586] = /\H\h\V\v/;
-res[587] = /\H*\h+\V?\v{3,4}/;
-res[588] = /[\h]/;
-res[589] = /[\h]{3,}/;
-res[590] = /[\v]/;
-res[591] = /[\H]/;
-res[592] = /[\V]/;
-res[593] = /.*$/;
-res[594] = /X/;
-res[595] = /a\Rb/i;
-res[596] = /a\Rb/i;
-res[597] = /a\R?b/i;
-res[598] = /a\R?b/i;
-res[599] = /.*a.*=.b.*/;
-res[600] = /a[^]b/;
-res[601] = /a[^]+b/;
-res[602] = /X/;
-res[603] = / End of testinput5 /;
-res[604] = /^\pC\pL\pM\pN\pP\pS\pZ</;
-res[605] = /^\PC/;
-res[606] = /^\PL/;
-res[607] = /^\PM/;
-res[608] = /^\PN/;
-res[609] = /^\PP/;
-res[610] = /^\PS/;
-res[611] = /^\PZ/;
-res[612] = /^\p{Cc}/;
-res[613] = /^\p{Cf}/;
-res[614] = /^\p{Cn}/;
-res[615] = /^\p{Co}/;
-res[616] = /^\p{Cs}/;
-res[617] = /^\p{Ll}/;
-res[618] = /^\p{Lm}/;
-res[619] = /^\p{Lo}/;
-res[620] = /^\p{Lt}/;
-res[621] = /^\p{Lu}/;
-res[622] = /^\p{Mc}/;
-res[623] = /^\p{Me}/;
-res[624] = /^\p{Mn}/;
-res[625] = /^\p{Nl}/;
-res[626] = /^\p{No}/;
-res[627] = /^\p{Pc}/;
-res[628] = /^\p{Pd}/;
-res[629] = /^\p{Pe}/;
-res[630] = /^\p{Pf}/;
-res[631] = /^\p{Pi}/;
-res[632] = /^\p{Po}/;
-res[633] = /^\p{Ps}/;
-res[634] = /^\p{Sk}/;
-res[635] = /^\p{So}/;
-res[636] = /^\p{Zl}/;
-res[637] = /^\p{Zp}/;
-res[638] = /^\p{Zs}/;
-res[639] = /\p{Nd}{2,}(..)/;
-res[640] = /\p{Nd}{2,}?(..)/;
-res[641] = /\p{Nd}*(..)/;
-res[642] = /\p{Nd}*?(..)/;
-res[643] = /\p{Nd}{2}(..)/;
-res[644] = /\p{Nd}{2,3}(..)/;
-res[645] = /\p{Nd}{2,3}?(..)/;
-res[646] = /\p{Nd}?(..)/;
-res[647] = /\p{Nd}??(..)/;
-res[648] = /\p{Lu}/i;
-res[649] = /\p{^Lu}/i;
-res[650] = /\P{Lu}/i;
-res[651] = /[\p{L}]/;
-res[652] = /[\p{^L}]/;
-res[653] = /[\P{L}]/;
-res[654] = /[\P{^L}]/;
-res[655] = /[\p{Nd}]/;
-res[656] = /[\P{Nd}]+/;
-res[657] = /\D+/;
-res[658] = /[\D]+/;
-res[659] = /[\P{Nd}]+/;
-res[660] = /[\D\P{Nd}]+/;
-res[661] = /\pL/;
-res[662] = /\pL/i;
-res[663] = /\p{Lu}/;
-res[664] = /\p{Lu}/i;
-res[665] = /\p{Ll}/;
-res[666] = /\p{Ll}/i;
-res[667] = /^\X/;
-res[668] = /^[\X]/;
-res[669] = /^(\X*)C/;
-res[670] = /^(\X*?)C/;
-res[671] = /^(\X*)(.)/;
-res[672] = /^(\X*?)(.)/;
-res[673] = /^\X(.)/;
-res[674] = /^\X{2,3}(.)/;
-res[675] = /^\X{2,3}?(.)/;
-res[676] = /^[\p{Arabic}]/;
-res[677] = /^[\P{Yi}]/;
-res[678] = /^\p{Any}X/;
-res[679] = /^\P{Any}X/;
-res[680] = /^\p{Any}?X/;
-res[681] = /^\P{Any}?X/;
-res[682] = /^\p{Any}*X/;
-res[683] = /^\P{Any}*X/;
-res[684] = /^[\p{Any}]X/;
-res[685] = /^[\P{Any}]X/;
-res[686] = /^[\p{Any}]?X/;
-res[687] = /^[\P{Any}]?X/;
-res[688] = /^[\p{Any}]+X/;
-res[689] = /^[\P{Any}]+X/;
-res[690] = /^[\p{Any}]*X/;
-res[691] = /^[\P{Any}]*X/;
-res[692] = /^\p{Any}{3,5}?/;
-res[693] = /^\p{Any}{3,5}/;
-res[694] = /^\P{Any}{3,5}?/;
-res[695] = /^\p{L&}X/;
-res[696] = /^[\p{L&}]X/;
-res[697] = /^[\p{L&}]+X/;
-res[698] = /^[\p{L&}]+?X/;
-res[699] = /^\P{L&}X/;
-res[700] = /^[\P{L&}]X/;
-res[701] = /^(\p{Z}[^\p{C}\p{Z}]+)*$/;
-res[702] = /([\pL]=(abc))*X/;
-res[703] = /^\p{Balinese}\p{Cuneiform}\p{Nko}\p{Phags_Pa}\p{Phoenician}/;
-res[704] = /The next two are special cases where the lengths of the different cases of the \nsame character differ. The first went wrong with heap frame storage; the 2nd\nwas broken in all cases./;
-res[705] = /Check property support in non-UTF-8 mode/;
-res[706] = /\p{L}{4}/;
-res[707] = /\X{1,3}\d/;
-res[708] = /\X?\d/;
-res[709] = /\P{L}?\d/;
-res[710] = /[\PPP\x8a]{1,}\x80/;
-res[711] = /(?:[\PPa*]*){8,}/;
-res[712] = /[\P{Any}]/;
-res[713] = /[\P{Any}\E]/;
-res[714] = /(\P{Yi}{2}\277)?/;
-res[715] = /[\P{Yi}A]/;
-res[716] = /[\P{Yi}\P{Yi}\P{Yi}A]/;
-res[717] = /[^\P{Yi}A]/;
-res[718] = /[^\P{Yi}\P{Yi}\P{Yi}A]/;
-res[719] = /(\P{Yi}*\277)*/;
-res[720] = /(\P{Yi}*?\277)*/;
-res[721] = /(\P{Yi}?\277)*/;
-res[722] = /(\P{Yi}??\277)*/;
-res[723] = /(\P{Yi}{0,3}\277)*/;
-res[724] = /(\P{Yi}{0,3}?\277)*/;
-res[725] = /^[\p{Arabic}]/;
-res[726] = /^\p{Cyrillic}/;
-res[727] = /^\p{Common}/;
-res[728] = /^\p{Inherited}/;
-res[729] = /^\p{Shavian}/;
-res[730] = /^\p{Deseret}/;
-res[731] = /^\p{Osmanya}/;
-res[732] = /\p{Zl}/;
-res[733] = /\p{Carian}\p{Cham}\p{Kayah_Li}\p{Lepcha}\p{Lycian}\p{Lydian}\p{Ol_Chiki}\p{Rejang}\p{Saurashtra}\p{Sundanese}\p{Vai}/;
-res[734] = /(A)\1/i;
-res[735] = / End of testinput6 /;
-res[736] = /abc/;
-res[737] = /ab*c/;
-res[738] = /ab+c/;
-res[739] = /a*/;
-res[740] = /(a|abcd|african)/;
-res[741] = /^abc/;
-res[742] = /^abc/m;
-res[743] = /\Aabc/;
-res[744] = /\Aabc/m;
-res[745] = /\Gabc/;
-res[746] = /x\dy\Dz/;
-res[747] = /x\sy\Sz/;
-res[748] = /x\wy\Wz/;
-res[749] = /x.y/;
-res[750] = /x.y/;
-res[751] = /a\d\z/;
-res[752] = /a\d\z/m;
-res[753] = /a\d\Z/;
-res[754] = /a\d\Z/m;
-res[755] = /a\d$/;
-res[756] = /a\d$/m;
-res[757] = /abc/i;
-res[758] = /[^a]/;
-res[759] = /ab?\w/;
-res[760] = /x{0,3}yz/;
-res[761] = /x{3}yz/;
-res[762] = /x{2,3}yz/;
-res[763] = /[^a]+/;
-res[764] = /[^a]*/;
-res[765] = /[^a]{3,5}/;
-res[766] = /\d*/;
-res[767] = /\D*/;
-res[768] = /\d+/;
-res[769] = /\D+/;
-res[770] = /\d?A/;
-res[771] = /\D?A/;
-res[772] = /a+/;
-res[773] = /^.*xyz/;
-res[774] = /^.+xyz/;
-res[775] = /^.?xyz/;
-res[776] = /^\d{2,3}X/;
-res[777] = /^[abcd]\d/;
-res[778] = /^[abcd]*\d/;
-res[779] = /^[abcd]+\d/;
-res[780] = /^a+X/;
-res[781] = /^[abcd]?\d/;
-res[782] = /^[abcd]{2,3}\d/;
-res[783] = /^(abc)*\d/;
-res[784] = /^(abc)+\d/;
-res[785] = /^(abc)?\d/;
-res[786] = /^(abc){2,3}\d/;
-res[787] = /^(a*\w|ab)=(a*\w|ab)/;
-res[788] = /^(?=abc)\w{5}:$/;
-res[789] = /^(?!abc)\d\d$/;
-res[790] = /(ab|cd){3,4}/;
-res[791] = /^abc/;
-res[792] = /^(a*|xyz)/;
-res[793] = /xyz$/;
-res[794] = /xyz$/m;
-res[795] = /\Gabc/;
-res[796] = /^abcdef/;
-res[797] = /^a{2,4}\d+z/;
-res[798] = /^abcdef/;
-res[799] = /(ab*(cd|ef))+X/;
-res[800] = /the quick brown fox/;
-res[801] = /The quick brown fox/i;
-res[802] = /abcd\t\n\r\f\a\e\071\x3b\$\\\?caxyz/;
-res[803] = /a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz/;
-res[804] = /^(abc){1,2}zz/;
-res[805] = /^(b+?|a){1,2}?c/;
-res[806] = /^(b+|a){1,2}c/;
-res[807] = /^(b*|ba){1,2}?bc/;
-res[808] = /^(ba|b*){1,2}?bc/;
-res[809] = /^[ab\]cde]/;
-res[810] = /^[]cde]/;
-res[811] = /^[^ab\]cde]/;
-res[812] = /^[^]cde]/;
-res[813] = /^[0-9]+$/;
-res[814] = /^.*nter/;
-res[815] = /^xxx[0-9]+$/;
-res[816] = /^.+[0-9][0-9][0-9]$/;
-res[817] = /^.+?[0-9][0-9][0-9]$/;
-res[818] = /^([^!]+)!(.+)=apquxz\.ixr\.zzz\.ac\.uk$/;
-res[819] = /:/;
-res[820] = /([\da-f:]+)$/i;
-res[821] = /^.*\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/;
-res[822] = /^(\d+)\s+IN\s+SOA\s+(\S+)\s+(\S+)\s*\(\s*$/;
-res[823] = /^[a-zA-Z\d][a-zA-Z\d\-]*(\.[a-zA-Z\d][a-zA-z\d\-]*)*\.$/;
-res[824] = /^\*\.[a-z]([a-z\-\d]*[a-z\d]+)?(\.[a-z]([a-z\-\d]*[a-z\d]+)?)*$/;
-res[825] = /^(?=ab(de))(abd)(e)/;
-res[826] = /^(?!(ab)de|x)(abd)(f)/;
-res[827] = /^(?=(ab(cd)))(ab)/;
-res[828] = /^[\da-f](\.[\da-f])*$/i;
-res[829] = /^\".*\"\s*(;.*)?$/;
-res[830] = /^$/;
-res[831] = /^ab\sc$/;
-res[832] = /^a\ b[c]d$/;
-res[833] = /^(a(b(c)))(d(e(f)))(h(i(j)))(k(l(m)))$/;
-res[834] = /^(?:a(b(c)))(?:d(e(f)))(?:h(i(j)))(?:k(l(m)))$/;
-res[835] = /^[\w][\W][\s][\S][\d][\D][\b][\n][\c]][\022]/;
-res[836] = /^a*\w/;
-res[837] = /^a*?\w/;
-res[838] = /^a+\w/;
-res[839] = /^a+?\w/;
-res[840] = /^\d{8}\w{2,}/;
-res[841] = /^[aeiou\d]{4,5}$/;
-res[842] = /^[aeiou\d]{4,5}?/;
-res[843] = /^From +([^ ]+) +[a-zA-Z][a-zA-Z][a-zA-Z] +[a-zA-Z][a-zA-Z][a-zA-Z] +[0-9]?[0-9] +[0-9][0-9]:[0-9][0-9]/;
-res[844] = /^From\s+\S+\s+([a-zA-Z]{3}\s+){2}\d{1,2}\s+\d\d:\d\d/;
-res[845] = /^12.34/;
-res[846] = /\w+(?=\t)/;
-res[847] = /foo(?!bar)(.*)/;
-res[848] = /(?:(?!foo)...|^.{0,2})bar(.*)/;
-res[849] = /^(\D*)(?=\d)(?!123)/;
-res[850] = /^1234/;
-res[851] = /^1234/;
-res[852] = /abcd/;
-res[853] = /^abcd/;
-res[854] = /(?!^)abc/;
-res[855] = /(?=^)abc/;
-res[856] = /^[ab]{1,3}(ab*|b)/;
-res[857] = /^[ab]{1,3}?(ab*|b)/;
-res[858] = /^[ab]{1,3}?(ab*?|b)/;
-res[859] = /^[ab]{1,3}(ab*?|b)/;
-res[860] = /(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*(?:(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|"(?:[^\\\x80-\xff\n\015"]|\\[^\x80-\xff])*")(?:(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*\.(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|"(?:[^\\\x80-\xff\n\015"]|\\[^\x80-\xff])*"))*(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*@(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|\[(?:[^\\\x80-\xff\n\015\[\]]|\\[^\x80-\xff])*\])(?:(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*\.(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|\[(?:[^\\\x80-\xff\n\015\[\]]|\\[^\x80-\xff])*\]))*|(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|"(?:[^\\\x80-\xff\n\015"]|\\[^\x80-\xff])*")(?:[^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\)|"(?:[^\\\x80-\xff\n\015"]|\\[^\x80-\xff])*")*<(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*(?:@(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|\[(?:[^\\\x80-\xff\n\015\[\]]|\\[^\x80-\xff])*\])(?:(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*\.(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|\[(?:[^\\\x80-\xff\n\015\[\]]|\\[^\x80-\xff])*\]))*(?:(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*,(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*@(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|\[(?:[^\\\x80-\xff\n\015\[\]]|\\[^\x80-\xff])*\])(?:(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*\.(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|\[(?:[^\\\x80-\xff\n\015\[\]]|\\[^\x80-\xff])*\]))*)*:(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*)?(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|"(?:[^\\\x80-\xff\n\015"]|\\[^\x80-\xff])*")(?:(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*\.(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|"(?:[^\\\x80-\xff\n\015"]|\\[^\x80-\xff])*"))*(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*@(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|\[(?:[^\\\x80-\xff\n\015\[\]]|\\[^\x80-\xff])*\])(?:(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*\.(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|\[(?:[^\\\x80-\xff\n\015\[\]]|\\[^\x80-\xff])*\]))*(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*>)(?:[\040\t]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff]|\((?:[^\\\x80-\xff\n\015()]|\\[^\x80-\xff])*\))*\))*/;
-res[861] = /[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*(?:(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|"[^\\\x80-\xff\n\015"]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015"]*)*")[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*(?:\.[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|"[^\\\x80-\xff\n\015"]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015"]*)*")[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*)*@[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|\[(?:[^\\\x80-\xff\n\015\[\]]|\\[^\x80-\xff])*\])[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*(?:\.[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|\[(?:[^\\\x80-\xff\n\015\[\]]|\\[^\x80-\xff])*\])[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*)*|(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|"[^\\\x80-\xff\n\015"]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015"]*)*")[^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037]*(?:(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)|"[^\\\x80-\xff\n\015"]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015"]*)*")[^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037]*)*<[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*(?:@[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|\[(?:[^\\\x80-\xff\n\015\[\]]|\\[^\x80-\xff])*\])[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*(?:\.[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|\[(?:[^\\\x80-\xff\n\015\[\]]|\\[^\x80-\xff])*\])[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*)*(?:,[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*@[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|\[(?:[^\\\x80-\xff\n\015\[\]]|\\[^\x80-\xff])*\])[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*(?:\.[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|\[(?:[^\\\x80-\xff\n\015\[\]]|\\[^\x80-\xff])*\])[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*)*)*:[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*)?(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|"[^\\\x80-\xff\n\015"]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015"]*)*")[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*(?:\.[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|"[^\\\x80-\xff\n\015"]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015"]*)*")[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*)*@[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|\[(?:[^\\\x80-\xff\n\015\[\]]|\\[^\x80-\xff])*\])[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*(?:\.[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*(?:[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff])|\[(?:[^\\\x80-\xff\n\015\[\]]|\\[^\x80-\xff])*\])[\040\t]*(?:\([^\\\x80-\xff\n\015()]*(?:(?:\\[^\x80-\xff]|\([^\\\x80-\xff\n\015()]*(?:\\[^\x80-\xff][^\\\x80-\xff\n\015()]*)*\))[^\\\x80-\xff\n\015()]*)*\)[\040\t]*)*)*>)/;
-res[862] = /abc\x0def\x00pqr\x000xyz\x0000AB/;
-res[863] = /^[\000-\037]/;
-res[864] = /\0*/;
-res[865] = /A\x0{2,3}Z/;
-res[866] = /^\s/;
-res[867] = /^abc/;
-res[868] = /ab{1,3}bc/;
-res[869] = /([^.]*)\.([^:]*):[T ]+(.*)/;
-res[870] = /([^.]*)\.([^:]*):[T ]+(.*)/i;
-res[871] = /([^.]*)\.([^:]*):[t ]+(.*)/i;
-res[872] = /^[W-c]+$/;
-res[873] = /^[W-c]+$/i;
-res[874] = /^[\x3f-\x5F]+$/i;
-res[875] = /^abc$/m;
-res[876] = /^abc$/;
-res[877] = /\Aabc\Z/m;
-res[878] = /\A(.)*\Z/;
-res[879] = /\A(.)*\Z/m;
-res[880] = /(?:b)|(?::+)/;
-res[881] = /[-az]+/;
-res[882] = /[az-]+/;
-res[883] = /[a\-z]+/;
-res[884] = /[a-z]+/;
-res[885] = /[\d-]+/;
-res[886] = /[\d-z]+/;
-res[887] = /\x5c/;
-res[888] = /\x20Z/;
-res[889] = /ab{3cd/;
-res[890] = /ab{3,cd/;
-res[891] = /ab{3,4a}cd/;
-res[892] = /{4,5a}bc/;
-res[893] = /^a.b/;
-res[894] = /abc$/;
-res[895] = /(abc)\123/;
-res[896] = /(abc)\223/;
-res[897] = /(abc)\323/;
-res[898] = /(abc)\100/;
-res[899] = /abc\81/;
-res[900] = /abc\91/;
-res[901] = /(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)\12\123/;
-res[902] = /ab\idef/;
-res[903] = /a{0}bc/;
-res[904] = /(a|(bc)){0,0}?xyz/;
-res[905] = /abc[\10]de/;
-res[906] = /abc[\1]de/;
-res[907] = /(abc)[\1]de/;
-res[908] = /^([^a])([^\b])([^c]*)([^d]{3,4})/;
-res[909] = /[^a]/;
-res[910] = /[^a]/i;
-res[911] = /[^a]+/;
-res[912] = /[^a]+/i;
-res[913] = /[^a]+/;
-res[914] = /[^k]$/;
-res[915] = /[^k]{2,3}$/;
-res[916] = /^\d{8,}\@.+[^k]$/;
-res[917] = /[^a]/;
-res[918] = /[^a]/i;
-res[919] = /[^az]/;
-res[920] = /[^az]/i;
-res[921] = /\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377/;
-res[922] = /P[^*]TAIRE[^*]{1,6}?LL/;
-res[923] = /P[^*]TAIRE[^*]{1,}?LL/;
-res[924] = /(\.\d\d[1-9]?)\d+/;
-res[925] = /(\.\d\d((?=0)|\d(?=\d)))/;
-res[926] = /\b(foo)\s+(\w+)/i;
-res[927] = /foo(.*)bar/;
-res[928] = /foo(.*?)bar/;
-res[929] = /(.*)(\d*)/;
-res[930] = /(.*)(\d+)/;
-res[931] = /(.*?)(\d*)/;
-res[932] = /(.*?)(\d+)/;
-res[933] = /(.*)(\d+)$/;
-res[934] = /(.*?)(\d+)$/;
-res[935] = /(.*)\b(\d+)$/;
-res[936] = /(.*\D)(\d+)$/;
-res[937] = /^\D*(?!123)/;
-res[938] = /^(\D*)(?=\d)(?!123)/;
-res[939] = /^[W-]46]/;
-res[940] = /^[W-\]46]/;
-res[941] = /\d\d\/\d\d\/\d\d\d\d/;
-res[942] = /word (?:[a-zA-Z0-9]+ ){0,10}otherword/;
-res[943] = /word (?:[a-zA-Z0-9]+ ){0,300}otherword/;
-res[944] = /^(a){0,0}/;
-res[945] = /^(a){0,1}/;
-res[946] = /^(a){0,2}/;
-res[947] = /^(a){0,3}/;
-res[948] = /^(a){0,}/;
-res[949] = /^(a){1,1}/;
-res[950] = /^(a){1,2}/;
-res[951] = /^(a){1,3}/;
-res[952] = /^(a){1,}/;
-res[953] = /.*\.gif/;
-res[954] = /.{0,}\.gif/;
-res[955] = /.*\.gif/m;
-res[956] = /.*\.gif/;
-res[957] = /.*\.gif/m;
-res[958] = /.*$/;
-res[959] = /.*$/m;
-res[960] = /.*$/;
-res[961] = /.*$/m;
-res[962] = /.*$/;
-res[963] = /.*$/m;
-res[964] = /.*$/;
-res[965] = /.*$/m;
-res[966] = /(.*X|^B)/;
-res[967] = /(.*X|^B)/m;
-res[968] = /(.*X|^B)/;
-res[969] = /(.*X|^B)/m;
-res[970] = /^.*B/;
-res[971] = /^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]/;
-res[972] = /^\d\d\d\d\d\d\d\d\d\d\d\d/;
-res[973] = /^[\d][\d][\d][\d][\d][\d][\d][\d][\d][\d][\d][\d]/;
-res[974] = /^[abc]{12}/;
-res[975] = /^[a-c]{12}/;
-res[976] = /^(a|b|c){12}/;
-res[977] = /^[abcdefghijklmnopqrstuvwxy0123456789]/;
-res[978] = /abcde{0,0}/;
-res[979] = /ab[cd]{0,0}e/;
-res[980] = /ab(c){0,0}d/;
-res[981] = /a(b*)/;
-res[982] = /ab\d{0}e/;
-res[983] = /"([^\\"]+|\\.)*"/;
-res[984] = /.*?/g;
-res[985] = /\b/g;
-res[986] = /\b/g;
-res[987] = /<tr([\w\W\s\d][^<>]{0,})><TD([\w\W\s\d][^<>]{0,})>([\d]{0,}\.)(.*)((<BR>([\w\W\s\d][^<>]{0,})|[\s]{0,}))<\/a><\/TD><TD([\w\W\s\d][^<>]{0,})>([\w\W\s\d][^<>]{0,})<\/TD><TD([\w\W\s\d][^<>]{0,})>([\w\W\s\d][^<>]{0,})<\/TD><\/TR>/i;
-res[988] = /a[^a]b/;
-res[989] = /a.b/;
-res[990] = /a[^a]b/;
-res[991] = /a.b/;
-res[992] = /^(b+?|a){1,2}?c/;
-res[993] = /^(b+|a){1,2}?c/;
-res[994] = /(?!\A)x/m;
-res[995] = /\x0{ab}/;
-res[996] = /(A|B)*?CD/;
-res[997] = /(A|B)*CD/;
-res[998] = /\Aabc\z/m;
-res[999] = /(\d+)(\w)/;
-res[1000] = /(a+|b+|c+)*c/;
-res[1001] = /(abc|)+/;
-res[1002] = /([a]*)*/;
-res[1003] = /([ab]*)*/;
-res[1004] = /([^a]*)*/;
-res[1005] = /([^ab]*)*/;
-res[1006] = /([a]*?)*/;
-res[1007] = /([ab]*?)*/;
-res[1008] = /([^a]*?)*/;
-res[1009] = /([^ab]*?)*/;
-res[1010] = /The following tests are taken from the Perl 5.005 test suite; some of them/;
-res[1011] = /are compatible with 5.004, but I'd rather not have to sort them out./;
-res[1012] = /abc/;
-res[1013] = /ab*c/;
-res[1014] = /ab*bc/;
-res[1015] = /.{1}/;
-res[1016] = /.{3,4}/;
-res[1017] = /ab{0,}bc/;
-res[1018] = /ab+bc/;
-res[1019] = /ab{1,}bc/;
-res[1020] = /ab+bc/;
-res[1021] = /ab{1,}bc/;
-res[1022] = /ab{1,3}bc/;
-res[1023] = /ab{3,4}bc/;
-res[1024] = /ab{4,5}bc/;
-res[1025] = /ab?bc/;
-res[1026] = /ab{0,1}bc/;
-res[1027] = /ab?bc/;
-res[1028] = /ab?c/;
-res[1029] = /ab{0,1}c/;
-res[1030] = /^abc$/;
-res[1031] = /^abc/;
-res[1032] = /^abc$/;
-res[1033] = /abc$/;
-res[1034] = /^/;
-res[1035] = /$/;
-res[1036] = /a.c/;
-res[1037] = /a.*c/;
-res[1038] = /a[bc]d/;
-res[1039] = /a[b-d]e/;
-res[1040] = /a[b-d]/;
-res[1041] = /a[-b]/;
-res[1042] = /a[b-]/;
-res[1043] = /a]/;
-res[1044] = /a[]]b/;
-res[1045] = /a[^bc]d/;
-res[1046] = /a[^-b]c/;
-res[1047] = /a[^]b]c/;
-res[1048] = /\ba\b/;
-res[1049] = /\by\b/;
-res[1050] = /\Ba\B/;
-res[1051] = /\By\b/;
-res[1052] = /\by\B/;
-res[1053] = /\By\B/;
-res[1054] = /\w/;
-res[1055] = /\W/;
-res[1056] = /a\sb/;
-res[1057] = /a\Sb/;
-res[1058] = /\d/;
-res[1059] = /\D/;
-res[1060] = /[\w]/;
-res[1061] = /[\W]/;
-res[1062] = /a[\s]b/;
-res[1063] = /a[\S]b/;
-res[1064] = /[\d]/;
-res[1065] = /[\D]/;
-res[1066] = /ab|cd/;
-res[1067] = /()ef/;
-res[1068] = /$b/;
-res[1069] = /a\(b/;
-res[1070] = /a\\b/;
-res[1071] = /((a))/;
-res[1072] = /(a)b(c)/;
-res[1073] = /a+b+c/;
-res[1074] = /a{1,}b{1,}c/;
-res[1075] = /a.+?c/;
-res[1076] = /(a+|b)*/;
-res[1077] = /(a+|b){0,}/;
-res[1078] = /(a+|b)+/;
-res[1079] = /(a+|b){1,}/;
-res[1080] = /(a+|b)?/;
-res[1081] = /(a+|b){0,1}/;
-res[1082] = /[^ab]*/;
-res[1083] = /abc/;
-res[1084] = /a*/;
-res[1085] = /([abc])*d/;
-res[1086] = /([abc])*bcd/;
-res[1087] = /a|b|c|d|e/;
-res[1088] = /(a|b|c|d|e)f/;
-res[1089] = /abcd*efg/;
-res[1090] = /ab*/;
-res[1091] = /(ab|cd)e/;
-res[1092] = /[abhgefdc]ij/;
-res[1093] = /^(ab|cd)e/;
-res[1094] = /(abc|)ef/;
-res[1095] = /(a|b)c*d/;
-res[1096] = /(ab|ab*)bc/;
-res[1097] = /a([bc]*)c*/;
-res[1098] = /a([bc]*)(c*d)/;
-res[1099] = /a([bc]+)(c*d)/;
-res[1100] = /a([bc]*)(c+d)/;
-res[1101] = /a[bcd]*dcdcde/;
-res[1102] = /a[bcd]+dcdcde/;
-res[1103] = /(ab|a)b*c/;
-res[1104] = /((a)(b)c)(d)/;
-res[1105] = /[a-zA-Z_][a-zA-Z0-9_]*/;
-res[1106] = /^a(bc+|b[eh])g|.h$/;
-res[1107] = /(bc+d$|ef*g.|h?i(j|k))/;
-res[1108] = /((((((((((a))))))))))/;
-res[1109] = /(((((((((a)))))))))/;
-res[1110] = /multiple words of text/;
-res[1111] = /multiple words/;
-res[1112] = /(.*)c(.*)/;
-res[1113] = /\((.*), (.*)\)/;
-res[1114] = /[k]/;
-res[1115] = /abcd/;
-res[1116] = /a(bc)d/;
-res[1117] = /a[-]?c/;
-res[1118] = /abc/i;
-res[1119] = /ab*c/i;
-res[1120] = /ab*bc/i;
-res[1121] = /ab*?bc/i;
-res[1122] = /ab{0,}?bc/i;
-res[1123] = /ab+?bc/i;
-res[1124] = /ab+bc/i;
-res[1125] = /ab{1,}bc/i;
-res[1126] = /ab+bc/i;
-res[1127] = /ab{1,}?bc/i;
-res[1128] = /ab{1,3}?bc/i;
-res[1129] = /ab{3,4}?bc/i;
-res[1130] = /ab{4,5}?bc/i;
-res[1131] = /ab??bc/i;
-res[1132] = /ab{0,1}?bc/i;
-res[1133] = /ab??bc/i;
-res[1134] = /ab??c/i;
-res[1135] = /ab{0,1}?c/i;
-res[1136] = /^abc$/i;
-res[1137] = /^abc/i;
-res[1138] = /^abc$/i;
-res[1139] = /abc$/i;
-res[1140] = /^/i;
-res[1141] = /$/i;
-res[1142] = /a.c/i;
-res[1143] = /a.*?c/i;
-res[1144] = /a.*c/i;
-res[1145] = /a[bc]d/i;
-res[1146] = /a[b-d]e/i;
-res[1147] = /a[b-d]/i;
-res[1148] = /a[-b]/i;
-res[1149] = /a[b-]/i;
-res[1150] = /a]/i;
-res[1151] = /a[]]b/i;
-res[1152] = /a[^bc]d/i;
-res[1153] = /a[^-b]c/i;
-res[1154] = /a[^]b]c/i;
-res[1155] = /ab|cd/i;
-res[1156] = /()ef/i;
-res[1157] = /$b/i;
-res[1158] = /a\(b/i;
-res[1159] = /a\\b/i;
-res[1160] = /((a))/i;
-res[1161] = /(a)b(c)/i;
-res[1162] = /a+b+c/i;
-res[1163] = /a{1,}b{1,}c/i;
-res[1164] = /a.+?c/i;
-res[1165] = /a.*?c/i;
-res[1166] = /a.{0,5}?c/i;
-res[1167] = /(a+|b)*/i;
-res[1168] = /(a+|b){0,}/i;
-res[1169] = /(a+|b)+/i;
-res[1170] = /(a+|b){1,}/i;
-res[1171] = /(a+|b)?/i;
-res[1172] = /(a+|b){0,1}/i;
-res[1173] = /(a+|b){0,1}?/i;
-res[1174] = /[^ab]*/i;
-res[1175] = /abc/i;
-res[1176] = /a*/i;
-res[1177] = /([abc])*d/i;
-res[1178] = /([abc])*bcd/i;
-res[1179] = /a|b|c|d|e/i;
-res[1180] = /(a|b|c|d|e)f/i;
-res[1181] = /abcd*efg/i;
-res[1182] = /ab*/i;
-res[1183] = /(ab|cd)e/i;
-res[1184] = /[abhgefdc]ij/i;
-res[1185] = /^(ab|cd)e/i;
-res[1186] = /(abc|)ef/i;
-res[1187] = /(a|b)c*d/i;
-res[1188] = /(ab|ab*)bc/i;
-res[1189] = /a([bc]*)c*/i;
-res[1190] = /a([bc]*)(c*d)/i;
-res[1191] = /a([bc]+)(c*d)/i;
-res[1192] = /a([bc]*)(c+d)/i;
-res[1193] = /a[bcd]*dcdcde/i;
-res[1194] = /a[bcd]+dcdcde/i;
-res[1195] = /(ab|a)b*c/i;
-res[1196] = /((a)(b)c)(d)/i;
-res[1197] = /[a-zA-Z_][a-zA-Z0-9_]*/i;
-res[1198] = /^a(bc+|b[eh])g|.h$/i;
-res[1199] = /(bc+d$|ef*g.|h?i(j|k))/i;
-res[1200] = /((((((((((a))))))))))/i;
-res[1201] = /(((((((((a)))))))))/i;
-res[1202] = /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))/i;
-res[1203] = /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/i;
-res[1204] = /multiple words of text/i;
-res[1205] = /multiple words/i;
-res[1206] = /(.*)c(.*)/i;
-res[1207] = /\((.*), (.*)\)/i;
-res[1208] = /[k]/i;
-res[1209] = /abcd/i;
-res[1210] = /a(bc)d/i;
-res[1211] = /a[-]?c/i;
-res[1212] = /a(?!b)./;
-res[1213] = /a(?=d)./;
-res[1214] = /a(?=c|d)./;
-res[1215] = /a(?:b|c|d)(.)/;
-res[1216] = /a(?:b|c|d)*(.)/;
-res[1217] = /a(?:b|c|d)+?(.)/;
-res[1218] = /a(?:b|c|d)+(.)/;
-res[1219] = /a(?:b|c|d){2}(.)/;
-res[1220] = /a(?:b|c|d){4,5}(.)/;
-res[1221] = /a(?:b|c|d){4,5}?(.)/;
-res[1222] = /((foo)|(bar))*/;
-res[1223] = /a(?:b|c|d){6,7}(.)/;
-res[1224] = /a(?:b|c|d){6,7}?(.)/;
-res[1225] = /a(?:b|c|d){5,6}(.)/;
-res[1226] = /a(?:b|c|d){5,6}?(.)/;
-res[1227] = /a(?:b|c|d){5,7}(.)/;
-res[1228] = /a(?:b|c|d){5,7}?(.)/;
-res[1229] = /a(?:b|(c|e){1,2}?|d)+?(.)/;
-res[1230] = /^(.+)?B/;
-res[1231] = /^([^a-z])|(\^)$/;
-res[1232] = /^[<>]&/;
-res[1233] = /(?:(f)(o)(o)|(b)(a)(r))*/;
-res[1234] = /(?:..)*a/;
-res[1235] = /(?:..)*?a/;
-res[1236] = /^(){3,5}/;
-res[1237] = /^(a+)*ax/;
-res[1238] = /^((a|b)+)*ax/;
-res[1239] = /^((a|bc)+)*ax/;
-res[1240] = /(a|x)*ab/;
-res[1241] = /(a)*ab/;
-res[1242] = /(?:c|d)(?:)(?:a(?:)(?:b)(?:b(?:))(?:b(?:)(?:b)))/;
-res[1243] = /(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/;
-res[1244] = /foo\w*\d{4}baz/;
-res[1245] = /x(~~)*(?:(?:F)?)?/;
-res[1246] = /^a{3}c/;
-res[1247] = /^a{3}c/;
-res[1248] = /^(?:a?b?)*$/;
-res[1249] = /^b/;
-res[1250] = /()^b/;
-res[1251] = /(\w+:)+/;
-res[1252] = /([\w:]+::)?(\w+)$/;
-res[1253] = /^[^bcd]*(c+)/;
-res[1254] = /(a*)b+/;
-res[1255] = /([\w:]+::)?(\w+)$/;
-res[1256] = /^[^bcd]*(c+)/;
-res[1257] = /(>a+)ab/;
-res[1258] = /([[:]+)/;
-res[1259] = /([[=]+)/;
-res[1260] = /([[.]+)/;
-res[1261] = /a\Z/;
-res[1262] = /b\Z/;
-res[1263] = /b\z/;
-res[1264] = /b\Z/;
-res[1265] = /b\z/;
-res[1266] = /((Z)+|A)*/;
-res[1267] = /(Z()|A)*/;
-res[1268] = /(Z(())|A)*/;
-res[1269] = /a*/g;
-res[1270] = /^[\d-a]/;
-res[1271] = /[[:space:]]+/;
-res[1272] = /[[:blank:]]+/;
-res[1273] = /[\s]+/;
-res[1274] = /\s+/;
-res[1275] = /a b/;
-res[1276] = /(?!\A)x/m;
-res[1277] = /(?!^)x/m;
-res[1278] = /abc\Qabc\Eabc/;
-res[1279] = /abc\Qabc\Eabc/;
-res[1280] = /abc\Qliteral\E/;
-res[1281] = /abc\Qliteral/;
-res[1282] = /abc\Qliteral\E/;
-res[1283] = /abc\Qliteral\E/;
-res[1284] = /\Qabc\$xyz\E/;
-res[1285] = /\Qabc\E\$\Qxyz\E/;
-res[1286] = /\Gabc/;
-res[1287] = /\Gabc./g;
-res[1288] = /abc./g;
-res[1289] = /[z\Qa-d]\E]/;
-res[1290] = /[\z\C]/;
-res[1291] = /\M/;
-res[1292] = /(a+)*b/;
-res[1293] = /line\nbreak/;
-res[1294] = /line\nbreak/;
-res[1295] = /line\nbreak/m;
-res[1296] = /1234/;
-res[1297] = /1234/;
-res[1298] = /^/mg;
-res[1299] = /Content-Type\x3A[^\r\n]{6,}/;
-res[1300] = /Content-Type\x3A[^\r\n]{6,}z/;
-res[1301] = /Content-Type\x3A[^a]{6,}/;
-res[1302] = /Content-Type\x3A[^a]{6,}z/;
-res[1303] = /^abc/m;
-res[1304] = /abc$/m;
-res[1305] = /^abc/m;
-res[1306] = /^abc/m;
-res[1307] = /^abc/m;
-res[1308] = /.*/;
-res[1309] = /\w+(.)(.)?def/;
-res[1310] = /^\w+=.*(\\\n.*)*/;
-res[1311] = /^(a()*)*/;
-res[1312] = /^(?:a(?:(?:))*)*/;
-res[1313] = /^(a()+)+/;
-res[1314] = /^(?:a(?:(?:))+)+/;
-res[1315] = /(a|)*\d/;
-res[1316] = /(?:a|)*\d/;
-res[1317] = /^a.b/;
-res[1318] = /^abc./mg;
-res[1319] = /abc.$/mg;
-res[1320] = /^a\Rb/i;
-res[1321] = /^a\R*b/i;
-res[1322] = /^a\R+b/i;
-res[1323] = /^a\R{1,3}b/i;
-res[1324] = /^a[\R]b/i;
-res[1325] = /.+foo/;
-res[1326] = /.+foo/;
-res[1327] = /.+foo/;
-res[1328] = /.+foo/;
-res[1329] = /^$/mg;
-res[1330] = /^X/m;
-res[1331] = /\H\h\V\v/;
-res[1332] = /\H*\h+\V?\v{3,4}/;
-res[1333] = /\H{3,4}/;
-res[1334] = /.\h{3,4}./;
-res[1335] = /\h*X\h?\H+Y\H?Z/;
-res[1336] = /\v*X\v?Y\v+Z\V*\x0a\V+\x0b\V{2,3}\x0c/;
-res[1337] = /.+A/;
-res[1338] = /\nA/;
-res[1339] = /[\r\n]A/;
-res[1340] = /(\r|\n)A/;
-res[1341] = /a\Rb/i;
-res[1342] = /a\Rb/i;
-res[1343] = /a\R?b/i;
-res[1344] = /a\R?b/i;
-res[1345] = /a\R{2,4}b/i;
-res[1346] = /a\R{2,4}b/i;
-res[1347] = /a(?!)|\wbc/;
-res[1348] = /a[]b/;
-res[1349] = /a[]+b/;
-res[1350] = /a[^]b/;
-res[1351] = /a[^]+b/;
-res[1352] = / End of testinput7 /;
-res[1353] = /\bX/;
-res[1354] = /\BX/;
-res[1355] = /X\b/;
-res[1356] = /X\B/;
-res[1357] = /[^a]/;
-res[1358] = /abc/;
-res[1359] = /a.b/;
-res[1360] = /a(.{3})b/;
-res[1361] = /a(.*?)(.)/;
-res[1362] = /a(.*?)(.)/;
-res[1363] = /a(.*)(.)/;
-res[1364] = /a(.*)(.)/;
-res[1365] = /a(.)(.)/;
-res[1366] = /a(.)(.)/;
-res[1367] = /a(.?)(.)/;
-res[1368] = /a(.?)(.)/;
-res[1369] = /a(.??)(.)/;
-res[1370] = /a(.??)(.)/;
-res[1371] = /a(.{3})b/;
-res[1372] = /a(.{3,})b/;
-res[1373] = /a(.{3,}?)b/;
-res[1374] = /a(.{3,5})b/;
-res[1375] = /a(.{3,5}?)b/;
-res[1376] = /[^a]+/g;
-res[1377] = /^[^a]{2}/;
-res[1378] = /^[^a]{2,}/;
-res[1379] = /^[^a]{2,}?/;
-res[1380] = /[^a]+/ig;
-res[1381] = /^[^a]{2}/i;
-res[1382] = /^[^a]{2,}/i;
-res[1383] = /^[^a]{2,}?/i;
-res[1384] = /\D*/;
-res[1385] = /\D*/;
-res[1386] = /\D/;
-res[1387] = />\S/;
-res[1388] = /\d/;
-res[1389] = /\s/;
-res[1390] = /\D+/;
-res[1391] = /\D{2,3}/;
-res[1392] = /\D{2,3}?/;
-res[1393] = /\d+/;
-res[1394] = /\d{2,3}/;
-res[1395] = /\d{2,3}?/;
-res[1396] = /\S+/;
-res[1397] = /\S{2,3}/;
-res[1398] = /\S{2,3}?/;
-res[1399] = />\s+</;
-res[1400] = />\s{2,3}</;
-res[1401] = />\s{2,3}?</;
-res[1402] = /\w+/;
-res[1403] = /\w{2,3}/;
-res[1404] = /\w{2,3}?/;
-res[1405] = /\W+/;
-res[1406] = /\W{2,3}/;
-res[1407] = /\W{2,3}?/;
-res[1408] = /[\xFF]/;
-res[1409] = /[\xff]/;
-res[1410] = /[^\xFF]/;
-res[1411] = /[^\xff]/;
-res[1412] = /^[ac]*b/;
-res[1413] = /^[^x]*b/i;
-res[1414] = /^[^x]*b/;
-res[1415] = /^\d*b/;
-res[1416] = /(|a)/g;
-res[1417] = /^abc./mg;
-res[1418] = /abc.$/mg;
-res[1419] = /^a\Rb/i;
-res[1420] = /^a\R*b/i;
-res[1421] = /^a\R+b/i;
-res[1422] = /^a\R{1,3}b/i;
-res[1423] = /\h+\V?\v{3,4}/;
-res[1424] = /\V?\v{3,4}/;
-res[1425] = /\h+\V?\v{3,4}/;
-res[1426] = /\V?\v{3,4}/;
-res[1427] = /\H\h\V\v/;
-res[1428] = /\H*\h+\V?\v{3,4}/;
-res[1429] = /\H\h\V\v/;
-res[1430] = /\H*\h+\V?\v{3,4}/;
-res[1431] = /a\Rb/i;
-res[1432] = /a\Rb/i;
-res[1433] = /a\R?b/i;
-res[1434] = /a\R?b/i;
-res[1435] = /X/;
-res[1436] = / End of testinput 8 /;
-res[1437] = /\pL\P{Nd}/;
-res[1438] = /\X./;
-res[1439] = /\X\X/;
-res[1440] = /^\pL+/;
-res[1441] = /^\PL+/;
-res[1442] = /^\X+/;
-res[1443] = /\X?abc/;
-res[1444] = /^\X?abc/;
-res[1445] = /\X*abc/;
-res[1446] = /^\X*abc/;
-res[1447] = /^\pL?=./;
-res[1448] = /^\pL*=./;
-res[1449] = /^\X{2,3}X/;
-res[1450] = /^\pC\pL\pM\pN\pP\pS\pZ</;
-res[1451] = /^\PC/;
-res[1452] = /^\PL/;
-res[1453] = /^\PM/;
-res[1454] = /^\PN/;
-res[1455] = /^\PP/;
-res[1456] = /^\PS/;
-res[1457] = /^\PZ/;
-res[1458] = /^\p{Cc}/;
-res[1459] = /^\p{Cf}/;
-res[1460] = /^\p{Cn}/;
-res[1461] = /^\p{Co}/;
-res[1462] = /^\p{Cs}/;
-res[1463] = /^\p{Ll}/;
-res[1464] = /^\p{Lm}/;
-res[1465] = /^\p{Lo}/;
-res[1466] = /^\p{Lt}/;
-res[1467] = /^\p{Lu}/;
-res[1468] = /^\p{Mc}/;
-res[1469] = /^\p{Me}/;
-res[1470] = /^\p{Mn}/;
-res[1471] = /^\p{Nl}/;
-res[1472] = /^\p{No}/;
-res[1473] = /^\p{Pc}/;
-res[1474] = /^\p{Pd}/;
-res[1475] = /^\p{Pe}/;
-res[1476] = /^\p{Pf}/;
-res[1477] = /^\p{Pi}/;
-res[1478] = /^\p{Po}/;
-res[1479] = /^\p{Ps}/;
-res[1480] = /^\p{Sk}/;
-res[1481] = /^\p{So}/;
-res[1482] = /^\p{Zl}/;
-res[1483] = /^\p{Zp}/;
-res[1484] = /^\p{Zs}/;
-res[1485] = /\p{Nd}{2,}(..)/;
-res[1486] = /\p{Nd}{2,}?(..)/;
-res[1487] = /\p{Nd}*(..)/;
-res[1488] = /\p{Nd}*?(..)/;
-res[1489] = /\p{Nd}{2}(..)/;
-res[1490] = /\p{Nd}{2,3}(..)/;
-res[1491] = /\p{Nd}{2,3}?(..)/;
-res[1492] = /\p{Nd}?(..)/;
-res[1493] = /\p{Nd}??(..)/;
-res[1494] = /\p{Lu}/i;
-res[1495] = /\p{^Lu}/i;
-res[1496] = /\P{Lu}/i;
-res[1497] = /[\p{Nd}]/;
-res[1498] = /[\P{Nd}]+/;
-res[1499] = /\D+/;
-res[1500] = /[\D]+/;
-res[1501] = /[\P{Nd}]+/;
-res[1502] = /[\D\P{Nd}]+/;
-res[1503] = /\pL/;
-res[1504] = /\pL/i;
-res[1505] = /\p{Lu}/;
-res[1506] = /\p{Lu}/i;
-res[1507] = /\p{Ll}/;
-res[1508] = /\p{Ll}/i;
-res[1509] = /^\X/;
-res[1510] = /^[\X]/;
-res[1511] = /^(\X*)C/;
-res[1512] = /^(\X*?)C/;
-res[1513] = /^(\X*)(.)/;
-res[1514] = /^(\X*?)(.)/;
-res[1515] = /^\X(.)/;
-res[1516] = /^\X{2,3}(.)/;
-res[1517] = /^\X{2,3}?(.)/;
-res[1518] = /^\pN{2,3}X/;
-res[1519] = /^[\p{Arabic}]/;
-res[1520] = /^[\P{Yi}]/;
-res[1521] = /^\p{Any}X/;
-res[1522] = /^\P{Any}X/;
-res[1523] = /^\p{Any}?X/;
-res[1524] = /^\P{Any}?X/;
-res[1525] = /^\p{Any}*X/;
-res[1526] = /^\P{Any}*X/;
-res[1527] = /^[\p{Any}]X/;
-res[1528] = /^[\P{Any}]X/;
-res[1529] = /^[\p{Any}]?X/;
-res[1530] = /^[\P{Any}]?X/;
-res[1531] = /^[\p{Any}]+X/;
-res[1532] = /^[\P{Any}]+X/;
-res[1533] = /^[\p{Any}]*X/;
-res[1534] = /^[\P{Any}]*X/;
-res[1535] = /^\p{Any}{3,5}?/;
-res[1536] = /^\p{Any}{3,5}/;
-res[1537] = /^\P{Any}{3,5}?/;
-res[1538] = /^\p{L&}X/;
-res[1539] = /^[\p{L&}]X/;
-res[1540] = /^[\p{L&}]+X/;
-res[1541] = /^[\p{L&}]+?X/;
-res[1542] = /^\P{L&}X/;
-res[1543] = /^[\P{L&}]X/;
-res[1544] = /Check property support in non-UTF-8 mode/;
-res[1545] = /\p{L}{4}/;
-res[1546] = /\p{Carian}\p{Cham}\p{Kayah_Li}\p{Lepcha}\p{Lycian}\p{Lydian}\p{Ol_Chiki}\p{Rejang}\p{Saurashtra}\p{Sundanese}\p{Vai}/;
-res[1547] = / End /;
-res[1548] = /^[[:alnum:]]/m;
-res[1549] = /a/im;
-res[1550] = /abcde/m;
-res[1551] = /\x80/m;
-res[1552] = /\xff/m;
-res[1553] = /[\p{L}]/m;
-res[1554] = /[\p{^L}]/m;
-res[1555] = /[\P{L}]/m;
-res[1556] = /[\P{^L}]/m;
-res[1557] = /[\p{Nd}]/m;
-res[1558] = /[a]/m;
-res[1559] = /[a]/m;
-res[1560] = /[\xaa]/m;
-res[1561] = /[\xaa]/m;
-res[1562] = /[^a]/m;
-res[1563] = /[^a]/m;
-res[1564] = /[^\xaa]/m;
-res[1565] = /[^\xaa]/m;
-res[1566] = / End of testinput10 /;
-assertToStringEquals("abc", res[1].exec("abc"), 0);
-assertToStringEquals("abc", res[1].exec("defabc"), 1);
-assertToStringEquals("abc", res[1].exec("Aabc"), 2);
-assertNull(res[1].exec("*** Failers", 3));
-assertToStringEquals("abc", res[1].exec("Adefabc"), 4);
-assertToStringEquals("ABC", res[1].exec("ABC"), 5);
-assertToStringEquals("abc", res[2].exec("abc"), 6);
-assertNull(res[2].exec("Aabc", 7));
-assertNull(res[2].exec("*** Failers", 8));
-assertNull(res[2].exec("defabc", 9));
-assertNull(res[2].exec("Adefabc", 10));
-assertToStringEquals("abc", res[7].exec("abc"), 11);
-assertNull(res[7].exec("*** Failers", 12));
-assertNull(res[7].exec("def\nabc", 13));
-assertThrows("var re = /x{5,4}/;", 14);
-assertThrows("var re = /[abcd/;", 15);
-assertThrows("var re = /[z-a]/;", 16);
-assertThrows("var re = /^*/;", 17);
-assertThrows("var re = /(abc/;", 18);
-assertThrows("var re = /(?# abc/;", 19);
-assertToStringEquals("cat", res[11].exec("this sentence eventually mentions a cat"), 20);
-assertToStringEquals("elephant", res[11].exec("this sentences rambles on and on for a while and then reaches elephant"), 21);
-assertToStringEquals("cat", res[12].exec("this sentence eventually mentions a cat"), 22);
-assertToStringEquals("elephant", res[12].exec("this sentences rambles on and on for a while and then reaches elephant"), 23);
-assertToStringEquals("CAT", res[13].exec("this sentence eventually mentions a CAT cat"), 24);
-assertToStringEquals("elephant", res[13].exec("this sentences rambles on and on for a while to elephant ElePhant"), 25);
-assertThrows("var re = /{4,5}abc/;", 26);
-assertToStringEquals("abcb,a,b,c", res[18].exec("abcb"), 27);
-assertToStringEquals("abcb,a,b,c", res[18].exec("O0abcb"), 28);
-assertToStringEquals("abcb,a,b,c", res[18].exec("O3abcb"), 29);
-assertToStringEquals("abcb,a,b,c", res[18].exec("O6abcb"), 30);
-assertToStringEquals("abcb,a,b,c", res[18].exec("O9abcb"), 31);
-assertToStringEquals("abcb,a,b,c", res[18].exec("O12abcb"), 32);
-assertToStringEquals("abc,a,,", res[19].exec("abc"), 33);
-assertToStringEquals("abc,a,,", res[19].exec("O0abc"), 34);
-assertToStringEquals("abc,a,,", res[19].exec("O3abc"), 35);
-assertToStringEquals("abc,a,,", res[19].exec("O6abc"), 36);
-assertToStringEquals("aba,,a,b", res[19].exec("aba"), 37);
-assertToStringEquals("aba,,a,b", res[19].exec("O0aba"), 38);
-assertToStringEquals("aba,,a,b", res[19].exec("O3aba"), 39);
-assertToStringEquals("aba,,a,b", res[19].exec("O6aba"), 40);
-assertToStringEquals("aba,,a,b", res[19].exec("O9aba"), 41);
-assertToStringEquals("aba,,a,b", res[19].exec("O12aba"), 42);
-assertToStringEquals("abc", res[20].exec("abc"), 43);
-assertNull(res[20].exec("*** Failers", 44));
-assertNull(res[20].exec("abc\n", 45));
-assertNull(res[20].exec("abc\ndef", 46));
-assertToStringEquals("the quick brown fox", res[22].exec("the quick brown fox"), 47);
-assertToStringEquals("the quick brown fox", res[22].exec("this is a line with the quick brown fox"), 48);
-assertToStringEquals("abc", res[23].exec("abcdef"), 49);
-assertToStringEquals("abc", res[23].exec("abcdefB"), 50);
-assertToStringEquals("defabc,abc,abc,", res[24].exec("defabc"), 51);
-assertToStringEquals("Zdefabc,abc,abc,", res[24].exec("Zdefabc"), 52);
-assertToStringEquals("abc", res[25].exec("abc"), 53);
-assertNull(res[25].exec("*** Failers", 54));
-assertToStringEquals("abc", res[26].exec("abcdef"), 55);
-assertToStringEquals("abc", res[26].exec("abcdefB"), 56);
-assertToStringEquals("defabc,abc,abc,", res[27].exec("defabc"), 57);
-assertToStringEquals("Zdefabc,abc,abc,", res[27].exec("Zdefabc"), 58);
-assertToStringEquals("the quick brown fox", res[28].exec("the quick brown fox"), 59);
-assertNull(res[28].exec("*** Failers", 60));
-assertToStringEquals("The Quick Brown Fox", res[28].exec("The Quick Brown Fox"), 61);
-assertToStringEquals("the quick brown fox", res[29].exec("the quick brown fox"), 62);
-assertToStringEquals("The Quick Brown Fox", res[29].exec("The Quick Brown Fox"), 63);
-assertNull(res[30].exec("*** Failers", 64));
-assertNull(res[30].exec("abc\ndef", 65));
-assertToStringEquals("abc", res[31].exec("abc"), 66);
-assertNull(res[31].exec("abc\n", 67));
-assertToStringEquals("abc,abc", res[33].exec("abc"), 68);
-assertThrows("var re = /)/;", 69);
-assertToStringEquals("-pr", res[35].exec("co-processors, and for"), 70);
-assertToStringEquals("<def>ghi<klm>", res[36].exec("abc<def>ghi<klm>nop"), 71);
-assertToStringEquals("<def>", res[37].exec("abc<def>ghi<klm>nop"), 72);
-assertToStringEquals("<def>", res[37].exec("abc<def>ghi<klm>nop"), 73);
-assertNull(res[37].exec("abc========def", 74));
-assertNull(res[37].exec("foo", 75));
-assertNull(res[37].exec("catfoo", 76));
-assertNull(res[37].exec("*** Failers", 77));
-assertNull(res[37].exec("the barfoo", 78));
-assertNull(res[37].exec("and cattlefoo", 79));
-assertToStringEquals("a", res[40].exec("a"), 80);
-assertNull(res[40].exec("a\n", 81));
-assertNull(res[40].exec("*** Failers", 82));
-assertToStringEquals("a", res[40].exec("Za"), 83);
-assertNull(res[40].exec("Za\n", 84));
-assertToStringEquals("a", res[41].exec("a"), 85);
-assertToStringEquals("a", res[41].exec("a\n"), 86);
-assertToStringEquals("a", res[41].exec("Za\n"), 87);
-assertNull(res[41].exec("*** Failers", 88));
-assertToStringEquals("a", res[41].exec("Za"), 89);
-assertToStringEquals("b", res[44].exec("foo\nbarbar"), 90);
-assertToStringEquals("a", res[44].exec("***Failers"), 91);
-assertToStringEquals("b", res[44].exec("rhubarb"), 92);
-assertToStringEquals("b", res[44].exec("barbell"), 93);
-assertToStringEquals("a", res[44].exec("abc\nbarton"), 94);
-assertToStringEquals("b", res[44].exec("foo\nbarbar"), 95);
-assertToStringEquals("a", res[44].exec("***Failers"), 96);
-assertToStringEquals("b", res[44].exec("rhubarb"), 97);
-assertToStringEquals("b", res[44].exec("barbell"), 98);
-assertToStringEquals("a", res[44].exec("abc\nbarton"), 99);
-assertToStringEquals("a", res[44].exec("abc"), 100);
-assertToStringEquals("a", res[44].exec("def\nabc"), 101);
-assertToStringEquals("a", res[44].exec("*** Failers"), 102);
-assertToStringEquals("a", res[44].exec("defabc"), 103);
-assertNull(res[45].exec("the bullock-cart", 104));
-assertNull(res[45].exec("a donkey-cart race", 105));
-assertNull(res[45].exec("*** Failers", 106));
-assertNull(res[45].exec("cart", 107));
-assertNull(res[45].exec("horse-and-cart", 108));
-assertNull(res[45].exec("alphabetabcd", 109));
-assertNull(res[45].exec("endingxyz", 110));
-assertNull(res[45].exec("abxyZZ", 111));
-assertNull(res[45].exec("abXyZZ", 112));
-assertNull(res[45].exec("ZZZ", 113));
-assertNull(res[45].exec("zZZ", 114));
-assertNull(res[45].exec("bZZ", 115));
-assertNull(res[45].exec("BZZ", 116));
-assertNull(res[45].exec("*** Failers", 117));
-assertNull(res[45].exec("ZZ", 118));
-assertNull(res[45].exec("abXYZZ", 119));
-assertNull(res[45].exec("zzz", 120));
-assertNull(res[45].exec("bzz", 121));
-assertNull(res[45].exec("bar", 122));
-assertNull(res[45].exec("foobbar", 123));
-assertNull(res[45].exec("*** Failers", 124));
-assertNull(res[45].exec("fooabar", 125));
-assertNull(res[46].exec("*** Failers", 126));
-assertNull(res[46].exec("a", 127));
-assertNull(res[48].exec("aaaaaa", 128));
-assertThrows("var re = /a[b-a]/;", 129);
-assertThrows("var re = /a[/;", 130);
-assertThrows("var re = /*a/;", 131);
-assertThrows("var re = /abc)/;", 132);
-assertThrows("var re = /(abc/;", 133);
-assertThrows("var re = /a**/;", 134);
-assertThrows("var re = /)(/;", 135);
-assertThrows("var re = /a[b-a]/;", 136);
-assertThrows("var re = /a[/;", 137);
-assertThrows("var re = /*a/;", 138);
-assertThrows("var re = /abc)/;", 139);
-assertThrows("var re = /(abc/;", 140);
-assertThrows("var re = /a**/;", 141);
-assertThrows("var re = /)(/;", 142);
-assertThrows("var re = /:(?:/;", 143);
-assertThrows("var re = /a(?{)b/;", 144);
-assertThrows("var re = /a(?{{})b/;", 145);
-assertThrows("var re = /a(?{}})b/;", 146);
-assertThrows("var re = /a(?{\"{\"})b/;", 147);
-assertThrows("var re = /a(?{\"{\"}})b/;", 148);
-assertThrows("var re = /[a[:xyz:/;", 149);
-assertThrows("var re = /a{37,17}/;", 150);
-assertToStringEquals("abcd,a,d", res[58].exec("abcd"), 151);
-assertToStringEquals("abcd,a,d", res[58].exec("abcdC2"), 152);
-assertToStringEquals("abcd,a,d", res[58].exec("abcdC5"), 153);
-assertToStringEquals("abcdefghijklmnopqrst,abcdefghijklmnopqrst", res[59].exec("abcdefghijklmnopqrstuvwxyz"), 154);
-assertToStringEquals("abcdefghijklmnopqrst,abcdefghijklmnopqrst", res[59].exec("abcdefghijklmnopqrstuvwxyzC1"), 155);
-assertToStringEquals("abcdefghijklmnopqrst,abcdefghijklmnopqrst", res[59].exec("abcdefghijklmnopqrstuvwxyzG1"), 156);
-assertToStringEquals("abcdefghijklmno,abcdefghijklmno", res[60].exec("abcdefghijklmnopqrstuvwxyz"), 157);
-assertToStringEquals("abcdefghijklmno,abcdefghijklmno", res[60].exec("abcdefghijklmnopqrstuvwxyzC1G1"), 158);
-assertToStringEquals("abcdefghijklmnop,abcdefghijklmnop", res[61].exec("abcdefghijklmnopqrstuvwxyz"), 159);
-assertToStringEquals("abcdefghijklmnop,abcdefghijklmnop", res[61].exec("abcdefghijklmnopqrstuvwxyzC1G1L"), 160);
-assertToStringEquals("adef,a,,f", res[62].exec("adefG1G2G3G4L"), 161);
-assertToStringEquals("bcdef,bc,bc,f", res[62].exec("bcdefG1G2G3G4L"), 162);
-assertToStringEquals("adef,a,,f", res[62].exec("adefghijkC0"), 163);
-assertToStringEquals("abc\x00def", res[63].exec("abc\x00defLC0"), 164);
-assertToStringEquals("iss", res[69].exec("Mississippi"), 165);
-assertToStringEquals("iss", res[70].exec("Mississippi"), 166);
-assertToStringEquals("iss", res[71].exec("Mississippi"), 167);
-assertToStringEquals("iss", res[72].exec("Mississippi"), 168);
-assertToStringEquals("iss", res[73].exec("Mississippi"), 169);
-assertNull(res[73].exec("*** Failers", 170));
-assertToStringEquals("iss", res[73].exec("MississippiA"), 171);
-assertToStringEquals("iss", res[73].exec("Mississippi"), 172);
-assertNull(res[73].exec("Mississippi", 173));
-assertToStringEquals("iss", res[74].exec("ississippi"), 174);
-assertToStringEquals("abciss", res[75].exec("abciss\nxyzisspqr"), 175);
-assertToStringEquals("Mis", res[76].exec("Mississippi"), 176);
-assertToStringEquals("sis", res[76].exec("MississippiA"), 177);
-assertToStringEquals("ri ", res[76].exec("Missouri river"), 178);
-assertToStringEquals("riv", res[76].exec("Missouri riverA"), 179);
-assertToStringEquals("Mis", res[77].exec("Mississippi"), 180);
-assertToStringEquals("ab\n", res[78].exec("ab\nab\ncd"), 181);
-assertToStringEquals("ab\n", res[79].exec("ab\nab\ncd"), 182);
-assertToStringEquals("a", res[115].exec("a"), 183);
-assertToStringEquals("b", res[115].exec("b"), 184);
-assertToStringEquals("ab", res[115].exec("ab"), 185);
-assertToStringEquals("", res[115].exec("\\"), 186);
-assertToStringEquals("", res[115].exec("*** Failers"), 187);
-assertToStringEquals("", res[115].exec("N"), 188);
-assertToStringEquals("", res[116].exec("abcd"), 189);
-assertToStringEquals("", res[116].exec("-abc"), 190);
-assertToStringEquals("", res[116].exec("Nab-c"), 191);
-assertToStringEquals("", res[116].exec("*** Failers"), 192);
-assertToStringEquals("", res[116].exec("Nabc"), 193);
-assertToStringEquals("aaaabbbbzz,bbbb,z,z", res[117].exec("aaaabbbbzzzz"), 194);
-assertToStringEquals("aaaabbbbzz,bbbb,z,z", res[117].exec("aaaabbbbzzzzO0"), 195);
-assertToStringEquals("aaaabbbbzz,bbbb,z,z", res[117].exec("aaaabbbbzzzzO1"), 196);
-assertToStringEquals("aaaabbbbzz,bbbb,z,z", res[117].exec("aaaabbbbzzzzO2"), 197);
-assertToStringEquals("aaaabbbbzz,bbbb,z,z", res[117].exec("aaaabbbbzzzzO3"), 198);
-assertToStringEquals("aaaabbbbzz,bbbb,z,z", res[117].exec("aaaabbbbzzzzO4"), 199);
-assertToStringEquals("aaaabbbbzz,bbbb,z,z", res[117].exec("aaaabbbbzzzzO5"), 200);
-assertToStringEquals("(abcd", res[118].exec("(abcd)"), 201);
-assertToStringEquals("(abcd", res[118].exec("(abcd)xyz"), 202);
-assertNull(res[118].exec("xyz(abcd)", 203));
-assertNull(res[118].exec("(ab(xy)cd)pqr", 204));
-assertNull(res[118].exec("(ab(xycd)pqr", 205));
-assertNull(res[118].exec("() abc ()", 206));
-assertNull(res[118].exec("12(abcde(fsh)xyz(foo(bar))lmno)89", 207));
-assertNull(res[118].exec("*** Failers", 208));
-assertToStringEquals("abcd", res[118].exec("abcd"), 209);
-assertToStringEquals("abcd", res[118].exec("abcd)"), 210);
-assertToStringEquals("(abcd", res[118].exec("(abcd"), 211);
-assertNull(res[118].exec("(ab(xy)cd)pqr", 212));
-assertNull(res[118].exec("1(abcd)(x(y)z)pqr", 213));
-assertToStringEquals("(abcd", res[118].exec("(abcd)"), 214);
-assertNull(res[118].exec("(ab(xy)cd)", 215));
-assertNull(res[118].exec("(a(b(c)d)e)", 216));
-assertNull(res[118].exec("((ab))", 217));
-assertNull(res[118].exec("*** Failers", 218));
-assertNull(res[118].exec("()", 219));
-assertNull(res[118].exec("()", 220));
-assertNull(res[118].exec("12(abcde(fsh)xyz(foo(bar))lmno)89", 221));
-assertNull(res[118].exec("(ab(xy)cd)", 222));
-assertNull(res[118].exec("(ab(xy)cd)", 223));
-assertNull(res[118].exec("(ab(xy)cd)", 224));
-assertNull(res[118].exec("(123ab(xy)cd)", 225));
-assertNull(res[118].exec("(ab(xy)cd)", 226));
-assertNull(res[118].exec("(123ab(xy)cd)", 227));
-assertNull(res[118].exec("(ab(xy)cd)", 228));
-assertToStringEquals("(abcd", res[118].exec("(abcd(xyz<p>qrs)123)"), 229);
-assertNull(res[118].exec("(ab(cd)ef)", 230));
-assertNull(res[118].exec("(ab(cd(ef)gh)ij)", 231));
-assertNull(res[146].exec("A", 232));
-assertNull(res[146].exec("a", 233));
-assertNull(res[147].exec("A", 234));
-assertNull(res[147].exec("a", 235));
-assertNull(res[147].exec("ab", 236));
-assertNull(res[147].exec("aB", 237));
-assertNull(res[147].exec("*** Failers", 238));
-assertNull(res[147].exec("Ab", 239));
-assertNull(res[147].exec("AB", 240));
-assertThrows("var re = /[\\200-\\110]/;", 241);
-assertToStringEquals("1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 ABC ABC,1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10 ,11 ,12 ,13 ,14 ,15 ,16 ,17 ,18 ,19 ,20 ,21 ,22 ,23 ,24 ,25 ,26 ,27 ,28 ,29 ,30 ,31 ,32 ,33 ,34 ,35 ,36 ,37 ,38 ,39 ,40 ,41 ,42 ,43 ,44 ,45 ,46 ,47 ,48 ,49 ,50 ,51 ,52 ,53 ,54 ,55 ,56 ,57 ,58 ,59 ,60 ,61 ,62 ,63 ,64 ,65 ,66 ,67 ,68 ,69 ,70 ,71 ,72 ,73 ,74 ,75 ,76 ,77 ,78 ,79 ,80 ,81 ,82 ,83 ,84 ,85 ,86 ,87 ,88 ,89 ,90 ,91 ,92 ,93 ,94 ,95 ,96 ,97 ,98 ,99 ,100 ,101 ,102 ,103 ,104 ,105 ,106 ,107 ,108 ,109 ,110 ,111 ,112 ,113 ,114 ,115 ,116 ,117 ,118 ,119 ,120 ,121 ,122 ,123 ,124 ,125 ,126 ,127 ,128 ,129 ,130 ,131 ,132 ,133 ,134 ,135 ,136 ,137 ,138 ,139 ,140 ,141 ,142 ,143 ,144 ,145 ,146 ,147 ,148 ,149 ,150 ,151 ,152 ,153 ,154 ,155 ,156 ,157 ,158 ,159 ,160 ,161 ,162 ,163 ,164 ,165 ,166 ,167 ,168 ,169 ,170 ,171 ,172 ,173 ,174 ,175 ,176 ,177 ,178 ,179 ,180 ,181 ,182 ,183 ,184 ,185 ,186 ,187 ,188 ,189 ,190 ,191 ,192 ,193 ,194 ,195 ,196 ,197 ,198 ,199 ,200 ,201 ,202 ,203 ,204 ,205 ,206 ,207 ,208 ,209 ,210 ,211 ,212 ,213 ,214 ,215 ,216 ,217 ,218 ,219 ,220 ,221 ,222 ,223 ,224 ,225 ,226 ,227 ,228 ,229 ,230 ,231 ,232 ,233 ,234 ,235 ,236 ,237 ,238 ,239 ,240 ,241 ,242 ,243 ,244 ,245 ,246 ,247 ,248 ,249 ,250 ,251 ,252 ,253 ,254 ,255 ,256 ,257 ,258 ,259 ,260 ,261 ,262 ,263 ,264 ,265 ,266 ,267 ,268 ,269 ,ABC,ABC", res[149].exec("O900 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 ABC ABC"), 242);
-assertToStringEquals("mainmain,main,", res[151].exec("mainmain"), 243);
-assertToStringEquals("mainOmain,main,", res[151].exec("mainOmain"), 244);
-assertToStringEquals("aba,a,", res[153].exec("aba"), 245);
-assertToStringEquals("aabbaa,aa,", res[154].exec("aabbaa"), 246);
-assertToStringEquals("aabbaa,aa,", res[155].exec("aabbaa"), 247);
-assertToStringEquals("aabbaa,aa,", res[156].exec("aabbaa"), 248);
-assertToStringEquals("aabbaa,", res[157].exec("aabbaa"), 249);
-assertToStringEquals("aabbaa,aa,,", res[158].exec("aabbaa"), 250);
-assertToStringEquals("aabbaa,,", res[159].exec("aabbaa"), 251);
-assertToStringEquals("aabbaa,", res[160].exec("aabbaa"), 252);
-assertToStringEquals("aabbbaa,", res[161].exec("aabbbaa"), 253);
-assertToStringEquals("aabbbaa,", res[162].exec("aabbbaa"), 254);
-assertToStringEquals("aabbaa,", res[163].exec("aabbaa"), 255);
-assertToStringEquals("aabbbaa,", res[164].exec("aabbbaa"), 256);
-assertToStringEquals("aabbbaa,aa,,", res[165].exec("aabbbaa"), 257);
-assertToStringEquals("aabbbbaa,aa,,", res[166].exec("aabbbbaa"), 258);
-assertThrows("var re = //;", 259);
-assertToStringEquals("a", res[169].exec("ab"), 260);
-assertToStringEquals("a", res[169].exec("aB"), 261);
-assertToStringEquals("*", res[169].exec("*** Failers"), 262);
-assertToStringEquals("A", res[169].exec("AB"), 263);
-assertToStringEquals("a", res[169].exec("ab"), 264);
-assertToStringEquals("a", res[169].exec("aB"), 265);
-assertToStringEquals("*", res[169].exec("*** Failers"), 266);
-assertToStringEquals("A", res[169].exec("AB"), 267);
-assertNull(res[172].exec("\\", 268));
-assertNull(res[177].exec("*** Failers", 269));
-assertNull(res[177].exec("xxxxx", 270));
-assertNull(res[177].exec("now is the time for all good men to come to the aid of the party", 271));
-assertNull(res[177].exec("*** Failers", 272));
-assertNull(res[177].exec("this is not a line with only words and spaces!", 273));
-assertNull(res[177].exec("12345a", 274));
-assertNull(res[177].exec("*** Failers", 275));
-assertNull(res[177].exec("12345+", 276));
-assertNull(res[177].exec("aaab", 277));
-assertNull(res[177].exec("aaab", 278));
-assertNull(res[177].exec("aaab", 279));
-assertNull(res[177].exec("((abc(ade)ufh()()x", 280));
-assertNull(res[177].exec("(abc)", 281));
-assertNull(res[177].exec("(abc(def)xyz)", 282));
-assertNull(res[177].exec("*** Failers", 283));
-assertNull(res[177].exec("((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", 284));
-assertNull(res[177].exec("xaaaab", 285));
-assertNull(res[177].exec("xaaaab", 286));
-assertThrows("var re = /[/;", 287);
-assertThrows("var re = /[a-/;", 288);
-assertNull(res[189].exec("<>", 289));
-assertNull(res[189].exec("<abcd>", 290));
-assertNull(res[189].exec("<abc <123> hij>", 291));
-assertNull(res[189].exec("<abc <def> hij>", 292));
-assertNull(res[189].exec("<abc<>def>", 293));
-assertNull(res[189].exec("<abc<>", 294));
-assertNull(res[189].exec("*** Failers", 295));
-assertNull(res[189].exec("<abc", 296));
-assertToStringEquals("bc123bc,bc,bc", res[195].exec("abc123bc"), 297);
-assertToStringEquals("abc", res[215].exec("abcdef"), 298);
-assertToStringEquals("abc", res[215].exec("1234abcdef"), 299);
-assertNull(res[215].exec("*** Failers", 300));
-assertToStringEquals("abc", res[215].exec("abcxyz"), 301);
-assertToStringEquals("abc", res[215].exec("abcxyzf"), 302);
-assertToStringEquals("abc", res[215].exec("123abcdef"), 303);
-assertToStringEquals("abc", res[215].exec("1234abcdef"), 304);
-assertNull(res[215].exec("*** Failers", 305));
-assertToStringEquals("abc", res[215].exec("abcdef"), 306);
-assertNull(res[215].exec("*** Failers", 307));
-assertToStringEquals("abc", res[215].exec("\x83x0abcdef"), 308);
-assertToStringEquals("abc", res[215].exec("123abcdef"), 309);
-assertToStringEquals("abc", res[215].exec("123abcdefC+"), 310);
-assertToStringEquals("abc", res[215].exec("123abcdefC-"), 311);
-assertNull(res[215].exec("*** Failers", 312));
-assertToStringEquals("abc", res[215].exec("123abcdefC!1"), 313);
-assertToStringEquals("abc", res[215].exec("abcabcabc"), 314);
-assertToStringEquals("abc", res[215].exec("abcabcC!1!3"), 315);
-assertNull(res[215].exec("*** Failers", 316));
-assertToStringEquals("abc", res[215].exec("abcabcabcC!1!3"), 317);
-assertToStringEquals("C", res[215].exec("123C+"), 318);
-assertToStringEquals("C", res[215].exec("123456C+"), 319);
-assertToStringEquals("C", res[215].exec("123456789C+"), 320);
-assertToStringEquals("abc", res[215].exec("xyzabcC+"), 321);
-assertToStringEquals("abc", res[215].exec("XxyzabcC+"), 322);
-assertToStringEquals("abc", res[215].exec("abcdefC+"), 323);
-assertToStringEquals("abc", res[215].exec("abcxyzC+"), 324);
-assertToStringEquals("c", res[215].exec("abbbbbcccC*1"), 325);
-assertToStringEquals("c", res[215].exec("abbbbbcccC*1"), 326);
-assertNull(res[215].exec("xab", 327));
-assertToStringEquals("c", res[215].exec("xbc"), 328);
-assertNull(res[215].exec("xde", 329));
-assertNull(res[215].exec("xxab", 330));
-assertNull(res[215].exec("xxxab", 331));
-assertNull(res[215].exec("*** Failers", 332));
-assertNull(res[215].exec("xyab", 333));
-assertToStringEquals("abc", res[215].exec("abc"), 334);
-assertToStringEquals("c", res[215].exec("a(b)c"), 335);
-assertToStringEquals("c", res[215].exec("a(b(c))d"), 336);
-assertNull(res[215].exec("*** Failers)", 337));
-assertToStringEquals("c", res[215].exec("a(b(c)d"), 338);
-assertNull(res[215].exec("1221", 339));
-assertToStringEquals("c", res[215].exec("Satan, oscillate my metallic sonatas!"), 340);
-assertToStringEquals("c", res[215].exec("A man, a plan, a canal: Panama!"), 341);
-assertNull(res[215].exec("Able was I ere I saw Elba.", 342));
-assertNull(res[215].exec("*** Failers", 343));
-assertToStringEquals("c", res[215].exec("The quick brown fox"), 344);
-assertNull(res[215].exec("12", 345));
-assertNull(res[215].exec("(((2+2)*-3)-7)", 346));
-assertNull(res[215].exec("-12", 347));
-assertNull(res[215].exec("*** Failers", 348));
-assertNull(res[215].exec("((2+2)*-3)-7)", 349));
-assertNull(res[215].exec("xyz", 350));
-assertNull(res[215].exec("xxyzxyzz", 351));
-assertNull(res[215].exec("*** Failers", 352));
-assertNull(res[215].exec("xxyzz", 353));
-assertNull(res[215].exec("xxyzxyzxyzz", 354));
-assertNull(res[215].exec("<>", 355));
-assertToStringEquals("abc", res[215].exec("<abcd>"), 356);
-assertToStringEquals("abc", res[215].exec("<abc <123> hij>"), 357);
-assertToStringEquals("abc", res[215].exec("<abc <def> hij>"), 358);
-assertToStringEquals("abc", res[215].exec("<abc<>def>"), 359);
-assertToStringEquals("abc", res[215].exec("<abc<>"), 360);
-assertNull(res[215].exec("*** Failers", 361));
-assertToStringEquals("abc", res[215].exec("<abc"), 362);
-assertToStringEquals("abc", res[215].exec("abcdefabc"), 363);
-assertNull(res[215].exec("a=a", 364));
-assertNull(res[215].exec("a=b", 365));
-assertToStringEquals("c", res[215].exec("a=bc"), 366);
-assertNull(res[215].exec("a=a", 367));
-assertNull(res[215].exec("a=b", 368));
-assertToStringEquals("c", res[215].exec("a=bc"), 369);
-assertNull(res[215].exec("abde", 370));
-assertToStringEquals("c", res[215].exec("acde"), 371);
-assertNull(res[215].exec("1221", 372));
-assertToStringEquals("c", res[215].exec("Satan, oscillate my metallic sonatas!"), 373);
-assertToStringEquals("c", res[215].exec("A man, a plan, a canal: Panama!"), 374);
-assertNull(res[215].exec("Able was I ere I saw Elba.", 375));
-assertNull(res[215].exec("*** Failers", 376));
-assertToStringEquals("c", res[215].exec("The quick brown fox"), 377);
-assertNull(res[228].exec("abcdefgh", 378));
-assertNull(res[228].exec("abcdefghC1Gtwo", 379));
-assertNull(res[228].exec("abcdefghConeCtwo", 380));
-assertNull(res[228].exec("abcdefghCthree", 381));
-assertToStringEquals("zz,", res[228].exec("zzaaCZ"), 382);
-assertToStringEquals("zz,", res[228].exec("zzaaCA"), 383);
-assertNull(res[228].exec("[10,20,30,5,5,4,4,2,43,23,4234]", 384));
-assertNull(res[228].exec("*** Failers", 385));
-assertNull(res[228].exec("[]", 386));
-assertNull(res[228].exec("[10,20,30,5,5,4,4,2,43,23,4234]", 387));
-assertNull(res[228].exec("[]", 388));
-assertToStringEquals(" Baby Bjorn Active Carrier - With free SHIPPING!!, Baby Bjorn Active Carrier - With free SHIPPING!!,,", res[229].exec(" Baby Bjorn Active Carrier - With free SHIPPING!!"), 389);
-assertToStringEquals(" Baby Bjorn Active Carrier - With free SHIPPING!!, Baby Bjorn Active Carrier - With free SHIPPING!!,,", res[230].exec(" Baby Bjorn Active Carrier - With free SHIPPING!!"), 390);
-assertNull(res[238].exec("Note: that { does NOT introduce a quantifier", 391));
-assertToStringEquals("aacaacaacaacaac123,aac", res[239].exec("aacaacaacaacaac123"), 392);
-assertNull(res[243].exec("abP", 393));
-assertNull(res[243].exec("abcP", 394));
-assertNull(res[243].exec("abcdP", 395));
-assertToStringEquals("abcde", res[243].exec("abcdeP"), 396);
-assertNull(res[243].exec("the quick brown abcP", 397));
-assertNull(res[243].exec("** FailersP", 398));
-assertNull(res[243].exec("the quick brown abxyz foxP", 399));
-assertNull(res[243].exec("13/05/04P", 400));
-assertNull(res[243].exec("13/5/2004P", 401));
-assertNull(res[243].exec("02/05/09P", 402));
-assertNull(res[243].exec("1P", 403));
-assertNull(res[243].exec("1/2P", 404));
-assertNull(res[243].exec("1/2/0P", 405));
-assertNull(res[243].exec("1/2/04P", 406));
-assertNull(res[243].exec("0P", 407));
-assertNull(res[243].exec("02/P", 408));
-assertNull(res[243].exec("02/0P", 409));
-assertNull(res[243].exec("02/1P", 410));
-assertNull(res[243].exec("** FailersP", 411));
-assertNull(res[243].exec("P", 412));
-assertNull(res[243].exec("123P", 413));
-assertNull(res[243].exec("33/4/04P", 414));
-assertNull(res[243].exec("3/13/04P", 415));
-assertNull(res[243].exec("0/1/2003P", 416));
-assertNull(res[243].exec("0/P", 417));
-assertNull(res[243].exec("02/0/P", 418));
-assertNull(res[243].exec("02/13P", 419));
-assertToStringEquals("123", res[248].exec("123P"), 420);
-assertNull(res[248].exec("aP", 421));
-assertNull(res[248].exec("bP", 422));
-assertNull(res[248].exec("cP", 423));
-assertNull(res[248].exec("c12P", 424));
-assertToStringEquals("c123", res[248].exec("c123P"), 425);
-assertNull(res[249].exec("1P", 426));
-assertNull(res[249].exec("123P", 427));
-assertToStringEquals("123X", res[249].exec("123X"), 428);
-assertNull(res[249].exec("1234P", 429));
-assertToStringEquals("1234X", res[249].exec("1234X"), 430);
-assertNull(res[249].exec("12345P", 431));
-assertToStringEquals("12345X", res[249].exec("12345X"), 432);
-assertNull(res[249].exec("*** Failers", 433));
-assertNull(res[249].exec("1X", 434));
-assertNull(res[249].exec("123456P", 435));
-assertNull(res[249].exec("abc", 436));
-assertNull(res[249].exec("** Failers", 437));
-assertNull(res[249].exec("bca", 438));
-assertNull(res[249].exec("abc", 439));
-assertNull(res[249].exec("** Failers", 440));
-assertNull(res[249].exec("bca", 441));
-assertNull(res[249].exec("abc", 442));
-assertNull(res[249].exec("** Failers", 443));
-assertNull(res[249].exec("def", 444));
-assertNull(res[249].exec("abc", 445));
-assertNull(res[249].exec("** Failers", 446));
-assertNull(res[249].exec("def", 447));
-assertNull(res[249].exec("<!DOCTYPE seite SYSTEM \"http://www.lco.lineas.de/xmlCms.dtd\">\n<seite>\n<dokumenteninformation>\n<seitentitel>Partner der LCO</seitentitel>\n<sprache>de</sprache>\n<seitenbeschreibung>Partner der LINEAS Consulting\nGmbH</seitenbeschreibung>\n<schluesselworte>LINEAS Consulting GmbH Hamburg\nPartnerfirmen</schluesselworte>\n<revisit>30 days</revisit>\n<robots>index,follow</robots>\n<menueinformation>\n<aktiv>ja</aktiv>\n<menueposition>3</menueposition>\n<menuetext>Partner</menuetext>\n</menueinformation>\n<lastedited>\n<autor>LCO</autor>\n<firma>LINEAS Consulting</firma>\n<datum>15.10.2003</datum>\n</lastedited>\n</dokumenteninformation>\n<inhalt>\n\n<absatzueberschrift>Die Partnerfirmen der LINEAS Consulting\nGmbH</absatzueberschrift>\n\n<absatz><link ziel=\"http://www.ca.com/\" zielfenster=\"_blank\">\n<bild name=\"logo_ca.gif\" rahmen=\"no\"/></link> <link\nziel=\"http://www.ey.com/\" zielfenster=\"_blank\"><bild\nname=\"logo_euy.gif\" rahmen=\"no\"/></link>\n</absatz>\n\n<absatz><link ziel=\"http://www.cisco.de/\" zielfenster=\"_blank\">\n<bild name=\"logo_cisco.gif\" rahmen=\"ja\"/></link></absatz>\n\n<absatz><link ziel=\"http://www.atelion.de/\"\nzielfenster=\"_blank\"><bild\nname=\"logo_atelion.gif\" rahmen=\"no\"/></link>\n</absatz>\n\n<absatz><link ziel=\"http://www.line-information.de/\"\nzielfenster=\"_blank\">\n<bild name=\"logo_line_information.gif\" rahmen=\"no\"/></link>\n</absatz>\n\n<absatz><bild name=\"logo_aw.gif\" rahmen=\"no\"/></absatz>\n\n<absatz><link ziel=\"http://www.incognis.de/\"\nzielfenster=\"_blank\"><bild\nname=\"logo_incognis.gif\" rahmen=\"no\"/></link></absatz>\n\n<absatz><link ziel=\"http://www.addcraft.com/\"\nzielfenster=\"_blank\"><bild\nname=\"logo_addcraft.gif\" rahmen=\"no\"/></link></absatz>\n\n<absatz><link ziel=\"http://www.comendo.com/\"\nzielfenster=\"_blank\"><bild\nname=\"logo_comendo.gif\" rahmen=\"no\"/></link></absatz>\n\n</inhalt>\n</seite>", 448));
-assertToStringEquals("line\nbreak", res[251].exec("this is a line\nbreak"), 449);
-assertToStringEquals("line\nbreak", res[251].exec("line one\nthis is a line\nbreak in the second line"), 450);
-assertToStringEquals("line\nbreak", res[252].exec("this is a line\nbreak"), 451);
-assertNull(res[252].exec("** Failers", 452));
-assertToStringEquals("line\nbreak", res[252].exec("line one\nthis is a line\nbreak in the second line"), 453);
-assertToStringEquals("line\nbreak", res[253].exec("this is a line\nbreak"), 454);
-assertNull(res[253].exec("** Failers", 455));
-assertToStringEquals("line\nbreak", res[253].exec("line one\nthis is a line\nbreak in the second line"), 456);
-assertToStringEquals("ab-cd", res[254].exec("ab-cd"), 457);
-assertToStringEquals("ab=cd", res[254].exec("ab=cd"), 458);
-assertNull(res[254].exec("** Failers", 459));
-assertNull(res[254].exec("ab\ncd", 460));
-assertToStringEquals("ab-cd", res[255].exec("ab-cd"), 461);
-assertToStringEquals("ab=cd", res[255].exec("ab=cd"), 462);
-assertNull(res[255].exec("ab\ncd", 463));
-assertNull(res[255].exec("AbCd", 464));
-assertNull(res[255].exec("** Failers", 465));
-assertNull(res[255].exec("abcd", 466));
-// We are compatible with JSC, and don't throw an exception in this case.
-// assertThrows("var re = /(){2,4294967295}/;", 467);
-assertNull(res[255].exec("abcdefghijklAkB", 468));
-assertNull(res[255].exec("abcdefghijklAkB", 469));
-assertNull(res[255].exec("abcdefghijklAkB", 470));
-assertNull(res[255].exec("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", 471));
-assertNull(res[255].exec("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", 472));
-assertNull(res[255].exec("(this(and)that", 473));
-assertNull(res[255].exec("(this(and)that)", 474));
-assertNull(res[255].exec("(this(and)that)stuff", 475));
-assertNull(res[255].exec("(this(and)that", 476));
-assertNull(res[255].exec("(this(and)that)", 477));
-assertNull(res[255].exec("(this(and)that", 478));
-assertNull(res[255].exec("(this(and)that)", 479));
-assertNull(res[255].exec("(this(and)that", 480));
-assertNull(res[255].exec("(this(and)that)", 481));
-assertNull(res[255].exec("((this))", 482));
-assertNull(res[255].exec("(this(and)that", 483));
-assertNull(res[255].exec("(this(and)that)", 484));
-assertNull(res[255].exec("(this)", 485));
-assertNull(res[255].exec("((this))", 486));
-assertToStringEquals("abc,b", res[256].exec("abc"), 487);
-assertToStringEquals("abc,b", res[256].exec("abc"), 488);
-assertNull(res[256].exec("a1bCA", 489));
-assertNull(res[256].exec("a2bCA", 490));
-assertNull(res[257].exec("a bc dCACBCC", 491));
-assertNull(res[257].exec("aabc", 492));
-assertNull(res[257].exec("bc", 493));
-assertNull(res[257].exec("** Failers", 494));
-assertNull(res[257].exec("abc", 495));
-assertNull(res[257].exec("bXaX", 496));
-assertNull(res[257].exec("bbXaaX", 497));
-assertNull(res[257].exec("(b)\\Xa\\X", 498));
-assertNull(res[257].exec("bXXaYYaY", 499));
-assertNull(res[257].exec("bXYaXXaX", 500));
-assertNull(res[257].exec("bXXaYYaY", 501));
-assertToStringEquals("\x0b,\x0b", res[259].exec("\x0b,\x0b"), 502);
-assertToStringEquals("\x0c,\x0d", res[259].exec("\x0c,\x0d"), 503);
-assertToStringEquals("abc", res[260].exec("xyz\nabc"), 504);
-assertToStringEquals("abc", res[260].exec("xyz\nabc<lf>"), 505);
-assertToStringEquals("abc", res[260].exec("xyz\x0d\nabc<lf>"), 506);
-assertToStringEquals("abc", res[260].exec("xyz\x0dabc<cr>"), 507);
-assertToStringEquals("abc", res[260].exec("xyz\x0d\nabc<crlf>"), 508);
-assertNull(res[260].exec("** Failers", 509));
-assertToStringEquals("abc", res[260].exec("xyz\nabc<cr>"), 510);
-assertToStringEquals("abc", res[260].exec("xyz\x0d\nabc<cr>"), 511);
-assertToStringEquals("abc", res[260].exec("xyz\nabc<crlf>"), 512);
-assertToStringEquals("abc", res[260].exec("xyz\x0dabc<crlf>"), 513);
-assertToStringEquals("abc", res[260].exec("xyz\x0dabc<lf>"), 514);
-assertToStringEquals("abc", res[261].exec("xyzabc"), 515);
-assertToStringEquals("abc", res[261].exec("xyzabc\n"), 516);
-assertToStringEquals("abc", res[261].exec("xyzabc\npqr"), 517);
-assertToStringEquals("abc", res[261].exec("xyzabc\x0d<cr>"), 518);
-assertToStringEquals("abc", res[261].exec("xyzabc\x0dpqr<cr>"), 519);
-assertToStringEquals("abc", res[261].exec("xyzabc\x0d\n<crlf>"), 520);
-assertToStringEquals("abc", res[261].exec("xyzabc\x0d\npqr<crlf>"), 521);
-assertNull(res[261].exec("** Failers", 522));
-assertToStringEquals("abc", res[261].exec("xyzabc\x0d"), 523);
-assertToStringEquals("abc", res[261].exec("xyzabc\x0dpqr"), 524);
-assertToStringEquals("abc", res[261].exec("xyzabc\x0d\n"), 525);
-assertToStringEquals("abc", res[261].exec("xyzabc\x0d\npqr"), 526);
-assertToStringEquals("abc", res[262].exec("xyz\x0dabcdef"), 527);
-assertToStringEquals("abc", res[262].exec("xyz\nabcdef<lf>"), 528);
-assertNull(res[262].exec("** Failers", 529));
-assertToStringEquals("abc", res[262].exec("xyz\nabcdef"), 530);
-assertToStringEquals("abc", res[263].exec("xyz\nabcdef"), 531);
-assertToStringEquals("abc", res[263].exec("xyz\x0dabcdef<cr>"), 532);
-assertNull(res[263].exec("** Failers", 533));
-assertToStringEquals("abc", res[263].exec("xyz\x0dabcdef"), 534);
-assertToStringEquals("abc", res[264].exec("xyz\x0d\nabcdef"), 535);
-assertToStringEquals("abc", res[264].exec("xyz\x0dabcdef<cr>"), 536);
-assertNull(res[264].exec("** Failers", 537));
-assertToStringEquals("abc", res[264].exec("xyz\x0dabcdef"), 538);
-assertToStringEquals("abc", res[266].exec("xyz\x0dabc<bad>"), 539);
-assertToStringEquals("abc", res[266].exec("abc"), 540);
-assertToStringEquals("abc", res[267].exec("abc\ndef"), 541);
-assertToStringEquals("abc", res[267].exec("abc\x0ddef"), 542);
-assertToStringEquals("abc", res[267].exec("abc\x0d\ndef"), 543);
-assertToStringEquals("<cr>abc", res[267].exec("<cr>abc\ndef"), 544);
-assertToStringEquals("<cr>abc", res[267].exec("<cr>abc\x0ddef"), 545);
-assertToStringEquals("<cr>abc", res[267].exec("<cr>abc\x0d\ndef"), 546);
-assertToStringEquals("<crlf>abc", res[267].exec("<crlf>abc\ndef"), 547);
-assertToStringEquals("<crlf>abc", res[267].exec("<crlf>abc\x0ddef"), 548);
-assertToStringEquals("<crlf>abc", res[267].exec("<crlf>abc\x0d\ndef"), 549);
-assertNull(res[268].exec("abc\ndef", 550));
-assertNull(res[268].exec("abc\x0ddef", 551));
-assertNull(res[268].exec("abc\x0d\ndef", 552));
-assertToStringEquals("XY,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,XY,Y", res[269].exec("XYO400"), 553);
-assertToStringEquals("aaaA5", res[278].exec("aaaA5"), 554);
-assertNull(res[278].exec("** Failers", 555));
-assertNull(res[278].exec("aaaa5", 556));
-assertToStringEquals("aaaA5", res[279].exec("aaaA5"), 557);
-assertToStringEquals("aaaa5", res[279].exec("aaaa5"), 558);
-assertToStringEquals("x", res[350].exec("xyCabcCxyz"), 559);
-assertToStringEquals("x", res[350].exec("xyCabcCxyz"), 560);
-assertToStringEquals("b", res[350].exec("bXaX"), 561);
-assertToStringEquals("b", res[350].exec("bXbX"), 562);
-assertToStringEquals("*", res[350].exec("** Failers"), 563);
-assertToStringEquals("aX", res[350].exec("aXaX"), 564);
-assertToStringEquals("aX", res[350].exec("aXbX"), 565);
-assertToStringEquals("x", res[350].exec("xx"), 566);
-assertToStringEquals("x", res[350].exec("xy"), 567);
-assertToStringEquals("y", res[350].exec("yy"), 568);
-assertToStringEquals("y", res[350].exec("yx"), 569);
-assertToStringEquals("x", res[350].exec("xx"), 570);
-assertToStringEquals("x", res[350].exec("xy"), 571);
-assertToStringEquals("y", res[350].exec("yy"), 572);
-assertToStringEquals("y", res[350].exec("yx"), 573);
-assertToStringEquals("b", res[350].exec("bxay"), 574);
-assertToStringEquals("b", res[350].exec("bxby"), 575);
-assertToStringEquals("*", res[350].exec("** Failers"), 576);
-assertToStringEquals("ax", res[350].exec("axby"), 577);
-assertToStringEquals("X", res[350].exec("XxXxxx"), 578);
-assertToStringEquals("X", res[350].exec("XxXyyx"), 579);
-assertToStringEquals("X", res[350].exec("XxXyxx"), 580);
-assertToStringEquals("*", res[350].exec("** Failers"), 581);
-assertToStringEquals("x", res[350].exec("x"), 582);
-assertToStringEquals("ab", res[350].exec("abcabc"), 583);
-assertToStringEquals("Xaaa,a", res[351].exec("Xaaa"), 584);
-assertToStringEquals("Xaba,a", res[351].exec("Xaba"), 585);
-assertThrows("var re = /^[a-\\Q\\E]/;", 586);
-assertNull(res[353].exec("(xy)x", 587));
-assertNull(res[353].exec("1221", 588));
-assertNull(res[353].exec("Satan, oscillate my metallic sonatas!", 589));
-assertNull(res[353].exec("A man, a plan, a canal: Panama!", 590));
-assertNull(res[353].exec("Able was I ere I saw Elba.", 591));
-assertNull(res[353].exec("*** Failers", 592));
-assertNull(res[353].exec("The quick brown fox", 593));
-assertToStringEquals("abcd:,abcd", res[354].exec("abcd:"), 594);
-assertToStringEquals("abcd:,abcd", res[354].exec("abcd:"), 595);
-assertToStringEquals("a:,a", res[354].exec("a:aaxyz"), 596);
-assertToStringEquals("ab:,ab", res[354].exec("ab:ababxyz"), 597);
-assertNull(res[354].exec("** Failers", 598));
-assertToStringEquals("a:,a", res[354].exec("a:axyz"), 599);
-assertToStringEquals("ab:,ab", res[354].exec("ab:abxyz"), 600);
-assertNull(res[354].exec("abd", 601));
-assertNull(res[354].exec("ce", 602));
-assertNull(res[354].exec("abcabc1Xabc2XabcXabcabc", 603));
-assertNull(res[354].exec("abcabc1Xabc2XabcXabcabc", 604));
-assertNull(res[354].exec("abcabc1Xabc2XabcXabcabc", 605));
-assertNull(res[354].exec("abcd", 606));
-assertNull(res[354].exec("metcalfe 33", 607));
-assertNull(res[356].exec("a\x0db", 608));
-assertNull(res[356].exec("a\nb<cr>", 609));
-assertToStringEquals("a\x85b", res[356].exec("a\x85b<anycrlf> "), 610);
-assertNull(res[356].exec("** Failers", 611));
-assertNull(res[356].exec("a\nb", 612));
-assertNull(res[356].exec("a\nb<any>", 613));
-assertNull(res[356].exec("a\x0db<cr>", 614));
-assertNull(res[356].exec("a\x0db<any>", 615));
-assertToStringEquals("a\x85b", res[356].exec("a\x85b<any> "), 616);
-assertNull(res[356].exec("a\x0db<anycrlf>", 617));
-assertToStringEquals("abc1", res[357].exec("abc1 \nabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\nabc6 \x85abc7 JUNK"), 618);
-assertToStringEquals("abc1", res[358].exec("abc1\n abc2\x0b abc3\x0c abc4\x0d abc5\x0d\n abc6\x85 abc7 abc9"), 619);
-assertNull(res[361].exec("a\nb", 620));
-assertNull(res[361].exec("a\x0db", 621));
-assertNull(res[361].exec("a\x0d\nb", 622));
-assertNull(res[361].exec("a\x0bb", 623));
-assertNull(res[361].exec("a\x0cb", 624));
-assertNull(res[361].exec("a\x85b", 625));
-assertNull(res[361].exec("** Failers", 626));
-assertNull(res[361].exec("a\n\x0db", 627));
-assertToStringEquals("ab", res[362].exec("ab"), 628);
-assertNull(res[362].exec("a\nb", 629));
-assertNull(res[362].exec("a\x0db", 630));
-assertNull(res[362].exec("a\x0d\nb", 631));
-assertNull(res[362].exec("a\x0bb", 632));
-assertNull(res[362].exec("a\x0cb", 633));
-assertNull(res[362].exec("a\x85b", 634));
-assertNull(res[362].exec("a\n\x0db", 635));
-assertNull(res[362].exec("a\n\x0d\x85\x0cb", 636));
-assertNull(res[363].exec("a\nb", 637));
-assertNull(res[363].exec("a\x0db", 638));
-assertNull(res[363].exec("a\x0d\nb", 639));
-assertNull(res[363].exec("a\x0bb", 640));
-assertNull(res[363].exec("a\x0cb", 641));
-assertNull(res[363].exec("a\x85b", 642));
-assertNull(res[363].exec("a\n\x0db", 643));
-assertNull(res[363].exec("a\n\x0d\x85\x0cb", 644));
-assertNull(res[363].exec("** Failers", 645));
-assertNull(res[363].exec("ab", 646));
-assertNull(res[364].exec("a\nb", 647));
-assertNull(res[364].exec("a\n\x0db", 648));
-assertNull(res[364].exec("a\n\x0d\x85b", 649));
-assertNull(res[364].exec("a\x0d\n\x0d\nb", 650));
-assertNull(res[364].exec("a\x0d\n\x0d\n\x0d\nb", 651));
-assertNull(res[364].exec("a\n\x0d\n\x0db", 652));
-assertNull(res[364].exec("a\n\n\x0d\nb", 653));
-assertNull(res[364].exec("** Failers", 654));
-assertNull(res[364].exec("a\n\n\n\x0db", 655));
-assertNull(res[364].exec("a\x0d", 656));
-assertToStringEquals("aRb", res[365].exec("aRb"), 657);
-assertNull(res[365].exec("** Failers", 658));
-assertNull(res[365].exec("a\nb", 659));
-assertNull(res[365].exec("abcPXP123", 660));
-assertNull(res[365].exec("abcPXP123", 661));
-assertNull(res[365].exec("1.2.3.4", 662));
-assertNull(res[365].exec("131.111.10.206", 663));
-assertNull(res[365].exec("10.0.0.0", 664));
-assertNull(res[365].exec("** Failers", 665));
-assertNull(res[365].exec("10.6", 666));
-assertNull(res[365].exec("455.3.4.5", 667));
-assertNull(res[365].exec("1.2.3.4", 668));
-assertNull(res[365].exec("131.111.10.206", 669));
-assertNull(res[365].exec("10.0.0.0", 670));
-assertNull(res[365].exec("** Failers", 671));
-assertNull(res[365].exec("10.6", 672));
-assertNull(res[365].exec("455.3.4.5", 673));
-assertNull(res[365].exec("123axbaxbaxbx456", 674));
-assertNull(res[365].exec("123axbaxbaxb456", 675));
-assertNull(res[365].exec("123axbaxbaxbx456", 676));
-assertNull(res[365].exec("123axbaxbaxbx456", 677));
-assertNull(res[365].exec("123axbaxbaxbx456", 678));
-assertNull(res[366].exec("ababababbbabZXXXX", 679));
-assertNull(res[372].exec("a\x0db", 680));
-assertNull(res[372].exec("*** Failers", 681));
-assertNull(res[372].exec("a\nb", 682));
-assertToStringEquals("afoo", res[373].exec("afoo"), 683);
-assertNull(res[373].exec("** Failers", 684));
-assertNull(res[373].exec("\x0d\nfoo", 685));
-assertNull(res[373].exec("\nfoo", 686));
-assertToStringEquals("afoo", res[374].exec("afoo"), 687);
-assertNull(res[374].exec("\nfoo", 688));
-assertNull(res[374].exec("** Failers", 689));
-assertNull(res[374].exec("\x0d\nfoo", 690));
-assertToStringEquals("afoo", res[375].exec("afoo"), 691);
-assertNull(res[375].exec("** Failers", 692));
-assertNull(res[375].exec("\nfoo", 693));
-assertNull(res[375].exec("\x0d\nfoo", 694));
-assertToStringEquals("afoo", res[376].exec("afoo"), 695);
-assertNull(res[376].exec("\x0d\nfoo", 696));
-assertNull(res[376].exec("\nfoo", 697));
-assertToStringEquals("", res[377].exec("abc\x0d\x0dxyz"), 698);
-assertToStringEquals("", res[377].exec("abc\n\x0dxyz "), 699);
-assertNull(res[377].exec("** Failers ", 700));
-assertToStringEquals("", res[377].exec("abc\x0d\nxyz"), 701);
-assertToStringEquals("", res[377].exec("abc\x0d\n\x0d\n"), 702);
-assertToStringEquals("", res[377].exec("abc\x0d\n\x0d\n"), 703);
-assertToStringEquals("", res[377].exec("abc\x0d\n\x0d\n"), 704);
-assertToStringEquals("abc1", res[378].exec("abc1\n abc2\x0b abc3\x0c abc4\x0d abc5\x0d\n abc6\x85 abc9"), 705);
-assertToStringEquals("X", res[379].exec("XABC"), 706);
-assertNull(res[379].exec("** Failers ", 707));
-assertToStringEquals("X", res[379].exec("XABCB"), 708);
-assertThrows("var re = /(ab|c)(?-1)/;", 709);
-assertNull(res[379].exec("abc", 710));
-assertNull(res[379].exec("xyabcabc", 711));
-assertNull(res[379].exec("** Failers", 712));
-assertNull(res[379].exec("xyabc ", 713));
-assertThrows("var re = /x(?-0)y/;", 714);
-assertThrows("var re = /x(?-1)y/;", 715);
-assertNull(res[379].exec("abcX", 716));
-assertNull(res[379].exec("Y", 717));
-assertNull(res[379].exec("** Failers", 718));
-assertNull(res[379].exec("abcY ", 719));
-assertNull(res[379].exec("YabcXabc", 720));
-assertNull(res[379].exec("YabcXabcXabc", 721));
-assertNull(res[379].exec("** Failers", 722));
-assertToStringEquals("X", res[379].exec("XabcXabc "), 723);
-assertNull(res[379].exec("Y!", 724));
-assertNull(res[380].exec("foobar", 725));
-assertNull(res[381].exec("foobar", 726));
-assertToStringEquals("foobaz,foo,baz", res[381].exec("foobaz "), 727);
-assertNull(res[382].exec("foobarbaz", 728));
-assertNull(res[382].exec("tom-tom", 729));
-assertNull(res[382].exec("bon-bon ", 730));
-assertNull(res[382].exec("** Failers", 731));
-assertNull(res[382].exec("tom-bon ", 732));
-assertNull(res[382].exec("tom-tom", 733));
-assertNull(res[382].exec("bon-bon ", 734));
-assertThrows("var re = /(?|(abc)|(xyz))/;", 735);
-assertThrows("var re = /(x)(?|(abc)|(xyz))(x)/;", 736);
-assertNull(res[383].exec("xabcx", 737));
-assertNull(res[383].exec("xxyzx ", 738));
-assertThrows("var re = /(x)(?|(abc)(pqr)|(xyz))(x)/;", 739);
-assertNull(res[383].exec("xabcpqrx", 740));
-assertNull(res[383].exec("xxyzx ", 741));
-assertThrows("var re = /(?|(abc)|(xyz))\\1/;", 742);
-assertNull(res[383].exec("abcabc", 743));
-assertNull(res[383].exec("xyzxyz ", 744));
-assertNull(res[383].exec("** Failers", 745));
-assertNull(res[383].exec("abcxyz", 746));
-assertNull(res[383].exec("xyzabc ", 747));
-assertNull(res[383].exec("abcabc", 748));
-assertNull(res[383].exec("xyzabc ", 749));
-assertNull(res[383].exec("** Failers ", 750));
-assertNull(res[383].exec("xyzxyz ", 751));
-assertNull(res[384].exec("X X\n", 752));
-assertNull(res[384].exec("X\x09X\x0b", 753));
-assertNull(res[384].exec("** Failers", 754));
-assertNull(res[384].exec("\xa0 X\n ", 755));
-assertNull(res[385].exec("\x09 \xa0X\n\x0b\x0c\x0d\n", 756));
-assertNull(res[385].exec("\x09 \xa0\n\x0b\x0c\x0d\n", 757));
-assertNull(res[385].exec("\x09 \xa0\n\x0b\x0c", 758));
-assertNull(res[385].exec("** Failers ", 759));
-assertNull(res[385].exec("\x09 \xa0\n\x0b", 760));
-assertNull(res[385].exec(" ", 761));
-assertNull(res[386].exec("XY ABCDE", 762));
-assertNull(res[386].exec("XY PQR ST ", 763));
-assertNull(res[387].exec("XY AB PQRS", 764));
-assertNull(res[388].exec(">XNNNYZ", 765));
-assertNull(res[388].exec("> X NYQZ", 766));
-assertNull(res[388].exec("** Failers", 767));
-assertNull(res[388].exec(">XYZ ", 768));
-assertNull(res[388].exec("> X NY Z", 769));
-assertNull(res[389].exec(">XY\nZ\nA\x0bNN\x0c", 770));
-assertNull(res[389].exec(">\n\x0dX\nY\n\x0bZZZ\nAAA\x0bNNN\x0c", 771));
-assertNull(res[390].exec(">\x09<", 772));
-assertNull(res[391].exec(">\x09 \xa0<", 773));
-assertNull(res[396].exec("** Failers", 774));
-assertNull(res[396].exec("XXXX", 775));
-assertNull(res[397].exec("XXXX Y ", 776));
-assertNull(res[419].exec("aaaaaa", 777));
-assertNull(res[419].exec("aaabccc", 778));
-assertNull(res[419].exec("aaabccc", 779));
-assertNull(res[419].exec("aaabccc", 780));
-assertNull(res[419].exec("aaabcccaaabccc", 781));
-assertNull(res[419].exec("aaaxxxxxx", 782));
-assertNull(res[419].exec("aaa++++++ ", 783));
-assertNull(res[419].exec("bbbxxxxx", 784));
-assertNull(res[419].exec("bbb+++++ ", 785));
-assertNull(res[419].exec("cccxxxx", 786));
-assertNull(res[419].exec("ccc++++ ", 787));
-assertNull(res[419].exec("dddddddd ", 788));
-assertNull(res[419].exec("aaaxxxxxx", 789));
-assertNull(res[419].exec("aaa++++++ ", 790));
-assertNull(res[419].exec("bbbxxxxx", 791));
-assertNull(res[419].exec("bbb+++++ ", 792));
-assertNull(res[419].exec("cccxxxx", 793));
-assertNull(res[419].exec("ccc++++ ", 794));
-assertNull(res[419].exec("dddddddd ", 795));
-assertNull(res[419].exec("aaabccc", 796));
-assertNull(res[419].exec("ABX", 797));
-assertNull(res[419].exec("AADE", 798));
-assertNull(res[419].exec("ACDE", 799));
-assertNull(res[419].exec("** Failers", 800));
-assertNull(res[419].exec("AD ", 801));
-assertNull(res[419].exec(" ", 802));
-assertNull(res[419].exec("aaaaaa", 803));
-assertNull(res[419].exec("aaabccc", 804));
-assertNull(res[419].exec("aaabccc", 805));
-assertNull(res[419].exec("aaabccc", 806));
-assertNull(res[419].exec("aaabcccaaabccc", 807));
-assertNull(res[419].exec("aaabccc", 808));
-assertNull(res[422].exec("\x0d\nA", 809));
-assertToStringEquals("\nA", res[423].exec("\x0d\nA "), 810);
-assertToStringEquals("\nA", res[424].exec("\x0d\nA "), 811);
-assertToStringEquals("\nA,\n", res[425].exec("\x0d\nA "), 812);
-assertNull(res[425].exec("a\nb", 813));
-assertNull(res[425].exec("** Failers", 814));
-assertNull(res[425].exec("a\x0db ", 815));
-assertNull(res[425].exec("a\nb", 816));
-assertNull(res[425].exec("** Failers", 817));
-assertNull(res[425].exec("a\x0db ", 818));
-assertNull(res[425].exec("a\x0db", 819));
-assertNull(res[425].exec("** Failers", 820));
-assertNull(res[425].exec("a\nb ", 821));
-assertNull(res[425].exec("a\x0db", 822));
-assertNull(res[425].exec("a\nb ", 823));
-assertNull(res[425].exec("** Failers", 824));
-assertNull(res[425].exec("a\x0d\nb ", 825));
-assertNull(res[425].exec("** Failers", 826));
-assertNull(res[425].exec("a\x0db", 827));
-assertNull(res[425].exec("a\nb ", 828));
-assertNull(res[425].exec("a\x0d\nb ", 829));
-assertNull(res[425].exec("** Failers", 830));
-assertNull(res[425].exec("a\x0db", 831));
-assertNull(res[425].exec("a\nb ", 832));
-assertNull(res[425].exec("a\x0d\nb ", 833));
-assertNull(res[425].exec("a\x85b ", 834));
-assertNull(res[426].exec("a\x0db", 835));
-assertNull(res[426].exec("a\nb", 836));
-assertNull(res[426].exec("a\x0d\nb", 837));
-assertNull(res[426].exec("** Failers", 838));
-assertNull(res[426].exec("a\x85b", 839));
-assertNull(res[426].exec("a\x0bb ", 840));
-assertNull(res[427].exec("a\x0db", 841));
-assertNull(res[427].exec("a\nb", 842));
-assertNull(res[427].exec("a\x0d\nb", 843));
-assertNull(res[427].exec("a\x85b", 844));
-assertNull(res[427].exec("a\x0bb ", 845));
-assertNull(res[427].exec("** Failers ", 846));
-assertNull(res[427].exec("a\x85b<bsr_anycrlf>", 847));
-assertNull(res[427].exec("a\x0bb<bsr_anycrlf>", 848));
-assertNull(res[428].exec("a\x0db", 849));
-assertNull(res[428].exec("a\nb", 850));
-assertNull(res[428].exec("a\x0d\nb", 851));
-assertNull(res[428].exec("** Failers", 852));
-assertNull(res[428].exec("a\x85b", 853));
-assertNull(res[428].exec("a\x0bb ", 854));
-assertNull(res[429].exec("a\x0db", 855));
-assertNull(res[429].exec("a\nb", 856));
-assertNull(res[429].exec("a\x0d\nb", 857));
-assertNull(res[429].exec("a\x85b", 858));
-assertNull(res[429].exec("a\x0bb ", 859));
-assertNull(res[429].exec("** Failers ", 860));
-assertNull(res[429].exec("a\x85b<bsr_anycrlf>", 861));
-assertNull(res[429].exec("a\x0bb<bsr_anycrlf>", 862));
-assertNull(res[430].exec("a\x0d\n\nb", 863));
-assertNull(res[430].exec("a\n\x0d\x0db", 864));
-assertNull(res[430].exec("a\x0d\n\x0d\n\x0d\n\x0d\nb", 865));
-assertNull(res[430].exec("** Failers", 866));
-assertNull(res[430].exec("a\x8585b", 867));
-assertNull(res[430].exec("a\x0b\x00bb ", 868));
-assertNull(res[431].exec("a\x0d\x0db", 869));
-assertNull(res[431].exec("a\n\n\nb", 870));
-assertNull(res[431].exec("a\x0d\n\n\x0d\x0db", 871));
-assertNull(res[431].exec("a\x8585b", 872));
-assertNull(res[431].exec("a\x0b\x00bb ", 873));
-assertNull(res[431].exec("** Failers ", 874));
-assertNull(res[431].exec("a\x0d\x0d\x0d\x0d\x0db ", 875));
-assertNull(res[431].exec("a\x8585b<bsr_anycrlf>", 876));
-assertNull(res[431].exec("a\x0b\x00bb<bsr_anycrlf>", 877));
-assertNull(res[431].exec("a\nb", 878));
-assertNull(res[431].exec("a\x0db ", 879));
-assertNull(res[431].exec("a\x85b", 880));
-assertNull(res[431].exec("a\nb", 881));
-assertNull(res[431].exec("a\x0db ", 882));
-assertNull(res[431].exec("a\x85b", 883));
-assertThrows("var re = /(?-+a)/;", 884);
-assertNull(res[443].exec("aaaa", 885));
-assertNull(res[443].exec("bacxxx", 886));
-assertNull(res[443].exec("bbaccxxx ", 887));
-assertNull(res[443].exec("bbbacccxx", 888));
-assertNull(res[443].exec("aaaa", 889));
-assertNull(res[443].exec("bacxxx", 890));
-assertNull(res[443].exec("bbaccxxx ", 891));
-assertNull(res[443].exec("bbbacccxx", 892));
-assertToStringEquals("a,a", res[444].exec("aaaa"), 893);
-assertNull(res[444].exec("bacxxx", 894));
-assertNull(res[444].exec("bbaccxxx ", 895));
-assertNull(res[444].exec("bbbacccxx", 896));
-assertToStringEquals("a,a", res[445].exec("aaaa"), 897);
-assertNull(res[445].exec("bacxxx", 898));
-assertNull(res[445].exec("bbaccxxx ", 899));
-assertNull(res[445].exec("bbbacccxx", 900));
-assertToStringEquals("a,a", res[446].exec("aaaa"), 901);
-assertNull(res[446].exec("bacxxx", 902));
-assertNull(res[446].exec("bbaccxxx ", 903));
-assertNull(res[446].exec("bbbacccxx", 904));
-assertToStringEquals("a,a,a", res[447].exec("aaaa"), 905);
-assertNull(res[447].exec("bacxxx", 906));
-assertNull(res[447].exec("bbaccxxx ", 907));
-assertNull(res[447].exec("bbbacccxx", 908));
-assertNull(res[449].exec("bacxxx", 909));
-assertNull(res[449].exec("XaaX", 910));
-assertNull(res[449].exec("XAAX ", 911));
-assertNull(res[449].exec("XaaX", 912));
-assertNull(res[449].exec("** Failers ", 913));
-assertNull(res[449].exec("XAAX ", 914));
-assertNull(res[449].exec("XaaX", 915));
-assertNull(res[449].exec("XAAX ", 916));
-assertNull(res[449].exec("xzxx", 917));
-assertNull(res[449].exec("yzyy ", 918));
-assertNull(res[449].exec("** Failers", 919));
-assertNull(res[449].exec("xxz ", 920));
-assertToStringEquals("a,,,a", res[450].exec("cat"), 921);
-assertToStringEquals("a,,,a", res[451].exec("cat"), 922);
-assertToStringEquals("TA]", res[452].exec("The ACTA] comes "), 923);
-assertToStringEquals("TA]", res[453].exec("The ACTA] comes "), 924);
-assertNull(res[453].exec("abcbabc", 925));
-assertNull(res[453].exec("abcbabc", 926));
-assertNull(res[453].exec("abcbabc", 927));
-assertNull(res[453].exec("** Failers ", 928));
-assertNull(res[453].exec("abcXabc", 929));
-assertNull(res[453].exec("abcXabc", 930));
-assertNull(res[453].exec("** Failers ", 931));
-assertNull(res[453].exec("abcbabc", 932));
-assertNull(res[453].exec("xyzbabcxyz", 933));
-assertNull(res[456].exec("** Failers", 934));
-assertNull(res[456].exec("ab", 935));
-assertNull(res[457].exec("** Failers", 936));
-assertNull(res[457].exec("ab ", 937));
-assertNull(res[457].exec("** Failers", 938));
-assertNull(res[457].exec("ab ", 939));
-assertToStringEquals("aXb", res[458].exec("aXb"), 940);
-assertToStringEquals("a\nb", res[458].exec("a\nb "), 941);
-assertNull(res[458].exec("** Failers", 942));
-assertNull(res[458].exec("ab ", 943));
-assertToStringEquals("aXb", res[459].exec("aXb"), 944);
-assertToStringEquals("a\nX\nXb", res[459].exec("a\nX\nXb "), 945);
-assertNull(res[459].exec("** Failers", 946));
-assertNull(res[459].exec("ab ", 947));
-assertToStringEquals("acb", res[463].exec("acb"), 948);
-assertToStringEquals("ab", res[463].exec("ab"), 949);
-assertNull(res[463].exec("ax{100}b ", 950));
-assertNull(res[463].exec("*** Failers", 951));
-assertNull(res[463].exec("a\nb ", 952));
-assertNull(res[464].exec("ax{4000}xyb ", 953));
-assertNull(res[464].exec("ax{4000}yb ", 954));
-assertNull(res[464].exec("ax{4000}x{100}yb ", 955));
-assertNull(res[464].exec("*** Failers", 956));
-assertNull(res[464].exec("ax{4000}b ", 957));
-assertNull(res[464].exec("ac\ncb ", 958));
-assertToStringEquals("a\xc0,,\xc0", res[465].exec("a\xc0\x88b"), 959);
-assertToStringEquals("ax,,x", res[466].exec("ax{100}b"), 960);
-assertToStringEquals("a\xc0\x88b,\xc0\x88,b", res[467].exec("a\xc0\x88b"), 961);
-assertToStringEquals("ax{100}b,x{100},b", res[468].exec("ax{100}b"), 962);
-assertToStringEquals("a\xc0\x92,\xc0,\x92", res[469].exec("a\xc0\x92bcd"), 963);
-assertToStringEquals("ax{,x,{", res[470].exec("ax{240}bcd"), 964);
-assertToStringEquals("a\xc0\x92,\xc0,\x92", res[471].exec("a\xc0\x92bcd"), 965);
-assertToStringEquals("ax{,x,{", res[472].exec("ax{240}bcd"), 966);
-assertToStringEquals("a\xc0,,\xc0", res[473].exec("a\xc0\x92bcd"), 967);
-assertToStringEquals("ax,,x", res[474].exec("ax{240}bcd"), 968);
-assertNull(res[475].exec("ax{1234}xyb ", 969));
-assertNull(res[475].exec("ax{1234}x{4321}yb ", 970));
-assertNull(res[475].exec("ax{1234}x{4321}x{3412}b ", 971));
-assertNull(res[475].exec("*** Failers", 972));
-assertNull(res[475].exec("ax{1234}b ", 973));
-assertNull(res[475].exec("ac\ncb ", 974));
-assertToStringEquals("ax{1234}xyb,x{1234}xy", res[476].exec("ax{1234}xyb "), 975);
-assertToStringEquals("ax{1234}x{4321}yb,x{1234}x{4321}y", res[476].exec("ax{1234}x{4321}yb "), 976);
-assertToStringEquals("ax{1234}x{4321}x{3412}b,x{1234}x{4321}x{3412}", res[476].exec("ax{1234}x{4321}x{3412}b "), 977);
-assertToStringEquals("axxxxbcdefghijb,xxxxbcdefghij", res[476].exec("axxxxbcdefghijb "), 978);
-assertToStringEquals("ax{1234}x{4321}x{3412}x{3421}b,x{1234}x{4321}x{3412}x{3421}", res[476].exec("ax{1234}x{4321}x{3412}x{3421}b "), 979);
-assertNull(res[476].exec("*** Failers", 980));
-assertToStringEquals("ax{1234}b,x{1234}", res[476].exec("ax{1234}b "), 981);
-assertToStringEquals("ax{1234}xyb,x{1234}xy", res[477].exec("ax{1234}xyb "), 982);
-assertToStringEquals("ax{1234}x{4321}yb,x{1234}x{4321}y", res[477].exec("ax{1234}x{4321}yb "), 983);
-assertToStringEquals("ax{1234}x{4321}x{3412}b,x{1234}x{4321}x{3412}", res[477].exec("ax{1234}x{4321}x{3412}b "), 984);
-assertToStringEquals("axxxxb,xxxx", res[477].exec("axxxxbcdefghijb "), 985);
-assertToStringEquals("ax{1234}x{4321}x{3412}x{3421}b,x{1234}x{4321}x{3412}x{3421}", res[477].exec("ax{1234}x{4321}x{3412}x{3421}b "), 986);
-assertNull(res[477].exec("*** Failers", 987));
-assertToStringEquals("ax{1234}b,x{1234}", res[477].exec("ax{1234}b "), 988);
-assertNull(res[478].exec("ax{1234}xyb ", 989));
-assertNull(res[478].exec("ax{1234}x{4321}yb ", 990));
-assertNull(res[478].exec("ax{1234}x{4321}x{3412}b ", 991));
-assertToStringEquals("axxxxb,xxxx", res[478].exec("axxxxbcdefghijb "), 992);
-assertNull(res[478].exec("ax{1234}x{4321}x{3412}x{3421}b ", 993));
-assertToStringEquals("axbxxb,xbxx", res[478].exec("axbxxbcdefghijb "), 994);
-assertToStringEquals("axxxxxb,xxxxx", res[478].exec("axxxxxbcdefghijb "), 995);
-assertNull(res[478].exec("*** Failers", 996));
-assertNull(res[478].exec("ax{1234}b ", 997));
-assertNull(res[478].exec("axxxxxxbcdefghijb ", 998));
-assertNull(res[479].exec("ax{1234}xyb ", 999));
-assertNull(res[479].exec("ax{1234}x{4321}yb ", 1000));
-assertNull(res[479].exec("ax{1234}x{4321}x{3412}b ", 1001));
-assertToStringEquals("axxxxb,xxxx", res[479].exec("axxxxbcdefghijb "), 1002);
-assertNull(res[479].exec("ax{1234}x{4321}x{3412}x{3421}b ", 1003));
-assertToStringEquals("axbxxb,xbxx", res[479].exec("axbxxbcdefghijb "), 1004);
-assertToStringEquals("axxxxxb,xxxxx", res[479].exec("axxxxxbcdefghijb "), 1005);
-assertNull(res[479].exec("*** Failers", 1006));
-assertNull(res[479].exec("ax{1234}b ", 1007));
-assertNull(res[479].exec("axxxxxxbcdefghijb ", 1008));
-assertNull(res[479].exec("*** Failers", 1009));
-assertNull(res[479].exec("x{100}", 1010));
-assertNull(res[479].exec("aXbcd", 1011));
-assertNull(res[479].exec("ax{100}bcd", 1012));
-assertNull(res[479].exec("ax{100000}bcd", 1013));
-assertNull(res[479].exec("x{100}x{100}x{100}b", 1014));
-assertNull(res[479].exec("*** Failers ", 1015));
-assertNull(res[479].exec("x{100}x{100}b", 1016));
-assertNull(res[479].exec("x{ab} ", 1017));
-assertNull(res[479].exec("\xc2\xab", 1018));
-assertNull(res[479].exec("*** Failers ", 1019));
-assertNull(res[479].exec("\x00{ab}", 1020));
-assertNull(res[479].exec("WXYZ", 1021));
-assertNull(res[479].exec("x{256}XYZ ", 1022));
-assertNull(res[479].exec("*** Failers", 1023));
-assertNull(res[479].exec("XYZ ", 1024));
-assertNull(res[480].exec("Xx{1234}", 1025));
-assertNull(res[481].exec("Xx{1234}YZ", 1026));
-assertToStringEquals("X", res[482].exec("XYZabcdce"), 1027);
-assertToStringEquals("X", res[483].exec("XYZabcde"), 1028);
-assertNull(res[484].exec("Xabcdefg ", 1029));
-assertNull(res[484].exec("Xx{1234} ", 1030));
-assertNull(res[484].exec("Xx{1234}YZ", 1031));
-assertNull(res[484].exec("Xx{1234}x{512} ", 1032));
-assertNull(res[484].exec("Xx{1234}x{512}YZ", 1033));
-assertNull(res[485].exec("Xabcdefg ", 1034));
-assertNull(res[485].exec("Xx{1234} ", 1035));
-assertNull(res[485].exec("Xx{1234}YZ", 1036));
-assertNull(res[485].exec("Xx{1234}x{512} ", 1037));
-assertToStringEquals("bcd", res[486].exec("bcd"), 1038);
-assertToStringEquals("00}", res[486].exec("x{100}aYx{256}Z "), 1039);
-assertToStringEquals("x{", res[487].exec("x{100}bc"), 1040);
-assertToStringEquals("x{100}bcA", res[488].exec("x{100}bcAa"), 1041);
-assertToStringEquals("x{", res[489].exec("x{100}bca"), 1042);
-assertToStringEquals("bcd", res[490].exec("bcd"), 1043);
-assertToStringEquals("00}", res[490].exec("x{100}aYx{256}Z "), 1044);
-assertToStringEquals("x{", res[491].exec("x{100}bc"), 1045);
-assertToStringEquals("x{100}bc", res[492].exec("x{100}bcAa"), 1046);
-assertToStringEquals("x{", res[493].exec("x{100}bca"), 1047);
-assertNull(res[493].exec("abcd", 1048));
-assertNull(res[493].exec("abcd", 1049));
-assertToStringEquals("x{", res[493].exec("x{100}x{100} "), 1050);
-assertToStringEquals("x{", res[493].exec("x{100}x{100} "), 1051);
-assertToStringEquals("x{", res[493].exec("x{100}x{100}x{100}x{100} "), 1052);
-assertNull(res[493].exec("abce", 1053));
-assertToStringEquals("x{", res[493].exec("x{100}x{100}x{100}x{100} "), 1054);
-assertNull(res[493].exec("abcdx{100}x{100}x{100}x{100} ", 1055));
-assertNull(res[493].exec("abcdx{100}x{100}x{100}x{100} ", 1056));
-assertNull(res[493].exec("abcdx{100}x{100}x{100}x{100} ", 1057));
-assertNull(res[493].exec("abcdx{100}x{100}x{100}XX", 1058));
-assertNull(res[493].exec("abcdx{100}x{100}x{100}x{100}x{100}x{100}x{100}XX", 1059));
-assertNull(res[493].exec("abcdx{100}x{100}x{100}x{100}x{100}x{100}x{100}XX", 1060));
-assertToStringEquals("Xy", res[493].exec("Xyyyax{100}x{100}bXzzz"), 1061);
-assertToStringEquals("X", res[496].exec("1X2"), 1062);
-assertToStringEquals("x", res[496].exec("1x{100}2 "), 1063);
-assertToStringEquals(">X", res[497].exec("> >X Y"), 1064);
-assertToStringEquals(">x", res[497].exec("> >x{100} Y"), 1065);
-assertToStringEquals("1", res[498].exec("x{100}3"), 1066);
-assertToStringEquals(" ", res[499].exec("x{100} X"), 1067);
-assertToStringEquals("abcd", res[500].exec("12abcd34"), 1068);
-assertToStringEquals("*** Failers", res[500].exec("*** Failers"), 1069);
-assertToStringEquals(" ", res[500].exec("1234 "), 1070);
-assertToStringEquals("abc", res[501].exec("12abcd34"), 1071);
-assertToStringEquals("ab", res[501].exec("12ab34"), 1072);
-assertToStringEquals("***", res[501].exec("*** Failers "), 1073);
-assertNull(res[501].exec("1234", 1074));
-assertToStringEquals(" ", res[501].exec("12a34 "), 1075);
-assertToStringEquals("ab", res[502].exec("12abcd34"), 1076);
-assertToStringEquals("ab", res[502].exec("12ab34"), 1077);
-assertToStringEquals("**", res[502].exec("*** Failers "), 1078);
-assertNull(res[502].exec("1234", 1079));
-assertToStringEquals(" ", res[502].exec("12a34 "), 1080);
-assertToStringEquals("12", res[503].exec("12abcd34"), 1081);
-assertNull(res[503].exec("*** Failers", 1082));
-assertToStringEquals("12", res[504].exec("12abcd34"), 1083);
-assertToStringEquals("123", res[504].exec("1234abcd"), 1084);
-assertNull(res[504].exec("*** Failers ", 1085));
-assertNull(res[504].exec("1.4 ", 1086));
-assertToStringEquals("12", res[505].exec("12abcd34"), 1087);
-assertToStringEquals("12", res[505].exec("1234abcd"), 1088);
-assertNull(res[505].exec("*** Failers ", 1089));
-assertNull(res[505].exec("1.4 ", 1090));
-assertToStringEquals("12abcd34", res[506].exec("12abcd34"), 1091);
-assertToStringEquals("***", res[506].exec("*** Failers"), 1092);
-assertNull(res[506].exec(" ", 1093));
-assertToStringEquals("12a", res[507].exec("12abcd34"), 1094);
-assertToStringEquals("123", res[507].exec("1234abcd"), 1095);
-assertToStringEquals("***", res[507].exec("*** Failers"), 1096);
-assertNull(res[507].exec(" ", 1097));
-assertToStringEquals("12", res[508].exec("12abcd34"), 1098);
-assertToStringEquals("12", res[508].exec("1234abcd"), 1099);
-assertToStringEquals("**", res[508].exec("*** Failers"), 1100);
-assertNull(res[508].exec(" ", 1101));
-assertToStringEquals("> <", res[509].exec("12> <34"), 1102);
-assertNull(res[509].exec("*** Failers", 1103));
-assertToStringEquals("> <", res[510].exec("ab> <cd"), 1104);
-assertToStringEquals("> <", res[510].exec("ab> <ce"), 1105);
-assertNull(res[510].exec("*** Failers", 1106));
-assertNull(res[510].exec("ab> <cd ", 1107));
-assertToStringEquals("> <", res[511].exec("ab> <cd"), 1108);
-assertToStringEquals("> <", res[511].exec("ab> <ce"), 1109);
-assertNull(res[511].exec("*** Failers", 1110));
-assertNull(res[511].exec("ab> <cd ", 1111));
-assertToStringEquals("12", res[512].exec("12 34"), 1112);
-assertToStringEquals("Failers", res[512].exec("*** Failers"), 1113);
-assertNull(res[512].exec("+++=*! ", 1114));
-assertToStringEquals("ab", res[513].exec("ab cd"), 1115);
-assertToStringEquals("abc", res[513].exec("abcd ce"), 1116);
-assertToStringEquals("Fai", res[513].exec("*** Failers"), 1117);
-assertNull(res[513].exec("a.b.c", 1118));
-assertToStringEquals("ab", res[514].exec("ab cd"), 1119);
-assertToStringEquals("ab", res[514].exec("abcd ce"), 1120);
-assertToStringEquals("Fa", res[514].exec("*** Failers"), 1121);
-assertNull(res[514].exec("a.b.c", 1122));
-assertToStringEquals("====", res[515].exec("12====34"), 1123);
-assertToStringEquals("*** ", res[515].exec("*** Failers"), 1124);
-assertToStringEquals(" ", res[515].exec("abcd "), 1125);
-assertToStringEquals("===", res[516].exec("ab====cd"), 1126);
-assertToStringEquals("==", res[516].exec("ab==cd"), 1127);
-assertToStringEquals("***", res[516].exec("*** Failers"), 1128);
-assertNull(res[516].exec("a.b.c", 1129));
-assertToStringEquals("==", res[517].exec("ab====cd"), 1130);
-assertToStringEquals("==", res[517].exec("ab==cd"), 1131);
-assertToStringEquals("**", res[517].exec("*** Failers"), 1132);
-assertNull(res[517].exec("a.b.c", 1133));
-assertNull(res[517].exec("x{100}", 1134));
-assertNull(res[517].exec("Zx{100}", 1135));
-assertNull(res[517].exec("x{100}Z", 1136));
-assertToStringEquals("**", res[517].exec("*** Failers "), 1137);
-assertNull(res[517].exec("Zx{100}", 1138));
-assertNull(res[517].exec("x{100}", 1139));
-assertNull(res[517].exec("x{100}Z", 1140));
-assertToStringEquals("**", res[517].exec("*** Failers "), 1141);
-assertNull(res[517].exec("abcx{200}X", 1142));
-assertNull(res[517].exec("abcx{100}X ", 1143));
-assertToStringEquals("**", res[517].exec("*** Failers"), 1144);
-assertToStringEquals(" ", res[517].exec("X "), 1145);
-assertNull(res[517].exec("abcx{200}X", 1146));
-assertNull(res[517].exec("abcx{100}X ", 1147));
-assertNull(res[517].exec("abQX ", 1148));
-assertToStringEquals("**", res[517].exec("*** Failers"), 1149);
-assertToStringEquals(" ", res[517].exec("X "), 1150);
-assertNull(res[517].exec("abcx{100}x{200}x{100}X", 1151));
-assertToStringEquals("**", res[517].exec("*** Failers"), 1152);
-assertNull(res[517].exec("abcx{200}X", 1153));
-assertToStringEquals(" ", res[517].exec("X "), 1154);
-assertNull(res[517].exec("AX", 1155));
-assertNull(res[517].exec("x{150}X", 1156));
-assertNull(res[517].exec("x{500}X ", 1157));
-assertToStringEquals("**", res[517].exec("*** Failers"), 1158);
-assertNull(res[517].exec("x{100}X", 1159));
-assertToStringEquals(" ", res[517].exec("x{200}X "), 1160);
-assertNull(res[517].exec("AX", 1161));
-assertNull(res[517].exec("x{150}X", 1162));
-assertNull(res[517].exec("x{500}X ", 1163));
-assertToStringEquals("**", res[517].exec("*** Failers"), 1164);
-assertNull(res[517].exec("x{100}X", 1165));
-assertToStringEquals(" ", res[517].exec("x{200}X "), 1166);
-assertNull(res[517].exec("QX ", 1167));
-assertNull(res[517].exec("AX", 1168));
-assertNull(res[517].exec("x{500}X ", 1169));
-assertToStringEquals("**", res[517].exec("*** Failers"), 1170);
-assertNull(res[517].exec("x{100}X", 1171));
-assertNull(res[517].exec("x{150}X", 1172));
-assertToStringEquals(" ", res[517].exec("x{200}X "), 1173);
-assertNull(res[518].exec("aXb", 1174));
-assertNull(res[518].exec("a\nb", 1175));
-assertNull(res[519].exec("aXb", 1176));
-assertNull(res[519].exec("a\nb", 1177));
-assertNull(res[519].exec("*** Failers ", 1178));
-assertNull(res[519].exec("ax{100}b ", 1179));
-assertNull(res[519].exec("z", 1180));
-assertNull(res[519].exec("Z ", 1181));
-assertNull(res[519].exec("x{100}", 1182));
-assertNull(res[519].exec("*** Failers", 1183));
-assertNull(res[519].exec("x{102}", 1184));
-assertNull(res[519].exec("y ", 1185));
-assertToStringEquals("\xff", res[520].exec(">\xff<"), 1186);
-assertNull(res[521].exec(">x{ff}<", 1187));
-assertToStringEquals("X", res[522].exec("XYZ"), 1188);
-assertToStringEquals("X", res[523].exec("XYZ"), 1189);
-assertToStringEquals("x", res[523].exec("x{123} "), 1190);
-assertToStringEquals(",", res[528].exec("catac"), 1191);
-assertToStringEquals(",", res[528].exec("ax{256}a "), 1192);
-assertToStringEquals(",", res[528].exec("x{85}"), 1193);
-assertToStringEquals(",", res[528].exec("\u1234 "), 1194);
-assertToStringEquals(",", res[528].exec("\u1234 "), 1195);
-assertToStringEquals(",", res[528].exec("abcdefg"), 1196);
-assertToStringEquals(",", res[528].exec("ab"), 1197);
-assertToStringEquals(",", res[528].exec("a "), 1198);
-assertToStringEquals("Ax", res[529].exec("Ax{a3}BC"), 1199);
-assertToStringEquals("Ax", res[530].exec("Ax{a3}BC"), 1200);
-assertToStringEquals("}=", res[531].exec("+x{a3}== "), 1201);
-assertToStringEquals("}=", res[532].exec("+x{a3}== "), 1202);
-assertToStringEquals("x", res[533].exec("x{442}x{435}x{441}x{442}"), 1203);
-assertToStringEquals("x", res[534].exec("x{442}x{435}x{441}x{442}"), 1204);
-assertToStringEquals("x", res[535].exec("x{442}x{435}x{441}x{442}"), 1205);
-assertToStringEquals("x", res[536].exec("x{442}x{435}x{441}x{442}"), 1206);
-assertToStringEquals("{", res[537].exec("x{2442}x{2435}x{2441}x{2442}"), 1207);
-assertToStringEquals("{", res[538].exec("x{2442}x{2435}x{2441}x{2442}"), 1208);
-assertToStringEquals("abc\n\x0dx{442}x{435}x{441}x{442}xyz ", res[539].exec("abc\n\x0dx{442}x{435}x{441}x{442}xyz "), 1209);
-assertToStringEquals("x{442}x{435}x{441}x{442}", res[539].exec("x{442}x{435}x{441}x{442}"), 1210);
-assertToStringEquals("c d", res[540].exec("abc defx{442}x{443}xyz\npqr"), 1211);
-assertToStringEquals("c d", res[541].exec("abc defx{442}x{443}xyz\npqr"), 1212);
-assertNull(res[542].exec("+x{2442}", 1213));
-assertNull(res[543].exec("+x{2442}", 1214));
-assertNull(res[544].exec("Ax{442}", 1215));
-assertNull(res[545].exec("Ax{442}", 1216));
-assertNull(res[546].exec("Ax{442}", 1217));
-assertNull(res[547].exec("Ax{442}", 1218));
-assertNull(res[548].exec("\x19x{e01ff}", 1219));
-assertNull(res[549].exec("Ax{422}", 1220));
-assertNull(res[550].exec("x{19}x{e01ff}", 1221));
-assertNull(res[551].exec("Ax{442}", 1222));
-assertNull(res[552].exec("Ax{442}", 1223));
-assertNull(res[553].exec("ax{442}", 1224));
-assertNull(res[554].exec("+x{2442}", 1225));
-assertNull(res[555].exec("Mx{442}", 1226));
-assertToStringEquals("abc", res[556].exec("abc"), 1227);
-assertToStringEquals("abc", res[557].exec("abc"), 1228);
-assertToStringEquals("abc", res[558].exec("abc"), 1229);
-assertToStringEquals("abc", res[559].exec("abc"), 1230);
-assertNull(res[560].exec("x{100}ax{1234}bcd", 1231));
-assertNull(res[562].exec("x{0041}x{2262}x{0391}x{002e}", 1232));
-assertNull(res[562].exec("x{D55c}x{ad6d}x{C5B4} ", 1233));
-assertNull(res[562].exec("x{65e5}x{672c}x{8a9e}", 1234));
-assertToStringEquals("{861}X", res[563].exec("x{212ab}x{212ab}x{212ab}x{861}X"), 1235);
-assertToStringEquals("x{2", res[564].exec("x{212ab}x{212ab}x{212ab}x{861}"), 1236);
-assertToStringEquals("x{c", res[564].exec("x{c0}b"), 1237);
-assertToStringEquals("ax{", res[564].exec("ax{c0}aaaa/ "), 1238);
-assertToStringEquals("ax{", res[564].exec("ax{c0}aaaa/ "), 1239);
-assertToStringEquals("ax{", res[564].exec("ax{c0}ax{c0}aaa/ "), 1240);
-assertToStringEquals("ax{", res[564].exec("ax{c0}aaaa/ "), 1241);
-assertToStringEquals("ax{", res[564].exec("ax{c0}ax{c0}aaa/ "), 1242);
-assertToStringEquals("ax{", res[564].exec("ax{c0}aaaa/ "), 1243);
-assertToStringEquals("ax{", res[564].exec("ax{c0}ax{c0}aaa/ "), 1244);
-assertToStringEquals("Sho", res[564].exec("Should produce an error diagnostic"), 1245);
-assertNull(res[565].exec("Xx{1234}", 1246));
-assertNull(res[565].exec("X\nabc ", 1247));
-assertToStringEquals("b", res[566].exec("bar"), 1248);
-assertNull(res[566].exec("*** Failers", 1249));
-assertNull(res[566].exec("c", 1250));
-assertNull(res[566].exec("x{ff}", 1251));
-assertNull(res[566].exec("x{100} ", 1252));
-assertToStringEquals("c", res[567].exec("c"), 1253);
-assertToStringEquals("x", res[567].exec("x{ff}"), 1254);
-assertToStringEquals("x", res[567].exec("x{100} "), 1255);
-assertToStringEquals("*", res[567].exec("*** Failers "), 1256);
-assertNull(res[567].exec("aaa", 1257));
-assertToStringEquals("x", res[568].exec("x{f1}"), 1258);
-assertToStringEquals("x", res[568].exec("x{bf}"), 1259);
-assertToStringEquals("x", res[568].exec("x{100}"), 1260);
-assertToStringEquals("x", res[568].exec("x{1000} "), 1261);
-assertToStringEquals("*", res[568].exec("*** Failers"), 1262);
-assertToStringEquals("x", res[568].exec("x{c0} "), 1263);
-assertToStringEquals("x", res[568].exec("x{f0} "), 1264);
-assertToStringEquals("1", res[568].exec("1234"), 1265);
-assertToStringEquals("\"", res[568].exec("\"1234\" "), 1266);
-assertToStringEquals("x", res[568].exec("x{100}1234"), 1267);
-assertToStringEquals("\"", res[568].exec("\"x{100}1234\" "), 1268);
-assertToStringEquals("x", res[568].exec("x{100}x{100}12ab "), 1269);
-assertToStringEquals("x", res[568].exec("x{100}x{100}\"12\" "), 1270);
-assertToStringEquals("*", res[568].exec("*** Failers "), 1271);
-assertToStringEquals("x", res[568].exec("x{100}x{100}abcd"), 1272);
-assertToStringEquals("A", res[568].exec("A"), 1273);
-assertToStringEquals("x", res[568].exec("x{100}"), 1274);
-assertToStringEquals("Z", res[568].exec("Zx{100}"), 1275);
-assertToStringEquals("x", res[568].exec("x{100}Z"), 1276);
-assertToStringEquals("*", res[568].exec("*** Failers "), 1277);
-assertToStringEquals("Z", res[568].exec("Zx{100}"), 1278);
-assertToStringEquals("x", res[568].exec("x{100}"), 1279);
-assertToStringEquals("x", res[568].exec("x{100}Z"), 1280);
-assertToStringEquals("*", res[568].exec("*** Failers "), 1281);
-assertToStringEquals("x", res[568].exec("x{100}"), 1282);
-assertToStringEquals("x", res[568].exec("x{104}"), 1283);
-assertToStringEquals("*", res[568].exec("*** Failers"), 1284);
-assertToStringEquals("x", res[568].exec("x{105}"), 1285);
-assertToStringEquals("x", res[568].exec("x{ff} "), 1286);
-assertToStringEquals("x", res[568].exec("x{100}"), 1287);
-assertToStringEquals("\u0100", res[568].exec("\u0100 "), 1288);
-assertToStringEquals("\xff", res[569].exec(">\xff<"), 1289);
-assertNull(res[570].exec(">x{ff}<", 1290));
-assertToStringEquals("\xd6", res[572].exec("\xd6 # Matches without Study"), 1291);
-assertToStringEquals("x", res[572].exec("x{d6}"), 1292);
-assertToStringEquals("\xd6", res[572].exec("\xd6 <-- Same with Study"), 1293);
-assertToStringEquals("x", res[572].exec("x{d6}"), 1294);
-assertToStringEquals("\xd6", res[572].exec("\xd6 # Matches without Study"), 1295);
-assertToStringEquals("x", res[572].exec("x{d6} "), 1296);
-assertToStringEquals("\xd6", res[572].exec("\xd6 <-- Same with Study"), 1297);
-assertToStringEquals("x", res[572].exec("x{d6} "), 1298);
-assertToStringEquals("\ufffd", res[572].exec("\ufffd]"), 1299);
-assertToStringEquals("\ufffd", res[572].exec("\ufffd"), 1300);
-assertToStringEquals("\ufffd", res[572].exec("\ufffd\ufffd\ufffd"), 1301);
-assertToStringEquals("\ufffd", res[572].exec("\ufffd\ufffd\ufffd?"), 1302);
-assertNull(res[573].exec("\xc0\x80", 1303));
-assertNull(res[573].exec("\xc1\x8f ", 1304));
-assertNull(res[573].exec("\xe0\x9f\x80", 1305));
-assertNull(res[573].exec("\xf0\x8f\x80\x80 ", 1306));
-assertNull(res[573].exec("\xf8\x87\x80\x80\x80 ", 1307));
-assertNull(res[573].exec("\xfc\x83\x80\x80\x80\x80", 1308));
-assertNull(res[573].exec("\xfe\x80\x80\x80\x80\x80 ", 1309));
-assertNull(res[573].exec("\xff\x80\x80\x80\x80\x80 ", 1310));
-assertNull(res[573].exec("\xc3\x8f", 1311));
-assertNull(res[573].exec("\xe0\xaf\x80", 1312));
-assertNull(res[573].exec("\xe1\x80\x80", 1313));
-assertNull(res[573].exec("\xf0\x9f\x80\x80 ", 1314));
-assertNull(res[573].exec("\xf1\x8f\x80\x80 ", 1315));
-assertNull(res[573].exec("\xf8\x88\x80\x80\x80 ", 1316));
-assertNull(res[573].exec("\xf9\x87\x80\x80\x80 ", 1317));
-assertNull(res[573].exec("\xfc\x84\x80\x80\x80\x80", 1318));
-assertNull(res[573].exec("\xfd\x83\x80\x80\x80\x80", 1319));
-assertNull(res[573].exec("?\xf8\x88\x80\x80\x80 ", 1320));
-assertNull(res[573].exec("?\xf9\x87\x80\x80\x80 ", 1321));
-assertNull(res[573].exec("?\xfc\x84\x80\x80\x80\x80", 1322));
-assertNull(res[573].exec("?\xfd\x83\x80\x80\x80\x80", 1323));
-assertToStringEquals(".", res[574].exec("A.B"), 1324);
-assertToStringEquals("{", res[574].exec("Ax{100}B "), 1325);
-assertToStringEquals("x", res[575].exec("x{100}X "), 1326);
-assertToStringEquals("a", res[575].exec("ax{1234}b"), 1327);
-assertNull(res[577].exec("AxxB ", 1328));
-assertToStringEquals("abc1", res[578].exec("abc1 \nabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\nabc6 x{0085}abc7 x{2028}abc8 x{2029}abc9 JUNK"), 1329);
-assertToStringEquals("abc1", res[579].exec("abc1\n abc2\x0b abc3\x0c abc4\x0d abc5\x0d\n abc6x{0085} abc7x{2028} abc8x{2029} abc9"), 1330);
-assertNull(res[580].exec("a\nb", 1331));
-assertNull(res[580].exec("a\x0db", 1332));
-assertNull(res[580].exec("a\x0d\nb", 1333));
-assertNull(res[580].exec("a\x0bb", 1334));
-assertNull(res[580].exec("a\x0cb", 1335));
-assertNull(res[580].exec("ax{85}b ", 1336));
-assertNull(res[580].exec("ax{2028}b ", 1337));
-assertNull(res[580].exec("ax{2029}b ", 1338));
-assertNull(res[580].exec("** Failers", 1339));
-assertNull(res[580].exec("a\n\x0db ", 1340));
-assertToStringEquals("ab", res[581].exec("ab"), 1341);
-assertNull(res[581].exec("a\nb", 1342));
-assertNull(res[581].exec("a\x0db", 1343));
-assertNull(res[581].exec("a\x0d\nb", 1344));
-assertNull(res[581].exec("a\x0bb", 1345));
-assertNull(res[581].exec("a\x0cx{2028}x{2029}b", 1346));
-assertNull(res[581].exec("ax{85}b ", 1347));
-assertNull(res[581].exec("a\n\x0db ", 1348));
-assertNull(res[581].exec("a\n\x0dx{85}\x0cb ", 1349));
-assertNull(res[582].exec("a\nb", 1350));
-assertNull(res[582].exec("a\x0db", 1351));
-assertNull(res[582].exec("a\x0d\nb", 1352));
-assertNull(res[582].exec("a\x0bb", 1353));
-assertNull(res[582].exec("a\x0cx{2028}x{2029}b", 1354));
-assertNull(res[582].exec("ax{85}b ", 1355));
-assertNull(res[582].exec("a\n\x0db ", 1356));
-assertNull(res[582].exec("a\n\x0dx{85}\x0cb ", 1357));
-assertNull(res[582].exec("** Failers", 1358));
-assertNull(res[582].exec("ab ", 1359));
-assertNull(res[583].exec("a\nb", 1360));
-assertNull(res[583].exec("a\n\x0db", 1361));
-assertNull(res[583].exec("a\n\x0dx{85}b", 1362));
-assertNull(res[583].exec("a\x0d\n\x0d\nb ", 1363));
-assertNull(res[583].exec("a\x0d\n\x0d\n\x0d\nb ", 1364));
-assertNull(res[583].exec("a\n\x0d\n\x0db", 1365));
-assertNull(res[583].exec("a\n\n\x0d\nb ", 1366));
-assertNull(res[583].exec("** Failers", 1367));
-assertNull(res[583].exec("a\n\n\n\x0db", 1368));
-assertNull(res[583].exec("a\x0d", 1369));
-assertNull(res[584].exec("X X\n", 1370));
-assertNull(res[584].exec("X\x09X\x0b", 1371));
-assertNull(res[584].exec("** Failers", 1372));
-assertNull(res[584].exec("x{a0} X\n ", 1373));
-assertNull(res[585].exec("\x09 x{a0}X\n\x0b\x0c\x0d\n", 1374));
-assertNull(res[585].exec("\x09 x{a0}\n\x0b\x0c\x0d\n", 1375));
-assertNull(res[585].exec("\x09 x{a0}\n\x0b\x0c", 1376));
-assertNull(res[585].exec("** Failers ", 1377));
-assertNull(res[585].exec("\x09 x{a0}\n\x0b", 1378));
-assertNull(res[585].exec(" ", 1379));
-assertNull(res[586].exec("x{3001}x{3000}x{2030}x{2028}", 1380));
-assertNull(res[586].exec("Xx{180e}Xx{85}", 1381));
-assertNull(res[586].exec("** Failers", 1382));
-assertNull(res[586].exec("x{2009} X\n ", 1383));
-assertNull(res[587].exec("x{1680}x{180e}x{2007}Xx{2028}x{2029}\x0c\x0d\n", 1384));
-assertNull(res[587].exec("\x09x{205f}x{a0}\nx{2029}\x0cx{2028}\n", 1385));
-assertNull(res[587].exec("\x09 x{202f}\n\x0b\x0c", 1386));
-assertNull(res[587].exec("** Failers ", 1387));
-assertNull(res[587].exec("\x09x{200a}x{a0}x{2028}\x0b", 1388));
-assertNull(res[587].exec(" ", 1389));
-assertNull(res[588].exec(">x{1680}", 1390));
-assertNull(res[589].exec(">x{1680}x{180e}x{2000}x{2003}x{200a}x{202f}x{205f}x{3000}<", 1391));
-assertToStringEquals("x{1ec5} ", res[593].exec("x{1ec5} "), 1392);
-assertNull(res[594].exec("x{0}x{d7ff}x{e000}x{10ffff}", 1393));
-assertNull(res[594].exec("x{d800}", 1394));
-assertNull(res[594].exec("x{d800}?", 1395));
-assertNull(res[594].exec("x{da00}", 1396));
-assertNull(res[594].exec("x{da00}?", 1397));
-assertNull(res[594].exec("x{dfff}", 1398));
-assertNull(res[594].exec("x{dfff}?", 1399));
-assertNull(res[594].exec("x{110000} ", 1400));
-assertNull(res[594].exec("x{110000}? ", 1401));
-assertNull(res[594].exec("x{2000000} ", 1402));
-assertNull(res[594].exec("x{2000000}? ", 1403));
-assertNull(res[594].exec("x{7fffffff} ", 1404));
-assertNull(res[594].exec("x{7fffffff}? ", 1405));
-assertNull(res[595].exec("a\x0db", 1406));
-assertNull(res[595].exec("a\nb", 1407));
-assertNull(res[595].exec("a\x0d\nb", 1408));
-assertNull(res[595].exec("** Failers", 1409));
-assertNull(res[595].exec("ax{85}b", 1410));
-assertNull(res[595].exec("a\x0bb ", 1411));
-assertNull(res[596].exec("a\x0db", 1412));
-assertNull(res[596].exec("a\nb", 1413));
-assertNull(res[596].exec("a\x0d\nb", 1414));
-assertNull(res[596].exec("ax{85}b", 1415));
-assertNull(res[596].exec("a\x0bb ", 1416));
-assertNull(res[596].exec("** Failers ", 1417));
-assertNull(res[596].exec("ax{85}b<bsr_anycrlf>", 1418));
-assertNull(res[596].exec("a\x0bb<bsr_anycrlf>", 1419));
-assertNull(res[597].exec("a\x0db", 1420));
-assertNull(res[597].exec("a\nb", 1421));
-assertNull(res[597].exec("a\x0d\nb", 1422));
-assertNull(res[597].exec("** Failers", 1423));
-assertNull(res[597].exec("ax{85}b", 1424));
-assertNull(res[597].exec("a\x0bb ", 1425));
-assertNull(res[598].exec("a\x0db", 1426));
-assertNull(res[598].exec("a\nb", 1427));
-assertNull(res[598].exec("a\x0d\nb", 1428));
-assertNull(res[598].exec("ax{85}b", 1429));
-assertNull(res[598].exec("a\x0bb ", 1430));
-assertNull(res[598].exec("** Failers ", 1431));
-assertNull(res[598].exec("ax{85}b<bsr_anycrlf>", 1432));
-assertNull(res[598].exec("a\x0bb<bsr_anycrlf>", 1433));
-assertToStringEquals("QQQx{2029}ABCaXYZ=!bPQR", res[599].exec("QQQx{2029}ABCaXYZ=!bPQR"), 1434);
-assertNull(res[599].exec("** Failers", 1435));
-assertNull(res[599].exec("ax{2029}b", 1436));
-assertNull(res[599].exec("a\xe2\x80\xa9b ", 1437));
-assertNull(res[600].exec("ax{1234}b", 1438));
-assertToStringEquals("a\nb", res[600].exec("a\nb "), 1439);
-assertNull(res[600].exec("** Failers", 1440));
-assertNull(res[600].exec("ab ", 1441));
-assertToStringEquals("aXb", res[601].exec("aXb"), 1442);
-assertToStringEquals("a\nX\nXx{1234}b", res[601].exec("a\nX\nXx{1234}b "), 1443);
-assertNull(res[601].exec("** Failers", 1444));
-assertNull(res[601].exec("ab ", 1445));
-assertNull(res[601].exec("x{de}x{de}", 1446));
-assertNull(res[601].exec("x{123} ", 1447));
-assertToStringEquals("X", res[602].exec("Ax{1ec5}ABCXYZ"), 1448);
-assertNull(res[604].exec("x{c0}x{30f}x{660}x{66c}x{f01}x{1680}<", 1449));
-assertNull(res[604].exec("\npx{300}9!$ < ", 1450));
-assertNull(res[604].exec("** Failers ", 1451));
-assertNull(res[604].exec("apx{300}9!$ < ", 1452));
-assertNull(res[605].exec("X", 1453));
-assertNull(res[605].exec("** Failers ", 1454));
-assertNull(res[605].exec("", 1455));
-assertNull(res[606].exec("9", 1456));
-assertNull(res[606].exec("** Failers ", 1457));
-assertNull(res[606].exec("x{c0}", 1458));
-assertNull(res[607].exec("X", 1459));
-assertNull(res[607].exec("** Failers ", 1460));
-assertNull(res[607].exec("x{30f}", 1461));
-assertNull(res[608].exec("X", 1462));
-assertNull(res[608].exec("** Failers ", 1463));
-assertNull(res[608].exec("x{660}", 1464));
-assertNull(res[609].exec("X", 1465));
-assertNull(res[609].exec("** Failers ", 1466));
-assertNull(res[609].exec("x{66c}", 1467));
-assertNull(res[610].exec("X", 1468));
-assertNull(res[610].exec("** Failers ", 1469));
-assertNull(res[610].exec("x{f01}", 1470));
-assertNull(res[611].exec("X", 1471));
-assertNull(res[611].exec("** Failers ", 1472));
-assertNull(res[611].exec("x{1680}", 1473));
-assertNull(res[612].exec("x{017}", 1474));
-assertNull(res[612].exec("x{09f} ", 1475));
-assertNull(res[612].exec("** Failers", 1476));
-assertNull(res[612].exec("x{0600} ", 1477));
-assertNull(res[613].exec("x{601}", 1478));
-assertNull(res[613].exec("** Failers", 1479));
-assertNull(res[613].exec("x{09f} ", 1480));
-assertNull(res[614].exec("x{e0000}", 1481));
-assertNull(res[614].exec("** Failers", 1482));
-assertNull(res[614].exec("x{09f} ", 1483));
-assertNull(res[615].exec("x{f8ff}", 1484));
-assertNull(res[615].exec("** Failers", 1485));
-assertNull(res[615].exec("x{09f} ", 1486));
-assertNull(res[616].exec("?x{dfff}", 1487));
-assertNull(res[616].exec("** Failers", 1488));
-assertNull(res[616].exec("x{09f} ", 1489));
-assertNull(res[617].exec("a", 1490));
-assertNull(res[617].exec("** Failers ", 1491));
-assertNull(res[617].exec("Z", 1492));
-assertNull(res[617].exec("x{e000} ", 1493));
-assertNull(res[618].exec("x{2b0}", 1494));
-assertNull(res[618].exec("** Failers", 1495));
-assertNull(res[618].exec("a ", 1496));
-assertNull(res[619].exec("x{1bb}", 1497));
-assertNull(res[619].exec("x{3400}", 1498));
-assertNull(res[619].exec("x{3401}", 1499));
-assertNull(res[619].exec("x{4d00}", 1500));
-assertNull(res[619].exec("x{4db4}", 1501));
-assertNull(res[619].exec("x{4db5} ", 1502));
-assertNull(res[619].exec("** Failers", 1503));
-assertNull(res[619].exec("a ", 1504));
-assertNull(res[619].exec("x{2b0}", 1505));
-assertNull(res[619].exec("x{4db6} ", 1506));
-assertNull(res[620].exec("x{1c5}", 1507));
-assertNull(res[620].exec("** Failers", 1508));
-assertNull(res[620].exec("a ", 1509));
-assertNull(res[620].exec("x{2b0}", 1510));
-assertNull(res[621].exec("A", 1511));
-assertNull(res[621].exec("** Failers", 1512));
-assertNull(res[621].exec("x{2b0}", 1513));
-assertNull(res[622].exec("x{903}", 1514));
-assertNull(res[622].exec("** Failers", 1515));
-assertNull(res[622].exec("X", 1516));
-assertNull(res[622].exec("x{300}", 1517));
-assertNull(res[622].exec(" ", 1518));
-assertNull(res[623].exec("x{488}", 1519));
-assertNull(res[623].exec("** Failers", 1520));
-assertNull(res[623].exec("X", 1521));
-assertNull(res[623].exec("x{903}", 1522));
-assertNull(res[623].exec("x{300}", 1523));
-assertNull(res[624].exec("x{300}", 1524));
-assertNull(res[624].exec("** Failers", 1525));
-assertNull(res[624].exec("X", 1526));
-assertNull(res[624].exec("x{903}", 1527));
-assertNull(res[624].exec("0123456789x{660}x{661}x{662}x{663}x{664}x{665}x{666}x{667}x{668}x{669}x{66a}", 1528));
-assertNull(res[624].exec("x{6f0}x{6f1}x{6f2}x{6f3}x{6f4}x{6f5}x{6f6}x{6f7}x{6f8}x{6f9}x{6fa}", 1529));
-assertNull(res[624].exec("x{966}x{967}x{968}x{969}x{96a}x{96b}x{96c}x{96d}x{96e}x{96f}x{970}", 1530));
-assertNull(res[624].exec("** Failers", 1531));
-assertNull(res[624].exec("X", 1532));
-assertNull(res[625].exec("x{16ee}", 1533));
-assertNull(res[625].exec("** Failers", 1534));
-assertNull(res[625].exec("X", 1535));
-assertNull(res[625].exec("x{966}", 1536));
-assertNull(res[626].exec("x{b2}", 1537));
-assertNull(res[626].exec("x{b3}", 1538));
-assertNull(res[626].exec("** Failers", 1539));
-assertNull(res[626].exec("X", 1540));
-assertNull(res[626].exec("x{16ee}", 1541));
-assertNull(res[627].exec("_", 1542));
-assertNull(res[627].exec("x{203f}", 1543));
-assertNull(res[627].exec("** Failers", 1544));
-assertNull(res[627].exec("X", 1545));
-assertNull(res[627].exec("-", 1546));
-assertNull(res[627].exec("x{58a}", 1547));
-assertNull(res[628].exec("-", 1548));
-assertNull(res[628].exec("x{58a}", 1549));
-assertNull(res[628].exec("** Failers", 1550));
-assertNull(res[628].exec("X", 1551));
-assertNull(res[628].exec("x{203f}", 1552));
-assertNull(res[629].exec(")", 1553));
-assertNull(res[629].exec("]", 1554));
-assertNull(res[629].exec("}", 1555));
-assertNull(res[629].exec("x{f3b}", 1556));
-assertNull(res[629].exec("** Failers", 1557));
-assertNull(res[629].exec("X", 1558));
-assertNull(res[629].exec("x{203f}", 1559));
-assertNull(res[629].exec("(", 1560));
-assertNull(res[629].exec("[", 1561));
-assertNull(res[629].exec("{", 1562));
-assertNull(res[629].exec("x{f3c}", 1563));
-assertNull(res[630].exec("x{bb}", 1564));
-assertNull(res[630].exec("x{2019}", 1565));
-assertNull(res[630].exec("** Failers", 1566));
-assertNull(res[630].exec("X", 1567));
-assertNull(res[630].exec("x{203f}", 1568));
-assertNull(res[631].exec("x{ab}", 1569));
-assertNull(res[631].exec("x{2018}", 1570));
-assertNull(res[631].exec("** Failers", 1571));
-assertNull(res[631].exec("X", 1572));
-assertNull(res[631].exec("x{203f}", 1573));
-assertNull(res[632].exec("!", 1574));
-assertNull(res[632].exec("x{37e}", 1575));
-assertNull(res[632].exec("** Failers", 1576));
-assertNull(res[632].exec("X", 1577));
-assertNull(res[632].exec("x{203f}", 1578));
-assertNull(res[633].exec("(", 1579));
-assertNull(res[633].exec("[", 1580));
-assertNull(res[633].exec("{", 1581));
-assertNull(res[633].exec("x{f3c}", 1582));
-assertNull(res[633].exec("** Failers", 1583));
-assertNull(res[633].exec("X", 1584));
-assertNull(res[633].exec(")", 1585));
-assertNull(res[633].exec("]", 1586));
-assertNull(res[633].exec("}", 1587));
-assertNull(res[633].exec("x{f3b}", 1588));
-assertNull(res[633].exec("$x{a2}x{a3}x{a4}x{a5}x{a6}", 1589));
-assertNull(res[633].exec("x{9f2}", 1590));
-assertNull(res[633].exec("** Failers", 1591));
-assertNull(res[633].exec("X", 1592));
-assertNull(res[633].exec("x{2c2}", 1593));
-assertNull(res[634].exec("x{2c2}", 1594));
-assertNull(res[634].exec("** Failers", 1595));
-assertNull(res[634].exec("X", 1596));
-assertNull(res[634].exec("x{9f2}", 1597));
-assertNull(res[634].exec("+<|~x{ac}x{2044}", 1598));
-assertNull(res[634].exec("** Failers", 1599));
-assertNull(res[634].exec("X", 1600));
-assertNull(res[634].exec("x{9f2}", 1601));
-assertNull(res[635].exec("x{a6}", 1602));
-assertNull(res[635].exec("x{482} ", 1603));
-assertNull(res[635].exec("** Failers", 1604));
-assertNull(res[635].exec("X", 1605));
-assertNull(res[635].exec("x{9f2}", 1606));
-assertNull(res[636].exec("x{2028}", 1607));
-assertNull(res[636].exec("** Failers", 1608));
-assertNull(res[636].exec("X", 1609));
-assertNull(res[636].exec("x{2029}", 1610));
-assertNull(res[637].exec("x{2029}", 1611));
-assertNull(res[637].exec("** Failers", 1612));
-assertNull(res[637].exec("X", 1613));
-assertNull(res[637].exec("x{2028}", 1614));
-assertNull(res[638].exec("\\ \\", 1615));
-assertNull(res[638].exec("x{a0}", 1616));
-assertNull(res[638].exec("x{1680}", 1617));
-assertNull(res[638].exec("x{180e}", 1618));
-assertNull(res[638].exec("x{2000}", 1619));
-assertNull(res[638].exec("x{2001} ", 1620));
-assertNull(res[638].exec("** Failers", 1621));
-assertNull(res[638].exec("x{2028}", 1622));
-assertNull(res[638].exec("x{200d} ", 1623));
-assertNull(res[638].exec(" x{660}x{661}x{662}ABC", 1624));
-assertNull(res[638].exec(" x{660}x{661}x{662}ABC", 1625));
-assertNull(res[639].exec(" x{660}x{661}x{662}ABC", 1626));
-assertNull(res[640].exec(" x{660}x{661}x{662}ABC", 1627));
-assertNull(res[641].exec(" x{660}x{661}x{662}ABC", 1628));
-assertNull(res[642].exec(" x{660}x{661}x{662}ABC", 1629));
-assertNull(res[643].exec(" x{660}x{661}x{662}ABC", 1630));
-assertNull(res[644].exec(" x{660}x{661}x{662}ABC", 1631));
-assertNull(res[645].exec(" x{660}x{661}x{662}ABC", 1632));
-assertNull(res[646].exec(" x{660}x{661}x{662}ABC", 1633));
-assertNull(res[647].exec(" x{660}x{661}x{662}ABC", 1634));
-assertNull(res[647].exec(" x{660}x{661}x{662}ABC", 1635));
-assertNull(res[647].exec(" x{660}x{661}x{662}ABC", 1636));
-assertNull(res[647].exec(" ** Failers", 1637));
-assertNull(res[647].exec(" x{660}x{661}x{662}ABC", 1638));
-assertNull(res[648].exec("A", 1639));
-assertNull(res[648].exec("ax{10a0}B ", 1640));
-assertNull(res[648].exec("** Failers ", 1641));
-assertNull(res[648].exec("a", 1642));
-assertNull(res[648].exec("x{1d00} ", 1643));
-assertNull(res[649].exec("1234", 1644));
-assertNull(res[649].exec("** Failers", 1645));
-assertNull(res[649].exec("ABC ", 1646));
-assertNull(res[650].exec("1234", 1647));
-assertNull(res[650].exec("** Failers", 1648));
-assertNull(res[650].exec("ABC ", 1649));
-assertNull(res[650].exec("A2XYZ", 1650));
-assertNull(res[650].exec("123A5XYZPQR", 1651));
-assertNull(res[650].exec("ABAx{660}XYZpqr", 1652));
-assertNull(res[650].exec("** Failers", 1653));
-assertNull(res[650].exec("AXYZ", 1654));
-assertNull(res[650].exec("XYZ ", 1655));
-assertNull(res[650].exec("1XYZ", 1656));
-assertNull(res[650].exec("AB=XYZ.. ", 1657));
-assertNull(res[650].exec("XYZ ", 1658));
-assertNull(res[650].exec("** Failers", 1659));
-assertNull(res[650].exec("WXYZ ", 1660));
-assertNull(res[655].exec("1234", 1661));
-assertNull(res[655].exec("1234", 1662));
-assertNull(res[655].exec("12-34", 1663));
-assertToStringEquals("{", res[655].exec("12+x{661}-34 "), 1664);
-assertNull(res[655].exec("** Failers", 1665));
-assertToStringEquals("d", res[655].exec("abcd "), 1666);
-assertToStringEquals("d", res[656].exec("abcd"), 1667);
-assertNull(res[656].exec("** Failers", 1668));
-assertNull(res[656].exec("1234", 1669));
-assertNull(res[657].exec("11111111111111111111111111111111111111111111111111111111111111111111111", 1670));
-assertToStringEquals("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", res[657].exec("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"), 1671);
-assertToStringEquals(" ", res[657].exec(" "), 1672);
-assertNull(res[657].exec("11111111111111111111111111111111111111111111111111111111111111111111111", 1673));
-assertToStringEquals("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", res[657].exec("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"), 1674);
-assertNull(res[658].exec("11111111111111111111111111111111111111111111111111111111111111111111111", 1675));
-assertToStringEquals("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", res[658].exec("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"), 1676);
-assertNull(res[659].exec("11111111111111111111111111111111111111111111111111111111111111111111111", 1677));
-assertNull(res[659].exec("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", 1678));
-assertNull(res[660].exec("11111111111111111111111111111111111111111111111111111111111111111111111", 1679));
-assertToStringEquals("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", res[660].exec("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"), 1680);
-assertNull(res[661].exec("a", 1681));
-assertNull(res[661].exec("A ", 1682));
-assertNull(res[662].exec("a", 1683));
-assertNull(res[662].exec("A ", 1684));
-assertNull(res[663].exec("A", 1685));
-assertNull(res[663].exec("aZ", 1686));
-assertNull(res[663].exec("** Failers", 1687));
-assertNull(res[663].exec("abc ", 1688));
-assertNull(res[664].exec("A", 1689));
-assertNull(res[664].exec("aZ", 1690));
-assertNull(res[664].exec("** Failers", 1691));
-assertNull(res[664].exec("abc ", 1692));
-assertNull(res[665].exec("a", 1693));
-assertNull(res[665].exec("Az", 1694));
-assertNull(res[665].exec("** Failers", 1695));
-assertNull(res[665].exec("ABC ", 1696));
-assertNull(res[666].exec("a", 1697));
-assertNull(res[666].exec("Az", 1698));
-assertNull(res[666].exec("** Failers", 1699));
-assertNull(res[666].exec("ABC ", 1700));
-assertNull(res[666].exec("x{c0}", 1701));
-assertNull(res[666].exec("x{e0} ", 1702));
-assertNull(res[666].exec("x{c0}", 1703));
-assertNull(res[666].exec("x{e0} ", 1704));
-assertNull(res[666].exec("Ax{391}x{10427}x{ff3a}x{1fb0}", 1705));
-assertNull(res[666].exec("** Failers", 1706));
-assertNull(res[666].exec("ax{391}x{10427}x{ff3a}x{1fb0} ", 1707));
-assertNull(res[666].exec("Ax{3b1}x{10427}x{ff3a}x{1fb0}", 1708));
-assertNull(res[666].exec("Ax{391}x{1044F}x{ff3a}x{1fb0}", 1709));
-assertNull(res[666].exec("Ax{391}x{10427}x{ff5a}x{1fb0}", 1710));
-assertNull(res[666].exec("Ax{391}x{10427}x{ff3a}x{1fb8}", 1711));
-assertNull(res[666].exec("Ax{391}x{10427}x{ff3a}x{1fb0}", 1712));
-assertNull(res[666].exec("ax{391}x{10427}x{ff3a}x{1fb0} ", 1713));
-assertNull(res[666].exec("Ax{3b1}x{10427}x{ff3a}x{1fb0}", 1714));
-assertNull(res[666].exec("Ax{391}x{1044F}x{ff3a}x{1fb0}", 1715));
-assertNull(res[666].exec("Ax{391}x{10427}x{ff5a}x{1fb0}", 1716));
-assertNull(res[666].exec("Ax{391}x{10427}x{ff3a}x{1fb8}", 1717));
-assertNull(res[666].exec("x{391}x{3b1}x{3b1}x{3b1}x{391}", 1718));
-assertNull(res[666].exec("x{391}x{3b1}x{3b1}x{3b1}x{391}X", 1719));
-assertNull(res[666].exec("x{391}x{3b1}x{3b1}x{3b1}x{391}X", 1720));
-assertNull(res[666].exec("x{391}", 1721));
-assertNull(res[666].exec("x{ff3a}", 1722));
-assertNull(res[666].exec("x{3b1}", 1723));
-assertNull(res[666].exec("x{ff5a} ", 1724));
-assertNull(res[666].exec("x{c0}", 1725));
-assertNull(res[666].exec("x{e0} ", 1726));
-assertNull(res[666].exec("x{104}", 1727));
-assertNull(res[666].exec("x{105}", 1728));
-assertNull(res[666].exec("x{109} ", 1729));
-assertNull(res[666].exec("** Failers", 1730));
-assertNull(res[666].exec("x{100}", 1731));
-assertNull(res[666].exec("x{10a} ", 1732));
-assertNull(res[666].exec("Z", 1733));
-assertNull(res[666].exec("z", 1734));
-assertNull(res[666].exec("x{39c}", 1735));
-assertNull(res[666].exec("x{178}", 1736));
-assertNull(res[666].exec("|", 1737));
-assertNull(res[666].exec("x{80}", 1738));
-assertNull(res[666].exec("x{ff}", 1739));
-assertNull(res[666].exec("x{100}", 1740));
-assertNull(res[666].exec("x{101} ", 1741));
-assertNull(res[666].exec("** Failers", 1742));
-assertNull(res[666].exec("x{102}", 1743));
-assertNull(res[666].exec("Y", 1744));
-assertNull(res[666].exec("y ", 1745));
-assertNull(res[667].exec("A", 1746));
-assertNull(res[667].exec("Ax{300}BC ", 1747));
-assertNull(res[667].exec("Ax{300}x{301}x{302}BC ", 1748));
-assertNull(res[667].exec("*** Failers", 1749));
-assertNull(res[667].exec("x{300} ", 1750));
-assertToStringEquals("X", res[668].exec("X123"), 1751);
-assertNull(res[668].exec("*** Failers", 1752));
-assertNull(res[668].exec("AXYZ", 1753));
-assertNull(res[669].exec("Ax{300}x{301}x{302}BCAx{300}x{301} ", 1754));
-assertNull(res[669].exec("Ax{300}x{301}x{302}BCAx{300}x{301}C ", 1755));
-assertNull(res[670].exec("Ax{300}x{301}x{302}BCAx{300}x{301} ", 1756));
-assertNull(res[670].exec("Ax{300}x{301}x{302}BCAx{300}x{301}C ", 1757));
-assertToStringEquals("A,,A", res[671].exec("Ax{300}x{301}x{302}BCAx{300}x{301} "), 1758);
-assertToStringEquals("A,,A", res[671].exec("Ax{300}x{301}x{302}BCAx{300}x{301}C "), 1759);
-assertToStringEquals("A,,A", res[672].exec("Ax{300}x{301}x{302}BCAx{300}x{301} "), 1760);
-assertToStringEquals("A,,A", res[672].exec("Ax{300}x{301}x{302}BCAx{300}x{301}C "), 1761);
-assertNull(res[673].exec("*** Failers", 1762));
-assertNull(res[673].exec("Ax{300}x{301}x{302}", 1763));
-assertNull(res[674].exec("Ax{300}x{301}Bx{300}X", 1764));
-assertNull(res[674].exec("Ax{300}x{301}Bx{300}Cx{300}x{301}", 1765));
-assertNull(res[674].exec("Ax{300}x{301}Bx{300}Cx{300}x{301}X", 1766));
-assertNull(res[674].exec("Ax{300}x{301}Bx{300}Cx{300}x{301}DAx{300}X", 1767));
-assertNull(res[675].exec("Ax{300}x{301}Bx{300}X", 1768));
-assertNull(res[675].exec("Ax{300}x{301}Bx{300}Cx{300}x{301}", 1769));
-assertNull(res[675].exec("Ax{300}x{301}Bx{300}Cx{300}x{301}X", 1770));
-assertNull(res[675].exec("Ax{300}x{301}Bx{300}Cx{300}x{301}DAx{300}X", 1771));
-assertNull(res[675].exec("x{2e81}x{3007}x{2f804}x{31a0}", 1772));
-assertNull(res[675].exec("** Failers", 1773));
-assertNull(res[675].exec("x{2e7f} ", 1774));
-assertNull(res[675].exec("x{3105}", 1775));
-assertNull(res[675].exec("** Failers", 1776));
-assertNull(res[675].exec("x{30ff} ", 1777));
-assertNull(res[676].exec("x{06e9}", 1778));
-assertNull(res[676].exec("x{060b}", 1779));
-assertNull(res[676].exec("** Failers", 1780));
-assertNull(res[676].exec("Xx{06e9} ", 1781));
-assertNull(res[677].exec("x{2f800}", 1782));
-assertNull(res[677].exec("** Failers", 1783));
-assertNull(res[677].exec("x{a014}", 1784));
-assertNull(res[677].exec("x{a4c6} ", 1785));
-assertNull(res[678].exec("AXYZ", 1786));
-assertNull(res[678].exec("x{1234}XYZ ", 1787));
-assertNull(res[678].exec("** Failers", 1788));
-assertNull(res[678].exec("X ", 1789));
-assertNull(res[679].exec("** Failers", 1790));
-assertNull(res[679].exec("AX", 1791));
-assertNull(res[680].exec("XYZ", 1792));
-assertNull(res[680].exec("AXYZ", 1793));
-assertNull(res[680].exec("x{1234}XYZ ", 1794));
-assertNull(res[680].exec("** Failers", 1795));
-assertNull(res[680].exec("ABXYZ ", 1796));
-assertNull(res[681].exec("XYZ", 1797));
-assertNull(res[681].exec("** Failers", 1798));
-assertNull(res[681].exec("AXYZ", 1799));
-assertNull(res[681].exec("x{1234}XYZ ", 1800));
-assertNull(res[681].exec("ABXYZ ", 1801));
-assertNull(res[681].exec("AXYZ", 1802));
-assertNull(res[681].exec("x{1234}XYZ", 1803));
-assertNull(res[681].exec("Ax{1234}XYZ", 1804));
-assertNull(res[681].exec("** Failers", 1805));
-assertNull(res[681].exec("XYZ", 1806));
-assertNull(res[681].exec("** Failers", 1807));
-assertNull(res[681].exec("AXYZ", 1808));
-assertNull(res[681].exec("x{1234}XYZ", 1809));
-assertNull(res[681].exec("Ax{1234}XYZ", 1810));
-assertNull(res[681].exec("XYZ", 1811));
-assertNull(res[682].exec("XYZ", 1812));
-assertNull(res[682].exec("AXYZ", 1813));
-assertNull(res[682].exec("x{1234}XYZ", 1814));
-assertNull(res[682].exec("Ax{1234}XYZ", 1815));
-assertNull(res[682].exec("** Failers", 1816));
-assertNull(res[683].exec("XYZ", 1817));
-assertNull(res[683].exec("** Failers", 1818));
-assertNull(res[683].exec("AXYZ", 1819));
-assertNull(res[683].exec("x{1234}XYZ", 1820));
-assertNull(res[683].exec("Ax{1234}XYZ", 1821));
-assertToStringEquals("AX", res[684].exec("AXYZ"), 1822);
-assertNull(res[684].exec("x{1234}XYZ ", 1823));
-assertNull(res[684].exec("** Failers", 1824));
-assertNull(res[684].exec("X ", 1825));
-assertNull(res[685].exec("** Failers", 1826));
-assertToStringEquals("AX", res[685].exec("AX"), 1827);
-assertToStringEquals("X", res[686].exec("XYZ"), 1828);
-assertToStringEquals("AX", res[686].exec("AXYZ"), 1829);
-assertNull(res[686].exec("x{1234}XYZ ", 1830));
-assertNull(res[686].exec("** Failers", 1831));
-assertNull(res[686].exec("ABXYZ ", 1832));
-assertToStringEquals("X", res[687].exec("XYZ"), 1833);
-assertNull(res[687].exec("** Failers", 1834));
-assertToStringEquals("AX", res[687].exec("AXYZ"), 1835);
-assertNull(res[687].exec("x{1234}XYZ ", 1836));
-assertNull(res[687].exec("ABXYZ ", 1837));
-assertToStringEquals("AX", res[688].exec("AXYZ"), 1838);
-assertNull(res[688].exec("x{1234}XYZ", 1839));
-assertNull(res[688].exec("Ax{1234}XYZ", 1840));
-assertNull(res[688].exec("** Failers", 1841));
-assertNull(res[688].exec("XYZ", 1842));
-assertNull(res[689].exec("** Failers", 1843));
-assertToStringEquals("AX", res[689].exec("AXYZ"), 1844);
-assertNull(res[689].exec("x{1234}XYZ", 1845));
-assertNull(res[689].exec("Ax{1234}XYZ", 1846));
-assertNull(res[689].exec("XYZ", 1847));
-assertToStringEquals("X", res[690].exec("XYZ"), 1848);
-assertToStringEquals("AX", res[690].exec("AXYZ"), 1849);
-assertNull(res[690].exec("x{1234}XYZ", 1850));
-assertNull(res[690].exec("Ax{1234}XYZ", 1851));
-assertNull(res[690].exec("** Failers", 1852));
-assertToStringEquals("X", res[691].exec("XYZ"), 1853);
-assertNull(res[691].exec("** Failers", 1854));
-assertToStringEquals("AX", res[691].exec("AXYZ"), 1855);
-assertNull(res[691].exec("x{1234}XYZ", 1856));
-assertNull(res[691].exec("Ax{1234}XYZ", 1857));
-assertNull(res[692].exec("abcdefgh", 1858));
-assertNull(res[692].exec("x{1234}\n\x0dx{3456}xyz ", 1859));
-assertNull(res[693].exec("abcdefgh", 1860));
-assertNull(res[693].exec("x{1234}\n\x0dx{3456}xyz ", 1861));
-assertNull(res[694].exec("** Failers", 1862));
-assertNull(res[694].exec("abcdefgh", 1863));
-assertNull(res[694].exec("x{1234}\n\x0dx{3456}xyz ", 1864));
-assertNull(res[695].exec(" AXY", 1865));
-assertNull(res[695].exec(" aXY", 1866));
-assertNull(res[695].exec(" x{1c5}XY", 1867));
-assertNull(res[695].exec(" ** Failers", 1868));
-assertNull(res[695].exec(" x{1bb}XY", 1869));
-assertNull(res[695].exec(" x{2b0}XY", 1870));
-assertNull(res[695].exec(" !XY ", 1871));
-assertNull(res[696].exec(" AXY", 1872));
-assertNull(res[696].exec(" aXY", 1873));
-assertNull(res[696].exec(" x{1c5}XY", 1874));
-assertNull(res[696].exec(" ** Failers", 1875));
-assertNull(res[696].exec(" x{1bb}XY", 1876));
-assertNull(res[696].exec(" x{2b0}XY", 1877));
-assertNull(res[696].exec(" !XY ", 1878));
-assertNull(res[696].exec(" AXY", 1879));
-assertNull(res[696].exec(" aXY", 1880));
-assertNull(res[696].exec(" AbcdeXyz ", 1881));
-assertNull(res[696].exec(" x{1c5}AbXY", 1882));
-assertNull(res[696].exec(" abcDEXypqreXlmn ", 1883));
-assertNull(res[696].exec(" ** Failers", 1884));
-assertNull(res[696].exec(" x{1bb}XY", 1885));
-assertNull(res[696].exec(" x{2b0}XY", 1886));
-assertNull(res[696].exec(" !XY ", 1887));
-assertNull(res[697].exec(" AXY", 1888));
-assertNull(res[697].exec(" aXY", 1889));
-assertNull(res[697].exec(" AbcdeXyz ", 1890));
-assertNull(res[697].exec(" x{1c5}AbXY", 1891));
-assertNull(res[697].exec(" abcDEXypqreXlmn ", 1892));
-assertNull(res[697].exec(" ** Failers", 1893));
-assertNull(res[697].exec(" x{1bb}XY", 1894));
-assertNull(res[697].exec(" x{2b0}XY", 1895));
-assertNull(res[697].exec(" !XY ", 1896));
-assertNull(res[697].exec(" AXY", 1897));
-assertNull(res[697].exec(" aXY", 1898));
-assertNull(res[697].exec(" AbcdeXyz ", 1899));
-assertNull(res[697].exec(" x{1c5}AbXY", 1900));
-assertNull(res[697].exec(" abcDEXypqreXlmn ", 1901));
-assertNull(res[697].exec(" ** Failers", 1902));
-assertNull(res[697].exec(" x{1bb}XY", 1903));
-assertNull(res[697].exec(" x{2b0}XY", 1904));
-assertNull(res[697].exec(" !XY ", 1905));
-assertNull(res[698].exec(" AXY", 1906));
-assertNull(res[698].exec(" aXY", 1907));
-assertNull(res[698].exec(" AbcdeXyz ", 1908));
-assertNull(res[698].exec(" x{1c5}AbXY", 1909));
-assertNull(res[698].exec(" abcDEXypqreXlmn ", 1910));
-assertNull(res[698].exec(" ** Failers", 1911));
-assertNull(res[698].exec(" x{1bb}XY", 1912));
-assertNull(res[698].exec(" x{2b0}XY", 1913));
-assertNull(res[698].exec(" !XY ", 1914));
-assertNull(res[699].exec(" !XY", 1915));
-assertNull(res[699].exec(" x{1bb}XY", 1916));
-assertNull(res[699].exec(" x{2b0}XY", 1917));
-assertNull(res[699].exec(" ** Failers", 1918));
-assertNull(res[699].exec(" x{1c5}XY", 1919));
-assertNull(res[699].exec(" AXY ", 1920));
-assertNull(res[700].exec(" !XY", 1921));
-assertNull(res[700].exec(" x{1bb}XY", 1922));
-assertNull(res[700].exec(" x{2b0}XY", 1923));
-assertNull(res[700].exec(" ** Failers", 1924));
-assertNull(res[700].exec(" x{1c5}XY", 1925));
-assertNull(res[700].exec(" AXY ", 1926));
-assertNull(res[701].exec("\xa0!", 1927));
-assertNull(res[701].exec("AabcabcYZ ", 1928));
-assertToStringEquals("L=abcX,L=abc,abc", res[702].exec("L=abcX"), 1929);
-assertNull(res[702].exec("x{c0}", 1930));
-assertNull(res[702].exec("x{e0} ", 1931));
-assertNull(res[702].exec("x{c0}", 1932));
-assertNull(res[702].exec("x{e0} ", 1933));
-assertNull(res[703].exec("x{1b00}x{12000}x{7c0}x{a840}x{10900}", 1934));
-assertNull(res[706].exec("123abcdefg", 1935));
-assertNull(res[706].exec("123abc\xc4\xc5zz", 1936));
-assertNull(res[710].exec("A\x80", 1937));
-assertNull(res[725].exec("x{60e} ", 1938));
-assertNull(res[725].exec("x{656} ", 1939));
-assertNull(res[725].exec("x{657} ", 1940));
-assertNull(res[725].exec("x{658} ", 1941));
-assertNull(res[725].exec("x{659} ", 1942));
-assertNull(res[725].exec("x{65a} ", 1943));
-assertNull(res[725].exec("x{65b} ", 1944));
-assertNull(res[725].exec("x{65c} ", 1945));
-assertNull(res[725].exec("x{65d} ", 1946));
-assertNull(res[725].exec("x{65e} ", 1947));
-assertNull(res[725].exec("x{66a} ", 1948));
-assertNull(res[725].exec("x{6e9} ", 1949));
-assertNull(res[725].exec("x{6ef}", 1950));
-assertNull(res[725].exec("x{6fa} ", 1951));
-assertNull(res[725].exec("** Failers", 1952));
-assertNull(res[725].exec("x{600}", 1953));
-assertNull(res[725].exec("x{650}", 1954));
-assertNull(res[725].exec("x{651} ", 1955));
-assertNull(res[725].exec("x{652} ", 1956));
-assertNull(res[725].exec("x{653} ", 1957));
-assertNull(res[725].exec("x{654} ", 1958));
-assertNull(res[725].exec("x{655} ", 1959));
-assertNull(res[725].exec("x{65f} ", 1960));
-assertNull(res[726].exec("x{1d2b} ", 1961));
-assertNull(res[727].exec("x{589}", 1962));
-assertNull(res[727].exec("x{60c}", 1963));
-assertNull(res[727].exec("x{61f} ", 1964));
-assertNull(res[727].exec("x{964}", 1965));
-assertNull(res[727].exec("x{965} ", 1966));
-assertNull(res[727].exec("x{970} ", 1967));
-assertNull(res[728].exec("x{64b}", 1968));
-assertNull(res[728].exec("x{654}", 1969));
-assertNull(res[728].exec("x{655}", 1970));
-assertNull(res[728].exec("x{200c} ", 1971));
-assertNull(res[728].exec("** Failers", 1972));
-assertNull(res[728].exec("x{64a}", 1973));
-assertNull(res[728].exec("x{656} ", 1974));
-assertNull(res[729].exec("x{10450}", 1975));
-assertNull(res[729].exec("x{1047f}", 1976));
-assertNull(res[730].exec("x{10400}", 1977));
-assertNull(res[730].exec("x{1044f}", 1978));
-assertNull(res[731].exec("x{10480}", 1979));
-assertNull(res[731].exec("x{1049d}", 1980));
-assertNull(res[731].exec("x{104a0}", 1981));
-assertNull(res[731].exec("x{104a9}", 1982));
-assertNull(res[731].exec("** Failers", 1983));
-assertNull(res[731].exec("x{1049e}", 1984));
-assertNull(res[731].exec("x{1049f}", 1985));
-assertNull(res[731].exec("x{104aa} ", 1986));
-assertNull(res[731].exec("\xe2\x80\xa8\xe2\x80\xa8", 1987));
-assertNull(res[731].exec("x{2028}x{2028}x{2028}", 1988));
-assertNull(res[732].exec("x{c0}x{e0}x{116}x{117}", 1989));
-assertNull(res[732].exec("x{c0}x{e0}x{116}x{117}", 1990));
-assertNull(res[733].exec("x{102A4}x{AA52}x{A91D}x{1C46}x{10283}x{1092E}x{1C6B}x{A93B}x{A8BF}x{1BA0}x{A50A}====", 1991));
-assertNull(res[733].exec("x{a77d}x{1d79}", 1992));
-assertNull(res[733].exec("x{1d79}x{a77d} ", 1993));
-assertNull(res[733].exec("x{a77d}x{1d79}", 1994));
-assertNull(res[733].exec("** Failers ", 1995));
-assertNull(res[733].exec("x{1d79}x{a77d} ", 1996));
-assertToStringEquals("AA,A", res[734].exec("AA"), 1997);
-assertToStringEquals("Aa,A", res[734].exec("Aa"), 1998);
-assertToStringEquals("aa,a", res[734].exec("aa"), 1999);
-assertToStringEquals("aA,a", res[734].exec("aA"), 2000);
-assertNull(res[734].exec("x{de}x{de}", 2001));
-assertNull(res[734].exec("x{de}x{fe}", 2002));
-assertNull(res[734].exec("x{fe}x{fe}", 2003));
-assertNull(res[734].exec("x{fe}x{de}", 2004));
-assertNull(res[734].exec("x{10a}x{10a}", 2005));
-assertNull(res[734].exec("x{10a}x{10b}", 2006));
-assertNull(res[734].exec("x{10b}x{10b}", 2007));
-assertNull(res[734].exec("x{10b}x{10a}", 2008));
-assertToStringEquals("abc", res[736].exec("abc"), 2009);
-assertToStringEquals("abc", res[737].exec("abc"), 2010);
-assertToStringEquals("abbbbc", res[737].exec("abbbbc"), 2011);
-assertToStringEquals("ac", res[737].exec("ac"), 2012);
-assertToStringEquals("abc", res[738].exec("abc"), 2013);
-assertToStringEquals("abbbbbbc", res[738].exec("abbbbbbc"), 2014);
-assertNull(res[738].exec("*** Failers ", 2015));
-assertNull(res[738].exec("ac", 2016));
-assertNull(res[738].exec("ab", 2017));
-assertToStringEquals("a", res[739].exec("a"), 2018);
-assertToStringEquals("aaaaaaaaaaaaaaaaa", res[739].exec("aaaaaaaaaaaaaaaaa"), 2019);
-assertToStringEquals("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", res[739].exec("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa "), 2020);
-assertToStringEquals("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", res[739].exec("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaF "), 2021);
-assertToStringEquals("a,a", res[740].exec("a"), 2022);
-assertToStringEquals("a,a", res[740].exec("abcd"), 2023);
-assertToStringEquals("a,a", res[740].exec("african"), 2024);
-assertToStringEquals("abc", res[741].exec("abcdef"), 2025);
-assertNull(res[741].exec("*** Failers", 2026));
-assertNull(res[741].exec("xyzabc", 2027));
-assertNull(res[741].exec("xyz\nabc ", 2028));
-assertToStringEquals("abc", res[742].exec("abcdef"), 2029);
-assertToStringEquals("abc", res[742].exec("xyz\nabc "), 2030);
-assertNull(res[742].exec("*** Failers", 2031));
-assertNull(res[742].exec("xyzabc", 2032));
-assertNull(res[743].exec("abcdef", 2033));
-assertNull(res[743].exec("*** Failers", 2034));
-assertNull(res[743].exec("xyzabc", 2035));
-assertNull(res[743].exec("xyz\nabc ", 2036));
-assertNull(res[744].exec("abcdef", 2037));
-assertNull(res[744].exec("*** Failers", 2038));
-assertNull(res[744].exec("xyzabc", 2039));
-assertNull(res[744].exec("xyz\nabc ", 2040));
-assertNull(res[745].exec("abcdef", 2041));
-assertNull(res[745].exec("xyzabc>3", 2042));
-assertNull(res[745].exec("*** Failers", 2043));
-assertNull(res[745].exec("xyzabc ", 2044));
-assertNull(res[745].exec("xyzabc>2 ", 2045));
-assertToStringEquals("x9yzz", res[746].exec("x9yzz"), 2046);
-assertToStringEquals("x0y+z", res[746].exec("x0y+z"), 2047);
-assertNull(res[746].exec("*** Failers", 2048));
-assertNull(res[746].exec("xyz", 2049));
-assertNull(res[746].exec("xxy0z ", 2050));
-assertToStringEquals("x yzz", res[747].exec("x yzz"), 2051);
-assertToStringEquals("x y+z", res[747].exec("x y+z"), 2052);
-assertNull(res[747].exec("*** Failers", 2053));
-assertNull(res[747].exec("xyz", 2054));
-assertNull(res[747].exec("xxyyz", 2055));
-assertToStringEquals("xxy+z", res[748].exec("xxy+z"), 2056);
-assertNull(res[748].exec("*** Failers", 2057));
-assertNull(res[748].exec("xxy0z", 2058));
-assertNull(res[748].exec("x+y+z ", 2059));
-assertToStringEquals("x+y", res[749].exec("x+y"), 2060);
-assertToStringEquals("x-y", res[749].exec("x-y"), 2061);
-assertNull(res[749].exec("*** Failers", 2062));
-assertNull(res[749].exec("x\ny", 2063));
-assertToStringEquals("x+y", res[750].exec("x+y"), 2064);
-assertToStringEquals("x-y", res[750].exec("x-y"), 2065);
-assertNull(res[750].exec("x\ny", 2066));
-assertNull(res[750].exec("a+bc+dp+q", 2067));
-assertNull(res[750].exec("a+bc\ndp+q", 2068));
-assertNull(res[750].exec("x\nyp+q ", 2069));
-assertNull(res[750].exec("*** Failers ", 2070));
-assertNull(res[750].exec("a\nbc\ndp+q", 2071));
-assertNull(res[750].exec("a+bc\ndp\nq", 2072));
-assertNull(res[750].exec("x\nyp\nq ", 2073));
-assertNull(res[751].exec("ba0", 2074));
-assertNull(res[751].exec("*** Failers", 2075));
-assertNull(res[751].exec("ba0\n", 2076));
-assertNull(res[751].exec("ba0\ncd ", 2077));
-assertNull(res[752].exec("ba0", 2078));
-assertNull(res[752].exec("*** Failers", 2079));
-assertNull(res[752].exec("ba0\n", 2080));
-assertNull(res[752].exec("ba0\ncd ", 2081));
-assertNull(res[753].exec("ba0", 2082));
-assertNull(res[753].exec("ba0\n", 2083));
-assertNull(res[753].exec("*** Failers", 2084));
-assertNull(res[753].exec("ba0\ncd ", 2085));
-assertNull(res[754].exec("ba0", 2086));
-assertNull(res[754].exec("ba0\n", 2087));
-assertNull(res[754].exec("*** Failers", 2088));
-assertNull(res[754].exec("ba0\ncd ", 2089));
-assertToStringEquals("a0", res[755].exec("ba0"), 2090);
-assertNull(res[755].exec("ba0\n", 2091));
-assertNull(res[755].exec("*** Failers", 2092));
-assertNull(res[755].exec("ba0\ncd ", 2093));
-assertToStringEquals("a0", res[756].exec("ba0"), 2094);
-assertToStringEquals("a0", res[756].exec("ba0\n"), 2095);
-assertToStringEquals("a0", res[756].exec("ba0\ncd "), 2096);
-assertNull(res[756].exec("*** Failers", 2097));
-assertToStringEquals("abc", res[757].exec("abc"), 2098);
-assertToStringEquals("aBc", res[757].exec("aBc"), 2099);
-assertToStringEquals("ABC", res[757].exec("ABC"), 2100);
-assertToStringEquals("b", res[758].exec("abcd"), 2101);
-assertToStringEquals("abz", res[759].exec("abz"), 2102);
-assertToStringEquals("abb", res[759].exec("abbz"), 2103);
-assertToStringEquals("az", res[759].exec("azz "), 2104);
-assertToStringEquals("yz", res[760].exec("ayzq"), 2105);
-assertToStringEquals("xyz", res[760].exec("axyzq"), 2106);
-assertToStringEquals("xxyz", res[760].exec("axxyz"), 2107);
-assertToStringEquals("xxxyz", res[760].exec("axxxyzq"), 2108);
-assertToStringEquals("xxxyz", res[760].exec("axxxxyzq"), 2109);
-assertNull(res[760].exec("*** Failers", 2110));
-assertNull(res[760].exec("ax", 2111));
-assertNull(res[760].exec("axx ", 2112));
-assertNull(res[760].exec(" ", 2113));
-assertToStringEquals("xxxyz", res[761].exec("axxxyzq"), 2114);
-assertToStringEquals("xxxyz", res[761].exec("axxxxyzq"), 2115);
-assertNull(res[761].exec("*** Failers", 2116));
-assertNull(res[761].exec("ax", 2117));
-assertNull(res[761].exec("axx ", 2118));
-assertNull(res[761].exec("ayzq", 2119));
-assertNull(res[761].exec("axyzq", 2120));
-assertNull(res[761].exec("axxyz", 2121));
-assertNull(res[761].exec(" ", 2122));
-assertToStringEquals("xxyz", res[762].exec("axxyz"), 2123);
-assertToStringEquals("xxxyz", res[762].exec("axxxyzq"), 2124);
-assertToStringEquals("xxxyz", res[762].exec("axxxxyzq"), 2125);
-assertNull(res[762].exec("*** Failers", 2126));
-assertNull(res[762].exec("ax", 2127));
-assertNull(res[762].exec("axx ", 2128));
-assertNull(res[762].exec("ayzq", 2129));
-assertNull(res[762].exec("axyzq", 2130));
-assertNull(res[762].exec(" ", 2131));
-assertToStringEquals("b", res[763].exec("bac"), 2132);
-assertToStringEquals("bcdef", res[763].exec("bcdefax"), 2133);
-assertToStringEquals("*** F", res[763].exec("*** Failers"), 2134);
-assertToStringEquals(" ", res[763].exec("aaaaa "), 2135);
-assertToStringEquals("b", res[764].exec("bac"), 2136);
-assertToStringEquals("bcdef", res[764].exec("bcdefax"), 2137);
-assertToStringEquals("*** F", res[764].exec("*** Failers"), 2138);
-assertToStringEquals("", res[764].exec("aaaaa "), 2139);
-assertToStringEquals("xyz", res[765].exec("xyz"), 2140);
-assertToStringEquals("wxyz", res[765].exec("awxyza"), 2141);
-assertToStringEquals("bcdef", res[765].exec("abcdefa"), 2142);
-assertToStringEquals("bcdef", res[765].exec("abcdefghijk"), 2143);
-assertToStringEquals("*** F", res[765].exec("*** Failers"), 2144);
-assertNull(res[765].exec("axya", 2145));
-assertNull(res[765].exec("axa", 2146));
-assertToStringEquals(" ", res[765].exec("aaaaa "), 2147);
-assertToStringEquals("1234", res[766].exec("1234b567"), 2148);
-assertToStringEquals("", res[766].exec("xyz"), 2149);
-assertToStringEquals("a", res[767].exec("a1234b567"), 2150);
-assertToStringEquals("xyz", res[767].exec("xyz"), 2151);
-assertToStringEquals(" ", res[767].exec(" "), 2152);
-assertToStringEquals("1234", res[768].exec("ab1234c56"), 2153);
-assertNull(res[768].exec("*** Failers", 2154));
-assertNull(res[768].exec("xyz", 2155));
-assertToStringEquals("ab", res[769].exec("ab123c56"), 2156);
-assertToStringEquals("*** Failers", res[769].exec("*** Failers"), 2157);
-assertNull(res[769].exec("789", 2158));
-assertToStringEquals("5A", res[770].exec("045ABC"), 2159);
-assertToStringEquals("A", res[770].exec("ABC"), 2160);
-assertNull(res[770].exec("*** Failers", 2161));
-assertNull(res[770].exec("XYZ", 2162));
-assertToStringEquals("A", res[771].exec("ABC"), 2163);
-assertToStringEquals("BA", res[771].exec("BAC"), 2164);
-assertToStringEquals("A", res[771].exec("9ABC "), 2165);
-assertNull(res[771].exec("*** Failers", 2166));
-assertToStringEquals("aaaa", res[772].exec("aaaa"), 2167);
-assertToStringEquals("xyz", res[773].exec("xyz"), 2168);
-assertToStringEquals("ggggggggxyz", res[773].exec("ggggggggxyz"), 2169);
-assertToStringEquals("abcdxyz", res[774].exec("abcdxyz"), 2170);
-assertToStringEquals("axyz", res[774].exec("axyz"), 2171);
-assertNull(res[774].exec("*** Failers", 2172));
-assertNull(res[774].exec("xyz", 2173));
-assertToStringEquals("xyz", res[775].exec("xyz"), 2174);
-assertToStringEquals("cxyz", res[775].exec("cxyz "), 2175);
-assertToStringEquals("12X", res[776].exec("12X"), 2176);
-assertToStringEquals("123X", res[776].exec("123X"), 2177);
-assertNull(res[776].exec("*** Failers", 2178));
-assertNull(res[776].exec("X", 2179));
-assertNull(res[776].exec("1X", 2180));
-assertNull(res[776].exec("1234X ", 2181));
-assertToStringEquals("a4", res[777].exec("a45"), 2182);
-assertToStringEquals("b9", res[777].exec("b93"), 2183);
-assertToStringEquals("c9", res[777].exec("c99z"), 2184);
-assertToStringEquals("d0", res[777].exec("d04"), 2185);
-assertNull(res[777].exec("*** Failers", 2186));
-assertNull(res[777].exec("e45", 2187));
-assertNull(res[777].exec("abcd ", 2188));
-assertNull(res[777].exec("abcd1234", 2189));
-assertNull(res[777].exec("1234 ", 2190));
-assertToStringEquals("a4", res[778].exec("a45"), 2191);
-assertToStringEquals("b9", res[778].exec("b93"), 2192);
-assertToStringEquals("c9", res[778].exec("c99z"), 2193);
-assertToStringEquals("d0", res[778].exec("d04"), 2194);
-assertToStringEquals("abcd1", res[778].exec("abcd1234"), 2195);
-assertToStringEquals("1", res[778].exec("1234 "), 2196);
-assertNull(res[778].exec("*** Failers", 2197));
-assertNull(res[778].exec("e45", 2198));
-assertNull(res[778].exec("abcd ", 2199));
-assertToStringEquals("a4", res[779].exec("a45"), 2200);
-assertToStringEquals("b9", res[779].exec("b93"), 2201);
-assertToStringEquals("c9", res[779].exec("c99z"), 2202);
-assertToStringEquals("d0", res[779].exec("d04"), 2203);
-assertToStringEquals("abcd1", res[779].exec("abcd1234"), 2204);
-assertNull(res[779].exec("*** Failers", 2205));
-assertNull(res[779].exec("1234 ", 2206));
-assertNull(res[779].exec("e45", 2207));
-assertNull(res[779].exec("abcd ", 2208));
-assertToStringEquals("aX", res[780].exec("aX"), 2209);
-assertToStringEquals("aaX", res[780].exec("aaX "), 2210);
-assertToStringEquals("a4", res[781].exec("a45"), 2211);
-assertToStringEquals("b9", res[781].exec("b93"), 2212);
-assertToStringEquals("c9", res[781].exec("c99z"), 2213);
-assertToStringEquals("d0", res[781].exec("d04"), 2214);
-assertToStringEquals("1", res[781].exec("1234 "), 2215);
-assertNull(res[781].exec("*** Failers", 2216));
-assertNull(res[781].exec("abcd1234", 2217));
-assertNull(res[781].exec("e45", 2218));
-assertToStringEquals("ab4", res[782].exec("ab45"), 2219);
-assertToStringEquals("bcd9", res[782].exec("bcd93"), 2220);
-assertNull(res[782].exec("*** Failers", 2221));
-assertNull(res[782].exec("1234 ", 2222));
-assertNull(res[782].exec("a36 ", 2223));
-assertNull(res[782].exec("abcd1234", 2224));
-assertNull(res[782].exec("ee45", 2225));
-assertToStringEquals("abc4,abc", res[783].exec("abc45"), 2226);
-assertToStringEquals("abcabcabc4,abc", res[783].exec("abcabcabc45"), 2227);
-assertToStringEquals("4,", res[783].exec("42xyz "), 2228);
-assertNull(res[783].exec("*** Failers", 2229));
-assertToStringEquals("abc4,abc", res[784].exec("abc45"), 2230);
-assertToStringEquals("abcabcabc4,abc", res[784].exec("abcabcabc45"), 2231);
-assertNull(res[784].exec("*** Failers", 2232));
-assertNull(res[784].exec("42xyz ", 2233));
-assertToStringEquals("abc4,abc", res[785].exec("abc45"), 2234);
-assertToStringEquals("4,", res[785].exec("42xyz "), 2235);
-assertNull(res[785].exec("*** Failers", 2236));
-assertNull(res[785].exec("abcabcabc45", 2237));
-assertToStringEquals("abcabc4,abc", res[786].exec("abcabc45"), 2238);
-assertToStringEquals("abcabcabc4,abc", res[786].exec("abcabcabc45"), 2239);
-assertNull(res[786].exec("*** Failers", 2240));
-assertNull(res[786].exec("abcabcabcabc45", 2241));
-assertNull(res[786].exec("abc45", 2242));
-assertNull(res[786].exec("42xyz ", 2243));
-assertNull(res[786].exec("1abc2abc3456", 2244));
-assertNull(res[786].exec("1abc2xyz3456 ", 2245));
-assertToStringEquals("ab=ab,ab,ab", res[787].exec("ab=ab"), 2246);
-assertToStringEquals("ab=ab,ab,ab", res[787].exec("ab=ab"), 2247);
-assertNull(res[787].exec("abc", 2248));
-assertNull(res[787].exec("a(b)c", 2249));
-assertNull(res[787].exec("a(b(c))d ", 2250));
-assertNull(res[787].exec("*** Failers)", 2251));
-assertNull(res[787].exec("a(b(c)d ", 2252));
-assertNull(res[787].exec(">abc>123<xyz<", 2253));
-assertNull(res[787].exec(">abc>1(2)3<xyz<", 2254));
-assertNull(res[787].exec(">abc>(1(2)3)<xyz<", 2255));
-assertNull(res[787].exec("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa9876", 2256));
-assertNull(res[787].exec("*** Failers ", 2257));
-assertNull(res[787].exec("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", 2258));
-assertNull(res[787].exec("<>", 2259));
-assertNull(res[787].exec("<abcd>", 2260));
-assertNull(res[787].exec("<abc <123> hij>", 2261));
-assertNull(res[787].exec("<abc <def> hij>", 2262));
-assertNull(res[787].exec("<abc<>def> ", 2263));
-assertNull(res[787].exec("<abc<> ", 2264));
-assertNull(res[787].exec("*** Failers", 2265));
-assertNull(res[787].exec("<abc", 2266));
-assertNull(res[787].exec("abc: ", 2267));
-assertNull(res[787].exec("12 ", 2268));
-assertNull(res[787].exec("*** Failers ", 2269));
-assertNull(res[787].exec("123 ", 2270));
-assertNull(res[787].exec("xyz ", 2271));
-assertNull(res[787].exec(" ", 2272));
-assertNull(res[787].exec("abc: ", 2273));
-assertNull(res[787].exec("12 ", 2274));
-assertNull(res[787].exec("*** Failers", 2275));
-assertNull(res[787].exec("123", 2276));
-assertNull(res[787].exec("xyz ", 2277));
-assertNull(res[788].exec("abcde: ", 2278));
-assertNull(res[788].exec("*** Failers ", 2279));
-assertNull(res[788].exec("abc.. ", 2280));
-assertNull(res[788].exec("123 ", 2281));
-assertNull(res[788].exec("vwxyz ", 2282));
-assertNull(res[788].exec(" ", 2283));
-assertNull(res[789].exec("12 ", 2284));
-assertNull(res[789].exec("*** Failers", 2285));
-assertNull(res[789].exec("abcde:", 2286));
-assertNull(res[789].exec("abc.. ", 2287));
-assertNull(res[789].exec("123", 2288));
-assertNull(res[789].exec("vwxyz ", 2289));
-assertNull(res[789].exec("abc12345", 2290));
-assertNull(res[789].exec("wxy123z", 2291));
-assertNull(res[789].exec("*** Failers", 2292));
-assertNull(res[789].exec("123abc", 2293));
-assertNull(res[789].exec("123abc", 2294));
-assertNull(res[789].exec("mno123456 ", 2295));
-assertNull(res[789].exec("*** Failers", 2296));
-assertNull(res[789].exec("abc12345", 2297));
-assertNull(res[789].exec("wxy123z", 2298));
-assertNull(res[789].exec("abcxyz", 2299));
-assertNull(res[789].exec("123abcxyz999 ", 2300));
-assertToStringEquals("abc", res[791].exec("abcdef"), 2301);
-assertNull(res[791].exec("*** Failers", 2302));
-assertToStringEquals("abc", res[791].exec("abcdefB "), 2303);
-assertToStringEquals(",", res[792].exec("bcd"), 2304);
-assertToStringEquals("aaa,aaa", res[792].exec("aaabcd"), 2305);
-assertToStringEquals(",", res[792].exec("xyz"), 2306);
-assertToStringEquals(",", res[792].exec("xyzN "), 2307);
-assertToStringEquals(",", res[792].exec("*** Failers"), 2308);
-assertToStringEquals(",", res[792].exec("bcdN "), 2309);
-assertToStringEquals("xyz", res[793].exec("xyz"), 2310);
-assertNull(res[793].exec("xyz\n", 2311));
-assertNull(res[793].exec("*** Failers", 2312));
-assertNull(res[793].exec("xyzZ", 2313));
-assertNull(res[793].exec("xyz\nZ ", 2314));
-assertToStringEquals("xyz", res[794].exec("xyz"), 2315);
-assertToStringEquals("xyz", res[794].exec("xyz\n "), 2316);
-assertToStringEquals("xyz", res[794].exec("abcxyz\npqr "), 2317);
-assertToStringEquals("xyz", res[794].exec("abcxyz\npqrZ "), 2318);
-assertToStringEquals("xyz", res[794].exec("xyz\nZ "), 2319);
-assertNull(res[794].exec("*** Failers", 2320));
-assertNull(res[794].exec("xyzZ", 2321));
-assertNull(res[795].exec("abcdef", 2322));
-assertNull(res[795].exec("defabcxyz>3 ", 2323));
-assertNull(res[795].exec("*** Failers ", 2324));
-assertNull(res[795].exec("defabcxyz", 2325));
-assertNull(res[796].exec("abP", 2326));
-assertNull(res[796].exec("abcdeP", 2327));
-assertToStringEquals("abcdef", res[796].exec("abcdefP"), 2328);
-assertNull(res[796].exec("*** Failers", 2329));
-assertNull(res[796].exec("abxP ", 2330));
-assertNull(res[797].exec("aP", 2331));
-assertNull(res[797].exec("aaP", 2332));
-assertNull(res[797].exec("aa2P ", 2333));
-assertNull(res[797].exec("aaaP", 2334));
-assertNull(res[797].exec("aaa23P ", 2335));
-assertNull(res[797].exec("aaaa12345P", 2336));
-assertToStringEquals("aa0z", res[797].exec("aa0zP"), 2337);
-assertToStringEquals("aaaa4444444444444z", res[797].exec("aaaa4444444444444zP "), 2338);
-assertNull(res[797].exec("*** Failers", 2339));
-assertNull(res[797].exec("azP ", 2340));
-assertNull(res[797].exec("aaaaaP ", 2341));
-assertNull(res[797].exec("a56P ", 2342));
-assertNull(res[799].exec("adfadadaklhlkalkajhlkjahdfasdfasdfladsfjkjPZ", 2343));
-assertNull(res[799].exec("lkjhlkjhlkjhlkjhabbbbbbcdaefabbbbbbbefaPBZ", 2344));
-assertNull(res[799].exec("cdabbbbbbbbPRBZ", 2345));
-assertNull(res[799].exec("efabbbbbbbbbbbbbbbbPRBZ", 2346));
-assertNull(res[799].exec("bbbbbbbbbbbbcdXyasdfadfPRBZ ", 2347));
-assertNull(res[799].exec("abc", 2348));
-assertNull(res[799].exec("** Failers", 2349));
-assertNull(res[799].exec("def ", 2350));
-assertToStringEquals("the quick brown fox", res[800].exec("the quick brown fox"), 2351);
-assertNull(res[800].exec("The quick brown FOX", 2352));
-assertToStringEquals("the quick brown fox", res[800].exec("What do you know about the quick brown fox?"), 2353);
-assertNull(res[800].exec("What do you know about THE QUICK BROWN FOX?", 2354));
-assertToStringEquals("the quick brown fox", res[801].exec("the quick brown fox"), 2355);
-assertToStringEquals("The quick brown FOX", res[801].exec("The quick brown FOX"), 2356);
-assertToStringEquals("the quick brown fox", res[801].exec("What do you know about the quick brown fox?"), 2357);
-assertToStringEquals("THE QUICK BROWN FOX", res[801].exec("What do you know about THE QUICK BROWN FOX?"), 2358);
-assertToStringEquals("abcd\x09\n\x0d\x0cae9;$\\?caxyz", res[802].exec("abcd\x09\n\x0d\x0cae9;$\\?caxyz"), 2359);
-assertToStringEquals("abxyzpqrrrabbxyyyypqAzz", res[803].exec("abxyzpqrrrabbxyyyypqAzz"), 2360);
-assertToStringEquals("abxyzpqrrrabbxyyyypqAzz", res[803].exec("abxyzpqrrrabbxyyyypqAzz"), 2361);
-assertToStringEquals("aabxyzpqrrrabbxyyyypqAzz", res[803].exec("aabxyzpqrrrabbxyyyypqAzz"), 2362);
-assertToStringEquals("aaabxyzpqrrrabbxyyyypqAzz", res[803].exec("aaabxyzpqrrrabbxyyyypqAzz"), 2363);
-assertToStringEquals("aaaabxyzpqrrrabbxyyyypqAzz", res[803].exec("aaaabxyzpqrrrabbxyyyypqAzz"), 2364);
-assertToStringEquals("abcxyzpqrrrabbxyyyypqAzz", res[803].exec("abcxyzpqrrrabbxyyyypqAzz"), 2365);
-assertToStringEquals("aabcxyzpqrrrabbxyyyypqAzz", res[803].exec("aabcxyzpqrrrabbxyyyypqAzz"), 2366);
-assertToStringEquals("aaabcxyzpqrrrabbxyyyypAzz", res[803].exec("aaabcxyzpqrrrabbxyyyypAzz"), 2367);
-assertToStringEquals("aaabcxyzpqrrrabbxyyyypqAzz", res[803].exec("aaabcxyzpqrrrabbxyyyypqAzz"), 2368);
-assertToStringEquals("aaabcxyzpqrrrabbxyyyypqqAzz", res[803].exec("aaabcxyzpqrrrabbxyyyypqqAzz"), 2369);
-assertToStringEquals("aaabcxyzpqrrrabbxyyyypqqqAzz", res[803].exec("aaabcxyzpqrrrabbxyyyypqqqAzz"), 2370);
-assertToStringEquals("aaabcxyzpqrrrabbxyyyypqqqqAzz", res[803].exec("aaabcxyzpqrrrabbxyyyypqqqqAzz"), 2371);
-assertToStringEquals("aaabcxyzpqrrrabbxyyyypqqqqqAzz", res[803].exec("aaabcxyzpqrrrabbxyyyypqqqqqAzz"), 2372);
-assertToStringEquals("aaabcxyzpqrrrabbxyyyypqqqqqqAzz", res[803].exec("aaabcxyzpqrrrabbxyyyypqqqqqqAzz"), 2373);
-assertToStringEquals("aaaabcxyzpqrrrabbxyyyypqAzz", res[803].exec("aaaabcxyzpqrrrabbxyyyypqAzz"), 2374);
-assertToStringEquals("abxyzzpqrrrabbxyyyypqAzz", res[803].exec("abxyzzpqrrrabbxyyyypqAzz"), 2375);
-assertToStringEquals("aabxyzzzpqrrrabbxyyyypqAzz", res[803].exec("aabxyzzzpqrrrabbxyyyypqAzz"), 2376);
-assertToStringEquals("aaabxyzzzzpqrrrabbxyyyypqAzz", res[803].exec("aaabxyzzzzpqrrrabbxyyyypqAzz"), 2377);
-assertToStringEquals("aaaabxyzzzzpqrrrabbxyyyypqAzz", res[803].exec("aaaabxyzzzzpqrrrabbxyyyypqAzz"), 2378);
-assertToStringEquals("abcxyzzpqrrrabbxyyyypqAzz", res[803].exec("abcxyzzpqrrrabbxyyyypqAzz"), 2379);
-assertToStringEquals("aabcxyzzzpqrrrabbxyyyypqAzz", res[803].exec("aabcxyzzzpqrrrabbxyyyypqAzz"), 2380);
-assertToStringEquals("aaabcxyzzzzpqrrrabbxyyyypqAzz", res[803].exec("aaabcxyzzzzpqrrrabbxyyyypqAzz"), 2381);
-assertToStringEquals("aaaabcxyzzzzpqrrrabbxyyyypqAzz", res[803].exec("aaaabcxyzzzzpqrrrabbxyyyypqAzz"), 2382);
-assertToStringEquals("aaaabcxyzzzzpqrrrabbbxyyyypqAzz", res[803].exec("aaaabcxyzzzzpqrrrabbbxyyyypqAzz"), 2383);
-assertToStringEquals("aaaabcxyzzzzpqrrrabbbxyyyyypqAzz", res[803].exec("aaaabcxyzzzzpqrrrabbbxyyyyypqAzz"), 2384);
-assertToStringEquals("aaabcxyzpqrrrabbxyyyypABzz", res[803].exec("aaabcxyzpqrrrabbxyyyypABzz"), 2385);
-assertToStringEquals("aaabcxyzpqrrrabbxyyyypABBzz", res[803].exec("aaabcxyzpqrrrabbxyyyypABBzz"), 2386);
-assertToStringEquals("aaabxyzpqrrrabbxyyyypqAzz", res[803].exec(">>>aaabxyzpqrrrabbxyyyypqAzz"), 2387);
-assertToStringEquals("aaaabxyzpqrrrabbxyyyypqAzz", res[803].exec(">aaaabxyzpqrrrabbxyyyypqAzz"), 2388);
-assertToStringEquals("abcxyzpqrrrabbxyyyypqAzz", res[803].exec(">>>>abcxyzpqrrrabbxyyyypqAzz"), 2389);
-assertNull(res[803].exec("*** Failers", 2390));
-assertNull(res[803].exec("abxyzpqrrabbxyyyypqAzz", 2391));
-assertNull(res[803].exec("abxyzpqrrrrabbxyyyypqAzz", 2392));
-assertNull(res[803].exec("abxyzpqrrrabxyyyypqAzz", 2393));
-assertNull(res[803].exec("aaaabcxyzzzzpqrrrabbbxyyyyyypqAzz", 2394));
-assertNull(res[803].exec("aaaabcxyzzzzpqrrrabbbxyyypqAzz", 2395));
-assertNull(res[803].exec("aaabcxyzpqrrrabbxyyyypqqqqqqqAzz", 2396));
-assertToStringEquals("abczz,abc", res[804].exec("abczz"), 2397);
-assertToStringEquals("abcabczz,abc", res[804].exec("abcabczz"), 2398);
-assertNull(res[804].exec("*** Failers", 2399));
-assertNull(res[804].exec("zz", 2400));
-assertNull(res[804].exec("abcabcabczz", 2401));
-assertNull(res[804].exec(">>abczz", 2402));
-assertToStringEquals("bc,b", res[805].exec("bc"), 2403);
-assertToStringEquals("bbc,b", res[805].exec("bbc"), 2404);
-assertToStringEquals("bbbc,bb", res[805].exec("bbbc"), 2405);
-assertToStringEquals("bac,a", res[805].exec("bac"), 2406);
-assertToStringEquals("bbac,a", res[805].exec("bbac"), 2407);
-assertToStringEquals("aac,a", res[805].exec("aac"), 2408);
-assertToStringEquals("abbbbbbbbbbbc,bbbbbbbbbbb", res[805].exec("abbbbbbbbbbbc"), 2409);
-assertToStringEquals("bbbbbbbbbbbac,a", res[805].exec("bbbbbbbbbbbac"), 2410);
-assertNull(res[805].exec("*** Failers", 2411));
-assertNull(res[805].exec("aaac", 2412));
-assertNull(res[805].exec("abbbbbbbbbbbac", 2413));
-assertToStringEquals("bc,b", res[806].exec("bc"), 2414);
-assertToStringEquals("bbc,bb", res[806].exec("bbc"), 2415);
-assertToStringEquals("bbbc,bbb", res[806].exec("bbbc"), 2416);
-assertToStringEquals("bac,a", res[806].exec("bac"), 2417);
-assertToStringEquals("bbac,a", res[806].exec("bbac"), 2418);
-assertToStringEquals("aac,a", res[806].exec("aac"), 2419);
-assertToStringEquals("abbbbbbbbbbbc,bbbbbbbbbbb", res[806].exec("abbbbbbbbbbbc"), 2420);
-assertToStringEquals("bbbbbbbbbbbac,a", res[806].exec("bbbbbbbbbbbac"), 2421);
-assertNull(res[806].exec("*** Failers", 2422));
-assertNull(res[806].exec("aaac", 2423));
-assertNull(res[806].exec("abbbbbbbbbbbac", 2424));
-assertToStringEquals("bbc,bb", res[806].exec("bbc"), 2425);
-assertToStringEquals("babc,ba", res[807].exec("babc"), 2426);
-assertToStringEquals("bbabc,ba", res[807].exec("bbabc"), 2427);
-assertToStringEquals("bababc,ba", res[807].exec("bababc"), 2428);
-assertNull(res[807].exec("*** Failers", 2429));
-assertNull(res[807].exec("bababbc", 2430));
-assertNull(res[807].exec("babababc", 2431));
-assertToStringEquals("babc,ba", res[808].exec("babc"), 2432);
-assertToStringEquals("bbabc,ba", res[808].exec("bbabc"), 2433);
-assertToStringEquals("bababc,ba", res[808].exec("bababc"), 2434);
-assertNull(res[808].exec("*** Failers", 2435));
-assertNull(res[808].exec("bababbc", 2436));
-assertNull(res[808].exec("babababc", 2437));
-assertThrows("var re = /^\\ca\\cA\\c[\\c{\\c:/;", 2438);
-assertNull(res[808].exec("\x01\x01e;z", 2439));
-assertToStringEquals("a", res[809].exec("athing"), 2440);
-assertToStringEquals("b", res[809].exec("bthing"), 2441);
-assertToStringEquals("]", res[809].exec("]thing"), 2442);
-assertToStringEquals("c", res[809].exec("cthing"), 2443);
-assertToStringEquals("d", res[809].exec("dthing"), 2444);
-assertToStringEquals("e", res[809].exec("ething"), 2445);
-assertNull(res[809].exec("*** Failers", 2446));
-assertNull(res[809].exec("fthing", 2447));
-assertNull(res[809].exec("[thing", 2448));
-assertNull(res[809].exec("\\thing", 2449));
-assertNull(res[810].exec("]thing", 2450));
-assertNull(res[810].exec("cthing", 2451));
-assertNull(res[810].exec("dthing", 2452));
-assertNull(res[810].exec("ething", 2453));
-assertNull(res[810].exec("*** Failers", 2454));
-assertNull(res[810].exec("athing", 2455));
-assertNull(res[810].exec("fthing", 2456));
-assertToStringEquals("f", res[811].exec("fthing"), 2457);
-assertToStringEquals("[", res[811].exec("[thing"), 2458);
-assertToStringEquals("\\", res[811].exec("\\thing"), 2459);
-assertToStringEquals("*", res[811].exec("*** Failers"), 2460);
-assertNull(res[811].exec("athing", 2461));
-assertNull(res[811].exec("bthing", 2462));
-assertNull(res[811].exec("]thing", 2463));
-assertNull(res[811].exec("cthing", 2464));
-assertNull(res[811].exec("dthing", 2465));
-assertNull(res[811].exec("ething", 2466));
-assertNull(res[812].exec("athing", 2467));
-assertNull(res[812].exec("fthing", 2468));
-assertNull(res[812].exec("*** Failers", 2469));
-assertNull(res[812].exec("]thing", 2470));
-assertNull(res[812].exec("cthing", 2471));
-assertNull(res[812].exec("dthing", 2472));
-assertNull(res[812].exec("ething", 2473));
-assertNull(res[812].exec("\ufffd", 2474));
-assertNull(res[812].exec("\ufffd", 2475));
-assertToStringEquals("0", res[813].exec("0"), 2476);
-assertToStringEquals("1", res[813].exec("1"), 2477);
-assertToStringEquals("2", res[813].exec("2"), 2478);
-assertToStringEquals("3", res[813].exec("3"), 2479);
-assertToStringEquals("4", res[813].exec("4"), 2480);
-assertToStringEquals("5", res[813].exec("5"), 2481);
-assertToStringEquals("6", res[813].exec("6"), 2482);
-assertToStringEquals("7", res[813].exec("7"), 2483);
-assertToStringEquals("8", res[813].exec("8"), 2484);
-assertToStringEquals("9", res[813].exec("9"), 2485);
-assertToStringEquals("10", res[813].exec("10"), 2486);
-assertToStringEquals("100", res[813].exec("100"), 2487);
-assertNull(res[813].exec("*** Failers", 2488));
-assertNull(res[813].exec("abc", 2489));
-assertToStringEquals("enter", res[814].exec("enter"), 2490);
-assertToStringEquals("inter", res[814].exec("inter"), 2491);
-assertToStringEquals("uponter", res[814].exec("uponter"), 2492);
-assertToStringEquals("xxx0", res[815].exec("xxx0"), 2493);
-assertToStringEquals("xxx1234", res[815].exec("xxx1234"), 2494);
-assertNull(res[815].exec("*** Failers", 2495));
-assertNull(res[815].exec("xxx", 2496));
-assertToStringEquals("x123", res[816].exec("x123"), 2497);
-assertToStringEquals("xx123", res[816].exec("xx123"), 2498);
-assertToStringEquals("123456", res[816].exec("123456"), 2499);
-assertNull(res[816].exec("*** Failers", 2500));
-assertNull(res[816].exec("123", 2501));
-assertToStringEquals("x1234", res[816].exec("x1234"), 2502);
-assertToStringEquals("x123", res[817].exec("x123"), 2503);
-assertToStringEquals("xx123", res[817].exec("xx123"), 2504);
-assertToStringEquals("123456", res[817].exec("123456"), 2505);
-assertNull(res[817].exec("*** Failers", 2506));
-assertNull(res[817].exec("123", 2507));
-assertToStringEquals("x1234", res[817].exec("x1234"), 2508);
-assertToStringEquals("abc!pqr=apquxz.ixr.zzz.ac.uk,abc,pqr", res[818].exec("abc!pqr=apquxz.ixr.zzz.ac.uk"), 2509);
-assertNull(res[818].exec("*** Failers", 2510));
-assertNull(res[818].exec("!pqr=apquxz.ixr.zzz.ac.uk", 2511));
-assertNull(res[818].exec("abc!=apquxz.ixr.zzz.ac.uk", 2512));
-assertNull(res[818].exec("abc!pqr=apquxz:ixr.zzz.ac.uk", 2513));
-assertNull(res[818].exec("abc!pqr=apquxz.ixr.zzz.ac.ukk", 2514));
-assertToStringEquals(":", res[819].exec("Well, we need a colon: somewhere"), 2515);
-assertNull(res[819].exec("*** Fail if we don't", 2516));
-assertToStringEquals("0abc,0abc", res[820].exec("0abc"), 2517);
-assertToStringEquals("abc,abc", res[820].exec("abc"), 2518);
-assertToStringEquals("fed,fed", res[820].exec("fed"), 2519);
-assertToStringEquals("E,E", res[820].exec("E"), 2520);
-assertToStringEquals("::,::", res[820].exec("::"), 2521);
-assertToStringEquals("5f03:12C0::932e,5f03:12C0::932e", res[820].exec("5f03:12C0::932e"), 2522);
-assertToStringEquals("def,def", res[820].exec("fed def"), 2523);
-assertToStringEquals("ff,ff", res[820].exec("Any old stuff"), 2524);
-assertNull(res[820].exec("*** Failers", 2525));
-assertNull(res[820].exec("0zzz", 2526));
-assertNull(res[820].exec("gzzz", 2527));
-assertNull(res[820].exec("fed ", 2528));
-assertNull(res[820].exec("Any old rubbish", 2529));
-assertToStringEquals(".1.2.3,1,2,3", res[821].exec(".1.2.3"), 2530);
-assertToStringEquals("A.12.123.0,12,123,0", res[821].exec("A.12.123.0"), 2531);
-assertNull(res[821].exec("*** Failers", 2532));
-assertNull(res[821].exec(".1.2.3333", 2533));
-assertNull(res[821].exec("1.2.3", 2534));
-assertNull(res[821].exec("1234.2.3", 2535));
-assertToStringEquals("1 IN SOA non-sp1 non-sp2(,1,non-sp1,non-sp2", res[822].exec("1 IN SOA non-sp1 non-sp2("), 2536);
-assertToStringEquals("1 IN SOA non-sp1 non-sp2 (,1,non-sp1,non-sp2", res[822].exec("1 IN SOA non-sp1 non-sp2 ("), 2537);
-assertNull(res[822].exec("*** Failers", 2538));
-assertNull(res[822].exec("1IN SOA non-sp1 non-sp2(", 2539));
-assertToStringEquals("a.,", res[823].exec("a."), 2540);
-assertToStringEquals("Z.,", res[823].exec("Z."), 2541);
-assertToStringEquals("2.,", res[823].exec("2."), 2542);
-assertToStringEquals("ab-c.pq-r.,.pq-r", res[823].exec("ab-c.pq-r."), 2543);
-assertToStringEquals("sxk.zzz.ac.uk.,.uk", res[823].exec("sxk.zzz.ac.uk."), 2544);
-assertToStringEquals("x-.y-.,.y-", res[823].exec("x-.y-."), 2545);
-assertNull(res[823].exec("*** Failers", 2546));
-assertNull(res[823].exec("-abc.peq.", 2547));
-assertToStringEquals("*.a,,,", res[824].exec("*.a"), 2548);
-assertToStringEquals("*.b0-a,0-a,,", res[824].exec("*.b0-a"), 2549);
-assertToStringEquals("*.c3-b.c,3-b,.c,", res[824].exec("*.c3-b.c"), 2550);
-assertToStringEquals("*.c-a.b-c,-a,.b-c,-c", res[824].exec("*.c-a.b-c"), 2551);
-assertNull(res[824].exec("*** Failers", 2552));
-assertNull(res[824].exec("*.0", 2553));
-assertNull(res[824].exec("*.a-", 2554));
-assertNull(res[824].exec("*.a-b.c-", 2555));
-assertNull(res[824].exec("*.c-a.0-c", 2556));
-assertToStringEquals("abde,de,abd,e", res[825].exec("abde"), 2557);
-assertToStringEquals("abdf,,abd,f", res[826].exec("abdf"), 2558);
-assertToStringEquals("ab,abcd,cd,ab", res[827].exec("abcd"), 2559);
-assertToStringEquals("a.b.c.d,.d", res[828].exec("a.b.c.d"), 2560);
-assertToStringEquals("A.B.C.D,.D", res[828].exec("A.B.C.D"), 2561);
-assertToStringEquals("a.b.c.1.2.3.C,.C", res[828].exec("a.b.c.1.2.3.C"), 2562);
-assertToStringEquals("\"1234\",", res[829].exec("\"1234\""), 2563);
-assertToStringEquals("\"abcd\" ;,;", res[829].exec("\"abcd\" ;"), 2564);
-assertToStringEquals("\"\" ; rhubarb,; rhubarb", res[829].exec("\"\" ; rhubarb"), 2565);
-assertNull(res[829].exec("*** Failers", 2566));
-assertNull(res[829].exec("\"1234\" : things", 2567));
-assertNull(res[830].exec("\\", 2568));
-assertNull(res[830].exec("*** Failers", 2569));
-assertToStringEquals("ab c", res[831].exec("ab c"), 2570);
-assertNull(res[831].exec("*** Failers", 2571));
-assertNull(res[831].exec("abc", 2572));
-assertNull(res[831].exec("ab cde", 2573));
-assertToStringEquals("ab c", res[831].exec("ab c"), 2574);
-assertNull(res[831].exec("*** Failers", 2575));
-assertNull(res[831].exec("abc", 2576));
-assertNull(res[831].exec("ab cde", 2577));
-assertToStringEquals("a bcd", res[832].exec("a bcd"), 2578);
-assertNull(res[832].exec("a b d", 2579));
-assertNull(res[832].exec("*** Failers", 2580));
-assertNull(res[832].exec("abcd", 2581));
-assertNull(res[832].exec("ab d", 2582));
-assertToStringEquals("abcdefhijklm,abc,bc,c,def,ef,f,hij,ij,j,klm,lm,m", res[833].exec("abcdefhijklm"), 2583);
-assertToStringEquals("abcdefhijklm,bc,c,ef,f,ij,j,lm,m", res[834].exec("abcdefhijklm"), 2584);
-assertNull(res[835].exec("a+ Z0+\x08\n\x1d\x12", 2585));
-assertNull(res[835].exec(".^$(*+)|{?,?}", 2586));
-assertToStringEquals("z", res[836].exec("z"), 2587);
-assertToStringEquals("az", res[836].exec("az"), 2588);
-assertToStringEquals("aaaz", res[836].exec("aaaz"), 2589);
-assertToStringEquals("a", res[836].exec("a"), 2590);
-assertToStringEquals("aa", res[836].exec("aa"), 2591);
-assertToStringEquals("aaaa", res[836].exec("aaaa"), 2592);
-assertToStringEquals("a", res[836].exec("a+"), 2593);
-assertToStringEquals("aa", res[836].exec("aa+"), 2594);
-assertToStringEquals("z", res[837].exec("z"), 2595);
-assertToStringEquals("a", res[837].exec("az"), 2596);
-assertToStringEquals("a", res[837].exec("aaaz"), 2597);
-assertToStringEquals("a", res[837].exec("a"), 2598);
-assertToStringEquals("a", res[837].exec("aa"), 2599);
-assertToStringEquals("a", res[837].exec("aaaa"), 2600);
-assertToStringEquals("a", res[837].exec("a+"), 2601);
-assertToStringEquals("a", res[837].exec("aa+"), 2602);
-assertToStringEquals("az", res[838].exec("az"), 2603);
-assertToStringEquals("aaaz", res[838].exec("aaaz"), 2604);
-assertToStringEquals("aa", res[838].exec("aa"), 2605);
-assertToStringEquals("aaaa", res[838].exec("aaaa"), 2606);
-assertToStringEquals("aa", res[838].exec("aa+"), 2607);
-assertToStringEquals("az", res[839].exec("az"), 2608);
-assertToStringEquals("aa", res[839].exec("aaaz"), 2609);
-assertToStringEquals("aa", res[839].exec("aa"), 2610);
-assertToStringEquals("aa", res[839].exec("aaaa"), 2611);
-assertToStringEquals("aa", res[839].exec("aa+"), 2612);
-assertToStringEquals("1234567890", res[840].exec("1234567890"), 2613);
-assertToStringEquals("12345678ab", res[840].exec("12345678ab"), 2614);
-assertToStringEquals("12345678__", res[840].exec("12345678__"), 2615);
-assertNull(res[840].exec("*** Failers", 2616));
-assertNull(res[840].exec("1234567", 2617));
-assertToStringEquals("uoie", res[841].exec("uoie"), 2618);
-assertToStringEquals("1234", res[841].exec("1234"), 2619);
-assertToStringEquals("12345", res[841].exec("12345"), 2620);
-assertToStringEquals("aaaaa", res[841].exec("aaaaa"), 2621);
-assertNull(res[841].exec("*** Failers", 2622));
-assertNull(res[841].exec("123456", 2623));
-assertToStringEquals("uoie", res[842].exec("uoie"), 2624);
-assertToStringEquals("1234", res[842].exec("1234"), 2625);
-assertToStringEquals("1234", res[842].exec("12345"), 2626);
-assertToStringEquals("aaaa", res[842].exec("aaaaa"), 2627);
-assertToStringEquals("1234", res[842].exec("123456"), 2628);
-assertToStringEquals("From abcd Mon Sep 01 12:33,abcd", res[843].exec("From abcd Mon Sep 01 12:33:02 1997"), 2629);
-assertToStringEquals("From abcd Mon Sep 01 12:33,Sep ", res[844].exec("From abcd Mon Sep 01 12:33:02 1997"), 2630);
-assertToStringEquals("From abcd Mon Sep 1 12:33,Sep ", res[844].exec("From abcd Mon Sep 1 12:33:02 1997"), 2631);
-assertNull(res[844].exec("*** Failers", 2632));
-assertNull(res[844].exec("From abcd Sep 01 12:33:02 1997", 2633));
-assertNull(res[845].exec("12\n34", 2634));
-assertNull(res[845].exec("12\x0d34", 2635));
-assertToStringEquals("brown", res[846].exec("the quick brown\x09 fox"), 2636);
-assertToStringEquals("foolish see?,lish see?", res[847].exec("foobar is foolish see?"), 2637);
-assertToStringEquals("rowbar etc, etc", res[848].exec("foobar crowbar etc"), 2638);
-assertToStringEquals("barrel,rel", res[848].exec("barrel"), 2639);
-assertToStringEquals("2barrel,rel", res[848].exec("2barrel"), 2640);
-assertToStringEquals("A barrel,rel", res[848].exec("A barrel"), 2641);
-assertToStringEquals("abc,abc", res[849].exec("abc456"), 2642);
-assertNull(res[849].exec("*** Failers", 2643));
-assertNull(res[849].exec("abc123", 2644));
-assertToStringEquals("1234", res[850].exec("1234"), 2645);
-assertToStringEquals("1234", res[851].exec("1234"), 2646);
-assertToStringEquals("abcd", res[852].exec("abcd"), 2647);
-assertToStringEquals("abcd", res[853].exec("abcd"), 2648);
-assertToStringEquals("abc", res[854].exec("the abc"), 2649);
-assertNull(res[854].exec("*** Failers", 2650));
-assertNull(res[854].exec("abc", 2651));
-assertToStringEquals("abc", res[855].exec("abc"), 2652);
-assertNull(res[855].exec("*** Failers", 2653));
-assertNull(res[855].exec("the abc", 2654));
-assertToStringEquals("aabb,b", res[856].exec("aabbbbb"), 2655);
-assertToStringEquals("aabbbbb,abbbbb", res[857].exec("aabbbbb"), 2656);
-assertToStringEquals("aa,a", res[858].exec("aabbbbb"), 2657);
-assertToStringEquals("aabb,b", res[859].exec("aabbbbb"), 2658);
-assertToStringEquals("Alan Other <user@dom.ain>", res[860].exec("Alan Other <user@dom.ain>"), 2659);
-assertToStringEquals("user@dom.ain", res[860].exec("<user@dom.ain>"), 2660);
-assertToStringEquals("user@dom.ain", res[860].exec("user@dom.ain"), 2661);
-assertToStringEquals("\"A. Other\" <user.1234@dom.ain> (a comment)", res[860].exec("\"A. Other\" <user.1234@dom.ain> (a comment)"), 2662);
-assertToStringEquals(" Other <user.1234@dom.ain> (a comment)", res[860].exec("A. Other <user.1234@dom.ain> (a comment)"), 2663);
-assertToStringEquals("\"/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/\"@x400-re.lay", res[860].exec("\"/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/\"@x400-re.lay"), 2664);
-assertToStringEquals("user@some.where", res[860].exec("A missing angle <user@some.where"), 2665);
-assertNull(res[860].exec("*** Failers", 2666));
-assertNull(res[860].exec("The quick brown fox", 2667));
-assertToStringEquals("Alan Other <user@dom.ain>", res[861].exec("Alan Other <user@dom.ain>"), 2668);
-assertToStringEquals("user@dom.ain", res[861].exec("<user@dom.ain>"), 2669);
-assertToStringEquals("user@dom.ain", res[861].exec("user@dom.ain"), 2670);
-assertToStringEquals("\"A. Other\" <user.1234@dom.ain>", res[861].exec("\"A. Other\" <user.1234@dom.ain> (a comment)"), 2671);
-assertToStringEquals(" Other <user.1234@dom.ain>", res[861].exec("A. Other <user.1234@dom.ain> (a comment)"), 2672);
-assertToStringEquals("\"/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/\"@x400-re.lay", res[861].exec("\"/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/\"@x400-re.lay"), 2673);
-assertToStringEquals("user@some.where", res[861].exec("A missing angle <user@some.where"), 2674);
-assertNull(res[861].exec("*** Failers", 2675));
-assertNull(res[861].exec("The quick brown fox", 2676));
-assertNull(res[861].exec("abc\x00def\x00pqr\x00xyz\x000AB", 2677));
-assertNull(res[861].exec("abc456 abc\x00def\x00pqr\x00xyz\x000ABCDE", 2678));
-assertToStringEquals("abc\x0def\x00pqr\x000xyz\x0000AB", res[862].exec("abc\x0def\x00pqr\x000xyz\x0000AB"), 2679);
-assertToStringEquals("abc\x0def\x00pqr\x000xyz\x0000AB", res[862].exec("abc456 abc\x0def\x00pqr\x000xyz\x0000ABCDE"), 2680);
-assertToStringEquals("\x00", res[863].exec("\x00A"), 2681);
-assertToStringEquals("\x01", res[863].exec("\x01B"), 2682);
-assertToStringEquals("\x1f", res[863].exec("\x1fC"), 2683);
-assertToStringEquals("\x00\x00\x00\x00", res[864].exec("\x00\x00\x00\x00"), 2684);
-assertNull(res[865].exec("The Ax0x0Z", 2685));
-assertNull(res[865].exec("An A\x00x0\x00Z", 2686));
-assertNull(res[865].exec("*** Failers", 2687));
-assertNull(res[865].exec("A\x00Z", 2688));
-assertNull(res[865].exec("A\x00x0\x00x0Z", 2689));
-assertToStringEquals(" ", res[866].exec(" abc"), 2690);
-assertToStringEquals("\x0c", res[866].exec("\x0cabc"), 2691);
-assertToStringEquals("\n", res[866].exec("\nabc"), 2692);
-assertToStringEquals("\x0d", res[866].exec("\x0dabc"), 2693);
-assertToStringEquals("\x09", res[866].exec("\x09abc"), 2694);
-assertNull(res[866].exec("*** Failers", 2695));
-assertNull(res[866].exec("abc", 2696));
-assertToStringEquals("abc", res[867].exec("abc"), 2697);
-assertToStringEquals("abbbbc", res[868].exec("abbbbc"), 2698);
-assertToStringEquals("abbbc", res[868].exec("abbbc"), 2699);
-assertToStringEquals("abbc", res[868].exec("abbc"), 2700);
-assertNull(res[868].exec("*** Failers", 2701));
-assertNull(res[868].exec("abc", 2702));
-assertNull(res[868].exec("abbbbbc", 2703));
-assertToStringEquals("track1.title:TBlah blah blah,track1,title,Blah blah blah", res[869].exec("track1.title:TBlah blah blah"), 2704);
-assertToStringEquals("track1.title:TBlah blah blah,track1,title,Blah blah blah", res[870].exec("track1.title:TBlah blah blah"), 2705);
-assertToStringEquals("track1.title:TBlah blah blah,track1,title,Blah blah blah", res[871].exec("track1.title:TBlah blah blah"), 2706);
-assertToStringEquals("WXY_^abc", res[872].exec("WXY_^abc"), 2707);
-assertNull(res[872].exec("*** Failers", 2708));
-assertNull(res[872].exec("wxy", 2709));
-assertToStringEquals("WXY_^abc", res[873].exec("WXY_^abc"), 2710);
-assertToStringEquals("wxy_^ABC", res[873].exec("wxy_^ABC"), 2711);
-assertToStringEquals("WXY_^abc", res[874].exec("WXY_^abc"), 2712);
-assertToStringEquals("wxy_^ABC", res[874].exec("wxy_^ABC"), 2713);
-assertToStringEquals("abc", res[875].exec("abc"), 2714);
-assertToStringEquals("abc", res[875].exec("qqq\nabc"), 2715);
-assertToStringEquals("abc", res[875].exec("abc\nzzz"), 2716);
-assertToStringEquals("abc", res[875].exec("qqq\nabc\nzzz"), 2717);
-assertToStringEquals("abc", res[876].exec("abc"), 2718);
-assertNull(res[876].exec("*** Failers", 2719));
-assertNull(res[876].exec("qqq\nabc", 2720));
-assertNull(res[876].exec("abc\nzzz", 2721));
-assertNull(res[876].exec("qqq\nabc\nzzz", 2722));
-assertNull(res[877].exec("abc", 2723));
-assertNull(res[877].exec("abc\n ", 2724));
-assertNull(res[877].exec("*** Failers", 2725));
-assertNull(res[877].exec("qqq\nabc", 2726));
-assertNull(res[877].exec("abc\nzzz", 2727));
-assertNull(res[877].exec("qqq\nabc\nzzz", 2728));
-assertNull(res[878].exec("abc\ndef", 2729));
-assertNull(res[879].exec("*** Failers", 2730));
-assertNull(res[879].exec("abc\ndef", 2731));
-assertToStringEquals("b", res[880].exec("b::c"), 2732);
-assertToStringEquals("::", res[880].exec("c::b"), 2733);
-assertToStringEquals("az-", res[881].exec("az-"), 2734);
-assertToStringEquals("a", res[881].exec("*** Failers"), 2735);
-assertNull(res[881].exec("b", 2736));
-assertToStringEquals("za-", res[882].exec("za-"), 2737);
-assertToStringEquals("a", res[882].exec("*** Failers"), 2738);
-assertNull(res[882].exec("b", 2739));
-assertToStringEquals("a-z", res[883].exec("a-z"), 2740);
-assertToStringEquals("a", res[883].exec("*** Failers"), 2741);
-assertNull(res[883].exec("b", 2742));
-assertToStringEquals("abcdxyz", res[884].exec("abcdxyz"), 2743);
-assertToStringEquals("12-34", res[885].exec("12-34"), 2744);
-assertNull(res[885].exec("*** Failers", 2745));
-assertNull(res[885].exec("aaa", 2746));
-assertToStringEquals("12-34z", res[886].exec("12-34z"), 2747);
-assertNull(res[886].exec("*** Failers", 2748));
-assertNull(res[886].exec("aaa", 2749));
-assertToStringEquals("\\", res[887].exec("\\\\"), 2750);
-assertToStringEquals(" Z", res[888].exec("the Zoo"), 2751);
-assertNull(res[888].exec("*** Failers", 2752));
-assertNull(res[888].exec("Zulu", 2753));
-assertToStringEquals("ab{3cd", res[889].exec("ab{3cd"), 2754);
-assertToStringEquals("ab{3,cd", res[890].exec("ab{3,cd"), 2755);
-assertToStringEquals("ab{3,4a}cd", res[891].exec("ab{3,4a}cd"), 2756);
-assertToStringEquals("{4,5a}bc", res[892].exec("{4,5a}bc"), 2757);
-assertNull(res[893].exec("a\x0db", 2758));
-assertNull(res[893].exec("*** Failers", 2759));
-assertNull(res[893].exec("a\nb", 2760));
-assertToStringEquals("abc", res[894].exec("abc"), 2761);
-assertNull(res[894].exec("abc\n", 2762));
-assertNull(res[894].exec("*** Failers", 2763));
-assertNull(res[894].exec("abc\ndef", 2764));
-assertToStringEquals("abcS,abc", res[895].exec("abcS"), 2765);
-assertToStringEquals("abc\x93,abc", res[896].exec("abc\x93"), 2766);
-assertToStringEquals("abc\xd3,abc", res[897].exec("abc\xd3"), 2767);
-assertToStringEquals("abc@,abc", res[898].exec("abc@"), 2768);
-assertToStringEquals("abc@,abc", res[898].exec("abc@"), 2769);
-assertToStringEquals("abc@,abc", res[898].exec("abc@0"), 2770);
-assertToStringEquals("abc@,abc", res[898].exec("abc@0"), 2771);
-assertToStringEquals("abc@,abc", res[898].exec("abc@0"), 2772);
-assertToStringEquals("abc@,abc", res[898].exec("abc@0"), 2773);
-assertToStringEquals("abc@,abc", res[898].exec("abc@0"), 2774);
-assertToStringEquals("abc@,abc", res[898].exec("abc@0"), 2775);
-assertNull(res[899].exec("abc\x0081", 2776));
-assertNull(res[899].exec("abc\x0081", 2777));
-assertNull(res[900].exec("abc\x0091", 2778));
-assertNull(res[900].exec("abc\x0091", 2779));
-assertToStringEquals("abcdefghijk\nS,a,b,c,d,e,f,g,h,i,j,k", res[901].exec("abcdefghijk\nS"), 2780);
-assertToStringEquals("abidef", res[902].exec("abidef"), 2781);
-assertToStringEquals("bc", res[903].exec("bc"), 2782);
-assertToStringEquals("xyz,,", res[904].exec("xyz"), 2783);
-assertToStringEquals("abc\x08de", res[905].exec("abc\x08de"), 2784);
-assertToStringEquals("abc\x01de", res[906].exec("abc\x01de"), 2785);
-assertToStringEquals("abc\x01de,abc", res[907].exec("abc\x01de"), 2786);
-assertNull(res[907].exec("a\nb", 2787));
-assertToStringEquals("baNOTcccc,b,a,NOT,cccc", res[908].exec("baNOTccccd"), 2788);
-assertToStringEquals("baNOTccc,b,a,NOT,ccc", res[908].exec("baNOTcccd"), 2789);
-assertToStringEquals("baNOTcc,b,a,NO,Tcc", res[908].exec("baNOTccd"), 2790);
-assertToStringEquals("baccc,b,a,,ccc", res[908].exec("bacccd"), 2791);
-assertToStringEquals("*** Failers,*,*,* Fail,ers", res[908].exec("*** Failers"), 2792);
-assertNull(res[908].exec("anything", 2793));
-assertNull(res[908].exec("b\x08c ", 2794));
-assertNull(res[908].exec("baccd", 2795));
-assertToStringEquals("A", res[909].exec("Abc"), 2796);
-assertToStringEquals("b", res[910].exec("Abc "), 2797);
-assertToStringEquals("AAA", res[911].exec("AAAaAbc"), 2798);
-assertToStringEquals("bc ", res[912].exec("AAAaAbc "), 2799);
-assertToStringEquals("bbb\nccc", res[913].exec("bbb\nccc"), 2800);
-assertToStringEquals("c", res[914].exec("abc"), 2801);
-assertToStringEquals("s", res[914].exec("*** Failers"), 2802);
-assertToStringEquals(" ", res[914].exec("abk "), 2803);
-assertToStringEquals("abc", res[915].exec("abc"), 2804);
-assertToStringEquals("bc", res[915].exec("kbc"), 2805);
-assertToStringEquals("bc ", res[915].exec("kabc "), 2806);
-assertToStringEquals("ers", res[915].exec("*** Failers"), 2807);
-assertNull(res[915].exec("abk", 2808));
-assertNull(res[915].exec("akb", 2809));
-assertNull(res[915].exec("akk ", 2810));
-assertToStringEquals("12345678@a.b.c.d", res[916].exec("12345678@a.b.c.d"), 2811);
-assertToStringEquals("123456789@x.y.z", res[916].exec("123456789@x.y.z"), 2812);
-assertNull(res[916].exec("*** Failers", 2813));
-assertNull(res[916].exec("12345678@x.y.uk", 2814));
-assertNull(res[916].exec("1234567@a.b.c.d ", 2815));
-assertToStringEquals("b", res[917].exec("aaaabcd"), 2816);
-assertToStringEquals("A", res[917].exec("aaAabcd "), 2817);
-assertToStringEquals("b", res[918].exec("aaaabcd"), 2818);
-assertToStringEquals("b", res[918].exec("aaAabcd "), 2819);
-assertToStringEquals("b", res[919].exec("aaaabcd"), 2820);
-assertToStringEquals("A", res[919].exec("aaAabcd "), 2821);
-assertToStringEquals("b", res[920].exec("aaaabcd"), 2822);
-assertToStringEquals("b", res[920].exec("aaAabcd "), 2823);
-assertToStringEquals("PSTAIREISLL", res[922].exec("xxxxxxxxxxxPSTAIREISLLxxxxxxxxx"), 2824);
-assertToStringEquals("PSTAIREISLL", res[923].exec("xxxxxxxxxxxPSTAIREISLLxxxxxxxxx"), 2825);
-assertToStringEquals(".230003938,.23", res[924].exec("1.230003938"), 2826);
-assertToStringEquals(".875000282,.875", res[924].exec("1.875000282 "), 2827);
-assertToStringEquals(".235,.23", res[924].exec("1.235 "), 2828);
-assertNull(res[924].exec(" ", 2829));
-assertToStringEquals(".23,.23,", res[925].exec("1.230003938 "), 2830);
-assertToStringEquals(".875,.875,5", res[925].exec("1.875000282"), 2831);
-assertNull(res[925].exec("*** Failers ", 2832));
-assertNull(res[925].exec("1.235 ", 2833));
-assertThrows("var re = /a(?)b/;", 2834);
-assertNull(res[925].exec("ab ", 2835));
-assertToStringEquals("foo table,foo,table", res[926].exec("Food is on the foo table"), 2836);
-assertToStringEquals("food is under the bar in the bar,d is under the bar in the ", res[927].exec("The food is under the bar in the barn."), 2837);
-assertToStringEquals("food is under the bar,d is under the ", res[928].exec("The food is under the bar in the barn."), 2838);
-assertToStringEquals("I have 2 numbers: 53147,I have 2 numbers: 53147,", res[929].exec("I have 2 numbers: 53147"), 2839);
-assertToStringEquals("I have 2 numbers: 53147,I have 2 numbers: 5314,7", res[930].exec("I have 2 numbers: 53147"), 2840);
-assertToStringEquals(",,", res[931].exec("I have 2 numbers: 53147"), 2841);
-assertToStringEquals("I have 2,I have ,2", res[932].exec("I have 2 numbers: 53147"), 2842);
-assertToStringEquals("I have 2 numbers: 53147,I have 2 numbers: 5314,7", res[933].exec("I have 2 numbers: 53147"), 2843);
-assertToStringEquals("I have 2 numbers: 53147,I have 2 numbers: ,53147", res[934].exec("I have 2 numbers: 53147"), 2844);
-assertToStringEquals("I have 2 numbers: 53147,I have 2 numbers: ,53147", res[935].exec("I have 2 numbers: 53147"), 2845);
-assertToStringEquals("I have 2 numbers: 53147,I have 2 numbers: ,53147", res[936].exec("I have 2 numbers: 53147"), 2846);
-assertToStringEquals("AB", res[937].exec("ABC123"), 2847);
-assertToStringEquals(" ", res[937].exec(" "), 2848);
-assertToStringEquals("ABC,ABC", res[938].exec("ABC445"), 2849);
-assertNull(res[938].exec("*** Failers", 2850));
-assertNull(res[938].exec("ABC123", 2851));
-assertToStringEquals("W46]", res[939].exec("W46]789 "), 2852);
-assertToStringEquals("-46]", res[939].exec("-46]789"), 2853);
-assertNull(res[939].exec("*** Failers", 2854));
-assertNull(res[939].exec("Wall", 2855));
-assertNull(res[939].exec("Zebra", 2856));
-assertNull(res[939].exec("42", 2857));
-assertNull(res[939].exec("[abcd] ", 2858));
-assertNull(res[939].exec("]abcd[", 2859));
-assertNull(res[939].exec(" ", 2860));
-assertToStringEquals("W", res[940].exec("W46]789 "), 2861);
-assertToStringEquals("W", res[940].exec("Wall"), 2862);
-assertToStringEquals("Z", res[940].exec("Zebra"), 2863);
-assertToStringEquals("X", res[940].exec("Xylophone "), 2864);
-assertToStringEquals("4", res[940].exec("42"), 2865);
-assertToStringEquals("[", res[940].exec("[abcd] "), 2866);
-assertToStringEquals("]", res[940].exec("]abcd["), 2867);
-assertToStringEquals("\\", res[940].exec("\\backslash "), 2868);
-assertNull(res[940].exec("*** Failers", 2869));
-assertNull(res[940].exec("-46]789", 2870));
-assertNull(res[940].exec("well", 2871));
-assertToStringEquals("01/01/2000", res[941].exec("01/01/2000"), 2872);
-assertToStringEquals(",", res[944].exec("bcd"), 2873);
-assertToStringEquals(",", res[944].exec("abc"), 2874);
-assertToStringEquals(",", res[944].exec("aab "), 2875);
-assertToStringEquals(",", res[945].exec("bcd"), 2876);
-assertToStringEquals("a,a", res[945].exec("abc"), 2877);
-assertToStringEquals("a,a", res[945].exec("aab "), 2878);
-assertToStringEquals(",", res[946].exec("bcd"), 2879);
-assertToStringEquals("a,a", res[946].exec("abc"), 2880);
-assertToStringEquals("aa,a", res[946].exec("aab "), 2881);
-assertToStringEquals(",", res[947].exec("bcd"), 2882);
-assertToStringEquals("a,a", res[947].exec("abc"), 2883);
-assertToStringEquals("aa,a", res[947].exec("aab"), 2884);
-assertToStringEquals("aaa,a", res[947].exec("aaa "), 2885);
-assertToStringEquals(",", res[948].exec("bcd"), 2886);
-assertToStringEquals("a,a", res[948].exec("abc"), 2887);
-assertToStringEquals("aa,a", res[948].exec("aab"), 2888);
-assertToStringEquals("aaa,a", res[948].exec("aaa"), 2889);
-assertToStringEquals("aaaaaaaa,a", res[948].exec("aaaaaaaa "), 2890);
-assertNull(res[949].exec("bcd", 2891));
-assertToStringEquals("a,a", res[949].exec("abc"), 2892);
-assertToStringEquals("a,a", res[949].exec("aab "), 2893);
-assertNull(res[950].exec("bcd", 2894));
-assertToStringEquals("a,a", res[950].exec("abc"), 2895);
-assertToStringEquals("aa,a", res[950].exec("aab "), 2896);
-assertNull(res[951].exec("bcd", 2897));
-assertToStringEquals("a,a", res[951].exec("abc"), 2898);
-assertToStringEquals("aa,a", res[951].exec("aab"), 2899);
-assertToStringEquals("aaa,a", res[951].exec("aaa "), 2900);
-assertNull(res[952].exec("bcd", 2901));
-assertToStringEquals("a,a", res[952].exec("abc"), 2902);
-assertToStringEquals("aa,a", res[952].exec("aab"), 2903);
-assertToStringEquals("aaa,a", res[952].exec("aaa"), 2904);
-assertToStringEquals("aaaaaaaa,a", res[952].exec("aaaaaaaa "), 2905);
-assertToStringEquals("bib.gif", res[953].exec("borfle\nbib.gif\nno"), 2906);
-assertToStringEquals("bib.gif", res[954].exec("borfle\nbib.gif\nno"), 2907);
-assertToStringEquals("bib.gif", res[955].exec("borfle\nbib.gif\nno"), 2908);
-assertToStringEquals("bib.gif", res[956].exec("borfle\nbib.gif\nno"), 2909);
-assertToStringEquals("bib.gif", res[957].exec("borfle\nbib.gif\nno"), 2910);
-assertToStringEquals("no", res[958].exec("borfle\nbib.gif\nno"), 2911);
-assertToStringEquals("borfle", res[959].exec("borfle\nbib.gif\nno"), 2912);
-assertToStringEquals("no", res[960].exec("borfle\nbib.gif\nno"), 2913);
-assertToStringEquals("borfle", res[961].exec("borfle\nbib.gif\nno"), 2914);
-assertToStringEquals("", res[962].exec("borfle\nbib.gif\nno\n"), 2915);
-assertToStringEquals("borfle", res[963].exec("borfle\nbib.gif\nno\n"), 2916);
-assertToStringEquals("", res[964].exec("borfle\nbib.gif\nno\n"), 2917);
-assertToStringEquals("borfle", res[965].exec("borfle\nbib.gif\nno\n"), 2918);
-assertToStringEquals("1234X,1234X", res[966].exec("abcde\n1234Xyz"), 2919);
-assertToStringEquals("B,B", res[966].exec("BarFoo "), 2920);
-assertNull(res[966].exec("*** Failers", 2921));
-assertNull(res[966].exec("abcde\nBar ", 2922));
-assertToStringEquals("1234X,1234X", res[967].exec("abcde\n1234Xyz"), 2923);
-assertToStringEquals("B,B", res[967].exec("BarFoo "), 2924);
-assertToStringEquals("B,B", res[967].exec("abcde\nBar "), 2925);
-assertToStringEquals("1234X,1234X", res[968].exec("abcde\n1234Xyz"), 2926);
-assertToStringEquals("B,B", res[968].exec("BarFoo "), 2927);
-assertNull(res[968].exec("*** Failers", 2928));
-assertNull(res[968].exec("abcde\nBar ", 2929));
-assertToStringEquals("1234X,1234X", res[969].exec("abcde\n1234Xyz"), 2930);
-assertToStringEquals("B,B", res[969].exec("BarFoo "), 2931);
-assertToStringEquals("B,B", res[969].exec("abcde\nBar "), 2932);
-assertToStringEquals("1234X,1234X", res[969].exec("abcde\n1234Xyz"), 2933);
-assertToStringEquals("B,B", res[969].exec("BarFoo "), 2934);
-assertNull(res[969].exec("*** Failers ", 2935));
-assertToStringEquals("B,B", res[969].exec("abcde\nBar "), 2936);
-assertToStringEquals("1234X,1234X", res[969].exec("abcde\n1234Xyz"), 2937);
-assertToStringEquals("B,B", res[969].exec("BarFoo "), 2938);
-assertNull(res[969].exec("*** Failers ", 2939));
-assertToStringEquals("B,B", res[969].exec("abcde\nBar "), 2940);
-assertNull(res[970].exec("**** Failers", 2941));
-assertNull(res[970].exec("abc\nB", 2942));
-assertNull(res[970].exec(" ", 2943));
-assertNull(res[970].exec("abc\nB", 2944));
-assertNull(res[970].exec("abc\nB", 2945));
-assertNull(res[970].exec(" ", 2946));
-assertNull(res[970].exec("abc\nB", 2947));
-assertNull(res[970].exec("abc\nB", 2948));
-assertToStringEquals("B", res[970].exec("B\n"), 2949);
-assertToStringEquals("123456654321", res[971].exec("123456654321"), 2950);
-assertToStringEquals("123456654321", res[972].exec("123456654321 "), 2951);
-assertToStringEquals("123456654321", res[973].exec("123456654321"), 2952);
-assertToStringEquals("abcabcabcabc", res[974].exec("abcabcabcabc"), 2953);
-assertToStringEquals("abcabcabcabc", res[975].exec("abcabcabcabc"), 2954);
-assertToStringEquals("abcabcabcabc,c", res[976].exec("abcabcabcabc "), 2955);
-assertToStringEquals("n", res[977].exec("n"), 2956);
-assertNull(res[977].exec("*** Failers ", 2957));
-assertNull(res[977].exec("z ", 2958));
-assertToStringEquals("abcd", res[978].exec("abcd"), 2959);
-assertNull(res[978].exec("*** Failers", 2960));
-assertNull(res[978].exec("abce ", 2961));
-assertToStringEquals("abe", res[979].exec("abe"), 2962);
-assertNull(res[979].exec("*** Failers", 2963));
-assertNull(res[979].exec("abcde ", 2964));
-assertToStringEquals("abd,", res[980].exec("abd"), 2965);
-assertNull(res[980].exec("*** Failers", 2966));
-assertNull(res[980].exec("abcd ", 2967));
-assertToStringEquals("a,", res[981].exec("a"), 2968);
-assertToStringEquals("ab,b", res[981].exec("ab"), 2969);
-assertToStringEquals("abbbb,bbbb", res[981].exec("abbbb"), 2970);
-assertToStringEquals("a,", res[981].exec("*** Failers"), 2971);
-assertNull(res[981].exec("bbbbb ", 2972));
-assertToStringEquals("abe", res[982].exec("abe"), 2973);
-assertNull(res[982].exec("*** Failers", 2974));
-assertNull(res[982].exec("ab1e ", 2975));
-assertToStringEquals("\"quick\",quick", res[983].exec("the \"quick\" brown fox"), 2976);
-assertToStringEquals("\"the \\\"quick\\\" brown fox\", brown fox", res[983].exec("\"the \\\"quick\\\" brown fox\" "), 2977);
-assertToStringEquals("", res[984].exec("abc"), 2978);
-assertToStringEquals("", res[985].exec("abc "), 2979);
-assertToStringEquals("", res[986].exec("abc "), 2980);
-assertThrows("var re = //;", 2981);
-assertToStringEquals("", res[986].exec("abc"), 2982);
-assertToStringEquals("acb", res[988].exec("acb"), 2983);
-assertToStringEquals("a\nb", res[988].exec("a\nb"), 2984);
-assertToStringEquals("acb", res[989].exec("acb"), 2985);
-assertNull(res[989].exec("*** Failers ", 2986));
-assertNull(res[989].exec("a\nb ", 2987));
-assertToStringEquals("acb", res[990].exec("acb"), 2988);
-assertToStringEquals("a\nb", res[990].exec("a\nb "), 2989);
-assertToStringEquals("acb", res[991].exec("acb"), 2990);
-assertNull(res[991].exec("a\nb ", 2991));
-assertToStringEquals("bac,a", res[992].exec("bac"), 2992);
-assertToStringEquals("bbac,a", res[992].exec("bbac"), 2993);
-assertToStringEquals("bbbac,a", res[992].exec("bbbac"), 2994);
-assertToStringEquals("bbbbac,a", res[992].exec("bbbbac"), 2995);
-assertToStringEquals("bbbbbac,a", res[992].exec("bbbbbac "), 2996);
-assertToStringEquals("bac,a", res[993].exec("bac"), 2997);
-assertToStringEquals("bbac,a", res[993].exec("bbac"), 2998);
-assertToStringEquals("bbbac,a", res[993].exec("bbbac"), 2999);
-assertToStringEquals("bbbbac,a", res[993].exec("bbbbac"), 3000);
-assertToStringEquals("bbbbbac,a", res[993].exec("bbbbbac "), 3001);
-assertToStringEquals("x", res[994].exec("x\nb\n"), 3002);
-assertToStringEquals("x", res[994].exec("a\x08x\n "), 3003);
-assertNull(res[995].exec("\x00{ab} ", 3004));
-assertToStringEquals("CD,", res[996].exec("CD "), 3005);
-assertToStringEquals("CD,", res[997].exec("CD "), 3006);
-assertNull(res[997].exec("foo", 3007));
-assertNull(res[997].exec("catfood", 3008));
-assertNull(res[997].exec("arfootle", 3009));
-assertNull(res[997].exec("rfoosh", 3010));
-assertNull(res[997].exec("*** Failers", 3011));
-assertNull(res[997].exec("barfoo", 3012));
-assertNull(res[997].exec("towbarfoo", 3013));
-assertNull(res[997].exec("catfood", 3014));
-assertNull(res[997].exec("*** Failers", 3015));
-assertNull(res[997].exec("foo", 3016));
-assertNull(res[997].exec("barfoo", 3017));
-assertNull(res[997].exec("towbarfoo", 3018));
-assertNull(res[997].exec("fooabar", 3019));
-assertNull(res[997].exec("*** Failers", 3020));
-assertNull(res[997].exec("bar", 3021));
-assertNull(res[997].exec("foobbar", 3022));
-assertNull(res[997].exec(" ", 3023));
-assertNull(res[998].exec("abc", 3024));
-assertNull(res[998].exec("*** Failers", 3025));
-assertNull(res[998].exec("abc\n ", 3026));
-assertNull(res[998].exec("qqq\nabc", 3027));
-assertNull(res[998].exec("abc\nzzz", 3028));
-assertNull(res[998].exec("qqq\nabc\nzzz", 3029));
-assertNull(res[998].exec("/this/is/a/very/long/line/in/deed/with/very/many/slashes/in/it/you/see/", 3030));
-assertNull(res[998].exec("/this/is/a/very/long/line/in/deed/with/very/many/slashes/in/and/foo", 3031));
-assertNull(res[998].exec("1.230003938", 3032));
-assertNull(res[998].exec("1.875000282", 3033));
-assertNull(res[998].exec("*** Failers ", 3034));
-assertNull(res[998].exec("1.235 ", 3035));
-assertNull(res[998].exec("now is the time for all good men to come to the aid of the party", 3036));
-assertNull(res[998].exec("*** Failers", 3037));
-assertNull(res[998].exec("this is not a line with only words and spaces!", 3038));
-assertToStringEquals("12345a,12345,a", res[999].exec("12345a"), 3039);
-assertToStringEquals("12345,1234,5", res[999].exec("12345+ "), 3040);
-assertToStringEquals("12345a,12345,a", res[999].exec("12345a"), 3041);
-assertNull(res[999].exec("*** Failers", 3042));
-assertToStringEquals("12345,1234,5", res[999].exec("12345+ "), 3043);
-assertNull(res[999].exec("aaab", 3044));
-assertNull(res[999].exec("aaab", 3045));
-assertNull(res[999].exec("aaab", 3046));
-assertNull(res[999].exec("aaabbbccc", 3047));
-assertNull(res[999].exec("aaabbbbccccd", 3048));
-assertToStringEquals("aaabbbbcccc,ccc", res[1000].exec("aaabbbbccccd"), 3049);
-assertToStringEquals("abc,b", res[1000].exec("((abc(ade)ufh()()x"), 3050);
-assertNull(res[1000].exec("", 3051));
-assertToStringEquals("abc,b", res[1000].exec("(abc)"), 3052);
-assertToStringEquals("abc,b", res[1000].exec("(abc(def)xyz)"), 3053);
-assertNull(res[1000].exec("*** Failers", 3054));
-assertNull(res[1000].exec("ab", 3055));
-assertNull(res[1000].exec("Ab", 3056));
-assertNull(res[1000].exec("*** Failers ", 3057));
-assertNull(res[1000].exec("aB", 3058));
-assertNull(res[1000].exec("AB", 3059));
-assertNull(res[1000].exec(" ", 3060));
-assertToStringEquals("bc,b", res[1000].exec("a bcd e"), 3061);
-assertNull(res[1000].exec("*** Failers", 3062));
-assertToStringEquals("c,", res[1000].exec("a b cd e"), 3063);
-assertToStringEquals("abc,b", res[1000].exec("abcd e "), 3064);
-assertToStringEquals("bc,b", res[1000].exec("a bcde "), 3065);
-assertToStringEquals("bc,b", res[1000].exec("a bcde f"), 3066);
-assertNull(res[1000].exec("*** Failers", 3067));
-assertToStringEquals("abc,b", res[1000].exec("abcdef "), 3068);
-assertToStringEquals("abc,b", res[1000].exec("abc"), 3069);
-assertToStringEquals("c,", res[1000].exec("aBc"), 3070);
-assertNull(res[1000].exec("*** Failers", 3071));
-assertNull(res[1000].exec("abC", 3072));
-assertNull(res[1000].exec("aBC ", 3073));
-assertToStringEquals("bc,b", res[1000].exec("Abc"), 3074);
-assertToStringEquals("c,", res[1000].exec("ABc"), 3075);
-assertNull(res[1000].exec("ABC", 3076));
-assertNull(res[1000].exec("AbC", 3077));
-assertNull(res[1000].exec("", 3078));
-assertToStringEquals("abc,b", res[1000].exec("abc"), 3079);
-assertToStringEquals("c,", res[1000].exec("aBc"), 3080);
-assertNull(res[1000].exec("*** Failers ", 3081));
-assertNull(res[1000].exec("ABC", 3082));
-assertNull(res[1000].exec("abC", 3083));
-assertNull(res[1000].exec("aBC", 3084));
-assertNull(res[1000].exec("", 3085));
-assertToStringEquals("c,", res[1000].exec("aBc"), 3086);
-assertToStringEquals("c,", res[1000].exec("aBBc"), 3087);
-assertNull(res[1000].exec("*** Failers ", 3088));
-assertNull(res[1000].exec("aBC", 3089));
-assertNull(res[1000].exec("aBBC", 3090));
-assertNull(res[1000].exec("", 3091));
-assertToStringEquals("abc,b", res[1000].exec("abcd"), 3092);
-assertNull(res[1000].exec("abCd", 3093));
-assertNull(res[1000].exec("*** Failers", 3094));
-assertNull(res[1000].exec("aBCd", 3095));
-assertToStringEquals("abc,b", res[1000].exec("abcD "), 3096);
-assertNull(res[1000].exec("", 3097));
-assertNull(res[1000].exec("more than million", 3098));
-assertNull(res[1000].exec("more than MILLION", 3099));
-assertNull(res[1000].exec("more \n than Million ", 3100));
-assertNull(res[1000].exec("*** Failers", 3101));
-assertNull(res[1000].exec("MORE THAN MILLION ", 3102));
-assertNull(res[1000].exec("more \n than \n million ", 3103));
-assertNull(res[1000].exec("more than million", 3104));
-assertNull(res[1000].exec("more than MILLION", 3105));
-assertNull(res[1000].exec("more \n than Million ", 3106));
-assertNull(res[1000].exec("*** Failers", 3107));
-assertNull(res[1000].exec("MORE THAN MILLION ", 3108));
-assertNull(res[1000].exec("more \n than \n million ", 3109));
-assertNull(res[1000].exec("", 3110));
-assertToStringEquals("abc,b", res[1000].exec("abc"), 3111);
-assertToStringEquals("bc,b", res[1000].exec("aBbc"), 3112);
-assertToStringEquals("c,", res[1000].exec("aBBc "), 3113);
-assertNull(res[1000].exec("*** Failers", 3114));
-assertToStringEquals("bc,b", res[1000].exec("Abc"), 3115);
-assertNull(res[1000].exec("abAb ", 3116));
-assertNull(res[1000].exec("abbC ", 3117));
-assertNull(res[1000].exec("", 3118));
-assertToStringEquals("abc,b", res[1000].exec("abc"), 3119);
-assertToStringEquals("c,", res[1000].exec("aBc"), 3120);
-assertNull(res[1000].exec("*** Failers", 3121));
-assertNull(res[1000].exec("Ab ", 3122));
-assertNull(res[1000].exec("abC", 3123));
-assertNull(res[1000].exec("aBC ", 3124));
-assertNull(res[1000].exec("", 3125));
-assertToStringEquals("c,", res[1000].exec("abxxc"), 3126);
-assertToStringEquals("c,", res[1000].exec("aBxxc"), 3127);
-assertNull(res[1000].exec("*** Failers", 3128));
-assertToStringEquals("c,", res[1000].exec("Abxxc"), 3129);
-assertToStringEquals("c,", res[1000].exec("ABxxc"), 3130);
-assertNull(res[1000].exec("abxxC ", 3131));
-assertToStringEquals("abc,b", res[1000].exec("abc:"), 3132);
-assertNull(res[1000].exec("12", 3133));
-assertNull(res[1000].exec("*** Failers", 3134));
-assertNull(res[1000].exec("123", 3135));
-assertNull(res[1000].exec("xyz ", 3136));
-assertToStringEquals("abc,b", res[1000].exec("abc:"), 3137);
-assertNull(res[1000].exec("12", 3138));
-assertNull(res[1000].exec("*** Failers", 3139));
-assertNull(res[1000].exec("123", 3140));
-assertNull(res[1000].exec("xyz ", 3141));
-assertNull(res[1000].exec("", 3142));
-assertNull(res[1000].exec("foobar", 3143));
-assertToStringEquals("c,", res[1000].exec("cat"), 3144);
-assertToStringEquals("c,", res[1000].exec("fcat"), 3145);
-assertToStringEquals("c,", res[1000].exec("focat "), 3146);
-assertNull(res[1000].exec("*** Failers", 3147));
-assertToStringEquals("c,", res[1000].exec("foocat "), 3148);
-assertNull(res[1000].exec("foobar", 3149));
-assertToStringEquals("c,", res[1000].exec("cat"), 3150);
-assertToStringEquals("c,", res[1000].exec("fcat"), 3151);
-assertToStringEquals("c,", res[1000].exec("focat "), 3152);
-assertNull(res[1000].exec("*** Failers", 3153));
-assertToStringEquals("c,", res[1000].exec("foocat "), 3154);
-assertNull(res[1000].exec("a", 3155));
-assertNull(res[1000].exec("aa", 3156));
-assertNull(res[1000].exec("aaaa", 3157));
-assertNull(res[1000].exec("", 3158));
-assertToStringEquals("abc,abc", res[1001].exec("abc"), 3159);
-assertToStringEquals("abcabc,abc", res[1001].exec("abcabc"), 3160);
-assertToStringEquals("abcabcabc,abc", res[1001].exec("abcabcabc"), 3161);
-assertToStringEquals(",", res[1001].exec("xyz "), 3162);
-assertToStringEquals("a,a", res[1002].exec("a"), 3163);
-assertToStringEquals("aaaaa,aaaaa", res[1002].exec("aaaaa "), 3164);
-assertToStringEquals("a,a", res[1003].exec("a"), 3165);
-assertToStringEquals("b,b", res[1003].exec("b"), 3166);
-assertToStringEquals("ababab,ababab", res[1003].exec("ababab"), 3167);
-assertToStringEquals("aaaab,aaaab", res[1003].exec("aaaabcde"), 3168);
-assertToStringEquals("bbbb,bbbb", res[1003].exec("bbbb "), 3169);
-assertToStringEquals("b,b", res[1004].exec("b"), 3170);
-assertToStringEquals("bbbb,bbbb", res[1004].exec("bbbb"), 3171);
-assertToStringEquals(",", res[1004].exec("aaa "), 3172);
-assertToStringEquals("cccc,cccc", res[1005].exec("cccc"), 3173);
-assertToStringEquals(",", res[1005].exec("abab "), 3174);
-assertToStringEquals("a,a", res[1006].exec("a"), 3175);
-assertToStringEquals("aaaa,a", res[1006].exec("aaaa "), 3176);
-assertToStringEquals("a,a", res[1007].exec("a"), 3177);
-assertToStringEquals("b,b", res[1007].exec("b"), 3178);
-assertToStringEquals("abab,b", res[1007].exec("abab"), 3179);
-assertToStringEquals("baba,a", res[1007].exec("baba "), 3180);
-assertToStringEquals("b,b", res[1008].exec("b"), 3181);
-assertToStringEquals("bbbb,b", res[1008].exec("bbbb"), 3182);
-assertToStringEquals(",", res[1008].exec("aaa "), 3183);
-assertToStringEquals("c,c", res[1009].exec("c"), 3184);
-assertToStringEquals("cccc,c", res[1009].exec("cccc"), 3185);
-assertToStringEquals(",", res[1009].exec("baba "), 3186);
-assertToStringEquals(",", res[1009].exec("a"), 3187);
-assertToStringEquals(",", res[1009].exec("aaabcde "), 3188);
-assertToStringEquals(",", res[1009].exec("aaaaa"), 3189);
-assertToStringEquals(",", res[1009].exec("aabbaa "), 3190);
-assertToStringEquals(",", res[1009].exec("aaaaa"), 3191);
-assertToStringEquals(",", res[1009].exec("aabbaa "), 3192);
-assertToStringEquals("12-sep-98,8", res[1009].exec("12-sep-98"), 3193);
-assertToStringEquals("12-09-98,8", res[1009].exec("12-09-98"), 3194);
-assertToStringEquals("*** F,F", res[1009].exec("*** Failers"), 3195);
-assertToStringEquals("sep-12-98,8", res[1009].exec("sep-12-98"), 3196);
-assertToStringEquals(" , ", res[1009].exec(" "), 3197);
-assertToStringEquals("s,s", res[1009].exec("saturday"), 3198);
-assertToStringEquals("sund,d", res[1009].exec("sunday"), 3199);
-assertToStringEquals("S,S", res[1009].exec("Saturday"), 3200);
-assertToStringEquals("Sund,d", res[1009].exec("Sunday"), 3201);
-assertToStringEquals("SATURDAY,Y", res[1009].exec("SATURDAY"), 3202);
-assertToStringEquals("SUNDAY,Y", res[1009].exec("SUNDAY"), 3203);
-assertToStringEquals("SunD,D", res[1009].exec("SunDay"), 3204);
-assertToStringEquals(",", res[1009].exec("abcx"), 3205);
-assertToStringEquals(",", res[1009].exec("aBCx"), 3206);
-assertToStringEquals(",", res[1009].exec("bbx"), 3207);
-assertToStringEquals("BBx,x", res[1009].exec("BBx"), 3208);
-assertToStringEquals("*** F,F", res[1009].exec("*** Failers"), 3209);
-assertToStringEquals(",", res[1009].exec("abcX"), 3210);
-assertToStringEquals(",", res[1009].exec("aBCX"), 3211);
-assertToStringEquals(",", res[1009].exec("bbX"), 3212);
-assertToStringEquals("BBX , ", res[1009].exec("BBX "), 3213);
-assertToStringEquals(",", res[1009].exec("ac"), 3214);
-assertToStringEquals(",", res[1009].exec("aC"), 3215);
-assertToStringEquals(",", res[1009].exec("bD"), 3216);
-assertToStringEquals("eleph,h", res[1009].exec("elephant"), 3217);
-assertToStringEquals("Europe , ", res[1009].exec("Europe "), 3218);
-assertToStringEquals("frog,g", res[1009].exec("frog"), 3219);
-assertToStringEquals("Fr,r", res[1009].exec("France"), 3220);
-assertToStringEquals("*** F,F", res[1009].exec("*** Failers"), 3221);
-assertToStringEquals("Afric,c", res[1009].exec("Africa "), 3222);
-assertToStringEquals(",", res[1009].exec("ab"), 3223);
-assertToStringEquals(",", res[1009].exec("aBd"), 3224);
-assertToStringEquals("xy,y", res[1009].exec("xy"), 3225);
-assertToStringEquals("xY,Y", res[1009].exec("xY"), 3226);
-assertToStringEquals("ze,e", res[1009].exec("zebra"), 3227);
-assertToStringEquals("Z,Z", res[1009].exec("Zambesi"), 3228);
-assertToStringEquals("*** F,F", res[1009].exec("*** Failers"), 3229);
-assertToStringEquals(",", res[1009].exec("aCD "), 3230);
-assertToStringEquals("XY , ", res[1009].exec("XY "), 3231);
-assertToStringEquals("foo\n,\n", res[1009].exec("foo\nbar"), 3232);
-assertToStringEquals("*** F,F", res[1009].exec("*** Failers"), 3233);
-assertToStringEquals(",", res[1009].exec("bar"), 3234);
-assertToStringEquals(",", res[1009].exec("baz\nbar "), 3235);
-assertToStringEquals(",", res[1009].exec("barbaz"), 3236);
-assertToStringEquals(",", res[1009].exec("barbarbaz "), 3237);
-assertToStringEquals("koo,o", res[1009].exec("koobarbaz "), 3238);
-assertToStringEquals("*** F,F", res[1009].exec("*** Failers"), 3239);
-assertToStringEquals(",", res[1009].exec("baz"), 3240);
-assertToStringEquals("foo,o", res[1009].exec("foobarbaz "), 3241);
-assertToStringEquals("abc", res[1012].exec("abc"), 3242);
-assertToStringEquals("abc", res[1012].exec("xabcy"), 3243);
-assertToStringEquals("abc", res[1012].exec("ababc"), 3244);
-assertNull(res[1012].exec("*** Failers", 3245));
-assertNull(res[1012].exec("xbc", 3246));
-assertNull(res[1012].exec("axc", 3247));
-assertNull(res[1012].exec("abx", 3248));
-assertToStringEquals("abc", res[1013].exec("abc"), 3249);
-assertToStringEquals("abc", res[1014].exec("abc"), 3250);
-assertToStringEquals("abbc", res[1014].exec("abbc"), 3251);
-assertToStringEquals("abbbbc", res[1014].exec("abbbbc"), 3252);
-assertToStringEquals("a", res[1015].exec("abbbbc"), 3253);
-assertToStringEquals("abbb", res[1016].exec("abbbbc"), 3254);
-assertToStringEquals("abbbbc", res[1017].exec("abbbbc"), 3255);
-assertToStringEquals("abbc", res[1018].exec("abbc"), 3256);
-assertNull(res[1018].exec("*** Failers", 3257));
-assertNull(res[1018].exec("abc", 3258));
-assertNull(res[1018].exec("abq", 3259));
-assertToStringEquals("abbbbc", res[1020].exec("abbbbc"), 3260);
-assertToStringEquals("abbbbc", res[1021].exec("abbbbc"), 3261);
-assertToStringEquals("abbbbc", res[1022].exec("abbbbc"), 3262);
-assertToStringEquals("abbbbc", res[1023].exec("abbbbc"), 3263);
-assertNull(res[1024].exec("*** Failers", 3264));
-assertNull(res[1024].exec("abq", 3265));
-assertNull(res[1024].exec("abbbbc", 3266));
-assertToStringEquals("abbc", res[1025].exec("abbc"), 3267);
-assertToStringEquals("abc", res[1025].exec("abc"), 3268);
-assertToStringEquals("abc", res[1026].exec("abc"), 3269);
-assertToStringEquals("abc", res[1028].exec("abc"), 3270);
-assertToStringEquals("abc", res[1029].exec("abc"), 3271);
-assertToStringEquals("abc", res[1030].exec("abc"), 3272);
-assertNull(res[1030].exec("*** Failers", 3273));
-assertNull(res[1030].exec("abbbbc", 3274));
-assertNull(res[1030].exec("abcc", 3275));
-assertToStringEquals("abc", res[1031].exec("abcc"), 3276);
-assertToStringEquals("abc", res[1033].exec("aabc"), 3277);
-assertNull(res[1033].exec("*** Failers", 3278));
-assertToStringEquals("abc", res[1033].exec("aabc"), 3279);
-assertNull(res[1033].exec("aabcd", 3280));
-assertToStringEquals("", res[1034].exec("abc"), 3281);
-assertToStringEquals("", res[1035].exec("abc"), 3282);
-assertToStringEquals("abc", res[1036].exec("abc"), 3283);
-assertToStringEquals("axc", res[1036].exec("axc"), 3284);
-assertToStringEquals("axyzc", res[1037].exec("axyzc"), 3285);
-assertToStringEquals("abd", res[1038].exec("abd"), 3286);
-assertNull(res[1038].exec("*** Failers", 3287));
-assertNull(res[1038].exec("axyzd", 3288));
-assertNull(res[1038].exec("abc", 3289));
-assertToStringEquals("ace", res[1039].exec("ace"), 3290);
-assertToStringEquals("ac", res[1040].exec("aac"), 3291);
-assertToStringEquals("a-", res[1041].exec("a-"), 3292);
-assertToStringEquals("a-", res[1042].exec("a-"), 3293);
-assertToStringEquals("a]", res[1043].exec("a]"), 3294);
-assertNull(res[1044].exec("a]b", 3295));
-assertToStringEquals("aed", res[1045].exec("aed"), 3296);
-assertNull(res[1045].exec("*** Failers", 3297));
-assertNull(res[1045].exec("abd", 3298));
-assertNull(res[1045].exec("abd", 3299));
-assertToStringEquals("adc", res[1046].exec("adc"), 3300);
-assertNull(res[1047].exec("adc", 3301));
-assertNull(res[1047].exec("*** Failers", 3302));
-assertNull(res[1047].exec("a-c", 3303));
-assertNull(res[1047].exec("a]c", 3304));
-assertToStringEquals("a", res[1048].exec("a-"), 3305);
-assertToStringEquals("a", res[1048].exec("-a"), 3306);
-assertToStringEquals("a", res[1048].exec("-a-"), 3307);
-assertNull(res[1049].exec("*** Failers", 3308));
-assertNull(res[1049].exec("xy", 3309));
-assertNull(res[1049].exec("yz", 3310));
-assertNull(res[1049].exec("xyz", 3311));
-assertToStringEquals("a", res[1050].exec("*** Failers"), 3312);
-assertNull(res[1050].exec("a-", 3313));
-assertNull(res[1050].exec("-a", 3314));
-assertNull(res[1050].exec("-a-", 3315));
-assertToStringEquals("y", res[1051].exec("xy"), 3316);
-assertToStringEquals("y", res[1052].exec("yz"), 3317);
-assertToStringEquals("y", res[1053].exec("xyz"), 3318);
-assertToStringEquals("a", res[1054].exec("a"), 3319);
-assertToStringEquals("-", res[1055].exec("-"), 3320);
-assertToStringEquals("*", res[1055].exec("*** Failers"), 3321);
-assertToStringEquals("-", res[1055].exec("-"), 3322);
-assertNull(res[1055].exec("a", 3323));
-assertToStringEquals("a b", res[1056].exec("a b"), 3324);
-assertToStringEquals("a-b", res[1057].exec("a-b"), 3325);
-assertNull(res[1057].exec("*** Failers", 3326));
-assertToStringEquals("a-b", res[1057].exec("a-b"), 3327);
-assertNull(res[1057].exec("a b", 3328));
-assertToStringEquals("1", res[1058].exec("1"), 3329);
-assertToStringEquals("-", res[1059].exec("-"), 3330);
-assertToStringEquals("*", res[1059].exec("*** Failers"), 3331);
-assertToStringEquals("-", res[1059].exec("-"), 3332);
-assertNull(res[1059].exec("1", 3333));
-assertToStringEquals("a", res[1060].exec("a"), 3334);
-assertToStringEquals("-", res[1061].exec("-"), 3335);
-assertToStringEquals("*", res[1061].exec("*** Failers"), 3336);
-assertToStringEquals("-", res[1061].exec("-"), 3337);
-assertNull(res[1061].exec("a", 3338));
-assertToStringEquals("a b", res[1062].exec("a b"), 3339);
-assertToStringEquals("a-b", res[1063].exec("a-b"), 3340);
-assertNull(res[1063].exec("*** Failers", 3341));
-assertToStringEquals("a-b", res[1063].exec("a-b"), 3342);
-assertNull(res[1063].exec("a b", 3343));
-assertToStringEquals("1", res[1064].exec("1"), 3344);
-assertToStringEquals("-", res[1065].exec("-"), 3345);
-assertToStringEquals("*", res[1065].exec("*** Failers"), 3346);
-assertToStringEquals("-", res[1065].exec("-"), 3347);
-assertNull(res[1065].exec("1", 3348));
-assertToStringEquals("ab", res[1066].exec("abc"), 3349);
-assertToStringEquals("ab", res[1066].exec("abcd"), 3350);
-assertToStringEquals("ef,", res[1067].exec("def"), 3351);
-assertToStringEquals("a(b", res[1069].exec("a(b"), 3352);
-assertNull(res[1069].exec("ab", 3353));
-assertNull(res[1069].exec("a((b", 3354));
-assertNull(res[1070].exec("a\x08", 3355));
-assertToStringEquals("a,a,a", res[1071].exec("abc"), 3356);
-assertToStringEquals("abc,a,c", res[1072].exec("abc"), 3357);
-assertToStringEquals("abc", res[1073].exec("aabbabc"), 3358);
-assertToStringEquals("abc", res[1074].exec("aabbabc"), 3359);
-assertToStringEquals("abc", res[1075].exec("abcabc"), 3360);
-assertToStringEquals("ab,b", res[1076].exec("ab"), 3361);
-assertToStringEquals("ab,b", res[1077].exec("ab"), 3362);
-assertToStringEquals("ab,b", res[1078].exec("ab"), 3363);
-assertToStringEquals("ab,b", res[1079].exec("ab"), 3364);
-assertToStringEquals("a,a", res[1080].exec("ab"), 3365);
-assertToStringEquals("a,a", res[1081].exec("ab"), 3366);
-assertToStringEquals("cde", res[1082].exec("cde"), 3367);
-assertNull(res[1083].exec("*** Failers", 3368));
-assertNull(res[1083].exec("b", 3369));
-assertToStringEquals("abbbcd,c", res[1085].exec("abbbcd"), 3370);
-assertToStringEquals("abcd,a", res[1086].exec("abcd"), 3371);
-assertToStringEquals("e", res[1087].exec("e"), 3372);
-assertToStringEquals("ef,e", res[1088].exec("ef"), 3373);
-assertToStringEquals("abcdefg", res[1089].exec("abcdefg"), 3374);
-assertToStringEquals("ab", res[1090].exec("xabyabbbz"), 3375);
-assertToStringEquals("a", res[1090].exec("xayabbbz"), 3376);
-assertToStringEquals("cde,cd", res[1091].exec("abcde"), 3377);
-assertToStringEquals("hij", res[1092].exec("hij"), 3378);
-assertToStringEquals("ef,", res[1094].exec("abcdef"), 3379);
-assertToStringEquals("bcd,b", res[1095].exec("abcd"), 3380);
-assertToStringEquals("abc,a", res[1096].exec("abc"), 3381);
-assertToStringEquals("abc,bc", res[1097].exec("abc"), 3382);
-assertToStringEquals("abcd,bc,d", res[1098].exec("abcd"), 3383);
-assertToStringEquals("abcd,bc,d", res[1099].exec("abcd"), 3384);
-assertToStringEquals("abcd,b,cd", res[1100].exec("abcd"), 3385);
-assertToStringEquals("adcdcde", res[1101].exec("adcdcde"), 3386);
-assertNull(res[1102].exec("*** Failers", 3387));
-assertNull(res[1102].exec("abcde", 3388));
-assertNull(res[1102].exec("adcdcde", 3389));
-assertToStringEquals("abc,ab", res[1103].exec("abc"), 3390);
-assertToStringEquals("abcd,abc,a,b,d", res[1104].exec("abcd"), 3391);
-assertToStringEquals("alpha", res[1105].exec("alpha"), 3392);
-assertToStringEquals("bh,", res[1106].exec("abh"), 3393);
-assertToStringEquals("effgz,effgz,", res[1107].exec("effgz"), 3394);
-assertToStringEquals("ij,ij,j", res[1107].exec("ij"), 3395);
-assertToStringEquals("effgz,effgz,", res[1107].exec("reffgz"), 3396);
-assertNull(res[1107].exec("*** Failers", 3397));
-assertNull(res[1107].exec("effg", 3398));
-assertNull(res[1107].exec("bcdd", 3399));
-assertToStringEquals("a,a,a,a,a,a,a,a,a,a,a", res[1108].exec("a"), 3400);
-assertToStringEquals("a,a,a,a,a,a,a,a,a,a", res[1109].exec("a"), 3401);
-assertNull(res[1110].exec("*** Failers", 3402));
-assertNull(res[1110].exec("aa", 3403));
-assertNull(res[1110].exec("uh-uh", 3404));
-assertToStringEquals("multiple words", res[1111].exec("multiple words, yeah"), 3405);
-assertToStringEquals("abcde,ab,de", res[1112].exec("abcde"), 3406);
-assertToStringEquals("(a, b),a,b", res[1113].exec("(a, b)"), 3407);
-assertToStringEquals("abcd", res[1115].exec("abcd"), 3408);
-assertToStringEquals("abcd,bc", res[1116].exec("abcd"), 3409);
-assertToStringEquals("ac", res[1117].exec("ac"), 3410);
-assertToStringEquals("ABC", res[1118].exec("ABC"), 3411);
-assertToStringEquals("ABC", res[1118].exec("XABCY"), 3412);
-assertToStringEquals("ABC", res[1118].exec("ABABC"), 3413);
-assertNull(res[1118].exec("*** Failers", 3414));
-assertNull(res[1118].exec("aaxabxbaxbbx", 3415));
-assertNull(res[1118].exec("XBC", 3416));
-assertNull(res[1118].exec("AXC", 3417));
-assertNull(res[1118].exec("ABX", 3418));
-assertToStringEquals("ABC", res[1119].exec("ABC"), 3419);
-assertToStringEquals("ABC", res[1120].exec("ABC"), 3420);
-assertToStringEquals("ABBC", res[1120].exec("ABBC"), 3421);
-assertToStringEquals("ABBBBC", res[1121].exec("ABBBBC"), 3422);
-assertToStringEquals("ABBBBC", res[1122].exec("ABBBBC"), 3423);
-assertToStringEquals("ABBC", res[1123].exec("ABBC"), 3424);
-assertNull(res[1124].exec("*** Failers", 3425));
-assertNull(res[1124].exec("ABC", 3426));
-assertNull(res[1124].exec("ABQ", 3427));
-assertToStringEquals("ABBBBC", res[1126].exec("ABBBBC"), 3428);
-assertToStringEquals("ABBBBC", res[1127].exec("ABBBBC"), 3429);
-assertToStringEquals("ABBBBC", res[1128].exec("ABBBBC"), 3430);
-assertToStringEquals("ABBBBC", res[1129].exec("ABBBBC"), 3431);
-assertNull(res[1130].exec("*** Failers", 3432));
-assertNull(res[1130].exec("ABQ", 3433));
-assertNull(res[1130].exec("ABBBBC", 3434));
-assertToStringEquals("ABBC", res[1131].exec("ABBC"), 3435);
-assertToStringEquals("ABC", res[1131].exec("ABC"), 3436);
-assertToStringEquals("ABC", res[1132].exec("ABC"), 3437);
-assertToStringEquals("ABC", res[1134].exec("ABC"), 3438);
-assertToStringEquals("ABC", res[1135].exec("ABC"), 3439);
-assertToStringEquals("ABC", res[1136].exec("ABC"), 3440);
-assertNull(res[1136].exec("*** Failers", 3441));
-assertNull(res[1136].exec("ABBBBC", 3442));
-assertNull(res[1136].exec("ABCC", 3443));
-assertToStringEquals("ABC", res[1137].exec("ABCC"), 3444);
-assertToStringEquals("ABC", res[1139].exec("AABC"), 3445);
-assertToStringEquals("", res[1140].exec("ABC"), 3446);
-assertToStringEquals("", res[1141].exec("ABC"), 3447);
-assertToStringEquals("ABC", res[1142].exec("ABC"), 3448);
-assertToStringEquals("AXC", res[1142].exec("AXC"), 3449);
-assertToStringEquals("AXYZC", res[1143].exec("AXYZC"), 3450);
-assertNull(res[1144].exec("*** Failers", 3451));
-assertToStringEquals("AABC", res[1144].exec("AABC"), 3452);
-assertNull(res[1144].exec("AXYZD", 3453));
-assertToStringEquals("ABD", res[1145].exec("ABD"), 3454);
-assertToStringEquals("ACE", res[1146].exec("ACE"), 3455);
-assertNull(res[1146].exec("*** Failers", 3456));
-assertNull(res[1146].exec("ABC", 3457));
-assertNull(res[1146].exec("ABD", 3458));
-assertToStringEquals("AC", res[1147].exec("AAC"), 3459);
-assertToStringEquals("A-", res[1148].exec("A-"), 3460);
-assertToStringEquals("A-", res[1149].exec("A-"), 3461);
-assertToStringEquals("A]", res[1150].exec("A]"), 3462);
-assertNull(res[1151].exec("A]B", 3463));
-assertToStringEquals("AED", res[1152].exec("AED"), 3464);
-assertToStringEquals("ADC", res[1153].exec("ADC"), 3465);
-assertNull(res[1153].exec("*** Failers", 3466));
-assertNull(res[1153].exec("ABD", 3467));
-assertNull(res[1153].exec("A-C", 3468));
-assertNull(res[1154].exec("ADC", 3469));
-assertToStringEquals("AB", res[1155].exec("ABC"), 3470);
-assertToStringEquals("AB", res[1155].exec("ABCD"), 3471);
-assertToStringEquals("EF,", res[1156].exec("DEF"), 3472);
-assertNull(res[1157].exec("*** Failers", 3473));
-assertNull(res[1157].exec("A]C", 3474));
-assertNull(res[1157].exec("B", 3475));
-assertToStringEquals("A(B", res[1158].exec("A(B"), 3476);
-assertNull(res[1158].exec("AB", 3477));
-assertNull(res[1158].exec("A((B", 3478));
-assertNull(res[1159].exec("AB", 3479));
-assertToStringEquals("A,A,A", res[1160].exec("ABC"), 3480);
-assertToStringEquals("ABC,A,C", res[1161].exec("ABC"), 3481);
-assertToStringEquals("ABC", res[1162].exec("AABBABC"), 3482);
-assertToStringEquals("ABC", res[1163].exec("AABBABC"), 3483);
-assertToStringEquals("ABC", res[1164].exec("ABCABC"), 3484);
-assertToStringEquals("ABC", res[1165].exec("ABCABC"), 3485);
-assertToStringEquals("ABC", res[1166].exec("ABCABC"), 3486);
-assertToStringEquals("AB,B", res[1167].exec("AB"), 3487);
-assertToStringEquals("AB,B", res[1168].exec("AB"), 3488);
-assertToStringEquals("AB,B", res[1169].exec("AB"), 3489);
-assertToStringEquals("AB,B", res[1170].exec("AB"), 3490);
-assertToStringEquals("A,A", res[1171].exec("AB"), 3491);
-assertToStringEquals("A,A", res[1172].exec("AB"), 3492);
-assertToStringEquals(",", res[1173].exec("AB"), 3493);
-assertToStringEquals("CDE", res[1174].exec("CDE"), 3494);
-assertToStringEquals("ABBBCD,C", res[1177].exec("ABBBCD"), 3495);
-assertToStringEquals("ABCD,A", res[1178].exec("ABCD"), 3496);
-assertToStringEquals("E", res[1179].exec("E"), 3497);
-assertToStringEquals("EF,E", res[1180].exec("EF"), 3498);
-assertToStringEquals("ABCDEFG", res[1181].exec("ABCDEFG"), 3499);
-assertToStringEquals("AB", res[1182].exec("XABYABBBZ"), 3500);
-assertToStringEquals("A", res[1182].exec("XAYABBBZ"), 3501);
-assertToStringEquals("CDE,CD", res[1183].exec("ABCDE"), 3502);
-assertToStringEquals("HIJ", res[1184].exec("HIJ"), 3503);
-assertNull(res[1185].exec("ABCDE", 3504));
-assertToStringEquals("EF,", res[1186].exec("ABCDEF"), 3505);
-assertToStringEquals("BCD,B", res[1187].exec("ABCD"), 3506);
-assertToStringEquals("ABC,A", res[1188].exec("ABC"), 3507);
-assertToStringEquals("ABC,BC", res[1189].exec("ABC"), 3508);
-assertToStringEquals("ABCD,BC,D", res[1190].exec("ABCD"), 3509);
-assertToStringEquals("ABCD,BC,D", res[1191].exec("ABCD"), 3510);
-assertToStringEquals("ABCD,B,CD", res[1192].exec("ABCD"), 3511);
-assertToStringEquals("ADCDCDE", res[1193].exec("ADCDCDE"), 3512);
-assertToStringEquals("ABC,AB", res[1195].exec("ABC"), 3513);
-assertToStringEquals("ABCD,ABC,A,B,D", res[1196].exec("ABCD"), 3514);
-assertToStringEquals("ALPHA", res[1197].exec("ALPHA"), 3515);
-assertToStringEquals("BH,", res[1198].exec("ABH"), 3516);
-assertToStringEquals("EFFGZ,EFFGZ,", res[1199].exec("EFFGZ"), 3517);
-assertToStringEquals("IJ,IJ,J", res[1199].exec("IJ"), 3518);
-assertToStringEquals("EFFGZ,EFFGZ,", res[1199].exec("REFFGZ"), 3519);
-assertNull(res[1199].exec("*** Failers", 3520));
-assertNull(res[1199].exec("ADCDCDE", 3521));
-assertNull(res[1199].exec("EFFG", 3522));
-assertNull(res[1199].exec("BCDD", 3523));
-assertToStringEquals("A,A,A,A,A,A,A,A,A,A,A", res[1200].exec("A"), 3524);
-assertToStringEquals("A,A,A,A,A,A,A,A,A,A", res[1201].exec("A"), 3525);
-assertToStringEquals("A,A", res[1202].exec("A"), 3526);
-assertToStringEquals("C,C", res[1203].exec("C"), 3527);
-assertNull(res[1204].exec("*** Failers", 3528));
-assertNull(res[1204].exec("AA", 3529));
-assertNull(res[1204].exec("UH-UH", 3530));
-assertToStringEquals("MULTIPLE WORDS", res[1205].exec("MULTIPLE WORDS, YEAH"), 3531);
-assertToStringEquals("ABCDE,AB,DE", res[1206].exec("ABCDE"), 3532);
-assertToStringEquals("(A, B),A,B", res[1207].exec("(A, B)"), 3533);
-assertToStringEquals("ABCD", res[1209].exec("ABCD"), 3534);
-assertToStringEquals("ABCD,BC", res[1210].exec("ABCD"), 3535);
-assertToStringEquals("AC", res[1211].exec("AC"), 3536);
-assertToStringEquals("ad", res[1212].exec("abad"), 3537);
-assertToStringEquals("ad", res[1213].exec("abad"), 3538);
-assertToStringEquals("ad", res[1214].exec("abad"), 3539);
-assertToStringEquals("ace,e", res[1215].exec("ace"), 3540);
-assertToStringEquals("ace,e", res[1216].exec("ace"), 3541);
-assertToStringEquals("ace,e", res[1217].exec("ace"), 3542);
-assertToStringEquals("acd,d", res[1217].exec("acdbcdbe"), 3543);
-assertToStringEquals("acdbcdbe,e", res[1218].exec("acdbcdbe"), 3544);
-assertToStringEquals("acdb,b", res[1219].exec("acdbcdbe"), 3545);
-assertToStringEquals("acdbcdb,b", res[1220].exec("acdbcdbe"), 3546);
-assertToStringEquals("acdbcd,d", res[1221].exec("acdbcdbe"), 3547);
-assertToStringEquals("foobar,bar,,bar", res[1222].exec("foobar"), 3548);
-assertToStringEquals("acdbcdbe,e", res[1223].exec("acdbcdbe"), 3549);
-assertToStringEquals("acdbcdbe,e", res[1224].exec("acdbcdbe"), 3550);
-assertToStringEquals("acdbcdbe,e", res[1225].exec("acdbcdbe"), 3551);
-assertToStringEquals("acdbcdb,b", res[1226].exec("acdbcdbe"), 3552);
-assertToStringEquals("acdbcdbe,e", res[1227].exec("acdbcdbe"), 3553);
-assertToStringEquals("acdbcdb,b", res[1228].exec("acdbcdbe"), 3554);
-assertToStringEquals("ace,c,e", res[1229].exec("ace"), 3555);
-assertToStringEquals("AB,A", res[1230].exec("AB"), 3556);
-assertToStringEquals(".,.,", res[1231].exec("."), 3557);
-assertToStringEquals("<&", res[1232].exec("<&OUT"), 3558);
-assertToStringEquals("foobar,,,,b,a,r", res[1233].exec("foobar"), 3559);
-assertToStringEquals(",,,,,,", res[1233].exec("ab"), 3560);
-assertToStringEquals(",,,,,,", res[1233].exec("*** Failers"), 3561);
-assertToStringEquals(",,,,,,", res[1233].exec("cb"), 3562);
-assertToStringEquals(",,,,,,", res[1233].exec("b"), 3563);
-assertToStringEquals(",,,,,,", res[1233].exec("ab"), 3564);
-assertToStringEquals(",,,,,,", res[1233].exec("b"), 3565);
-assertToStringEquals(",,,,,,", res[1233].exec("b"), 3566);
-assertToStringEquals("aba", res[1234].exec("aba"), 3567);
-assertToStringEquals("a", res[1235].exec("aba"), 3568);
-assertToStringEquals(",", res[1236].exec("abc"), 3569);
-assertToStringEquals("aax,a", res[1237].exec("aax"), 3570);
-assertToStringEquals("aax,a,a", res[1238].exec("aax"), 3571);
-assertToStringEquals("aax,a,a", res[1239].exec("aax"), 3572);
-assertToStringEquals("ab,", res[1240].exec("cab"), 3573);
-assertToStringEquals("ab,", res[1241].exec("cab"), 3574);
-assertToStringEquals("ab,", res[1241].exec("ab"), 3575);
-assertToStringEquals("ab,", res[1241].exec("ab"), 3576);
-assertNull(res[1241].exec("Ab", 3577));
-assertNull(res[1241].exec("Ab", 3578));
-assertNull(res[1241].exec("*** Failers", 3579));
-assertNull(res[1241].exec("cb", 3580));
-assertNull(res[1241].exec("aB", 3581));
-assertToStringEquals("ab,", res[1241].exec("ab"), 3582);
-assertToStringEquals("ab,", res[1241].exec("ab"), 3583);
-assertNull(res[1241].exec("Ab", 3584));
-assertNull(res[1241].exec("Ab", 3585));
-assertNull(res[1241].exec("*** Failers", 3586));
-assertNull(res[1241].exec("aB", 3587));
-assertNull(res[1241].exec("aB", 3588));
-assertToStringEquals("ab,", res[1241].exec("ab"), 3589);
-assertToStringEquals("ab,", res[1241].exec("ab"), 3590);
-assertNull(res[1241].exec("aB", 3591));
-assertNull(res[1241].exec("aB", 3592));
-assertNull(res[1241].exec("*** Failers", 3593));
-assertNull(res[1241].exec("aB", 3594));
-assertNull(res[1241].exec("Ab", 3595));
-assertNull(res[1241].exec("aB", 3596));
-assertNull(res[1241].exec("aB", 3597));
-assertNull(res[1241].exec("*** Failers", 3598));
-assertNull(res[1241].exec("Ab", 3599));
-assertNull(res[1241].exec("AB", 3600));
-assertToStringEquals("ab,", res[1241].exec("ab"), 3601);
-assertToStringEquals("ab,", res[1241].exec("ab"), 3602);
-assertNull(res[1241].exec("aB", 3603));
-assertNull(res[1241].exec("aB", 3604));
-assertNull(res[1241].exec("*** Failers", 3605));
-assertNull(res[1241].exec("AB", 3606));
-assertNull(res[1241].exec("Ab", 3607));
-assertNull(res[1241].exec("aB", 3608));
-assertNull(res[1241].exec("aB", 3609));
-assertNull(res[1241].exec("*** Failers", 3610));
-assertNull(res[1241].exec("Ab", 3611));
-assertNull(res[1241].exec("AB", 3612));
-assertNull(res[1241].exec("*** Failers", 3613));
-assertNull(res[1241].exec("AB", 3614));
-assertNull(res[1241].exec("a\nB", 3615));
-assertNull(res[1241].exec("a\nB", 3616));
-assertToStringEquals("cabbbb", res[1242].exec("cabbbb"), 3617);
-assertToStringEquals("caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", res[1243].exec("caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"), 3618);
-assertToStringEquals("foobar1234baz", res[1244].exec("foobar1234baz"), 3619);
-assertToStringEquals("x~~,~~", res[1245].exec("x~~"), 3620);
-assertToStringEquals("aaac", res[1246].exec("aaac"), 3621);
-assertToStringEquals("aaac", res[1247].exec("aaac"), 3622);
-assertNull(res[1247].exec("*** Failers", 3623));
-assertNull(res[1247].exec("B\nB", 3624));
-assertNull(res[1247].exec("dbcb", 3625));
-assertNull(res[1247].exec("dbaacb", 3626));
-assertNull(res[1247].exec("dbaacb", 3627));
-assertNull(res[1247].exec("cdaccb", 3628));
-assertNull(res[1248].exec("*** Failers", 3629));
-assertNull(res[1248].exec("dbcb", 3630));
-assertNull(res[1248].exec("a--", 3631));
-assertNull(res[1248].exec("a\nb\nc\n", 3632));
-assertNull(res[1248].exec("a\nb\nc\n", 3633));
-assertNull(res[1248].exec("a\nb\n", 3634));
-assertNull(res[1248].exec("a\nb\n", 3635));
-assertNull(res[1248].exec("a\nb\n", 3636));
-assertNull(res[1248].exec("a\nb\n", 3637));
-assertNull(res[1248].exec("a\nb\nc\n", 3638));
-assertNull(res[1248].exec("a\nb\nc\n", 3639));
-assertNull(res[1248].exec("a\nb\nc\n", 3640));
-assertNull(res[1248].exec("a\nb\nc\n", 3641));
-assertNull(res[1250].exec("*** Failers", 3642));
-assertNull(res[1250].exec("a\nb\nc\n", 3643));
-assertNull(res[1250].exec("a\nb\nc\n", 3644));
-assertNull(res[1250].exec("a\nb\nc\n", 3645));
-assertNull(res[1250].exec("a", 3646));
-assertNull(res[1250].exec("*** Failers", 3647));
-assertNull(res[1250].exec("a", 3648));
-assertNull(res[1250].exec("a", 3649));
-assertNull(res[1250].exec("a", 3650));
-assertToStringEquals("one:,one:", res[1251].exec("one:"), 3651);
-assertNull(res[1251].exec("a", 3652));
-assertToStringEquals("abcd,,abcd", res[1252].exec("abcd"), 3653);
-assertToStringEquals("xy:z:::abcd,xy:z:::,abcd", res[1252].exec("xy:z:::abcd"), 3654);
-assertToStringEquals("aexyc,c", res[1253].exec("aexycd"), 3655);
-assertToStringEquals("aab,aa", res[1254].exec("caab"), 3656);
-assertToStringEquals("abcd,,abcd", res[1255].exec("abcd"), 3657);
-assertToStringEquals("xy:z:::abcd,xy:z:::,abcd", res[1255].exec("xy:z:::abcd"), 3658);
-assertToStringEquals("Failers,,Failers", res[1255].exec("*** Failers"), 3659);
-assertNull(res[1255].exec("abcd:", 3660));
-assertNull(res[1255].exec("abcd:", 3661));
-assertToStringEquals("aexyc,c", res[1256].exec("aexycd"), 3662);
-assertNull(res[1257].exec("aaab", 3663));
-assertToStringEquals(":[,:[", res[1258].exec("a:[b]:"), 3664);
-assertToStringEquals("=[,=[", res[1259].exec("a=[b]="), 3665);
-assertToStringEquals(".[,.[", res[1260].exec("a.[b]."), 3666);
-assertNull(res[1260].exec("aaab", 3667));
-assertNull(res[1260].exec("aaab", 3668));
-assertNull(res[1260].exec("((abc(ade)ufh()()x", 3669));
-assertNull(res[1261].exec("*** Failers", 3670));
-assertNull(res[1261].exec("aaab", 3671));
-assertNull(res[1261].exec("a\nb\n", 3672));
-assertNull(res[1262].exec("a\nb\n", 3673));
-assertNull(res[1264].exec("a\nb", 3674));
-assertNull(res[1265].exec("a\nb", 3675));
-assertNull(res[1265].exec("*** Failers", 3676));
-assertNull(res[1265].exec("alphabetabcd", 3677));
-assertNull(res[1265].exec("endingwxyz", 3678));
-assertNull(res[1265].exec("*** Failers", 3679));
-assertNull(res[1265].exec("a rather long string that doesn't end with one of them", 3680));
-assertNull(res[1265].exec("word cat dog elephant mussel cow horse canary baboon snake shark otherword", 3681));
-assertNull(res[1265].exec("word cat dog elephant mussel cow horse canary baboon snake shark", 3682));
-assertNull(res[1265].exec("word cat dog elephant mussel cow horse canary baboon snake shark the quick brown fox and the lazy dog and several other words getting close to thirty by now I hope", 3683));
-assertNull(res[1265].exec("999foo", 3684));
-assertNull(res[1265].exec("123999foo ", 3685));
-assertNull(res[1265].exec("*** Failers", 3686));
-assertNull(res[1265].exec("123abcfoo", 3687));
-assertNull(res[1265].exec("999foo", 3688));
-assertNull(res[1265].exec("123999foo ", 3689));
-assertNull(res[1265].exec("*** Failers", 3690));
-assertNull(res[1265].exec("123abcfoo", 3691));
-assertNull(res[1265].exec("123abcfoo", 3692));
-assertNull(res[1265].exec("123456foo ", 3693));
-assertNull(res[1265].exec("*** Failers", 3694));
-assertNull(res[1265].exec("123999foo ", 3695));
-assertNull(res[1265].exec("123abcfoo ", 3696));
-assertNull(res[1265].exec("123456foo ", 3697));
-assertNull(res[1265].exec("*** Failers", 3698));
-assertNull(res[1265].exec("123999foo ", 3699));
-assertToStringEquals("ZA,A,", res[1266].exec("ZABCDEFG"), 3700);
-assertToStringEquals("ZA,A,", res[1267].exec("ZABCDEFG"), 3701);
-assertToStringEquals("ZA,A,,", res[1268].exec("ZABCDEFG"), 3702);
-assertToStringEquals("ZA,A,,", res[1268].exec("ZABCDEFG"), 3703);
-assertToStringEquals("ZA,A,,", res[1268].exec("ZABCDEFG"), 3704);
-assertToStringEquals("a", res[1269].exec("abbab"), 3705);
-assertToStringEquals("", res[1269].exec("abcde"), 3706);
-assertToStringEquals("", res[1269].exec("-things"), 3707);
-assertToStringEquals("", res[1269].exec("0digit"), 3708);
-assertToStringEquals("", res[1269].exec("*** Failers"), 3709);
-assertToStringEquals("", res[1269].exec("bcdef "), 3710);
-assertToStringEquals("a", res[1270].exec("abcde"), 3711);
-assertToStringEquals("-", res[1270].exec("-things"), 3712);
-assertToStringEquals("0", res[1270].exec("0digit"), 3713);
-assertNull(res[1270].exec("*** Failers", 3714));
-assertNull(res[1270].exec("bcdef ", 3715));
-assertNull(res[1271].exec("> \x09\n\x0c\x0d\x0b<", 3716));
-assertNull(res[1271].exec(" ", 3717));
-assertNull(res[1272].exec("> \x09\n\x0c\x0d\x0b<", 3718));
-assertNull(res[1272].exec(" ", 3719));
-assertToStringEquals(" \x09\n\x0c\x0d\x0b", res[1273].exec("> \x09\n\x0c\x0d\x0b<"), 3720);
-assertToStringEquals(" ", res[1273].exec(" "), 3721);
-assertToStringEquals(" \x09\n\x0c\x0d\x0b", res[1274].exec("> \x09\n\x0c\x0d\x0b<"), 3722);
-assertToStringEquals(" ", res[1274].exec(" "), 3723);
-assertNull(res[1275].exec("ab", 3724));
-assertNull(res[1278].exec("abcabcabc", 3725));
-assertNull(res[1278].exec("abc(*+|abc ", 3726));
-assertNull(res[1279].exec("abc abcabc", 3727));
-assertNull(res[1279].exec("*** Failers", 3728));
-assertNull(res[1279].exec("abcabcabc ", 3729));
-assertNull(res[1280].exec("abc#not comment\n literal ", 3730));
-assertNull(res[1281].exec("abc#not comment\n literal ", 3731));
-assertNull(res[1282].exec("abc#not comment\n literal ", 3732));
-assertNull(res[1283].exec("abc#not comment\n literal ", 3733));
-assertNull(res[1284].exec("abc\\$xyz", 3734));
-assertNull(res[1285].exec("abc$xyz", 3735));
-assertNull(res[1286].exec("abc", 3736));
-assertNull(res[1286].exec("*** Failers", 3737));
-assertNull(res[1286].exec("xyzabc ", 3738));
-assertNull(res[1287].exec("abc1abc2xyzabc3", 3739));
-assertToStringEquals("abc1", res[1288].exec("abc1abc2xyzabc3 "), 3740);
-assertNull(res[1288].exec("XabcdY", 3741));
-assertNull(res[1288].exec("*** Failers ", 3742));
-assertNull(res[1288].exec("Xa b c d Y ", 3743));
-assertToStringEquals("abcY", res[1288].exec("XabcY"), 3744);
-assertNull(res[1288].exec("AxyzB ", 3745));
-assertNull(res[1288].exec("XabCY", 3746));
-assertNull(res[1288].exec("*** Failers", 3747));
-assertToStringEquals("abcY", res[1288].exec("XabcY "), 3748);
-assertNull(res[1288].exec("abCE", 3749));
-assertNull(res[1288].exec("DE", 3750));
-assertNull(res[1288].exec("*** Failers", 3751));
-assertToStringEquals("abcE", res[1288].exec("abcE"), 3752);
-assertNull(res[1288].exec("abCe ", 3753));
-assertNull(res[1288].exec("dE", 3754));
-assertNull(res[1288].exec("De ", 3755));
-assertNull(res[1289].exec("z", 3756));
-assertNull(res[1289].exec("a", 3757));
-assertNull(res[1289].exec("-", 3758));
-assertNull(res[1289].exec("d", 3759));
-assertNull(res[1289].exec("] ", 3760));
-assertNull(res[1289].exec("*** Failers", 3761));
-assertNull(res[1289].exec("b ", 3762));
-assertToStringEquals("z", res[1290].exec("z"), 3763);
-assertToStringEquals("C", res[1290].exec("C "), 3764);
-assertToStringEquals("M", res[1291].exec("M "), 3765);
-assertNull(res[1292].exec("", 3766));
-assertNull(res[1292].exec("REGular", 3767));
-assertNull(res[1292].exec("regulaer", 3768));
-assertNull(res[1292].exec("Regex ", 3769));
-assertNull(res[1292].exec("regul\ufffdr ", 3770));
-assertNull(res[1292].exec("\ufffd\ufffd\ufffd\ufffd\ufffd", 3771));
-assertNull(res[1292].exec("\ufffd\ufffd\ufffd\ufffd\ufffd", 3772));
-assertNull(res[1292].exec("\ufffd\ufffd\ufffd\ufffd\ufffd", 3773));
-assertNull(res[1292].exec("\ufffd\ufffd\ufffd\ufffd\ufffd", 3774));
-assertNull(res[1292].exec("\x84XAZXB", 3775));
-assertNull(res[1292].exec("123a", 3776));
-assertNull(res[1292].exec("ac", 3777));
-assertToStringEquals("b,", res[1292].exec("bbbbc"), 3778);
-assertToStringEquals("ab,a", res[1292].exec("abc"), 3779);
-assertNull(res[1292].exec("*** Failers", 3780));
-assertToStringEquals("b,", res[1292].exec("bca"), 3781);
-assertNull(res[1292].exec("", 3782));
-assertToStringEquals("ab,a", res[1292].exec("abc"), 3783);
-assertNull(res[1292].exec("*** Failers", 3784));
-assertToStringEquals("b,", res[1292].exec("bca"), 3785);
-assertToStringEquals("ab,a", res[1292].exec("abc"), 3786);
-assertNull(res[1292].exec("*** Failers", 3787));
-assertNull(res[1292].exec("def ", 3788));
-assertNull(res[1292].exec("", 3789));
-assertToStringEquals("ab,a", res[1292].exec("abc"), 3790);
-assertNull(res[1292].exec("*** Failers", 3791));
-assertNull(res[1292].exec("def ", 3792));
-assertNull(res[1292].exec("", 3793));
-assertToStringEquals("line\nbreak", res[1293].exec("this is a line\nbreak"), 3794);
-assertToStringEquals("line\nbreak", res[1293].exec("line one\nthis is a line\nbreak in the second line "), 3795);
-assertToStringEquals("line\nbreak", res[1294].exec("this is a line\nbreak"), 3796);
-assertNull(res[1294].exec("** Failers ", 3797));
-assertToStringEquals("line\nbreak", res[1294].exec("line one\nthis is a line\nbreak in the second line "), 3798);
-assertToStringEquals("line\nbreak", res[1295].exec("this is a line\nbreak"), 3799);
-assertNull(res[1295].exec("** Failers ", 3800));
-assertToStringEquals("line\nbreak", res[1295].exec("line one\nthis is a line\nbreak in the second line "), 3801);
-assertNull(res[1296].exec("123P", 3802));
-assertNull(res[1296].exec("a4PR", 3803));
-assertNull(res[1297].exec("123P", 3804));
-assertNull(res[1297].exec("4PR", 3805));
-assertToStringEquals("", res[1298].exec("a\nb\nc\n"), 3806);
-assertToStringEquals("", res[1298].exec(" "), 3807);
-assertToStringEquals("", res[1298].exec("A\nC\nC\n "), 3808);
-assertToStringEquals("", res[1298].exec("AB"), 3809);
-assertToStringEquals("", res[1298].exec("aB "), 3810);
-assertToStringEquals("", res[1298].exec("AB"), 3811);
-assertToStringEquals("", res[1298].exec("aB "), 3812);
-assertToStringEquals("", res[1298].exec("AB"), 3813);
-assertToStringEquals("", res[1298].exec("aB "), 3814);
-assertToStringEquals("", res[1298].exec("AB"), 3815);
-assertToStringEquals("", res[1298].exec("aB "), 3816);
-assertToStringEquals("Content-Type:xxxxxyyy ", res[1299].exec("Content-Type:xxxxxyyy "), 3817);
-assertToStringEquals("Content-Type:xxxxxyyyz", res[1300].exec("Content-Type:xxxxxyyyz"), 3818);
-assertToStringEquals("Content-Type:xxxyyy ", res[1301].exec("Content-Type:xxxyyy "), 3819);
-assertToStringEquals("Content-Type:xxxyyyz", res[1302].exec("Content-Type:xxxyyyz"), 3820);
-assertToStringEquals("abc", res[1303].exec("xyz\nabc"), 3821);
-assertToStringEquals("abc", res[1303].exec("xyz\nabc<lf>"), 3822);
-assertToStringEquals("abc", res[1303].exec("xyz\x0d\nabc<lf>"), 3823);
-assertToStringEquals("abc", res[1303].exec("xyz\x0dabc<cr>"), 3824);
-assertToStringEquals("abc", res[1303].exec("xyz\x0d\nabc<crlf>"), 3825);
-assertNull(res[1303].exec("** Failers ", 3826));
-assertToStringEquals("abc", res[1303].exec("xyz\nabc<cr>"), 3827);
-assertToStringEquals("abc", res[1303].exec("xyz\x0d\nabc<cr>"), 3828);
-assertToStringEquals("abc", res[1303].exec("xyz\nabc<crlf>"), 3829);
-assertToStringEquals("abc", res[1303].exec("xyz\x0dabc<crlf>"), 3830);
-assertToStringEquals("abc", res[1303].exec("xyz\x0dabc<lf>"), 3831);
-assertToStringEquals("abc", res[1304].exec("xyzabc"), 3832);
-assertToStringEquals("abc", res[1304].exec("xyzabc\n "), 3833);
-assertToStringEquals("abc", res[1304].exec("xyzabc\npqr "), 3834);
-assertToStringEquals("abc", res[1304].exec("xyzabc\x0d<cr> "), 3835);
-assertToStringEquals("abc", res[1304].exec("xyzabc\x0dpqr<cr> "), 3836);
-assertToStringEquals("abc", res[1304].exec("xyzabc\x0d\n<crlf> "), 3837);
-assertToStringEquals("abc", res[1304].exec("xyzabc\x0d\npqr<crlf> "), 3838);
-assertNull(res[1304].exec("** Failers", 3839));
-assertToStringEquals("abc", res[1304].exec("xyzabc\x0d "), 3840);
-assertToStringEquals("abc", res[1304].exec("xyzabc\x0dpqr "), 3841);
-assertToStringEquals("abc", res[1304].exec("xyzabc\x0d\n "), 3842);
-assertToStringEquals("abc", res[1304].exec("xyzabc\x0d\npqr "), 3843);
-assertToStringEquals("abc", res[1305].exec("xyz\x0dabcdef"), 3844);
-assertToStringEquals("abc", res[1305].exec("xyz\nabcdef<lf>"), 3845);
-assertNull(res[1305].exec("** Failers ", 3846));
-assertToStringEquals("abc", res[1305].exec("xyz\nabcdef"), 3847);
-assertNull(res[1305].exec(" ", 3848));
-assertToStringEquals("abc", res[1306].exec("xyz\nabcdef"), 3849);
-assertToStringEquals("abc", res[1306].exec("xyz\x0dabcdef<cr>"), 3850);
-assertNull(res[1306].exec("** Failers ", 3851));
-assertToStringEquals("abc", res[1306].exec("xyz\x0dabcdef"), 3852);
-assertNull(res[1306].exec(" ", 3853));
-assertToStringEquals("abc", res[1307].exec("xyz\x0d\nabcdef"), 3854);
-assertToStringEquals("abc", res[1307].exec("xyz\x0dabcdef<cr>"), 3855);
-assertNull(res[1307].exec("** Failers ", 3856));
-assertToStringEquals("abc", res[1307].exec("xyz\x0dabcdef"), 3857);
-assertToStringEquals("abc", res[1308].exec("abc\ndef"), 3858);
-assertToStringEquals("abc", res[1308].exec("abc\x0ddef"), 3859);
-assertToStringEquals("abc", res[1308].exec("abc\x0d\ndef"), 3860);
-assertToStringEquals("<cr>abc", res[1308].exec("<cr>abc\ndef"), 3861);
-assertToStringEquals("<cr>abc", res[1308].exec("<cr>abc\x0ddef"), 3862);
-assertToStringEquals("<cr>abc", res[1308].exec("<cr>abc\x0d\ndef"), 3863);
-assertToStringEquals("<crlf>abc", res[1308].exec("<crlf>abc\ndef"), 3864);
-assertToStringEquals("<crlf>abc", res[1308].exec("<crlf>abc\x0ddef"), 3865);
-assertToStringEquals("<crlf>abc", res[1308].exec("<crlf>abc\x0d\ndef"), 3866);
-assertNull(res[1309].exec("abc\ndef", 3867));
-assertNull(res[1309].exec("abc\x0ddef", 3868));
-assertNull(res[1309].exec("abc\x0d\ndef", 3869));
-assertToStringEquals("abc=xyz\\,", res[1310].exec("abc=xyz\\\npqr"), 3870);
-assertToStringEquals("aaaa,a,", res[1311].exec("aaaa"), 3871);
-assertToStringEquals("aaaa", res[1312].exec("aaaa"), 3872);
-assertToStringEquals("aaaa,a,", res[1313].exec("aaaa"), 3873);
-assertToStringEquals("aaaa", res[1314].exec("aaaa"), 3874);
-assertNull(res[1317].exec("a\x0db", 3875));
-assertNull(res[1317].exec("a\nb<cr> ", 3876));
-assertNull(res[1317].exec("** Failers", 3877));
-assertNull(res[1317].exec("a\nb", 3878));
-assertNull(res[1317].exec("a\nb<any>", 3879));
-assertNull(res[1317].exec("a\x0db<cr> ", 3880));
-assertNull(res[1317].exec("a\x0db<any> ", 3881));
-assertToStringEquals("abc1", res[1318].exec("abc1 \nabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\nabc6 \x85abc7 JUNK"), 3882);
-assertToStringEquals("abc1", res[1319].exec("abc1\n abc2\x0b abc3\x0c abc4\x0d abc5\x0d\n abc6\x85 abc9"), 3883);
-assertNull(res[1320].exec("a\nb", 3884));
-assertNull(res[1320].exec("a\x0db", 3885));
-assertNull(res[1320].exec("a\x0d\nb", 3886));
-assertNull(res[1320].exec("a\x0bb", 3887));
-assertNull(res[1320].exec("a\x0cb", 3888));
-assertNull(res[1320].exec("a\x85b ", 3889));
-assertNull(res[1320].exec("** Failers", 3890));
-assertNull(res[1320].exec("a\n\x0db ", 3891));
-assertToStringEquals("ab", res[1321].exec("ab"), 3892);
-assertNull(res[1321].exec("a\nb", 3893));
-assertNull(res[1321].exec("a\x0db", 3894));
-assertNull(res[1321].exec("a\x0d\nb", 3895));
-assertNull(res[1321].exec("a\x0bb", 3896));
-assertNull(res[1321].exec("a\x0cb", 3897));
-assertNull(res[1321].exec("a\x85b ", 3898));
-assertNull(res[1321].exec("a\n\x0db ", 3899));
-assertNull(res[1321].exec("a\n\x0d\x85\x0cb ", 3900));
-assertNull(res[1322].exec("a\nb", 3901));
-assertNull(res[1322].exec("a\x0db", 3902));
-assertNull(res[1322].exec("a\x0d\nb", 3903));
-assertNull(res[1322].exec("a\x0bb", 3904));
-assertNull(res[1322].exec("a\x0cb", 3905));
-assertNull(res[1322].exec("a\x85b ", 3906));
-assertNull(res[1322].exec("a\n\x0db ", 3907));
-assertNull(res[1322].exec("a\n\x0d\x85\x0cb ", 3908));
-assertNull(res[1322].exec("** Failers", 3909));
-assertNull(res[1322].exec("ab ", 3910));
-assertNull(res[1323].exec("a\nb", 3911));
-assertNull(res[1323].exec("a\n\x0db", 3912));
-assertNull(res[1323].exec("a\n\x0d\x85b", 3913));
-assertNull(res[1323].exec("a\x0d\n\x0d\nb ", 3914));
-assertNull(res[1323].exec("a\x0d\n\x0d\n\x0d\nb ", 3915));
-assertNull(res[1323].exec("a\n\x0d\n\x0db", 3916));
-assertNull(res[1323].exec("a\n\n\x0d\nb ", 3917));
-assertNull(res[1323].exec("** Failers", 3918));
-assertNull(res[1323].exec("a\n\n\n\x0db", 3919));
-assertNull(res[1323].exec("a\x0d", 3920));
-assertToStringEquals("aRb", res[1324].exec("aRb"), 3921);
-assertNull(res[1324].exec("** Failers", 3922));
-assertNull(res[1324].exec("a\nb ", 3923));
-assertToStringEquals("afoo", res[1325].exec("afoo"), 3924);
-assertNull(res[1325].exec("** Failers ", 3925));
-assertNull(res[1325].exec("\x0d\nfoo ", 3926));
-assertNull(res[1325].exec("\nfoo ", 3927));
-assertToStringEquals("afoo", res[1326].exec("afoo"), 3928);
-assertNull(res[1326].exec("\nfoo ", 3929));
-assertNull(res[1326].exec("** Failers ", 3930));
-assertNull(res[1326].exec("\x0d\nfoo ", 3931));
-assertToStringEquals("afoo", res[1327].exec("afoo"), 3932);
-assertNull(res[1327].exec("** Failers ", 3933));
-assertNull(res[1327].exec("\nfoo ", 3934));
-assertNull(res[1327].exec("\x0d\nfoo ", 3935));
-assertToStringEquals("afoo", res[1328].exec("afoo"), 3936);
-assertNull(res[1328].exec("\x0d\nfoo ", 3937));
-assertNull(res[1328].exec("\nfoo ", 3938));
-assertToStringEquals("", res[1329].exec("abc\x0d\x0dxyz"), 3939);
-assertToStringEquals("", res[1329].exec("abc\n\x0dxyz "), 3940);
-assertNull(res[1329].exec("** Failers ", 3941));
-assertToStringEquals("", res[1329].exec("abc\x0d\nxyz"), 3942);
-assertToStringEquals("X", res[1330].exec("XABC"), 3943);
-assertNull(res[1330].exec("** Failers ", 3944));
-assertToStringEquals("X", res[1330].exec("XABCB"), 3945);
-assertNull(res[1330].exec("abc\x0d\n\x0d\n", 3946));
-assertNull(res[1330].exec("abc\x0d\n\x0d\n", 3947));
-assertNull(res[1330].exec("abc\x0d\n\x0d\n", 3948));
-assertThrows("var re = /(?|(abc)|(xyz))/;", 3949);
-assertThrows("var re = /(x)(?|(abc)|(xyz))(x)/;", 3950);
-assertNull(res[1330].exec("xabcx", 3951));
-assertNull(res[1330].exec("xxyzx ", 3952));
-assertThrows("var re = /(x)(?|(abc)(pqr)|(xyz))(x)/;", 3953);
-assertNull(res[1330].exec("xabcpqrx", 3954));
-assertNull(res[1330].exec("xxyzx ", 3955));
-assertNull(res[1330].exec("abcabc", 3956));
-assertNull(res[1330].exec("xyzabc ", 3957));
-assertNull(res[1330].exec("** Failers ", 3958));
-assertNull(res[1330].exec("xyzxyz ", 3959));
-assertNull(res[1331].exec("X X\n", 3960));
-assertNull(res[1331].exec("X\x09X\x0b", 3961));
-assertNull(res[1331].exec("** Failers", 3962));
-assertNull(res[1331].exec("\xa0 X\n ", 3963));
-assertNull(res[1332].exec("\x09 \xa0X\n\x0b\x0c\x0d\n", 3964));
-assertNull(res[1332].exec("\x09 \xa0\n\x0b\x0c\x0d\n", 3965));
-assertNull(res[1332].exec("\x09 \xa0\n\x0b\x0c", 3966));
-assertNull(res[1332].exec("** Failers ", 3967));
-assertNull(res[1332].exec("\x09 \xa0\n\x0b", 3968));
-assertNull(res[1332].exec(" ", 3969));
-assertNull(res[1333].exec("XY ABCDE", 3970));
-assertNull(res[1333].exec("XY PQR ST ", 3971));
-assertNull(res[1334].exec("XY AB PQRS", 3972));
-assertNull(res[1335].exec(">XNNNYZ", 3973));
-assertNull(res[1335].exec("> X NYQZ", 3974));
-assertNull(res[1335].exec("** Failers", 3975));
-assertNull(res[1335].exec(">XYZ ", 3976));
-assertNull(res[1335].exec("> X NY Z", 3977));
-assertNull(res[1336].exec(">XY\nZ\nA\x0bNN\x0c", 3978));
-assertNull(res[1336].exec(">\n\x0dX\nY\n\x0bZZZ\nAAA\x0bNNN\x0c", 3979));
-assertNull(res[1337].exec("\x0d\nA", 3980));
-assertToStringEquals("\nA", res[1338].exec("\x0d\nA "), 3981);
-assertToStringEquals("\nA", res[1339].exec("\x0d\nA "), 3982);
-assertToStringEquals("\nA,\n", res[1340].exec("\x0d\nA "), 3983);
-assertNull(res[1341].exec("a\x0db", 3984));
-assertNull(res[1341].exec("a\nb", 3985));
-assertNull(res[1341].exec("a\x0d\nb", 3986));
-assertNull(res[1341].exec("** Failers", 3987));
-assertNull(res[1341].exec("a\x85b", 3988));
-assertNull(res[1341].exec("a\x0bb ", 3989));
-assertNull(res[1342].exec("a\x0db", 3990));
-assertNull(res[1342].exec("a\nb", 3991));
-assertNull(res[1342].exec("a\x0d\nb", 3992));
-assertNull(res[1342].exec("a\x85b", 3993));
-assertNull(res[1342].exec("a\x0bb ", 3994));
-assertNull(res[1342].exec("** Failers ", 3995));
-assertNull(res[1342].exec("a\x85b<bsr_anycrlf>", 3996));
-assertNull(res[1342].exec("a\x0bb<bsr_anycrlf>", 3997));
-assertNull(res[1343].exec("a\x0db", 3998));
-assertNull(res[1343].exec("a\nb", 3999));
-assertNull(res[1343].exec("a\x0d\nb", 4000));
-assertNull(res[1343].exec("** Failers", 4001));
-assertNull(res[1343].exec("a\x85b", 4002));
-assertNull(res[1343].exec("a\x0bb ", 4003));
-assertNull(res[1344].exec("a\x0db", 4004));
-assertNull(res[1344].exec("a\nb", 4005));
-assertNull(res[1344].exec("a\x0d\nb", 4006));
-assertNull(res[1344].exec("a\x85b", 4007));
-assertNull(res[1344].exec("a\x0bb ", 4008));
-assertNull(res[1344].exec("** Failers ", 4009));
-assertNull(res[1344].exec("a\x85b<bsr_anycrlf>", 4010));
-assertNull(res[1344].exec("a\x0bb<bsr_anycrlf>", 4011));
-assertNull(res[1345].exec("a\x0d\n\nb", 4012));
-assertNull(res[1345].exec("a\n\x0d\x0db", 4013));
-assertNull(res[1345].exec("a\x0d\n\x0d\n\x0d\n\x0d\nb", 4014));
-assertNull(res[1345].exec("** Failers", 4015));
-assertNull(res[1345].exec("a\x8585b", 4016));
-assertNull(res[1345].exec("a\x0b\x00bb ", 4017));
-assertNull(res[1346].exec("a\x0d\x0db", 4018));
-assertNull(res[1346].exec("a\n\n\nb", 4019));
-assertNull(res[1346].exec("a\x0d\n\n\x0d\x0db", 4020));
-assertNull(res[1346].exec("a\x8585b", 4021));
-assertNull(res[1346].exec("a\x0b\x00bb ", 4022));
-assertNull(res[1346].exec("** Failers ", 4023));
-assertNull(res[1346].exec("a\x0d\x0d\x0d\x0d\x0db ", 4024));
-assertNull(res[1346].exec("a\x8585b<bsr_anycrlf>", 4025));
-assertNull(res[1346].exec("a\x0b\x00bb<bsr_anycrlf>", 4026));
-assertToStringEquals("abc", res[1347].exec("abc "), 4027);
-assertNull(res[1348].exec("** Failers", 4028));
-assertNull(res[1348].exec("ab", 4029));
-assertNull(res[1349].exec("** Failers", 4030));
-assertNull(res[1349].exec("ab ", 4031));
-assertNull(res[1349].exec("** Failers", 4032));
-assertNull(res[1349].exec("ab ", 4033));
-assertToStringEquals("aXb", res[1350].exec("aXb"), 4034);
-assertToStringEquals("a\nb", res[1350].exec("a\nb "), 4035);
-assertNull(res[1350].exec("** Failers", 4036));
-assertNull(res[1350].exec("ab ", 4037));
-assertToStringEquals("aXb", res[1351].exec("aXb"), 4038);
-assertToStringEquals("a\nX\nXb", res[1351].exec("a\nX\nXb "), 4039);
-assertNull(res[1351].exec("** Failers", 4040));
-assertNull(res[1351].exec("ab ", 4041));
-assertNull(res[1352].exec("ab", 4042));
-assertNull(res[1352].exec("ax{100}b ", 4043));
-assertNull(res[1352].exec("ax{100}x{100}b ", 4044));
-assertNull(res[1352].exec("ax{100}b ", 4045));
-assertNull(res[1352].exec("ax{100}x{100}b ", 4046));
-assertNull(res[1352].exec("*** Failers ", 4047));
-assertNull(res[1352].exec("ab", 4048));
-assertNull(res[1352].exec(" ", 4049));
-assertToStringEquals("X", res[1353].exec("Xoanon"), 4050);
-assertToStringEquals("X", res[1353].exec("+Xoanon"), 4051);
-assertToStringEquals("X", res[1353].exec("x{300}Xoanon "), 4052);
-assertNull(res[1353].exec("*** Failers ", 4053));
-assertNull(res[1353].exec("YXoanon ", 4054));
-assertToStringEquals("X", res[1354].exec("YXoanon"), 4055);
-assertNull(res[1354].exec("*** Failers", 4056));
-assertNull(res[1354].exec("Xoanon", 4057));
-assertNull(res[1354].exec("+Xoanon ", 4058));
-assertNull(res[1354].exec("x{300}Xoanon ", 4059));
-assertToStringEquals("X", res[1355].exec("X+oanon"), 4060);
-assertNull(res[1355].exec("ZXx{300}oanon ", 4061));
-assertToStringEquals("X", res[1355].exec("FAX "), 4062);
-assertNull(res[1355].exec("*** Failers ", 4063));
-assertNull(res[1355].exec("Xoanon ", 4064));
-assertToStringEquals("X", res[1356].exec("Xoanon "), 4065);
-assertNull(res[1356].exec("*** Failers", 4066));
-assertNull(res[1356].exec("X+oanon", 4067));
-assertToStringEquals("X", res[1356].exec("ZXx{300}oanon "), 4068);
-assertNull(res[1356].exec("FAX ", 4069));
-assertToStringEquals("b", res[1357].exec("abcd"), 4070);
-assertToStringEquals("x", res[1357].exec("ax{100} "), 4071);
-assertToStringEquals("b", res[1357].exec("ab99"), 4072);
-assertToStringEquals("x", res[1357].exec("x{123}x{123}45"), 4073);
-assertToStringEquals("x", res[1357].exec("x{400}x{401}x{402}6 "), 4074);
-assertToStringEquals("*", res[1357].exec("*** Failers"), 4075);
-assertToStringEquals("d", res[1357].exec("d99"), 4076);
-assertToStringEquals("x", res[1357].exec("x{123}x{122}4 "), 4077);
-assertToStringEquals("x", res[1357].exec("x{400}x{403}6 "), 4078);
-assertToStringEquals("x", res[1357].exec("x{400}x{401}x{402}x{402}6 "), 4079);
-assertNull(res[1358].exec("\ufffd]", 4080));
-assertNull(res[1358].exec("\ufffd", 4081));
-assertNull(res[1358].exec("\ufffd\ufffd\ufffd", 4082));
-assertNull(res[1358].exec("\ufffd\ufffd\ufffd?", 4083));
-assertToStringEquals("acb", res[1359].exec("acb"), 4084);
-assertToStringEquals("ab", res[1359].exec("ab"), 4085);
-assertNull(res[1359].exec("ax{100}b ", 4086));
-assertNull(res[1359].exec("*** Failers", 4087));
-assertNull(res[1359].exec("a\nb ", 4088));
-assertNull(res[1360].exec("ax{4000}xyb ", 4089));
-assertNull(res[1360].exec("ax{4000}yb ", 4090));
-assertNull(res[1360].exec("ax{4000}x{100}yb ", 4091));
-assertNull(res[1360].exec("*** Failers", 4092));
-assertNull(res[1360].exec("ax{4000}b ", 4093));
-assertNull(res[1360].exec("ac\ncb ", 4094));
-assertToStringEquals("a\xc0,,\xc0", res[1361].exec("a\xc0\x88b"), 4095);
-assertToStringEquals("ax,,x", res[1362].exec("ax{100}b"), 4096);
-assertToStringEquals("a\xc0\x88b,\xc0\x88,b", res[1363].exec("a\xc0\x88b"), 4097);
-assertToStringEquals("ax{100}b,x{100},b", res[1364].exec("ax{100}b"), 4098);
-assertToStringEquals("a\xc0\x92,\xc0,\x92", res[1365].exec("a\xc0\x92bcd"), 4099);
-assertToStringEquals("ax{,x,{", res[1366].exec("ax{240}bcd"), 4100);
-assertToStringEquals("a\xc0\x92,\xc0,\x92", res[1367].exec("a\xc0\x92bcd"), 4101);
-assertToStringEquals("ax{,x,{", res[1368].exec("ax{240}bcd"), 4102);
-assertToStringEquals("a\xc0,,\xc0", res[1369].exec("a\xc0\x92bcd"), 4103);
-assertToStringEquals("ax,,x", res[1370].exec("ax{240}bcd"), 4104);
-assertNull(res[1371].exec("ax{1234}xyb ", 4105));
-assertNull(res[1371].exec("ax{1234}x{4321}yb ", 4106));
-assertNull(res[1371].exec("ax{1234}x{4321}x{3412}b ", 4107));
-assertNull(res[1371].exec("*** Failers", 4108));
-assertNull(res[1371].exec("ax{1234}b ", 4109));
-assertNull(res[1371].exec("ac\ncb ", 4110));
-assertToStringEquals("ax{1234}xyb,x{1234}xy", res[1372].exec("ax{1234}xyb "), 4111);
-assertToStringEquals("ax{1234}x{4321}yb,x{1234}x{4321}y", res[1372].exec("ax{1234}x{4321}yb "), 4112);
-assertToStringEquals("ax{1234}x{4321}x{3412}b,x{1234}x{4321}x{3412}", res[1372].exec("ax{1234}x{4321}x{3412}b "), 4113);
-assertToStringEquals("axxxxbcdefghijb,xxxxbcdefghij", res[1372].exec("axxxxbcdefghijb "), 4114);
-assertToStringEquals("ax{1234}x{4321}x{3412}x{3421}b,x{1234}x{4321}x{3412}x{3421}", res[1372].exec("ax{1234}x{4321}x{3412}x{3421}b "), 4115);
-assertNull(res[1372].exec("*** Failers", 4116));
-assertToStringEquals("ax{1234}b,x{1234}", res[1372].exec("ax{1234}b "), 4117);
-assertToStringEquals("ax{1234}xyb,x{1234}xy", res[1373].exec("ax{1234}xyb "), 4118);
-assertToStringEquals("ax{1234}x{4321}yb,x{1234}x{4321}y", res[1373].exec("ax{1234}x{4321}yb "), 4119);
-assertToStringEquals("ax{1234}x{4321}x{3412}b,x{1234}x{4321}x{3412}", res[1373].exec("ax{1234}x{4321}x{3412}b "), 4120);
-assertToStringEquals("axxxxb,xxxx", res[1373].exec("axxxxbcdefghijb "), 4121);
-assertToStringEquals("ax{1234}x{4321}x{3412}x{3421}b,x{1234}x{4321}x{3412}x{3421}", res[1373].exec("ax{1234}x{4321}x{3412}x{3421}b "), 4122);
-assertNull(res[1373].exec("*** Failers", 4123));
-assertToStringEquals("ax{1234}b,x{1234}", res[1373].exec("ax{1234}b "), 4124);
-assertNull(res[1374].exec("ax{1234}xyb ", 4125));
-assertNull(res[1374].exec("ax{1234}x{4321}yb ", 4126));
-assertNull(res[1374].exec("ax{1234}x{4321}x{3412}b ", 4127));
-assertToStringEquals("axxxxb,xxxx", res[1374].exec("axxxxbcdefghijb "), 4128);
-assertNull(res[1374].exec("ax{1234}x{4321}x{3412}x{3421}b ", 4129));
-assertToStringEquals("axbxxb,xbxx", res[1374].exec("axbxxbcdefghijb "), 4130);
-assertToStringEquals("axxxxxb,xxxxx", res[1374].exec("axxxxxbcdefghijb "), 4131);
-assertNull(res[1374].exec("*** Failers", 4132));
-assertNull(res[1374].exec("ax{1234}b ", 4133));
-assertNull(res[1374].exec("axxxxxxbcdefghijb ", 4134));
-assertNull(res[1375].exec("ax{1234}xyb ", 4135));
-assertNull(res[1375].exec("ax{1234}x{4321}yb ", 4136));
-assertNull(res[1375].exec("ax{1234}x{4321}x{3412}b ", 4137));
-assertToStringEquals("axxxxb,xxxx", res[1375].exec("axxxxbcdefghijb "), 4138);
-assertNull(res[1375].exec("ax{1234}x{4321}x{3412}x{3421}b ", 4139));
-assertToStringEquals("axbxxb,xbxx", res[1375].exec("axbxxbcdefghijb "), 4140);
-assertToStringEquals("axxxxxb,xxxxx", res[1375].exec("axxxxxbcdefghijb "), 4141);
-assertNull(res[1375].exec("*** Failers", 4142));
-assertNull(res[1375].exec("ax{1234}b ", 4143));
-assertNull(res[1375].exec("axxxxxxbcdefghijb ", 4144));
-assertNull(res[1375].exec("*** Failers", 4145));
-assertNull(res[1375].exec("x{100}", 4146));
-assertNull(res[1375].exec("aXbcd", 4147));
-assertNull(res[1375].exec("ax{100}bcd", 4148));
-assertNull(res[1375].exec("ax{100000}bcd", 4149));
-assertNull(res[1375].exec("x{100}x{100}x{100}b", 4150));
-assertNull(res[1375].exec("*** Failers ", 4151));
-assertNull(res[1375].exec("x{100}x{100}b", 4152));
-assertNull(res[1375].exec("x{ab} ", 4153));
-assertNull(res[1375].exec("\xc2\xab", 4154));
-assertNull(res[1375].exec("*** Failers ", 4155));
-assertNull(res[1375].exec("\x00{ab}", 4156));
-assertNull(res[1375].exec("WXYZ", 4157));
-assertNull(res[1375].exec("x{256}XYZ ", 4158));
-assertNull(res[1375].exec("*** Failers", 4159));
-assertNull(res[1375].exec("XYZ ", 4160));
-assertToStringEquals("bcd", res[1376].exec("bcd"), 4161);
-assertToStringEquals("00}", res[1376].exec("x{100}aYx{256}Z "), 4162);
-assertToStringEquals("x{", res[1377].exec("x{100}bc"), 4163);
-assertToStringEquals("x{100}bcA", res[1378].exec("x{100}bcAa"), 4164);
-assertToStringEquals("x{", res[1379].exec("x{100}bca"), 4165);
-assertToStringEquals("bcd", res[1380].exec("bcd"), 4166);
-assertToStringEquals("00}", res[1380].exec("x{100}aYx{256}Z "), 4167);
-assertToStringEquals("x{", res[1381].exec("x{100}bc"), 4168);
-assertToStringEquals("x{100}bc", res[1382].exec("x{100}bcAa"), 4169);
-assertToStringEquals("x{", res[1383].exec("x{100}bca"), 4170);
-assertNull(res[1383].exec("abcd", 4171));
-assertNull(res[1383].exec("abcd", 4172));
-assertToStringEquals("x{", res[1383].exec("x{100}x{100} "), 4173);
-assertToStringEquals("x{", res[1383].exec("x{100}x{100} "), 4174);
-assertToStringEquals("x{", res[1383].exec("x{100}x{100}x{100}x{100} "), 4175);
-assertNull(res[1383].exec("abce", 4176));
-assertToStringEquals("x{", res[1383].exec("x{100}x{100}x{100}x{100} "), 4177);
-assertNull(res[1383].exec("abcdx{100}x{100}x{100}x{100} ", 4178));
-assertNull(res[1383].exec("abcdx{100}x{100}x{100}x{100} ", 4179));
-assertNull(res[1383].exec("abcdx{100}x{100}x{100}x{100} ", 4180));
-assertNull(res[1383].exec("abcdx{100}x{100}x{100}XX", 4181));
-assertNull(res[1383].exec("abcdx{100}x{100}x{100}x{100}x{100}x{100}x{100}XX", 4182));
-assertNull(res[1383].exec("abcdx{100}x{100}x{100}x{100}x{100}x{100}x{100}XX", 4183));
-assertToStringEquals("Xy", res[1383].exec("Xyyyax{100}x{100}bXzzz"), 4184);
-assertToStringEquals("X", res[1386].exec("1X2"), 4185);
-assertToStringEquals("x", res[1386].exec("1x{100}2 "), 4186);
-assertToStringEquals(">X", res[1387].exec("> >X Y"), 4187);
-assertToStringEquals(">x", res[1387].exec("> >x{100} Y"), 4188);
-assertToStringEquals("1", res[1388].exec("x{100}3"), 4189);
-assertToStringEquals(" ", res[1389].exec("x{100} X"), 4190);
-assertToStringEquals("abcd", res[1390].exec("12abcd34"), 4191);
-assertToStringEquals("*** Failers", res[1390].exec("*** Failers"), 4192);
-assertToStringEquals(" ", res[1390].exec("1234 "), 4193);
-assertToStringEquals("abc", res[1391].exec("12abcd34"), 4194);
-assertToStringEquals("ab", res[1391].exec("12ab34"), 4195);
-assertToStringEquals("***", res[1391].exec("*** Failers "), 4196);
-assertNull(res[1391].exec("1234", 4197));
-assertToStringEquals(" ", res[1391].exec("12a34 "), 4198);
-assertToStringEquals("ab", res[1392].exec("12abcd34"), 4199);
-assertToStringEquals("ab", res[1392].exec("12ab34"), 4200);
-assertToStringEquals("**", res[1392].exec("*** Failers "), 4201);
-assertNull(res[1392].exec("1234", 4202));
-assertToStringEquals(" ", res[1392].exec("12a34 "), 4203);
-assertToStringEquals("12", res[1393].exec("12abcd34"), 4204);
-assertNull(res[1393].exec("*** Failers", 4205));
-assertToStringEquals("12", res[1394].exec("12abcd34"), 4206);
-assertToStringEquals("123", res[1394].exec("1234abcd"), 4207);
-assertNull(res[1394].exec("*** Failers ", 4208));
-assertNull(res[1394].exec("1.4 ", 4209));
-assertToStringEquals("12", res[1395].exec("12abcd34"), 4210);
-assertToStringEquals("12", res[1395].exec("1234abcd"), 4211);
-assertNull(res[1395].exec("*** Failers ", 4212));
-assertNull(res[1395].exec("1.4 ", 4213));
-assertToStringEquals("12abcd34", res[1396].exec("12abcd34"), 4214);
-assertToStringEquals("***", res[1396].exec("*** Failers"), 4215);
-assertNull(res[1396].exec(" ", 4216));
-assertToStringEquals("12a", res[1397].exec("12abcd34"), 4217);
-assertToStringEquals("123", res[1397].exec("1234abcd"), 4218);
-assertToStringEquals("***", res[1397].exec("*** Failers"), 4219);
-assertNull(res[1397].exec(" ", 4220));
-assertToStringEquals("12", res[1398].exec("12abcd34"), 4221);
-assertToStringEquals("12", res[1398].exec("1234abcd"), 4222);
-assertToStringEquals("**", res[1398].exec("*** Failers"), 4223);
-assertNull(res[1398].exec(" ", 4224));
-assertToStringEquals("> <", res[1399].exec("12> <34"), 4225);
-assertNull(res[1399].exec("*** Failers", 4226));
-assertToStringEquals("> <", res[1400].exec("ab> <cd"), 4227);
-assertToStringEquals("> <", res[1400].exec("ab> <ce"), 4228);
-assertNull(res[1400].exec("*** Failers", 4229));
-assertNull(res[1400].exec("ab> <cd ", 4230));
-assertToStringEquals("> <", res[1401].exec("ab> <cd"), 4231);
-assertToStringEquals("> <", res[1401].exec("ab> <ce"), 4232);
-assertNull(res[1401].exec("*** Failers", 4233));
-assertNull(res[1401].exec("ab> <cd ", 4234));
-assertToStringEquals("12", res[1402].exec("12 34"), 4235);
-assertToStringEquals("Failers", res[1402].exec("*** Failers"), 4236);
-assertNull(res[1402].exec("+++=*! ", 4237));
-assertToStringEquals("ab", res[1403].exec("ab cd"), 4238);
-assertToStringEquals("abc", res[1403].exec("abcd ce"), 4239);
-assertToStringEquals("Fai", res[1403].exec("*** Failers"), 4240);
-assertNull(res[1403].exec("a.b.c", 4241));
-assertToStringEquals("ab", res[1404].exec("ab cd"), 4242);
-assertToStringEquals("ab", res[1404].exec("abcd ce"), 4243);
-assertToStringEquals("Fa", res[1404].exec("*** Failers"), 4244);
-assertNull(res[1404].exec("a.b.c", 4245));
-assertToStringEquals("====", res[1405].exec("12====34"), 4246);
-assertToStringEquals("*** ", res[1405].exec("*** Failers"), 4247);
-assertToStringEquals(" ", res[1405].exec("abcd "), 4248);
-assertToStringEquals("===", res[1406].exec("ab====cd"), 4249);
-assertToStringEquals("==", res[1406].exec("ab==cd"), 4250);
-assertToStringEquals("***", res[1406].exec("*** Failers"), 4251);
-assertNull(res[1406].exec("a.b.c", 4252));
-assertToStringEquals("==", res[1407].exec("ab====cd"), 4253);
-assertToStringEquals("==", res[1407].exec("ab==cd"), 4254);
-assertToStringEquals("**", res[1407].exec("*** Failers"), 4255);
-assertNull(res[1407].exec("a.b.c", 4256));
-assertNull(res[1407].exec("x{100}", 4257));
-assertNull(res[1407].exec("Zx{100}", 4258));
-assertNull(res[1407].exec("x{100}Z", 4259));
-assertToStringEquals("**", res[1407].exec("*** Failers "), 4260);
-assertNull(res[1407].exec("Zx{100}", 4261));
-assertNull(res[1407].exec("x{100}", 4262));
-assertNull(res[1407].exec("x{100}Z", 4263));
-assertToStringEquals("**", res[1407].exec("*** Failers "), 4264);
-assertNull(res[1407].exec("abcx{200}X", 4265));
-assertNull(res[1407].exec("abcx{100}X ", 4266));
-assertToStringEquals("**", res[1407].exec("*** Failers"), 4267);
-assertToStringEquals(" ", res[1407].exec("X "), 4268);
-assertNull(res[1407].exec("abcx{200}X", 4269));
-assertNull(res[1407].exec("abcx{100}X ", 4270));
-assertNull(res[1407].exec("abQX ", 4271));
-assertToStringEquals("**", res[1407].exec("*** Failers"), 4272);
-assertToStringEquals(" ", res[1407].exec("X "), 4273);
-assertNull(res[1407].exec("abcx{100}x{200}x{100}X", 4274));
-assertToStringEquals("**", res[1407].exec("*** Failers"), 4275);
-assertNull(res[1407].exec("abcx{200}X", 4276));
-assertToStringEquals(" ", res[1407].exec("X "), 4277);
-assertNull(res[1407].exec("AX", 4278));
-assertNull(res[1407].exec("x{150}X", 4279));
-assertNull(res[1407].exec("x{500}X ", 4280));
-assertToStringEquals("**", res[1407].exec("*** Failers"), 4281);
-assertNull(res[1407].exec("x{100}X", 4282));
-assertToStringEquals(" ", res[1407].exec("x{200}X "), 4283);
-assertNull(res[1407].exec("AX", 4284));
-assertNull(res[1407].exec("x{150}X", 4285));
-assertNull(res[1407].exec("x{500}X ", 4286));
-assertToStringEquals("**", res[1407].exec("*** Failers"), 4287);
-assertNull(res[1407].exec("x{100}X", 4288));
-assertToStringEquals(" ", res[1407].exec("x{200}X "), 4289);
-assertNull(res[1407].exec("QX ", 4290));
-assertNull(res[1407].exec("AX", 4291));
-assertNull(res[1407].exec("x{500}X ", 4292));
-assertToStringEquals("**", res[1407].exec("*** Failers"), 4293);
-assertNull(res[1407].exec("x{100}X", 4294));
-assertNull(res[1407].exec("x{150}X", 4295));
-assertToStringEquals(" ", res[1407].exec("x{200}X "), 4296);
-assertNull(res[1407].exec("z", 4297));
-assertNull(res[1407].exec("Z ", 4298));
-assertNull(res[1407].exec("x{100}", 4299));
-assertToStringEquals("**", res[1407].exec("*** Failers"), 4300);
-assertNull(res[1407].exec("x{102}", 4301));
-assertToStringEquals(" ", res[1407].exec("y "), 4302);
-assertToStringEquals("\xff", res[1408].exec(">\xff<"), 4303);
-assertNull(res[1409].exec(">x{ff}<", 4304));
-assertToStringEquals("X", res[1410].exec("XYZ"), 4305);
-assertToStringEquals("X", res[1411].exec("XYZ"), 4306);
-assertToStringEquals("x", res[1411].exec("x{123} "), 4307);
-assertToStringEquals(",", res[1416].exec("catac"), 4308);
-assertToStringEquals(",", res[1416].exec("ax{256}a "), 4309);
-assertToStringEquals(",", res[1416].exec("x{85}"), 4310);
-assertToStringEquals("abc1", res[1417].exec("abc1 \nabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\nabc6 x{0085}abc7 x{2028}abc8 x{2029}abc9 JUNK"), 4311);
-assertToStringEquals("abc1", res[1418].exec("abc1\n abc2\x0b abc3\x0c abc4\x0d abc5\x0d\n abc6x{0085} abc7x{2028} abc8x{2029} abc9"), 4312);
-assertNull(res[1419].exec("a\nb", 4313));
-assertNull(res[1419].exec("a\x0db", 4314));
-assertNull(res[1419].exec("a\x0d\nb", 4315));
-assertNull(res[1419].exec("a\x0bb", 4316));
-assertNull(res[1419].exec("a\x0cb", 4317));
-assertNull(res[1419].exec("ax{85}b ", 4318));
-assertNull(res[1419].exec("ax{2028}b ", 4319));
-assertNull(res[1419].exec("ax{2029}b ", 4320));
-assertNull(res[1419].exec("** Failers", 4321));
-assertNull(res[1419].exec("a\n\x0db ", 4322));
-assertToStringEquals("ab", res[1420].exec("ab"), 4323);
-assertNull(res[1420].exec("a\nb", 4324));
-assertNull(res[1420].exec("a\x0db", 4325));
-assertNull(res[1420].exec("a\x0d\nb", 4326));
-assertNull(res[1420].exec("a\x0bb", 4327));
-assertNull(res[1420].exec("a\x0cx{2028}x{2029}b", 4328));
-assertNull(res[1420].exec("ax{85}b ", 4329));
-assertNull(res[1420].exec("a\n\x0db ", 4330));
-assertNull(res[1420].exec("a\n\x0dx{85}\x0cb ", 4331));
-assertNull(res[1421].exec("a\nb", 4332));
-assertNull(res[1421].exec("a\x0db", 4333));
-assertNull(res[1421].exec("a\x0d\nb", 4334));
-assertNull(res[1421].exec("a\x0bb", 4335));
-assertNull(res[1421].exec("a\x0cx{2028}x{2029}b", 4336));
-assertNull(res[1421].exec("ax{85}b ", 4337));
-assertNull(res[1421].exec("a\n\x0db ", 4338));
-assertNull(res[1421].exec("a\n\x0dx{85}\x0cb ", 4339));
-assertNull(res[1421].exec("** Failers", 4340));
-assertNull(res[1421].exec("ab ", 4341));
-assertNull(res[1422].exec("a\nb", 4342));
-assertNull(res[1422].exec("a\n\x0db", 4343));
-assertNull(res[1422].exec("a\n\x0dx{85}b", 4344));
-assertNull(res[1422].exec("a\x0d\n\x0d\nb ", 4345));
-assertNull(res[1422].exec("a\x0d\n\x0d\n\x0d\nb ", 4346));
-assertNull(res[1422].exec("a\n\x0d\n\x0db", 4347));
-assertNull(res[1422].exec("a\n\n\x0d\nb ", 4348));
-assertNull(res[1422].exec("** Failers", 4349));
-assertNull(res[1422].exec("a\n\n\n\x0db", 4350));
-assertNull(res[1422].exec("a\x0d", 4351));
-assertNull(res[1423].exec("\x09 x{a0}X\n\x0b\x0c\x0d\n", 4352));
-assertNull(res[1424].exec(" x{a0}X\n\x0b\x0c\x0d\n", 4353));
-assertNull(res[1425].exec(">\x09 x{a0}X\n\n\n<", 4354));
-assertNull(res[1426].exec(">\x09 x{a0}X\n\n\n<", 4355));
-assertNull(res[1427].exec("X X\n", 4356));
-assertNull(res[1427].exec("X\x09X\x0b", 4357));
-assertNull(res[1427].exec("** Failers", 4358));
-assertNull(res[1427].exec("x{a0} X\n ", 4359));
-assertNull(res[1428].exec("\x09 x{a0}X\n\x0b\x0c\x0d\n", 4360));
-assertNull(res[1428].exec("\x09 x{a0}\n\x0b\x0c\x0d\n", 4361));
-assertNull(res[1428].exec("\x09 x{a0}\n\x0b\x0c", 4362));
-assertNull(res[1428].exec("** Failers ", 4363));
-assertNull(res[1428].exec("\x09 x{a0}\n\x0b", 4364));
-assertNull(res[1428].exec(" ", 4365));
-assertNull(res[1429].exec("x{3001}x{3000}x{2030}x{2028}", 4366));
-assertNull(res[1429].exec("Xx{180e}Xx{85}", 4367));
-assertNull(res[1429].exec("** Failers", 4368));
-assertNull(res[1429].exec("x{2009} X\n ", 4369));
-assertNull(res[1430].exec("x{1680}x{180e}x{2007}Xx{2028}x{2029}\x0c\x0d\n", 4370));
-assertNull(res[1430].exec("\x09x{205f}x{a0}\nx{2029}\x0cx{2028}\n", 4371));
-assertNull(res[1430].exec("\x09 x{202f}\n\x0b\x0c", 4372));
-assertNull(res[1430].exec("** Failers ", 4373));
-assertNull(res[1430].exec("\x09x{200a}x{a0}x{2028}\x0b", 4374));
-assertNull(res[1430].exec(" ", 4375));
-assertNull(res[1431].exec("a\x0db", 4376));
-assertNull(res[1431].exec("a\nb", 4377));
-assertNull(res[1431].exec("a\x0d\nb", 4378));
-assertNull(res[1431].exec("** Failers", 4379));
-assertNull(res[1431].exec("ax{85}b", 4380));
-assertNull(res[1431].exec("a\x0bb ", 4381));
-assertNull(res[1432].exec("a\x0db", 4382));
-assertNull(res[1432].exec("a\nb", 4383));
-assertNull(res[1432].exec("a\x0d\nb", 4384));
-assertNull(res[1432].exec("ax{85}b", 4385));
-assertNull(res[1432].exec("a\x0bb ", 4386));
-assertNull(res[1432].exec("** Failers ", 4387));
-assertNull(res[1432].exec("ax{85}b<bsr_anycrlf>", 4388));
-assertNull(res[1432].exec("a\x0bb<bsr_anycrlf>", 4389));
-assertNull(res[1433].exec("a\x0db", 4390));
-assertNull(res[1433].exec("a\nb", 4391));
-assertNull(res[1433].exec("a\x0d\nb", 4392));
-assertNull(res[1433].exec("** Failers", 4393));
-assertNull(res[1433].exec("ax{85}b", 4394));
-assertNull(res[1433].exec("a\x0bb ", 4395));
-assertNull(res[1434].exec("a\x0db", 4396));
-assertNull(res[1434].exec("a\nb", 4397));
-assertNull(res[1434].exec("a\x0d\nb", 4398));
-assertNull(res[1434].exec("ax{85}b", 4399));
-assertNull(res[1434].exec("a\x0bb ", 4400));
-assertNull(res[1434].exec("** Failers ", 4401));
-assertNull(res[1434].exec("ax{85}b<bsr_anycrlf>", 4402));
-assertNull(res[1434].exec("a\x0bb<bsr_anycrlf>", 4403));
-assertToStringEquals("X", res[1435].exec("Ax{1ec5}ABCXYZ"), 4404);
-assertNull(res[1437].exec("AB", 4405));
-assertNull(res[1437].exec("*** Failers", 4406));
-assertNull(res[1437].exec("A0", 4407));
-assertNull(res[1437].exec("00 ", 4408));
-assertNull(res[1438].exec("AB", 4409));
-assertNull(res[1438].exec("Ax{300}BC ", 4410));
-assertNull(res[1438].exec("Ax{300}x{301}x{302}BC ", 4411));
-assertNull(res[1438].exec("*** Failers", 4412));
-assertNull(res[1438].exec("x{300} ", 4413));
-assertNull(res[1439].exec("ABC", 4414));
-assertNull(res[1439].exec("Ax{300}Bx{300}x{301}C ", 4415));
-assertNull(res[1439].exec("Ax{300}x{301}x{302}BC ", 4416));
-assertNull(res[1439].exec("*** Failers", 4417));
-assertNull(res[1439].exec("x{300} ", 4418));
-assertNull(res[1440].exec("abcd", 4419));
-assertNull(res[1440].exec("a ", 4420));
-assertNull(res[1440].exec("*** Failers ", 4421));
-assertNull(res[1441].exec("1234", 4422));
-assertNull(res[1441].exec("= ", 4423));
-assertNull(res[1441].exec("*** Failers ", 4424));
-assertNull(res[1441].exec("abcd ", 4425));
-assertNull(res[1442].exec("abcdAx{300}x{301}x{302}", 4426));
-assertNull(res[1442].exec("Ax{300}x{301}x{302}", 4427));
-assertNull(res[1442].exec("Ax{300}x{301}x{302}Ax{300}x{301}x{302}", 4428));
-assertNull(res[1442].exec("a ", 4429));
-assertNull(res[1442].exec("*** Failers ", 4430));
-assertNull(res[1442].exec("x{300}x{301}x{302}", 4431));
-assertToStringEquals("abc", res[1443].exec("abc"), 4432);
-assertToStringEquals("abc", res[1443].exec("Ax{300}abc"), 4433);
-assertToStringEquals("abc", res[1443].exec("Ax{300}x{301}x{302}Ax{300}Ax{300}Ax{300}abcxyz"), 4434);
-assertToStringEquals("abc", res[1443].exec("x{300}abc "), 4435);
-assertNull(res[1443].exec("*** Failers", 4436));
-assertToStringEquals("abc", res[1444].exec("abc"), 4437);
-assertNull(res[1444].exec("Ax{300}abc", 4438));
-assertNull(res[1444].exec("*** Failers", 4439));
-assertNull(res[1444].exec("Ax{300}x{301}x{302}Ax{300}Ax{300}Ax{300}abcxyz", 4440));
-assertNull(res[1444].exec("x{300}abc ", 4441));
-assertToStringEquals("abc", res[1445].exec("abc"), 4442);
-assertToStringEquals("abc", res[1445].exec("Ax{300}abc"), 4443);
-assertToStringEquals("abc", res[1445].exec("Ax{300}x{301}x{302}Ax{300}Ax{300}Ax{300}abcxyz"), 4444);
-assertToStringEquals("abc", res[1445].exec("x{300}abc "), 4445);
-assertNull(res[1445].exec("*** Failers", 4446));
-assertToStringEquals("abc", res[1446].exec("abc"), 4447);
-assertNull(res[1446].exec("Ax{300}abc", 4448));
-assertNull(res[1446].exec("Ax{300}x{301}x{302}Ax{300}Ax{300}Ax{300}abcxyz", 4449));
-assertNull(res[1446].exec("*** Failers", 4450));
-assertNull(res[1446].exec("x{300}abc ", 4451));
-assertNull(res[1447].exec("A=b", 4452));
-assertNull(res[1447].exec("=c ", 4453));
-assertNull(res[1447].exec("*** Failers", 4454));
-assertNull(res[1447].exec("1=2 ", 4455));
-assertNull(res[1447].exec("AAAA=b ", 4456));
-assertNull(res[1448].exec("AAAA=b", 4457));
-assertNull(res[1448].exec("=c ", 4458));
-assertNull(res[1448].exec("*** Failers", 4459));
-assertNull(res[1448].exec("1=2 ", 4460));
-assertNull(res[1449].exec("Ax{300}x{301}x{302}Ax{300}x{301}x{302}X", 4461));
-assertNull(res[1449].exec("Ax{300}x{301}x{302}Ax{300}x{301}x{302}Ax{300}x{301}x{302}X ", 4462));
-assertNull(res[1449].exec("*** Failers", 4463));
-assertNull(res[1449].exec("X", 4464));
-assertNull(res[1449].exec("Ax{300}x{301}x{302}X", 4465));
-assertNull(res[1449].exec("Ax{300}x{301}x{302}Ax{300}x{301}x{302}Ax{300}x{301}x{302}Ax{300}x{301}x{302}X", 4466));
-assertNull(res[1450].exec("x{c0}x{30f}x{660}x{66c}x{f01}x{1680}<", 4467));
-assertNull(res[1450].exec("\npx{300}9!$ < ", 4468));
-assertNull(res[1450].exec("** Failers ", 4469));
-assertNull(res[1450].exec("apx{300}9!$ < ", 4470));
-assertNull(res[1451].exec("X", 4471));
-assertNull(res[1451].exec("** Failers ", 4472));
-assertNull(res[1451].exec("", 4473));
-assertNull(res[1452].exec("9", 4474));
-assertNull(res[1452].exec("** Failers ", 4475));
-assertNull(res[1452].exec("x{c0}", 4476));
-assertNull(res[1453].exec("X", 4477));
-assertNull(res[1453].exec("** Failers ", 4478));
-assertNull(res[1453].exec("x{30f}", 4479));
-assertNull(res[1454].exec("X", 4480));
-assertNull(res[1454].exec("** Failers ", 4481));
-assertNull(res[1454].exec("x{660}", 4482));
-assertNull(res[1455].exec("X", 4483));
-assertNull(res[1455].exec("** Failers ", 4484));
-assertNull(res[1455].exec("x{66c}", 4485));
-assertNull(res[1456].exec("X", 4486));
-assertNull(res[1456].exec("** Failers ", 4487));
-assertNull(res[1456].exec("x{f01}", 4488));
-assertNull(res[1457].exec("X", 4489));
-assertNull(res[1457].exec("** Failers ", 4490));
-assertNull(res[1457].exec("x{1680}", 4491));
-assertNull(res[1458].exec("x{017}", 4492));
-assertNull(res[1458].exec("x{09f} ", 4493));
-assertNull(res[1458].exec("** Failers", 4494));
-assertNull(res[1458].exec("x{0600} ", 4495));
-assertNull(res[1459].exec("x{601}", 4496));
-assertNull(res[1459].exec("** Failers", 4497));
-assertNull(res[1459].exec("x{09f} ", 4498));
-assertNull(res[1460].exec("** Failers", 4499));
-assertNull(res[1460].exec("x{09f} ", 4500));
-assertNull(res[1461].exec("x{f8ff}", 4501));
-assertNull(res[1461].exec("** Failers", 4502));
-assertNull(res[1461].exec("x{09f} ", 4503));
-assertNull(res[1462].exec("?x{dfff}", 4504));
-assertNull(res[1462].exec("** Failers", 4505));
-assertNull(res[1462].exec("x{09f} ", 4506));
-assertNull(res[1463].exec("a", 4507));
-assertNull(res[1463].exec("** Failers ", 4508));
-assertNull(res[1463].exec("Z", 4509));
-assertNull(res[1463].exec("x{e000} ", 4510));
-assertNull(res[1464].exec("x{2b0}", 4511));
-assertNull(res[1464].exec("** Failers", 4512));
-assertNull(res[1464].exec("a ", 4513));
-assertNull(res[1465].exec("x{1bb}", 4514));
-assertNull(res[1465].exec("** Failers", 4515));
-assertNull(res[1465].exec("a ", 4516));
-assertNull(res[1465].exec("x{2b0}", 4517));
-assertNull(res[1466].exec("x{1c5}", 4518));
-assertNull(res[1466].exec("** Failers", 4519));
-assertNull(res[1466].exec("a ", 4520));
-assertNull(res[1466].exec("x{2b0}", 4521));
-assertNull(res[1467].exec("A", 4522));
-assertNull(res[1467].exec("** Failers", 4523));
-assertNull(res[1467].exec("x{2b0}", 4524));
-assertNull(res[1468].exec("x{903}", 4525));
-assertNull(res[1468].exec("** Failers", 4526));
-assertNull(res[1468].exec("X", 4527));
-assertNull(res[1468].exec("x{300}", 4528));
-assertNull(res[1468].exec(" ", 4529));
-assertNull(res[1469].exec("x{488}", 4530));
-assertNull(res[1469].exec("** Failers", 4531));
-assertNull(res[1469].exec("X", 4532));
-assertNull(res[1469].exec("x{903}", 4533));
-assertNull(res[1469].exec("x{300}", 4534));
-assertNull(res[1470].exec("x{300}", 4535));
-assertNull(res[1470].exec("** Failers", 4536));
-assertNull(res[1470].exec("X", 4537));
-assertNull(res[1470].exec("x{903}", 4538));
-assertNull(res[1470].exec("0123456789x{660}x{661}x{662}x{663}x{664}x{665}x{666}x{667}x{668}x{669}x{66a}", 4539));
-assertNull(res[1470].exec("x{6f0}x{6f1}x{6f2}x{6f3}x{6f4}x{6f5}x{6f6}x{6f7}x{6f8}x{6f9}x{6fa}", 4540));
-assertNull(res[1470].exec("x{966}x{967}x{968}x{969}x{96a}x{96b}x{96c}x{96d}x{96e}x{96f}x{970}", 4541));
-assertNull(res[1470].exec("** Failers", 4542));
-assertNull(res[1470].exec("X", 4543));
-assertNull(res[1471].exec("x{16ee}", 4544));
-assertNull(res[1471].exec("** Failers", 4545));
-assertNull(res[1471].exec("X", 4546));
-assertNull(res[1471].exec("x{966}", 4547));
-assertNull(res[1472].exec("x{b2}", 4548));
-assertNull(res[1472].exec("x{b3}", 4549));
-assertNull(res[1472].exec("** Failers", 4550));
-assertNull(res[1472].exec("X", 4551));
-assertNull(res[1472].exec("x{16ee}", 4552));
-assertNull(res[1473].exec("_", 4553));
-assertNull(res[1473].exec("x{203f}", 4554));
-assertNull(res[1473].exec("** Failers", 4555));
-assertNull(res[1473].exec("X", 4556));
-assertNull(res[1473].exec("-", 4557));
-assertNull(res[1473].exec("x{58a}", 4558));
-assertNull(res[1474].exec("-", 4559));
-assertNull(res[1474].exec("x{58a}", 4560));
-assertNull(res[1474].exec("** Failers", 4561));
-assertNull(res[1474].exec("X", 4562));
-assertNull(res[1474].exec("x{203f}", 4563));
-assertNull(res[1475].exec(")", 4564));
-assertNull(res[1475].exec("]", 4565));
-assertNull(res[1475].exec("}", 4566));
-assertNull(res[1475].exec("x{f3b}", 4567));
-assertNull(res[1475].exec("** Failers", 4568));
-assertNull(res[1475].exec("X", 4569));
-assertNull(res[1475].exec("x{203f}", 4570));
-assertNull(res[1475].exec("(", 4571));
-assertNull(res[1475].exec("[", 4572));
-assertNull(res[1475].exec("{", 4573));
-assertNull(res[1475].exec("x{f3c}", 4574));
-assertNull(res[1476].exec("x{bb}", 4575));
-assertNull(res[1476].exec("x{2019}", 4576));
-assertNull(res[1476].exec("** Failers", 4577));
-assertNull(res[1476].exec("X", 4578));
-assertNull(res[1476].exec("x{203f}", 4579));
-assertNull(res[1477].exec("x{ab}", 4580));
-assertNull(res[1477].exec("x{2018}", 4581));
-assertNull(res[1477].exec("** Failers", 4582));
-assertNull(res[1477].exec("X", 4583));
-assertNull(res[1477].exec("x{203f}", 4584));
-assertNull(res[1478].exec("!", 4585));
-assertNull(res[1478].exec("x{37e}", 4586));
-assertNull(res[1478].exec("** Failers", 4587));
-assertNull(res[1478].exec("X", 4588));
-assertNull(res[1478].exec("x{203f}", 4589));
-assertNull(res[1479].exec("(", 4590));
-assertNull(res[1479].exec("[", 4591));
-assertNull(res[1479].exec("{", 4592));
-assertNull(res[1479].exec("x{f3c}", 4593));
-assertNull(res[1479].exec("** Failers", 4594));
-assertNull(res[1479].exec("X", 4595));
-assertNull(res[1479].exec(")", 4596));
-assertNull(res[1479].exec("]", 4597));
-assertNull(res[1479].exec("}", 4598));
-assertNull(res[1479].exec("x{f3b}", 4599));
-assertNull(res[1479].exec("$x{a2}x{a3}x{a4}x{a5}x{a6}", 4600));
-assertNull(res[1479].exec("x{9f2}", 4601));
-assertNull(res[1479].exec("** Failers", 4602));
-assertNull(res[1479].exec("X", 4603));
-assertNull(res[1479].exec("x{2c2}", 4604));
-assertNull(res[1480].exec("x{2c2}", 4605));
-assertNull(res[1480].exec("** Failers", 4606));
-assertNull(res[1480].exec("X", 4607));
-assertNull(res[1480].exec("x{9f2}", 4608));
-assertNull(res[1480].exec("+<|~x{ac}x{2044}", 4609));
-assertNull(res[1480].exec("** Failers", 4610));
-assertNull(res[1480].exec("X", 4611));
-assertNull(res[1480].exec("x{9f2}", 4612));
-assertNull(res[1481].exec("x{a6}", 4613));
-assertNull(res[1481].exec("x{482} ", 4614));
-assertNull(res[1481].exec("** Failers", 4615));
-assertNull(res[1481].exec("X", 4616));
-assertNull(res[1481].exec("x{9f2}", 4617));
-assertNull(res[1482].exec("x{2028}", 4618));
-assertNull(res[1482].exec("** Failers", 4619));
-assertNull(res[1482].exec("X", 4620));
-assertNull(res[1482].exec("x{2029}", 4621));
-assertNull(res[1483].exec("x{2029}", 4622));
-assertNull(res[1483].exec("** Failers", 4623));
-assertNull(res[1483].exec("X", 4624));
-assertNull(res[1483].exec("x{2028}", 4625));
-assertNull(res[1484].exec("\\ \\", 4626));
-assertNull(res[1484].exec("x{a0}", 4627));
-assertNull(res[1484].exec("x{1680}", 4628));
-assertNull(res[1484].exec("x{180e}", 4629));
-assertNull(res[1484].exec("x{2000}", 4630));
-assertNull(res[1484].exec("x{2001} ", 4631));
-assertNull(res[1484].exec("** Failers", 4632));
-assertNull(res[1484].exec("x{2028}", 4633));
-assertNull(res[1484].exec("x{200d} ", 4634));
-assertNull(res[1484].exec(" x{660}x{661}x{662}ABC", 4635));
-assertNull(res[1484].exec(" x{660}x{661}x{662}ABC", 4636));
-assertNull(res[1485].exec(" x{660}x{661}x{662}ABC", 4637));
-assertNull(res[1486].exec(" x{660}x{661}x{662}ABC", 4638));
-assertNull(res[1487].exec(" x{660}x{661}x{662}ABC", 4639));
-assertNull(res[1488].exec(" x{660}x{661}x{662}ABC", 4640));
-assertNull(res[1489].exec(" x{660}x{661}x{662}ABC", 4641));
-assertNull(res[1490].exec(" x{660}x{661}x{662}ABC", 4642));
-assertNull(res[1491].exec(" x{660}x{661}x{662}ABC", 4643));
-assertNull(res[1492].exec(" x{660}x{661}x{662}ABC", 4644));
-assertNull(res[1493].exec(" x{660}x{661}x{662}ABC", 4645));
-assertNull(res[1493].exec(" x{660}x{661}x{662}ABC", 4646));
-assertNull(res[1493].exec(" x{660}x{661}x{662}ABC", 4647));
-assertNull(res[1493].exec(" ** Failers", 4648));
-assertNull(res[1493].exec(" x{660}x{661}x{662}ABC", 4649));
-assertNull(res[1494].exec("A", 4650));
-assertNull(res[1494].exec("ax{10a0}B ", 4651));
-assertNull(res[1494].exec("** Failers ", 4652));
-assertNull(res[1494].exec("a", 4653));
-assertNull(res[1494].exec("x{1d00} ", 4654));
-assertNull(res[1495].exec("1234", 4655));
-assertNull(res[1495].exec("** Failers", 4656));
-assertNull(res[1495].exec("ABC ", 4657));
-assertNull(res[1496].exec("1234", 4658));
-assertNull(res[1496].exec("** Failers", 4659));
-assertNull(res[1496].exec("ABC ", 4660));
-assertNull(res[1496].exec("A2XYZ", 4661));
-assertNull(res[1496].exec("123A5XYZPQR", 4662));
-assertNull(res[1496].exec("ABAx{660}XYZpqr", 4663));
-assertNull(res[1496].exec("** Failers", 4664));
-assertNull(res[1496].exec("AXYZ", 4665));
-assertNull(res[1496].exec("XYZ ", 4666));
-assertNull(res[1496].exec("1XYZ", 4667));
-assertNull(res[1496].exec("AB=XYZ.. ", 4668));
-assertNull(res[1496].exec("XYZ ", 4669));
-assertNull(res[1496].exec("** Failers", 4670));
-assertNull(res[1496].exec("WXYZ ", 4671));
-assertNull(res[1497].exec("1234", 4672));
-assertNull(res[1497].exec("1234", 4673));
-assertNull(res[1497].exec("12-34", 4674));
-assertToStringEquals("{", res[1497].exec("12+x{661}-34 "), 4675);
-assertNull(res[1497].exec("** Failers", 4676));
-assertToStringEquals("d", res[1497].exec("abcd "), 4677);
-assertToStringEquals("d", res[1498].exec("abcd"), 4678);
-assertNull(res[1498].exec("** Failers", 4679));
-assertNull(res[1498].exec("1234", 4680));
-assertNull(res[1499].exec("11111111111111111111111111111111111111111111111111111111111111111111111", 4681));
-assertToStringEquals("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", res[1499].exec("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"), 4682);
-assertToStringEquals(" ", res[1499].exec(" "), 4683);
-assertNull(res[1499].exec("11111111111111111111111111111111111111111111111111111111111111111111111", 4684));
-assertToStringEquals("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", res[1499].exec("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"), 4685);
-assertNull(res[1500].exec("11111111111111111111111111111111111111111111111111111111111111111111111", 4686));
-assertToStringEquals("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", res[1500].exec("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"), 4687);
-assertNull(res[1501].exec("11111111111111111111111111111111111111111111111111111111111111111111111", 4688));
-assertNull(res[1501].exec("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", 4689));
-assertNull(res[1502].exec("11111111111111111111111111111111111111111111111111111111111111111111111", 4690));
-assertToStringEquals("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", res[1502].exec("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"), 4691);
-assertNull(res[1503].exec("a", 4692));
-assertNull(res[1503].exec("A ", 4693));
-assertNull(res[1504].exec("a", 4694));
-assertNull(res[1504].exec("A ", 4695));
-assertNull(res[1505].exec("A", 4696));
-assertNull(res[1505].exec("aZ", 4697));
-assertNull(res[1505].exec("** Failers", 4698));
-assertNull(res[1505].exec("abc ", 4699));
-assertNull(res[1506].exec("A", 4700));
-assertNull(res[1506].exec("aZ", 4701));
-assertNull(res[1506].exec("** Failers", 4702));
-assertNull(res[1506].exec("abc ", 4703));
-assertNull(res[1507].exec("a", 4704));
-assertNull(res[1507].exec("Az", 4705));
-assertNull(res[1507].exec("** Failers", 4706));
-assertNull(res[1507].exec("ABC ", 4707));
-assertNull(res[1508].exec("a", 4708));
-assertNull(res[1508].exec("Az", 4709));
-assertNull(res[1508].exec("** Failers", 4710));
-assertNull(res[1508].exec("ABC ", 4711));
-assertNull(res[1508].exec("x{c0}", 4712));
-assertNull(res[1508].exec("x{e0} ", 4713));
-assertNull(res[1508].exec("x{c0}", 4714));
-assertNull(res[1508].exec("x{e0} ", 4715));
-assertNull(res[1508].exec("Ax{391}x{10427}x{ff3a}x{1fb0}", 4716));
-assertNull(res[1508].exec("** Failers", 4717));
-assertNull(res[1508].exec("ax{391}x{10427}x{ff3a}x{1fb0} ", 4718));
-assertNull(res[1508].exec("Ax{3b1}x{10427}x{ff3a}x{1fb0}", 4719));
-assertNull(res[1508].exec("Ax{391}x{1044F}x{ff3a}x{1fb0}", 4720));
-assertNull(res[1508].exec("Ax{391}x{10427}x{ff5a}x{1fb0}", 4721));
-assertNull(res[1508].exec("Ax{391}x{10427}x{ff3a}x{1fb8}", 4722));
-assertNull(res[1508].exec("Ax{391}x{10427}x{ff3a}x{1fb0}", 4723));
-assertNull(res[1508].exec("ax{391}x{10427}x{ff3a}x{1fb0} ", 4724));
-assertNull(res[1508].exec("Ax{3b1}x{10427}x{ff3a}x{1fb0}", 4725));
-assertNull(res[1508].exec("Ax{391}x{1044F}x{ff3a}x{1fb0}", 4726));
-assertNull(res[1508].exec("Ax{391}x{10427}x{ff5a}x{1fb0}", 4727));
-assertNull(res[1508].exec("Ax{391}x{10427}x{ff3a}x{1fb8}", 4728));
-assertNull(res[1508].exec("x{391}x{3b1}x{3b1}x{3b1}x{391}", 4729));
-assertNull(res[1508].exec("x{391}x{3b1}x{3b1}x{3b1}x{391}X", 4730));
-assertNull(res[1508].exec("x{391}x{3b1}x{3b1}x{3b1}x{391}X", 4731));
-assertNull(res[1508].exec("x{391}", 4732));
-assertNull(res[1508].exec("x{ff3a}", 4733));
-assertNull(res[1508].exec("x{3b1}", 4734));
-assertNull(res[1508].exec("x{ff5a} ", 4735));
-assertNull(res[1508].exec("x{c0}", 4736));
-assertNull(res[1508].exec("x{e0} ", 4737));
-assertNull(res[1508].exec("x{104}", 4738));
-assertNull(res[1508].exec("x{105}", 4739));
-assertNull(res[1508].exec("x{109} ", 4740));
-assertNull(res[1508].exec("** Failers", 4741));
-assertNull(res[1508].exec("x{100}", 4742));
-assertNull(res[1508].exec("x{10a} ", 4743));
-assertNull(res[1508].exec("Z", 4744));
-assertNull(res[1508].exec("z", 4745));
-assertNull(res[1508].exec("x{39c}", 4746));
-assertNull(res[1508].exec("x{178}", 4747));
-assertNull(res[1508].exec("|", 4748));
-assertNull(res[1508].exec("x{80}", 4749));
-assertNull(res[1508].exec("x{ff}", 4750));
-assertNull(res[1508].exec("x{100}", 4751));
-assertNull(res[1508].exec("x{101} ", 4752));
-assertNull(res[1508].exec("** Failers", 4753));
-assertNull(res[1508].exec("x{102}", 4754));
-assertNull(res[1508].exec("Y", 4755));
-assertNull(res[1508].exec("y ", 4756));
-assertNull(res[1509].exec("A", 4757));
-assertNull(res[1509].exec("Ax{300}BC ", 4758));
-assertNull(res[1509].exec("Ax{300}x{301}x{302}BC ", 4759));
-assertNull(res[1509].exec("*** Failers", 4760));
-assertNull(res[1509].exec("x{300} ", 4761));
-assertToStringEquals("X", res[1510].exec("X123"), 4762);
-assertNull(res[1510].exec("*** Failers", 4763));
-assertNull(res[1510].exec("AXYZ", 4764));
-assertNull(res[1511].exec("Ax{300}x{301}x{302}BCAx{300}x{301} ", 4765));
-assertNull(res[1511].exec("Ax{300}x{301}x{302}BCAx{300}x{301}C ", 4766));
-assertNull(res[1512].exec("Ax{300}x{301}x{302}BCAx{300}x{301} ", 4767));
-assertNull(res[1512].exec("Ax{300}x{301}x{302}BCAx{300}x{301}C ", 4768));
-assertToStringEquals("A,,A", res[1513].exec("Ax{300}x{301}x{302}BCAx{300}x{301} "), 4769);
-assertToStringEquals("A,,A", res[1513].exec("Ax{300}x{301}x{302}BCAx{300}x{301}C "), 4770);
-assertToStringEquals("A,,A", res[1514].exec("Ax{300}x{301}x{302}BCAx{300}x{301} "), 4771);
-assertToStringEquals("A,,A", res[1514].exec("Ax{300}x{301}x{302}BCAx{300}x{301}C "), 4772);
-assertNull(res[1515].exec("*** Failers", 4773));
-assertNull(res[1515].exec("Ax{300}x{301}x{302}", 4774));
-assertNull(res[1516].exec("Ax{300}x{301}Bx{300}X", 4775));
-assertNull(res[1516].exec("Ax{300}x{301}Bx{300}Cx{300}x{301}", 4776));
-assertNull(res[1516].exec("Ax{300}x{301}Bx{300}Cx{300}x{301}X", 4777));
-assertNull(res[1516].exec("Ax{300}x{301}Bx{300}Cx{300}x{301}DAx{300}X", 4778));
-assertNull(res[1517].exec("Ax{300}x{301}Bx{300}X", 4779));
-assertNull(res[1517].exec("Ax{300}x{301}Bx{300}Cx{300}x{301}", 4780));
-assertNull(res[1517].exec("Ax{300}x{301}Bx{300}Cx{300}x{301}X", 4781));
-assertNull(res[1517].exec("Ax{300}x{301}Bx{300}Cx{300}x{301}DAx{300}X", 4782));
-assertNull(res[1518].exec("12X", 4783));
-assertNull(res[1518].exec("123X", 4784));
-assertNull(res[1518].exec("*** Failers", 4785));
-assertNull(res[1518].exec("X", 4786));
-assertNull(res[1518].exec("1X", 4787));
-assertNull(res[1518].exec("1234X ", 4788));
-assertNull(res[1518].exec("x{100} ", 4789));
-assertNull(res[1518].exec("x{101} ", 4790));
-assertNull(res[1518].exec("x{2e81}x{3007}x{2f804}x{31a0}", 4791));
-assertNull(res[1518].exec("** Failers", 4792));
-assertNull(res[1518].exec("x{2e7f} ", 4793));
-assertNull(res[1518].exec("x{3105}", 4794));
-assertNull(res[1518].exec("** Failers", 4795));
-assertNull(res[1518].exec("x{30ff} ", 4796));
-assertNull(res[1519].exec("x{06e9}", 4797));
-assertNull(res[1519].exec("x{060b}", 4798));
-assertNull(res[1519].exec("** Failers", 4799));
-assertNull(res[1519].exec("Xx{06e9} ", 4800));
-assertNull(res[1520].exec("x{2f800}", 4801));
-assertNull(res[1520].exec("** Failers", 4802));
-assertNull(res[1520].exec("x{a014}", 4803));
-assertNull(res[1520].exec("x{a4c6} ", 4804));
-assertNull(res[1521].exec("AXYZ", 4805));
-assertNull(res[1521].exec("x{1234}XYZ ", 4806));
-assertNull(res[1521].exec("** Failers", 4807));
-assertNull(res[1521].exec("X ", 4808));
-assertNull(res[1522].exec("** Failers", 4809));
-assertNull(res[1522].exec("AX", 4810));
-assertNull(res[1523].exec("XYZ", 4811));
-assertNull(res[1523].exec("AXYZ", 4812));
-assertNull(res[1523].exec("x{1234}XYZ ", 4813));
-assertNull(res[1523].exec("** Failers", 4814));
-assertNull(res[1523].exec("ABXYZ ", 4815));
-assertNull(res[1524].exec("XYZ", 4816));
-assertNull(res[1524].exec("** Failers", 4817));
-assertNull(res[1524].exec("AXYZ", 4818));
-assertNull(res[1524].exec("x{1234}XYZ ", 4819));
-assertNull(res[1524].exec("ABXYZ ", 4820));
-assertNull(res[1524].exec("AXYZ", 4821));
-assertNull(res[1524].exec("x{1234}XYZ", 4822));
-assertNull(res[1524].exec("Ax{1234}XYZ", 4823));
-assertNull(res[1524].exec("** Failers", 4824));
-assertNull(res[1524].exec("XYZ", 4825));
-assertNull(res[1524].exec("** Failers", 4826));
-assertNull(res[1524].exec("AXYZ", 4827));
-assertNull(res[1524].exec("x{1234}XYZ", 4828));
-assertNull(res[1524].exec("Ax{1234}XYZ", 4829));
-assertNull(res[1524].exec("XYZ", 4830));
-assertNull(res[1525].exec("XYZ", 4831));
-assertNull(res[1525].exec("AXYZ", 4832));
-assertNull(res[1525].exec("x{1234}XYZ", 4833));
-assertNull(res[1525].exec("Ax{1234}XYZ", 4834));
-assertNull(res[1525].exec("** Failers", 4835));
-assertNull(res[1526].exec("XYZ", 4836));
-assertNull(res[1526].exec("** Failers", 4837));
-assertNull(res[1526].exec("AXYZ", 4838));
-assertNull(res[1526].exec("x{1234}XYZ", 4839));
-assertNull(res[1526].exec("Ax{1234}XYZ", 4840));
-assertToStringEquals("AX", res[1527].exec("AXYZ"), 4841);
-assertNull(res[1527].exec("x{1234}XYZ ", 4842));
-assertNull(res[1527].exec("** Failers", 4843));
-assertNull(res[1527].exec("X ", 4844));
-assertNull(res[1528].exec("** Failers", 4845));
-assertToStringEquals("AX", res[1528].exec("AX"), 4846);
-assertToStringEquals("X", res[1529].exec("XYZ"), 4847);
-assertToStringEquals("AX", res[1529].exec("AXYZ"), 4848);
-assertNull(res[1529].exec("x{1234}XYZ ", 4849));
-assertNull(res[1529].exec("** Failers", 4850));
-assertNull(res[1529].exec("ABXYZ ", 4851));
-assertToStringEquals("X", res[1530].exec("XYZ"), 4852);
-assertNull(res[1530].exec("** Failers", 4853));
-assertToStringEquals("AX", res[1530].exec("AXYZ"), 4854);
-assertNull(res[1530].exec("x{1234}XYZ ", 4855));
-assertNull(res[1530].exec("ABXYZ ", 4856));
-assertToStringEquals("AX", res[1531].exec("AXYZ"), 4857);
-assertNull(res[1531].exec("x{1234}XYZ", 4858));
-assertNull(res[1531].exec("Ax{1234}XYZ", 4859));
-assertNull(res[1531].exec("** Failers", 4860));
-assertNull(res[1531].exec("XYZ", 4861));
-assertNull(res[1532].exec("** Failers", 4862));
-assertToStringEquals("AX", res[1532].exec("AXYZ"), 4863);
-assertNull(res[1532].exec("x{1234}XYZ", 4864));
-assertNull(res[1532].exec("Ax{1234}XYZ", 4865));
-assertNull(res[1532].exec("XYZ", 4866));
-assertToStringEquals("X", res[1533].exec("XYZ"), 4867);
-assertToStringEquals("AX", res[1533].exec("AXYZ"), 4868);
-assertNull(res[1533].exec("x{1234}XYZ", 4869));
-assertNull(res[1533].exec("Ax{1234}XYZ", 4870));
-assertNull(res[1533].exec("** Failers", 4871));
-assertToStringEquals("X", res[1534].exec("XYZ"), 4872);
-assertNull(res[1534].exec("** Failers", 4873));
-assertToStringEquals("AX", res[1534].exec("AXYZ"), 4874);
-assertNull(res[1534].exec("x{1234}XYZ", 4875));
-assertNull(res[1534].exec("Ax{1234}XYZ", 4876));
-assertNull(res[1535].exec("abcdefgh", 4877));
-assertNull(res[1535].exec("x{1234}\n\x0dx{3456}xyz ", 4878));
-assertNull(res[1536].exec("abcdefgh", 4879));
-assertNull(res[1536].exec("x{1234}\n\x0dx{3456}xyz ", 4880));
-assertNull(res[1537].exec("** Failers", 4881));
-assertNull(res[1537].exec("abcdefgh", 4882));
-assertNull(res[1537].exec("x{1234}\n\x0dx{3456}xyz ", 4883));
-assertNull(res[1538].exec(" AXY", 4884));
-assertNull(res[1538].exec(" aXY", 4885));
-assertNull(res[1538].exec(" x{1c5}XY", 4886));
-assertNull(res[1538].exec(" ** Failers", 4887));
-assertNull(res[1538].exec(" x{1bb}XY", 4888));
-assertNull(res[1538].exec(" x{2b0}XY", 4889));
-assertNull(res[1538].exec(" !XY ", 4890));
-assertNull(res[1539].exec(" AXY", 4891));
-assertNull(res[1539].exec(" aXY", 4892));
-assertNull(res[1539].exec(" x{1c5}XY", 4893));
-assertNull(res[1539].exec(" ** Failers", 4894));
-assertNull(res[1539].exec(" x{1bb}XY", 4895));
-assertNull(res[1539].exec(" x{2b0}XY", 4896));
-assertNull(res[1539].exec(" !XY ", 4897));
-assertNull(res[1539].exec(" AXY", 4898));
-assertNull(res[1539].exec(" aXY", 4899));
-assertNull(res[1539].exec(" AbcdeXyz ", 4900));
-assertNull(res[1539].exec(" x{1c5}AbXY", 4901));
-assertNull(res[1539].exec(" abcDEXypqreXlmn ", 4902));
-assertNull(res[1539].exec(" ** Failers", 4903));
-assertNull(res[1539].exec(" x{1bb}XY", 4904));
-assertNull(res[1539].exec(" x{2b0}XY", 4905));
-assertNull(res[1539].exec(" !XY ", 4906));
-assertNull(res[1540].exec(" AXY", 4907));
-assertNull(res[1540].exec(" aXY", 4908));
-assertNull(res[1540].exec(" AbcdeXyz ", 4909));
-assertNull(res[1540].exec(" x{1c5}AbXY", 4910));
-assertNull(res[1540].exec(" abcDEXypqreXlmn ", 4911));
-assertNull(res[1540].exec(" ** Failers", 4912));
-assertNull(res[1540].exec(" x{1bb}XY", 4913));
-assertNull(res[1540].exec(" x{2b0}XY", 4914));
-assertNull(res[1540].exec(" !XY ", 4915));
-assertNull(res[1540].exec(" AXY", 4916));
-assertNull(res[1540].exec(" aXY", 4917));
-assertNull(res[1540].exec(" AbcdeXyz ", 4918));
-assertNull(res[1540].exec(" x{1c5}AbXY", 4919));
-assertNull(res[1540].exec(" abcDEXypqreXlmn ", 4920));
-assertNull(res[1540].exec(" ** Failers", 4921));
-assertNull(res[1540].exec(" x{1bb}XY", 4922));
-assertNull(res[1540].exec(" x{2b0}XY", 4923));
-assertNull(res[1540].exec(" !XY ", 4924));
-assertNull(res[1541].exec(" AXY", 4925));
-assertNull(res[1541].exec(" aXY", 4926));
-assertNull(res[1541].exec(" AbcdeXyz ", 4927));
-assertNull(res[1541].exec(" x{1c5}AbXY", 4928));
-assertNull(res[1541].exec(" abcDEXypqreXlmn ", 4929));
-assertNull(res[1541].exec(" ** Failers", 4930));
-assertNull(res[1541].exec(" x{1bb}XY", 4931));
-assertNull(res[1541].exec(" x{2b0}XY", 4932));
-assertNull(res[1541].exec(" !XY ", 4933));
-assertNull(res[1542].exec(" !XY", 4934));
-assertNull(res[1542].exec(" x{1bb}XY", 4935));
-assertNull(res[1542].exec(" x{2b0}XY", 4936));
-assertNull(res[1542].exec(" ** Failers", 4937));
-assertNull(res[1542].exec(" x{1c5}XY", 4938));
-assertNull(res[1542].exec(" AXY ", 4939));
-assertNull(res[1543].exec(" !XY", 4940));
-assertNull(res[1543].exec(" x{1bb}XY", 4941));
-assertNull(res[1543].exec(" x{2b0}XY", 4942));
-assertNull(res[1543].exec(" ** Failers", 4943));
-assertNull(res[1543].exec(" x{1c5}XY", 4944));
-assertNull(res[1543].exec(" AXY ", 4945));
-assertNull(res[1543].exec("x{c0}x{e0}x{116}x{117}", 4946));
-assertNull(res[1543].exec("x{c0}x{e0}x{116}x{117}", 4947));
-assertNull(res[1545].exec("123abcdefg", 4948));
-assertNull(res[1545].exec("123abc\xc4\xc5zz", 4949));
-assertNull(res[1546].exec("x{102A4}x{AA52}x{A91D}x{1C46}x{10283}x{1092E}x{1C6B}x{A93B}x{A8BF}x{1BA0}x{A50A}====", 4950));
-assertNull(res[1546].exec("x{a77d}x{1d79}", 4951));
-assertNull(res[1546].exec("x{1d79}x{a77d} ", 4952));
-assertNull(res[1546].exec("x{a77d}x{1d79}", 4953));
-assertNull(res[1546].exec("** Failers ", 4954));
-assertNull(res[1546].exec("x{1d79}x{a77d} ", 4955));
-assertThrows("var re = //;", 4956);
diff --git a/src/3rdparty/v8/test/mjsunit/third_party/string-trim.js b/src/3rdparty/v8/test/mjsunit/third_party/string-trim.js
deleted file mode 100644
index 234dff6..0000000
--- a/src/3rdparty/v8/test/mjsunit/third_party/string-trim.js
+++ /dev/null
@@ -1,107 +0,0 @@
-// Copyright (c) 2009 Apple Computer, Inc. All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions
-// are met:
-//
-// 1. Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-//
-// 3. Neither the name of the copyright holder(s) nor the names of any
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
-// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
-// OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Based on LayoutTests/fast/js/script-tests/string-trim.js
-
-// References to trim(), trimLeft() and trimRight() functions for
-// testing Function's *.call() and *.apply() methods.
-
-var trim = String.prototype.trim;
-var trimLeft = String.prototype.trimLeft;
-var trimRight = String.prototype.trimRight;
-
-var testString = 'foo bar';
-var trimString = '';
-var leftTrimString = '';
-var rightTrimString = '';
-var wsString = '';
-
-var whitespace = [
- {s : '\u0009', t : 'HORIZONTAL TAB'},
- {s : '\u000A', t : 'LINE FEED OR NEW LINE'},
- {s : '\u000B', t : 'VERTICAL TAB'},
- {s : '\u000C', t : 'FORMFEED'},
- {s : '\u000D', t : 'CARRIAGE RETURN'},
- {s : '\u0020', t : 'SPACE'},
- {s : '\u00A0', t : 'NO-BREAK SPACE'},
- {s : '\u2000', t : 'EN QUAD'},
- {s : '\u2001', t : 'EM QUAD'},
- {s : '\u2002', t : 'EN SPACE'},
- {s : '\u2003', t : 'EM SPACE'},
- {s : '\u2004', t : 'THREE-PER-EM SPACE'},
- {s : '\u2005', t : 'FOUR-PER-EM SPACE'},
- {s : '\u2006', t : 'SIX-PER-EM SPACE'},
- {s : '\u2007', t : 'FIGURE SPACE'},
- {s : '\u2008', t : 'PUNCTUATION SPACE'},
- {s : '\u2009', t : 'THIN SPACE'},
- {s : '\u200A', t : 'HAIR SPACE'},
- {s : '\u3000', t : 'IDEOGRAPHIC SPACE'},
- {s : '\u2028', t : 'LINE SEPARATOR'},
- {s : '\u2029', t : 'PARAGRAPH SEPARATOR'},
- {s : '\u200B', t : 'ZERO WIDTH SPACE (category Cf)'}
-];
-
-for (var i = 0; i < whitespace.length; i++) {
- assertEquals(whitespace[i].s.trim(), '');
- assertEquals(whitespace[i].s.trimLeft(), '');
- assertEquals(whitespace[i].s.trimRight(), '');
- wsString += whitespace[i].s;
-}
-
-trimString = wsString + testString + wsString;
-leftTrimString = testString + wsString; // Trimmed from the left.
-rightTrimString = wsString + testString; // Trimmed from the right.
-
-assertEquals(wsString.trim(), '');
-assertEquals(wsString.trimLeft(), '');
-assertEquals(wsString.trimRight(), '');
-
-assertEquals(trimString.trim(), testString);
-assertEquals(trimString.trimLeft(), leftTrimString);
-assertEquals(trimString.trimRight(), rightTrimString);
-
-assertEquals(leftTrimString.trim(), testString);
-assertEquals(leftTrimString.trimLeft(), leftTrimString);
-assertEquals(leftTrimString.trimRight(), testString);
-
-assertEquals(rightTrimString.trim(), testString);
-assertEquals(rightTrimString.trimLeft(), testString);
-assertEquals(rightTrimString.trimRight(), rightTrimString);
-
-var testValues = [0, Infinity, NaN, true, false, ({}), ['an','array'],
- ({toString:function(){return 'wibble'}})
-];
-
-for (var i = 0; i < testValues.length; i++) {
- assertEquals(trim.call(testValues[i]), String(testValues[i]));
- assertEquals(trimLeft.call(testValues[i]), String(testValues[i]));
- assertEquals(trimRight.call(testValues[i]), String(testValues[i]));
-}
diff --git a/src/3rdparty/v8/test/mjsunit/this-in-callbacks.js b/src/3rdparty/v8/test/mjsunit/this-in-callbacks.js
deleted file mode 100644
index d50be6c..0000000
--- a/src/3rdparty/v8/test/mjsunit/this-in-callbacks.js
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test 'this' is the right global object of callback functions passed to
-// builtin functions.
-// See bug 1231592
-
-var my_identity = 'id';
-// test Array.sort
-function cp(x, y) {
- assertEquals('id', this.my_identity);
- return 0;
-}
-
-[1, 2].sort(cp);
-
-// test String.replace
-function r(x) {
- return this.my_identity;
-}
-
-assertEquals('id', 'hello'.replace('hello', r));
-assertEquals('id', 'hello'.replace(/hello/, r));
diff --git a/src/3rdparty/v8/test/mjsunit/this-property-assignment.js b/src/3rdparty/v8/test/mjsunit/this-property-assignment.js
deleted file mode 100644
index 54c6537..0000000
--- a/src/3rdparty/v8/test/mjsunit/this-property-assignment.js
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Tests the handling of multiple assignments to the same property in a
-// constructor that only has simple this property assignments.
-
-function Node() {
- this.a = 1;
- this.a = 2;
- this.a = 3;
-}
-
-var n1 = new Node();
-assertEquals(3, n1.a);
-
-var n2 = new Node();
-assertEquals(3, n2.a);
diff --git a/src/3rdparty/v8/test/mjsunit/this.js b/src/3rdparty/v8/test/mjsunit/this.js
deleted file mode 100644
index 890dea4..0000000
--- a/src/3rdparty/v8/test/mjsunit/this.js
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function f() { return this; }
-
-assertFalse(this == null); // the global object shouldn't be null or undefined
-assertEquals('[object global]', String(this));
-
-assertTrue(this === this);
-assertTrue(this === (function() { return this; })());
-assertTrue(this === f());
-
-var x = {}, y = {};
-x.f = y.f = f;
-assertFalse(x === f());
-assertFalse(y === f());
-assertTrue(x === x.f());
-assertTrue(x === x[new String('f')]());
-assertTrue(y === y.f(), "y.f()");
-assertTrue(y === y[new String('f')]());
-assertFalse(x === y.f());
-assertFalse(y === x.f());
diff --git a/src/3rdparty/v8/test/mjsunit/throw-and-catch-function.js b/src/3rdparty/v8/test/mjsunit/throw-and-catch-function.js
deleted file mode 100644
index fd24f6e..0000000
--- a/src/3rdparty/v8/test/mjsunit/throw-and-catch-function.js
+++ /dev/null
@@ -1,50 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var g = this;
-var x = new Object();
-x.e = function() { return this; };
-try {
- throw x.e;
-} catch (e) {
- assertTrue(e() === g);
-}
-try {
- throw x.e;
-} catch (e) {
- with(x) { assertTrue(e() === x); }
-}
-with(x) {
- try { throw e; } catch (e) { assertTrue(e() === g); }
-}
-var e = 0;
-try {
- throw x.e;
-} catch (e) {
- var e = 7;
-}
-assertEquals(0, e);
diff --git a/src/3rdparty/v8/test/mjsunit/throw-exception-for-null-access.js b/src/3rdparty/v8/test/mjsunit/throw-exception-for-null-access.js
deleted file mode 100644
index 018cfef..0000000
--- a/src/3rdparty/v8/test/mjsunit/throw-exception-for-null-access.js
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Must throw TypeError when accessing properties of null.
-var caught = false
-try {
- null[0];
- assertTrue(false);
-} catch (e) {
- caught = true;
- assertTrue(e instanceof TypeError);
-}
-assertTrue(caught);
diff --git a/src/3rdparty/v8/test/mjsunit/to-precision.js b/src/3rdparty/v8/test/mjsunit/to-precision.js
deleted file mode 100644
index 04c7d76..0000000
--- a/src/3rdparty/v8/test/mjsunit/to-precision.js
+++ /dev/null
@@ -1,82 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test the exponential notation output.
-assertEquals("1e+27", (1.2345e+27).toPrecision(1));
-assertEquals("1.2e+27", (1.2345e+27).toPrecision(2));
-assertEquals("1.23e+27", (1.2345e+27).toPrecision(3));
-assertEquals("1.234e+27", (1.2345e+27).toPrecision(4));
-assertEquals("1.2345e+27", (1.2345e+27).toPrecision(5));
-assertEquals("1.23450e+27", (1.2345e+27).toPrecision(6));
-assertEquals("1.234500e+27", (1.2345e+27).toPrecision(7));
-
-assertEquals("-1e+27", (-1.2345e+27).toPrecision(1));
-assertEquals("-1.2e+27", (-1.2345e+27).toPrecision(2));
-assertEquals("-1.23e+27", (-1.2345e+27).toPrecision(3));
-assertEquals("-1.234e+27", (-1.2345e+27).toPrecision(4));
-assertEquals("-1.2345e+27", (-1.2345e+27).toPrecision(5));
-assertEquals("-1.23450e+27", (-1.2345e+27).toPrecision(6));
-assertEquals("-1.234500e+27", (-1.2345e+27).toPrecision(7));
-
-
-// Test the fixed notation output.
-assertEquals("7", (7).toPrecision(1));
-assertEquals("7.0", (7).toPrecision(2));
-assertEquals("7.00", (7).toPrecision(3));
-
-assertEquals("-7", (-7).toPrecision(1));
-assertEquals("-7.0", (-7).toPrecision(2));
-assertEquals("-7.00", (-7).toPrecision(3));
-
-assertEquals("9e+1", (91).toPrecision(1));
-assertEquals("91", (91).toPrecision(2));
-assertEquals("91.0", (91).toPrecision(3));
-assertEquals("91.00", (91).toPrecision(4));
-
-assertEquals("-9e+1", (-91).toPrecision(1));
-assertEquals("-91", (-91).toPrecision(2));
-assertEquals("-91.0", (-91).toPrecision(3));
-assertEquals("-91.00", (-91).toPrecision(4));
-
-assertEquals("9e+1", (91.1234).toPrecision(1));
-assertEquals("91", (91.1234).toPrecision(2));
-assertEquals("91.1", (91.1234).toPrecision(3));
-assertEquals("91.12", (91.1234).toPrecision(4));
-assertEquals("91.123", (91.1234).toPrecision(5));
-assertEquals("91.1234", (91.1234).toPrecision(6));
-assertEquals("91.12340", (91.1234).toPrecision(7));
-assertEquals("91.123400", (91.1234).toPrecision(8));
-
-assertEquals("-9e+1", (-91.1234).toPrecision(1));
-assertEquals("-91", (-91.1234).toPrecision(2));
-assertEquals("-91.1", (-91.1234).toPrecision(3));
-assertEquals("-91.12", (-91.1234).toPrecision(4));
-assertEquals("-91.123", (-91.1234).toPrecision(5));
-assertEquals("-91.1234", (-91.1234).toPrecision(6));
-assertEquals("-91.12340", (-91.1234).toPrecision(7));
-assertEquals("-91.123400", (-91.1234).toPrecision(8));
-
diff --git a/src/3rdparty/v8/test/mjsunit/to_number_order.js b/src/3rdparty/v8/test/mjsunit/to_number_order.js
deleted file mode 100644
index 50e4bc7..0000000
--- a/src/3rdparty/v8/test/mjsunit/to_number_order.js
+++ /dev/null
@@ -1,215 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var x = "";
-var v = new Object();
-var w = new Object();
-var vv = function() { x += "hest"; return 1; }
-var ww = function() { x += "fisk"; return 2; }
-v.valueOf = vv;
-w.valueOf = ww;
-assertEquals(1, Math.min(v,w));
-assertEquals("hestfisk", x, "min");
-
-x = "";
-assertEquals(2, Math.max(v,w));
-assertEquals("hestfisk", x, "max");
-
-x = "";
-assertEquals(1, Math.max(v,v));
-assertEquals("hesthest", x, "max_identical");
-
-x = "";
-assertEquals(2, Math.min(w,w));
-assertEquals("fiskfisk", x, "max");
-
-x = "";
-assertEquals(Math.atan2(1, 2), Math.atan2(v, w));
-// JSC says fiskhest.
-assertEquals("hestfisk", x, "atan2");
-
-x = "";
-assertEquals(1, Math.pow(v, w));
-assertEquals("hestfisk", x, "pow");
-
-var year = { valueOf: function() { x += 1; return 2007; } };
-var month = { valueOf: function() { x += 2; return 2; } };
-var date = { valueOf: function() { x += 3; return 4; } };
-var hours = { valueOf: function() { x += 4; return 13; } };
-var minutes = { valueOf: function() { x += 5; return 50; } };
-var seconds = { valueOf: function() { x += 6; return 0; } };
-var ms = { valueOf: function() { x += 7; return 999; } };
-
-x = "";
-new Date(year, month, date, hours, minutes, seconds, ms);
-// JSC fails this one: Returns 12345671234567.
-assertEquals("1234567", x, "Date");
-
-x = "";
-Date(year, month, date, hours, minutes, seconds, ms);
-assertEquals("", x, "Date not constructor");
-
-x = "";
-Date.UTC(year, month, date, hours, minutes, seconds, ms);
-// JSC fails this one: Returns 12345671234567.
-assertEquals("1234567", x, "Date.UTC");
-
-x = "";
-new Date().setSeconds(seconds, ms);
-assertEquals("67", x, "Date.UTC");
-
-x = "";
-new Date().setSeconds(seconds, ms);
-assertEquals("67", x, "Date.setSeconds");
-
-x = "";
-new Date().setUTCSeconds(seconds, ms);
-assertEquals("67", x, "Date.setUTCSeconds");
-
-x = "";
-new Date().setMinutes(minutes, seconds, ms);
-assertEquals("567", x, "Date.setMinutes");
-
-x = "";
-new Date().setUTCMinutes(minutes, seconds, ms);
-assertEquals("567", x, "Date.setUTCMinutes");
-
-x = "";
-new Date().setHours(hours, minutes, seconds, ms);
-assertEquals("4567", x, "Date.setHours");
-
-x = "";
-new Date().setUTCHours(hours, minutes, seconds, ms);
-assertEquals("4567", x, "Date.setUTCHours");
-
-x = "";
-new Date().setDate(date, hours, minutes, seconds, ms);
-assertEquals("3", x, "Date.setDate");
-
-x = "";
-new Date().setUTCDate(date, hours, minutes, seconds, ms);
-assertEquals("3", x, "Date.setUTCDate");
-
-x = "";
-new Date().setMonth(month, date, hours, minutes, seconds, ms);
-assertEquals("23", x, "Date.setMonth");
-
-x = "";
-new Date().setUTCMonth(month, date, hours, minutes, seconds, ms);
-assertEquals("23", x, "Date.setUTCMonth");
-
-x = "";
-new Date().setFullYear(year, month, date, hours, minutes, seconds, ms);
-assertEquals("123", x, "Date.setFullYear");
-
-x = "";
-new Date().setUTCFullYear(year, month, date, hours, minutes, seconds, ms);
-assertEquals("123", x, "Date.setUTCFullYear");
-
-x = "";
-var a = { valueOf: function() { x += "hest"; return 97; } };
-var b = { valueOf: function() { x += "fisk"; return 98; } };
-assertEquals("ab", String.fromCharCode(a, b), "String.fromCharCode");
-assertEquals("hestfisk", x, "String.fromCharCode valueOf order");
-
-
-
-// Test whether valueOf is called when comparing identical objects
-x = "";
-assertTrue(a < b, "Compare objects a < b");
-assertEquals("hestfisk", x, "Compare objects a < b valueOf order");
-
-x = "";
-assertFalse(a < a, "Compare objects a < a");
-// assertEquals("hesthest", x, "Compare objects a < a valueOf order");
-
-x = "";
-assertTrue(a == a, "Compare objects a == a");
-assertEquals("", x, "Compare objects a == a valueOf not called");
-
-x = "";
-assertFalse(b > b, "Compare objects b > b");
-assertEquals("fiskfisk", x, "Compare objects b > b valueOf order");
-
-x = "";
-assertTrue(b >= b, "Compare objects b >= b");
-assertEquals("fiskfisk", x, "Compare objects b >= b valueOf order");
-
-x = "";
-assertFalse(a > b, "Compare objects a > b");
-assertEquals("hestfisk", x, "Compare objects a > b valueOf order");
-
-x = "";
-assertFalse(a > void(0), "Compare objects a > undefined");
-assertEquals("hest", x, "Compare objects a > undefined valueOf order");
-
-x = "";
-assertFalse(void(0) > b, "Compare objects undefined > b");
-assertEquals("fisk", x, "Compare objects undefined > b valueOf order");
-
-
-function identical_object_comparison() {
- x = "";
- assertTrue(a < b, "Compare objects a < b");
- assertEquals("hestfisk", x, "Compare objects a < b valueOf order");
-
- x = "";
- assertFalse(a < a, "Compare objects a < a");
- // assertEquals("hesthest", x, "Compare objects a < a valueOf order");
-
- x = "";
- assertTrue(a == a, "Compare objects a == a");
- assertEquals("", x, "Compare objects a == a valueOf not called");
-
- x = "";
- assertFalse(b > b, "Compare objects b > b");
- assertEquals("fiskfisk", x, "Compare objects b > b valueOf order");
-
- x = "";
- assertTrue(b >= b, "Compare objects b >= b");
- assertEquals("fiskfisk", x, "Compare objects b >= b valueOf order");
-
- x = "";
- assertFalse(a > b, "Compare objects a > b");
- assertEquals("hestfisk", x, "Compare objects a > b valueOf order");
-
- x = "";
- assertFalse(a > void(0), "Compare objects a > undefined");
- assertEquals("hest", x, "Compare objects a > undefined valueOf order");
-
- x = "";
- assertFalse(void(0) > b, "Compare objects undefined > b");
- assertEquals("fisk", x, "Compare objects undefined > b valueOf order");
-}
-
-// Call inside loop to test optimization and possible caching.
-for (i = 0; i < 3; ++i) {
- identical_object_comparison();
-}
-
-
-print("ok");
diff --git a/src/3rdparty/v8/test/mjsunit/tobool.js b/src/3rdparty/v8/test/mjsunit/tobool.js
deleted file mode 100644
index 65bffb6..0000000
--- a/src/3rdparty/v8/test/mjsunit/tobool.js
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// All objects, including wrappers, must convert to true.
-assertTrue(!!new Boolean(true), "new Boolean(true)");
-assertTrue(!!new Boolean(false), "new Boolean(false)");
-
-assertTrue(!!new Number(-1), "new Number(-1)");
-assertTrue(!!new Number(0), "new Number(0)");
-assertTrue(!!new Number(1), "new Number(1)");
-
-
diff --git a/src/3rdparty/v8/test/mjsunit/toint32.js b/src/3rdparty/v8/test/mjsunit/toint32.js
deleted file mode 100644
index 9dad9c9..0000000
--- a/src/3rdparty/v8/test/mjsunit/toint32.js
+++ /dev/null
@@ -1,129 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function toInt32(x) {
- return x | 0;
-}
-
-assertEquals(0, toInt32(Infinity), "Inf");
-assertEquals(0, toInt32(-Infinity), "-Inf");
-assertEquals(0, toInt32(NaN), "NaN");
-assertEquals(0, toInt32(0.0), "zero");
-assertEquals(0, toInt32(-0.0), "-zero");
-
-assertEquals(0, toInt32(Number.MIN_VALUE));
-assertEquals(0, toInt32(-Number.MIN_VALUE));
-assertEquals(0, toInt32(0.1));
-assertEquals(0, toInt32(-0.1));
-assertEquals(1, toInt32(1), "one");
-assertEquals(1, toInt32(1.1), "onepointone");
-assertEquals(-1, toInt32(-1), "-one");
-assertEquals(0, toInt32(0.6), "truncate positive (0.6)");
-assertEquals(1, toInt32(1.6), "truncate positive (1.6)");
-assertEquals(0, toInt32(-0.6), "truncate negative (-0.6)");
-assertEquals(-1, toInt32(-1.6), "truncate negative (-1.6)");
-
-assertEquals(2147483647, toInt32(2147483647));
-assertEquals(-2147483648, toInt32(2147483648));
-assertEquals(-2147483647, toInt32(2147483649));
-
-assertEquals(-1, toInt32(4294967295));
-assertEquals(0, toInt32(4294967296));
-assertEquals(1, toInt32(4294967297));
-
-assertEquals(-2147483647, toInt32(-2147483647));
-assertEquals(-2147483648, toInt32(-2147483648));
-assertEquals(2147483647, toInt32(-2147483649));
-
-assertEquals(1, toInt32(-4294967295));
-assertEquals(0, toInt32(-4294967296));
-assertEquals(-1, toInt32(-4294967297));
-
-assertEquals(-2147483648, toInt32(2147483648.25));
-assertEquals(-2147483648, toInt32(2147483648.5));
-assertEquals(-2147483648, toInt32(2147483648.75));
-assertEquals(-1, toInt32(4294967295.25));
-assertEquals(-1, toInt32(4294967295.5));
-assertEquals(-1, toInt32(4294967295.75));
-assertEquals(-1294967296, toInt32(3000000000.25));
-assertEquals(-1294967296, toInt32(3000000000.5));
-assertEquals(-1294967296, toInt32(3000000000.75));
-
-assertEquals(-2147483648, toInt32(-2147483648.25));
-assertEquals(-2147483648, toInt32(-2147483648.5));
-assertEquals(-2147483648, toInt32(-2147483648.75));
-assertEquals(1, toInt32(-4294967295.25));
-assertEquals(1, toInt32(-4294967295.5));
-assertEquals(1, toInt32(-4294967295.75));
-assertEquals(1294967296, toInt32(-3000000000.25));
-assertEquals(1294967296, toInt32(-3000000000.5));
-assertEquals(1294967296, toInt32(-3000000000.75));
-
-var base = Math.pow(2, 64);
-assertEquals(0, toInt32(base + 0));
-assertEquals(0, toInt32(base + 1117));
-assertEquals(4096, toInt32(base + 2234));
-assertEquals(4096, toInt32(base + 3351));
-assertEquals(4096, toInt32(base + 4468));
-assertEquals(4096, toInt32(base + 5585));
-assertEquals(8192, toInt32(base + 6702));
-assertEquals(8192, toInt32(base + 7819));
-assertEquals(8192, toInt32(base + 8936));
-assertEquals(8192, toInt32(base + 10053));
-assertEquals(12288, toInt32(base + 11170));
-assertEquals(12288, toInt32(base + 12287));
-assertEquals(12288, toInt32(base + 13404));
-assertEquals(16384, toInt32(base + 14521));
-assertEquals(16384, toInt32(base + 15638));
-assertEquals(16384, toInt32(base + 16755));
-assertEquals(16384, toInt32(base + 17872));
-assertEquals(20480, toInt32(base + 18989));
-assertEquals(20480, toInt32(base + 20106));
-assertEquals(20480, toInt32(base + 21223));
-assertEquals(20480, toInt32(base + 22340));
-assertEquals(24576, toInt32(base + 23457));
-assertEquals(24576, toInt32(base + 24574));
-assertEquals(24576, toInt32(base + 25691));
-assertEquals(28672, toInt32(base + 26808));
-assertEquals(28672, toInt32(base + 27925));
-assertEquals(28672, toInt32(base + 29042));
-assertEquals(28672, toInt32(base + 30159));
-assertEquals(32768, toInt32(base + 31276));
-
-// bignum is (2^53 - 1) * 2^31 - highest number with bit 31 set.
-var bignum = Math.pow(2, 84) - Math.pow(2, 31);
-assertEquals(-Math.pow(2,31), toInt32(bignum));
-assertEquals(-Math.pow(2,31), toInt32(-bignum));
-assertEquals(0, toInt32(2 * bignum));
-assertEquals(0, toInt32(-(2 * bignum)));
-assertEquals(0, toInt32(bignum - Math.pow(2,31)));
-assertEquals(0, toInt32(-(bignum - Math.pow(2,31))));
-
-// max_fraction is largest number below 1.
-var max_fraction = (1 - Math.pow(2,-53));
-assertEquals(0, toInt32(max_fraction));
-assertEquals(0, toInt32(-max_fraction));
diff --git a/src/3rdparty/v8/test/mjsunit/tools/codemap.js b/src/3rdparty/v8/test/mjsunit/tools/codemap.js
deleted file mode 100644
index 33d7e4e..0000000
--- a/src/3rdparty/v8/test/mjsunit/tools/codemap.js
+++ /dev/null
@@ -1,183 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Load Splay tree and CodeMap implementations from <project root>/tools.
-// Files: tools/splaytree.js tools/codemap.js
-
-
-function newCodeEntry(size, name) {
- return new CodeMap.CodeEntry(size, name);
-};
-
-
-function assertEntry(codeMap, expected_name, addr) {
- var entry = codeMap.findEntry(addr);
- assertNotNull(entry, 'no entry at ' + addr.toString(16));
- assertEquals(expected_name, entry.name, 'at ' + addr.toString(16));
-};
-
-
-function assertNoEntry(codeMap, addr) {
- assertNull(codeMap.findEntry(addr), 'at ' + addr.toString(16));
-};
-
-
-(function testLibrariesAndStaticCode() {
- var codeMap = new CodeMap();
- codeMap.addLibrary(0x1500, newCodeEntry(0x3000, 'lib1'));
- codeMap.addLibrary(0x15500, newCodeEntry(0x5000, 'lib2'));
- codeMap.addLibrary(0x155500, newCodeEntry(0x10000, 'lib3'));
- assertNoEntry(codeMap, 0);
- assertNoEntry(codeMap, 0x1500 - 1);
- assertEntry(codeMap, 'lib1', 0x1500);
- assertEntry(codeMap, 'lib1', 0x1500 + 0x100);
- assertEntry(codeMap, 'lib1', 0x1500 + 0x1000);
- assertEntry(codeMap, 'lib1', 0x1500 + 0x3000 - 1);
- assertNoEntry(codeMap, 0x1500 + 0x3000);
- assertNoEntry(codeMap, 0x15500 - 1);
- assertEntry(codeMap, 'lib2', 0x15500);
- assertEntry(codeMap, 'lib2', 0x15500 + 0x100);
- assertEntry(codeMap, 'lib2', 0x15500 + 0x1000);
- assertEntry(codeMap, 'lib2', 0x15500 + 0x5000 - 1);
- assertNoEntry(codeMap, 0x15500 + 0x5000);
- assertNoEntry(codeMap, 0x155500 - 1);
- assertEntry(codeMap, 'lib3', 0x155500);
- assertEntry(codeMap, 'lib3', 0x155500 + 0x100);
- assertEntry(codeMap, 'lib3', 0x155500 + 0x1000);
- assertEntry(codeMap, 'lib3', 0x155500 + 0x10000 - 1);
- assertNoEntry(codeMap, 0x155500 + 0x10000);
- assertNoEntry(codeMap, 0xFFFFFFFF);
-
- codeMap.addStaticCode(0x1510, newCodeEntry(0x30, 'lib1-f1'));
- codeMap.addStaticCode(0x1600, newCodeEntry(0x50, 'lib1-f2'));
- codeMap.addStaticCode(0x15520, newCodeEntry(0x100, 'lib2-f1'));
- assertEntry(codeMap, 'lib1', 0x1500);
- assertEntry(codeMap, 'lib1', 0x1510 - 1);
- assertEntry(codeMap, 'lib1-f1', 0x1510);
- assertEntry(codeMap, 'lib1-f1', 0x1510 + 0x15);
- assertEntry(codeMap, 'lib1-f1', 0x1510 + 0x30 - 1);
- assertEntry(codeMap, 'lib1', 0x1510 + 0x30);
- assertEntry(codeMap, 'lib1', 0x1600 - 1);
- assertEntry(codeMap, 'lib1-f2', 0x1600);
- assertEntry(codeMap, 'lib1-f2', 0x1600 + 0x30);
- assertEntry(codeMap, 'lib1-f2', 0x1600 + 0x50 - 1);
- assertEntry(codeMap, 'lib1', 0x1600 + 0x50);
- assertEntry(codeMap, 'lib2', 0x15500);
- assertEntry(codeMap, 'lib2', 0x15520 - 1);
- assertEntry(codeMap, 'lib2-f1', 0x15520);
- assertEntry(codeMap, 'lib2-f1', 0x15520 + 0x80);
- assertEntry(codeMap, 'lib2-f1', 0x15520 + 0x100 - 1);
- assertEntry(codeMap, 'lib2', 0x15520 + 0x100);
-
-})();
-
-
-(function testDynamicCode() {
- var codeMap = new CodeMap();
- codeMap.addCode(0x1500, newCodeEntry(0x200, 'code1'));
- codeMap.addCode(0x1700, newCodeEntry(0x100, 'code2'));
- codeMap.addCode(0x1900, newCodeEntry(0x50, 'code3'));
- codeMap.addCode(0x1950, newCodeEntry(0x10, 'code4'));
- assertNoEntry(codeMap, 0);
- assertNoEntry(codeMap, 0x1500 - 1);
- assertEntry(codeMap, 'code1', 0x1500);
- assertEntry(codeMap, 'code1', 0x1500 + 0x100);
- assertEntry(codeMap, 'code1', 0x1500 + 0x200 - 1);
- assertEntry(codeMap, 'code2', 0x1700);
- assertEntry(codeMap, 'code2', 0x1700 + 0x50);
- assertEntry(codeMap, 'code2', 0x1700 + 0x100 - 1);
- assertNoEntry(codeMap, 0x1700 + 0x100);
- assertNoEntry(codeMap, 0x1900 - 1);
- assertEntry(codeMap, 'code3', 0x1900);
- assertEntry(codeMap, 'code3', 0x1900 + 0x28);
- assertEntry(codeMap, 'code4', 0x1950);
- assertEntry(codeMap, 'code4', 0x1950 + 0x7);
- assertEntry(codeMap, 'code4', 0x1950 + 0x10 - 1);
- assertNoEntry(codeMap, 0x1950 + 0x10);
- assertNoEntry(codeMap, 0xFFFFFFFF);
-})();
-
-
-(function testCodeMovesAndDeletions() {
- var codeMap = new CodeMap();
- codeMap.addCode(0x1500, newCodeEntry(0x200, 'code1'));
- codeMap.addCode(0x1700, newCodeEntry(0x100, 'code2'));
- assertEntry(codeMap, 'code1', 0x1500);
- assertEntry(codeMap, 'code2', 0x1700);
- codeMap.moveCode(0x1500, 0x1800);
- assertNoEntry(codeMap, 0x1500);
- assertEntry(codeMap, 'code2', 0x1700);
- assertEntry(codeMap, 'code1', 0x1800);
- codeMap.deleteCode(0x1700);
- assertNoEntry(codeMap, 0x1700);
- assertEntry(codeMap, 'code1', 0x1800);
-})();
-
-
-(function testDynamicNamesDuplicates() {
- var codeMap = new CodeMap();
- // Code entries with same names but different addresses.
- codeMap.addCode(0x1500, newCodeEntry(0x200, 'code'));
- codeMap.addCode(0x1700, newCodeEntry(0x100, 'code'));
- assertEntry(codeMap, 'code', 0x1500);
- assertEntry(codeMap, 'code {1}', 0x1700);
- // Test name stability.
- assertEntry(codeMap, 'code', 0x1500);
- assertEntry(codeMap, 'code {1}', 0x1700);
-})();
-
-
-(function testStaticEntriesExport() {
- var codeMap = new CodeMap();
- codeMap.addStaticCode(0x1500, newCodeEntry(0x3000, 'lib1'));
- codeMap.addStaticCode(0x15500, newCodeEntry(0x5000, 'lib2'));
- codeMap.addStaticCode(0x155500, newCodeEntry(0x10000, 'lib3'));
- var allStatics = codeMap.getAllStaticEntries();
- allStatics = allStatics.map(String);
- allStatics.sort();
- assertEquals(['lib1: 3000', 'lib2: 5000', 'lib3: 10000'], allStatics);
-})();
-
-
-(function testDynamicEntriesExport() {
- var codeMap = new CodeMap();
- codeMap.addCode(0x1500, newCodeEntry(0x200, 'code1'));
- codeMap.addCode(0x1700, newCodeEntry(0x100, 'code2'));
- codeMap.addCode(0x1900, newCodeEntry(0x50, 'code3'));
- var allDynamics = codeMap.getAllDynamicEntries();
- allDynamics = allDynamics.map(String);
- allDynamics.sort();
- assertEquals(['code1: 200', 'code2: 100', 'code3: 50'], allDynamics);
- codeMap.deleteCode(0x1700);
- var allDynamics2 = codeMap.getAllDynamicEntries();
- allDynamics2 = allDynamics2.map(String);
- allDynamics2.sort();
- assertEquals(['code1: 200', 'code3: 50'], allDynamics2);
- codeMap.deleteCode(0x1500);
- var allDynamics3 = codeMap.getAllDynamicEntries();
- assertEquals(['code3: 50'], allDynamics3.map(String));
-})();
diff --git a/src/3rdparty/v8/test/mjsunit/tools/consarray.js b/src/3rdparty/v8/test/mjsunit/tools/consarray.js
deleted file mode 100644
index 8b2c59b..0000000
--- a/src/3rdparty/v8/test/mjsunit/tools/consarray.js
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Load ConsArray implementation from <project root>/tools.
-// Files: tools/consarray.js
-
-
-var arr1 = new ConsArray();
-assertTrue(arr1.atEnd());
-
-arr1.concat([]);
-assertTrue(arr1.atEnd());
-
-arr1.concat([1]);
-assertFalse(arr1.atEnd());
-assertEquals(1, arr1.next());
-assertTrue(arr1.atEnd());
-
-arr1.concat([2, 3, 4]);
-arr1.concat([5]);
-arr1.concat([]);
-arr1.concat([6, 7]);
-
-assertFalse(arr1.atEnd());
-assertEquals(2, arr1.next());
-assertFalse(arr1.atEnd());
-assertEquals(3, arr1.next());
-assertFalse(arr1.atEnd());
-assertEquals(4, arr1.next());
-assertFalse(arr1.atEnd());
-assertEquals(5, arr1.next());
-assertFalse(arr1.atEnd());
-assertEquals(6, arr1.next());
-assertFalse(arr1.atEnd());
-assertEquals(7, arr1.next());
-assertTrue(arr1.atEnd());
diff --git a/src/3rdparty/v8/test/mjsunit/tools/csvparser.js b/src/3rdparty/v8/test/mjsunit/tools/csvparser.js
deleted file mode 100644
index f1449f6..0000000
--- a/src/3rdparty/v8/test/mjsunit/tools/csvparser.js
+++ /dev/null
@@ -1,83 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Load CSV parser implementation from <project root>/tools.
-// Files: tools/csvparser.js
-
-var parser = new CsvParser();
-
-assertEquals(
- [],
- parser.parseLine(''));
-
-assertEquals(
- ['', ''],
- parser.parseLine(','));
-
-assertEquals(
- ['1997','Ford','E350'],
- parser.parseLine('1997,Ford,E350'));
-
-assertEquals(
- ['1997','Ford','E350'],
- parser.parseLine('"1997","Ford","E350"'));
-
-assertEquals(
- ['1997','Ford','E350','Super, luxurious truck'],
- parser.parseLine('1997,Ford,E350,"Super, luxurious truck"'));
-
-assertEquals(
- ['1997','Ford','E350','Super "luxurious" truck'],
- parser.parseLine('1997,Ford,E350,"Super ""luxurious"" truck"'));
-
-assertEquals(
- ['1997','Ford','E350','Super "luxurious" "truck"'],
- parser.parseLine('1997,Ford,E350,"Super ""luxurious"" ""truck"""'));
-
-assertEquals(
- ['1997','Ford','E350','Super "luxurious""truck"'],
- parser.parseLine('1997,Ford,E350,"Super ""luxurious""""truck"""'));
-
-assertEquals(
- ['shared-library','/lib/ld-2.3.6.so','0x489a2000','0x489b7000'],
- parser.parseLine('shared-library,"/lib/ld-2.3.6.so",0x489a2000,0x489b7000'));
-
-assertEquals(
- ['code-creation','LazyCompile','0xf6fe2d20','1201','APPLY_PREPARE native runtime.js:165'],
- parser.parseLine('code-creation,LazyCompile,0xf6fe2d20,1201,"APPLY_PREPARE native runtime.js:165"'));
-
-assertEquals(
- ['code-creation','LazyCompile','0xf6fe4bc0','282',' native v8natives.js:69'],
- parser.parseLine('code-creation,LazyCompile,0xf6fe4bc0,282," native v8natives.js:69"'));
-
-assertEquals(
- ['code-creation','RegExp','0xf6c21c00','826','NccyrJroXvg\\/([^,]*)'],
- parser.parseLine('code-creation,RegExp,0xf6c21c00,826,"NccyrJroXvg\\/([^,]*)"'));
-
-assertEquals(
- ['code-creation','Function','0x42f0a0','163',''],
- parser.parseLine('code-creation,Function,0x42f0a0,163,""'));
diff --git a/src/3rdparty/v8/test/mjsunit/tools/profile.js b/src/3rdparty/v8/test/mjsunit/tools/profile.js
deleted file mode 100644
index 4df1a08..0000000
--- a/src/3rdparty/v8/test/mjsunit/tools/profile.js
+++ /dev/null
@@ -1,348 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Load source code files from <project root>/tools.
-// Files: tools/splaytree.js tools/codemap.js tools/consarray.js tools/profile.js
-
-
-function stackToString(stack) {
- return stack.join(' -> ');
-};
-
-
-function assertPathExists(root, path, opt_message) {
- var message = opt_message ? ' (' + opt_message + ')' : '';
- assertNotNull(root.descendToChild(path, function(node, pos) {
- assertNotNull(node,
- stackToString(path.slice(0, pos)) + ' has no child ' +
- path[pos] + message);
- }), opt_message);
-};
-
-
-function assertNoPathExists(root, path, opt_message) {
- var message = opt_message ? ' (' + opt_message + ')' : '';
- assertNull(root.descendToChild(path), opt_message);
-};
-
-
-function countNodes(profile, traverseFunc) {
- var count = 0;
- traverseFunc.call(profile, function () { count++; });
- return count;
-};
-
-
-function ProfileTestDriver() {
- this.profile = new Profile();
- this.stack_ = [];
- this.addFunctions_();
-};
-
-
-// Addresses inside functions.
-ProfileTestDriver.prototype.funcAddrs_ = {
- 'lib1-f1': 0x11110, 'lib1-f2': 0x11210,
- 'lib2-f1': 0x21110, 'lib2-f2': 0x21210,
- 'T: F1': 0x50110, 'T: F2': 0x50210, 'T: F3': 0x50410 };
-
-
-ProfileTestDriver.prototype.addFunctions_ = function() {
- this.profile.addLibrary('lib1', 0x11000, 0x12000);
- this.profile.addStaticCode('lib1-f1', 0x11100, 0x11900);
- this.profile.addStaticCode('lib1-f2', 0x11200, 0x11500);
- this.profile.addLibrary('lib2', 0x21000, 0x22000);
- this.profile.addStaticCode('lib2-f1', 0x21100, 0x21900);
- this.profile.addStaticCode('lib2-f2', 0x21200, 0x21500);
- this.profile.addCode('T', 'F1', 0x50100, 0x100);
- this.profile.addCode('T', 'F2', 0x50200, 0x100);
- this.profile.addCode('T', 'F3', 0x50400, 0x100);
-};
-
-
-ProfileTestDriver.prototype.enter = function(funcName) {
- // Stack looks like this: [pc, caller, ..., main].
- // Therefore, we are adding entries at the beginning.
- this.stack_.unshift(this.funcAddrs_[funcName]);
- this.profile.recordTick(this.stack_);
-};
-
-
-ProfileTestDriver.prototype.stay = function() {
- this.profile.recordTick(this.stack_);
-};
-
-
-ProfileTestDriver.prototype.leave = function() {
- this.stack_.shift();
-};
-
-
-ProfileTestDriver.prototype.execute = function() {
- this.enter('lib1-f1');
- this.enter('lib1-f2');
- this.enter('T: F1');
- this.enter('T: F2');
- this.leave();
- this.stay();
- this.enter('lib2-f1');
- this.enter('lib2-f1');
- this.leave();
- this.stay();
- this.leave();
- this.enter('T: F3');
- this.enter('T: F3');
- this.enter('T: F3');
- this.leave();
- this.enter('T: F2');
- this.stay();
- this.leave();
- this.leave();
- this.leave();
- this.leave();
- this.enter('lib2-f1');
- this.enter('lib1-f1');
- this.leave();
- this.leave();
- this.stay();
- this.leave();
-};
-
-
-function Inherits(childCtor, parentCtor) {
- function tempCtor() {};
- tempCtor.prototype = parentCtor.prototype;
- childCtor.superClass_ = parentCtor.prototype;
- childCtor.prototype = new tempCtor();
- childCtor.prototype.constructor = childCtor;
-};
-
-
-(function testCallTreeBuilding() {
- function Driver() {
- ProfileTestDriver.call(this);
- this.namesTopDown = [];
- this.namesBottomUp = [];
- };
- Inherits(Driver, ProfileTestDriver);
-
- Driver.prototype.enter = function(func) {
- this.namesTopDown.push(func);
- this.namesBottomUp.unshift(func);
- assertNoPathExists(this.profile.getTopDownProfile().getRoot(), this.namesTopDown,
- 'pre enter/topDown');
- assertNoPathExists(this.profile.getBottomUpProfile().getRoot(), this.namesBottomUp,
- 'pre enter/bottomUp');
- Driver.superClass_.enter.call(this, func);
- assertPathExists(this.profile.getTopDownProfile().getRoot(), this.namesTopDown,
- 'post enter/topDown');
- assertPathExists(this.profile.getBottomUpProfile().getRoot(), this.namesBottomUp,
- 'post enter/bottomUp');
- };
-
- Driver.prototype.stay = function() {
- var preTopDownNodes = countNodes(this.profile, this.profile.traverseTopDownTree);
- var preBottomUpNodes = countNodes(this.profile, this.profile.traverseBottomUpTree);
- Driver.superClass_.stay.call(this);
- var postTopDownNodes = countNodes(this.profile, this.profile.traverseTopDownTree);
- var postBottomUpNodes = countNodes(this.profile, this.profile.traverseBottomUpTree);
- // Must be no changes in tree layout.
- assertEquals(preTopDownNodes, postTopDownNodes, 'stay/topDown');
- assertEquals(preBottomUpNodes, postBottomUpNodes, 'stay/bottomUp');
- };
-
- Driver.prototype.leave = function() {
- Driver.superClass_.leave.call(this);
- this.namesTopDown.pop();
- this.namesBottomUp.shift();
- };
-
- var testDriver = new Driver();
- testDriver.execute();
-})();
-
-
-function assertNodeWeights(root, path, selfTicks, totalTicks) {
- var node = root.descendToChild(path);
- var stack = stackToString(path);
- assertNotNull(node, 'node not found: ' + stack);
- assertEquals(selfTicks, node.selfWeight, 'self of ' + stack);
- assertEquals(totalTicks, node.totalWeight, 'total of ' + stack);
-};
-
-
-(function testTopDownRootProfileTicks() {
- var testDriver = new ProfileTestDriver();
- testDriver.execute();
-
- var pathWeights = [
- [['lib1-f1'], 1, 16],
- [['lib1-f1', 'lib1-f2'], 2, 15],
- [['lib1-f1', 'lib1-f2', 'T: F1'], 2, 11],
- [['lib1-f1', 'lib1-f2', 'T: F1', 'T: F2'], 1, 1],
- [['lib1-f1', 'lib1-f2', 'T: F1', 'lib2-f1'], 2, 3],
- [['lib1-f1', 'lib1-f2', 'T: F1', 'lib2-f1', 'lib2-f1'], 1, 1],
- [['lib1-f1', 'lib1-f2', 'T: F1', 'T: F3'], 1, 5],
- [['lib1-f1', 'lib1-f2', 'T: F1', 'T: F3', 'T: F3'], 1, 4],
- [['lib1-f1', 'lib1-f2', 'T: F1', 'T: F3', 'T: F3', 'T: F3'], 1, 1],
- [['lib1-f1', 'lib1-f2', 'T: F1', 'T: F3', 'T: F3', 'T: F2'], 2, 2],
- [['lib1-f1', 'lib1-f2', 'lib2-f1'], 1, 2],
- [['lib1-f1', 'lib1-f2', 'lib2-f1', 'lib1-f1'], 1, 1]
- ];
-
- var root = testDriver.profile.getTopDownProfile().getRoot();
- for (var i = 0; i < pathWeights.length; ++i) {
- var data = pathWeights[i];
- assertNodeWeights(root, data[0], data[1], data[2]);
- }
-})();
-
-
-(function testRootFlatProfileTicks() {
- function Driver() {
- ProfileTestDriver.call(this);
- this.namesTopDown = [''];
- this.counters = {};
- this.root = null;
- };
- Inherits(Driver, ProfileTestDriver);
-
- Driver.prototype.increment = function(func, self, total) {
- if (!(func in this.counters)) {
- this.counters[func] = { self: 0, total: 0 };
- }
- this.counters[func].self += self;
- this.counters[func].total += total;
- };
-
- Driver.prototype.incrementTotals = function() {
- // Only count each function in the stack once.
- var met = {};
- for (var i = 0; i < this.namesTopDown.length; ++i) {
- var name = this.namesTopDown[i];
- if (!(name in met)) {
- this.increment(name, 0, 1);
- }
- met[name] = true;
- }
- };
-
- Driver.prototype.enter = function(func) {
- Driver.superClass_.enter.call(this, func);
- this.namesTopDown.push(func);
- this.increment(func, 1, 0);
- this.incrementTotals();
- };
-
- Driver.prototype.stay = function() {
- Driver.superClass_.stay.call(this);
- this.increment(this.namesTopDown[this.namesTopDown.length - 1], 1, 0);
- this.incrementTotals();
- };
-
- Driver.prototype.leave = function() {
- Driver.superClass_.leave.call(this);
- this.namesTopDown.pop();
- };
-
- Driver.prototype.extractRoot = function() {
- assertTrue('' in this.counters);
- this.root = this.counters[''];
- delete this.counters[''];
- };
-
- var testDriver = new Driver();
- testDriver.execute();
- testDriver.extractRoot();
-
- var counted = 0;
- for (var c in testDriver.counters) {
- counted++;
- }
-
- var flatProfileRoot = testDriver.profile.getFlatProfile().getRoot();
- assertEquals(testDriver.root.self, flatProfileRoot.selfWeight);
- assertEquals(testDriver.root.total, flatProfileRoot.totalWeight);
-
- var flatProfile = flatProfileRoot.exportChildren();
- assertEquals(counted, flatProfile.length, 'counted vs. flatProfile');
- for (var i = 0; i < flatProfile.length; ++i) {
- var rec = flatProfile[i];
- assertTrue(rec.label in testDriver.counters, 'uncounted: ' + rec.label);
- var reference = testDriver.counters[rec.label];
- assertEquals(reference.self, rec.selfWeight, 'self of ' + rec.label);
- assertEquals(reference.total, rec.totalWeight, 'total of ' + rec.label);
- }
-
-})();
-
-
-(function testFunctionCalleesProfileTicks() {
- var testDriver = new ProfileTestDriver();
- testDriver.execute();
-
- var pathWeights = [
- [['lib2-f1'], 3, 5],
- [['lib2-f1', 'lib2-f1'], 1, 1],
- [['lib2-f1', 'lib1-f1'], 1, 1]
- ];
-
- var profile = testDriver.profile.getTopDownProfile('lib2-f1');
- var root = profile.getRoot();
- for (var i = 0; i < pathWeights.length; ++i) {
- var data = pathWeights[i];
- assertNodeWeights(root, data[0], data[1], data[2]);
- }
-})();
-
-
-(function testFunctionFlatProfileTicks() {
- var testDriver = new ProfileTestDriver();
- testDriver.execute();
-
- var flatWeights = {
- 'lib2-f1': [1, 1],
- 'lib1-f1': [1, 1]
- };
-
- var flatProfileRoot =
- testDriver.profile.getFlatProfile('lib2-f1').findOrAddChild('lib2-f1');
- assertEquals(3, flatProfileRoot.selfWeight);
- assertEquals(5, flatProfileRoot.totalWeight);
-
- var flatProfile = flatProfileRoot.exportChildren();
- assertEquals(2, flatProfile.length, 'counted vs. flatProfile');
- for (var i = 0; i < flatProfile.length; ++i) {
- var rec = flatProfile[i];
- assertTrue(rec.label in flatWeights, 'uncounted: ' + rec.label);
- var reference = flatWeights[rec.label];
- assertEquals(reference[0], rec.selfWeight, 'self of ' + rec.label);
- assertEquals(reference[1], rec.totalWeight, 'total of ' + rec.label);
- }
-
-})();
-
diff --git a/src/3rdparty/v8/test/mjsunit/tools/profile_view.js b/src/3rdparty/v8/test/mjsunit/tools/profile_view.js
deleted file mode 100644
index d62205b..0000000
--- a/src/3rdparty/v8/test/mjsunit/tools/profile_view.js
+++ /dev/null
@@ -1,96 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Load source code files from <project root>/tools.
-// Files: tools/codemap.js tools/consarray.js tools/profile.js
-// Files: tools/profile_view.js
-
-
-function createNode(name, time, opt_parent) {
- var node = new ProfileView.Node(name, time, time, null);
- if (opt_parent) {
- opt_parent.addChild(node);
- }
- return node;
-}
-
-
-(function testSorting() {
- //
- // Build a tree:
- // root +--c/5
- // | |
- // +--a/2 +--b/3--+--d/4
- // | | |
- // +--a/1--+--c/1 +--d/2
- // | |
- // +--c/1 +--b/2
- //
- // So we can sort it using 2 fields: name and time.
- var root = createNode('root', 0);
- createNode('a', 2, root);
- var a1 = createNode('a', 1, root);
- createNode('c', 1, root);
- var b3 = createNode('b', 3, a1);
- createNode('c', 1, a1);
- createNode('b', 2, a1);
- createNode('c', 5, b3);
- createNode('d', 4, b3);
- createNode('d', 2, b3);
-
- var view = new ProfileView(root);
- var flatTree = [];
-
- function fillFlatTree(node) {
- flatTree.push(node.internalFuncName);
- flatTree.push(node.selfTime);
- }
-
- view.traverse(fillFlatTree);
- assertEquals(
- ['root', 0,
- 'a', 2, 'a', 1, 'c', 1,
- 'b', 3, 'c', 1, 'b', 2,
- 'c', 5, 'd', 4, 'd', 2], flatTree);
-
- function cmpStrs(s1, s2) {
- return s1 == s2 ? 0 : (s1 < s2 ? -1 : 1);
- }
-
- view.sort(function(n1, n2) {
- return cmpStrs(n1.internalFuncName, n2.internalFuncName) ||
- (n1.selfTime - n2.selfTime);
- });
-
- flatTree = [];
- view.traverse(fillFlatTree);
- assertEquals(
- ['root', 0,
- 'a', 1, 'a', 2, 'c', 1,
- 'b', 2, 'b', 3, 'c', 1,
- 'c', 5, 'd', 2, 'd', 4], flatTree);
-})();
diff --git a/src/3rdparty/v8/test/mjsunit/tools/splaytree.js b/src/3rdparty/v8/test/mjsunit/tools/splaytree.js
deleted file mode 100644
index d582dc9..0000000
--- a/src/3rdparty/v8/test/mjsunit/tools/splaytree.js
+++ /dev/null
@@ -1,166 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Load the Splay tree implementation from <project root>/tools.
-// Files: tools/splaytree.js
-
-
-(function testIsEmpty() {
- var tree = new SplayTree();
- assertTrue(tree.isEmpty());
- tree.insert(0, 'value');
- assertFalse(tree.isEmpty());
-})();
-
-
-(function testExportValues() {
- var tree = new SplayTree();
- assertArrayEquals([], tree.exportValues());
- tree.insert(0, 'value');
- assertArrayEquals(['value'], tree.exportValues());
- tree.insert(0, 'value');
- assertArrayEquals(['value'], tree.exportValues());
-})();
-
-
-function createSampleTree() {
- // Creates the following tree:
- // 50
- // / \
- // 30 60
- // / \ \
- // 10 40 90
- // \ / \
- // 20 70 100
- // / \
- // 15 80
- //
- // We can't use the 'insert' method because it also uses 'splay_'.
- return { key: 50, value: 50,
- left: { key: 30, value: 30,
- left: { key: 10, value: 10, left: null,
- right: { key: 20, value: 20,
- left: { key: 15, value: 15,
- left: null, right: null },
- right: null } },
- right: { key: 40, value: 40, left: null, right: null } },
- right: { key: 60, value: 60, left: null,
- right: { key: 90, value: 90,
- left: { key: 70, value: 70, left: null,
- right: { key: 80, value: 80,
- left: null, right: null } },
- right: { key: 100, value: 100,
- left: null, right: null } } } };
-};
-
-
-(function testSplay() {
- var tree = new SplayTree();
- tree.root_ = createSampleTree();
- assertArrayEquals([50, 30, 60, 10, 40, 90, 20, 70, 100, 15, 80],
- tree.exportValues());
- tree.splay_(50);
- assertArrayEquals([50, 30, 60, 10, 40, 90, 20, 70, 100, 15, 80],
- tree.exportValues());
- tree.splay_(80);
- assertArrayEquals([80, 60, 90, 50, 70, 100, 30, 10, 40, 20, 15],
- tree.exportValues());
-})();
-
-
-(function testInsert() {
- var tree = new SplayTree();
- tree.insert(5, 'root');
- tree.insert(3, 'left');
- assertArrayEquals(['left', 'root'], tree.exportValues());
- tree.insert(7, 'right');
- assertArrayEquals(['right', 'root', 'left'], tree.exportValues());
-})();
-
-
-(function testFind() {
- var tree = new SplayTree();
- tree.insert(5, 'root');
- tree.insert(3, 'left');
- tree.insert(7, 'right');
- assertEquals('root', tree.find(5).value);
- assertEquals('left', tree.find(3).value);
- assertEquals('right', tree.find(7).value);
- assertEquals(null, tree.find(0));
- assertEquals(null, tree.find(100));
- assertEquals(null, tree.find(-100));
-})();
-
-
-(function testFindMin() {
- var tree = new SplayTree();
- assertEquals(null, tree.findMin());
- tree.insert(5, 'root');
- tree.insert(3, 'left');
- tree.insert(7, 'right');
- assertEquals('left', tree.findMin().value);
-})();
-
-
-(function testFindMax() {
- var tree = new SplayTree();
- assertEquals(null, tree.findMax());
- tree.insert(5, 'root');
- tree.insert(3, 'left');
- tree.insert(7, 'right');
- assertEquals('right', tree.findMax().value);
-})();
-
-
-(function testFindGreatestLessThan() {
- var tree = new SplayTree();
- assertEquals(null, tree.findGreatestLessThan(10));
- tree.insert(5, 'root');
- tree.insert(3, 'left');
- tree.insert(7, 'right');
- assertEquals('right', tree.findGreatestLessThan(10).value);
- assertEquals('right', tree.findGreatestLessThan(7).value);
- assertEquals('root', tree.findGreatestLessThan(6).value);
- assertEquals('left', tree.findGreatestLessThan(4).value);
- assertEquals(null, tree.findGreatestLessThan(2));
-})();
-
-
-(function testRemove() {
- var tree = new SplayTree();
- assertThrows('tree.remove(5)');
- tree.insert(5, 'root');
- tree.insert(3, 'left');
- tree.insert(7, 'right');
- assertThrows('tree.remove(1)');
- assertThrows('tree.remove(6)');
- assertThrows('tree.remove(10)');
- assertEquals('root', tree.remove(5).value);
- assertEquals('left', tree.remove(3).value);
- assertEquals('right', tree.remove(7).value);
- assertArrayEquals([], tree.exportValues());
-})();
diff --git a/src/3rdparty/v8/test/mjsunit/tools/tickprocessor-test-func-info.log b/src/3rdparty/v8/test/mjsunit/tools/tickprocessor-test-func-info.log
deleted file mode 100644
index 5e64dc0..0000000
--- a/src/3rdparty/v8/test/mjsunit/tools/tickprocessor-test-func-info.log
+++ /dev/null
@@ -1,11 +0,0 @@
-shared-library,"shell",0x08048000,0x081ee000
-shared-library,"/lib32/libm-2.7.so",0xf7db6000,0xf7dd9000
-shared-library,"ffffe000-fffff000",0xffffe000,0xfffff000
-profiler,"begin",1
-code-creation,Stub,0,0x424260,348,"CompareStub_GE"
-code-creation,LazyCompile,0,0x2a8100,18535,"DrawQube 3d-cube.js:188",0xf43abcac,
-code-creation,LazyCompile,0,0x480100,3908,"DrawLine 3d-cube.js:17",0xf43abc50,
-tick,0x424284,0xbfffeea0,0,0,0x480600,0,0x2aaaa5
-tick,0x42429f,0xbfffed88,0,0,0x480600,0,0x2aacb4
-tick,0x48063d,0xbfffec7c,0,0,0x2d0f7c,0,0x2aaec6
-profiler,"end"
diff --git a/src/3rdparty/v8/test/mjsunit/tools/tickprocessor-test.default b/src/3rdparty/v8/test/mjsunit/tools/tickprocessor-test.default
deleted file mode 100644
index 702f4bc..0000000
--- a/src/3rdparty/v8/test/mjsunit/tools/tickprocessor-test.default
+++ /dev/null
@@ -1,55 +0,0 @@
-Statistical profiling result from v8.log, (13 ticks, 2 unaccounted, 0 excluded).
-
- [Unknown]:
- ticks total nonlib name
- 2 15.4%
-
- [Shared libraries]:
- ticks total nonlib name
- 3 23.1% 0.0% /lib32/libm-2.7.so
- 1 7.7% 0.0% ffffe000-fffff000
-
- [JavaScript]:
- ticks total nonlib name
- 1 7.7% 11.1% LazyCompile: exp native math.js:41
-
- [C++]:
- ticks total nonlib name
- 2 15.4% 22.2% v8::internal::Runtime_Math_exp(v8::internal::Arguments)
- 1 7.7% 11.1% v8::internal::JSObject::LocalLookupRealNamedProperty(v8::internal::String*, v8::internal::LookupResult*)
- 1 7.7% 11.1% v8::internal::HashTable<v8::internal::StringDictionaryShape, v8::internal::String*>::FindEntry(v8::internal::String*)
- 1 7.7% 11.1% exp
-
- [GC]:
- ticks total nonlib name
- 0 0.0%
-
- [Bottom up (heavy) profile]:
- Note: percentage shows a share of a particular caller in the total
- amount of its parent calls.
- Callers occupying less than 2.0% are not shown.
-
- ticks parent name
- 3 23.1% /lib32/libm-2.7.so
- 3 100.0% LazyCompile: exp native math.js:41
- 3 100.0% Script: exp.js
-
- 2 15.4% v8::internal::Runtime_Math_exp(v8::internal::Arguments)
- 2 100.0% LazyCompile: exp native math.js:41
- 2 100.0% Script: exp.js
-
- 1 7.7% v8::internal::JSObject::LocalLookupRealNamedProperty(v8::internal::String*, v8::internal::LookupResult*)
- 1 100.0% Script: exp.js
-
- 1 7.7% v8::internal::HashTable<v8::internal::StringDictionaryShape, v8::internal::String*>::FindEntry(v8::internal::String*)
- 1 100.0% Script: exp.js
-
- 1 7.7% ffffe000-fffff000
-
- 1 7.7% exp
- 1 100.0% LazyCompile: exp native math.js:41
- 1 100.0% Script: exp.js
-
- 1 7.7% LazyCompile: exp native math.js:41
- 1 100.0% Script: exp.js
-
diff --git a/src/3rdparty/v8/test/mjsunit/tools/tickprocessor-test.func-info b/src/3rdparty/v8/test/mjsunit/tools/tickprocessor-test.func-info
deleted file mode 100644
index a66b90f..0000000
--- a/src/3rdparty/v8/test/mjsunit/tools/tickprocessor-test.func-info
+++ /dev/null
@@ -1,29 +0,0 @@
-Statistical profiling result from v8.log, (3 ticks, 0 unaccounted, 0 excluded).
-
- [Shared libraries]:
- ticks total nonlib name
-
- [JavaScript]:
- ticks total nonlib name
- 2 66.7% 66.7% Stub: CompareStub_GE
- 1 33.3% 33.3% LazyCompile: DrawLine 3d-cube.js:17
-
- [C++]:
- ticks total nonlib name
-
- [GC]:
- ticks total nonlib name
- 0 0.0%
-
- [Bottom up (heavy) profile]:
- Note: percentage shows a share of a particular caller in the total
- amount of its parent calls.
- Callers occupying less than 2.0% are not shown.
-
- ticks parent name
- 2 66.7% Stub: CompareStub_GE
- 2 100.0% LazyCompile: DrawLine 3d-cube.js:17
- 2 100.0% LazyCompile: DrawQube 3d-cube.js:188
-
- 1 33.3% LazyCompile: DrawLine 3d-cube.js:17
- 1 100.0% LazyCompile: DrawQube 3d-cube.js:188
diff --git a/src/3rdparty/v8/test/mjsunit/tools/tickprocessor-test.gc-state b/src/3rdparty/v8/test/mjsunit/tools/tickprocessor-test.gc-state
deleted file mode 100644
index 40f90db..0000000
--- a/src/3rdparty/v8/test/mjsunit/tools/tickprocessor-test.gc-state
+++ /dev/null
@@ -1,21 +0,0 @@
-Statistical profiling result from v8.log, (13 ticks, 0 unaccounted, 13 excluded).
-
- [Shared libraries]:
- ticks total nonlib name
-
- [JavaScript]:
- ticks total nonlib name
-
- [C++]:
- ticks total nonlib name
-
- [GC]:
- ticks total nonlib name
- 0 0.0%
-
- [Bottom up (heavy) profile]:
- Note: percentage shows a share of a particular caller in the total
- amount of its parent calls.
- Callers occupying less than 2.0% are not shown.
-
- ticks parent name
diff --git a/src/3rdparty/v8/test/mjsunit/tools/tickprocessor-test.ignore-unknown b/src/3rdparty/v8/test/mjsunit/tools/tickprocessor-test.ignore-unknown
deleted file mode 100644
index 306d646..0000000
--- a/src/3rdparty/v8/test/mjsunit/tools/tickprocessor-test.ignore-unknown
+++ /dev/null
@@ -1,51 +0,0 @@
-Statistical profiling result from v8.log, (13 ticks, 2 unaccounted, 0 excluded).
-
- [Shared libraries]:
- ticks total nonlib name
- 3 27.3% 0.0% /lib32/libm-2.7.so
- 1 9.1% 0.0% ffffe000-fffff000
-
- [JavaScript]:
- ticks total nonlib name
- 1 9.1% 14.3% LazyCompile: exp native math.js:41
-
- [C++]:
- ticks total nonlib name
- 2 18.2% 28.6% v8::internal::Runtime_Math_exp(v8::internal::Arguments)
- 1 9.1% 14.3% v8::internal::JSObject::LocalLookupRealNamedProperty(v8::internal::String*, v8::internal::LookupResult*)
- 1 9.1% 14.3% v8::internal::HashTable<v8::internal::StringDictionaryShape, v8::internal::String*>::FindEntry(v8::internal::String*)
- 1 9.1% 14.3% exp
-
- [GC]:
- ticks total nonlib name
- 0 0.0%
-
- [Bottom up (heavy) profile]:
- Note: percentage shows a share of a particular caller in the total
- amount of its parent calls.
- Callers occupying less than 2.0% are not shown.
-
- ticks parent name
- 3 27.3% /lib32/libm-2.7.so
- 3 100.0% LazyCompile: exp native math.js:41
- 3 100.0% Script: exp.js
-
- 2 18.2% v8::internal::Runtime_Math_exp(v8::internal::Arguments)
- 2 100.0% LazyCompile: exp native math.js:41
- 2 100.0% Script: exp.js
-
- 1 9.1% v8::internal::JSObject::LocalLookupRealNamedProperty(v8::internal::String*, v8::internal::LookupResult*)
- 1 100.0% Script: exp.js
-
- 1 9.1% v8::internal::HashTable<v8::internal::StringDictionaryShape, v8::internal::String*>::FindEntry(v8::internal::String*)
- 1 100.0% Script: exp.js
-
- 1 9.1% ffffe000-fffff000
-
- 1 9.1% exp
- 1 100.0% LazyCompile: exp native math.js:41
- 1 100.0% Script: exp.js
-
- 1 9.1% LazyCompile: exp native math.js:41
- 1 100.0% Script: exp.js
-
diff --git a/src/3rdparty/v8/test/mjsunit/tools/tickprocessor-test.log b/src/3rdparty/v8/test/mjsunit/tools/tickprocessor-test.log
deleted file mode 100644
index 5ddad89..0000000
--- a/src/3rdparty/v8/test/mjsunit/tools/tickprocessor-test.log
+++ /dev/null
@@ -1,25 +0,0 @@
-shared-library,"shell",0x08048000,0x081ee000
-shared-library,"/lib32/libm-2.7.so",0xf7db6000,0xf7dd9000
-shared-library,"ffffe000-fffff000",0xffffe000,0xfffff000
-profiler,"begin",1
-code-creation,Stub,0,0xf540a100,474,"CEntryStub"
-code-creation,Script,0,0xf541cd80,736,"exp.js"
-code-creation,Stub,0,0xf541d0e0,47,"RuntimeStub_Math_exp"
-code-creation,LazyCompile,0,0xf541d120,145,"exp native math.js:41"
-function-creation,0xf441d280,0xf541d120
-code-creation,LoadIC,0,0xf541d280,117,"j"
-code-creation,LoadIC,0,0xf541d360,63,"i"
-tick,0x80f82d1,0xffdfe880,0,0,0,0,0xf541ce5c
-tick,0x80f89a1,0xffdfecf0,0,0,0,0,0xf541ce5c
-tick,0x8123b5c,0xffdff1a0,0,0,0,0,0xf541d1a1,0xf541ceea
-tick,0x8123b65,0xffdff1a0,0,0,0,0,0xf541d1a1,0xf541ceea
-tick,0xf541d2be,0xffdff1e4,0,0,0,0
-tick,0xf541d320,0xffdff1dc,0,0,0,0
-tick,0xf541d384,0xffdff1d8,0,0,0,0
-tick,0xf7db94da,0xffdff0ec,0,0,0,0,0xf541d1a1,0xf541ceea
-tick,0xf7db951c,0xffdff0f0,0,0,0,0,0xf541d1a1,0xf541ceea
-tick,0xf7dbc508,0xffdff14c,0,0,0,0,0xf541d1a1,0xf541ceea
-tick,0xf7dbff21,0xffdff198,0,0,0,0,0xf541d1a1,0xf541ceea
-tick,0xf7edec90,0xffdff0ec,0,0,0,0,0xf541d1a1,0xf541ceea
-tick,0xffffe402,0xffdff488,0,0,0,0
-profiler,"end"
diff --git a/src/3rdparty/v8/test/mjsunit/tools/tickprocessor-test.separate-ic b/src/3rdparty/v8/test/mjsunit/tools/tickprocessor-test.separate-ic
deleted file mode 100644
index 3a2041b..0000000
--- a/src/3rdparty/v8/test/mjsunit/tools/tickprocessor-test.separate-ic
+++ /dev/null
@@ -1,61 +0,0 @@
-Statistical profiling result from v8.log, (13 ticks, 2 unaccounted, 0 excluded).
-
- [Unknown]:
- ticks total nonlib name
- 2 15.4%
-
- [Shared libraries]:
- ticks total nonlib name
- 3 23.1% 0.0% /lib32/libm-2.7.so
- 1 7.7% 0.0% ffffe000-fffff000
-
- [JavaScript]:
- ticks total nonlib name
- 1 7.7% 11.1% LoadIC: j
- 1 7.7% 11.1% LoadIC: i
- 1 7.7% 11.1% LazyCompile: exp native math.js:41
-
- [C++]:
- ticks total nonlib name
- 2 15.4% 22.2% v8::internal::Runtime_Math_exp(v8::internal::Arguments)
- 1 7.7% 11.1% v8::internal::JSObject::LocalLookupRealNamedProperty(v8::internal::String*, v8::internal::LookupResult*)
- 1 7.7% 11.1% v8::internal::HashTable<v8::internal::StringDictionaryShape, v8::internal::String*>::FindEntry(v8::internal::String*)
- 1 7.7% 11.1% exp
-
- [GC]:
- ticks total nonlib name
- 0 0.0%
-
- [Bottom up (heavy) profile]:
- Note: percentage shows a share of a particular caller in the total
- amount of its parent calls.
- Callers occupying less than 2.0% are not shown.
-
- ticks parent name
- 3 23.1% /lib32/libm-2.7.so
- 3 100.0% LazyCompile: exp native math.js:41
- 3 100.0% Script: exp.js
-
- 2 15.4% v8::internal::Runtime_Math_exp(v8::internal::Arguments)
- 2 100.0% LazyCompile: exp native math.js:41
- 2 100.0% Script: exp.js
-
- 1 7.7% v8::internal::JSObject::LocalLookupRealNamedProperty(v8::internal::String*, v8::internal::LookupResult*)
- 1 100.0% Script: exp.js
-
- 1 7.7% v8::internal::HashTable<v8::internal::StringDictionaryShape, v8::internal::String*>::FindEntry(v8::internal::String*)
- 1 100.0% Script: exp.js
-
- 1 7.7% ffffe000-fffff000
-
- 1 7.7% exp
- 1 100.0% LazyCompile: exp native math.js:41
- 1 100.0% Script: exp.js
-
- 1 7.7% LoadIC: j
-
- 1 7.7% LoadIC: i
-
- 1 7.7% LazyCompile: exp native math.js:41
- 1 100.0% Script: exp.js
-
diff --git a/src/3rdparty/v8/test/mjsunit/tools/tickprocessor.js b/src/3rdparty/v8/test/mjsunit/tools/tickprocessor.js
deleted file mode 100644
index 00e8f6e..0000000
--- a/src/3rdparty/v8/test/mjsunit/tools/tickprocessor.js
+++ /dev/null
@@ -1,416 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Load implementations from <project root>/tools.
-// Files: tools/splaytree.js tools/codemap.js tools/csvparser.js
-// Files: tools/consarray.js tools/profile.js tools/profile_view.js
-// Files: tools/logreader.js tools/tickprocessor.js
-// Env: TEST_FILE_NAME
-
-
-(function testArgumentsProcessor() {
- var p_default = new ArgumentsProcessor([]);
- assertTrue(p_default.parse());
- assertEquals(ArgumentsProcessor.DEFAULTS, p_default.result());
-
- var p_logFile = new ArgumentsProcessor(['logfile.log']);
- assertTrue(p_logFile.parse());
- assertEquals('logfile.log', p_logFile.result().logFileName);
-
- var p_platformAndLog = new ArgumentsProcessor(['--windows', 'winlog.log']);
- assertTrue(p_platformAndLog.parse());
- assertEquals('windows', p_platformAndLog.result().platform);
- assertEquals('winlog.log', p_platformAndLog.result().logFileName);
-
- var p_flags = new ArgumentsProcessor(['--gc', '--separate-ic']);
- assertTrue(p_flags.parse());
- assertEquals(TickProcessor.VmStates.GC, p_flags.result().stateFilter);
- assertTrue(p_flags.result().separateIc);
-
- var p_nmAndLog = new ArgumentsProcessor(['--nm=mn', 'nmlog.log']);
- assertTrue(p_nmAndLog.parse());
- assertEquals('mn', p_nmAndLog.result().nm);
- assertEquals('nmlog.log', p_nmAndLog.result().logFileName);
-
- var p_bad = new ArgumentsProcessor(['--unknown', 'badlog.log']);
- assertFalse(p_bad.parse());
-})();
-
-
-(function testUnixCppEntriesProvider() {
- var oldLoadSymbols = UnixCppEntriesProvider.prototype.loadSymbols;
-
- // shell executable
- UnixCppEntriesProvider.prototype.loadSymbols = function(libName) {
- this.symbols = [[
- ' U operator delete[](void*)@@GLIBCXX_3.4',
- '08049790 T _init',
- '08049f50 T _start',
- '08139150 00000b4b t v8::internal::Runtime_StringReplaceRegExpWithString(v8::internal::Arguments)',
- '08139ca0 000003f1 T v8::internal::Runtime::GetElementOrCharAt(v8::internal::Handle<v8::internal::Object>, unsigned int)',
- '0813a0b0 00000855 t v8::internal::Runtime_DebugGetPropertyDetails(v8::internal::Arguments)',
- '0818b220 00000036 W v8::internal::RegExpMacroAssembler::CheckPosition(int, v8::internal::Label*)',
- ' w __gmon_start__',
- '081f08a0 00000004 B stdout\n'
- ].join('\n'), ''];
- };
-
- var shell_prov = new UnixCppEntriesProvider();
- var shell_syms = [];
- shell_prov.parseVmSymbols('shell', 0x08048000, 0x081ee000,
- function (name, start, end) {
- shell_syms.push(Array.prototype.slice.apply(arguments, [0]));
- });
- assertEquals(
- [['_init', 0x08049790, 0x08049f50],
- ['_start', 0x08049f50, 0x08139150],
- ['v8::internal::Runtime_StringReplaceRegExpWithString(v8::internal::Arguments)', 0x08139150, 0x08139150 + 0xb4b],
- ['v8::internal::Runtime::GetElementOrCharAt(v8::internal::Handle<v8::internal::Object>, unsigned int)', 0x08139ca0, 0x08139ca0 + 0x3f1],
- ['v8::internal::Runtime_DebugGetPropertyDetails(v8::internal::Arguments)', 0x0813a0b0, 0x0813a0b0 + 0x855],
- ['v8::internal::RegExpMacroAssembler::CheckPosition(int, v8::internal::Label*)', 0x0818b220, 0x0818b220 + 0x36]],
- shell_syms);
-
- // libc library
- UnixCppEntriesProvider.prototype.loadSymbols = function(libName) {
- this.symbols = [[
- '000162a0 00000005 T __libc_init_first',
- '0002a5f0 0000002d T __isnan',
- '0002a5f0 0000002d W isnan',
- '0002aaa0 0000000d W scalblnf',
- '0002aaa0 0000000d W scalbnf',
- '0011a340 00000048 T __libc_thread_freeres',
- '00128860 00000024 R _itoa_lower_digits\n'].join('\n'), ''];
- };
- var libc_prov = new UnixCppEntriesProvider();
- var libc_syms = [];
- libc_prov.parseVmSymbols('libc', 0xf7c5c000, 0xf7da5000,
- function (name, start, end) {
- libc_syms.push(Array.prototype.slice.apply(arguments, [0]));
- });
- var libc_ref_syms = [['__libc_init_first', 0x000162a0, 0x000162a0 + 0x5],
- ['__isnan', 0x0002a5f0, 0x0002a5f0 + 0x2d],
- ['scalblnf', 0x0002aaa0, 0x0002aaa0 + 0xd],
- ['__libc_thread_freeres', 0x0011a340, 0x0011a340 + 0x48]];
- for (var i = 0; i < libc_ref_syms.length; ++i) {
- libc_ref_syms[i][1] += 0xf7c5c000;
- libc_ref_syms[i][2] += 0xf7c5c000;
- }
- assertEquals(libc_ref_syms, libc_syms);
-
- UnixCppEntriesProvider.prototype.loadSymbols = oldLoadSymbols;
-})();
-
-
-(function testMacCppEntriesProvider() {
- var oldLoadSymbols = MacCppEntriesProvider.prototype.loadSymbols;
-
- // shell executable
- MacCppEntriesProvider.prototype.loadSymbols = function(libName) {
- this.symbols = [[
- ' U operator delete[]',
- '00001000 A __mh_execute_header',
- '00001b00 T start',
- '00001b40 t dyld_stub_binding_helper',
- '0011b710 T v8::internal::RegExpMacroAssembler::CheckPosition',
- '00134250 t v8::internal::Runtime_StringReplaceRegExpWithString',
- '00137220 T v8::internal::Runtime::GetElementOrCharAt',
- '00137400 t v8::internal::Runtime_DebugGetPropertyDetails',
- '001c1a80 b _private_mem\n'
- ].join('\n'), ''];
- };
-
- var shell_prov = new MacCppEntriesProvider();
- var shell_syms = [];
- shell_prov.parseVmSymbols('shell', 0x00001b00, 0x00163156,
- function (name, start, end) {
- shell_syms.push(Array.prototype.slice.apply(arguments, [0]));
- });
- assertEquals(
- [['start', 0x00001b00, 0x00001b40],
- ['dyld_stub_binding_helper', 0x00001b40, 0x0011b710],
- ['v8::internal::RegExpMacroAssembler::CheckPosition', 0x0011b710, 0x00134250],
- ['v8::internal::Runtime_StringReplaceRegExpWithString', 0x00134250, 0x00137220],
- ['v8::internal::Runtime::GetElementOrCharAt', 0x00137220, 0x00137400],
- ['v8::internal::Runtime_DebugGetPropertyDetails', 0x00137400, 0x00163156]],
- shell_syms);
-
- // stdc++ library
- MacCppEntriesProvider.prototype.loadSymbols = function(libName) {
- this.symbols = [[
- '0000107a T __gnu_cxx::balloc::__mini_vector<std::pair<__gnu_cxx::bitmap_allocator<char>::_Alloc_block*, __gnu_cxx::bitmap_allocator<char>::_Alloc_block*> >::__mini_vector',
- '0002c410 T std::basic_streambuf<char, std::char_traits<char> >::pubseekoff',
- '0002c488 T std::basic_streambuf<char, std::char_traits<char> >::pubseekpos',
- '000466aa T ___cxa_pure_virtual\n'].join('\n'), ''];
- };
- var stdc_prov = new MacCppEntriesProvider();
- var stdc_syms = [];
- stdc_prov.parseVmSymbols('stdc++', 0x95728fb4, 0x95770005,
- function (name, start, end) {
- stdc_syms.push(Array.prototype.slice.apply(arguments, [0]));
- });
- var stdc_ref_syms = [['__gnu_cxx::balloc::__mini_vector<std::pair<__gnu_cxx::bitmap_allocator<char>::_Alloc_block*, __gnu_cxx::bitmap_allocator<char>::_Alloc_block*> >::__mini_vector', 0x0000107a, 0x0002c410],
- ['std::basic_streambuf<char, std::char_traits<char> >::pubseekoff', 0x0002c410, 0x0002c488],
- ['std::basic_streambuf<char, std::char_traits<char> >::pubseekpos', 0x0002c488, 0x000466aa],
- ['___cxa_pure_virtual', 0x000466aa, 0x95770005 - 0x95728fb4]];
- for (var i = 0; i < stdc_ref_syms.length; ++i) {
- stdc_ref_syms[i][1] += 0x95728fb4;
- stdc_ref_syms[i][2] += 0x95728fb4;
- }
- assertEquals(stdc_ref_syms, stdc_syms);
-
- MacCppEntriesProvider.prototype.loadSymbols = oldLoadSymbols;
-})();
-
-
-(function testWindowsCppEntriesProvider() {
- var oldLoadSymbols = WindowsCppEntriesProvider.prototype.loadSymbols;
-
- WindowsCppEntriesProvider.prototype.loadSymbols = function(libName) {
- this.symbols = [
- ' Start Length Name Class',
- ' 0001:00000000 000ac902H .text CODE',
- ' 0001:000ac910 000005e2H .text$yc CODE',
- ' Address Publics by Value Rva+Base Lib:Object',
- ' 0000:00000000 __except_list 00000000 <absolute>',
- ' 0001:00000000 ?ReadFile@@YA?AV?$Handle@VString@v8@@@v8@@PBD@Z 00401000 f shell.obj',
- ' 0001:000000a0 ?Print@@YA?AV?$Handle@VValue@v8@@@v8@@ABVArguments@2@@Z 004010a0 f shell.obj',
- ' 0001:00001230 ??1UTF8Buffer@internal@v8@@QAE@XZ 00402230 f v8_snapshot:scanner.obj',
- ' 0001:00001230 ??1Utf8Value@String@v8@@QAE@XZ 00402230 f v8_snapshot:api.obj',
- ' 0001:000954ba __fclose_nolock 004964ba f LIBCMT:fclose.obj',
- ' 0002:00000000 __imp__SetThreadPriority@8 004af000 kernel32:KERNEL32.dll',
- ' 0003:00000418 ?in_use_list_@PreallocatedStorage@internal@v8@@0V123@A 00544418 v8_snapshot:allocation.obj',
- ' Static symbols',
- ' 0001:00000b70 ?DefaultFatalErrorHandler@v8@@YAXPBD0@Z 00401b70 f v8_snapshot:api.obj',
- ' 0001:000010b0 ?EnsureInitialized@v8@@YAXPBD@Z 004020b0 f v8_snapshot:api.obj',
- ' 0001:000ad17b ??__Fnomem@?5???2@YAPAXI@Z@YAXXZ 004ae17b f LIBCMT:new.obj'
- ].join('\r\n');
- };
- var shell_prov = new WindowsCppEntriesProvider();
- var shell_syms = [];
- shell_prov.parseVmSymbols('shell.exe', 0x00400000, 0x0057c000,
- function (name, start, end) {
- shell_syms.push(Array.prototype.slice.apply(arguments, [0]));
- });
- assertEquals(
- [['ReadFile', 0x00401000, 0x004010a0],
- ['Print', 0x004010a0, 0x00402230],
- ['v8::String::?1Utf8Value', 0x00402230, 0x004964ba],
- ['v8::DefaultFatalErrorHandler', 0x00401b70, 0x004020b0],
- ['v8::EnsureInitialized', 0x004020b0, 0x0057c000]],
- shell_syms);
-
- WindowsCppEntriesProvider.prototype.loadSymbols = oldLoadSymbols;
-})();
-
-
-// http://code.google.com/p/v8/issues/detail?id=427
-(function testWindowsProcessExeAndDllMapFile() {
- function exeSymbols(exeName) {
- return [
- ' 0000:00000000 ___ImageBase 00400000 <linker-defined>',
- ' 0001:00000780 ?RunMain@@YAHHQAPAD@Z 00401780 f shell.obj',
- ' 0001:00000ac0 _main 00401ac0 f shell.obj',
- ''
- ].join('\r\n');
- }
-
- function dllSymbols(dllName) {
- return [
- ' 0000:00000000 ___ImageBase 01c30000 <linker-defined>',
- ' 0001:00000780 _DllMain@12 01c31780 f libcmt:dllmain.obj',
- ' 0001:00000ac0 ___DllMainCRTStartup 01c31ac0 f libcmt:dllcrt0.obj',
- ''
- ].join('\r\n');
- }
-
- var oldRead = read;
-
- read = exeSymbols;
- var exe_exe_syms = [];
- (new WindowsCppEntriesProvider()).parseVmSymbols(
- 'chrome.exe', 0x00400000, 0x00472000,
- function (name, start, end) {
- exe_exe_syms.push(Array.prototype.slice.apply(arguments, [0]));
- });
- assertEquals(
- [['RunMain', 0x00401780, 0x00401ac0],
- ['_main', 0x00401ac0, 0x00472000]],
- exe_exe_syms, '.exe with .exe symbols');
-
- read = dllSymbols;
- var exe_dll_syms = [];
- (new WindowsCppEntriesProvider()).parseVmSymbols(
- 'chrome.exe', 0x00400000, 0x00472000,
- function (name, start, end) {
- exe_dll_syms.push(Array.prototype.slice.apply(arguments, [0]));
- });
- assertEquals(
- [],
- exe_dll_syms, '.exe with .dll symbols');
-
- read = dllSymbols;
- var dll_dll_syms = [];
- (new WindowsCppEntriesProvider()).parseVmSymbols(
- 'chrome.dll', 0x01c30000, 0x02b80000,
- function (name, start, end) {
- dll_dll_syms.push(Array.prototype.slice.apply(arguments, [0]));
- });
- assertEquals(
- [['_DllMain@12', 0x01c31780, 0x01c31ac0],
- ['___DllMainCRTStartup', 0x01c31ac0, 0x02b80000]],
- dll_dll_syms, '.dll with .dll symbols');
-
- read = exeSymbols;
- var dll_exe_syms = [];
- (new WindowsCppEntriesProvider()).parseVmSymbols(
- 'chrome.dll', 0x01c30000, 0x02b80000,
- function (name, start, end) {
- dll_exe_syms.push(Array.prototype.slice.apply(arguments, [0]));
- });
- assertEquals(
- [],
- dll_exe_syms, '.dll with .exe symbols');
-
- read = oldRead;
-})();
-
-
-function CppEntriesProviderMock() {
-};
-
-
-CppEntriesProviderMock.prototype.parseVmSymbols = function(
- name, startAddr, endAddr, symbolAdder) {
- var symbols = {
- 'shell':
- [['v8::internal::JSObject::LocalLookupRealNamedProperty(v8::internal::String*, v8::internal::LookupResult*)', 0x080f8800, 0x080f8d90],
- ['v8::internal::HashTable<v8::internal::StringDictionaryShape, v8::internal::String*>::FindEntry(v8::internal::String*)', 0x080f8210, 0x080f8800],
- ['v8::internal::Runtime_Math_exp(v8::internal::Arguments)', 0x08123b20, 0x08123b80]],
- '/lib32/libm-2.7.so':
- [['exp', startAddr + 0x00009e80, startAddr + 0x00009e80 + 0xa3],
- ['fegetexcept', startAddr + 0x000061e0, startAddr + 0x000061e0 + 0x15]],
- 'ffffe000-fffff000': []};
- assertTrue(name in symbols);
- var syms = symbols[name];
- for (var i = 0; i < syms.length; ++i) {
- symbolAdder.apply(null, syms[i]);
- }
-};
-
-
-function PrintMonitor(outputOrFileName) {
- var expectedOut = typeof outputOrFileName == 'string' ?
- this.loadExpectedOutput(outputOrFileName) : outputOrFileName;
- var outputPos = 0;
- var diffs = this.diffs = [];
- var realOut = this.realOut = [];
- var unexpectedOut = this.unexpectedOut = null;
-
- this.oldPrint = print;
- print = function(str) {
- var strSplit = str.split('\n');
- for (var i = 0; i < strSplit.length; ++i) {
- var s = strSplit[i];
- realOut.push(s);
- if (outputPos < expectedOut.length) {
- if (expectedOut[outputPos] != s) {
- diffs.push('line ' + outputPos + ': expected <' +
- expectedOut[outputPos] + '> found <' + s + '>\n');
- }
- outputPos++;
- } else {
- unexpectedOut = true;
- }
- }
- };
-};
-
-
-PrintMonitor.prototype.loadExpectedOutput = function(fileName) {
- var output = readFile(fileName);
- return output.split('\n');
-};
-
-
-PrintMonitor.prototype.finish = function() {
- print = this.oldPrint;
- if (this.diffs.length > 0 || this.unexpectedOut != null) {
- print(this.realOut.join('\n'));
- assertEquals([], this.diffs);
- assertNull(this.unexpectedOut);
- }
-};
-
-
-function driveTickProcessorTest(
- separateIc, ignoreUnknown, stateFilter, logInput, refOutput) {
- // TEST_FILE_NAME must be provided by test runner.
- assertEquals('string', typeof TEST_FILE_NAME);
- var pathLen = TEST_FILE_NAME.lastIndexOf('/');
- if (pathLen == -1) {
- pathLen = TEST_FILE_NAME.lastIndexOf('\\');
- }
- assertTrue(pathLen != -1);
- var testsPath = TEST_FILE_NAME.substr(0, pathLen + 1);
- var tp = new TickProcessor(new CppEntriesProviderMock(),
- separateIc,
- TickProcessor.CALL_GRAPH_SIZE,
- ignoreUnknown,
- stateFilter,
- undefined,
- "0",
- "auto,auto");
- var pm = new PrintMonitor(testsPath + refOutput);
- tp.processLogFileInTest(testsPath + logInput);
- tp.printStatistics();
- pm.finish();
-};
-
-
-(function testProcessing() {
- var testData = {
- 'Default': [
- false, false, null,
- 'tickprocessor-test.log', 'tickprocessor-test.default'],
- 'SeparateIc': [
- true, false, null,
- 'tickprocessor-test.log', 'tickprocessor-test.separate-ic'],
- 'IgnoreUnknown': [
- false, true, null,
- 'tickprocessor-test.log', 'tickprocessor-test.ignore-unknown'],
- 'GcState': [
- false, false, TickProcessor.VmStates.GC,
- 'tickprocessor-test.log', 'tickprocessor-test.gc-state'],
- 'FunctionInfo': [
- false, false, null,
- 'tickprocessor-test-func-info.log', 'tickprocessor-test.func-info']
- };
- for (var testName in testData) {
- print('=== testProcessing-' + testName + ' ===');
- driveTickProcessorTest.apply(null, testData[testName]);
- }
-})();
diff --git a/src/3rdparty/v8/test/mjsunit/top-level-assignments.js b/src/3rdparty/v8/test/mjsunit/top-level-assignments.js
deleted file mode 100644
index 7acc9c1..0000000
--- a/src/3rdparty/v8/test/mjsunit/top-level-assignments.js
+++ /dev/null
@@ -1,107 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Testing that optimization of top-level object initialization doesn't
-// break V8.
-
-var x = new Object();
-x.a = 7;
-x.b = function() { return 42; };
-x.c = 88;
-x.d = "A Man Called Horse";
-
-assertEquals(7, x.a);
-assertEquals(42, x.b());
-assertEquals(88, x.c);
-assertEquals("A Man Called Horse", x.d);
-
-var y = new Object();
-y.a = 7;
-y.b = function() { return 42; };
-y.c = 12 * y.a;
-y.d = "A Man Called Horse";
-
-assertEquals(84, y.c);
-
-var z = new Object();
-z.a = 3;
-function forty_two() { return 42; };
-z.a += 4;
-z.b = forty_two;
-z.c = 12;
-z.c *= z.a;
-z.d = "A Man Called Horse";
-
-assertEquals(84, z.c);
-
-var x1 = new Object();
-var x2 = new Object();
-x1.a = 7;
-x1.b = function() { return 42; };
-x2.a = 7;
-x2.b = function() { return 42; };
-x1.c = 88;
-x1.d = "A Man Called Horse";
-x2.c = 88;
-x2.d = "A Man Called Horse";
-
-assertEquals(7, x1.a);
-assertEquals(42, x1.b());
-assertEquals(88, x1.c);
-assertEquals("A Man Called Horse", x1.d);
-
-assertEquals(7, x2.a);
-assertEquals(42, x2.b());
-assertEquals(88, x2.c);
-assertEquals("A Man Called Horse", x2.d);
-
-function Calculator(x, y) {
- this.x = x;
- this.y = y;
-}
-
-Calculator.prototype.sum = function() { return this.x + this.y; };
-Calculator.prototype.difference = function() { return this.x - this.y; };
-Calculator.prototype.product = function() { return this.x * this.y; };
-Calculator.prototype.quotient = function() { return this.x / this.y; };
-
-var calc = new Calculator(20, 10);
-assertEquals(30, calc.sum());
-assertEquals(10, calc.difference());
-assertEquals(200, calc.product());
-assertEquals(2, calc.quotient());
-
-var x = new Object();
-x.__defineGetter__('a', function() { return 7 });
-x.b = function() { return 42; };
-x.c = 88;
-x.d = "A Man Called Horse";
-
-assertEquals(7, x.a);
-assertEquals(42, x.b());
-assertEquals(88, x.c);
-assertEquals("A Man Called Horse", x.d);
diff --git a/src/3rdparty/v8/test/mjsunit/touint32.js b/src/3rdparty/v8/test/mjsunit/touint32.js
deleted file mode 100644
index f06bddf..0000000
--- a/src/3rdparty/v8/test/mjsunit/touint32.js
+++ /dev/null
@@ -1,72 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function ToUInt32(x) {
- return x >>> 0;
-}
-
-assertEquals(0, ToUInt32(0), "0");
-assertEquals(0, ToUInt32(-0), "-0");
-assertEquals(0, ToUInt32(Infinity), "Infinity");
-assertEquals(0, ToUInt32(-Infinity), "-Infinity");
-assertEquals(0, ToUInt32(NaN), "NaN");
-
-assertEquals(0, ToUInt32(Number.MIN_VALUE), "MIN");
-assertEquals(0, ToUInt32(-Number.MIN_VALUE), "-MIN");
-assertEquals(0, ToUInt32(0.1), "0.1");
-assertEquals(0, ToUInt32(-0.1), "-0.1");
-assertEquals(1, ToUInt32(1), "1");
-assertEquals(1, ToUInt32(1.1), "1.1");
-
-assertEquals(4294967295, ToUInt32(-1), "-1");
-assertEquals(4294967295, ToUInt32(-1.1), "-1.1");
-
-assertEquals(2147483647, ToUInt32(2147483647), "2147483647");
-assertEquals(2147483648, ToUInt32(2147483648), "2147483648");
-assertEquals(2147483649, ToUInt32(2147483649), "2147483649");
-
-assertEquals(4294967295, ToUInt32(4294967295), "4294967295");
-assertEquals(0, ToUInt32(4294967296), "4294967296");
-assertEquals(1, ToUInt32(4294967297), "4294967297");
-
-assertEquals(2147483649, ToUInt32(-2147483647), "-2147483647");
-assertEquals(2147483648, ToUInt32(-2147483648), "-2147483648");
-assertEquals(2147483647, ToUInt32(-2147483649), "-2147483649");
-
-assertEquals(1, ToUInt32(-4294967295), "-4294967295");
-assertEquals(0, ToUInt32(-4294967296), "-4294967296");
-assertEquals(4294967295, ToUInt32(-4294967297), "-4294967297");
-
-assertEquals(2147483647, ToUInt32('2147483647'), "'2147483647'");
-assertEquals(2147483648, ToUInt32('2147483648'), "'2147483648'");
-assertEquals(2147483649, ToUInt32('2147483649'), "'2147483649'");
-
-assertEquals(4294967295, ToUInt32('4294967295'), "'4294967295'");
-assertEquals(0, ToUInt32('4294967296'), "'4294967296'");
-assertEquals(1, ToUInt32('4294967297'), "'4294967297'");
-
-
diff --git a/src/3rdparty/v8/test/mjsunit/transcendentals.js b/src/3rdparty/v8/test/mjsunit/transcendentals.js
deleted file mode 100644
index 78e6c48..0000000
--- a/src/3rdparty/v8/test/mjsunit/transcendentals.js
+++ /dev/null
@@ -1,49 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-// Two fp numbers that have the same hash value (see TranscendentalCache
-// in heap.h).
-var x = 0x123456789ABCD / 0x2000000000000;
-var y = 0x1134567899BCD / 0x2000000000000;
-
-assertTrue(Math.sin(x) != Math.sin(y));
-
-assertTrue(Math.cos(x) != Math.cos(y));
-
-assertTrue(Math.tan(x) != Math.tan(y));
-
-assertTrue(Math.log(x) != Math.log(y));
-
-assertTrue(Math.asin(x) != Math.asin(y));
-
-assertTrue(Math.acos(x) != Math.acos(y));
-
-assertTrue(Math.atan(x) != Math.atan(y));
-
-assertTrue(Math.exp(x) != Math.exp(y));
-
diff --git a/src/3rdparty/v8/test/mjsunit/try-catch-extension-object.js b/src/3rdparty/v8/test/mjsunit/try-catch-extension-object.js
deleted file mode 100644
index efab821..0000000
--- a/src/3rdparty/v8/test/mjsunit/try-catch-extension-object.js
+++ /dev/null
@@ -1,58 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Try catch scopes should be implemented with special extension
-// objects so that __proto__ accessors and accessor setters in the
-// Object prototype have no effect.
-
-var setterCalled = false;
-Object.prototype.__defineSetter__("x", function() { setterCalled = true; });
-
-function runTest(test) {
- setterCalled = false;
- test();
-}
-
-function testProto() {
- try {
- throw 42;
- } catch(__proto__) {
- assertEquals(42, __proto__);
- }
-}
-
-function testAccessorSetter() {
- try {
- throw 42;
- } catch(x) {
- assertFalse(setterCalled);
- assertEquals(42, x);
- }
-}
-
-runTest(testProto);
-runTest(testAccessorSetter);
diff --git a/src/3rdparty/v8/test/mjsunit/try-catch-scopes.js b/src/3rdparty/v8/test/mjsunit/try-catch-scopes.js
deleted file mode 100644
index c5bada2..0000000
--- a/src/3rdparty/v8/test/mjsunit/try-catch-scopes.js
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Exception variables used in try-catch should be scoped, e.g. only
-// visible inside the catch block. They should *not* just be treated
-// as local variables and they should be allowed to nest.
-var e = 0;
-try {
- throw e + 1;
-} catch(e) {
- try {
- throw e + 1;
- } catch (e) {
- assertEquals(2, e);
- }
- assertEquals(1, e);
-}
-assertEquals(0, e);
diff --git a/src/3rdparty/v8/test/mjsunit/try-finally-continue.js b/src/3rdparty/v8/test/mjsunit/try-finally-continue.js
deleted file mode 100644
index b55e7ac..0000000
--- a/src/3rdparty/v8/test/mjsunit/try-finally-continue.js
+++ /dev/null
@@ -1,72 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that we correctly restore the stack when continuing from a
-// finally block inside a for-in.
-
-var f = 0;
-var a = [1, 2, 3];
-
-for (x in a) {
- try{
- throw 'error';
- } finally {
- f++;
- continue;
- }
-}
-assertEquals(3, f);
-
-f = 0;
-for (x in a) {
- try {
- f++;
- } finally {
- f++;
- continue;
- }
-}
-assertEquals(6, f);
-
-f = 0;
-for (x in a) {
- try {
- f++;
- } finally {
- try {
- throw 'error'
- } finally {
- try {
- f++;
- } finally {
- f++;
- continue;
- }
- }
- }
-}
-assertEquals(9, f); \ No newline at end of file
diff --git a/src/3rdparty/v8/test/mjsunit/try-finally-nested.js b/src/3rdparty/v8/test/mjsunit/try-finally-nested.js
deleted file mode 100644
index c05f96a..0000000
--- a/src/3rdparty/v8/test/mjsunit/try-finally-nested.js
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function f() {
- try {
- return 42;
- } finally {
- var executed = false;
- while (!executed) {
- try {
- break;
- } finally {
- executed = true;
- }
- assertTrue(false, "should not reach here");
- }
- assertTrue(executed, "finally block executed");
- }
- return 87;
-};
-
-assertEquals(42, f());
diff --git a/src/3rdparty/v8/test/mjsunit/try.js b/src/3rdparty/v8/test/mjsunit/try.js
deleted file mode 100644
index 86afdf7..0000000
--- a/src/3rdparty/v8/test/mjsunit/try.js
+++ /dev/null
@@ -1,394 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --expose-gc
-
-function Catch(f, g) {
- var r;
- try { r = f(); } catch (o) { return g(o); }
- return r;
-}
-
-function CatchReturn(f, g) {
- try { return f(); } catch (o) { return g(o); }
-}
-
-
-var a = [Catch, CatchReturn]
-for (var n in a) {
- var c = a[n];
- assertEquals(1, c(function() { return 1; }));
- assertEquals('bar', c(function() { return 'bar'; }));
- assertEquals(1, c(function () { throw 1; }, function (x) { return x; }));
- assertEquals('bar', c(function () { throw 'bar'; }, function (x) { return x; }));
-}
-
-
-assertEquals(1, (function() { try { return 1; } finally { } })());
-assertEquals(1, (function() { try { return 1; } finally { var x = 12; } })());
-assertEquals(2, (function() { try { } finally { return 2; } })());
-assertEquals(4, (function() { try { return 3; } finally { return 4; } })());
-
-function f(x, n, v) { try { return x; } finally { x[n] = v; } }
-assertEquals(2, f({}, 'foo', 2).foo);
-assertEquals(5, f({}, 'bar', 5).bar);
-
-function guard(f) { try { f(); } catch (o) { return o; } }
-assertEquals('baz', guard(function() { throw 'baz'; }));
-assertEquals(2, (function() { try { throw {}; } catch(e) {} finally { return 2; } })());
-assertEquals(1, guard(function() { try { throw 1; } finally { } }));
-assertEquals(2, guard(function() { try { throw 2; } finally { var x = 12; } }));
-assertEquals(4, guard(function() { try { throw 3; } finally { throw 4; } }));
-
-(function () {
- var iter = 1000000;
- for (var i = 1; i <= iter; i++) {
- try {
- if (i == iter) gc();
- } finally {
- if (i == iter) gc();
- }
- }
-})();
-
-function trycatch(a) {
- var o;
- try {
- throw 1;
- } catch (o) {
- a.push(o);
- try {
- throw 2;
- } catch (o) {
- a.push(o);
- }
- a.push(o);
- }
- a.push(o);
-}
-var a = [];
-trycatch(a);
-assertEquals(4, a.length);
-assertEquals(1, a[0], "a[0]");
-assertEquals(2, a[1], "a[1]");
-
-assertEquals(1, a[2], "a[2]");
-assertTrue(typeof a[3] === 'undefined', "a[3]");
-
-assertTrue(typeof o === 'undefined', "global.o");
-
-
-function return_from_nested_catch(x) {
- try {
- try {
- return x;
- } catch (o) {
- return -1;
- }
- } catch (o) {
- return -2;
- }
-}
-
-assertEquals(0, return_from_nested_catch(0));
-assertEquals(1, return_from_nested_catch(1));
-
-
-function return_from_nested_finally(x) {
- var a = [x-2];
- try {
- try {
- return a;
- } finally {
- a[0]++;
- }
- } finally {
- a[0]++;
- }
-}
-
-assertEquals(0, return_from_nested_finally(0)[0]);
-assertEquals(1, return_from_nested_finally(1)[0]);
-
-
-function break_from_catch(x) {
- x--;
- L:
- {
- try {
- x++;
- if (false) return -1;
- break L;
- } catch (o) {
- x--;
- }
- }
- return x;
-}
-
-assertEquals(0, break_from_catch(0));
-assertEquals(1, break_from_catch(1));
-
-
-function break_from_finally(x) {
- L:
- {
- try {
- x++;
- if (false) return -1;
- break L;
- } finally {
- x--;
- }
- x--;
- }
- return x;
-}
-
-assertEquals(0, break_from_finally(0), "break from finally");
-assertEquals(1, break_from_finally(1), "break from finally");
-
-
-function continue_from_catch(x) {
- x--;
- var cont = true;
- while (cont) {
- try {
- x++;
- if (false) return -1;
- cont = false;
- continue;
- } catch (o) {
- x--;
- }
- }
- return x;
-}
-
-assertEquals(0, continue_from_catch(0));
-assertEquals(1, continue_from_catch(1));
-
-
-function continue_from_finally(x) {
- var cont = true;
- while (cont) {
- try {
- x++;
- if (false) return -1;
- cont = false;
- continue;
- } finally {
- x--;
- }
- x--;
- }
- return x;
-}
-
-assertEquals(0, continue_from_finally(0));
-assertEquals(1, continue_from_finally(1));
-
-
-function continue_alot_from_finally(x) {
- var j = 0;
- for (var i = 0; i < x;) {
- try {
- j++;
- continue;
- j++; // should not happen
- } finally {
- i++; // must happen
- }
- j++; // should not happen
- }
- return j;
-}
-
-
-assertEquals(100, continue_alot_from_finally(100));
-assertEquals(200, continue_alot_from_finally(200));
-
-
-
-function break_from_nested_catch(x) {
- x -= 2;
- L:
- {
- try {
- x++;
- try {
- x++;
- if (false) return -1;
- break L;
- } catch (o) {
- x--;
- }
- } catch (o) {
- x--;
- }
- }
- return x;
-}
-
-assertEquals(0, break_from_nested_catch(0));
-assertEquals(1, break_from_nested_catch(1));
-
-
-function break_from_nested_finally(x) {
- L:
- {
- try {
- x++;
- try {
- x++;
- if (false) return -1;
- break L;
- } finally {
- x--;
- }
- } finally {
- x--;
- }
- x--; // should not happen
- }
- return x;
-}
-
-assertEquals(0, break_from_nested_finally(0));
-assertEquals(1, break_from_nested_finally(1));
-
-
-function continue_from_nested_catch(x) {
- x -= 2;
- var cont = true;
- while (cont) {
- try {
- x++;
- try {
- x++;
- if (false) return -1;
- cont = false;
- continue;
- } catch (o) {
- x--;
- }
- } catch (o) {
- x--;
- }
- }
- return x;
-}
-
-assertEquals(0, continue_from_nested_catch(0));
-assertEquals(1, continue_from_nested_catch(1));
-
-
-function continue_from_nested_finally(x) {
- var cont = true;
- while (cont) {
- try {
- x++;
- try {
- x++;
- if (false) return -1;
- cont = false;
- continue;
- } finally {
- x--;
- }
- } finally {
- x--;
- }
- x--; // should not happen
- }
- return x;
-}
-
-assertEquals(0, continue_from_nested_finally(0));
-assertEquals(1, continue_from_nested_finally(1));
-
-
-var caught = false;
-var finalized = false;
-var broke = true;
-L: try {
- break L;
- broke = false;
-} catch (o) {
- caught = true;
-} finally {
- finalized = true;
-}
-assertTrue(broke);
-assertFalse(caught);
-assertTrue(finalized);
-
-function return_from_nested_finally_in_finally() {
- try {
- return 1;
- } finally {
- try {
- return 2;
- } finally {
- return 42;
- }
- }
-}
-
-assertEquals(42, return_from_nested_finally_in_finally());
-
-function break_from_nested_finally_in_finally() {
- L: try {
- return 1;
- } finally {
- try {
- return 2;
- } finally {
- break L;
- }
- }
- return 42;
-}
-
-assertEquals(42, break_from_nested_finally_in_finally());
-
-function continue_from_nested_finally_in_finally() {
- do {
- try {
- return 1;
- } finally {
- try {
- return 2;
- } finally {
- continue;
- }
- }
- } while (false);
- return 42;
-}
-
-assertEquals(42, continue_from_nested_finally_in_finally());
diff --git a/src/3rdparty/v8/test/mjsunit/typed-array-slice.js b/src/3rdparty/v8/test/mjsunit/typed-array-slice.js
deleted file mode 100644
index c6e7e94..0000000
--- a/src/3rdparty/v8/test/mjsunit/typed-array-slice.js
+++ /dev/null
@@ -1,61 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --allow-natives-syntax
-
-// This is a regression test for overlapping key and value registers.
-
-var types = [Array, Int8Array, Uint8Array, Int16Array, Uint16Array,
- Int32Array, Uint32Array, Uint8ClampedArray, Float32Array,
- Float64Array];
-
-var results1 = [-2, -2, 254, -2, 65534, -2, 4294967294, 0, -2, -2];
-var results2 = [undefined, -1, 255, -1, 65535, -1, 4294967295, 0, -1, -1];
-var results3 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
-var results4 = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1];
-
-const kElementCount = 40;
-
-function do_slice(a) {
- return Array.prototype.slice.call(a, 4, 8);
-}
-
-for (var t = 0; t < types.length; t++) {
- var type = types[t];
- var a = new type(kElementCount);
- for (var i = 0; i < kElementCount; ++i ) {
- a[i] = i-6;
- }
- delete a[5];
- var sliced = do_slice(a);
-
- %ClearFunctionTypeFeedback(do_slice);
- assertEquals(results1[t], sliced[0]);
- assertEquals(results2[t], sliced[1]);
- assertEquals(results3[t], sliced[2]);
- assertEquals(results4[t], sliced[3]);
-}
diff --git a/src/3rdparty/v8/test/mjsunit/typeof.js b/src/3rdparty/v8/test/mjsunit/typeof.js
deleted file mode 100644
index 8aa0ab1..0000000
--- a/src/3rdparty/v8/test/mjsunit/typeof.js
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// The type of a regular expression should be 'object', including in
-// the context of string equality comparisons.
-
-var r = new RegExp;
-assertEquals('object', typeof r);
-assertTrue(typeof r == 'object');
-assertFalse(typeof r == 'function');
-
-function test(x, y) { return x == y; }
-assertTrue(test('object', typeof r));
diff --git a/src/3rdparty/v8/test/mjsunit/unbox-double-arrays.js b/src/3rdparty/v8/test/mjsunit/unbox-double-arrays.js
deleted file mode 100644
index 5d061ae..0000000
--- a/src/3rdparty/v8/test/mjsunit/unbox-double-arrays.js
+++ /dev/null
@@ -1,549 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test dictionary -> double elements -> dictionary elements round trip
-
-// Flags: --allow-natives-syntax --unbox-double-arrays --expose-gc
-// Flags: --noparallel-recompilation
-
-var large_array_size = 100000;
-var approx_dict_to_elements_threshold = 70000;
-
-var name = 0;
-
-function expected_array_value(i) {
- if ((i % 50) != 0) {
- return i;
- } else {
- return i + 0.5;
- }
-}
-
-function force_to_fast_double_array(a) {
- a[large_array_size - 2] = 1;
- for (var i= 0; i < approx_dict_to_elements_threshold; ++i ) {
- a[i] = expected_array_value(i);
- }
- assertTrue(%HasFastDoubleElements(a));
-}
-
-function make_object_like_array(size) {
- obj = new Object();
- obj.length = size;
- return obj;
-}
-
-function testOneArrayType(allocator) {
- var large_array = new allocator(large_array_size);
- force_to_fast_double_array(large_array);
- var six = 6;
-
- for (var i= 0; i < approx_dict_to_elements_threshold; i += 501 ) {
- assertEquals(expected_array_value(i), large_array[i]);
- }
-
- // This function has a constant and won't get inlined.
- function computed_6() {
- return six;
- }
-
- // Multiple versions of the test function makes sure that IC/Crankshaft state
- // doesn't get reused.
- function test_various_loads(a, value_5, value_6, value_7) {
- assertTrue(%HasFastDoubleElements(a));
- assertEquals(value_5, a[5]);
- assertEquals(value_6, a[6]);
- assertEquals(value_6, a[computed_6()]); // Test non-constant key
- assertEquals(value_7, a[7]);
- assertEquals(large_array_size, a.length);
- assertTrue(%HasFastDoubleElements(a));
- }
-
- function test_various_loads2(a, value_5, value_6, value_7) {
- assertTrue(%HasFastDoubleElements(a));
- assertEquals(value_5, a[5]);
- assertEquals(value_6, a[6]);
- assertEquals(value_6, a[computed_6()]); // Test non-constant key
- assertEquals(value_7, a[7]);
- assertEquals(large_array_size, a.length);
- assertTrue(%HasFastDoubleElements(a));
- }
-
- function test_various_loads3(a, value_5, value_6, value_7) {
- assertTrue(%HasFastDoubleElements(a));
- assertEquals(value_5, a[5]);
- assertEquals(value_6, a[6]);
- assertEquals(value_6, a[computed_6()]); // Test non-constant key
- assertEquals(value_7, a[7]);
- assertEquals(large_array_size, a.length);
- assertTrue(%HasFastDoubleElements(a));
- }
-
- function test_various_loads4(a, value_5, value_6, value_7) {
- assertTrue(%HasFastDoubleElements(a));
- assertEquals(value_5, a[5]);
- assertEquals(value_6, a[6]);
- assertEquals(value_6, a[computed_6()]); // Test non-constant key
- assertEquals(value_7, a[7]);
- assertEquals(large_array_size, a.length);
- assertTrue(%HasFastDoubleElements(a));
- }
-
- function test_various_loads5(a, value_5, value_6, value_7) {
- assertTrue(%HasFastDoubleElements(a));
- if (value_5 != undefined) {
- assertEquals(value_5, a[5]);
- };
- if (value_6 != undefined) {
- assertEquals(value_6, a[6]);
- assertEquals(value_6, a[computed_6()]); // Test non-constant key
- }
- assertEquals(value_7, a[7]);
- assertEquals(large_array_size, a.length);
- assertTrue(%HasFastDoubleElements(a));
- }
-
- function test_various_loads6(a, value_5, value_6, value_7) {
- assertTrue(%HasFastDoubleElements(a));
- assertEquals(value_5, a[5]);
- assertEquals(value_6, a[6]);
- assertEquals(value_6, a[computed_6()]); // Test non-constant key
- assertEquals(value_7, a[7]);
- assertEquals(large_array_size, a.length);
- assertTrue(%HasFastDoubleElements(a));
- }
-
- function test_various_loads7(a, value_5, value_6, value_7) {
- assertTrue(%HasFastDoubleElements(a));
- assertEquals(value_5, a[5]);
- assertEquals(value_6, a[6]);
- assertEquals(value_6, a[computed_6()]); // Test non-constant key
- assertEquals(value_7, a[7]);
- assertEquals(large_array_size, a.length);
- assertTrue(%HasFastDoubleElements(a));
- }
-
- function test_various_stores(a, value_5, value_6, value_7) {
- assertTrue(%HasFastDoubleElements(a));
- a[5] = value_5;
- a[computed_6()] = value_6;
- a[7] = value_7;
- assertTrue(%HasFastDoubleElements(a));
- }
-
- // Test double and integer values
- test_various_loads(large_array,
- expected_array_value(5),
- expected_array_value(6),
- expected_array_value(7));
- test_various_loads(large_array,
- expected_array_value(5),
- expected_array_value(6),
- expected_array_value(7));
- test_various_loads(large_array,
- expected_array_value(5),
- expected_array_value(6),
- expected_array_value(7));
- %OptimizeFunctionOnNextCall(test_various_loads);
- test_various_loads(large_array,
- expected_array_value(5),
- expected_array_value(6),
- expected_array_value(7));
-
- // Test NaN values
- test_various_stores(large_array, NaN, -NaN, expected_array_value(7));
-
- test_various_loads2(large_array,
- NaN,
- -NaN,
- expected_array_value(7));
- test_various_loads2(large_array,
- NaN,
- -NaN,
- expected_array_value(7));
- test_various_loads2(large_array,
- NaN,
- -NaN,
- expected_array_value(7));
- %OptimizeFunctionOnNextCall(test_various_loads2);
- test_various_loads2(large_array,
- NaN,
- -NaN,
- expected_array_value(7));
-
- // Test Infinity values
- test_various_stores(large_array,
- Infinity,
- -Infinity,
- expected_array_value(7));
-
- test_various_loads3(large_array,
- Infinity,
- -Infinity,
- expected_array_value(7));
- test_various_loads3(large_array,
- Infinity,
- -Infinity,
- expected_array_value(7));
- test_various_loads3(large_array,
- Infinity,
- -Infinity,
- expected_array_value(7));
- %OptimizeFunctionOnNextCall(test_various_loads3);
- test_various_loads3(large_array,
- Infinity,
- -Infinity,
- expected_array_value(7));
-
- // Test the hole for the default runtime implementation.
- delete large_array[5];
- delete large_array[6];
- test_various_loads4(large_array,
- undefined,
- undefined,
- expected_array_value(7));
-
- // Test the keyed load IC implementation when the value is the hole.
- test_various_stores(large_array,
- expected_array_value(5),
- expected_array_value(6),
- expected_array_value(7));
- test_various_loads5(large_array,
- expected_array_value(5),
- expected_array_value(6),
- expected_array_value(7));
- test_various_loads5(large_array,
- expected_array_value(5),
- expected_array_value(6),
- expected_array_value(7));
- delete large_array[5];
- delete large_array[6];
- test_various_loads5(large_array,
- undefined,
- undefined,
- expected_array_value(7));
- test_various_loads5(large_array,
- undefined,
- undefined,
- expected_array_value(7));
-
- // Make sure Crankshaft code handles the hole correctly (bailout)
- var large_array = new allocator(large_array_size);
- force_to_fast_double_array(large_array);
- test_various_stores(large_array,
- expected_array_value(5),
- expected_array_value(6),
- expected_array_value(7));
- test_various_loads6(large_array,
- expected_array_value(5),
- expected_array_value(6),
- expected_array_value(7));
- test_various_loads6(large_array,
- expected_array_value(5),
- expected_array_value(6),
- expected_array_value(7));
- %OptimizeFunctionOnNextCall(test_various_loads6);
- test_various_loads6(large_array,
- expected_array_value(5),
- expected_array_value(6),
- expected_array_value(7));
-
- delete large_array[5];
- delete large_array[6];
- test_various_loads6(large_array,
- undefined,
- undefined,
- expected_array_value(7));
-
- %DeoptimizeFunction(test_various_loads6);
- %ClearFunctionTypeFeedback(test_various_stores);
- %ClearFunctionTypeFeedback(test_various_loads7);
-
- // Test stores for non-NaN.
- var large_array = new allocator(large_array_size);
- force_to_fast_double_array(large_array);
- %OptimizeFunctionOnNextCall(test_various_stores);
- test_various_stores(large_array,
- expected_array_value(5),
- expected_array_value(6),
- expected_array_value(7));
-
- test_various_stores(large_array,
- expected_array_value(5),
- expected_array_value(6),
- expected_array_value(7));
-
- test_various_loads7(large_array,
- expected_array_value(5),
- expected_array_value(6),
- expected_array_value(7));
-
- test_various_loads7(large_array,
- expected_array_value(5),
- expected_array_value(6),
- expected_array_value(7));
-
- %OptimizeFunctionOnNextCall(test_various_loads7);
-
- test_various_loads7(large_array,
- expected_array_value(5),
- expected_array_value(6),
- expected_array_value(7));
-
- // Test NaN behavior for stores.
- test_various_stores(large_array,
- NaN,
- -NaN,
- expected_array_value(7));
-
- test_various_stores(large_array,
- NaN,
- -NaN,
- expected_array_value(7));
-
- test_various_loads7(large_array,
- NaN,
- -NaN,
- expected_array_value(7));
-
- // Test Infinity behavior for stores.
- test_various_stores(large_array,
- Infinity,
- -Infinity,
- expected_array_value(7));
-
- test_various_stores(large_array,
- Infinity,
- -Infinity,
- expected_array_value(7));
-
- test_various_loads7(large_array,
- Infinity,
- -Infinity,
- expected_array_value(7));
-
- assertTrue(%GetOptimizationStatus(test_various_stores) != 2);
-
- // Make sure that we haven't converted from fast double.
- assertTrue(%HasFastDoubleElements(large_array));
-}
-
-testOneArrayType(make_object_like_array);
-testOneArrayType(Array);
-
-var large_array = new Array(large_array_size);
-force_to_fast_double_array(large_array);
-assertTrue(%HasFastDoubleElements(large_array));
-
-// Cause the array to grow beyond it's JSArray length. This will double the
-// size of the capacity and force the array into "slow" dictionary case.
-large_array[5] = Infinity;
-large_array[large_array_size+10001] = 50;
-assertTrue(%HasDictionaryElements(large_array));
-assertEquals(50, large_array[large_array_size+10001]);
-assertEquals(large_array_size+10002, large_array.length);
-assertEquals(Infinity, large_array[5]);
-assertEquals(undefined, large_array[large_array_size-1]);
-assertEquals(undefined, large_array[-1]);
-assertEquals(large_array_size+10002, large_array.length);
-
-// Test dictionary -> double elements -> fast elements.
-var large_array2 = new Array(large_array_size);
-force_to_fast_double_array(large_array2);
-delete large_array2[5];
-
-// Convert back to fast elements and make sure the contents of the array are
-// unchanged.
-large_array2[25] = new Object();
-assertTrue(%HasFastObjectElements(large_array2));
-for (var i= 0; i < approx_dict_to_elements_threshold; i += 500 ) {
- if (i != 25 && i != 5) {
- assertEquals(expected_array_value(i), large_array2[i]);
- }
-}
-assertEquals(undefined, large_array2[5]);
-assertEquals(undefined, large_array2[large_array_size-1]);
-assertEquals(undefined, large_array2[-1]);
-assertEquals(large_array_size, large_array2.length);
-
-// Make sure it's possible to change the array's length and that array is still
-// intact after the resize.
-var large_array3 = new Array(large_array_size);
-force_to_fast_double_array(large_array3);
-large_array3.length = 60000;
-assertEquals(60000, large_array3.length);
-assertEquals(undefined, large_array3[60000]);
-assertTrue(%HasFastDoubleElements(large_array3));
-assertEquals(expected_array_value(5), large_array3[5]);
-assertEquals(expected_array_value(6), large_array3[6]);
-assertEquals(expected_array_value(7), large_array3[7]);
-assertEquals(expected_array_value(large_array3.length-1),
- large_array3[large_array3.length-1]);
-assertEquals(undefined, large_array3[large_array_size-1]);
-assertEquals(undefined, large_array3[-1]);
-gc();
-
-for (var i= 0; i < large_array3.length; i += 501 ) {
- assertEquals(expected_array_value(i), large_array3[i]);
-}
-
-large_array3.length = 25;
-assertEquals(25, large_array3.length);
-assertTrue(%HasFastDoubleElements(large_array3));
-assertEquals(undefined, large_array3[25]);
-assertEquals(expected_array_value(5), large_array3[5]);
-assertEquals(expected_array_value(6), large_array3[6]);
-assertEquals(expected_array_value(7), large_array3[7]);
-assertEquals(expected_array_value(large_array3.length-1),
- large_array3[large_array3.length-1]);
-assertEquals(undefined, large_array3[large_array_size-1]);
-assertEquals(undefined, large_array3[-1]);
-gc();
-
-for (var i= 0; i < large_array3.length; ++i) {
- assertEquals(expected_array_value(i), large_array3[i]);
-}
-
-large_array3.length = 100;
-assertEquals(100, large_array3.length);
-large_array3[95] = 95;
-assertTrue(%HasFastDoubleElements(large_array3));
-assertEquals(undefined, large_array3[100]);
-assertEquals(95, large_array3[95]);
-assertEquals(expected_array_value(5), large_array3[5]);
-assertEquals(expected_array_value(6), large_array3[6]);
-assertEquals(expected_array_value(7), large_array3[7]);
-assertEquals(undefined, large_array3[large_array3.length-1]);
-assertEquals(undefined, large_array3[large_array_size-1]);
-assertEquals(undefined, large_array3[-1]);
-gc();
-
-// Test apply on arrays backed by double elements.
-function called_by_apply(arg0, arg1, arg2, arg3, arg4, arg5, arg6) {
- assertEquals(expected_array_value(0), arg0);
- assertEquals(NaN, arg1);
- assertEquals(-NaN, arg2);
- assertEquals(Infinity, arg3);
- assertEquals(-Infinity, arg4);
- assertEquals(expected_array_value(5), arg5);
-}
-
-large_array3[1] = NaN;
-large_array3[2] = -NaN;
-large_array3[3] = Infinity;
-large_array3[4] = -Infinity;
-
-function call_apply() {
- called_by_apply.apply({}, large_array3);
-}
-
-call_apply();
-call_apply();
-call_apply();
-%OptimizeFunctionOnNextCall(call_apply);
-call_apply();
-call_apply();
-call_apply();
-
-function test_for_in() {
- // Due to previous tests, keys 0..25 and 95 should be present.
- next_expected = 0;
- for (x in large_array3) {
- assertTrue(next_expected++ == x);
- if (next_expected == 25) {
- next_expected = 95;
- }
- }
- assertTrue(next_expected == 96);
-}
-
-test_for_in();
-test_for_in();
-test_for_in();
-%OptimizeFunctionOnNextCall(test_for_in);
-test_for_in();
-test_for_in();
-test_for_in();
-
-function test_get_property_names() {
- names = %GetPropertyNames(large_array3);
- property_name_count = 0;
- for (x in names) { property_name_count++; };
- assertEquals(26, property_name_count);
-}
-
-test_get_property_names();
-test_get_property_names();
-test_get_property_names();
-
-// Test elements getters.
-assertEquals(expected_array_value(10), large_array3[10]);
-assertEquals(expected_array_value(-NaN), large_array3[2]);
-large_array3.__defineGetter__("2", function(){
- return expected_array_value(10);
-});
-
-function test_getter() {
- assertEquals(expected_array_value(10), large_array3[10]);
- assertEquals(expected_array_value(10), large_array3[2]);
-}
-
-test_getter();
-test_getter();
-test_getter();
-%OptimizeFunctionOnNextCall(test_getter);
-test_getter();
-test_getter();
-test_getter();
-
-// Test element setters.
-large_array4 = new Array(large_array_size);
-force_to_fast_double_array(large_array4);
-
-var setter_called = false;
-
-assertEquals(expected_array_value(10), large_array4[10]);
-assertEquals(expected_array_value(2), large_array4[2]);
-large_array4.__defineSetter__("10", function(value){
- setter_called = true;
- });
-
-function test_setter() {
- setter_called = false;
- large_array4[10] = 119;
- assertTrue(setter_called);
- assertEquals(undefined, large_array4[10]);
- assertEquals(expected_array_value(2), large_array4[2]);
-}
-
-test_setter();
-test_setter();
-test_setter();
-%OptimizeFunctionOnNextCall(test_setter);
-test_setter();
-test_setter();
-test_setter();
diff --git a/src/3rdparty/v8/test/mjsunit/undeletable-functions.js b/src/3rdparty/v8/test/mjsunit/undeletable-functions.js
deleted file mode 100644
index 635ea6f..0000000
--- a/src/3rdparty/v8/test/mjsunit/undeletable-functions.js
+++ /dev/null
@@ -1,171 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that we match ECMAScript in making most builtin functions
-// deletable and only specific ones undeletable or read-only.
-
-var array;
-
-array = [
- "toString", "toLocaleString", "join", "pop", "push", "concat", "reverse",
- "shift", "unshift", "slice", "splice", "sort", "filter", "forEach", "some",
- "every", "map", "indexOf", "lastIndexOf", "reduce", "reduceRight"];
-CheckEcmaSemantics(Array.prototype, array, "Array prototype");
-
-var old_Array_prototype = Array.prototype;
-var new_Array_prototype = {};
-for (var i = 0; i < 7; i++) {
- Array.prototype = new_Array_prototype;
- assertEquals(old_Array_prototype, Array.prototype);
-}
-
-array = [
- "toString", "toDateString", "toTimeString", "toLocaleString",
- "toLocaleDateString", "toLocaleTimeString", "valueOf", "getTime",
- "getFullYear", "getUTCFullYear", "getMonth", "getUTCMonth", "getDate",
- "getUTCDate", "getDay", "getUTCDay", "getHours", "getUTCHours", "getMinutes",
- "getUTCMinutes", "getSeconds", "getUTCSeconds", "getMilliseconds",
- "getUTCMilliseconds", "getTimezoneOffset", "setTime", "setMilliseconds",
- "setUTCMilliseconds", "setSeconds", "setUTCSeconds", "setMinutes",
- "setUTCMinutes", "setHours", "setUTCHours", "setDate", "setUTCDate",
- "setMonth", "setUTCMonth", "setFullYear", "setUTCFullYear", "toGMTString",
- "toUTCString", "getYear", "setYear", "toISOString", "toJSON"];
-CheckEcmaSemantics(Date.prototype, array, "Date prototype");
-
-array = [
- "random", "abs", "acos", "asin", "atan", "ceil", "cos", "exp", "floor", "log",
- "round", "sin", "sqrt", "tan", "atan2", "pow", "max", "min"];
-CheckEcmaSemantics(Math, array, "Math1");
-
-CheckEcmaSemantics(Date, ["UTC", "parse", "now"], "Date");
-
-array = [
- "E", "LN10", "LN2", "LOG2E", "LOG10E", "PI", "SQRT1_2", "SQRT2"];
-CheckDontDelete(Math, array, "Math2");
-
-array = [
- "escape", "unescape", "decodeURI", "decodeURIComponent", "encodeURI",
- "encodeURIComponent", "isNaN", "isFinite", "parseInt", "parseFloat", "eval",
- "execScript"];
-CheckEcmaSemantics(this, array, "Global");
-CheckReadOnlyAttr(this, "Infinity");
-CheckReadOnlyAttr(this, "NaN");
-CheckReadOnlyAttr(this, "undefined");
-
-array = ["exec", "test", "toString", "compile"];
-CheckEcmaSemantics(RegExp.prototype, array, "RegExp prototype");
-
-array = [
- "toString", "toLocaleString", "valueOf", "hasOwnProperty",
- "isPrototypeOf", "propertyIsEnumerable", "__defineGetter__",
- "__lookupGetter__", "__defineSetter__", "__lookupSetter__"];
-CheckEcmaSemantics(Object.prototype, array, "Object prototype");
-
-var old_Object_prototype = Object.prototype;
-var new_Object_prototype = {};
-for (var i = 0; i < 7; i++) {
- Object.prototype = new_Object_prototype;
- assertEquals(old_Object_prototype, Object.prototype);
-}
-
-array = [
- "toString", "valueOf", "toJSON"];
-CheckEcmaSemantics(Boolean.prototype, array, "Boolean prototype");
-
-array = [
- "toString", "toLocaleString", "valueOf", "toFixed", "toExponential",
- "toPrecision", "toJSON"];
-CheckEcmaSemantics(Number.prototype, array, "Number prototype");
-
-CheckEcmaSemantics(Function.prototype, ["toString"], "Function prototype");
-CheckEcmaSemantics(Date.prototype, ["constructor"], "Date prototype constructor");
-
-array = [
- "charAt", "charCodeAt", "concat", "indexOf",
- "lastIndexOf", "localeCompare", "match", "replace", "search", "slice",
- "split", "substring", "substr", "toLowerCase", "toLocaleLowerCase",
- "toUpperCase", "toLocaleUpperCase", "link", "anchor", "fontcolor", "fontsize",
- "big", "blink", "bold", "fixed", "italics", "small", "strike", "sub", "sup",
- "toJSON", "toString", "valueOf"];
-CheckEcmaSemantics(String.prototype, array, "String prototype");
-CheckEcmaSemantics(String, ["fromCharCode"], "String");
-
-
-function CheckEcmaSemantics(type, props, name) {
- print(name);
- for (var i = 0; i < props.length; i++) {
- CheckDeletable(type, props[i]);
- }
-}
-
-
-function CheckDontDelete(type, props, name) {
- print(name);
- for (var i = 0; i < props.length; i++) {
- CheckDontDeleteAttr(type, props[i]);
- }
-}
-
-
-function CheckDeletable(type, prop) {
- var old = type[prop];
- var hasOwnProperty = Object.prototype.hasOwnProperty;
- if (!type[prop]) return;
- assertTrue(type.hasOwnProperty(prop), "inherited: " + prop);
- var deleted = delete type[prop];
- assertTrue(deleted, "delete operator returned false: " + prop);
- assertFalse(hasOwnProperty.call(type, prop), "still there after delete: " + prop);
- type[prop] = "foo";
- assertEquals("foo", type[prop], "not overwritable: " + prop);
- type[prop] = old;
-}
-
-
-function CheckDontDeleteAttr(type, prop) {
- var old = type[prop];
- if (!type[prop]) return;
- assertTrue(type.hasOwnProperty(prop), "inherited: " + prop);
- var deleted = delete type[prop];
- assertFalse(deleted, "delete operator returned true: " + prop);
- assertTrue(type.hasOwnProperty(prop), "not there after delete: " + prop);
- type[prop] = "foo";
- assertFalse("foo" == type[prop], "overwritable: " + prop);
-}
-
-
-function CheckReadOnlyAttr(type, prop) {
- var old = type[prop];
- if (!type[prop]) return;
- assertTrue(type.hasOwnProperty(prop), "inherited: " + prop);
- var deleted = delete type[prop];
- assertFalse(deleted, "delete operator returned true: " + prop);
- assertTrue(type.hasOwnProperty(prop), "not there after delete: " + prop);
- type[prop] = "foo";
- assertEquals(old, type[prop], "overwritable: " + prop);
-}
-
-print("OK");
diff --git a/src/3rdparty/v8/test/mjsunit/unicode-case-overoptimization.js b/src/3rdparty/v8/test/mjsunit/unicode-case-overoptimization.js
deleted file mode 100644
index bfda48c..0000000
--- a/src/3rdparty/v8/test/mjsunit/unicode-case-overoptimization.js
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test all non-ASCII characters individually to ensure that our optimizations
-// didn't break anything.
-for (var i = 0x80; i <= 0xfffe; i++) {
- var c = String.fromCharCode(i);
- var c2 = String.fromCharCode(i + 1);
- var re = new RegExp("[" + c + "-" + c2 + "]", "i");
- assertTrue(re.test(c), i);
-}
diff --git a/src/3rdparty/v8/test/mjsunit/unicode-string-to-number.js b/src/3rdparty/v8/test/mjsunit/unicode-string-to-number.js
deleted file mode 100644
index 13a7acf..0000000
--- a/src/3rdparty/v8/test/mjsunit/unicode-string-to-number.js
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Make sure not to treat 16-bit unicode characters as ASCII
-// characters when converting to numbers.
-assertEquals(272, Number('2\u00372'));
-assertTrue(isNaN(Number('2\u11372')), "short-string");
-
-// Check that long string can convert to proper numbers.
-var s = '\u0031';
-for (var i = 0; i < 7; i++) {
- s += s;
-}
-assertTrue(isFinite(Number(s)));
-
-// Check that long strings with non-ASCII characters cannot convert.
-var s = '\u1131';
-for (var i = 0; i < 7; i++) {
- s += s;
-}
-assertTrue(isNaN(Number(s)), "long-string");
-
diff --git a/src/3rdparty/v8/test/mjsunit/unicode-test.js b/src/3rdparty/v8/test/mjsunit/unicode-test.js
deleted file mode 100644
index 66a029a..0000000
--- a/src/3rdparty/v8/test/mjsunit/unicode-test.js
+++ /dev/null
@@ -1,9169 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Texts are from the Unibrow test suite.
-
-// Note that this file is in UTF-8. smjs and testkjs do not read their
-// source files as UTF-8, so they will fail on this test. If you want
-// to run the test on them you can do so after filtering it with the
-// following piece of perl-based line noise:
-
-// perl -CIO -ne '$_ =~ s/([^\n -~])/"\\u" . sprintf("%04x", ord($1))/ge; print $_;' < unicode-test.js > unicode-test-ascii.js
-
-// The result is predictably illegible even for those fluent in Hindi.
-
-var chinese =
-"中国历史\n" +
-"[编辑首段]维基百科,自由的百科全书\n" +
-"跳转到: 导航, 搜索\n" +
-"中國歷史\n" +
-"中国历史系列条目\n" +
-"史前时期\n" +
-"传说时期\n" +
-"(另见三皇五帝)\n" +
-"夏\n" +
-"商\n" +
-"西周 周\n" +
-"春秋 东周\n" +
-"战国\n" +
-"秦\n" +
-"西汉 汉\n" +
-"新朝\n" +
-"东汉\n" +
-"魏 蜀 吴 三\n" +
-"国\n" +
-"西晋 晋\n" +
-"东晋 十六国\n" +
-"宋 南\n" +
-"朝 北魏 北\n" +
-"朝 南\n" +
-"北\n" +
-"朝\n" +
-"齐\n" +
-"梁 东\n" +
-"魏 西\n" +
-"魏\n" +
-"陈 北\n" +
-"齐 北\n" +
-"周\n" +
-"隋\n" +
-"唐\n" +
-"(另见武周)\n" +
-"五代十国\n" +
-"辽\n" +
-"(西辽) 西\n" +
-"夏 北宋 宋\n" +
-"金 南宋\n" +
-"元\n" +
-"明\n" +
-"清\n" +
-"中华民国\n" +
-"中华人民\n" +
-"共和国 中华\n" +
-"民国\n" +
-"(见台湾问题)\n" +
-"\n" +
-" * 中国历史年表\n" +
-" * 中国军事史\n" +
-" * 中国美术史\n" +
-" * 中国科学技术史\n" +
-" * 中国教育史\n" +
-"\n" +
-"中国\n" +
-"天坛\n" +
-"文化\n" +
-"中文 - 文学 - 哲学 - 教育\n" +
-"艺术 - 国画 - 戏曲 - 音乐\n" +
-"神话 - 宗教 - 术数 - 建筑\n" +
-"文物 - 电影 - 服饰 - 饮食\n" +
-"武术 - 书法 - 节日 - 姓名\n" +
-"地理\n" +
-"疆域 - 行政区划 - 城市\n" +
-"地图 - 旅游 - 环境 - 生物\n" +
-"人口 - 民族 - 交通 - 时区\n" +
-"历史\n" +
-"年表 - 传说时代 - 朝代\n" +
-"民国史 - 共和国史\n" +
-"文化史 - 科技史 - 教育史\n" +
-"人口史 - 经济史 - 政治史\n" +
-"政治\n" +
-"中华人民共和国政治 - 中华民国政治\n" +
-"宪法 - 外交 - 军事 - 国旗\n" +
-"两岸问题 - 两岸关系\n" +
-"一个中国 - 中国统一\n" +
-"经济\n" +
-"金融 - 农业 - 工业 - 商业\n" +
-"中国各省经济 - 五年计划\n" +
-"其他\n" +
-"列表 - 体育 - 人权 - 媒体\n" +
-"\n" +
-"中国历史自商朝起算约有3600年,自黄帝时代起算约有4000多年。有历史学者认为,在人类文明史中,“历史时代”的定义是指从有文字发明时起算,那之前则称为“史前”;中国历史中传说伏羲做八卦,黄帝时代仓颉造文字;近代考古发现了3600多年前(公元前1600年)商朝的甲骨文、约4000年前至7000年前的陶文、约7000年前至10000年前具有文字性貭的龟骨契刻符号。另外,目前在中国发现最早的史前人类遗址距今约200万年。\n" +
-"\n" +
-"从政治形态区分中国历史,可见夏朝以前长达3000年以上的三皇五帝是母系氏族社会到父系氏族社会的过渡时代,而夏朝开始君王世袭,周朝建立完备的封建制度至东周逐渐解构,秦朝首度一统各国政治和许多民间分歧的文字和丈量制度,并建立中央集权政治,汉朝起则以文官主治国家直至清朝,清末以降,民主政治、马克思主义等各种政治思潮流传,先促成中华民国的建立,并于其后四、五十年再出现中华人民共和国,而由于内战失败,中华民国政府退守台湾。\n" +
-"\n" +
-"由经济形态观察,中国古代人口主要由自由民构成,私有制、商业活动发达。周朝时商业主要由封建领主阶层控制的官商贸易和庶民的自由贸易构成。秦汉以后实行中央集权,人口由士、农、工、商等构成,其中以从事农业的自由民为主体,是一个君权官僚制下的以土地为主要生产资本的较为自由的商业经济社会,一些重要的行业由官商垄断。除了农业,手工业以及商业贸易也有很大的发展。早在汉朝丝路的开通,促进了东亚与中亚至欧洲的陆上交通时,国际贸易早已起步;隋唐时大运河的开通促进了南北贸易;唐朝的盛世及外交的开放、交通的建设,更使各国文化、物资得以交流;宋代时出现了纸币;元代时与中亚的商业交流十分繁荣;明清两代受到西方国家海上发展的影响,海上国际贸易发展迅猛。自中华民国成立起试图建立民主国家,实行自由经济,直到1990年代台湾落实民主制度,1950年代以后30多年迅速实现了向工业化社会的转型;而中国大陆则在1949年后采用一党制统治,起先为公有制的计划经济社会,改革开放后逐步向私有制的市场经济社会転型,同时,1980年代以来工业化发展迅猛,数亿人口在短短20多年内从农民转为产业工人(目前仅仅被称为“农民工”的产业工人就达到约2亿)。伴随经济的迅速国际化,中国经济成为全球经济中越来越重要的组成部分。\n" +
-"目录\n" +
-"[隐藏]\n" +
-"\n" +
-" * 1 史前时代\n" +
-" * 2 传说时代\n" +
-" * 3 先秦时期\n" +
-" o 3.1 三代\n" +
-" o 3.2 春秋战国\n" +
-" * 4 秦汉时期\n" +
-" * 5 魏晋南北朝时期\n" +
-" * 6 隋唐五代时期\n" +
-" * 7 宋元时期\n" +
-" * 8 明清时期\n" +
-" o 8.1 清末的内忧外患\n" +
-" * 9 20世纪至今\n" +
-" * 10 参见\n" +
-" * 11 其他特定主题中国史\n" +
-" * 12 注解\n" +
-" * 13 参考文献\n" +
-" * 14 相关著作\n" +
-" * 15 外部链接\n" +
-"\n" +
-"[编辑] 史前时代\n" +
-"大汶口文化的陶鬹,山東莒县大朱村出土\n" +
-"大汶口文化的陶鬹,山东莒县大朱村出土\n" +
-"\n" +
-"迄今为止发现的最早的高等灵长类中华曙猿在4500万年前生活在中国江南一带。考古证据显示224万年至25万年前,中国就有直立人居住,目前考古发现的有巫山人、元谋人、蓝田人、南京直立人、北京直立人等。这些都是目前所知较早的原始人类踪迹。\n" +
-"\n" +
-"中国史前时代的各种文化是经过了以下几个阶段:以直立猿\n" +
-"人为主的旧石器时代早中期(距今约50至40多万年前),接着进入了旧石器时代中晚期,以山顶洞人为代表,距今约在20至10余万年前。新石器时代早期的代表性文化是裴李岗文化,紧接着是以仰韶文化为代表的新石器时代中期。而以龙山文化为代表的新石器时代晚期,大约出现在公元前2500年到公元前1300年间。\n" +
-"\n" +
-"根据现在的考古学研究,中国的新石器时代呈现多元并立的情形:约西元前5000年到3000年前在河南省、河北省南部、甘肃省南部和山西省南部出现的仰韶文化便具备使用红陶、彩陶以及食用粟和畜养家畜的特质。而大约在同一时间,尚有在浙江省北边出现的河姆渡文化、山东省的大汶口文化。而之后发现的如二里头遗址和三星堆遗址则为青铜器时代的代表。\n" +
-"\n" +
-"[编辑] 传说时代\n" +
-"\n" +
-" 主条目:三皇五帝\n" +
-"\n" +
-"後人所繪的黄帝像\n" +
-"后人所绘的黄帝像\n" +
-"\n" +
-"华夏文明形成于黄河流域中原地区。早期的历史,口口相传。神话中有盘古开天地、女娲造人的说法。传说中的三皇五帝,是夏朝以前数千年杰出首领的代表,具体而言有不同的说法。一般认为,三皇是燧人、伏羲、神农以及女娲、祝融中的三人,五帝一般指黄帝、颛顼、帝喾、尧、舜。自三皇至五帝,历年无确数,最少当不下数千年。\n" +
-"\n" +
-"据现今整理出来的传说,黄帝原系炎帝部落的一个分支的首领,强大之后在阪泉之战中击败炎帝,成为新部落联盟首领,之后又与东南方的蚩尤部落发生冲突,在涿鹿之战中彻底击败对手,树立了自己的霸主地位。\n" +
-"\n" +
-"后来黄帝的孙子颛顼和玄孙帝喾继续担任部落联盟的首领。帝喾的儿子尧继位,他是一名贤君,创立了禅让制,传位给了舜。在舜时期,洪水泛滥,鲧采用堵塞的方法,结果洪水更厉害了,鲧被处决,他的儿子禹采用疏导的方法,成功治理了洪水,因此被推举为首领。然而他的儿子启破坏了禅让制方式,自立为王(但据《史记》及香港中学课本所述,启是被推举为领袖),建立了第一个世袭王朝——夏朝,夏朝持续了400多年,在最后一个夏朝君主——桀末期,东方诸侯国商首领成汤夺取了政权,建立了商朝。\n" +
-"\n" +
-"[编辑] 先秦时期\n" +
-"\n" +
-"[编辑] 三代\n" +
-"\n" +
-" 主条目:夏朝、商朝、周朝和西周\n" +
-"\n" +
-"甲骨文\n" +
-"甲骨文\n" +
-"\n" +
-"最早的世袭朝代夏朝约在前21世纪到前16世纪,由于这段历史目前没有发现文字性文物做印证,所以只能靠后世的记录和出土文物互相对照考证,中国学者一般认为河南洛阳二里头遗址是夏朝首都遗址,有学者对此持有疑问。根据文字记载,夏朝有了中国最早的历法--夏小正。不过之后的商朝是目前所发现的最早有文字文物的历史时期,存在于前16世纪到约前1046年。据说夏朝最后一个君主——桀,由于荒淫无道而被汤推翻。而商代时文明已经十分发达,有历法、青铜器以及成熟的文字——甲骨文等。商王朝时已经有一个完整的国家组织,并且具有了封建王朝的规模。当时的主要生产部门是农业,不过手工业,特别是青铜器的冶铸水平也已经十分高超。并且已经出现了原始的瓷器。商朝自盘庚之后,定都于殷(今河南安阳),因此也称为殷朝。商朝的王位继承制度是传子或传弟,多按年龄的长幼继承。\n" +
-"\n" +
-"与此同时,黄河上游的另一个部落周正在逐步兴起,到了大约前1046年,周武王伐纣,在牧野之战中取得决定性胜利,商朝灭亡。周朝正式建立,建都渭河流域的镐京(今陕西西安附近)。之后周朝的势力又慢慢渗透到黄河下游和淮河一带。周王朝依然是封建贵族统治,有许多贵族的封国(诸侯)。到鼎盛时,周朝的影响力已经在南方跨过长江,东北到今天的辽宁,西至甘肃,东到山东。周朝时的宗法制度已经建立,政权机构也较完善。自唐尧、虞舜至周朝皆封建时代,帝王与诸侯分而治之[1]。中国最早有确切时间的历史事件是发生于公元前841年西周的国人暴动。\n" +
-"\n" +
-"[编辑] 春秋战国\n" +
-"\n" +
-" 主条目:周朝、东周、春秋时期和战国 (中国)\n" +
-"\n" +
-"先師孔子行教像,為唐朝画家吳道子所画\n" +
-"先师孔子行教像,为唐朝画家吴道子所画\n" +
-"\n" +
-"前770年,由于遭到北方游牧部落犬戎的侵袭,周平王东迁黄河中游的洛邑(今河南洛阳),东周开始。此后,周王朝的影响力逐渐减弱,取而代之的是大大小小一百多个小国(诸侯国和附属国),史称春秋时期。春秋时期的大国共有十几个,其中包括了晋、秦、郑、齐及楚等。这一时期社会动荡,战争不断,先后有五个国家称霸,即齐、宋、晋、楚、秦(又有一说是齐、晋、楚、吴、越),合称春秋五霸。到了前546年左右,黄河流域的争霸基本结束,晋、楚两国平分了霸权。前403年,晋国被分成韩、赵、魏三个诸侯国,史称“三家分晋”。再加上被田氏夺去了政权的齐国,和秦、楚及燕,并称战国七雄,战国时期正式开始。大部分马克思主义史学家将战国开始划为封建社会,然而大部分西方及台湾学者却又将之划为封建社会的崩溃。前356年秦国商鞅变法开始后,秦国国力大大增强,最后终于在前221年消灭六国最后的齐国,完成统一,中国历史也进入了新时代。\n" +
-"\n" +
-"春秋战国时期学术思想比较自由,史称百家争鸣。出现了多位对之后中国有深远影响的思想家(诸子百家),例如老子、孔子、墨子、庄子、孟子、荀子、韩非等人。出现了很多学术流派,较出名的有十大家,即道家(自然)、儒家(伦理)、阴阳家(星象占卜)、法家(法治)、名家(修辞辩论)、墨家(科技)、众、杂、农家(农业)、小说家(小说)等。文化上则出现了第一个以个人名字出现在中国文学史上的诗人屈原,他著有楚辞、离骚等文学作品。孔子编成了诗经。战争史上出现了杰出的兵法家孙武、孙膑、吴起等等。科技史上出现了墨子,建筑史上有鲁班,首次发明了瓦当,奠定了中国建筑技术的基础。能制造精良的战车与骑兵,同时此时中国的冶金也十分发达,能制造精良的铁器,在农业上出现了各种灌溉机械,大大提高了生产率,从而为以后人口大大膨胀奠定了基础。历史上出现了春秋(左传),国语,战国策。中华文化的源头基本上都可以在这一时期找到。\n" +
-"\n" +
-"这一时期科技方面也取得了很大进步。夏朝发明了干支纪年,出现了十进位制。西周人用圭表测日影来确定季节;春秋时期确定了二十八宿;后期则产生了古四分历。\n" +
-"\n" +
-"[编辑] 秦汉时期\n" +
-"\n" +
-" 主条目:秦朝、汉朝、西汉、新朝和东汉\n" +
-"\n" +
-"北京八達嶺長城\n" +
-"北京八达岭长城\n" +
-"\n" +
-"前221年,秦并其他六国后统一了中国主体部分,成为了中国历史上第一个统一的中央集权君主统治国家,定都咸阳(今西安附近)。由于秦王嬴政自认“功盖三皇,德过五帝”,于是改用皇帝称号,自封始皇帝,人称秦始皇,传位后的皇帝称二世,直至千世万世。他对国家进行了许多项改革,包括了中央集权的确立,取代了周朝的诸侯分封制;统一了文字,方便官方行文;统一度量衡,便于工程上的计算。秦始皇还大力修筑驰道,并连接了战国时赵国、燕国和秦国的北面围城,筑成了西起临洮、东至辽东的万里长城以抵御北方来自匈奴,东胡等游牧民族的侵袭。秦始皇推崇法治,重用法家的李斯作为丞相,并听其意见,下令焚书坑儒,收缴天下兵器,役使七十万人修筑阿房宫以及自己的陵墓——包括兵马俑等。部分史学家对以上事件存有怀疑,认为由于秦始皇的一系列激进改革得罪了贵族,平民无法适应,才在史书上留此一笔。[来源请求]\n" +
-"\n" +
-"前210年,秦始皇病死于出巡途中,胡亥(即秦二世)杀害太子扶苏即位。但十个月后,陈胜、吴广在大泽乡揭竿而起,包括六国遗臣等野心家乘势作乱,前206年刘邦围攻咸阳,秦王子婴自缚出城投降,秦亡。此后,汉王刘邦与西楚霸王项羽展开了争夺天下的楚汉战争。 前202年十二月,项羽被汉军围困于垓下(今安徽灵壁),四面楚歌。项羽在乌江自刎而死。楚汉之争至此结束。汉高祖刘邦登基,定都长安(今陕西西安),西汉开始。到了汉武帝时,西汉到达鼎盛。并与罗马,安息(帕提亚),贵霜并称为四大帝国。武帝实行推恩令,彻底削弱了封国势力,强化监察制度,实现中央集权;他派遣卫青、霍去病、李广等大将北伐,成功地击溃了匈奴,控制了西域,还派遣张骞出使西域,开拓了著名的丝绸之路,发展了对外贸易,使中国真正了解了外面的世界,促进中西文化交流。儒家学说也被确立为官方的主流意识形态,成为了占统治地位的思想。其他艺术与文化也蒸蒸日上。同时期还出现了第一部通史性质的巨著——《史记》,同时这时的中国出现造纸术,大大推动了文化发展。\n" +
-"\n" +
-"西汉发展到了一世纪左右开始逐渐衰败。公元9年,外戚王莽夺权,宣布进行一系列的改革,改国号为新。然而这些改革却往往不切实际,最终导致农民纷纷起义。公元25年刘秀复辟了汉朝,定都洛阳,史称东汉,而他就是汉光武帝。东汉的发展延续了西汉的传统,此时出现了天文学家张衡。汉的文化吸取了秦的教训,显得相当开明,当时佛教通过西域到达中国,在河南洛阳修建了中国的第一座佛教寺庙——白马寺,佛教正式传入中国。\n" +
-"\n" +
-"[编辑] 魏晋南北朝时期\n" +
-"\n" +
-" 主条目:魏晋南北朝、三国、晋朝、十六国和南北朝\n" +
-"\n" +
-"赤壁\n" +
-"赤壁\n" +
-"\n" +
-"东汉中后期,宦官和外戚长期争权,在黄巾起义的打击下,到了公元二世纪左右时再度衰败,196年曹操控制了东汉朝廷,把汉献帝迎至许都,“挟天子以令诸侯”,220年,曹操死后,长子曹丕废汉献帝自立,建立魏国,同时尚有刘氏的汉和孙氏的吴,历史进入了三国时期。\n" +
-"\n" +
-"265年,魏权臣司马炎称帝,建立晋朝。280年三国归晋,再度统一。晋朝的文化也有一定发展,当时由于战乱纷纷,很多学士选择归隐,不问世事,典型的代表人物是陶渊明(陶潜),当时的书法艺术也十分兴盛。290年晋武帝死后不到一年,十六年的朝廷权利斗争开始,史称“八王之乱”。与此同时,中原周边的五个游牧民族(匈奴、鲜卑、羌、氐、羯)与各地流民起来反晋,史称五胡乱华。这些游牧民族纷纷建立自己的国家,从304年到409年,北部中国陆陆续续有多个国家建立,包括了汉、前赵、后赵、前燕、前凉、前秦、后秦、后燕、西秦、后凉、北凉、南凉、南燕、西凉、夏和北燕, 史称十六国。\n" +
-"\n" +
-"自东汉后期开始,为躲避战乱,北方的汉族人民大量迁居南方,造成经济重心南移;晋朝南迁,建都建康(今江苏南京),历史上称此前为西晋,南迁后为东晋。最后,拓跋鲜卑统一北方,建立北朝的第一个王朝——北魏,形成了南北朝的对立。南朝经历了宋、齐、梁、陈的更替,而北朝则有北魏、东魏、西魏、北齐和北周。南北朝时期是佛教十分盛行的时期,西方的佛教大师络绎不绝地来到中国,许多佛经被翻译成汉文。\n" +
-"\n" +
-"[编辑] 隋唐五代时期\n" +
-"\n" +
-" 主条目:隋朝、唐朝和五代十国\n" +
-"\n" +
-"唐代画家张萱作《捣练图》。\n" +
-"唐代画家张萱作《捣练图》。\n" +
-"\n" +
-"581年,杨坚取代北周建立了隋朝,并于589年灭掉南朝最后一个政权——陈,中国历经了三百多年的分裂之后再度实现了统一。不过隋朝也是一个短命的王朝,在修筑了巨大工程——京杭大运河后就灭亡了,只经历了两代37年。\n" +
-"\n" +
-"618年,唐高祖李渊推翻隋朝建立了唐朝,它是中国历史上延续时间最长的朝代之一。626年,唐太宗李世民即位,唐朝开始进入鼎盛时期,史称贞观之治。长安(今陕西西安)是当时世界上最大的城市,唐王朝也是当时最发达的文明。高宗李治之妻武则天迁都洛阳,并称帝,成为中国史上唯一的女皇帝,改国号周,并定佛教为国教,广修佛寺,大兴土木。隋唐时期开创的科举制是当时比较科学与公平的人材选拔制度。唐王朝与许多邻国发展了良好的关系,文成公主嫁到吐蕃,带去了大批丝织品和手工艺品。日本则不断派遣使节、学问僧和留学生到中国。唐朝的文化也处于鼎盛,特别是诗文得到较大的发展,还编撰了许多纪传体史书。唐代涌现出许多伟大的文学家,例如诗人李白、杜甫、白居易、杜牧,以及散文家韩愈、柳宗元。唐代的佛教是最兴盛的宗教,玄奘曾赴天竺取经,回国后译成1335卷的经文,并于西安修建了大雁塔以存放佛经。唐朝前期对宗教采取宽容政策,佛教外,道教、摩尼教(Manicheism)、景教和伊斯兰教等也得到了广泛传播。这一切都在李世民的曾孙唐玄宗李隆基统治时期达到顶峰,史称开元盛世。然而在755年,爆发了安史之乱,唐朝由此开始走向衰落。\n" +
-"\n" +
-"875年,黄巢起义爆发,唐朝再度分裂,并于907年灭亡,形成了五代十国的混乱局面。\n" +
-"\n" +
-"[编辑] 宋元时期\n" +
-"\n" +
-" 主条目:辽朝、金朝、西夏、宋朝和元朝\n" +
-"\n" +
-"清明上河圖局部,描繪了清明時節,北宋京城汴梁及汴河兩岸的繁華和熱鬧的景象和優美的自然風光。\n" +
-"清明上河图局部,描绘了清明时节,北宋京城汴梁及汴河两岸的繁华和热闹的景象和优美的自然风光。\n" +
-"\n" +
-"经过了五十多年的纷争后,960年北宋控制了中国大部分地区,但是燕云十六州在北方契丹族建立的辽朝手中(五代中的后晋太祖“儿皇帝”石敬瑭所献),河西走廊被党项族建立的西夏趁中原内乱占据,北宋初期虽然曾出兵讨还(宋太宗)但是以失败告终,木以成舟,无可奈何,不得不向日益坐大的辽和西夏交纳岁币。北宋晚期发生了分别以王安石、司马光为首的党派斗争,增加了社会的不安。到了1125年松花江流域女真族,也就是后来的满族,建立的金国势力逐渐强大,1125年,金国灭辽。金国随即开始进攻积弱的北宋,1127年(靖康元年)金国攻破北宋首都汴京(今河南开封),俘虏三千多皇族,其中包括了当时的皇帝宋钦宗和太上皇宋徽宗,因为钦宗其时的年号为靖康,史称靖康之难,北宋灭亡。同年宋钦宗的弟弟赵构在南京应天府(今河南商丘)即皇位,定都临安(今浙江杭州),史称南宋,偏安江南。\n" +
-"\n" +
-"此后金与南宋多次交战,英雄人物层出不穷(如名将岳飞)。直到1234年,蒙古南宋联合灭金。随即蒙古与南宋对抗,经历了空前绝后的大规模血腥战争(如襄樊之战, 钓鱼城之战)。1271年忽必烈建立元朝,定都大都(今北京)。元军于1279年与南宋进行了崖山海战,8岁的小皇帝赵昺被民族英雄陆秀夫背着以身殉国惨烈地跳海而死。崖山海战以元朝的胜利告终,南宋随之灭亡。另有一说, 原华夏文明至此夭折.[来源请求]\n" +
-"\n" +
-"北宋时期中国出现印刷术和火药。当时中国经济发达,中国海上贸易十分兴盛,福建泉州一带成为繁华的港口,中国当时的经济总量占世界的一半,财政收入超过一亿两白银,首都开封和杭州人口达到400到500万人口,相对当时佛罗伦萨和巴黎十几万人口来讲确实是十分繁华,各国商人云集,文化也极盛,出现了程颐、朱熹等理学家,提倡三从四德。与唐诗并驾齐驱的宋词,有苏轼等词文优秀的词人,出现了中国历史上最著名的女词人李清照,社会文化发达,出现了白蛇传,梁祝等浪漫爱情传说,以至于宋朝被西方学者称为中国的“文艺复兴”。\n" +
-"\n" +
-"元朝建立后,一方面吸收了许多中原、汉族文化,以中原的统治机构和方式来统治人民,并大力宣扬朱熹一派的理论(即程朱理学),使得程朱理学成为元朝(以及其后朝代)的官方思想,另一方面却实行了民族等级制度,第一等是蒙古人;第二等是“色目人”,包括原西夏统治区以及来自西域、中亚等地的人口;第三等是“汉人”,包括原金统治区的汉族和契丹、女真等族人;第四等是“南人”,包括原南宋统治区的汉族和其他族人。这种民族制度导致汉族的不满,许多汉族人将元朝视为外来政权,并发动多次反抗。元朝政府除了传统的农业外,也比较重视商业。元朝首都大都十分繁华,来自世界各国的商人云集。在文化上,则出现了与唐诗、宋词并称的元曲,涌现出诸如关汉卿、马致远、王实甫等著名作曲家。\n" +
-"\n" +
-"[编辑] 明清时期\n" +
-"紫禁城太和殿\n" +
-"紫禁城太和殿\n" +
-"\n" +
-" 主条目:明朝、南明、清朝和中国近代史\n" +
-"\n" +
-"1368年,农民起义军领袖朱元璋推翻元朝并建立了明朝。明朝前期建都南京,1405年曾帮助明成祖篡位的太监郑和奉命七次下西洋,曾经到达印度洋、东南亚及非洲等地,但后来明朝逐渐走向闭关锁国。1421年,明朝迁都北京。明朝文化上则出现了王阳明、李贽等思想家,以及《三国演义》、《水浒传》、《西游记》和《金瓶梅》等长篇小说。由于明朝末年行政混乱及严重自然灾害,1627年,明末农民大起义爆发,1644年,起义首领李自成攻克北京,明思宗自缢。南方大臣先后拥护福王朱由崧(弘光)、唐王朱聿键(隆武)、桂王朱由榔(永历)为帝,史称南明,最终因实力不足及政治内斗,仍为当时强盛的清朝所灭。\n" +
-"\n" +
-"明朝晚期,居住在东北地区的满族开始兴盛起来,终于在1644年李自成攻克北京后不久,驱逐李自成,进入北京,建立了清朝,当时明朝旧臣郑成功南撤到台湾岛,并驱逐了那里的荷兰殖民者,后来被清朝军队攻下。清朝在之后的半个世纪还成功地征服了许多地区,例如新疆、西藏、蒙古以及台湾。康熙年间,清廷还与沙俄在黑龙江地区发生战争,最终于1689年签订停战条约——《中俄尼布楚条约》。清朝由于取消了丁税(人头税),导致人口增加,到19世纪已达当时世界总人口的三分之一,人口的增多促进当时农业的兴盛,为当时世界上第一强国,到1820年时中国的经济总量占世界的三分之一。\n" +
-"\n" +
-"然而到了19世纪初,清朝已经走向衰落,在嘉庆年间先后爆发白莲教、天理教的大规模起义。与此同时海上强国英国、荷兰与葡萄牙等纷纷开始强制与中国进行贸易。1787年,英国商人开始向华输入鸦片,导致中国的国际贸易由顺差变为巨额逆差。清廷于1815年颁布搜查洋船鸦片章程,然而英商无视禁令依然走私大量鸦片,道光皇帝不得不于1838年派林则徐赴广州禁烟。1839年6月,将237万多斤鸦片在虎门销毁,史称虎门销烟。英国政府因此于1840年6月发动鸦片战争。一般中国大陆史学界认为这是中国近代史的开始。\n" +
-"\n" +
-"[编辑] 清末的内忧外患\n" +
-"一幅描繪列強瓜分中國情形的漫畫\n" +
-"一幅描绘列强瓜分中国情形的漫画\n" +
-"\n" +
-"鸦片战争持续了一年多,1841年8月英军到达南京,清廷恐惧英军会进逼北京,于是求和,1842年8月29日,《南京条约》签署。香港岛被割让;上海、广州、厦门、福州和宁波开放作为通商口岸,还赔偿款银(西班牙银圆)2100万元。1844年,美国与法国也与清廷分别签订了《望厦条约》和《黄埔条约》,中国的主权受到破坏。\n" +
-"\n" +
-"与此同时中国国内反抗清朝的斗争再度兴起。1851年至1864年间,受到基督教影响的秀才洪秀全建立拜上帝会,发动金田起义并创建了太平天国。太平天国曾经一度占领南方部分省份,并定都南京(改名“天京”),建立政教合一的中央政权。同一时期其它的运动还有天地会、捻军、上海小刀会起义、甘肃回民起义等。这些反抗清朝的斗争直到1860年代才基本平息下来。\n" +
-"\n" +
-"19世纪后期,英、美、法、俄、日等国多次侵入中国,强迫中国与之签定不平等条约。1858年中俄签定《瑷珲条约》,俄国割去黑龙江以北、外兴安岭以南60多万平方公里的中国领土。1860年,英法联军发动第二次鸦片战争,侵入北京,掠夺并烧毁皇家园林圆明园,并于1860年与清廷签定《北京条约》,各赔英法800万两白银,开放更多通商口岸。同年中俄《北京条约》将乌苏里江以东,包括库页岛(萨哈林岛)、海参崴(符拉迪沃斯托克)约40万平方公里的中国领土,划归俄国。1864年,《中俄勘分西北界约记》将巴尔喀什湖以东、以南和斋桑卓尔南北44万平方公里的中国领土,割给俄国。\n" +
-"\n" +
-"为了增强国力并巩固国防,清朝自1860年代开始推行洋务运动,国力有所恢复,并一度出现了同治中兴的局面。1877年清军收复新疆,1881年通过《伊犁条约》清军收复被沙俄占据多年的伊犁。中法战争后清朝还建立了当时号称亚洲第一、世界第六的近代海军舰队—北洋水师。然而在1894年爆发的中日甲午战争中,中国战败,次年被迫与日本签定《马关条约》,赔偿日本2亿两白银,并割让台湾、澎湖列岛给日本。甲午战争的失败,对当时的中国产生了很大的影响。1898年,光绪帝在亲政后同意康有为、梁启超等人提出的变法主张,从6月11日到9月21日的被称为百日维新的103天中进行了多项改革,但最终在慈禧太后发动政变后失败落幕,康有为、梁启超逃亡国外,谭嗣同、刘光第等六人被杀,史称“戊戌六君子”。\n" +
-"\n" +
-"1899年,义和团运动爆发,以“扶清灭洋”为宗旨并在慈禧太后默许下开始围攻外国驻北京使馆。于是,各国以解救驻京使馆人员的名义侵入中国,史称八国联军。1901年,清政府被迫与各国签定辛丑条约,赔款4.5亿两白银,分39年还清(本息合计9.8亿两),同时从北京到山海关铁路沿线由各国派兵驻扎,开北京东交民巷为使馆区,国人不得入内等。\n" +
-"\n" +
-"[编辑] 20世纪至今\n" +
-"\n" +
-" 主条目:中华民国历史和中华人民共和国史\n" +
-"\n" +
-"1901年,革命党开始兴起,孙中山等人在海外积极筹款,指挥国内的多次起义运动。经过十次失败的起义后,与革命党互不沟通的湖北新军在武昌起义获得成功。1912年元月,中华民国宣告成立。孙中山就任临时大总统。以清帝退位为条件,孙中山辞去总统位置,由袁世凯接任。但袁世凯妄图恢复帝制。此后,孙中山发起护法运动与护国运动讨伐袁世凯。1916年,袁世凯在称帝83天之后死去,中华民国进入北洋军阀控制中央政府统治时期,地方政府分别由各个军阀派系占据。\n" +
-"\n" +
-"孙中山之后多次试图联合南方地方军阀北伐北京中央政府未果。1921年,在共产国际的指导下中国共产党成立,并成为共产国际中国支部。1924年,孙中山提出新三民主义并确定联俄联共扶助农工的政策,国民党在共产国际帮助下改组,共产党员以个人身份加入国民党,国共两党进行第一次合作。孙中山自建立广州军政府(1923年改称大元帅府)以后,曾经三次进行北伐,均因条件不具备而未果。1925年春,孙中山病逝于北京。同年,广州国民政府为统一与巩固广东革命根据地,先后举行第一次东征第二次东征与南征,肃清广东境内的军阀势力和反革命武装,并将广东境内倾向革命的军队统一改编为国民革命军,下辖第1至第6军。不久又将广西部队改编为第7军。为北伐战争作了重要准备。1926年6月5日,国民党中央执行委员会正式通过国民革命军出师北伐案,并任命蒋介石为国民革命军总司令正式开始北伐。然而随着北伐和国民革命的深入,国民党不能容忍共产党激进的工人运动,国共两党分裂,大量共产党员及其支持者被清出国民党,有的被拘捕和杀害。1927年8月1日,以周恩来、贺龙、叶挺为首的共产党员在江西南昌发动南昌叛乱,共产党从此有自己独立的军队(中华人民共和国成立后,8月1日被定为建军节)。并于江西瑞金建立了第一个红色苏维埃地方割据政权。此后南京国民政府先后对中央苏区进行五次围剿,红军逃过了前四次围剿,在第五次战争失败,不得不离开红区。1934年开始,红军进行战略转移,在贵州遵义确立了毛泽东对红军的领导和指挥权,四渡赤水河,终于摆脱了追击,途经江西,贵州,四川,甘肃,陕西,经过二万五千里长征,最后在陕西北部与陕北红军刘志丹部会师,建立陕甘宁共产党临时政府。\n" +
-"毛泽東在天安门城楼上宣布中华人民共和國的成立\n" +
-"毛泽东在天安门城楼上宣布中华人民共和国的成立\n" +
-"\n" +
-"1931年9月18日,日本开始侵华,占领了东北全境。1936年12月12日,西安事变后国共第二次合作抗日。1937年7月7日,抗日战争全面爆发,蒋中正在庐山发表著名的“最后关头”的演说,号召全国人民一致抗日。在日军进行南京大屠杀前夕,中华民国首都从南京迁至武汉,后来迁至重庆,在八年间蒋中正为统帅的抗日力量共进行了22次大会战,和成千上万次大小战斗。1945年,二战结束后,当时的中国国民政府从日本手里获得了台湾及澎湖列岛以及其他一些领土,但也在1946年与苏联签订的条约中承认了外蒙古的独立(1951年,迁往台湾的国民党国民政府以苏联未履约为由,不承认该条约及依据该条约而独立的外蒙古的独立地位;但是,蒙古独立已为既成事实)。1946年6月,国共两党又进行了内战。中国共产党最终于1949年获得决定性胜利,中华民国中央政府迁往战后的台湾。中华人民共和国在北平成立,并将北平改名为北京,毛泽东宣布中华人民共和国政府为包括台湾在内的全中国的唯一合法政府。与此同时,蒋介石宣布台北为中华民国临时首都,宣誓三年内反攻大陆。(请参看台湾问题)\n" +
-"\n" +
-"中共执政之初,采取“土地革命”“公私合营”等手段,国内纷乱的局势暂时得到了稳定。按照中共的史观,自1956年“三大改造”完成后,中国正式进入社会主义阶段。并制订第一个五年计划,大力发展重工业,国家经济一度好转。但是1958年,毛泽东发动“大跃进”运动与人民公社话运动,各地浮夸风“放卫星”等谎报数据的情况盛行。自1959年到1961年,国家经济又陷入濒临崩溃的境地,中共称其为“三年自然灾害”。毛泽东因此退居幕后,以刘少奇为首的一批官僚着手恢复经济,国家形式得到了回稳。1966年,文化大革命爆发,刘少奇、贺龙等人被打倒,毛泽东再度成为政治领导,林彪一度成为内定接班人。在林彪阴谋败露后,四人帮成为新的重要政治势力。1976年,周恩来朱德先后去世;9月9日,毛泽东去世。华国锋接替了毛的领导地位,四人帮被打倒。但是华提出了“两个凡是”的路线,国家实质上仍然没有完全脱离文化大革命阶段。 1978年,邓小平复出,中共十一届三中全会召开,改革开放时代正式到来。中国的经济开始步入正轨。但是,由于通货膨胀与政治腐败,民间不满情绪开始酝酿。胡耀邦的去世成为愤怒爆发的导火索,终致爆发了六四事件。从此以后,改革的步伐一度停滞,直到1992年邓小平南巡后才得以改变。1997年,中国收复香港的主权,江泽民也接替邓成为了新的中国领导人。2002 年后,胡锦涛成为新的国家领导人,上海帮淡出政治中心。中共政府近几年渐渐放弃“韬光养晦”的外交方针,在外交舞台上动作频繁,并加强对台湾的攻势。经济改革依然得到了持续,但政治改革的话题仍然是禁忌。而由于贫富差距的拉大与政治腐败不见好转,民间对中共的评价与看法也日益两极。\n" +
-"\n" +
-"至于中华民国,在国府迁台后,国民党始终保持对政治与言论自由的强力控制。1986年,中华民国第一个反对党民主进步党成立,威权时代的戒严体制开始松动。1987年,中华民国政府正式宣告台湾省解严,进入了一个新的时代。之后,1996年实现了第一次民选总统;2000年更实现第一次政党和平轮替。2005年,末代国民大会召开,中华民国宪法出现了重大修改。今后,民主化的中华民国仍然充满变量。\n" +
-"\n" +
-"[编辑] 参见\n" +
-"\n" +
-" * 中国\n" +
-" * 中国历史年表\n" +
-" * 中国历史事件列表\n" +
-" * 诸侯会盟\n" +
-" * 中国历史地图\n" +
-"\n" +
-" \n" +
-"\n" +
-" * 中华人民共和国历史年表\n" +
-" * 中华人民共和国史\n" +
-" * 汉学\n" +
-" * 中华文明\n" +
-" * 中国历史大事年表\n" +
-"\n" +
-" \n" +
-"\n" +
-" * 中国文化\n" +
-" * 中国行政区划\n" +
-" * 中国朝代\n" +
-" * 夏商周断代工程\n" +
-" * 中国古都\n" +
-"\n" +
-" \n" +
-"\n" +
-" * 中国战争列表\n" +
-" * 中国国旗\n" +
-" * 中国皇帝\n" +
-" * 中国历代王朝君主世系表\n" +
-" * 中国君王诸子女列表\n" +
-" * 中华民国历史\n" +
-"\n" +
-"[编辑] 其他特定主题中国史\n" +
-"\n" +
-" * 中国军事史\n" +
-" * 中国科学技术史\n" +
-" * 中国文化史\n" +
-" * 中国文学史\n" +
-" * 中国艺术史\n" +
-" * 中国经济史\n" +
-" * 中国体育史\n" +
-" * 中国人口史\n" +
-" * 中国疆域史\n" +
-" * 中国盗墓史\n" +
-" * 中国酷刑史\n" +
-" * 中国食人史\n" +
-" * 中国盐业史\n" +
-"\n" +
-"[编辑] 注解\n" +
-"\n" +
-" 1. ↑ 柳翼谋:《中国文化史》\n" +
-"\n" +
-"[编辑] 参考文献\n" +
-"\n" +
-" 1. 白寿彝主编:中国通史纲要,1993年上海:人民出版社,ISBN 7208001367\n" +
-" 2. 周谷城著:中国通史,1995年上海:人民出版社,ISBN 7208003300\n" +
-" 3. 李敖著:独白下的传统,2000年香港:三联书店(香港)有限公司,ISBN 9620418913\n" +
-" 4. 范文澜著:中国近代史,1962年北京:人民出版社,统一书号 11001241\n" +
-" 5. 徐中约著:中国近代史(上册),香港2001 中文大学出版社,ISBN 9622019870\n" +
-" 6. Korotayev A., Malkov A., Khaltourina D. Introduction to Social Macrodynamics: Secular Cycles and Millennial Trends. Moscow: URSS, 2006. ISBN 5-484-00559-0 [1] (Chapter 2: Historical Population Dynamics in China).\n" +
-"\n" +
-"[编辑] 相关著作\n" +
-"\n" +
-" * 《二十四史》 (正史)\n" +
-" * 《国史要义》 柳诒徵\n" +
-" * 《国史大纲》 钱穆\n" +
-" * 《中华五千年史》 张其昀\n" +
-"\n" +
-"[编辑] 外部链接\n" +
-"维基共享资源中相关的多媒体资源:\n" +
-"中国历史\n" +
-"\n" +
-" * 中华万年网\n" +
-" * 一个全面专门研究中华历史的论坛:中华历史网论坛\n" +
-" * (正体中文 - 台湾)《中国大百科全书》:中国历史概述\n";
-
-var cyrillic =
-"История Китая\n" +
-"[править]\n" +
-"Материал из Википедии — свободной энциклопедии\n" +
-"Перейти к: навигация, поиск\n" +
-"История Китая\n" +
-"История Китая\n" +
-"Три властителя и пять императоров\n" +
-"Династия Ся\n" +
-"Династия Шан\n" +
-"Династия Чжоу \n" +
-"Западное Чжоу\n" +
-"Восточное Чжоу Чуньцю\n" +
-"Чжаньго\n" +
-"Династия Цинь\n" +
-"(Династия Чу) - смутное время\n" +
-"Династия Хань Западная Хань\n" +
-"Синь, Ван Ман\n" +
-"Восточная Хань\n" +
-"Эпоха Троецарствия Вэй Шу У\n" +
-"Цзинь\n" +
-" Западная Цзинь\n" +
-"Шестнадцать варварских государств Восточная Цзинь\n" +
-"Северные и Южные Династии\n" +
-"Династия Суй\n" +
-"Династия Тан\n" +
-"Ляо\n" +
-" \n" +
-"5 династий и 10 царств\n" +
-"Северная Сун\n" +
-" \n" +
-"Сун\n" +
-"Цзинь\n" +
-" \n" +
-"Западная Ся\n" +
-" \n" +
-"Южная Сун\n" +
-"Династия Юань\n" +
-"Династия Мин\n" +
-"Династия Цин\n" +
-"Китайская республика\n" +
-"Китайская Народная Республика\n" +
-" Китайская республика (Тайвань)\n" +
-"\n" +
-"Китайская цивилизация — одна из старейших в мире. По утверждениям китайских учёных, её возраст может составлять пять тысяч лет, при этом имеющиеся письменные источники покрывают период не менее 3500 лет. Наличие систем административного управления, которые совершенствовались сменявшими друг друга династиями, ранняя освоенность крупнейших аграрных очагов в бассейнах рек Хуанхэ и Янцзы создавало преимущества для китайского государства, экономика которого основывалась на развитом земледелии, по сравнению с соседями-кочевниками и горцами. Ещё более укрепило китайскую цивилизацию введение конфуцианства в качестве государственной идеологии (I век до н. э.) и единой системы письма (II век до н. э.).\n" +
-"Содержание\n" +
-"[убрать]\n" +
-"\n" +
-" * 1 Древний Китай\n" +
-" * 2 Государство Шан-Инь\n" +
-" * 3 Государство Чжоу (XI—III вв. до н. э.)\n" +
-" * 4 Империя Цинь\n" +
-" * 5 Империя Хань\n" +
-" * 6 Государство Цзинь и период Нань-бэй чао (IV—VI вв.)\n" +
-" * 7 Государство Суй (581—618)\n" +
-" * 8 Государство Тан\n" +
-" * 9 Государство Сун\n" +
-" * 10 Монголы и государство Юань (1280—1368)\n" +
-" * 11 Государство Мин (1368—1644)\n" +
-" * 12 Государство Цин\n" +
-" o 12.1 Внешняя экспансия Цин\n" +
-" o 12.2 Цинский Китай и Россия\n" +
-" o 12.3 Опиумные войны\n" +
-" o 12.4 Японо-китайская война 1894—1895 годов\n" +
-" o 12.5 Тройственная интервенция\n" +
-" o 12.6 Успехи русской политики в Китае\n" +
-" o 12.7 Захват Цзяочжоу Германией\n" +
-" o 12.8 Сто дней реформ\n" +
-" * 13 XX век\n" +
-" o 13.1 Боксерское восстание\n" +
-" o 13.2 Русско-японская война\n" +
-" o 13.3 Смерть Цыси\n" +
-" o 13.4 Аннексия Кореи\n" +
-" o 13.5 Революция 1911 года и создание Китайской Республики\n" +
-" o 13.6 Первая мировая война\n" +
-" o 13.7 Эра милитаристов\n" +
-" o 13.8 Победа Гоминьдана\n" +
-" o 13.9 Японская оккупация и Вторая мировая война\n" +
-" o 13.10 Создание Китайской Народной Республики\n" +
-" o 13.11 Культурная революция\n" +
-" o 13.12 Экономическая либерализация\n" +
-" * 14 См. также\n" +
-" * 15 Литература\n" +
-"\n" +
-"[править] Древний Китай\n" +
-"\n" +
-"Китайская цивилизация (предков государствообразующего этноса хань) — группа культур (Баньпо 1, Шицзя, Баньпо 2, Мяодигоу, Чжуншаньчжай 2, Хоуган 1 и др.) среднего неолита (ок. 4500-2500 до н.э.) в бассейне реки Хуанхэ, которые традиционно объединяются общим названием Яншао. Представители этих культур выращивали зерновые (чумиза и др.) и занимались разведением скота (свиньи). Позднее в этом районе появились ближневосточные виды злаков (пшеница и ячмень) и породы домашнего скота (коровы, овцы, козы).\n" +
-"\n" +
-"[править] Государство Шан-Инь\n" +
-"\n" +
-"Первым известным государством бронзового века на территории Китая было государство Шан-Инь, сформировавшееся в XIV веке до н. э. в среднем течении реки Хуанхэ, в районе Аньяна.\n" +
-"\n" +
-"В результате войн с соседними племенами его территория расширилась и к XI веку до н. э. охватывала территории современных провинций Хэнань и Шаньси, а также часть территории провинций Шэньси и Хэбэй. Уже тогда появились зачатки лунного календаря и возникла письменность — прообраз современного иероглифического китайского письма. Иньцы значительно превосходили окружающие их племена и с военной точки зрения — у них было профессиональное войско, использовавшее бронзовое оружие, луки, копья и боевые колесницы. Иньцы практиковали человеческие жертвоприношения — чаще всего в жертву приносились пленные.\n" +
-"\n" +
-"В XI веке до н. э. государство Инь было завоёвано немногочисленным западным племенем Чжоу, которое до этого находилось в вассальных отношениях с иньцами, но постепенно укрепилось и создало коалицию племён.\n" +
-"\n" +
-"[править] Государство Чжоу (XI—III вв. до н. э.)\n" +
-"Китайская медная монета в виде мотыги. Провинция Лоян, V-III в. до н.э.\n" +
-"Китайская медная монета в виде мотыги. Провинция Лоян, V-III в. до н.э.\n" +
-"\n" +
-"Обширная территория государства Чжоу, охватывавшая практически весь бассейн Хуанхэ, со временем распалась на множество соперничающих между собой самостоятельных государственных образований — изначально, наследственных уделов на территориях, заселённых различными племенами и расположенных на удалении от столиц — Цзунчжоу (западной - около г. Сиань) и Чэнчжоу (восточной - Лои, Лоян). Эти уделы предоставлялись во владение родственникам и приближённым верховного правителя — обычно чжоусцам. В междоусобной борьбе число первоначальных уделов постепенно сокращалось, а сами уделы укреплялись и становились более самостоятельными.\n" +
-"\n" +
-"Население Чжоу было разнородным, причём наиболее крупную и развитую его часть составляли иньцы. В государстве Чжоу значительная часть иньцев была расселена на новых землях на востоке, где была построена новая столица — Чэнчжоу (современная провинция Хэнань).\n" +
-"\n" +
-"Для периода Чжоу в целом характерно активное освоение новых земель, расселение и этническое смешивание выходцев из различных районов, уделов (впоследствии — царств), что способствовало созданию фундамента будущей китайской общности.\n" +
-"\n" +
-"Период Чжоу (XI—III вв. до н. э.) делится на так называемые Западное и Восточное Чжоу, что связано с переездом правителя Чжоу в 770 до н. э. под угрозой нашествия варварских племён из Цзунчжоу — первоначальной столицы государства — в Чэнчжоу. Земли в районе старой столицы были отданы одному из союзников правителя государства, который создал здесь новый удел Цинь. Впоследствии именно этот удел станет центром единой китайской империи.\n" +
-"\n" +
-"Период Восточное Чжоу, в свою очередь, разделяется на два периода:\n" +
-"\n" +
-" * Чуньцю ( «Период Весны и Осени» VIII—V вв. до н. э.);\n" +
-" * Чжаньго («Период Сражающихся царств», V—III вв. до н. э.).\n" +
-"\n" +
-"В период Восточного Чжоу власть центрального правителя — вана, сына Неба (тянь-цзы), правящего Поднебесной по Мандату Неба (тянь-мин), — постепенно ослабла, а ведущую политическую роль стали играть сильные уделы, превращавшиеся в крупные царства. Большинство из них (за исключением окраинных) именовали себя «срединными государствами» (чжун-го), ведущими своё происхождение от раннечжоуских уделов.\n" +
-"\n" +
-"В период Восточного Чжоу формируются основные философские школы древнего Китая — конфуцианство (VI—V вв. до н. э.), моизм (V в. до н. э.), даосизм (IV в. до н. э.), легизм.\n" +
-"\n" +
-"В V—III вв. до н.э. (период Чжаньго) Китай вступает в железный век. Расширяются сельскохозяйственные площади, увеличиваются ирригационные системы, развиваются ремёсла, революционные изменения происходят в военном деле.\n" +
-"\n" +
-"В период Чжаньго на территории Китая сосуществовало семь крупнейших царств — Вэй, Чжао и Хань (ранее все три входили в царство Цзинь), Цинь, Ци, Янь и Чу. Постепенно в результате ожесточённого соперничества верх стало одерживать самое западное — Цинь. Присоединив одно за другим соседние царства, в 221 до н. э. правитель Цинь — будущий император Цинь Ши Хуан — объединил весь Китай под своей властью.\n" +
-"\n" +
-"Так в середине III века до н. э. завершился период Восточного Чжоу.\n" +
-"\n" +
-"[править] Империя Цинь\n" +
-"\n" +
-"Объединив древнекитайские царства, император Цинь Ши Хуан конфисковал всё оружие у населения, переселил десятки тысяч семей наследственной знати из различных царств в новую столицу — Сяньян и разделил огромную страну на 36 новых областей, которые возглавили назначаемые губернаторы.\n" +
-"\n" +
-"При Цинь Шихуанди были соединены оборонительные стены (валы) северных чжоуских царств и создана Великая китайская стена. Было сооружено несколько стратегических дорог из столицы на окраины империи. В результате успешных войн на севере гунны (сюнну) были оттеснены за Великую стену. На юге к империи были присоединены значительные территории племён юэ, в том числе северная часть современного Вьетнама.\n" +
-"Строительство Великой китайской стены, протянувшейся на более чем 6700 км, было начато в III веке до н. э. для защиты северных районов Китая от набегов кочевников.\n" +
-"Строительство Великой китайской стены, протянувшейся на более чем 6700 км, было начато в III веке до н. э. для защиты северных районов Китая от набегов кочевников.\n" +
-"\n" +
-"Цинь Шихуанди, строивший все свои реформы на основах легизма с казарменной дисциплиной и жестокими наказаниями провинившихся, преследовал конфуцианцев, предавая их казни (погребение заживо) и сжигая их сочинения — за то, что они смели выступать против установившегося в стране жесточайшего гнёта.\n" +
-"\n" +
-"Империя Цинь прекратила существование вскоре после смерти Цинь Шихуанди.\n" +
-"\n" +
-"[править] Империя Хань\n" +
-"\n" +
-"Вторую в истории Китая империю, получившую название Хань (206 до н. э.—220 н. э.) основал выходец из среднего чиновничества Лю Бан (Гао-цзу), один из военачальников возрожденного царства Чу, воевавших против Цинь после смерти императора Цинь Шихуана в 210 г. до н.э.\n" +
-"\n" +
-"Китай в это время переживал экономический и социальный кризис, вызванный потерей управляемости и войнами военачальников циньских армий с элитами уничтоженных раннее царств, пытавшихся восстановить свою государственность. Из-за переселений и войн значительно сократилась численность сельского населения в основных аграрных районах.\n" +
-"\n" +
-"Важная особенность смены династий в Китае состояла в том, что каждая новая династия приходила на смену предыдущей в обстановке социально-экономического кризиса, ослабления центральной власти и войн между военачальниками. Основателем нового государства становился тот из них, кто мог захватить столицу и насильственно отстранить правившего императора от власти.\n" +
-"\n" +
-"С правления Гао-цзу (206–195 до н.э.) начинается новый период китайской истории, который получил название Западная Хань.\n" +
-"\n" +
-"При императоре У-ди (140—87 до н. э.) была взята на вооружение иная философия — восстановленное и реформированное конфуцианство, которое стало господствующей официальной идеологией вместо дискредитировавшего себя легизма с его жёсткими нормами и бесчеловечной практикой. Именно с этого времени берёт своё начало китайская конфуцианская империя.\n" +
-"\n" +
-"При нем территория ханьской империи значительно расширяется. Были уничтожены вьетское государство Намвьет (территория современной провинции Гуандун, Гуанси-Чжуанского автономного района и север Индокитайского полуострова), вьетские государства в южных частях современных провинций Чжэцзян и Фуцзянь, корейское государство Чосон, присоеденены земли на юго-западе, сюнну оттеснены далее на севере.\n" +
-"\n" +
-"Китайский путешественник Чжан Цянь проникает далеко на запад и описывает многие страны Средней Азии (Фергана, Бактрия, Парфия и др.). Вдоль пройденного им маршрута прокладывается торговый путь через Джунгарию и Восточный Туркестан в страны Средней Азии и Ближнего Востока — так называемый «Великий шёлковый путь». Империя на некоторое время подчиняет себе оазисы-протогосударства вдоль Шёлкового пути и распространяет своё влияние до Памира.\n" +
-"\n" +
-"В I в. н. э. в Китай из Индии начинает проникать буддизм.\n" +
-"\n" +
-"В период с 8 по 23 гг. н. э. власть захватывает Ван Ман, провозглашающий себя императором и основателем государства Синь. Начинается ряд преобразований, который прерывается экологической катастрофой - река Хуанхэ изменила русло. Из-за трехлетнего голода центральная власть ослабла. В этих условиях началось движение представителей рода Лю за возвращение престола. Ван Ман был убит, столица взята, власть возвратилась династии Лю.\n" +
-"\n" +
-"Новый период получил название Восточная Хань, он продлился до 220 г. н. э.\n" +
-"\n" +
-"[править] Государство Цзинь и период Нань-бэй чао (IV—VI вв.)\n" +
-"\n" +
-"Восточную Хань сменил период Троецарствия (Вэй, Шу и У). В ходе борьбы за власть между военачальниками было основано новое государство Цзинь (265—420).\n" +
-"\n" +
-"В начале IV века Китай подвергается нашествию кочевников — сюнну (гуннов), сяньбийцев, цянов, цзе и др. Весь Северный Китай был захвачен кочевниками, которые создали здесь свои царства, так называемые 16 варварских государств Китая. Значительная часть китайской знати бежала на юг и юго-восток, основанное там государство получило название Восточная Цзинь.\n" +
-"\n" +
-"Кочевники приходят волнами, одна за другой, и после каждой из этих волн в Северном Китае возникают новые царства и правящие династии, которые, однако, принимают классические китайские названия (Чжао, Янь, Лян, Цинь, Вэй и др.).\n" +
-"\n" +
-"В это время, с одной стороны, происходит варваризация образа жизни оседлых китайцев — разгул жестокости, произвола, массовых убийств, нестабильности, казней и бесконечных переворотов. А с другой стороны, пришельцы-кочевники активно стремятся использовыть китайский опыт управления и китайскую культуру для стабилизации и упрочения своей власти — мощь китайской конфуцианской цивилизации в конечном счёте гасит волны нашествий варварских племён, которые подвергаются китаизации. К концу VI века потомки кочевников практически полностью ассимилируются с китайцами.\n" +
-"\n" +
-"На севере Китая верх в столетней борьбе между некитайскими царствами берёт сяньбийское государство Тоба Вэй (Северная Вэй), объединившее под своей властью весь Северный Китай (бассейн Хуанхэ) и к концу V века в борьбе против южнокитайского государства Сун распространившее своё влияние до берегов Янцзы. При этом уже в VI веке, как было сказано, захватчики-сяньбийцы ассимилировались с подавляющим большинством местного населения.\n" +
-"\n" +
-"С началом варварских вторжений на север Китая, сопровождавшихся массовым уничтожением и порабощением местного населения, до миллиона местных жителей — в первую очередь знатных, богатых и образованных, включая императорский двор, — перебрались на юг, в районы, сравнительно недавно присоединённые к империи. Пришельцы с севера, заселив речные долины, активно занялись выращиванием риса и постепенно превратили Южный Китай в основной земледельческий район империи. Уже в V веке здесь стали собирать по два урожая риса в год. Резко ускорилась китаизация и ассимиляция местного населения, колонизация новых земель, строительство новых городов и развитие старых. На юге сосредоточился центр китайской культуры.\n" +
-"\n" +
-"Одновременно здесь укрепляет свои позиции буддизм — на севере и юге построено уже несколько десятков тысяч монастырей с более чем 2 млн. монахов. В немалой степени распространению буддизма способствует ослабление официальной религии — конфуцианства — в связи с варварскими вторжениями и междоусобицами. Первыми китайскими буддистами, способствовавшими популяризации новой религии, были приверженцы даосизма — именно с их помощью переводились с санскрита на китайский древние буддийские тексты. Буддизм постепенно стал процветающей религией.\n" +
-"\n" +
-"[править] Государство Суй (581—618)\n" +
-"\n" +
-"Процесс китаизации варваризованного севера и колонизованного юга создаёт предпосылки для нового объединения страны. В 581 севернокитайский полководец Чжоу Ян Цзянь объединяет под своей властью весь Северный Китай и провозглашает новую династию Суй (581—618), а после уничтожения южнокитайского государства Чэнь возглавляет объединённый Китай. В начале VII века его сын Ян Ди ведёт войны против корейского государства Когурё (611 - 614) и вьетнамского государства Вансуан, строит Великий канал между Хуанхэ и Янцзы для транспортировки риса с юга в столицу, создаёт роскошные дворцы в столице Лоян, восстанавливает и строит новые участки Великой китайской стены, пришедшей в упадок за тысячу лет.\n" +
-"\n" +
-"Подданные не выдерживают тягот и лишений и восстают. Ян Ди убивают, а династию Суй сменяет династия Тан (618—907), основатель — шансийский феодал Ли Юань.\n" +
-"\n" +
-"[править] Государство Тан\n" +
-"\n" +
-"Правители из династии Лю покончили с выступлениями знати и провели ряд успешных преобразований. Происходит разделение страны на 10 провинций, была восстановлена \"надельная система\", усовершенствовано административное законодательство, укреплена вертикаль власти, оживились торговля и городская жизнь. Значительно увеличились размеры многих городов и численность городского населения.\n" +
-"\n" +
-"К концу VII века усилившееся военное могущество Танской империи приводит к расширению территории Китая за счёт Восточно-Тюркского и Западно-Тюркского каганатов. Государства, расположенные в Джунгарии и Восточном Туркестане, на некоторое время становятся данниками Китая. Корейское государство Когурё покорено и становится Аньдунским наместничеством Китая. Вновь открыт Великий шёлковый путь.\n" +
-"\n" +
-"В VIII—X вв. в Китае получают распространение новые сельскохозяйственные культуры — в частности, чай, хлопок.\n" +
-"\n" +
-"Развивается морская торговля, главным образом через Гуанчжоу (Кантон), с Индией и Ираном, Арабским Халифатом, корейским государством Силла и Японией.\n" +
-"\n" +
-"В VIII веке империю Тан ослабляют конфликты между центральной властью и военными наместниками на периферии. Окончательно господство династии Лю подрывает война Хуан Чао за престол 874—901.\n" +
-"\n" +
-"В течение долгого времени (907—960) в стране не удаётся восстановить единую государственную власть, что связано с междоусобными войнами, особенно на севере страны.\n" +
-"\n" +
-"[править] Государство Сун\n" +
-"\n" +
-"В 960 военачальник Чжао Куан-инь основывает династию Сун (960—1279). Все три столетия Сун прошли под знаком успешного давления на Китай со стороны северных степных народов.\n" +
-"\n" +
-"Ещё в начале X века усилилось развитие и консолидация протомонгольской этнической общности киданей, соседствовавшей с Китаем на северо-востоке. Государство киданей, основанное в 916 и существовавшее по 1125, получило название Ляо. Активно укрепляясь на северных рубежах, кидани отторгли часть китайских территорий (часть современных провинций Хэбэй и Шаньси). Основы управления в государстве Ляо были созданы китайцами и корейцами, на основе китайских иероглифов и из китайских элементов письма была создана письменность, развивались города, ремёсла, торговля. Не сумев справиться с соседями и вернуть утраченные территории, Сунская империя была вынуждена пойти на подписание в 1004 мирного договора и согласиться на выплату дани. В 1042 дань была увеличена, а в 1075 Китай отдал киданям ещё часть своей территории.\n" +
-"\n" +
-"В то же время на северо-западных окраинах Сунской империи, к западу от киданей, на рубеже X—XI вв. складывается сильное государство тангутов — Западное Ся. Тангуты отторгли от Китая часть современной провинции Шэньси, целиком территорию современной провинции Ганьсу и Нинся-Хуэйского автономного района. С 1047 Сунской империи пришлось и тангутам платить дань серебром и шёлком.\n" +
-"\n" +
-"Несмотря на вынужденные территориальные уступки соседям период Сун считается эпохой экономического и культурного расцвета Китая. Растёт число городов, продолжается рост численности городского населения, китайские ремесленники достигают высот в изготовлении изделий из фарфора, шёлка, лака, дерева, слоновой кости и др. Изобретены порох и компас, распространяется книгопечатание, выводятся новые высокоурожайные сорта зерновых, увеличиваются посевы хлопка. Одной из наиболее впечатляющих и эффективных из данных инноваций было вполне сознательное, систематическое и хорошо организованное внедрение и распространение новых сортов скороспелого риса из Южного Вьетнама (Чампы).\n" +
-"Чжан Цзэдуань. «По реке в День поминовения усопших» (XII век).\n" +
-"Чжан Цзэдуань. «По реке в День поминовения усопших» (XII век).\n" +
-"\n" +
-"В XII веке Китаю приходится отдать ещё большую территорию новым захватчикам — южноманьчжурским чжурчжэням, создавшим (на базе уничтоженной ими в 1125 империи киданей Ляо) государство (впоследствии — империю) Цзинь (1115—1234), границы которой проходили по р. Хуайхэ. При этом часть разбитых киданей ушла на запад, где в районе рек Талас и Чу сложилось небольшое государство кара-китаев — Западное Ляо (1124—1211).\n" +
-"\n" +
-"В 1127 чжурчжэни захватывают столицу империи Сун — Кайфын и берут в плен императорскую семью. Один из сыновей императора бежит на юг, в Ханчжоу, который впоследствии становится столицей новой — южносунской империи (1127—1280). Продвижение армии чжурчжэней на юг сдерживает лишь река Янцзы. Граница между Цзинь и южносунской империей устанавливается по междуречью Хуанхэ и Янцзы. Северный Китай вновь на длительное время оказывается под господством иноземных завоевателей.\n" +
-"\n" +
-"В 1141 подписан мирный договор, согласно которому Сунская империя признаёт себя вассалом империи Цзинь и обязуется платить ей дань.\n" +
-"\n" +
-"[править] Монголы и государство Юань (1280—1368)\n" +
-"\n" +
-"В начале XIII века в Китай вторгаются монголы. До XIII века монголы являлись частью большой степной общности, которую китайцы называли \"татарами\". Их предшественники — протомонгольские и раннемонгольские группы и народы, одним из которых были кидани, представляли собой степных кочевников, разводивших лошадей и рогатый скот, кочевавших от пастбища к пастбищу и организованных в небольшие родоплеменные коллективы, связанные общностью происхождения, языка, культуры и т. п.\n" +
-"\n" +
-"Соседство развитой китайской цивилизации способствовало ускорению процесса создания племён, а затем и мощных племенных союзов во главе с влиятельными вождями. В 1206 на всемонгольском курултае вождём всех монголов был провозглашён победивший в жестокой междоусобной борьбе Темучин, принявший имя и титул Чингисхана.\n" +
-"\n" +
-"Чингисхан создал организованную и боеспособную армию, которая и стала решающим фактором в последующих успехах сравнительно немногочисленного монгольского этноса.\n" +
-"\n" +
-"Покорив соседние народы Южной Сибири, Чингисхан в 1210 пошёл войной на чжурчжэней и в 1215 взял Пекин.\n" +
-"\n" +
-"В 1219—1221 была разорена Средняя Азия и разбито государство Хорезмшахов. В 1223 — разбиты русские князья, в 1226—1227 — уничтожено государство тангутов. В 1231 основные силы монголов вернулись в Северный Китай и к 1234 завершили разгром чжурчжэньского государства Цзинь.\n" +
-"\n" +
-"Завоевания в Южном Китае были продолжены уже в 1250-х, после походов в Европу и на Ближний и Средний Восток. Вначале монголы захватили страны, окружавшие Южно-Сунскую империю — государство Дали (1252—1253), Тибет (1253). В 1258 монгольские войска под предводительством хана Хубилая с разных сторон вторглись в Южный Китай, но осуществлению их планов помешала неожиданная смерть Великого хана Мункэ (1259). Хан Хубилай, захватив ханский престол, в 1260 перенёс столицу из Каракорума на территорию Китая (сначала в Кайпин, а в 1264 в Чжунду — современный Пекин). Столицу южносунского государства Ханчжоу монголам удалось взять лишь в 1276. К 1280 весь Китай был завоёван, а Сунская империя — уничтожена.\n" +
-"\n" +
-"После покорения Китая хан Хубилай основывает новую династию Юань (1271—1368), на службу новой власти привлекаются кидани, чжурчжэни, тюрки и даже европейцы — в частности, в это время Китай посещает венецианский купец Марко Поло.\n" +
-"\n" +
-"Тяжёлый экономический, политический и национальный гнёт, установленный монгольскими феодалами, сдерживает развитие страны. Множество китайцев было обращено в рабство. Земледелие и торговля были подорваны. Не выполнялись необходимые работы по поддержанию ирригационных сооружений (дамб и каналов), что привело в 1334 к чудовищному наводнению и гибели нескольких сот тысяч человек. Великтий Китайский канал был построен во время монгольского господства.\n" +
-"\n" +
-"Народное недовольство новыми правителями вылилось в мощное патриотическое движение и восстания, которые возглавили руководители тайного общества «Белый лотос» (Байляньцзяо).\n" +
-"\n" +
-"[править] Государство Мин (1368—1644)\n" +
-"\n" +
-"В результате длительной борьбы в середине XIV века монголы были изгнаны. К власти пришёл один из руководителей восстания — сын крестьянина Чжу Юаньчжан, основавший государствоМин (1368—1644).\n" +
-"\n" +
-"Монголы, оттеснённые на север, приступают к активному освоению степей современной Монголии. Империя Мин подчиняет себе часть чжурчжэньских племён, государство Наньчжао (современные провинции Юньнань и Гуйчжоу), часть современных провинций Цинхай и Сычуань.\n" +
-"\n" +
-"Китайский флот под командой Чжэн Хэ, состоящий из нескольких десятков многопалубных фрегатов, за период с 1405 по 1433 совершает несколько морских экспедиций в Юго-Восточную Азию, Индию и к восточному побережью Африки. Не принеся Китаю никакой экономической выгоды, экспедиции были прекращены, а корабли — разобраны.\n" +
-"\n" +
-"В XVI веке происходит первая попытка усилившейся Японии вторгнуться в Китай и Корею. В это же время в Китай проникают европейцы — португальцы, испанцы, голландцы. В 1557 Португалия овладела на правах «аренды» китайской территорией Аомынь (Макао). В Китае появляются и христианские миссионеры — иезуиты. Они привезли в Китай новые инструменты и механизмы — часы, астрономические приборы, наладили здесь производство огнестрельного оружия. В то же время они занимаются доскональным изучением Китая.\n" +
-"\n" +
-"[править] Государство Цин\n" +
-"\n" +
-"К концу XVI века северные соседи империи Мин — потомки чжурчжэньских племён, разбитых в своё время Чингисханом, — объединяются вокруг владения Маньчжоу под предводительством вождя Нурхаци (1559—1626). В 1609 Нурхаци прекращает платить дань Китаю, а затем провозглашает собственную династию Цзинь. С 1618 маньчжуры усиливают вооружённое давление на Китай. За восемь лет они выходят практически к Великой китайской стене (на крайнем востоке).\n" +
-"\n" +
-"Преемник Нурхаци Абахай провозглашает себя императором и меняет название династии на Цин. В начале XVII века маньчжуры завоевали Южную (Внутреннюю) Монголию. На всей территории Южной Маньчжурии и захваченных ханств Южной Монголии устанавливается централизованная администрация.\n" +
-"\n" +
-"Маньчжурская конница, поддержанная внутренними монголами, начинает совершать регулярные набеги на Китай, грабя и обращая в рабство сотни тысяч китайцев. Императору Мин приходится направить на северные рубежи свою лучшую армию под командованием У Саньгуя. Тем временем в Китае разгорается очередное крестьянское восстание. В 1644 крестьянские отряды под предводительством Ли Цзычэна, разгромив все остальные армии, занимают Пекин, а сам Ли Цзычэн провозглашает себя императором. У Саньгуй пропускает маньчжурскую конницу на Пекин. 6 июня 1644 маньчжуры захватывают столицу. Ли Цзычэн вскоре гибнет, а маньчжуры объявляют своего малолетнего императора Шуньчжи правителем всего Китая. У Саньгуй вместе со всей армией переходит на службу к завоевателям.\n" +
-"\n" +
-"Борьба против маньчжурских захватчиков продолжается ещё долго, но ослабленный Китай не в силах противостоять хорошо вооружённому и организованному войску. Последний оплот сопротивления — Тайвань захвачен маньчжурами в 1683.\n" +
-"\n" +
-"Маньчжурская династия в государстве Цин правила с 1644 по 1911 год. В руках маньчжурской знати находились высшие органы власти и руководство армией. Смешанные браки были запрещены, и тем не менее маньчжуры быстро китаизировались, тем более что, в отличие от монголов, они не противопоставляли себя китайской культуре.\n" +
-"\n" +
-"Начиная с Канси (годы правления 1662—1723), маньчжурские императоры были ревностными конфуцианцами, управляя страной по древним законам. Китай под властью династии Цин в XVII—XVIII вв. развивался достаточно интенсивно. К началу XIX века в Китае насчитывалось уже около 300 млн. человек — примерно в пять раз больше, чем в среднем на протяжении предыдущих двух тысяч лет. Демографическое давление привело к необходимости интенсификации сельского хозяйственного производства при активном участии государства. Маньчжуры обеспечили покорность китайского населения, но при этом заботились о процветании экономики страны и благосостоянии народа.\n" +
-"\n" +
-"[править] Внешняя экспансия Цин\n" +
-"\n" +
-"Правители государства Цин проводили политику изоляции Китая от внешнего мира. Европейская колонизация почти не затронула Китай. Католические миссионеры играли заметную роль при императорском дворе до конца XVII века, после чего христианские церкви были постепенно закрыты, а миссионеры — высланы из страны. В середине XVIII века была ликвидирована торговля с европейцами, за исключением одного порта в Кантоне (Гуанчжоу). Опорным пунктом иностранной торговли оставался остров Макао, находившийся под контролем португальцев.\n" +
-"\n" +
-"В первые два столетия цинской династии Китай, закрытый от повседневных контактов с внешним миром, проявлял себя как сильное независимое государство, осуществляющее экспансию во всех направлениях.\n" +
-"\n" +
-"Вассалом Китая была Корея. В середине XVIII века в империю вошла Северная (Внешняя) Монголия. В 1757 было уничтожено Джунгарское ханство, и территория его вместе с покорённым к 1760 Восточным Туркестаном была включена в состав Цинской империи под названием Синьцзян («Новая граница»). После ряда походов маньчжуро-китайской армии против Тибета этот район был в конце XVIII века присоединён к Цинской империи. Войны Цинской империи против Бирмы (1765—1769) и Вьетнама (1788—1789) оказались неудачными и закончились поражением цинских войск.\n" +
-"\n" +
-"Одновременно осуществлялась экспансия на север и северо-восток, что неминуемо привело к конфликту с Россией в Приамурье. В течение двух веков территория Китая увеличилась практически вдвое. Цинская империя обзавелась своего рода буферными зонами — Маньчжурией, Монголией, Тибетом, Синьцзяном — которые охраняли китайские земли.\n" +
-"\n" +
-"В цинском Китае любые официальные представители иностранных государств рассматривались исключительно как представители вассальных государств — реальных или потенциальных.\n" +
-"\n" +
-"[править] Цинский Китай и Россия\n" +
-"\n" +
-" Основная статья: Российско-китайские отношения\n" +
-"\n" +
-"Первые шаги по установлению русско-китайских отношений были предприняты Россией в конце периода Мин (миссия И. Петлина в 1618—1619), но основные миссии (Фёдора Байкова в 1654—1657, Николая Спафария в 1675—1678 и др.) последовали уже в цинский период. Параллельно с миссиями шло продвижение на восток русских казаков — походы первопроходцев Василия Пояркова (1643—1646) и Ерофея Хабарова (1649—1653) положили начало освоению русскими людьми Приамурья и привели к присоединению его к России, в то время как маньчжуры считали эти районы своей вотчиной.\n" +
-"\n" +
-"В середине XVII века на обоих берегах Амура уже существовали русские крепости-остроги (Албазинский, Кумарский и др.), крестьянские слободы и пашни. В 1656 было образовано Даурское (позднее — Албазинское) воеводство, в которое входила долина Верхнего и Среднего Амура по обоим берегам.\n" +
-"\n" +
-"Хотя граница империи Цин тогда проходила чуть севернее Ляодунского полуострова («Ивовый палисад»), в 1650-е годы и позднее Цинская империя попыталась военной силой захватить русские владения в бассейне Амура и предотвратить принятие местными племенами российского подданства. Маньчжурское войско на какое-то время вытеснило казаков из крепости Албазин. Вслед за миссиями Фёдора Байкова и Николая Спафария Россия направила в 1686 к пограничным властям на Амуре полномочное посольство Фёдора Головина для мирного урегулирования конфликта.\n" +
-"\n" +
-"Переговоры велись в окружении многотысячной маньчжурской армии. С китайской стороны в переговорах участвовали миссионеры-иезуиты, противившиеся соглашению Китая с Россией, что ещё более осложняло обстановку. Китай отказался определить русско-китайскую границу по Амуру, потребовав себе всё Албазинское воеводство, всё Забайкалье, а впоследствии — вообще все земли к востоку от Лены.\n" +
-"\n" +
-"Угрожая захватить Нерчинск штурмом, цинские представители вынудили Головина согласиться на уход русских с Верхнего и Среднего Амура. По Нерчинскому договору Россия была вынуждена уступить Цинской империи свои владения по правому берегу р. Аргунь и на части левого и правого берегов Амура. Казаки были обязаны разрушить и оставить Албазин. Вследствие разночтений в текстах договора, составленных каждой из сторон, однако, большая территория оказалась неразграниченной и фактически превратилась в буферную зону между двумя государствами. Разграничение между Россией и Китаем в пределах этой зоны завершилось в XIX веке. Окончательно граница России с Китаем на Дальнем Востоке была определена Айгуньским (1858) и Пекинским (1860) договорами; она прошла по рекам Амур и Уссури через озеро Ханка и горные хребты до р. Туманьцзян; русско-китайское территориальное разграничение в Центральной Азии было завершено к середине 1890-х.\n" +
-"\n" +
-"[править] Опиумные войны\n" +
-"Территория собственно Китая в 1875\n" +
-"Территория собственно Китая в 1875\n" +
-"\n" +
-"К концу XVIII века торговля Китая с внешним миром вновь начала расширяться. Китайский шёлк, фарфор, чай и другие товары пользовались большим спросом в Европе, но китайцы отказывались что-либо покупать у европейцев, так что тем приходилось платить серебром за китайские товары. Тогда англичане начали ввозить в Китай опиум — в основном контрабандой из Индии — и вскоре приобщили к курению опиума местное население, особенно в приморских районах. Ввоз опиума постоянно возрастал и стал подлинным бедствием для страны, что привело к серии Опиумных войн в середине XIX века. Поражение в этих войнах привело к постепенному превращению Китая в фактическую полуколонию европейских держав.\n" +
-"\n" +
-"[править] Японо-китайская война 1894—1895 годов\n" +
-"\n" +
-"В 1874 году Япония захватила Формозу, однако вынуждена была покинуть её по требованию Англии. Тогда Япония обратила свои усилия на Корею, находившуюся в вассальной зависимости от Китая и Манчжурию. В июне 1894 по просьбе корейского правительства Китай направил войска в Корею для подавления крестьянского восстания. Воспользовавшись этим предлогом, Япония также направила сюда свои войска, после чего потребовала от корейского короля проведения «реформ», означавших фактически установление в Корее японского контроля.\n" +
-"\n" +
-"В ночь на 23 июля при поддержке японских войск в Сеуле был организован правительственный переворот. Новое правительство 27 июля обратилось к Японии с «просьбой» об изгнании китайских войск из Кореи. Однако ещё 25 июля японский флот уже без объявления войны начал военные действия против Китая; официальное объявление войны последовало только 1 августа 1894. Началась Японо-китайская война\n" +
-"\n" +
-"В ходе войны превосходство японской армии и флота привело к крупным поражениям Китая на суше и на море (под Асаном, июль 1894; под Пхеньяном, сентябрь 1894; при Цзюляне, октябрь 1894).\n" +
-"\n" +
-"С 24 октября 1894 военные действия перешли на территорию Северо-Восточного Китая. К марту 1895 японские войска захватили Ляодунский полуостров, Вэйхайвэй, Инкоу, под угрозой находился Мукден.\n" +
-"\n" +
-"17 апреля 1895 в Симоносеки представители Японии и Китая подписали унизительный для Китая Симоносекский договор.\n" +
-"\n" +
-"[править] Тройственная интервенция\n" +
-"\n" +
-"Условия, навязанные Японией Китаю, привели к так называемой \"тройственной интервенции\" России, Германии и Франции - держав, которые к этому времени уже поддерживали обширные контакты с Китаем и поэтому восприняли подписанный договор как наносящий ущерб их интересам. 23 апреля 1895 Россия, Германия и Франция одновременно, но по отдельности обратились к японскому правительству с требованием отказа от аннексии Ляодунского полуострова, которая могла бы привести к установлению японского контроля над Порт-Артуром, в то время как Николай II, поддерживаемый западными союзниками, имел собственные виды на Порт-Артур как незамерзающий порт для России. Германская нота была наиболее жесткой, даже оскорбительной для Японии.\n" +
-"\n" +
-"Японии пришлось уступить. 10 мая 1895 года японское правительство заявило о возвращении Китаю Ляодунского полуострова, правда, добившись увеличения суммы китайской контрибуции на 30 миллионов таэлей.\n" +
-"\n" +
-"[править] Успехи русской политики в Китае\n" +
-"\n" +
-"В 1895 году Россия предоставила Китаю заём в 150 миллионов рублей под 4% годовых. Договор содержал обязательство Китая не соглашаться на иностранный контроль над своими финансами, если в нём не будет участвовать Россия. В конце 1895 года по инициативе Витте был основан Русско-Китайский банк. 3 июня 1896 года в Москве был подписан русско-китайский договор об оборонительном союзе против Японии. 8 сентября 1896 года между китайским правительством и Русско-Китайским банком был подписан концессионный договор о сроительстве Китайской Восточной железной дороги. Общество КВЖД получало полосу земли вдоль дороги, которая переходила под его юрисдикцию. В марте 1898 года был подписан русско-китайский договор об аренде Россией Порт-Артура и Ляодунского полуострова.\n" +
-"\n" +
-"[править] Захват Цзяочжоу Германией\n" +
-"\n" +
-"В августе 1897 года Вильгельм II посетил Николая II в Петергофе и добился согласия на устройство немецкой военно-морской базы в Цзяочжоу (в тогдашнем варианте транскрипции - \"Киао-Чао\"), на южном побережье Шаньдуна. В начале ноября в Шаньдуне китайцами были убиты германские миссионеры. 14 ноября 1897 года немцы высадили десант на побережье Цзяочжоу и захватили его. 6 марта 1898 года было подписано германо-китайское соглашение, по которому Китай арендовал Германии Цзяочжоу сроком на 99 лет. Одновременно китайское правительство предоставило Германии концессию на постройку двух железных дорог в Шаньдуне и ряд горных концессий в этой провинции.\n" +
-"\n" +
-"[править] Сто дней реформ\n" +
-"\n" +
-"Непродолжительный период реформ начался 11 июня 1898 с издания маньчжурским императором Цзай Тянем (название годов правления — Гуансюй) указа «Об установлении основной линии государственной политики». Цзай Тянь привлек группу молодых реформаторов — учеников и единомышленников Кан Ювэя для разработки серии указов о реформах. В общей сложности было издано свыше 60 указов, которые касались системы образования, строительства железных дорог, заводов и фабрик, модернизации сельского хозяйства, развития внутренней и внешней торговли, реорганизации вооружённых сил, чистки государственного аппарата и т.д. Период радикальных реформ окончился 21 сентября того же года, когда вдовствующая Императрица Цыси произвела дворцовый переворот и отменила реформы.\n" +
-"\n" +
-"[править] XX век\n" +
-"\n" +
-"[править] Боксерское восстание\n" +
-"\n" +
-"В мае 1900 года в Китае началось большое восстание, получившее название боксерского или Ихэтуаньского восстания. 20 июня в Пекине был убит германский посланник Кеттелер. Вслед за этим восставшими были осаждены дипломатические миссии, находившиеся в особом квартале Пекина. Было осаждено также здание католического кафедрального собора Петанг (Бейтанг). Начались массовые убийства \"ихэтуанями\" китайцев-христиан, в том числе было убито 222 православных китайца. 21 июня 1900 года Императрица Цыси объявила войну Великобритании, Германии, Австро-Венгрии, Франции, Италии, Японии, США и России. Великие державы согласились о совместных действиях против восставших. Главнокомандующим экспедиционными силами был назначен германский генерал Вальдерзее. Однако, когда он прибыл в Китай, Пекин был уже освобожден небольшим передовым отрядом под командованием русского генерала Линевича. Русская армия заняла Манчжурию.\n" +
-"\n" +
-"[править] Русско-японская война\n" +
-"\n" +
-"8 февраля 1904 года началась Русско-японская война за контроль над Манчжурией и Кореей. Война, шедшая на территории Китая была для России неудачной, по её результатам, Россия была вынуждена уступить Японии Порт-Артур и Ляодунский полуостров с частью построенной к тому времени КВЖД.\n" +
-"\n" +
-"[править] Смерть Цыси\n" +
-"\n" +
-"14 декабря 1908 года в один день умерли Императрица Цыси и Император Гуансюй, которого Цыси ранее отстранила от власти. Возможно, Гуансюй был отравлен, так как Цыси не хотела, чтобы он её пережил. На престол взошёл Император Пу И, которому было два года. Регентом назначен его отец князь Чунь, однако вскоре власть перешла к его брату.\n" +
-"\n" +
-"[править] Аннексия Кореи\n" +
-"\n" +
-"В 1910 году Япония аннексировала Корею, хотя японские войска там находились с начала Русско-японской войны.\n" +
-"\n" +
-"[править] Революция 1911 года и создание Китайской Республики\n" +
-"\n" +
-"В 1911 году в Китае началось Учанское восстание. Оно стало началом Синьхайской революции (1911—1913) в Китае, в результате которой было свергнута маньчжурская династия Цин и провозглашено создание Китайской республики.\n" +
-"\n" +
-"После падения монархии правитель Монголии отказался повиноваться республике и отделился от Китая. 3 ноября им было заключено соглашение с Россией. Англия воспользовалась внутренней борьбой в Китае для превращения Тибета в свою зону влияния. Тибет поднялся на борьбу и заставил китайский гарнизон покинуть страну. Все последующие попытки китайцев восстановить там свою власть пресекались Британией. Россия согласилась считать Тибет английской сферой влияния, а Англия признала русские интересы в независимой (внешней) Монголии.\n" +
-"\n" +
-"12 февраля 1912 года Император Пу И отрекся от престола. К власти пришел генерал Юань Шикай премьер-министр и главнокомандующий армией. Вскоре он был провозглашен президентом Китая.\n" +
-"\n" +
-"В 1913 году произошла \"Вторая революция\". Юань Шикай подавил разрозненные выступления в центральных и южных провинциях. В стране устанавливается военная диктатура Юань Шикая, основателя группировки бэйянских (северных) милитаристов. Сунь Ятсен вынужден эмигрировать за границу.\n" +
-"\n" +
-"[править] Первая мировая война\n" +
-"\n" +
-"После начала первой мировой войны китайское правительство объявляет о своем нейтралитете и просит воюющие державы не переносить военные действия на территорию Китая, в том числе и на \"арендованные\" державами китайские земли. Однако 22 августа 1914 года Япония объявила о своем состоянии войны с Германией и высадила 30-тысячную армию севернее Циндао - центра немецкой колонии в провинции Шаньдун. После двухмесячной военной кампании Япония захватила германские владения в Шаньдуне, а также распространила свой контроль на всю территорию провинции.\n" +
-"\n" +
-"В 1915 году китайские принцы голосуют за установленче в Китае монархии с Юанем Шикаем на императорском троне. Распускается парламент. Объявляется монархия. Это вызывает ряд восстаний в провинциях Китая. Независимость от Пекина объявляют провинции Юньнань, Гуйчжоу и Гуанси. Потом отделяются Гуандун, Чжэцзян, Сычуань и Хунань.\n" +
-"\n" +
-"22 марта 1916 года умирает Юань Шикай.\n" +
-"\n" +
-"[править] Эра милитаристов\n" +
-"\n" +
-"После смерти Юань Шикая в Китае начали оформляться многочисленные военно-феодальные вотчины различных милитаристских группировок. Наиболее крупной была бэйянская (северная), делившаяся на фэнтяньскую (маньчжурскую) во главе с бывшим главарем шайки хунхузов Чжан Цзолинем, чжилийскую во главе с генералом Фэн Гочжаном, и аньхойскую во главе с генералом Дуань Цижуем. В провинции Шаньси господствовал милитарист Янь Сишань, заигрывавший с бэйянской группировкой, а в провинции Шэньси - генерал Чэнь Шуфань. Лагерь юго-западных милитаристов состоял из двух крупных группировок: юньнаньской во главе с генералом Тан Цзияо, и гуансийской во главе с генералом Лу Жунтином.\n" +
-"\n" +
-"Под контролем фэнтяньской группировки находились провинции Хэйлунцзян, Гирин и Фэнтянь, под контролем чжилийской - Шаньдун, Цзянсу, Чжэцзян, Фуцзянь, Цзянси, Хунань, Хубэй и часть Чжили. Фэнтяньская и аньхойская клики финансировались Японией, чжилийская - Англией и США. Ли Юаньхун был ставленником юго-западных милитаристов. Вице-президент генерал Фэн Гочжан ориентировался на Англию и США, а премьер-министр генерал Дуань Цижуй держался прояпонского направления. В 1917 году Япония начала предоставлять Дуань Цижую крупные займы, получая за них все новые и новые уступки, в том числе концессии в Маньчжурии.\n" +
-"\n" +
-"[править] Победа Гоминьдана\n" +
-"\n" +
-"Партия Гоминьдан была создана в 1912 году в провинции Гуанчжоу. Примерно в тоже время, в 1921 г., была создана и Китайская коммунистическая партия, малочисленная и не пользовавшаяся в тот период особой популярностью. 8 сентября 1923 в Китай по просьбе Сунь Ятсена, который просил прислать ему человека с которым он мог бы говорить по-английски без переводчика, прибыл агент коминтерна М.М.Бородин, ставший политическим советником ЦИК Гоминьдана и советником Сунь Ятсена. Он организовал сотрудничество между Гоминьданом и КПК. 20 января 1924 г. проходит I Всекитайский съезд Гоминьдана в Гуанчжоу. На съезде был принят курс на союз с китайскими коммунистами и СССР. 16 июня учреждена Военная академия Вампу под руководством Чан Кайши. В первый набор было зачислено 400, во второй - 500, в третий - 800 и четвертый - около 2600 слушателей; при школе было создано два учебных полка. В академию Вампу прибыла большая группа советских военных советников. В октябре 1924 г. в Гуанчжоу на должность главного военного советника прибыл Василий Константинович Блюхер.\n" +
-"В марте 1926 Чан Кайши осуществил в Кантоне военный переворот, изгнал из города коммунистов, а спустя три месяца был избран председателем Гоминьдана и главнокомандующим вооруженными войсками. Добившись высокой власти, Чан Кайши пригласил немецких советников во главе бывшим генералом рейхсвера фон Сектом.\n" +
-"В качестве советников у Чан Кайши действовали офицеры Германии:\n" +
-"\n" +
-" * полковник В.Бауэр (друг Гитлера и ученик Людендорфа)\n" +
-" * нацист подполковник Крибель\n" +
-" * генерал-лейтенант Ветцель\n" +
-" * генерал Фалькенхаузен\n" +
-"\n" +
-"Гоминьдановцы старательно перенимали опыт нацистов по наведению порядка в стране. Китайские офицеры в организованном порядке направлялись на обучение в Германию.\n" +
-"В 1926 Национально-революционная армия Китая Чан Кайши предприняла так называемый Великий Северный поход. В течение шести месяцев непрерывных боев от власти местных военных правителей были освобождены центральные районы Китая.\n" +
-"В начале 1927 Чан Кайши пошел на открытый развал единого фронта ГМД и КПК: его войска начали разоружение шанхайских рабочих отрядов и дружин, начались массовые аресты и казни профсоюзных деятелей и коммунистов. В ответ на это коммунисты организовали 1 августа в городе Наньчан восстание части гоминьдановских войск, вошедшее в историю Китая как \"Наньчанское восстание\".\n" +
-"В декабре 1927 было поднято коммунистическое восстание в Кантоне, которое гоминьдановцы жесточайшим образом подавили после четырех дней кровопролитных боев.\n" +
-"После нескольких военных операций к 1927 году войска Гоминьдана контролировали большую часть территории Китая.\n" +
-"\n" +
-"[править] Японская оккупация и Вторая мировая война\n" +
-"\n" +
-"Осенью 1931 Япония напала на Китай. 18 сентября после серии провокаций японцы перешли в наступление, за короткое оккупировав всю Манчжурию. В марте 1932 здесь было провозглашено прояпонское марионеточное государство Маньчжоу-Го, которое возглавил Пу И – последний отпрыск маньчжурской династии Цин, свергнутой в годы Синьхайской революции.\n" +
-"\n" +
-"В этих сложных условиях Чан Кайши был вынужден бороться одновременно с тремя врагами: внешней японской агрессией, спорадическими бунтами отдельных милитаристов на местах, и вооружёнными силами КПК, претендовавшими на захват власти в стране. Он выбрал политику компромисса с японцами, с милитаристами вёл дела в зависимости от конкретных обстоятельств, с коммунистами же никакой компромисс был невозможен. В 1934 году основные силы КПК были блокированы в провинции Цзянси. В этих сложных условиях руководство КПК сумело организовать прорыв, и после многомесячного марша привело войска на Северо-Запад страны в т.н. \"особый район\" с центром в городе Яньань; эти события вошли в историю КПК как \"Великий поход\". Чан Кайши планировал продолжать борьбу с коммунистами и там, но тут взбунтовался ряд его генералов, считавших более приоритетной задачей примирение с коммунистами и совместную борьбу с японской агрессией. В результате \"Сианьского инцидента\" было подписано соглашение о создании единого фронта между КПК и Гоминьданом.\n" +
-"\n" +
-"7 июля 1937 конфликтом у моста Лугоуцяо недалеко от Пекина началась «большая» война. С этого момента, по мнению китайских историков, начинается Вторая мировая война.\n" +
-"\n" +
-"\n" +
-" Этот раздел не завершён. Вы можете помочь проекту, исправив и дополнив его.\n" +
-"Японская оккупация (1940)\n" +
-"Японская оккупация (1940)\n" +
-"\n" +
-"[править] Создание Китайской Народной Республики\n" +
-"\n" +
-"Разгром милитаристской Японии в августе-сентябре 1945 завершил Вторую мировую войну, освободив от порабощения страны Азиатско-Тихоокеанского региона. В Китае шла ожесточенная гражданская война.\n" +
-"Советская Красная Армия полностью оккупировала Манчжурию, приняв капитуляцию фактически у всей японской Квантунской армии. К тому времени на территории Манчжурии действовали лишь разрозненные партизанские отряды и разведгруппы китайских партизан.\n" +
-"В сентябре 1945 начала осуществляться массовая переброска вооруженных сил КПК из северного и Восточного Китая на северо-восток страны. К ноябрю туда перешли около 100 тысяч бойцов 8-ой и 4-ой армий. Из этих частей, партизанских формирований и местных жителей была сформирована Объединенная демократическая армия (ОДА) Северо-Востока, которая стала костяком Народно-освободительной армии Китая.\n" +
-"Советская армия находилась в Манчжурии вплоть до мая 1946. За это время советская сторона помогла китайским коммунистам организовать, обучить и вооружить новые китайские войска. В результате, когда гоминьдановские войска начали в апреле 1946 входить в Манчжурию, они, к своему удивлению, обнаружили там не разрозненные партизанские отряды, а современную дисциплинированную армию коммунистов, вовсе не намеревавшуюся самораспускаться.\n" +
-"Ситуация в Манчжурии стала шоком и для Белого дома. Первый отряд вооруженных сил США в составе двух дивизий морской пехоты высадился в Китае в районе Тяньцзиня еще 30 сентября 1945. К осени в Китае находилось уже свыше 100 тысяч американских военнослужащих.\n" +
-"Американские экспедиционные войска, главным образом части морской пехоты, старались не вмешиваться в отношения между КПК и ГМД. Однако они активно взаимодействовали с вооруженными силами легитимного китайского правительства - войсками Гоминьдана, прежде всего в приеме капитуляции японских войск в Северном и Центральном Китае, а также в поддержании порядка и охране различных важных объектов в китайских городах.\n" +
-"С самого начала командование войск ГМД допустило стратегическую ошибку: несмотря на успехи первых столкновений с ОДА в Манчжурии, военные действия в Северо-Восточном Китае не были доведены до конца, ГМД направил свои усилия не на борьбу с регулярными войсками КПК, а на уничтожение партизанского движения и партизанских баз в Центральном, Восточном и Северном Китае.\n" +
-"Укрепившись с помощью советской стороны, при поддержке местного населения, войска Мао Цзэдуна к осени 1948 достигли численности в 600 тысяч человек. С 1 ноября ОДА стала именоваться 4-й Полевой армией. возглавили ее Линь Бяо.\n" +
-"В ноябре 1948 4-я полевая армия перешла к решительным боевым действиям против гоминьдановцев. За короткие сроки было разбито 52 дивизии Чан Кайши, еще 26 дивизий, обученных военными инструкторами США, перешли на сторону КПК. В начале 1949 армия вошла в Северный Китай, где объединилась с войсками 8-й армии КПК. 15 января был взят Тяньцзинь, 22 января - Пекин.\n" +
-"К весне 1949 вооруженные силы КПК освободили от гоминьдановцев весь Китай севернее реки Янцзы и восточнее провинции Ганьсу. К концу гражданской войны Народно-освободительная армия представляла собой мощную 4-миллионую армию, крупнейшую в Азии.\n" +
-"24 апреля 1949 войска КПК под командованием маршала Лю Бочэна вступили в столицу гоминьдановского Китая - город Нанкин. Само гоминьдановское правительство еще в феврале переехало на юг страны, в Кантон, а затем вместе с остатками верных ему войск - бежало на остров Тайвань.\n" +
-"В конце года Народно-освободительная армия Китая уничтожила все основные группировки Гоминьдана на континенте, победоносно завершив тем самым третью гражданскую войну в Китае.\n" +
-"1 октября 1949 г. в Пекине была провозглашена Китайская Народная Республика.\n" +
-"На следующий же день Советский Союз первым признал КНР и заключил с ней Договор о дружбе, союзе и взаимной помощи. Таким образом, в конце 1949 года родился советско-китайский «монолит» - тот самый, который на многие годы стал кошмаром для Запада.\n" +
-"\n" +
-"[править] Культурная революция\n" +
-"\n" +
-"В 1966 году председателем КПК Мао Цзэдуном была начата культурная революция для утверждения маоизма в качестве единственной государственной идеологии и уничтожения политической оппозиции. Было организовано массовое ополчение молодёжи, называвшееся «красногвардейцы». Красногвардейцы занялись преследованием «контререволюционеров» из числа аппарата КПК, интеллигенции и вообще всех, кто мог им не понравиться.\n" +
-"\n" +
-"[править] Экономическая либерализация\n" +
-"\n" +
-"После падения \"банды четырех\" власть в стране взяли реформаторы Дэн Сяопин и Ху Яобан, которые в конце 1978 года провозгласили на 3-м пленуме ЦК КПК 11-го созыва политику \"реформ и открытости\". Реальный старт \"Экономической реформе\" был дан на XII съезде КПК (1982 г.). На XIII съезде КПК (1987 г.) было дано подробное толкование теории начального этапа социализма, согласно которой социалистический строй и социалистическая экономическая система - разные вещи, т.е. социалистический политический режим не подразумевает безусловной плановой централизации всей экономики, а позволяет использовать и рыночные механизмы, особенно в паре \"государство-предприятие\". На XIV съезде КПК (1992 г.) был провозглашен курс на построение социалистической рыночной экономической системы с китайской спецификой. Данное изменение идеологии хорошо иллюстрирует высказываение Д.Сяопина: \"Неважно какого цвета кошка - главное, чтобы ловила мышей\".\n" +
-"\n" +
-"Фактически введение \"Экономической реформы\" означало настоящую \"революцию сверху\", заключавшуюся в постепенном и частичном сворачивании тоталитарной сталинско-маоистской модели жестко централизованной экономики и переводе части отраслей народного хозяйства на рыночные рельсы, но при полностью неизменной политической надстройке в лице монопольно управляющей страной КПК. К концу 70-х исторически слабая экономика Китая \"лежала\" из-за негативных последствий авантюристических кампаний Мао Цзедуна - \"большого скачка\" и \"культурной революции\". От систематического голода в Китае ежегодно страдали практически все 800 млн. крестьян (из миллиардного населения), страна занимала последние места в мире по уровню производства товаров и продовольствия на душу населения. Для решения проблемы голода необходимо было обеспечить стабильный валовый сбор зерна в объеме не менее 400 млн. т в год. Аграрные преобразования были связаны с отменой народной коммуны и заменой ее семейным подрядом и единой коллективной собственностью. Практически все 800 млн. крестьян получили право на свободное сельскохозяйственное производство. В основном была отменена система госзаготовок, освобождены цены на большинство видов сельскохозяйственной продукции. Результатом этих мер стал выход аграрного сектора из застоя, вступление крестьянских хозяйств на путь специализации и повышения товарности. Организованные в деревне по инициативе крестьян волостно-поселковые предприятия позволили обеспечить рост занятости (120 млн. чел.) и повысить жизненный уровень крестьян.Задача обеспечения страны зерном была в основном решена в 80-х. Постепенно в деревне сформировалась двухслойная хозяйственная система на основе сочетания коллективной собственности и семейного подряда.\n" +
-"\n" +
-"В области промышленной политики правительство Китая, начиная с 1984 года сделало упор концепцию плановой товарной экономики. На практике это означало перевод части отдельных городских предприятий на самоокупаемость. Позже правительство разрешило и подразделениям армии Китая (НОАК) перейти на самообеспечение и заниматься свободным предпринимательством. В соответствии с принципом \"Чжуа Да Фан Сяо\" (\"держать в руках большие предприятия, отпустить маленькие\") многие мелкие госпредприятия получили право изменить не только механизм хозяйствования, но и форму собственности. Это позволило государству сосредоточить силы на улучшении положения крупных предприятий. Четыре города - Шэньчжэнь, Чжухай, Сямынь, Шаньтоу - были объявлены специальными экономическими зонами. Вслед за ними 14 приморских городов, четыре региона в устьях рек Янцзы и Чжуцзян, юго-восточная часть провинции Фуцзянь и регион в районе Бахайского залива стали открытыми экономическими зонами. На острове Хайнань была создана одноименная новая провинция, а сам он стал специальной экономической зоной. Все эти города и районы получили различные инвестиционные и налоговые льготы для привлечения иностранного капитала и технологий, заимствования у иностранных партнеров эффективных методов управления. Быстрое развитие их экономики способствовало эффективному росту в масштабе страны. Характерно, что значительную долю ввозимого капитала на начальном этапе обеспечила китайская диаспора (хуацяо), проживающая преимущественно в странах тихоокеанского бассейна (основные зоны компактного проживания: Гонконг, Макао, Сингапур, Малайзия, США). Успешное проведение политики либерализации в сочетании с жестко проводимой политикой ограничения рождаемости (снижение рождаемости за 20 лет составило не менее 200 млн. человек) позволило создать многоукладную экономику, в которой госпредприятия дают 48% промышленной продукции, коллективные - 38%, частные, в том числе с иностранным участием, - 13,5%. На долю государственной торговли приходится свыше 41% общего розничного оборота, коллективной - почти 28% и частной - 31%. Доля рыночных цен по потребительским товарам достигла 90%, средствам производства - 80%, по сельскохозяйственным продуктам - 85%. Доля видов промышленной продукции, производство которых регулируется государственными директивными планами, снизилась с 95% в 1978 г. до 5% в настоящее время. Удельный вес товаров, ценами которых непосредственно управляет государство, в розничном товарообороте упал с 95 до 6%. Помимо рынка товаров начали создаваться рынки капиталов, машин и оборудования, рабочей силы, других необходимых для производства элементов. ВВП Китая рос в течение 20 лет, начиная с 1985 года в среднем на 9,5% ежегодно. Страна вышла на 1-е место в мире по производству цемента, цветных металлов, хлопчатобумажных тканей, велосипедов (свыше 80 млн.), мотоциклов (21,3 млн.), телевизоров (35 млн.), угля, зерна, хлопка, рапсовых семян, мяса, яиц, на 2-е - химических удобрений, 3-е - сахара, автомобилей (7,3 млн., вкл. 4,6 млн. легковых), 4-е - электроэнергии, 5-е - сырой нефти. По объему ВВП Китай находится на 4-м месте в мире (при расчете по паритетному покупательскому курсу - на 2-м). На его долю приходится 5,4% мирового валового продукта (2006 г.). Золотовалютные резервы страны превысили в 2006 г. триллион долларов США. Положительное сальдо торгового баланса составляет 180 млрд. долларов. Правда, несмотря на такой рекордно длительный и масштабный экономический рост, среднедушевые показатели ВВП Китая остаются еще на относительно низком уровне, ВВП на душу населения в 2005 году составил 7600 долларов (109-110 место в мире рядом с Украиной). В тоже время средний доход горожанина в открытых городах на конец 2006 г. превысил 10000 юаней в месяц. В китайской деревне от 100 до 150 млн. человек не могут найти работу, еще несколько сотен миллионов заняты частично. Официальный уровень безработицы в городах 4,2% (2005 г.).\n" +
-"\n" +
-"В начале 21-го века Китай превратился в \"мировую фабрику\" куда переводится ряд производств из развитых стран Европы, Северной Америки и Японии. Бурный экономический рост во многом связан с дешевизной рабочей силы, слабым уровнем техники безопасности и низким контролем за экологией. В результате Китай уже стал вторым загрязнителем мировой атмосферы и гидросферы, после гораздо более мощной экономики США, а также вышел в \"лидеры\" по эррозии почвы (особенно в северных областях). Возросший из-за роста авто- и мотопарка уровень импорта Китаем нефти (3,2 млн. баррелей/сут. в 2005-м, 2-е место в мире) приводит в последние годы к росту ее среднемировой цены.\n" +
-"\n" +
-"В тоже время экономическое и политическое влияние страны в мире в последние годы постоянно возрастает. Так Китаю в 1997-м и 1999-и годах были возращены \"арендованные\" еще у Поднебесной империи территории Гонконг (Сянган) и Макао (Аомынь). Постоянно возрастает уровень обороноспособности страны и техническое оснащение НОАК, чему в немалой степени способствует и РФ, поставляющая в Китай самые современные виды вооружения.\n" +
-"\n" +
-"Либерализация экономики КНР пока не сопровождается смягчением политического режима. В стране продолжаются политические репрессии против оппозиции, особенно масштабно реализованные во время \"событий на площади Тяньаньмэнь\" в мае 1989-го, жестко контролируются СМИ, включая Интернет. В тоже время в последние годы предпринят ряд важных изменений устава КПК, например, в партию разрешено вступать представителям предпринимательских кругов, введена ротация высших кадров руководства Партии. Во внутренней политике сняты все ограничения на рост личных состояний и разрешено владение личными автомобилями. В тоже время страна лидирует в мире по количеству смертных казней (более 7000 в год). Несмотря на такую суровую практику, уровень преступности и коррупции постоянно возрастает.\n" +
-"\n" +
-"Политика либерализации дала сенсационно высокие результаты, перевела экономику Китая на иной качественный уровень. При этом развитие экономики идет неравномерно по регионам, накапливаются социальные диспропорции, а экологическим аспектам уделяется недостаточное внимание, что уже затрагивает не только территорию Китая, но и интересы сопредельных с ним стран.\n" +
-"\n" +
-"[править] См. также\n" +
-"\n" +
-" * Китай (цивилизация)\n" +
-" * События на площади Тяньаньмэнь 1989 года\n" +
-"\n" +
-"[править] Литература\n" +
-"\n" +
-" * Васильев Л.С. Древний Китай: в 3 т. Т. 3. Период Чжаньго (V–III вв. до н.э.). М.: Восточная литература, 2006. ISBN 502018103X\n" +
-" * Непомнин О.Е. История Китая: Эпоха Цин. XVII – начало XX века. М.: Восточная литература, 2005. ISBN 5020184004\n";
-
-var devanagari =
-"भारत\n" +
-"विकिपीडिया, एक मुक्त ज्ञानकोष से\n" +
-"Jump to: navigation, search\n" +
-" यह लेख एक निर्वाचित लेख उम्मीदवार है। अधिक जानकारी के लिए और इस लेख को निर्वाचित लेख बनने के लिए क्या आवश्यकताएँ हैं यह जानने के लिए कृपया यहाँ देखें।\n" +
-"भारत गणराज्य\n" +
-"Flag of भारत Coat of arms of भारत\n" +
-"ध्वज कुलचिह्न\n" +
-"राष्ट्रवाक्य: \"सत्यमेव जयते\" (संस्कृत)\n" +
-"\n" +
-"सत्य ही विजयी होता है\n" +
-"राष्ट्रगान: जन गण मन\n" +
-"भारत की स्थिति\n" +
-"राजधानी नई दिल्ली\n" +
-"८७, ५९०) 28°34′ N 77°12′ E\n" +
-"सबसे बड़ा शहर मुम्बई\n" +
-"राजभाषा(एँ) हिन्दी, अंग्रेज़ी तथा अन्य भारतीय भाषाएं\n" +
-"सरकार\n" +
-"राष्ट्रपति\n" +
-"प्रधानमंत्री\n" +
-" गणराज्य\n" +
-"प्रतिभा पाटिल\n" +
-"डॉ मनमोहन सिंह\n" +
-"ब्रिटिश राज से स्वतंत्रता\n" +
-" १५ अगस्त, १९४७\n" +
-"क्षेत्रफल\n" +
-" - कुल\n" +
-" \n" +
-" - जलीय (%) \n" +
-"३२, ८७, ५९० km² (सातवां)\n" +
-"१२,२२,५५९ sq mi \n" +
-"९.५६\n" +
-"जनसंख्या\n" +
-" - २००५ अनुमान\n" +
-" - २००१ जनगणना\n" +
-" - जनसंख्या का घनत्व \n" +
-"१,१०,३३,७१,००० (द्वितीय)\n" +
-"१,०२,७०,१५,२४८\n" +
-"३२९/km² (३१ वीं)\n" +
-"८५२/sq mi \n" +
-"सकल घरेलू उत्पाद (जीडीपी) (पीपीपी)\n" +
-" - कुल\n" +
-" - प्रतिव्यत्ति २००५ estimate\n" +
-"$३.६३३ महासंख (चौथी GDP_PPP_per_capita = $३,३२०)\n" +
-"{{{GDP_PPP_per_capita}}} (१२२ वीं)\n" +
-"मानव विकास संकेतांक (एइचडीआइ) ०.६११ (१२६ वीं) – medium\n" +
-"मुद्रा भारतीय रुपया (आइएनआर)\n" +
-"समय मण्डल\n" +
-" - ग्रीष्म ऋतु (डेलाइट सेविंग टाइम) आइएसटी (UTC+५:३०)\n" +
-"अब्सर्व्ड नहीं है (UTC+५:३०)\n" +
-"इंटरनेट टॉप लेवेल डोमेन .आइएन\n" +
-"दूरभाष कोड +९१\n" +
-"\n" +
-"भारत गणराज्य, पौराणिक जम्बुद्वीप, दक्षिण एशिया में स्थित एक देश है। यह भारतीय उपमहाद्वीप का सबसे बड़ा देश है। भारत का भौगोलिक फैलाव 8० 4' से 37० 6' उत्तरी अक्षांश तक तथा 68० 7' से 97० 25'पूर्वी देशान्तर तक है । भारत का क्षेत्रफल ३२,८७,२६३ वर्ग कि. मी. हैं | भारत का विस्तार उत्तर से दक्षिण तक ३,२१४ कि. मी. और पूर्व से पश्चिम तक २,९३३ कि. मी. हैं । भारत की समुद्र तट रेखा ७५१६.६ किलोमीटर लम्बी है। भारत, भौगोलिक दृष्टि से विश्व का सातवाँ सबसे बड़ा और जनसँख्या के दृष्टिकोण से दूसरा बड़ा देश है | भारत के पश्चिम में पाकिस्तान , उत्तर-पूर्व मे चीन, नेपाल, और भूटान और पूर्व में बांग्लादेश और म्यांमार देश स्थित हैं। हिन्द महासागर में इसके दक्षिण पश्चिम में मालदीव, दक्षिण में श्रीलंका और दक्षिण-पूर्व में इंडोनेशिया है। भारत उत्तर-पश्चिम में अफ़्ग़ानिस्तान के साथ सीमा का दावा करता है। इसके उत्तर में हिमालय पर्वत है। दक्षिण में हिन्द महासागर है। पूर्व में बंगाल की खाड़ी है। पश्चिम में अरब सागर है। भारत में कई बड़ी नदियाँ है। गंगा नदी भारतीय सभ्यता मै बहुत पवित्र मानी जाती है। अन्य बड़ी नदियाँ ब्रह्मपुत्र, यमुना, गोदावरी, कावेरी, कृष्णा, चम्बल, सतलज, बियास हैं ।\n" +
-"\n" +
-"भारत की १०० करोड़ (१ अरब) से अधिक जनसंख्या, चीन के बाद विश्व में सबसे अधिक है। यह विश्व का सबसे बड़ा लोकतंत्र है। यहाँ ३०० से अधिक भाषाएँ बोली जाती है (साइटेसन चाहिए)। यह एक बहुत प्राचीन सभ्यता की भूमि है।\n" +
-"\n" +
-"भारत विश्व की दसवीं सबसे बड़ी अर्थव्यवस्था है, किन्तु हाल में भारत ने काफी प्रगति की है, और ताज़ा स्थिति में भारत विश्व में तीसरे, चौथे स्थान पर होने का दावा करता है (साइटेसन चाहिए)। भारत भौगोलिक क्षेत्रफल के आधार पर विश्व का सातवाँ सबसे बड़ा राष्ट्र है। यह विश्व की कुछ प्राचीनतम सभ्यताओं का पालना रहा है जैसे - सिन्धु घाटी सभ्यता , और महत्वपूर्ण ऐतिहासिक व्यापार पथों का अभिन्न अंग है। विश्व के चार प्रमुख धर्म : हिन्दू , बौध , जैन तथा सिख भारत में प्रतिपादित हुए | १९४७ में स्वतंत्रता प्राप्ति से पूर्व ब्रिटिश भारत के रूप में ब्रिटिश साम्राज्य के प्रमुख अंग भारत ने विगत २० वर्ष में सार्थक प्रगति की है, विशेष रूप से आर्थिक और सैन्य | भारतीय सेना एक क्षेत्रिय शक्ति और विश्वव्यापक शक्ति है।\n" +
-"\n" +
-"भारत की राजधानी नई दिल्ली है। भारत के अन्य बड़े महानगर मुम्बई (बम्बई), कोलकाता (कलकत्ता) और चेन्नई (मद्रास) हैं।\n" +
-"\n" +
-"\n" +
-"अनुक्रम\n" +
-"[छुपाएं]\n" +
-"\n" +
-" * १ नाम\n" +
-" * २ इतिहास\n" +
-" * ३ सरकार\n" +
-" * ४ राजनीति\n" +
-" * ५ राज्य और केन्द्रशासित प्रदेश\n" +
-" * ६ भूगोल और मौसम\n" +
-" * ७ अर्थव्यवस्था\n" +
-" * ८ जनवृत्त\n" +
-" * ९ संस्कृति\n" +
-" * १० यह भी देखें\n" +
-" * ११ बाहरी कड़ियाँ\n" +
-"\n" +
-"[संपादित करें] नाम\n" +
-"मुख्य लेख: भारत नाम की उत्पत्ति\n" +
-"\n" +
-"भारत के दो आधिकारिक नाम है हिन्दी में भारत और अंग्रेज़ी में इन्डिया (India)। इन्डिया नाम की उत्पत्ति सिन्धु नदी के फारसी नाम से हुई। भारत नाम एक प्राचीन हिन्दू राजा भरत, जिनकी कथा महाभारत में है, के नाम से लिया गया है। एक तीसरा नाम हिन्दुस्तान (उत्पत्ति फारसी) या हिन्दुओं की भूमि मुगल काल से प्रयोग होता है यद्यपि इसका समकालीन उपयोग कम है।\n" +
-"\n" +
-"[संपादित करें] इतिहास\n" +
-"मुख्य लेख: भारतीय इतिहास\n" +
-"\n" +
-"पाषाण युग भीमबेटका मध्य प्रदेश की गुफाएं भारत में मानव जीवन का प्राचीनतम प्रमाण है। प्रथम स्थाई बस्तियों ने ९००० वर्ष पूर्व स्वरुप लिया। यही आगे चल कर सिन्धु घाटी सभ्यता में विकसित हुई , जो २६०० ईसवी और १९०० ईसवी के मध्य अपने चरम पर थी। लगभग १६०० ईसापूर्व आर्य भारत आए और उत्तर भारतीय क्षेत्रों में वैदिक सभ्यता का सूत्रपात किया । इस सभ्यता के स्रोत वेद और पुराण हैं। यह परम्परा कई सहस्र वर्ष पुरानी है। इसी समय दक्षिण बारत में द्रविड़ सभ्यता का विकास होता रहा। दोनो जातियों ने एक दूसरे की खूबियों को अपनाते हुए भारत में एक मिश्रित संस्कृति का निर्माण किया।\n" +
-"\n" +
-"५०० ईसवी पूर्व कॆ बाद, कई स्वतंत्र राज्य बन गए। उत्तर में मौर्य राजवंश, जिसमें बौद्ध महाराजा अशोक सम्मिलित थे, ने भारत के सांस्कृतिक पटल पर उल्लेखनीय छाप छोड़ी। १८० ईसवी के आरम्भ से, मध्य एशिया से कई आक्रमण हुए, जिनके परिणामस्वरूप उत्तरी भारतीय उपमहाद्वीप में यूनानी, शक, पार्थी और अंततः कुषाण राजवंश स्थापित हुए | तीसरी शताब्दी के आगे का समय जब भारत पर गुप्त वंश का शासन था, भारत का \"स्वर्णिम काल\" कहलाया।\n" +
-"तीसरी शताब्दी में सम्राट अशोक द्वारा बनाया गया मध्य प्रदेश में साँची का स्तूप\n" +
-"तीसरी शताब्दी में सम्राट अशोक द्वारा बनाया गया मध्य प्रदेश में साँची का स्तूप\n" +
-"\n" +
-"दक्षिण भारत में भिन्न-भिन्न समयकाल में कई राजवंश चालुक्य, चेर, चोल, पल्लव तथा पांड्य चले | विज्ञान, कला, साहित्य, गणित, खगोल शास्त्र, प्राचीन प्रौद्योगिकी, धर्म, तथा दर्शन इन्हीं राजाओं के शासनकाल में फ़ले-फ़ूले |\n" +
-"\n" +
-"१२वीं शताब्दी के प्रारंभ में, भारत पर इस्लामी आक्रमणों के पश्चात, उत्तरी व केन्द्रीय भारत का अधिकांश भाग दिल्ली सल्तनत के शासनाधीन हो गया; और बाद में, अधिकांश उपमहाद्वीप मुगल वंश के अधीन । दक्षिण भारत में विजयनगर साम्राज्य शक्तिशाली निकला। हालांकि, विशेषतः तुलनात्मक रूप से, संरक्षित दक्षिण में अनेक राज्य शेष रहे अथवा अस्तित्व में आये।\n" +
-"\n" +
-"१७वीं शताब्दी के मध्यकाल में पुर्तगाल, डच, फ्रांस, ब्रिटेन सहित अनेकों यूरोपीय देशों, जो भारत से व्यापार करने के इच्छुक थे, उन्होनें देश की शासकीय अराजकता का लाभ प्राप्त किया। अंग्रेज दूसरे देशों से व्यापार के इच्छुक लोगों को रोकने में सफल रहे और १८४० तक लगभग संपूर्ण देश पर शासन करने में सफल हुए। १८५७ में ब्रिटिश इस्ट इंडिया कम्पनी के विरुद्ध असफल विद्रोह, जो कि भारतीय स्वतन्त्रता के प्रथम संग्राम से जाना जाता है, के बाद भारत का अधिकांश भाग सीधे अंग्रेजी शासन के प्रशासनिक नियंत्रण में आ गया।\n" +
-"कोणार्क चक्र - १३वीं शताब्दी में बने उड़ीसा के सूर्य मन्दिर में स्थित, यह दुनिया के सब से प्रसिद्घ ऐतिहासिक स्थानों में से एक है।\n" +
-"कोणार्क चक्र - १३वीं शताब्दी में बने उड़ीसा के सूर्य मन्दिर में स्थित, यह दुनिया के सब से प्रसिद्घ ऐतिहासिक स्थानों में से एक है।\n" +
-"\n" +
-"बीसवीं शताब्दी के प्रारंभ में एक लम्बे समय तक स्वतंत्रता प्राप्ति के लिये विशाल अहिंसावादी संघर्ष चला, जिसका नेतृत्‍व महात्मा गांधी, जो कि आधिकारिक रुप से आधुनिक भारत के राष्ट्रपिता से संबोधित किये जाते हैं, ने किया। ईसके साथ - साथ चंद्रशेखर आजाद, सरदार भगत सिंह, सुख देव, राजगुरू, नेताजी सुभाष चन्द्र बोस आदि के नेतृत्‍व मे चले क्रांतिकारी संघर्ष के फलस्वरुप 15 अगस्त, 1947 भारत ने अंग्रेजी शासन से पूर्णतः स्वतंत्रता प्राप्त की। तदुपरान्त 26 जनवरी, 1950 को भारत एक गणराज्य बना।\n" +
-"\n" +
-"एक बहुजातीय तथा बहुधर्मिक राष्ट्र होने के कारण भारत को समय-समय पर साम्प्रदायिक तथा जातीय विद्वेष का शिकार होना पङा है। क्षेत्रीय असंतोष तथा विद्रोह भी हालाँकि देश के अलग-अलग हिस्सों में होते रहे हैं, पर इसकी धर्मनिरपेक्षता तथा जनतांत्रिकता, केवल १९७५-७७ को छोड़, जब तत्कालीन प्रधानमंत्री इंदिरा गांधी ने आपातकाल की घोषणा कर दी थी, अक्षुण्य रही है।\n" +
-"\n" +
-"भारत के पड़ोसी राष्ट्रों के साथ अनसुलझे सीमा विवाद हैं। इसके कारण इसे छोटे पैमानों पर युद्ध का भी सामना करना पड़ा है। १९६२ में चीन के साथ, तथा १९४७, १९६५, १९७१ एवम् १९९९ में पाकिस्तान के साथ लड़ाइयाँ हो चुकी हैं।\n" +
-"\n" +
-"भारत गुटनिरपेक्ष आन्दोलन तथा संयुक्त राष्ट्र संघ के संस्थापक सदस्य देशों में से एक है।\n" +
-"\n" +
-"१९७४ में भारत ने अपना पहला परमाणु परीक्षण किया था जिसके बाद १९९८ में 5 और परीक्षण किये गये। १९९० के दशक में किये गये आर्थिक सुधारीकरण की बदौलत आज देश सबसे तेजी से विकासशील राष्ट्रों की सूची में आ गया है।\n" +
-"\n" +
-"[संपादित करें] सरकार\n" +
-"मुख्य लेख: भारत सरकार\n" +
-"\n" +
-"भारत का संविधान भारत को एक सार्वभौमिक, समाजवादी, धर्मनिरपेक्ष, लोकतान्त्रिक गणराज्य की उपाधि देता है। भारत एक लोकतांत्रिक गणराज्य है, जिसका द्विसदनात्मक संसद वेस्टमिन्स्टर शैली के संसदीय प्रणाली द्वारा संचालित है। इसके शासन में तीन मुख्य अंग हैं: न्यायपालिका, कार्यपालिका और व्यवस्थापिका।\n" +
-"\n" +
-"राष्ट्रपति,जो कि राष्ट्र का प्रमुख है, has a largely ceremonial role. उसके कार्यों में संविधान का अभिव्यक्तिकरण, प्रस्तावित कानूनों (विधेयक) पर अपनी सहमति देना, और अध्यादेश जारी करना। वह भारतीय सेनाओं का मुख्य सेनापति भी है। राष्ट्रपति और उपराष्ट्रपति को एक अप्रत्यक्ष मतदान विधि द्वारा ५ वर्षों के लिये चुना जाता है। प्रधानमन्त्री सरकार का प्रमुख है और कार्यपालिका की सारी शक्तियाँ उसी के पास होती हैं। इसका चुनाव राजनैतिक पार्टियों या गठबन्धन के द्वारा प्रत्यक्ष विधि से संसद में बहुमत प्राप्त करने पर होता है। बहुमत बने रहने की स्थिति में इसका कार्यकाल ५ वर्षों का होता है। संविधान में किसी उप-प्रधानमंत्री का प्रावधान नहीं है पर समय-समय पर इसमें फेरबदल होता रहा है।\n" +
-"\n" +
-"व्यवस्थापिका संसद को कहते हैं जिसके दो सदन हैं - उच्चसदन राज्यसभा, or Council of States,और निम्नसदन लोकसभा. राज्यसभा में २४५ सदस्य होते हैं जबकि लोकसभा में ५५२। राज्यसभा के सदस्यों का चुनाव, अप्रत्यक्ष विधि से ६ वर्षों के लिये होता है, जबकि लोकसभा के सदस्यों का चुनाव प्रत्यक्ष विधि से, ५ वर्षों की अवधि के लिये। १८ वर्ष से अधिक उम्र के सभी भारतीय नागरिक मतदान कर सकते हैं।\n" +
-"\n" +
-"कार्यपालिका के तीन अंग हैं - राष्ट्रपति, उपराष्ट्रपति और मंत्रीमंडल। मंत्रीमंडल का प्रमुख प्रधानमंत्री होता है। मंत्रीमंडल के प्रत्येक मंत्री को संसद का सदस्य होना अनिवार्य है। कार्यपालिका, व्यवस्थापिका से नीचे होता है।\n" +
-"\n" +
-"भारत की स्वतंत्र न्यायपालिका का शीर्ष सर्वोच्च न्यायालय है, जिसका प्रधान प्रधान न्यायाधीश होता है। सर्वोच्च न्यायालय को अपने नये मामलों तथा उच्च न्यायालयों के विवादों, दोनो को देखने का अधिकार है। भारत में 21 उच्च न्यायालय हैं, जिनके अधिकार और उत्तरदायित्व सर्वोच्च न्यायालय की अपेक्षा सीमित हैं। न्यायपालिका और व्यवस्थापिका के परस्पर मतभेद या विवाद का सुलह राष्ट्रपति करता है।\n" +
-"\n" +
-"[संपादित करें] राजनीति\n" +
-"मुख्य लेख: भारत की राजनीति\n" +
-"भारत का मानचित्र\n" +
-"भारत का मानचित्र\n" +
-"\n" +
-"स्वतंत्र भारत के इतिहास में उसकी सरकार मुख्य रूप से भारतीय राष्ट्रीय कान्ग्रेस पार्टी के हाथ में रही है। स्वतन्त्रतापूर्व भारत में सबसे बडे़ राजनीतिक संगठन होने के कारण काँग्रेस की, जिसका नेता मूल रूप से नेहरू - गाँधी परिवार का कोई न कोई सदस्य होता है, चालीस वर्षों तक राष्ट्रीय राजनीति में प्रमुख भूमिका रही। १९७७ में, पूर्व काँग्रेस शासन की इंदिरा गाँधी के आपातकाल लगाने के बाद एक संगठित विपक्ष जनता पार्टी ने चुनाव जीता और उसने अत्यधिक छोटी अवधि के लिये एक गैर-काँग्रेसी सरकार बनाई।\n" +
-"\n" +
-"१९९६ में, भारतीय जनता पार्टी (भाजपा), सबसे बड़े राजनीतिक संगठन के रूप में उभरी और उसने काँग्रेस के आगे इतिहास में पहली बार एक ठोस विपक्ष प्रस्तुत किया। परन्तु आगे चलकर सत्ता वास्तविक रूप से दो गठबन्धन सरकारों के हाथ में रही जिन्हें काँग्रेस का सम्पूर्ण समर्थन था। १९९९ में, भाजपा ने छोटे दलों को साथ लेकर राष्ट्रीय जनतान्त्रिक गठबन्धन (राजग) बनाया और ५ वर्षों तक कार्यकाल पूरा करने वाली वह पहली गैर-काँग्रेसी सरकार बनी। १९९९ से पूर्व का दशक अल्पावधि सरकारों का था, इन वर्षों में सात भिन्न सरकारें बनी। परन्तु १९९१ मे बनी काँग्रेस सरकार ने अपना ५ वर्ष का कार्यकाल पूरा किया और कई आर्थिक सुधार लाई।\n" +
-"\n" +
-"भारतीय आम चुनाव २००४ के फ़लस्वरूप काँग्रेस दल ने सर्वाधिक सीटें जीतीं और वह बड़े ही कम बहुमत से सत्ता में वापिस आई। काँग्रेस ने गठजोड़ द्वारा भारतीय कम्युनिस्ट पार्टी (मार्क्सवादी) और बहुत सी राज्य स्तरीय पार्टियों को साथ लेकर यूनाईटेड प्रोग्रेसिव अलायन्स (यूपीए) नामक सरकार बनाई। आज बीजेपी और उसके सहयोगी विपक्ष में मुख्य भूमिका निभाते हैं। राष्ट्रीय स्तर पर किसी विशेष पार्टी का दबदबा न होने और राज्य स्तर की कई पार्टियों के राष्ट्रीय स्तर पर उभरने के कारण १९९६ से बनी सभी सरकारों को राजनीतिक गठबन्धनों की आवश्यक्ता पड़ी है।\n" +
-"\n" +
-"[संपादित करें] राज्य और केन्द्रशासित प्रदेश\n" +
-"मुख्य लेख: भारत के राज्य\n" +
-"\n" +
-"वर्तमान में भारत २८ राज्यों, ६ केन्द्रशासित प्रदेशों और राजधानी दिल्ली मे बँटा हुआ है। राज्यों की चुनी हुई स्वतंत्र सरकारें हैं जबकि केन्द्रशासित प्रदेशों पर केन्द्र द्वारा नियुक्त प्रबंधन शासन करता है, हालाँकि कुछ की लोकतांत्रिक सरकार भी है।\n" +
-"\n" +
-"अन्टार्कटिका और दक्षिण गंगोत्री और मैत्री पर भी भारत के वैज्ञानिक स्थल हैं यद्यपि अभी तक कोई वास्तविक आधिपत्य स्थापित नहीं किया गया है।\n" +
-"\n" +
-"[संपादित करें] भूगोल और मौसम\n" +
-"मुख्य लेख: भारत का भूगोल\n" +
-"हिमालय उत्तर में जम्मू और काश्मीर से लेकर पूर्व में अरुणाचल प्रदेश तक भारत की अधिकतर पूर्वी सीमा बनाता है\n" +
-"हिमालय उत्तर में जम्मू और काश्मीर से लेकर पूर्व में अरुणाचल प्रदेश तक भारत की अधिकतर पूर्वी सीमा बनाता है\n" +
-"\n" +
-"भारत के अधिकतर उत्तरी और उत्तरपश्चिमीय प्रांत हिमालय की पहाङियों में स्थित हैं। शेष का उत्तरी, मध्य और पूर्वी भारत गंगा के उपजाऊ मैदानों से बना है। उत्तरी-पूर्वी पाकिस्तान से सटा हुआ, भारत के पश्चिम में थार का मरुस्थल है। दक्षिण भारत लगभग संपूर्ण ही दक्खन के पठार से निर्मित है। यह पठार पूर्वी और पश्चिमी घाटों के बीच स्थित है।\n" +
-"\n" +
-"कई महत्वपूर्ण और बड़ी नदियाँ जैसे गंगा, ब्रह्मपुत्र, यमुना, गोदावरी और कृष्णा भारत से होकर बहती हैं। इन नदियों के कारण उत्तर भारत की भूमि कृषि के लिए उपजाऊ है।\n" +
-"\n" +
-"भारत के विस्तार के साथ ही इसके मौसम में भी बहुत भिन्नता है। दक्षिण में जहाँ तटीय और गर्म वातावरण रहता है वहीं उत्तर में कड़ी सर्दी, पूर्व में जहाँ अधिक बरसात है वहीं पश्चिम में रेगिस्तान की शुष्कता। भारत में वर्षा मुख्यतया मानसून हवाओं से होती है।\n" +
-"\n" +
-"भारत के मुख्य शहर है - दिल्ली, मुम्बई, कोलकाता, चेन्नई, बंगलोर ( बेंगलुरु ) | ये भी देंखे - भारत के शहर\n" +
-"\n" +
-"[संपादित करें] अर्थव्यवस्था\n" +
-"मुख्य लेख: भारत की अर्थव्यवस्था\n" +
-"सूचना प्रोद्योगिकी (आईटी) भारत के सबसे अधिक विकासशील उद्योगों में से एक है, वार्षिक आय $२८५० करोड़ डालर, इन्फ़ोसिस, भारत की सबसे बडी आईटी कम्पनियों में से एक\n" +
-"सूचना प्रोद्योगिकी (आईटी) भारत के सबसे अधिक विकासशील उद्योगों में से एक है, वार्षिक आय $२८५० करोड़ डालर, इन्फ़ोसिस, भारत की सबसे बडी आईटी कम्पनियों में से एक\n" +
-"\n" +
-"मुद्रा स्थानांतरण की दर से भारत की अर्थव्यवस्था विश्व में दसवें और क्रयशक्ति के अनुसार चौथे स्थान पर है। वर्ष २००३ में भारत में लगभग ८% की दर से आर्थिक वृद्धि हुई है जो कि विश्व की सबसे तीव्र बढती हुई अर्थव्यवस्थओं में से एक है। परंतु भारत की अत्यधिक जनसंख्या के कारण प्रतिव्यक्ति आय क्रयशक्ति की दर से मात्र ३२६२ अमेरिकन डॉलर है जो कि विश्व बैंक के अनुसार १२५वें स्थान पर है। भारत का विदेशी मुद्रा भंडार १४३ अरब अमेरिकन डॉलर है। मुम्बई भारत की आर्थिक राजधानी है और भारतीय रिजर्व बैंक और बॉम्बे स्टॉक एक्सचेंज का मुख्यालय भी। यद्यपि एक चौथाई भारतीय अभी भी निर्धनता रेखा से नीचे हैं, तीव्रता से बढ़ती हुई सूचना प्रोद्योगिकी कंपनियों के कारण मध्यमवर्गीय लोगों में वृद्धि हुई है। १९९१ के बाद भारत मे आर्थिक सुधार की नीति ने भारत के सर्वंगीण विकास मे बडी भूमिका निभाआयी।\n" +
-"\n" +
-"१९९१ के बाद भारत मे हुए [आर्थिक सुधार। आर्थिक सुधारोँ]] ने भारत के सर्वांगीण विकास मे बड़ी भूमिका निभाई। भारतीय अर्थव्यवस्था ने कृषि पर अपनी ऐतिहासिक निर्भरता कम की है और कृषि अब भारतीय सकल घरेलू उत्पाद (जीडीपी) का केवल २५% है। दूसरे प्रमुख उद्योग हैं उत्खनन, पेट्रोलियम, बहुमूल्य रत्न, चलचित्र, टेक्स्टाईल, सूचना प्रोद्योगिकी सेवाएं, तथा सजावटी वस्तुऐं। भारत के अधिकतर औद्योगिक क्षेत्र उसके प्रमुख महानगरों के आसपास स्थित हैं। हाल ही के वर्षों में $१७२० करोड़ अमरीकी डालर वार्षिक आय २००४-२००५ के साथ भारत सॉफ़्टवेयर और बीपीओ सेवाओं का सबसे बडा केन्द्र बनकर उभरा है। इसके साथ ही कई लघु स्तर के उद्योग भी हैं जोकि छोटे भारतीय गाँव और भारतीय नगरों के कई नागरिकों को जीविका प्रदान करते हैं। पिछले वषों मंे भारत में वित्तीय संस्थानो ने विकास में बड़ी भूमिका निभाई है।\n" +
-"\n" +
-"केवल तीस लाख विदेशी पर्यटकों के प्रतिवर्ष आने के बाद भी भार्तीय पर्यटन राष्ट्रीय आय का एक अति आवश्यक परन्तु कम विकसित स्त्रोत है। पर्यटन उद्योग भारत के जीडीपी का कुल ५.३% है। पर्यटन १०% भारतीय कामगारों को आजीविका देता है। वास्तविक संख्या ४.२ करोड है। आर्थिक रूप से देखा जाए तो पर्यटन भारतीय अर्थव्यवस्था को लगभग $४०० करोड डालर प्रदान करता है। भारत के प्रमुख व्यापार सहयोगी हैं अमरीका, जापान, चीन और संयुक्त अरब अमीरात।\n" +
-"\n" +
-"भारत के निर्यातों में कृषि उत्पाद, चाय, कपड़ा, बहुमूल्य रत्न व ज्वैलरी, साफ़्टवेयर सेवायें, इंजीनियरिंग सामान, रसायन तथा चमड़ा उत्पाद प्रमुख हैं जबकि उसके आयातों में कच्चा तेल, मशीनरी, बहुमूल्य रत्न, फ़र्टिलाइज़र तथा रसायन प्रमुख हैं। वर्ष २००४ के लिये भारत के कुल निर्यात $६९१८ करोड़ डालर के थे जबकि उसके आयात $८९३३ करोड डालर के थे।\n" +
-"\n" +
-"[संपादित करें] जनवृत्त\n" +
-"मुख्य लेख: भारत के लोग\n" +
-"\n" +
-"भारत चीन के बाद विश्व का दूसरा सबसे बड़ी जनसंख्या वाला देश है। भारत की विभिन्नताओं से भरी जनता में भाषा, जाति और धर्म, सामाजिक और राजनीतिक संगठन के मुख्य शत्रु हैं।\n" +
-"हिन्दुत्व भारत का सबसे बङा धर्म है - इस चित्र मे गोआ का एक मंदिर दर्शाया गया है\n" +
-"हिन्दुत्व भारत का सबसे बङा धर्म है - इस चित्र मे गोआ का एक मंदिर दर्शाया गया है\n" +
-"\n" +
-"भारत में ६४.८ प्रतिशत साक्षरता है जिसमे से ७५.३ % पुरुष और ५३.७% स्त्रियाँ साक्षर है। लिंग अनुपात की दृष्टि से भारत में प्रत्येक १००० पुरुषों के पीछे मात्र ९३३ महिलायें हैं। कार्य भागीदारी दर (कुल जनसंख्या मे कार्य करने वालों का भाग) ३९.१% है। पुरुषों के लिये यह दर ५१.७% और स्त्रियों के लिये २५.६% है। भारत की १००० जनसंख्या में २२.३२ जन्मों के साथ बढती जनसंख्या के आधे लोग २२.६६ वर्ष से कम आयु के हैं।\n" +
-"\n" +
-"यद्यपि भारत की ८०.५ प्रतिशत जनसंख्या हिन्दू है, १३.४ प्रतिशत जनसंख्या के साथ भारत विश्व में मुसलमानों की संख्या में भी इंडोनेशिया के बाद दूसरे स्थान पर है। अन्य धर्मावलम्बियों में ईसाई (२.३३ %), सिख (१.८४ %), बौद्ध (०.७६ %), जैन (०.४० %), अय्यावलि (०.१२ %), यहूदी, पारसी, अहमदी और बहाई आदि सम्मिलित हैं।\n" +
-"\n" +
-"भारत दो मुख्य भाषा सूत्रों, आर्यन् और द्रविङियन्, का भी स्त्रोत है (साइटेसन चाहिए)। भारत का संविधान कुल २३ भाषाओं को मान्यता देता है। हिन्दी और अंग्रेजी केन्द्रीय सरकार द्वारा सरकारी कामकाज के लिये उपयोग की जाती है। संस्कृत और तमिल जैसी अति प्राचीन भाषाएं भारत में ही जन्मी हैं। कुल मिलाकर भारत में १६५२ से भी अधिक भाषाएं एवं बोलियाँ बोली जातीं हैं।\n" +
-"\n" +
-"[संपादित करें] संस्कृति\n" +
-"मुख्य लेख: भारतीय संस्कृति\n" +
-"ताजमहल विश्व के सबसे प्रसिद्ध पर्यटक स्थलों में गिना जाता है।\n" +
-"ताजमहल विश्व के सबसे प्रसिद्ध पर्यटक स्थलों में गिना जाता है।\n" +
-"\n" +
-"भारत की सांस्कृतिक धरोहर बहुत संपन्न है। यहां की संस्कृति अनोखी है, और वर्षों से इसके कई अवयव अबतक अक्षुण्य हैं। आक्रमणकारियों तथा प्रवासियों से विभिन्न चीजों को समेटकर यह एक मिश्रित संस्कृति बन गई है। आधुनिक भारत का समाज, भाषाएं, रीति-रिवाज इत्यादि इसका प्रमाण हैं। ताजमहल और अन्य उदाहरण, इस्लाम प्रभावित स्थापत्य कला के अतिसुन्दर नमूने हैं।\n" +
-"गुम्पा नृत्य एक तिब्बती बौद्ध समाज का सिक्किम में छिपा नृत्य है। यह बौद्ध नव बर्ष में है।\n" +
-"गुम्पा नृत्य एक तिब्बती बौद्ध समाज का सिक्किम में छिपा नृत्य है। यह बौद्ध नव बर्ष में है।\n" +
-"\n" +
-"भारतीय समाज बहुधर्मिक, बहुभाषी तथा मिश्र-सांस्कृतिक है। पारंपरिक भारतीय पारिवारिक मूल्यों को काफी आदर की दृष्टि से देखा जाता है।\n" +
-"\n" +
-"विभिन्न धर्मों के इस भूभाग पर कई मनभावन पर्व त्यौहार मनाए जाते हैं - दिवाली, होली, दशहरा. पोंगल तथा ओणम . ईद-उल-फितर, मुहर्रम, क्रिसमस, ईस्टर आदि भी काफ़ी लोकप्रिय हैं।\n" +
-"\n" +
-"हालाँकि हॉकी देश का राष्ट्रीय खेल है, क्रिकेट सबसे अधिक लोकप्रिय है। वर्तमान में फुटबॉल, हॉकी तथा टेनिस में भी बहुत भारतीयों की अभिरुचि है। देश की राष्ट्रीय क्रिकेट टीम में 1983 में एक बार विश्व कप भी जीता है। इसके अतिरिक्त वर्ष 2003 में वह विश्व कप के फाइनल तक पहुँचा था। 1930 तथा 40 के दशक में हाकी में भारत अपने चरम पर था। मेजर ध्यानचंद ने हॉकी में भारत को बहुत प्रसिद्धि दिलाई और एक समय भारत ने अमरीका को 24-0 से हराया था जो अब तर विश्व कीर्तिमान है। शतरंज के जनक देश भारत के खिलाड़ी शतरंज में भी अच्छा प्रदर्शन करते आए हैं।\n" +
-"\n" +
-"भारतीय खानपान बहुत ही समृद्ध है। शाकाहारी तथा मांसाहारी दोनो तरह का खाना पसन्द किया जाता है। भारतीय व्यंजन विदेशों में भी बहुत पसन्द किए जाते है।\n" +
-"\n" +
-"भारत में संगीत तथा नृत्य की अपनी शैलियां भी विकसित हुईं जो बहुत ही लोकप्रिय हैं। भरतनाट्यम, ओडिसी, कत्थक प्रसिद्ध भारतीय नृत्य शैली है। हिन्दुस्तानी संगीत तथा कर्नाटक संगीत भारतीय परंपरागत संगीत की दो मुख्य धाराएं हैं।\n" +
-"\n" +
-"वैश्वीकरण के इस युग में शेष विश्व की तरह भारतीय समाज पर भी अंग्रेजी तथा यूरोपीय प्रभाव पड़ रहा है। बाहरी लोगों की खूबियों को अपनाने की भारतीय परंपरा का नया दौर कई भारतीयों की दृष्टि में अनुचित है। एक खुले समाज के जीवन का यत्न कर रहे लोगों को मध्यमवर्गीय तथा वरिष्ठ नागरिकों की उपेक्षा का शिकार होना पड़ता है। कुछ लोग इसे भारतीय पारंपरिक मूल्यों का हनन मानते हैं। विज्ञान तथा साहित्य में अधिक प्रगति ना कर पाने की वजह से भारतीय समाज यूरोपीय लोगों पर निर्भर होता जा रहा है। ऐसे समय में लोग विदेशी अविष्कारों का भारत में प्रयोग अनुचित भी समझते हैं। हालाँकि ऐसे कई लोग है जो ऐसा विचार नहीं रखते।\n" +
-"\n" +
-"[संपादित करें] यह भी देखें\n" +
-"\n" +
-" * दक्षिण भारत\n" +
-" * उत्तर पूर्वी भारत\n" +
-" * भारत की भाषाएँ\n" +
-"\n" +
-"\n" +
-"[संपादित करें] बाहरी कड़ियाँ\n" +
-"\n" +
-"सरकार (हिन्दी)\n" +
-"\n" +
-" * भारत का राष्ट्रीय पोर्टल\n" +
-"\n" +
-"सरकार (अंग्रेज़ी)\n" +
-"\n" +
-" * भारतीय सरकार का सरकारी वैबसाइट\n" +
-" * भारतीय सरकार का वेबसाइट का सरकारी निर्देशिका\n" +
-"\n" +
-"सेनापति निर्देश (अंग्रेज़ी)\n" +
-"\n" +
-" * सीआईए में भारत निबन्ध\n" +
-" * एन्साक्लोपीडिया ब्रिटैनिका का भारत निबन्ध\n" +
-" * बीबीसी का भारत निबन्ध\n" +
-"\n" +
-"भारत का देश नक्शा\n" +
-"\n" +
-"सैटेलाइट चित्र (अंग्रेज़ी)\n" +
-"\n" +
-" * गूगल मानचित्र से भारत का सैटेलाइट चित्र\n" +
-"\n" +
-"अन्य (अंग्रेज़ी)\n" +
-"\n" +
-" * विकिभ्रमण का भारत निबन्ध\n" +
-" * भारत ओपेन डायरैक्टरी प्रॉजेक्ट में\n" +
-" * भारत यात्रा - सामूहिक यात्रा ब्लॉग\n";
-
-var english =
-"English language\n" +
-"From Wikipedia, the free encyclopedia\n" +
-"• Learn more about citing Wikipedia •\n" +
-"Jump to: navigation, search\n" +
-" Editing of this article by unregistered or newly registered users is currently disabled.\n" +
-"If you cannot edit this article and you wish to make a change, you can discuss changes on the talk page, request unprotection, log in, or create an account.\n" +
-"English \n" +
-"Pronunciation: /ˈɪŋɡlɪʃ/[37]\n" +
-"Spoken in: Listed in the article\n" +
-"Total speakers: First language: 309[38] – 380 million[3]\n" +
-"Second language: 199[39] – 600 million[40]\n" +
-"Overall: 1.8 billion[41] \n" +
-"Ranking: 3 (native speakers)[9][10]\n" +
-"Total: 1 or 2 [11]\n" +
-"Language family: Indo-European\n" +
-" Germanic\n" +
-" West Germanic\n" +
-" Anglo–Frisian\n" +
-" Anglic\n" +
-" English \n" +
-"Writing system: Latin (English variant) \n" +
-"Official status\n" +
-"Official language of: 53 countries\n" +
-"Flag of the United Nations United Nations\n" +
-"Regulated by: no official regulation\n" +
-"Language codes\n" +
-"ISO 639-1: en\n" +
-"ISO 639-2: eng\n" +
-"ISO 639-3: eng \n" +
-"World countries, states, and provinces where English is a primary language are dark blue; countries, states and provinces where it is an official but not a primary language are light blue. English is also one of the official languages of the European Union.\n" +
-"Note: This page may contain IPA phonetic symbols in Unicode. See IPA chart for English for an English-​based pronunciation key.\n" +
-"\n" +
-"English is a West Germanic language originating in England, and the first language for most people in Australia, Canada, the Commonwealth Caribbean, Ireland, New Zealand, the United Kingdom and the United States of America (also commonly known as the Anglosphere). It is used extensively as a second language and as an official language throughout the world, especially in Commonwealth countries such as India, Sri Lanka, Pakistan and South Africa, and in many international organisations.\n" +
-"\n" +
-"Modern English is sometimes described as the global lingua franca.[1][2] English is the dominant international language in communications, science, business, aviation, entertainment, radio and diplomacy.[3] The influence of the British Empire is the primary reason for the initial spread of the language far beyond the British Isles.[4] Following World War II, the growing economic and cultural influence of the United States has significantly accelerated the spread of the language.\n" +
-"\n" +
-"A working knowledge of English is required in certain fields, professions, and occupations. As a result over a billion people speak English at least at a basic level (see English language learning and teaching). English is one of six official languages of the United Nations.\n" +
-"Contents\n" +
-"[hide]\n" +
-"\n" +
-" * 1 History\n" +
-" * 2 Classification and related languages\n" +
-" * 3 Geographical distribution\n" +
-" o 3.1 English as a global language\n" +
-" o 3.2 Dialects and regional varieties\n" +
-" o 3.3 Constructed varieties of English\n" +
-" * 4 Phonology\n" +
-" o 4.1 Vowels\n" +
-" + 4.1.1 See also\n" +
-" o 4.2 Consonants\n" +
-" + 4.2.1 Voicing and aspiration\n" +
-" o 4.3 Supra-segmental features\n" +
-" + 4.3.1 Tone groups\n" +
-" + 4.3.2 Characteristics of intonation\n" +
-" * 5 Grammar\n" +
-" * 6 Vocabulary\n" +
-" o 6.1 Number of words in English\n" +
-" o 6.2 Word origins\n" +
-" + 6.2.1 Dutch origins\n" +
-" + 6.2.2 French origins\n" +
-" * 7 Writing system\n" +
-" o 7.1 Basic sound-letter correspondence\n" +
-" o 7.2 Written accents\n" +
-" * 8 Formal written English\n" +
-" * 9 Basic and simplified versions\n" +
-" * 10 Notes\n" +
-" * 11 References\n" +
-" * 12 See also\n" +
-" * 13 External links\n" +
-" o 13.1 Dictionaries\n" +
-"\n" +
-"History\n" +
-"\n" +
-" Main article: History of the English language\n" +
-"\n" +
-"English is an Anglo-Frisian language. Germanic-speaking peoples from northwest Germany (Saxons and Angles) and Jutland (Jutes) invaded what is now known as Eastern England around the fifth century AD. It is a matter of debate whether the Old English language spread by displacement of the original population, or the native Celts gradually adopted the language and culture of a new ruling class, or a combination of both of these processes (see Sub-Roman Britain).\n" +
-"\n" +
-"Whatever their origin, these Germanic dialects eventually coalesced to a degree (there remained geographical variation) and formed what is today called Old English. Old English loosely resembles some coastal dialects in what are now northwest Germany and the Netherlands (i.e., Frisia). Throughout the history of written Old English, it retained a synthetic structure closer to that of Proto-Indo-European, largely adopting West Saxon scribal conventions, while spoken Old English became increasingly analytic in nature, losing the more complex noun case system, relying more heavily on prepositions and fixed word order to convey meaning. This is evident in the Middle English period, when literature was to an increasing extent recorded with spoken dialectal variation intact, after written Old English lost its status as the literary language of the nobility. It is postulated that the early development of the language was influenced by a Celtic substratum.[5][6] Later, it was influenced by the related North Germanic language Old Norse, spoken by the Vikings who settled mainly in the north and the east coast down to London, the area known as the Danelaw.\n" +
-"\n" +
-"The Norman Conquest of England in 1066 profoundly influenced the evolution of the language. For about 300 years after this, the Normans used Anglo-Norman, which was close to Old French, as the language of the court, law and administration. By the fourteenth century, Anglo-Norman borrowings had contributed roughly 10,000 words to English, of which 75% remain in use. These include many words pertaining to the legal and administrative fields, but also include common words for food, such as mutton[7] and beef[8]. The Norman influence gave rise to what is now referred to as Middle English. Later, during the English Renaissance, many words were borrowed directly from Latin (giving rise to a number of doublets) and Greek, leaving a parallel vocabulary that persists into modern times. By the seventeenth century there was a reaction in some circles against so-called inkhorn terms.\n" +
-"\n" +
-"During the fifteenth century, Middle English was transformed by the Great Vowel Shift, the spread of a prestigious South Eastern-based dialect in the court, administration and academic life, and the standardising effect of printing. Early Modern English can be traced back to around the Elizabethan period.\n" +
-"\n" +
-"Classification and related languages\n" +
-"\n" +
-"The English language belongs to the western sub-branch of the Germanic branch of the Indo-European family of languages.\n" +
-"\n" +
-"The question as to which is the nearest living relative of English is a matter of discussion. Apart from such English-lexified creole languages such as Tok Pisin, Scots (spoken primarily in Scotland and parts of Northern Ireland) is not a Gaelic language, but is part of the English family of languages: both Scots and modern English are descended from Old English, also known as Anglo-Saxon. The closest relative to English after Scots is Frisian, which is spoken in the Northern Netherlands and Northwest Germany. Other less closely related living West Germanic languages include German, Low Saxon, Dutch, and Afrikaans. The North Germanic languages of Scandinavia are less closely related to English than the West Germanic languages.\n" +
-"\n" +
-"Many French words are also intelligible to an English speaker (though pronunciations are often quite different) because English absorbed a large vocabulary from Norman and French, via Anglo-Norman after the Norman Conquest and directly from French in subsequent centuries. As a result, a large portion of English vocabulary is derived from French, with some minor spelling differences (word endings, use of old French spellings, etc.), as well as occasional divergences in meaning, in so-called \"faux amis\", or false friends.\n" +
-"\n" +
-"Geographical distribution\n" +
-"\n" +
-" See also: List of countries by English-speaking population\n" +
-"\n" +
-"Over 380 million people speak English as their first language. English today is probably the third largest language by number of native speakers, after Mandarin Chinese and Spanish.[9][10] However, when combining native and non-native speakers it is probably the most commonly spoken language in the world, though possibly second to a combination of the Chinese Languages, depending on whether or not distinctions in the latter are classified as \"languages\" or \"dialects.\"[11][12] Estimates that include second language speakers vary greatly from 470 million to over a billion depending on how literacy or mastery is defined.[13][14] There are some who claim that non-native speakers now outnumber native speakers by a ratio of 3 to 1.[15]\n" +
-"\n" +
-"The countries with the highest populations of native English speakers are, in descending order: United States (215 million),[16] United Kingdom (58 million),[17] Canada (17.7 million),[18] Australia (15 million),[19] Ireland (3.8 million),[17] South Africa (3.7 million),[20] and New Zealand (3.0-3.7 million).[21] Countries such as Jamaica and Nigeria also have millions of native speakers of dialect continuums ranging from an English-based creole to a more standard version of English. Of those nations where English is spoken as a second language, India has the most such speakers ('Indian English') and linguistics professor David Crystal claims that, combining native and non-native speakers, India now has more people who speak or understand English than any other country in the world.[22] Following India is the People's Republic of China.[23]\n" +
-"Distribution of native English speakers by country (Crystal 1997)\n" +
-"Distribution of native English speakers by country (Crystal 1997)\n" +
-" Country Native speakers\n" +
-"1 USA 214,809,000[16]\n" +
-"2 UK 58,200,000[17]\n" +
-"3 Canada 17,694,830[18]\n" +
-"4 Australia 15,013,965[19]\n" +
-"5 Ireland 4,200,000+ (Approx)[17]\n" +
-"6 South Africa 3,673,203[20]\n" +
-"7 New Zealand 3,500,000+ (Approx)[21]\n" +
-"8 Singapore 665,087[24]\n" +
-"\n" +
-"English is the primary language in Anguilla, Antigua and Barbuda, Australia (Australian English), the Bahamas, Barbados, Bermuda, Belize, the British Indian Ocean Territory, the British Virgin Islands, Canada (Canadian English), the Cayman Islands, Dominica, the Falkland Islands, Gibraltar, Grenada, Guernsey (Guernsey English), Guyana, Ireland (Hiberno-English), Isle of Man (Manx English), Jamaica (Jamaican English), Jersey, Montserrat, Nauru, New Zealand (New Zealand English), Pitcairn Islands, Saint Helena, Saint Lucia, Saint Kitts and Nevis, Saint Vincent and the Grenadines, Singapore, South Georgia and the South Sandwich Islands, Trinidad and Tobago, the Turks and Caicos Islands, the United Kingdom, the U.S. Virgin Islands, and the United States (various forms of American English).\n" +
-"\n" +
-"In many other countries, where English is not the most spoken language, it is an official language; these countries include Botswana, Cameroon, Fiji, the Federated States of Micronesia, Ghana, Gambia, Hong Kong, India, Kiribati, Lesotho, Liberia, Kenya, Madagascar, Malta, the Marshall Islands, Namibia, Nigeria, Pakistan, Papua New Guinea, the Philippines, Puerto Rico, Rwanda, the Solomon Islands, Samoa, Sierra Leone, Singapore, Sri Lanka, Swaziland, Tanzania, Uganda, Zambia, and Zimbabwe. It is also one of the 11 official languages that are given equal status in South Africa (\"South African English\"). English is also an important language in several former colonies or current dependent territories of the United Kingdom and the United States, such as in Hong Kong and Mauritius.\n" +
-"\n" +
-"English is not an official language in either the United States or the United Kingdom.[25][26] Although the United States federal government has no official languages, English has been given official status by 30 of the 50 state governments.[27]\n" +
-"\n" +
-"English as a global language\n" +
-"\n" +
-" See also: English on the Internet and global language\n" +
-"\n" +
-"Because English is so widely spoken, it has often been referred to as a \"global language\", the lingua franca of the modern era.[2] While English is not an official language in many countries, it is currently the language most often taught as a second language around the world. Some linguists believe that it is no longer the exclusive cultural sign of \"native English speakers\", but is rather a language that is absorbing aspects of cultures worldwide as it continues to grow. It is, by international treaty, the official language for aerial and maritime communications, as well as one of the official languages of the European Union, the United Nations, and most international athletic organisations, including the International Olympic Committee.\n" +
-"\n" +
-"English is the language most often studied as a foreign language in the European Union (by 89% of schoolchildren), followed by French (32%), German (18%), and Spanish (8%).[28] In the EU, a large fraction of the population reports being able to converse to some extent in English. Among non-English speaking countries, a large percentage of the population claimed to be able to converse in English in the Netherlands (87%), Sweden (85%), Denmark (83%), Luxembourg (66%), Finland (60%), Slovenia (56%), Austria (53%), Belgium (52%), and Germany (51%). [29] Norway and Iceland also have a large majority of competent English-speakers.\n" +
-"\n" +
-"Books, magazines, and newspapers written in English are available in many countries around the world. English is also the most commonly used language in the sciences.[2] In 1997, the Science Citation Index reported that 95% of its articles were written in English, even though only half of them came from authors in English-speaking countries.\n" +
-"\n" +
-"Dialects and regional varieties\n" +
-"\n" +
-" Main article: List of dialects of the English language\n" +
-"\n" +
-"The expansion of the British Empire and—since WWII—the primacy of the United States have spread English throughout the globe.[2] Because of that global spread, English has developed a host of English dialects and English-based creole languages and pidgins.\n" +
-"\n" +
-"The major varieties of English include, in most cases, several subvarieties, such as Cockney slang within British English; Newfoundland English within Canadian English; and African American Vernacular English (\"Ebonics\") and Southern American English within American English. English is a pluricentric language, without a central language authority like France's Académie française; and, although no variety is clearly considered the only standard, there are a number of accents considered to be more prestigious, such as Received Pronunciation in Britain.\n" +
-"\n" +
-"Scots developed — largely independently — from the same origins, but following the Acts of Union 1707 a process of language attrition began, whereby successive generations adopted more and more features from English causing dialectalisation. Whether it is now a separate language or a dialect of English better described as Scottish English is in dispute. The pronunciation, grammar and lexis of the traditional forms differ, sometimes substantially, from other varieties of English.\n" +
-"\n" +
-"Because of the wide use of English as a second language, English speakers have many different accents, which often signal the speaker's native dialect or language. For the more distinctive characteristics of regional accents, see Regional accents of English speakers, and for the more distinctive characteristics of regional dialects, see List of dialects of the English language.\n" +
-"\n" +
-"Just as English itself has borrowed words from many different languages over its history, English loanwords now appear in a great many languages around the world, indicative of the technological and cultural influence of its speakers. Several pidgins and creole languages have formed using an English base, such as Jamaican Creole, Nigerian Pidgin, and Tok Pisin. There are many words in English coined to describe forms of particular non-English languages that contain a very high proportion of English words. Franglais, for example, is used to describe French with a very high English word content; it is found on the Channel Islands. Another variant, spoken in the border bilingual regions of Québec in Canada, is called FrEnglish.\n" +
-"\n" +
-"Constructed varieties of English\n" +
-"\n" +
-" * Basic English is simplified for easy international use. It is used by manufacturers and other international businesses to write manuals and communicate. Some English schools in Asia teach it as a practical subset of English for use by beginners.\n" +
-" * Special English is a simplified version of English used by the Voice of America. It uses a vocabulary of only 1500 words.\n" +
-" * English reform is an attempt to improve collectively upon the English language.\n" +
-" * Seaspeak and the related Airspeak and Policespeak, all based on restricted vocabularies, were designed by Edward Johnson in the 1980s to aid international cooperation and communication in specific areas. There is also a tunnelspeak for use in the Channel Tunnel.\n" +
-" * English as a lingua franca for Europe and Euro-English are concepts of standardising English for use as a second language in continental Europe.\n" +
-" * Manually Coded English — a variety of systems have been developed to represent the English language with hand signals, designed primarily for use in deaf education. These should not be confused with true sign languages such as British Sign Language and American Sign Language used in Anglophone countries, which are independent and not based on English.\n" +
-" * E-Prime excludes forms of the verb to be.\n" +
-"\n" +
-"Euro-English (also EuroEnglish or Euro-English) terms are English translations of European concepts that are not native to English-speaking countries. Due to the United Kingdom's (and even the Republic of Ireland's) involvement in the European Union, the usage focuses on non-British concepts. This kind of Euro-English was parodied when English was \"made\" one of the constituent languages of Europanto.\n" +
-"\n" +
-"Phonology\n" +
-"\n" +
-" Main article: English phonology\n" +
-"\n" +
-"Vowels\n" +
-"IPA Description word\n" +
-"monophthongs\n" +
-"i/iː Close front unrounded vowel bead\n" +
-"ɪ Near-close near-front unrounded vowel bid\n" +
-"ɛ Open-mid front unrounded vowel bed\n" +
-"æ Near-open front unrounded vowel bad\n" +
-"ɒ Open back rounded vowel bod 1\n" +
-"ɔ Open-mid back rounded vowel pawed 2\n" +
-"ɑ/ɑː Open back unrounded vowel bra\n" +
-"ʊ Near-close near-back rounded vowel good\n" +
-"u/uː Close back rounded vowel booed\n" +
-"ʌ/ɐ Open-mid back unrounded vowel, Near-open central vowel bud\n" +
-"ɝ/ɜː Open-mid central unrounded vowel bird 3\n" +
-"ə Schwa Rosa's 4\n" +
-"ɨ Close central unrounded vowel roses 5\n" +
-"diphthongs\n" +
-"e(ɪ)/eɪ Close-mid front unrounded vowel\n" +
-"Close front unrounded vowel bayed 6\n" +
-"o(ʊ)/əʊ Close-mid back rounded vowel\n" +
-"Near-close near-back rounded vowel bode 6\n" +
-"aɪ Open front unrounded vowel\n" +
-"Near-close near-front unrounded vowel cry\n" +
-"aʊ Open front unrounded vowel\n" +
-"Near-close near-back rounded vowel bough\n" +
-"ɔɪ Open-mid back rounded vowel\n" +
-"Close front unrounded vowel boy\n" +
-"ʊɝ/ʊə Near-close near-back rounded vowel\n" +
-"Schwa boor 9\n" +
-"ɛɝ/ɛə Open-mid front unrounded vowel\n" +
-"Schwa fair 10\n" +
-"\n" +
-"Notes:\n" +
-"\n" +
-"It is the vowels that differ most from region to region.\n" +
-"\n" +
-"Where symbols appear in pairs, the first corresponds to American English, General American accent; the second corresponds to British English, Received Pronunciation.\n" +
-"\n" +
-" 1. American English lacks this sound; words with this sound are pronounced with /ɑ/ or /ɔ/.\n" +
-" 2. Many dialects of North American English do not have this vowel. See Cot-caught merger.\n" +
-" 3. The North American variation of this sound is a rhotic vowel.\n" +
-" 4. Many speakers of North American English do not distinguish between these two unstressed vowels. For them, roses and Rosa's are pronounced the same, and the symbol usually used is schwa /ə/.\n" +
-" 5. This sound is often transcribed with /i/ or with /ɪ/.\n" +
-" 6. The diphthongs /eɪ/ and /oʊ/ are monophthongal for many General American speakers, as /eː/ and /oː/.\n" +
-" 7. The letter <U> can represent either /u/ or the iotated vowel /ju/. In BRP, if this iotated vowel /ju/ occurs after /t/, /d/, /s/ or /z/, it often triggers palatalization of the preceding consonant, turning it to /ʨ/, /ʥ/, /ɕ/ and /ʑ/ respectively, as in tune, during, sugar, and azure. In American English, palatalization does not generally happen unless the /ju/ is followed by r, with the result that /(t, d,s, z)jur/ turn to /tʃɚ/, /dʒɚ/, /ʃɚ/ and /ʒɚ/ respectively, as in nature, verdure, sure, and treasure.\n" +
-" 8. Vowel length plays a phonetic role in the majority of English dialects, and is said to be phonemic in a few dialects, such as Australian English and New Zealand English. In certain dialects of the modern English language, for instance General American, there is allophonic vowel length: vowel phonemes are realized as long vowel allophones before voiced consonant phonemes in the coda of a syllable. Before the Great Vowel Shift, vowel length was phonemically contrastive.\n" +
-" 9. This sound only occurs in non-rhotic accents. In some accents, this sound may be, instead of /ʊə/, /ɔ:/. See pour-poor merger.\n" +
-" 10. This sound only occurs in non-rhotic accents. In some accents, the schwa offglide of /ɛə/ may be dropped, monophthising and lengthening the sound to /ɛ:/.\n" +
-"\n" +
-"See also\n" +
-"\n" +
-" * International Phonetic Alphabet for English for more vowel charts.\n" +
-"\n" +
-"Consonants\n" +
-"\n" +
-"This is the English Consonantal System using symbols from the International Phonetic Alphabet (IPA).\n" +
-" bilabial labio-\n" +
-"dental dental alveolar post-\n" +
-"alveolar palatal velar glottal\n" +
-"plosive p b t d k ɡ \n" +
-"nasal m n ŋ 1 \n" +
-"flap ɾ 2 \n" +
-"fricative f v θ ð 3 s z ʃ ʒ 4 ç 5 x 6 h\n" +
-"affricate tʃ dʒ 4 \n" +
-"approximant ɹ 4 j \n" +
-"lateral approximant l \n" +
-" labial-velar\n" +
-"approximant ʍ w 7\n" +
-"\n" +
-" 1. The velar nasal [ŋ] is a non-phonemic allophone of /n/ in some northerly British accents, appearing only before /k/ and /g/. In all other dialects it is a separate phoneme, although it only occurs in syllable codas.\n" +
-" 2. The alveolar flap [ɾ] is an allophone of /t/ and /d/ in unstressed syllables in North American English and Australian English.[30] This is the sound of tt or dd in the words latter and ladder, which are homophones for many speakers of North American English. In some accents such as Scottish English and Indian English it replaces /ɹ/. This is the same sound represented by single r in most varieties of Spanish.\n" +
-" 3. In some dialects, such as Cockney, the interdentals /θ/ and /ð/ are usually merged with /f/ and /v/, and in others, like African American Vernacular English, /ð/ is merged with dental /d/. In some Irish varieties, /θ/ and /ð/ become the corresponding dental plosives, which then contrast with the usual alveolar plosives.\n" +
-" 4. The sounds /ʃ/, /ʒ/, and /ɹ/ are labialised in some dialects. Labialisation is never contrastive in initial position and therefore is sometimes not transcribed. Most speakers of General American realize <r> (always rhoticized) as the retroflex approximant /ɻ/, whereas the same is realized in Scottish English, etc. as the alveolar trill.\n" +
-" 5. The voiceless palatal fricative /ç/ is in most accents just an allophone of /h/ before /j/; for instance human /çjuːmən/. However, in some accents (see this), the /j/ is dropped, but the initial consonant is the same.\n" +
-" 6. The voiceless velar fricative /x/ is used only by Scottish or Welsh speakers of English for Scots/Gaelic words such as loch /lɒx/ or by some speakers for loanwords from German and Hebrew like Bach /bax/ or Chanukah /xanuka/. In some dialects such as Scouse (Liverpool) either [x] or the affricate [kx] may be used as an allophone of /k/ in words such as docker [dɒkxə]. Most native speakers have a great deal of trouble pronouncing it correctly when learning a foreign language. Most speakers use the sounds [k] and [h] instead.\n" +
-" 7. Voiceless w [ʍ] is found in Scottish and Irish English, as well as in some varieties of American, New Zealand, and English English. In most other dialects it is merged with /w/, in some dialects of Scots it is merged with /f/.\n" +
-"\n" +
-"Voicing and aspiration\n" +
-"\n" +
-"Voicing and aspiration of stop consonants in English depend on dialect and context, but a few general rules can be given:\n" +
-"\n" +
-" * Voiceless plosives and affricates (/ p/, / t/, / k/, and / tʃ/) are aspirated when they are word-initial or begin a stressed syllable — compare pin [pʰɪn] and spin [spɪn], crap [kʰɹ̥æp] and scrap [skɹæp].\n" +
-" o In some dialects, aspiration extends to unstressed syllables as well.\n" +
-" o In other dialects, such as Indo-Pakistani English, all voiceless stops remain unaspirated.\n" +
-" * Word-initial voiced plosives may be devoiced in some dialects.\n" +
-" * Word-terminal voiceless plosives may be unreleased or accompanied by a glottal stop in some dialects (e.g. many varieties of American English) — examples: tap [tʰæp̚], sack [sæk̚].\n" +
-" * Word-terminal voiced plosives may be devoiced in some dialects (e.g. some varieties of American English) — examples: sad [sæd̥], bag [bæɡ̊]. In other dialects they are fully voiced in final position, but only partially voiced in initial position.\n" +
-"\n" +
-"Supra-segmental features\n" +
-"\n" +
-"Tone groups\n" +
-"\n" +
-"English is an intonation language. This means that the pitch of the voice is used syntactically, for example, to convey surprise and irony, or to change a statement into a question.\n" +
-"\n" +
-"In English, intonation patterns are on groups of words, which are called tone groups, tone units, intonation groups or sense groups. Tone groups are said on a single breath and, as a consequence, are of limited length, more often being on average five words long or lasting roughly two seconds. For example:\n" +
-"\n" +
-" - /duː juː niːd ˈɛnɪˌθɪŋ/ Do you need anything?\n" +
-" - /aɪ dəʊnt | nəʊ/ I don't, no\n" +
-" - /aɪ dəʊnt nəʊ/ I don't know (contracted to, for example, - /aɪ dəʊnəʊ/ or /aɪ dənəʊ/ I dunno in fast or colloquial speech that de-emphasises the pause between don't and know even further)\n" +
-"\n" +
-"Characteristics of intonation\n" +
-"\n" +
-"English is a strongly stressed language, in that certain syllables, both within words and within phrases, get a relative prominence/loudness during pronunciation while the others do not. The former kind of syllables are said to be accentuated/stressed and the latter are unaccentuated/unstressed. All good dictionaries of English mark the accentuated syllable(s) by either placing an apostrophe-like ( ˈ ) sign either before (as in IPA, Oxford English Dictionary, or Merriam-Webster dictionaries) or after (as in many other dictionaries) the syllable where the stress accent falls. In general, for a two-syllable word in English, it can be broadly said that if it is a noun or an adjective, the first syllable is accentuated; but if it is a verb, the second syllable is accentuated.\n" +
-"\n" +
-"Hence in a sentence, each tone group can be subdivided into syllables, which can either be stressed (strong) or unstressed (weak). The stressed syllable is called the nuclear syllable. For example:\n" +
-"\n" +
-" That | was | the | best | thing | you | could | have | done!\n" +
-"\n" +
-"Here, all syllables are unstressed, except the syllables/words best and done, which are stressed. Best is stressed harder and, therefore, is the nuclear syllable.\n" +
-"\n" +
-"The nuclear syllable carries the main point the speaker wishes to make. For example:\n" +
-"\n" +
-" John hadn't stolen that money. (... Someone else had.)\n" +
-" John hadn't stolen that money. (... You said he had. or ... Not at that time, but later he did.)\n" +
-" John hadn't stolen that money. (... He acquired the money by some other means.)\n" +
-" John hadn't stolen that money. (... He had stolen some other money.)\n" +
-" John hadn't stolen that money. (... He stole something else.)\n" +
-"\n" +
-"Also\n" +
-"\n" +
-" I didn't tell her that. (... Someone else told her.)\n" +
-" I didn't tell her that. (... You said I did. or ... But now I will!)\n" +
-" I didn't tell her that. (... I didn't say it; she could have inferred it, etc.)\n" +
-" I didn't tell her that. (... I told someone else.)\n" +
-" I didn't tell her that. (... I told her something else.)\n" +
-"\n" +
-"This can also be used to express emotion:\n" +
-"\n" +
-" Oh really? (...I didn't know that)\n" +
-" Oh really? (...I disbelieve you)\n" +
-"\n" +
-"The nuclear syllable is spoken more loudly than the others and has a characteristic change of pitch. The changes of pitch most commonly encountered in English are the rising pitch and the falling pitch, although the fall-rising pitch and/or the rise-falling pitch are sometimes used. In this opposition between falling and rising pitch, which plays a larger role in English than in most other languages, falling pitch conveys certainty and rising pitch uncertainty. This can have a crucial impact on meaning, specifically in relation to polarity, the positive–negative opposition; thus, falling pitch means \"polarity known\", while rising pitch means \"polarity unknown\". This underlies the rising pitch of yes/no questions. For example:\n" +
-"\n" +
-" When do you want to be paid?\n" +
-" Now? (Rising pitch. In this case, it denotes a question: \"Can I be paid now?\" or \"Do you desire to be paid now?\")\n" +
-" Now. (Falling pitch. In this case, it denotes a statement: \"I choose to be paid now.\")\n" +
-"\n" +
-"Grammar\n" +
-"\n" +
-" Main article: English grammar\n" +
-"\n" +
-"English grammar has minimal inflection compared with most other Indo-European languages. For example, Modern English, unlike Modern German or Dutch and the Romance languages, lacks grammatical gender and adjectival agreement. Case marking has almost disappeared from the language and mainly survives in pronouns. The patterning of strong (e.g. speak/spoke/spoken) versus weak verbs inherited from its Germanic origins has declined in importance in modern English, and the remnants of inflection (such as plural marking) have become more regular.\n" +
-"\n" +
-"At the same time, the language has become more analytic, and has developed features such as modal verbs and word order as rich resources for conveying meaning. Auxiliary verbs mark constructions such as questions, negative polarity, the passive voice and progressive tenses.\n" +
-"\n" +
-"Vocabulary\n" +
-"\n" +
-"The English vocabulary has changed considerably over the centuries.[31]\n" +
-"\n" +
-"Germanic words (generally words of Old English or to a lesser extent Norse origin) which include all the basics such as pronouns (I, my, you, it) and conjunctions (and, or, but) tend to be shorter than the Latinate words of English, and more common in ordinary speech. The longer Latinate words are often regarded as more elegant or educated. However, the excessive or superfluous use of Latinate words is considered at times to be either pretentious (as in the stereotypical policeman's talk of \"apprehending the suspect\") or an attempt to obfuscate an issue. George Orwell's essay \"Politics and the English Language\" is critical of this, as well as other perceived abuses of the language.\n" +
-"\n" +
-"An English speaker is in many cases able to choose between Germanic and Latinate synonyms: come or arrive; sight or vision; freedom or liberty. In some cases there is a choice between a Germanic derived word (oversee), a Latin derived word (supervise), and a French word derived from the same Latin word (survey). The richness of the language arises from the variety of different meanings and nuances such synonyms harbour, enabling the speaker to express fine variations or shades of thought. Familiarity with the etymology of groups of synonyms can give English speakers greater control over their linguistic register. See: List of Germanic and Latinate equivalents.\n" +
-"\n" +
-"An exception to this and a peculiarity perhaps unique to English is that the nouns for meats are commonly different from, and unrelated to, those for the animals from which they are produced, the animal commonly having a Germanic name and the meat having a French-derived one. Examples include: deer and venison; cow and beef; swine/pig and pork, or sheep and mutton. This is assumed to be a result of the aftermath of the Norman invasion, where a French-speaking elite were the consumers of the meat, produced by English-speaking lower classes.\n" +
-"\n" +
-"In everyday speech, the majority of words will normally be Germanic. If a speaker wishes to make a forceful point in an argument in a very blunt way, Germanic words will usually be chosen. A majority of Latinate words (or at least a majority of content words) will normally be used in more formal speech and writing, such as a courtroom or an encyclopedia article. However, there are other Latinate words that are used normally in everyday speech and do not sound formal; these are mainly words for concepts that no longer have Germanic words, and are generally assimilated better and in many cases do not appear Latinate. For instance, the words mountain, valley, river, aunt, uncle, move, use, push and stay are all Latinate.\n" +
-"\n" +
-"English is noted for the vast size of its active vocabulary and its fluidity.[citation needed][weasel words] English easily accepts technical terms into common usage and imports new words and phrases that often come into common usage. Examples of this phenomenon include: cookie, Internet and URL (technical terms), as well as genre, über, lingua franca and amigo (imported words/phrases from French, German, modern Latin, and Spanish, respectively). In addition, slang often provides new meanings for old words and phrases. In fact, this fluidity is so pronounced that a distinction often needs to be made between formal forms of English and contemporary usage. See also: sociolinguistics.\n" +
-"\n" +
-"Number of words in English\n" +
-"\n" +
-"English has an extraordinarily rich vocabulary and willingness to absorb new words. As the General Explanations at the beginning of the Oxford English Dictionary states:\n" +
-"\n" +
-" The Vocabulary of a widely diffused and highly cultivated living language is not a fixed quantity circumscribed by definite limits... there is absolutely no defining line in any direction: the circle of the English language has a well-defined centre but no discernible circumference.\n" +
-"\n" +
-"The vocabulary of English is undoubtedly vast, but assigning a specific number to its size is more a matter of definition than of calculation. Unlike other languages, there is no Academy to define officially accepted words. Neologisms are coined regularly in medicine, science and technology and other fields, and new slang is constantly developed. Some of these new words enter wide usage; others remain restricted to small circles. Foreign words used in immigrant communities often make their way into wider English usage. Archaic, dialectal, and regional words might or might not be widely considered as \"English\".\n" +
-"\n" +
-"The Oxford English Dictionary, 2nd edition (OED2) includes over 600,000 definitions, following a rather inclusive policy:\n" +
-"\n" +
-" It embraces not only the standard language of literature and conversation, whether current at the moment, or obsolete, or archaic, but also the main technical vocabulary, and a large measure of dialectal usage and slang (Supplement to the OED, 1933).[32]\n" +
-"\n" +
-"The editors of Webster's Third New International Dictionary, Unabridged (475,000 main headwords) in their preface, estimate the number to be much higher. It is estimated that about 25,000 words are added to the language each year.[33]\n" +
-"\n" +
-"Word origins\n" +
-"Influences in English vocabulary\n" +
-"Influences in English vocabulary\n" +
-"\n" +
-" Main article: Lists of English words of international origin\n" +
-"\n" +
-"One of the consequences of the French influence is that the vocabulary of English is, to a certain extent, divided between those words which are Germanic (mostly Old English) and those which are \"Latinate\" (Latin-derived, either directly from Norman French or other Romance languages).\n" +
-"\n" +
-"Numerous sets of statistics have been proposed to demonstrate the various origins of English vocabulary. None, as yet, are considered definitive by a majority of linguists.\n" +
-"\n" +
-"A computerised survey of about 80,000 words in the old Shorter Oxford Dictionary (3rd ed.) was published in Ordered Profusion by Thomas Finkenstaedt and Dieter Wolff (1973)[34] that estimated the origin of English words as follows:\n" +
-"\n" +
-" * Langue d'oïl, including French and Old Norman: 28.3%\n" +
-" * Latin, including modern scientific and technical Latin: 28.24%\n" +
-" * Other Germanic languages (including words directly inherited from Old English): 25%\n" +
-" * Greek: 5.32%\n" +
-" * No etymology given: 4.03%\n" +
-" * Derived from proper names: 3.28%\n" +
-" * All other languages contributed less than 1% (e.g. Arabic-English loanwords)\n" +
-"\n" +
-"A survey by Joseph M. Williams in Origins of the English Language of 10,000 words taken from several thousand business letters[35] gave this set of statistics:\n" +
-"\n" +
-" * French (langue d'oïl), 41%\n" +
-" * \"Native\" English, 33%\n" +
-" * Latin, 15%\n" +
-" * Danish, 2%\n" +
-" * Dutch, 1%\n" +
-" * Other, 10%\n" +
-"\n" +
-"However, 83% of the 1,000 most-common English words are Anglo-Saxon in origin. [36]\n" +
-"\n" +
-"Dutch origins\n" +
-"\n" +
-" Main article: List of English words of Dutch origin\n" +
-"\n" +
-"Words describing the navy, types of ships, and other objects or activities on the water are often from Dutch origin. Yacht (Jacht) and cruiser (kruiser) are examples.\n" +
-"\n" +
-"French origins\n" +
-"\n" +
-" Main article: List of French phrases used by English speakers\n" +
-"\n" +
-"There are many words of French origin in English, such as competition, art, table, publicity, police, role, routine, machine, force, and many others that have been and are being anglicised; they are now pronounced according to English rules of phonology, rather than French. A large portion of English vocabulary is of French or Oïl language origin, most derived from, or transmitted via, the Anglo-Norman spoken by the upper classes in England for several hundred years after the Norman Conquest.\n";
-
-
-var greek =
-"Ελλάδα\n" +
-"Από τη Βικιπαίδεια, την ελεύθερη εγκυκλοπαίδεια\n" +
-"Ελληνική Δημοκρατία\n" +
-" \n" +
-"Σημαία Εθνόσημο\n" +
-"Εθνικό σύνθημα: Ελευθερία ή Θάνατος\n" +
-"Εθνικός ύμνος: Ὕμνος εἰς τὴν Ἐλευθερίαν\n" +
-"\n" +
-"Πρωτεύουσα Αθήνα \n" +
-"38.01.36N 23.44.00E\n" +
-"\n" +
-"Μεγαλύτερη πόλη Αθήνα\n" +
-"Επίσημες γλώσσες Ελληνική\n" +
-"Πολίτευμα\n" +
-"\n" +
-"Πρόεδρος της Δημοκρατίας\n" +
-"Πρωθυπουργός Προεδρευόμενη\n" +
-"Κοινοβουλευτική Δημοκρατία\n" +
-"Κάρολος Παπούλιας\n" +
-"Κωνσταντίνος Καραμανλής\n" +
-"Ανεξαρτησία\n" +
-"- Κηρύχθηκε\n" +
-"- Αναγνωρίστηκε\n" +
-"\n" +
-"25 Μαρτίου, 1821\n" +
-"1828\n" +
-"Έκταση\n" +
-" - Σύνολο\n" +
-" - Νερό (%) \n" +
-"131.940 km² (94ηη)\n" +
-"%0.86\n" +
-"Πληθυσμός\n" +
-" - Εκτίμηση 2006\n" +
-" - Απογραφή 2001\n" +
-" - Πυκνότητα \n" +
-"11.120.000 [1] (72ηη)\n" +
-"10.964.020\n" +
-"83.1 κάτ./km² (87ηη)\n" +
-"Α.Ε.Π.\n" +
-" - Ολικό\n" +
-" - Κατά κεφαλή Εκτίμηση 2007\n" +
-"$305,595 δισ. (37η)\n" +
-"$27,360 (27η)\n" +
-"Νόμισμα Ευρώ\n" +
-"(€)\n" +
-"Ζώνη ώρας\n" +
-" - Θερινή ώρα (UTC+2)\n" +
-"(UTC+3)\n" +
-"Internet TLD .gr\n" +
-"Κωδικός κλήσης +30\n" +
-"Η Ελλάδα (αρχαΐζουσα: Ἑλλάς, επίσημα: Ελληνική Δημοκρατία), είναι χώρα στην νοτιοανατολική Ευρώπη, στο νοτιότερο άκρο της Βαλκανικής χερσονήσου, στην Ανατολική Μεσόγειο. Συνορεύει στην ξηρά, βόρεια με την Πρώην Γιουγκοσλαβική Δημοκρατία της Μακεδονίας και την Βουλγαρία, στα βορειοδυτικά με την Αλβανία και στα βορειοανατολικά με την Τουρκία. Βρέχεται ανατολικά από το Αιγαίο Πέλαγος, στα δυτικά και νότια από το Ιόνιο και από την Μεσόγειο Θάλασσα. Είναι το λίκνο του Δυτικού πολιτισμού. Η Ελλάδα έχει μια μακρά και πλούσια ιστορία κατά την οποία άσκησε μεγάλη πολιτισμική επίδραση σε τρεις ηπείρους.\n" +
-"Πίνακας περιεχομένων [Απόκρυψη]\n" +
-"1 Ιστορία\n" +
-"2 Πολιτικά\n" +
-"2.1 Κόμματα\n" +
-"2.2 Κυβέρνηση\n" +
-"3 Περιφέρειες\n" +
-"3.1 Βουνά της Ελλάδας\n" +
-"3.2 Λίμνες της Ελλάδας\n" +
-"3.3 Ποτάμια της Ελλάδας\n" +
-"3.4 Κλίμα\n" +
-"4 Οικονομία\n" +
-"5 Δημογραφία\n" +
-"6 Ένοπλες δυνάμεις και Σώματα ασφαλείας\n" +
-"6.1 Υποχρεωτική στράτευση\n" +
-"7 Πολιτισμός\n" +
-"7.1 Αργίες\n" +
-"8 Σημειώσεις\n" +
-"9 Δείτε επίσης\n" +
-"10 Εξωτερικές συνδέσεις\n" +
-"[Επεξεργασία]\n" +
-"Ιστορία\n" +
-"\n" +
-"Κύριο άρθρο: Ελληνική ιστορία\n" +
-"Στις ακτές του Αιγαίου Πελάγους εμφανίστηκαν οι πρώτοι πολιτισμοί της Ευρώπης, ο Μινωικός και ο Μυκηναϊκός. Την εποχή των πολιτισμών αυτών, ακολούθησε μία σκοτεινή περίοδος περίπου μέχρι το 800 π.Χ., οπότε εμφανίζεται ένας καινούριος Ελληνικός πολιτισμός, βασισμένος στο μοντέλο της πόλης-κράτους. Είναι ο πολιτισμός που θα διαδοθεί με τον αποικισμό των ακτών της Μεσογείου, θα αντισταθεί στην Περσική εισβολή με τους δύο επιφανέστερους εκπροσώπους του, την κοσμοπολίτικη και δημοκρατική Αθήνα και την μιλιταριστική και ολιγαρχική Σπάρτη, θα αποτελέσει τη βάση του Ελληνιστικού πολιτισμού που δημιούργησαν οι κατακτήσεις του Μεγάλου Αλεξάνδρου, θα επηρεάσει ως ένα βαθμό την πολιτισμική φυσιογνωμία της Βυζαντινής Αυτοκρατορίας και αργότερα θα πυροδοτήσει την Αναγέννηση στην Ευρώπη.\n" +
-"Στρατιωτικά έχανε δύναμη σε σύγκριση με τη Ρωμαϊκή αυτοκρατορία μέχρι που κατακτήθηκε τελικά από τους Ρωμαίους το 146 π.Χ., αν και ο Ελληνικός πολιτισμός τελικά κατέκτησε το Ρωμαϊκό τρόπο ζωής. Οι Ρωμαίοι αναγνώρισαν και θαύμασαν τον πλούτο του Ελληνικού πολιτισμού, τον μελέτησαν βαθιά και έγιναv συνειδητά συνεχιστές του. Διέσωσαν επίσης και μεγάλο μέρος της αρχαιοελληνικής γραμματείας. Αν και ήταν μόνο ένα μέρος της Ρωμαϊκής αυτοκρατορίας, ο ελληνικός πολιτισμός θα συνέχιζε να δεσπόζει στην Ανατολική Μεσόγειο, και όταν τελικά η Αυτοκρατορία χωρίστηκε στα δύο, η ανατολική ή Βυζαντινή Αυτοκρατορία με πρωτεύουσα την Κωνσταντινούπολη, θα είχε κυρίως λόγω γλώσσας έντονο τον ελληνικό χαρακτήρα. Από τον 4ο μέχρι τον 15ο αιώνα, η Ανατολική Ρωμαϊκή Αυτοκρατορία επέζησε επιθέσεις 11 αιώνων από δυτικά και ανατολικά, μέχρι που η Κωνσταντινούπολη έπεσε στις 29 Μαΐου του 1453 στα χέρια της Οθωμανικής Αυτοκρατορίας. Σταδιακά το Βυζάντιο κατακτήθηκε ολόκληρο μέσα στον 15ο αιώνα.\n" +
-"Η Οθωμανική κυριαρχία συνεχίστηκε μέχρι το 1821 που οι Έλληνες κήρυξαν την ανεξαρτησία τους. Η Ελληνική Επανάσταση του 1821 έληξε το 1828. Το 1830 αναγνωρίζεται η ανεξαρτησία του νέου ελληνικού κράτους. Εγκαθιδρύθηκε μοναρχία το 1833. Μέσα στον 19ο και τον πρώιμο 20ό αιώνα, η Ελλάδα προσπάθησε να προσαρτήσει στα εδάφη της όλες τις περιοχές που ακόμη ανήκαν στην Οθωμανική Αυτοκρατορία και είχαν Ελληνόφωνο πληθυσμό, πράγμα που κατάφερε εν μέρει, επεκτείνοντας σταδιακά την έκτασή της, μέχρι να φτάσει το σημερινό της μέγεθος το 1947.\n" +
-"Μετά τον Δεύτερο Παγκόσμιο Πόλεμο στην Ελλάδα ξέσπασε εμφύλιος πόλεμος μέχρι το 1949. Αργότερα, το 1952, η Ελλάδα έγινε μέλος του ΝΑΤΟ. Στις 21 Απριλίου του 1967 ο στρατός, υποβοηθούμενος από την κυβέρνηση των ΗΠΑ, πήρε την εξουσία με πραξικόπημα. Οι δικτατορες στη συνεχεια διαχωριστηκαν και απο τον βασιλια, τον εκδίωξαν απο την χώρα και κατήργησαν τη μοναρχία. Η στρατιωτική Χούντα υπήρξε η αιτία δημιουργίας, μετά από λανθασμένους χειρισμούς που εκμεταλλεύτηκε η Τουρκική πλευρά, του Κυπριακού ζητήματος, το οποίο οδήγησε στην κατάρρευσή της το 1974. Έπειτα από δημοψήφισμα για την κατάργηση της μοναρχίας στις 8 Δεκεμβρίου 1974 το πολίτευμα της Ελλάδας μετατράπηκε ξανά σε αβασίλευτη Δημοκρατία και συντάχθηκε νέο σύνταγμα από την πέμπτη Αναθεωρητική Βουλή που τέθηκε σε ισχύ στις 11 Ιουνίου 1975, το οποίο ισχύει σήμερα όπως αναθεωρήθηκε το 1986 και το 2001. Η Ελλάδα έγινε μέλος της Ευρωπαϊκής Ένωσης το 1981 και μέλος της Ευρωπαϊκής Οικονομικής και Νομισματικής Ένωσης (ΟΝΕ) γνωστής και ως ζώνης ευρώ, το 2001.\n" +
-"Ελληνική ιστορία \n" +
-"Κυκλαδικός πολιτισμός (3η χιλιετία π.Χ.)\n" +
-"Μινωικός πολιτισμός (3000-1450 π.Χ.)\n" +
-"Μυκηναϊκός πολιτισμός (1600-1100 π.Χ.)\n" +
-"Γεωμετρική εποχή (1100-800 π.Χ.)\n" +
-"Αρχαϊκή εποχή (800-500 π.Χ.)\n" +
-"Κλασική εποχή (500 π.Χ.- 323 π.Χ.)\n" +
-"Ελληνιστική εποχή (323-146 π.Χ.)\n" +
-"Ρωμαϊκή περίοδος (146 π.Χ.-330 μ.Χ.)\n" +
-"Βυζαντινή περίοδος (330-1453)\n" +
-"Οθωμανική περίοδος (1453-1821)\n" +
-"Νεότερη Ελλάδα (1821 έως σήμερα)\n" +
-"Σχετικά\n" +
-"Αρχαία ελληνική γραμματεία\n" +
-"Ελληνική γλώσσα\n" +
-"Ονομασίες Ελλήνων\n" +
-"\n" +
-"[Επεξεργασία]\n" +
-"Πολιτικά\n" +
-"\n" +
-"Το Σύνταγμα του 1975 περιέχει εκτενείς εγγυήσεις των ελευθεριών και των δικαιωμάτων του πολίτη, ελευθερίες και δικαιώματα που ενισχύθηκαν περαιτέρω με την αναθεώρηση του 2001. Είναι χαρακτηριστικό ότι κατά την αναθεώρηση αυτή κατοχυρώθηκαν, για πρώτη φορά συνταγματικά, πέντε ανεξάρτητες αρχές, οι τρεις εκ των οποίων (Συνήγορος του Πολίτη, Αρχή Διασφάλισης Ατομικών Δικαιωμάτων και Αρχή Προστασίας Προσωπικών Δεδομένων) είναι ταγμένες στην προστασία και διασφάλιση των ατομικών δικαιωμάτων. Η Ελλάδα είναι επίσης μέλος της Ευρωπαϊκής Σύμβασης για τα Δικαιώματα του Ανθρώπου.\n" +
-"Σε πολιτειακό και οργανωτικό επίπεδο, το Σύνταγμα διακρίνει τρεις εξουσίες: τη νομοθετική, την εκτελεστική και τη δικαστική. Στη νομοθετική μετέχουν ο Πρόεδρος της Δημοκρατίας και η Βουλή· στην εκτελεστική ο Πρόεδρος της Δημοκρατίας και η Κυβέρνηση, ενώ η δικαστική εξουσία ασκείται από τα δικαστήρια στο όνομα του ελληνικού λαού.\n" +
-"Ο Πρόεδρος της Δημοκρατίας, ιεραρχικά, βρίσκεται στην κορυφή της εκτελεστικής εξουσίας, μετέχει στη νομοθετική με τη δημοσίευση των νόμων και τη δυνατότητα αναπομπής ψηφισμένου νομοσχεδίου, ενώ ορίζεται από το Σύνταγμα ως ρυθμιστής του πολιτεύματος [2] . Εκλέγεται έμμεσα από τη Βουλή με διαδοχικές ψηφοφορίες των μελών της, στις οποίες επιδιώκεται η εξασφάλιση πλειοψηφίας 2/3, σε πρώτη φάση, και 3/5, σε δεύτερη, του συνόλου των μελών της. Σε περίπτωση αποτυχίας συγκέντρωσης των ανωτέρω πλειοψηφιών, διαλύεται η Βουλή, προκηρύσσονται εκλογές και η νέα Βουλή εκλέγει τον Πρόεδρο της Δημοκρατίας με την απόλυτη πλειοψηφία των μελών της, ή και με σχετική αν δεν συγκεντρωθεί η απόλυτη πλειοψηφία. Οι εξουσίες του Προέδρου είναι περιορισμένες καθώς ασκεί, κυρίως, τελετουργικά καθήκοντα. Όλες, σχεδόν, οι πράξεις του, χρήζουν προσυπογραφής από τον Πρωθυπουργό ή άλλο μέλος της Κυβέρνησης (υπουργό), όπως, π.χ., τα προεδρικά διατάγματα. Από την υποχρέωση προσυπογραφής εξαιρούνται ρητά ελάχιστες πράξεις του Προέδρου που προβλέπονται από το Σύνταγμα, όπως ο διορισμός των υπαλλήλων της Προεδρίας της Δημοκρατίας. Η θητεία του είναι πενταετής με δικαίωμα επανεκλογής για μία ακόμη φορά.\n" +
-"Η νομοθετική εξουσία ασκείται από τη Βουλή, τα μέλη της οποίας εκλέγονται με καθολική μυστική ψηφοφορία για τετραετή θητεία. Εκλογές μπορεί να κηρυχθούν νωρίτερα για έκτακτους λόγους, όπως αυτοί ορίζονται στο Σύνταγμα. Μετά, πάντως, το 1975 η προκήρυξη πρόωρων εκλογών αποτελεί τον κανόνα, με την επίκληση, συνήθως, από τις απερχόμενες κυβερνήσεις ιδιαζούσης σημασίας εθνικού θέματος. Η Ελληνική Δημοκρατία χρησιμοποιεί για την ανάδειξη των βουλευτών ένα σύνθετο ενδυναμωμένο εκλογικό σύστημα αναλογικής εκπροσώπησης (ενισχυμένη αναλογική), που αποθαρρύνει τη δημιουργία πολυκομματικών Κυβερνήσεων συνεργασίας και επιτρέπει ισχυρή κυβέρνηση πλειοψηφίας, ακόμα και αν το πρώτο κόμμα υστερεί της πλειοψηφίας των ψήφων. Για να μπορεί να καταλάβει μία από τις 300 βουλευτικές έδρες ένα κόμμα, πρέπει να έχει λάβει τουλάχιστον το 3% του συνόλου των ψήφων, ενώ με τον εκλογικό νόμο, που θα εφαρμοστεί, για πρώτη φορά, στις μετά το 2004 βουλευτικές εκλογές, το πρώτο κόμμα εξασφαλίζει απόλυτη πλειοψηφία στη Βουλή με ποσοστό 41%.\n" +
-"Η εκτελεστική εξουσία ασκείται από την Κυβέρνηση, κεφαλή της οποίας είναι ο Πρωθυπουργός, το ισχυρότερο πρόσωπο του ελληνικού πολιτικού συστήματος. Η Κυβέρνηση καθορίζει και κατευθύνει τη γενική πολιτική της Χώρας [3], εφαρμόζει την πολιτική, που εγκρίνει μέσω των νομοθετικών πράξεων η Βουλή, αλλά ταυτόχρονα μετέχει στη νομοπαρασκευαστική διαδικασία, μέσω της σύνταξης και της προώθησης προς ψήφιση των νομοσχεδίων. Η Κυβέρνηση με βάση την αρχή της δεδηλωμένης οφείλει να απολαύει της εμπιστοσύνης της Βουλής, να έχει λάβει δηλαδή ψήφο εμπιστοσύνης από την πλειοψηφία των Βουλευτών. Στα πλαίσια δε της σύγχρονης κομματικής δημοκρατίας, η Κυβέρνηση κυριαρχεί και στη νομοθετική λειτουργία, καθώς προέρχεται από το Κόμμα που ελέγχει την πλειοψηφία του Κοινοβουλίου, καθιστώντας, έτσι, την ψήφιση των νόμων μια τυπική, κατά κανόνα, διαδικασία. Λόγω δε της συχνής έως καταχρηστικής επίκλησης της κομματικής πειθαρχίας, η δυνατότητα διαφωνίας κυβερνητικού βουλευτή με την Κυβέρνηση που στηρίζει θεωρείται σπάνιο φαινόμενο. Σε έκτακτες περιπτώσεις μπορεί η Κυβέρνηση να εκδίδει Πράξεις Νομοθετικού Περιεχομένου. Οι Π.Ν.Π. έχουν ισχύ νόμου και οφείλουν να εγκριθούν εντός 40 ημερών από τη Βουλή.\n" +
-"Ο Πρωθυπουργός αποτελεί την κεφαλή της κυβέρνησης και, με βάση το Σύνταγμα, είναι, συνήθως (αν και όχι απαραίτητα), ο αρχηγός του έχοντος την απόλυτη πλειοψηφία στη Βουλή κυβερνώντος κόμματος. Βάσει του άρθρου 82 του Συντάγματος, \"ο Πρωθυπουργός εξασφαλίζει την ενότητα της Κυβέρνησης και κατευθύνει τις ενέργειές της, καθώς και των δημοσίων γενικά υπηρεσιών για την εφαρμογή της κυβερνητικής πολιτικής μέσα στο πλαίσιο των νόμων\" [3]. Οι βασικότερες εξουσίες του είναι οι εξής:\n" +
-"Προεδρεύει του Υπουργικού Συμβουλίου, στο οποίο μετέχει μαζί με τους Υπουργούς.\n" +
-"Με δέσμια πρόταση του διορίζονται και παύονται από τον Πρόεδρο της Δημοκρατίας οι υπουργοί και οι υφυπουργοί της Κυβέρνησης.\n" +
-"Καθορίζει με τον οικείο Υπουργό τις αρμοδιότητες των υφυπουργών.\n" +
-"Προΐσταται τεσσάρων αυτοτελών υπηρεσιών και γραμματειών: του Πολιτικού Γραφείου του Πρωθυπουργού, της Γραμματείας της Κυβερνήσεως, της Κεντρικής Νομοπαρασκευαστικής Επιτροπής και της Γενικής Γραμματείας Τύπου.\n" +
-"Δίνει άδεια για τη δημοσίευση στην Εφημερίδα της Κυβερνήσεως οποιουδήποτε κειμένου πρέπει, κατά το νόμο, να καταχωρισθεί σε αυτήν.\n" +
-"[Επεξεργασία]\n" +
-"Κόμματα\n" +
-"Περισσότερα: Κατάλογος ελληνικών πολιτικών κομμάτων\n" +
-"Μετά την αποκατάσταση της Δημοκρατίας το 1974 (μεταπολίτευση) το πολιτικό σύστημα κυριαρχείται από το φιλελεύθερο κόμμα της Νέας Δημοκρατίας και το σοσιαλιστικό ΠΑΣΟΚ (Πανελλλήνιο Σοσιαλιστικό Κίνημα). Άλλα κόμματα είναι το Κομμουνιστικό Κόμμα Ελλάδας, ο Συνασπισμός της Αριστεράς και ο ΛΑ.Ο.Σ..\n" +
-"[Επεξεργασία]\n" +
-"Κυβέρνηση\n" +
-"Περισσότερα: Κυβέρνηση της Ελλάδας\n" +
-"Στις εκλογές της 7 Μαρτίου 2004, πρωθυπουργός εκλέχθηκε ο Κωνσταντίνος Α. Καραμανλής, πρόεδρος της Νέας Δημοκρατίας. Ήταν η πρώτη εκλογική νίκη του κόμματος μετά από 11 χρόνια. Ο Καραμανλής αντικατέστησε τον Κωνσταντίνο Σημίτη και σχημάτισε δική του κυβέρνηση. Οι επόμενες βουλευτικές εκλογές προβλέπονταν από το Σύνταγμα για το 2008, όμως διεξήχθησαν πρόωρα στις 16 Σεπτεμβρίου 2007. Τις εκλογές της 16ης κέρδισε ξανά η ΝΔ. Η Νέα βουλή είναι η πρώτη πεντακομματική Βουλή τα τελευταία χρόνια και σε αυτή συμμετέχουν η ΝΔ το ΠΑΣΟΚ, το ΚΚΕ, ο ΣΥ.ΡΙ.ΖΑ και το ΛΑ.Ο.Σ. Συγκεκριμένα η ΝΔ εξασφάλισε το 41.83% και 152 από τις 300 Έδρες. Το ΠΑΣΟΚ εξασφάλισε το 38.10 % και 102 Έδρες. Το Κ.Κ.Ε εξασφάλισε το 8.15% και 22 έδρες. Ο ΣΥ.ΡΙ.ΖΑ εξασφάλισε το 5.04% και 14 έδρες και τέλος το ΛΑ.Ο.Σ εξασφάλισε το 3.80% κερδίζοντας 10 έδρες.\n" +
-"[Επεξεργασία]\n" +
-"Περιφέρειες\n" +
-"\n" +
-"Κύριο άρθρο: Περιφέρειες της Ελλάδας\n" +
-"Η Ελλάδα χωρίζεται σε 13 διοικητικές περιοχές γνωστές σαν Περιφέρειες, που διαχωρίζονται περαιτέρω σε 51 Νομούς:\n" +
-"Αττική\n" +
-"Αττική\n" +
-"Στερεά Ελλάδα\n" +
-"Εύβοια\n" +
-"Ευρυτανία\n" +
-"Φωκίδα\n" +
-"Φθιώτιδα\n" +
-"Βοιωτία\n" +
-"Κεντρική Μακεδονία\n" +
-"Χαλκιδική\n" +
-"Ημαθία\n" +
-"Κιλκίς\n" +
-"Πέλλα\n" +
-"Πιερία\n" +
-"Σέρρες\n" +
-"Θεσσαλονίκη\n" +
-"Κρήτη\n" +
-"Χανιά\n" +
-"Ηράκλειο\n" +
-"Λασίθι\n" +
-"Ρέθυμνο\n" +
-"Ανατολική Μακεδονία και Θράκη\n" +
-"Καβάλα\n" +
-"Δράμα\n" +
-"Ξάνθη\n" +
-"Ροδόπη\n" +
-"Έβρος\n" +
-"Ήπειρος\n" +
-"Άρτα\n" +
-"Ιωάννινα\n" +
-"Πρέβεζα\n" +
-"Θεσπρωτία\n" +
-"Ιόνια νησιά\n" +
-"Κέρκυρα\n" +
-"Κεφαλονιά\n" +
-"Λευκάδα\n" +
-"Ζάκυνθος\n" +
-"Βόρειο Αιγαίο\n" +
-"Χίος\n" +
-"Λέσβος\n" +
-"Σάμος - Ικαρία\n" +
-"Πελοπόννησος\n" +
-"Αρκαδία\n" +
-"Αργολίδα\n" +
-"Κορινθία\n" +
-"Λακωνία\n" +
-"Μεσσηνία\n" +
-"Νότιο Αιγαίο\n" +
-"Κυκλάδες\n" +
-"Δωδεκάνησα\n" +
-"Θεσσαλία\n" +
-"Καρδίτσα\n" +
-"Λάρισα\n" +
-"Μαγνησία\n" +
-"Τρίκαλα\n" +
-"Δυτική Ελλάδα\n" +
-"Αχαΐα\n" +
-"Αιτωλοακαρνανία\n" +
-"Ηλεία\n" +
-"Δυτική Μακεδονία\n" +
-"Φλώρινα\n" +
-"Γρεβενά\n" +
-"Καστοριά\n" +
-"Κοζάνη\n" +
-"Επιπλέον, στη Μακεδονία υπάρχει μία αυτόνομη περιοχή, το Άγιο Όρος, μία μοναστική πολιτεία υπό Ελληνική κυριαρχία. Οι νομοί χωρίζονται σε 147 επαρχίες, που διαιρούνται σε 900 δήμους και 133 κοινότητες. Πριν το 1999, υπήρχαν 5.775 οργανισμοί τοπικής αυτοδιοίκησης: 361 δήμοι και 5.560 κοινότητες, υποδιαιρούμενες σε 12.817 οικισμούς\n" +
-"\n" +
-"\n" +
-"\n" +
-"Αλβανία\n" +
-"\n" +
-"П.Γ.Δ.Μ.\n" +
-"\n" +
-"Βουλγαρία\n" +
-"'\n" +
-"\n" +
-"Τουρκία\n" +
-"\n" +
-"EΛΛAΣ\n" +
-"AΘHNA\n" +
-"Θεσσαλονίκη\n" +
-"Καβάλα\n" +
-"Αλεξανδρούπολη\n" +
-"Κέρκυρα\n" +
-"Ηγουμενίτσα\n" +
-"Λάρισα\n" +
-"Βόλος\n" +
-"Ιωάννινα\n" +
-"Χαλκίδα\n" +
-"Πάτρα\n" +
-"Πειραιάς\n" +
-"Ελευσίνα\n" +
-"Λαύριο\n" +
-"Ηράκλειο\n" +
-"Μ α κ ε δ ο ν ί α\n" +
-"Θράκη\n" +
-"Ήπειρος\n" +
-"Θεσσαλία\n" +
-"Στερεά Ελλάδα\n" +
-"Πελοπόννησος\n" +
-"Όλυμπος (2917m)\n" +
-"Λευκάδα\n" +
-"Κεφαλονιά\n" +
-"Λήμνος\n" +
-"Λέσβος\n" +
-"Χίος\n" +
-"Σάμος\n" +
-"Τήνος\n" +
-"Ικαρία\n" +
-"Νάξος\n" +
-"Σαντορίνη\n" +
-"Κως\n" +
-"Ρόδος\n" +
-"Κάρπαθος\n" +
-"Κύθηρα\n" +
-"Γαύδος\n" +
-"Αιγαίον\n" +
-"Πέλαγος\n" +
-"Μυρτώον\n" +
-"Πέλαγος\n" +
-"Κρητικόν Πέλαγος\n" +
-"Ιόνιον\n" +
-"Πέλαγος\n" +
-"Μεσόγειος\n" +
-"Θάλασσα\n" +
-"Κρήτη\n" +
-"[Επεξεργασία]\n" +
-"Βουνά της Ελλάδας\n" +
-"Κύριο άρθρο: Κατάλογος βουνών της Ελλάδας\n" +
-"Περίπου το 80% του εδάφους της χώρας είναι ορεινό ή λοφώδες. Μεγάλο μέρος του είναι ξηρό και βραχώδες, μόνο 28% του εδάφους είναι καλλιεργήσιμο.\n" +
-"Όλυμπος 2917 μ. Θεσσαλία, Κεντρική Μακεδονία (Λάρισα, Πιερία)\n" +
-"Σμόλικας 2637 μ. Βόρεια Πίνδος (Ιωάννινα)\n" +
-"Βόρας 2524 μ. Κεντρική Μακεδονία (Πέλλα, Φλώρινα, Π.Γ.Δ.Μ.)\n" +
-"Γράμος 2520 μ. Δυτική Μακεδονία (Καστοριά, Ιωάννινα, Αλβανία)\n" +
-"Γκιώνα 2510 μ. Στερεά (Φωκίδα)\n" +
-"Τύμφη 2497 μ. Βόρεια Πίνδος (Ιωάννινα)\n" +
-"Βαρδούσια 2495 μ. Στερεά (Φωκίδα)\n" +
-"Αθαμανικά όρη 2469 μ. Νότια Πίνδος (Άρτα)\n" +
-"Παρνασσός 2457 μ. Στερεά (Φωκίδα, Φθιώτιδα)\n" +
-"Ψηλορείτης 2456 μ. Κρήτη (Ηράκλειο)\n" +
-"\n" +
-"\n" +
-"\n" +
-"\n" +
-"Η χώρα αποτελείται από ένα μεγάλο ηπειρωτικό τμήμα, το νότιο άκρο των Βαλκανίων, ενωμένο με την πρώην ηπειρωτική Πελοπόννησο, από τον Ισθμό της Κορίνθου, και το Ιόνιο και Αιγαίο πέλαγος. Η Πελοπόννησος πλέον μετά την κατασκευή της διώρυγας της Κορίνθου είναι στην πραγματικότητα νησί. Το Αιγαίο περιέχει πολυάριθμα νησιά, ανάμεσά τους τη Ρόδο, την Εύβοια, τη Λέσβο και τα συμπλέγματα των Κυκλάδων και Δωδεκανήσων. 180 χιλιόμετρα νότια των ακτών δεσπόζει η Κρήτη, το πέμπτο μεγαλύτερο νησί της Μεσογείου. Η Ελλάδα έχει μήκος ακτών 15.021 χιλιόμετρα, που θεωρείται εξαιρετικά μεγάλο, και οφείλεται στον πλούσιο οριζόντιο εδαφικό διαμελισμό, καθώς και στο πλήθος των αναρίθμητων νησιών, τα οποία είναι πάνω από 1500. Έχει μήκος συνόρων που πλησιάζει τα 1.181 χιλιόμετρα.\n" +
-"\n" +
-"\n" +
-"Δορυφορική εικόνα της Ελλάδας\n" +
-"Κύριο άρθρο: Γεωγραφία της Ελλάδας\n" +
-"[Επεξεργασία]\n" +
-"Λίμνες της Ελλάδας\n" +
-"Κύριο άρθρο: Κατάλογος λιμνών της Ελλάδας\n" +
-"Η Ελλάδα έχει αρκετές λίμνες, οι περισσότερες των οποίων βρίσκονται στο ηπειρωτικό της τμήμα. Οι μεγαλύτερες λίμνες στην ελληνική επικράτεια είναι:\n" +
-"Τριχωνίδα 96.513 τ.χλμ.\n" +
-"Βόλβη 75.600 τ.χλμ\n" +
-"Λίμνη Βεγορίτιδα 72.488 τ.χλμ\n" +
-"Λίμνη Βιστονίδα 45.625 τ.χλμ\n" +
-"Λίμνη Κορώνεια 42.823 τ.χλμ\n" +
-"Μικρή Πρέσπα (ελληνικό τμήμα) 43.122 τ.χλμ\n" +
-"Μεγάλη Πρέσπα (ελληνικό τμήμα) 38.325 τ.χλμ\n" +
-"Κερκίνη 37.688 τ.χλμ\n" +
-"Υπάρχουν επίσης και αρκετές τεχνητές λίμνες κυρίως για παραγωγή ηλεκτρικού ρεύματος, όπως η Λίμνη Κρεμαστών (68.531 τ.χλμ) και η Λίμνη Πολυφύτου (56.793 τ.χλμ).\n" +
-"\n" +
-"[Επεξεργασία]\n" +
-"Ποτάμια της Ελλάδας\n" +
-"Αρκετά ποτάμια διαρρέουν την Ελλάδα, από τα οποίο κανένα δεν είναι πλεύσιμο. Μερικά από τα μεγαλύτερα, τα Δέλτα που σχηματίζουν στην εκροή τους προς την θάλασσα αποτελούν σημαντικούς υγροβιότοπους, όπως αυτοί του Αλιάκμονα και του Έβρου. Ποταμοί όπως ο Πηνειός στην Θεσσαλία, υδροδοτούν μεγάλες γεωργικές εκτάσεις με την βοήθεια καναλιών, ενώ σε άλλα έχουν δημιουργηθεί τεχνητές λίμνες για την λειτουργία υδροηλεκτρικών εργοστασίων. Ένα αμφιλεγόμενο για οικολογικούς λόγους σχέδιο των τελευταίων δεκαετιών, είναι η εκτροπή του Αχελώου από τη νότια Πίνδο για την αντιμετώπιση του υδατικού προβλήματος της Θεσσαλίας.\n" +
-"Ακολουθεί κατάλογος των μεγαλύτερων σε μήκος ποταμών της Ελλάδας. Το μήκος που αναγράφεται είναι αυτό που διατρέχει την ελληνική επικράτεια.\n" +
-"Αλιάκμονας 297 χλμ.\n" +
-"Αχελώος 220 χλμ.\n" +
-"Πηνειός (Θεσσαλίας) 205 χλμ.\n" +
-"Έβρος [4] 204 χλμ.\n" +
-"Νέστος [4] 130 χλμ.\n" +
-"Στρυμόνας [4] 118 χλμ.\n" +
-"Θύαμις (Καλαμάς) 115 χλμ.\n" +
-"Αλφειός 110 χλμ.\n" +
-"Άραχθος 110 χλμ.\n" +
-"[Επεξεργασία]\n" +
-"Κλίμα\n" +
-"Η Ελλάδα χαρακτηρίζεται από τον μεσογειακό τύπο του εύκρατου κλίματος και έχει ήπιους υγρούς χειμώνες και ζεστά ξηρά καλοκαίρια. Το κλίμα της χώρας μπορεί να διαιρεθεί σε τέσσερις βασικές κατηγορίες:\n" +
-"- υγρό μεσογειακό (δυτική Ελλάδα, δυτική Πελοπόννησος, πεδινά και ημιορεινά της Ηπείρου) - ξηρό μεσογειακό (Κυκλάδες, παραλιακή Κρήτη, Δωδεκάνησα, ανατολική Πελοπόννησος, Αττική, πεδινές περιοχές Ανατολικής Στερεάς) - ηπειρωτικό (δυτική Μακεδονία, εσωτερικά υψίπεδα ηπειρωτικής Ελλάδας, βόρειος Έβρος) - ορεινό (ορεινές περιοχές με υψόμετρο περίπου >1500μ στη βόρεια Ελλάδα, >1800μ στην κεντρική Ελλάδα και >2000μ στην Κρήτη).\n" +
-"Οι θερμοκρασίες είναι σπάνια υπερβολικές στις παραθαλάσσιες περιοχές. Στις κλειστές εσωτερικές πεδιάδες και στα υψίπεδα της χώρας παρατηρούνται τα μεγαλύτερα θερμοκρασιακά εύρη -τόσο ετήσια όσο και ημερήσια. Οι χιονοπτώσεις είναι κοινές στα ορεινά από τα τέλη Σεπτεμβρίου (στη βόρεια Ελλάδα, τέλη Οκτωβρίου κατά μέσο όρο στην υπόλοιπη χώρα), ενώ στις πεδινές περιοχές χιονίζει κυρίως από τον Δεκέμβριο μέχρι τα μέσα Μαρτίου. Έχει χιονίσει, πάντως, ακόμα και κατά μήνα Μάιο στη Φλώρινα. Στις παραθαλάσσιες περιοχές των νησιωτικών περιοχών, οι χιονοπτώσεις συμβαίνουν σπανιότερα και δεν αποτελούν βασικό χαρακτηριστικό του κλίματος. Η πόλη της Ρόδου έχει μέσο όρο 0,0 μέρες χιονόπτωσης το χρόνο. Οι καύσωνες επηρεάζουν κυρίως τις πεδινές περιοχές και είναι κοινότεροι τον Ιούλιο και τον Αύγουστο. Σπάνια, πάντως, διαρκούν περισσότερες από 3 μέρες.\n" +
-"Η Ελλάδα βρίσκεται μεταξύ των παραλλήλων 34ου και 42oυ του βορείου ημισφαιρίου και έχει μεγάλη ηλιοφάνεια όλο σχεδόν το χρόνο. Λεπτομερέστερα στις διάφορες περιοχές της Ελλάδας παρουσιάζεται μια μεγάλη ποικιλία κλιματικών τύπων, πάντα βέβαια μέσα στα πλαίσια του μεσογειακού κλίματος. Αυτό οφείλεται στην τοπογραφική διαμόρφωση της χώρας που έχει μεγάλες διαφορές υψομέτρου (υπάρχουν μεγάλες οροσειρές κατά μήκος της κεντρικής χώρας και άλλοι ορεινοί όγκοι) και εναλλαγή ξηράς και θάλασσας. Έτσι από το ξηρό κλίμα της Αττικής και γενικά της ανατολικής Ελλάδας μεταπίπτουμε στο υγρό της βόρειας και δυτικής Ελλάδας. Τέτοιες κλιματικές διαφορές συναντώνται ακόμη και σε τόπους που βρίσκονται σε μικρή απόσταση μεταξύ τους, πράγμα που παρουσιάζεται σε λίγες μόνο χώρες σε όλο τον κόσμο.\n" +
-"Από κλιματολογικής πλευράς το έτος μπορεί να χωριστεί κυρίως σε δύο εποχές: Την ψυχρή και βροχερή χειμερινή περίοδο που διαρκεί από τα μέσα του Οκτωβρίου και μέχρι το τέλος Μαρτίου και τη θερμή και άνομβρη εποχή που διαρκεί από τον Απρίλιο έως τον Οκτώβριο.\n" +
-"Κατά την πρώτη περίοδο οι ψυχρότεροι μήνες είναι ο Ιανουάριος και ο Φεβρουάριος, όπου κατά μέσον όρο η μέση ελάχιστη θερμοκρασία κυμαίνεται από 5-10 °C στις παραθαλάσσιες περιοχές, από 0-5 °C στις ηπειρωτικές περιοχές και σε χαμηλότερες τιμές κάτω από το μηδέν στις βόρειες περιοχές.\n" +
-"Οι βροχές ακόμη και τη χειμερινή περίοδο δεν διαρκούν για πολλές ημέρες και ο ουρανός της Ελλάδας δεν μένει συννεφιασμένος για αρκετές συνεχόμενες ημέρες, όπως συμβαίνει σε άλλες περιοχές της γης. Οι χειμερινές κακοκαιρίες διακόπτονται συχνά κατά τον Ιανουάριο και το πρώτο δεκαπενθήμερο του Φεβρουαρίου από ηλιόλουστες ημέρες, τις γνωστές από την αρχαιότητα Αλκυονίδες ημέρες.\n" +
-"Η χειμερινή εποχή είναι γλυκύτερη στα νησιά του Αιγαίου και του Ιονίου από ό,τι στη Βόρεια και Ανατολική ηπειρωτική Ελλάδα. Κατά τη θερμή και άνομβρη εποχή ο καιρός είναι σταθερός, ο ουρανός σχεδόν αίθριος, ο ήλιος λαμπερός και δεν βρέχει εκτός από σπάνια διαστήματα με ραγδαίες βροχές ή καταιγίδες μικρής γενικά διάρκειας.\n" +
-"Η θερμότερη περίοδος είναι το τελευταίο δεκαήμερο του Ιουλίου και το πρώτο του Αυγούστου οπότε η μέση μεγίστη θερμοκρασία κυμαίνεται από 29 °C μέχρι 35 °C. Κατά τη θερμή εποχή οι υψηλές θερμοκρασίες μετριάζονται από τη δροσερή θαλάσσια αύρα στις παράκτιες περιοχές της χώρας και από τους βόρειους ανέμους (ετησίες) που φυσούν κυρίως στο Αιγαίο.\n" +
-"Η άνοιξη έχει μικρή διάρκεια, διότι ο μεν χειμώνας είναι όψιμος, το δε καλοκαίρι αρχίζει πρώιμα. Το φθινόπωρο είναι μακρύ και θερμό και πολλές φορές παρατείνεται στη νότια Ελλάδα μέχρι τα μισά του Δεκεμβρίου.\n" +
-"[Επεξεργασία]\n" +
-"Οικονομία\n" +
-"\n" +
-"Κύριο άρθρο: Οικονομία της Ελλάδας\n" +
-"Η Ελλάδα έχει μικτή καπιταλιστική οικονομία, με τον δημόσιο τομέα να συνεισφέρει περίπου στο μισό του Α.Ε.Π.. Ο Τουρισμός αποτελεί μία πολύ σημαντική βιομηχανία, που συνεισφέρει κι αυτή σε μεγάλο ποσοστό του Α.Ε.Π., και επίσης αποτελεί πηγή συναλλάγματος. Το 2004 η μεγαλύτερη βιομηχανία στην Ελλάδα με έσοδα γύρω στα 12 δισ. ευρώ ήταν η συνήθως σχετικά αφανής ναυτιλία.\n" +
-"Η οικονομία βελτιώνεται σταθερά τα τελευταία χρόνια, καθώς η κυβέρνηση εφάρμοσε αποτελεσματική οικονομική πολιτική, στην προσπάθεια της ένταξης της Ελλάδας στην ζώνη του ευρώ, την 1 Ιανουαρίου 2001. Παράγων που σίγουρα βοήθησε σε αυτήν την πορεία είναι ότι η Ελλάδα είναι αποδέκτης οικονομικής βοήθειας από την Ευρωπαϊκή Ένωση, ίσης περίπου με το 3,3% του Α.Ε.Π. Η συνέχιση τόσο γενναιόδωρων ενισχύσεων από την Ε.Ε. όμως είναι υπό αμφισβήτηση. Η διεύρυνση της Ευρωπαϊκής Ένωσης με την είσοδο χωρών πολύ φτωχότερων από την Ελλάδα σε συνδυασμό με την ανοδική πορεία της ελληνικής οικονομίας θα βγάλει πιθανότατα πολλές περιοχές από τον λεγόμενο Στόχο 1 του Κοινοτικού Πλαισίου Στήριξης στον οποίο κατευθύνονται και οι περισσότερες επιδοτήσεις και στον οποίο ανήκουν περιοχές με Α.Ε.Π. κατά κεφαλήν μικρότερο του 75% του ευρωπαϊκού μέσου όρου. Με τα στοιχεία του 2003 από τον Στόχο 1 έχουν βγει οι εξής περιοχές: Αττική, Νότιο Αιγαίο, Στερεά Ελλάδα, Κεντρική Μακεδονία, Βόρειο Αιγαίο και οριακά η Πελοπόννησος.\n" +
-"Μεγάλες προκλήσεις παραμένουν, η μείωση της ανεργίας και η περαιτέρω ανοικοδόμηση της οικονομίας μέσω και της ιδιωτικοποίησης διαφόρων μεγάλων κρατικών εταιρειών, η αναμόρφωση της κοινωνικής ασφάλισης, διόρθωση του φορολογικού συστήματος, και η ελαχιστοποίηση των γραφειοκρατικών αδυναμιών. Η ανάπτυξη υπολογίζεται σε 3,9% για το 2004.\n" +
-"Η εθνική κεντρική τράπεζα του κράτους της Ελλάδας είναι η Τράπεζα της Ελλάδος (ΤτΕ), η οποία όμως έχει παραχωρήσει τις περισσότερες αρμοδιότητές της στην Ευρωπαϊκή Κεντρική Τράπεζα (Ε.Κ.Τ.), μετά την είσοδό της στην ζώνη του ευρώ το 2001.\n" +
-"[Επεξεργασία]\n" +
-"Δημογραφία\n" +
-"\n" +
-"Κύριο άρθρο: Δημογραφία της Ελλάδας\n" +
-"Άρθρο βασικών αποτελεσμάτων απογραφής: Απογραφή 2001\n" +
-"Σύμφωνα με την τελευταία απογραφή (2001)[5] ο μόνιμος πληθυσμός της χώρας είναι 10.934.097 κ. Την ημέρα της απογραφής, στη χώρα βρέθηκαν και απογράφηκαν (πραγματικός πληθυσμός) 10.964.020 κ.\n" +
-"Η Διεθνής Έκθεση για τις Θρησκευτικές Ελευθερίες που συντάσσει κάθε έτος το Υπουργείο Εξωτερικών των Ηνωμένων Πολιτειών, αναφέρει το 2005: «Περίπου 97% των πολιτών αυτοπροσδιορίζονται, τουλάχιστον κατ’ όνομα, ως Ελληνoρθόδοξοι. Υπάρχουν περίπου 500.000-800.000 παλαιοημερολογίτες σε ολόκληρη τη χώρα – υπερ-συντηρητικοί Ορθόδοξοι, οι οποίοι χρησιμοποιούν το Ιουλιανό ημερολόγιο και είναι αφοσιωμένοι στις παραδοσιακές Ελληνορθόδοξες πρακτικές. Η κυβέρνηση δεν τηρεί στατιστικά στοιχεία για τις θρησκευτικές ομάδες. Κατά τη διάρκεια των απογραφών πληθυσμού, οι κάτοικοι δεν ερωτώνται για το θρησκευτικό τους πιστεύω. Οι αρχές υπολογίζουν ότι η Τουρκόφωνη Μουσουλμανική κοινότητα αριθμεί 98.000 άτομα, αλλά, άλλοι υπολογίζουν ότι ο αριθμός αυτός ανέρχεται σε 140.000 άτομα. Τα περισσότερα χριστιανικά μη Ορθόδοξα δόγματα συναπαρτίζονται κατά κύριο λόγο από γηγενείς Έλληνες. Οι Μάρτυρες του Ιεχωβά αναφέρουν ότι έχουν 30.000 περίπου ενεργά μέλη και 50.000 άτομα που έχουν προσχωρήσει στην πίστη. Οι Καθολικοί υπολογίζονται σε 50.000. Οι Προτεστάντες, συμπεριλαμβανόμενων των Ευαγγελιστών, είναι 30.000, και οι οπαδοί της Εκκλησίας του Ιησού Χριστού των Αγίων των Τελευταίων Ημερών (Μορμόνοι) 300. Οι Σαϊεντολόγοι ισχυρίζονται ότι έχουν 500 ενεργά εγγεγραμμένα μέλη. Η από αιώνων υπάρχουσα Εβραϊκή κοινότητα αριθμεί περίπου 5.000 πιστούς, από τους οποίους 2.000 υπολογίζεται ότι διαμένουν στη Θεσσαλονίκη. Περίπου 250 μέλη της κοινότητας των Μπαχάι είναι διασκορπισμένα στην χώρα, τα περισσότερα των οποίων δεν είναι πολίτες ελληνικής καταγωγής. Η αρχαία Ελληνική Θρησκεία του Δωδεκαθέου έχει περίπου 2.000 μέλη. Υπάρχουν ακόμα μικρές ομάδες Αγγλικανών, Βαπτιστών, καθώς και άλλοι Χριστιανοί που δεν ανήκουν σε κάποιο συγκεκριμένο δόγμα. Δεν υπάρχει επίσημη ή ανεπίσημη εκτίμηση ως προς τον αριθμό των αθέων. Η πλειοψηφία των κατοίκων μη ελληνικής υπηκοότητας δεν είναι Ορθόδοξοι. Η μεγαλύτερη από αυτές τις ομάδες είναι Αλβανοί[5], συμπεριλαμβανόμενων των νομίμων και παρανόμων μεταναστών. Αν και οι περισσότεροι Αλβανοί δεν ανήκουν σε κάποια θρησκεία, παραδοσιακά συνδέονται με τη Μουσουλμανική, την Ορθόδοξη, ή τη Ρωμαιοκαθολική πίστη. Εκτός της εντόπιας Μουσουλμανικής μειονότητας στη Θράκη, οι Μουσουλμάνοι μετανάστες που βρίσκονται στην υπόλοιπη χώρα υπολογίζεται ότι ανέρχονται σε 200.000-300.000.» [6]\n" +
-"Τις τελευταίες δεκαετίες η Ελλάδα έχει δεχτεί ένα μεγάλο κύμα μετανάστευσης. Ο συνολικός αριθμός των μεταναστών υπολογίζεται περίπου στο 10% του συνολικού πληθυσμού ή στις 950.000 ανθρώπους. Νόμιμοι κάτοικοι της χώρας είναι περίπου οι μισοί αν και οι αριθμοί έχουν μεγάλη διακύμανση λόγω της έλλειψης επίσημης μεταναστευτικής πολιτικής και της αστάθειας στις γειτονικές χώρες πηγές μεταναστών. Οι μεγαλύτερες πληθυσμιακές ομάδες σύμφωνα με την απογραφή του 2001 φαίνεται να είναι οι προερχόμενοι από Αλβανία, Ρουμανία, Βουλγαρία, Πακιστάν, Ουκρανία, Πολωνία, Αίγυπτο.\n" +
-"Πέρα από τους αλλοδαπούς μετανάστες έχουν έρθει μετά την πτώση του Τείχους και αρκετοί ομογενείς από περιοχές της πρώην Ε.Σ.Σ.Δ. και από τα Βαλκάνια. Οι μεγαλύτερες ομάδες παλιννοστούντων είναι από την Αλβανία, την Ρωσία και την Γεωργία.\n" +
-"[Επεξεργασία]\n" +
-"Ένοπλες δυνάμεις και Σώματα ασφαλείας\n" +
-"\n" +
-"Ελληνικές Ένοπλες Δυνάμεις:\n" +
-"Ελληνικός Στρατός\n" +
-"Ελληνικό Πολεμικό Ναυτικό\n" +
-"Ελληνική Πολεμική Αεροπορία\n" +
-"Σώματα ασφαλείας:\n" +
-"Ελληνική Αστυνομία\n" +
-"Πυροσβεστικό Σώμα\n" +
-"Λιμενικό Σώμα\n" +
-"[Επεξεργασία]\n" +
-"Υποχρεωτική στράτευση\n" +
-"Κύριο άρθρο: Η θητεία στην Ελλάδα\n" +
-"Μέχρι το 2004, η Ελλάδα είχε νομοθετήσει υποχρεωτική θητεία 12 μηνών, για όλους τους άνδρες άνω των 18 ετών. Ωστόσο, κινείται προς την ανάπτυξη ενός πλήρως επαγγελματικού στρατού, με στόχο την πλήρη κατάργηση της θητείας. Το Υπουργείο Εθνικής Άμυνας έχει αναγγείλει τη σταδιακή μείωση στους 6 μήνες το 2008 και πιθανολογείται ότι μπορεί και να καταργηθεί τελείως. Παρότι γίνονται δεκτές αιτήσεις γυναικών που θέλουν να υπηρετήσουν, δεν είναι υποχρεωτικό. Η κίνηση αυτή δημιουργεί αντιρρήσεις από τους κύκλους που αντιτίθενται στην υποχρεωτική στράτευση, γιατί ενώ το Άρθρο 2 του Ελληνικού Συντάγματος θέτει υπόχρεους όλους τους Έλληνες πολίτες να υπερασπιστούν την Ελλάδα, ο φόρτος έγκειται ολοκληρωτικά στον ανδρικό πληθυσμό.\n" +
-"Οι κληρωτοί δεν λαμβάνουν ιατρική ασφάλιση κατά τη διάρκεια της θητείας τους, ούτε ο χρόνος της θητείας συνυπολογίζεται στα χρόνια εργασίας τους που θεμελιώνουν το συνταξιοδοτικό δικαίωμα. Λαμβάνουν, όμως, πλήρη ιατρική και νοσοκομειακή περίθαλψη από τα κατά τόπους στρατιωτικά νοσοκομεία, εφ' όσον αυτά υπάρχουν στον τόπο που υπηρετούν, αλλιώς αναγκάζονται να μεταφερθούν στην Αθήνα. Ο μισθός του κληρωτού είναι συμβολικός (9 ευρώ το μήνα για τους οπλίτες, σμηνίτες, κληρωτούς, 11 ευρώ για τους στρατεύσιμους δεκανείς, υποσμηνίες, υποκελευστές και τους στρατεύσιμους λοχίες, σμηνίες, κελευστές και 600 ευρώ για τους δόκιμους και των τριών σωμάτων). Οι δόκιμοι υπηρετούν 5 μήνες παραπάνω από τους υπόλοιπους συναδέλφους τους. Ο μισθός δεν αρκεί για να καλύψει τα έξοδα των κληρωτών, ιδιαίτερα όταν ένας κληρωτός υπηρετεί μακριά από τον τόπο διαμονής του, με αποτέλεσμα πρακτικά οι κληρωτοί να ζούνε από την οικονομική στήριξη των γονέων τους κατά την διάρκεια της θητείας τους.\n" +
-"[Επεξεργασία]\n" +
-"Πολιτισμός\n" +
-"\n" +
-"Κατάλογος διάσημων Ελλήνων\n" +
-"Ελληνική μυθολογία\n" +
-"Αρχαία ελληνική λογοτεχνία\n" +
-"Ελληνική Αρχιτεκτονική\n" +
-"Ελληνική κουζίνα\n" +
-"Ελληνική Γλώσσα\n" +
-"Ελληνική Μουσική\n" +
-"Ελληνικά Μουσεία\n" +
-"Μέσα Ενημέρωσης\n" +
-"[Επεξεργασία]\n" +
-"Αργίες\n" +
-"Ημερομηνία Ονομασία Σχόλια\n" +
-"1 Ιανουαρίου Πρωτοχρονιά \n" +
-"6 Ιανουαρίου Θεοφάνεια \n" +
-"κινητή Καθαρά Δευτέρα έναρξη της Μεγάλης Τεσσαρακοστής\n" +
-"25η Μαρτίου Ευαγγελισμός της Θεοτόκου και Εθνική Εορτή Εθνική Εορτή για την Επανάσταση του 1821\n" +
-"κινητή Μεγάλη Παρασκευή \n" +
-"κινητή Πάσχα Ανάσταση του Χριστού\n" +
-"κινητή Δευτέρα Διακαινησίμου (Δευτέρα του Πάσχα) Δευτέρα μετά την Ανάσταση\n" +
-"1 Μαΐου Πρωτομαγιά \n" +
-"κινητή Αγίου Πνεύματος \n" +
-"15 Αυγούστου Κοίμηση της Θεοτόκου \n" +
-"28η Οκτωβρίου Επέτειος του Όχι Εθνική Εορτή (1940)\n" +
-"25 Δεκεμβρίου Χριστούγεννα \n" +
-"26 Δεκεμβρίου Σύναξις Θεοτόκου \n" +
-"[Επεξεργασία]\n" +
-"Σημειώσεις\n" +
-"\n" +
-"↑ www.destatis.de εκτίμηση πληθυσμού χώρας, 2006\n" +
-"↑ Σύνταγμα της Ελλάδας, άρθρο 30\n" +
-"↑ 3,0 3,1 Σύνταγμα της Ελλάδας, άρθρο 82\n" +
-"↑ 4,0 4,1 4,2 Πηγάζει στη Βουλγαρία\n" +
-"↑ 5,0 5,1 απογραφή 2001\n" +
-"↑ Πηγή: Διεθνής Έκθεση Θρησκευτικής Ελευθερίας του 2005 στην ελληνική και στην αγγλική, Υπουργείο Εξωτερικών των Η.Π.Α.\n" +
-"[Επεξεργασία]\n" +
-"Δείτε επίσης\n" +
-"\n" +
-"Σημαία της Ελλάδας\n" +
-"Κατάλογος γλωσσών της Ελλάδας\n" +
-"Τράπεζα της Ελλάδος\n" +
-"Ονομασίες της Ελλάδας σε διάφορες γλώσσες\n" +
-"Άτλας της Ελλάδας: συλλογή διαφόρων χαρτών της Ελλάδας στα Κοινά (Commons).\n" +
-"Κατάλογος νοσοκομείων της Ελλάδας\n" +
-"[Επεξεργασία]\n" +
-"Εξωτερικές συνδέσεις\n" +
-"\n" +
-"Πρωθυπουργός της Ελλάδας (Γραφείο Πρωθυπουργού)\n" +
-"Βουλή των Ελλήνων\n" +
-"Παράθυρο στην Ελλάδα (χρήσιμες πληροφορίες και σύνδεσμοι για την Ελλάδα)\n" +
-"Παράθυρο στην Ελλάδα (παλαιότερη «έκδοση»)\n" +
-"Ελληνικός Οργανισμός Τουρισμού\n" +
-"Υπουργείο Εξωτερικών\n";
-
-
-var hebrew =
-"היסטוריה של סין\n" +
-"מתוך ויקיפדיה, האנציקלופדיה החופשית\n" +
-"קפיצה אל: ניווט, חפש\n" +
-"\n" +
-" ערך זה עוסק בההיסטוריה של הישות התרבותית והגאוגרפית במזרח אסיה. אם התכוונתם לההיסטוריה של מדינה המוכרת היום בשם \"סין\", ראו היסטוריה של הרפובליקה העממית של סין.\n" +
-"\n" +
-"בערך זה מופיע גופן מזרח אסייתי\n" +
-"\n" +
-"כדי שתוכלו לראות את הכתוב בערך זה בצורה תקינה, תצטרכו להתקין גופן מזרח אסייתי במחשבכם. אם אינכם יודעים כיצד לעשות זאת, לחצו כאן לקבלת עזרה\n" +
-"\n" +
-"סין הנה התרבות המפותחת והרציפה העתיקה ביותר בעולם, תיעודים כתובים של התרבות נמצאים כבר מלפני 3,500 שנים והסינים עצמם נוקבים במספר 5,000 כמספר שנות קיומה של תרבותם. שושלות השלטון בסין פיתחו לאורך השנים שיטות בירוקרטיה שלטונית שהעניקו לסינים יתרון משמעותי על העמים השבטיים שחיו מסביבם. פיתוח אידאולוגיה למדינה, המבוססת על משנתו הפילוסופית של קונפוציוס (המאה ה-1 לפנה\"ס), יחד עם פיתוח מערכת כתב זמינה לכל (המאה ה-2 לפנה\"ס) חיזקו עוד יותר את התרבות הסינית. מבחינה פוליטית, סין נעה בתנועה מתמדת בין איחוד ופירוד ולעתים גם נכבשה על ידי כוחות זרים אשר מרביתם התמזגו לתוך תרבותה והפכו לחלק בלתי נפרד ממנה. השפעות תרבותיות ופוליטיות אלו שהגיעו מכל קצוות אסיה כמו גם גלי הגירה אל ומחוץ למדינה יצרו יחד את דמותם של התרבות והעם הסיני כפי שהם מוכרים לנו היום.\n" +
-"היסטוריה של סין\n" +
-"\n" +
-" * התקופה הקדומה\n" +
-"\n" +
-" שלושת המלכים וחמשת הקיסרים\n" +
-" שושלת שיה\n" +
-" שושלת שאנג\n" +
-" שושלת ג'ואו\n" +
-" תקופת האביב והסתיו\n" +
-" תקופת המדינות הלוחמות\n" +
-"\n" +
-" * סין הקיסרית\n" +
-"\n" +
-" שושלת צ'ין\n" +
-" שושלת האן המערבית\n" +
-" שושלת שין\n" +
-" שושלת האן המזרחית\n" +
-" שלושת הממלכות\n" +
-" שושלת ג'ין\n" +
-" השושלת הצפונית והדרומית\n" +
-" שושלת סוי\n" +
-" שושלת טאנג\n" +
-" שושלת סונג\n" +
-" שושלת יו'אן\n" +
-" שושלת מינג\n" +
-" שושלת צ'ינג\n" +
-"\n" +
-" * התפוררות הקיסרות\n" +
-"\n" +
-" מלחמת האופיום הראשונה\n" +
-" מרד טאיפינג\n" +
-" מלחמת האופיום השנייה\n" +
-" מלחמת סין-צרפת\n" +
-" מלחמת סין-יפן הראשונה\n" +
-" רפורמת מאה הימים\n" +
-" מרד הבוקסרים\n" +
-"\n" +
-" * סין המודרנית\n" +
-"\n" +
-" מהפכת שינהאי\n" +
-" הקמתה של המפלגה הקומניסטית של סין\n" +
-" המצעד הארוך\n" +
-" תקרית שיאן\n" +
-" מלחמת סין-יפן השנייה\n" +
-" מלחמת האזרחים הסינית\n" +
-"\n" +
-" * העת החדשה\n" +
-"\n" +
-" הקמת הרפובליקה העממית של סין\n" +
-" מערכת מאה הפרחים\n" +
-" הזינוק הגדול קדימה\n" +
-" הפיצול הסיני-סובייטי\n" +
-" מלחמת הודו-סין\n" +
-" מהפכת התרבות בסין\n" +
-" תקרית טיאנאנמן\n" +
-"\n" +
-"ראו גם\n" +
-"\n" +
-" * הרפובליקה הסינית\n" +
-" * לוח זמנים של ההיסטוריה של סין\n" +
-"\n" +
-"פורטל סין\n" +
-"קטגוריה ראשית\n" +
-"\n" +
-"\n" +
-"תוכן עניינים\n" +
-"[הסתר]\n" +
-"\n" +
-" * 1 פרה-היסטוריה\n" +
-" o 1.1 שלושת המלכים וחמשת הקיסרים\n" +
-" * 2 היסטוריה קדומה\n" +
-" o 2.1 שושלת שְׂיָה\n" +
-" o 2.2 שושלת שָׁאנְג\n" +
-" o 2.3 שושלת ג'וֹאוּ\n" +
-" o 2.4 תקופת האביב והסתיו\n" +
-" o 2.5 תקופת המדינות הלוחמות\n" +
-" * 3 שושלת צ'ין: האימפריה הסינית הראשונה\n" +
-" * 4 שושלת האן: תקופה של שגשוג\n" +
-" * 5 ג'ין, שש עשרה הממלכות והשושלות הדרומית והצפונית: התקופה האפלה של סין\n" +
-" * 6 שושלת טאנג: חזרה לשיגשוג\n" +
-" * 7 שושלת סונג ושכנותיה הצפוניות, ליאו וג'ין\n" +
-" * 8 המונגולים\n" +
-" * 9 תחייתה מחדש של התרבות הסינית\n" +
-" * 10 תקופת מינג: מהתפתחות לבידוד\n" +
-" * 11 שושלת צ'ינג\n" +
-" * 12 הרפובליקה הסינית\n" +
-" * 13 הרפובליקה העממית של סין\n" +
-" * 14 ראו גם\n" +
-" * 15 לקריאה נוספת\n" +
-" * 16 קישורים חיצוניים\n" +
-" * 17 הערות שוליים\n" +
-"\n" +
-"[עריכה] פרה-היסטוריה\n" +
-"\n" +
-"העדויות הארכאולוגיות הקדומות ביותר לנוכחות אנושית בסין של ימינו הן של הומו ארקטוס. מחקרים חדשים מגלים כי עמודי האבן שנמצאו באתר שיאוצ'אנגליאנג מתאורכים מבחינה סטרטיגרפית מלפני 1.36 מיליוני שנים. באתר הארכאולוגי שִׂיהוֹאוּדוּ שבמחוז שאנסי נמצאות העדויות הראשונות בעולם לשימוש באש על ידי ההומו ארקטוס, ומתאורכות ללפני 1.27 מיליוני שנים. עם זאת תושביו הנוכחיים של האזור אינם צאצאי אותו הומו ארקטוס, אלא צאצאי הומו סאפיינס שהגיע לאזור מאזור אפריקה רק לפני 65,000 שנים.\n" +
-"\n" +
-"עדויות מוקדמות לחקלאות סינית טיפוסית – גידולי אורז בברכות – מתוארכות לשנת 6,000 לפנה\"ס. בדומה לתרבויות קדומות בכל העולם, הביאה החקלאות לגידול מהיר באוכלוסייה, כיוון שהתבססות על גידולים חקלאיים הבטיחה יכולת שימור המזון ואגירתו לזמן ממושך יותר, וזו הביאה בהדרגה לגידול האוכלוסייה, להתפתחותה התרבותית ולריבוד חברתי.\n" +
-"\n" +
-"בשלהי התקופה הניאוליטית החל עמק הנהר הצהוב בסין לפתח את מעמדו כמרכז תרבותי, כאשר ראשוני הכפרים באזור הופיעו שם. מרבית העדויות למרכז חשוב זה נמצאות באזור העיר שי-אן בסין.\n" +
-"\n" +
-"[עריכה] שלושת המלכים וחמשת הקיסרים\n" +
-"\n" +
-" ערך מורחב – שלושת המלכים וחמשת הקיסרים\n" +
-"\n" +
-"ספרי ההיסטוריה הקדומים, רשומות ההיסטוריון, שנכתבו על ידי ההיסטורוגרף הסיני סְה-מָה צְ'ייֵן במאה השנייה לפנה\"ס, וספר תולדות החיזרן, שנכתבו במאה הרביעית לפנה\"ס מתארכים את תחילת ההיסטוריה הסינית לתקופת שלושת המלכים וחמשת הקיסרים - 2800 לפנה\"ס. לתקופה זו מאפיינים מיתולוגיים מובהקים. למלכים ולקיסרים תכונות מיסטיות והם מתוארים כשליטים נבונים ובעלי מוסר למופת. אחד מהם, הקיסר הצהוב נחשב לאבי בני ההאן.\n" +
-"\n" +
-"סה-מה צ'יאן כותב כי תחילת ביסוס מערכת ממשלתית נעשה בימי שושלת שיה, וסגנון המערכת הונצח על ידי שושלות שאנג וג'ואו. בתקופת שלושת השושלות האלו, החלה סין לפצוע על שחר ההיסטוריה. מכאן ואילך, עד למאה העשרים, מתוארות תולדות סין לפי השושלות שמשלו בה.\n" +
-"\n" +
-"[עריכה] היסטוריה קדומה\n" +
-"\n" +
-"[עריכה] שושלת שְׂיָה\n" +
-"\n" +
-" ערך מורחב – שושלת שיה\n" +
-"\n" +
-"שושלת שְׂיָה (סינית: 夏, פיניין: Xià), היא השושלת הראשונה בתולדות סין. שושלת זו התקיימה לפני המצאת הכתב בסין, כך שהעדויות לקיומה מסתמכות על מסמכים מאוחרים יותר ועל ארכאולוגיה. סְה-מָה צְ'ייֵן וספר תולדות החיזרן מתארכים את ימי השושלת לכלפני 4,200 שנה, אולם אין בידינו לאמת את הדברים. 17 מלכים ו-14 דורות מנתה השושלת, שהתחילה בימיו של יוּ'‏ הגדול והסתיימה בימיו של גְ'יֵה איש שְׂיָה, כך על-פי סְה-מָה צְ'ייֵן ומקורות אחרים מתקופת שושלת צ'ין.\n" +
-"\n" +
-"שושלות שאנג וג'ואו התקיימו במקביל לשושלת שיה כבר מתחילתה, אך היו כפופות לה. אורך ימיה של השושלת לא ברור, אך 431 או 471 שנים הן שתי החלופות הסבירות ביותר.\n" +
-"\n" +
-"ארכאולוגים רבים מזהים את שושלת שְׂיָה עם אתר אָרלִיטוֹאוּ שבמרכז מחוז הנאן[1]. באתר זה נתגלה כור היתוך מברונזה משנת 2000 לפנה\"ס לערך. נטען גם כי סימונים על-גבי חרס וקונכיות מתקופה זו הן גילגול קדום של הכתב הסיני[2]. בהיעדר עדויות כתובות בכתב המוכר מעצמות הניחוש של שושלת שאנג ומכלי הברונזה של שושלת ג'ואו, נותר טיבה של שושלת שיה לוט בערפל.\n" +
-"\n" +
-"[עריכה] שושלת שָׁאנְג\n" +
-"\n" +
-" ערך מורחב – שושלת שאנג\n" +
-"\n" +
-"הרישומים הכתובים העתיקים ביותר בסין נחרטו לצורך הגדת עתידות על עצמות או קונכיות. כתבים אלה, המכונים עצמות ניחוש, מתוארכים למאה ה-13 לפנה\"ס לערך, תקופת שושלת שָׁאנְג (סינית: 商, פיניין: Shāng). ממצאים ארכאולוגיים, המעידים על קיומה של השושלת בשנים 1600-1046 לפנה\"ס בקירוב, מחולקים לשתי קבוצות. הקבוצה המוקדמת, עד ל-1300 בקירוב, מגיעה מאתרים שונים במחוז הנאן. הקבוצה המאוחרת, מתקופת יִין (殷), מורכבת מאסופה רחבה של עצמות ניחוש, גם הן ממחוז הנאן. אָנְיָאנְג שבמחוז הנאן הייתה הבירה התשיעית והאחרונה של שושלת שאנג. לשושלת היו 31 מלכים, והיא הייתה הארוכה שבשושלות סין.\n" +
-"\n" +
-"על פי רשומות ההיסטוריון העבירה שושלת שאנג את בירתה שש פעמים, כשהמעבר השישי והאחרון לעיר יִין ב-1350 לפנה\"ס סימן את תחילת תור הזהב של השושלת. ההיסטוריה התמטית של סין מתארת בדרך-כלל קיום של שושלת אחת אחרי השנייה, אך המצב לאשורו באותה עת היה מורכב יותר. חוקרים טוענים כי ייתכן ושושלות שיה ושאנג התקיימו במקביל, כשם ששושלת ג'ואו (שֶׁירשה את שושלת שאנג), התקיימה אף היא בזמן שושלת שאנג. עדויות כתובות מאתר אניאנג מאששים אמנם את קיומה של שושלת שאנג, אך חוקרים מערביים אינם נוטים לזהות יישובים בני אותה תקופה עם שושלת שאנג דווקא. כך למשל, ממצאים ארכאולוגיים מאותה עת באתר סָאנְשִׂינְגְדְווֵי מצביעים על חברה מתקדמת, השונה בתרבותה מזו שנתגלתה בְּאָנְיָאנְג. אין עדויות מכריעות במוגע לתחום שליטתה של שושלת שאנג. ההנחה המקובלת היא כי שושלת שאנג שבהיסטוריה הרשמית אכן שלטה בעיר אניאנג, תוך שהיא מקיימת קשרי מסחר עם יישובים שונים בסביבתה, שהיו שונים זה מזה מבחינה תרבותית.\n" +
-"\n" +
-"[עריכה] שושלת ג'וֹאוּ\n" +
-"\n" +
-" ערך מורחב – שושלת ג'ואו\n" +
-"\n" +
-"שושלת ג'וֹאוּ (סינית: 周, פיניין: Zhōu), הייתה השושלת ששלטה את הזמן הארוך ביותר בסין, מ-1122 לפנה\"ס ועד 256 לפנה\"ס - 866 שנה. השושלת התחילה להתגלות בנהר הצהוב והתפשטה אל תוך גבולותיה של השאנג. השושלת התחילה את שליטתה כפיאודליזם. הג'ואו חיו מערבית לשאנג, ושליטם היה מכונה בפיהם של שאנג כ\"מגן המערבי\". שליט ג'ואו המלך ווּ, בעזרת דודו הדוכס של ג'ואו, הצליחו להכניע את אחרון קיסרי שאנג בקרב שקבל את השם הקרב של מויה. היה זה מלכה של ג'ואו באותו הזמן, שטבע את מושג מנדט השמים, רעיון לפיו השמים הם המחליטים מי יהיה הקעסר הבא, ודרכם להביע את זה היא הצלחתו של הקיסר בניהול מלכותו, כך שמרד נתפס כלגיטימי, כל עוד זכה להצלחה. הקיסר העביר את בירתו אל עבר מערב האזור, סמוך למקום המכונה כיום שיאן, לגדות הנהר הצהוב, אולם שליטתם התפרסה אל כל עבר מושבות נהר היאנגטסה. זו הייתה ההגירה הראשונה בגודל כזה מצפון סין לדרומה.\n" +
-"\n" +
-"[עריכה] תקופת האביב והסתיו\n" +
-"\n" +
-" ערך מורחב – תקופת האביב והסתיו\n" +
-"\n" +
-"תקופת האביב והסתיו (בסינית: 春秋時代) הוא כינויה של תקופה בין השנים 722 לפנה\"ס ל 481 לפנה\"ס. שמה של התקופה לקוח משם הספר רשומות האביב והסתיו, תיעוד היסטורי של אותה תקופה אשר נכתב בידי קונפוציוס.\n" +
-"\n" +
-"במהלך התקופה נערכו מלחמות רבות בין המדינות שהרכיבו באותה תקופה את סין מה שהביא לביזור של הכח השלטוני בסין העתיקה. בעקבות המלחמות הודחו שליטים רבים מכסאם, ושכבת האצולה בסין התפוררה למעשה. עם התפשטותם של האצילים ברחבי הארץ נפוצה איתם גם ידיעת הקרוא וכתוב אשר הייתה נחלתם הכמעט בלעדית של האצילים עד לאותה תקופה. התפשטות הקריאה והכתיבה עודדה את חופש המחשבה וההתפתחות הטכנולוגית. לאחר תקופת האביב והסתיו החלה בסין תקופת מלחמת המדינות.\n" +
-"\n" +
-"[עריכה] תקופת המדינות הלוחמות\n" +
-"\n" +
-" ערך מורחב – תקופת המדינות הלוחמות\n" +
-"\n" +
-"תקופת המדינות הלוחמות (סינית: 戰國, פיניין: Zhàn Guó) החלה במאה החמישית לפנה\"ס והסתיימה בשנת 221 לפנה\"ס באיחודה של סין על ידי שושלת צ'ין. רשמית, בתקופת המדינות הלוחמות, כמו גם בתקופה שקדמה לה, תקופת האביב והסתיו, הייתה סין תחת שלטונה של שושלת ג'וֹאוּ המזרחית, אך שליטה זו הייתה רק להלכה, ולשושלת לא הייתה השפעה ממשית, ולמעשה חדלה להתקיים 35 שנה לפני סיומה הרשמי של התקופה. את שמה קיבלה התקופה מ\"רשומות המדינות הלוחמות\", תיעוד היסטורי של התקופה, שנכתב בתקופת שושלת האן.\n" +
-"\n" +
-"תקופת המדינות הלוחמות, שלא כמו תקופת האביב והסתיו, הייתה תקופה בה שרי צבא ואריסטוקרטים מקומיים סיפחו לאחוזותיהם כפרים, ערים ומדינות זעירות סמוכות והשליטו עליהם את שלטונם. במאה השלישית לפנה\"ס הביא מצב זה ליצירת שבע מדינות עיקריות בסין: מדינות צִ'י (齊), צ'וּ (楚), יֵן (燕), הַאן (韓), גָ'או (趙), ווֶי (魏) וצִ'ין (秦). סימן נוסף לשינוי במעמדם של הגנרלים היה שינוי תארם הרשמי מגונג (公 - המקבילה הסינית לדוכס), הכפופים כביכול למלך של ג'ואו, לוואנג (王) - מלכים, השווים במעמדם למלך של ג'ואו.\n" +
-"\n" +
-"תקופת המדינות הלוחמות היא גם תחילתו של השימוש בברזל במקום ארד בסין כמתכת עיקרית בכל תחומי החיים האזרחיים והצבאיים. במהלך תקופה זו החלו להבנות החומות, שיגנו על הממלכות מפני פלישה של שבטים ברבריים מהצפון חומות, שהיוו את היסוד לחומה הסינית המאוחרת יותר. מאפיין תרבותי נוסף של התקופה היה הפיכתן של פילוסופיות שונות כגון קונפוציזם, דאואיזם, לגאליזם, ומוהיזם למעמד של דתות במדינות השונות.\n" +
-"\n" +
-"בתום התקופה, לאחר שממלכת צ'ין הצליחה להביס ולכבוש את שאר הממלכות, הפך המלך צ'ין לקיסר הראשון של סין המאוחדת.\n" +
-"\n" +
-"[עריכה] שושלת צ'ין: האימפריה הסינית הראשונה\n" +
-"\n" +
-" ערך מורחב – שושלת צ'ין\n" +
-"\n" +
-"סין אוחדה לראשונה בשנת 212 לפנה\"ס בידי צִ'ין שְׁה-חְוָאנג, מייסד שושלת צ'ין. קדמה לאיחוד תקופת מלחמת המדינות ותקופת האביב והסתיו, שהתאפיינו שתיהן במספר ממלכות שהתקיימו במקביל ולחמו זו בזו. בשנת 212 לפנה\"ס עלה בידו של צ'ין להשתלט סופית על כל הממלכות בסין העתיקה ולשים קץ למלחמות הפנימיות.\n" +
-"\n" +
-"למרות שהאימפריה המאוחדת של הקיסר צ'ין התקיימה רק 12 שנים, הצליח הקיסר בזמן מועט זה למסד את רוב שטחה של המדינה כפי שאנו מכירים אותה כיום ולהשליט בה משטר ריכוזי המבוסס על לגאליזם אשר מושבו היה בשיאניאנג, שיאן של ימינו. שושלת צ'ין מפורסמת גם בשל תחילת בנייתה של החומה הסינית הגדולה (החומה הוגדלה בתקופת שושלת מינג). בניו של הקיסר לא היו מוצלחים כמוהו, ועם מותו של הקיסר תמה תקופת שלטונה של שושלתו.\n" +
-"\n" +
-"מקור המילה סין בשפה העברית וכן בשפה האנגלית (China), מגיע ככל הנראה מהמילה צ'ין (秦), שמה של השושלת הראשונה.\n" +
-"\n" +
-"[עריכה] שושלת האן: תקופה של שגשוג\n" +
-"\n" +
-" ערך מורחב – שושלת האן\n" +
-"\n" +
-"שושלת האן הופיעה בסין בשנת 202 לפנה\"ס. בתקופת שלטונה הפכה הקונפוציוניזם לדת המדינה ולפילוסופיה המנחה אותה ואשר המשיכה להנחות את המשטר הסיני עד לסוף התקופה הקיסרית בתחילת המאה ה-20. תחת שלטון ההאן עשתה התרבות הסינית התקדמות אדירה בתחומי ההיסטוריוגפיה, האומנות והמדע. הקיסר וו חיזק והרחיב את הממלכה בהודפו את ה\"שׂיוֹנג-נוּ\" (שבטים שלעתים מזוהים עם ההונים) אל תוך מונגוליה של ימינו, תוך שהוא מספח לממלכתו את השטחים בהם ישבו שבטים אלו. שטחים חדשים אלו אפשרו לסין לראשונה לפתוח קשר מסחר עם המערב: דרך המשי.\n" +
-"\n" +
-"אולם, השתלטותן של משפחות אצולה על אדמות המדינה, עירערה את בסיס המיסוי של הממלכה, גורמות בכך חוסר יציבות שלטוני. חוסר היציבות הזה נוצל על ידי וואנג מנג, שהקים את שושלת שין שהחזיקה מעמד זמן קצר מאוד. וואנג החל לבצע רפורמות ענפות בהחזקת האדמות ובכלכלה. תומכיה העיקריים של הרפורמה היו האיכרים ובני המעמדות הנמוכים, אך משפחות האצולה שהחזיקו באדמות, התנגדות להן בכל תוקף. עקב כך נוצא מצב של כאוס והתקוממויות רבות במדינה. צאצאה של שושלת האן, הקיסר גואנגוו, ייסד מחדש את שושלת האן בתמיכתם של משפחות האצילים והסוחרים בלוו-יאנג, מזרחית לשיאן, מכאן קיבל העידן החדש שהחל אז את שמו: שושלת האן המזרחית. אולם ייסודה מחדש של השושלת לא הביא את השקט הרצוי לממלכה. עימותים עם בעלי הקרקעות, יחד עם פלישות מבחוץ ומאבקים פנימיים במיעוטים החלישו שוב את השלטון. מרד הטורבן הצהוב שפרץ בשנת 184, סימן את תחילתו של עידן בו שליטים צבאיים מובילים מלחמות בתוך המדינה ומחלקים את המדינה למספר מדינות קטנות. תקופה זו ידועה כתקופת שלוש הממלכות.\n" +
-"\n" +
-"[עריכה] ג'ין, שש עשרה הממלכות והשושלות הדרומית והצפונית: התקופה האפלה של סין\n" +
-"\n" +
-" ערך מורחב – שושלת ג'ין\n" +
-"\n" +
-"שלוש הממלכות התאחדו בשנת 280 תחת שלטונה של שושלת ג'ין. אולם איחוד זה נמשך זמן קצר מאוד. בתחילת המאה ה-4 החלו המיעוטים בסין (כיום מכונים סינים לא בני האן ) להתמרד ולבתר את המדינה, גורמים בכך להגירה עצומה של סינים בני האן אל מדרום לנהר היאנגטסה. בשנת 303 החלו אנשי מיעוט הדאי במרד שבסופו הם כבשו את צ'נגדו שבסצ'ואן. השׂיוֹנְג-נוּ, שנהדפו מסין בתחילת שלטונה של שושלת האן, חזרו להלחם בסין, כבשו חלקים ממנה והוציאו להורג את שני קיסריה האחרונים של שושלת ג'ין. יותר משש-עשרה מדינות הוקמו על ידי המיעוטים האתניים בצפונה של סין. הצפון הכאוטי אוחד לזמן קצר על ידי פו ג'יאן, אך הוא הובס בנסיון פלישתו לדרום סין וממלכתו התפוררה. נסיון נוסף לאיחוד הצפון בוצע על ידי הקיסר טאיוון, שהקים את השושלות הצפוניות, סדרה של משטרים מקומיים ששלטו בסין שמצפון לנהר היאנג צה.\n" +
-"\n" +
-"עם הפליטים שנסו לדרומה של המדינה, היה גם הקיסר יואן, נצר לשושלת ג'ין, שחידש את שלטון השושלת בדרום המדינה . שושלת זו הייתה הראשונה מבין השושלות הדרומיות שכללו את שושלות סונג, צי, ליאנג וצ'ן. בירתן של השושלות הדרומיות הייתה ג'יאנקאנג, ליד ננג'ינג של ימינו. התקופה בה התקיימו במקביל שתי מדינות הנשלטות על ידי שושלות שונות בצפונה ובדרומה של הארץ נקראה תקופת השושלות הצפונית והדרומית. שושלת סוי קצרת המועד, הצליחה לאחד את המדינה ב589 לאחר כמעט 300 שנות פירוד.\n" +
-"\n" +
-"[עריכה] שושלת טאנג: חזרה לשיגשוג\n" +
-"\n" +
-" ערך מורחב – שושלת טאנג\n" +
-"\n" +
-"בשנת 618 נוסדה שושלת טאנג, פותחת עידן חדש של שיגשוג וחידושים בתחומי האמנות והטכנולוגיה. בתקופה זו פעלו משוררים נודעים כלי באי ודו פו. הבודהיזם, שהחל חודר לסין כבר במאה ה-1, הוכרז כדת הרשמית של המדינה ואומץ על ידי המשפחה הקיסרית. צ'אנג-אן (שיאן של ימינו), בירת השושלת הייתה באותה תקופה העיר הגדולה ביותר בעולם. תקופות טאנג והאן נחשבות לרוב כתקופות השגשוג הממושכות ביותר בהיסטוריה של סין. אולם, על אף השגשוג, כוחה של שושלת טאנג החל להחלש והמדינה החלה נקרעת בשנית בידי שליטים מקומיים. תקופה נוספת של כאוס הגיעה למדינה: תקופת חמש השושלות ועשר הממלכות.\n" +
-"\n" +
-"[עריכה] שושלת סונג ושכנותיה הצפוניות, ליאו וג'ין\n" +
-"\n" +
-" ערך מורחב – שושלת סונג\n" +
-"\n" +
-"בשנת 960 הצליחה שושלת סונג לאסוף מספיק כח כדי לאחד את סין תחת שלטונה. תחת שלטון סונג, שבירתו הייתה קאיפנג, החלה תקופת צמיחה חדשה בסין. אולם שושלת סונג לא הייתה הכח הפוליטי הגדול היחיד באזור. במנצ'וריה ובמזרח מונגוליה התהוותה ממלכתה של שושלת ליאו החיטאנית וב1115 עלתה לשלטון במנצ'וריה שושלת ג'ין הג'ורצ'נית (הג'ורצ'נים היו אבותיהם של המנצ'ורים) שתוך 10 שנים בלעה את שושלת ליאו לתוכה. שושלת ג'ין השתלטה גם על שטחים בצפון סין, בתוכם הבירה הסינית קאיפנג, מה שאילץ את שושלת סונג הסינית להעביר את בירתה לחאנגג'ואו. שושלת סונג גם אולצה על ידי שושלת ג'ין להכריז על הכרתה בשושלת ג'ין כשליטה העליונה שלה. בתקופה שלאחר מכן הוקמו שלוש ממלכות גדולות בשטחה של סין (ממלכת סונג, ממלכת ג'ין וממלכה שלישית של מיעוטים שנקראה ממלכת שיה המערבית). בתקופה זו נעשו פיתוחים משמעותיים בטכנולוגיה, ככל הנראה עקב הלחץ הצבאי שהופעל על ממלכת סונג מצד שכנותיה הצפוניות.\n" +
-"\n" +
-"[עריכה] המונגולים\n" +
-"\n" +
-"ממלכת ג'ין הייתה הראשונה מבין הממלכות בסין שהובסה על ידי המונגולים, שהמשיכו וכבשו גם את ממלכת סונג במלחמה ארוכה ועקובה מדם שהייתה המלחמה הראשונה בהיסטוריה בה נעשה שימוש מכריע בנשק חם. לאחר תום המלחמה החל עידן של שלום כמעט בכל אסיה (שהייתה נתונה לשלטון המונגולים), עידן שנקרא \"השלום המונגולי\" (Pax Mongolica). שלום זה איפשר לנוסעים מהמערב, דוגמת מרקו פולו, להגיע לסין ולחשוף לראשונה את אוצרתיה למערב. בסין, נחלקו המונגולים בין אלו שרצו להחיל בסין את מנהגי המונגולים ובין אלו שרצו לאמץ את המנהגים הסינים לעצמם. קובלאי חאן, שנמנה עם הקבוצה השנייה, הקים בסין את שושלת יואן (מילולית: \"השושלת הראשונה\") זו הייתה הממלכה הראשונה שהשתרעה על כל שטחה של סין ושבירתה הייתה בייג'ינג (בייג'ינג הייתה בירתה של שושלת גי'ן אך השושלת לא שלטה על סין כולה).\n" +
-"\n" +
-"[עריכה] תחייתה מחדש של התרבות הסינית\n" +
-"\n" +
-"בקרב העם בסין, הייתה התמרמרות רבה ביחס לשלטון ה\"זרים\" החדש, התמרמרות שלבסוף הובילה להתקוממויות איכרים במדינה שהתפתחו למאבק בשלטון שנדחף למעשה אל מחוץ לגבולותיה של סין. את השלטון המונגולי החליף שלטונה של שושלת מינג בשנת 1368. שושלת זו פתחה תקופה של פריחה והתחדשות תרבותית: האומנות, ובעיקר תעשיית הפורצלן, נסקה לגבהים שלא נודעו קודם לכן, סחורות סיניות נעו ברחבי האוקיינוס ההודי, מגיעות עד לחופיה המזרחיים של אפריקה במסעותיו של צ'נג חה. סין בנתה צי ספינות שהגדולות מבניהן שינעו 1,500 טונות של סחורות וחיילים מהצבא בן מיליון החיילים שהיה ברשותה באותה העת. יותר מ100,000 טונות ברזל יוצרו כל שנה וספרים רבים נדפסו. יש הטוענים כי שהאומה הסינית בתקופת מינג הייתה האומה המתקדמת ביותר בעולם.\n" +
-"\n" +
-"הקיסר חונג-וו, מייסד השושלת, הניח את היסודות לנטייתה של המדינה למעט במסחר ותעשייה ולהתמקד בעיקר בהגדלת הרווחים מהמגזר החקלאי, כנראה בשל מוצאו החקלאי של הקיסר. חברות פאודליות זעירות שהתפתחו במהלך שנות שלטונם של שושלת סונג ושל המונגולים פורקו ואדמותיהם הולאמו, חולקו והושכרו לאיכרים מחדש. כמו כן, הוטל חוק האוסר החזקת עבדים במדינה. החוקים נגד מסחר נשארו בממלכה עוד מתקופת שושלת סונג, אך כעת הם חלו גם על סוחרים זרים מה שהביא במהרה לגוויעת סחר החוץ בין סין לשאר העולם.\n" +
-"\n" +
-"ככל שחלף הזמן, שלטון הקיסר נעשה חזק יותר ויותר על אף שהחצר הקיסרית עשתה שימוש נרחב בפקידים ממשלתיים שהיו אחראיים לתפקודה השוטף של המדינה.\n" +
-"\n" +
-"במהלך שלטון המונגולים פחתה האוכלוסייה בכ-40% לכ-60 מיליון נפש. שתי מאות מאוחר יותר המספר הוכפל. הערים החלו להתפתח בקצב מואץ ובעקבות כך החלה להופיע גם תעשייה זעירה. כתוצאה מהתערבות שלטונית, נמנעה בסין התפתחותו של מרכז אורבני מצומצם ובמקום זאת צמחו מספר רב של ערים שהיוו מרכזים מקומיים לאזורים המקיפים אותן.\n" +
-"\n" +
-"[עריכה] תקופת מינג: מהתפתחות לבידוד\n" +
-"\n" +
-" ערך מורחב – שושלת מינג\n" +
-"\n" +
-"למרות הסלידה ממסחר עם מדינות אחרות, וההתרכזות הפנימית בענייני המדינה, סין תחת שלטונה של שושלת מינג לא הייתה מבודדת. הסחר עם מדינות אחרות, ובעיקר עם יפן, המשיך להתקיים והקיסר יונגלה השתדל ככל יכולתו למסד קשרים דיפלומטיים עם המדינות הסובבות את סין. צבאה של סין כבש את אנאם והצי הימי שלה הפליג במסעותיו עד לחופי אפריקה. הסינים גם הצליחו לייצר השפעה מסוימת בטורקסטן.\n" +
-"\n" +
-"אחת הדרכים המרשימות ביותר בהן התבטאה מדיניות החוץ הסינית של אותה תקופה הייתה מסעותיו הימיים של צ'אנג חֶה, סריס מוסלמי ונצר למשפחה מונגולית, אשר הוביל שבעה מסעות ימיים מפוארים בין 1405 ל1433 שעברו בכל האוקיינוס ההודי והאיים שבו והגיעו עד לכף התקווה הטובה. מסעו הראשון של הה, כלל 62 ספינות שנשאו 28,000 מלחים – ללא ספק המסע הימי הגדול ביותר בהיסטוריה האנושית.\n" +
-"\n" +
-"אולם, לקראת סופה של המאה ה-15, הוטל איסור על אזרחי המדינה לבנות ספינות בעלות כושר הפלגה באוקיינוס וכן נאסר על כלל האזרחים לעזוב את המדינה. כיום קיימת הסכמה על כך שצעד זה ננקט כדי להגן על הקיסרות מפני התקפות של שודדי ים. הגבלות אלו בוטלו לבסוף באמצע המאה ה-17.\n" +
-"\n" +
-"[עריכה] שושלת צ'ינג\n" +
-"\n" +
-" ערך מורחב – שושלת צ'ינג\n" +
-"\n" +
-"השושלת הקיסרית האחרונה בסין, נוסדה ב1644 כאשר המנצ'ורים כבשו את המדינה, הדיחו מהשלטון את שושלת מינג המקומית והקימו את שושלת צ'ינג שבירתה בייג'ינג. במשך חצי מאה נלחמו המנצ'ורים מלחמות עקובות מדם שבמהלכן השתלטו על האזורים שהיו בשליטת שושלת מינג ובכללם מחוז יונאן המרוחקת, טיבט ומונגוליה. את ההצלחה לה זכו המנצ'ורים בתחילת תקופת שלטונם יש לזקוף לזכות כוחם הצבאי האדיר והמיומן ששולב עם מיומנויות בירוקרטיות סיניות.\n" +
-"\n" +
-"חלק מההיסטוריונים רואים בתקופה של תחילת שלטון צ'ינג המשך רציף להתדרדרות התרבותית שחלה בסוף תקופת מינג. אך יש כאלה הרואים בתחילת שלטון צ'ינג תקופה של שיגשוג יותר מאשר נסיגה. בהוראת הקיסר קנגשי נכתב המילון המקיף והמפורט ביותר לשפה הסינית שנכתב עד אז ותחת שלטונו של הקיסר קיאנלונג חובר הקטלוג המלא של כל העבודות החשובות של התרבות הסינית. שושלת צ'ינג גם המשיכה בהרחבת אוצר הספרות העממית ובפיתוח החקלאות תוך יבוא גידולים חדשים מהעולם החדש דוגמת התירס. גם צמיחת האוכלוסייה המשיכה להאיץ בתקופת צ'ינג ואוכלוסיית המדינה, שבשנת 1700 מנתה 100 מיליון נפש, הגיעה לכדי 220 מליון בשנת 1800.\n" +
-"\n" +
-"\n" +
-"בקריקטורה צרפתית מפורסמת זו, נראית חלוקתה של סין בין בריטניה, גרמניה, רוסיה, צרפת ויפן\n" +
-"בקריקטורה צרפתית מפורסמת זו, נראית חלוקתה של סין בין בריטניה, גרמניה, רוסיה, צרפת ויפן\n" +
-"\n" +
-"במהלך המאה ה-19, נחלשה שליטתה של שושלת צ'ינג במדינה והשגשוג שהיה בה התפוגג. סין סבלה מרעב קשה, התפוצצות אוכלוסין וחדירה בלתי פוסקת של מדינות המערב בנסיון להשיג לעצמן השפעה במדינה. שאיפתה של בריטניה להמשיך בסחר הבלתי חוקי באופיום, נתקל בהתנגדות עזה של המשטר הקיסרי, מה שהביא לפריצתה של מלחמת האופיום הראשונה ב1840. סין, שהפסידה במלחמה, אולצה לבצע ויתורים כואבים ולפתוח את נמליה לסחר חפשי עם מדינות המערב. ויתוריה הטריטוריאלים של סין כללו את העברת הונג קונג לידיה של בריטניה ב1842 כחלק מחוזה נאנג'ינג. בנוסף מרד טאי פינג (1864-1851) ומרד ניאן (1868-1853), יחד עם תנועות לאומיות מוסלמיות ששאפו לעצמאות וחוזקו על ידי רוסיה ייבשו את קופת המדינה וכמעט שהביאו לנפילת השלטון בה.\n" +
-"\n" +
-"המרידות בשלטון דוכאו בעיקר על ידי כוחות המערב שבאותו הזמן עשו במדינה כבשלהם וניצלו את שווקיה ואת מערכתה הכלכלית.\n" +
-"\n" +
-"לאחר שוך המהומות בשנות השישים של המאה ה-19, החלה שושלת צ'ינג לטפל בבעיות המודרניזציה במדינה על ידי ביצוע רפורמות בכל תחומי שליטתה. אבל, הקיסרית האלמנה צישי, יחד עם גורמים שמרניים במדינה, ביצעה מעין הפיכה והדיחה את הקיסר הצעיר מהשלטון, מורידה בכך לטמיון את הרפורמות שאך החלו להתבצע. הרפורמות הצבאיות, שהושארו על כנן, היו חסרות ערך עקב השחיתות האיומה שהתפשטה בצמרת השלטון. חלק מספינות הקרב החדישות של הצבא כלל לא יכלו לבצע ירי, וזאת עקב מעילות גדולות בתקציבי בנייתן שלא השאירו די כסף לרכישת אבק שריפה. כתוצאה מכך כוחות \"הצבא הסיני החדש\" נחלו תבוסות משפילות הן במלחמת סין-צרפת (1885-1883) והן במלחמת סין-יפן הראשונה (1895-1894)\n" +
-"\n" +
-"עם תחילתה של המאה ה-20, הייתה החצר הקיסרית בסין הרוסה, שחיתות הייתה בכל והאוכלוסייה גדלה בקצב בלתי ניתן לעצירה. המדינה נשלטה על ידי הקיסרית צישי, דמות שמרנית ביותר שהתנגדה לכל סוג של רפורמה. מותו של הקיסר גוואנגשו יום אחד לפני מותה של הקיסרית (יש הטוענים שהוא הורעל על ידה) הרס את הסיכוי האחרון לביסוס הנהגה אפקטיבית במדינה.\n" +
-"\n" +
-"[עריכה] הרפובליקה הסינית\n" +
-"\n" +
-" ערך מורחב – היסטוריה של הרפובליקה הסינית\n" +
-"\n" +
-"ביאושם מאוזלת ידו של השלטון, החלו פקידי ממשל צעירים, קציני צבא וסטודנטים, שהושפעו מרעיונותיו המהפכניים של סון יאט-סן להתארגן לקראת הפיכה במדינה שתסלק את שושלת צ'ינג מהשלטון ותהפוך את המדינה לרפובליקה. התקוממות ווצ'אנג, התקוממות מהפכנית צבאית, החלה ב10 באוקטובר 1911. כחצי שנה מאוחר יותר, ב12 בפברואר 1912 הוקמה הממשלה הזמנית של הרפובליקה הסינית בנאנג'ינג כשבראשה עומד סון יאט-סן כנשיאה הזמני. אך סון נאלץ לוותר על תפקידו לטובת יואן שיקאי אשר פיקד באותו הזמן על \"הצבא החדש\" והיה ראש הממשלה תחת שלטון צ'ינג, כחלק מהסכם שנחתם להדחת הקיסר האחרון – הילד הנרי פו-יי. בשנים שלאחר הכתרתו כנשיא, ניסה יואן שיקאי לעקוף את סמכויותיהן של הוועדות הפרובינציאליות של הרפובליקה ואף הכריז על עצמו קיסר ב1915. שאיפותיו הקיסריות של יואן נתקלו בהתנגדות עזה של המהפכנים שראו כיצד מהפכתם הולכת לכינונה מחדש של קיסרות במדינה ולא של רפובליקה, והם החלו מתמרדים נגד יואן עד למותו ב1916 שהשאיר ריק שלטוני בסין. סין שלאחר מותו של יואן נחלקה בין הממשל הרפובליקני החדש, ובין מצביאים מקומיים ששלטו באזוריהם עוד מתקופת צ'ינג.\n" +
-"\n" +
-"לאירוע חסר החשיבות (בעיני המעצמות מחוץ לסין) שהתרחש ב1919 הייתה השלכה מכריעה על המשך ההיסטוריה הסינית במאה ה-20, אירוע זה הוא תנועת הארבעה במאי. התנועה, שהוציאה שם רע לפילוסופיות המערביות המקובלות והאימוץ של קוי מחשבה קיצוניים יותר שבאו לאחר מכן זרעו את הזרעים לקונפליקט בלתי ניתן לגישור בין הימין והשמאל בסין, קונפליקט שהמשיך עד לסופה של המאה.\n" +
-"\n" +
-"ב1920, הקים סון יאט-סן בסיס לתנועתו המהפכנית בדרום סין, אשר ממנו הוא יצא לאיחוד האומה השסועה. בעזרתם של הסובייטים, הוא הקים ברית עם המפלגה הקומוניסטית הסינית, ברית שלחמה בשאריות המשטר הקיסרי שהיו מפוזרות בצפון המדינה. לאחר מותו של סון ב1925 השתלט יורשו צ'יאנג קאי שק על המפלגה הלאומנית (הקוומינטנג) והצליח לאחד תחת שלטונו את מרבית דרום המדינה ומרכזה במערכה צבאית שנקראה המשלחת הצפונית. לאחר שהצליח להביס גם את תומכי הקיסר בצפון, פנה צ'יאנג למלחמה באנשי המפלגה הקומוניסטית, שעד לאותה תקופה נלחמו יחד איתו. הקומוניסטים פרשו מהקוומינטנג ב1927 וברחו להרים שבדרום סין. ב1934 יצאו הקומוניסטים מההרים שבשליטתם (שם הקימו את הרפובליקה הסינית-סובייטית) למצעד הארוך, מסע צבאי מפרך באזורים הטרשיים ביותר במדינה אל עבר צפון מערבה של המדינה לפרובינציית שאאנסי שם הקימו לעצמם בסיסי לוחמת גרילה.\n" +
-"\n" +
-"במהלך המצעד הארוך, הכירו הקומוניסטים במנהיגם החדש מאו צה דונג. המאבק בין הקוומינטנג והמפלגה הקומוניסטית הסינית נמשך לעתים בגלוי ולעתים בחשאי תוך כדי מלחמת סין-יפן השנייה (1945-1931) על אף שהכוחות יצרו לכאורה חזית מאוחדת כנגד פלישת היפנים ב1937 כחלק ממלחמת העולם השנייה. הלחימה בין שתי המפלגות המשיכה לאחר תבוסתם של היפנים ב-1945, וב-1949 שלטו הקומוניסטים ברוב שטחה של המדינה.\n" +
-"\n" +
-"[עריכה] הרפובליקה העממית של סין\n" +
-"\n" +
-" ערך מורחב – היסטוריה של הרפובליקה העממית של סין\n" +
-"\n" +
-"פרק זה לוקה בחסר. אתם מוזמנים לתרום לוויקיפדיה ולהשלים אותו. ראו פירוט בדף השיחה.\n" +
-"\n" +
-"צ'יאנג קאי שק נמלט עם שאריות ממשלתו וצבאו לטיוואן שם הוא הכריז על טייפה כבירה הזמנית של הרפובליקה עד להשלמת הכיבוש מחדש של סין היבשתית על ידי כוחותיו. הרפובליקה הסינית ממשיכה להתקיים עד ימינו (סוף 2004) בטיוואן אך היא טרם הכריזה עצמאות והיא אינה מוכרת רשמית כמדינה על ידי שאר העולם.\n" +
-"\n" +
-"עם ההכרזה על הקמתה של הרפובליקה העממית של סין ב1 באוקטובר 1949, חולקה סין שוב לרפובליקה העממית של סין בסין היבשתית ולרפובליקה הסינית שישבה בטיוואן ובמספר איים קטנים בסביבה, כאשר לכל רפובליקה יש ממשלה הרואה בעצמה את הממשלה הסינית האמיתית והמתייחסת אל הממשלה האחרת בבוז ובביטול. מצב זה נמשך עד לשנות התשעים של המאה ה-20, כאשר שינויים פוליטים ברפובליקה הסינית הביאו אותה להפסקת הטענה הפומבית להיותה ממשלת סין היחידה.\n" +
-"\n" +
-"[עריכה] ראו גם\n" +
-"\n" +
-" * לוח זמנים של ההיסטוריה של סין – טבלה המתארת את האירועים והאישים החשובים בתולדותיה של סין.\n" +
-"\n" +
-"[עריכה] לקריאה נוספת\n" +
-"\n" +
-" * עמנואל צ' י' שו, צמיחתה של סין המודרנית, הוצאת שוקן, 2005.\n" +
-"\n" +
-"[עריכה] קישורים חיצוניים\n" +
-"\n" +
-" * ירדן ניר-בוכבינדר, סין אימנו, קונפוציוס אבינו, באתר \"האייל הקורא\"\n" +
-"\n" +
-"\n" +
-"[עריכה] הערות שוליים\n" +
-"\n" +
-" 1. ^ סין של תקופת הברונזה בגלריה הלאומית לאמנות של ארצות-הברית\n" +
-" 2. ^ כתב על חרסים מאתר ארליטואו (כתוב בסינית מפושטת)\n";
-
-
-var japanese =
-"中国の歴史\n" +
-"出典: フリー百科事典『ウィキペディア(Wikipedia)』\n" +
-"移動: ナビゲーション, 検索\n" +
-"中国歴史\n" +
-"中国の歴史\n" +
-"元謀・藍田・北京原人\n" +
-"神話伝説(三皇五帝)\n" +
-"黄河・長江文明\n" +
-"夏\n" +
-"殷\n" +
-"周 西周\n" +
-"東周 春秋\n" +
-"戦国\n" +
-"秦\n" +
-"漢 前漢\n" +
-"新\n" +
-"後漢\n" +
-"三国 魏 呉 蜀\n" +
-"晋 西晋\n" +
-"東晋 十六国\n" +
-"南北朝 宋 北魏\n" +
-"斉\n" +
-"梁 西魏 東魏\n" +
-"陳 北周 北斉\n" +
-"隋\n" +
-"唐\n" +
-"五代十国\n" +
-"宋 北宋 遼 西夏\n" +
-"南宋 金\n" +
-"元\n" +
-"明 北元\n" +
-"後金 南明 大順\n" +
-"清\n" +
-"中華民国\n" +
-"中華人民共和国 (参考:\n" +
-"台湾問題)\n" +
-"\n" +
-"中国の歴史(ちゅうごくのれきし)、或いは中国史(ちゅうごくし)\n" +
-"\n" +
-"中国の黄河文明は古代の四大文明の一つに数えられ、また黄河文明よりも更に遡る長江文明が存在した。\n" +
-"目次\n" +
-"[非表示]\n" +
-"\n" +
-" * 1 王朝、政権の変遷\n" +
-" * 2 概略\n" +
-" o 2.1 先史人類史\n" +
-" o 2.2 文明の萌芽\n" +
-" + 2.2.1 黄河文明\n" +
-" + 2.2.2 長江文明\n" +
-" + 2.2.3 その他\n" +
-" o 2.3 先秦時代\n" +
-" + 2.3.1 三代\n" +
-" + 2.3.2 春秋戦国\n" +
-" o 2.4 秦漢帝国\n" +
-" o 2.5 魏晋南北朝時代\n" +
-" o 2.6 隋唐帝国\n" +
-" o 2.7 五代十国・宋\n" +
-" o 2.8 モンゴル帝国\n" +
-" o 2.9 明清帝国\n" +
-" o 2.10 中国の半植民地化\n" +
-" o 2.11 中華民国\n" +
-" + 2.11.1 革命後の中国の政局\n" +
-" + 2.11.2 袁世凱の台頭と帝制運動(1913年~1916年)\n" +
-" + 2.11.3 袁世凱死後の政局(1916年~1920年)\n" +
-" + 2.11.4 国民革命(1920年~1928年)\n" +
-" + 2.11.5 国民政府(1928年~1931年)\n" +
-" + 2.11.6 抗日戦争(1931年~1937年)\n" +
-" + 2.11.7 日中戦争(1937年~1945年)\n" +
-" + 2.11.8 漢民族以外の民族の動向\n" +
-" # 2.11.8.1 モンゴルとチベットでの動き\n" +
-" # 2.11.8.2 東トルキスタン(新疆)での動き\n" +
-" o 2.12 中華人民共和国\n" +
-" + 2.12.1 社会主義国化と粛清(1949年~1957年)\n" +
-" + 2.12.2 中国共産党の対ソ自立化(1958年~1965年)\n" +
-" + 2.12.3 文化大革命前期(1966年~1969年)\n" +
-" + 2.12.4 文化大革命後期(1969~1976年)\n" +
-" + 2.12.5 改革開放以後の現在(1976年~)\n" +
-" # 2.12.5.1 一党独裁\n" +
-" # 2.12.5.2 少数民族問題\n" +
-" * 3 人口の変遷\n" +
-" * 4 地方行政制度\n" +
-" o 4.1 封建制度(前1600年頃~前221年)\n" +
-" o 4.2 郡県制度(前221年~249年)\n" +
-" o 4.3 軍府による広域行政(249年~583年)\n" +
-" o 4.4 州県制(583年~1276年)\n" +
-" * 5 祭祀制度\n" +
-" * 6 外交\n" +
-" o 6.1 漢帝国\n" +
-" o 6.2 魏晋南北朝時代\n" +
-" o 6.3 隋唐帝国\n" +
-" * 7 関連項目\n" +
-" * 8 脚注\n" +
-"\n" +
-"[編集] 王朝、政権の変遷\n" +
-"現在の中国、すなわち中華人民共和国の領域\n" +
-"現在の中国、すなわち中華人民共和国の領域\n" +
-"\n" +
-" * 長江文明\n" +
-" * 黄河文明\n" +
-" * 夏(紀元前2070年頃 - 紀元前1600年頃\n" +
-" * 殷(紀元前1600年頃 - 紀元前12世紀・紀元前11世紀ごろ)\n" +
-"\n" +
-" * 周(紀元前12世紀・紀元前11世紀ごろ - 紀元前256年)…殷を倒し、西周建国。克殷の年代については諸説あり、はっきりしない。\n" +
-" o 春秋時代(紀元前770年 - 紀元前403年)…紀元前453年晋が韓魏趙に分割された時点、または紀元前403年韓魏趙が諸侯に列した時点をもって春秋時代の終わり、戦国時代の始まりとする。\n" +
-" o 戦国時代(紀元前403年 - 紀元前221年)…晋が韓・趙・魏に分裂し、戦国時代突入。\n" +
-" * 秦(紀元前221年 - 紀元前207年)…秦王・政が6国を滅ぼし中華統一。\n" +
-" * 漢\n" +
-" o 前漢(紀元前206年 - 8年)…秦滅亡後、楚の項羽との楚漢戦争に勝ち、劉邦が建国。\n" +
-" o 新(8年 - 23年)…外戚の王莽が前漢皇帝から帝位を簒奪し建国。\n" +
-" o 後漢(25年 - 220年)…前漢の景帝の子孫の劉秀(光武帝)が王莽軍を破り、漢を再興。\n" +
-" * 三国時代(220年 - 280年)\n" +
-" o 魏、蜀(蜀漢・漢)、呉…曹操の子曹丕が献帝から禅譲を受け即位すると、蜀の劉備も漢皇帝を名乗り即位、さらに呉の孫権も大帝として即位し、三国時代に入る。\n" +
-" * 晋(265年 - 420年)\n" +
-" o 西晋(265年 - 316年)…晋王司馬炎が魏の元帝より禅譲を受け即位し建国。だが、異民族五胡の侵入により衰退。異民族の漢に滅ぼされた。\n" +
-" o 東晋(317年 - 420年)…皇族でただ一人生き残った琅邪王・司馬睿は江南に逃れ、建康で即位(元帝)。これを中原の晋と区別して東晋という。\n" +
-" o 五胡十六国時代(304年 - 439年)\n" +
-" * 南北朝時代(439年 - 589年)\n" +
-" o 北魏、東魏、西魏、北斉、北周\n" +
-" o 宋、斉、梁、陳\n" +
-" * 隋(581年 - 619年)\n" +
-" * 唐(618年 - 907年)\n" +
-" o 武周\n" +
-" * 五代十国時代\n" +
-" o 後梁、後唐、後晋、後漢、後周……五代(中原を中心とする国)\n" +
-" o 呉、南唐・閩・呉越・荊南・楚・南漢・前蜀・後蜀・北漢……十国(中華東西南北に拠る勢力)\n" +
-" * 宋\n" +
-" o 北宋(960年 - 1127年)\n" +
-" o 南宋(1127年 - 1279年)\n" +
-" o 遼、西夏、金\n" +
-" * 元(1271年 - 1368年)\n" +
-" * 明(1368年 - 1644年)\n" +
-" o 南明\n" +
-" * 清(1616年 - 1912年)(1616年 - 1636年は後金、それ以前はマンジュ国)\n" +
-" o 太平天国、満州国\n" +
-" * 中華民国(台湾)(1912年 - 現在)\n" +
-" * 中華人民共和国(1949年 - 現在)\n" +
-"\n" +
-"[編集] 概略\n" +
-"\n" +
-"[編集] 先史人類史\n" +
-"\n" +
-"中国に現れた最初期の人類としては、元謀原人や藍田原人、そして北京原人が知られている。\n" +
-"\n" +
-"[編集] 文明の萌芽\n" +
-"\n" +
-"中国大陸では、古くから文明が発達した。中国文明と呼ばれるものは、大きく分けて黄河文明と長江文明の2つがある。黄河文明は、畑作が中心、長江文明は稲作が中心であった。黄河文明が、歴史時代の殷(商)や周などにつながっていき、中国大陸の歴史の中軸となった。長江文明は次第に、中央集権国家を創出した黄河文明に同化吸収されていった。\n" +
-"\n" +
-"[編集] 黄河文明\n" +
-"龍山文化時代の高杯。1976年山東省出土\n" +
-"龍山文化時代の高杯。1976年山東省出土\n" +
-"\n" +
-"黄河文明は、その後の中国の歴史の主軸となる。\n" +
-"\n" +
-" * 裴李崗文化…紀元前7000?~紀元前5000?。一般的な「新石器時代」のはじまり。定住し、農業も行われていた。河南省(黄河中流)。土器は赤褐色\n" +
-" * 老官台文化…紀元前6000?~紀元前5000?。土器作りや粟作りが行われていた。陝西省(黄河上流)。土器は赤色。\n" +
-" * 北辛文化…紀元前6000?~紀元前5000?。土器は黄褐色。山東省(黄河下流)\n" +
-" * 磁山文化…紀元前6000?~紀元前5000?。土器は赤褐色。河北省(黄河下流)\n" +
-" * 仰韶文化…紀元前4800?~紀元前2500?。前期黄河文明における最大の文化。陝西省から河南省にかけて存在。このころは母系社会で、農村の階層化も始まった。文化後期になると、社会の階層化、分業化が進み、マルクス経済学でいうところの原始共産制は仰韶文化のころに終焉したと見られる。土器は赤色。\n" +
-" * 後岡文化…紀元前5000?~紀元前4000?。北辛文化が発展。河南省。\n" +
-" * 大汶口文化…紀元前4300?~紀元前2400?。土器は前期は赤色(彩陶)、後期は黒色(黒陶)。なお、この区分は黄河文明全体に見られる。山東省。\n" +
-" * 龍山文化…紀元前2500?~紀元前2000?。大汶口文化から発展。後期黄河文明最大の文化。土器は黒色。山東省。\n" +
-" * 二里頭文化…紀元前2000?~紀元前1600?。遺跡の中心部には二つの宮殿がある。河南省。\n" +
-"\n" +
-"[編集] 長江文明\n" +
-"母なる長江\n" +
-"母なる長江\n" +
-"\n" +
-"長江文明は黄河文明が萌芽する遥か前より栄えていた。夏王朝の始祖とされる禹が南方出身であるとされるため、この長江流域に夏王朝が存在したのではないかという説[1]がある。\n" +
-"\n" +
-" * 玉蟾岩遺跡…湖南省(長江中流)。紀元前14000年?~紀元前12000年?の稲モミが見つかっているが、栽培したものかは確定できない。\n" +
-" * 仙人洞・呂桶環遺跡…江西省(長江中流)。紀元前12000年ごろ?の栽培した稲が見つかっており、それまで他から伝播してきたと考えられていた中国の農耕が中国独自でかつ最も古いものの一つだと確かめられた。\n" +
-" * 彭頭山文化…湖南省(長江中流)。紀元前7000年?~紀元前5000年?。散播農法が行われており、中国における最古の水稲とされる。\n" +
-" * 大渓文化…四川省(長江上流)。紀元前4500年?~紀元前3300年?。彩文紅陶(紋様を付けた紅い土器)が特徴で、後期には黒陶・灰陶が登場。灌漑農法が確立され、住居地が水の補給のための水辺から大規模に農耕を行う事の出来る平野部へ移動した。\n" +
-" * 屈家嶺文化…湖北省。紀元前3000年?~紀元前2500年?大渓文化を引き継いで、ろくろを使用した黒陶が特徴。河南地方の黄河文明にも影響を与えたと考えられる。\n" +
-" * 石家河文化…屈家嶺文化から発展し、湖北省天門県石家河に大規模な都城を作った紀元前2500年頃を境として屈家嶺と区別する。この都城は南北1.3Km、東西1.1Kmという大きさで、上述の黄河流域の部族と抗争したのはこの頃と考えられる。\n" +
-" * 河姆渡文化 …紀元前5000年?~紀元前4000年?下流域では最古の稲作。狩猟や漁労も合わせて行われ、ブタの家畜化なども行われた。\n" +
-" * 良渚文化… 浙江省(銭塘江流域)。紀元前5260年?~紀元前4200年?(以前は文化形態から大汶口文化中期ごろにはじまったとされていたが、1977年出土木材の年輪分析で改められた)青銅器以前の文明。多数の玉器の他に、絹が出土している。分業や階層化も行われたと見られ、殉死者を伴う墓が発見されている。黄河文明の山東竜山文化とは相互に関係があったと見られ、同時期に衰退したことは何らかの共通の原因があると見られている。\n" +
-" * 三星堆遺跡… 紀元前2600年?~紀元前850年?。大量の青銅器が出土し、前述の他に目が飛び出た仮面・縦目の仮面・黄金の杖などがあり、また子安貝や象牙なども集められており、権力の階層があったことがうかがい知れる。青銅器については原始的な部分が無いままに高度な青銅器を作っているため他の地域、おそらくは黄河流域からの技術の流入と考えられる。長江文明と同じく文字は発見されていないが、「巴蜀文字」と呼ばれる文字らしきものがあり、一部にこれをインダス文字と結びつける説もある。\n" +
-"\n" +
-"[編集] その他\n" +
-"\n" +
-" * 新楽遺跡…遼寧省(遼河流域)。紀元前5200年?ごろの定住集落。母系社会が定着し、農業も行われていた。\n" +
-"\n" +
-"[編集] 先秦時代\n" +
-"\n" +
-"[編集] 三代\n" +
-"\n" +
-"史記では伝説と目される三皇五帝時代に続いて夏[2]王朝について記述されている。夏については実在が確かでなくまた定説もない。\n" +
-"\n" +
-"殷[3](商)が実在の確認されている最古の王朝である。殷では、王が占いによって政治を行っていた(神権政治)。殷は以前は山東で興ったとされたが、近年は河北付近に興ったとする見方が有力で、黄河文明で生まれた村のうち強大になり発展した都市国家の盟主であった[4]と考えられる。\n" +
-"\n" +
-"紀元前11世紀頃に殷を滅ぼした周は、各地の有力者や王族を諸侯として封建制をおこなった。しかし、周王朝は徐々に弱体化し、異民族に攻められ、紀元前770年には成周へ遷都した。その後、史記周本紀によれば犬戎の侵入により西周が滅び、洛陽に東周が再興されたされるが、同じく平勢隆郎の検討によれば幽王が殺害されたあと短期間携王が西、平王が東に並立し、紀元前759年平王が携王を滅ぼしたと考えられる。平王のもとで周は洛陽にあり、西周の故地には秦が入る。これ以降を春秋時代と呼ぶ。春秋時代には、周王朝の権威はまだ残っていたが、紀元前403年から始まるとされる戦国時代には、周王朝の権威は無視されるようになる。\n" +
-"\n" +
-"[編集] 春秋戦国\n" +
-"諸子百家の一、孔子\n" +
-"諸子百家の一、孔子\n" +
-"\n" +
-"春秋戦国時代は、諸侯が争う戦乱の時代であった。\n" +
-"\n" +
-"春秋時代は都市国家の盟主どうしの戦いだった。しかし春秋末期最強の都市国家晋が三分割されたころから様子が変わる。その当時の晋の有力な家臣六家が相争い、最初力が抜きん出ていた智氏が弱小な趙氏を攻めたものの、趙氏がよく農村を経済的ではなく封建的に支配し、それによって集めた食糧が多かったために城を守りきり、疲弊した智氏を魏氏、韓氏が攻め滅ぼしたために最終的に趙、魏、韓の三国が出来た。このこともあってそれまで人口多くてもせいぜい5万人程度だった都市国家が富国強兵に努め、商工業が発達し、貨幣も使用し始めやがて領土国家に変貌しその国都となった旧都市国家は30万人規模の都市に変貌する。また鉄器が普及したこともあいまって、農業生産も増大した。晋の分裂以後を一般に戦国時代という。\n" +
-"\n" +
-"また、このような戦乱の世をどのように過ごすべきかという思想がさまざまな人たちによって作られた。このような思想を説いた人たちを諸子百家(陰陽家、儒家、墨家、法家、名家、道家、兵家等が代表的)という。\n" +
-"\n" +
-"[編集] 秦漢帝国\n" +
-"始皇帝\n" +
-"\n" +
-"現在の陝西省あたりにあった秦は、戦国時代に着々と勢力を伸ばした。勢力を伸ばした背景には、厳格な法律で人々を統治しようとする法家の思想を採用して、富国強兵に努めたことにあった。秦王政は、他の6つの列強を次々と滅ぼし、紀元前221年には史上はじめての中国統一を成し遂げた。秦王政は、自らの偉業をたたえ、王を超える称号として皇帝を用い、自ら始皇帝と名乗った。\n" +
-"兵馬俑\n" +
-"\n" +
-"始皇帝は、法家の李斯を登用し、中央集権化を推し進めた。このとき、中央から派遣した役人が全国の各地方を支配する郡県制が施行された。また、文字・貨幣・度量衡の統一も行われた。さらに、当時モンゴル高原に勢力をもっていた遊牧民族の匈奴を防ぐために万里の長城を建設させた。さらに、軍隊を派遣して、匈奴の南下を抑えた。また、嶺南地方(現在の広東省)にも軍を派遣し、この地にいた百越諸族を制圧した。しかし、このような中央集権化や土木事業・軍事作戦は人々に多大な負担を与えた。そのため、紀元前210年に始皇帝が死ぬと、翌年には陳勝・呉広の乱という農民反乱がおきた。これに刺激され各地で反乱がおき、ついに秦は紀元前206年に滅びた。\n" +
-"漢の偉大な発明、紙\n" +
-"漢の偉大な発明、紙\n" +
-"\n" +
-"秦が滅びたあと、劉邦と項羽が覇権をめぐって争った(楚漢戦争)が、紀元前202年には、劉邦が項羽を破り、漢の皇帝となった。劉邦は、始皇帝が急速な中央集権化を推し進めて失敗したことから、一部の地域には親戚や臣下を王として治めさせ、ほかの地域を中央が直接管理できるようにした。これを郡国制という。しかし、紀元前154年には、各地の王が中央に対して呉楚七国の乱と呼ばれる反乱を起こした。この反乱は鎮圧され、結果として、中央集権化が進んだ。紀元前141年に即位した武帝は、国内の安定もあり、対外発展を推し進めた。武帝は匈奴を撃退し、シルクロードを通じた西方との貿易を直接行えるようにした。また、朝鮮半島北部、ベトナム北中部にも侵攻した。これらの地域はその後も強く中国文化の影響を受けることとなった。また、武帝は董仲舒の意見を聞いて、儒教を統治の基本とした。これ以降、中国の王朝は基本的に儒教を統治の基本としていく。一方で文帝の頃より貨幣経済が広汎に浸透しており、度重なる軍事行動と相まって、農民の生活を苦しめた。漢の宮廷では貨幣の浸透が農民に不利益であることがしばしば論じられており、農民の救済策が検討され、富商を中心に増税をおこなうなど大土地所有を抑制しようと努力した。また儒教の国教化に関連して儒教の教義論争がしばしば宮廷の重大問題とされるようになった。\n" +
-"\n" +
-"8年には、王莽が皇帝の位を奪って、一旦漢を滅ぼした。王莽は当初儒教主義的な徳治政治をおこなったが、相次ぐ貨幣の改鋳や頻繁な地名、官名の変更など理想主義的で恣意的な政策をおこなったため徐々に民心を失い、辺境異民族が頻繁に侵入し、赤眉の乱など漢の復興を求める反乱が起き、内乱状態に陥った。結局、漢の皇族の血を引く劉秀によって漢王朝が復興された。この劉秀が建てた漢を後漢という。王朝初期には雲南に進出し、また班超によって西域経営がおこなわれ、シルクロードをおさえた。初期の後漢王朝は豪族連合的な政権であったが、章帝の時代までは中央集権化につとめ安定した政治が行われた。しかし安帝時代以後外戚や宦官の権力の増大と官僚の党派対立に悩まされるようになった。\n" +
-"\n" +
-"[編集] 魏晋南北朝時代\n" +
-"三国決戦の地、赤壁\n" +
-"三国決戦の地、赤壁\n" +
-"\n" +
-"後漢末期の184年には、黄巾の乱と呼ばれる農民反乱がおきた。これ以降、隋が589年に中国を再統一するまで、一時期を除いて中国は分裂を続けた。この隋の再統一までの分裂の時代を魏晋南北朝時代という。また、この時期には日本や朝鮮など中国周辺の諸民族が独自の国家を形成し始めた時期でもある。\n" +
-"\n" +
-"さて、黄巾の乱が鎮圧されたあと、豪族が各地に独自政権を立てた。中でも有力であったのが、漢王朝の皇帝を擁していた曹操である。しかし、中国統一を目指していた曹操は、208年に赤壁の戦いで、江南の豪族孫権に敗れた。結局、曹操の死後、220年に曹操の子の曹丕が後漢の皇帝から皇帝の位を譲られ、魏を建国した。これに対して、221年には、現在の四川省に割拠していた劉備が皇帝となり、蜀を建国した。さらに、江南の孫権も229年に皇帝と称して、呉を建国した。この魏・呉・蜀の三国が並立した時代を三国時代という。\n" +
-"\n" +
-"三国の中で、もっとも有力であったのは魏であった。魏は後漢の半分以上の領土を継承したが、戦乱で荒廃した地域に積極的な屯田をおこない、支配地域の国力の回復につとめた。魏では官吏登用法として、九品官人法[5]がおこなわれた。\n" +
-"\n" +
-"三国は基本的に魏と呉・蜀同盟との争いを軸としてしばしば交戦したが、蜀がまず263年に魏に滅ぼされ、その魏も有力な臣下であった司馬炎に265年に皇帝の位を譲るという形で滅亡した。司馬炎は皇帝となって国号を晋と命名し、さらに280年に呉を滅ぼし、中国を統一した。しかし、300年から帝位をめぐって各地の皇族が戦争を起こした(八王の乱)。このとき、五胡と呼ばれる異民族を軍隊として用いたため、これらの五胡が非常に強い力を持つようになった。316年には、五胡の1つである匈奴が晋をいったん滅ぼした。これ以降、中国の北方は、五胡の建てた国々が支配し、南方は江南に避難した晋王朝(南に移ったあとの晋を東晋という)が支配した。この時期は、戦乱を憎み、宗教に頼る向きがあった。代表的な宗教が仏教と道教であり、この2つの宗教は時には激しく対立することがあった。\n" +
-"\n" +
-"さて、江南を中心とする中国の南方では、異民族を恐れて、中国の北方から人々が多く移住してきた。これらの人々によって、江南の開発が進んだ。それに伴い、貴族が大土地所有を行うということが一般的になり、貴族が国の政治を左右した。一部の貴族の権力は、しばしば皇帝権力よりも強かった。これらの貴族階層の者により散文、書画等の六朝文化と呼ばれる文化が発展した。東晋滅亡後、宋・斉・梁・陳という4つの王朝が江南地方を支配したが、貴族が強い力を握ることは変わらなかった。梁の武帝は仏教の保護に努めた。\n" +
-"\n" +
-"北方では、鮮卑族の王朝である北魏が台頭し、439年には、華北を統一した。471年に即位した孝文帝は漢化政策を推し進めた。また、土地を国家が民衆に割り振る均田制を始め、律令制の基礎付けをした。しかし、このような漢化政策に反対するものがいたこともあり、北魏は、西魏と東魏に分裂した。西魏は北周へと、東魏は北斉へと王朝が交代した。577年には北周が北斉を滅ぼしたが、581年に隋が北周にとって代わった。589年に隋は南方の陳を滅ぼし、中国を統一した。\n" +
-"\n" +
-"魏晋南北朝表も参照。\n" +
-"\n" +
-"[編集] 隋唐帝国\n" +
-"現在でも使用される世界最大の大運河\n" +
-"現在でも使用される世界最大の大運河\n" +
-"\n" +
-"中国を統一した隋の文帝は、均田制・租庸調制・府兵制などを進め、中央集権化を目指した。また同時に九品中正法を廃止し、試験によって実力を測る科挙を採用した。しかし、文帝の後を継いだ煬帝は、江南・華北を結ぶ大運河を建設したり、度重なる遠征を行ったために、民衆の負担が増大した。このため農民反乱が起き、618年に隋は滅亡した。\n" +
-"\n" +
-"隋に代わって、中国を支配したのが、唐である。唐は基本的に隋の支配システムを受け継いだ。626年に即位した太宗は、租庸調制を整備し、律令制を完成させた。唐の都の長安は、当時世界最大級の都市であり、各国の商人などが集まった。長安は、西方にはシルクロードによってイスラム帝国や東ローマ帝国などと結ばれ、ゾロアスター教・景教・マニ教をはじめとする各地の宗教が流入した。また、文化史上も唐時代の詩は最高のものとされる。\n" +
-"当時世界最大の都市だった長安のシンボルタワー・大雁塔\n" +
-"当時世界最大の都市だった長安のシンボルタワー・大雁塔\n" +
-"\n" +
-"太宗の死後着々と力を付けた太宗とその子の高宗の皇后武則天はついに690年皇帝に即位した。前にも後にも中国にはこれのほかに女帝はいない。\n" +
-"\n" +
-"712年に即位した玄宗は国内の安定を目指したが、すでに律令制は制度疲労を起こしていた。また、周辺諸民族の統治に失敗したため、辺境に強大な軍事力が置かれた。これを節度使という。節度使は、後に軍権以外にも、民政権・財政権をももつようになり、力を強めていく。763年には、節度使の安禄山たちが安史の乱と呼ばれる反乱を起こした。この反乱は郭子儀や僕固懐恩、ウイグル帝国の太子葉護らの活躍で何とか鎮圧されたが、反乱軍の投降者の勢力を無視できず、投降者を節度使に任じたことなどから各地で土地の私有(荘園)が進み、土地の国有を前提とする均田制が行えなくなっていった。結局、政府は土地の私有を認めざるを得なくなった。結果として、律令制度は崩壊した。875年から884年には黄巣の乱と呼ばれる農民反乱がおき、唐王朝の権威は失墜した。このような中、各地の節度使はますます権力を強めた。907年には、節度使の1人である朱全忠が唐を滅ぼした。\n" +
-"\n" +
-"[編集] 五代十国・宋\n" +
-"画像:Compass in a wooden frame.jpg\n" +
-"中国航海術の偉大な発明、羅針盤\n" +
-"\n" +
-"唐の滅亡後、各地で節度使があい争った。この時代を五代十国時代という。この戦乱を静めたのが、960年に皇帝となって宋を建国した趙匡胤である。ただし、完全に中国を宋が統一したのは趙匡胤の死後の976年である。\n" +
-"\n" +
-"趙匡胤は、節度使が強い権力をもっていたことで戦乱が起きていたことを考え、軍隊は文官が率いるという文治主義をとった。また、これらの文官は、科挙によって登用された。宋からは、科挙の最終試験は皇帝自らが行うものとされ、科挙で登用された官吏と皇帝の結びつきは深まった。また、多くの国家機関を皇帝直属のものとし、中央集権・皇帝権力強化を進めた。科挙を受験した人々は大体が、地主層であった。これらの地主層を士大夫と呼び、のちの清時代まで、この層が皇帝権力を支え、官吏を輩出し続けた。\n" +
-"杭州\n" +
-"杭州\n" +
-"\n" +
-"唐は、その強大な力によって、周辺諸民族を影響下においていたが、唐の衰退によってこれらの諸民族は自立し、独自文化を発達させた。また、宋は文治主義を採用していたたため、戦いに不慣れな文官が軍隊を統制したので、軍事力が弱く、周辺諸民族との戦いにも負け続けた。なかでも、契丹族の遼・タングート族の西夏・女真族の金は、中国本土にも侵入し、宋を圧迫した。これらの民族は、魏晋南北朝時代の五胡と違い、中国文化を唯一絶対なものとせず、独自文化を保持し続けた。このような王朝を征服王朝という。後代の元や清も征服王朝であり、以降、中国文化はこれらの周辺諸民族の影響を強く受けるようになった。\n" +
-"\n" +
-"1127年には、金の圧迫を受け、宋は、江南に移った。これ以前の宋を北宋、以降を南宋という。南宋時代には、江南の経済が急速に発展した。また、すでに唐代の終わりから、陸上の東西交易は衰退していたが、この時期には、ムスリム商人を中心とした海上の東西交易が発達した。当時の宋の特産品であった陶磁器から、この交易路は陶磁の道と呼ばれる。南宋の首都にして海上貿易の中心港だった杭州は経済都市として栄え、元時代に中国を訪れたマルコ・ポーロは杭州を「世界一繁栄し、世界一豊かな都市」と評している。\n" +
-"\n" +
-"文化的には、経済発展に伴って庶民文化が発達した。また、士大夫の中では新しい学問をもとめる動きが出て、儒教の一派として朱子学が生まれた。\n" +
-"\n" +
-"[編集] モンゴル帝国\n" +
-"\n" +
-"13世紀初頭にモンゴル高原で、チンギス・ハーンが、モンゴルの諸部族を統一し、ユーラシア大陸各地へと、征服運動を開始した。モンゴル人たちは、東ヨーロッパ、ロシア、小アジア、メソポタミア、ペルシャ、アフガニスタン、チベットに至る広大な領域を支配し、この帝国はモンゴル帝国と呼ばれる。中国もまた征服活動の例外ではなかった。当時、黄河が南流し、山東半島の南に流れていたため、漢民族は北方民族の攻勢を防げなかった。華北は満州系の女真族による金が、南部を南宋が支配していたが、金は1234年、南宋は1279年にモンゴルに滅ぼされた。\n" +
-"\n" +
-"モンゴル帝国は各地に王族や漢人有力者を分封した。モンゴル帝国の5代目の君主(ハーン)にクビライが即位すると、これに反発する者たちが、反乱を起こした。結局、モンゴル帝国西部に対する大ハーン直轄支配は消滅し、大ハーンの政権は中国に軸足を置くようになった。もっとも、西方が離反しても、帝国としての緩やかな連合は保たれ、ユーラシアには平和が訪れていた。1271年にクビライは元を国号として中国支配をすすめた。\n" +
-"宋代に発明された火薬は元寇の時使用され、日本の武士を驚かせた\n" +
-"宋代に発明された火薬は元寇の時使用され、日本の武士を驚かせた\n" +
-"\n" +
-"モンゴル帝国(元)は未だ征服していなかった南宋への牽制のためにも日本に対して通交を求めたが、日本側は断った。このため二度に渡り日本に侵攻したが、成功しなかった(元寇)。元は三度目の日本侵攻を計画したが、実現には至らなかった。\n" +
-"\n" +
-"中国南部を支配していた南宋を1279年に元が滅ぼしたのはすでに見たとおりである。\n" +
-"\n" +
-"元の中国支配は、伝統的な中国王朝とは大きく異なっていた。元は中国の伝統的な統治機構を採用せず、遊牧民の政治の仕組みを中国に移入したからである。元の支配階級の人々は、すでに西方の優れた文化に触れていたため、中国文化を無批判に取り入れることはなかった。それは政治においても同様だったのである。それに伴い、伝統的な統治機構を担ってきた、儒教的な教養を身に付けた士大夫層は冷遇され、政権から遠ざけられた。そのため、彼らは曲や小説などの娯楽性の強い文学作品の執筆に携わった。この時代の曲は元曲と呼ばれ、中国文学史上最高のものとされる。また、モンゴル帝国がユーラシア大陸を広く支配したために、この時期は東西交易が前代に増して盛んになった。\n" +
-"\n" +
-"元は、宮廷費用などを浪費しており、そのため塩の専売策や紙幣の濫発で収入を増やそうとした。しかし、これは経済を混乱させるだけであった。そして、庶民の生活は困窮した。こうした中、各地で反乱が発生した。中でも最大規模のものは1351年に勃発した紅巾党の乱であった。紅巾党の中から頭角をあらわした朱元璋は、1368年に南京で皇帝に即位して明を建国した。同年、朱元璋は元の都の大都を陥落させ、元の政府はモンゴル高原へと撤退した。撤退後の元のことを北元といい、明と北元はしばしば争った。明側は1388年に北元は滅んだと称しているが、実質的にはその後も両者の争いは続いた。\n" +
-"\n" +
-"[編集] 明清帝国\n" +
-"鄭和の南海大遠征の時の巨艦・「宝船」\n" +
-"鄭和の南海大遠征の時の巨艦・「宝船」\n" +
-"\n" +
-"洪武帝の死後、孫の建文帝が即位したが、洪武帝の四男である朱棣が反乱(靖難の変)を起こし、朱棣が永楽帝として皇帝になった。永楽帝は、モンゴルを攻撃するなど、積極的に対外進出を進めた。また、鄭和を南洋に派遣して、諸国に朝貢を求めた。この時の船が近年の研究によって長さ170m余、幅50m余という巨艦で、その約70年後の大航海時代の船の5倍から10倍近い船であったことが分かっている。\n" +
-"\n" +
-"また、永楽帝によって現在に至るまで世界最大の宮殿である紫禁城が北京に築かれた。\n" +
-"\n" +
-"永楽帝の死後、財政事情もあって、明は海禁政策をとり、貿易を著しく制限することとなる。このとき永楽帝を引き継いで、鄭和のようにずっと積極的に海外へ進出していれば、ヨーロッパのアジア・アフリカ支配も実現しなかっただろうと多くの歴史家は推測する。その後、モンゴルが再び勢力を強めはじめ、1449年には皇帝がモンゴルの捕虜になるという事件(土木の変)まで起きた。同じ頃、中国南部沿岸には、倭寇と呼ばれる海上の無法者たちが襲撃を重ねていた。これは、海禁政策で貿易が自由にできなくなっていたためである。倭寇とモンゴルを併称して北虜南倭というが、北虜南倭は明を強く苦しめた。\n" +
-"紫禁城の中心、太和殿\n" +
-"紫禁城の中心、太和殿\n" +
-"\n" +
-"また、皇帝による贅沢や多額の軍事費用の負担は民衆に重税となって圧し掛かってきた。これに対し、各地で反乱がおき、その中で頭角をあらわした李自成が1644年に明を滅ぼした。\n" +
-"\n" +
-"17世紀初頭には、現在の中国東北地方でヌルハチが女真族を統一した。その子のホンタイジは中国東北地方と内モンゴルを征服し、1636年にはモンゴル人から元の玉璽を譲られ、清を建国した。李自成が明を滅ぼすと清の軍隊は万里の長城を越えて、李自成の軍隊を打ち破り、中国全土を支配下に置いた。17世紀後半から18世紀にかけて、康熙帝・雍正帝・乾隆帝という3人の賢い皇帝の下で、清の支配領域は中国本土と中国東北地方・モンゴルのほかに、台湾・東トルキスタン・チベットにまで及んだ。\n" +
-"\n" +
-"この清の支配領域が大幅に広がった時期は、『四庫全書』の編纂など文化事業も盛んになった。しかし、これは学者をこのような事業に動員して、異民族支配に反抗する暇をなくそうとした面もあった。\n" +
-"\n" +
-"明代の後期には、メキシコや日本から大量の銀が中国に流入し、貨幣として基本的に銀が使われるようになった。そのため、政府も一条鞭法と呼ばれる税を銀で払わせる税法を始めた。また、清代に入ると、人頭税を廃止し土地課税のみとする地丁銀制が始まった。また明清両代ともに商品経済が盛んになり、農業生産も向上した。\n" +
-"\n" +
-"[編集] 中国の半植民地化\n" +
-"フランス人が描いた中国半植民地化の風刺画。イギリス、ドイツ、ロシア、フランス、日本が中国を分割している。\n" +
-"フランス人が描いた中国半植民地化の風刺画。イギリス、ドイツ、ロシア、フランス、日本が中国を分割している。\n" +
-"\n" +
-"18世紀が終わるまでには、清とヨーロッパとの貿易はイギリスがほぼ独占していた。しかし、当時イギリスの物産で中国に売れるものはほとんどなく、逆に中国の安いお茶はイギリスの労働者階級を中心に大きな需要があったこともあり、イギリスは貿易赤字に苦しんだ。そこで、イギリスは麻薬であるアヘンを中国に輸出し始めた。結果、イギリスは大幅な貿易黒字に転じた。しかし、中国にはアヘン中毒者が蔓延し、この事態を重く見た清朝政府は、1839年に林則徐に命じてアヘン貿易を取り締まらせた。しかし、これに反発したイギリス政府は清に対して翌1840年宣戦布告した。アヘン戦争と呼ばれるこの戦争では、工業化をとげ、近代兵器を持っていたイギリス軍が勝利した。これ以降、イギリスをはじめとするヨーロッパの列強は中国に対し、不平等条約(治外法権の承認、関税自主権の喪失、片務的最恵国待遇の承認、開港、租借といった)を締結させ、中国の半植民地化が進んだ。\n" +
-"\n" +
-"国内的には、太平天国の乱などの反乱もしばしば起きた。これに対し、同治帝(在位1861年 - 1875年)の治世の下で、ヨーロッパの技術の取り入れ(洋務運動)が行われた。\n" +
-"\n" +
-"1894年から翌1895年にかけて清と日本との間で行われた日清戦争にも清は敗退した。これは洋務運動の失敗を意味するものであった。この戦争の結果、日本と清との間で結んだ下関条約により、李氏朝鮮の独立が認められ、中国の王朝が長年続けてきた冊封体制が崩壊した。\n" +
-"\n" +
-"その後、清朝政府は改革を進めようとしたものの、沿岸地域を租借地とされるなどのイギリス・フランス・ロシア・ドイツ・アメリカ合衆国・日本による半植民地化の動きは止まらなかった。結局、1911年の武昌での軍隊蜂起をきっかけに辛亥革命が起こり、各地の省が清からの独立を宣言した。翌1912年1月1日、革命派の首領の孫文によって南京で中華民国の樹立が宣言された。北京にいた清の皇帝溥儀(宣統帝)は、清朝政府内部の実力者である袁世凱により2月12日に退位させられ、清は完全に滅亡した。\n" +
-"\n" +
-"[編集] 中華民国\n" +
-"\n" +
-"[編集] 革命後の中国の政局\n" +
-"\n" +
-"中華民国は成立したものの、清朝を打倒した時点で革命に参加した勢力どうしで利害をめぐって対立するようになり、政局は混乱した。各地の軍閥も民国政府の税金を横領したり勝手に新税を導入して独自の財源を持つようになり、自立化した。\n" +
-"\n" +
-"[編集] 袁世凱の台頭と帝制運動(1913年~1916年)\n" +
-"袁世凱\n" +
-"袁世凱\n" +
-"\n" +
-"臨時大総統であった袁世凱は大総統の権力強化を図って議会主義的な国民党の勢力削減を企てた。国民党の急進派はこれに反発、第二革命を起こしたが鎮圧された。1913年10月袁は正式な大総統となり、さらに11月には国民党を非合法化し、解散を命じた。1914年1月には国会を廃止、5月1日には立法府の権限を弱め大総統の権力を大幅に強化した中華民国約法を公布した。\n" +
-"\n" +
-"袁は列強から多額の借款を借り受けて積極的な軍備強化・経済政策に着手した。当初列強の袁政権に対する期待は高かった。しかしこのような外国依存の財政は、のちに列強による中国の半植民地化をますます進めることにもなった。第一次世界大戦が始まると、新規借款の望みがなくなったため、袁は財政的に行き詰まった。また日本が中国での権益拡大に積極的に動いた。\n" +
-"\n" +
-"1915年5月9日に、袁が大隈重信内閣の21ヶ条要求を受けたことは大きな外交的失敗と見られ、同日は国恥記念日とされ袁の外交姿勢は激しく非難された。袁は独裁を強化することでこの危機を乗り越えようとし、立憲君主制的な皇帝制度へ移行し、自身が皇帝となることを望んだ。日本も立憲君主制には当初賛成していたようだが、中国国内で帝制反対運動が激化すると反対に転じ外交圧力をかけた。1916年袁は失意のうちに没した。\n" +
-"\n" +
-"[編集] 袁世凱死後の政局(1916年~1920年)\n" +
-"\n" +
-"袁の死後、北京政府の実権を掌握したのは国務総理となった段祺瑞であった。段は当初国会[6]の国民党議員などと提携し、調整的な政策をとっていた。しかし、第一次世界戦に対独参戦しようとしたため徐々に国会と対立した。段は日本の援助の下に強硬な政策を断行した。1917年8月14日第一次世界大戦に対独参戦。軍備を拡張して国内の統一を進めた。また鉄道や通信などの業界を背景とする利権集団が段を支えた。1918年には国会議員改定選挙を強行した。国民党はこれに激しく対立し、南方の地方軍とともに孫文を首班とする広東軍政府をつくった。5月には日本と日中軍事協定[7]を結んだ。寺内正毅内閣失脚後に日本の外交方針が転回すると、段は急速に没落した。段の安徽派と対立関係にあった直隷派の馮国璋は徐世昌を大総統に推薦し、段もこれを受け入れた。親日的な安徽派は徐々に影響力を失っていった。1919年5月4日、山東半島での主権回復と反日を訴えるデモ行進が始まった。これを五・四運動という。なお山東半島は1922年に返還された。1920年7月の安直戦争で直隷派に敗れたことで段は失脚した。\n" +
-"\n" +
-"[編集] 国民革命(1920年~1928年)\n" +
-"革命家・孫文\n" +
-"革命家・孫文\n" +
-"\n" +
-"袁世凱により国民党が非合法化されたのち、孫文は1914年7月に中国革命党を東京で結成した。1919年には拠点を上海に移し、中国国民党と改称した。1921年には上海で中国共産党が成立した。これらの政党は1918年のロシア革命の影響を受けており、議会政党というよりも明確な計画性と組織性を備えた革命政党を目指した。1924年国民党は第一回全国大会をおこない、党の組織を改編するとともに共産党との合同(第一次国共合作)を打ち出した。孫文はこのころ全く機能していなかった国会に代わって国内の団体代表による国民会議を提唱し、これに呼応した馮国璋により北京に迎えられた。1925年には国民会議促成会が開かれたが、この会期中に孫文は没した。7月には広東軍政府で機構再編が進み、中華民国国民政府の成立が宣言された。一方で1924年6月には蒋介石を校長として黄埔軍官学校が設立された。1925年4月に国民革命軍が正式に発足され、国民党は蒋介石を指導者として軍事的な革命路線を推し進めることとなった。1926年に広州から北伐を開始した。1927年1月には武漢に政府を移し、武漢国民政府と呼ばれるようになった。この武漢国民政府では当初国民党左派と共産党が優位にあったが、蒋介石は同年4月12日上海クーデターを起こしてこれらを弾圧し、4月18日には反共を前面に打ち出した南京国民政府を成立させた。南京国民政府は主に上海系の資本家に支えられ、北京・武漢・南京に3つの政権が鼎立することになったが、9月ごろから武漢政府も反共に転じ、南京政府に吸収された。1928年6月南京政府の国民革命軍は北京の中華民国政府を打倒し、12月に張学良もこれを承認したことから、国民政府によって中国は再び統一された。\n" +
-"\n" +
-"[編集] 国民政府(1928年~1931年)\n" +
-"蒋介石\n" +
-"蒋介石\n" +
-"\n" +
-"国民政府においては基本的に国民党の一党独裁の立場が貫かれた。しかし一般党員の数は50万人以下であったとされており、4億をこえると考えられた中国国民のなかではかなり少数であった(国民の多くが「国民」として登録されておらず、しかも文盲のものも多かった)。そのため支配基盤は完全とは言えず、土地税を中心として地方政権の財源を確保する国地画分政策がおこなって、割拠的傾向がいまだに強い地方勢力に配慮したりした。1930年代前半には国民政府に叛旗を翻す形で地方政権が樹立される例が多くなり、軍事衝突なども起きた。1930年に閻錫山と汪兆銘が中心となった北平政府や1931年に孫科らがたてた広州政府などである。\n" +
-"\n" +
-"しかしこのような軍事的緊張は国民政府の中央軍を掌握していた蒋介石の立場を強めることにもなった。蒋介石は経済政策[8]でも手腕を発揮し影響力を増した。\n" +
-"\n" +
-"[編集] 抗日戦争(1931年~1937年)\n" +
-"満州国皇帝愛新覚羅溥儀\n" +
-"満州国皇帝愛新覚羅溥儀\n" +
-"\n" +
-"張作霖が関東軍に爆殺されたあとをついだ張学良は国民革命を支持しており、自身の支配していた中国東北地方を国民政府へ合流させた。このために反日運動が中国東北地方にも広がったが、日本は中国東北地方の権益を確保しようとしていたためにこれに大きく反発した。1931年9月、満州事変がおこり、関東軍によって日本政府の意向を無視して大規模な武力行動がおこなわれた。しかし列強はこれを傍観する姿勢をとったので、日本政府はこの行動を追認した。\n" +
-"\n" +
-"東北地方をほぼ制圧した日本軍は、1932年に上海事変を起こし、列強がそれに注目している間に傀儡政権として満州国を東北地方に樹立した。同年10月、リットン調査団が国際連盟によって派遣され、満州国を中国の主権の下に列強の共同管理による自治政府とするべきという妥協案を示したが、日本は採択に反対した。1933年5月日中間で停戦協定(塘沽協定)が結ばれた。1934年には満州国は帝制に移行し、満州帝国となった。\n" +
-"\n" +
-"1931年に瑞金に政権を樹立していた中国共産党は満州国建国時に日本に宣戦布告していたが、国民党との抗争に忙しく、中国国民で一致して日本の侵略に立ち向かうことはできなかった。1934年には瑞金は国民党により陥落し、打撃を受けた中国共産党は長征と称して西部に移動し、組織の再編をはかった。長征の結果中国共産党は延安に拠点を移した。\n" +
-"\n" +
-"[編集] 日中戦争(1937年~1945年)\n" +
-"\n" +
-"1937年には、盧溝橋事件を契機に、日本軍が中国本土に進出し、中華民国と全面戦争に入った(日中戦争)。これに対し、蒋介石は当初日本との戦いよりも中国共産党との戦いを優先していたが、西安事件により、二つの党が協力して日本と戦うことになった(第二次国共合作)。\n" +
-"カイロ会談に出席した蒋介石とアメリカのフランクリン・D・ルーズベルト大統領、イギリスのウィンストン・チャーチル首相\n" +
-"カイロ会談に出席した蒋介石とアメリカのフランクリン・D・ルーズベルト大統領、イギリスのウィンストン・チャーチル首相\n" +
-"\n" +
-"しかし日中戦争は当初日本軍優位に進み、日本軍は多くの都市を占領したが、各拠点支配はできても広大な中国において面での支配はできず、これを利用した国民党軍・共産党軍ともに各地でゲリラ戦を行い日本軍を苦しめ、戦線を膠着させた。日本は汪兆銘ら国民党左派を懐柔、南京国民政府を樹立させたが、国内外ともに支持は得られなかった。加えて1941年12月、日本はアメリカやイギリス(連合国)とも戦端を開いたが(太平洋戦争)、一方で中国で多くの戦力を釘付けにされるなど、苦しい状況に落ち込まされた。国民党政府は連合国側に所属し、アメリカやイギリスなどから豊富な援助を受けることとなった。\n" +
-"\n" +
-"結局、中国大陸戦線では終始日本側が優勢であったものの、1945年8月ポツダム宣言の受諾とともに日本が無条件降伏することで終結した。国民党政府は連合国の1国として大きな地位を占めていたこともあり、戦勝国として有利な立場を有することとなり、日本だけでなくヨーロッパ諸国も租界を返還するなど、中国の半植民地化は一応の終わりを見せた。\n" +
-"\n" +
-"しかしまもなく国民党と共産党との対立が激化して国共内戦が勃発し、結果として左派が力を持ったアメリカからの支援が減った国民党に対して、ソビエト連邦からの支援を受けていた中国共産党が勝利し、1949年10月1日に毛沢東が中華人民共和国の成立を宣言した。内戦に敗れた中国国民党率いる中華民国政府は台湾島に撤退し、現在に至るまで中国共産党率いる中華人民共和国と「中国を代表する正統な政府」の地位を争っている。\n" +
-"\n" +
-"[編集] 漢民族以外の民族の動向\n" +
-"\n" +
-"[編集] モンゴルとチベットでの動き\n" +
-"\n" +
-"辛亥革命により清国が消滅すると、その旧領をめぐって中国、モンゴル、チベットは、それぞれに自領域を主張した。\n" +
-"\n" +
-"中国は清領全域を主張した。これに対して、モンゴルとチベットは、自分たちは清朝の皇帝に服属していたのであって中国という国家に帰属するものではなく、服属先の清帝退位後は中国と対等の国家であると主張し独立を目指す動きが強まった。\n" +
-"ポタラ宮、当時のチベットの中心地\n" +
-"ポタラ宮、当時のチベットの中心地\n" +
-"\n" +
-"1913年、モンゴルではボグド・ハーンによって、チベットではダライ・ラマ13世よって中国からの独立が宣言され、両者はモンゴル・チベット相互承認条約を締結するなど国際的承認をもとめ、これを認めない中華民国とは戦火を交えた。 この状況は、モンゴル域への勢力浸透をはかるロシア、チベット域への進出をねらうイギリスの介入をゆるし、モンゴル・ロシア・中華民国はキャフタ協定に調印批准、チベット・イギリス・中華民国はシムラ協定(民国政府のみ調印、批准されなかった)が模索されたものの問題の解決には至らなかった。\n" +
-"\n" +
-"ダライ・ラマを補佐していたパンチェン・ラマは親中国的であったために、イギリスに接近するダライ・ラマに反発し、1925年に中国に亡命した。1933年、ダライ・ラマ13世が死去、中国の統治下にあったチベット東北部のアムド地方(青海省)で生まれたダライ・ラマ14世の即位式典に列席した国民政府の使節団は、式典が終了したのちも、蒙蔵委員会駐蔵弁事處を自称してラサにとどまった。1936年には長征中の中国共産党の労農紅軍が、カム地方東部(四川省西部、当時西康省)に滞留中、同地のチベット人に「チベット人人民共和国」(博巴人民共和国)[9]を組織させたが、紅軍の退出とともに、ほどなく消滅した。\n" +
-"\n" +
-"この問題は、モンゴルについては、1947年、外蒙古部分のみの独立を中華民国政府が承認することによって、チベットについては、1950年、十七ヶ条協定によってチベットの独立が否定され中華人民共和国の一地方となったことによって、一応の決着をみた。\n" +
-"\n" +
-"[編集] 東トルキスタン(新疆)での動き\n" +
-"\n" +
-"東トルキスタン(新疆)では、19世紀中に統治機構の中国化が達成されていた。すなわち、旗人の3将軍による軍政と、地元ムスリムによるベク官人制にかわり、省を頂点に府、州、県に行政区画された各地方に漢人科挙官僚が派遣されて統治する体制である。そのため、辛亥革命時、東トルキスタンでは、地元ムスリムがチベットやモンゴルと歩調をあわせて自身の独立国家を形成しようとする動きはみられず、新疆省の当局者たちは、すみやかに新共和国へ合流する姿勢を示した。この地では、楊増新が自立的な政権を維持し、またソ連と独自に難民や貿易の問題について交渉した。楊増新の暗殺後は金樹仁が実権が握ったが、彼は重税を課して腐敗した政治をおこなったため、1931年には大規模な内乱状態に陥った。その後金樹仁の部下であった盛世才が実権を握るようになり、彼はソ連にならった政策を打ち出して徐々に権力を強化した。一方で1933年には南部で東トルキスタン共和国の独立が宣言されたが、わずか6ヶ月で倒れた。\n" +
-"\n" +
-"[編集] 中華人民共和国\n" +
-"\n" +
-"[編集] 社会主義国化と粛清(1949年~1957年)\n" +
-"「建国宣言」を行なう毛沢東\n" +
-"「建国宣言」を行なう毛沢東\n" +
-"\n" +
-"1950年中ソ友好同盟相互援助条約が結ばれた。これは日本およびその同盟国との戦争を想定して締結されたものである。この条約でソ連が租借していた大連、旅順が返還され、ソ連の経済援助の下で復興を目指すこととなった。1953年より社会主義化が進み、人民政治協商会議に代わって全国人民代表大会が成立、農業生産合作社が組織された。\n" +
-"\n" +
-"1956年にソ連でフルシチョフによって「スターリン批判」がおこなわれると、東欧の社会主義国に動揺がはしった。中国共産党政府も共産圏にある国としてこの問題への対処を迫られ、この年初めて開催された党全国代表大会では、「毛沢東思想」という文言が党規約から消えた。そして全く一時的に(わずか2ヶ月)「百花斉放、百家争鳴」と称して民主党などの「ブルジョワ政党」の政治参加が試みられた。しかしブルジョワ政党が中国共産党政府による一党独裁に対して激しい批判を噴出させたため、逆に共産党による反右派闘争を惹起し、一党支配体制は強められた。一方で中ソ協定が結ばれ、軍事上の対ソ依存は強くなった。この時代の中華人民共和国をソ連のアメリカに対する緩衝国家あるいは衛星国家とみなすことも可能である。しかし徐々にデタント政策へと転回し始めていたソ連の対外政策は、中国共産党政府の中華民国に対する強硬政策と明らかに矛盾していた。\n" +
-"\n" +
-"[編集] 中国共産党の対ソ自立化(1958年~1965年)\n" +
-"\n" +
-"1958年に、毛沢東は大躍進政策を開始し、人民公社化を推進した。当初はかなりの効果をあげたかに見えた人民公社であったが、党幹部を意識した誇大報告の存在、極端な労働平均化などの問題が開始3ヶ月にしてすでに報告されていた。毛沢東はこのような報告を右派的な日和見主義であり、過渡的な問題に過ぎないと見ていたため、反対意見を封殺したが、あまりに急速な人民公社化は都市人口の異様な増大など深刻な問題を引き起こしていた。\n" +
-"\n" +
-"一方でこの年、中国共産党政府は台湾海峡で中華民国に対して大規模な軍事行動を起こし、アメリカ軍の介入を招いた。フルシチョフは中国共産党政府の強硬な姿勢を非難し、また自国がアメリカとの全面戦争に引きずり込まれないように努力した。ソ連はワルシャワ条約機構の東アジア版ともいうべき中ソの共同防衛体制を提案したが、中国共産党政府はソ連の対外政策への不信からこれを断った。その後1959年6月ソ連は中ソ協定を一方的に破棄した。1960年には経済技術援助条約も打ち切られ、この年の中国のGNPは1%も下落した。\n" +
-"\n" +
-"1959年と1960年に大規模な飢饉が中国を襲い、1500万人程度(2000万から5000万人以上とも)と言われる餓死者を出して大躍進政策も失敗に終わった。1960年代初頭には人民公社の縮小がおこなわれ、毛沢東自身が自己批判をおこなうなど、一見調整的な時期に入ったように思われた。劉少奇が第2次5ヶ年計画の失敗を人民公社による分権的傾向にあると指摘し、中央集権を目指した政治改革、個人経営を一部認めるなど官僚主義的な経済調整をおこなった。\n" +
-"\n" +
-"しかし党組織の中央集権化と個人経営に懐疑的であった毛沢東はこれを修正主義に陥るものであると見ていた。1963年に毛沢東は「社会主義教育運動」を提唱し、下部構造である「農村の基層組織の3分の1」は地主やブルジョワ分子によって簒奪されていると述べた。これは劉少奇ら「実権派」を暗に批判するものであった。またこのころ毛沢東は「文芸整風」運動と称して学術界、芸術界の刷新をはかっていたことも、のちの文化大革命の伏線となった。1964年中国は核実験に成功し、軍事的な自立化に大きな一歩を踏み出した。一方で1965年にアメリカによる北爆が始まりベトナム戦争が本格化すると、軍事的緊張も高まった。\n" +
-"\n" +
-"チベットでは独立運動が高まったが、政府はこれを運動家に対する拷問など暴力によって弾圧した。このため多数の難民がインドへ流入した。\n" +
-"\n" +
-"[編集] 文化大革命前期(1966年~1969年)\n" +
-"天安門広場は中華人民共和国時代にも多くの歴史の舞台となった\n" +
-"天安門広場は中華人民共和国時代にも多くの歴史の舞台となった\n" +
-"\n" +
-"1966年に毛沢東は文化大革命を提唱した。毛沢東の指示によって中央文化革命小組が設置され、北京の青少年によって革命に賛同する組織である紅衛兵が結成された。毛沢東は「造反有理」(反動派に対する謀反には道理がある)という言葉でこの運動を支持したので、紅衛兵は各地で組織されるようになった。\n" +
-"\n" +
-"毛沢東は文革の目的をブルジョワ的反動主義者と「実権派」であるとし、劉少奇とその支持者を攻撃対象とした。毛沢東は林彪の掌握する軍を背景として劉少奇を失脚させた。しかし文化大革命は政治だけにとどまることがなく、広く社会や文化一般にも批判の矛先が向けられ、反革命派とされた文化人をつるし上げたり、反動的とされた文物が破壊されたりした。\n" +
-"\n" +
-"1966年の末ごろから武力的な闘争が本格化し、地方では党組織と紅衛兵との間で武力を伴った激しい権力闘争がおこなわれた。毛沢東は秩序維持の目的から軍を介入させたが、軍は毛沢東の意向を汲んで紅衛兵などの中国共産党左派に加担した。中央では周恩来らと文革小組の間で権力闘争がおこなわれた。1967年の後半になると、毛沢東は内乱状態になった国内を鎮めるために軍を紅衛兵運動の基盤であった学校や工場に駐屯させた。\n" +
-"\n" +
-"この時期軍の影響力は極端に増大し、それに伴って林彪が急速に台頭した。1969年には中ソ国境の珍宝島で両国の軍事衝突があり(中ソ国境紛争)、軍事的緊張が高まったこともこれを推進した。同年採択された党規約で林彪は毛沢東の後継者であると定められた。\n" +
-"\n" +
-"[編集] 文化大革命後期(1969~1976年)\n" +
-"\n" +
-"文化大革命は後期になると国内の権力闘争や内乱状態を引き起こしたが、最終的に文化大革命は1976年の毛沢東死去で終結した。 文化大革命では各地で文化財破壊や大量の殺戮が行われ、その犠牲者の合計数は数百万人とも数千万人とも言われている。また学生たちが下放され農村で働くなど、生産現場や教育現場は混乱し、特に産業育成や高等教育などで長いブランクをもたらした。\n" +
-"\n" +
-"一方この時期、ソ連に敵対する中国共産党政府は、同じくソ連と敵対する日本やアメリカなどからの外交的承認を受け、この結果国連の常任理事国の議席も台湾島に遷都した中華民国政府(国民党政権)に変わって手にするなど、国際政治での存在感を高めつつあった。\n" +
-"\n" +
-"[編集] 改革開放以後の現在(1976年~)\n" +
-"返還された香港は中国経済の牽引都市になっている\n" +
-"返還された香港は中国経済の牽引都市になっている\n" +
-"\n" +
-"その後は一旦華国鋒が後を継いだが、1978年12月第11期三中全会で鄧小平が政権を握った。鄧小平は、政治体制は共産党一党独裁を堅持しつつ、資本主義経済導入などの改革開放政策を取り、近代化を進めた(社会主義市場経済、鄧小平理論)。この結果、香港ほか日米欧などの外資の流入が開始され、中国経済は離陸を始めた。\n" +
-"\n" +
-"[編集] 一党独裁\n" +
-"\n" +
-"冷戦崩壊後に、複数政党による選挙や言論の自由などの民主主義化を達成した中華民国と違い、いまだに中国共産党政府による一党独裁から脱却できない中華人民共和国には多数の問題が山積している。\n" +
-"\n" +
-"1989年には北京で、1980年代の改革開放政策を進めながら失脚していた胡耀邦の死を悼み、民主化を求める学生や市民の百万人規模のデモ(天安門事件)が起きたが、これは政府により武力鎮圧された。その一連の民主化運動の犠牲者数は中国共産党政府の報告と諸外国の調査との意見の違いがあるが、数百人から数万人に上るといわれている。しかし中国共産党政府はこの事件に関しては国内での正確な報道を許さず、事件後の国外からの非難についても虐殺の正当化に終始している。\n" +
-"\n" +
-"この事件以降も、中国共産党政府は情報や政策の透明化、民主化や法整備の充実などの国際市場が要求する近代化と、暴動や国家分裂につながる事態を避けるため、内外の報道機関やインターネットに統制を加え、反政府活動家に対する弾圧を加えるなどの前近代的な動きとの間で揺れている。この様な中、2003年には国内でSARSの大発生があったが、このときも政府は虚偽の発表を行なうなど問題の隠蔽を繰り返した。\n" +
-"\n" +
-"天安門事件で外資流入に急ブレーキがかかったが、1990年代には、江沢民政権のもとで、鄧小平路線に従い、経済の改革開放が進み、特に安い人件費を生かした工場誘致で「世界の工場」と呼ばれるほど経済は急成長した。なお、1997年にイギリスから香港が、1999年にポルトガルからマカオが、それぞれ中華人民共和国に返還され、植民地時代に整備された経済的、法的インフラを引き継ぎ、中華人民共和国の経済の大きな推進役となっている。また、敵対している中華民国との間にも経済的な交流が進み、両国の首都の間に直行便が就航するまでになっている。\n" +
-"\n" +
-"人口、面積ともに世界的な規模をもつことから、アメリカの証券会社であるゴールドマンサックスは、「中華人民共和国は2050年に世界最大の経済大国になる」と予想するなど、現在、中国経済の動向は良くも悪くも注目されているが、低賃金による大量生産を売り物にしてきた経済成長は賃金上昇・東南アジアやインドの追い上げなどで限界に達しており、産業の高度化や高付加価値化などの難題に迫られている。また、各種経済統計も中国共産党政府発表のそれは信憑性が乏しいと諸外国から指摘されている。各省など地方も独自の産業振興策に走り、中国共産党中央政府に対して経済統計の水増し発表や災害などの情報隠蔽を行うなど、統計や発表の信憑性不足に拍車をかけている。\n" +
-"\n" +
-"これらのことより、中国共産党の一党独裁による言論統制や貧富格差、地域格差など国内のひずみを放置し続ければ、いずれ内部崩壊を起こして再度混乱状態に陥り、ソ連同様に中華人民共和国という国家体制そのものが解体、消滅するという意見も多い。\n" +
-"\n" +
-"[編集] 少数民族問題\n" +
-"\n" +
-"なお、少数民族が住む新疆ウイグル自治区(東トルキスタン)では現在漢化政策の進展によって、漢民族が同地域へ大量に流入する、都市を中心として就職などに有利な中国語教育の充実によりウイグル語が廃れるなどの民族的なマイノリティ問題が発生している。またタクラマカン砂漠の石油資源利用や新疆南北の経済格差が広がっているなど、中国共産党政府の経済政策に対する批判も根強い。\n" +
-"\n" +
-"1997年には新疆ウイグル自治区で大規模な暴動が起きた。海外で東トルキスタン独立運動がおこなわれている一方国内でもウイグル人活動家の処刑などが行われているが、民族自治における権限拡大という現実主義的な主張もあらわれている。たとえば中国語教育を受けたウイグル人が中国共産党組織に参加する、新疆での中国共産党政府の経済政策に積極的に参加するといった事例も見られる。\n" +
-"\n" +
-"チベット自治区では歴史的なチベットの主権を主張するダライ・ラマの亡命政権が海外に存在し、中国共産党政府が不法な領土占拠をしていると訴えるとともに独立運動が継続されている。中国共産党政府はこれを武力で弾圧し続け、独立運動家への拷問などを行なったために、多数の難民が隣国のインドに流入した。\n" +
-"\n" +
-"[編集] 人口の変遷\n" +
-"\n" +
-"以下のデータは主に楊学通「計画生育是我国人口史発展的必然」(1980年)による。\n" +
-"時代 年代 戸数 人口 資料出所\n" +
-"(夏) 禹(前2205年とされる) 13,553,923 『帝王世紀』\n" +
-"秦 20,000,000? \n" +
-"前漢 平帝元始2年(2年) 12,233,062 59,594,978 『漢書』地理志\n" +
-"新 20,000,000? \n" +
-"後漢 順帝建康元年(144年) 9,946,919 49,730,550 『冊府元亀』\n" +
-"晋 武帝泰康元年(280年) 2,459,804 16,163,863 『晋書』食貨志\n" +
-"隋 煬帝大業2年(606年) 8,907,536 46,019,056 『隋書』地理志・食貨志\n" +
-"唐 玄宗天宝14年(755年) 8,914,709 52,919,309 『通志』\n" +
-"宋 神宗元豊3年(1080年) 14,852,684 33,303,889 『宋史』地理志\n" +
-"金 章宗明昌6年(1195年) 7,223,400 48,490,400 『金史』食貨志\n" +
-"元 世祖至元27年(1290年) 13,196,206 58,834,711 『元史』地理志\n" +
-"明 神宗万暦6年(1570年) 10,621,436 60,692,850 『続文献通考』\n" +
-"清 清初(1644年) 45,000,000 \n" +
-"聖祖康熙50年(1711年) 100,000,000以上 \n" +
-"高宗乾隆27年(1762年) 200,000,000以上 \n" +
-"高宗乾隆55年(1790年) 300,000,000以上 \n" +
-"仁宗嘉慶17年(1812年) 333,700,560 『東華録』\n" +
-"宣宗道光14年(1834年) 400,000,000以上 \n" +
-"中華民国 民国36年(1947年) 455,590,000 『統計提要』\n" +
-"中華人民共和国 1995年 1,211,210,000 『中国統計年鑑』\n" +
-"\n" +
-"[編集] 地方行政制度\n" +
-"\n" +
-"[編集] 封建制度(前1600年頃~前221年)\n" +
-"\n" +
-"殷・周の時代は封建制度[10]によって一定の直轄地以外は間接的に統治された。\n" +
-"\n" +
-"[編集] 郡県制度(前221年~249年)\n" +
-"\n" +
-"中国最初の統一王朝である秦は全国を郡とその下級単位である県に分ける郡県制度によって征服地を統治した。前漢初期においては、郡以上に広域な自治を認められた行政単位である国が一部の功臣や皇族のために設置された。しかし徐々に国の行政権限が回収されるとともに、推恩政策によって国の細分化が進められ、国は郡県と等しいものとなり、後漢時代には実質郡県制度そのままとなっていた。\n" +
-"\n" +
-"前漢時代に広域な監察制度としての刺史制度が始められると全国を13州[11]に分けた。これはいまだ行政的なものではない[12]と考えられている。後漢の後の魏王朝では官僚登用制度としての九品官人法が249年に司馬懿によって州単位でおこなわれるように適用されたので、行政単位として郡以上に広域な州が現実的な行政単位として確立したと考えられている。が、軍政面と官吏登用面のほかにどれほど地方行政に貢献したか[13]はあまり明確ではない。\n" +
-"\n" +
-"[編集] 軍府による広域行政(249年~583年)\n" +
-"\n" +
-"魏晋時代から都督府などの軍府の重要性が高まった。五胡十六国および南北朝時代になると、中国内部で複数の王朝が割拠し軍事的な緊張が高まったことから、とくに南朝において重要性が増した。これは本来特定の行政機関を持たなかったと思われる刺史に対して、軍事的に重要な地域の刺史に例外的に複数の州を統括できる行政権を与えたものであった。長官である府主(府の長官は一般的にさまざまな将軍号を帯び、呼称は一定ではないため便宜的に府主とする)は属僚の選定に対して大幅な裁量権が与えられており、そのため地方で自治的な支配を及ぼすことが出来た。また南朝では西晋末期から官吏登用において州は形骸化しており、吏部尚書によって官制における中央集権化が進行している。したがって中正官も単なる地方官吏に過ぎなくなり、広域行政単位としての州は官吏登用の面からは重要性が低下したが、地方行政単位としてはより実際性を帯びた。この時代州は一般に細分化傾向にあり、南北朝前期には中国全土で5,60州、南北朝末期に至ると中国全土で300州以上になり、ひとつの州がわずか2郡、ひとつの郡はわずか2,3県しか含まないという有様であった。\n" +
-"\n" +
-"[編集] 州県制(583年~1276年)\n" +
-"\n" +
-"南朝では都督制度が発達していたころ、北魏では州鎮制度が発達した。北魏では征服地にまず軍事的性格の強い鎮を置き、鎮は一般の平民と区別され軍籍に登録された鎮民を隷属させて支配した。鎮は徐々に州に改められたようであるが、北部辺境などでは鎮がずっと維持された。583年に隋の文帝が郡を廃止し、州県二級の行政制度を開始した。この際従来の軍府制度[14]にあった漢代地方制度的な旧州刺史系統の地方官は廃止され、軍府系統の地方官に統一されたと考えられている。595年には形骸化していた中正官も最終的に廃止されたという指摘もされている。またこれにより府主の属官任命権が著しく制限され、中央集権化がはかられた。唐では辺境を中心に広域な州鎮的軍府である総管府が置かれたが徐々に廃止され、刺史制度に基づいた地方軍的軍府、それに中央軍に対する吏部の人事権が強化・一元化され、軍事制度の中央集権化が完成された。特定の州に折衝府が置かれ、自営農民を中心として府兵が組織され常備地方軍[15]とされた。唐では州の上に10の道も設置されたが、これは監察区域で行政単位ではないと考えられている。\n" +
-"\n" +
-"[編集] 祭祀制度\n" +
-"\n" +
-"中国でおこなわれた国家祭祀については皇帝祭祀を参照。\n" +
-"\n" +
-"[編集] 外交\n" +
-"\n" +
-"中国大陸の諸王朝は前近代まで基本的に東アジアでの優越的な地位を主張し、外交的には大国として近隣諸国を従属的に扱う冊封体制が主流であった。\n" +
-"\n" +
-"[編集] 漢帝国\n" +
-"\n" +
-"漢代には南越、閩越、衛氏朝鮮などが漢の宗主権下にあったと考えられ、これらの国々は漢の冊封体制下にあったと考えられている。前漢武帝の時にこれらの諸国は征服され郡県に編入された。このことは漢の冊封が必ずしも永続的な冊封秩序を形成することを意図したものではなく、機会さえあれば実効支配を及ぼそうとしていたことを示す。また匈奴は基本的には冊封体制に組み込まれず、匈奴の単于と中国王朝の皇帝は原則的には対等であった。大秦(ローマ帝国のことを指すとされる)や大月氏などとの外交関係は冊封を前提とされていない。\n" +
-"\n" +
-"[編集] 魏晋南北朝時代\n" +
-"\n" +
-"魏晋南北朝時代には、中国王朝が分立する事態になったので、冊封体制は変質し実効支配を意図しない名目的な傾向が強くなったと考えられている。朝鮮半島では高句麗をはじめとして中小国家が分立する状態があらわれ、日本列島の古代国家[16] も半島の紛争に介入するようになったために、半島の紛争での外交的優位を得るため、これらの国々は積極的に中国王朝の冊封を求めた。しかし高句麗が北朝の実効支配には頑強に抵抗しているように、あくまで名目的関係にとどめようという努力がなされており、南越と閩越の紛争においておこなわれたような中国王朝の主導による紛争解決などは期待されていないという見方が主流である。\n" +
-"\n" +
-"[編集] 隋唐帝国\n" +
-"\n" +
-"再び中国大陸を統一した隋・唐の王朝の時代は東アジアの冊封体制がもっとも典型的となったという見方が主流である。隋は高句麗がみだりに突厥と通交し、辺境を侵したことからこれを討伐しようとしたが、遠征に失敗した。唐は、新羅と連合し、高句麗・百済を滅亡させ、朝鮮半島を州県支配しようとしたが、新羅に敗北し、願いは、叶わなかった。したがって隋・唐の冊封は実効支配とは無関係に形成されるようになった。唐の冊封体制の下では、律令的な政治体制・仏教的な文化が共有された。\n" +
-"\n" +
-"一方、突厥や西域諸国が服属すると、それらの地域に対する支配は直接支配としての州県、外交支配としての冊封とは異なった羈縻政策[17]がおこなわれた。\n" +
-"\n" +
-"[編集] 関連項目\n" +
-"\n" +
-" * 中華人民共和国\n" +
-" * 中華民国\n" +
-" * 中国帝王一覧\n" +
-" * 中国の首都\n" +
-" * 中国史時代区分表\n" +
-" o 夏商周年表\n" +
-" o 魏晋南北朝表\n" +
-" * 元号一覧\n" +
-" * 二十四史(清によって公認された正史)\n" +
-" * 中国史関係記事一覧\n" +
-" * マカオの歴史\n" +
-" * 香港の歴史\n" +
-" * 台湾の歴史\n" +
-" * 中国の通貨制度史\n" +
-" * 中国の仏教\n" +
-" * 中国法制史\n" +
-" * 中国化\n" +
-"\n" +
-"Wikibooks\n" +
-"ウィキブックスに中国史関連の教科書や解説書があります。\n" +
-"[編集] 脚注\n" +
-"\n" +
-" 1. ^ 浙江省紹興市郊外にある陵墓が禹のものであるとされ、戦国時代同地を支配していた越王勾践が禹の子孫を標榜していること、夏の桀王が『史記』鄭玄注などで淮河と長江の中間にある南巣で死んだとしていることなどによる。\n" +
-" 2. ^ 河南省にある偃師二里頭遺跡が夏のものではないかとされているが、文書などが発見されていないため確定はされていない。また偃師二里頭遺跡での発掘結果から殷との連続性が確認されたが、細かい分析においては殷との非連続性も確認されているため、偃師二里頭遺跡が夏王朝のものであっても、夏が黄河流域起源の王朝であったかどうかは論争中である。\n" +
-" 3. ^ 代表的な遺跡殷墟が有名であるため日本では一般に殷と呼ばれるが、商の地が殷王朝の故郷とされており、商が自称であるという説もあるため、中国では商と呼ぶほうが一般的である。\n" +
-" 4. ^ ただし殷を北西から侵入してきた遊牧民族による征服王朝だとする説もある。これは偃師二里頭遺跡では青銅器が現地生産されているのに対し、殷時代の青銅器は主に蜀方面で生産されていたことが確認されていることによる。\n" +
-" 5. ^ 当初は漢魏革命の際に漢の官僚を魏宮廷に回収する目的で制定されたものであったが、優れたものであったために一般的な官吏登用に使用されるようになった。これは中正官を通して地方の世論を反映した人事政策をおこなうもので、地方で名望のあったものをその程度に応じて品位に分け官僚として登用するものであった。官僚は自身の品位と官職の官品に従って一定の官職を歴任した。地方の世論に基づくとはいえ、一般的に家柄が重視される傾向にあり、「上品に寒門なく、下品に勢族なし」といわれた。南北朝時代になると官職内で名誉的な清流官職と濁流官職が貴族意識によって明確に分けられ、また家柄によって官職が固定される傾向が顕著となった。このような傾向は専制支配を貫徹しようとする皇帝の意向と対立するものであったため、官品の整理をおこなって清濁の区別をなくす努力が続けられた。しかし皇帝も貴族社会の解体そのものを望んでおらず、貴族社会の上位に皇帝権力を位置づけることでヒエラルキーを維持しようとしていたから、官職制度の根幹的な改変には至らず、官職の家柄による独占傾向を抑えることは出来なかった。\n" +
-" 6. ^ 1916年8月に復活された。\n" +
-" 7. ^ これはロシア革命に対するシベリア出兵において日中両軍が協力するという秘密条約である。\n" +
-" 8. ^ 1928年~30年に各国と交渉して関税自主権を回復し、関税を引き上げ、塩税と統一消費税をさだめて財源を確保した。アメリカとイギリスの銀行資本に「法幣」という紙幣を使用させ、秤量貨幣であった銀両を廃止した。さらにアメリカ政府に銀を売ってドルを外為資金として貯蓄した。これにより国際的な銀価格の中国の国内経済に対する影響が大幅に緩和された。このような経済政策を積極的に推進したのは国民政府財政部長の宋子文で、彼は孫文の妻宋慶齢の弟で、妹はのちに蒋介石と結婚した宋美齢であった。\n" +
-" 9. ^ 博巴あるいは波巴とはチベット人の自称。日本語に訳せばチベット人の人民政府という意味である。博巴と波巴はともに「ぽぱ」と読む。\n" +
-" 10. ^ 封建制度は殷代からおこなわれているが、殷代封建制についてはあまり明確なことはわからない。殷では封建がおこなわれている地域と方国と呼ばれる、外様あるいは異民族の国家の存在が知られ、殷を方国の連盟の盟主であり、封建された国々は殷の同族国家であるとする説もあるが詳しいことはわからない。周では一定の城市を基準とした邑に基づいた封建制が広汎におこなわれたと考えられているが、この邑制国家の実態も不明である。邑をポリス的な都市国家とみる見方から、邑と周辺農地である鄙が一緒になって(これを邑土という)、貴族による大土地所有であるとする見方もある。明らかであるのは邑を支配した貴族が長子相続を根幹とした血族共同体をもっていたということで、このような共同体に基づいた支配形態を宗法制度という。宗法制度については殷代にさかのぼる見方もあるが、広汎におこなわれたのは春秋あるいは戦国時代であったとする説もある。周の封建制を宗法制度の延長にあるものと捉え、封建儀礼を宗族への加盟儀礼の延長として捉える見方もある。\n" +
-" 11. ^ 中国古来より中国世界を9つの地方に分ける考え方が漠然と存在した。中国王朝の支配領域を「九州」といい、それがすなわち「天下」であった。ただし九州の概念は後漢時代にいたるまでははっきりしたものではなく一様でない。\n" +
-" 12. ^ 前漢成帝のときに州の監察権が御史中丞へ移行され、刺史が行政官となったという見方もあるが、後漢末期に刺史に軍事権が認められると、広域行政単位としての州はにわかに現実化したとみる見方もある。\n" +
-" 13. ^ このころの州を行政単位ではなく、軍管区のような概念上の管理単位であるとする見方も強い。\n" +
-" 14. ^ 北周の宇文護が創始した二十四軍制をもっていわゆる府兵制の成立と見做す見方があるがこれについては詳しいことはわからない。\n" +
-" 15. ^ 折衝府の置かれた州と非設置州では当然差異があったのであるが、唐代はほかに募兵に基づく行軍制度もおこなわれており、大規模な対外戦争の際にはおもに折衝府非設置州を中心として兵が集められた。唐後期にはこの募兵制が常態化することで節度使制度がおこなわれるようになった。\n" +
-" 16. ^ なお、史書からうかがえる外交記録と日本国内での銅鏡など出土品に記載された年号の問題などから、日本の古代王朝は特に南朝との外交関係を重視していたという見方が主流であるが、北朝との通交事実を明らかにしようという研究は続けられている。\n" +
-" 17. ^ これは都護府を通じて服属民族を部族別に自治権を与えて間接支配するもので、羈縻政策がおこなわれた地域では現地民の国家は否定された。このことは羈縻州の住民が自発的に中国王朝の文化を受け入れることを阻害したと考えられており、羈縻政策のおこなわれた地域では冊封のおこなわれた地域とは異なり、漢字や律令などの文化の共有はおこなわれず、唐の支配が後退すると、唐の文化もこの地域では衰退することになった。冊封された国々で唐の支配が後退したあとも漢字文化が存続したことと対照的である。\n";
-
-
-var korean =
-"한국의 역사\n" +
-"위키백과 ― 우리 모두의 백과사전.\n" +
-" 이 문서는 남, 북으로 분단된 1945년 이전의 한국에 대한 역사를 주로 기술하고 있다.\n" +
-"\n" +
-"한국의 역사 (연표)\n" +
-"한국의 선사 시대 (유적)\n" +
-"환인 · 환웅 (신시)\n" +
-"  고조선 - 단군\n" +
-"진국\n" +
-"원\n" +
-"삼\n" +
-"국\n" +
-"|\n" +
-"삼\n" +
-"국\n" +
-"|\n" +
-"남\n" +
-"북\n" +
-"국\n" +
-"|\n" +
-"후\n" +
-"삼\n" +
-"국 삼한 옥\n" +
-"저 동\n" +
-"예 부\n" +
-"여\n" +
-"진\n" +
-"한 변\n" +
-"한 마\n" +
-"한\n" +
-"  가\n" +
-"야  \n" +
-" \n" +
-"백\n" +
-"제\n" +
-" \n" +
-"  고\n" +
-"구\n" +
-"려    \n" +
-"신\n" +
-"라    \n" +
-"   \n" +
-"후\n" +
-"백\n" +
-"제 태\n" +
-"봉 발\n" +
-"해\n" +
-" \n" +
-"고려\n" +
-" \n" +
-" \n" +
-"조선\n" +
-" \n" +
-"대한제국\n" +
-"대한민국임시정부\n" +
-"일제 강점기 (조선총독부)\n" +
-"군정기\n" +
-"대한민국 조선민주주의\n" +
-"인민공화국\n" +
-"한국의 인물\n" +
-"한국의 역사는 구석기 시대 이후의 주로 한반도와 만주, 넓게는 동아시아 지역을 배경으로 발전되어 온 한국인의 역사이다.\n" +
-"목차 [숨기기]\n" +
-"1 선사 시대\n" +
-"1.1 유적에 의한 구분\n" +
-"1.2 문헌에 의한 구분\n" +
-"2 상고 시대 (B.C. 2333년 ~ A.D. 1세기)\n" +
-"2.1 고조선 시대\n" +
-"2.2 고조선 멸망 이후 여러나라의 성장\n" +
-"3 고대 시대 (A.D. 1세기~A.D. 900)\n" +
-"3.1 삼국시대\n" +
-"3.1.1 삼국시대 경제\n" +
-"3.1.2 삼국시대 정치\n" +
-"3.2 남북국시대\n" +
-"4 중세시대 (A.D. 918년 ~ A.D. 1392년)\n" +
-"4.1 고려의 정치\n" +
-"4.2 고려의 경제\n" +
-"4.3 고려의 사회\n" +
-"4.4 고려의 문화\n" +
-"5 근세시대 (A.D. 1392년 ~ A.D. 1506년)\n" +
-"5.1 초기 조선의 정치\n" +
-"5.2 초기 조선의 경제\n" +
-"5.3 초기 조선의 사회\n" +
-"5.4 초기 조선의 문화\n" +
-"6 근대 태동기 (A.D. 1506년 ~ A.D. 1907년)\n" +
-"6.1 후기 조선의 정치\n" +
-"6.2 후기 조선의 경제\n" +
-"6.3 후기 조선의 사회\n" +
-"6.4 후기 조선의 문화\n" +
-"7 근현대시대 (A.D. 1907년 ~ )\n" +
-"7.1 개괄\n" +
-"7.2 근대시대\n" +
-"7.3 현대시대\n" +
-"8 주석\n" +
-"9 같이 보기\n" +
-"10 참고문헌 및 링크\n" +
-"10.1 역사 일반\n" +
-"10.2 재단, 기타, 정부 기관\n" +
-"[편집]\n" +
-"선사 시대\n" +
-"\n" +
-"[편집]\n" +
-"유적에 의한 구분\n" +
-"한국의 구석기 시대(20만 년 이전 ~ 약 1만 년 전)\n" +
-"한국의 신석기 시대(약 1만 년 전 ~ 약 4천 년 전)\n" +
-"참고>> 웅기 부포리와 평양 만달리 유적, 통영 상노대도의 조개더미 최하층, 거창 임불리, 홍천 화화계리 유적 등을 중석기 유적지로 보는 사학자도 있다.\n" +
-"[편집]\n" +
-"문헌에 의한 구분\n" +
-"환국시대 [1](비공식)\n" +
-"신시[2] 또는 배달국 시대 [3](비공식)\n" +
-"[편집]\n" +
-"상고 시대 (B.C. 2333년 ~ A.D. 1세기)\n" +
-"\n" +
-"농경의 발달로 잉여 생산물이 생기고 청동기가 사용되면서 사유 재산 제도와 계급이 발생하였고, 그 결과, 부와 권력을 가진 족장(군장)이 출현하였다고 추측된다. 이 시기의 대표적인 유적으로 고인돌, 비파형 동검, 미송리식 토기 등이 있다. 부족장은 세력을 키워 주변 지역을 아우르고, 마침내 국가를 이룩하였다. 이 시기에 성립된 한국 최초의 국가가 고조선이다. 기원전 4세기경 철기가 보급되었고, 이후, 고조선은 철기 문화를 수용하면서 중국과 대립할 정도로 크게 발전하였으며, 만주와 한반도 각지에는 부여, 고구려, 옥저, 동예, 삼한 등 여러 나라가 성립될 수 있는 터전이 마련되었다.\n" +
-"[편집]\n" +
-"고조선 시대\n" +
-"단군조선\n" +
-"위만조선\n" +
-"조선 시대 이전에는 은나라에서 건너온 기자가 세운 기자조선이 정식 역사로서 인정되었으나, 일제강점기를 전후로 점차 부인되어 현재에는 대한민국과 조선민주주의인민공화국의 역사학계 모두 이를 공식적으로 인정하지 않고 있으며, 사학자들도 대체적으로 이 설을 부정한다.\n" +
-"[편집]\n" +
-"고조선 멸망 이후 여러나라의 성장\n" +
-"철기문명을 받아들인 각 나라들은 철기를 이용하여 농업을 발전시키면서도 독특한 사회 풍습을 유지하였다. 많은 소국들이 경쟁하는 가운데 일부는 다른 나라를 병합되었고, 다시 연맹 왕국으로 발전하여 중앙 집권 국가를 형성할 수 있는 기반을 마련하게 되었다.\n" +
-"부여: 북부여, 동부여, 졸본부여\n" +
-"옥저\n" +
-"동예\n" +
-"삼한:\n" +
-"마한\n" +
-"변한\n" +
-"진한\n" +
-"[편집]\n" +
-"고대 시대 (A.D. 1세기~A.D. 900)\n" +
-"\n" +
-"[편집]\n" +
-"삼국시대\n" +
-"고구려\n" +
-"백제\n" +
-"신라\n" +
-"삼국시대 초반은 고구려와 백제가 주도했으나 진흥왕 이후 국력이 막강해진 신라가 삼국시대 후기를 주도 했다.\n" +
-"[편집]\n" +
-"삼국시대 경제\n" +
-"삼국의 경제는 기본적으로 물물교환 경제를 못 벗어난 체제였다고 한다.[출처 필요]\n" +
-"삼국사기에는 신라가 수도에 시전을 세웠다는 기록이 있다.\n" +
-"[편집]\n" +
-"삼국시대 정치\n" +
-"삼국의 정치는 기본적으로 중앙집권체제를 토대로 한 전제왕권 또는 귀족정치였다.\n" +
-"[편집]\n" +
-"남북국시대\n" +
-"신라\n" +
-"발해\n" +
-"[편집]\n" +
-"중세시대 (A.D. 918년 ~ A.D. 1392년)\n" +
-"\n" +
-"한국사에서는 고려시대를 중세시대로 보고 있다.\n" +
-"[편집]\n" +
-"고려의 정치\n" +
-"고려는 새로운 통일 왕조로서 커다란 역사적 의의를 지닌다. 고려의 성립은 고대 사회에서 중세 사회로 이행하는 우리 역사의 내재적 발전을 의미한다. 신라말의 득난(6두품 세력) 출신 지식인과 호족 출신을 중심으로 성립한 고려는 골품 위주의 신라 사회보다 개방적이었고, 통치 체제도 과거제를 실시하는 등 효율성과 합리성이 강화되는 방향으로 정비되었다. 특히, 사상적으로 유교 정치 이념을 수용하여 고대적 성격을 벗어날 수 있었다.\n" +
-"고려 시대는 외적의 침입이 유달리 많았던 시기였다. 그러나 고려는 줄기찬 항쟁으로 이를 극복할 수 있었다. 12세기 후반에 무신들이 일으킨 무신정변은 종전의 문신 귀족 중심의 사회를 변화 시키는 계기가 되어 신분이 낮은 사람도 정치적으로 진출할 수 있었다.\n" +
-"이후, 무신 집권기와 원나라 간섭기를 지나 고려 후기에 이르러서는 새롭게 성장한 신진 사대부를 중심으로 성리학이 수용되어 합리적이고 민본적인 정치 이념이 성립되었고, 이에 따른 사회 개혁이 진전되었다.\n" +
-"[편집]\n" +
-"고려의 경제\n" +
-"고려는 후삼국 시기의 혼란을 극복하고 전시과 제도를 만드는 등 토지 제도를 정비하여 통치 체제의 토대를 확립하였다. 또, 수취 체제를 정비하면서 토지와 인구를 파악하기 위하여 양전 사업을 실시하고 호적을 작성하였다. 아울러 국가가 주도하여 산업을 재편하면서 경작지를 확대시키고, 상업과 수공업의 체제를 확립하여 안정된 경제 기반을 확보하였다.\n" +
-"농업에서는 기술의 발달로 농업 생산력이 증대되었고, 상업은 시전을 중심으로 도시 상업이 발달하면서 점차 지방에서도 상업 활동이 증가하였다. 수공업도 관청 수공업 중심에서 점차 사원이나 농민을 중심으로한 민간 수공업을 중심으로 발전해 갔다.\n" +
-"[편집]\n" +
-"고려의 사회\n" +
-"고려의 사회 신분은 귀족, 중류층, 양민, 천민으로 구성되었다. 고려 지배층의 핵심은 귀족이었다. 신분은 세습되는 것이 원칙이었고, 각 신분에는 그에 따른 역이 부과되었다. 그러나 그렇지 않은 경우도 있었는데, 향리로부터 문반직에 오르는 경우와 군인이 군공을 쌓아 무반으로 출세하는 경우를 들 수 있다.\n" +
-"백성의 대부분을 이루는 양민은 군현에 거주하는 농민으로, 조세, 공납, 역을 부담하였다. 향, 부곡, 소 같은 특수 행정 구역에 거주하는 백성은 조세 부담에 있어서 군현민보다 차별받았으나, 고려 후기 이후 특수 행정 구역은 일반 군현으로 바뀌어 갔다. 흉년이나 재해 등으로 어려움을 겪는 백성들의 생활을 안정시키기 위하여 국가는 의창과 상평창을 설치하고, 여러 가지 사회 복지 시책을 실시 하였다.\n" +
-"[편집]\n" +
-"고려의 문화\n" +
-"고려 시대에 해당하는 중세 문화는 고대 문화의 기반 위에서 조상들의 노력과 슬기가 보태져 새로운 양상을 보였다.\n" +
-"유교가 정치 이념으로 채택, 적용됨으로써 유교에 대한 인식이 확대 되었으며, 후기에는 성리학도 전래 되었다. 불교는 그 저변이 확대되어 생활 전반에 영향을 끼쳤다. 이런 가운데 불교 사상이 심화되고, 교종과 선종의 통합운동이 꾸준히 추진되었다.\n" +
-"중세의 예술은 귀족 중심의 우아하고 세련된 특징을 드러내고 있다. 건축과 조각에서는 고대의 성격을 벗어나 중세적 양식을 창출하였으며, 청자와 인쇄술은 세계적인 수준을 자랑하고 있다. 그림과 문학에서도 중세의 품격 높은 멋을 찾아 볼 수 있다.\n" +
-"[편집]\n" +
-"근세시대 (A.D. 1392년 ~ A.D. 1506년)\n" +
-"\n" +
-"한국사에서는 초기 조선 시대를 근세시대로 보고 있다.\n" +
-"[편집]\n" +
-"초기 조선의 정치\n" +
-"조선은 왕과 양반 관료들에 의하여 통치되었다. 왕은 최고 명령권자로서 통치 체제의 중심이었다. 조선 초기에는 고려 말에 성리학을 정치 이념으로 하면서 지방에서 성장한 신진 사대부들이 지배층이 되어 정국을 이끌어 나갔다. 그러나 15세기 말부터 새롭게 성장한 사림이 16세기 후반 이후 정국을 주도해 나가면서 학파를 중심으로 사림이 분열하여 붕당을 이루었다. 이후 여러 붕당 사이에 서로 비판하며 견제하는 붕당 정치를 전개하였다.\n" +
-"정치 구조는 권력의 집중을 방지하면서 행정의 효율성을 높이는 방향으로 정비되었다. 관리 등용에 혈연이나 지연보다 능력을 중시하였고, 언로를 개방하여 독점적인 권력 행사를 견제하였다. 아울러 육조를 중심으로 행정을 분담하여 효율성을 높이면서 정책의 협의나 집행 과정에서 유기적인 연결이 가능하도록 하였다. 조선은 고려에 비하여 한 단계 발전된 모습을 보여 주면서 중세 사회에서 벗어나 근세 사회로 나아갔다.\n" +
-"[편집]\n" +
-"초기 조선의 경제\n" +
-"조선은 고려 말기의 파탄된 국가 재정과 민생 문제를 해결하고 재정 확충과 민생 안정을 위한 방안으로 농본주의 경제 정책을 내세웠다. 특히 애민사상을 주장하는 왕도 정치 사상에서 민생 안정은 가장 먼저 해결해야 할 과제였다.\n" +
-"조선 건국을 주도하였던 신진 사대부들은 중농 정책을 표방하면서 농경지를 확대하고 농업 생산력을 증가시키며, 농민의 조세 부담을 줄여 농민들의 생활을 안정시키려 하였다. 그리하여 건국 초부터 토지 개간을 장려하고 양전 사업을 실시한 결과 고려 말 50여만 결이었던 경지 면적이 15세기 중엽에는 160여만 결로 증가하였다. 또한 농업 생산력을 향상시키기 위하여 새로운 농업 기술과 농기구를 개발하여 민간에 널리 보급하였다.\n" +
-"반면 상공업자가 허가 없이 마음대로 영업 활동을 벌이는 것을 규제하였는데, 이는 당시 검약한 생활을 강조하는 유교적인 경제관을 가진 사대부들이 물화의 수량과 종류를 정부가 통제하지 않고 자유 활동에 맡겨 두면 사치와 낭비가 조장되며 농업이 피폐하여 빈부의 격차가 커지게 된다고 생각하였기 때문이다. 더욱이 당시 사회에서는 직업적인 차별이 있어 상공업자들이 제대로 대우받지 못하였다.\n" +
-"[편집]\n" +
-"초기 조선의 사회\n" +
-"조선은 사회 신분을 양인과 천민으로 구분하는 양천 제도를 법제화하였다. 양인은 과거에 응시하고 벼슬길에 오를 수 있는 자유민으로서 조세, 국역 등의 의무를 지녔다. 천민은 비(非)자유민으로서 개인이나 국가에 소속되어 천역을 담당하였다.\n" +
-"양천 제도는 갑오개혁 이전까지 조선 사회를 지탱해 온 기본적인 신분 제도였다. 그러나 실제로는 양천 제도의 원칙에만 입각하여 운영되지는 않았다. 세월이 흐를수록 관직을 가진 사람을 의미하던 양반은 하나의 신분으로 굳어져 갔고, 양반 관료들을 보좌하던 중인도 신분층으로 정착되어 갔다. 그리하여 지배층인 양반과 피지배층인 상민 간의 차별을 두는 반상 제도가 일반화되고 양반, 중인, 상민, 천민의 신분 제도가 점차 정착되었다.\n" +
-"조선 시대는 엄격한 신분제 사회였으나 신분 이동이 가능하였다. 법적으로 양인 이상이면 누구나 과거에 응시하여 관직에 오를 수 있었고, 양반도 죄를 지으면 노비가 되거나 경제적으로 몰락하여 중인이나 상민이 되기도 하였다.\n" +
-"[편집]\n" +
-"초기 조선의 문화\n" +
-"조선 초기에는 괄목할 만한 민족적이면서 실용적인 성격의 학문이 발달하여 다른 시기보다 민족 문화의 발전이 크게 이루어졌다. 당시의 집권층은 민생 안정과 부국강병을 위하여 과학 기술과 실용적 학문을 중시하여, 한글이 창제되고 역사책을 비롯한 각 분야의 서적들이 출반되는 등 민족 문화 발전의 기반이 형성되었다.\n" +
-"성리학이 정착, 발달하여 전 사회에 큰 영향을 끼쳤고, 여러 갈래의 학파가 나타났다. 15세기 문화를 주도한 관학파 계열의 관료들과 학자들은 성리학을 지도 이념으로 내세웠으나 성리학 이외의 학문과 사상이라도 좋은 점이 있으면 받아들이는 융통성을 보였다. 불교는 정부에 의하여 정비되면서 위축되었으나 민간에서는 여전히 신앙의 대상으로 자리 잡고 있었다.\n" +
-"천문학, 의학 등 과학 기술에 있어서도 큰 발전을 이룩하여 생활에 응용되었고, 농업 기술은 크게 향상되어 농업 생산력을 증대시켰다.\n" +
-"예술 분야에서도 민족적 특색이 돋보이는 발전을 나타내었고, 사대부들의 검소하고 소박한 생활이 반영된 그림과 필체 및 자기 공예가 두드러졌다.\n" +
-"[편집]\n" +
-"근대 태동기 (A.D. 1506년 ~ A.D. 1907년)\n" +
-"\n" +
-"한국사에서는 후기 조선 시대를 근대 태동기로 보고 있다.\n" +
-"[편집]\n" +
-"후기 조선의 정치\n" +
-"숙종 때에 이르러 붕당 정치가 변질되고 그 폐단이 심화되면서 특정 붕당이 정권을 독점하는 일당 전제화의 추세가 대두되었다. 붕당 정치가 변질되자 정치 집단 간의 세력 균형이 무너지고 왕권 자체도 불안하게 되었다. 이에 영조와 정조는 특정 붕당의 권력 장악을 견제하기 위하여 탕평 정치를 추진하였다. 탕평 정치는 특정 권력 집단을 억제하고 왕권을 강화하려는 방향으로 진행되어 어느 정도 성과를 거두었지만, 붕당 정치의 폐단을 일소하지는 못하였다.\n" +
-"탕평 정치로 강화된 왕권을 순조 이후의 왕들이 제대로 행사하지 못하면서 왕실의 외척을 중심으로 한 소수 가문에 권력이 집중되고 정치 기강이 문란해지는 세도 정치가 전개되었다. 이로써 부정부패가 만연해지고 정부의 백성들에 대한 수탈이 심해졌다.\n" +
-"[편집]\n" +
-"후기 조선의 경제\n" +
-"임진왜란과 병자호란을 거치면서 농촌 사회는 심각하게 파괴되었다. 수많은 농민들이 전란 중에 죽거나 피난을 가고 경작지는 황폐화되었다. 이에 정부는 수취 체제를 개편하여 농촌 사회를 안정시키고 재정 기반을 확대하려 하였다. 그것은 전세 제도, 공납 제도, 군역 제도의 개편으로 나타났다.\n" +
-"서민들은 생산력을 높이기 위하여 농기구와 시비법을 개량하는 등 새로운 영농 방법을 추구하였고, 상품 작물을 재배하여 소득을 늘리려 하였다. 상인들도 상업 활동에 적극적으로 참여하여 대자본을 가진 상인들도 출현하였다. 수공업 생산도 활발해져 민간에서 생산 활동을 주도하여 갔다. 이러한 과정에서 자본 축적이 이루어지고, 지방의 상공업 활동이 활기를 띠었으며, 상업 도시가 출현하기에 이르렀다.\n" +
-"[편집]\n" +
-"후기 조선의 사회\n" +
-"조선 후기 사회는 사회 경제적 변화로 인하여 신분 변동이 활발해져 양반 중심의 신분 체제가 크게 흔들렸다. 붕당 정치가 날이 갈수록 변질되어 가면서 양반 상호 간에 일어난 정치적 갈등은 양반층의 분화을 불러왔다. 이러한 현상은 일당 전제화가 전개되면서 더욱 두드러지고 권력을 장악한 소수의 양반을 제외한 다수의 양반들이 몰락하는 계기가 되었다. 이렇게 양반 계층의 도태 현상이 날로 심화되어 가면서도 양반의 수는 늘어나고 상민과 노비의 숫자는 줄어드는 경향을 보였다. 이는 부를 축적한 농민들이나 해방된 노비들이 자신들의 지위를 높이기 위하여 또는 역의 부담을 모면하기 위하여 양반 신분을 사는 경우가 많았기 때문이다.\n" +
-"이러한 급격한 사회 변화에 대한 집권층의 자세는 극히 보수적이고 임기응변적이었다. 이에 계층 간의 갈등은 더욱 심화되어 갔으며, 19세기에 들어와 평등 사상과 내세 신앙을 주장한 로마 가톨릭이 유포되면서 백성들의 의식이 점차 높아져서[출처 필요] 크고 작은 봉기가 전국적으로 일어나게 되었다. 정부는 로마 가톨릭이 점차 교세가 확장되자 양반 중심의 신분 질서 부정과 왕권에 대한 도전으로 받아들여[출처 필요] 사교로 규정하고 탄압을 가하기에 이르렀다.\n" +
-"[편집]\n" +
-"후기 조선의 문화\n" +
-"임진왜란과 병자호란 이후 사회 각 분야의 변화와 함께 문화에서는 새로운 기운이 나타났다. 양반층 뿐만 아니라 중인층과 서민층도 문화의 한 주역으로 등장하면서 문화의 질적 변화와 함께 문화의 폭이 확대되었다.\n" +
-"학문에서는 성리학의 교조화와 형식화를 비판하며 실천성을 강조한 양명학을 받아들였으며 민생 안정과 부국강병을 목표로 하여 비판적이면서 실증적인 논리로 사회 개혁론을 제시한 실학이 대두되어 개혁 추진을 주장하기도 하였다.\n" +
-"천문학의 의학 등 각 분야의 기술적 성과들이 농업과 상업 등 산업 발전을 촉진하였다. 서양 문물의 유입도 이러한 발전을 가속화하는 데 이바지하였다.\n" +
-"예술 분야에서는 판소리, 탈품, 서민 음악 등 서민 문화가 크게 유행하였고, 백자 등 공예도 생활 공예가 중심이 되었다. 자연 경치와 삶을 소재로 하는 문예 풍토가 진작되어 문학과 서화에 큰 영향을 끼쳤다.\n" +
-"[편집]\n" +
-"근현대시대 (A.D. 1907년 ~ )\n" +
-"\n" +
-"[편집]\n" +
-"개괄\n" +
-"조선 사회는 안에서 성장하고 있던 근대적인 요소를 충분히 발전시키지 못한 채 19C 후반 제국주의 열강에 문호를 개방하였다. 이후 정부와 각계(各界), 각당(各堂), 각단체(各單體), 각층(各層), 각파(各派)에서는 근대화하려는 노력을 하였으나, 성공하지 못하였다.\n" +
-"개항 이후 조선은 서구 문물을 수용하고 새로운 경제 정책을 펼치면서 자주적인 근대화를 모색하였다. 그러나 일본과 청을 비롯한 외세의 경제 침략이 본격화 되면서, 이러한 노력은 큰 성과를 거두지 못했다.\n" +
-"개항 이후, 사회 개혁이 진행되면서 신분 제도가 폐지되고 평등 의식도 점차 성장하였다. 또, 외국과의 교류를 통해 외래 문물과 제도 등이 수용됨에 따라 전통적인 생활 모습에도 많은 변화가 생겨났다.\n" +
-"개항 이후 서양 과학 기술에 대한 관심이 높아지자, 전기, 철도, 같은 근대 기술과 서양 의술 등 각종 근대 문물이 들어왔다. 근대 시설은 일상생활을 편리하게 해 주었으나, 열강의 침략 목적에 이용되기도 하였다.\n" +
-"일제는 강압적인 식민 통치를 통하여 우리 민족을 지배하였다. 이에 맞서 우리 민족은 국내외에서 무장 독립 투쟁, 민족 실력 양성 운동, 독립 외교 활동 등을 벌여 일제에 줄기차게 저항하였다. 이러한 우리 민족의 투쟁과 연합군의 승리로 1945년 8월에 광복을 맞이하였다.\n" +
-"일제 강점기에는 일제의 경제적 침략으로 경제 발전이 왜곡되어, 우리 민족은 고통을 겪게 되었다. 광복 이후 일제의 식민 지배를 벗어나면서부터는 새로운 경제 발전의 계기를 마련할 수 있었다. 그러나 분단과 전쟁으로 인한 경제적 어려움도 대단히 컸다.\n" +
-"일제 강점기에는 국권을 되찾으려는 독립 운동이 줄기차게 일어났고, 다른 한편에서는 근대화를 위한 각계(各界), 각당(各堂), 각단체(各單體), 각층(各層), 각파(各派)에서는 근대화하려는 노력이 펼쳐졌다. 이러한 가운데 근대 자본주의 문명이 본격적으로 유입되어 전통 사회는 점차 근대 사회로 변모해 갔는데, 식민지 현실 아래에서 근대화는 왜곡될 수밖에 없었다.\n" +
-"일제는 국권을 탈취한 후에 동화와 차별의 이중 정책을 바탕으로 황국 신민화를 강력하게 추진하였다. 특히, 우리 민족의 독립 의지를 꺾으려고 우리의 역사와 문화를 왜곡하였다. 이에 맞서 우리의 전통과 문화를 지키려는 움직임이 일어났다.\n" +
-"그런데, 미∙소의 한반도 분할 정책과 좌∙우익 세력의 갈등으로 남북이 분단되어 통일 국가를 세우지 못하였다. 특히, 6∙25 전쟁을 겪으면서 분단은 더욱 고착화되고 남북 사이의 상호 불신이 깊어 갔다.\n" +
-"대한민국 정부 수립 이후, 민주주의가 정착되는 과정에서 많은 시련을 겪었다. 그러나 4∙19혁명과 5∙18민주화 운동, 6월 민주 항쟁 등으로 민주주의가 점차 발전하였다. 이와 함께, 냉전 체제가 해체되면서 민족 통일을 위한 노력도 계속 되고 있다.\n" +
-"1960년대 이후 한국 경제는 비약적인 성장을 일구어 냈다. 한국은 이제 가난한 농업 국가가 아닌, 세계적인 경제 대국으로 변모하고 있다.\n" +
-"광복 후에 한국은 많은 어려움 속에서도 경제 발전을 이룩하였는데, 이는 커다란 사회 변화를 가져왔다. 농업 사회에서 산업 사회로, 다시 정보화 사회로 발전하면서 사람들의 생활양식과 가치관도 많이 변하였다.1980년대에 진행된 민주화 운동으로 권위주의적 정치 문화가 점차 극복되고, 사회의 민주화도 꾸준히 이루어 졌다.\n" +
-"광복 이후에는 학문 활동이 활발해지고 교육의 기회가 크게 확대되었다. 그러나 미국을 비롯한 서구 문화가 급속하게 유입되면서 가치관의 혼란과 전통문화의 위축 현상을 가져오기도 하였다.\n" +
-"민주화와 더불어 문화의 다양화가 촉진되고, 반도체 등 몇몇 과학 기술 분야는 세계적인 수준까지 도달하였다. 한편, 현대 사회의 윤리와 생명 과학 기술의 발달 사이에서 빚어지는 갈등을 해소하려는 노력도 펼쳐지고 있다.\n" +
-"[편집]\n" +
-"근대시대\n" +
-"대한 제국\n" +
-"일제강점기 : 일본의 제국주의 세력이 한반도를 강제적으로 식민지로 삼은 시기로서, 무단 통치 시기, 문화 통치 시기, 전시 체계 시기로 나뉜다.\n" +
-"무단 통치 시기 : 조선을 영구히 통치하기 위해 조선 총독부를 설치하고, 군대를 파견하여 의병 활동을 억누르고 국내의 저항 세력을 무단으로 통치한 시기이다. 언론, 집회, 출판, 결사의 자유같은 기본권을 박탈하고, 독립운동을 무자비하게 탄압하였다. 또, 헌병 경찰과 헌병 보조원을 전국에 배치하고 즉결 처분권을 부여하여 한국인을 태형에 처하기도 했다. 토지조사령을 공포하여 식민지 수탈을 시작하였고, 회사령을 공포하여 국내의 자본 세력을 억압하고 일본 자본 세력의 편의를 봐주었다. 이 시기의 한국인 노동자는 극악한 환경과 저임금, 민족적 차별까지 받으며 혹사 하였다.\n" +
-"문화 통치 시기 : 3·1 운동이 발발하자 일제는 무단통치로는 조선을 효과적으로 지배할 수 없다는 판단하에, 친일파를 육성하는 문화정책을 펼친다. 이 문화정치는 가혹한 식민 통치를 은폐하려는 술책에 불과 했다. 헌병 경찰제를 보통 경찰제로 전환하였지만, 경찰력은 오히려 증강되었다. 이 들은 교육의 기회를 늘리고 자본 운용의 기회와 참정권의 기회등을 제공하겠다고 선전 하였으나 소수의 친일 분자를 육성하고, 민족 운동가들을 회유하여 민족을 기만하고 분열을 획책하였다.\n" +
-"전시 체계 시기 : 1930년대 일제는 대륙침략을 본격적으로 시작하면서 한반도를 대륙 침략의 병참기지로 삼았다. 또한, 1941년 일제가 미국의 진주만을 불법적으로 기습하자 태평양 전쟁이 발발하였다. 조선에서는 일제의 강제 징용으로 한국인 노동력이 착취 되었고, 학도 지원병 제도, 징병 제도 등을 실시하여 수많은 젊은이를 전쟁에 동원하였다. 또, 젊은 여성을 정신대라는 이름으로 강제 동원하여 군수 공장 등에서 혹사시켰으며, 그 중 일부는 전선으로 끌고 가 일본군 위안부로 삼는 만행을 저질렀다.\n" +
-"[편집]\n" +
-"현대시대\n" +
-"군정기 : 미국과 소련의 군대가 진주하여 한반도에 정부가 세워지기 이전까지의 시기\n" +
-"대한민국\n" +
-"제1공화국\n" +
-"한국전쟁\n" +
-"제2공화국\n" +
-"제3공화국\n" +
-"제4공화국 - 유신헌법시기. 종신 대통령제 채택\n" +
-"제5공화국\n" +
-"1. 정치 : 전두환 정부(군사 쿠데타에 의한 정부 - 12.12 사태) 시기. 대통령 간접선거제도 채택. 이 시기에는 민주화에 대한 무자비한 탄압이 자행되었으나, 광범위한 대중들의 1987년 6월 혁명으로 6월29선언(대통령 직접선거제도 공약)을 이끌어 내기도 하였다.\n" +
-"2. 경제 : 1960~70년대에 닦아온 중공업, 경공업 기반을 첨단공업 수준으로 이끌어 올린 시기이다. 이 시기의 한국 경제는 세계에서 유래 없을 정도로 빠르게 성장했으며, 국내 물가가 가장 안정된 시기였다.\n" +
-"3. 문화 : 1986년 서울 아시안 게임을 개최하였고, 1988년 서울 올림픽 게임을 유치하는 데 성공했다.\n" +
-"제6공화국\n" +
-"노태우 정권\n" +
-"문민정부\n" +
-"국민의 정부\n" +
-"참여정부\n" +
-"조선민주주의인민공화국\n" +
-"조선민주주의인민공화국의 역사\n" +
-"[편집]\n" +
-"주석\n" +
-"\n" +
-"↑ 삼국유사 - 동경제국대학 1904년 판본, 환단고기 - 1979년 복원본\n" +
-"↑ 동사 - 허목 숙종조, 규원사화 - 북애자 숙종원년\n" +
-"↑ 환단고기 - 1979년 복원본\n" +
-"[편집]\n" +
-"같이 보기\n" +
-"\n" +
-"중국의 역사\n" +
-"일본의 역사\n" +
-"민족사관\n" +
-"식민사관\n" +
-"[편집]\n" +
-"참고문헌 및 링크\n" +
-"\n" +
-"[편집]\n" +
-"역사 일반\n" +
-"국사 편찬 위원회 : 한국사에 관한 정보를 수집, 정리, 편찬하는 국가 연구 기관, 소장 자료, 논문, 저서 검색, 한국사 관련 연구 기관. 소장 자료, 논문, 저서 검색, 한국사 관련 안내\n" +
-"국사 전자 교과서 : 현직 교사들이 연구.감수하고, 국사편찬위원회가 지원하였다. 2007년 개정된 국사교과서의 내용이 아직 반영되지 않았다.\n" +
-"한국 역사 정보 시스템 : 한국사 연표, 한국사 기초 사전 및 신문 자료, 문헌 자료, 문집 등을 제공\n" +
-"한국학 중앙 연구원 : 한국 문화 및 한국학 여러 분햐에 관한 연구와 교육을 수행하는 연구 기관. 디지털 한국학 개발, 정보 광장, 전자 도서관, 전통 문화 등 수록\n" +
-"역사 문제 연구소 : 순수 민간 연구 단체(역사적 중립성이 의심됨), 근현대사 자료실, 간행물 자료, 한국사 학습 자료 등 수록\n" +
-"[편집]\n" +
-"재단, 기타, 정부 기관\n" +
-"고구려 연구재단 : 고구려사를 비롯한 중국의 역사 왜곡에 학술적으로 대응하기 위하여 2004年 설립된 법인. 고구려, 발해를 비롯한 동아시아 역사 관련 자료의 조사, 수집, 정리, 정보화 자료 제공. 동북아역사재단으로 편입되어 더이상 유용하지 않다.\n" +
-"국가 기록 영상관 : 대한 뉴스, 문화 기록 영화, 대통령 기록 영상 등 멀티미디어 역사 자료 제공\n" +
-"국가 문화 유산 종합 정보 서비스 : 국보, 보물, 사적, 명승, 천연 기념물 지정 종목별, 시대별, 지역별, 유형별, 유물 정보, 검색 서비스 제공\n" +
-"국가 지식 정보 통합 검색 시스템 : 정보 통신부 제공, 과학 기술, 정보 통신, 교육, 학술, 문화, 역사 등의 포괄적이고 연동적인 학술 데이터 검색\n" +
-"국가기록유산 : 국가적 기록유산의 원본과 원문 열람 서비스 제공\n";
-
-
-var persian =
-"تاریخ ایران پیش از اسلام\n" +
-"از ویکی‌پدیا، دانشنامهٔ آزاد.\n" +
-"تمدنهای باستانی آسیای غربی\n" +
-"بین‌النهرین، سومر، اکد، آشور، بابل\n" +
-"هیتی‌ها، لیدیه\n" +
-"ایلام، اورارتو، ماننا، ماد، هخامنشی\n" +
-"امپراتوری‌ها / شهرها\n" +
-"سومر: اوروک – اور – اریدو\n" +
-"کیش – لاگاش – نیپور – اکد\n" +
-"بابل – ایسین – کلدانی\n" +
-"آشور: آسور، نینوا، نوزی، نمرود\n" +
-"ایلامیان – اموری‌ها – شوش\n" +
-"هوری‌ها – میتانی\n" +
-"کاسی‌ها – اورارتو\n" +
-"گاهشماری\n" +
-"شاهان سومر\n" +
-"شاهان ایلام\n" +
-"شاهان آشور\n" +
-"شاهان بابل\n" +
-"شاهان ماد\n" +
-"شاهان هخامنشی\n" +
-"زبان\n" +
-"خط میخی\n" +
-"سومری – اکدی\n" +
-"ایلامی – هوری\n" +
-"اساطیر بین‌النهرین\n" +
-"انوما الیش\n" +
-"گیل گمش – مردوخ\n" +
-"نیبیرو\n" +
-"اگر بخواهیم تاریخ ایران پیش از اسلام را بررسی ‌‌کنیم باید از مردمانی که در دوران نوسنگی در فلات ایران زندگی می‌‌کردند نام ببریم. پیش از مهاجرت آریائیان به فلات ایران، اقوامی با تمدن‌های متفاوت در ایران می‌زیستند که آثار زیادی از آنها در نقاط مختلف فلات ایران مانند تمدن جیرفت (در کرمانِ کنونی) و شهر سوخته در سیستان، و تمدن ساکنان تمدن تپه سیلک (در کاشان)، تمدن اورارتو و ماننا (در آذربایجان)، تپه گیان نهاوند و تمدن کاسی‌ها (در لرستان امروز) بجای مانده است. اما تمدن این اقوام کم کم با ورود آریائیان، در فرهنگ و تمدن آنها حل شد.\n" +
-"برای بررسی تاریخ ایران پیش از اسلام باید از دیگر تمدنهای باستانی آسیای غربی نیز نام ببریم. شناخت اوضاع و رابطه این مناطق ایران در رابطه با تمدن‌های دیگر نظیر سومر - اکد، کلده - بابل - آشور، و غیره نیز مهم است.\n" +
-"فهرست مندرجات [مخفی شود]\n" +
-"۱ ایلامیان\n" +
-"۲ مهاجرت آریائیان به ایران\n" +
-"۳ مادها\n" +
-"۴ هخامنشیان\n" +
-"۵ سلوکیان\n" +
-"۶ اشکانیان\n" +
-"۷ ساسانیان\n" +
-"۸ منابع\n" +
-"۹ جستارهای وابسته\n" +
-"۱۰ پیوند به بیرون\n" +
-"[ویرایش]\n" +
-"ایلامیان\n" +
-"\n" +
-"ایلامیان یا عیلامی‌ها اقوامی بودند که از هزاره سوم پ. م. تا هزاره نخست پ. م. ، بر بخش بزرگی از مناطق جنوب و غرب ایران فرمانروایی داشتند. بر حسب تقسیمات جغرافیای سیاسی امروز، ایلام باستان سرزمین‌های خوزستان، فارس، ایلام و بخش‌هایی از استان‌های بوشهر، کرمان، لرستان و کردستان را شامل می‌شد.\n" +
-"آثار كشف ‌شده تمدن ایلامیان، در شوش نمایانگر تمدن شهری قابل توجهی است. تمدن ایلامیان از راه شهر سوخته در سیستان، با تمدن پیرامون رود سند هند و از راه شوش با تمدن سومر مربوط می‌شده است. ایلامیان نخستین مخترعان خط در ایران هستند.\n" +
-"به قدرت رسیدن حكومت ایلامیان و قدرت یافتن سلسله عیلامی پادشاهی اوان در شمال دشت خوزستان مهم ‌ترین رویداد سیاسی ایران در هزاره سوم پ. م. است. پادشاهی اَوان یکی از دودمان‌های ایلامی باستان در جنوب غربی ایران بود. پادشاهی آوان پس از شکوه و قدرت کوتیک ـ این شوشینک همچون امپراتوری اکد، ناگهان فرو پاشید؛ این فروپاشی و هرج و مرج در منطقه در پی تاخت و تاز گوتیان زاگرس نشین رخ داد. تا پیش از ورود مادها و پارسها حدود یك هزار سال تاریخ سرزمین ایران منحصر به تاریخ عیلام است.\n" +
-"سرزمین اصلی عیلام در شمال دشت خوزستان بوده. فرهنگ و تمدن عیلامی از شرق رودخانه دجله تا شهر سوخته زابل و از ارتفاعات زاگرس مركزی تا بوشهر اثر گذار بوده است. عیلامیان نه سامی نژادند و نه آریایی آنان ساكنان اوليه دشت خوزستان هستند.\n" +
-"[ویرایش]\n" +
-"مهاجرت آریائیان به ایران\n" +
-"\n" +
-"آریائیان، مردمانی از نژاد هند و اروپایی بودند که در شمال فلات ایران می‌‌زیستند. دلیل اصلی مهاجرت آنها مشخص نیست اما به نظر می‌‌رسد دشوار شدن شرایط آب و هوایی و کمبود چراگاه ها، از دلایل آن باشد. مهاجرت آریائیان به فلات ایران یک مهاجرت تدریجی بوده است که در پایان دوران نوسنگی (7000 سال پیش از میلاد) آغاز شد و تا 4000 پیش از میلاد ادامه داشته است.\n" +
-"نخستین آریایی‌هایی که به ایران آمدند شامل کاسی‌ها (کانتوها ـ کاشی‌ها)، لولوبیان و گوتیان بودند. کا‌سی‌ها تمدنی را پایه گذاری کردند که امروزه ما آن را بنام تمدن تپه سیلک می‌‌شناسیم. لولوبیان و گوتیان نیز در زاگرس مرکزی اقامت گزیدند که بعدها با آمدن مادها بخشی از آنها شدند. در حدود 5000 سال پیش از میلاد، مهاجرت بزرگ آریائیان به ایران آغاز شد و سه گروه بزرگ آریایی به ایران آمدند و هر یک در قسمتی از ایران سکنی گزیدند: مادها در شمال غربی ایران، پارس‌ها در قسمت جنوبی و پارت‌ها در حدود خراسان امروزی.\n" +
-"شاخه‌های قومِ ایرانی در نیمه‌های هزاره‌ی اول قبل از مسیح عبارت بوده‌اند از: باختریان در باختریه (تاجیکستان و شمالشرق افغانستانِ کنونی)، سکاهای هوم‌کار در سگائیه (شرقِ ازبکستانِ کنونی)، سُغدیان در سغدیه (جنوب ازبکستان کنونی)، خوارزمیان در خوارزمیه (شمال ازبکستان و شمالشرق ترکمنستانِ کنونی)، مرغزیان در مرغوه یا مرو (جنوبغرب ازبکستان و شرق ترکمستان کنونی)، داهه در مرکز ترکمستان کنونی، هَرَیویان در هَرَیوَه یا هرات (غرب افغانستان کنونی)، دِرَنگِیان در درنگیانه یا سیستان (غرب افغانستان کنونی و شرق ایران کنونی)، مکائیان در مکائیه یا مَک‌کُران (بلوچستانِ ایران و پاکستان کنونی)، هیرکانیان در هیرکانیا یا گرگان (جنوبغربِ ترکمنستان کنونی و شمال ایرانِ کنونی)، پَرتُوَه‌ئیان در پارتیه (شمالشرق ایران کنونی)، تپوریان در تپوریه یا تپورستان (گیلان و مازندران کنونی)، آریازَنتا در اسپدانه در مرکزِ ایرانِ کنونی، سکاهای تیزخود در الانیه یا اران (آذربایجان مستقل کنونی)، آترپاتیگان در آذربایجان ایرانِ کنونی، مادایَه در ماد (غرب ایرانِ کنونی)، کُردوخ در کردستانِ (چهارپاره‌شده‌ی) کنونی، پارسَی در پارس و کرمانِ کنونی، انشان در لرستان و شمال خوزستان کنونی. قبایلی که در تاریخ با نامهای مانناها، لولوبیان‌ها، گوتیان‌ها، و کاسی‌ها شناسانده شده‌اند و در مناطق غربی ایران ساکن بوده‌اند تیره‌هائی از شاخه‌های قوم ایرانی بوده‌اند که زمانی برای خودشان اتحادیه‌های قبایلی و امیرنشین داشته‌اند، و سپس در پادشاهی ماد ادغام شده‌اند.\n" +
-"مادها در ایران نزدیک 150 سال (708- 550 ق.م) هخامنشی‌ها کمی بیش از دویست سال (550-330 ق.م) اسکندر و سلوکی‌ها در حدود صد سال (330 -250 ق.م) اشکانیان قریب پانصد سال (250 ق.م – 226 م) و ساسانیان قریب چهار صد و سی سال (226-651 م) فرمانروایی داشتند.\n" +
-"[ویرایش]\n" +
-"مادها\n" +
-"\n" +
-"\n" +
-"\n" +
-"ماد در 675 پیش از میلاد\n" +
-"\n" +
-"\n" +
-"ماد در 600 پیش از میلاد\n" +
-"مادها قومی ایرانی بودند از تبار آریایی که در بخش غربی فلات ایران ساکن شدند. سرزمین مادها دربرگیرنده بخش غربی فلات ایران بود. سرزمین آذربایجان در شمال غربی فلات ایران را با نام ماد کوچک و بقیهٔ ناحیه زاگرس را با نام ماد بزرگ می‌شناختند. پایتخت ماد هگمتانه است آنها توانستند در اوایل قرن هفتم قبل از میلاد اولین دولت ایرانی را تأسیس کنند\n" +
-"پس از حملات شدید و خونین آشوریان به مناطق مادنشین، گروهی از بزرگان ماد گرد رهبری به نام دیاکو جمع شدند.\n" +
-"از پادشاهان بزرگ این دودمان هووخشتره بود که با دولت بابل متحد شد و سرانجام امپراتوری آشور را منقرض کرد و پایه‌های نخستین شاهنشاهی آریایی‌تباران در ایران را بنیاد نهاد.\n" +
-"دولت ماد در ۵۵۰ پیش از میلاد به دست کوروش منقرض شد و سلطنت ایران به پارسی‌ها منتقل گشت. در زمان داریوش بزرگ، امپراتوری هخامنشی به منتهای بزرگی خود رسید: از هند تا دریای آدریاتیک و از دریای عمان تا کوه‌های قفقاز.\n" +
-"[ویرایش]\n" +
-"هخامنشیان\n" +
-"\n" +
-"\n" +
-"\n" +
-"شاهنشاهی بزرگ هخامنشی در 330 ق.م.\n" +
-"هخامنشیان نخست پادشاهان بومی پارس و سپس انشان بودند ولی با شکستی که کوروش بزرگ بزرگ بر ایشتوویگو واپسین پادشاه ماد وارد ساخت و سپس فتح لیدیه و بابل پادشاهی هخامنشیان تبدیل به شاهنشاهی بزرگی شد. از این رو کوروش بزرگ را بنیادگذار شاهنشاهی هخامنشی می‌دانند.\n" +
-"در ۵۲۹ پ.م کوروش بزرگ پایه گذار دولت هخامنشی در جنگ‌های شمال شرقی ایران با سکاها، کشته شد. لشکرکشی کمبوجیه جانشین او به مصر آخرین رمق کشاورزان و مردم مغلوب را کشید و زمینه را برای شورشی همگانی فراهم کرد. داریوش بزرگ در کتیبهً بیستون می‌‌گوید: \" بعد از رفتن او (کمبوجیه) به مصر مردم از او برگشتند...\"\n" +
-"شورش‌ها بزرگ شد و حتی پارس زادگاه شاهان هخامنشی را نیز در برگرفت. داریوش در کتیبه بیستون شمه‌ای از این قیام‌ها را در بند دوم چنین نقل می‌کند: \" زمانی که من در بابل بودم این ایالات از من برگشتند: پارس، خوزستان، ماد، آشور، مصر، پارت خراسان (مرو، گوش) افغانستان (مکائیه).\" داریوش از 9 مهر ماه 522 تا 19 اسفند 520 ق.م به سرکوبی این جنبش‌ها مشغول بود.\n" +
-"جنگ‌های ایران و یونان در زمان داریوش آغاز شد. دولت هخامنشی سر انجام در 330 ق. م به دست اسکندر مقدونی منقرض گشت و ایران به دست سپاهیان او افتاد.\n" +
-"اسکندر سلسله هخامنشیان را نابود کرد، دارا را کشت ولی در حرکت خود به شرق همه جا به مقاومت‌های سخت برخورد، از جمله سغد و باکتریا یکی از سرداران جنگی او بنام سپتامان 327- 329 ق. م در راس جنبش همگانی مردم بیش از دو سال علیه مهاجم خارجی مبارزه دلاورانه کرد. در این ناحیه مکرر مردم علیه ساتراپهای اسکندر قیام کردند. گرچه سرانجام نیروهای مجهز و ورزیده اسکندر این جنبش‌ها را سرکوب کردند ولی از این تاریخ اسکندر ناچار روش خشونت آمیز خود را به نرمش و خوشخویی بدل کرد.\n" +
-"\n" +
-"ایران\n" +
-"تاریخ ایران\n" +
-"ایران پیش از آریایی‌ها \n" +
-"تاریخ ایران پیش از اسلام \n" +
-" | دودمان‌ها و حکومت‌ها\n" +
-"ایلامیان\n" +
-"ماد\n" +
-"هخامنشیان\n" +
-"سلوکیان\n" +
-"اشکانیان\n" +
-"ساسانیان\n" +
-"تاریخ ایران پس از اسلام \n" +
-" | دودمان‌ها و حکومت‌ها\n" +
-"خلفای راشدین\n" +
-"امویان\n" +
-"عباسیان\n" +
-"ایران در دوران حکومت‌های محلی \n" +
-" | دودمان‌ها و حکومت‌ها\n" +
-"طاهریان\n" +
-"صفاریان\n" +
-"سامانیان\n" +
-"آل زیار\n" +
-"آل بویه\n" +
-"غزنویان\n" +
-"سلجوقیان\n" +
-"خوارزمشاهیان\n" +
-"ایران در دوره مغول \n" +
-" | دودمان‌ها و حکومت‌ها\n" +
-"ایلخانیان\n" +
-"ایران در دوران ملوک‌الطوایفی \n" +
-" | دودمان‌ها و حکومت‌ها\n" +
-"سربداران\n" +
-"تیموریان\n" +
-"مرعشیان\n" +
-"کیائیان\n" +
-"قراقویونلو\n" +
-"آق‌قویونلو\n" +
-"ایران در دوران حکومت‌های ملی \n" +
-" | دودمان‌ها و حکومت‌ها\n" +
-"صفوی\n" +
-"افشاریان\n" +
-"زند\n" +
-"قاجار\n" +
-"پهلوی\n" +
-"جمهوری اسلامی\n" +
-"موضوعی\n" +
-"تاریخ معاصر ایران\n" +
-"تاریخ مذاهب ایران\n" +
-"مهرپرستی\n" +
-"زرتشتی\n" +
-"تسنن\n" +
-"تصوف\n" +
-"تشیع\n" +
-"تاریخ اسلام\n" +
-"تاریخ زبان و ادبیات ایران\n" +
-"جغرافیای ایران\n" +
-"استان‌های تاریخی ایران\n" +
-"اقتصاد ایران\n" +
-"گاهشمار تاریخ ایران\n" +
-"پروژه ایران\n" +
-"[ویرایش]\n" +
-"سلوکیان\n" +
-"\n" +
-"\n" +
-"ایران در زمان سلوکیان (330 - 150 ق.م.)\n" +
-"پس از مرگ اسکندر (323 ق. م) فتوحاتش بین سردارانش تقسیم شد و بیشتر متصرفات آسیائی او که ایران هسته آن بود به سلوکوس اول رسید. به این ترتیب ایران تحت حکومت سلوکیان (330 - 150 ق.م.) در آمد. پس از مدتی پارت‌ها نفوذ خود را گسترش دادند و سرانجام توانستند سلوکیان را نابود و امپراتوری اشکانی را ایجاد کنند.\n" +
-"[ویرایش]\n" +
-"اشکانیان\n" +
-"\n" +
-"\n" +
-"\n" +
-"امپراتوری اشکانی 250 ق.م. 224 م.\n" +
-"اشکانیان (250 ق. م 224 م) که از تیره ایرانی پرنی و شاخه‌ای از طوایف وابسته به اتحادیه داهه از عشایر سکاهای حدود باختر بودند، از ایالت پارت که مشتمل بر خراسان فعلی بود برخاستند. نام سرزمین پارت در کتیبه‌های داریوش پرثوه آمده است که به زبان پارتی پهلوه می‌شود. چون پارتیان از اهل ایالت پهله بودند، از این جهت در نسبت به آن سرزمین ایشان را پهلوی نیز می‌‌توان خواند. ایالت پارتیها از مغرب به دامغان و سواحل جنوب شرقی دریای خزر و از شمال به ترکستان و از مشرق به رود تجن و از جنوب به کویر نمک و سیستان محدود می‌‌شد. قبایل پارتی در آغاز با قوم داهه که در مشرق دریای خزر می‌‌زیستند در یک جا سکونت داشتند و سپس از آنان جدا شده در ناحیه خراسان مسکن گزیدند.\n" +
-"این امپراتوری در دوره اقتدارش از رود فرات تا هندوکش و از کوه‌های قفقاز تا خلیج فارس توسعه یافت. در عهد اشکانی جنگ‌های ایران و روم آغاز شد. سلسله اشکانی در اثر اختلافات داخلی و جنگ‌های خارجی به تدریج ضعیف شد تا سر انجام به دست اردشیر اول ساسانی منقرض گردید.\n" +
-"[ویرایش]\n" +
-"ساسانیان\n" +
-"\n" +
-"\n" +
-"\n" +
-"شاهنشاهی ساسانی در سالهای ۲۲۴ تا ۶۵۱ م.\n" +
-"ساسانیان خاندان شاهنشاهی ایرانی در سالهای ۲۲۴ تا ۶۵۱ میلادی بودند. شاهنشاهان ساسانی که اصلیتشان از استان پارس بود بر بخش بزرگی از غرب قارهٔ آسیا چیرگی یافتند. پایتخت ساسانیان شهر تیسفون در نزدیکی بغداد در عراق امروزی بود.\n" +
-"سلسله اشکانی به دست اردشیر اول ساسانی منقرض گردید. وی سلسله ساسانیان را بنا نهاد که تا 652 میلادی در ایران ادامه یافت. دولت ساسانی حکومتی ملی و متکی به دین و تمدن ایرانی بود و قدرت بسیار زیادی کسب کرد. در این دوره نیز جنگ‌های ایران و روم ادامه یافت.\n" +
-"\n" +
-"در همين دوران مانی[1] (216 - 276 میلادی) به تبلیغ مذهب خود پرداخت. مانی پس از مسافرت به هند و آشنائی با مذهب بودائی سیستم جهان مذهبی مانوی خود را که التقاطی از مذهب زردشتی، بودائی و مسیحی و اسطوره بود با دقت تنظیم کرد و در کتاب \"شاهپورگان\" اصول آن‌ها را بیان و هنگام تاجگذاری شاپوراول به شاه هدیه کرد. مانی اصول اخلاقی خود را بر پایه فلسفی مثنویت: روشنائی و تاریکی که ازلی و ابدی هستند استوار نمود. در واقع این اصول) خودداری از قتل نفس حتی در مورد حیوانات، نخوردن می، دوری از زن و جمع نکردن مال (واکنش در مقابل زندگی پر تجمل و پر از لذت طبقات حاکم و عکس العمل منفی در برابر بحران اجتماعی پایان حکومت اشکانی و آغاز حکومت ساسانی است. شاپور و هرمزد، نشر چنین مذهبی را تجویز کردند، زیرا با وجود مخالفت آن با شهوت پرستی و غارتگری و سود جوئی طبقات حاکم، از جانبی مردم را به راه \"معنویت\" و \"آشتی‌خواهی\" سوق می‌‌داد و از جانب دیگر از قدرت مذهب زردشت می‌‌کاست.\n" +
-"جنبش معنوی مانی به سرعت در جهان آن روز گسترش یافت و تبدیل به نیروئی شد که با وجود جنبه منفی آن با هدف‌های شاهان و نجبا و پیشرفت جامعه آن روزی وفق نمی‌داد. پیشوایان زردتشتی و عیسوی که با هم دائما در نبرد بودند، متحد شدند و در دوران شاهی بهرام اول که شاهی تن آسا و شهوت پرست بود در جریان محاکمه او را محکوم و مقتول نمودند ( 276 میلادی). از آن پس مانی کشی آغاز شد و مغان مردم بسیاری را به نام زندک(زندیق) کشتند. مانویان درد و جانب شرق و غرب، در آسیای میانه تا سرحد چین و در غرب تا روم پراکنده شدند.\n" +
-"\n" +
-"امپراتوری پهناور ساسانی که از رود سند تا دریای سرخ وسعت داشت، در اثر مشکلات خارجی و داخلی ضعیف شد. آخرین پادشاه این سلسله یزدگرد سوم بود. در دوره او مسلمانان عرب به ایران حمله کردند و ایرانیان را در جنگ‌های قادسیه، مدائن، جلولاء و نهاوند شکست دادند و بدین ترتیب دولت ساسانی از میان رفت.\n" +
-"در پایان سده پنجم و آغاز قرن ششم میلادی جنبش بزرگی جامعه ایران را تکان داد که به صورت قیامی واقعی سی سال ( 24-494 م.) دوام آورد و تأثیر شگرفی در تکامل جامعه آن روزایران بخشید.\n" +
-"در چنین اوضاعی مزدک[2] پسر بامدادان به تبلیغ مذهب خود که گویند موسسش زردشت خورک بابوندس بوده، پرداخت. عقاید مزدک بر دو گانگی مانوی استوار است:\n" +
-"روشنائی دانا و تاریکی نادان، به عبارت دیگر نیکی با عقل و بدی جاهل، این دو نیرو با هم در نبردند و چون روشنائی داناست سرانجام پیروز خواهد شد.\n" +
-"اساس تعلیمات اجتماعی مزدک دو چیز است: یکی برابری و دیگری دادگری.\n" +
-"مردم بسیاری به سرعت پیرو مذهب مزدک شدند. جنبش مزدکی با قتل او و پیروانش به طرز وحشیانه‌ای سرکوب شد، اما افکار او اثر خود را حتی در قیام‌ها و جنبش‌های مردم ایران در دوران اسلام، باقی گذاشت.\n" +
-"[ویرایش]\n" +
-"منابع\n" +
-"\n" +
-"تاریخ ایران - دکتر خنجی\n" +
-"تاریخ اجتماعی ایران. مرتضی راوندی. ( جلد ۱ ) 1354\n" +
-"تاریخ ماد. ایگور میخائیلوویچ دیاکونوف. ترجمه کریم کشاورز، تهران: نشر امیرکبیر.\n" +
-"تاريخ ايران باستان. دياكونوف، ميخائيل ميخائيلوويچ. روحی ارباب. انتشارات علمی و فرهنگی، چاپ دوم 1380\n" +
-"سهم ایرانیان در پیدایش و آفرینش خط در جهان ،دکتر رکن الدین همایونفرخ، انتشارات اساطیر.\n" +
-"کمرون، جرج. ایران در سپیده دم تاریخ. ترجمه حسن انوشه. تهران، مرکز نشر دانشگاهی، 1379\n" +
-"تاریخ ایران از زمان باستان تا امروز، ا. آ. گرانتوسكی - م. آ. داندامایو، مترجم، كیخسرو كشاورزی، ناشر: مرواريد 1385\n" +
-"تاریخ ایران از عهد باستان تا قرن 18، پیگولووسکایا، ترجمه کریم کشاورز، تهران، 1353.\n" +
-"[ویرایش]\n" +
-"جستارهای وابسته\n" +
-"\n" +
-"ماد\n" +
-"کاسی\n" +
-"ایلامیان\n" +
-"تپه هگمتانه\n" +
-"تاریخ ایران\n" +
-"ایران پیش از آریایی‌ها\n" +
-"تمدنهای باستانی آسیای غربی\n" +
-"[ویرایش]\n" +
-"پیوند به بیرون\n" +
-"\n" +
-"ایران قبل از آریاها\n" +
-"ايران پيش از آريایی‌ها\n" +
-"تمدنهای قبل از آریایی ایران\n" +
-"ایران ازدیدگاه باستانشناسی\n" +
-"سنگ‌نبشته‌ی داریوش بزرگ در بیستون\n" +
-"شیوه آسیائی تولید در ایران\n" +
-"نیای اساطیری ایرانیان\n" +
-"قیام‌های ایرانیان در طول تاریخ\n" +
-"خلاصهٔ تاریخ ایران\n" +
-"شهر، شهرسازی و شهرنشينی در ايران پيش از اسلام\n" +
-"\n" +
-"[3]\n" +
-"[4]\n" +
-"[5]\n" +
-"[6]\n" +
-"[7]\n" +
-"\n" +
-"\n" +
-"\n" +
-" این نوشتار خُرد است. با گسترش آن به ویکی‌پدیا کمک کنید.\n" +
-"\n" +
-"این مقاله نیازمند ویکی‌سازی است. لطفاً با توجه به راهنمای ویرایش و شیوه‌نامه آن را تغییر دهید. در پایان، پس از ویکی‌سازی این الگوی پیامی را بردارید.\n";
-
-
-var source =
-("/*\n" +
-" This is a version (aka dlmalloc) of malloc/free/realloc written by\n" +
-" Doug Lea and released to the public domain. Use, modify, and\n" +
-" redistribute this code without permission or acknowledgement in any\n" +
-" way you wish. Send questions, comments, complaints, performance\n" +
-" data, etc to dl@cs.oswego.edu\n" +
-"\n" +
-"* VERSION 2.7.2 Sat Aug 17 09:07:30 2002 Doug Lea (dl at gee)\n" +
-"\n" +
-" Note: There may be an updated version of this malloc obtainable at\n" +
-" ftp://gee.cs.oswego.edu/pub/misc/malloc.c\n" +
-" Check before installing!\n" +
-"\n" +
-"* Quickstart\n" +
-"\n" +
-" This library is all in one file to simplify the most common usage:\n" +
-" ftp it, compile it (-O), and link it into another program. All\n" +
-" of the compile-time options default to reasonable values for use on\n" +
-" most unix platforms. Compile -DWIN32 for reasonable defaults on windows.\n" +
-" You might later want to step through various compile-time and dynamic\n" +
-" tuning options.\n" +
-"\n" +
-" For convenience, an include file for code using this malloc is at:\n" +
-" ftp://gee.cs.oswego.edu/pub/misc/malloc-2.7.1.h\n" +
-" You don't really need this .h file unless you call functions not\n" +
-" defined in your system include files. The .h file contains only the\n" +
-" excerpts from this file needed for using this malloc on ANSI C/C++\n" +
-" systems, so long as you haven't changed compile-time options about\n" +
-" naming and tuning parameters. If you do, then you can create your\n" +
-" own malloc.h that does include all settings by cutting at the point\n" +
-" indicated below.\n" +
-"\n" +
-"* Why use this malloc?\n" +
-"\n" +
-" This is not the fastest, most space-conserving, most portable, or\n" +
-" most tunable malloc ever written. However it is among the fastest\n" +
-" while also being among the most space-conserving, portable and tunable.\n" +
-" Consistent balance across these factors results in a good general-purpose\n" +
-" allocator for malloc-intensive programs.\n" +
-"\n" +
-" The main properties of the algorithms are:\n" +
-" * For large (>= 512 bytes) requests, it is a pure best-fit allocator,\n" +
-" with ties normally decided via FIFO (i.e. least recently used).\n" +
-" * For small (<= 64 bytes by default) requests, it is a caching\n" +
-" allocator, that maintains pools of quickly recycled chunks.\n" +
-" * In between, and for combinations of large and small requests, it does\n" +
-" the best it can trying to meet both goals at once.\n" +
-" * For very large requests (>= 128KB by default), it relies on system\n" +
-" memory mapping facilities, if supported.\n" +
-"\n" +
-" For a longer but slightly out of date high-level description, see\n" +
-" http://gee.cs.oswego.edu/dl/html/malloc.html\n" +
-"\n" +
-" You may already by default be using a C library containing a malloc\n" +
-" that is based on some version of this malloc (for example in\n" +
-" linux). You might still want to use the one in this file in order to\n" +
-" customize settings or to avoid overheads associated with library\n" +
-" versions.\n" +
-"\n" +
-"* Contents, described in more detail in \"description of public routines\" below.\n" +
-"\n" +
-" Standard (ANSI/SVID/...) functions:\n" +
-" malloc(size_t n);\n" +
-" calloc(size_t n_elements, size_t element_size);\n" +
-" free(Void_t* p);\n" +
-" realloc(Void_t* p, size_t n);\n" +
-" memalign(size_t alignment, size_t n);\n" +
-" valloc(size_t n);\n" +
-" mallinfo()\n" +
-" mallopt(int parameter_number, int parameter_value)\n" +
-"\n" +
-" Additional functions:\n" +
-" independent_calloc(size_t n_elements, size_t size, Void_t* chunks[]);\n" +
-" independent_comalloc(size_t n_elements, size_t sizes[], Void_t* chunks[]);\n" +
-" pvalloc(size_t n);\n" +
-" cfree(Void_t* p);\n" +
-" malloc_trim(size_t pad);\n" +
-" malloc_usable_size(Void_t* p);\n" +
-" malloc_stats();\n" +
-"\n" +
-"* Vital statistics:\n" +
-"\n" +
-" Supported pointer representation: 4 or 8 bytes\n" +
-" Supported size_t representation: 4 or 8 bytes\n" +
-" Note that size_t is allowed to be 4 bytes even if pointers are 8.\n" +
-" You can adjust this by defining INTERNAL_SIZE_T\n" +
-"\n" +
-" Alignment: 2 * sizeof(size_t) (default)\n" +
-" (i.e., 8 byte alignment with 4byte size_t). This suffices for\n" +
-" nearly all current machines and C compilers. However, you can\n" +
-" define MALLOC_ALIGNMENT to be wider than this if necessary.\n" +
-"\n" +
-" Minimum overhead per allocated chunk: 4 or 8 bytes\n" +
-" Each malloced chunk has a hidden word of overhead holding size\n" +
-" and status information.\n" +
-"\n" +
-" Minimum allocated size: 4-byte ptrs: 16 bytes (including 4 overhead)\n" +
-" 8-byte ptrs: 24/32 bytes (including, 4/8 overhead)\n" +
-"\n" +
-" When a chunk is freed, 12 (for 4byte ptrs) or 20 (for 8 byte\n" +
-" ptrs but 4 byte size) or 24 (for 8/8) additional bytes are\n" +
-" needed; 4 (8) for a trailing size field and 8 (16) bytes for\n" +
-" free list pointers. Thus, the minimum allocatable size is\n" +
-" 16/24/32 bytes.\n" +
-"\n" +
-" Even a request for zero bytes (i.e., malloc(0)) returns a\n" +
-" pointer to something of the minimum allocatable size.\n" +
-"\n" +
-" The maximum overhead wastage (i.e., number of extra bytes\n" +
-" allocated than were requested in malloc) is less than or equal\n" +
-" to the minimum size, except for requests >= mmap_threshold that\n" +
-" are serviced via mmap(), where the worst case wastage is 2 *\n" +
-" sizeof(size_t) bytes plus the remainder from a system page (the\n" +
-" minimal mmap unit); typically 4096 or 8192 bytes.\n" +
-"\n" +
-" Maximum allocated size: 4-byte size_t: 2^32 minus about two pages\n" +
-" 8-byte size_t: 2^64 minus about two pages\n" +
-"\n" +
-" It is assumed that (possibly signed) size_t values suffice to\n" +
-" represent chunk sizes. `Possibly signed' is due to the fact\n" +
-" that `size_t' may be defined on a system as either a signed or\n" +
-" an unsigned type. The ISO C standard says that it must be\n" +
-" unsigned, but a few systems are known not to adhere to this.\n" +
-" Additionally, even when size_t is unsigned, sbrk (which is by\n" +
-" default used to obtain memory from system) accepts signed\n" +
-" arguments, and may not be able to handle size_t-wide arguments\n" +
-" with negative sign bit. Generally, values that would\n" +
-" appear as negative after accounting for overhead and alignment\n" +
-" are supported only via mmap(), which does not have this\n" +
-" limitation.\n" +
-"\n" +
-" Requests for sizes outside the allowed range will perform an optional\n" +
-" failure action and then return null. (Requests may also\n" +
-" also fail because a system is out of memory.)\n" +
-"\n" +
-" Thread-safety: NOT thread-safe unless USE_MALLOC_LOCK defined\n" +
-"\n" +
-" When USE_MALLOC_LOCK is defined, wrappers are created to\n" +
-" surround every public call with either a pthread mutex or\n" +
-" a win32 spinlock (depending on WIN32). This is not\n" +
-" especially fast, and can be a major bottleneck.\n" +
-" It is designed only to provide minimal protection\n" +
-" in concurrent environments, and to provide a basis for\n" +
-" extensions. If you are using malloc in a concurrent program,\n" +
-" you would be far better off obtaining ptmalloc, which is\n" +
-" derived from a version of this malloc, and is well-tuned for\n" +
-" concurrent programs. (See http://www.malloc.de) Note that\n" +
-" even when USE_MALLOC_LOCK is defined, you can can guarantee\n" +
-" full thread-safety only if no threads acquire memory through\n" +
-" direct calls to MORECORE or other system-level allocators.\n" +
-"\n" +
-" Compliance: I believe it is compliant with the 1997 Single Unix Specification\n" +
-" (See http://www.opennc.org). Also SVID/XPG, ANSI C, and probably\n" +
-" others as well.\n" +
-"\n" +
-"* Synopsis of compile-time options:\n" +
-"\n" +
-" People have reported using previous versions of this malloc on all\n" +
-" versions of Unix, sometimes by tweaking some of the defines\n" +
-" below. It has been tested most extensively on Solaris and\n" +
-" Linux. It is also reported to work on WIN32 platforms.\n" +
-" People also report using it in stand-alone embedded systems.\n" +
-"\n" +
-" The implementation is in straight, hand-tuned ANSI C. It is not\n" +
-" at all modular. (Sorry!) It uses a lot of macros. To be at all\n" +
-" usable, this code should be compiled using an optimizing compiler\n" +
-" (for example gcc -O3) that can simplify expressions and control\n" +
-" paths. (FAQ: some macros import variables as arguments rather than\n" +
-" declare locals because people reported that some debuggers\n" +
-" otherwise get confused.)\n" +
-"\n" +
-" OPTION DEFAULT VALUE\n" +
-"\n" +
-" Compilation Environment options:\n" +
-"\n" +
-" __STD_C derived from C compiler defines\n" +
-" WIN32 NOT defined\n" +
-" HAVE_MEMCPY defined\n" +
-" USE_MEMCPY 1 if HAVE_MEMCPY is defined\n" +
-" HAVE_MMAP defined as 1\n" +
-" MMAP_CLEARS 1\n" +
-" HAVE_MREMAP 0 unless linux defined\n" +
-" malloc_getpagesize derived from system #includes, or 4096 if not\n" +
-" HAVE_USR_INCLUDE_MALLOC_H NOT defined\n" +
-" LACKS_UNISTD_H NOT defined unless WIN32\n" +
-" LACKS_SYS_PARAM_H NOT defined unless WIN32\n" +
-" LACKS_SYS_MMAN_H NOT defined unless WIN32\n" +
-" LACKS_FCNTL_H NOT defined\n" +
-"\n" +
-" Changing default word sizes:\n" +
-"\n" +
-" INTERNAL_SIZE_T size_t\n" +
-" MALLOC_ALIGNMENT 2 * sizeof(INTERNAL_SIZE_T)\n" +
-" PTR_UINT unsigned long\n" +
-" CHUNK_SIZE_T unsigned long\n" +
-"\n" +
-" Configuration and functionality options:\n" +
-"\n" +
-" USE_DL_PREFIX NOT defined\n" +
-" USE_PUBLIC_MALLOC_WRAPPERS NOT defined\n" +
-" USE_MALLOC_LOCK NOT defined\n" +
-" DEBUG NOT defined\n" +
-" REALLOC_ZERO_BYTES_FREES NOT defined\n" +
-" MALLOC_FAILURE_ACTION errno = ENOMEM, if __STD_C defined, else no-op\n" +
-" TRIM_FASTBINS 0\n" +
-" FIRST_SORTED_BIN_SIZE 512\n" +
-"\n" +
-" Options for customizing MORECORE:\n" +
-"\n" +
-" MORECORE sbrk\n" +
-" MORECORE_CONTIGUOUS 1\n" +
-" MORECORE_CANNOT_TRIM NOT defined\n" +
-" MMAP_AS_MORECORE_SIZE (1024 * 1024)\n" +
-"\n" +
-" Tuning options that are also dynamically changeable via mallopt:\n" +
-"\n" +
-" DEFAULT_MXFAST 64\n" +
-" DEFAULT_TRIM_THRESHOLD 256 * 1024\n" +
-" DEFAULT_TOP_PAD 0\n" +
-" DEFAULT_MMAP_THRESHOLD 256 * 1024\n" +
-" DEFAULT_MMAP_MAX 65536\n" +
-"\n" +
-" There are several other #defined constants and macros that you\n" +
-" probably don't want to touch unless you are extending or adapting malloc.\n" +
-"*/\n" +
-"\n" +
-"#define MORECORE_CONTIGUOUS 0\n" +
-"#define MORECORE_CANNOT_TRIM 1\n" +
-"#define MALLOC_FAILURE_ACTION abort()\n" +
-"\n" +
-"\n" +
-"namespace khtml {\n" +
-"\n" +
-"#ifndef NDEBUG\n" +
-"\n" +
-"// In debugging builds, use the system malloc for its debugging features.\n" +
-"\n" +
-"void *main_thread_malloc(size_t n)\n" +
-"{\n" +
-" assert(pthread_main_np());\n" +
-" return malloc(n);\n" +
-"}\n" +
-"\n" +
-"void *main_thread_calloc(size_t n_elements, size_t element_size)\n" +
-"{\n" +
-" assert(pthread_main_np());\n" +
-" return calloc(n_elements, element_size);\n" +
-"}\n" +
-"\n" +
-"void main_thread_free(void* p)\n" +
-"{\n" +
-" // it's ok to main_thread_free on a non-main thread - the actual\n" +
-" // free will be scheduled on the main thread in that case.\n" +
-" free(p);\n" +
-"}\n" +
-"\n" +
-"void *main_thread_realloc(void* p, size_t n)\n" +
-"{\n" +
-" assert(pthread_main_np());\n" +
-" return realloc(p, n);\n" +
-"}\n" +
-"\n" +
-"#else\n" +
-"\n" +
-"/*\n" +
-" WIN32 sets up defaults for MS environment and compilers.\n" +
-" Otherwise defaults are for unix.\n" +
-"*/\n" +
-"\n" +
-"/* #define WIN32 */\n" +
-"\n" +
-"#ifdef WIN32\n" +
-"\n" +
-"#define WIN32_LEAN_AND_MEAN\n" +
-"#include <windows.h>\n" +
-"\n" +
-"/* Win32 doesn't supply or need the following headers */\n" +
-"#define LACKS_UNISTD_H\n" +
-"#define LACKS_SYS_PARAM_H\n" +
-"#define LACKS_SYS_MMAN_H\n" +
-"\n" +
-"/* Use the supplied emulation of sbrk */\n" +
-"#define MORECORE sbrk\n" +
-"#define MORECORE_CONTIGUOUS 1\n" +
-"#define MORECORE_FAILURE ((void*)(-1))\n" +
-"\n" +
-"/* Use the supplied emulation of mmap and munmap */\n" +
-"#define HAVE_MMAP 1\n" +
-"#define MUNMAP_FAILURE (-1)\n" +
-"#define MMAP_CLEARS 1\n" +
-"\n" +
-"/* These values don't really matter in windows mmap emulation */\n" +
-"#define MAP_PRIVATE 1\n" +
-"#define MAP_ANONYMOUS 2\n" +
-"#define PROT_READ 1\n" +
-"#define PROT_WRITE 2\n" +
-"\n" +
-"/* Emulation functions defined at the end of this file */\n" +
-"\n" +
-"/* If USE_MALLOC_LOCK, use supplied critical-section-based lock functions */\n" +
-"#ifdef USE_MALLOC_LOCK\n") +
-("static int slwait(int *sl);\n" +
-"static int slrelease(int *sl);\n" +
-"#endif\n" +
-"\n" +
-"static long getpagesize(void);\n" +
-"static long getregionsize(void);\n" +
-"static void *sbrk(long size);\n" +
-"static void *mmap(void *ptr, long size, long prot, long type, long handle, long arg);\n" +
-"static long munmap(void *ptr, long size);\n" +
-"\n" +
-"static void vminfo (unsigned long*free, unsigned long*reserved, unsigned long*committed);\n" +
-"static int cpuinfo (int whole, unsigned long*kernel, unsigned long*user);\n" +
-"\n" +
-"#endif\n" +
-"\n" +
-"/*\n" +
-" __STD_C should be nonzero if using ANSI-standard C compiler, a C++\n" +
-" compiler, or a C compiler sufficiently close to ANSI to get away\n" +
-" with it.\n" +
-"*/\n" +
-"\n" +
-"#ifndef __STD_C\n" +
-"#if defined(__STDC__) || defined(_cplusplus)\n" +
-"#define __STD_C 1\n" +
-"#else\n" +
-"#define __STD_C 0\n" +
-"#endif\n" +
-"#endif /*__STD_C*/\n" +
-"\n" +
-"\n" +
-"/*\n" +
-" Void_t* is the pointer type that malloc should say it returns\n" +
-"*/\n" +
-"\n" +
-"#ifndef Void_t\n" +
-"#if (__STD_C || defined(WIN32))\n" +
-"#define Void_t void\n" +
-"#else\n" +
-"#define Void_t char\n" +
-"#endif\n" +
-"#endif /*Void_t*/\n" +
-"\n" +
-"#if __STD_C\n" +
-"#include <stddef.h> /* for size_t */\n" +
-"#else\n" +
-"#include <sys/types.h>\n" +
-"#endif\n" +
-"\n" +
-"/* define LACKS_UNISTD_H if your system does not have a <unistd.h>. */\n" +
-"\n" +
-"/* #define LACKS_UNISTD_H */\n" +
-"\n" +
-"#ifndef LACKS_UNISTD_H\n" +
-"#include <unistd.h>\n" +
-"#endif\n" +
-"\n" +
-"/* define LACKS_SYS_PARAM_H if your system does not have a <sys/param.h>. */\n" +
-"\n" +
-"/* #define LACKS_SYS_PARAM_H */\n" +
-"\n" +
-"\n" +
-"#include <stdio.h> /* needed for malloc_stats */\n" +
-"#include <errno.h> /* needed for optional MALLOC_FAILURE_ACTION */\n" +
-"\n" +
-"\n" +
-"/*\n" +
-" Debugging:\n" +
-"\n" +
-" Because freed chunks may be overwritten with bookkeeping fields, this\n" +
-" malloc will often die when freed memory is overwritten by user\n" +
-" programs. This can be very effective (albeit in an annoying way)\n" +
-" in helping track down dangling pointers.\n" +
-"\n" +
-" If you compile with -DDEBUG, a number of assertion checks are\n" +
-" enabled that will catch more memory errors. You probably won't be\n" +
-" able to make much sense of the actual assertion errors, but they\n" +
-" should help you locate incorrectly overwritten memory. The\n" +
-" checking is fairly extensive, and will slow down execution\n" +
-" noticeably. Calling malloc_stats or mallinfo with DEBUG set will\n" +
-" attempt to check every non-mmapped allocated and free chunk in the\n" +
-" course of computing the summmaries. (By nature, mmapped regions\n" +
-" cannot be checked very much automatically.)\n" +
-"\n" +
-" Setting DEBUG may also be helpful if you are trying to modify\n" +
-" this code. The assertions in the check routines spell out in more\n" +
-" detail the assumptions and invariants underlying the algorithms.\n" +
-"\n" +
-" Setting DEBUG does NOT provide an automated mechanism for checking\n" +
-" that all accesses to malloced memory stay within their\n" +
-" bounds. However, there are several add-ons and adaptations of this\n" +
-" or other mallocs available that do this.\n" +
-"*/\n" +
-"\n" +
-"/*\n" +
-" The unsigned integer type used for comparing any two chunk sizes.\n" +
-" This should be at least as wide as size_t, but should not be signed.\n" +
-"*/\n" +
-"\n" +
-"#ifndef CHUNK_SIZE_T\n" +
-"#define CHUNK_SIZE_T unsigned long\n" +
-"#endif\n" +
-"\n" +
-"/*\n" +
-" The unsigned integer type used to hold addresses when they are are\n" +
-" manipulated as integers. Except that it is not defined on all\n" +
-" systems, intptr_t would suffice.\n" +
-"*/\n" +
-"#ifndef PTR_UINT\n" +
-"#define PTR_UINT unsigned long\n" +
-"#endif\n" +
-"\n" +
-"\n" +
-"/*\n" +
-" INTERNAL_SIZE_T is the word-size used for internal bookkeeping\n" +
-" of chunk sizes.\n" +
-"\n" +
-" The default version is the same as size_t.\n" +
-"\n" +
-" While not strictly necessary, it is best to define this as an\n" +
-" unsigned type, even if size_t is a signed type. This may avoid some\n" +
-" artificial size limitations on some systems.\n" +
-"\n" +
-" On a 64-bit machine, you may be able to reduce malloc overhead by\n" +
-" defining INTERNAL_SIZE_T to be a 32 bit `unsigned int' at the\n" +
-" expense of not being able to handle more than 2^32 of malloced\n" +
-" space. If this limitation is acceptable, you are encouraged to set\n" +
-" this unless you are on a platform requiring 16byte alignments. In\n" +
-" this case the alignment requirements turn out to negate any\n" +
-" potential advantages of decreasing size_t word size.\n" +
-"\n" +
-" Implementors: Beware of the possible combinations of:\n" +
-" - INTERNAL_SIZE_T might be signed or unsigned, might be 32 or 64 bits,\n" +
-" and might be the same width as int or as long\n" +
-" - size_t might have different width and signedness as INTERNAL_SIZE_T\n" +
-" - int and long might be 32 or 64 bits, and might be the same width\n" +
-" To deal with this, most comparisons and difference computations\n" +
-" among INTERNAL_SIZE_Ts should cast them to CHUNK_SIZE_T, being\n" +
-" aware of the fact that casting an unsigned int to a wider long does\n" +
-" not sign-extend. (This also makes checking for negative numbers\n" +
-" awkward.) Some of these casts result in harmless compiler warnings\n" +
-" on some systems.\n" +
-"*/\n" +
-"\n" +
-"#ifndef INTERNAL_SIZE_T\n" +
-"#define INTERNAL_SIZE_T size_t\n" +
-"#endif\n" +
-"\n" +
-"/* The corresponding word size */\n" +
-"#define SIZE_SZ (sizeof(INTERNAL_SIZE_T))\n" +
-"\n" +
-"\n") +
-("\n" +
-"/*\n" +
-" MALLOC_ALIGNMENT is the minimum alignment for malloc'ed chunks.\n" +
-" It must be a power of two at least 2 * SIZE_SZ, even on machines\n" +
-" for which smaller alignments would suffice. It may be defined as\n" +
-" larger than this though. Note however that code and data structures\n" +
-" are optimized for the case of 8-byte alignment.\n" +
-"*/\n" +
-"\n" +
-"\n" +
-"#ifndef MALLOC_ALIGNMENT\n" +
-"#define MALLOC_ALIGNMENT (2 * SIZE_SZ)\n" +
-"#endif\n" +
-"\n" +
-"/* The corresponding bit mask value */\n" +
-"#define MALLOC_ALIGN_MASK (MALLOC_ALIGNMENT - 1)\n" +
-"\n" +
-"\n" +
-"\n" +
-"/*\n" +
-" REALLOC_ZERO_BYTES_FREES should be set if a call to\n" +
-" realloc with zero bytes should be the same as a call to free.\n" +
-" Some people think it should. Otherwise, since this malloc\n" +
-" returns a unique pointer for malloc(0), so does realloc(p, 0).\n" +
-"*/\n" +
-"\n" +
-"/* #define REALLOC_ZERO_BYTES_FREES */\n" +
-"\n" +
-"/*\n" +
-" TRIM_FASTBINS controls whether free() of a very small chunk can\n" +
-" immediately lead to trimming. Setting to true (1) can reduce memory\n" +
-" footprint, but will almost always slow down programs that use a lot\n" +
-" of small chunks.\n" +
-"\n" +
-" Define this only if you are willing to give up some speed to more\n" +
-" aggressively reduce system-level memory footprint when releasing\n" +
-" memory in programs that use many small chunks. You can get\n" +
-" essentially the same effect by setting MXFAST to 0, but this can\n" +
-" lead to even greater slowdowns in programs using many small chunks.\n" +
-" TRIM_FASTBINS is an in-between compile-time option, that disables\n" +
-" only those chunks bordering topmost memory from being placed in\n" +
-" fastbins.\n" +
-"*/\n" +
-"\n" +
-"#ifndef TRIM_FASTBINS\n" +
-"#define TRIM_FASTBINS 0\n" +
-"#endif\n" +
-"\n" +
-"\n" +
-"/*\n" +
-" USE_DL_PREFIX will prefix all public routines with the string 'dl'.\n" +
-" This is necessary when you only want to use this malloc in one part\n" +
-" of a program, using your regular system malloc elsewhere.\n" +
-"*/\n" +
-"\n" +
-"#define USE_DL_PREFIX\n" +
-"\n" +
-"\n" +
-"/*\n" +
-" USE_MALLOC_LOCK causes wrapper functions to surround each\n" +
-" callable routine with pthread mutex lock/unlock.\n" +
-"\n" +
-" USE_MALLOC_LOCK forces USE_PUBLIC_MALLOC_WRAPPERS to be defined\n" +
-"*/\n" +
-"\n" +
-"\n" +
-"/* #define USE_MALLOC_LOCK */\n" +
-"\n" +
-"\n" +
-"/*\n" +
-" If USE_PUBLIC_MALLOC_WRAPPERS is defined, every public routine is\n" +
-" actually a wrapper function that first calls MALLOC_PREACTION, then\n" +
-" calls the internal routine, and follows it with\n" +
-" MALLOC_POSTACTION. This is needed for locking, but you can also use\n" +
-" this, without USE_MALLOC_LOCK, for purposes of interception,\n" +
-" instrumentation, etc. It is a sad fact that using wrappers often\n" +
-" noticeably degrades performance of malloc-intensive programs.\n" +
-"*/\n" +
-"\n" +
-"#ifdef USE_MALLOC_LOCK\n" +
-"#define USE_PUBLIC_MALLOC_WRAPPERS\n" +
-"#else\n" +
-"/* #define USE_PUBLIC_MALLOC_WRAPPERS */\n" +
-"#endif\n" +
-"\n" +
-"\n" +
-"/*\n" +
-" Two-phase name translation.\n" +
-" All of the actual routines are given mangled names.\n" +
-" When wrappers are used, they become the public callable versions.\n" +
-" When DL_PREFIX is used, the callable names are prefixed.\n" +
-"*/\n" +
-"\n" +
-"#ifndef USE_PUBLIC_MALLOC_WRAPPERS\n" +
-"#define cALLOc public_cALLOc\n" +
-"#define fREe public_fREe\n" +
-"#define cFREe public_cFREe\n" +
-"#define mALLOc public_mALLOc\n" +
-"#define mEMALIGn public_mEMALIGn\n" +
-"#define rEALLOc public_rEALLOc\n" +
-"#define vALLOc public_vALLOc\n" +
-"#define pVALLOc public_pVALLOc\n" +
-"#define mALLINFo public_mALLINFo\n" +
-"#define mALLOPt public_mALLOPt\n" +
-"#define mTRIm public_mTRIm\n" +
-"#define mSTATs public_mSTATs\n" +
-"#define mUSABLe public_mUSABLe\n" +
-"#define iCALLOc public_iCALLOc\n" +
-"#define iCOMALLOc public_iCOMALLOc\n" +
-"#endif\n" +
-"\n" +
-"#ifdef USE_DL_PREFIX\n" +
-"#define public_cALLOc main_thread_calloc\n" +
-"#define public_fREe main_thread_free\n" +
-"#define public_cFREe main_thread_cfree\n" +
-"#define public_mALLOc main_thread_malloc\n" +
-"#define public_mEMALIGn main_thread_memalign\n" +
-"#define public_rEALLOc main_thread_realloc\n" +
-"#define public_vALLOc main_thread_valloc\n" +
-"#define public_pVALLOc main_thread_pvalloc\n" +
-"#define public_mALLINFo main_thread_mallinfo\n" +
-"#define public_mALLOPt main_thread_mallopt\n" +
-"#define public_mTRIm main_thread_malloc_trim\n" +
-"#define public_mSTATs main_thread_malloc_stats\n" +
-"#define public_mUSABLe main_thread_malloc_usable_size\n" +
-"#define public_iCALLOc main_thread_independent_calloc\n" +
-"#define public_iCOMALLOc main_thread_independent_comalloc\n" +
-"#else /* USE_DL_PREFIX */\n" +
-"#define public_cALLOc calloc\n" +
-"#define public_fREe free\n" +
-"#define public_cFREe cfree\n" +
-"#define public_mALLOc malloc\n" +
-"#define public_mEMALIGn memalign\n" +
-"#define public_rEALLOc realloc\n" +
-"#define public_vALLOc valloc\n" +
-"#define public_pVALLOc pvalloc\n" +
-"#define public_mALLINFo mallinfo\n" +
-"#define public_mALLOPt mallopt\n" +
-"#define public_mTRIm malloc_trim\n" +
-"#define public_mSTATs malloc_stats\n" +
-"#define public_mUSABLe malloc_usable_size\n" +
-"#define public_iCALLOc independent_calloc\n" +
-"#define public_iCOMALLOc independent_comalloc\n" +
-"#endif /* USE_DL_PREFIX */\n" +
-"\n" +
-"\n" +
-"/*\n" +
-" HAVE_MEMCPY should be defined if you are not otherwise using\n" +
-" ANSI STD C, but still have memcpy and memset in your C library\n" +
-" and want to use them in calloc and realloc. Otherwise simple\n" +
-" macro versions are defined below.\n" +
-"\n") +
-(" USE_MEMCPY should be defined as 1 if you actually want to\n" +
-" have memset and memcpy called. People report that the macro\n" +
-" versions are faster than libc versions on some systems.\n" +
-"\n" +
-" Even if USE_MEMCPY is set to 1, loops to copy/clear small chunks\n" +
-" (of <= 36 bytes) are manually unrolled in realloc and calloc.\n" +
-"*/\n" +
-"\n" +
-"#define HAVE_MEMCPY\n" +
-"\n" +
-"#ifndef USE_MEMCPY\n" +
-"#ifdef HAVE_MEMCPY\n" +
-"#define USE_MEMCPY 1\n" +
-"#else\n" +
-"#define USE_MEMCPY 0\n" +
-"#endif\n" +
-"#endif\n" +
-"\n" +
-"\n" +
-"#if (__STD_C || defined(HAVE_MEMCPY))\n" +
-"\n" +
-"#ifdef WIN32\n" +
-"/* On Win32 memset and memcpy are already declared in windows.h */\n" +
-"#else\n" +
-"#if __STD_C\n" +
-"extern \"C\" {\n" +
-"void* memset(void*, int, size_t);\n" +
-"void* memcpy(void*, const void*, size_t);\n" +
-"}\n" +
-"#else\n" +
-"extern \"C\" {\n" +
-"Void_t* memset();\n" +
-"Void_t* memcpy();\n" +
-"}\n" +
-"#endif\n" +
-"#endif\n" +
-"#endif\n" +
-"\n" +
-"/*\n" +
-" MALLOC_FAILURE_ACTION is the action to take before \"return 0\" when\n" +
-" malloc fails to be able to return memory, either because memory is\n" +
-" exhausted or because of illegal arguments.\n" +
-"\n" +
-" By default, sets errno if running on STD_C platform, else does nothing.\n" +
-"*/\n" +
-"\n" +
-"#ifndef MALLOC_FAILURE_ACTION\n" +
-"#if __STD_C\n" +
-"#define MALLOC_FAILURE_ACTION \\n" +
-" errno = ENOMEM;\n" +
-"\n" +
-"#else\n" +
-"#define MALLOC_FAILURE_ACTION\n" +
-"#endif\n" +
-"#endif\n" +
-"\n" +
-"/*\n" +
-" MORECORE-related declarations. By default, rely on sbrk\n" +
-"*/\n" +
-"\n" +
-"\n" +
-"#ifdef LACKS_UNISTD_H\n" +
-"#if !defined(__FreeBSD__) && !defined(__OpenBSD__) && !defined(__NetBSD__)\n" +
-"#if __STD_C\n" +
-"extern Void_t* sbrk(ptrdiff_t);\n" +
-"#else\n" +
-"extern Void_t* sbrk();\n" +
-"#endif\n" +
-"#endif\n" +
-"#endif\n" +
-"\n" +
-"/*\n" +
-" MORECORE is the name of the routine to call to obtain more memory\n" +
-" from the system. See below for general guidance on writing\n" +
-" alternative MORECORE functions, as well as a version for WIN32 and a\n" +
-" sample version for pre-OSX macos.\n" +
-"*/\n" +
-"\n" +
-"#ifndef MORECORE\n" +
-"#define MORECORE sbrk\n" +
-"#endif\n" +
-"\n" +
-"/*\n" +
-" MORECORE_FAILURE is the value returned upon failure of MORECORE\n" +
-" as well as mmap. Since it cannot be an otherwise valid memory address,\n" +
-" and must reflect values of standard sys calls, you probably ought not\n" +
-" try to redefine it.\n" +
-"*/\n" +
-"\n" +
-"#ifndef MORECORE_FAILURE\n" +
-"#define MORECORE_FAILURE (-1)\n" +
-"#endif\n" +
-"\n" +
-"/*\n" +
-" If MORECORE_CONTIGUOUS is true, take advantage of fact that\n" +
-" consecutive calls to MORECORE with positive arguments always return\n" +
-" contiguous increasing addresses. This is true of unix sbrk. Even\n" +
-" if not defined, when regions happen to be contiguous, malloc will\n" +
-" permit allocations spanning regions obtained from different\n" +
-" calls. But defining this when applicable enables some stronger\n" +
-" consistency checks and space efficiencies.\n" +
-"*/\n" +
-"\n" +
-"#ifndef MORECORE_CONTIGUOUS\n" +
-"#define MORECORE_CONTIGUOUS 1\n" +
-"#endif\n" +
-"\n" +
-"/*\n" +
-" Define MORECORE_CANNOT_TRIM if your version of MORECORE\n" +
-" cannot release space back to the system when given negative\n" +
-" arguments. This is generally necessary only if you are using\n" +
-" a hand-crafted MORECORE function that cannot handle negative arguments.\n" +
-"*/\n" +
-"\n" +
-"/* #define MORECORE_CANNOT_TRIM */\n" +
-"\n" +
-"\n" +
-"/*\n" +
-" Define HAVE_MMAP as true to optionally make malloc() use mmap() to\n" +
-" allocate very large blocks. These will be returned to the\n" +
-" operating system immediately after a free(). Also, if mmap\n" +
-" is available, it is used as a backup strategy in cases where\n" +
-" MORECORE fails to provide space from system.\n" +
-"\n" +
-" This malloc is best tuned to work with mmap for large requests.\n" +
-" If you do not have mmap, operations involving very large chunks (1MB\n" +
-" or so) may be slower than you'd like.\n" +
-"*/\n" +
-"\n" +
-"#ifndef HAVE_MMAP\n" +
-"#define HAVE_MMAP 1\n" +
-"#endif\n" +
-"\n" +
-"#if HAVE_MMAP\n" +
-"/*\n" +
-" Standard unix mmap using /dev/zero clears memory so calloc doesn't\n" +
-" need to.\n" +
-"*/\n" +
-"\n" +
-"#ifndef MMAP_CLEARS\n" +
-"#define MMAP_CLEARS 1\n" +
-"#endif\n" +
-"\n" +
-"#else /* no mmap */\n" +
-"#ifndef MMAP_CLEARS\n" +
-"#define MMAP_CLEARS 0\n" +
-"#endif\n" +
-"#endif\n" +
-"\n" +
-"\n" +
-"/*\n") +
-(" MMAP_AS_MORECORE_SIZE is the minimum mmap size argument to use if\n" +
-" sbrk fails, and mmap is used as a backup (which is done only if\n" +
-" HAVE_MMAP). The value must be a multiple of page size. This\n" +
-" backup strategy generally applies only when systems have \"holes\" in\n" +
-" address space, so sbrk cannot perform contiguous expansion, but\n" +
-" there is still space available on system. On systems for which\n" +
-" this is known to be useful (i.e. most linux kernels), this occurs\n" +
-" only when programs allocate huge amounts of memory. Between this,\n" +
-" and the fact that mmap regions tend to be limited, the size should\n" +
-" be large, to avoid too many mmap calls and thus avoid running out\n" +
-" of kernel resources.\n" +
-"*/\n" +
-"\n" +
-"#ifndef MMAP_AS_MORECORE_SIZE\n" +
-"#define MMAP_AS_MORECORE_SIZE (1024 * 1024)\n" +
-"#endif\n" +
-"\n" +
-"/*\n" +
-" Define HAVE_MREMAP to make realloc() use mremap() to re-allocate\n" +
-" large blocks. This is currently only possible on Linux with\n" +
-" kernel versions newer than 1.3.77.\n" +
-"*/\n" +
-"\n" +
-"#ifndef HAVE_MREMAP\n" +
-"#ifdef linux\n" +
-"#define HAVE_MREMAP 1\n" +
-"#else\n" +
-"#define HAVE_MREMAP 0\n" +
-"#endif\n" +
-"\n" +
-"#endif /* HAVE_MMAP */\n" +
-"\n" +
-"\n" +
-"/*\n" +
-" The system page size. To the extent possible, this malloc manages\n" +
-" memory from the system in page-size units. Note that this value is\n" +
-" cached during initialization into a field of malloc_state. So even\n" +
-" if malloc_getpagesize is a function, it is only called once.\n" +
-"\n" +
-" The following mechanics for getpagesize were adapted from bsd/gnu\n" +
-" getpagesize.h. If none of the system-probes here apply, a value of\n" +
-" 4096 is used, which should be OK: If they don't apply, then using\n" +
-" the actual value probably doesn't impact performance.\n" +
-"*/\n" +
-"\n" +
-"\n" +
-"#ifndef malloc_getpagesize\n" +
-"\n" +
-"#ifndef LACKS_UNISTD_H\n" +
-"# include <unistd.h>\n" +
-"#endif\n" +
-"\n" +
-"# ifdef _SC_PAGESIZE /* some SVR4 systems omit an underscore */\n" +
-"# ifndef _SC_PAGE_SIZE\n" +
-"# define _SC_PAGE_SIZE _SC_PAGESIZE\n" +
-"# endif\n" +
-"# endif\n" +
-"\n" +
-"# ifdef _SC_PAGE_SIZE\n" +
-"# define malloc_getpagesize sysconf(_SC_PAGE_SIZE)\n" +
-"# else\n" +
-"# if defined(BSD) || defined(DGUX) || defined(HAVE_GETPAGESIZE)\n" +
-" extern size_t getpagesize();\n" +
-"# define malloc_getpagesize getpagesize()\n" +
-"# else\n" +
-"# ifdef WIN32 /* use supplied emulation of getpagesize */\n" +
-"# define malloc_getpagesize getpagesize()\n" +
-"# else\n" +
-"# ifndef LACKS_SYS_PARAM_H\n" +
-"# include <sys/param.h>\n" +
-"# endif\n" +
-"# ifdef EXEC_PAGESIZE\n" +
-"# define malloc_getpagesize EXEC_PAGESIZE\n" +
-"# else\n" +
-"# ifdef NBPG\n" +
-"# ifndef CLSIZE\n" +
-"# define malloc_getpagesize NBPG\n" +
-"# else\n" +
-"# define malloc_getpagesize (NBPG * CLSIZE)\n" +
-"# endif\n" +
-"# else\n" +
-"# ifdef NBPC\n" +
-"# define malloc_getpagesize NBPC\n" +
-"# else\n" +
-"# ifdef PAGESIZE\n" +
-"# define malloc_getpagesize PAGESIZE\n" +
-"# else /* just guess */\n" +
-"# define malloc_getpagesize (4096)\n" +
-"# endif\n" +
-"# endif\n" +
-"# endif\n" +
-"# endif\n" +
-"# endif\n" +
-"# endif\n" +
-"# endif\n" +
-"#endif\n" +
-"\n" +
-"/*\n" +
-" This version of malloc supports the standard SVID/XPG mallinfo\n" +
-" routine that returns a struct containing usage properties and\n" +
-" statistics. It should work on any SVID/XPG compliant system that has\n" +
-" a /usr/include/malloc.h defining struct mallinfo. (If you'd like to\n" +
-" install such a thing yourself, cut out the preliminary declarations\n" +
-" as described above and below and save them in a malloc.h file. But\n" +
-" there's no compelling reason to bother to do this.)\n" +
-"\n" +
-" The main declaration needed is the mallinfo struct that is returned\n" +
-" (by-copy) by mallinfo(). The SVID/XPG malloinfo struct contains a\n" +
-" bunch of fields that are not even meaningful in this version of\n" +
-" malloc. These fields are are instead filled by mallinfo() with\n" +
-" other numbers that might be of interest.\n" +
-"\n" +
-" HAVE_USR_INCLUDE_MALLOC_H should be set if you have a\n" +
-" /usr/include/malloc.h file that includes a declaration of struct\n" +
-" mallinfo. If so, it is included; else an SVID2/XPG2 compliant\n" +
-" version is declared below. These must be precisely the same for\n" +
-" mallinfo() to work. The original SVID version of this struct,\n" +
-" defined on most systems with mallinfo, declares all fields as\n" +
-" ints. But some others define as unsigned long. If your system\n" +
-" defines the fields using a type of different width than listed here,\n" +
-" you must #include your system version and #define\n" +
-" HAVE_USR_INCLUDE_MALLOC_H.\n" +
-"*/\n" +
-"\n" +
-"/* #define HAVE_USR_INCLUDE_MALLOC_H */\n" +
-"\n" +
-"#ifdef HAVE_USR_INCLUDE_MALLOC_H\n" +
-"#include \"/usr/include/malloc.h\"\n" +
-"#else\n" +
-"\n" +
-"/* SVID2/XPG mallinfo structure */\n" +
-"\n" +
-"struct mallinfo {\n" +
-" int arena; /* non-mmapped space allocated from system */\n" +
-" int ordblks; /* number of free chunks */\n" +
-" int smblks; /* number of fastbin blocks */\n" +
-" int hblks; /* number of mmapped regions */\n" +
-" int hblkhd; /* space in mmapped regions */\n" +
-" int usmblks; /* maximum total allocated space */\n" +
-" int fsmblks; /* space available in freed fastbin blocks */\n" +
-" int uordblks; /* total allocated space */\n" +
-" int fordblks; /* total free space */\n" +
-" int keepcost; /* top-most, releasable (via malloc_trim) space */\n" +
-"};\n" +
-"\n" +
-"/*\n" +
-" SVID/XPG defines four standard parameter numbers for mallopt,\n" +
-" normally defined in malloc.h. Only one of these (M_MXFAST) is used\n" +
-" in this malloc. The others (M_NLBLKS, M_GRAIN, M_KEEP) don't apply,\n" +
-" so setting them has no effect. But this malloc also supports other\n" +
-" options in mallopt described below.\n" +
-"*/\n") +
-("#endif\n" +
-"\n" +
-"\n" +
-"/* ---------- description of public routines ------------ */\n" +
-"\n" +
-"/*\n" +
-" malloc(size_t n)\n" +
-" Returns a pointer to a newly allocated chunk of at least n bytes, or null\n" +
-" if no space is available. Additionally, on failure, errno is\n" +
-" set to ENOMEM on ANSI C systems.\n" +
-"\n" +
-" If n is zero, malloc returns a minumum-sized chunk. (The minimum\n" +
-" size is 16 bytes on most 32bit systems, and 24 or 32 bytes on 64bit\n" +
-" systems.) On most systems, size_t is an unsigned type, so calls\n" +
-" with negative arguments are interpreted as requests for huge amounts\n" +
-" of space, which will often fail. The maximum supported value of n\n" +
-" differs across systems, but is in all cases less than the maximum\n" +
-" representable value of a size_t.\n" +
-"*/\n" +
-"#if __STD_C\n" +
-"Void_t* public_mALLOc(size_t);\n" +
-"#else\n" +
-"Void_t* public_mALLOc();\n" +
-"#endif\n" +
-"\n" +
-"/*\n" +
-" free(Void_t* p)\n" +
-" Releases the chunk of memory pointed to by p, that had been previously\n" +
-" allocated using malloc or a related routine such as realloc.\n" +
-" It has no effect if p is null. It can have arbitrary (i.e., bad!)\n" +
-" effects if p has already been freed.\n" +
-"\n" +
-" Unless disabled (using mallopt), freeing very large spaces will\n" +
-" when possible, automatically trigger operations that give\n" +
-" back unused memory to the system, thus reducing program footprint.\n" +
-"*/\n" +
-"#if __STD_C\n" +
-"void public_fREe(Void_t*);\n" +
-"#else\n" +
-"void public_fREe();\n" +
-"#endif\n" +
-"\n" +
-"/*\n" +
-" calloc(size_t n_elements, size_t element_size);\n" +
-" Returns a pointer to n_elements * element_size bytes, with all locations\n" +
-" set to zero.\n" +
-"*/\n" +
-"#if __STD_C\n" +
-"Void_t* public_cALLOc(size_t, size_t);\n" +
-"#else\n" +
-"Void_t* public_cALLOc();\n" +
-"#endif\n" +
-"\n" +
-"/*\n" +
-" realloc(Void_t* p, size_t n)\n" +
-" Returns a pointer to a chunk of size n that contains the same data\n" +
-" as does chunk p up to the minimum of (n, p's size) bytes, or null\n" +
-" if no space is available.\n" +
-"\n" +
-" The returned pointer may or may not be the same as p. The algorithm\n" +
-" prefers extending p when possible, otherwise it employs the\n" +
-" equivalent of a malloc-copy-free sequence.\n" +
-"\n" +
-" If p is null, realloc is equivalent to malloc.\n" +
-"\n" +
-" If space is not available, realloc returns null, errno is set (if on\n" +
-" ANSI) and p is NOT freed.\n" +
-"\n" +
-" if n is for fewer bytes than already held by p, the newly unused\n" +
-" space is lopped off and freed if possible. Unless the #define\n" +
-" REALLOC_ZERO_BYTES_FREES is set, realloc with a size argument of\n" +
-" zero (re)allocates a minimum-sized chunk.\n" +
-"\n" +
-" Large chunks that were internally obtained via mmap will always\n" +
-" be reallocated using malloc-copy-free sequences unless\n" +
-" the system supports MREMAP (currently only linux).\n" +
-"\n" +
-" The old unix realloc convention of allowing the last-free'd chunk\n" +
-" to be used as an argument to realloc is not supported.\n" +
-"*/\n" +
-"#if __STD_C\n" +
-"Void_t* public_rEALLOc(Void_t*, size_t);\n" +
-"#else\n" +
-"Void_t* public_rEALLOc();\n" +
-"#endif\n" +
-"\n" +
-"/*\n" +
-" memalign(size_t alignment, size_t n);\n" +
-" Returns a pointer to a newly allocated chunk of n bytes, aligned\n" +
-" in accord with the alignment argument.\n" +
-"\n" +
-" The alignment argument should be a power of two. If the argument is\n" +
-" not a power of two, the nearest greater power is used.\n" +
-" 8-byte alignment is guaranteed by normal malloc calls, so don't\n" +
-" bother calling memalign with an argument of 8 or less.\n" +
-"\n" +
-" Overreliance on memalign is a sure way to fragment space.\n" +
-"*/\n" +
-"#if __STD_C\n" +
-"Void_t* public_mEMALIGn(size_t, size_t);\n" +
-"#else\n" +
-"Void_t* public_mEMALIGn();\n" +
-"#endif\n" +
-"\n" +
-"/*\n" +
-" valloc(size_t n);\n" +
-" Equivalent to memalign(pagesize, n), where pagesize is the page\n" +
-" size of the system. If the pagesize is unknown, 4096 is used.\n" +
-"*/\n" +
-"#if __STD_C\n" +
-"Void_t* public_vALLOc(size_t);\n" +
-"#else\n" +
-"Void_t* public_vALLOc();\n" +
-"#endif\n" +
-"\n" +
-"\n" +
-"\n" +
-"/*\n" +
-" mallopt(int parameter_number, int parameter_value)\n" +
-" Sets tunable parameters The format is to provide a\n" +
-" (parameter-number, parameter-value) pair. mallopt then sets the\n" +
-" corresponding parameter to the argument value if it can (i.e., so\n" +
-" long as the value is meaningful), and returns 1 if successful else\n" +
-" 0. SVID/XPG/ANSI defines four standard param numbers for mallopt,\n" +
-" normally defined in malloc.h. Only one of these (M_MXFAST) is used\n" +
-" in this malloc. The others (M_NLBLKS, M_GRAIN, M_KEEP) don't apply,\n" +
-" so setting them has no effect. But this malloc also supports four\n" +
-" other options in mallopt. See below for details. Briefly, supported\n" +
-" parameters are as follows (listed defaults are for \"typical\"\n" +
-" configurations).\n" +
-"\n" +
-" Symbol param # default allowed param values\n" +
-" M_MXFAST 1 64 0-80 (0 disables fastbins)\n" +
-" M_TRIM_THRESHOLD -1 256*1024 any (-1U disables trimming)\n" +
-" M_TOP_PAD -2 0 any\n" +
-" M_MMAP_THRESHOLD -3 256*1024 any (or 0 if no MMAP support)\n" +
-" M_MMAP_MAX -4 65536 any (0 disables use of mmap)\n" +
-"*/\n" +
-"#if __STD_C\n" +
-"int public_mALLOPt(int, int);\n" +
-"#else\n" +
-"int public_mALLOPt();\n" +
-"#endif\n" +
-"\n" +
-"\n" +
-"/*\n" +
-" mallinfo()\n" +
-" Returns (by copy) a struct containing various summary statistics:\n" +
-"\n") +
-(" arena: current total non-mmapped bytes allocated from system\n" +
-" ordblks: the number of free chunks\n" +
-" smblks: the number of fastbin blocks (i.e., small chunks that\n" +
-" have been freed but not use resused or consolidated)\n" +
-" hblks: current number of mmapped regions\n" +
-" hblkhd: total bytes held in mmapped regions\n" +
-" usmblks: the maximum total allocated space. This will be greater\n" +
-" than current total if trimming has occurred.\n" +
-" fsmblks: total bytes held in fastbin blocks\n" +
-" uordblks: current total allocated space (normal or mmapped)\n" +
-" fordblks: total free space\n" +
-" keepcost: the maximum number of bytes that could ideally be released\n" +
-" back to system via malloc_trim. (\"ideally\" means that\n" +
-" it ignores page restrictions etc.)\n" +
-"\n" +
-" Because these fields are ints, but internal bookkeeping may\n" +
-" be kept as longs, the reported values may wrap around zero and\n" +
-" thus be inaccurate.\n" +
-"*/\n" +
-"#if __STD_C\n" +
-"struct mallinfo public_mALLINFo(void);\n" +
-"#else\n" +
-"struct mallinfo public_mALLINFo();\n" +
-"#endif\n" +
-"\n" +
-"/*\n" +
-" independent_calloc(size_t n_elements, size_t element_size, Void_t* chunks[]);\n" +
-"\n" +
-" independent_calloc is similar to calloc, but instead of returning a\n" +
-" single cleared space, it returns an array of pointers to n_elements\n" +
-" independent elements that can hold contents of size elem_size, each\n" +
-" of which starts out cleared, and can be independently freed,\n" +
-" realloc'ed etc. The elements are guaranteed to be adjacently\n" +
-" allocated (this is not guaranteed to occur with multiple callocs or\n" +
-" mallocs), which may also improve cache locality in some\n" +
-" applications.\n" +
-"\n" +
-" The \"chunks\" argument is optional (i.e., may be null, which is\n" +
-" probably the most typical usage). If it is null, the returned array\n" +
-" is itself dynamically allocated and should also be freed when it is\n" +
-" no longer needed. Otherwise, the chunks array must be of at least\n" +
-" n_elements in length. It is filled in with the pointers to the\n" +
-" chunks.\n" +
-"\n" +
-" In either case, independent_calloc returns this pointer array, or\n" +
-" null if the allocation failed. If n_elements is zero and \"chunks\"\n" +
-" is null, it returns a chunk representing an array with zero elements\n" +
-" (which should be freed if not wanted).\n" +
-"\n" +
-" Each element must be individually freed when it is no longer\n" +
-" needed. If you'd like to instead be able to free all at once, you\n" +
-" should instead use regular calloc and assign pointers into this\n" +
-" space to represent elements. (In this case though, you cannot\n" +
-" independently free elements.)\n" +
-"\n" +
-" independent_calloc simplifies and speeds up implementations of many\n" +
-" kinds of pools. It may also be useful when constructing large data\n" +
-" structures that initially have a fixed number of fixed-sized nodes,\n" +
-" but the number is not known at compile time, and some of the nodes\n" +
-" may later need to be freed. For example:\n" +
-"\n" +
-" struct Node { int item; struct Node* next; };\n" +
-"\n" +
-" struct Node* build_list() {\n" +
-" struct Node** pool;\n" +
-" int n = read_number_of_nodes_needed();\n" +
-" if (n <= 0) return 0;\n" +
-" pool = (struct Node**)(independent_calloc(n, sizeof(struct Node), 0);\n" +
-" if (pool == 0) die();\n" +
-" // organize into a linked list...\n" +
-" struct Node* first = pool[0];\n" +
-" for (i = 0; i < n-1; ++i)\n" +
-" pool[i]->next = pool[i+1];\n" +
-" free(pool); // Can now free the array (or not, if it is needed later)\n" +
-" return first;\n" +
-" }\n" +
-"*/\n" +
-"#if __STD_C\n" +
-"Void_t** public_iCALLOc(size_t, size_t, Void_t**);\n" +
-"#else\n" +
-"Void_t** public_iCALLOc();\n" +
-"#endif\n" +
-"\n" +
-"/*\n" +
-" independent_comalloc(size_t n_elements, size_t sizes[], Void_t* chunks[]);\n" +
-"\n" +
-" independent_comalloc allocates, all at once, a set of n_elements\n" +
-" chunks with sizes indicated in the \"sizes\" array. It returns\n" +
-" an array of pointers to these elements, each of which can be\n" +
-" independently freed, realloc'ed etc. The elements are guaranteed to\n" +
-" be adjacently allocated (this is not guaranteed to occur with\n" +
-" multiple callocs or mallocs), which may also improve cache locality\n" +
-" in some applications.\n" +
-"\n" +
-" The \"chunks\" argument is optional (i.e., may be null). If it is null\n" +
-" the returned array is itself dynamically allocated and should also\n" +
-" be freed when it is no longer needed. Otherwise, the chunks array\n" +
-" must be of at least n_elements in length. It is filled in with the\n" +
-" pointers to the chunks.\n" +
-"\n" +
-" In either case, independent_comalloc returns this pointer array, or\n" +
-" null if the allocation failed. If n_elements is zero and chunks is\n" +
-" null, it returns a chunk representing an array with zero elements\n" +
-" (which should be freed if not wanted).\n" +
-"\n" +
-" Each element must be individually freed when it is no longer\n" +
-" needed. If you'd like to instead be able to free all at once, you\n" +
-" should instead use a single regular malloc, and assign pointers at\n" +
-" particular offsets in the aggregate space. (In this case though, you\n" +
-" cannot independently free elements.)\n" +
-"\n" +
-" independent_comallac differs from independent_calloc in that each\n" +
-" element may have a different size, and also that it does not\n" +
-" automatically clear elements.\n" +
-"\n" +
-" independent_comalloc can be used to speed up allocation in cases\n" +
-" where several structs or objects must always be allocated at the\n" +
-" same time. For example:\n" +
-"\n" +
-" struct Head { ... }\n" +
-" struct Foot { ... }\n" +
-"\n" +
-" void send_message(char* msg) {\n" +
-" int msglen = strlen(msg);\n" +
-" size_t sizes[3] = { sizeof(struct Head), msglen, sizeof(struct Foot) };\n" +
-" void* chunks[3];\n" +
-" if (independent_comalloc(3, sizes, chunks) == 0)\n" +
-" die();\n" +
-" struct Head* head = (struct Head*)(chunks[0]);\n" +
-" char* body = (char*)(chunks[1]);\n" +
-" struct Foot* foot = (struct Foot*)(chunks[2]);\n" +
-" // ...\n" +
-" }\n" +
-"\n" +
-" In general though, independent_comalloc is worth using only for\n" +
-" larger values of n_elements. For small values, you probably won't\n" +
-" detect enough difference from series of malloc calls to bother.\n" +
-"\n" +
-" Overuse of independent_comalloc can increase overall memory usage,\n" +
-" since it cannot reuse existing noncontiguous small chunks that\n" +
-" might be available for some of the elements.\n" +
-"*/\n" +
-"#if __STD_C\n" +
-"Void_t** public_iCOMALLOc(size_t, size_t*, Void_t**);\n" +
-"#else\n" +
-"Void_t** public_iCOMALLOc();\n" +
-"#endif\n" +
-"\n" +
-"\n" +
-"/*\n") +
-(" pvalloc(size_t n);\n" +
-" Equivalent to valloc(minimum-page-that-holds(n)), that is,\n" +
-" round up n to nearest pagesize.\n" +
-" */\n" +
-"#if __STD_C\n" +
-"Void_t* public_pVALLOc(size_t);\n" +
-"#else\n" +
-"Void_t* public_pVALLOc();\n" +
-"#endif\n" +
-"\n" +
-"/*\n" +
-" cfree(Void_t* p);\n" +
-" Equivalent to free(p).\n" +
-"\n" +
-" cfree is needed/defined on some systems that pair it with calloc,\n" +
-" for odd historical reasons (such as: cfree is used in example\n" +
-" code in the first edition of K&R).\n" +
-"*/\n" +
-"#if __STD_C\n" +
-"void public_cFREe(Void_t*);\n" +
-"#else\n" +
-"void public_cFREe();\n" +
-"#endif\n" +
-"\n" +
-"/*\n" +
-" malloc_trim(size_t pad);\n" +
-"\n" +
-" If possible, gives memory back to the system (via negative\n" +
-" arguments to sbrk) if there is unused memory at the `high' end of\n" +
-" the malloc pool. You can call this after freeing large blocks of\n" +
-" memory to potentially reduce the system-level memory requirements\n" +
-" of a program. However, it cannot guarantee to reduce memory. Under\n" +
-" some allocation patterns, some large free blocks of memory will be\n" +
-" locked between two used chunks, so they cannot be given back to\n" +
-" the system.\n" +
-"\n" +
-" The `pad' argument to malloc_trim represents the amount of free\n" +
-" trailing space to leave untrimmed. If this argument is zero,\n" +
-" only the minimum amount of memory to maintain internal data\n" +
-" structures will be left (one page or less). Non-zero arguments\n" +
-" can be supplied to maintain enough trailing space to service\n" +
-" future expected allocations without having to re-obtain memory\n" +
-" from the system.\n" +
-"\n" +
-" Malloc_trim returns 1 if it actually released any memory, else 0.\n" +
-" On systems that do not support \"negative sbrks\", it will always\n" +
-" rreturn 0.\n" +
-"*/\n" +
-"#if __STD_C\n" +
-"int public_mTRIm(size_t);\n" +
-"#else\n" +
-"int public_mTRIm();\n" +
-"#endif\n" +
-"\n" +
-"/*\n" +
-" malloc_usable_size(Void_t* p);\n" +
-"\n" +
-" Returns the number of bytes you can actually use in\n" +
-" an allocated chunk, which may be more than you requested (although\n" +
-" often not) due to alignment and minimum size constraints.\n" +
-" You can use this many bytes without worrying about\n" +
-" overwriting other allocated objects. This is not a particularly great\n" +
-" programming practice. malloc_usable_size can be more useful in\n" +
-" debugging and assertions, for example:\n" +
-"\n" +
-" p = malloc(n);\n" +
-" assert(malloc_usable_size(p) >= 256);\n" +
-"\n" +
-"*/\n" +
-"#if __STD_C\n" +
-"size_t public_mUSABLe(Void_t*);\n" +
-"#else\n" +
-"size_t public_mUSABLe();\n" +
-"#endif\n" +
-"\n" +
-"/*\n" +
-" malloc_stats();\n" +
-" Prints on stderr the amount of space obtained from the system (both\n" +
-" via sbrk and mmap), the maximum amount (which may be more than\n" +
-" current if malloc_trim and/or munmap got called), and the current\n" +
-" number of bytes allocated via malloc (or realloc, etc) but not yet\n" +
-" freed. Note that this is the number of bytes allocated, not the\n" +
-" number requested. It will be larger than the number requested\n" +
-" because of alignment and bookkeeping overhead. Because it includes\n" +
-" alignment wastage as being in use, this figure may be greater than\n" +
-" zero even when no user-level chunks are allocated.\n" +
-"\n" +
-" The reported current and maximum system memory can be inaccurate if\n" +
-" a program makes other calls to system memory allocation functions\n" +
-" (normally sbrk) outside of malloc.\n" +
-"\n" +
-" malloc_stats prints only the most commonly interesting statistics.\n" +
-" More information can be obtained by calling mallinfo.\n" +
-"\n" +
-"*/\n" +
-"#if __STD_C\n" +
-"void public_mSTATs();\n" +
-"#else\n" +
-"void public_mSTATs();\n" +
-"#endif\n" +
-"\n" +
-"/* mallopt tuning options */\n" +
-"\n" +
-"/*\n" +
-" M_MXFAST is the maximum request size used for \"fastbins\", special bins\n" +
-" that hold returned chunks without consolidating their spaces. This\n" +
-" enables future requests for chunks of the same size to be handled\n" +
-" very quickly, but can increase fragmentation, and thus increase the\n" +
-" overall memory footprint of a program.\n" +
-"\n" +
-" This malloc manages fastbins very conservatively yet still\n" +
-" efficiently, so fragmentation is rarely a problem for values less\n" +
-" than or equal to the default. The maximum supported value of MXFAST\n" +
-" is 80. You wouldn't want it any higher than this anyway. Fastbins\n" +
-" are designed especially for use with many small structs, objects or\n" +
-" strings -- the default handles structs/objects/arrays with sizes up\n" +
-" to 16 4byte fields, or small strings representing words, tokens,\n" +
-" etc. Using fastbins for larger objects normally worsens\n" +
-" fragmentation without improving speed.\n" +
-"\n" +
-" M_MXFAST is set in REQUEST size units. It is internally used in\n" +
-" chunksize units, which adds padding and alignment. You can reduce\n" +
-" M_MXFAST to 0 to disable all use of fastbins. This causes the malloc\n" +
-" algorithm to be a closer approximation of fifo-best-fit in all cases,\n" +
-" not just for larger requests, but will generally cause it to be\n" +
-" slower.\n" +
-"*/\n" +
-"\n" +
-"\n" +
-"/* M_MXFAST is a standard SVID/XPG tuning option, usually listed in malloc.h */\n" +
-"#ifndef M_MXFAST\n" +
-"#define M_MXFAST 1\n" +
-"#endif\n" +
-"\n" +
-"#ifndef DEFAULT_MXFAST\n" +
-"#define DEFAULT_MXFAST 64\n" +
-"#endif\n" +
-"\n" +
-"\n" +
-"/*\n" +
-" M_TRIM_THRESHOLD is the maximum amount of unused top-most memory\n" +
-" to keep before releasing via malloc_trim in free().\n" +
-"\n" +
-" Automatic trimming is mainly useful in long-lived programs.\n" +
-" Because trimming via sbrk can be slow on some systems, and can\n" +
-" sometimes be wasteful (in cases where programs immediately\n" +
-" afterward allocate more large chunks) the value should be high\n" +
-" enough so that your overall system performance would improve by\n" +
-" releasing this much memory.\n" +
-"\n") +
-(" The trim threshold and the mmap control parameters (see below)\n" +
-" can be traded off with one another. Trimming and mmapping are\n" +
-" two different ways of releasing unused memory back to the\n" +
-" system. Between these two, it is often possible to keep\n" +
-" system-level demands of a long-lived program down to a bare\n" +
-" minimum. For example, in one test suite of sessions measuring\n" +
-" the XF86 X server on Linux, using a trim threshold of 128K and a\n" +
-" mmap threshold of 192K led to near-minimal long term resource\n" +
-" consumption.\n" +
-"\n" +
-" If you are using this malloc in a long-lived program, it should\n" +
-" pay to experiment with these values. As a rough guide, you\n" +
-" might set to a value close to the average size of a process\n" +
-" (program) running on your system. Releasing this much memory\n" +
-" would allow such a process to run in memory. Generally, it's\n" +
-" worth it to tune for trimming rather tham memory mapping when a\n" +
-" program undergoes phases where several large chunks are\n" +
-" allocated and released in ways that can reuse each other's\n" +
-" storage, perhaps mixed with phases where there are no such\n" +
-" chunks at all. And in well-behaved long-lived programs,\n" +
-" controlling release of large blocks via trimming versus mapping\n" +
-" is usually faster.\n" +
-"\n" +
-" However, in most programs, these parameters serve mainly as\n" +
-" protection against the system-level effects of carrying around\n" +
-" massive amounts of unneeded memory. Since frequent calls to\n" +
-" sbrk, mmap, and munmap otherwise degrade performance, the default\n" +
-" parameters are set to relatively high values that serve only as\n" +
-" safeguards.\n" +
-"\n" +
-" The trim value must be greater than page size to have any useful\n" +
-" effect. To disable trimming completely, you can set to\n" +
-" (unsigned long)(-1)\n" +
-"\n" +
-" Trim settings interact with fastbin (MXFAST) settings: Unless\n" +
-" TRIM_FASTBINS is defined, automatic trimming never takes place upon\n" +
-" freeing a chunk with size less than or equal to MXFAST. Trimming is\n" +
-" instead delayed until subsequent freeing of larger chunks. However,\n" +
-" you can still force an attempted trim by calling malloc_trim.\n" +
-"\n" +
-" Also, trimming is not generally possible in cases where\n" +
-" the main arena is obtained via mmap.\n" +
-"\n" +
-" Note that the trick some people use of mallocing a huge space and\n" +
-" then freeing it at program startup, in an attempt to reserve system\n" +
-" memory, doesn't have the intended effect under automatic trimming,\n" +
-" since that memory will immediately be returned to the system.\n" +
-"*/\n" +
-"\n" +
-"#define M_TRIM_THRESHOLD -1\n" +
-"\n" +
-"#ifndef DEFAULT_TRIM_THRESHOLD\n" +
-"#define DEFAULT_TRIM_THRESHOLD (256 * 1024)\n" +
-"#endif\n" +
-"\n" +
-"/*\n" +
-" M_TOP_PAD is the amount of extra `padding' space to allocate or\n" +
-" retain whenever sbrk is called. It is used in two ways internally:\n" +
-"\n" +
-" * When sbrk is called to extend the top of the arena to satisfy\n" +
-" a new malloc request, this much padding is added to the sbrk\n" +
-" request.\n" +
-"\n" +
-" * When malloc_trim is called automatically from free(),\n" +
-" it is used as the `pad' argument.\n" +
-"\n" +
-" In both cases, the actual amount of padding is rounded\n" +
-" so that the end of the arena is always a system page boundary.\n" +
-"\n" +
-" The main reason for using padding is to avoid calling sbrk so\n" +
-" often. Having even a small pad greatly reduces the likelihood\n" +
-" that nearly every malloc request during program start-up (or\n" +
-" after trimming) will invoke sbrk, which needlessly wastes\n" +
-" time.\n" +
-"\n" +
-" Automatic rounding-up to page-size units is normally sufficient\n" +
-" to avoid measurable overhead, so the default is 0. However, in\n" +
-" systems where sbrk is relatively slow, it can pay to increase\n" +
-" this value, at the expense of carrying around more memory than\n" +
-" the program needs.\n" +
-"*/\n" +
-"\n" +
-"#define M_TOP_PAD -2\n" +
-"\n" +
-"#ifndef DEFAULT_TOP_PAD\n" +
-"#define DEFAULT_TOP_PAD (0)\n" +
-"#endif\n" +
-"\n" +
-"/*\n" +
-" M_MMAP_THRESHOLD is the request size threshold for using mmap()\n" +
-" to service a request. Requests of at least this size that cannot\n" +
-" be allocated using already-existing space will be serviced via mmap.\n" +
-" (If enough normal freed space already exists it is used instead.)\n" +
-"\n" +
-" Using mmap segregates relatively large chunks of memory so that\n" +
-" they can be individually obtained and released from the host\n" +
-" system. A request serviced through mmap is never reused by any\n" +
-" other request (at least not directly; the system may just so\n" +
-" happen to remap successive requests to the same locations).\n" +
-"\n" +
-" Segregating space in this way has the benefits that:\n" +
-"\n" +
-" 1. Mmapped space can ALWAYS be individually released back\n" +
-" to the system, which helps keep the system level memory\n" +
-" demands of a long-lived program low.\n" +
-" 2. Mapped memory can never become `locked' between\n" +
-" other chunks, as can happen with normally allocated chunks, which\n" +
-" means that even trimming via malloc_trim would not release them.\n" +
-" 3. On some systems with \"holes\" in address spaces, mmap can obtain\n" +
-" memory that sbrk cannot.\n" +
-"\n" +
-" However, it has the disadvantages that:\n" +
-"\n" +
-" 1. The space cannot be reclaimed, consolidated, and then\n" +
-" used to service later requests, as happens with normal chunks.\n" +
-" 2. It can lead to more wastage because of mmap page alignment\n" +
-" requirements\n" +
-" 3. It causes malloc performance to be more dependent on host\n" +
-" system memory management support routines which may vary in\n" +
-" implementation quality and may impose arbitrary\n" +
-" limitations. Generally, servicing a request via normal\n" +
-" malloc steps is faster than going through a system's mmap.\n" +
-"\n" +
-" The advantages of mmap nearly always outweigh disadvantages for\n" +
-" \"large\" chunks, but the value of \"large\" varies across systems. The\n" +
-" default is an empirically derived value that works well in most\n" +
-" systems.\n" +
-"*/\n" +
-"\n" +
-"#define M_MMAP_THRESHOLD -3\n" +
-"\n" +
-"#ifndef DEFAULT_MMAP_THRESHOLD\n" +
-"#define DEFAULT_MMAP_THRESHOLD (256 * 1024)\n" +
-"#endif\n" +
-"\n" +
-"/*\n" +
-" M_MMAP_MAX is the maximum number of requests to simultaneously\n" +
-" service using mmap. This parameter exists because\n" +
-". Some systems have a limited number of internal tables for\n" +
-" use by mmap, and using more than a few of them may degrade\n" +
-" performance.\n" +
-"\n" +
-" The default is set to a value that serves only as a safeguard.\n" +
-" Setting to 0 disables use of mmap for servicing large requests. If\n" +
-" HAVE_MMAP is not set, the default value is 0, and attempts to set it\n" +
-" to non-zero values in mallopt will fail.\n" +
-"*/\n" +
-"\n" +
-"#define M_MMAP_MAX -4\n" +
-"\n") +
-("#ifndef DEFAULT_MMAP_MAX\n" +
-"#if HAVE_MMAP\n" +
-"#define DEFAULT_MMAP_MAX (65536)\n" +
-"#else\n" +
-"#define DEFAULT_MMAP_MAX (0)\n" +
-"#endif\n" +
-"#endif\n" +
-"\n" +
-"/*\n" +
-" ========================================================================\n" +
-" To make a fully customizable malloc.h header file, cut everything\n" +
-" above this line, put into file malloc.h, edit to suit, and #include it\n" +
-" on the next line, as well as in programs that use this malloc.\n" +
-" ========================================================================\n" +
-"*/\n" +
-"\n" +
-"/* #include \"malloc.h\" */\n" +
-"\n" +
-"/* --------------------- public wrappers ---------------------- */\n" +
-"\n" +
-"#ifdef USE_PUBLIC_MALLOC_WRAPPERS\n" +
-"\n" +
-"/* Declare all routines as internal */\n" +
-"#if __STD_C\n" +
-"static Void_t* mALLOc(size_t);\n" +
-"static void fREe(Void_t*);\n" +
-"static Void_t* rEALLOc(Void_t*, size_t);\n" +
-"static Void_t* mEMALIGn(size_t, size_t);\n" +
-"static Void_t* vALLOc(size_t);\n" +
-"static Void_t* pVALLOc(size_t);\n" +
-"static Void_t* cALLOc(size_t, size_t);\n" +
-"static Void_t** iCALLOc(size_t, size_t, Void_t**);\n" +
-"static Void_t** iCOMALLOc(size_t, size_t*, Void_t**);\n" +
-"static void cFREe(Void_t*);\n" +
-"static int mTRIm(size_t);\n" +
-"static size_t mUSABLe(Void_t*);\n" +
-"static void mSTATs();\n" +
-"static int mALLOPt(int, int);\n" +
-"static struct mallinfo mALLINFo(void);\n" +
-"#else\n" +
-"static Void_t* mALLOc();\n" +
-"static void fREe();\n" +
-"static Void_t* rEALLOc();\n" +
-"static Void_t* mEMALIGn();\n" +
-"static Void_t* vALLOc();\n" +
-"static Void_t* pVALLOc();\n" +
-"static Void_t* cALLOc();\n" +
-"static Void_t** iCALLOc();\n" +
-"static Void_t** iCOMALLOc();\n" +
-"static void cFREe();\n" +
-"static int mTRIm();\n" +
-"static size_t mUSABLe();\n" +
-"static void mSTATs();\n" +
-"static int mALLOPt();\n" +
-"static struct mallinfo mALLINFo();\n" +
-"#endif\n" +
-"\n" +
-"/*\n" +
-" MALLOC_PREACTION and MALLOC_POSTACTION should be\n" +
-" defined to return 0 on success, and nonzero on failure.\n" +
-" The return value of MALLOC_POSTACTION is currently ignored\n" +
-" in wrapper functions since there is no reasonable default\n" +
-" action to take on failure.\n" +
-"*/\n" +
-"\n" +
-"\n" +
-"#ifdef USE_MALLOC_LOCK\n" +
-"\n" +
-"#ifdef WIN32\n" +
-"\n" +
-"static int mALLOC_MUTEx;\n" +
-"#define MALLOC_PREACTION slwait(&mALLOC_MUTEx)\n" +
-"#define MALLOC_POSTACTION slrelease(&mALLOC_MUTEx)\n" +
-"\n" +
-"#else\n" +
-"\n" +
-"#include <pthread.h>\n" +
-"\n" +
-"static pthread_mutex_t mALLOC_MUTEx = PTHREAD_MUTEX_INITIALIZER;\n" +
-"\n" +
-"#define MALLOC_PREACTION pthread_mutex_lock(&mALLOC_MUTEx)\n" +
-"#define MALLOC_POSTACTION pthread_mutex_unlock(&mALLOC_MUTEx)\n" +
-"\n" +
-"#endif /* USE_MALLOC_LOCK */\n" +
-"\n" +
-"#else\n" +
-"\n" +
-"/* Substitute anything you like for these */\n" +
-"\n" +
-"#define MALLOC_PREACTION (0)\n" +
-"#define MALLOC_POSTACTION (0)\n" +
-"\n" +
-"#endif\n" +
-"\n" +
-"Void_t* public_mALLOc(size_t bytes) {\n" +
-" Void_t* m;\n" +
-" if (MALLOC_PREACTION != 0) {\n" +
-" return 0;\n" +
-" }\n" +
-" m = mALLOc(bytes);\n" +
-" if (MALLOC_POSTACTION != 0) {\n" +
-" }\n" +
-" return m;\n" +
-"}\n" +
-"\n" +
-"\n" +
-"static pthread_once_t free_mutex_once = PTHREAD_ONCE_INIT;\n" +
-"static pthread_mutex_t free_mutex;\n" +
-"static int scheduled_free_size;\n" +
-"static int scheduled_free_capacity;\n" +
-"static int scheduled_free_list;\n" +
-"bool free_is_scheduled;\n" +
-"\n" +
-"static void initialize_scheduled_free_list()\n" +
-"{\n" +
-" pthread_mutex_init(&free_mutex, NULL);\n" +
-"}\n" +
-"\n" +
-"static void drain_scheduled_free_list()\n" +
-"{\n" +
-" pthread_mutex_lock(&free_mutex);\n" +
-" if (free_is_scheduled) {\n" +
-" for(int i = 0; i < scheduled_free_size; i++) {\n" +
-" main_thread_free(scheduled_free_list[i]);\n" +
-" }\n" +
-" free(scheduled_free_list);\n" +
-" scheduled_free_list = NULL;\n" +
-" scheduled_free_size = 0;\n" +
-" scheduled_free_capacity = 0;\n" +
-" free_is_scheduled = false;\n" +
-" }\n" +
-" pthread_mutex_unlock(&free_mutex);\n" +
-"}\n" +
-"\n" +
-"static void schedule_free_on_main_thread(Void_t* m)\n" +
-"{\n" +
-" pthread_once(&free_mutex_once, initialize_scheduled_free_list);\n" +
-"\n" +
-" pthread_mutex_lock(&free_mutex);\n" +
-" if (scheduled_free_size == scheduled_free_capacity) {\n" +
-" scheduled_free_capacity = scheduled_free_capacity == 0 ? 16 : scheduled_free_capacity * 1.2;\n" +
-" scheduled_free_list = (Void_t**)realloc(scheduled_free_list, sizeof(Void_t*) * scheduled_free_capacity);\n" +
-" }\n" +
-" scheduled_free_list[scheduled_free_size++] = m;\n" +
-" if (!free_is_scheduled) {\n" +
-" QTimer::immediateSingleShotOnMainThread(0, drain_scheduled_free_list);\n" +
-" free_is_scheduled = true;\n" +
-" }\n" +
-" pthread_mutex_unlock(&free_mutex);\n" +
-"}\n") +
-("\n" +
-"void public_fREe(Void_t* m) {\n" +
-" if (!pthread_main_np()) {\n" +
-" schedule_free_on_main_thread(m);\n" +
-" return;\n" +
-" }\n" +
-"\n" +
-" if (MALLOC_PREACTION != 0) {\n" +
-" return;\n" +
-" }\n" +
-" fREe(m);\n" +
-" if (MALLOC_POSTACTION != 0) {\n" +
-" }\n" +
-"}\n" +
-"\n" +
-"Void_t* public_rEALLOc(Void_t* m, size_t bytes) {\n" +
-" if (MALLOC_PREACTION != 0) {\n" +
-" return 0;\n" +
-" }\n" +
-" m = rEALLOc(m, bytes);\n" +
-" if (MALLOC_POSTACTION != 0) {\n" +
-" }\n" +
-" return m;\n" +
-"}\n" +
-"\n" +
-"Void_t* public_mEMALIGn(size_t alignment, size_t bytes) {\n" +
-" Void_t* m;\n" +
-" if (MALLOC_PREACTION != 0) {\n" +
-" return 0;\n" +
-" }\n" +
-" m = mEMALIGn(alignment, bytes);\n" +
-" if (MALLOC_POSTACTION != 0) {\n" +
-" }\n" +
-" return m;\n" +
-"}\n" +
-"\n" +
-"Void_t* public_vALLOc(size_t bytes) {\n" +
-" Void_t* m;\n" +
-" if (MALLOC_PREACTION != 0) {\n" +
-" return 0;\n" +
-" }\n" +
-" m = vALLOc(bytes);\n" +
-" if (MALLOC_POSTACTION != 0) {\n" +
-" }\n" +
-" return m;\n" +
-"}\n" +
-"\n" +
-"Void_t* public_pVALLOc(size_t bytes) {\n" +
-" Void_t* m;\n" +
-" if (MALLOC_PREACTION != 0) {\n" +
-" return 0;\n" +
-" }\n" +
-" m = pVALLOc(bytes);\n" +
-" if (MALLOC_POSTACTION != 0) {\n" +
-" }\n" +
-" return m;\n" +
-"}\n" +
-"\n" +
-"Void_t* public_cALLOc(size_t n, size_t elem_size) {\n" +
-" Void_t* m;\n" +
-" if (MALLOC_PREACTION != 0) {\n" +
-" return 0;\n" +
-" }\n" +
-" m = cALLOc(n, elem_size);\n" +
-" if (MALLOC_POSTACTION != 0) {\n" +
-" }\n" +
-" return m;\n" +
-"}\n" +
-"\n" +
-"\n" +
-"Void_t** public_iCALLOc(size_t n, size_t elem_size, Void_t** chunks) {\n" +
-" Void_t** m;\n" +
-" if (MALLOC_PREACTION != 0) {\n" +
-" return 0;\n" +
-" }\n" +
-" m = iCALLOc(n, elem_size, chunks);\n" +
-" if (MALLOC_POSTACTION != 0) {\n" +
-" }\n" +
-" return m;\n" +
-"}\n" +
-"\n" +
-"Void_t** public_iCOMALLOc(size_t n, size_t sizes[], Void_t** chunks) {\n" +
-" Void_t** m;\n" +
-" if (MALLOC_PREACTION != 0) {\n" +
-" return 0;\n" +
-" }\n" +
-" m = iCOMALLOc(n, sizes, chunks);\n" +
-" if (MALLOC_POSTACTION != 0) {\n" +
-" }\n" +
-" return m;\n" +
-"}\n" +
-"\n" +
-"void public_cFREe(Void_t* m) {\n" +
-" if (MALLOC_PREACTION != 0) {\n" +
-" return;\n" +
-" }\n" +
-" cFREe(m);\n" +
-" if (MALLOC_POSTACTION != 0) {\n" +
-" }\n" +
-"}\n" +
-"\n" +
-"int public_mTRIm(size_t s) {\n" +
-" int result;\n" +
-" if (MALLOC_PREACTION != 0) {\n" +
-" return 0;\n" +
-" }\n" +
-" result = mTRIm(s);\n" +
-" if (MALLOC_POSTACTION != 0) {\n" +
-" }\n" +
-" return result;\n" +
-"}\n" +
-"\n" +
-"size_t public_mUSABLe(Void_t* m) {\n" +
-" size_t result;\n" +
-" if (MALLOC_PREACTION != 0) {\n" +
-" return 0;\n" +
-" }\n" +
-" result = mUSABLe(m);\n" +
-" if (MALLOC_POSTACTION != 0) {\n" +
-" }\n" +
-" return result;\n" +
-"}\n" +
-"\n" +
-"void public_mSTATs() {\n" +
-" if (MALLOC_PREACTION != 0) {\n" +
-" return;\n" +
-" }\n" +
-" mSTATs();\n" +
-" if (MALLOC_POSTACTION != 0) {\n" +
-" }\n" +
-"}\n" +
-"\n" +
-"struct mallinfo public_mALLINFo() {\n" +
-" struct mallinfo m;\n" +
-" if (MALLOC_PREACTION != 0) {\n" +
-" struct mallinfo nm = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };\n" +
-" return nm;\n" +
-" }\n" +
-" m = mALLINFo();\n" +
-" if (MALLOC_POSTACTION != 0) {\n" +
-" }\n" +
-" return m;\n" +
-"}\n" +
-"\n" +
-"int public_mALLOPt(int p, int v) {\n" +
-" int result;\n" +
-" if (MALLOC_PREACTION != 0) {\n" +
-" return 0;\n" +
-" }\n" +
-" result = mALLOPt(p, v);\n" +
-" if (MALLOC_POSTACTION != 0) {\n" +
-" }\n" +
-" return result;\n" +
-"}\n" +
-"\n") +
-("#endif\n" +
-"\n" +
-"\n" +
-"\n" +
-"/* ------------- Optional versions of memcopy ---------------- */\n" +
-"\n" +
-"\n" +
-"#if USE_MEMCPY\n" +
-"\n" +
-"/*\n" +
-" Note: memcpy is ONLY invoked with non-overlapping regions,\n" +
-" so the (usually slower) memmove is not needed.\n" +
-"*/\n" +
-"\n" +
-"#define MALLOC_COPY(dest, src, nbytes) memcpy(dest, src, nbytes)\n" +
-"#define MALLOC_ZERO(dest, nbytes) memset(dest, 0, nbytes)\n" +
-"\n" +
-"#else /* !USE_MEMCPY */\n" +
-"\n" +
-"/* Use Duff's device for good zeroing/copying performance. */\n" +
-"\n" +
-"#define MALLOC_ZERO(charp, nbytes) \\n" +
-"do { \\n" +
-" INTERNAL_SIZE_T* mzp = (INTERNAL_SIZE_T*)(charp); \\n" +
-" CHUNK_SIZE_T mctmp = (nbytes)/sizeof(INTERNAL_SIZE_T); \\n" +
-" long mcn; \\n" +
-" if (mctmp < 8) mcn = 0; else { mcn = (mctmp-1)/8; mctmp %= 8; } \\n" +
-" switch (mctmp) { \\n" +
-" case 0: for(;;) { *mzp++ = 0; \\n" +
-" case 7: *mzp++ = 0; \\n" +
-" case 6: *mzp++ = 0; \\n" +
-" case 5: *mzp++ = 0; \\n" +
-" case 4: *mzp++ = 0; \\n" +
-" case 3: *mzp++ = 0; \\n" +
-" case 2: *mzp++ = 0; \\n" +
-" case 1: *mzp++ = 0; if(mcn <= 0) break; mcn--; } \\n" +
-" } \\n" +
-"} while(0)\n" +
-"\n" +
-"#define MALLOC_COPY(dest,src,nbytes) \\n" +
-"do { \\n" +
-" INTERNAL_SIZE_T* mcsrc = (INTERNAL_SIZE_T*) src; \\n" +
-" INTERNAL_SIZE_T* mcdst = (INTERNAL_SIZE_T*) dest; \\n" +
-" CHUNK_SIZE_T mctmp = (nbytes)/sizeof(INTERNAL_SIZE_T); \\n" +
-" long mcn; \\n" +
-" if (mctmp < 8) mcn = 0; else { mcn = (mctmp-1)/8; mctmp %= 8; } \\n" +
-" switch (mctmp) { \\n" +
-" case 0: for(;;) { *mcdst++ = *mcsrc++; \\n" +
-" case 7: *mcdst++ = *mcsrc++; \\n" +
-" case 6: *mcdst++ = *mcsrc++; \\n" +
-" case 5: *mcdst++ = *mcsrc++; \\n" +
-" case 4: *mcdst++ = *mcsrc++; \\n" +
-" case 3: *mcdst++ = *mcsrc++; \\n" +
-" case 2: *mcdst++ = *mcsrc++; \\n" +
-" case 1: *mcdst++ = *mcsrc++; if(mcn <= 0) break; mcn--; } \\n" +
-" } \\n" +
-"} while(0)\n" +
-"\n" +
-"#endif\n" +
-"\n" +
-"/* ------------------ MMAP support ------------------ */\n" +
-"\n" +
-"\n" +
-"#if HAVE_MMAP\n" +
-"\n" +
-"#ifndef LACKS_FCNTL_H\n" +
-"#include <fcntl.h>\n" +
-"#endif\n" +
-"\n" +
-"#ifndef LACKS_SYS_MMAN_H\n" +
-"#include <sys/mman.h>\n" +
-"#endif\n" +
-"\n" +
-"#if !defined(MAP_ANONYMOUS) && defined(MAP_ANON)\n" +
-"#define MAP_ANONYMOUS MAP_ANON\n" +
-"#endif\n" +
-"\n" +
-"/*\n" +
-" Nearly all versions of mmap support MAP_ANONYMOUS,\n" +
-" so the following is unlikely to be needed, but is\n" +
-" supplied just in case.\n" +
-"*/\n" +
-"\n" +
-"#ifndef MAP_ANONYMOUS\n" +
-"\n" +
-"static int dev_zero_fd = -1; /* Cached file descriptor for /dev/zero. */\n" +
-"\n" +
-"#define MMAP(addr, size, prot, flags) ((dev_zero_fd < 0) ? \\n" +
-" (dev_zero_fd = open(\"/dev/zero\", O_RDWR), \\n" +
-" mmap((addr), (size), (prot), (flags), dev_zero_fd, 0)) : \\n" +
-" mmap((addr), (size), (prot), (flags), dev_zero_fd, 0))\n" +
-"\n" +
-"#else\n" +
-"\n" +
-"#define MMAP(addr, size, prot, flags) \\n" +
-" (mmap((addr), (size), (prot), (flags)|MAP_ANONYMOUS, -1, 0))\n" +
-"\n" +
-"#endif\n" +
-"\n" +
-"\n" +
-"#endif /* HAVE_MMAP */\n" +
-"\n" +
-"\n" +
-"/*\n" +
-" ----------------------- Chunk representations -----------------------\n" +
-"*/\n" +
-"\n" +
-"\n" +
-"/*\n" +
-" This struct declaration is misleading (but accurate and necessary).\n" +
-" It declares a \"view\" into memory allowing access to necessary\n" +
-" fields at known offsets from a given base. See explanation below.\n" +
-"*/\n" +
-"\n" +
-"struct malloc_chunk {\n" +
-"\n" +
-" INTERNAL_SIZE_T prev_size; /* Size of previous chunk (if free). */\n" +
-" INTERNAL_SIZE_T size; /* Size in bytes, including overhead. */\n" +
-"\n" +
-" struct malloc_chunk* fd; /* double links -- used only if free. */\n" +
-" struct malloc_chunk* bk;\n" +
-"};\n" +
-"\n" +
-"\n" +
-"typedef struct malloc_chunk* mchunkptr;\n" +
-"\n" +
-"/*\n" +
-" malloc_chunk details:\n" +
-"\n" +
-" (The following includes lightly edited explanations by Colin Plumb.)\n" +
-"\n" +
-" Chunks of memory are maintained using a `boundary tag' method as\n" +
-" described in e.g., Knuth or Standish. (See the paper by Paul\n" +
-" Wilson ftp://ftp.cs.utexas.edu/pub/garbage/allocsrv.ps for a\n" +
-" survey of such techniques.) Sizes of free chunks are stored both\n" +
-" in the front of each chunk and at the end. This makes\n" +
-" consolidating fragmented chunks into bigger chunks very fast. The\n" +
-" size fields also hold bits representing whether chunks are free or\n" +
-" in use.\n" +
-"\n" +
-" An allocated chunk looks like this:\n" +
-"\n" +
-"\n" +
-" chunk-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n" +
-" | Size of previous chunk, if allocated | |\n" +
-" +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n" +
-" | Size of chunk, in bytes |P|\n" +
-" mem-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n" +
-" | User data starts here... .\n" +
-" . .\n" +
-" . (malloc_usable_space() bytes) .\n" +
-" . |\n" +
-"nextchunk-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n" +
-" | Size of chunk |\n" +
-" +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n" +
-"\n") +
-("\n" +
-" Where \"chunk\" is the front of the chunk for the purpose of most of\n" +
-" the malloc code, but \"mem\" is the pointer that is returned to the\n" +
-" user. \"Nextchunk\" is the beginning of the next contiguous chunk.\n" +
-"\n" +
-" Chunks always begin on even word boundries, so the mem portion\n" +
-" (which is returned to the user) is also on an even word boundary, and\n" +
-" thus at least double-word aligned.\n" +
-"\n" +
-" Free chunks are stored in circular doubly-linked lists, and look like this:\n" +
-"\n" +
-" chunk-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n" +
-" | Size of previous chunk |\n" +
-" +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n" +
-" `head:' | Size of chunk, in bytes |P|\n" +
-" mem-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n" +
-" | Forward pointer to next chunk in list |\n" +
-" +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n" +
-" | Back pointer to previous chunk in list |\n" +
-" +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n" +
-" | Unused space (may be 0 bytes long) .\n" +
-" . .\n" +
-" . |\n" +
-"nextchunk-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n" +
-" `foot:' | Size of chunk, in bytes |\n" +
-" +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n" +
-"\n" +
-" The P (PREV_INUSE) bit, stored in the unused low-order bit of the\n" +
-" chunk size (which is always a multiple of two words), is an in-use\n" +
-" bit for the *previous* chunk. If that bit is *clear*, then the\n" +
-" word before the current chunk size contains the previous chunk\n" +
-" size, and can be used to find the front of the previous chunk.\n" +
-" The very first chunk allocated always has this bit set,\n" +
-" preventing access to non-existent (or non-owned) memory. If\n" +
-" prev_inuse is set for any given chunk, then you CANNOT determine\n" +
-" the size of the previous chunk, and might even get a memory\n" +
-" addressing fault when trying to do so.\n" +
-"\n" +
-" Note that the `foot' of the current chunk is actually represented\n" +
-" as the prev_size of the NEXT chunk. This makes it easier to\n" +
-" deal with alignments etc but can be very confusing when trying\n" +
-" to extend or adapt this code.\n" +
-"\n" +
-" The two exceptions to all this are\n" +
-"\n" +
-" 1. The special chunk `top' doesn't bother using the\n" +
-" trailing size field since there is no next contiguous chunk\n" +
-" that would have to index off it. After initialization, `top'\n" +
-" is forced to always exist. If it would become less than\n" +
-" MINSIZE bytes long, it is replenished.\n" +
-"\n" +
-" 2. Chunks allocated via mmap, which have the second-lowest-order\n" +
-" bit (IS_MMAPPED) set in their size fields. Because they are\n" +
-" allocated one-by-one, each must contain its own trailing size field.\n" +
-"\n" +
-"*/\n" +
-"\n" +
-"/*\n" +
-" ---------- Size and alignment checks and conversions ----------\n" +
-"*/\n" +
-"\n" +
-"/* conversion from malloc headers to user pointers, and back */\n" +
-"\n" +
-"#define chunk2mem(p) ((Void_t*)((char*)(p) + 2*SIZE_SZ))\n" +
-"#define mem2chunk(mem) ((mchunkptr)((char*)(mem) - 2*SIZE_SZ))\n" +
-"\n" +
-"/* The smallest possible chunk */\n" +
-"#define MIN_CHUNK_SIZE (sizeof(struct malloc_chunk))\n" +
-"\n" +
-"/* The smallest size we can malloc is an aligned minimal chunk */\n" +
-"\n" +
-"#define MINSIZE \\n" +
-" (CHUNK_SIZE_T)(((MIN_CHUNK_SIZE+MALLOC_ALIGN_MASK) & ~MALLOC_ALIGN_MASK))\n" +
-"\n" +
-"/* Check if m has acceptable alignment */\n" +
-"\n" +
-"#define aligned_OK(m) (((PTR_UINT)((m)) & (MALLOC_ALIGN_MASK)) == 0)\n" +
-"\n" +
-"\n" +
-"/*\n" +
-" Check if a request is so large that it would wrap around zero when\n" +
-" padded and aligned. To simplify some other code, the bound is made\n" +
-" low enough so that adding MINSIZE will also not wrap around sero.\n" +
-"*/\n" +
-"\n" +
-"#define REQUEST_OUT_OF_RANGE(req) \\n" +
-" ((CHUNK_SIZE_T)(req) >= \\n" +
-" (CHUNK_SIZE_T)(INTERNAL_SIZE_T)(-2 * MINSIZE))\n" +
-"\n" +
-"/* pad request bytes into a usable size -- internal version */\n" +
-"\n" +
-"#define request2size(req) \\n" +
-" (((req) + SIZE_SZ + MALLOC_ALIGN_MASK < MINSIZE) ? \\n" +
-" MINSIZE : \\n" +
-" ((req) + SIZE_SZ + MALLOC_ALIGN_MASK) & ~MALLOC_ALIGN_MASK)\n" +
-"\n" +
-"/* Same, except also perform argument check */\n" +
-"\n" +
-"#define checked_request2size(req, sz) \\n" +
-" if (REQUEST_OUT_OF_RANGE(req)) { \\n" +
-" MALLOC_FAILURE_ACTION; \\n" +
-" return 0; \\n" +
-" } \\n" +
-" (sz) = request2size(req);\n" +
-"\n" +
-"/*\n" +
-" --------------- Physical chunk operations ---------------\n" +
-"*/\n" +
-"\n" +
-"\n" +
-"/* size field is or'ed with PREV_INUSE when previous adjacent chunk in use */\n" +
-"#define PREV_INUSE 0x1\n" +
-"\n" +
-"/* extract inuse bit of previous chunk */\n" +
-"#define prev_inuse(p) ((p)->size & PREV_INUSE)\n" +
-"\n" +
-"\n" +
-"/* size field is or'ed with IS_MMAPPED if the chunk was obtained with mmap() */\n" +
-"#define IS_MMAPPED 0x2\n" +
-"\n" +
-"/* check for mmap()'ed chunk */\n" +
-"#define chunk_is_mmapped(p) ((p)->size & IS_MMAPPED)\n" +
-"\n" +
-"/*\n" +
-" Bits to mask off when extracting size\n" +
-"\n" +
-" Note: IS_MMAPPED is intentionally not masked off from size field in\n" +
-" macros for which mmapped chunks should never be seen. This should\n" +
-" cause helpful core dumps to occur if it is tried by accident by\n" +
-" people extending or adapting this malloc.\n" +
-"*/\n" +
-"#define SIZE_BITS (PREV_INUSE|IS_MMAPPED)\n" +
-"\n" +
-"/* Get size, ignoring use bits */\n" +
-"#define chunksize(p) ((p)->size & ~(SIZE_BITS))\n" +
-"\n" +
-"\n" +
-"/* Ptr to next physical malloc_chunk. */\n" +
-"#define next_chunk(p) ((mchunkptr)( ((char*)(p)) + ((p)->size & ~PREV_INUSE) ))\n" +
-"\n" +
-"/* Ptr to previous physical malloc_chunk */\n" +
-"#define prev_chunk(p) ((mchunkptr)( ((char*)(p)) - ((p)->prev_size) ))\n" +
-"\n" +
-"/* Treat space at ptr + offset as a chunk */\n" +
-"#define chunk_at_offset(p, s) ((mchunkptr)(((char*)(p)) + (s)))\n" +
-"\n" +
-"/* extract p's inuse bit */\n" +
-"#define inuse(p)\\n" +
-"((((mchunkptr)(((char*)(p))+((p)->size & ~PREV_INUSE)))->size) & PREV_INUSE)\n" +
-"\n" +
-"/* set/clear chunk as being inuse without otherwise disturbing */\n" +
-"#define set_inuse(p)\\n" +
-"((mchunkptr)(((char*)(p)) + ((p)->size & ~PREV_INUSE)))->size |= PREV_INUSE\n" +
-"\n") +
-("#define clear_inuse(p)\\n" +
-"((mchunkptr)(((char*)(p)) + ((p)->size & ~PREV_INUSE)))->size &= ~(PREV_INUSE)\n" +
-"\n" +
-"\n" +
-"/* check/set/clear inuse bits in known places */\n" +
-"#define inuse_bit_at_offset(p, s)\\n" +
-" (((mchunkptr)(((char*)(p)) + (s)))->size & PREV_INUSE)\n" +
-"\n" +
-"#define set_inuse_bit_at_offset(p, s)\\n" +
-" (((mchunkptr)(((char*)(p)) + (s)))->size |= PREV_INUSE)\n" +
-"\n" +
-"#define clear_inuse_bit_at_offset(p, s)\\n" +
-" (((mchunkptr)(((char*)(p)) + (s)))->size &= ~(PREV_INUSE))\n" +
-"\n" +
-"\n" +
-"/* Set size at head, without disturbing its use bit */\n" +
-"#define set_head_size(p, s) ((p)->size = (((p)->size & PREV_INUSE) | (s)))\n" +
-"\n" +
-"/* Set size/use field */\n" +
-"#define set_head(p, s) ((p)->size = (s))\n" +
-"\n" +
-"/* Set size at footer (only when chunk is not in use) */\n" +
-"#define set_foot(p, s) (((mchunkptr)((char*)(p) + (s)))->prev_size = (s))\n" +
-"\n" +
-"\n" +
-"/*\n" +
-" -------------------- Internal data structures --------------------\n" +
-"\n" +
-" All internal state is held in an instance of malloc_state defined\n" +
-" below. There are no other static variables, except in two optional\n" +
-" cases:\n" +
-" * If USE_MALLOC_LOCK is defined, the mALLOC_MUTEx declared above.\n" +
-" * If HAVE_MMAP is true, but mmap doesn't support\n" +
-" MAP_ANONYMOUS, a dummy file descriptor for mmap.\n" +
-"\n" +
-" Beware of lots of tricks that minimize the total bookkeeping space\n" +
-" requirements. The result is a little over 1K bytes (for 4byte\n" +
-" pointers and size_t.)\n" +
-"*/\n" +
-"\n" +
-"/*\n" +
-" Bins\n" +
-"\n" +
-" An array of bin headers for free chunks. Each bin is doubly\n" +
-" linked. The bins are approximately proportionally (log) spaced.\n" +
-" There are a lot of these bins (128). This may look excessive, but\n" +
-" works very well in practice. Most bins hold sizes that are\n" +
-" unusual as malloc request sizes, but are more usual for fragments\n" +
-" and consolidated sets of chunks, which is what these bins hold, so\n" +
-" they can be found quickly. All procedures maintain the invariant\n" +
-" that no consolidated chunk physically borders another one, so each\n" +
-" chunk in a list is known to be preceeded and followed by either\n" +
-" inuse chunks or the ends of memory.\n" +
-"\n" +
-" Chunks in bins are kept in size order, with ties going to the\n" +
-" approximately least recently used chunk. Ordering isn't needed\n" +
-" for the small bins, which all contain the same-sized chunks, but\n" +
-" facilitates best-fit allocation for larger chunks. These lists\n" +
-" are just sequential. Keeping them in order almost never requires\n" +
-" enough traversal to warrant using fancier ordered data\n" +
-" structures.\n" +
-"\n" +
-" Chunks of the same size are linked with the most\n" +
-" recently freed at the front, and allocations are taken from the\n" +
-" back. This results in LRU (FIFO) allocation order, which tends\n" +
-" to give each chunk an equal opportunity to be consolidated with\n" +
-" adjacent freed chunks, resulting in larger free chunks and less\n" +
-" fragmentation.\n" +
-"\n" +
-" To simplify use in double-linked lists, each bin header acts\n" +
-" as a malloc_chunk. This avoids special-casing for headers.\n" +
-" But to conserve space and improve locality, we allocate\n" +
-" only the fd/bk pointers of bins, and then use repositioning tricks\n" +
-" to treat these as the fields of a malloc_chunk*.\n" +
-"*/\n" +
-"\n" +
-"typedef struct malloc_chunk* mbinptr;\n" +
-"\n" +
-"/* addressing -- note that bin_at(0) does not exist */\n" +
-"#define bin_at(m, i) ((mbinptr)((char*)&((m)->bins[(i)<<1]) - (SIZE_SZ<<1)))\n" +
-"\n" +
-"/* analog of ++bin */\n" +
-"#define next_bin(b) ((mbinptr)((char*)(b) + (sizeof(mchunkptr)<<1)))\n" +
-"\n" +
-"/* Reminders about list directionality within bins */\n" +
-"#define first(b) ((b)->fd)\n" +
-"#define last(b) ((b)->bk)\n" +
-"\n" +
-"/* Take a chunk off a bin list */\n" +
-"#define unlink(P, BK, FD) { \\n" +
-" FD = P->fd; \\n" +
-" BK = P->bk; \\n" +
-" FD->bk = BK; \\n" +
-" BK->fd = FD; \\n" +
-"}\n" +
-"\n" +
-"/*\n" +
-" Indexing\n" +
-"\n" +
-" Bins for sizes < 512 bytes contain chunks of all the same size, spaced\n" +
-" 8 bytes apart. Larger bins are approximately logarithmically spaced:\n" +
-"\n" +
-" 64 bins of size 8\n" +
-" 32 bins of size 64\n" +
-" 16 bins of size 512\n" +
-" 8 bins of size 4096\n" +
-" 4 bins of size 32768\n" +
-" 2 bins of size 262144\n" +
-" 1 bin of size what's left\n" +
-"\n" +
-" The bins top out around 1MB because we expect to service large\n" +
-" requests via mmap.\n" +
-"*/\n" +
-"\n" +
-"#define NBINS 96\n" +
-"#define NSMALLBINS 32\n" +
-"#define SMALLBIN_WIDTH 8\n" +
-"#define MIN_LARGE_SIZE 256\n" +
-"\n" +
-"#define in_smallbin_range(sz) \\n" +
-" ((CHUNK_SIZE_T)(sz) < (CHUNK_SIZE_T)MIN_LARGE_SIZE)\n" +
-"\n" +
-"#define smallbin_index(sz) (((unsigned)(sz)) >> 3)\n" +
-"\n" +
-"/*\n" +
-" Compute index for size. We expect this to be inlined when\n" +
-" compiled with optimization, else not, which works out well.\n" +
-"*/\n" +
-"static int largebin_index(unsigned int sz) {\n" +
-" unsigned int x = sz >> SMALLBIN_WIDTH;\n" +
-" unsigned int m; /* bit position of highest set bit of m */\n" +
-"\n" +
-" if (x >= 0x10000) return NBINS-1;\n" +
-"\n" +
-" /* On intel, use BSRL instruction to find highest bit */\n" +
-"#if defined(__GNUC__) && defined(i386)\n" +
-"\n" +
-" __asm__(\"bsrl %1,%0\\n\\t\"\n" +
-" : \"=r\" (m)\n" +
-" : \"g\" (x));\n" +
-"\n" +
-"#else\n" +
-" {\n" +
-" /*\n" +
-" Based on branch-free nlz algorithm in chapter 5 of Henry\n" +
-" S. Warren Jr's book \"Hacker's Delight\".\n" +
-" */\n" +
-"\n" +
-" unsigned int n = ((x - 0x100) >> 16) & 8;\n" +
-" x <<= n;\n" +
-" m = ((x - 0x1000) >> 16) & 4;\n" +
-" n += m;\n" +
-" x <<= m;\n" +
-" m = ((x - 0x4000) >> 16) & 2;\n" +
-" n += m;\n" +
-" x = (x << m) >> 14;\n" +
-" m = 13 - n + (x & ~(x>>1));\n" +
-" }\n" +
-"#endif\n" +
-"\n") +
-(
-" /* Use next 2 bits to create finer-granularity bins */\n" +
-" return NSMALLBINS + (m << 2) + ((sz >> (m + 6)) & 3);\n" +
-"}\n" +
-"\n" +
-"#define bin_index(sz) \\n" +
-" ((in_smallbin_range(sz)) ? smallbin_index(sz) : largebin_index(sz))\n" +
-"\n" +
-"/*\n" +
-" FIRST_SORTED_BIN_SIZE is the chunk size corresponding to the\n" +
-" first bin that is maintained in sorted order. This must\n" +
-" be the smallest size corresponding to a given bin.\n" +
-"\n" +
-" Normally, this should be MIN_LARGE_SIZE. But you can weaken\n" +
-" best fit guarantees to sometimes speed up malloc by increasing value.\n" +
-" Doing this means that malloc may choose a chunk that is\n" +
-" non-best-fitting by up to the width of the bin.\n" +
-"\n" +
-" Some useful cutoff values:\n" +
-" 512 - all bins sorted\n" +
-" 2560 - leaves bins <= 64 bytes wide unsorted\n" +
-" 12288 - leaves bins <= 512 bytes wide unsorted\n" +
-" 65536 - leaves bins <= 4096 bytes wide unsorted\n" +
-" 262144 - leaves bins <= 32768 bytes wide unsorted\n" +
-" -1 - no bins sorted (not recommended!)\n" +
-"*/\n" +
-"\n" +
-"#define FIRST_SORTED_BIN_SIZE MIN_LARGE_SIZE\n" +
-"/* #define FIRST_SORTED_BIN_SIZE 65536 */\n" +
-"\n" +
-"/*\n" +
-" Unsorted chunks\n" +
-"\n" +
-" All remainders from chunk splits, as well as all returned chunks,\n" +
-" are first placed in the \"unsorted\" bin. They are then placed\n" +
-" in regular bins after malloc gives them ONE chance to be used before\n" +
-" binning. So, basically, the unsorted_chunks list acts as a queue,\n" +
-" with chunks being placed on it in free (and malloc_consolidate),\n" +
-" and taken off (to be either used or placed in bins) in malloc.\n" +
-"*/\n" +
-"\n" +
-"/* The otherwise unindexable 1-bin is used to hold unsorted chunks. */\n" +
-"#define unsorted_chunks(M) (bin_at(M, 1))\n" +
-"\n" +
-"/*\n" +
-" Top\n" +
-"\n" +
-" The top-most available chunk (i.e., the one bordering the end of\n" +
-" available memory) is treated specially. It is never included in\n" +
-" any bin, is used only if no other chunk is available, and is\n" +
-" released back to the system if it is very large (see\n" +
-" M_TRIM_THRESHOLD). Because top initially\n" +
-" points to its own bin with initial zero size, thus forcing\n" +
-" extension on the first malloc request, we avoid having any special\n" +
-" code in malloc to check whether it even exists yet. But we still\n" +
-" need to do so when getting memory from system, so we make\n" +
-" initial_top treat the bin as a legal but unusable chunk during the\n" +
-" interval between initialization and the first call to\n" +
-" sYSMALLOc. (This is somewhat delicate, since it relies on\n" +
-" the 2 preceding words to be zero during this interval as well.)\n" +
-"*/\n" +
-"\n" +
-"/* Conveniently, the unsorted bin can be used as dummy top on first call */\n" +
-"#define initial_top(M) (unsorted_chunks(M))\n" +
-"\n" +
-"/*\n" +
-" Binmap\n" +
-"\n" +
-" To help compensate for the large number of bins, a one-level index\n" +
-" structure is used for bin-by-bin searching. `binmap' is a\n" +
-" bitvector recording whether bins are definitely empty so they can\n" +
-" be skipped over during during traversals. The bits are NOT always\n" +
-" cleared as soon as bins are empty, but instead only\n" +
-" when they are noticed to be empty during traversal in malloc.\n" +
-"*/\n" +
-"\n" +
-"/* Conservatively use 32 bits per map word, even if on 64bit system */\n" +
-"#define BINMAPSHIFT 5\n" +
-"#define BITSPERMAP (1U << BINMAPSHIFT)\n" +
-"#define BINMAPSIZE (NBINS / BITSPERMAP)\n" +
-"\n" +
-"#define idx2block(i) ((i) >> BINMAPSHIFT)\n" +
-"#define idx2bit(i) ((1U << ((i) & ((1U << BINMAPSHIFT)-1))))\n" +
-"\n" +
-"#define mark_bin(m,i) ((m)->binmap[idx2block(i)] |= idx2bit(i))\n" +
-"#define unmark_bin(m,i) ((m)->binmap[idx2block(i)] &= ~(idx2bit(i)))\n" +
-"#define get_binmap(m,i) ((m)->binmap[idx2block(i)] & idx2bit(i))\n" +
-"\n" +
-"/*\n" +
-" Fastbins\n" +
-"\n" +
-" An array of lists holding recently freed small chunks. Fastbins\n" +
-" are not doubly linked. It is faster to single-link them, and\n" +
-" since chunks are never removed from the middles of these lists,\n" +
-" double linking is not necessary. Also, unlike regular bins, they\n" +
-" are not even processed in FIFO order (they use faster LIFO) since\n" +
-" ordering doesn't much matter in the transient contexts in which\n" +
-" fastbins are normally used.\n" +
-"\n" +
-" Chunks in fastbins keep their inuse bit set, so they cannot\n" +
-" be consolidated with other free chunks. malloc_consolidate\n" +
-" releases all chunks in fastbins and consolidates them with\n" +
-" other free chunks.\n" +
-"*/\n" +
-"\n" +
-"typedef struct malloc_chunk* mfastbinptr;\n" +
-"\n" +
-"/* offset 2 to use otherwise unindexable first 2 bins */\n" +
-"#define fastbin_index(sz) ((((unsigned int)(sz)) >> 3) - 2)\n" +
-"\n" +
-"/* The maximum fastbin request size we support */\n" +
-"#define MAX_FAST_SIZE 80\n" +
-"\n" +
-"#define NFASTBINS (fastbin_index(request2size(MAX_FAST_SIZE))+1)\n" +
-"\n" +
-"/*\n" +
-" FASTBIN_CONSOLIDATION_THRESHOLD is the size of a chunk in free()\n" +
-" that triggers automatic consolidation of possibly-surrounding\n" +
-" fastbin chunks. This is a heuristic, so the exact value should not\n" +
-" matter too much. It is defined at half the default trim threshold as a\n" +
-" compromise heuristic to only attempt consolidation if it is likely\n" +
-" to lead to trimming. However, it is not dynamically tunable, since\n" +
-" consolidation reduces fragmentation surrounding loarge chunks even\n" +
-" if trimming is not used.\n" +
-"*/\n" +
-"\n" +
-"#define FASTBIN_CONSOLIDATION_THRESHOLD \\n" +
-" ((unsigned long)(DEFAULT_TRIM_THRESHOLD) >> 1)\n" +
-"\n" +
-"/*\n" +
-" Since the lowest 2 bits in max_fast don't matter in size comparisons,\n" +
-" they are used as flags.\n" +
-"*/\n" +
-"\n" +
-"/*\n" +
-" ANYCHUNKS_BIT held in max_fast indicates that there may be any\n" +
-" freed chunks at all. It is set true when entering a chunk into any\n" +
-" bin.\n" +
-"*/\n" +
-"\n" +
-"#define ANYCHUNKS_BIT (1U)\n" +
-"\n" +
-"#define have_anychunks(M) (((M)->max_fast & ANYCHUNKS_BIT))\n" +
-"#define set_anychunks(M) ((M)->max_fast |= ANYCHUNKS_BIT)\n" +
-"#define clear_anychunks(M) ((M)->max_fast &= ~ANYCHUNKS_BIT)\n" +
-"\n" +
-"/*\n" +
-" FASTCHUNKS_BIT held in max_fast indicates that there are probably\n" +
-" some fastbin chunks. It is set true on entering a chunk into any\n" +
-" fastbin, and cleared only in malloc_consolidate.\n" +
-"*/\n" +
-"\n") +
-(
-"#define FASTCHUNKS_BIT (2U)\n" +
-"\n" +
-"#define have_fastchunks(M) (((M)->max_fast & FASTCHUNKS_BIT))\n" +
-"#define set_fastchunks(M) ((M)->max_fast |= (FASTCHUNKS_BIT|ANYCHUNKS_BIT))\n" +
-"#define clear_fastchunks(M) ((M)->max_fast &= ~(FASTCHUNKS_BIT))\n" +
-"\n" +
-"/*\n" +
-" Set value of max_fast.\n" +
-" Use impossibly small value if 0.\n" +
-"*/\n" +
-"\n" +
-"#define set_max_fast(M, s) \\n" +
-" (M)->max_fast = (((s) == 0)? SMALLBIN_WIDTH: request2size(s)) | \\n" +
-" ((M)->max_fast & (FASTCHUNKS_BIT|ANYCHUNKS_BIT))\n" +
-"\n" +
-"#define get_max_fast(M) \\n" +
-" ((M)->max_fast & ~(FASTCHUNKS_BIT | ANYCHUNKS_BIT))\n" +
-"\n" +
-"\n" +
-"/*\n" +
-" morecore_properties is a status word holding dynamically discovered\n" +
-" or controlled properties of the morecore function\n" +
-"*/\n" +
-"\n" +
-"#define MORECORE_CONTIGUOUS_BIT (1U)\n" +
-"\n" +
-"#define contiguous(M) \\n" +
-" (((M)->morecore_properties & MORECORE_CONTIGUOUS_BIT))\n" +
-"#define noncontiguous(M) \\n" +
-" (((M)->morecore_properties & MORECORE_CONTIGUOUS_BIT) == 0)\n" +
-"#define set_contiguous(M) \\n" +
-" ((M)->morecore_properties |= MORECORE_CONTIGUOUS_BIT)\n" +
-"#define set_noncontiguous(M) \\n" +
-" ((M)->morecore_properties &= ~MORECORE_CONTIGUOUS_BIT)\n" +
-"\n" +
-"\n" +
-"/*\n" +
-" ----------- Internal state representation and initialization -----------\n" +
-"*/\n" +
-"\n" +
-"struct malloc_state {\n" +
-"\n" +
-" /* The maximum chunk size to be eligible for fastbin */\n" +
-" INTERNAL_SIZE_T max_fast; /* low 2 bits used as flags */\n" +
-"\n" +
-" /* Fastbins */\n" +
-" mfastbinptr fastbins[NFASTBINS];\n" +
-"\n" +
-" /* Base of the topmost chunk -- not otherwise kept in a bin */\n" +
-" mchunkptr top;\n" +
-"\n" +
-" /* The remainder from the most recent split of a small request */\n" +
-" mchunkptr last_remainder;\n" +
-"\n" +
-" /* Normal bins packed as described above */\n" +
-" mchunkptr bins[NBINS * 2];\n" +
-"\n" +
-" /* Bitmap of bins. Trailing zero map handles cases of largest binned size */\n" +
-" unsigned int binmap[BINMAPSIZE+1];\n" +
-"\n" +
-" /* Tunable parameters */\n" +
-" CHUNK_SIZE_T trim_threshold;\n" +
-" INTERNAL_SIZE_T top_pad;\n" +
-" INTERNAL_SIZE_T mmap_threshold;\n" +
-"\n" +
-" /* Memory map support */\n" +
-" int n_mmaps;\n" +
-" int n_mmaps_max;\n" +
-" int max_n_mmaps;\n" +
-"\n" +
-" /* Cache malloc_getpagesize */\n" +
-" unsigned int pagesize;\n" +
-"\n" +
-" /* Track properties of MORECORE */\n" +
-" unsigned int morecore_properties;\n" +
-"\n" +
-" /* Statistics */\n" +
-" INTERNAL_SIZE_T mmapped_mem;\n" +
-" INTERNAL_SIZE_T sbrked_mem;\n" +
-" INTERNAL_SIZE_T max_sbrked_mem;\n" +
-" INTERNAL_SIZE_T max_mmapped_mem;\n" +
-" INTERNAL_SIZE_T max_total_mem;\n" +
-"};\n" +
-"\n" +
-"typedef struct malloc_state *mstate;\n" +
-"\n" +
-"/*\n" +
-" There is exactly one instance of this struct in this malloc.\n" +
-" If you are adapting this malloc in a way that does NOT use a static\n" +
-" malloc_state, you MUST explicitly zero-fill it before using. This\n" +
-" malloc relies on the property that malloc_state is initialized to\n" +
-" all zeroes (as is true of C statics).\n" +
-"*/\n" +
-"\n" +
-"static struct malloc_state av_; /* never directly referenced */\n" +
-"\n" +
-"/*\n" +
-" All uses of av_ are via get_malloc_state().\n" +
-" At most one \"call\" to get_malloc_state is made per invocation of\n" +
-" the public versions of malloc and free, but other routines\n" +
-" that in turn invoke malloc and/or free may call more then once.\n" +
-" Also, it is called in check* routines if DEBUG is set.\n" +
-"*/\n" +
-"\n" +
-"#define get_malloc_state() (&(av_))\n" +
-"\n" +
-"/*\n" +
-" Initialize a malloc_state struct.\n" +
-"\n" +
-" This is called only from within malloc_consolidate, which needs\n" +
-" be called in the same contexts anyway. It is never called directly\n" +
-" outside of malloc_consolidate because some optimizing compilers try\n" +
-" to inline it at all call points, which turns out not to be an\n" +
-" optimization at all. (Inlining it in malloc_consolidate is fine though.)\n" +
-"*/\n" +
-"\n" +
-"#if __STD_C\n" +
-"static void malloc_init_state(mstate av)\n" +
-"#else\n" +
-"static void malloc_init_state(av) mstate av;\n" +
-"#endif\n" +
-"{\n" +
-" int i;\n" +
-" mbinptr bin;\n" +
-"\n" +
-" /* Establish circular links for normal bins */\n" +
-" for (i = 1; i < NBINS; ++i) {\n" +
-" bin = bin_at(av,i);\n" +
-" bin->fd = bin->bk = bin;\n" +
-" }\n" +
-"\n" +
-" av->top_pad = DEFAULT_TOP_PAD;\n" +
-" av->n_mmaps_max = DEFAULT_MMAP_MAX;\n" +
-" av->mmap_threshold = DEFAULT_MMAP_THRESHOLD;\n" +
-" av->trim_threshold = DEFAULT_TRIM_THRESHOLD;\n" +
-"\n" +
-"#if MORECORE_CONTIGUOUS\n" +
-" set_contiguous(av);\n" +
-"#else\n" +
-" set_noncontiguous(av);\n" +
-"#endif\n" +
-"\n" +
-"\n" +
-" set_max_fast(av, DEFAULT_MXFAST);\n" +
-"\n" +
-" av->top = initial_top(av);\n" +
-" av->pagesize = malloc_getpagesize;\n" +
-"}\n" +
-"\n" +
-"/*\n" +
-" Other internal utilities operating on mstates\n" +
-"*/\n" +
-"\n") +
-(
-"#if __STD_C\n" +
-"static Void_t* sYSMALLOc(INTERNAL_SIZE_T, mstate);\n" +
-"#ifndef MORECORE_CANNOT_TRIM\n" +
-"static int sYSTRIm(size_t, mstate);\n" +
-"#endif\n" +
-"static void malloc_consolidate(mstate);\n" +
-"static Void_t** iALLOc(size_t, size_t*, int, Void_t**);\n" +
-"#else\n" +
-"static Void_t* sYSMALLOc();\n" +
-"static int sYSTRIm();\n" +
-"static void malloc_consolidate();\n" +
-"static Void_t** iALLOc();\n" +
-"#endif\n" +
-"\n" +
-"/*\n" +
-" Debugging support\n" +
-"\n" +
-" These routines make a number of assertions about the states\n" +
-" of data structures that should be true at all times. If any\n" +
-" are not true, it's very likely that a user program has somehow\n" +
-" trashed memory. (It's also possible that there is a coding error\n" +
-" in malloc. In which case, please report it!)\n" +
-"*/\n" +
-"\n" +
-"#if ! DEBUG\n" +
-"\n" +
-"#define check_chunk(P)\n" +
-"#define check_free_chunk(P)\n" +
-"#define check_inuse_chunk(P)\n" +
-"#define check_remalloced_chunk(P,N)\n" +
-"#define check_malloced_chunk(P,N)\n" +
-"#define check_malloc_state()\n" +
-"\n" +
-"#else\n" +
-"#define check_chunk(P) do_check_chunk(P)\n" +
-"#define check_free_chunk(P) do_check_free_chunk(P)\n" +
-"#define check_inuse_chunk(P) do_check_inuse_chunk(P)\n" +
-"#define check_remalloced_chunk(P,N) do_check_remalloced_chunk(P,N)\n" +
-"#define check_malloced_chunk(P,N) do_check_malloced_chunk(P,N)\n" +
-"#define check_malloc_state() do_check_malloc_state()\n" +
-"\n" +
-"/*\n" +
-" Properties of all chunks\n" +
-"*/\n" +
-"\n" +
-"#if __STD_C\n" +
-"static void do_check_chunk(mchunkptr p)\n" +
-"#else\n" +
-"static void do_check_chunk(p) mchunkptr p;\n" +
-"#endif\n" +
-"{\n" +
-" mstate av = get_malloc_state();\n" +
-" CHUNK_SIZE_T sz = chunksize(p);\n" +
-" /* min and max possible addresses assuming contiguous allocation */\n" +
-" char* max_address = (char*)(av->top) + chunksize(av->top);\n" +
-" char* min_address = max_address - av->sbrked_mem;\n" +
-"\n" +
-" if (!chunk_is_mmapped(p)) {\n" +
-"\n" +
-" /* Has legal address ... */\n" +
-" if (p != av->top) {\n" +
-" if (contiguous(av)) {\n" +
-" assert(((char*)p) >= min_address);\n" +
-" assert(((char*)p + sz) <= ((char*)(av->top)));\n" +
-" }\n" +
-" }\n" +
-" else {\n" +
-" /* top size is always at least MINSIZE */\n" +
-" assert((CHUNK_SIZE_T)(sz) >= MINSIZE);\n" +
-" /* top predecessor always marked inuse */\n" +
-" assert(prev_inuse(p));\n" +
-" }\n" +
-"\n" +
-" }\n" +
-" else {\n" +
-"#if HAVE_MMAP\n" +
-" /* address is outside main heap */\n" +
-" if (contiguous(av) && av->top != initial_top(av)) {\n" +
-" assert(((char*)p) < min_address || ((char*)p) > max_address);\n" +
-" }\n" +
-" /* chunk is page-aligned */\n" +
-" assert(((p->prev_size + sz) & (av->pagesize-1)) == 0);\n" +
-" /* mem is aligned */\n" +
-" assert(aligned_OK(chunk2mem(p)));\n" +
-"#else\n" +
-" /* force an appropriate assert violation if debug set */\n" +
-" assert(!chunk_is_mmapped(p));\n" +
-"#endif\n" +
-" }\n" +
-"}\n" +
-"\n" +
-"/*\n" +
-" Properties of free chunks\n" +
-"*/\n" +
-"\n" +
-"#if __STD_C\n" +
-"static void do_check_free_chunk(mchunkptr p)\n" +
-"#else\n" +
-"static void do_check_free_chunk(p) mchunkptr p;\n" +
-"#endif\n" +
-"{\n" +
-" mstate av = get_malloc_state();\n" +
-"\n" +
-" INTERNAL_SIZE_T sz = p->size & ~PREV_INUSE;\n" +
-" mchunkptr next = chunk_at_offset(p, sz);\n" +
-"\n" +
-" do_check_chunk(p);\n" +
-"\n" +
-" /* Chunk must claim to be free ... */\n" +
-" assert(!inuse(p));\n" +
-" assert (!chunk_is_mmapped(p));\n" +
-"\n" +
-" /* Unless a special marker, must have OK fields */\n" +
-" if ((CHUNK_SIZE_T)(sz) >= MINSIZE)\n" +
-" {\n" +
-" assert((sz & MALLOC_ALIGN_MASK) == 0);\n" +
-" assert(aligned_OK(chunk2mem(p)));\n" +
-" /* ... matching footer field */\n" +
-" assert(next->prev_size == sz);\n" +
-" /* ... and is fully consolidated */\n" +
-" assert(prev_inuse(p));\n" +
-" assert (next == av->top || inuse(next));\n" +
-"\n" +
-" /* ... and has minimally sane links */\n" +
-" assert(p->fd->bk == p);\n" +
-" assert(p->bk->fd == p);\n" +
-" }\n" +
-" else /* markers are always of size SIZE_SZ */\n" +
-" assert(sz == SIZE_SZ);\n" +
-"}\n" +
-"\n" +
-"/*\n" +
-" Properties of inuse chunks\n" +
-"*/\n" +
-"\n" +
-"#if __STD_C\n" +
-"static void do_check_inuse_chunk(mchunkptr p)\n" +
-"#else\n" +
-"static void do_check_inuse_chunk(p) mchunkptr p;\n" +
-"#endif\n" +
-"{\n" +
-" mstate av = get_malloc_state();\n" +
-" mchunkptr next;\n" +
-" do_check_chunk(p);\n" +
-"\n" +
-" if (chunk_is_mmapped(p))\n" +
-" return; /* mmapped chunks have no next/prev */\n" +
-"\n" +
-" /* Check whether it claims to be in use ... */\n" +
-" assert(inuse(p));\n" +
-"\n") +
-(
-" next = next_chunk(p);\n" +
-"\n" +
-" /* ... and is surrounded by OK chunks.\n" +
-" Since more things can be checked with free chunks than inuse ones,\n" +
-" if an inuse chunk borders them and debug is on, it's worth doing them.\n" +
-" */\n" +
-" if (!prev_inuse(p)) {\n" +
-" /* Note that we cannot even look at prev unless it is not inuse */\n" +
-" mchunkptr prv = prev_chunk(p);\n" +
-" assert(next_chunk(prv) == p);\n" +
-" do_check_free_chunk(prv);\n" +
-" }\n" +
-"\n" +
-" if (next == av->top) {\n" +
-" assert(prev_inuse(next));\n" +
-" assert(chunksize(next) >= MINSIZE);\n" +
-" }\n" +
-" else if (!inuse(next))\n" +
-" do_check_free_chunk(next);\n" +
-"}\n" +
-"\n" +
-"/*\n" +
-" Properties of chunks recycled from fastbins\n" +
-"*/\n" +
-"\n" +
-"#if __STD_C\n" +
-"static void do_check_remalloced_chunk(mchunkptr p, INTERNAL_SIZE_T s)\n" +
-"#else\n" +
-"static void do_check_remalloced_chunk(p, s) mchunkptr p; INTERNAL_SIZE_T s;\n" +
-"#endif\n" +
-"{\n" +
-" INTERNAL_SIZE_T sz = p->size & ~PREV_INUSE;\n" +
-"\n" +
-" do_check_inuse_chunk(p);\n" +
-"\n" +
-" /* Legal size ... */\n" +
-" assert((sz & MALLOC_ALIGN_MASK) == 0);\n" +
-" assert((CHUNK_SIZE_T)(sz) >= MINSIZE);\n" +
-" /* ... and alignment */\n" +
-" assert(aligned_OK(chunk2mem(p)));\n" +
-" /* chunk is less than MINSIZE more than request */\n" +
-" assert((long)(sz) - (long)(s) >= 0);\n" +
-" assert((long)(sz) - (long)(s + MINSIZE) < 0);\n" +
-"}\n" +
-"\n" +
-"/*\n" +
-" Properties of nonrecycled chunks at the point they are malloced\n" +
-"*/\n" +
-"\n" +
-"#if __STD_C\n" +
-"static void do_check_malloced_chunk(mchunkptr p, INTERNAL_SIZE_T s)\n" +
-"#else\n" +
-"static void do_check_malloced_chunk(p, s) mchunkptr p; INTERNAL_SIZE_T s;\n" +
-"#endif\n" +
-"{\n" +
-" /* same as recycled case ... */\n" +
-" do_check_remalloced_chunk(p, s);\n" +
-"\n" +
-" /*\n" +
-" ... plus, must obey implementation invariant that prev_inuse is\n" +
-" always true of any allocated chunk; i.e., that each allocated\n" +
-" chunk borders either a previously allocated and still in-use\n" +
-" chunk, or the base of its memory arena. This is ensured\n" +
-" by making all allocations from the the `lowest' part of any found\n" +
-" chunk. This does not necessarily hold however for chunks\n" +
-" recycled via fastbins.\n" +
-" */\n" +
-"\n" +
-" assert(prev_inuse(p));\n" +
-"}\n" +
-"\n" +
-"\n" +
-"/*\n" +
-" Properties of malloc_state.\n" +
-"\n" +
-" This may be useful for debugging malloc, as well as detecting user\n" +
-" programmer errors that somehow write into malloc_state.\n" +
-"\n" +
-" If you are extending or experimenting with this malloc, you can\n" +
-" probably figure out how to hack this routine to print out or\n" +
-" display chunk addresses, sizes, bins, and other instrumentation.\n" +
-"*/\n" +
-"\n" +
-"static void do_check_malloc_state()\n" +
-"{\n" +
-" mstate av = get_malloc_state();\n" +
-" unsigned int i;\n" +
-" mchunkptr p;\n" +
-" mchunkptr q;\n" +
-" mbinptr b;\n" +
-" unsigned int binbit;\n" +
-" int empty;\n" +
-" unsigned int idx;\n" +
-" INTERNAL_SIZE_T size;\n" +
-" CHUNK_SIZE_T total = 0;\n" +
-" int max_fast_bin;\n" +
-"\n" +
-" /* internal size_t must be no wider than pointer type */\n" +
-" assert(sizeof(INTERNAL_SIZE_T) <= sizeof(char*));\n" +
-"\n" +
-" /* alignment is a power of 2 */\n" +
-" assert((MALLOC_ALIGNMENT & (MALLOC_ALIGNMENT-1)) == 0);\n" +
-"\n" +
-" /* cannot run remaining checks until fully initialized */\n" +
-" if (av->top == 0 || av->top == initial_top(av))\n" +
-" return;\n" +
-"\n" +
-" /* pagesize is a power of 2 */\n" +
-" assert((av->pagesize & (av->pagesize-1)) == 0);\n" +
-"\n" +
-" /* properties of fastbins */\n" +
-"\n" +
-" /* max_fast is in allowed range */\n" +
-" assert(get_max_fast(av) <= request2size(MAX_FAST_SIZE));\n" +
-"\n" +
-" max_fast_bin = fastbin_index(av->max_fast);\n" +
-"\n" +
-" for (i = 0; i < NFASTBINS; ++i) {\n" +
-" p = av->fastbins[i];\n" +
-"\n" +
-" /* all bins past max_fast are empty */\n" +
-" if (i > max_fast_bin)\n" +
-" assert(p == 0);\n" +
-"\n" +
-" while (p != 0) {\n" +
-" /* each chunk claims to be inuse */\n" +
-" do_check_inuse_chunk(p);\n" +
-" total += chunksize(p);\n" +
-" /* chunk belongs in this bin */\n" +
-" assert(fastbin_index(chunksize(p)) == i);\n" +
-" p = p->fd;\n" +
-" }\n" +
-" }\n" +
-"\n" +
-" if (total != 0)\n" +
-" assert(have_fastchunks(av));\n" +
-" else if (!have_fastchunks(av))\n" +
-" assert(total == 0);\n" +
-"\n" +
-" /* check normal bins */\n" +
-" for (i = 1; i < NBINS; ++i) {\n" +
-" b = bin_at(av,i);\n" +
-"\n" +
-" /* binmap is accurate (except for bin 1 == unsorted_chunks) */\n" +
-" if (i >= 2) {\n" +
-" binbit = get_binmap(av,i);\n" +
-" empty = last(b) == b;\n" +
-" if (!binbit)\n" +
-" assert(empty);\n" +
-" else if (!empty)\n" +
-" assert(binbit);\n" +
-" }\n" +
-"\n") +
-(
-" for (p = last(b); p != b; p = p->bk) {\n" +
-" /* each chunk claims to be free */\n" +
-" do_check_free_chunk(p);\n" +
-" size = chunksize(p);\n" +
-" total += size;\n" +
-" if (i >= 2) {\n" +
-" /* chunk belongs in bin */\n" +
-" idx = bin_index(size);\n" +
-" assert(idx == i);\n" +
-" /* lists are sorted */\n" +
-" if ((CHUNK_SIZE_T) size >= (CHUNK_SIZE_T)(FIRST_SORTED_BIN_SIZE)) {\n" +
-" assert(p->bk == b ||\n" +
-" (CHUNK_SIZE_T)chunksize(p->bk) >=\n" +
-" (CHUNK_SIZE_T)chunksize(p));\n" +
-" }\n" +
-" }\n" +
-" /* chunk is followed by a legal chain of inuse chunks */\n" +
-" for (q = next_chunk(p);\n" +
-" (q != av->top && inuse(q) &&\n" +
-" (CHUNK_SIZE_T)(chunksize(q)) >= MINSIZE);\n" +
-" q = next_chunk(q))\n" +
-" do_check_inuse_chunk(q);\n" +
-" }\n" +
-" }\n" +
-"\n" +
-" /* top chunk is OK */\n" +
-" check_chunk(av->top);\n" +
-"\n" +
-" /* sanity checks for statistics */\n" +
-"\n" +
-" assert(total <= (CHUNK_SIZE_T)(av->max_total_mem));\n" +
-" assert(av->n_mmaps >= 0);\n" +
-" assert(av->n_mmaps <= av->max_n_mmaps);\n" +
-"\n" +
-" assert((CHUNK_SIZE_T)(av->sbrked_mem) <=\n" +
-" (CHUNK_SIZE_T)(av->max_sbrked_mem));\n" +
-"\n" +
-" assert((CHUNK_SIZE_T)(av->mmapped_mem) <=\n" +
-" (CHUNK_SIZE_T)(av->max_mmapped_mem));\n" +
-"\n" +
-" assert((CHUNK_SIZE_T)(av->max_total_mem) >=\n" +
-" (CHUNK_SIZE_T)(av->mmapped_mem) + (CHUNK_SIZE_T)(av->sbrked_mem));\n" +
-"}\n" +
-"#endif\n" +
-"\n" +
-"\n" +
-"/* ----------- Routines dealing with system allocation -------------- */\n" +
-"\n" +
-"/*\n" +
-" sysmalloc handles malloc cases requiring more memory from the system.\n" +
-" On entry, it is assumed that av->top does not have enough\n" +
-" space to service request for nb bytes, thus requiring that av->top\n" +
-" be extended or replaced.\n" +
-"*/\n" +
-"\n" +
-"#if __STD_C\n" +
-"static Void_t* sYSMALLOc(INTERNAL_SIZE_T nb, mstate av)\n" +
-"#else\n" +
-"static Void_t* sYSMALLOc(nb, av) INTERNAL_SIZE_T nb; mstate av;\n" +
-"#endif\n" +
-"{\n" +
-" mchunkptr old_top; /* incoming value of av->top */\n" +
-" INTERNAL_SIZE_T old_size; /* its size */\n" +
-" char* old_end; /* its end address */\n" +
-"\n" +
-" long size; /* arg to first MORECORE or mmap call */\n" +
-" char* brk; /* return value from MORECORE */\n" +
-"\n" +
-" long correction; /* arg to 2nd MORECORE call */\n" +
-" char* snd_brk; /* 2nd return val */\n" +
-"\n" +
-" INTERNAL_SIZE_T front_misalign; /* unusable bytes at front of new space */\n" +
-" INTERNAL_SIZE_T end_misalign; /* partial page left at end of new space */\n" +
-" char* aligned_brk; /* aligned offset into brk */\n" +
-"\n" +
-" mchunkptr p; /* the allocated/returned chunk */\n" +
-" mchunkptr remainder; /* remainder from allocation */\n" +
-" CHUNK_SIZE_T remainder_size; /* its size */\n" +
-"\n" +
-" CHUNK_SIZE_T sum; /* for updating stats */\n" +
-"\n" +
-" size_t pagemask = av->pagesize - 1;\n" +
-"\n" +
-" /*\n" +
-" If there is space available in fastbins, consolidate and retry\n" +
-" malloc from scratch rather than getting memory from system. This\n" +
-" can occur only if nb is in smallbin range so we didn't consolidate\n" +
-" upon entry to malloc. It is much easier to handle this case here\n" +
-" than in malloc proper.\n" +
-" */\n" +
-"\n" +
-" if (have_fastchunks(av)) {\n" +
-" assert(in_smallbin_range(nb));\n" +
-" malloc_consolidate(av);\n" +
-" return mALLOc(nb - MALLOC_ALIGN_MASK);\n" +
-" }\n" +
-"\n" +
-"\n" +
-"#if HAVE_MMAP\n" +
-"\n" +
-" /*\n" +
-" If have mmap, and the request size meets the mmap threshold, and\n" +
-" the system supports mmap, and there are few enough currently\n" +
-" allocated mmapped regions, try to directly map this request\n" +
-" rather than expanding top.\n" +
-" */\n" +
-"\n" +
-" if ((CHUNK_SIZE_T)(nb) >= (CHUNK_SIZE_T)(av->mmap_threshold) &&\n" +
-" (av->n_mmaps < av->n_mmaps_max)) {\n" +
-"\n" +
-" char* mm; /* return value from mmap call*/\n" +
-"\n" +
-" /*\n" +
-" Round up size to nearest page. For mmapped chunks, the overhead\n" +
-" is one SIZE_SZ unit larger than for normal chunks, because there\n" +
-" is no following chunk whose prev_size field could be used.\n" +
-" */\n" +
-" size = (nb + SIZE_SZ + MALLOC_ALIGN_MASK + pagemask) & ~pagemask;\n" +
-"\n" +
-" /* Don't try if size wraps around 0 */\n" +
-" if ((CHUNK_SIZE_T)(size) > (CHUNK_SIZE_T)(nb)) {\n" +
-"\n" +
-" mm = (char*)(MMAP(0, size, PROT_READ|PROT_WRITE, MAP_PRIVATE));\n" +
-"\n" +
-" if (mm != (char*)(MORECORE_FAILURE)) {\n" +
-"\n" +
-" /*\n" +
-" The offset to the start of the mmapped region is stored\n" +
-" in the prev_size field of the chunk. This allows us to adjust\n" +
-" returned start address to meet alignment requirements here\n" +
-" and in memalign(), and still be able to compute proper\n" +
-" address argument for later munmap in free() and realloc().\n" +
-" */\n" +
-"\n" +
-" front_misalign = (INTERNAL_SIZE_T)chunk2mem(mm) & MALLOC_ALIGN_MASK;\n" +
-" if (front_misalign > 0) {\n" +
-" correction = MALLOC_ALIGNMENT - front_misalign;\n" +
-" p = (mchunkptr)(mm + correction);\n" +
-" p->prev_size = correction;\n" +
-" set_head(p, (size - correction) |IS_MMAPPED);\n" +
-" }\n" +
-" else {\n" +
-" p = (mchunkptr)mm;\n" +
-" p->prev_size = 0;\n" +
-" set_head(p, size|IS_MMAPPED);\n" +
-" }\n" +
-"\n" +
-" /* update statistics */\n" +
-"\n" +
-" if (++av->n_mmaps > av->max_n_mmaps)\n" +
-" av->max_n_mmaps = av->n_mmaps;\n" +
-"\n") +
-(
-" sum = av->mmapped_mem += size;\n" +
-" if (sum > (CHUNK_SIZE_T)(av->max_mmapped_mem))\n" +
-" av->max_mmapped_mem = sum;\n" +
-" sum += av->sbrked_mem;\n" +
-" if (sum > (CHUNK_SIZE_T)(av->max_total_mem))\n" +
-" av->max_total_mem = sum;\n" +
-"\n" +
-" check_chunk(p);\n" +
-"\n" +
-" return chunk2mem(p);\n" +
-" }\n" +
-" }\n" +
-" }\n" +
-"#endif\n" +
-"\n" +
-" /* Record incoming configuration of top */\n" +
-"\n" +
-" old_top = av->top;\n" +
-" old_size = chunksize(old_top);\n" +
-" old_end = (char*)(chunk_at_offset(old_top, old_size));\n" +
-"\n" +
-" brk = snd_brk = (char*)(MORECORE_FAILURE);\n" +
-"\n" +
-" /*\n" +
-" If not the first time through, we require old_size to be\n" +
-" at least MINSIZE and to have prev_inuse set.\n" +
-" */\n" +
-"\n" +
-" assert((old_top == initial_top(av) && old_size == 0) ||\n" +
-" ((CHUNK_SIZE_T) (old_size) >= MINSIZE &&\n" +
-" prev_inuse(old_top)));\n" +
-"\n" +
-" /* Precondition: not enough current space to satisfy nb request */\n" +
-" assert((CHUNK_SIZE_T)(old_size) < (CHUNK_SIZE_T)(nb + MINSIZE));\n" +
-"\n" +
-" /* Precondition: all fastbins are consolidated */\n" +
-" assert(!have_fastchunks(av));\n" +
-"\n" +
-"\n" +
-" /* Request enough space for nb + pad + overhead */\n" +
-"\n" +
-" size = nb + av->top_pad + MINSIZE;\n" +
-"\n" +
-" /*\n" +
-" If contiguous, we can subtract out existing space that we hope to\n" +
-" combine with new space. We add it back later only if\n" +
-" we don't actually get contiguous space.\n" +
-" */\n" +
-"\n" +
-" if (contiguous(av))\n" +
-" size -= old_size;\n" +
-"\n" +
-" /*\n" +
-" Round to a multiple of page size.\n" +
-" If MORECORE is not contiguous, this ensures that we only call it\n" +
-" with whole-page arguments. And if MORECORE is contiguous and\n" +
-" this is not first time through, this preserves page-alignment of\n" +
-" previous calls. Otherwise, we correct to page-align below.\n" +
-" */\n" +
-"\n" +
-" size = (size + pagemask) & ~pagemask;\n" +
-"\n" +
-" /*\n" +
-" Don't try to call MORECORE if argument is so big as to appear\n" +
-" negative. Note that since mmap takes size_t arg, it may succeed\n" +
-" below even if we cannot call MORECORE.\n" +
-" */\n" +
-"\n" +
-" if (size > 0)\n" +
-" brk = (char*)(MORECORE(size));\n" +
-"\n" +
-" /*\n" +
-" If have mmap, try using it as a backup when MORECORE fails or\n" +
-" cannot be used. This is worth doing on systems that have \"holes\" in\n" +
-" address space, so sbrk cannot extend to give contiguous space, but\n" +
-" space is available elsewhere. Note that we ignore mmap max count\n" +
-" and threshold limits, since the space will not be used as a\n" +
-" segregated mmap region.\n" +
-" */\n" +
-"\n" +
-"#if HAVE_MMAP\n" +
-" if (brk == (char*)(MORECORE_FAILURE)) {\n" +
-"\n" +
-" /* Cannot merge with old top, so add its size back in */\n" +
-" if (contiguous(av))\n" +
-" size = (size + old_size + pagemask) & ~pagemask;\n" +
-"\n" +
-" /* If we are relying on mmap as backup, then use larger units */\n" +
-" if ((CHUNK_SIZE_T)(size) < (CHUNK_SIZE_T)(MMAP_AS_MORECORE_SIZE))\n" +
-" size = MMAP_AS_MORECORE_SIZE;\n" +
-"\n" +
-" /* Don't try if size wraps around 0 */\n" +
-" if ((CHUNK_SIZE_T)(size) > (CHUNK_SIZE_T)(nb)) {\n" +
-"\n" +
-" brk = (char*)(MMAP(0, size, PROT_READ|PROT_WRITE, MAP_PRIVATE));\n" +
-"\n" +
-" if (brk != (char*)(MORECORE_FAILURE)) {\n" +
-"\n" +
-" /* We do not need, and cannot use, another sbrk call to find end */\n" +
-" snd_brk = brk + size;\n" +
-"\n" +
-" /*\n" +
-" Record that we no longer have a contiguous sbrk region.\n" +
-" After the first time mmap is used as backup, we do not\n" +
-" ever rely on contiguous space since this could incorrectly\n" +
-" bridge regions.\n" +
-" */\n" +
-" set_noncontiguous(av);\n" +
-" }\n" +
-" }\n" +
-" }\n" +
-"#endif\n" +
-"\n" +
-" if (brk != (char*)(MORECORE_FAILURE)) {\n" +
-" av->sbrked_mem += size;\n" +
-"\n" +
-" /*\n" +
-" If MORECORE extends previous space, we can likewise extend top size.\n" +
-" */\n" +
-"\n" +
-" if (brk == old_end && snd_brk == (char*)(MORECORE_FAILURE)) {\n" +
-" set_head(old_top, (size + old_size) | PREV_INUSE);\n" +
-" }\n" +
-"\n" +
-" /*\n" +
-" Otherwise, make adjustments:\n" +
-"\n" +
-" * If the first time through or noncontiguous, we need to call sbrk\n" +
-" just to find out where the end of memory lies.\n" +
-"\n" +
-" * We need to ensure that all returned chunks from malloc will meet\n" +
-" MALLOC_ALIGNMENT\n" +
-"\n" +
-" * If there was an intervening foreign sbrk, we need to adjust sbrk\n" +
-" request size to account for fact that we will not be able to\n" +
-" combine new space with existing space in old_top.\n" +
-"\n" +
-" * Almost all systems internally allocate whole pages at a time, in\n" +
-" which case we might as well use the whole last page of request.\n" +
-" So we allocate enough more memory to hit a page boundary now,\n" +
-" which in turn causes future contiguous calls to page-align.\n" +
-" */\n" +
-"\n" +
-" else {\n" +
-" front_misalign = 0;\n" +
-" end_misalign = 0;\n" +
-" correction = 0;\n" +
-" aligned_brk = brk;\n" +
-"\n") +
-(
-" /*\n" +
-" If MORECORE returns an address lower than we have seen before,\n" +
-" we know it isn't really contiguous. This and some subsequent\n" +
-" checks help cope with non-conforming MORECORE functions and\n" +
-" the presence of \"foreign\" calls to MORECORE from outside of\n" +
-" malloc or by other threads. We cannot guarantee to detect\n" +
-" these in all cases, but cope with the ones we do detect.\n" +
-" */\n" +
-" if (contiguous(av) && old_size != 0 && brk < old_end) {\n" +
-" set_noncontiguous(av);\n" +
-" }\n" +
-"\n" +
-" /* handle contiguous cases */\n" +
-" if (contiguous(av)) {\n" +
-"\n" +
-" /*\n" +
-" We can tolerate forward non-contiguities here (usually due\n" +
-" to foreign calls) but treat them as part of our space for\n" +
-" stats reporting.\n" +
-" */\n" +
-" if (old_size != 0)\n" +
-" av->sbrked_mem += brk - old_end;\n" +
-"\n" +
-" /* Guarantee alignment of first new chunk made from this space */\n" +
-"\n" +
-" front_misalign = (INTERNAL_SIZE_T)chunk2mem(brk) & MALLOC_ALIGN_MASK;\n" +
-" if (front_misalign > 0) {\n" +
-"\n" +
-" /*\n" +
-" Skip over some bytes to arrive at an aligned position.\n" +
-" We don't need to specially mark these wasted front bytes.\n" +
-" They will never be accessed anyway because\n" +
-" prev_inuse of av->top (and any chunk created from its start)\n" +
-" is always true after initialization.\n" +
-" */\n" +
-"\n" +
-" correction = MALLOC_ALIGNMENT - front_misalign;\n" +
-" aligned_brk += correction;\n" +
-" }\n" +
-"\n" +
-" /*\n" +
-" If this isn't adjacent to existing space, then we will not\n" +
-" be able to merge with old_top space, so must add to 2nd request.\n" +
-" */\n" +
-"\n" +
-" correction += old_size;\n" +
-"\n" +
-" /* Extend the end address to hit a page boundary */\n" +
-" end_misalign = (INTERNAL_SIZE_T)(brk + size + correction);\n" +
-" correction += ((end_misalign + pagemask) & ~pagemask) - end_misalign;\n" +
-"\n" +
-" assert(correction >= 0);\n" +
-" snd_brk = (char*)(MORECORE(correction));\n" +
-"\n" +
-" if (snd_brk == (char*)(MORECORE_FAILURE)) {\n" +
-" /*\n" +
-" If can't allocate correction, try to at least find out current\n" +
-" brk. It might be enough to proceed without failing.\n" +
-" */\n" +
-" correction = 0;\n" +
-" snd_brk = (char*)(MORECORE(0));\n" +
-" }\n" +
-" else if (snd_brk < brk) {\n" +
-" /*\n" +
-" If the second call gives noncontiguous space even though\n" +
-" it says it won't, the only course of action is to ignore\n" +
-" results of second call, and conservatively estimate where\n" +
-" the first call left us. Also set noncontiguous, so this\n" +
-" won't happen again, leaving at most one hole.\n" +
-"\n" +
-" Note that this check is intrinsically incomplete. Because\n" +
-" MORECORE is allowed to give more space than we ask for,\n" +
-" there is no reliable way to detect a noncontiguity\n" +
-" producing a forward gap for the second call.\n" +
-" */\n" +
-" snd_brk = brk + size;\n" +
-" correction = 0;\n" +
-" set_noncontiguous(av);\n" +
-" }\n" +
-"\n" +
-" }\n" +
-"\n" +
-" /* handle non-contiguous cases */\n" +
-" else {\n" +
-" /* MORECORE/mmap must correctly align */\n" +
-" assert(aligned_OK(chunk2mem(brk)));\n" +
-"\n" +
-" /* Find out current end of memory */\n" +
-" if (snd_brk == (char*)(MORECORE_FAILURE)) {\n" +
-" snd_brk = (char*)(MORECORE(0));\n" +
-" av->sbrked_mem += snd_brk - brk - size;\n" +
-" }\n" +
-" }\n" +
-"\n" +
-" /* Adjust top based on results of second sbrk */\n" +
-" if (snd_brk != (char*)(MORECORE_FAILURE)) {\n" +
-" av->top = (mchunkptr)aligned_brk;\n" +
-" set_head(av->top, (snd_brk - aligned_brk + correction) | PREV_INUSE);\n" +
-" av->sbrked_mem += correction;\n" +
-"\n" +
-" /*\n" +
-" If not the first time through, we either have a\n" +
-" gap due to foreign sbrk or a non-contiguous region. Insert a\n" +
-" double fencepost at old_top to prevent consolidation with space\n" +
-" we don't own. These fenceposts are artificial chunks that are\n" +
-" marked as inuse and are in any case too small to use. We need\n" +
-" two to make sizes and alignments work out.\n" +
-" */\n" +
-"\n" +
-" if (old_size != 0) {\n" +
-" /*\n" +
-" Shrink old_top to insert fenceposts, keeping size a\n" +
-" multiple of MALLOC_ALIGNMENT. We know there is at least\n" +
-" enough space in old_top to do this.\n" +
-" */\n" +
-" old_size = (old_size - 3*SIZE_SZ) & ~MALLOC_ALIGN_MASK;\n" +
-" set_head(old_top, old_size | PREV_INUSE);\n" +
-"\n" +
-" /*\n" +
-" Note that the following assignments completely overwrite\n" +
-" old_top when old_size was previously MINSIZE. This is\n" +
-" intentional. We need the fencepost, even if old_top otherwise gets\n" +
-" lost.\n" +
-" */\n" +
-" chunk_at_offset(old_top, old_size )->size =\n" +
-" SIZE_SZ|PREV_INUSE;\n" +
-"\n" +
-" chunk_at_offset(old_top, old_size + SIZE_SZ)->size =\n" +
-" SIZE_SZ|PREV_INUSE;\n" +
-"\n" +
-" /*\n" +
-" If possible, release the rest, suppressing trimming.\n" +
-" */\n" +
-" if (old_size >= MINSIZE) {\n" +
-" INTERNAL_SIZE_T tt = av->trim_threshold;\n" +
-" av->trim_threshold = (INTERNAL_SIZE_T)(-1);\n" +
-" fREe(chunk2mem(old_top));\n" +
-" av->trim_threshold = tt;\n" +
-" }\n" +
-" }\n" +
-" }\n" +
-" }\n" +
-"\n" +
-" /* Update statistics */\n" +
-" sum = av->sbrked_mem;\n" +
-" if (sum > (CHUNK_SIZE_T)(av->max_sbrked_mem))\n" +
-" av->max_sbrked_mem = sum;\n" +
-"\n") +
-(
-" sum += av->mmapped_mem;\n" +
-" if (sum > (CHUNK_SIZE_T)(av->max_total_mem))\n" +
-" av->max_total_mem = sum;\n" +
-"\n" +
-" check_malloc_state();\n" +
-"\n" +
-" /* finally, do the allocation */\n" +
-"\n" +
-" p = av->top;\n" +
-" size = chunksize(p);\n" +
-"\n" +
-" /* check that one of the above allocation paths succeeded */\n" +
-" if ((CHUNK_SIZE_T)(size) >= (CHUNK_SIZE_T)(nb + MINSIZE)) {\n" +
-" remainder_size = size - nb;\n" +
-" remainder = chunk_at_offset(p, nb);\n" +
-" av->top = remainder;\n" +
-" set_head(p, nb | PREV_INUSE);\n" +
-" set_head(remainder, remainder_size | PREV_INUSE);\n" +
-" check_malloced_chunk(p, nb);\n" +
-" return chunk2mem(p);\n" +
-" }\n" +
-"\n" +
-" }\n" +
-"\n" +
-" /* catch all failure paths */\n" +
-" MALLOC_FAILURE_ACTION;\n" +
-" return 0;\n" +
-"}\n" +
-"\n" +
-"\n" +
-"\n" +
-"\n" +
-"/*\n" +
-" sYSTRIm is an inverse of sorts to sYSMALLOc. It gives memory back\n" +
-" to the system (via negative arguments to sbrk) if there is unused\n" +
-" memory at the `high' end of the malloc pool. It is called\n" +
-" automatically by free() when top space exceeds the trim\n" +
-" threshold. It is also called by the public malloc_trim routine. It\n" +
-" returns 1 if it actually released any memory, else 0.\n" +
-"*/\n" +
-"\n" +
-"#ifndef MORECORE_CANNOT_TRIM\n" +
-"\n" +
-"#if __STD_C\n" +
-"static int sYSTRIm(size_t pad, mstate av)\n" +
-"#else\n" +
-"static int sYSTRIm(pad, av) size_t pad; mstate av;\n" +
-"#endif\n" +
-"{\n" +
-" long top_size; /* Amount of top-most memory */\n" +
-" long extra; /* Amount to release */\n" +
-" long released; /* Amount actually released */\n" +
-" char* current_brk; /* address returned by pre-check sbrk call */\n" +
-" char* new_brk; /* address returned by post-check sbrk call */\n" +
-" size_t pagesz;\n" +
-"\n" +
-" pagesz = av->pagesize;\n" +
-" top_size = chunksize(av->top);\n" +
-"\n" +
-" /* Release in pagesize units, keeping at least one page */\n" +
-" extra = ((top_size - pad - MINSIZE + (pagesz-1)) / pagesz - 1) * pagesz;\n" +
-"\n" +
-" if (extra > 0) {\n" +
-"\n" +
-" /*\n" +
-" Only proceed if end of memory is where we last set it.\n" +
-" This avoids problems if there were foreign sbrk calls.\n" +
-" */\n" +
-" current_brk = (char*)(MORECORE(0));\n" +
-" if (current_brk == (char*)(av->top) + top_size) {\n" +
-"\n" +
-" /*\n" +
-" Attempt to release memory. We ignore MORECORE return value,\n" +
-" and instead call again to find out where new end of memory is.\n" +
-" This avoids problems if first call releases less than we asked,\n" +
-" of if failure somehow altered brk value. (We could still\n" +
-" encounter problems if it altered brk in some very bad way,\n" +
-" but the only thing we can do is adjust anyway, which will cause\n" +
-" some downstream failure.)\n" +
-" */\n" +
-"\n" +
-" MORECORE(-extra);\n" +
-" new_brk = (char*)(MORECORE(0));\n" +
-"\n" +
-" if (new_brk != (char*)MORECORE_FAILURE) {\n" +
-" released = (long)(current_brk - new_brk);\n" +
-"\n" +
-" if (released != 0) {\n" +
-" /* Success. Adjust top. */\n" +
-" av->sbrked_mem -= released;\n" +
-" set_head(av->top, (top_size - released) | PREV_INUSE);\n" +
-" check_malloc_state();\n" +
-" return 1;\n" +
-" }\n" +
-" }\n" +
-" }\n" +
-" }\n" +
-" return 0;\n" +
-"}\n" +
-"\n" +
-"#endif\n" +
-"\n" +
-"/*\n" +
-" ------------------------------ malloc ------------------------------\n" +
-"*/\n" +
-"\n" +
-"\n" +
-"#if __STD_C\n" +
-"Void_t* mALLOc(size_t bytes)\n" +
-"#else\n" +
-" Void_t* mALLOc(bytes) size_t bytes;\n" +
-"#endif\n" +
-"{\n" +
-" mstate av = get_malloc_state();\n" +
-"\n" +
-" INTERNAL_SIZE_T nb; /* normalized request size */\n" +
-" unsigned int idx; /* associated bin index */\n" +
-" mbinptr bin; /* associated bin */\n" +
-" mfastbinptr* fb; /* associated fastbin */\n" +
-"\n" +
-" mchunkptr victim; /* inspected/selected chunk */\n" +
-" INTERNAL_SIZE_T size; /* its size */\n" +
-" int victim_index; /* its bin index */\n" +
-"\n" +
-" mchunkptr remainder; /* remainder from a split */\n" +
-" CHUNK_SIZE_T remainder_size; /* its size */\n" +
-"\n" +
-" unsigned int block; /* bit map traverser */\n" +
-" unsigned int bit; /* bit map traverser */\n" +
-" unsigned int map; /* current word of binmap */\n" +
-"\n" +
-" mchunkptr fwd; /* misc temp for linking */\n" +
-" mchunkptr bck; /* misc temp for linking */\n" +
-"\n" +
-" /*\n" +
-" Convert request size to internal form by adding SIZE_SZ bytes\n" +
-" overhead plus possibly more to obtain necessary alignment and/or\n" +
-" to obtain a size of at least MINSIZE, the smallest allocatable\n" +
-" size. Also, checked_request2size traps (returning 0) request sizes\n" +
-" that are so large that they wrap around zero when padded and\n" +
-" aligned.\n" +
-" */\n" +
-"\n" +
-" checked_request2size(bytes, nb);\n" +
-"\n" +
-" /*\n" +
-" Bypass search if no frees yet\n" +
-" */\n" +
-" if (!have_anychunks(av)) {\n" +
-" if (av->max_fast == 0) /* initialization check */\n" +
-" malloc_consolidate(av);\n" +
-" goto use_top;\n" +
-" }\n" +
-"\n") +
-(
-" /*\n" +
-" If the size qualifies as a fastbin, first check corresponding bin.\n" +
-" */\n" +
-"\n" +
-" if ((CHUNK_SIZE_T)(nb) <= (CHUNK_SIZE_T)(av->max_fast)) {\n" +
-" fb = &(av->fastbins[(fastbin_index(nb))]);\n" +
-" if ( (victim = *fb) != 0) {\n" +
-" *fb = victim->fd;\n" +
-" check_remalloced_chunk(victim, nb);\n" +
-" return chunk2mem(victim);\n" +
-" }\n" +
-" }\n" +
-"\n" +
-" /*\n" +
-" If a small request, check regular bin. Since these \"smallbins\"\n" +
-" hold one size each, no searching within bins is necessary.\n" +
-" (For a large request, we need to wait until unsorted chunks are\n" +
-" processed to find best fit. But for small ones, fits are exact\n" +
-" anyway, so we can check now, which is faster.)\n" +
-" */\n" +
-"\n" +
-" if (in_smallbin_range(nb)) {\n" +
-" idx = smallbin_index(nb);\n" +
-" bin = bin_at(av,idx);\n" +
-"\n" +
-" if ( (victim = last(bin)) != bin) {\n" +
-" bck = victim->bk;\n" +
-" set_inuse_bit_at_offset(victim, nb);\n" +
-" bin->bk = bck;\n" +
-" bck->fd = bin;\n" +
-"\n" +
-" check_malloced_chunk(victim, nb);\n" +
-" return chunk2mem(victim);\n" +
-" }\n" +
-" }\n" +
-"\n" +
-" /*\n" +
-" If this is a large request, consolidate fastbins before continuing.\n" +
-" While it might look excessive to kill all fastbins before\n" +
-" even seeing if there is space available, this avoids\n" +
-" fragmentation problems normally associated with fastbins.\n" +
-" Also, in practice, programs tend to have runs of either small or\n" +
-" large requests, but less often mixtures, so consolidation is not\n" +
-" invoked all that often in most programs. And the programs that\n" +
-" it is called frequently in otherwise tend to fragment.\n" +
-" */\n" +
-"\n" +
-" else {\n" +
-" idx = largebin_index(nb);\n" +
-" if (have_fastchunks(av))\n" +
-" malloc_consolidate(av);\n" +
-" }\n" +
-"\n" +
-" /*\n" +
-" Process recently freed or remaindered chunks, taking one only if\n" +
-" it is exact fit, or, if this a small request, the chunk is remainder from\n" +
-" the most recent non-exact fit. Place other traversed chunks in\n" +
-" bins. Note that this step is the only place in any routine where\n" +
-" chunks are placed in bins.\n" +
-" */\n" +
-"\n" +
-" while ( (victim = unsorted_chunks(av)->bk) != unsorted_chunks(av)) {\n" +
-" bck = victim->bk;\n" +
-" size = chunksize(victim);\n" +
-"\n" +
-" /*\n" +
-" If a small request, try to use last remainder if it is the\n" +
-" only chunk in unsorted bin. This helps promote locality for\n" +
-" runs of consecutive small requests. This is the only\n" +
-" exception to best-fit, and applies only when there is\n" +
-" no exact fit for a small chunk.\n" +
-" */\n" +
-"\n" +
-" if (in_smallbin_range(nb) &&\n" +
-" bck == unsorted_chunks(av) &&\n" +
-" victim == av->last_remainder &&\n" +
-" (CHUNK_SIZE_T)(size) > (CHUNK_SIZE_T)(nb + MINSIZE)) {\n" +
-"\n" +
-" /* split and reattach remainder */\n" +
-" remainder_size = size - nb;\n" +
-" remainder = chunk_at_offset(victim, nb);\n" +
-" unsorted_chunks(av)->bk = unsorted_chunks(av)->fd = remainder;\n" +
-" av->last_remainder = remainder;\n" +
-" remainder->bk = remainder->fd = unsorted_chunks(av);\n" +
-"\n" +
-" set_head(victim, nb | PREV_INUSE);\n" +
-" set_head(remainder, remainder_size | PREV_INUSE);\n" +
-" set_foot(remainder, remainder_size);\n" +
-"\n" +
-" check_malloced_chunk(victim, nb);\n" +
-" return chunk2mem(victim);\n" +
-" }\n" +
-"\n" +
-" /* remove from unsorted list */\n" +
-" unsorted_chunks(av)->bk = bck;\n" +
-" bck->fd = unsorted_chunks(av);\n" +
-"\n" +
-" /* Take now instead of binning if exact fit */\n" +
-"\n" +
-" if (size == nb) {\n" +
-" set_inuse_bit_at_offset(victim, size);\n" +
-" check_malloced_chunk(victim, nb);\n" +
-" return chunk2mem(victim);\n" +
-" }\n" +
-"\n" +
-" /* place chunk in bin */\n" +
-"\n" +
-" if (in_smallbin_range(size)) {\n" +
-" victim_index = smallbin_index(size);\n" +
-" bck = bin_at(av, victim_index);\n" +
-" fwd = bck->fd;\n" +
-" }\n" +
-" else {\n" +
-" victim_index = largebin_index(size);\n" +
-" bck = bin_at(av, victim_index);\n" +
-" fwd = bck->fd;\n" +
-"\n" +
-" if (fwd != bck) {\n" +
-" /* if smaller than smallest, place first */\n" +
-" if ((CHUNK_SIZE_T)(size) < (CHUNK_SIZE_T)(bck->bk->size)) {\n" +
-" fwd = bck;\n" +
-" bck = bck->bk;\n" +
-" }\n" +
-" else if ((CHUNK_SIZE_T)(size) >=\n" +
-" (CHUNK_SIZE_T)(FIRST_SORTED_BIN_SIZE)) {\n" +
-"\n" +
-" /* maintain large bins in sorted order */\n" +
-" size |= PREV_INUSE; /* Or with inuse bit to speed comparisons */\n" +
-" while ((CHUNK_SIZE_T)(size) < (CHUNK_SIZE_T)(fwd->size))\n" +
-" fwd = fwd->fd;\n" +
-" bck = fwd->bk;\n" +
-" }\n" +
-" }\n" +
-" }\n" +
-"\n" +
-" mark_bin(av, victim_index);\n" +
-" victim->bk = bck;\n" +
-" victim->fd = fwd;\n" +
-" fwd->bk = victim;\n" +
-" bck->fd = victim;\n" +
-" }\n" +
-"\n" +
-" /*\n" +
-" If a large request, scan through the chunks of current bin to\n" +
-" find one that fits. (This will be the smallest that fits unless\n" +
-" FIRST_SORTED_BIN_SIZE has been changed from default.) This is\n" +
-" the only step where an unbounded number of chunks might be\n" +
-" scanned without doing anything useful with them. However the\n" +
-" lists tend to be short.\n" +
-" */\n" +
-"\n") +
-(
-" if (!in_smallbin_range(nb)) {\n" +
-" bin = bin_at(av, idx);\n" +
-"\n" +
-" for (victim = last(bin); victim != bin; victim = victim->bk) {\n" +
-" size = chunksize(victim);\n" +
-"\n" +
-" if ((CHUNK_SIZE_T)(size) >= (CHUNK_SIZE_T)(nb)) {\n" +
-" remainder_size = size - nb;\n" +
-" unlink(victim, bck, fwd);\n" +
-"\n" +
-" /* Exhaust */\n" +
-" if (remainder_size < MINSIZE) {\n" +
-" set_inuse_bit_at_offset(victim, size);\n" +
-" check_malloced_chunk(victim, nb);\n" +
-" return chunk2mem(victim);\n" +
-" }\n" +
-" /* Split */\n" +
-" else {\n" +
-" remainder = chunk_at_offset(victim, nb);\n" +
-" unsorted_chunks(av)->bk = unsorted_chunks(av)->fd = remainder;\n" +
-" remainder->bk = remainder->fd = unsorted_chunks(av);\n" +
-" set_head(victim, nb | PREV_INUSE);\n" +
-" set_head(remainder, remainder_size | PREV_INUSE);\n" +
-" set_foot(remainder, remainder_size);\n" +
-" check_malloced_chunk(victim, nb);\n" +
-" return chunk2mem(victim);\n" +
-" }\n" +
-" }\n" +
-" }\n" +
-" }\n" +
-"\n" +
-" /*\n" +
-" Search for a chunk by scanning bins, starting with next largest\n" +
-" bin. This search is strictly by best-fit; i.e., the smallest\n" +
-" (with ties going to approximately the least recently used) chunk\n" +
-" that fits is selected.\n" +
-"\n" +
-" The bitmap avoids needing to check that most blocks are nonempty.\n" +
-" */\n" +
-"\n" +
-" ++idx;\n" +
-" bin = bin_at(av,idx);\n" +
-" block = idx2block(idx);\n" +
-" map = av->binmap[block];\n" +
-" bit = idx2bit(idx);\n" +
-"\n" +
-" for (;;) {\n" +
-"\n" +
-" /* Skip rest of block if there are no more set bits in this block. */\n" +
-" if (bit > map || bit == 0) {\n" +
-" do {\n" +
-" if (++block >= BINMAPSIZE) /* out of bins */\n" +
-" goto use_top;\n" +
-" } while ( (map = av->binmap[block]) == 0);\n" +
-"\n" +
-" bin = bin_at(av, (block << BINMAPSHIFT));\n" +
-" bit = 1;\n" +
-" }\n" +
-"\n" +
-" /* Advance to bin with set bit. There must be one. */\n" +
-" while ((bit & map) == 0) {\n" +
-" bin = next_bin(bin);\n" +
-" bit <<= 1;\n" +
-" assert(bit != 0);\n" +
-" }\n" +
-"\n" +
-" /* Inspect the bin. It is likely to be non-empty */\n" +
-" victim = last(bin);\n" +
-"\n" +
-" /* If a false alarm (empty bin), clear the bit. */\n" +
-" if (victim == bin) {\n" +
-" av->binmap[block] = map &= ~bit; /* Write through */\n" +
-" bin = next_bin(bin);\n" +
-" bit <<= 1;\n" +
-" }\n" +
-"\n" +
-" else {\n" +
-" size = chunksize(victim);\n" +
-"\n" +
-" /* We know the first chunk in this bin is big enough to use. */\n" +
-" assert((CHUNK_SIZE_T)(size) >= (CHUNK_SIZE_T)(nb));\n" +
-"\n" +
-" remainder_size = size - nb;\n" +
-"\n" +
-" /* unlink */\n" +
-" bck = victim->bk;\n" +
-" bin->bk = bck;\n" +
-" bck->fd = bin;\n" +
-"\n" +
-" /* Exhaust */\n" +
-" if (remainder_size < MINSIZE) {\n" +
-" set_inuse_bit_at_offset(victim, size);\n" +
-" check_malloced_chunk(victim, nb);\n" +
-" return chunk2mem(victim);\n" +
-" }\n" +
-"\n" +
-" /* Split */\n" +
-" else {\n" +
-" remainder = chunk_at_offset(victim, nb);\n" +
-"\n" +
-" unsorted_chunks(av)->bk = unsorted_chunks(av)->fd = remainder;\n" +
-" remainder->bk = remainder->fd = unsorted_chunks(av);\n" +
-" /* advertise as last remainder */\n" +
-" if (in_smallbin_range(nb))\n" +
-" av->last_remainder = remainder;\n" +
-"\n" +
-" set_head(victim, nb | PREV_INUSE);\n" +
-" set_head(remainder, remainder_size | PREV_INUSE);\n" +
-" set_foot(remainder, remainder_size);\n" +
-" check_malloced_chunk(victim, nb);\n" +
-" return chunk2mem(victim);\n" +
-" }\n" +
-" }\n" +
-" }\n" +
-"\n" +
-" use_top:\n" +
-" /*\n" +
-" If large enough, split off the chunk bordering the end of memory\n" +
-" (held in av->top). Note that this is in accord with the best-fit\n" +
-" search rule. In effect, av->top is treated as larger (and thus\n" +
-" less well fitting) than any other available chunk since it can\n" +
-" be extended to be as large as necessary (up to system\n" +
-" limitations).\n" +
-"\n" +
-" We require that av->top always exists (i.e., has size >=\n" +
-" MINSIZE) after initialization, so if it would otherwise be\n" +
-" exhuasted by current request, it is replenished. (The main\n" +
-" reason for ensuring it exists is that we may need MINSIZE space\n" +
-" to put in fenceposts in sysmalloc.)\n" +
-" */\n" +
-"\n" +
-" victim = av->top;\n" +
-" size = chunksize(victim);\n" +
-"\n" +
-" if ((CHUNK_SIZE_T)(size) >= (CHUNK_SIZE_T)(nb + MINSIZE)) {\n" +
-" remainder_size = size - nb;\n" +
-" remainder = chunk_at_offset(victim, nb);\n" +
-" av->top = remainder;\n" +
-" set_head(victim, nb | PREV_INUSE);\n" +
-" set_head(remainder, remainder_size | PREV_INUSE);\n" +
-"\n" +
-" check_malloced_chunk(victim, nb);\n" +
-" return chunk2mem(victim);\n" +
-" }\n" +
-"\n" +
-" /*\n" +
-" If no space in top, relay to handle system-dependent cases\n" +
-" */\n" +
-" return sYSMALLOc(nb, av);\n" +
-"}\n" +
-"\n") +
-(
-"/*\n" +
-" ------------------------------ free ------------------------------\n" +
-"*/\n" +
-"\n" +
-"#if __STD_C\n" +
-"void fREe(Void_t* mem)\n" +
-"#else\n" +
-"void fREe(mem) Void_t* mem;\n" +
-"#endif\n" +
-"{\n" +
-" mstate av = get_malloc_state();\n" +
-"\n" +
-" mchunkptr p; /* chunk corresponding to mem */\n" +
-" INTERNAL_SIZE_T size; /* its size */\n" +
-" mfastbinptr* fb; /* associated fastbin */\n" +
-" mchunkptr nextchunk; /* next contiguous chunk */\n" +
-" INTERNAL_SIZE_T nextsize; /* its size */\n" +
-" int nextinuse; /* true if nextchunk is used */\n" +
-" INTERNAL_SIZE_T prevsize; /* size of previous contiguous chunk */\n" +
-" mchunkptr bck; /* misc temp for linking */\n" +
-" mchunkptr fwd; /* misc temp for linking */\n" +
-"\n" +
-" /* free(0) has no effect */\n" +
-" if (mem != 0) {\n" +
-" p = mem2chunk(mem);\n" +
-" size = chunksize(p);\n" +
-"\n" +
-" check_inuse_chunk(p);\n" +
-"\n" +
-" /*\n" +
-" If eligible, place chunk on a fastbin so it can be found\n" +
-" and used quickly in malloc.\n" +
-" */\n" +
-"\n" +
-" if ((CHUNK_SIZE_T)(size) <= (CHUNK_SIZE_T)(av->max_fast)\n" +
-"\n" +
-"#if TRIM_FASTBINS\n" +
-" /*\n" +
-" If TRIM_FASTBINS set, don't place chunks\n" +
-" bordering top into fastbins\n" +
-" */\n" +
-" && (chunk_at_offset(p, size) != av->top)\n" +
-"#endif\n" +
-" ) {\n" +
-"\n" +
-" set_fastchunks(av);\n" +
-" fb = &(av->fastbins[fastbin_index(size)]);\n" +
-" p->fd = *fb;\n" +
-" *fb = p;\n" +
-" }\n" +
-"\n" +
-" /*\n" +
-" Consolidate other non-mmapped chunks as they arrive.\n" +
-" */\n" +
-"\n" +
-" else if (!chunk_is_mmapped(p)) {\n" +
-" set_anychunks(av);\n" +
-"\n" +
-" nextchunk = chunk_at_offset(p, size);\n" +
-" nextsize = chunksize(nextchunk);\n" +
-"\n" +
-" /* consolidate backward */\n" +
-" if (!prev_inuse(p)) {\n" +
-" prevsize = p->prev_size;\n" +
-" size += prevsize;\n" +
-" p = chunk_at_offset(p, -((long) prevsize));\n" +
-" unlink(p, bck, fwd);\n" +
-" }\n" +
-"\n" +
-" if (nextchunk != av->top) {\n" +
-" /* get and clear inuse bit */\n" +
-" nextinuse = inuse_bit_at_offset(nextchunk, nextsize);\n" +
-" set_head(nextchunk, nextsize);\n" +
-"\n" +
-" /* consolidate forward */\n" +
-" if (!nextinuse) {\n" +
-" unlink(nextchunk, bck, fwd);\n" +
-" size += nextsize;\n" +
-" }\n" +
-"\n" +
-" /*\n" +
-" Place the chunk in unsorted chunk list. Chunks are\n" +
-" not placed into regular bins until after they have\n" +
-" been given one chance to be used in malloc.\n" +
-" */\n" +
-"\n" +
-" bck = unsorted_chunks(av);\n" +
-" fwd = bck->fd;\n" +
-" p->bk = bck;\n" +
-" p->fd = fwd;\n" +
-" bck->fd = p;\n" +
-" fwd->bk = p;\n" +
-"\n" +
-" set_head(p, size | PREV_INUSE);\n" +
-" set_foot(p, size);\n" +
-"\n" +
-" check_free_chunk(p);\n" +
-" }\n" +
-"\n" +
-" /*\n" +
-" If the chunk borders the current high end of memory,\n" +
-" consolidate into top\n" +
-" */\n" +
-"\n" +
-" else {\n" +
-" size += nextsize;\n" +
-" set_head(p, size | PREV_INUSE);\n" +
-" av->top = p;\n" +
-" check_chunk(p);\n" +
-" }\n" +
-"\n" +
-" /*\n" +
-" If freeing a large space, consolidate possibly-surrounding\n" +
-" chunks. Then, if the total unused topmost memory exceeds trim\n" +
-" threshold, ask malloc_trim to reduce top.\n" +
-"\n" +
-" Unless max_fast is 0, we don't know if there are fastbins\n" +
-" bordering top, so we cannot tell for sure whether threshold\n" +
-" has been reached unless fastbins are consolidated. But we\n" +
-" don't want to consolidate on each free. As a compromise,\n" +
-" consolidation is performed if FASTBIN_CONSOLIDATION_THRESHOLD\n" +
-" is reached.\n" +
-" */\n" +
-"\n" +
-" if ((CHUNK_SIZE_T)(size) >= FASTBIN_CONSOLIDATION_THRESHOLD) {\n" +
-" if (have_fastchunks(av))\n" +
-" malloc_consolidate(av);\n" +
-"\n" +
-"#ifndef MORECORE_CANNOT_TRIM\n" +
-" if ((CHUNK_SIZE_T)(chunksize(av->top)) >=\n" +
-" (CHUNK_SIZE_T)(av->trim_threshold))\n" +
-" sYSTRIm(av->top_pad, av);\n" +
-"#endif\n" +
-" }\n" +
-"\n" +
-" }\n" +
-" /*\n" +
-" If the chunk was allocated via mmap, release via munmap()\n" +
-" Note that if HAVE_MMAP is false but chunk_is_mmapped is\n" +
-" true, then user must have overwritten memory. There's nothing\n" +
-" we can do to catch this error unless DEBUG is set, in which case\n" +
-" check_inuse_chunk (above) will have triggered error.\n" +
-" */\n" +
-"\n" +
-" else {\n" +
-"#if HAVE_MMAP\n" +
-" int ret;\n" +
-" INTERNAL_SIZE_T offset = p->prev_size;\n" +
-" av->n_mmaps--;\n" +
-" av->mmapped_mem -= (size + offset);\n" +
-" ret = munmap((char*)p - offset, size + offset);\n" +
-" /* munmap returns non-zero on failure */\n" +
-" assert(ret == 0);\n" +
-"#endif\n" +
-" }\n" +
-" }\n" +
-"}\n" +
-"\n") +
-(
-"/*\n" +
-" ------------------------- malloc_consolidate -------------------------\n" +
-"\n" +
-" malloc_consolidate is a specialized version of free() that tears\n" +
-" down chunks held in fastbins. Free itself cannot be used for this\n" +
-" purpose since, among other things, it might place chunks back onto\n" +
-" fastbins. So, instead, we need to use a minor variant of the same\n" +
-" code.\n" +
-"\n" +
-" Also, because this routine needs to be called the first time through\n" +
-" malloc anyway, it turns out to be the perfect place to trigger\n" +
-" initialization code.\n" +
-"*/\n" +
-"\n" +
-"#if __STD_C\n" +
-"static void malloc_consolidate(mstate av)\n" +
-"#else\n" +
-"static void malloc_consolidate(av) mstate av;\n" +
-"#endif\n" +
-"{\n" +
-" mfastbinptr* fb; /* current fastbin being consolidated */\n" +
-" mfastbinptr* maxfb; /* last fastbin (for loop control) */\n" +
-" mchunkptr p; /* current chunk being consolidated */\n" +
-" mchunkptr nextp; /* next chunk to consolidate */\n" +
-" mchunkptr unsorted_bin; /* bin header */\n" +
-" mchunkptr first_unsorted; /* chunk to link to */\n" +
-"\n" +
-" /* These have same use as in free() */\n" +
-" mchunkptr nextchunk;\n" +
-" INTERNAL_SIZE_T size;\n" +
-" INTERNAL_SIZE_T nextsize;\n" +
-" INTERNAL_SIZE_T prevsize;\n" +
-" int nextinuse;\n" +
-" mchunkptr bck;\n" +
-" mchunkptr fwd;\n" +
-"\n" +
-" /*\n" +
-" If max_fast is 0, we know that av hasn't\n" +
-" yet been initialized, in which case do so below\n" +
-" */\n" +
-"\n" +
-" if (av->max_fast != 0) {\n" +
-" clear_fastchunks(av);\n" +
-"\n" +
-" unsorted_bin = unsorted_chunks(av);\n" +
-"\n" +
-" /*\n" +
-" Remove each chunk from fast bin and consolidate it, placing it\n" +
-" then in unsorted bin. Among other reasons for doing this,\n" +
-" placing in unsorted bin avoids needing to calculate actual bins\n" +
-" until malloc is sure that chunks aren't immediately going to be\n" +
-" reused anyway.\n" +
-" */\n" +
-"\n" +
-" maxfb = &(av->fastbins[fastbin_index(av->max_fast)]);\n" +
-" fb = &(av->fastbins[0]);\n" +
-" do {\n" +
-" if ( (p = *fb) != 0) {\n" +
-" *fb = 0;\n" +
-"\n" +
-" do {\n" +
-" check_inuse_chunk(p);\n" +
-" nextp = p->fd;\n" +
-"\n" +
-" /* Slightly streamlined version of consolidation code in free() */\n" +
-" size = p->size & ~PREV_INUSE;\n" +
-" nextchunk = chunk_at_offset(p, size);\n" +
-" nextsize = chunksize(nextchunk);\n" +
-"\n" +
-" if (!prev_inuse(p)) {\n" +
-" prevsize = p->prev_size;\n" +
-" size += prevsize;\n" +
-" p = chunk_at_offset(p, -((long) prevsize));\n" +
-" unlink(p, bck, fwd);\n" +
-" }\n" +
-"\n" +
-" if (nextchunk != av->top) {\n" +
-" nextinuse = inuse_bit_at_offset(nextchunk, nextsize);\n" +
-" set_head(nextchunk, nextsize);\n" +
-"\n" +
-" if (!nextinuse) {\n" +
-" size += nextsize;\n" +
-" unlink(nextchunk, bck, fwd);\n" +
-" }\n" +
-"\n" +
-" first_unsorted = unsorted_bin->fd;\n" +
-" unsorted_bin->fd = p;\n" +
-" first_unsorted->bk = p;\n" +
-"\n" +
-" set_head(p, size | PREV_INUSE);\n" +
-" p->bk = unsorted_bin;\n" +
-" p->fd = first_unsorted;\n" +
-" set_foot(p, size);\n" +
-" }\n" +
-"\n" +
-" else {\n" +
-" size += nextsize;\n" +
-" set_head(p, size | PREV_INUSE);\n" +
-" av->top = p;\n" +
-" }\n" +
-"\n" +
-" } while ( (p = nextp) != 0);\n" +
-"\n" +
-" }\n" +
-" } while (fb++ != maxfb);\n" +
-" }\n" +
-" else {\n" +
-" malloc_init_state(av);\n" +
-" check_malloc_state();\n" +
-" }\n" +
-"}\n" +
-"\n" +
-"/*\n" +
-" ------------------------------ realloc ------------------------------\n" +
-"*/\n" +
-"\n" +
-"\n" +
-"#if __STD_C\n" +
-"Void_t* rEALLOc(Void_t* oldmem, size_t bytes)\n" +
-"#else\n" +
-"Void_t* rEALLOc(oldmem, bytes) Void_t* oldmem; size_t bytes;\n" +
-"#endif\n" +
-"{\n" +
-" mstate av = get_malloc_state();\n" +
-"\n" +
-" INTERNAL_SIZE_T nb; /* padded request size */\n" +
-"\n" +
-" mchunkptr oldp; /* chunk corresponding to oldmem */\n" +
-" INTERNAL_SIZE_T oldsize; /* its size */\n" +
-"\n" +
-" mchunkptr newp; /* chunk to return */\n" +
-" INTERNAL_SIZE_T newsize; /* its size */\n" +
-" Void_t* newmem; /* corresponding user mem */\n" +
-"\n" +
-" mchunkptr next; /* next contiguous chunk after oldp */\n" +
-"\n" +
-" mchunkptr remainder; /* extra space at end of newp */\n" +
-" CHUNK_SIZE_T remainder_size; /* its size */\n" +
-"\n" +
-" mchunkptr bck; /* misc temp for linking */\n" +
-" mchunkptr fwd; /* misc temp for linking */\n" +
-"\n" +
-" CHUNK_SIZE_T copysize; /* bytes to copy */\n" +
-" unsigned int ncopies; /* INTERNAL_SIZE_T words to copy */\n" +
-" INTERNAL_SIZE_T* s; /* copy source */\n" +
-" INTERNAL_SIZE_T* d; /* copy destination */\n" +
-"\n" +
-"\n" +
-"#ifdef REALLOC_ZERO_BYTES_FREES\n" +
-" if (bytes == 0) {\n" +
-" fREe(oldmem);\n" +
-" return 0;\n" +
-" }\n" +
-"#endif\n" +
-"\n") +
-(
-" /* realloc of null is supposed to be same as malloc */\n" +
-" if (oldmem == 0) return mALLOc(bytes);\n" +
-"\n" +
-" checked_request2size(bytes, nb);\n" +
-"\n" +
-" oldp = mem2chunk(oldmem);\n" +
-" oldsize = chunksize(oldp);\n" +
-"\n" +
-" check_inuse_chunk(oldp);\n" +
-"\n" +
-" if (!chunk_is_mmapped(oldp)) {\n" +
-"\n" +
-" if ((CHUNK_SIZE_T)(oldsize) >= (CHUNK_SIZE_T)(nb)) {\n" +
-" /* already big enough; split below */\n" +
-" newp = oldp;\n" +
-" newsize = oldsize;\n" +
-" }\n" +
-"\n" +
-" else {\n" +
-" next = chunk_at_offset(oldp, oldsize);\n" +
-"\n" +
-" /* Try to expand forward into top */\n" +
-" if (next == av->top &&\n" +
-" (CHUNK_SIZE_T)(newsize = oldsize + chunksize(next)) >=\n" +
-" (CHUNK_SIZE_T)(nb + MINSIZE)) {\n" +
-" set_head_size(oldp, nb);\n" +
-" av->top = chunk_at_offset(oldp, nb);\n" +
-" set_head(av->top, (newsize - nb) | PREV_INUSE);\n" +
-" return chunk2mem(oldp);\n" +
-" }\n" +
-"\n" +
-" /* Try to expand forward into next chunk; split off remainder below */\n" +
-" else if (next != av->top &&\n" +
-" !inuse(next) &&\n" +
-" (CHUNK_SIZE_T)(newsize = oldsize + chunksize(next)) >=\n" +
-" (CHUNK_SIZE_T)(nb)) {\n" +
-" newp = oldp;\n" +
-" unlink(next, bck, fwd);\n" +
-" }\n" +
-"\n" +
-" /* allocate, copy, free */\n" +
-" else {\n" +
-" newmem = mALLOc(nb - MALLOC_ALIGN_MASK);\n" +
-" if (newmem == 0)\n" +
-" return 0; /* propagate failure */\n" +
-"\n" +
-" newp = mem2chunk(newmem);\n" +
-" newsize = chunksize(newp);\n" +
-"\n" +
-" /*\n" +
-" Avoid copy if newp is next chunk after oldp.\n" +
-" */\n" +
-" if (newp == next) {\n" +
-" newsize += oldsize;\n" +
-" newp = oldp;\n" +
-" }\n" +
-" else {\n" +
-" /*\n" +
-" Unroll copy of <= 36 bytes (72 if 8byte sizes)\n" +
-" We know that contents have an odd number of\n" +
-" INTERNAL_SIZE_T-sized words; minimally 3.\n" +
-" */\n" +
-"\n" +
-" copysize = oldsize - SIZE_SZ;\n" +
-" s = (INTERNAL_SIZE_T*)(oldmem);\n" +
-" d = (INTERNAL_SIZE_T*)(newmem);\n" +
-" ncopies = copysize / sizeof(INTERNAL_SIZE_T);\n" +
-" assert(ncopies >= 3);\n" +
-"\n" +
-" if (ncopies > 9)\n" +
-" MALLOC_COPY(d, s, copysize);\n" +
-"\n" +
-" else {\n" +
-" *(d+0) = *(s+0);\n" +
-" *(d+1) = *(s+1);\n" +
-" *(d+2) = *(s+2);\n" +
-" if (ncopies > 4) {\n" +
-" *(d+3) = *(s+3);\n" +
-" *(d+4) = *(s+4);\n" +
-" if (ncopies > 6) {\n" +
-" *(d+5) = *(s+5);\n" +
-" *(d+6) = *(s+6);\n" +
-" if (ncopies > 8) {\n" +
-" *(d+7) = *(s+7);\n" +
-" *(d+8) = *(s+8);\n" +
-" }\n" +
-" }\n" +
-" }\n" +
-" }\n" +
-"\n" +
-" fREe(oldmem);\n" +
-" check_inuse_chunk(newp);\n" +
-" return chunk2mem(newp);\n" +
-" }\n" +
-" }\n" +
-" }\n" +
-"\n" +
-" /* If possible, free extra space in old or extended chunk */\n" +
-"\n" +
-" assert((CHUNK_SIZE_T)(newsize) >= (CHUNK_SIZE_T)(nb));\n" +
-"\n" +
-" remainder_size = newsize - nb;\n" +
-"\n" +
-" if (remainder_size < MINSIZE) { /* not enough extra to split off */\n" +
-" set_head_size(newp, newsize);\n" +
-" set_inuse_bit_at_offset(newp, newsize);\n" +
-" }\n" +
-" else { /* split remainder */\n" +
-" remainder = chunk_at_offset(newp, nb);\n" +
-" set_head_size(newp, nb);\n" +
-" set_head(remainder, remainder_size | PREV_INUSE);\n" +
-" /* Mark remainder as inuse so free() won't complain */\n" +
-" set_inuse_bit_at_offset(remainder, remainder_size);\n" +
-" fREe(chunk2mem(remainder));\n" +
-" }\n" +
-"\n" +
-" check_inuse_chunk(newp);\n" +
-" return chunk2mem(newp);\n" +
-" }\n" +
-"\n" +
-" /*\n" +
-" Handle mmap cases\n" +
-" */\n" +
-"\n" +
-" else {\n" +
-"#if HAVE_MMAP\n" +
-"\n" +
-"#if HAVE_MREMAP\n" +
-" INTERNAL_SIZE_T offset = oldp->prev_size;\n" +
-" size_t pagemask = av->pagesize - 1;\n" +
-" char *cp;\n" +
-" CHUNK_SIZE_T sum;\n" +
-"\n" +
-" /* Note the extra SIZE_SZ overhead */\n" +
-" newsize = (nb + offset + SIZE_SZ + pagemask) & ~pagemask;\n" +
-"\n" +
-" /* don't need to remap if still within same page */\n" +
-" if (oldsize == newsize - offset)\n" +
-" return oldmem;\n" +
-"\n" +
-" cp = (char*)mremap((char*)oldp - offset, oldsize + offset, newsize, 1);\n" +
-"\n" +
-" if (cp != (char*)MORECORE_FAILURE) {\n" +
-"\n" +
-" newp = (mchunkptr)(cp + offset);\n" +
-" set_head(newp, (newsize - offset)|IS_MMAPPED);\n" +
-"\n" +
-" assert(aligned_OK(chunk2mem(newp)));\n" +
-" assert((newp->prev_size == offset));\n" +
-"\n") +
-(
-" /* update statistics */\n" +
-" sum = av->mmapped_mem += newsize - oldsize;\n" +
-" if (sum > (CHUNK_SIZE_T)(av->max_mmapped_mem))\n" +
-" av->max_mmapped_mem = sum;\n" +
-" sum += av->sbrked_mem;\n" +
-" if (sum > (CHUNK_SIZE_T)(av->max_total_mem))\n" +
-" av->max_total_mem = sum;\n" +
-"\n" +
-" return chunk2mem(newp);\n" +
-" }\n" +
-"#endif\n" +
-"\n" +
-" /* Note the extra SIZE_SZ overhead. */\n" +
-" if ((CHUNK_SIZE_T)(oldsize) >= (CHUNK_SIZE_T)(nb + SIZE_SZ))\n" +
-" newmem = oldmem; /* do nothing */\n" +
-" else {\n" +
-" /* Must alloc, copy, free. */\n" +
-" newmem = mALLOc(nb - MALLOC_ALIGN_MASK);\n" +
-" if (newmem != 0) {\n" +
-" MALLOC_COPY(newmem, oldmem, oldsize - 2*SIZE_SZ);\n" +
-" fREe(oldmem);\n" +
-" }\n" +
-" }\n" +
-" return newmem;\n" +
-"\n" +
-"#else\n" +
-" /* If !HAVE_MMAP, but chunk_is_mmapped, user must have overwritten mem */\n" +
-" check_malloc_state();\n" +
-" MALLOC_FAILURE_ACTION;\n" +
-" return 0;\n" +
-"#endif\n" +
-" }\n" +
-"}\n" +
-"\n" +
-"/*\n" +
-" ------------------------------ memalign ------------------------------\n" +
-"*/\n" +
-"\n" +
-"#if __STD_C\n" +
-"Void_t* mEMALIGn(size_t alignment, size_t bytes)\n" +
-"#else\n" +
-"Void_t* mEMALIGn(alignment, bytes) size_t alignment; size_t bytes;\n" +
-"#endif\n" +
-"{\n" +
-" INTERNAL_SIZE_T nb; /* padded request size */\n" +
-" char* m; /* memory returned by malloc call */\n" +
-" mchunkptr p; /* corresponding chunk */\n" +
-" char* brk; /* alignment point within p */\n" +
-" mchunkptr newp; /* chunk to return */\n" +
-" INTERNAL_SIZE_T newsize; /* its size */\n" +
-" INTERNAL_SIZE_T leadsize; /* leading space before alignment point */\n" +
-" mchunkptr remainder; /* spare room at end to split off */\n" +
-" CHUNK_SIZE_T remainder_size; /* its size */\n" +
-" INTERNAL_SIZE_T size;\n" +
-"\n" +
-" /* If need less alignment than we give anyway, just relay to malloc */\n" +
-"\n" +
-" if (alignment <= MALLOC_ALIGNMENT) return mALLOc(bytes);\n" +
-"\n" +
-" /* Otherwise, ensure that it is at least a minimum chunk size */\n" +
-"\n" +
-" if (alignment < MINSIZE) alignment = MINSIZE;\n" +
-"\n" +
-" /* Make sure alignment is power of 2 (in case MINSIZE is not). */\n" +
-" if ((alignment & (alignment - 1)) != 0) {\n" +
-" size_t a = MALLOC_ALIGNMENT * 2;\n" +
-" while ((CHUNK_SIZE_T)a < (CHUNK_SIZE_T)alignment) a <<= 1;\n" +
-" alignment = a;\n" +
-" }\n" +
-"\n" +
-" checked_request2size(bytes, nb);\n" +
-"\n" +
-" /*\n" +
-" Strategy: find a spot within that chunk that meets the alignment\n" +
-" request, and then possibly free the leading and trailing space.\n" +
-" */\n" +
-"\n" +
-"\n" +
-" /* Call malloc with worst case padding to hit alignment. */\n" +
-"\n" +
-" m = (char*)(mALLOc(nb + alignment + MINSIZE));\n" +
-"\n" +
-" if (m == 0) return 0; /* propagate failure */\n" +
-"\n" +
-" p = mem2chunk(m);\n" +
-"\n" +
-" if ((((PTR_UINT)(m)) % alignment) != 0) { /* misaligned */\n" +
-"\n" +
-" /*\n" +
-" Find an aligned spot inside chunk. Since we need to give back\n" +
-" leading space in a chunk of at least MINSIZE, if the first\n" +
-" calculation places us at a spot with less than MINSIZE leader,\n" +
-" we can move to the next aligned spot -- we've allocated enough\n" +
-" total room so that this is always possible.\n" +
-" */\n" +
-"\n" +
-" brk = (char*)mem2chunk((PTR_UINT)(((PTR_UINT)(m + alignment - 1)) &\n" +
-" -((signed long) alignment)));\n" +
-" if ((CHUNK_SIZE_T)(brk - (char*)(p)) < MINSIZE)\n" +
-" brk += alignment;\n" +
-"\n" +
-" newp = (mchunkptr)brk;\n" +
-" leadsize = brk - (char*)(p);\n" +
-" newsize = chunksize(p) - leadsize;\n" +
-"\n" +
-" /* For mmapped chunks, just adjust offset */\n" +
-" if (chunk_is_mmapped(p)) {\n" +
-" newp->prev_size = p->prev_size + leadsize;\n" +
-" set_head(newp, newsize|IS_MMAPPED);\n" +
-" return chunk2mem(newp);\n" +
-" }\n" +
-"\n" +
-" /* Otherwise, give back leader, use the rest */\n" +
-" set_head(newp, newsize | PREV_INUSE);\n" +
-" set_inuse_bit_at_offset(newp, newsize);\n" +
-" set_head_size(p, leadsize);\n" +
-" fREe(chunk2mem(p));\n" +
-" p = newp;\n" +
-"\n" +
-" assert (newsize >= nb &&\n" +
-" (((PTR_UINT)(chunk2mem(p))) % alignment) == 0);\n" +
-" }\n" +
-"\n" +
-" /* Also give back spare room at the end */\n" +
-" if (!chunk_is_mmapped(p)) {\n" +
-" size = chunksize(p);\n" +
-" if ((CHUNK_SIZE_T)(size) > (CHUNK_SIZE_T)(nb + MINSIZE)) {\n" +
-" remainder_size = size - nb;\n" +
-" remainder = chunk_at_offset(p, nb);\n" +
-" set_head(remainder, remainder_size | PREV_INUSE);\n" +
-" set_head_size(p, nb);\n" +
-" fREe(chunk2mem(remainder));\n" +
-" }\n" +
-" }\n" +
-"\n" +
-" check_inuse_chunk(p);\n" +
-" return chunk2mem(p);\n" +
-"}\n" +
-"\n" +
-"/*\n" +
-" ------------------------------ calloc ------------------------------\n" +
-"*/\n" +
-"\n" +
-"#if __STD_C\n" +
-"Void_t* cALLOc(size_t n_elements, size_t elem_size)\n" +
-"#else\n" +
-"Void_t* cALLOc(n_elements, elem_size) size_t n_elements; size_t elem_size;\n" +
-"#endif\n" +
-"{\n" +
-" mchunkptr p;\n" +
-" CHUNK_SIZE_T clearsize;\n" +
-" CHUNK_SIZE_T nclears;\n" +
-" INTERNAL_SIZE_T* d;\n" +
-"\n") +
-(
-" Void_t* mem = mALLOc(n_elements * elem_size);\n" +
-"\n" +
-" if (mem != 0) {\n" +
-" p = mem2chunk(mem);\n" +
-"\n" +
-" if (!chunk_is_mmapped(p))\n" +
-" {\n" +
-" /*\n" +
-" Unroll clear of <= 36 bytes (72 if 8byte sizes)\n" +
-" We know that contents have an odd number of\n" +
-" INTERNAL_SIZE_T-sized words; minimally 3.\n" +
-" */\n" +
-"\n" +
-" d = (INTERNAL_SIZE_T*)mem;\n" +
-" clearsize = chunksize(p) - SIZE_SZ;\n" +
-" nclears = clearsize / sizeof(INTERNAL_SIZE_T);\n" +
-" assert(nclears >= 3);\n" +
-"\n" +
-" if (nclears > 9)\n" +
-" MALLOC_ZERO(d, clearsize);\n" +
-"\n" +
-" else {\n" +
-" *(d+0) = 0;\n" +
-" *(d+1) = 0;\n" +
-" *(d+2) = 0;\n" +
-" if (nclears > 4) {\n" +
-" *(d+3) = 0;\n" +
-" *(d+4) = 0;\n" +
-" if (nclears > 6) {\n" +
-" *(d+5) = 0;\n" +
-" *(d+6) = 0;\n" +
-" if (nclears > 8) {\n" +
-" *(d+7) = 0;\n" +
-" *(d+8) = 0;\n" +
-" }\n" +
-" }\n" +
-" }\n" +
-" }\n" +
-" }\n" +
-"#if ! MMAP_CLEARS\n" +
-" else\n" +
-" {\n" +
-" d = (INTERNAL_SIZE_T*)mem;\n" +
-" /*\n" +
-" Note the additional SIZE_SZ\n" +
-" */\n" +
-" clearsize = chunksize(p) - 2*SIZE_SZ;\n" +
-" MALLOC_ZERO(d, clearsize);\n" +
-" }\n" +
-"#endif\n" +
-" }\n" +
-" return mem;\n" +
-"}\n" +
-"\n" +
-"/*\n" +
-" ------------------------------ cfree ------------------------------\n" +
-"*/\n" +
-"\n" +
-"#if __STD_C\n" +
-"void cFREe(Void_t *mem)\n" +
-"#else\n" +
-"void cFREe(mem) Void_t *mem;\n" +
-"#endif\n" +
-"{\n" +
-" fREe(mem);\n" +
-"}\n" +
-"\n" +
-"/*\n" +
-" ------------------------- independent_calloc -------------------------\n" +
-"*/\n" +
-"\n" +
-"#if __STD_C\n" +
-"Void_t** iCALLOc(size_t n_elements, size_t elem_size, Void_t* chunks[])\n" +
-"#else\n" +
-"Void_t** iCALLOc(n_elements, elem_size, chunks) size_t n_elements; size_t elem_size; Void_t* chunks[];\n" +
-"#endif\n" +
-"{\n" +
-" size_t sz = elem_size; /* serves as 1-element array */\n" +
-" /* opts arg of 3 means all elements are same size, and should be cleared */\n" +
-" return iALLOc(n_elements, &sz, 3, chunks);\n" +
-"}\n" +
-"\n" +
-"/*\n" +
-" ------------------------- independent_comalloc -------------------------\n" +
-"*/\n" +
-"\n" +
-"#if __STD_C\n" +
-"Void_t** iCOMALLOc(size_t n_elements, size_t sizes[], Void_t* chunks[])\n" +
-"#else\n" +
-"Void_t** iCOMALLOc(n_elements, sizes, chunks) size_t n_elements; size_t sizes[]; Void_t* chunks[];\n" +
-"#endif\n" +
-"{\n" +
-" return iALLOc(n_elements, sizes, 0, chunks);\n" +
-"}\n" +
-"\n" +
-"\n" +
-"/*\n" +
-" ------------------------------ ialloc ------------------------------\n" +
-" ialloc provides common support for independent_X routines, handling all of\n" +
-" the combinations that can result.\n" +
-"\n" +
-" The opts arg has:\n" +
-" bit 0 set if all elements are same size (using sizes[0])\n" +
-" bit 1 set if elements should be zeroed\n" +
-"*/\n" +
-"\n" +
-"\n" +
-"#if __STD_C\n" +
-"static Void_t** iALLOc(size_t n_elements,\n" +
-" size_t* sizes,\n" +
-" int opts,\n" +
-" Void_t* chunks[])\n" +
-"#else\n" +
-"static Void_t** iALLOc(n_elements, sizes, opts, chunks) size_t n_elements; size_t* sizes; int opts; Void_t* chunks[];\n" +
-"#endif\n" +
-"{\n" +
-" mstate av = get_malloc_state();\n" +
-" INTERNAL_SIZE_T element_size; /* chunksize of each element, if all same */\n" +
-" INTERNAL_SIZE_T contents_size; /* total size of elements */\n" +
-" INTERNAL_SIZE_T array_size; /* request size of pointer array */\n" +
-" Void_t* mem; /* malloced aggregate space */\n" +
-" mchunkptr p; /* corresponding chunk */\n" +
-" INTERNAL_SIZE_T remainder_size; /* remaining bytes while splitting */\n" +
-" Void_t** marray; /* either \"chunks\" or malloced ptr array */\n" +
-" mchunkptr array_chunk; /* chunk for malloced ptr array */\n" +
-" int mmx; /* to disable mmap */\n" +
-" INTERNAL_SIZE_T size;\n" +
-" size_t i;\n" +
-"\n" +
-" /* Ensure initialization */\n" +
-" if (av->max_fast == 0) malloc_consolidate(av);\n" +
-"\n" +
-" /* compute array length, if needed */\n" +
-" if (chunks != 0) {\n" +
-" if (n_elements == 0)\n" +
-" return chunks; /* nothing to do */\n" +
-" marray = chunks;\n" +
-" array_size = 0;\n" +
-" }\n" +
-" else {\n" +
-" /* if empty req, must still return chunk representing empty array */\n" +
-" if (n_elements == 0)\n" +
-" return (Void_t**) mALLOc(0);\n" +
-" marray = 0;\n" +
-" array_size = request2size(n_elements * (sizeof(Void_t*)));\n" +
-" }\n" +
-"\n" +
-" /* compute total element size */\n" +
-" if (opts & 0x1) { /* all-same-size */\n" +
-" element_size = request2size(*sizes);\n" +
-" contents_size = n_elements * element_size;\n" +
-" }\n" +
-" else { /* add up all the sizes */\n" +
-" element_size = 0;\n" +
-" contents_size = 0;\n" +
-" for (i = 0; i != n_elements; ++i)\n" +
-" contents_size += request2size(sizes[i]);\n" +
-" }\n" +
-"\n") +
-(
-" /* subtract out alignment bytes from total to minimize overallocation */\n" +
-" size = contents_size + array_size - MALLOC_ALIGN_MASK;\n" +
-"\n" +
-" /*\n" +
-" Allocate the aggregate chunk.\n" +
-" But first disable mmap so malloc won't use it, since\n" +
-" we would not be able to later free/realloc space internal\n" +
-" to a segregated mmap region.\n" +
-" */\n" +
-" mmx = av->n_mmaps_max; /* disable mmap */\n" +
-" av->n_mmaps_max = 0;\n" +
-" mem = mALLOc(size);\n" +
-" av->n_mmaps_max = mmx; /* reset mmap */\n" +
-" if (mem == 0)\n" +
-" return 0;\n" +
-"\n" +
-" p = mem2chunk(mem);\n" +
-" assert(!chunk_is_mmapped(p));\n" +
-" remainder_size = chunksize(p);\n" +
-"\n" +
-" if (opts & 0x2) { /* optionally clear the elements */\n" +
-" MALLOC_ZERO(mem, remainder_size - SIZE_SZ - array_size);\n" +
-" }\n" +
-"\n" +
-" /* If not provided, allocate the pointer array as final part of chunk */\n" +
-" if (marray == 0) {\n" +
-" array_chunk = chunk_at_offset(p, contents_size);\n" +
-" marray = (Void_t**) (chunk2mem(array_chunk));\n" +
-" set_head(array_chunk, (remainder_size - contents_size) | PREV_INUSE);\n" +
-" remainder_size = contents_size;\n" +
-" }\n" +
-"\n" +
-" /* split out elements */\n" +
-" for (i = 0; ; ++i) {\n" +
-" marray[i] = chunk2mem(p);\n" +
-" if (i != n_elements-1) {\n" +
-" if (element_size != 0)\n" +
-" size = element_size;\n" +
-" else\n" +
-" size = request2size(sizes[i]);\n" +
-" remainder_size -= size;\n" +
-" set_head(p, size | PREV_INUSE);\n" +
-" p = chunk_at_offset(p, size);\n" +
-" }\n" +
-" else { /* the final element absorbs any overallocation slop */\n" +
-" set_head(p, remainder_size | PREV_INUSE);\n" +
-" break;\n" +
-" }\n" +
-" }\n" +
-"\n" +
-"#if DEBUG\n" +
-" if (marray != chunks) {\n" +
-" /* final element must have exactly exhausted chunk */\n" +
-" if (element_size != 0)\n" +
-" assert(remainder_size == element_size);\n" +
-" else\n" +
-" assert(remainder_size == request2size(sizes[i]));\n" +
-" check_inuse_chunk(mem2chunk(marray));\n" +
-" }\n" +
-"\n" +
-" for (i = 0; i != n_elements; ++i)\n" +
-" check_inuse_chunk(mem2chunk(marray[i]));\n" +
-"#endif\n" +
-"\n" +
-" return marray;\n" +
-"}\n" +
-"\n" +
-"\n" +
-"/*\n" +
-" ------------------------------ valloc ------------------------------\n" +
-"*/\n" +
-"\n" +
-"#if __STD_C\n" +
-"Void_t* vALLOc(size_t bytes)\n" +
-"#else\n" +
-"Void_t* vALLOc(bytes) size_t bytes;\n" +
-"#endif\n" +
-"{\n" +
-" /* Ensure initialization */\n" +
-" mstate av = get_malloc_state();\n" +
-" if (av->max_fast == 0) malloc_consolidate(av);\n" +
-" return mEMALIGn(av->pagesize, bytes);\n" +
-"}\n" +
-"\n" +
-"/*\n" +
-" ------------------------------ pvalloc ------------------------------\n" +
-"*/\n" +
-"\n" +
-"\n" +
-"#if __STD_C\n" +
-"Void_t* pVALLOc(size_t bytes)\n" +
-"#else\n" +
-"Void_t* pVALLOc(bytes) size_t bytes;\n" +
-"#endif\n" +
-"{\n" +
-" mstate av = get_malloc_state();\n" +
-" size_t pagesz;\n" +
-"\n" +
-" /* Ensure initialization */\n" +
-" if (av->max_fast == 0) malloc_consolidate(av);\n" +
-" pagesz = av->pagesize;\n" +
-" return mEMALIGn(pagesz, (bytes + pagesz - 1) & ~(pagesz - 1));\n" +
-"}\n" +
-"\n" +
-"\n" +
-"/*\n" +
-" ------------------------------ malloc_trim ------------------------------\n" +
-"*/\n" +
-"\n" +
-"#if __STD_C\n" +
-"int mTRIm(size_t pad)\n" +
-"#else\n" +
-"int mTRIm(pad) size_t pad;\n" +
-"#endif\n" +
-"{\n" +
-" mstate av = get_malloc_state();\n" +
-" /* Ensure initialization/consolidation */\n" +
-" malloc_consolidate(av);\n" +
-"\n" +
-"#ifndef MORECORE_CANNOT_TRIM\n" +
-" return sYSTRIm(pad, av);\n" +
-"#else\n" +
-" return 0;\n" +
-"#endif\n" +
-"}\n" +
-"\n" +
-"\n" +
-"/*\n" +
-" ------------------------- malloc_usable_size -------------------------\n" +
-"*/\n" +
-"\n" +
-"#if __STD_C\n" +
-"size_t mUSABLe(Void_t* mem)\n" +
-"#else\n" +
-"size_t mUSABLe(mem) Void_t* mem;\n" +
-"#endif\n" +
-"{\n" +
-" mchunkptr p;\n" +
-" if (mem != 0) {\n" +
-" p = mem2chunk(mem);\n" +
-" if (chunk_is_mmapped(p))\n" +
-" return chunksize(p) - 2*SIZE_SZ;\n" +
-" else if (inuse(p))\n" +
-" return chunksize(p) - SIZE_SZ;\n" +
-" }\n" +
-" return 0;\n" +
-"}\n" +
-"\n" +
-"/*\n" +
-" ------------------------------ mallinfo ------------------------------\n" +
-"*/\n" +
-"\n") +
-(
-"struct mallinfo mALLINFo()\n" +
-"{\n" +
-" mstate av = get_malloc_state();\n" +
-" struct mallinfo mi;\n" +
-" unsigned int i;\n" +
-" mbinptr b;\n" +
-" mchunkptr p;\n" +
-" INTERNAL_SIZE_T avail;\n" +
-" INTERNAL_SIZE_T fastavail;\n" +
-" int nblocks;\n" +
-" int nfastblocks;\n" +
-"\n" +
-" /* Ensure initialization */\n" +
-" if (av->top == 0) malloc_consolidate(av);\n" +
-"\n" +
-" check_malloc_state();\n" +
-"\n" +
-" /* Account for top */\n" +
-" avail = chunksize(av->top);\n" +
-" nblocks = 1; /* top always exists */\n" +
-"\n" +
-" /* traverse fastbins */\n" +
-" nfastblocks = 0;\n" +
-" fastavail = 0;\n" +
-"\n" +
-" for (i = 0; i < NFASTBINS; ++i) {\n" +
-" for (p = av->fastbins[i]; p != 0; p = p->fd) {\n" +
-" ++nfastblocks;\n" +
-" fastavail += chunksize(p);\n" +
-" }\n" +
-" }\n" +
-"\n" +
-" avail += fastavail;\n" +
-"\n" +
-" /* traverse regular bins */\n" +
-" for (i = 1; i < NBINS; ++i) {\n" +
-" b = bin_at(av, i);\n" +
-" for (p = last(b); p != b; p = p->bk) {\n" +
-" ++nblocks;\n" +
-" avail += chunksize(p);\n" +
-" }\n" +
-" }\n" +
-"\n" +
-" mi.smblks = nfastblocks;\n" +
-" mi.ordblks = nblocks;\n" +
-" mi.fordblks = avail;\n" +
-" mi.uordblks = av->sbrked_mem - avail;\n" +
-" mi.arena = av->sbrked_mem;\n" +
-" mi.hblks = av->n_mmaps;\n" +
-" mi.hblkhd = av->mmapped_mem;\n" +
-" mi.fsmblks = fastavail;\n" +
-" mi.keepcost = chunksize(av->top);\n" +
-" mi.usmblks = av->max_total_mem;\n" +
-" return mi;\n" +
-"}\n" +
-"\n" +
-"/*\n" +
-" ------------------------------ malloc_stats ------------------------------\n" +
-"*/\n" +
-"\n" +
-"void mSTATs()\n" +
-"{\n" +
-" struct mallinfo mi = mALLINFo();\n" +
-"\n" +
-"#ifdef WIN32\n" +
-" {\n" +
-" CHUNK_SIZE_T free, reserved, committed;\n" +
-" vminfo (&free, &reserved, &committed);\n" +
-" fprintf(stderr, \"free bytes = %10lu\\n\",\n" +
-" free);\n" +
-" fprintf(stderr, \"reserved bytes = %10lu\\n\",\n" +
-" reserved);\n" +
-" fprintf(stderr, \"committed bytes = %10lu\\n\",\n" +
-" committed);\n" +
-" }\n" +
-"#endif\n" +
-"\n" +
-"\n" +
-" fprintf(stderr, \"max system bytes = %10lu\\n\",\n" +
-" (CHUNK_SIZE_T)(mi.usmblks));\n" +
-" fprintf(stderr, \"system bytes = %10lu\\n\",\n" +
-" (CHUNK_SIZE_T)(mi.arena + mi.hblkhd));\n" +
-" fprintf(stderr, \"in use bytes = %10lu\\n\",\n" +
-" (CHUNK_SIZE_T)(mi.uordblks + mi.hblkhd));\n" +
-"\n" +
-"#ifdef WIN32\n" +
-" {\n" +
-" CHUNK_SIZE_T kernel, user;\n" +
-" if (cpuinfo (TRUE, &kernel, &user)) {\n" +
-" fprintf(stderr, \"kernel ms = %10lu\\n\",\n" +
-" kernel);\n" +
-" fprintf(stderr, \"user ms = %10lu\\n\",\n" +
-" user);\n" +
-" }\n" +
-" }\n" +
-"#endif\n" +
-"}\n" +
-"\n" +
-"\n" +
-"/*\n" +
-" ------------------------------ mallopt ------------------------------\n" +
-"*/\n" +
-"\n" +
-"#if __STD_C\n" +
-"int mALLOPt(int param_number, int value)\n" +
-"#else\n" +
-"int mALLOPt(param_number, value) int param_number; int value;\n" +
-"#endif\n" +
-"{\n" +
-" mstate av = get_malloc_state();\n" +
-" /* Ensure initialization/consolidation */\n" +
-" malloc_consolidate(av);\n" +
-"\n" +
-" switch(param_number) {\n" +
-" case M_MXFAST:\n" +
-" if (value >= 0 && value <= MAX_FAST_SIZE) {\n" +
-" set_max_fast(av, value);\n" +
-" return 1;\n" +
-" }\n" +
-" else\n" +
-" return 0;\n" +
-"\n" +
-" case M_TRIM_THRESHOLD:\n" +
-" av->trim_threshold = value;\n" +
-" return 1;\n" +
-"\n" +
-" case M_TOP_PAD:\n" +
-" av->top_pad = value;\n" +
-" return 1;\n" +
-"\n" +
-" case M_MMAP_THRESHOLD:\n" +
-" av->mmap_threshold = value;\n" +
-" return 1;\n" +
-"\n" +
-" case M_MMAP_MAX:\n" +
-"#if !HAVE_MMAP\n" +
-" if (value != 0)\n" +
-" return 0;\n" +
-"#endif\n" +
-" av->n_mmaps_max = value;\n" +
-" return 1;\n" +
-"\n" +
-" default:\n" +
-" return 0;\n" +
-" }\n" +
-"}\n" +
-"\n" +
-"\n" +
-"/*\n" +
-" -------------------- Alternative MORECORE functions --------------------\n" +
-"*/\n" +
-"\n") +
-(
-"\n" +
-"/*\n" +
-" General Requirements for MORECORE.\n" +
-"\n" +
-" The MORECORE function must have the following properties:\n" +
-"\n" +
-" If MORECORE_CONTIGUOUS is false:\n" +
-"\n" +
-" * MORECORE must allocate in multiples of pagesize. It will\n" +
-" only be called with arguments that are multiples of pagesize.\n" +
-"\n" +
-" * MORECORE(0) must return an address that is at least\n" +
-" MALLOC_ALIGNMENT aligned. (Page-aligning always suffices.)\n" +
-"\n" +
-" else (i.e. If MORECORE_CONTIGUOUS is true):\n" +
-"\n" +
-" * Consecutive calls to MORECORE with positive arguments\n" +
-" return increasing addresses, indicating that space has been\n" +
-" contiguously extended.\n" +
-"\n" +
-" * MORECORE need not allocate in multiples of pagesize.\n" +
-" Calls to MORECORE need not have args of multiples of pagesize.\n" +
-"\n" +
-" * MORECORE need not page-align.\n" +
-"\n" +
-" In either case:\n" +
-"\n" +
-" * MORECORE may allocate more memory than requested. (Or even less,\n" +
-" but this will generally result in a malloc failure.)\n" +
-"\n" +
-" * MORECORE must not allocate memory when given argument zero, but\n" +
-" instead return one past the end address of memory from previous\n" +
-" nonzero call. This malloc does NOT call MORECORE(0)\n" +
-" until at least one call with positive arguments is made, so\n" +
-" the initial value returned is not important.\n" +
-"\n" +
-" * Even though consecutive calls to MORECORE need not return contiguous\n" +
-" addresses, it must be OK for malloc'ed chunks to span multiple\n" +
-" regions in those cases where they do happen to be contiguous.\n" +
-"\n" +
-" * MORECORE need not handle negative arguments -- it may instead\n" +
-" just return MORECORE_FAILURE when given negative arguments.\n" +
-" Negative arguments are always multiples of pagesize. MORECORE\n" +
-" must not misinterpret negative args as large positive unsigned\n" +
-" args. You can suppress all such calls from even occurring by defining\n" +
-" MORECORE_CANNOT_TRIM,\n" +
-"\n" +
-" There is some variation across systems about the type of the\n" +
-" argument to sbrk/MORECORE. If size_t is unsigned, then it cannot\n" +
-" actually be size_t, because sbrk supports negative args, so it is\n" +
-" normally the signed type of the same width as size_t (sometimes\n" +
-" declared as \"intptr_t\", and sometimes \"ptrdiff_t\"). It doesn't much\n" +
-" matter though. Internally, we use \"long\" as arguments, which should\n" +
-" work across all reasonable possibilities.\n" +
-"\n" +
-" Additionally, if MORECORE ever returns failure for a positive\n" +
-" request, and HAVE_MMAP is true, then mmap is used as a noncontiguous\n" +
-" system allocator. This is a useful backup strategy for systems with\n" +
-" holes in address spaces -- in this case sbrk cannot contiguously\n" +
-" expand the heap, but mmap may be able to map noncontiguous space.\n" +
-"\n" +
-" If you'd like mmap to ALWAYS be used, you can define MORECORE to be\n" +
-" a function that always returns MORECORE_FAILURE.\n" +
-"\n" +
-" Malloc only has limited ability to detect failures of MORECORE\n" +
-" to supply contiguous space when it says it can. In particular,\n" +
-" multithreaded programs that do not use locks may result in\n" +
-" rece conditions across calls to MORECORE that result in gaps\n" +
-" that cannot be detected as such, and subsequent corruption.\n" +
-"\n" +
-" If you are using this malloc with something other than sbrk (or its\n" +
-" emulation) to supply memory regions, you probably want to set\n" +
-" MORECORE_CONTIGUOUS as false. As an example, here is a custom\n" +
-" allocator kindly contributed for pre-OSX macOS. It uses virtually\n" +
-" but not necessarily physically contiguous non-paged memory (locked\n" +
-" in, present and won't get swapped out). You can use it by\n" +
-" uncommenting this section, adding some #includes, and setting up the\n" +
-" appropriate defines above:\n" +
-"\n" +
-" #define MORECORE osMoreCore\n" +
-" #define MORECORE_CONTIGUOUS 0\n" +
-"\n" +
-" There is also a shutdown routine that should somehow be called for\n" +
-" cleanup upon program exit.\n" +
-"\n" +
-" #define MAX_POOL_ENTRIES 100\n" +
-" #define MINIMUM_MORECORE_SIZE (64 * 1024)\n" +
-" static int next_os_pool;\n" +
-" void *our_os_pools[MAX_POOL_ENTRIES];\n" +
-"\n" +
-" void *osMoreCore(int size)\n" +
-" {\n" +
-" void *ptr = 0;\n" +
-" static void *sbrk_top = 0;\n" +
-"\n" +
-" if (size > 0)\n" +
-" {\n" +
-" if (size < MINIMUM_MORECORE_SIZE)\n" +
-" size = MINIMUM_MORECORE_SIZE;\n" +
-" if (CurrentExecutionLevel() == kTaskLevel)\n" +
-" ptr = PoolAllocateResident(size + RM_PAGE_SIZE, 0);\n" +
-" if (ptr == 0)\n" +
-" {\n" +
-" return (void *) MORECORE_FAILURE;\n" +
-" }\n" +
-" // save ptrs so they can be freed during cleanup\n" +
-" our_os_pools[next_os_pool] = ptr;\n" +
-" next_os_pool++;\n" +
-" ptr = (void *) ((((CHUNK_SIZE_T) ptr) + RM_PAGE_MASK) & ~RM_PAGE_MASK);\n" +
-" sbrk_top = (char *) ptr + size;\n" +
-" return ptr;\n" +
-" }\n" +
-" else if (size < 0)\n" +
-" {\n" +
-" // we don't currently support shrink behavior\n" +
-" return (void *) MORECORE_FAILURE;\n" +
-" }\n" +
-" else\n" +
-" {\n" +
-" return sbrk_top;\n" +
-" }\n" +
-" }\n" +
-"\n" +
-" // cleanup any allocated memory pools\n" +
-" // called as last thing before shutting down driver\n" +
-"\n" +
-" void osCleanupMem(void)\n" +
-" {\n" +
-" void **ptr;\n" +
-"\n" +
-" for (ptr = our_os_pools; ptr < &our_os_pools[MAX_POOL_ENTRIES]; ptr++)\n" +
-" if (*ptr)\n" +
-" {\n" +
-" PoolDeallocate(*ptr);\n" +
-" *ptr = 0;\n" +
-" }\n" +
-" }\n" +
-"\n" +
-"*/\n" +
-"\n" +
-"\n" +
-"/*\n" +
-" --------------------------------------------------------------\n" +
-"\n" +
-" Emulation of sbrk for win32.\n" +
-" Donated by J. Walter <Walter@GeNeSys-e.de>.\n" +
-" For additional information about this code, and malloc on Win32, see\n" +
-" http://www.genesys-e.de/jwalter/\n" +
-"*/\n" +
-"\n" +
-"\n") +
-(
-"#ifdef WIN32\n" +
-"\n" +
-"#ifdef _DEBUG\n" +
-"/* #define TRACE */\n" +
-"#endif\n" +
-"\n" +
-"/* Support for USE_MALLOC_LOCK */\n" +
-"#ifdef USE_MALLOC_LOCK\n" +
-"\n" +
-"/* Wait for spin lock */\n" +
-"static int slwait (int *sl) {\n" +
-" while (InterlockedCompareExchange ((void **) sl, (void *) 1, (void *) 0) != 0)\n" +
-" Sleep (0);\n" +
-" return 0;\n" +
-"}\n" +
-"\n" +
-"/* Release spin lock */\n" +
-"static int slrelease (int *sl) {\n" +
-" InterlockedExchange (sl, 0);\n" +
-" return 0;\n" +
-"}\n" +
-"\n" +
-"#ifdef NEEDED\n" +
-"/* Spin lock for emulation code */\n" +
-"static int g_sl;\n" +
-"#endif\n" +
-"\n" +
-"#endif /* USE_MALLOC_LOCK */\n" +
-"\n" +
-"/* getpagesize for windows */\n" +
-"static long getpagesize (void) {\n" +
-" static long g_pagesize = 0;\n" +
-" if (! g_pagesize) {\n" +
-" SYSTEM_INFO system_info;\n" +
-" GetSystemInfo (&system_info);\n" +
-" g_pagesize = system_info.dwPageSize;\n" +
-" }\n" +
-" return g_pagesize;\n" +
-"}\n" +
-"static long getregionsize (void) {\n" +
-" static long g_regionsize = 0;\n" +
-" if (! g_regionsize) {\n" +
-" SYSTEM_INFO system_info;\n" +
-" GetSystemInfo (&system_info);\n" +
-" g_regionsize = system_info.dwAllocationGranularity;\n" +
-" }\n" +
-" return g_regionsize;\n" +
-"}\n" +
-"\n" +
-"/* A region list entry */\n" +
-"typedef struct _region_list_entry {\n" +
-" void *top_allocated;\n" +
-" void *top_committed;\n" +
-" void *top_reserved;\n" +
-" long reserve_size;\n" +
-" struct _region_list_entry *previous;\n" +
-"} region_list_entry;\n" +
-"\n" +
-"/* Allocate and link a region entry in the region list */\n" +
-"static int region_list_append (region_list_entry **last, void *base_reserved, long reserve_size) {\n" +
-" region_list_entry *next = HeapAlloc (GetProcessHeap (), 0, sizeof (region_list_entry));\n" +
-" if (! next)\n" +
-" return FALSE;\n" +
-" next->top_allocated = (char *) base_reserved;\n" +
-" next->top_committed = (char *) base_reserved;\n" +
-" next->top_reserved = (char *) base_reserved + reserve_size;\n" +
-" next->reserve_size = reserve_size;\n" +
-" next->previous = *last;\n" +
-" *last = next;\n" +
-" return TRUE;\n" +
-"}\n" +
-"/* Free and unlink the last region entry from the region list */\n" +
-"static int region_list_remove (region_list_entry **last) {\n" +
-" region_list_entry *previous = (*last)->previous;\n" +
-" if (! HeapFree (GetProcessHeap (), sizeof (region_list_entry), *last))\n" +
-" return FALSE;\n" +
-" *last = previous;\n" +
-" return TRUE;\n" +
-"}\n" +
-"\n" +
-"#define CEIL(size,to) (((size)+(to)-1)&~((to)-1))\n" +
-"#define FLOOR(size,to) ((size)&~((to)-1))\n" +
-"\n" +
-"#define SBRK_SCALE 0\n" +
-"/* #define SBRK_SCALE 1 */\n" +
-"/* #define SBRK_SCALE 2 */\n" +
-"/* #define SBRK_SCALE 4 */\n" +
-"\n" +
-"/* sbrk for windows */\n" +
-"static void *sbrk (long size) {\n" +
-" static long g_pagesize, g_my_pagesize;\n" +
-" static long g_regionsize, g_my_regionsize;\n" +
-" static region_list_entry *g_last;\n" +
-" void *result = (void *) MORECORE_FAILURE;\n" +
-"#ifdef TRACE\n" +
-" printf (\"sbrk %d\\n\", size);\n" +
-"#endif\n" +
-"#if defined (USE_MALLOC_LOCK) && defined (NEEDED)\n" +
-" /* Wait for spin lock */\n" +
-" slwait (&g_sl);\n" +
-"#endif\n" +
-" /* First time initialization */\n" +
-" if (! g_pagesize) {\n" +
-" g_pagesize = getpagesize ();\n" +
-" g_my_pagesize = g_pagesize << SBRK_SCALE;\n" +
-" }\n" +
-" if (! g_regionsize) {\n" +
-" g_regionsize = getregionsize ();\n" +
-" g_my_regionsize = g_regionsize << SBRK_SCALE;\n" +
-" }\n" +
-" if (! g_last) {\n" +
-" if (! region_list_append (&g_last, 0, 0))\n" +
-" goto sbrk_exit;\n" +
-" }\n" +
-" /* Assert invariants */\n" +
-" assert (g_last);\n" +
-" assert ((char *) g_last->top_reserved - g_last->reserve_size <= (char *) g_last->top_allocated &&\n" +
-" g_last->top_allocated <= g_last->top_committed);\n" +
-" assert ((char *) g_last->top_reserved - g_last->reserve_size <= (char *) g_last->top_committed &&\n" +
-" g_last->top_committed <= g_last->top_reserved &&\n" +
-" (unsigned) g_last->top_committed % g_pagesize == 0);\n" +
-" assert ((unsigned) g_last->top_reserved % g_regionsize == 0);\n" +
-" assert ((unsigned) g_last->reserve_size % g_regionsize == 0);\n" +
-" /* Allocation requested? */\n" +
-" if (size >= 0) {\n" +
-" /* Allocation size is the requested size */\n" +
-" long allocate_size = size;\n" +
-" /* Compute the size to commit */\n" +
-" long to_commit = (char *) g_last->top_allocated + allocate_size - (char *) g_last->top_committed;\n" +
-" /* Do we reach the commit limit? */\n" +
-" if (to_commit > 0) {\n" +
-" /* Round size to commit */\n" +
-" long commit_size = CEIL (to_commit, g_my_pagesize);\n" +
-" /* Compute the size to reserve */\n" +
-" long to_reserve = (char *) g_last->top_committed + commit_size - (char *) g_last->top_reserved;\n" +
-" /* Do we reach the reserve limit? */\n" +
-" if (to_reserve > 0) {\n" +
-" /* Compute the remaining size to commit in the current region */\n" +
-" long remaining_commit_size = (char *) g_last->top_reserved - (char *) g_last->top_committed;\n" +
-" if (remaining_commit_size > 0) {\n" +
-" /* Assert preconditions */\n" +
-" assert ((unsigned) g_last->top_committed % g_pagesize == 0);\n" +
-" assert (0 < remaining_commit_size && remaining_commit_size % g_pagesize == 0); {\n" +
-" /* Commit this */\n" +
-" void *base_committed = VirtualAlloc (g_last->top_committed, remaining_commit_size,\n" +
-" MEM_COMMIT, PAGE_READWRITE);\n" +
-" /* Check returned pointer for consistency */\n" +
-" if (base_committed != g_last->top_committed)\n" +
-" goto sbrk_exit;\n") +
-(
-" /* Assert postconditions */\n" +
-" assert ((unsigned) base_committed % g_pagesize == 0);\n" +
-"#ifdef TRACE\n" +
-" printf (\"Commit %p %d\\n\", base_committed, remaining_commit_size);\n" +
-"#endif\n" +
-" /* Adjust the regions commit top */\n" +
-" g_last->top_committed = (char *) base_committed + remaining_commit_size;\n" +
-" }\n" +
-" } {\n" +
-" /* Now we are going to search and reserve. */\n" +
-" int contiguous = -1;\n" +
-" int found = FALSE;\n" +
-" MEMORY_BASIC_INFORMATION memory_info;\n" +
-" void *base_reserved;\n" +
-" long reserve_size;\n" +
-" do {\n" +
-" /* Assume contiguous memory */\n" +
-" contiguous = TRUE;\n" +
-" /* Round size to reserve */\n" +
-" reserve_size = CEIL (to_reserve, g_my_regionsize);\n" +
-" /* Start with the current region's top */\n" +
-" memory_info.BaseAddress = g_last->top_reserved;\n" +
-" /* Assert preconditions */\n" +
-" assert ((unsigned) memory_info.BaseAddress % g_pagesize == 0);\n" +
-" assert (0 < reserve_size && reserve_size % g_regionsize == 0);\n" +
-" while (VirtualQuery (memory_info.BaseAddress, &memory_info, sizeof (memory_info))) {\n" +
-" /* Assert postconditions */\n" +
-" assert ((unsigned) memory_info.BaseAddress % g_pagesize == 0);\n" +
-"#ifdef TRACE\n" +
-" printf (\"Query %p %d %s\\n\", memory_info.BaseAddress, memory_info.RegionSize,\n" +
-" memory_info.State == MEM_FREE ? \"FREE\":\n" +
-" (memory_info.State == MEM_RESERVE ? \"RESERVED\":\n" +
-" (memory_info.State == MEM_COMMIT ? \"COMMITTED\": \"?\")));\n" +
-"#endif\n" +
-" /* Region is free, well aligned and big enough: we are done */\n" +
-" if (memory_info.State == MEM_FREE &&\n" +
-" (unsigned) memory_info.BaseAddress % g_regionsize == 0 &&\n" +
-" memory_info.RegionSize >= (unsigned) reserve_size) {\n" +
-" found = TRUE;\n" +
-" break;\n" +
-" }\n" +
-" /* From now on we can't get contiguous memory! */\n" +
-" contiguous = FALSE;\n" +
-" /* Recompute size to reserve */\n" +
-" reserve_size = CEIL (allocate_size, g_my_regionsize);\n" +
-" memory_info.BaseAddress = (char *) memory_info.BaseAddress + memory_info.RegionSize;\n" +
-" /* Assert preconditions */\n" +
-" assert ((unsigned) memory_info.BaseAddress % g_pagesize == 0);\n" +
-" assert (0 < reserve_size && reserve_size % g_regionsize == 0);\n" +
-" }\n" +
-" /* Search failed? */\n" +
-" if (! found)\n" +
-" goto sbrk_exit;\n" +
-" /* Assert preconditions */\n" +
-" assert ((unsigned) memory_info.BaseAddress % g_regionsize == 0);\n" +
-" assert (0 < reserve_size && reserve_size % g_regionsize == 0);\n" +
-" /* Try to reserve this */\n" +
-" base_reserved = VirtualAlloc (memory_info.BaseAddress, reserve_size,\n" +
-" MEM_RESERVE, PAGE_NOACCESS);\n" +
-" if (! base_reserved) {\n" +
-" int rc = GetLastError ();\n" +
-" if (rc != ERROR_INVALID_ADDRESS)\n" +
-" goto sbrk_exit;\n" +
-" }\n" +
-" /* A null pointer signals (hopefully) a race condition with another thread. */\n" +
-" /* In this case, we try again. */\n" +
-" } while (! base_reserved);\n" +
-" /* Check returned pointer for consistency */\n" +
-" if (memory_info.BaseAddress && base_reserved != memory_info.BaseAddress)\n" +
-" goto sbrk_exit;\n" +
-" /* Assert postconditions */\n" +
-" assert ((unsigned) base_reserved % g_regionsize == 0);\n" +
-"#ifdef TRACE\n" +
-" printf (\"Reserve %p %d\\n\", base_reserved, reserve_size);\n" +
-"#endif\n" +
-" /* Did we get contiguous memory? */\n" +
-" if (contiguous) {\n" +
-" long start_size = (char *) g_last->top_committed - (char *) g_last->top_allocated;\n" +
-" /* Adjust allocation size */\n" +
-" allocate_size -= start_size;\n" +
-" /* Adjust the regions allocation top */\n" +
-" g_last->top_allocated = g_last->top_committed;\n" +
-" /* Recompute the size to commit */\n" +
-" to_commit = (char *) g_last->top_allocated + allocate_size - (char *) g_last->top_committed;\n" +
-" /* Round size to commit */\n" +
-" commit_size = CEIL (to_commit, g_my_pagesize);\n" +
-" }\n" +
-" /* Append the new region to the list */\n" +
-" if (! region_list_append (&g_last, base_reserved, reserve_size))\n" +
-" goto sbrk_exit;\n" +
-" /* Didn't we get contiguous memory? */\n" +
-" if (! contiguous) {\n" +
-" /* Recompute the size to commit */\n" +
-" to_commit = (char *) g_last->top_allocated + allocate_size - (char *) g_last->top_committed;\n" +
-" /* Round size to commit */\n" +
-" commit_size = CEIL (to_commit, g_my_pagesize);\n" +
-" }\n" +
-" }\n" +
-" }\n" +
-" /* Assert preconditions */\n" +
-" assert ((unsigned) g_last->top_committed % g_pagesize == 0);\n" +
-" assert (0 < commit_size && commit_size % g_pagesize == 0); {\n" +
-" /* Commit this */\n" +
-" void *base_committed = VirtualAlloc (g_last->top_committed, commit_size,\n" +
-" MEM_COMMIT, PAGE_READWRITE);\n" +
-" /* Check returned pointer for consistency */\n" +
-" if (base_committed != g_last->top_committed)\n" +
-" goto sbrk_exit;\n" +
-" /* Assert postconditions */\n" +
-" assert ((unsigned) base_committed % g_pagesize == 0);\n" +
-"#ifdef TRACE\n" +
-" printf (\"Commit %p %d\\n\", base_committed, commit_size);\n" +
-"#endif\n" +
-" /* Adjust the regions commit top */\n" +
-" g_last->top_committed = (char *) base_committed + commit_size;\n" +
-" }\n" +
-" }\n" +
-" /* Adjust the regions allocation top */\n" +
-" g_last->top_allocated = (char *) g_last->top_allocated + allocate_size;\n" +
-" result = (char *) g_last->top_allocated - size;\n" +
-" /* Deallocation requested? */\n" +
-" } else if (size < 0) {\n" +
-" long deallocate_size = - size;\n" +
-" /* As long as we have a region to release */\n" +
-" while ((char *) g_last->top_allocated - deallocate_size < (char *) g_last->top_reserved - g_last->reserve_size) {\n" +
-" /* Get the size to release */\n" +
-" long release_size = g_last->reserve_size;\n" +
-" /* Get the base address */\n" +
-" void *base_reserved = (char *) g_last->top_reserved - release_size;\n" +
-" /* Assert preconditions */\n" +
-" assert ((unsigned) base_reserved % g_regionsize == 0);\n" +
-" assert (0 < release_size && release_size % g_regionsize == 0); {\n" +
-" /* Release this */\n" +
-" int rc = VirtualFree (base_reserved, 0,\n" +
-" MEM_RELEASE);\n" +
-" /* Check returned code for consistency */\n" +
-" if (! rc)\n" +
-" goto sbrk_exit;\n" +
-"#ifdef TRACE\n" +
-" printf (\"Release %p %d\\n\", base_reserved, release_size);\n" +
-"#endif\n" +
-" }\n" +
-" /* Adjust deallocation size */\n" +
-" deallocate_size -= (char *) g_last->top_allocated - (char *) base_reserved;\n" +
-" /* Remove the old region from the list */\n" +
-" if (! region_list_remove (&g_last))\n" +
-" goto sbrk_exit;\n" +
-" } {\n") +
-(
-" /* Compute the size to decommit */\n" +
-" long to_decommit = (char *) g_last->top_committed - ((char *) g_last->top_allocated - deallocate_size);\n" +
-" if (to_decommit >= g_my_pagesize) {\n" +
-" /* Compute the size to decommit */\n" +
-" long decommit_size = FLOOR (to_decommit, g_my_pagesize);\n" +
-" /* Compute the base address */\n" +
-" void *base_committed = (char *) g_last->top_committed - decommit_size;\n" +
-" /* Assert preconditions */\n" +
-" assert ((unsigned) base_committed % g_pagesize == 0);\n" +
-" assert (0 < decommit_size && decommit_size % g_pagesize == 0); {\n" +
-" /* Decommit this */\n" +
-" int rc = VirtualFree ((char *) base_committed, decommit_size,\n" +
-" MEM_DECOMMIT);\n" +
-" /* Check returned code for consistency */\n" +
-" if (! rc)\n" +
-" goto sbrk_exit;\n" +
-"#ifdef TRACE\n" +
-" printf (\"Decommit %p %d\\n\", base_committed, decommit_size);\n" +
-"#endif\n" +
-" }\n" +
-" /* Adjust deallocation size and regions commit and allocate top */\n" +
-" deallocate_size -= (char *) g_last->top_allocated - (char *) base_committed;\n" +
-" g_last->top_committed = base_committed;\n" +
-" g_last->top_allocated = base_committed;\n" +
-" }\n" +
-" }\n" +
-" /* Adjust regions allocate top */\n" +
-" g_last->top_allocated = (char *) g_last->top_allocated - deallocate_size;\n" +
-" /* Check for underflow */\n" +
-" if ((char *) g_last->top_reserved - g_last->reserve_size > (char *) g_last->top_allocated ||\n" +
-" g_last->top_allocated > g_last->top_committed) {\n" +
-" /* Adjust regions allocate top */\n" +
-" g_last->top_allocated = (char *) g_last->top_reserved - g_last->reserve_size;\n" +
-" goto sbrk_exit;\n" +
-" }\n" +
-" result = g_last->top_allocated;\n" +
-" }\n" +
-" /* Assert invariants */\n" +
-" assert (g_last);\n" +
-" assert ((char *) g_last->top_reserved - g_last->reserve_size <= (char *) g_last->top_allocated &&\n" +
-" g_last->top_allocated <= g_last->top_committed);\n" +
-" assert ((char *) g_last->top_reserved - g_last->reserve_size <= (char *) g_last->top_committed &&\n" +
-" g_last->top_committed <= g_last->top_reserved &&\n" +
-" (unsigned) g_last->top_committed % g_pagesize == 0);\n" +
-" assert ((unsigned) g_last->top_reserved % g_regionsize == 0);\n" +
-" assert ((unsigned) g_last->reserve_size % g_regionsize == 0);\n" +
-"\n" +
-"sbrk_exit:\n" +
-"#if defined (USE_MALLOC_LOCK) && defined (NEEDED)\n" +
-" /* Release spin lock */\n" +
-" slrelease (&g_sl);\n" +
-"#endif\n" +
-" return result;\n" +
-"}\n" +
-"\n" +
-"/* mmap for windows */\n" +
-"static void *mmap (void *ptr, long size, long prot, long type, long handle, long arg) {\n" +
-" static long g_pagesize;\n" +
-" static long g_regionsize;\n" +
-"#ifdef TRACE\n" +
-" printf (\"mmap %d\\n\", size);\n" +
-"#endif\n" +
-"#if defined (USE_MALLOC_LOCK) && defined (NEEDED)\n" +
-" /* Wait for spin lock */\n" +
-" slwait (&g_sl);\n" +
-"#endif\n" +
-" /* First time initialization */\n" +
-" if (! g_pagesize)\n" +
-" g_pagesize = getpagesize ();\n" +
-" if (! g_regionsize)\n" +
-" g_regionsize = getregionsize ();\n" +
-" /* Assert preconditions */\n" +
-" assert ((unsigned) ptr % g_regionsize == 0);\n" +
-" assert (size % g_pagesize == 0);\n" +
-" /* Allocate this */\n" +
-" ptr = VirtualAlloc (ptr, size,\n" +
-" MEM_RESERVE | MEM_COMMIT | MEM_TOP_DOWN, PAGE_READWRITE);\n" +
-" if (! ptr) {\n" +
-" ptr = (void *) MORECORE_FAILURE;\n" +
-" goto mmap_exit;\n" +
-" }\n" +
-" /* Assert postconditions */\n" +
-" assert ((unsigned) ptr % g_regionsize == 0);\n" +
-"#ifdef TRACE\n" +
-" printf (\"Commit %p %d\\n\", ptr, size);\n" +
-"#endif\n" +
-"mmap_exit:\n" +
-"#if defined (USE_MALLOC_LOCK) && defined (NEEDED)\n" +
-" /* Release spin lock */\n" +
-" slrelease (&g_sl);\n" +
-"#endif\n" +
-" return ptr;\n" +
-"}\n" +
-"\n" +
-"/* munmap for windows */\n" +
-"static long munmap (void *ptr, long size) {\n" +
-" static long g_pagesize;\n" +
-" static long g_regionsize;\n" +
-" int rc = MUNMAP_FAILURE;\n" +
-"#ifdef TRACE\n" +
-" printf (\"munmap %p %d\\n\", ptr, size);\n" +
-"#endif\n" +
-"#if defined (USE_MALLOC_LOCK) && defined (NEEDED)\n" +
-" /* Wait for spin lock */\n" +
-" slwait (&g_sl);\n" +
-"#endif\n" +
-" /* First time initialization */\n" +
-" if (! g_pagesize)\n" +
-" g_pagesize = getpagesize ();\n" +
-" if (! g_regionsize)\n" +
-" g_regionsize = getregionsize ();\n" +
-" /* Assert preconditions */\n" +
-" assert ((unsigned) ptr % g_regionsize == 0);\n" +
-" assert (size % g_pagesize == 0);\n" +
-" /* Free this */\n" +
-" if (! VirtualFree (ptr, 0,\n" +
-" MEM_RELEASE))\n" +
-" goto munmap_exit;\n" +
-" rc = 0;\n" +
-"#ifdef TRACE\n" +
-" printf (\"Release %p %d\\n\", ptr, size);\n" +
-"#endif\n" +
-"munmap_exit:\n" +
-"#if defined (USE_MALLOC_LOCK) && defined (NEEDED)\n" +
-" /* Release spin lock */\n" +
-" slrelease (&g_sl);\n" +
-"#endif\n" +
-" return rc;\n" +
-"}\n" +
-"\n" +
-"static void vminfo (CHUNK_SIZE_T *free, CHUNK_SIZE_T *reserved, CHUNK_SIZE_T *committed) {\n" +
-" MEMORY_BASIC_INFORMATION memory_info;\n" +
-" memory_info.BaseAddress = 0;\n" +
-" *free = *reserved = *committed = 0;\n" +
-" while (VirtualQuery (memory_info.BaseAddress, &memory_info, sizeof (memory_info))) {\n" +
-" switch (memory_info.State) {\n" +
-" case MEM_FREE:\n" +
-" *free += memory_info.RegionSize;\n" +
-" break;\n" +
-" case MEM_RESERVE:\n" +
-" *reserved += memory_info.RegionSize;\n" +
-" break;\n" +
-" case MEM_COMMIT:\n" +
-" *committed += memory_info.RegionSize;\n" +
-" break;\n" +
-" }\n" +
-" memory_info.BaseAddress = (char *) memory_info.BaseAddress + memory_info.RegionSize;\n" +
-" }\n" +
-"}\n" +
-"\n") +
-(
-"static int cpuinfo (int whole, CHUNK_SIZE_T *kernel, CHUNK_SIZE_T *user) {\n" +
-" if (whole) {\n" +
-" __int64 creation64, exit64, kernel64, user64;\n" +
-" int rc = GetProcessTimes (GetCurrentProcess (),\n" +
-" (FILETIME *) &creation64,\n" +
-" (FILETIME *) &exit64,\n" +
-" (FILETIME *) &kernel64,\n" +
-" (FILETIME *) &user64);\n" +
-" if (! rc) {\n" +
-" *kernel = 0;\n" +
-" *user = 0;\n" +
-" return FALSE;\n" +
-" }\n" +
-" *kernel = (CHUNK_SIZE_T) (kernel64 / 10000);\n" +
-" *user = (CHUNK_SIZE_T) (user64 / 10000);\n" +
-" return TRUE;\n" +
-" } else {\n" +
-" __int64 creation64, exit64, kernel64, user64;\n" +
-" int rc = GetThreadTimes (GetCurrentThread (),\n" +
-" (FILETIME *) &creation64,\n" +
-" (FILETIME *) &exit64,\n" +
-" (FILETIME *) &kernel64,\n" +
-" (FILETIME *) &user64);\n" +
-" if (! rc) {\n" +
-" *kernel = 0;\n" +
-" *user = 0;\n" +
-" return FALSE;\n" +
-" }\n" +
-" *kernel = (CHUNK_SIZE_T) (kernel64 / 10000);\n" +
-" *user = (CHUNK_SIZE_T) (user64 / 10000);\n" +
-" return TRUE;\n" +
-" }\n" +
-"}\n" +
-"\n" +
-"#endif /* WIN32 */\n" +
-"\n" +
-"#endif // NDEBUG\n" +
-"\n" +
-"}; /* end of namespace KJS */\n");
-
-
-var thai =
-"ประเทศไทย\n" +
-"จากวิกิพีเดีย สารานุกรมเสรี\n" +
-"ไปที่: ป้ายบอกทาง, ค้นหา\n" +
-" \n" +
-"\n" +
-"เนื่องจากบทความนี้ถูกล็อกเนื่องจาก ถูกก่อกวนหลายครั้งติดต่อกัน การแก้ไขจากผู้ที่ไม่ได้ลงทะเบียน หรือผู้ใช้ใหม่ไม่สามารถทำได้ขณะนี้\n" +
-"คุณสามารถแสดงความเห็น เสนอข้อความ หรือขอให้ยกเลิกการป้องกันได้ในหน้าอภิปราย หรือลงทะเบียนโดยสร้างชื่อผู้ใช้\n" +
-" \n" +
-"วิกิพีเดีย:บทความคัดสรร\n" +
-"\n" +
-" \"ไทย\" เปลี่ยนทางมาที่นี่ สำหรับความหมายอื่น ดูที่ ไทย (แก้ความกำกวม)\n" +
-"\n" +
-"ราชอาณาจักรไทย\n" +
-"ธงชาติไทย ตราแผ่นดินของไทย\n" +
-"ธงชาติ ตราแผ่นดิน\n" +
-"คำขวัญ: ชาติ ศาสนา พระมหากษัตริย์\n" +
-"เพลงชาติ: เพลงชาติไทย\n" +
-"แผนที่แสดงที่ตั้งของประเทศไทย\n" +
-"เมืองหลวง กรุงเทพมหานคร\n" +
-"13°44′N 100°30′E\n" +
-"เมืองใหญ่สุด กรุงเทพมหานคร\n" +
-"ภาษาราชการ ภาษาไทย\n" +
-"รัฐบาล เผด็จการทหาร\n" +
-" - ประมุขแห่งรัฐ พระบาทสมเด็จพระปรมินทรมหาภูมิพลอดุลยเดช\n" +
-" - นายกรัฐมนตรี พลเอกสุรยุทธ์ จุลานนท์\n" +
-" - ประธานคณะมนตรีความมั่นคงแห่งชาติ พลอากาศเอก ชลิต พุกผาสุข (รักษาการ)\n" +
-"สถาปนาเป็น\n" +
-"• สุโขทัย\n" +
-"• กรุงศรีอยุธยา\n" +
-"• กรุงธนบุรี\n" +
-"• กรุงรัตนโกสินทร์ \n" +
-"พ.ศ. 1781–1911\n" +
-"1893–2310\n" +
-"2310–6 เมษายน 2325\n" +
-"6 เมษายน 2325–ปัจจุบัน\n" +
-"เนื้อที่\n" +
-" - ทั้งหมด\n" +
-" \n" +
-" - พื้นน้ำ (%) \n" +
-"514,000 กม.² (อันดับที่ 49)\n" +
-"198,457 ไมล์² \n" +
-"0.4%\n" +
-"ประชากร\n" +
-" - 2548 ประมาณ\n" +
-" - 2543\n" +
-" - ความหนาแน่น \n" +
-"62,418,054 (อันดับที่ 19)\n" +
-"60,916,441\n" +
-"122/กม² (อันดับที่ 59)\n" +
-"{{{population_densitymi²}}}/ไมล์² \n" +
-"GDP (PPP)\n" +
-" - รวม\n" +
-" - ต่อประชากร 2548 ค่าประมาณ\n" +
-"$559.5 billion (อันดับที่ 21)\n" +
-"$8,542 (อันดับที่ 72)\n" +
-"HDI (2546) 0.778 (อันดับที่ 73) – ปานกลาง\n" +
-"สกุลเงิน บาท (฿) (THB)\n" +
-"เขตเวลา (UTC+7)\n" +
-"รหัสอินเทอร์เน็ต .th\n" +
-"รหัสโทรศัพท์ +66\n" +
-"\n" +
-"ประเทศไทย หรือ ราชอาณาจักรไทย ตั้งอยู่ในเอเชียตะวันออกเฉียงใต้ มีพรมแดนทางทิศตะวันออกติดลาวและกัมพูชา ทิศใต้ติดอ่าวไทยและมาเลเซีย ทิศตะวันตกติดทะเลอันดามันและพม่า และทิศเหนือติดพม่าและลาว โดยมีแม่น้ำโขงกั้นเป็นบางช่วง\n" +
-"\n" +
-"ประเทศไทยเป็นสมาชิกของสหประชาชาติ เอเปค และ อาเซียน มีศูนย์รวมการปกครองอยู่ที่ กรุงเทพมหานคร ซึ่งเป็นเมืองหลวงของประเทศ\n" +
-"\n" +
-"พระบาทสมเด็จพระปรมินทรมหาภูมิพลอดุลยเดช ทรงเป็นพระมหากษัตริย์ที่ครองราชย์ ในฐานะประมุขแห่งรัฐ ยาวนานที่สุดในโลกถึง 60 ปี\n" +
-"\n" +
-"\n" +
-"เนื้อหา\n" +
-"[ซ่อน]\n" +
-"\n" +
-" * 1 ประวัติศาสตร์\n" +
-" o 1.1 ชื่อประเทศไทย\n" +
-" * 2 การเมืองการปกครอง\n" +
-" o 2.1 เขตการปกครอง\n" +
-" o 2.2 เมืองใหญ่ / จังหวัดใหญ่\n" +
-" * 3 ภูมิอากาศและภูมิประเทศ\n" +
-" o 3.1 ภูมิประเทศ\n" +
-" o 3.2 ภูมิอากาศ\n" +
-" * 4 เศรษฐกิจ\n" +
-" o 4.1 เศรษฐกิจหลักของประเทศ\n" +
-" o 4.2 การคมนาคม\n" +
-" o 4.3 การสื่อสาร\n" +
-" * 5 สังคม\n" +
-" o 5.1 ชนชาติ\n" +
-" o 5.2 ศาสนา\n" +
-" o 5.3 การศึกษา\n" +
-" o 5.4 ภาษา\n" +
-" o 5.5 ศิลปะและวัฒนธรรม\n" +
-" o 5.6 กีฬา\n" +
-" o 5.7 วันสำคัญ\n" +
-" * 6 ลำดับที่สำคัญ\n" +
-" * 7 อ้างอิง\n" +
-" * 8 แหล่งข้อมูลอื่น\n" +
-"\n" +
-"ประวัติศาสตร์\n" +
-"\n" +
-" ดูบทความหลักที่ ประวัติศาสตร์ไทย\n" +
-"\n" +
-"ประเทศไทยมีประวัติศาสตร์ยาวนานมากนับเริ่มแต่การล่มสลายของราชอาณาจักรขอม-จักรวรรดินครวัต นครธม เมื่อต้นๆ คริสต์ศตวรรษที่ 13 [1]โดยมีความสืบเนื่องและคาบเกี่ยวระหว่างอาณาจักรโบราณหลายแห่ง เช่น อาณาจักรทวารวดี ศรีวิชัย ละโว้ เขมร ฯลฯ โดยเริ่มมีความชัดเจนในอาณาจักรสุโขทัยตั้งแต่ปี พ.ศ. 1781 อาณาจักรล้านนาทางภาคเหนือ กระทั่งเสื่อมอำนาจลงในช่วงต้นพุทธศตวรรษที่ 19 แล้วความรุ่งเรืองได้ปรากฏขึ้นในอาณาจักรทางใต้ ณ กรุงศรีอยุธยา โดยยังมีอาณาเขตที่ไม่แน่ชัด ครั้นเมื่อเสียกรุงศรีอยุธยาเป็นครั้งที่สองในปี พ.ศ. 2310 พระเจ้าตากสินจึงได้ย้ายราชธานีมาอยู่ที่กรุงธนบุรี\n" +
-"\n" +
-"ภายหลังสิ้นสุดอำนาจและมีการสถาปนากรุงรัตนโกสินทร์เมื่อ พ.ศ. 2325 อาณาจักรสยามเริ่มมีความเป็นปึกแผ่น มีการผนวกดินแดนบางส่วนของอาณาจักรล้านช้าง ครั้นในรัชกาลที่ 5 ได้ผนวกดินแดนของเมืองเชียงใหม่ หรืออาณาจักรล้านนาส่วนล่าง (ส่วนบนอยู่บริเวณเชียงตุง) เป็นการรวบรวมดินแดนครั้งใหญ่ครั้งสุดท้าย วันที่ 24 มิถุนายน พ.ศ. 2475 ได้เปลี่ยนแปลงการปกครองมาเป็นระบอบประชาธิปไตยแต่ก็ต้องรออีกถึง 41 ปี กว่าจะได้นายกรัฐมนตรีที่มาจากการเลือกตั้งครั้งแรกเมื่อ พ.ศ. 2516 หลังจากเหตุการณ์ 14 ตุลา หลังจากนั้นมีเหตุการณ์เรียกร้องประชาธิปไตยอีกสองครั้งคือ เหตุการณ์ 6 ตุลา และ เหตุการณ์พฤษภาทมิฬ ล่าสุดได้เกิดรัฐประหารขึ้นอีกครั้งในเดือนกันยายน พ.ศ. 2549 ซึ่งเป็นการยึดอำนาจจากรัฐบาลรักษาการ หลังจากได้มีการยุบสภาผู้แทนราษฎรเมื่อเดือนกุมภาพันธ์ 2549\n" +
-"\n" +
-"ชื่อประเทศไทย\n" +
-"\n" +
-"คำว่า ไทย มีความหมายในภาษาไทยว่า อิสรภาพ เสรีภาพ หรืออีกความหมายคือ ใหญ่ ยิ่งใหญ่ เพราะการจะเป็นอิสระได้จะต้องมีกำลังที่มากกว่า แข็งแกร่งกว่า เพื่อป้องกันการรุกรานจากข้าศึก เดิมประเทศไทยใช้ชื่อ สยาม (Siam) แต่ได้เปลี่ยนมาเป็นชื่อปัจจุบัน เมื่อปี พ.ศ. 2482 ตามประกาศรัฐนิยม ฉบับที่ 1 ของรัฐบาลจอมพล ป. พิบูลสงคราม ให้ใช้ชื่อ ประเทศ ประชาชน และสัญชาติว่า \"ไทย\" โดยในช่วงต่อมาได้เปลี่ยนกลับเป็นสยามเมื่อปี พ.ศ. 2488 ในช่วงเปลี่ยนนายกรัฐมนตรี แต่ในที่สุดได้เปลี่ยนกลับมาชื่อไทยอีกครั้งในปี พ.ศ. 2491 ซึ่งเป็นช่วงที่จอมพล ป. พิบูลสงครามเป็นนายกรัฐมนตรีในสมัยต่อมา ช่วงแรกเปลี่ยนเฉพาะชื่อภาษาไทยเท่านั้น ชื่อภาษาฝรั่งเศส[2]และอังกฤษคงยังเป็น \"Siam\" อยู่จนกระทั่งเดือนเมษายน พ.ศ. 2491 จึงได้เปลี่ยนชื่อภาษาฝรั่งเศสเป็น \"Thaïlande\" และภาษาอังกฤษเป็น \"Thailand\" อย่างในปัจจุบัน อย่างไรก็ตาม ชื่อ สยาม ยังเป็นที่รู้จักแพร่หลายทั้งในและต่างประเทศ.\n" +
-"\n" +
-"การเมืองการปกครอง\n" +
-"\n" +
-"เดิมประเทศไทยมีการปกครองระบอบสมบูรณาญาสิทธิราชย์ จนกระทั่งวันที่ 24 มิถุนายน พ.ศ. 2475 คณะราษฎรได้ทำการเปลี่ยนแปลงการปกครองเป็นราชาธิปไตยภายใต้รัฐธรรมนูญ โดยแบ่งอำนาจเป็นสามฝ่าย ได้แก่ ฝ่ายบริหาร ฝ่ายนิติบัญญัติและฝ่ายตุลาการ โดยฝ่ายบริหารจะมีนายกรัฐมนตรีเป็นหัวหน้ารัฐบาลซึ่งมากจากการแต่งตั้ง ฝ่ายนิติบัญญัติ ได้แก่ สภานิติบัญญัติแห่งชาติ และฝ่ายตุลาการ คือ ศาลยุติธรรม ศาลรัฐธรรมนูญ และศาลปกครอง\n" +
-"\n" +
-"ปัจจุบัน ประเทศไทยอยู่ภายใต้การปกครองระบอบเผด็จการทหาร โดยมีรัฐบาลชั่วคราวซึ่งแต่งตั้งโดยคณะมนตรีความมั่นคงแห่งชาติ หลังเกิดเหตุการณ์รัฐประหารเมื่อคืนวันที่ 19 กันยายน พ.ศ. 2549\n" +
-"\n" +
-"เขตการปกครอง\n" +
-"\n" +
-"ประเทศไทยแบ่งเขตการบริหารออกเป็น การบริหารราชการส่วนภูมิภาค ได้แก่จังหวัด 75 จังหวัด นอกจากนั้นยังมีการปกครองส่วนท้องถิ่น ได้แก่ กรุงเทพมหานคร เมืองพัทยา องค์การบริหารส่วนจังหวัด เทศบาล และองค์การบริหารส่วนตำบล ส่วน'สุขาภิบาล'นั้นถูกยกฐานะไปเป็นเทศบาลทั้งหมดในปี พ.ศ. 2542\n" +
-"\n" +
-" รายชื่อจังหวัดทั้งหมดดูเพิ่มเติมที่ จังหวัดในประเทศไทย\n" +
-"\n" +
-"เมืองใหญ่ / จังหวัดใหญ่\n" +
-"ประเทศไทย จังหวัดในประเทศไทย\n" +
-"ประเทศไทย จังหวัดในประเทศไทย\n" +
-"กรุงเทพมหานครริมแม่น้ำเจ้าพระยา\n" +
-"กรุงเทพมหานครริมแม่น้ำเจ้าพระยา\n" +
-"\n" +
-"นอกจากกรุงเทพมหานครแล้ว มีหลายเมืองที่มีประชากรอยู่เป็นจำนวนมาก (ข้อมูลเดือนตุลาคม พ.ศ. 2549 ของ กรมการปกครอง กระทรวงมหาดไทย ) โดยเรียงลำดับตามตารางด้านล่าง โดยดูจากจำนวนประชากรในเขตเทศบาลและกรุงเทพมหานคร ซึ่งจะแสดงประชากรในเขตเมืองได้อย่างแท้จริง\n" +
-"อันดับ เมือง / เทศบาล จำนวนประชากร จังหวัด\n" +
-"1 กรุงเทพมหานคร 6,121,672 กรุงเทพมหานคร\n" +
-"2 นนทบุรี 266,941 นนทบุรี\n" +
-"3 ปากเกร็ด 167,138 นนทบุรี\n" +
-"4 หาดใหญ่ 157,678 สงขลา\n" +
-"5 เชียงใหม่ 150,805 เชียงใหม่\n" +
-"6 นครราชสีมา 149,938 นครราชสีมา\n" +
-"7 อุดรธานี 142,670 อุดรธานี\n" +
-"8 สุราษฎร์ธานี 124,665 สุราษฎร์ธานี\n" +
-"9 ขอนแก่น 121,283 ขอนแก่น\n" +
-"10 นครศรีธรรมราช 106,293 นครศรีธรรมราช\n" +
-"\n" +
-"นอกจากนี้ยังมีการเรียงลำดับประชากรตามจังหวัดได้ดังต่อไปนี้\n" +
-"อันดับ จังหวัด จำนวนประชากร ภาค\n" +
-"1 กรุงเทพมหานคร 6,121,672 ภาคกลาง\n" +
-"2 นครราชสีมา 2,546,763 ภาคตะวันออกเฉียงเหนือ\n" +
-"3 อุบลราชธานี 1,774,808 ภาคตะวันออกเฉียงเหนือ\n" +
-"4 ขอนแก่น 1,747,542 ภาคตะวันออกเฉียงเหนือ\n" +
-"5 เชียงใหม่ 1,650,009 ภาคเหนือ\n" +
-"6 บุรีรัมย์ 1,531,430 ภาคตะวันออกเฉียงเหนือ\n" +
-"7 อุดรธานี 1,523,802 ภาคตะวันออกเฉียงเหนือ\n" +
-"8 นครศรีธรรมราช 1,504,420 ภาคใต้\n" +
-"9 ศรีสะเกษ 1,443,975 ภาคตะวันออกเฉียงเหนือ\n" +
-"10 สุรินทร์ 1,374,700 ภาคตะวันออกเฉียงเหนือ\n" +
-"\n" +
-" ดูข้อมูลทั้งหมดที่ เมืองใหญ่ของประเทศไทยเรียงตามจำนวนประชากร และ จังหวัดในประเทศไทยเรียงตามจำนวนประชากร\n" +
-"\n" +
-"ภูมิอากาศและภูมิประเทศ\n" +
-"\n" +
-"ภูมิประเทศ\n" +
-"ประเทศไทย สภาพทางภูมิศาสตร์\n" +
-"ประเทศไทย สภาพทางภูมิศาสตร์\n" +
-"\n" +
-"ประเทศไทยมีสภาพทางภูมิศาสตร์ที่หลากหลาย ภาคเหนือประกอบด้วยเทือกเขาจำนวนมาก จุดที่สูงที่สุด คือ ดอยอินทนนท์ (2,576 เมตร) ในจังหวัดเชียงใหม่ ภาคตะวันออกเฉียงเหนือเป็นที่ราบสูงโคราชติดกับแม่น้ำโขงทางด้านตะวันออก ภาคกลางเป็นที่ราบลุ่มแม่น้ำเจ้าพระยา ซึ่งสายน้ำไหลลงสู่อ่าวไทย ภาคใต้มีจุดที่แคบลง ณ คอคอดกระแล้วขยายใหญ่เป็นคาบสมุทรมลายู\n" +
-"\n" +
-" * เมื่อเปรียบเทียบพื้นที่ของประเทศไทย กับ ประเทศอื่น จะได้ดังนี้\n" +
-" o ประเทศพม่า ใหญ่กว่าประเทศไทยประมาณ 1.3 เท่า\n" +
-" o ประเทศอินโดนีเซีย ใหญ่กว่าประมาณ 3.7 เท่า\n" +
-" o ประเทศอินเดีย ใหญ่กว่าประมาณ 6.4 เท่า\n" +
-" o ประเทศจีน และ สหรัฐอเมริกา ใหญ่กว่าประมาณ 19 เท่า\n" +
-" o ประเทศรัสเซีย ใหญ่กว่าประมาณ 33 เท่า\n" +
-" o ขนาดใกล้เคียงกับ ประเทศฝรั่งเศส ประเทศสวีเดน และ ประเทศสเปน\n" +
-"\n" +
-"วันที่ 26 ธันวาคม พ.ศ. 2547 ได้มีเหตุการณ์คลื่นสึนามิเกิดขึ้นก่อความเสียหายในเขตภาคใต้ของประเทศไทย\n" +
-"\n" +
-"ภูมิอากาศ\n" +
-"\n" +
-"ภูมิอากาศของไทยเป็นแบบเขตร้อน อากาศร้อนที่สุดในเดือนเมษายน-พฤษภาคม โดยจะมีฝนตกและเมฆมากจากลมมรสุมตะวันตกเฉียงใต้ในช่วงกลางเดือนพฤษภาคม-เดือนตุลาคม ส่วนในเดือนพฤศจิกายนถึงกลางเดือนมีนาคม อากาศแห้ง และหนาวเย็นจากลมมรสุมตะวันออกเฉียงเหนือ ยกเว้นภาคใต้ที่มีอากาศร้อนชื้นตลอดทั้งปี\n" +
-"\n" +
-"เศรษฐกิจ\n" +
-"\n" +
-"เศรษฐกิจหลักของประเทศ\n" +
-"\n" +
-"เกษตรกรรม อุตสาหกรรม การท่องเที่ยว การบริการ และ ทรัพยากรธรรมชาติ ถือเป็นเศรษฐกิจหลักที่ทำรายได้ให้กับคนในประเทศ โดยภาพรวมทางเศรษฐกิจอ้างอิงเมื่อ พ.ศ. 2546 มี GDP 5,930.4 พันล้านบาท ส่งออกมูลค่า 78.1 พันล้านเหรียญสหรัฐ ในขณะที่นำเข้า 74.3 พันล้านเหรียญสหรัฐ[3]\n" +
-"ภาพพันธุ์ข้าวจากกรมวิชาการเกษตร\n" +
-"ภาพพันธุ์ข้าวจากกรมวิชาการเกษตร\n" +
-"ภาพยางพาราจากกรมวิชาการเกษตร\n" +
-"ภาพยางพาราจากกรมวิชาการเกษตร\n" +
-"\n" +
-"ในด้านเกษตรกรรม ข้าว ถือเป็นผลผลิตที่สำคัญที่สุด เป็นผู้ผลิตและส่งออกข้าว เป็นอันดับหนึ่งของโลก ด้วยสัดส่วนการส่งออก ร้อยละ 36 รองลงมาคือ เวียดนาม ร้อยละ 20 อินเดีย ร้อยละ 18 สหรัฐอเมริกา ร้อยละ14 ปากีสถาน ร้อยละ 12 ตามลำดับ [4] พืชผลทางการเกษตรอื่นๆ ได้แก่ ยางพารา ผักและผลไม้ต่างๆ มีการเพาะเลี้ยงปศุสัตว์เช่น วัว สุกร เป็ด ไก่ สัตว์น้ำทั้งปลาน้ำจืด ปลาน้ำเค็มในกระชัง นากุ้ง เลี้ยงหอย รวมถึงการประมงทางทะเล ปี 2549 ไทยมีการส่งออกกุ้งไปสหรัฐฯ 177,717.29 ตัน มูลค่า 45,434.57 ล้านบาท [5]\n" +
-"\n" +
-"อุตสาหกรรมที่สำคัญ ได้แก่ อุตสาหกรรมแปรรูปทางการเกษตร สิ่งทอ อิเล็กทรอนิกส์ รถยนต์ ส่วนทรัพยากรธรรมชาติที่สำคัญเช่น ดีบุก ก๊าซธรรมชาติ จากข้อมูลปี พ.ศ. 2547 มีการผลิตสิ่งทอมูลค่า 211.4 พันล้านบาท แผงวงจรรวม 196.4 พันล้านบาท อาหารทะเลกระป๋อง 36.5 พันล้านบาท สับปะรดกระป๋อง 11.1 พันล้านบาท รถยนต์ส่วนบุคคล 2.99 แสนคัน รถบรรทุก รถกระบะ และอื่นๆ รวม 6.28 แสนคัน จักรยานยนต์ 2.28 ล้านคัน ดีบุก 694 ตัน ก๊าซธรรมชาติ 789 พันล้านลูกบาศก์ฟุต น้ำมันดิบ]] 31.1 ล้านบาร์เรล [6]\n" +
-"เกาะพีพี สถานท่องเที่ยวที่สำคัญแห่งหนึ่งของประเทศ\n" +
-"เกาะพีพี สถานท่องเที่ยวที่สำคัญแห่งหนึ่งของประเทศ\n" +
-"\n" +
-"ส่วนด้านการท่องเที่ยว การบริการและโรงแรม ในปี พ.ศ. 2547 มีนักท่องเที่ยวรวม 11.65 ล้านคน 56.52% มาจากเอเชียตะวันออกและอาเซียน (โดยเฉพาะมาเลเซียคิดเป็น 11.97% ญี่ปุ่น 10.33%) ยุโรป 24.29% ทวีปอเมริกาเหนือและใต้รวมกัน 7.02% [7] สถานที่ท่องเที่ยวที่สำคัญได้แก่ กรุงเทพมหานคร พัทยา ภาคใต้ฝั่งทะเลอันดามัน จังหวัดเชียงใหม่\n" +
-"\n" +
-"การคมนาคม\n" +
-"\n" +
-"ดูบทความหลัก การคมนาคมในประเทศไทย\n" +
-"\n" +
-"การคมนาคมในประเทศไทย ส่วนใหญ่ประกอบด้วย การเดินทางโดยรถยนต์ และ จักรยานยนต์ ทางหลวงสายหลักในประเทศไทย ได้แก่ ถนนพหลโยธิน (ทางหลวงหมายเลข 1) ถนนมิตรภาพ (ทางหลวงหมายเลข 2) ถนนสุขุมวิท (ทางหลวงหมายเลข 3) และถนนเพชรเกษม (ทางหลวงหมายเลข 4) และยังมีทางหลวงพิเศษระหว่างเมือง (มอเตอร์เวย์) ใน 2 เส้นทางคือ มอเตอร์เวย์กรุงเทพฯ-ชลบุรี (ทางหลวงหมายเลข 7) และถนนกาญจนาภิเษก (วงแหวนรอบนอกกรุงเทพมหานคร - ทางหลวงหมายเลข 9) นอกจากนี้ระบบขนส่งมวลชนจะมีการบริการตามเมืองใหญ่ต่างๆ ได้แก่ระบบรถเมล์ และรถไฟ รวมถึงระบบที่เริ่มมีการใช้งาน รถไฟลอยฟ้า และรถไฟใต้ดิน และในหลายพื้นที่จะมีการบริการรถสองแถว รวมถึงรถรับจ้างต่างๆ ได้แก่ แท็กซี่ เมลเครื่อง มอเตอร์ไซค์รับจ้าง และ รถตุ๊กตุ๊ก ในบางพื้นที่ ที่อยู่ริมน้ำจะมีเรือรับจ้าง และแพข้ามฟาก บริการ\n" +
-"รถไฟฟ้าบีทีเอส สถานีอโศก\n" +
-"รถไฟฟ้าบีทีเอส สถานีอโศก\n" +
-"\n" +
-"สำหรับการคมนาคมทางอากาศนั้น ปัจจุบันประเทศไทยได้เปิดใช้ท่าอากาศยานสุวรรณภูมิ ซึ่งเป็นท่าอากาศยานที่มีขนาดตัวอาคารที่ใหญ่ที่สุดในโลก และมีหอบังคับการบินที่สูงที่สุดในโลก ด้วยความสูง 132.2 เมตร ซึ่งรองรับผู้โดยสารได้ 45 ล้านคนต่อปี โดยเปิดอย่างเป็นทางการตั้งแต่วันที่ 29 กันยายน พ.ศ. 2549 ทดแทนท่าอากาศยานนานาชาติกรุงเทพ (ดอนเมือง) ที่เปิดใช้งานมานานถึง 92 ปี\n" +
-"\n" +
-"ส่วนการคมนาคมทางน้ำ ประเทศไทยมีท่าเรือหลักๆ คือ ท่าเรือกรุงเทพ(คลองเตย) และท่าเรือแหลมฉบัง\n" +
-"\n" +
-"การสื่อสาร\n" +
-"\n" +
-" * ระบบโทรศัพท์ในประเทศไทยมีโทรศัพท์พื้นฐาน 7.035 ล้านหมายเลข (2548) และโทรศัพท์มือถือ 27.4 ล้านหมายเลข (2548) [8]\n" +
-" * สถานีวิทยุ: คลื่นเอฟเอ็ม 334 สถานี , คลื่นเอเอ็ม 204 สถานี และ คลื่นสั้น 6 สถานี (2542) โดยมีจำนวนผู้ใช้วิทยุ 13.96 ล้านคน (2540) [8]\n" +
-" * สถานีโทรทัศน์ มี 6 ช่องสถานี (โดยทุกช่องสถานีแม่ข่ายอยู่ในกรุงเทพ) มีสถานีเครือข่ายทั้งหมด 111 สถานี และจำนวนผู้ใช้โทรทัศน์ 15.19 ล้านคน (2540) [8]\n" +
-" * รหัสโดเมนอินเทอร์เน็ตใช้รหัส th\n" +
-"\n" +
-"สังคม\n" +
-"วัดพระศรีรัตนศาสดาราม กรุงเทพมหานคร\n" +
-"วัดพระศรีรัตนศาสดาราม กรุงเทพมหานคร\n" +
-"\n" +
-"ชนชาติ\n" +
-"\n" +
-"ในประเทศไทย ถือได้ว่า มีความหลากหลายทางเชื้อชาติ มีทั้ง ชาวไทย ชาวไทยเชื้อสายลาว ชาวไทยเชื้อสายมอญ ชาวไทยเชื้อสายเขมร รวมไปถึงกลุ่มชาวไทยเชื้อสายจีน ชาวไทยเชื้อสายมลายู ชาวชวา(แขกแพ) ชาวจาม(แขกจาม) ชาวเวียด ไปจนถึงชาวพม่า และชาวไทยภูเขาเผ่าต่างๆ เช่น ชาวกะเหรี่ยง ชาวลีซอ ชาวอ่าข่า ชาวอีก้อ ชาวม้ง ชาวเย้า รวมไปจนถึงชาวส่วย ชาวกูบ ชาวกวย ชาวจะราย ชาวระแดว์ ชาวข่า ชาวขมุ ซึ่งมีในปัจจุบันก็มีความสำคัญมาก ต่อวิถีชีวิต และวัฒนธรรมไทยในปัจจุบัน\n" +
-"\n" +
-"ประชากรชาวไทย 75% ชาวไทยเชื้อสายจีน 14% และอื่นๆ 11% [8]\n" +
-"\n" +
-" ดูเพิ่มที่ ชาวไทย\n" +
-"\n" +
-"ศาสนา\n" +
-"พระพุทธชินราช วัดพระศรีรัตนมหาธาตุวรมหาวิหาร จังหวัดพิษณุโลก\n" +
-"พระพุทธชินราช วัดพระศรีรัตนมหาธาตุวรมหาวิหาร จังหวัดพิษณุโลก\n" +
-"\n" +
-"ประมาณร้อยละ 95 ของประชากรไทยนับถือศาสนาพุทธซึ่งเป็นศาสนาประจำชาติ(โดยพฤตินัย) นิกายเถรวาท ศาสนาอิสลามประมาณร้อยละ 4 (ส่วนใหญ่เป็นชาวไทยทางภาคใต้ตอนล่าง) ศาสนาคริสต์และศาสนาอื่นประมาณร้อยละ 1\n" +
-"\n" +
-" ดูเพิ่มที่ พระพุทธศาสนาในประเทศไทย\n" +
-"\n" +
-"การศึกษา\n" +
-"\n" +
-"ในทางกฎหมาย รัฐบาลจะต้องจัดการศึกษาให้ขั้นพื้นฐานสิบสองปี แต่การศึกษาขั้นบังคับของประเทศไทยในปัจจุบันคือเก้าปี บุคคลทั่วไปจะเริ่มจากระดับชั้นอนุบาล เป็นการเตรียมความพร้อมก่อนการเรียนตามหลักสูตรพื้นฐาน ต่อเนื่องด้วยระดับประถมศึกษาและมัธยมศึกษาตอนต้น หลังจากจบการศึกษาระดับมัธยมต้น สามารถเลือกได้ระหว่างศึกษาต่อสายสามัญ ระดับมัธยมศึกษาตอนปลายเพื่อศึกษาต่อในระดับมหาวิทยาลัย หรือเลือกศึกษาต่อสายวิชาชีพ ในวิทยาลัยเทคนิค หรือพาณิชยการ หรือเลือกศึกษาต่อในสถาบันทางทหารหรือตำรวจ\n" +
-"\n" +
-"โรงเรียนและมหาวิทยาลัยในประเทศไทย แบ่งออกเป็น 2 ประเภทหลักได้แก่ โรงเรียนรัฐบาล และโรงเรียนเอกชน และ มหาวิทยาลัยรัฐบาล และมหาวิทยาลัยเอกชน โดยโรงเรียนรัฐบาลและมหาวิทยาลัยรัฐบาล จะเสียค่าเล่าเรียนน้อยกว่า โรงเรียนเอกชนและมหาวิทยาลัยเอกชน\n" +
-"\n" +
-" ดูเพิ่มที่ รายชื่อสถาบันอุดมศึกษาในประเทศไทย\n" +
-"\n" +
-"ภาษา\n" +
-"\n" +
-" ดูบทความหลักที่ ภาษาในประเทศไทย\n" +
-"\n" +
-"ภาษาไทย ประเทศไทยมีภาษาไทยเป็นภาษาราชการ ภาษาพูดของคนไทยมีมาแต่เมื่อไรยังไม่เป็นที่ทราบแน่ชัด แต่จากการสันนิฐานน่าจะมีมากว่า 4,000 ปีแล้ว ส่วนตัวอักษรนั้นเพิ่งมีการประดิษฐ์ขึ้นอย่างเป็นทางการในสมัยสุโขทัยโดย พ่อขุนรามคำแหงมหาราช ส่วนภาษาอื่นที่มีการใช้อยู่บ้าง เช่น ภาษาอังกฤษ ภาษาจีน เป็นต้น\n" +
-"\n" +
-"ศิลปะและวัฒนธรรม\n" +
-"พระที่นั่งไอศวรรย์ทิพย์อาสน์ พระราชวังบางปะอิน จังหวัดพระนครศรีอยุธยา\n" +
-"พระที่นั่งไอศวรรย์ทิพย์อาสน์ พระราชวังบางปะอิน จังหวัดพระนครศรีอยุธยา\n" +
-"\n" +
-"ศิลปะไทยมีลักษณะเฉพาะตัวค่อนข้างสูง โดยมีความกลมกลืนและคล้ายคลึงกับศิลปวัฒนธรรมเพื่อนบ้านอยู่บ้าง แต่ด้วยการสืบทอดและการสร้างสรรค์ใหม่ ทำให้ศิลปะไทยมีเอกลักษณ์สูง\n" +
-"\n" +
-" * จิตรกรรม งานจิตรกรรมไทยนับว่าเป็นงานศิลปะชั้นสูง ได้รับการสืบทอดมาช้านาน มักปรากฏในงานจิตรกรรมฝาผนัง ตามวัดวาอาราม รวมทั้งในสมุดข่อยโบราณ งานจิตรกรรมไทยยังเกี่ยวข้องกับงานศิลปะแขนงอื่นๆ เช่น งานลงรักปิดทอง ภาพวาดพระบฏ เป็นต้น\n" +
-" * ประติมากรรม เดิมนั้นช่างไทยทำงานประติมากรรมเฉพาะสิ่งศักดิ์สิทธิ์ เช่น พระพุทธรูป เทวรูป โดยมีสกุลช่างต่างๆ นับตั้งแต่ก่อนสมัยสุโขทัย เรียกว่า สกุลช่างเชียงแสน สกุลช่างสุโขทัย อยุธยา และกระทั่งรัตนโกสินทร์ โดยใช้ทองสำริดเป็นวัสดุหลักในงานประติมากรรม เนื่องจากสามารถแกะแบบด้วยขี้ผึ้งและตกแต่งได้ แล้วจึงนำไปหล่อโลหะ เมื่อเทียบกับประติมากรรมศิลาในยุคก่อนนั้น งานสำริดนับว่าอ่อนช้อยงดงามกว่ามาก\n" +
-" * สถาปัตยกรรม สถาปัตยกรรมไทยมีปรากฏให้เห็นในชั้นหลัง เนื่องจากงานสถาปัตยกรรมส่วนใหญ่ชำรุดทรุดโทรมได้ง่าย โดยเฉพาะงานไม้ ไม่ปรากฏร่องรอยสมัยโบราณเลย สถาปัตยกรรมไทยมีให้เห็นอยู่ในรูปของบ้านเรือนไทย โบสถ์ วัด และปราสาทราชวัง ซึ่งล้วนแต่สร้างขึ้นให้เหมาะสมกับสภาพอากาศและการใช้สอยจริง\n" +
-"\n" +
-" ดูเพิ่มที่ ศิลปะไทย\n" +
-"\n" +
-"กีฬา\n" +
-"ราชมังคลากีฬาสถาน การกีฬาแห่งประเทศไทย\n" +
-"ราชมังคลากีฬาสถาน การกีฬาแห่งประเทศไทย\n" +
-"\n" +
-"กีฬาที่นิยมมากที่สุดในประเทศไทยได้แก่ ฟุตบอล โดยในการแข่งขันระหว่างประเทศ ทีมชาติไทยได้เข้าเล่นและได้อันดับสูงสุดในเอเชียนคัพ ได้อันดับ 3 ใน เอเชียนคัพ 1972 กีฬาอื่นที่นิยมเล่นได้แก่ บาสเกตบอล มวย และแบดมินตัน โดยในประเทศไทยมีการจัดฟุตบอลอาชีพ โดยแบ่งแยกตามทีมประจำจังหวัด สำหรับกีฬาไทย ได้แก่ มวยไทย และ ตะกร้อ แม้จะมีความนิยมไม่เท่ากีฬาทั่วไป แต่ยังมีการเล่นโดยทั่วไปรวมถึงการเปิดสอนในโรงเรียน\n" +
-"\n" +
-"ประเทศไทยเป็นตัวแทนจัดงานเอเชียนเกมส์ 4 ครั้ง และซีเกมส์ ทั้งหมด 5 ครั้ง โดยจัดครั้งแรกที่ประเทศไทย\n" +
-"\n" +
-"นักกีฬาไทยที่มีชื่อเสียงมาก ได้แก่\n" +
-"\n" +
-" * นักมวย - เขาทราย แกแล็คซี่, สด จิตรลดา, สามารถ พยัคฆ์อรุณ, สมรักษ์ คำสิงห์\n" +
-" * นักเทนนิส - ภราดร ศรีชาพันธุ์, แทมมารีน ธนสุกาญจน์, ดนัย อุดมโชค\n" +
-" * นักว่ายน้ำ - รัฐพงษ์ ศิริสานนท์(ฉลามนุ้ก), ต่อวัย เสฎฐโสธร, ต่อลาภ เสฎฐโสธร\n" +
-" * นักฟุตบอล - ปิยะพงษ์ ผิวอ่อน, เกียรติศักดิ์ เสนาเมือง\n" +
-" * นักสนุกเกอร์ - ต๋อง ศิษย์ฉ่อย\n" +
-" * นักกรีฑา - เรวดี ศรีท้าว\n" +
-" * นักเทควันโด - เยาวภา บุรพลชัย\n" +
-" * นักยกน้ำหนัก - อุดมพร พลศักดิ์, ปวีณา ทองสุก\n" +
-" * นักกอล์ฟ - ธงชัย ใจดี\n" +
-"\n" +
-"วันสำคัญ\n" +
-"\n" +
-"วันสำคัญในประเทศไทยจะมีจำนวนมากโดยเฉพาะวันที่ไม่ใช่วันหยุดราชการ ซึ่งจะตั้งขึ้นหลังจากมีเหตุการณ์สำคัญเกิดขึ้น โดยวันชาติของประเทศไทยตรงกับวันที่ 5 ธันวาคม เป็น ตามวันพระราชสมภพ ของพระบาทสมเด็จพระเจ้าอยู่หัว ภูมิพลอดุลยเดช\n" +
-"\n" +
-" ดูบทความหลักที่ วันสำคัญในประเทศไทย\n" +
-"\n" +
-"ลำดับที่สำคัญ\n" +
-"\n" +
-" * พระมหากษัตริย์ไทยพระบาทสมเด็จพระปรมินทรมหาภูมิพลอดุลยเดช เป็นพระมหากษัตริย์ที่ครองราชย์ในฐานะประมุขแห่งรัฐที่นานที่สุดในโลก\n" +
-" * กรุงเทพฯ เป็นเมืองหลวงที่มีชื่อยาวที่สุดในโลก (169 ตัวอักษร)\n" +
-" * ดัชนีเศรษฐกิจของประเทศไทย อยู่อันดับที่ 71 จาก 155 เขตเศรษฐกิจ ตาม Index of Economic Freedom\n" +
-" * จังหวัดหนองคายได้รับการจัดอันดับจากนิตยสาร Modern Maturity ของสหรัฐเมื่อ พ.ศ. 2544 ว่าเป็นเมืองที่น่าอยู่สำหรับผู้สูงอายุชาวอเมริกันอันดับที่ 7 ของโลก [9]\n" +
-" * Growth Competitiveness Index Ranking พ.ศ. 2546 อยู่อันดับที่ 34 จาก 104 [10]\n" +
-" * ตึกใบหยก 2 เป็นตึกที่สูงที่สุดในประเทศไทย และสูงเป็นอันดับ 30 ของโลก พ.ศ. 2549\n" +
-"\n" +
-"อ้างอิง\n" +
-"\n" +
-" 1. ↑ 4th edition \"ANKOR an introduction to the temples\" Dawn Rooney ISBN: 962-217-683-6\n" +
-" 2. ↑ ในสมัยก่อนนั้น (ตั้งแต่คริสต์ศตวรรษที่ 17 ในยุโรป) ภาษาสากลในการติดต่อระหว่างประเทศ (lingua franca) คือ ภาษาฝรั่งเศส เอกสารระหว่างประเทศจะใช้ภาษาฝรั่งเศสเป็นหลัก รวมถึงหนังสือเดินทางไทยรุ่นแรกๆ ด้วย\n" +
-" 3. ↑ ดัชนีเศรษฐกิจประเทศไทย จากเว็บไซต์ธนาคารแห่งประเทศไทย\n" +
-" 4. ↑ ข้าวไทย ย่างก้าวพัฒนา สร้างไทยเป็นศูนย์กลางข้าวโลก โดย เทคโนโลยีชาวบ้าน มติชน วันที่ 01 มิถุนายน พ.ศ. 2550 ปีที่ 19 ฉบับที่ 408\n" +
-" 5. ↑ http://www.thairath.co.th/news.php?section=agriculture&content=52868\n" +
-" 6. ↑ ผลผลิตของประเทศไทย จากเว็บไซต์ธนาคารแห่งประเทศไทย\n" +
-" 7. ↑ ข้อมูลการท่องเที่ยว จากการท่องเที่ยวแห่งประเทศไทย (ข้อมูลเป็นไฟล์เอกเซล)\n" +
-" 8. ↑ 8.0 8.1 8.2 8.3 รายละเอียดประเทศไทยจากเว็บซีไอเอ\n" +
-" 9. ↑ http://207.5.46.81/tat_news/detail.asp?id=963\n" +
-" 10. ↑ ข้อมูลจาก Webforum.org พ.ศ. 2546\n" +
-"\n" +
-"แหล่งข้อมูลอื่น\n" +
-"Commons\n" +
-"คอมมอนส์ มีภาพและสื่ออื่นๆ เกี่ยวกับ:\n" +
-"ประเทศไทย\n" +
-"ฟลิคเกอร์\n" +
-"ฟลิคเกอร์ มีรูปภาพเกี่ยวกับ: ประเทศไทย\n" +
-"\n" +
-" * รัฐบาลไทย\n" +
-" * การท่องเที่ยวแห่งประเทศไทย\n" +
-" * ประเทศไทยศึกษา ห้องสมุดรัฐสภา สหรัฐอเมริกา\n" +
-" * พจนานุกรมท่องเที่ยวไทย\n" +
-" * แผนที่ประเทศไทย Longdo Map\n";
-
-function get_most_popular(text) {
- var i;
- var frequencies = new Object();
- var letter;
- for (i = 0; i < text.length; i++) {
- letter = text.charAt(i);
- if (typeof(frequencies[letter]) == 'undefined')
- frequencies[letter] = 0;
- frequencies[letter]++;
- }
- var most = [];
- for (letter in frequencies) {
- if (frequencies[letter] > 50) {
- most.push(letter);
- }
- }
- most.sort();
- return most;
-}
-
-
-var languages = new Array(
- chinese, // 1
- cyrillic, // 2
- devanagari, // 3
- english, // 4
- greek, // 5
- hebrew, // 6
- japanese, // 7
- korean, // 8
- persian, // 9
- source, // 10
- thai); // 11
-
-
-var number_re = /[0-9]/;
-var latin_lc = "[a-zA\u0631]";
-assertEquals(7, latin_lc.length);
-var latin_lc_re = new RegExp(latin_lc);
-var latin_lc_re2 = new RegExp(/[a-zA\u0631]/);
-
-assertEquals(13793, chinese.length, "chinese utf8 in source");
-assertEquals(60606, cyrillic.length, "cyrillic utf8 in source");
-assertEquals(20203, devanagari.length, "devanagari utf8 in source");
-assertEquals(37505, english.length, "english utf8 in source");
-assertEquals(30052, greek.length, "greek utf8 in source");
-assertEquals(25640, hebrew.length, "hebrew utf8 in source");
-assertEquals(31082, japanese.length, "japanese utf8 in source");
-assertEquals(12291, korean.length, "korean utf8 in source");
-assertEquals(13851, persian.length, "persian utf8 in source");
-assertEquals(177470, source.length, "source utf8 in source");
-assertEquals(18315, thai.length, "thai utf8 in source");
-
-munged_sizes = new Array(17197, 2511, 2645, 3820, 3086, 2609,
- 27231, 12972, 2014, 24943, 2773);
-
-
-var i = 0;
-for (idx in languages) {
- i++;
- var text = languages[idx];
- assertTrue(latin_lc_re.test(text), "latin_lc" + i);
- assertTrue(latin_lc_re2.test(text), "latin_lc" + i);
- assertTrue(number_re.test(text), "number " + i);
- var most_popular = get_most_popular(text);
- var idx;
- var re = "([x";
- var last_c = -9999;
- for (idx in most_popular) {
- var c = most_popular[idx];
- if ("^]-\n\\".indexOf(c) == -1) {
- if (c.charCodeAt(0) > last_c &&
- c.charCodeAt(0) - 20 < last_c) {
- re += "-" + c;
- last_c = -9999;
- } else {
- re += c;
- last_c = c.charCodeAt(0);
- }
- }
- }
- re += "]+)";
- var char_class = new RegExp(re, "g");
- var munged = text.replace(char_class, "foo");
- assertEquals(munged_sizes[i - 1], munged.length, "munged size " + i);
-}
-
-
-function hex(x) {
- x &= 15;
- if (x < 10) {
- return String.fromCharCode(x + 48);
- } else {
- return String.fromCharCode(x + 97 - 10);
- }
-}
-
-
-function dump_re(re) {
- var out = "";
- for (var i = 0; i < re.length; i++) {
- var c = re.charCodeAt(i);
- if (c >= 32 && c <= 126) {
- out += re[i];
- } else if (c < 256) {
- out += "\\x" + hex(c >> 4) + hex(c);
- } else {
- out += "\\u" + hex(c >> 12) + hex(c >> 8) + hex(c >> 4) + hex(c);
- }
- }
- print ("re = " + out);
-}
-
-var thai_l_thingy = "\u0e44";
-var thai_l_regexp = new RegExp(thai_l_thingy);
-var thai_l_regexp2 = new RegExp("[" + thai_l_thingy + "]");
-assertTrue(thai_l_regexp.test(thai_l_thingy));
-assertTrue(thai_l_regexp2.test(thai_l_thingy));
-
-
diff --git a/src/3rdparty/v8/test/mjsunit/unicodelctest-no-optimization.js b/src/3rdparty/v8/test/mjsunit/unicodelctest-no-optimization.js
deleted file mode 100644
index 3bcb5bf..0000000
--- a/src/3rdparty/v8/test/mjsunit/unicodelctest-no-optimization.js
+++ /dev/null
@@ -1,4914 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-// Flags: --noregexp-optimization
-
-// This regexp should pick up all lower case characters. The non-BMP
-// characters are coded using explicit surrogate pairs.
-var re = /^([a-zªµºß-öø-ÿāăąćĉċčďđēĕėęěĝğġģĥħĩīĭįıijĵķ-ĸĺļľŀłńņň-ʼnŋōŏőœŕŗřśŝşšţťŧũūŭůűųŵŷźżž-ƀƃƅƈƌ-ƍƒƕƙ-ƛƞơƣƥƨƪ-ƫƭưƴƶƹ-ƺƽ-ƿdžljnjǎǐǒǔǖǘǚǜ-ǝǟǡǣǥǧǩǫǭǯ-ǰdzǵǹǻǽǿȁȃȅȇȉȋȍȏȑȓȕȗșțȝȟȡȣȥȧȩȫȭȯȱȳ-ȹȼȿ-ɀɂɇɉɋɍɏ-ʓʕ-ʯͱͳͷͻ-ͽΐά-ώϐ-ϑϕ-ϗϙϛϝϟϡϣϥϧϩϫϭϯ-ϳϵϸϻ-ϼа-џѡѣѥѧѩѫѭѯѱѳѵѷѹѻѽѿҁҋҍҏґғҕҗҙқҝҟҡңҥҧҩҫҭүұҳҵҷҹһҽҿӂӄӆӈӊӌӎ-ӏӑӓӕӗәӛӝӟӡӣӥӧөӫӭӯӱӳӵӷӹӻӽӿԁԃԅԇԉԋԍԏԑԓԕԗԙԛԝԟԡԣա-ևᴀ-ᴫᵢ-ᵷᵹ-ᶚḁḃḅḇḉḋḍḏḑḓḕḗḙḛḝḟḡḣḥḧḩḫḭḯḱḳḵḷḹḻḽḿṁṃṅṇṉṋṍṏṑṓṕṗṙṛṝṟṡṣṥṧṩṫṭṯṱṳṵṷṹṻṽṿẁẃẅẇẉẋẍẏẑẓẕ-ẝẟạảấầẩẫậắằẳẵặẹẻẽếềểễệỉịọỏốồổỗộớờởỡợụủứừửữựỳỵỷỹỻỽỿ-ἇἐ-ἕἠ-ἧἰ-ἷὀ-ὅὐ-ὗὠ-ὧὰ-ώᾀ-ᾇᾐ-ᾗᾠ-ᾧᾰ-ᾴᾶ-ᾷιῂ-ῄῆ-ῇῐ-ΐῖ-ῗῠ-ῧῲ-ῴῶ-ῷⁱⁿℊℎ-ℏℓℯℴℹℼ-ℽⅆ-ⅉⅎↄⰰ-ⱞⱡⱥ-ⱦⱨⱪⱬⱱⱳ-ⱴⱶ-ⱼⲁⲃⲅⲇⲉⲋⲍⲏⲑⲓⲕⲗⲙⲛⲝⲟⲡⲣⲥⲧⲩⲫⲭⲯⲱⲳⲵⲷⲹⲻⲽⲿⳁⳃⳅⳇⳉⳋⳍⳏⳑⳓⳕⳗⳙⳛⳝⳟⳡⳣ-ⳤⴀ-ⴥꙁꙃꙅꙇꙉꙋꙍꙏꙑꙓꙕꙗꙙꙛꙝꙟꙣꙥꙧꙩꙫꙭꚁꚃꚅꚇꚉꚋꚍꚏꚑꚓꚕꚗꜣꜥꜧꜩꜫꜭꜯ-ꜱꜳꜵꜷꜹꜻꜽꜿꝁꝃꝅꝇꝉꝋꝍꝏꝑꝓꝕꝗꝙꝛꝝꝟꝡꝣꝥꝧꝩꝫꝭꝯꝱ-ꝸꝺꝼꝿꞁꞃꞅꞇꞌff-stﬓ-ﬗa-z]|\ud801[\udc28-\udc4f]|\ud835[\udc1a-\udc33\udc4e-\udc54\udc56-\udc67\udc82-\udc9b\udcb6-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udccf\udcea-\udd03\udd1e-\udd37\udd52-\udd6b\udd86-\udd9f\uddba-\uddd3\uddee-\ude07\ude22-\ude3b\ude56-\ude6f\ude8a-\udea5\udec2-\udeda\udedc-\udee1\udefc-\udf14\udf16-\udf1b\udf36-\udf4e\udf50-\udf55\udf70-\udf88\udf8a-\udf8f\udfaa-\udfc2\udfc4-\udfc9\udfcb])$/;
-
-
-var answer = get_answer();
-var fuzz_answer = get_fuzz_answer();
-
-
-for (var i = 0; i < 0x10000; i++) {
- var s = String.fromCharCode(i);
- assertTrue(!!re.test(s) == !!answer[i]);
-}
-
-
-function BuildSurrogatePair(c) {
- return String.fromCharCode(+0xd800 + (c >> 10)) +
- String.fromCharCode(+0xdc00 + (c & 0x3ff));
-}
-
-fuzz_index = 0;
-fuzz();
-
-for (var i = 0x10000; i < 0x110000 && i < answer.length + 256; i++) {
- var c = i - 0x10000;
- assertTrue(!!re.test(BuildSurrogatePair(c)) == !!answer[i]);
-}
-
-var seed = 49734321;
-
-function rand() {
- // To make the test results predictable, we use a 100% deterministic
- // alternative.
- // Robert Jenkins' 32 bit integer hash function.
- seed = ((seed + 0x7ed55d16) + (seed << 12)) & 0xffffffff;
- seed = ((seed ^ 0xc761c23c) ^ (seed >>> 19)) & 0xffffffff;
- seed = ((seed + 0x165667b1) + (seed << 5)) & 0xffffffff;
- seed = ((seed + 0xd3a2646c) ^ (seed << 9)) & 0xffffffff;
- seed = ((seed + 0xfd7046c5) + (seed << 3)) & 0xffffffff;
- seed = ((seed ^ 0xb55a4f09) ^ (seed >>> 16)) & 0xffffffff;
- return (seed & 0xffff)
-}
-
-
-// Random character.
-function rc(last) {
- var c = rand();
- // Increase the concentration of problematic values around the page
- // edges.
- if (rand() & 1) {
- c = (c & 0xff80) + (c & 3) - 2;
- }
- // Increase the concentration of problematic values around the ends.
- if (rand() & 31 == 0) c = 0xfff8 + (rand() & 7)
- if (rand() & 31 == 0) c = (rand() & 7)
-
- // Increase the concentration of values near each other.
- if (rand() & 1) c = last + (rand() & 15) - 8;
- return c & 0xffff; // Only code unit values.
-}
-
-
-function fuzz() {
- fuzz_index = 0;
- seed = 49734321;
- for (var i = 0; i < 1000; i++) {
- print(i);
- var len = rand() & 0x1f;
- var ranges = new Array(len);
- var last = rand();
- for (var j = 0; j < len; j++) {
- ranges.push(last);
- last = rc(last);
- }
- ranges.sort(function (a, b) { return a - b });
- var cc = "";
- for (var j = 0; j < len; j++) {
- var ch = String.fromCharCode(ranges[j]);
- if (ch == '\\' || ch == ']') ch = '\\' + ch;
- cc += ch;
- if (j < len - 1 && rand() & 1) cc += '-';
- }
- var negated = (last & 2) != 0;
- var prefix = negated ? "[^" : "[";
- var re = new RegExp(prefix + cc + "]");
- for (var j = 0; j < len; j++) {
- retest(re, (ranges[j] - 1), negated);
- retest(re, (ranges[j]), negated);
- retest(re, (ranges[j] + 1), negated);
- }
- }
-}
-
-
-function retest(re, code, negated) {
- var s = String.fromCharCode(code >>> 0);
- assertTrue(negated != (!!re.test(s) == !!fuzz_answer[fuzz_index++]));
-}
-
-
-function get_fuzz_answer() {
- // Test data generated with V8 version 3.7.
-return [
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,1,1,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,0,
- 0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,
-
-
- 0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,
-
- 0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,
- 1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
-
- 0,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,1,0,
- 0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
-
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
-
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,
- 0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,1,1,0,
- 0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,
- 0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,
- 0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,0,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,
-
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,
- 0,1,0,0,1,0,
-
- 0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,
- 0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
-
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,1,1,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,
-
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,
-
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
-
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
-
- 0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,0,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
-
- 0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,1,1,0,1,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,
- 0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,1,1,0,
- 0,1,0,
- 0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
-
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,
-
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
-
- 0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,
- 0,1,1,1,1,0,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,1,1,0,
- 0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,
- 0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,1,1,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
-
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
-
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,0,1,1,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
-
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,
-
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
-
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,1,1,0,
- 0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
-
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,
- 0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,
- 0,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
-
- 0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,0,
- 0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,
-
- 0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,1,1,1,0,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
-];
-}
-
-
-function get_answer() {
- // Test data generated with V8 version 3.7.
-return [
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , ,1, , , , , , , , , , ,1, , , , ,1, , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,1,
- 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ,1,1,1,1,1,1,1,1,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,1, ,1, ,1, ,1, ,
- 1, ,1, ,1, ,1, ,1,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, , ,1, ,1, ,1,1,
- 1, , ,1, ,1, , ,1, , , ,1,1, , , , ,1, , ,1, , , ,1,1,1, , ,1, ,
- ,1, ,1, ,1, , ,1, ,1,1, ,1, , ,1, , , ,1, ,1, , ,1,1, , ,1,1,1,
- , , , , , ,1, , ,1, , ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,1, ,1,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,1, , ,1, ,1, , , ,1, ,1, ,1, ,1,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,1,1,1,1,1,1, , ,1, , ,1,
- 1, ,1, , , , ,1, ,1, ,1, ,1, ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ,1,1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , ,1, ,1, , , ,1, , , ,1,1,1, , ,
- , , , , , , , , , , , , , , , ,1, , , , , , , , , , , , , , , ,
- , , , , , , , , , , , ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ,1,1, , , ,1,1,1, ,1, ,1, ,1, ,1,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,1,1,1,1, ,1, , ,1, , ,1,1, , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,
- ,1, , , , , , , , , ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,
- , ,1, ,1, ,1, ,1, ,1, ,1, ,1,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,
- ,1, ,1, , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1, , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,1,1, , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,1,1,1,1,1,1,1,1, ,1,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,
- 1,1,1,1,1,1,1,1, , , , , , , , ,1,1,1,1,1,1, , , , , , , , , , ,
- 1,1,1,1,1,1,1,1, , , , , , , , ,1,1,1,1,1,1,1,1, , , , , , , , ,
- 1,1,1,1,1,1, , , , , , , , , , ,1,1,1,1,1,1,1,1, , , , , , , , ,
- 1,1,1,1,1,1,1,1, , , , , , , , ,1,1,1,1,1,1,1,1,1,1,1,1,1,1, , ,
- 1,1,1,1,1,1,1,1, , , , , , , , ,1,1,1,1,1,1,1,1, , , , , , , , ,
- 1,1,1,1,1,1,1,1, , , , , , , , ,1,1,1,1,1, ,1,1, , , , , , ,1, ,
- , ,1,1,1, ,1,1, , , , , , , , ,1,1,1,1, , ,1,1, , , , , , , , ,
- 1,1,1,1,1,1,1,1, , , , , , , , , , ,1,1,1, ,1,1, , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , ,1, , , , , , , , , , , , , ,1,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , ,1, , , ,1,1, , , ,1, , , , , , , , , , , , ,
- , , , , , , , , , , , , , , ,1, , , , ,1, , , , ,1, , ,1,1, , ,
- , , , , , ,1,1,1,1, , , , ,1, , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , ,1, , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ,
- ,1, , , ,1,1, ,1, ,1, ,1, , , , ,1, ,1,1, ,1,1,1,1,1,1,1, , , ,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,
- ,1, ,1,1, , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1, , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,
- , , ,1, ,1, ,1, ,1, ,1, ,1, , , , , , , , , , , , , , , , , , ,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , ,1, ,1, ,1, ,1, ,1, ,1, ,1,1,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,1,1,1,1,1,1,1, ,1, ,1, , ,1,
- ,1, ,1, ,1, ,1, , , , ,1, , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- 1,1,1,1,1,1,1, , , , , , , , , , , , ,1,1,1,1,1, , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , ,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, , , , , , , , , , , , ,
- , , , , , , , , , , , , , ,1,1,1,1,1,1,1, ,1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1, , , , , , , , , , , , , , , , , , , , , , , , ,
- , ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, , , , ,
- , , , , , , , , , , , , , , , , , , , , , ,1,1,1,1, ,1, ,1,1,1,
- 1,1,1,1, ,1,1,1,1,1,1,1,1,1,1,1, , , , , , , , , , , , , , , , ,
- , , , , , , , , , ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1, , , , , , , , , , , , , , , , , , , , , , , , , , ,1,1,
- 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, , , , , , , , ,
- , , , , , , , , , , , , , , , , , ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,1,1, , , , , , , , , , , , , , , , , , , , ,
- , , , , , ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
- , , , , , , , , , , , , , , , , , , , , , , , , , ,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, , , , , , , , , , , , ,
- , , , , , , , , , , , , , ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1, , , , , , , , , , , , , , , , , , , , , , , , ,
- , ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, , , , ,
- , , , , , , , , , , , , , , , , , , , , , ,1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, , , , , , , , , , , , , , , , ,
- , , , , , , , , , ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1, , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ,1,1,1,1,
- 1,1, , , , , , , , , , , , , , , , , , , , , , , , , , ,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ,1,1,1,1,1,1, , , , ,
- , , , , , , , , , , , , , , , , , , , , , ,1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ,1,1,1,1,1,1, , , , , , , , , , ,
- , , , , , , , , , , , , , , , ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1, ,1,1,1,1,1,1, , , , , , , , , , , , , , , , ,
- , , , , , , , , , ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
- 1,1,1, ,1,1,1,1,1,1, ,1];
-}
diff --git a/src/3rdparty/v8/test/mjsunit/unicodelctest.js b/src/3rdparty/v8/test/mjsunit/unicodelctest.js
deleted file mode 100644
index 2caaabd..0000000
--- a/src/3rdparty/v8/test/mjsunit/unicodelctest.js
+++ /dev/null
@@ -1,4912 +0,0 @@
-// Copyright 2012 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// This regexp should pick up all lower case characters. The non-BMP
-// characters are coded using explicit surrogate pairs.
-var re = /^([a-zªµºß-öø-ÿāăąćĉċčďđēĕėęěĝğġģĥħĩīĭįıijĵķ-ĸĺļľŀłńņň-ʼnŋōŏőœŕŗřśŝşšţťŧũūŭůűųŵŷźżž-ƀƃƅƈƌ-ƍƒƕƙ-ƛƞơƣƥƨƪ-ƫƭưƴƶƹ-ƺƽ-ƿdžljnjǎǐǒǔǖǘǚǜ-ǝǟǡǣǥǧǩǫǭǯ-ǰdzǵǹǻǽǿȁȃȅȇȉȋȍȏȑȓȕȗșțȝȟȡȣȥȧȩȫȭȯȱȳ-ȹȼȿ-ɀɂɇɉɋɍɏ-ʓʕ-ʯͱͳͷͻ-ͽΐά-ώϐ-ϑϕ-ϗϙϛϝϟϡϣϥϧϩϫϭϯ-ϳϵϸϻ-ϼа-џѡѣѥѧѩѫѭѯѱѳѵѷѹѻѽѿҁҋҍҏґғҕҗҙқҝҟҡңҥҧҩҫҭүұҳҵҷҹһҽҿӂӄӆӈӊӌӎ-ӏӑӓӕӗәӛӝӟӡӣӥӧөӫӭӯӱӳӵӷӹӻӽӿԁԃԅԇԉԋԍԏԑԓԕԗԙԛԝԟԡԣա-ևᴀ-ᴫᵢ-ᵷᵹ-ᶚḁḃḅḇḉḋḍḏḑḓḕḗḙḛḝḟḡḣḥḧḩḫḭḯḱḳḵḷḹḻḽḿṁṃṅṇṉṋṍṏṑṓṕṗṙṛṝṟṡṣṥṧṩṫṭṯṱṳṵṷṹṻṽṿẁẃẅẇẉẋẍẏẑẓẕ-ẝẟạảấầẩẫậắằẳẵặẹẻẽếềểễệỉịọỏốồổỗộớờởỡợụủứừửữựỳỵỷỹỻỽỿ-ἇἐ-ἕἠ-ἧἰ-ἷὀ-ὅὐ-ὗὠ-ὧὰ-ώᾀ-ᾇᾐ-ᾗᾠ-ᾧᾰ-ᾴᾶ-ᾷιῂ-ῄῆ-ῇῐ-ΐῖ-ῗῠ-ῧῲ-ῴῶ-ῷⁱⁿℊℎ-ℏℓℯℴℹℼ-ℽⅆ-ⅉⅎↄⰰ-ⱞⱡⱥ-ⱦⱨⱪⱬⱱⱳ-ⱴⱶ-ⱼⲁⲃⲅⲇⲉⲋⲍⲏⲑⲓⲕⲗⲙⲛⲝⲟⲡⲣⲥⲧⲩⲫⲭⲯⲱⲳⲵⲷⲹⲻⲽⲿⳁⳃⳅⳇⳉⳋⳍⳏⳑⳓⳕⳗⳙⳛⳝⳟⳡⳣ-ⳤⴀ-ⴥꙁꙃꙅꙇꙉꙋꙍꙏꙑꙓꙕꙗꙙꙛꙝꙟꙣꙥꙧꙩꙫꙭꚁꚃꚅꚇꚉꚋꚍꚏꚑꚓꚕꚗꜣꜥꜧꜩꜫꜭꜯ-ꜱꜳꜵꜷꜹꜻꜽꜿꝁꝃꝅꝇꝉꝋꝍꝏꝑꝓꝕꝗꝙꝛꝝꝟꝡꝣꝥꝧꝩꝫꝭꝯꝱ-ꝸꝺꝼꝿꞁꞃꞅꞇꞌff-stﬓ-ﬗa-z]|\ud801[\udc28-\udc4f]|\ud835[\udc1a-\udc33\udc4e-\udc54\udc56-\udc67\udc82-\udc9b\udcb6-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udccf\udcea-\udd03\udd1e-\udd37\udd52-\udd6b\udd86-\udd9f\uddba-\uddd3\uddee-\ude07\ude22-\ude3b\ude56-\ude6f\ude8a-\udea5\udec2-\udeda\udedc-\udee1\udefc-\udf14\udf16-\udf1b\udf36-\udf4e\udf50-\udf55\udf70-\udf88\udf8a-\udf8f\udfaa-\udfc2\udfc4-\udfc9\udfcb])$/;
-
-
-var answer = get_answer();
-var fuzz_answer = get_fuzz_answer();
-
-
-for (var i = 0; i < 0x10000; i++) {
- var s = String.fromCharCode(i);
- assertTrue(!!re.test(s) == !!answer[i]);
-}
-
-
-function BuildSurrogatePair(c) {
- return String.fromCharCode(+0xd800 + (c >> 10)) +
- String.fromCharCode(+0xdc00 + (c & 0x3ff));
-}
-
-fuzz_index = 0;
-fuzz();
-
-for (var i = 0x10000; i < 0x110000 && i < answer.length + 256; i++) {
- var c = i - 0x10000;
- assertTrue(!!re.test(BuildSurrogatePair(c)) == !!answer[i]);
-}
-
-var seed = 49734321;
-
-function rand() {
- // To make the test results predictable, we use a 100% deterministic
- // alternative.
- // Robert Jenkins' 32 bit integer hash function.
- seed = ((seed + 0x7ed55d16) + (seed << 12)) & 0xffffffff;
- seed = ((seed ^ 0xc761c23c) ^ (seed >>> 19)) & 0xffffffff;
- seed = ((seed + 0x165667b1) + (seed << 5)) & 0xffffffff;
- seed = ((seed + 0xd3a2646c) ^ (seed << 9)) & 0xffffffff;
- seed = ((seed + 0xfd7046c5) + (seed << 3)) & 0xffffffff;
- seed = ((seed ^ 0xb55a4f09) ^ (seed >>> 16)) & 0xffffffff;
- return (seed & 0xffff)
-}
-
-
-// Random character.
-function rc(last) {
- var c = rand();
- // Increase the concentration of problematic values around the page
- // edges.
- if (rand() & 1) {
- c = (c & 0xff80) + (c & 3) - 2;
- }
- // Increase the concentration of problematic values around the ends.
- if (rand() & 31 == 0) c = 0xfff8 + (rand() & 7)
- if (rand() & 31 == 0) c = (rand() & 7)
-
- // Increase the concentration of values near each other.
- if (rand() & 1) c = last + (rand() & 15) - 8;
- return c & 0xffff; // Only code unit values.
-}
-
-
-function fuzz() {
- fuzz_index = 0;
- seed = 49734321;
- for (var i = 0; i < 1000; i++) {
- var len = rand() & 0x1f;
- var ranges = new Array(len);
- var last = rand();
- for (var j = 0; j < len; j++) {
- ranges.push(last);
- last = rc(last);
- }
- ranges.sort(function (a, b) { return a - b });
- var cc = "";
- for (var j = 0; j < len; j++) {
- var ch = String.fromCharCode(ranges[j]);
- if (ch == '\\' || ch == ']') ch = '\\' + ch;
- cc += ch;
- if (j < len - 1 && rand() & 1) cc += '-';
- }
- var negated = (last & 2) != 0;
- var prefix = negated ? "[^" : "[";
- var re = new RegExp(prefix + cc + "]");
- for (var j = 0; j < len; j++) {
- retest(re, (ranges[j] - 1), negated);
- retest(re, (ranges[j]), negated);
- retest(re, (ranges[j] + 1), negated);
- }
- }
-}
-
-
-function retest(re, code, negated) {
- var s = String.fromCharCode(code >>> 0);
- assertTrue(negated != (!!re.test(s) == !!fuzz_answer[fuzz_index++]));
-}
-
-
-function get_fuzz_answer() {
- // Test data generated with V8 version 3.7.
-return [
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,1,1,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,0,
- 0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,
-
-
- 0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,
-
- 0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,
- 1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
-
- 0,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,1,0,
- 0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
-
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
-
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,
- 0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,1,1,0,
- 0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,
- 0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,
- 0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,0,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,
-
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,
- 0,1,0,0,1,0,
-
- 0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,
- 0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
-
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,1,1,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,
-
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,
-
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
-
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
-
- 0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,0,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
-
- 0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,1,1,0,1,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,
- 0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,1,1,0,
- 0,1,0,
- 0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
-
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,
-
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
-
- 0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,
- 0,1,1,1,1,0,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,1,1,0,
- 0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,
- 0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,1,1,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
-
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
-
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,0,1,1,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
-
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,
-
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
-
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,1,1,0,
- 0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
-
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,
- 0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,
- 0,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
-
- 0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,
- 0,1,1,1,1,0,
- 0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,
- 0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,
-
- 0,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,1,1,1,0,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,1,0,
- 0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
- 0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,
- 0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,1,1,1,1,0,
-];
-}
-
-
-function get_answer() {
- // Test data generated with V8 version 3.7.
-return [
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , ,1, , , , , , , , , , ,1, , , , ,1, , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,1,
- 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ,1,1,1,1,1,1,1,1,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,1, ,1, ,1, ,1, ,
- 1, ,1, ,1, ,1, ,1,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, , ,1, ,1, ,1,1,
- 1, , ,1, ,1, , ,1, , , ,1,1, , , , ,1, , ,1, , , ,1,1,1, , ,1, ,
- ,1, ,1, ,1, , ,1, ,1,1, ,1, , ,1, , , ,1, ,1, , ,1,1, , ,1,1,1,
- , , , , , ,1, , ,1, , ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,1, ,1,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,1, , ,1, ,1, , , ,1, ,1, ,1, ,1,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,1,1,1,1,1,1, , ,1, , ,1,
- 1, ,1, , , , ,1, ,1, ,1, ,1, ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ,1,1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , ,1, ,1, , , ,1, , , ,1,1,1, , ,
- , , , , , , , , , , , , , , , ,1, , , , , , , , , , , , , , , ,
- , , , , , , , , , , , ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ,1,1, , , ,1,1,1, ,1, ,1, ,1, ,1,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,1,1,1,1, ,1, , ,1, , ,1,1, , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,
- ,1, , , , , , , , , ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,
- , ,1, ,1, ,1, ,1, ,1, ,1, ,1,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,
- ,1, ,1, , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1, , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,1,1, , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,1,1,1,1,1,1,1,1, ,1,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,
- 1,1,1,1,1,1,1,1, , , , , , , , ,1,1,1,1,1,1, , , , , , , , , , ,
- 1,1,1,1,1,1,1,1, , , , , , , , ,1,1,1,1,1,1,1,1, , , , , , , , ,
- 1,1,1,1,1,1, , , , , , , , , , ,1,1,1,1,1,1,1,1, , , , , , , , ,
- 1,1,1,1,1,1,1,1, , , , , , , , ,1,1,1,1,1,1,1,1,1,1,1,1,1,1, , ,
- 1,1,1,1,1,1,1,1, , , , , , , , ,1,1,1,1,1,1,1,1, , , , , , , , ,
- 1,1,1,1,1,1,1,1, , , , , , , , ,1,1,1,1,1, ,1,1, , , , , , ,1, ,
- , ,1,1,1, ,1,1, , , , , , , , ,1,1,1,1, , ,1,1, , , , , , , , ,
- 1,1,1,1,1,1,1,1, , , , , , , , , , ,1,1,1, ,1,1, , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , ,1, , , , , , , , , , , , , ,1,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , ,1, , , ,1,1, , , ,1, , , , , , , , , , , , ,
- , , , , , , , , , , , , , , ,1, , , , ,1, , , , ,1, , ,1,1, , ,
- , , , , , ,1,1,1,1, , , , ,1, , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , ,1, , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ,
- ,1, , , ,1,1, ,1, ,1, ,1, , , , ,1, ,1,1, ,1,1,1,1,1,1,1, , , ,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,
- ,1, ,1,1, , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1, , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,
- , , ,1, ,1, ,1, ,1, ,1, ,1, , , , , , , , , , , , , , , , , , ,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , ,1, ,1, ,1, ,1, ,1, ,1, ,1,1,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,
- ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1, ,1,1,1,1,1,1,1,1, ,1, ,1, , ,1,
- ,1, ,1, ,1, ,1, , , , ,1, , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- 1,1,1,1,1,1,1, , , , , , , , , , , , ,1,1,1,1,1, , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , , , , , , , , , , , , , , , , , , , , , , , , , ,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, , , , , , , , , , , , ,
- , , , , , , , , , , , , , ,1,1,1,1,1,1,1, ,1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1, , , , , , , , , , , , , , , , , , , , , , , , ,
- , ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, , , , ,
- , , , , , , , , , , , , , , , , , , , , , ,1,1,1,1, ,1, ,1,1,1,
- 1,1,1,1, ,1,1,1,1,1,1,1,1,1,1,1, , , , , , , , , , , , , , , , ,
- , , , , , , , , , ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1, , , , , , , , , , , , , , , , , , , , , , , , , , ,1,1,
- 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, , , , , , , , ,
- , , , , , , , , , , , , , , , , , ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,1,1, , , , , , , , , , , , , , , , , , , , ,
- , , , , , ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
- , , , , , , , , , , , , , , , , , , , , , , , , , ,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, , , , , , , , , , , , ,
- , , , , , , , , , , , , , ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1, , , , , , , , , , , , , , , , , , , , , , , , ,
- , ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, , , , ,
- , , , , , , , , , , , , , , , , , , , , , ,1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, , , , , , , , , , , , , , , , ,
- , , , , , , , , , ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1, , , , , , , , , , , , , , , , , , , , , , , , , , ,
- , ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ,1,1,1,1,
- 1,1, , , , , , , , , , , , , , , , , , , , , , , , , , ,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ,1,1,1,1,1,1, , , , ,
- , , , , , , , , , , , , , , , , , , , , , ,1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ,1,1,1,1,1,1, , , , , , , , , , ,
- , , , , , , , , , , , , , , , ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1, ,1,1,1,1,1,1, , , , , , , , , , , , , , , , ,
- , , , , , , , , , ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
- 1,1,1, ,1,1,1,1,1,1, ,1];
-}
diff --git a/src/3rdparty/v8/test/mjsunit/unusual-constructor.js b/src/3rdparty/v8/test/mjsunit/unusual-constructor.js
deleted file mode 100644
index 82b9bd6..0000000
--- a/src/3rdparty/v8/test/mjsunit/unusual-constructor.js
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var threw = false;
-try {
- var obj = new (Function.__proto__)();
-} catch (e) {
- assertInstanceof(e, TypeError);
- threw = true;
-}
-assertTrue(threw);
diff --git a/src/3rdparty/v8/test/mjsunit/uri.js b/src/3rdparty/v8/test/mjsunit/uri.js
deleted file mode 100644
index fae349f..0000000
--- a/src/3rdparty/v8/test/mjsunit/uri.js
+++ /dev/null
@@ -1,90 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Tests of URI encoding and decoding.
-
-assertEquals("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_.!~*'();/?:@&=+$,#",
- encodeURI("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_.!~*'();/?:@&=+$,#"));
-
-var cc1 = 0x007D;
-var s1 = String.fromCharCode(cc1);
-var cc2 = 0x0000;
-var s2 = String.fromCharCode(cc2);
-var cc3 = 0x0080;
-var s3 = String.fromCharCode(cc3);
-var cc4 = 0x0555;
-var s4 = String.fromCharCode(cc4);
-var cc5 = 0x07FF;
-var s5 = String.fromCharCode(cc5);
-var cc6 = 0x0800;
-var s6 = String.fromCharCode(cc6);
-var cc7 = 0xAEEE;
-var s7 = String.fromCharCode(cc7);
-var cc8_1 = 0xD800;
-var cc8_2 = 0xDC00;
-var s8 = String.fromCharCode(cc8_1)+String.fromCharCode(cc8_2);
-var cc9_1 = 0xDBFF;
-var cc9_2 = 0xDFFF;
-var s9 = String.fromCharCode(cc9_1)+String.fromCharCode(cc9_2);
-var cc10 = 0xE000;
-var s10 = String.fromCharCode(cc10);
-
-assertEquals('%7D', encodeURI(s1));
-assertEquals('%00', encodeURI(s2));
-assertEquals('%C2%80', encodeURI(s3));
-assertEquals('%D5%95', encodeURI(s4));
-assertEquals('%DF%BF', encodeURI(s5));
-assertEquals('%E0%A0%80', encodeURI(s6));
-assertEquals('%EA%BB%AE', encodeURI(s7));
-assertEquals('%F0%90%80%80', encodeURI(s8));
-assertEquals('%F4%8F%BF%BF', encodeURI(s9));
-assertEquals('%EE%80%80', encodeURI(s10));
-
-assertEquals(cc1, decodeURI(encodeURI(s1)).charCodeAt(0));
-assertEquals(cc2, decodeURI(encodeURI(s2)).charCodeAt(0));
-assertEquals(cc3, decodeURI(encodeURI(s3)).charCodeAt(0));
-assertEquals(cc4, decodeURI(encodeURI(s4)).charCodeAt(0));
-assertEquals(cc5, decodeURI(encodeURI(s5)).charCodeAt(0));
-assertEquals(cc6, decodeURI(encodeURI(s6)).charCodeAt(0));
-assertEquals(cc7, decodeURI(encodeURI(s7)).charCodeAt(0));
-assertEquals(cc8_1, decodeURI(encodeURI(s8)).charCodeAt(0));
-assertEquals(cc8_2, decodeURI(encodeURI(s8)).charCodeAt(1));
-assertEquals(cc9_1, decodeURI(encodeURI(s9)).charCodeAt(0));
-assertEquals(cc9_2, decodeURI(encodeURI(s9)).charCodeAt(1));
-assertEquals(cc10, decodeURI(encodeURI(s10)).charCodeAt(0));
-
-assertEquals("", decodeURI(""));
-assertEquals("", encodeURI(""));
-
-function test(string) {
- assertEquals(string, decodeURI(encodeURI(string)));
-}
-
-test("\u1234\u0123\uabcd");
-test("abcd");
-test("ab<\u1234\u0123");
-test("ab\u1234<\u0123");
diff --git a/src/3rdparty/v8/test/mjsunit/value-callic-prototype-change.js b/src/3rdparty/v8/test/mjsunit/value-callic-prototype-change.js
deleted file mode 100644
index 52f0629..0000000
--- a/src/3rdparty/v8/test/mjsunit/value-callic-prototype-change.js
+++ /dev/null
@@ -1,94 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that the inline caches correctly detect that constant
-// functions on value prototypes change.
-
-function testString() {
- function f(s, expected) {
- var result = s.toString();
- assertEquals(expected, result);
- };
-
- for (var i = 0; i < 10; i++) {
- var s = String.fromCharCode(i);
- f(s, s);
- }
-
- String.prototype.toString = function() { return "ostehaps"; };
-
- for (var i = 0; i < 10; i++) {
- var s = String.fromCharCode(i);
- f(s, "ostehaps");
- }
-}
-
-testString();
-
-
-function testNumber() {
- Number.prototype.toString = function() { return 0; };
-
- function f(n, expected) {
- var result = n.toString();
- assertEquals(expected, result);
- };
-
- for (var i = 0; i < 10; i++) {
- f(i, 0);
- }
-
- Number.prototype.toString = function() { return 42; };
-
- for (var i = 0; i < 10; i++) {
- f(i, 42);
- }
-}
-
-testNumber();
-
-
-function testBoolean() {
- Boolean.prototype.toString = function() { return 0; };
-
- function f(b, expected) {
- var result = b.toString();
- assertEquals(expected, result);
- };
-
- for (var i = 0; i < 10; i++) {
- f((i % 2 == 0), 0);
- }
-
- Boolean.prototype.toString = function() { return 42; };
-
- for (var i = 0; i < 10; i++) {
- f((i % 2 == 0), 42);
- }
-}
-
-testBoolean();
diff --git a/src/3rdparty/v8/test/mjsunit/value-of.js b/src/3rdparty/v8/test/mjsunit/value-of.js
deleted file mode 100644
index 1a242c0..0000000
--- a/src/3rdparty/v8/test/mjsunit/value-of.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-function MyException() { }
-
-var o = new Object();
-o.valueOf = function() { throw new MyException(); }
-
-assertThrows(function() { o + 1 }, MyException);
diff --git a/src/3rdparty/v8/test/mjsunit/value-wrapper.js b/src/3rdparty/v8/test/mjsunit/value-wrapper.js
deleted file mode 100644
index 76e200f..0000000
--- a/src/3rdparty/v8/test/mjsunit/value-wrapper.js
+++ /dev/null
@@ -1,164 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// When calling user-defined functions on strings, booleans or
-// numbers, we should create a wrapper object.
-
-// When running the tests use loops to ensure that the call site moves through
-// the different IC states and that both the runtime system and the generated
-// IC code is tested.
-function RunTests() {
- for (var i = 0; i < 10; i++) {
- assertEquals('object', 'xxx'.TypeOfThis());
- assertEquals('object', true.TypeOfThis(2,3));
- assertEquals('object', false.TypeOfThis());
- assertEquals('object', (42).TypeOfThis());
- assertEquals('object', (3.14).TypeOfThis());
- }
-
- for (var i = 0; i < 10; i++) {
- assertEquals('object', 'xxx'['TypeOfThis']());
- assertEquals('object', true['TypeOfThis']());
- assertEquals('object', false['TypeOfThis']());
- assertEquals('object', (42)['TypeOfThis']());
- assertEquals('object', (3.14)['TypeOfThis']());
- }
-
- function CallTypeOfThis(obj) {
- assertEquals('object', obj.TypeOfThis());
- }
-
- for (var i = 0; i < 10; i++) {
- CallTypeOfThis('xxx');
- CallTypeOfThis(true);
- CallTypeOfThis(false);
- CallTypeOfThis(42);
- CallTypeOfThis(3.14);
- }
-
- function TestWithWith(obj) {
- with (obj) {
- for (var i = 0; i < 10; i++) {
- assertEquals('object', TypeOfThis());
- }
- }
- }
-
- TestWithWith('xxx');
- TestWithWith(true);
- TestWithWith(false);
- TestWithWith(42);
- TestWithWith(3.14);
-
- for (var i = 0; i < 10; i++) {
- assertEquals('object', true[7]());
- assertEquals('object', false[7]());
- assertEquals('object', (42)[7]());
- assertEquals('object', (3.14)[7]());
- }
-
- for (var i = 0; i < 10; i++) {
- assertEquals('object', typeof 'xxx'.ObjectValueOf());
- assertEquals('object', typeof true.ObjectValueOf());
- assertEquals('object', typeof false.ObjectValueOf());
- assertEquals('object', typeof (42).ObjectValueOf());
- assertEquals('object', typeof (3.14).ObjectValueOf());
- }
-
- for (var i = 0; i < 10; i++) {
- assertEquals('[object String]', 'xxx'.ObjectToString());
- assertEquals('[object Boolean]', true.ObjectToString());
- assertEquals('[object Boolean]', false.ObjectToString());
- assertEquals('[object Number]', (42).ObjectToString());
- assertEquals('[object Number]', (3.14).ObjectToString());
- }
-}
-
-function TypeOfThis() { return typeof this; }
-
-// Test with normal setup of prototype.
-String.prototype.TypeOfThis = TypeOfThis;
-Boolean.prototype.TypeOfThis = TypeOfThis;
-Number.prototype.TypeOfThis = TypeOfThis;
-Boolean.prototype[7] = TypeOfThis;
-Number.prototype[7] = TypeOfThis;
-
-String.prototype.ObjectValueOf = Object.prototype.valueOf;
-Boolean.prototype.ObjectValueOf = Object.prototype.valueOf;
-Number.prototype.ObjectValueOf = Object.prototype.valueOf;
-
-String.prototype.ObjectToString = Object.prototype.toString;
-Boolean.prototype.ObjectToString = Object.prototype.toString;
-Number.prototype.ObjectToString = Object.prototype.toString;
-
-RunTests();
-
-// Run test after properties have been set to a different value.
-String.prototype.TypeOfThis = 'x';
-Boolean.prototype.TypeOfThis = 'x';
-Number.prototype.TypeOfThis = 'x';
-Boolean.prototype[7] = 'x';
-Number.prototype[7] = 'x';
-
-String.prototype.TypeOfThis = TypeOfThis;
-Boolean.prototype.TypeOfThis = TypeOfThis;
-Number.prototype.TypeOfThis = TypeOfThis;
-Boolean.prototype[7] = TypeOfThis;
-Number.prototype[7] = TypeOfThis;
-
-RunTests();
-
-// Force the prototype into slow case and run the test again.
-delete String.prototype.TypeOfThis;
-delete Boolean.prototype.TypeOfThis;
-delete Number.prototype.TypeOfThis;
-Boolean.prototype[7];
-Number.prototype[7];
-
-String.prototype.TypeOfThis = TypeOfThis;
-Boolean.prototype.TypeOfThis = TypeOfThis;
-Number.prototype.TypeOfThis = TypeOfThis;
-Boolean.prototype[7] = TypeOfThis;
-Number.prototype[7] = TypeOfThis;
-
-RunTests();
-
-// According to ES3 15.3.4.3 the this value passed to Function.prototyle.apply
-// should wrapped. According to ES5 it should not.
-assertEquals('object', TypeOfThis.apply('xxx', []));
-assertEquals('object', TypeOfThis.apply(true, []));
-assertEquals('object', TypeOfThis.apply(false, []));
-assertEquals('object', TypeOfThis.apply(42, []));
-assertEquals('object', TypeOfThis.apply(3.14, []));
-
-// According to ES3 15.3.4.3 the this value passed to Function.prototyle.call
-// should wrapped. According to ES5 it should not.
-assertEquals('object', TypeOfThis.call('xxx'));
-assertEquals('object', TypeOfThis.call(true));
-assertEquals('object', TypeOfThis.call(false));
-assertEquals('object', TypeOfThis.call(42));
-assertEquals('object', TypeOfThis.call(3.14));
diff --git a/src/3rdparty/v8/test/mjsunit/var.js b/src/3rdparty/v8/test/mjsunit/var.js
deleted file mode 100644
index 5999d70..0000000
--- a/src/3rdparty/v8/test/mjsunit/var.js
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-assertTrue(!x && typeof x == 'undefined');
-assertTrue(!y && typeof y == 'undefined');
-if (false) { var x = 42; }
-if (true) { var y = 87; }
-assertTrue(!x && typeof x == 'undefined');
-assertEquals(87, y);
-
-assertTrue(!z && typeof z == 'undefined');
-if (false) { var z; }
-assertTrue(!z && typeof z == 'undefined');
diff --git a/src/3rdparty/v8/test/mjsunit/with-function-expression.js b/src/3rdparty/v8/test/mjsunit/with-function-expression.js
deleted file mode 100644
index 17de817..0000000
--- a/src/3rdparty/v8/test/mjsunit/with-function-expression.js
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-var source = "(function x() { with({}) { return '' + x; } })()";
-
-// Don't throw exceptions.
-assertDoesNotThrow(source);
-
-// Check that the return value is a function. Use regexp to avoid
-// depending on the exact printing of the function.
-var regexp = /function/;
-var res = assertTrue(eval(source).match(regexp) == 'function');
diff --git a/src/3rdparty/v8/test/mjsunit/with-leave.js b/src/3rdparty/v8/test/mjsunit/with-leave.js
deleted file mode 100644
index 7369faa..0000000
--- a/src/3rdparty/v8/test/mjsunit/with-leave.js
+++ /dev/null
@@ -1,220 +0,0 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-L: with ({x:12}) {
- assertEquals(12, x);
- break L;
- assertTrue(false);
-}
-
-do {
- with ({x:15}) {
- assertEquals(15, x);
- continue;
- assertTrue(false);
- }
-} while (false);
-
-var caught = false;
-try {
- with ({x:18}) { throw 25; assertTrue(false); }
-} catch (e) {
- caught = true;
- assertEquals(25, e);
- with ({y:19}) {
- assertEquals(19, y);
- try {
- // NOTE: This checks that the object containing x has been
- // removed from the context chain.
- x;
- assertTrue(false); // should not reach here
- } catch (e2) {
- assertTrue(e2 instanceof ReferenceError);
- }
- }
-}
-assertTrue(caught);
-
-
-// We want to test the context chain shape. In each of the tests cases
-// below, the outer with is to force a runtime lookup of the identifier 'x'
-// to actually verify that the inner context has been discarded. A static
-// lookup of 'x' might accidentally succeed.
-with ({x: 'outer'}) {
- label: {
- with ({x: 'inner'}) {
- break label;
- }
- }
- assertEquals('outer', x);
-}
-
-
-with ({x: 'outer'}) {
- label: {
- with ({x: 'middle'}) {
- with ({x: 'inner'}) {
- break label;
- }
- }
- }
- assertEquals('outer', x);
-}
-
-
-with ({x: 'outer'}) {
- for (var i = 0; i < 10; ++i) {
- with ({x: 'inner' + i}) {
- continue;
- }
- }
- assertEquals('outer', x);
-}
-
-
-with ({x: 'outer'}) {
- label: for (var i = 0; i < 10; ++i) {
- with ({x: 'middle' + i}) {
- for (var j = 0; j < 10; ++j) {
- with ({x: 'inner' + j}) {
- continue label;
- }
- }
- }
- }
- assertEquals('outer', x);
-}
-
-
-with ({x: 'outer'}) {
- try {
- with ({x: 'inner'}) {
- throw 0;
- }
- } catch (e) {
- assertEquals('outer', x);
- }
-}
-
-
-with ({x: 'outer'}) {
- try {
- with ({x: 'middle'}) {
- with ({x: 'inner'}) {
- throw 0;
- }
- }
- } catch (e) {
- assertEquals('outer', x);
- }
-}
-
-
-try {
- with ({x: 'outer'}) {
- try {
- with ({x: 'inner'}) {
- throw 0;
- }
- } finally {
- assertEquals('outer', x);
- }
- }
-} catch (e) {
- if (e instanceof MjsUnitAssertionError) throw e;
-}
-
-
-try {
- with ({x: 'outer'}) {
- try {
- with ({x: 'middle'}) {
- with ({x: 'inner'}) {
- throw 0;
- }
- }
- } finally {
- assertEquals('outer', x);
- }
- }
-} catch (e) {
- if (e instanceof MjsUnitAssertionError) throw e;
-}
-
-
-// Verify that the context is correctly set in the stack frame after exiting
-// from with.
-function f() {}
-
-with ({x: 'outer'}) {
- label: {
- with ({x: 'inner'}) {
- break label;
- }
- }
- f(); // The context could be restored from the stack after the call.
- assertEquals('outer', x);
-}
-
-
-with ({x: 'outer'}) {
- for (var i = 0; i < 10; ++i) {
- with ({x: 'inner' + i}) {
- continue;
- }
- }
- f();
- assertEquals('outer', x);
-}
-
-
-with ({x: 'outer'}) {
- try {
- with ({x: 'inner'}) {
- throw 0;
- }
- } catch (e) {
- f();
- assertEquals('outer', x);
- }
-}
-
-
-try {
- with ({x: 'outer'}) {
- try {
- with ({x: 'inner'}) {
- throw 0;
- }
- } finally {
- f();
- assertEquals('outer', x);
- }
- }
-} catch (e) {
- if (e instanceof MjsUnitAssertionError) throw e;
-}
diff --git a/src/3rdparty/v8/test/mjsunit/with-parameter-access.js b/src/3rdparty/v8/test/mjsunit/with-parameter-access.js
deleted file mode 100644
index 747da22..0000000
--- a/src/3rdparty/v8/test/mjsunit/with-parameter-access.js
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Return a parameter from inside a with statement.
-function f(x) {
- with ({}) {
- return x;
- }
-}
-
-assertEquals(5, f(5));
-
-
-function g(x) {
- function h() {
- with ({}) {
- return x;
- }
- }
- return h();
-}
-
-assertEquals(7, g(7));
diff --git a/src/3rdparty/v8/test/mjsunit/with-prototype.js b/src/3rdparty/v8/test/mjsunit/with-prototype.js
deleted file mode 100644
index e760f4e..0000000
--- a/src/3rdparty/v8/test/mjsunit/with-prototype.js
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright 2009 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test the behavior of an assignment in a with statement where the
-// extension object contains a property with the name assigned to in
-// the prototype chain.
-
-var o = {};
-var p = { x: 42 };
-o.__proto__ = p;
-
-function f() {
- with (o) {
- x = 123;
- }
-}
-f();
-
-assertEquals(42, p.x);
-assertEquals(123, o.x);
diff --git a/src/3rdparty/v8/test/mjsunit/with-readonly.js b/src/3rdparty/v8/test/mjsunit/with-readonly.js
deleted file mode 100644
index 29982b3..0000000
--- a/src/3rdparty/v8/test/mjsunit/with-readonly.js
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright 2010 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Test that readonly variables are treated correctly.
-
-// Flags: --es5_readonly
-
-// Create an object with a read-only length property in the prototype
-// chain by putting the string split function in the prototype chain.
-var o = {};
-o.__proto__ = String.prototype.split;
-
-function f() {
- with (o) {
- length = 23;
- length = 24;
- assertEquals(2, length);
- }
- assertEquals(2, o.length);
-}
-f();
diff --git a/src/3rdparty/v8/test/mjsunit/with-value.js b/src/3rdparty/v8/test/mjsunit/with-value.js
deleted file mode 100644
index a4da1fa..0000000
--- a/src/3rdparty/v8/test/mjsunit/with-value.js
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2008 the V8 project authors. All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided
-// with the distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived
-// from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Values used in 'with' statements should be wrapped in an object
-// before establishing the context.
-(function() {
- // 7 should be converted to an number object
- with (7) { assertTrue(typeof valueOf == 'function'); }
-})();
-
-/* This should be fairly easy again. May need some work in the
-compiler's VisitWith() function, or perhaps the runtime routine's
-PushContextForWith().
-*/ \ No newline at end of file